From 83ab2cb01746a869b625c9d84fbb4737146b73a9 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Thu, 24 Dec 2020 13:26:30 +0100 Subject: Updated Web examples to raylib 3.5 --- examples/web/models/models_animation.c | 4 +- examples/web/models/models_animation.data | Bin 360040 -> 359587 bytes examples/web/models/models_animation.html | 28 +- examples/web/models/models_animation.js | 2 +- examples/web/models/models_animation.wasm | Bin 238211 -> 227250 bytes examples/web/models/models_billboard.c | 2 +- examples/web/models/models_billboard.data | Bin 22439 -> 22374 bytes examples/web/models/models_billboard.html | 28 +- examples/web/models/models_billboard.js | 2 +- examples/web/models/models_billboard.wasm | Bin 155866 -> 117936 bytes examples/web/models/models_box_collisions.c | 2 +- examples/web/models/models_box_collisions.html | 28 +- examples/web/models/models_box_collisions.js | 2 +- examples/web/models/models_box_collisions.wasm | Bin 129954 -> 91857 bytes examples/web/models/models_cubicmap.c | 2 +- examples/web/models/models_cubicmap.data | Bin 37426 -> 37324 bytes examples/web/models/models_cubicmap.html | 28 +- examples/web/models/models_cubicmap.js | 2 +- examples/web/models/models_cubicmap.wasm | Bin 171018 -> 126582 bytes examples/web/models/models_first_person_maze.c | 2 +- examples/web/models/models_first_person_maze.data | Bin 37426 -> 37324 bytes examples/web/models/models_first_person_maze.html | 330 +- examples/web/models/models_first_person_maze.js | 9273 +--------- examples/web/models/models_first_person_maze.wasm | Bin 178054 -> 127396 bytes .../web/models/models_first_person_maze.wasm.map | 1 - examples/web/models/models_geometric_shapes.c | 2 +- examples/web/models/models_geometric_shapes.html | 28 +- examples/web/models/models_geometric_shapes.js | 2 +- examples/web/models/models_geometric_shapes.wasm | Bin 130520 -> 92321 bytes examples/web/models/models_heightmap.c | 2 +- examples/web/models/models_heightmap.data | Bin 10920 -> 10883 bytes examples/web/models/models_heightmap.html | 28 +- examples/web/models/models_heightmap.js | 2 +- examples/web/models/models_heightmap.wasm | Bin 165862 -> 124461 bytes examples/web/models/models_loading.c | 2 +- examples/web/models/models_loading.data | 9249 ++-------- examples/web/models/models_loading.html | 28 +- examples/web/models/models_loading.js | 2 +- examples/web/models/models_loading.wasm | Bin 237876 -> 227111 bytes examples/web/models/models_material_pbr.c | 2 +- examples/web/models/models_mesh_generation.c | 2 +- examples/web/models/models_mesh_generation.html | 28 +- examples/web/models/models_mesh_generation.js | 2 +- examples/web/models/models_mesh_generation.wasm | Bin 160356 -> 114540 bytes examples/web/models/models_mesh_picking.c | 2 +- examples/web/models/models_mesh_picking.data | 16 +- examples/web/models/models_mesh_picking.html | 28 +- examples/web/models/models_mesh_picking.js | 2 +- examples/web/models/models_mesh_picking.wasm | Bin 243871 -> 232827 bytes .../web/models/models_orthographic_projection.c | 2 +- .../web/models/models_orthographic_projection.html | 28 +- .../web/models/models_orthographic_projection.js | 2 +- .../web/models/models_orthographic_projection.wasm | Bin 130859 -> 92600 bytes examples/web/models/models_rlgl_solar_system.c | 2 +- examples/web/models/models_rlgl_solar_system.html | 28 +- examples/web/models/models_rlgl_solar_system.js | 2 +- examples/web/models/models_rlgl_solar_system.wasm | Bin 131497 -> 92868 bytes examples/web/models/models_skybox.c | 68 +- examples/web/models/models_skybox.data | Bin 6022034 -> 6022034 bytes examples/web/models/models_skybox.js | 2 +- examples/web/models/models_skybox.wasm | Bin 224832 -> 130018 bytes examples/web/models/models_waving_cubes.c | 4 +- examples/web/models/models_waving_cubes.html | 28 +- examples/web/models/models_waving_cubes.js | 2 +- examples/web/models/models_waving_cubes.wasm | Bin 128278 -> 90745 bytes examples/web/models/models_yaw_pitch_roll.c | 2 +- examples/web/models/models_yaw_pitch_roll.data | 2947 ++- examples/web/models/models_yaw_pitch_roll.html | 28 +- examples/web/models/models_yaw_pitch_roll.js | 2 +- examples/web/models/models_yaw_pitch_roll.wasm | Bin 238610 -> 227310 bytes examples/web/models/resources/angle_gauge.png | Bin 12919 -> 10205 bytes examples/web/models/resources/background.png | Bin 16574 -> 4408 bytes examples/web/models/resources/billboard.png | Bin 22439 -> 22374 bytes examples/web/models/resources/cubicmap.png | Bin 201 -> 164 bytes examples/web/models/resources/cubicmap_atlas.png | Bin 37225 -> 37160 bytes examples/web/models/resources/dresden_square.hdr | Bin 1524733 -> 0 bytes .../web/models/resources/dresden_square_1k.hdr | Bin 0 -> 1524733 bytes .../web/models/resources/dresden_square_2k.hdr | Bin 0 -> 6019615 bytes examples/web/models/resources/guy/guytex.png | Bin 302388 -> 301935 bytes examples/web/models/resources/heightmap.png | Bin 10920 -> 10883 bytes examples/web/models/resources/models/LICENSE | 4 + .../web/models/resources/models/bridge_diffuse.png | Bin 318869 -> 318466 bytes .../web/models/resources/models/castle_diffuse.png | Bin 1538906 -> 444213 bytes .../web/models/resources/models/cube_diffuse.png | Bin 24179 -> 23330 bytes .../web/models/resources/models/house_diffuse.png | Bin 392943 -> 392528 bytes .../web/models/resources/models/market_diffuse.png | Bin 389873 -> 389458 bytes .../web/models/resources/models/turret_diffuse.png | Bin 380535 -> 380120 bytes .../web/models/resources/models/well_diffuse.png | Bin 342817 -> 342387 bytes examples/web/models/resources/pbr/trooper.obj | 18312 ------------------- .../web/models/resources/pbr/trooper_albedo.png | Bin 7676508 -> 0 bytes examples/web/models/resources/pbr/trooper_ao.png | Bin 1832292 -> 0 bytes .../web/models/resources/pbr/trooper_metalness.png | Bin 6424 -> 0 bytes .../web/models/resources/pbr/trooper_normals.png | Bin 4959793 -> 0 bytes .../web/models/resources/pbr/trooper_roughness.png | Bin 2862048 -> 0 bytes examples/web/models/resources/pitch.png | Bin 45945 -> 17370 bytes examples/web/models/resources/plane.png | Bin 4810 -> 1782 bytes examples/web/models/resources/plane_diffuse.png | Bin 373230 -> 301650 bytes examples/web/models/resources/shaders/brdf.fs | 133 - examples/web/models/resources/shaders/brdf.vs | 25 - examples/web/models/resources/shaders/cubemap.fs | 38 - examples/web/models/resources/shaders/cubemap.vs | 28 - .../models/resources/shaders/glsl100/cubemap.fs | 29 + .../models/resources/shaders/glsl100/cubemap.vs | 20 + .../web/models/resources/shaders/glsl100/skybox.fs | 28 + .../web/models/resources/shaders/glsl100/skybox.vs | 24 + .../web/models/resources/shaders/glsl330/brdf.fs | 133 + .../web/models/resources/shaders/glsl330/brdf.vs | 25 + .../models/resources/shaders/glsl330/cubemap.fs | 30 + .../models/resources/shaders/glsl330/cubemap.vs | 28 + .../models/resources/shaders/glsl330/irradiance.fs | 58 + .../web/models/resources/shaders/glsl330/pbr.fs | 300 + .../web/models/resources/shaders/glsl330/pbr.vs | 49 + .../models/resources/shaders/glsl330/prefilter.fs | 120 + .../web/models/resources/shaders/glsl330/skybox.fs | 37 + .../web/models/resources/shaders/glsl330/skybox.vs | 32 + .../web/models/resources/shaders/irradiance.fs | 58 - examples/web/models/resources/shaders/pbr.fs | 298 - examples/web/models/resources/shaders/pbr.vs | 49 - examples/web/models/resources/shaders/prefilter.fs | 120 - examples/web/models/resources/shaders/skybox.fs | 31 - examples/web/models/resources/shaders/skybox.vs | 32 - examples/web/models/rlgl.h | 3070 ++-- 122 files changed, 5808 insertions(+), 39613 deletions(-) delete mode 100644 examples/web/models/models_first_person_maze.wasm.map delete mode 100644 examples/web/models/resources/dresden_square.hdr create mode 100644 examples/web/models/resources/dresden_square_1k.hdr create mode 100644 examples/web/models/resources/dresden_square_2k.hdr create mode 100644 examples/web/models/resources/models/LICENSE delete mode 100644 examples/web/models/resources/pbr/trooper.obj delete mode 100644 examples/web/models/resources/pbr/trooper_albedo.png delete mode 100644 examples/web/models/resources/pbr/trooper_ao.png delete mode 100644 examples/web/models/resources/pbr/trooper_metalness.png delete mode 100644 examples/web/models/resources/pbr/trooper_normals.png delete mode 100644 examples/web/models/resources/pbr/trooper_roughness.png delete mode 100644 examples/web/models/resources/shaders/brdf.fs delete mode 100644 examples/web/models/resources/shaders/brdf.vs delete mode 100644 examples/web/models/resources/shaders/cubemap.fs delete mode 100644 examples/web/models/resources/shaders/cubemap.vs create mode 100644 examples/web/models/resources/shaders/glsl100/cubemap.fs create mode 100644 examples/web/models/resources/shaders/glsl100/cubemap.vs create mode 100644 examples/web/models/resources/shaders/glsl100/skybox.fs create mode 100644 examples/web/models/resources/shaders/glsl100/skybox.vs create mode 100644 examples/web/models/resources/shaders/glsl330/brdf.fs create mode 100644 examples/web/models/resources/shaders/glsl330/brdf.vs create mode 100644 examples/web/models/resources/shaders/glsl330/cubemap.fs create mode 100644 examples/web/models/resources/shaders/glsl330/cubemap.vs create mode 100644 examples/web/models/resources/shaders/glsl330/irradiance.fs create mode 100644 examples/web/models/resources/shaders/glsl330/pbr.fs create mode 100644 examples/web/models/resources/shaders/glsl330/pbr.vs create mode 100644 examples/web/models/resources/shaders/glsl330/prefilter.fs create mode 100644 examples/web/models/resources/shaders/glsl330/skybox.fs create mode 100644 examples/web/models/resources/shaders/glsl330/skybox.vs delete mode 100644 examples/web/models/resources/shaders/irradiance.fs delete mode 100644 examples/web/models/resources/shaders/pbr.fs delete mode 100644 examples/web/models/resources/shaders/pbr.vs delete mode 100644 examples/web/models/resources/shaders/prefilter.fs delete mode 100644 examples/web/models/resources/shaders/skybox.fs delete mode 100644 examples/web/models/resources/shaders/skybox.vs (limited to 'examples/web/models') diff --git a/examples/web/models/models_animation.c b/examples/web/models/models_animation.c index 4677cad..506b89a 100644 --- a/examples/web/models/models_animation.c +++ b/examples/web/models/models_animation.c @@ -11,6 +11,8 @@ #include "raylib.h" +#include + #if defined(PLATFORM_WEB) #include #endif @@ -66,7 +68,7 @@ int main(void) SetCameraMode(camera, CAMERA_FREE); // Set free camera mode #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_animation.data b/examples/web/models/models_animation.data index 087b208..c7a884a 100644 Binary files a/examples/web/models/models_animation.data and b/examples/web/models/models_animation.data differ diff --git a/examples/web/models/models_animation.html b/examples/web/models/models_animation.html index 7bf4325..5402f2f 100644 --- a/examples/web/models/models_animation.html +++ b/examples/web/models/models_animation.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_animation.js b/examples/web/models/models_animation.js index 85f4164..75cbe96 100644 --- a/examples/web/models/models_animation.js +++ b/examples/web/models/models_animation.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_animation.data";var REMOTE_PACKAGE_BASE="models_animation.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);Module["FS_createPath"]("/resources","guy",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5286448,DYNAMICTOP_PTR=43536;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_animation.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"d":abort,"b":___assert_fail,"sc":___lock,"D":___setErrNo,"gb":___syscall140,"Xa":___syscall145,"q":___syscall221,"Ca":___syscall5,"ra":___syscall54,"C":___syscall6,"B":___unlock,"be":___wasi_fd_write,"A":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"yd":_emscripten_get_element_css_size,"nd":_emscripten_get_gamepad_status,"cd":_emscripten_get_heap_size,"Tc":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"zc":_emscripten_glActiveTexture,"rc":_emscripten_glAttachShader,"lc":_emscripten_glBeginQueryEXT,"hc":_emscripten_glBindAttribLocation,"cc":_emscripten_glBindBuffer,"Xb":_emscripten_glBindFramebuffer,"Tb":_emscripten_glBindRenderbuffer,"Lb":_emscripten_glBindTexture,"Ab":_emscripten_glBindVertexArrayOES,"tb":_emscripten_glBlendColor,"rb":_emscripten_glBlendEquation,"qb":_emscripten_glBlendEquationSeparate,"pb":_emscripten_glBlendFunc,"ob":_emscripten_glBlendFuncSeparate,"nb":_emscripten_glBufferData,"mb":_emscripten_glBufferSubData,"lb":_emscripten_glCheckFramebufferStatus,"kb":_emscripten_glClear,"jb":_emscripten_glClearColor,"ib":_emscripten_glClearDepthf,"hb":_emscripten_glClearStencil,"fb":_emscripten_glColorMask,"eb":_emscripten_glCompileShader,"db":_emscripten_glCompressedTexImage2D,"cb":_emscripten_glCompressedTexSubImage2D,"bb":_emscripten_glCopyTexImage2D,"ab":_emscripten_glCopyTexSubImage2D,"$a":_emscripten_glCreateProgram,"_a":_emscripten_glCreateShader,"Za":_emscripten_glCullFace,"Ya":_emscripten_glDeleteBuffers,"Wa":_emscripten_glDeleteFramebuffers,"Va":_emscripten_glDeleteProgram,"Ua":_emscripten_glDeleteQueriesEXT,"Ta":_emscripten_glDeleteRenderbuffers,"Sa":_emscripten_glDeleteShader,"Ra":_emscripten_glDeleteTextures,"Qa":_emscripten_glDeleteVertexArraysOES,"Pa":_emscripten_glDepthFunc,"Oa":_emscripten_glDepthMask,"Na":_emscripten_glDepthRangef,"Ma":_emscripten_glDetachShader,"La":_emscripten_glDisable,"Ka":_emscripten_glDisableVertexAttribArray,"Ja":_emscripten_glDrawArrays,"Ia":_emscripten_glDrawArraysInstancedANGLE,"Ha":_emscripten_glDrawBuffersWEBGL,"Ga":_emscripten_glDrawElements,"Fa":_emscripten_glDrawElementsInstancedANGLE,"Ea":_emscripten_glEnable,"Da":_emscripten_glEnableVertexAttribArray,"Ba":_emscripten_glEndQueryEXT,"Aa":_emscripten_glFinish,"za":_emscripten_glFlush,"ya":_emscripten_glFramebufferRenderbuffer,"xa":_emscripten_glFramebufferTexture2D,"wa":_emscripten_glFrontFace,"va":_emscripten_glGenBuffers,"ua":_emscripten_glGenFramebuffers,"ta":_emscripten_glGenQueriesEXT,"sa":_emscripten_glGenRenderbuffers,"qa":_emscripten_glGenTextures,"pa":_emscripten_glGenVertexArraysOES,"oa":_emscripten_glGenerateMipmap,"na":_emscripten_glGetActiveAttrib,"ma":_emscripten_glGetActiveUniform,"la":_emscripten_glGetAttachedShaders,"ka":_emscripten_glGetAttribLocation,"ja":_emscripten_glGetBooleanv,"ia":_emscripten_glGetBufferParameteriv,"ha":_emscripten_glGetError,"ga":_emscripten_glGetFloatv,"fa":_emscripten_glGetFramebufferAttachmentParameteriv,"ea":_emscripten_glGetIntegerv,"da":_emscripten_glGetProgramInfoLog,"ca":_emscripten_glGetProgramiv,"ba":_emscripten_glGetQueryObjecti64vEXT,"aa":_emscripten_glGetQueryObjectivEXT,"$":_emscripten_glGetQueryObjectui64vEXT,"_":_emscripten_glGetQueryObjectuivEXT,"Z":_emscripten_glGetQueryivEXT,"le":_emscripten_glGetRenderbufferParameteriv,"ke":_emscripten_glGetShaderInfoLog,"je":_emscripten_glGetShaderPrecisionFormat,"ie":_emscripten_glGetShaderSource,"he":_emscripten_glGetShaderiv,"ge":_emscripten_glGetString,"fe":_emscripten_glGetTexParameterfv,"ee":_emscripten_glGetTexParameteriv,"de":_emscripten_glGetUniformLocation,"ce":_emscripten_glGetUniformfv,"ae":_emscripten_glGetUniformiv,"$d":_emscripten_glGetVertexAttribPointerv,"_d":_emscripten_glGetVertexAttribfv,"Zd":_emscripten_glGetVertexAttribiv,"Yd":_emscripten_glHint,"Xd":_emscripten_glIsBuffer,"Wd":_emscripten_glIsEnabled,"Vd":_emscripten_glIsFramebuffer,"Ud":_emscripten_glIsProgram,"Td":_emscripten_glIsQueryEXT,"Sd":_emscripten_glIsRenderbuffer,"Rd":_emscripten_glIsShader,"Qd":_emscripten_glIsTexture,"Pd":_emscripten_glIsVertexArrayOES,"Od":_emscripten_glLineWidth,"Nd":_emscripten_glLinkProgram,"Md":_emscripten_glPixelStorei,"Ld":_emscripten_glPolygonOffset,"Kd":_emscripten_glQueryCounterEXT,"Jd":_emscripten_glReadPixels,"Id":_emscripten_glReleaseShaderCompiler,"Hd":_emscripten_glRenderbufferStorage,"Gd":_emscripten_glSampleCoverage,"Fd":_emscripten_glScissor,"Ed":_emscripten_glShaderBinary,"Dd":_emscripten_glShaderSource,"Cd":_emscripten_glStencilFunc,"Bd":_emscripten_glStencilFuncSeparate,"Ad":_emscripten_glStencilMask,"zd":_emscripten_glStencilMaskSeparate,"xd":_emscripten_glStencilOp,"wd":_emscripten_glStencilOpSeparate,"vd":_emscripten_glTexImage2D,"ud":_emscripten_glTexParameterf,"td":_emscripten_glTexParameterfv,"sd":_emscripten_glTexParameteri,"rd":_emscripten_glTexParameteriv,"qd":_emscripten_glTexSubImage2D,"pd":_emscripten_glUniform1f,"od":_emscripten_glUniform1fv,"md":_emscripten_glUniform1i,"ld":_emscripten_glUniform1iv,"kd":_emscripten_glUniform2f,"jd":_emscripten_glUniform2fv,"id":_emscripten_glUniform2i,"hd":_emscripten_glUniform2iv,"gd":_emscripten_glUniform3f,"fd":_emscripten_glUniform3fv,"ed":_emscripten_glUniform3i,"dd":_emscripten_glUniform3iv,"bd":_emscripten_glUniform4f,"ad":_emscripten_glUniform4fv,"$c":_emscripten_glUniform4i,"_c":_emscripten_glUniform4iv,"Zc":_emscripten_glUniformMatrix2fv,"Yc":_emscripten_glUniformMatrix3fv,"Xc":_emscripten_glUniformMatrix4fv,"Wc":_emscripten_glUseProgram,"Vc":_emscripten_glValidateProgram,"Uc":_emscripten_glVertexAttrib1f,"Sc":_emscripten_glVertexAttrib1fv,"Rc":_emscripten_glVertexAttrib2f,"Qc":_emscripten_glVertexAttrib2fv,"Pc":_emscripten_glVertexAttrib3f,"Oc":_emscripten_glVertexAttrib3fv,"Nc":_emscripten_glVertexAttrib4f,"Mc":_emscripten_glVertexAttrib4fv,"Lc":_emscripten_glVertexAttribDivisorANGLE,"Kc":_emscripten_glVertexAttribPointer,"Jc":_emscripten_glViewport,"Ic":_emscripten_memcpy_big,"Hc":_emscripten_request_pointerlock,"Gc":_emscripten_resize_heap,"W":_emscripten_run_script,"Fc":_emscripten_sample_gamepad_data,"Ec":_emscripten_set_click_callback_on_thread,"Dc":_emscripten_set_fullscreenchange_callback_on_thread,"Cc":_emscripten_set_gamepadconnected_callback_on_thread,"Bc":_emscripten_set_gamepaddisconnected_callback_on_thread,"Ac":_emscripten_set_keypress_callback_on_thread,"yc":_emscripten_set_main_loop,"xc":_emscripten_set_touchcancel_callback_on_thread,"wc":_emscripten_set_touchend_callback_on_thread,"vc":_emscripten_set_touchmove_callback_on_thread,"uc":_emscripten_set_touchstart_callback_on_thread,"tc":_exit,"z":_glActiveTexture,"V":_glAttachShader,"n":_glBindAttribLocation,"c":_glBindBuffer,"k":_glBindTexture,"qc":_glBlendFunc,"i":_glBufferData,"s":_glBufferSubData,"U":_glClear,"T":_glClearColor,"pc":_glClearDepthf,"oc":_glCompileShader,"nc":_glCompressedTexImage2D,"mc":_glCreateProgram,"kc":_glCreateShader,"jc":_glCullFace,"p":_glDeleteBuffers,"S":_glDeleteProgram,"R":_glDeleteShader,"Q":_glDeleteTextures,"ic":_glDepthFunc,"P":_glDetachShader,"O":_glDisable,"j":_glDisableVertexAttribArray,"N":_glDrawArrays,"M":_glDrawElements,"y":_glEnable,"f":_glEnableVertexAttribArray,"gc":_glFrontFace,"h":_glGenBuffers,"fc":_glGenTextures,"x":_glGetAttribLocation,"ec":_glGetFloatv,"dc":_glGetProgramInfoLog,"L":_glGetProgramiv,"bc":_glGetShaderInfoLog,"K":_glGetShaderiv,"o":_glGetString,"w":_glGetUniformLocation,"ac":_glLinkProgram,"$b":_glPixelStorei,"_b":_glReadPixels,"Zb":_glShaderSource,"Yb":_glTexImage2D,"m":_glTexParameteri,"J":_glUniform1i,"v":_glUniform4f,"u":_glUniformMatrix4fv,"l":_glUseProgram,"Wb":_glVertexAttrib2f,"Vb":_glVertexAttrib3f,"t":_glVertexAttrib4f,"e":_glVertexAttribPointer,"Ub":_glViewport,"I":_glfwCreateWindow,"Sb":_glfwDefaultWindowHints,"Rb":_glfwDestroyWindow,"Qb":_glfwGetCursorPos,"Pb":_glfwGetKey,"Ob":_glfwGetMouseButton,"H":_glfwGetPrimaryMonitor,"r":_glfwGetTime,"Nb":_glfwGetVideoModes,"Mb":_glfwInit,"Kb":_glfwMakeContextCurrent,"Jb":_glfwSetCharCallback,"Ib":_glfwSetCursorEnterCallback,"Hb":_glfwSetCursorPosCallback,"Gb":_glfwSetDropCallback,"Fb":_glfwSetErrorCallback,"Eb":_glfwSetKeyCallback,"Db":_glfwSetMouseButtonCallback,"Cb":_glfwSetScrollCallback,"Bb":_glfwSetWindowIconifyCallback,"zb":_glfwSetWindowShouldClose,"yb":_glfwSetWindowSizeCallback,"xb":_glfwSwapBuffers,"wb":_glfwSwapInterval,"G":_glfwTerminate,"g":_glfwWindowHint,"F":_llvm_stackrestore,"E":_llvm_stacksave,"vb":_nanosleep,"ub":_time,"sb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["re"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["se"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["Be"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["Ce"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["De"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["ve"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["we"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["ze"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["Ae"].apply(null,arguments)};Module["asm"]=asm;Module["getMemory"]=getMemory;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["calledRun"]=calledRun;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_animation.data";var REMOTE_PACKAGE_BASE="models_animation.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);Module["FS_createPath"]("/resources","guy",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||67108864;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_animation.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["de"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["ee"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd);if(size>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"a":___assert_fail,"Zd":___sys_chdir,"Q":___sys_fcntl64,"Yd":___sys_getcwd,"$d":___sys_ioctl,"ae":___sys_open,"w":_eglGetProcAddress,"aa":_emscripten_exit_pointerlock,"Z":_emscripten_get_element_css_size,"U":_emscripten_get_gamepad_status,"V":_emscripten_get_num_gamepads,"$":_emscripten_get_pointerlock_status,"Bd":_emscripten_glActiveTexture,"Ad":_emscripten_glAttachShader,"Rd":_emscripten_glBeginQueryEXT,"zd":_emscripten_glBindAttribLocation,"yd":_emscripten_glBindBuffer,"xd":_emscripten_glBindFramebuffer,"wd":_emscripten_glBindRenderbuffer,"vd":_emscripten_glBindTexture,"Jd":_emscripten_glBindVertexArrayOES,"ud":_emscripten_glBlendColor,"td":_emscripten_glBlendEquation,"sd":_emscripten_glBlendEquationSeparate,"rd":_emscripten_glBlendFunc,"qd":_emscripten_glBlendFuncSeparate,"pd":_emscripten_glBufferData,"od":_emscripten_glBufferSubData,"nd":_emscripten_glCheckFramebufferStatus,"md":_emscripten_glClear,"ld":_emscripten_glClearColor,"kd":_emscripten_glClearDepthf,"jd":_emscripten_glClearStencil,"id":_emscripten_glColorMask,"hd":_emscripten_glCompileShader,"gd":_emscripten_glCompressedTexImage2D,"fd":_emscripten_glCompressedTexSubImage2D,"ed":_emscripten_glCopyTexImage2D,"dd":_emscripten_glCopyTexSubImage2D,"cd":_emscripten_glCreateProgram,"bd":_emscripten_glCreateShader,"ad":_emscripten_glCullFace,"$c":_emscripten_glDeleteBuffers,"_c":_emscripten_glDeleteFramebuffers,"Zc":_emscripten_glDeleteProgram,"Td":_emscripten_glDeleteQueriesEXT,"Yc":_emscripten_glDeleteRenderbuffers,"Xc":_emscripten_glDeleteShader,"Wc":_emscripten_glDeleteTextures,"Id":_emscripten_glDeleteVertexArraysOES,"Vc":_emscripten_glDepthFunc,"Uc":_emscripten_glDepthMask,"Tc":_emscripten_glDepthRangef,"Sc":_emscripten_glDetachShader,"Rc":_emscripten_glDisable,"Qc":_emscripten_glDisableVertexAttribArray,"Oc":_emscripten_glDrawArrays,"Ed":_emscripten_glDrawArraysInstancedANGLE,"Fd":_emscripten_glDrawBuffersWEBGL,"Nc":_emscripten_glDrawElements,"Dd":_emscripten_glDrawElementsInstancedANGLE,"Mc":_emscripten_glEnable,"Lc":_emscripten_glEnableVertexAttribArray,"Qd":_emscripten_glEndQueryEXT,"Kc":_emscripten_glFinish,"Jc":_emscripten_glFlush,"Ic":_emscripten_glFramebufferRenderbuffer,"Hc":_emscripten_glFramebufferTexture2D,"Gc":_emscripten_glFrontFace,"Fc":_emscripten_glGenBuffers,"Dc":_emscripten_glGenFramebuffers,"Ud":_emscripten_glGenQueriesEXT,"Cc":_emscripten_glGenRenderbuffers,"Bc":_emscripten_glGenTextures,"Hd":_emscripten_glGenVertexArraysOES,"Ec":_emscripten_glGenerateMipmap,"Ac":_emscripten_glGetActiveAttrib,"zc":_emscripten_glGetActiveUniform,"yc":_emscripten_glGetAttachedShaders,"xc":_emscripten_glGetAttribLocation,"wc":_emscripten_glGetBooleanv,"vc":_emscripten_glGetBufferParameteriv,"uc":_emscripten_glGetError,"tc":_emscripten_glGetFloatv,"sc":_emscripten_glGetFramebufferAttachmentParameteriv,"rc":_emscripten_glGetIntegerv,"pc":_emscripten_glGetProgramInfoLog,"qc":_emscripten_glGetProgramiv,"Ld":_emscripten_glGetQueryObjecti64vEXT,"Nd":_emscripten_glGetQueryObjectivEXT,"Kd":_emscripten_glGetQueryObjectui64vEXT,"Md":_emscripten_glGetQueryObjectuivEXT,"Od":_emscripten_glGetQueryivEXT,"oc":_emscripten_glGetRenderbufferParameteriv,"mc":_emscripten_glGetShaderInfoLog,"lc":_emscripten_glGetShaderPrecisionFormat,"kc":_emscripten_glGetShaderSource,"nc":_emscripten_glGetShaderiv,"jc":_emscripten_glGetString,"ic":_emscripten_glGetTexParameterfv,"hc":_emscripten_glGetTexParameteriv,"ec":_emscripten_glGetUniformLocation,"gc":_emscripten_glGetUniformfv,"fc":_emscripten_glGetUniformiv,"bc":_emscripten_glGetVertexAttribPointerv,"dc":_emscripten_glGetVertexAttribfv,"cc":_emscripten_glGetVertexAttribiv,"ac":_emscripten_glHint,"$b":_emscripten_glIsBuffer,"_b":_emscripten_glIsEnabled,"Zb":_emscripten_glIsFramebuffer,"Yb":_emscripten_glIsProgram,"Sd":_emscripten_glIsQueryEXT,"Xb":_emscripten_glIsRenderbuffer,"Wb":_emscripten_glIsShader,"Vb":_emscripten_glIsTexture,"Gd":_emscripten_glIsVertexArrayOES,"Ub":_emscripten_glLineWidth,"Tb":_emscripten_glLinkProgram,"Rb":_emscripten_glPixelStorei,"Qb":_emscripten_glPolygonOffset,"Pd":_emscripten_glQueryCounterEXT,"Pb":_emscripten_glReadPixels,"Ob":_emscripten_glReleaseShaderCompiler,"Nb":_emscripten_glRenderbufferStorage,"Mb":_emscripten_glSampleCoverage,"Lb":_emscripten_glScissor,"Kb":_emscripten_glShaderBinary,"Jb":_emscripten_glShaderSource,"Ib":_emscripten_glStencilFunc,"Gb":_emscripten_glStencilFuncSeparate,"Fb":_emscripten_glStencilMask,"Eb":_emscripten_glStencilMaskSeparate,"Db":_emscripten_glStencilOp,"Cb":_emscripten_glStencilOpSeparate,"Bb":_emscripten_glTexImage2D,"Ab":_emscripten_glTexParameterf,"zb":_emscripten_glTexParameterfv,"yb":_emscripten_glTexParameteri,"xb":_emscripten_glTexParameteriv,"vb":_emscripten_glTexSubImage2D,"ub":_emscripten_glUniform1f,"tb":_emscripten_glUniform1fv,"sb":_emscripten_glUniform1i,"rb":_emscripten_glUniform1iv,"qb":_emscripten_glUniform2f,"pb":_emscripten_glUniform2fv,"ob":_emscripten_glUniform2i,"nb":_emscripten_glUniform2iv,"mb":_emscripten_glUniform3f,"kb":_emscripten_glUniform3fv,"jb":_emscripten_glUniform3i,"ib":_emscripten_glUniform3iv,"hb":_emscripten_glUniform4f,"gb":_emscripten_glUniform4fv,"fb":_emscripten_glUniform4i,"eb":_emscripten_glUniform4iv,"db":_emscripten_glUniformMatrix2fv,"cb":_emscripten_glUniformMatrix3fv,"bb":_emscripten_glUniformMatrix4fv,"$a":_emscripten_glUseProgram,"_a":_emscripten_glValidateProgram,"Za":_emscripten_glVertexAttrib1f,"Ya":_emscripten_glVertexAttrib1fv,"Xa":_emscripten_glVertexAttrib2f,"Wa":_emscripten_glVertexAttrib2fv,"Va":_emscripten_glVertexAttrib3f,"Ua":_emscripten_glVertexAttrib3fv,"Ta":_emscripten_glVertexAttrib4f,"Sa":_emscripten_glVertexAttrib4fv,"Cd":_emscripten_glVertexAttribDivisorANGLE,"Qa":_emscripten_glVertexAttribPointer,"Pa":_emscripten_glViewport,"Vd":_emscripten_memcpy_big,"_":_emscripten_request_pointerlock,"Wd":_emscripten_resize_heap,"y":_emscripten_run_script,"W":_emscripten_sample_gamepad_data,"ya":_emscripten_set_click_callback_on_thread,"Aa":_emscripten_set_fullscreenchange_callback_on_thread,"ta":_emscripten_set_gamepadconnected_callback_on_thread,"sa":_emscripten_set_gamepaddisconnected_callback_on_thread,"za":_emscripten_set_keydown_callback_on_thread,"ce":_emscripten_set_main_loop,"ua":_emscripten_set_touchcancel_callback_on_thread,"wa":_emscripten_set_touchend_callback_on_thread,"va":_emscripten_set_touchmove_callback_on_thread,"xa":_emscripten_set_touchstart_callback_on_thread,"Xd":_emscripten_thread_sleep,"S":_exit,"R":_fd_close,"_d":_fd_read,"Oa":_fd_seek,"P":_fd_write,"q":_glActiveTexture,"D":_glAttachShader,"k":_glBindAttribLocation,"b":_glBindBuffer,"i":_glBindTexture,"Hb":_glBlendFunc,"e":_glBufferData,"o":_glBufferSubData,"K":_glClear,"L":_glClearColor,"ab":_glClearDepthf,"Fa":_glCompileShader,"La":_glCompressedTexImage2D,"Da":_glCreateProgram,"Ha":_glCreateShader,"wb":_glCullFace,"m":_glDeleteBuffers,"G":_glDeleteProgram,"H":_glDeleteShader,"J":_glDeleteTextures,"Sb":_glDepthFunc,"I":_glDetachShader,"M":_glDisable,"h":_glDisableVertexAttribArray,"O":_glDrawArrays,"N":_glDrawElements,"x":_glEnable,"c":_glEnableVertexAttribArray,"lb":_glFrontFace,"f":_glGenBuffers,"Na":_glGenTextures,"v":_glGetAttribLocation,"Pc":_glGetFloatv,"Ba":_glGetProgramInfoLog,"F":_glGetProgramiv,"Ea":_glGetShaderInfoLog,"E":_glGetShaderiv,"n":_glGetString,"u":_glGetUniformLocation,"Ca":_glLinkProgram,"Ra":_glPixelStorei,"Ia":_glReadPixels,"Ga":_glShaderSource,"Ma":_glTexImage2D,"p":_glTexParameteri,"z":_glUniform1i,"r":_glUniform4f,"s":_glUniformMatrix4fv,"l":_glUseProgram,"Ja":_glVertexAttrib2f,"Ka":_glVertexAttrib3f,"t":_glVertexAttrib4f,"d":_glVertexAttribPointer,"be":_glViewport,"B":_glfwCreateWindow,"pa":_glfwDefaultWindowHints,"Y":_glfwDestroyWindow,"C":_glfwGetPrimaryMonitor,"j":_glfwGetTime,"oa":_glfwGetVideoModes,"qa":_glfwInit,"da":_glfwMakeContextCurrent,"ia":_glfwSetCharCallback,"ea":_glfwSetCursorEnterCallback,"ga":_glfwSetCursorPosCallback,"ka":_glfwSetDropCallback,"ra":_glfwSetErrorCallback,"ja":_glfwSetKeyCallback,"ha":_glfwSetMouseButtonCallback,"fa":_glfwSetScrollCallback,"la":_glfwSetWindowFocusCallback,"ma":_glfwSetWindowIconifyCallback,"T":_glfwSetWindowShouldClose,"na":_glfwSetWindowSizeCallback,"X":_glfwSwapBuffers,"ca":_glfwSwapInterval,"A":_glfwTerminate,"g":_glfwWindowHint,"ba":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["fe"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["ge"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["he"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["ie"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["je"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["ke"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["le"]).apply(null,arguments)};Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_animation.wasm b/examples/web/models/models_animation.wasm index 4d4c93e..83726c3 100644 Binary files a/examples/web/models/models_animation.wasm and b/examples/web/models/models_animation.wasm differ diff --git a/examples/web/models/models_billboard.c b/examples/web/models/models_billboard.c index cd83e33..569ccd8 100644 --- a/examples/web/models/models_billboard.c +++ b/examples/web/models/models_billboard.c @@ -52,7 +52,7 @@ int main(void) SetCameraMode(camera, CAMERA_ORBITAL); // Set an orbital camera mode #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_billboard.data b/examples/web/models/models_billboard.data index e2fe398..8c99118 100644 Binary files a/examples/web/models/models_billboard.data and b/examples/web/models/models_billboard.data differ diff --git a/examples/web/models/models_billboard.html b/examples/web/models/models_billboard.html index a92140f..0a18742 100644 --- a/examples/web/models/models_billboard.html +++ b/examples/web/models/models_billboard.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_billboard.js b/examples/web/models/models_billboard.js index e86b280..7e71cac 100644 --- a/examples/web/models/models_billboard.js +++ b/examples/web/models/models_billboard.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_billboard.data";var REMOTE_PACKAGE_BASE="models_billboard.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5280032,DYNAMICTOP_PTR=37120;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_billboard.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"c":abort,"b":___assert_fail,"oc":___lock,"z":___setErrNo,"$a":___syscall140,"Qa":___syscall145,"l":___syscall221,"va":___syscall5,"ka":___syscall54,"y":___syscall6,"x":___unlock,"_d":___wasi_fd_write,"w":_eglGetProcAddress,"R":_emscripten_exit_pointerlock,"vd":_emscripten_get_element_css_size,"kd":_emscripten_get_gamepad_status,"$c":_emscripten_get_heap_size,"Qc":_emscripten_get_num_gamepads,"Q":_emscripten_get_pointerlock_status,"wc":_emscripten_glActiveTexture,"nc":_emscripten_glAttachShader,"hc":_emscripten_glBeginQueryEXT,"dc":_emscripten_glBindAttribLocation,"Yb":_emscripten_glBindBuffer,"Rb":_emscripten_glBindFramebuffer,"Kb":_emscripten_glBindRenderbuffer,"Bb":_emscripten_glBindTexture,"qb":_emscripten_glBindVertexArrayOES,"lb":_emscripten_glBlendColor,"kb":_emscripten_glBlendEquation,"jb":_emscripten_glBlendEquationSeparate,"ib":_emscripten_glBlendFunc,"hb":_emscripten_glBlendFuncSeparate,"gb":_emscripten_glBufferData,"fb":_emscripten_glBufferSubData,"eb":_emscripten_glCheckFramebufferStatus,"db":_emscripten_glClear,"cb":_emscripten_glClearColor,"bb":_emscripten_glClearDepthf,"ab":_emscripten_glClearStencil,"_a":_emscripten_glColorMask,"Za":_emscripten_glCompileShader,"Ya":_emscripten_glCompressedTexImage2D,"Xa":_emscripten_glCompressedTexSubImage2D,"Wa":_emscripten_glCopyTexImage2D,"Va":_emscripten_glCopyTexSubImage2D,"Ua":_emscripten_glCreateProgram,"Ta":_emscripten_glCreateShader,"Sa":_emscripten_glCullFace,"Ra":_emscripten_glDeleteBuffers,"Pa":_emscripten_glDeleteFramebuffers,"Oa":_emscripten_glDeleteProgram,"Na":_emscripten_glDeleteQueriesEXT,"Ma":_emscripten_glDeleteRenderbuffers,"La":_emscripten_glDeleteShader,"Ka":_emscripten_glDeleteTextures,"Ja":_emscripten_glDeleteVertexArraysOES,"Ia":_emscripten_glDepthFunc,"Ha":_emscripten_glDepthMask,"Ga":_emscripten_glDepthRangef,"Fa":_emscripten_glDetachShader,"Ea":_emscripten_glDisable,"Da":_emscripten_glDisableVertexAttribArray,"Ca":_emscripten_glDrawArrays,"Ba":_emscripten_glDrawArraysInstancedANGLE,"Aa":_emscripten_glDrawBuffersWEBGL,"za":_emscripten_glDrawElements,"ya":_emscripten_glDrawElementsInstancedANGLE,"xa":_emscripten_glEnable,"wa":_emscripten_glEnableVertexAttribArray,"ua":_emscripten_glEndQueryEXT,"ta":_emscripten_glFinish,"sa":_emscripten_glFlush,"ra":_emscripten_glFramebufferRenderbuffer,"qa":_emscripten_glFramebufferTexture2D,"pa":_emscripten_glFrontFace,"oa":_emscripten_glGenBuffers,"na":_emscripten_glGenFramebuffers,"ma":_emscripten_glGenQueriesEXT,"la":_emscripten_glGenRenderbuffers,"ja":_emscripten_glGenTextures,"ia":_emscripten_glGenVertexArraysOES,"ha":_emscripten_glGenerateMipmap,"ga":_emscripten_glGetActiveAttrib,"fa":_emscripten_glGetActiveUniform,"ea":_emscripten_glGetAttachedShaders,"da":_emscripten_glGetAttribLocation,"ca":_emscripten_glGetBooleanv,"ba":_emscripten_glGetBufferParameteriv,"aa":_emscripten_glGetError,"$":_emscripten_glGetFloatv,"_":_emscripten_glGetFramebufferAttachmentParameteriv,"Z":_emscripten_glGetIntegerv,"Y":_emscripten_glGetProgramInfoLog,"X":_emscripten_glGetProgramiv,"W":_emscripten_glGetQueryObjecti64vEXT,"V":_emscripten_glGetQueryObjectivEXT,"U":_emscripten_glGetQueryObjectui64vEXT,"T":_emscripten_glGetQueryObjectuivEXT,"S":_emscripten_glGetQueryivEXT,"ie":_emscripten_glGetRenderbufferParameteriv,"he":_emscripten_glGetShaderInfoLog,"ge":_emscripten_glGetShaderPrecisionFormat,"fe":_emscripten_glGetShaderSource,"ee":_emscripten_glGetShaderiv,"de":_emscripten_glGetString,"ce":_emscripten_glGetTexParameterfv,"be":_emscripten_glGetTexParameteriv,"ae":_emscripten_glGetUniformLocation,"$d":_emscripten_glGetUniformfv,"Zd":_emscripten_glGetUniformiv,"Yd":_emscripten_glGetVertexAttribPointerv,"Xd":_emscripten_glGetVertexAttribfv,"Wd":_emscripten_glGetVertexAttribiv,"Vd":_emscripten_glHint,"Ud":_emscripten_glIsBuffer,"Td":_emscripten_glIsEnabled,"Sd":_emscripten_glIsFramebuffer,"Rd":_emscripten_glIsProgram,"Qd":_emscripten_glIsQueryEXT,"Pd":_emscripten_glIsRenderbuffer,"Od":_emscripten_glIsShader,"Nd":_emscripten_glIsTexture,"Md":_emscripten_glIsVertexArrayOES,"Ld":_emscripten_glLineWidth,"Kd":_emscripten_glLinkProgram,"Jd":_emscripten_glPixelStorei,"Id":_emscripten_glPolygonOffset,"Hd":_emscripten_glQueryCounterEXT,"Gd":_emscripten_glReadPixels,"Fd":_emscripten_glReleaseShaderCompiler,"Ed":_emscripten_glRenderbufferStorage,"Dd":_emscripten_glSampleCoverage,"Cd":_emscripten_glScissor,"Bd":_emscripten_glShaderBinary,"Ad":_emscripten_glShaderSource,"zd":_emscripten_glStencilFunc,"yd":_emscripten_glStencilFuncSeparate,"xd":_emscripten_glStencilMask,"wd":_emscripten_glStencilMaskSeparate,"ud":_emscripten_glStencilOp,"td":_emscripten_glStencilOpSeparate,"sd":_emscripten_glTexImage2D,"rd":_emscripten_glTexParameterf,"qd":_emscripten_glTexParameterfv,"pd":_emscripten_glTexParameteri,"od":_emscripten_glTexParameteriv,"nd":_emscripten_glTexSubImage2D,"md":_emscripten_glUniform1f,"ld":_emscripten_glUniform1fv,"jd":_emscripten_glUniform1i,"id":_emscripten_glUniform1iv,"hd":_emscripten_glUniform2f,"gd":_emscripten_glUniform2fv,"fd":_emscripten_glUniform2i,"ed":_emscripten_glUniform2iv,"dd":_emscripten_glUniform3f,"cd":_emscripten_glUniform3fv,"bd":_emscripten_glUniform3i,"ad":_emscripten_glUniform3iv,"_c":_emscripten_glUniform4f,"Zc":_emscripten_glUniform4fv,"Yc":_emscripten_glUniform4i,"Xc":_emscripten_glUniform4iv,"Wc":_emscripten_glUniformMatrix2fv,"Vc":_emscripten_glUniformMatrix3fv,"Uc":_emscripten_glUniformMatrix4fv,"Tc":_emscripten_glUseProgram,"Sc":_emscripten_glValidateProgram,"Rc":_emscripten_glVertexAttrib1f,"Pc":_emscripten_glVertexAttrib1fv,"Oc":_emscripten_glVertexAttrib2f,"Nc":_emscripten_glVertexAttrib2fv,"Mc":_emscripten_glVertexAttrib3f,"Lc":_emscripten_glVertexAttrib3fv,"Kc":_emscripten_glVertexAttrib4f,"Jc":_emscripten_glVertexAttrib4fv,"Ic":_emscripten_glVertexAttribDivisorANGLE,"Hc":_emscripten_glVertexAttribPointer,"Gc":_emscripten_glViewport,"Fc":_emscripten_memcpy_big,"Ec":_emscripten_request_pointerlock,"Dc":_emscripten_resize_heap,"P":_emscripten_run_script,"Cc":_emscripten_sample_gamepad_data,"Bc":_emscripten_set_click_callback_on_thread,"Ac":_emscripten_set_fullscreenchange_callback_on_thread,"zc":_emscripten_set_gamepadconnected_callback_on_thread,"yc":_emscripten_set_gamepaddisconnected_callback_on_thread,"xc":_emscripten_set_keypress_callback_on_thread,"vc":_emscripten_set_main_loop,"uc":_emscripten_set_touchcancel_callback_on_thread,"tc":_emscripten_set_touchend_callback_on_thread,"sc":_emscripten_set_touchmove_callback_on_thread,"rc":_emscripten_set_touchstart_callback_on_thread,"qc":_exit,"pc":_glActiveTexture,"O":_glAttachShader,"i":_glBindAttribLocation,"d":_glBindBuffer,"k":_glBindTexture,"mc":_glBlendFunc,"q":_glBufferData,"v":_glBufferSubData,"N":_glClear,"M":_glClearColor,"lc":_glClearDepthf,"kc":_glCompileShader,"jc":_glCompressedTexImage2D,"ic":_glCreateProgram,"gc":_glCreateShader,"fc":_glCullFace,"p":_glDeleteBuffers,"L":_glDeleteProgram,"K":_glDeleteShader,"J":_glDeleteTextures,"ec":_glDepthFunc,"I":_glDetachShader,"H":_glDisable,"o":_glDisableVertexAttribArray,"cc":_glDrawArrays,"bc":_glDrawElements,"u":_glEnable,"h":_glEnableVertexAttribArray,"ac":_glFrontFace,"n":_glGenBuffers,"$b":_glGenTextures,"t":_glGetAttribLocation,"_b":_glGetFloatv,"Zb":_glGetProgramInfoLog,"G":_glGetProgramiv,"Xb":_glGetShaderInfoLog,"F":_glGetShaderiv,"j":_glGetString,"s":_glGetUniformLocation,"Wb":_glLinkProgram,"Vb":_glPixelStorei,"Ub":_glReadPixels,"Tb":_glShaderSource,"Sb":_glTexImage2D,"g":_glTexParameteri,"Qb":_glUniform1i,"Pb":_glUniform4f,"Ob":_glUniformMatrix4fv,"r":_glUseProgram,"f":_glVertexAttribPointer,"Nb":_glViewport,"E":_glfwCreateWindow,"Mb":_glfwDefaultWindowHints,"Lb":_glfwDestroyWindow,"Jb":_glfwGetCursorPos,"Ib":_glfwGetKey,"Hb":_glfwGetMouseButton,"D":_glfwGetPrimaryMonitor,"m":_glfwGetTime,"Gb":_glfwGetVideoModes,"Fb":_glfwInit,"Eb":_glfwMakeContextCurrent,"Db":_glfwSetCharCallback,"Cb":_glfwSetCursorEnterCallback,"Ab":_glfwSetCursorPosCallback,"zb":_glfwSetDropCallback,"yb":_glfwSetErrorCallback,"xb":_glfwSetKeyCallback,"wb":_glfwSetMouseButtonCallback,"vb":_glfwSetScrollCallback,"ub":_glfwSetWindowIconifyCallback,"tb":_glfwSetWindowShouldClose,"sb":_glfwSetWindowSizeCallback,"rb":_glfwSwapBuffers,"pb":_glfwSwapInterval,"C":_glfwTerminate,"e":_glfwWindowHint,"B":_llvm_stackrestore,"A":_llvm_stacksave,"ob":_nanosleep,"nb":_time,"mb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["je"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["ke"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["le"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["ze"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["Ae"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["re"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["se"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["ve"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["we"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["xe"].apply(null,arguments)};Module["asm"]=asm;Module["getMemory"]=getMemory;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["calledRun"]=calledRun;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_billboard.data";var REMOTE_PACKAGE_BASE="models_billboard.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_billboard.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["_d"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["$d"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"b":___assert_fail,"u":___sys_fcntl64,"Xd":___sys_ioctl,"M":___sys_open,"s":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"V":_emscripten_get_element_css_size,"P":_emscripten_get_gamepad_status,"Q":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"yd":_emscripten_glActiveTexture,"xd":_emscripten_glAttachShader,"Pd":_emscripten_glBeginQueryEXT,"wd":_emscripten_glBindAttribLocation,"vd":_emscripten_glBindBuffer,"ud":_emscripten_glBindFramebuffer,"sd":_emscripten_glBindRenderbuffer,"rd":_emscripten_glBindTexture,"Hd":_emscripten_glBindVertexArrayOES,"qd":_emscripten_glBlendColor,"pd":_emscripten_glBlendEquation,"od":_emscripten_glBlendEquationSeparate,"nd":_emscripten_glBlendFunc,"md":_emscripten_glBlendFuncSeparate,"ld":_emscripten_glBufferData,"kd":_emscripten_glBufferSubData,"jd":_emscripten_glCheckFramebufferStatus,"id":_emscripten_glClear,"hd":_emscripten_glClearColor,"gd":_emscripten_glClearDepthf,"fd":_emscripten_glClearStencil,"ed":_emscripten_glColorMask,"dd":_emscripten_glCompileShader,"cd":_emscripten_glCompressedTexImage2D,"bd":_emscripten_glCompressedTexSubImage2D,"ad":_emscripten_glCopyTexImage2D,"$c":_emscripten_glCopyTexSubImage2D,"_c":_emscripten_glCreateProgram,"Zc":_emscripten_glCreateShader,"Yc":_emscripten_glCullFace,"Xc":_emscripten_glDeleteBuffers,"Wc":_emscripten_glDeleteFramebuffers,"Vc":_emscripten_glDeleteProgram,"Rd":_emscripten_glDeleteQueriesEXT,"Uc":_emscripten_glDeleteRenderbuffers,"Tc":_emscripten_glDeleteShader,"Sc":_emscripten_glDeleteTextures,"Gd":_emscripten_glDeleteVertexArraysOES,"Rc":_emscripten_glDepthFunc,"Qc":_emscripten_glDepthMask,"Pc":_emscripten_glDepthRangef,"Oc":_emscripten_glDetachShader,"Nc":_emscripten_glDisable,"Mc":_emscripten_glDisableVertexAttribArray,"Lc":_emscripten_glDrawArrays,"Bd":_emscripten_glDrawArraysInstancedANGLE,"Cd":_emscripten_glDrawBuffersWEBGL,"Kc":_emscripten_glDrawElements,"Ad":_emscripten_glDrawElementsInstancedANGLE,"Jc":_emscripten_glEnable,"Ic":_emscripten_glEnableVertexAttribArray,"Od":_emscripten_glEndQueryEXT,"Hc":_emscripten_glFinish,"Fc":_emscripten_glFlush,"Ec":_emscripten_glFramebufferRenderbuffer,"Dc":_emscripten_glFramebufferTexture2D,"Cc":_emscripten_glFrontFace,"Bc":_emscripten_glGenBuffers,"zc":_emscripten_glGenFramebuffers,"Sd":_emscripten_glGenQueriesEXT,"yc":_emscripten_glGenRenderbuffers,"xc":_emscripten_glGenTextures,"Fd":_emscripten_glGenVertexArraysOES,"Ac":_emscripten_glGenerateMipmap,"wc":_emscripten_glGetActiveAttrib,"vc":_emscripten_glGetActiveUniform,"uc":_emscripten_glGetAttachedShaders,"tc":_emscripten_glGetAttribLocation,"sc":_emscripten_glGetBooleanv,"rc":_emscripten_glGetBufferParameteriv,"qc":_emscripten_glGetError,"pc":_emscripten_glGetFloatv,"oc":_emscripten_glGetFramebufferAttachmentParameteriv,"nc":_emscripten_glGetIntegerv,"lc":_emscripten_glGetProgramInfoLog,"mc":_emscripten_glGetProgramiv,"Jd":_emscripten_glGetQueryObjecti64vEXT,"Ld":_emscripten_glGetQueryObjectivEXT,"Id":_emscripten_glGetQueryObjectui64vEXT,"Kd":_emscripten_glGetQueryObjectuivEXT,"Md":_emscripten_glGetQueryivEXT,"kc":_emscripten_glGetRenderbufferParameteriv,"ic":_emscripten_glGetShaderInfoLog,"hc":_emscripten_glGetShaderPrecisionFormat,"gc":_emscripten_glGetShaderSource,"jc":_emscripten_glGetShaderiv,"fc":_emscripten_glGetString,"ec":_emscripten_glGetTexParameterfv,"dc":_emscripten_glGetTexParameteriv,"ac":_emscripten_glGetUniformLocation,"cc":_emscripten_glGetUniformfv,"bc":_emscripten_glGetUniformiv,"Zb":_emscripten_glGetVertexAttribPointerv,"$b":_emscripten_glGetVertexAttribfv,"_b":_emscripten_glGetVertexAttribiv,"Yb":_emscripten_glHint,"Xb":_emscripten_glIsBuffer,"Wb":_emscripten_glIsEnabled,"Vb":_emscripten_glIsFramebuffer,"Ub":_emscripten_glIsProgram,"Qd":_emscripten_glIsQueryEXT,"Tb":_emscripten_glIsRenderbuffer,"Sb":_emscripten_glIsShader,"Rb":_emscripten_glIsTexture,"Dd":_emscripten_glIsVertexArrayOES,"Qb":_emscripten_glLineWidth,"Pb":_emscripten_glLinkProgram,"Ob":_emscripten_glPixelStorei,"Nb":_emscripten_glPolygonOffset,"Nd":_emscripten_glQueryCounterEXT,"Mb":_emscripten_glReadPixels,"Lb":_emscripten_glReleaseShaderCompiler,"Kb":_emscripten_glRenderbufferStorage,"Ib":_emscripten_glSampleCoverage,"Hb":_emscripten_glScissor,"Gb":_emscripten_glShaderBinary,"Fb":_emscripten_glShaderSource,"Eb":_emscripten_glStencilFunc,"Db":_emscripten_glStencilFuncSeparate,"Cb":_emscripten_glStencilMask,"Bb":_emscripten_glStencilMaskSeparate,"Ab":_emscripten_glStencilOp,"zb":_emscripten_glStencilOpSeparate,"xb":_emscripten_glTexImage2D,"wb":_emscripten_glTexParameterf,"vb":_emscripten_glTexParameterfv,"ub":_emscripten_glTexParameteri,"tb":_emscripten_glTexParameteriv,"sb":_emscripten_glTexSubImage2D,"rb":_emscripten_glUniform1f,"qb":_emscripten_glUniform1fv,"pb":_emscripten_glUniform1i,"ob":_emscripten_glUniform1iv,"mb":_emscripten_glUniform2f,"lb":_emscripten_glUniform2fv,"kb":_emscripten_glUniform2i,"jb":_emscripten_glUniform2iv,"ib":_emscripten_glUniform3f,"hb":_emscripten_glUniform3fv,"gb":_emscripten_glUniform3i,"fb":_emscripten_glUniform3iv,"eb":_emscripten_glUniform4f,"db":_emscripten_glUniform4fv,"bb":_emscripten_glUniform4i,"ab":_emscripten_glUniform4iv,"$a":_emscripten_glUniformMatrix2fv,"_a":_emscripten_glUniformMatrix3fv,"Za":_emscripten_glUniformMatrix4fv,"Ya":_emscripten_glUseProgram,"Xa":_emscripten_glValidateProgram,"Wa":_emscripten_glVertexAttrib1f,"Va":_emscripten_glVertexAttrib1fv,"Ua":_emscripten_glVertexAttrib2f,"Sa":_emscripten_glVertexAttrib2fv,"Ra":_emscripten_glVertexAttrib3f,"Qa":_emscripten_glVertexAttrib3fv,"Pa":_emscripten_glVertexAttrib4f,"Oa":_emscripten_glVertexAttrib4fv,"zd":_emscripten_glVertexAttribDivisorANGLE,"Na":_emscripten_glVertexAttribPointer,"Ma":_emscripten_glViewport,"Td":_emscripten_memcpy_big,"W":_emscripten_request_pointerlock,"Ud":_emscripten_resize_heap,"w":_emscripten_run_script,"R":_emscripten_sample_gamepad_data,"va":_emscripten_set_click_callback_on_thread,"xa":_emscripten_set_fullscreenchange_callback_on_thread,"qa":_emscripten_set_gamepadconnected_callback_on_thread,"pa":_emscripten_set_gamepaddisconnected_callback_on_thread,"wa":_emscripten_set_keydown_callback_on_thread,"Zd":_emscripten_set_main_loop,"ra":_emscripten_set_touchcancel_callback_on_thread,"ta":_emscripten_set_touchend_callback_on_thread,"sa":_emscripten_set_touchmove_callback_on_thread,"ua":_emscripten_set_touchstart_callback_on_thread,"Vd":_emscripten_thread_sleep,"N":_exit,"v":_fd_close,"Wd":_fd_read,"La":_fd_seek,"K":_fd_write,"L":_glActiveTexture,"A":_glAttachShader,"g":_glBindAttribLocation,"a":_glBindBuffer,"h":_glBindTexture,"yb":_glBlendFunc,"l":_glBufferData,"r":_glBufferSubData,"H":_glClear,"I":_glClearColor,"Ta":_glClearDepthf,"Da":_glCompileShader,"Ha":_glCompressedTexImage2D,"Ba":_glCreateProgram,"Fa":_glCreateShader,"nb":_glCullFace,"j":_glDeleteBuffers,"D":_glDeleteProgram,"E":_glDeleteShader,"G":_glDeleteTextures,"Jb":_glDepthFunc,"F":_glDetachShader,"J":_glDisable,"k":_glDisableVertexAttribArray,"Ed":_glDrawArrays,"td":_glDrawElements,"t":_glEnable,"e":_glEnableVertexAttribArray,"cb":_glFrontFace,"m":_glGenBuffers,"Ja":_glGenTextures,"q":_glGetAttribLocation,"Gc":_glGetFloatv,"ya":_glGetProgramInfoLog,"C":_glGetProgramiv,"Ca":_glGetShaderInfoLog,"B":_glGetShaderiv,"i":_glGetString,"p":_glGetUniformLocation,"za":_glLinkProgram,"Ka":_glPixelStorei,"Ga":_glReadPixels,"Ea":_glShaderSource,"Ia":_glTexImage2D,"n":_glTexParameteri,"S":_glUniform1i,"$":_glUniform4f,"Aa":_glUniformMatrix4fv,"o":_glUseProgram,"f":_glVertexAttribPointer,"Yd":_glViewport,"y":_glfwCreateWindow,"ma":_glfwDefaultWindowHints,"U":_glfwDestroyWindow,"z":_glfwGetPrimaryMonitor,"d":_glfwGetTime,"la":_glfwGetVideoModes,"na":_glfwInit,"aa":_glfwMakeContextCurrent,"fa":_glfwSetCharCallback,"ba":_glfwSetCursorEnterCallback,"da":_glfwSetCursorPosCallback,"ha":_glfwSetDropCallback,"oa":_glfwSetErrorCallback,"ga":_glfwSetKeyCallback,"ea":_glfwSetMouseButtonCallback,"ca":_glfwSetScrollCallback,"ia":_glfwSetWindowFocusCallback,"ja":_glfwSetWindowIconifyCallback,"O":_glfwSetWindowShouldClose,"ka":_glfwSetWindowSizeCallback,"T":_glfwSwapBuffers,"_":_glfwSwapInterval,"x":_glfwTerminate,"c":_glfwWindowHint,"Z":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["ae"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["be"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["ce"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["de"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["ee"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["fe"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["ge"]).apply(null,arguments)};Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_billboard.wasm b/examples/web/models/models_billboard.wasm index 21c41d7..6ff621f 100644 Binary files a/examples/web/models/models_billboard.wasm and b/examples/web/models/models_billboard.wasm differ diff --git a/examples/web/models/models_box_collisions.c b/examples/web/models/models_box_collisions.c index 9aa63db..54cb6c2 100644 --- a/examples/web/models/models_box_collisions.c +++ b/examples/web/models/models_box_collisions.c @@ -52,7 +52,7 @@ int main(void) InitWindow(screenWidth, screenHeight, "raylib [models] example - box collisions"); #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_box_collisions.html b/examples/web/models/models_box_collisions.html index ff4756e..d548253 100644 --- a/examples/web/models/models_box_collisions.html +++ b/examples/web/models/models_box_collisions.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_box_collisions.js b/examples/web/models/models_box_collisions.js index 5d8f08e..29c268b 100644 --- a/examples/web/models/models_box_collisions.js +++ b/examples/web/models/models_box_collisions.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;read_=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5276944,DYNAMICTOP_PTR=34032;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_box_collisions.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"c":abort,"b":___assert_fail,"nc":___lock,"z":___setErrNo,"$a":___syscall140,"Qa":___syscall145,"l":___syscall221,"va":___syscall5,"ka":___syscall54,"y":___syscall6,"x":___unlock,"Zd":___wasi_fd_write,"w":_eglGetProcAddress,"R":_emscripten_exit_pointerlock,"ud":_emscripten_get_element_css_size,"jd":_emscripten_get_gamepad_status,"_c":_emscripten_get_heap_size,"Pc":_emscripten_get_num_gamepads,"Q":_emscripten_get_pointerlock_status,"vc":_emscripten_glActiveTexture,"mc":_emscripten_glAttachShader,"gc":_emscripten_glBeginQueryEXT,"cc":_emscripten_glBindAttribLocation,"Xb":_emscripten_glBindBuffer,"Qb":_emscripten_glBindFramebuffer,"Jb":_emscripten_glBindRenderbuffer,"Ab":_emscripten_glBindTexture,"pb":_emscripten_glBindVertexArrayOES,"lb":_emscripten_glBlendColor,"kb":_emscripten_glBlendEquation,"jb":_emscripten_glBlendEquationSeparate,"ib":_emscripten_glBlendFunc,"hb":_emscripten_glBlendFuncSeparate,"gb":_emscripten_glBufferData,"fb":_emscripten_glBufferSubData,"eb":_emscripten_glCheckFramebufferStatus,"db":_emscripten_glClear,"cb":_emscripten_glClearColor,"bb":_emscripten_glClearDepthf,"ab":_emscripten_glClearStencil,"_a":_emscripten_glColorMask,"Za":_emscripten_glCompileShader,"Ya":_emscripten_glCompressedTexImage2D,"Xa":_emscripten_glCompressedTexSubImage2D,"Wa":_emscripten_glCopyTexImage2D,"Va":_emscripten_glCopyTexSubImage2D,"Ua":_emscripten_glCreateProgram,"Ta":_emscripten_glCreateShader,"Sa":_emscripten_glCullFace,"Ra":_emscripten_glDeleteBuffers,"Pa":_emscripten_glDeleteFramebuffers,"Oa":_emscripten_glDeleteProgram,"Na":_emscripten_glDeleteQueriesEXT,"Ma":_emscripten_glDeleteRenderbuffers,"La":_emscripten_glDeleteShader,"Ka":_emscripten_glDeleteTextures,"Ja":_emscripten_glDeleteVertexArraysOES,"Ia":_emscripten_glDepthFunc,"Ha":_emscripten_glDepthMask,"Ga":_emscripten_glDepthRangef,"Fa":_emscripten_glDetachShader,"Ea":_emscripten_glDisable,"Da":_emscripten_glDisableVertexAttribArray,"Ca":_emscripten_glDrawArrays,"Ba":_emscripten_glDrawArraysInstancedANGLE,"Aa":_emscripten_glDrawBuffersWEBGL,"za":_emscripten_glDrawElements,"ya":_emscripten_glDrawElementsInstancedANGLE,"xa":_emscripten_glEnable,"wa":_emscripten_glEnableVertexAttribArray,"ua":_emscripten_glEndQueryEXT,"ta":_emscripten_glFinish,"sa":_emscripten_glFlush,"ra":_emscripten_glFramebufferRenderbuffer,"qa":_emscripten_glFramebufferTexture2D,"pa":_emscripten_glFrontFace,"oa":_emscripten_glGenBuffers,"na":_emscripten_glGenFramebuffers,"ma":_emscripten_glGenQueriesEXT,"la":_emscripten_glGenRenderbuffers,"ja":_emscripten_glGenTextures,"ia":_emscripten_glGenVertexArraysOES,"ha":_emscripten_glGenerateMipmap,"ga":_emscripten_glGetActiveAttrib,"fa":_emscripten_glGetActiveUniform,"ea":_emscripten_glGetAttachedShaders,"da":_emscripten_glGetAttribLocation,"ca":_emscripten_glGetBooleanv,"ba":_emscripten_glGetBufferParameteriv,"aa":_emscripten_glGetError,"$":_emscripten_glGetFloatv,"_":_emscripten_glGetFramebufferAttachmentParameteriv,"Z":_emscripten_glGetIntegerv,"Y":_emscripten_glGetProgramInfoLog,"X":_emscripten_glGetProgramiv,"W":_emscripten_glGetQueryObjecti64vEXT,"V":_emscripten_glGetQueryObjectivEXT,"U":_emscripten_glGetQueryObjectui64vEXT,"T":_emscripten_glGetQueryObjectuivEXT,"S":_emscripten_glGetQueryivEXT,"he":_emscripten_glGetRenderbufferParameteriv,"ge":_emscripten_glGetShaderInfoLog,"fe":_emscripten_glGetShaderPrecisionFormat,"ee":_emscripten_glGetShaderSource,"de":_emscripten_glGetShaderiv,"ce":_emscripten_glGetString,"be":_emscripten_glGetTexParameterfv,"ae":_emscripten_glGetTexParameteriv,"$d":_emscripten_glGetUniformLocation,"_d":_emscripten_glGetUniformfv,"Yd":_emscripten_glGetUniformiv,"Xd":_emscripten_glGetVertexAttribPointerv,"Wd":_emscripten_glGetVertexAttribfv,"Vd":_emscripten_glGetVertexAttribiv,"Ud":_emscripten_glHint,"Td":_emscripten_glIsBuffer,"Sd":_emscripten_glIsEnabled,"Rd":_emscripten_glIsFramebuffer,"Qd":_emscripten_glIsProgram,"Pd":_emscripten_glIsQueryEXT,"Od":_emscripten_glIsRenderbuffer,"Nd":_emscripten_glIsShader,"Md":_emscripten_glIsTexture,"Ld":_emscripten_glIsVertexArrayOES,"Kd":_emscripten_glLineWidth,"Jd":_emscripten_glLinkProgram,"Id":_emscripten_glPixelStorei,"Hd":_emscripten_glPolygonOffset,"Gd":_emscripten_glQueryCounterEXT,"Fd":_emscripten_glReadPixels,"Ed":_emscripten_glReleaseShaderCompiler,"Dd":_emscripten_glRenderbufferStorage,"Cd":_emscripten_glSampleCoverage,"Bd":_emscripten_glScissor,"Ad":_emscripten_glShaderBinary,"zd":_emscripten_glShaderSource,"yd":_emscripten_glStencilFunc,"xd":_emscripten_glStencilFuncSeparate,"wd":_emscripten_glStencilMask,"vd":_emscripten_glStencilMaskSeparate,"td":_emscripten_glStencilOp,"sd":_emscripten_glStencilOpSeparate,"rd":_emscripten_glTexImage2D,"qd":_emscripten_glTexParameterf,"pd":_emscripten_glTexParameterfv,"od":_emscripten_glTexParameteri,"nd":_emscripten_glTexParameteriv,"md":_emscripten_glTexSubImage2D,"ld":_emscripten_glUniform1f,"kd":_emscripten_glUniform1fv,"id":_emscripten_glUniform1i,"hd":_emscripten_glUniform1iv,"gd":_emscripten_glUniform2f,"fd":_emscripten_glUniform2fv,"ed":_emscripten_glUniform2i,"dd":_emscripten_glUniform2iv,"cd":_emscripten_glUniform3f,"bd":_emscripten_glUniform3fv,"ad":_emscripten_glUniform3i,"$c":_emscripten_glUniform3iv,"Zc":_emscripten_glUniform4f,"Yc":_emscripten_glUniform4fv,"Xc":_emscripten_glUniform4i,"Wc":_emscripten_glUniform4iv,"Vc":_emscripten_glUniformMatrix2fv,"Uc":_emscripten_glUniformMatrix3fv,"Tc":_emscripten_glUniformMatrix4fv,"Sc":_emscripten_glUseProgram,"Rc":_emscripten_glValidateProgram,"Qc":_emscripten_glVertexAttrib1f,"Oc":_emscripten_glVertexAttrib1fv,"Nc":_emscripten_glVertexAttrib2f,"Mc":_emscripten_glVertexAttrib2fv,"Lc":_emscripten_glVertexAttrib3f,"Kc":_emscripten_glVertexAttrib3fv,"Jc":_emscripten_glVertexAttrib4f,"Ic":_emscripten_glVertexAttrib4fv,"Hc":_emscripten_glVertexAttribDivisorANGLE,"Gc":_emscripten_glVertexAttribPointer,"Fc":_emscripten_glViewport,"Ec":_emscripten_memcpy_big,"Dc":_emscripten_request_pointerlock,"Cc":_emscripten_resize_heap,"P":_emscripten_run_script,"Bc":_emscripten_sample_gamepad_data,"Ac":_emscripten_set_click_callback_on_thread,"zc":_emscripten_set_fullscreenchange_callback_on_thread,"yc":_emscripten_set_gamepadconnected_callback_on_thread,"xc":_emscripten_set_gamepaddisconnected_callback_on_thread,"wc":_emscripten_set_keypress_callback_on_thread,"uc":_emscripten_set_main_loop,"tc":_emscripten_set_touchcancel_callback_on_thread,"sc":_emscripten_set_touchend_callback_on_thread,"rc":_emscripten_set_touchmove_callback_on_thread,"qc":_emscripten_set_touchstart_callback_on_thread,"pc":_exit,"oc":_glActiveTexture,"O":_glAttachShader,"i":_glBindAttribLocation,"d":_glBindBuffer,"k":_glBindTexture,"lc":_glBlendFunc,"q":_glBufferData,"v":_glBufferSubData,"N":_glClear,"M":_glClearColor,"kc":_glClearDepthf,"jc":_glCompileShader,"ic":_glCompressedTexImage2D,"hc":_glCreateProgram,"fc":_glCreateShader,"ec":_glCullFace,"p":_glDeleteBuffers,"L":_glDeleteProgram,"K":_glDeleteShader,"J":_glDeleteTextures,"dc":_glDepthFunc,"I":_glDetachShader,"H":_glDisable,"o":_glDisableVertexAttribArray,"bc":_glDrawArrays,"ac":_glDrawElements,"u":_glEnable,"h":_glEnableVertexAttribArray,"$b":_glFrontFace,"n":_glGenBuffers,"_b":_glGenTextures,"t":_glGetAttribLocation,"Zb":_glGetFloatv,"Yb":_glGetProgramInfoLog,"G":_glGetProgramiv,"Wb":_glGetShaderInfoLog,"F":_glGetShaderiv,"j":_glGetString,"s":_glGetUniformLocation,"Vb":_glLinkProgram,"Ub":_glPixelStorei,"Tb":_glReadPixels,"Sb":_glShaderSource,"Rb":_glTexImage2D,"g":_glTexParameteri,"Pb":_glUniform1i,"Ob":_glUniform4f,"Nb":_glUniformMatrix4fv,"r":_glUseProgram,"f":_glVertexAttribPointer,"Mb":_glViewport,"E":_glfwCreateWindow,"Lb":_glfwDefaultWindowHints,"Kb":_glfwDestroyWindow,"Ib":_glfwGetCursorPos,"Hb":_glfwGetKey,"D":_glfwGetPrimaryMonitor,"m":_glfwGetTime,"Gb":_glfwGetVideoModes,"Fb":_glfwInit,"Eb":_glfwMakeContextCurrent,"Db":_glfwSetCharCallback,"Cb":_glfwSetCursorEnterCallback,"Bb":_glfwSetCursorPosCallback,"zb":_glfwSetDropCallback,"yb":_glfwSetErrorCallback,"xb":_glfwSetKeyCallback,"wb":_glfwSetMouseButtonCallback,"vb":_glfwSetScrollCallback,"ub":_glfwSetWindowIconifyCallback,"tb":_glfwSetWindowShouldClose,"sb":_glfwSetWindowSizeCallback,"rb":_glfwSwapBuffers,"qb":_glfwSwapInterval,"C":_glfwTerminate,"e":_glfwWindowHint,"B":_llvm_stackrestore,"A":_llvm_stacksave,"ob":_nanosleep,"nb":_time,"mb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["ie"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["je"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["ke"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["le"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["ze"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["re"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["se"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["ve"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["we"].apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_box_collisions.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["_d"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["$d"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"n":___assert_fail,"u":___sys_fcntl64,"Xd":___sys_ioctl,"M":___sys_open,"s":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"V":_emscripten_get_element_css_size,"P":_emscripten_get_gamepad_status,"Q":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"yd":_emscripten_glActiveTexture,"xd":_emscripten_glAttachShader,"Pd":_emscripten_glBeginQueryEXT,"wd":_emscripten_glBindAttribLocation,"vd":_emscripten_glBindBuffer,"ud":_emscripten_glBindFramebuffer,"sd":_emscripten_glBindRenderbuffer,"rd":_emscripten_glBindTexture,"Hd":_emscripten_glBindVertexArrayOES,"qd":_emscripten_glBlendColor,"pd":_emscripten_glBlendEquation,"od":_emscripten_glBlendEquationSeparate,"nd":_emscripten_glBlendFunc,"md":_emscripten_glBlendFuncSeparate,"ld":_emscripten_glBufferData,"kd":_emscripten_glBufferSubData,"jd":_emscripten_glCheckFramebufferStatus,"id":_emscripten_glClear,"hd":_emscripten_glClearColor,"gd":_emscripten_glClearDepthf,"fd":_emscripten_glClearStencil,"ed":_emscripten_glColorMask,"dd":_emscripten_glCompileShader,"cd":_emscripten_glCompressedTexImage2D,"bd":_emscripten_glCompressedTexSubImage2D,"ad":_emscripten_glCopyTexImage2D,"$c":_emscripten_glCopyTexSubImage2D,"_c":_emscripten_glCreateProgram,"Zc":_emscripten_glCreateShader,"Yc":_emscripten_glCullFace,"Xc":_emscripten_glDeleteBuffers,"Wc":_emscripten_glDeleteFramebuffers,"Vc":_emscripten_glDeleteProgram,"Rd":_emscripten_glDeleteQueriesEXT,"Uc":_emscripten_glDeleteRenderbuffers,"Tc":_emscripten_glDeleteShader,"Sc":_emscripten_glDeleteTextures,"Gd":_emscripten_glDeleteVertexArraysOES,"Rc":_emscripten_glDepthFunc,"Qc":_emscripten_glDepthMask,"Pc":_emscripten_glDepthRangef,"Oc":_emscripten_glDetachShader,"Nc":_emscripten_glDisable,"Mc":_emscripten_glDisableVertexAttribArray,"Lc":_emscripten_glDrawArrays,"Bd":_emscripten_glDrawArraysInstancedANGLE,"Cd":_emscripten_glDrawBuffersWEBGL,"Kc":_emscripten_glDrawElements,"Ad":_emscripten_glDrawElementsInstancedANGLE,"Jc":_emscripten_glEnable,"Ic":_emscripten_glEnableVertexAttribArray,"Od":_emscripten_glEndQueryEXT,"Hc":_emscripten_glFinish,"Fc":_emscripten_glFlush,"Ec":_emscripten_glFramebufferRenderbuffer,"Dc":_emscripten_glFramebufferTexture2D,"Cc":_emscripten_glFrontFace,"Bc":_emscripten_glGenBuffers,"zc":_emscripten_glGenFramebuffers,"Sd":_emscripten_glGenQueriesEXT,"yc":_emscripten_glGenRenderbuffers,"xc":_emscripten_glGenTextures,"Fd":_emscripten_glGenVertexArraysOES,"Ac":_emscripten_glGenerateMipmap,"wc":_emscripten_glGetActiveAttrib,"vc":_emscripten_glGetActiveUniform,"uc":_emscripten_glGetAttachedShaders,"tc":_emscripten_glGetAttribLocation,"sc":_emscripten_glGetBooleanv,"rc":_emscripten_glGetBufferParameteriv,"qc":_emscripten_glGetError,"pc":_emscripten_glGetFloatv,"oc":_emscripten_glGetFramebufferAttachmentParameteriv,"nc":_emscripten_glGetIntegerv,"lc":_emscripten_glGetProgramInfoLog,"mc":_emscripten_glGetProgramiv,"Jd":_emscripten_glGetQueryObjecti64vEXT,"Ld":_emscripten_glGetQueryObjectivEXT,"Id":_emscripten_glGetQueryObjectui64vEXT,"Kd":_emscripten_glGetQueryObjectuivEXT,"Md":_emscripten_glGetQueryivEXT,"kc":_emscripten_glGetRenderbufferParameteriv,"ic":_emscripten_glGetShaderInfoLog,"hc":_emscripten_glGetShaderPrecisionFormat,"gc":_emscripten_glGetShaderSource,"jc":_emscripten_glGetShaderiv,"fc":_emscripten_glGetString,"ec":_emscripten_glGetTexParameterfv,"dc":_emscripten_glGetTexParameteriv,"ac":_emscripten_glGetUniformLocation,"cc":_emscripten_glGetUniformfv,"bc":_emscripten_glGetUniformiv,"Zb":_emscripten_glGetVertexAttribPointerv,"$b":_emscripten_glGetVertexAttribfv,"_b":_emscripten_glGetVertexAttribiv,"Yb":_emscripten_glHint,"Xb":_emscripten_glIsBuffer,"Wb":_emscripten_glIsEnabled,"Vb":_emscripten_glIsFramebuffer,"Ub":_emscripten_glIsProgram,"Qd":_emscripten_glIsQueryEXT,"Tb":_emscripten_glIsRenderbuffer,"Sb":_emscripten_glIsShader,"Rb":_emscripten_glIsTexture,"Dd":_emscripten_glIsVertexArrayOES,"Qb":_emscripten_glLineWidth,"Pb":_emscripten_glLinkProgram,"Ob":_emscripten_glPixelStorei,"Nb":_emscripten_glPolygonOffset,"Nd":_emscripten_glQueryCounterEXT,"Mb":_emscripten_glReadPixels,"Lb":_emscripten_glReleaseShaderCompiler,"Kb":_emscripten_glRenderbufferStorage,"Ib":_emscripten_glSampleCoverage,"Hb":_emscripten_glScissor,"Gb":_emscripten_glShaderBinary,"Fb":_emscripten_glShaderSource,"Eb":_emscripten_glStencilFunc,"Db":_emscripten_glStencilFuncSeparate,"Cb":_emscripten_glStencilMask,"Bb":_emscripten_glStencilMaskSeparate,"Ab":_emscripten_glStencilOp,"zb":_emscripten_glStencilOpSeparate,"xb":_emscripten_glTexImage2D,"wb":_emscripten_glTexParameterf,"vb":_emscripten_glTexParameterfv,"ub":_emscripten_glTexParameteri,"tb":_emscripten_glTexParameteriv,"sb":_emscripten_glTexSubImage2D,"rb":_emscripten_glUniform1f,"qb":_emscripten_glUniform1fv,"pb":_emscripten_glUniform1i,"ob":_emscripten_glUniform1iv,"mb":_emscripten_glUniform2f,"lb":_emscripten_glUniform2fv,"kb":_emscripten_glUniform2i,"jb":_emscripten_glUniform2iv,"ib":_emscripten_glUniform3f,"hb":_emscripten_glUniform3fv,"gb":_emscripten_glUniform3i,"fb":_emscripten_glUniform3iv,"eb":_emscripten_glUniform4f,"db":_emscripten_glUniform4fv,"bb":_emscripten_glUniform4i,"ab":_emscripten_glUniform4iv,"$a":_emscripten_glUniformMatrix2fv,"_a":_emscripten_glUniformMatrix3fv,"Za":_emscripten_glUniformMatrix4fv,"Ya":_emscripten_glUseProgram,"Xa":_emscripten_glValidateProgram,"Wa":_emscripten_glVertexAttrib1f,"Va":_emscripten_glVertexAttrib1fv,"Ua":_emscripten_glVertexAttrib2f,"Sa":_emscripten_glVertexAttrib2fv,"Ra":_emscripten_glVertexAttrib3f,"Qa":_emscripten_glVertexAttrib3fv,"Pa":_emscripten_glVertexAttrib4f,"Oa":_emscripten_glVertexAttrib4fv,"zd":_emscripten_glVertexAttribDivisorANGLE,"Na":_emscripten_glVertexAttribPointer,"Ma":_emscripten_glViewport,"Td":_emscripten_memcpy_big,"W":_emscripten_request_pointerlock,"Ud":_emscripten_resize_heap,"w":_emscripten_run_script,"R":_emscripten_sample_gamepad_data,"va":_emscripten_set_click_callback_on_thread,"xa":_emscripten_set_fullscreenchange_callback_on_thread,"qa":_emscripten_set_gamepadconnected_callback_on_thread,"pa":_emscripten_set_gamepaddisconnected_callback_on_thread,"wa":_emscripten_set_keydown_callback_on_thread,"Zd":_emscripten_set_main_loop,"ra":_emscripten_set_touchcancel_callback_on_thread,"ta":_emscripten_set_touchend_callback_on_thread,"sa":_emscripten_set_touchmove_callback_on_thread,"ua":_emscripten_set_touchstart_callback_on_thread,"Vd":_emscripten_thread_sleep,"N":_exit,"v":_fd_close,"Wd":_fd_read,"La":_fd_seek,"K":_fd_write,"L":_glActiveTexture,"A":_glAttachShader,"f":_glBindAttribLocation,"a":_glBindBuffer,"g":_glBindTexture,"yb":_glBlendFunc,"k":_glBufferData,"r":_glBufferSubData,"H":_glClear,"I":_glClearColor,"Ta":_glClearDepthf,"Da":_glCompileShader,"Ha":_glCompressedTexImage2D,"Ba":_glCreateProgram,"Fa":_glCreateShader,"nb":_glCullFace,"i":_glDeleteBuffers,"D":_glDeleteProgram,"E":_glDeleteShader,"G":_glDeleteTextures,"Jb":_glDepthFunc,"F":_glDetachShader,"J":_glDisable,"j":_glDisableVertexAttribArray,"Ed":_glDrawArrays,"td":_glDrawElements,"t":_glEnable,"d":_glEnableVertexAttribArray,"cb":_glFrontFace,"l":_glGenBuffers,"Ja":_glGenTextures,"q":_glGetAttribLocation,"Gc":_glGetFloatv,"ya":_glGetProgramInfoLog,"C":_glGetProgramiv,"Ca":_glGetShaderInfoLog,"B":_glGetShaderiv,"h":_glGetString,"p":_glGetUniformLocation,"za":_glLinkProgram,"Ka":_glPixelStorei,"Ga":_glReadPixels,"Ea":_glShaderSource,"Ia":_glTexImage2D,"m":_glTexParameteri,"S":_glUniform1i,"$":_glUniform4f,"Aa":_glUniformMatrix4fv,"o":_glUseProgram,"e":_glVertexAttribPointer,"Yd":_glViewport,"y":_glfwCreateWindow,"ma":_glfwDefaultWindowHints,"U":_glfwDestroyWindow,"z":_glfwGetPrimaryMonitor,"c":_glfwGetTime,"la":_glfwGetVideoModes,"na":_glfwInit,"aa":_glfwMakeContextCurrent,"fa":_glfwSetCharCallback,"ba":_glfwSetCursorEnterCallback,"da":_glfwSetCursorPosCallback,"ha":_glfwSetDropCallback,"oa":_glfwSetErrorCallback,"ga":_glfwSetKeyCallback,"ea":_glfwSetMouseButtonCallback,"ca":_glfwSetScrollCallback,"ia":_glfwSetWindowFocusCallback,"ja":_glfwSetWindowIconifyCallback,"O":_glfwSetWindowShouldClose,"ka":_glfwSetWindowSizeCallback,"T":_glfwSwapBuffers,"_":_glfwSwapInterval,"x":_glfwTerminate,"b":_glfwWindowHint,"Z":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["ae"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["be"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["ce"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["de"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["ee"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["fe"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["ge"]).apply(null,arguments)};var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_box_collisions.wasm b/examples/web/models/models_box_collisions.wasm index 09777ed..56f2211 100644 Binary files a/examples/web/models/models_box_collisions.wasm and b/examples/web/models/models_box_collisions.wasm differ diff --git a/examples/web/models/models_cubicmap.c b/examples/web/models/models_cubicmap.c index a4cb271..fede958 100644 --- a/examples/web/models/models_cubicmap.c +++ b/examples/web/models/models_cubicmap.c @@ -58,7 +58,7 @@ int main(void) SetCameraMode(camera, CAMERA_ORBITAL); // Set an orbital camera mode #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_cubicmap.data b/examples/web/models/models_cubicmap.data index c7df666..97220c0 100644 Binary files a/examples/web/models/models_cubicmap.data and b/examples/web/models/models_cubicmap.data differ diff --git a/examples/web/models/models_cubicmap.html b/examples/web/models/models_cubicmap.html index 39769ed..c6b90be 100644 --- a/examples/web/models/models_cubicmap.html +++ b/examples/web/models/models_cubicmap.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_cubicmap.js b/examples/web/models/models_cubicmap.js index ee0211e..ba2c797 100644 --- a/examples/web/models/models_cubicmap.js +++ b/examples/web/models/models_cubicmap.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_cubicmap.data";var REMOTE_PACKAGE_BASE="models_cubicmap.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5280608,DYNAMICTOP_PTR=37696;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_cubicmap.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"d":abort,"b":___assert_fail,"sc":___lock,"D":___setErrNo,"gb":___syscall140,"Xa":___syscall145,"q":___syscall221,"Ca":___syscall5,"ra":___syscall54,"C":___syscall6,"B":___unlock,"be":___wasi_fd_write,"A":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"yd":_emscripten_get_element_css_size,"nd":_emscripten_get_gamepad_status,"cd":_emscripten_get_heap_size,"Tc":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"zc":_emscripten_glActiveTexture,"rc":_emscripten_glAttachShader,"lc":_emscripten_glBeginQueryEXT,"hc":_emscripten_glBindAttribLocation,"cc":_emscripten_glBindBuffer,"Xb":_emscripten_glBindFramebuffer,"Tb":_emscripten_glBindRenderbuffer,"Lb":_emscripten_glBindTexture,"Ab":_emscripten_glBindVertexArrayOES,"tb":_emscripten_glBlendColor,"rb":_emscripten_glBlendEquation,"qb":_emscripten_glBlendEquationSeparate,"pb":_emscripten_glBlendFunc,"ob":_emscripten_glBlendFuncSeparate,"nb":_emscripten_glBufferData,"mb":_emscripten_glBufferSubData,"lb":_emscripten_glCheckFramebufferStatus,"kb":_emscripten_glClear,"jb":_emscripten_glClearColor,"ib":_emscripten_glClearDepthf,"hb":_emscripten_glClearStencil,"fb":_emscripten_glColorMask,"eb":_emscripten_glCompileShader,"db":_emscripten_glCompressedTexImage2D,"cb":_emscripten_glCompressedTexSubImage2D,"bb":_emscripten_glCopyTexImage2D,"ab":_emscripten_glCopyTexSubImage2D,"$a":_emscripten_glCreateProgram,"_a":_emscripten_glCreateShader,"Za":_emscripten_glCullFace,"Ya":_emscripten_glDeleteBuffers,"Wa":_emscripten_glDeleteFramebuffers,"Va":_emscripten_glDeleteProgram,"Ua":_emscripten_glDeleteQueriesEXT,"Ta":_emscripten_glDeleteRenderbuffers,"Sa":_emscripten_glDeleteShader,"Ra":_emscripten_glDeleteTextures,"Qa":_emscripten_glDeleteVertexArraysOES,"Pa":_emscripten_glDepthFunc,"Oa":_emscripten_glDepthMask,"Na":_emscripten_glDepthRangef,"Ma":_emscripten_glDetachShader,"La":_emscripten_glDisable,"Ka":_emscripten_glDisableVertexAttribArray,"Ja":_emscripten_glDrawArrays,"Ia":_emscripten_glDrawArraysInstancedANGLE,"Ha":_emscripten_glDrawBuffersWEBGL,"Ga":_emscripten_glDrawElements,"Fa":_emscripten_glDrawElementsInstancedANGLE,"Ea":_emscripten_glEnable,"Da":_emscripten_glEnableVertexAttribArray,"Ba":_emscripten_glEndQueryEXT,"Aa":_emscripten_glFinish,"za":_emscripten_glFlush,"ya":_emscripten_glFramebufferRenderbuffer,"xa":_emscripten_glFramebufferTexture2D,"wa":_emscripten_glFrontFace,"va":_emscripten_glGenBuffers,"ua":_emscripten_glGenFramebuffers,"ta":_emscripten_glGenQueriesEXT,"sa":_emscripten_glGenRenderbuffers,"qa":_emscripten_glGenTextures,"pa":_emscripten_glGenVertexArraysOES,"oa":_emscripten_glGenerateMipmap,"na":_emscripten_glGetActiveAttrib,"ma":_emscripten_glGetActiveUniform,"la":_emscripten_glGetAttachedShaders,"ka":_emscripten_glGetAttribLocation,"ja":_emscripten_glGetBooleanv,"ia":_emscripten_glGetBufferParameteriv,"ha":_emscripten_glGetError,"ga":_emscripten_glGetFloatv,"fa":_emscripten_glGetFramebufferAttachmentParameteriv,"ea":_emscripten_glGetIntegerv,"da":_emscripten_glGetProgramInfoLog,"ca":_emscripten_glGetProgramiv,"ba":_emscripten_glGetQueryObjecti64vEXT,"aa":_emscripten_glGetQueryObjectivEXT,"$":_emscripten_glGetQueryObjectui64vEXT,"_":_emscripten_glGetQueryObjectuivEXT,"Z":_emscripten_glGetQueryivEXT,"le":_emscripten_glGetRenderbufferParameteriv,"ke":_emscripten_glGetShaderInfoLog,"je":_emscripten_glGetShaderPrecisionFormat,"ie":_emscripten_glGetShaderSource,"he":_emscripten_glGetShaderiv,"ge":_emscripten_glGetString,"fe":_emscripten_glGetTexParameterfv,"ee":_emscripten_glGetTexParameteriv,"de":_emscripten_glGetUniformLocation,"ce":_emscripten_glGetUniformfv,"ae":_emscripten_glGetUniformiv,"$d":_emscripten_glGetVertexAttribPointerv,"_d":_emscripten_glGetVertexAttribfv,"Zd":_emscripten_glGetVertexAttribiv,"Yd":_emscripten_glHint,"Xd":_emscripten_glIsBuffer,"Wd":_emscripten_glIsEnabled,"Vd":_emscripten_glIsFramebuffer,"Ud":_emscripten_glIsProgram,"Td":_emscripten_glIsQueryEXT,"Sd":_emscripten_glIsRenderbuffer,"Rd":_emscripten_glIsShader,"Qd":_emscripten_glIsTexture,"Pd":_emscripten_glIsVertexArrayOES,"Od":_emscripten_glLineWidth,"Nd":_emscripten_glLinkProgram,"Md":_emscripten_glPixelStorei,"Ld":_emscripten_glPolygonOffset,"Kd":_emscripten_glQueryCounterEXT,"Jd":_emscripten_glReadPixels,"Id":_emscripten_glReleaseShaderCompiler,"Hd":_emscripten_glRenderbufferStorage,"Gd":_emscripten_glSampleCoverage,"Fd":_emscripten_glScissor,"Ed":_emscripten_glShaderBinary,"Dd":_emscripten_glShaderSource,"Cd":_emscripten_glStencilFunc,"Bd":_emscripten_glStencilFuncSeparate,"Ad":_emscripten_glStencilMask,"zd":_emscripten_glStencilMaskSeparate,"xd":_emscripten_glStencilOp,"wd":_emscripten_glStencilOpSeparate,"vd":_emscripten_glTexImage2D,"ud":_emscripten_glTexParameterf,"td":_emscripten_glTexParameterfv,"sd":_emscripten_glTexParameteri,"rd":_emscripten_glTexParameteriv,"qd":_emscripten_glTexSubImage2D,"pd":_emscripten_glUniform1f,"od":_emscripten_glUniform1fv,"md":_emscripten_glUniform1i,"ld":_emscripten_glUniform1iv,"kd":_emscripten_glUniform2f,"jd":_emscripten_glUniform2fv,"id":_emscripten_glUniform2i,"hd":_emscripten_glUniform2iv,"gd":_emscripten_glUniform3f,"fd":_emscripten_glUniform3fv,"ed":_emscripten_glUniform3i,"dd":_emscripten_glUniform3iv,"bd":_emscripten_glUniform4f,"ad":_emscripten_glUniform4fv,"$c":_emscripten_glUniform4i,"_c":_emscripten_glUniform4iv,"Zc":_emscripten_glUniformMatrix2fv,"Yc":_emscripten_glUniformMatrix3fv,"Xc":_emscripten_glUniformMatrix4fv,"Wc":_emscripten_glUseProgram,"Vc":_emscripten_glValidateProgram,"Uc":_emscripten_glVertexAttrib1f,"Sc":_emscripten_glVertexAttrib1fv,"Rc":_emscripten_glVertexAttrib2f,"Qc":_emscripten_glVertexAttrib2fv,"Pc":_emscripten_glVertexAttrib3f,"Oc":_emscripten_glVertexAttrib3fv,"Nc":_emscripten_glVertexAttrib4f,"Mc":_emscripten_glVertexAttrib4fv,"Lc":_emscripten_glVertexAttribDivisorANGLE,"Kc":_emscripten_glVertexAttribPointer,"Jc":_emscripten_glViewport,"Ic":_emscripten_memcpy_big,"Hc":_emscripten_request_pointerlock,"Gc":_emscripten_resize_heap,"W":_emscripten_run_script,"Fc":_emscripten_sample_gamepad_data,"Ec":_emscripten_set_click_callback_on_thread,"Dc":_emscripten_set_fullscreenchange_callback_on_thread,"Cc":_emscripten_set_gamepadconnected_callback_on_thread,"Bc":_emscripten_set_gamepaddisconnected_callback_on_thread,"Ac":_emscripten_set_keypress_callback_on_thread,"yc":_emscripten_set_main_loop,"xc":_emscripten_set_touchcancel_callback_on_thread,"wc":_emscripten_set_touchend_callback_on_thread,"vc":_emscripten_set_touchmove_callback_on_thread,"uc":_emscripten_set_touchstart_callback_on_thread,"tc":_exit,"z":_glActiveTexture,"V":_glAttachShader,"n":_glBindAttribLocation,"c":_glBindBuffer,"k":_glBindTexture,"qc":_glBlendFunc,"i":_glBufferData,"y":_glBufferSubData,"U":_glClear,"T":_glClearColor,"pc":_glClearDepthf,"oc":_glCompileShader,"nc":_glCompressedTexImage2D,"mc":_glCreateProgram,"kc":_glCreateShader,"jc":_glCullFace,"p":_glDeleteBuffers,"S":_glDeleteProgram,"R":_glDeleteShader,"Q":_glDeleteTextures,"ic":_glDepthFunc,"P":_glDetachShader,"O":_glDisable,"j":_glDisableVertexAttribArray,"N":_glDrawArrays,"M":_glDrawElements,"x":_glEnable,"f":_glEnableVertexAttribArray,"gc":_glFrontFace,"h":_glGenBuffers,"fc":_glGenTextures,"w":_glGetAttribLocation,"ec":_glGetFloatv,"dc":_glGetProgramInfoLog,"L":_glGetProgramiv,"bc":_glGetShaderInfoLog,"K":_glGetShaderiv,"o":_glGetString,"v":_glGetUniformLocation,"ac":_glLinkProgram,"$b":_glPixelStorei,"_b":_glReadPixels,"Zb":_glShaderSource,"Yb":_glTexImage2D,"m":_glTexParameteri,"J":_glUniform1i,"u":_glUniform4f,"t":_glUniformMatrix4fv,"l":_glUseProgram,"Wb":_glVertexAttrib2f,"Vb":_glVertexAttrib3f,"s":_glVertexAttrib4f,"e":_glVertexAttribPointer,"Ub":_glViewport,"I":_glfwCreateWindow,"Sb":_glfwDefaultWindowHints,"Rb":_glfwDestroyWindow,"Qb":_glfwGetCursorPos,"Pb":_glfwGetKey,"Ob":_glfwGetMouseButton,"H":_glfwGetPrimaryMonitor,"r":_glfwGetTime,"Nb":_glfwGetVideoModes,"Mb":_glfwInit,"Kb":_glfwMakeContextCurrent,"Jb":_glfwSetCharCallback,"Ib":_glfwSetCursorEnterCallback,"Hb":_glfwSetCursorPosCallback,"Gb":_glfwSetDropCallback,"Fb":_glfwSetErrorCallback,"Eb":_glfwSetKeyCallback,"Db":_glfwSetMouseButtonCallback,"Cb":_glfwSetScrollCallback,"Bb":_glfwSetWindowIconifyCallback,"zb":_glfwSetWindowShouldClose,"yb":_glfwSetWindowSizeCallback,"xb":_glfwSwapBuffers,"wb":_glfwSwapInterval,"G":_glfwTerminate,"g":_glfwWindowHint,"F":_llvm_stackrestore,"E":_llvm_stacksave,"vb":_nanosleep,"ub":_time,"sb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["re"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["se"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["Be"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["Ce"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["De"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["ve"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["we"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["ze"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["Ae"].apply(null,arguments)};Module["asm"]=asm;Module["getMemory"]=getMemory;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["calledRun"]=calledRun;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_cubicmap.data";var REMOTE_PACKAGE_BASE="models_cubicmap.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_cubicmap.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["be"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["ce"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"d":___assert_fail,"Q":___sys_fcntl64,"Zd":___sys_ioctl,"_d":___sys_open,"w":_eglGetProcAddress,"aa":_emscripten_exit_pointerlock,"Z":_emscripten_get_element_css_size,"U":_emscripten_get_gamepad_status,"V":_emscripten_get_num_gamepads,"$":_emscripten_get_pointerlock_status,"Bd":_emscripten_glActiveTexture,"Ad":_emscripten_glAttachShader,"Rd":_emscripten_glBeginQueryEXT,"zd":_emscripten_glBindAttribLocation,"yd":_emscripten_glBindBuffer,"xd":_emscripten_glBindFramebuffer,"wd":_emscripten_glBindRenderbuffer,"vd":_emscripten_glBindTexture,"Jd":_emscripten_glBindVertexArrayOES,"ud":_emscripten_glBlendColor,"td":_emscripten_glBlendEquation,"sd":_emscripten_glBlendEquationSeparate,"rd":_emscripten_glBlendFunc,"qd":_emscripten_glBlendFuncSeparate,"pd":_emscripten_glBufferData,"od":_emscripten_glBufferSubData,"nd":_emscripten_glCheckFramebufferStatus,"md":_emscripten_glClear,"ld":_emscripten_glClearColor,"kd":_emscripten_glClearDepthf,"jd":_emscripten_glClearStencil,"id":_emscripten_glColorMask,"hd":_emscripten_glCompileShader,"gd":_emscripten_glCompressedTexImage2D,"fd":_emscripten_glCompressedTexSubImage2D,"ed":_emscripten_glCopyTexImage2D,"dd":_emscripten_glCopyTexSubImage2D,"cd":_emscripten_glCreateProgram,"bd":_emscripten_glCreateShader,"ad":_emscripten_glCullFace,"$c":_emscripten_glDeleteBuffers,"_c":_emscripten_glDeleteFramebuffers,"Zc":_emscripten_glDeleteProgram,"Td":_emscripten_glDeleteQueriesEXT,"Yc":_emscripten_glDeleteRenderbuffers,"Xc":_emscripten_glDeleteShader,"Wc":_emscripten_glDeleteTextures,"Id":_emscripten_glDeleteVertexArraysOES,"Vc":_emscripten_glDepthFunc,"Uc":_emscripten_glDepthMask,"Tc":_emscripten_glDepthRangef,"Sc":_emscripten_glDetachShader,"Rc":_emscripten_glDisable,"Qc":_emscripten_glDisableVertexAttribArray,"Pc":_emscripten_glDrawArrays,"Ed":_emscripten_glDrawArraysInstancedANGLE,"Fd":_emscripten_glDrawBuffersWEBGL,"Oc":_emscripten_glDrawElements,"Dd":_emscripten_glDrawElementsInstancedANGLE,"Mc":_emscripten_glEnable,"Lc":_emscripten_glEnableVertexAttribArray,"Qd":_emscripten_glEndQueryEXT,"Kc":_emscripten_glFinish,"Jc":_emscripten_glFlush,"Ic":_emscripten_glFramebufferRenderbuffer,"Hc":_emscripten_glFramebufferTexture2D,"Gc":_emscripten_glFrontFace,"Fc":_emscripten_glGenBuffers,"Dc":_emscripten_glGenFramebuffers,"Ud":_emscripten_glGenQueriesEXT,"Cc":_emscripten_glGenRenderbuffers,"Bc":_emscripten_glGenTextures,"Hd":_emscripten_glGenVertexArraysOES,"Ec":_emscripten_glGenerateMipmap,"Ac":_emscripten_glGetActiveAttrib,"zc":_emscripten_glGetActiveUniform,"yc":_emscripten_glGetAttachedShaders,"xc":_emscripten_glGetAttribLocation,"wc":_emscripten_glGetBooleanv,"vc":_emscripten_glGetBufferParameteriv,"uc":_emscripten_glGetError,"tc":_emscripten_glGetFloatv,"sc":_emscripten_glGetFramebufferAttachmentParameteriv,"rc":_emscripten_glGetIntegerv,"pc":_emscripten_glGetProgramInfoLog,"qc":_emscripten_glGetProgramiv,"Ld":_emscripten_glGetQueryObjecti64vEXT,"Nd":_emscripten_glGetQueryObjectivEXT,"Kd":_emscripten_glGetQueryObjectui64vEXT,"Md":_emscripten_glGetQueryObjectuivEXT,"Od":_emscripten_glGetQueryivEXT,"oc":_emscripten_glGetRenderbufferParameteriv,"mc":_emscripten_glGetShaderInfoLog,"lc":_emscripten_glGetShaderPrecisionFormat,"kc":_emscripten_glGetShaderSource,"nc":_emscripten_glGetShaderiv,"jc":_emscripten_glGetString,"ic":_emscripten_glGetTexParameterfv,"hc":_emscripten_glGetTexParameteriv,"ec":_emscripten_glGetUniformLocation,"gc":_emscripten_glGetUniformfv,"fc":_emscripten_glGetUniformiv,"bc":_emscripten_glGetVertexAttribPointerv,"dc":_emscripten_glGetVertexAttribfv,"cc":_emscripten_glGetVertexAttribiv,"ac":_emscripten_glHint,"$b":_emscripten_glIsBuffer,"_b":_emscripten_glIsEnabled,"Zb":_emscripten_glIsFramebuffer,"Yb":_emscripten_glIsProgram,"Sd":_emscripten_glIsQueryEXT,"Xb":_emscripten_glIsRenderbuffer,"Wb":_emscripten_glIsShader,"Vb":_emscripten_glIsTexture,"Gd":_emscripten_glIsVertexArrayOES,"Ub":_emscripten_glLineWidth,"Tb":_emscripten_glLinkProgram,"Sb":_emscripten_glPixelStorei,"Rb":_emscripten_glPolygonOffset,"Pd":_emscripten_glQueryCounterEXT,"Pb":_emscripten_glReadPixels,"Ob":_emscripten_glReleaseShaderCompiler,"Nb":_emscripten_glRenderbufferStorage,"Mb":_emscripten_glSampleCoverage,"Lb":_emscripten_glScissor,"Kb":_emscripten_glShaderBinary,"Jb":_emscripten_glShaderSource,"Ib":_emscripten_glStencilFunc,"Hb":_emscripten_glStencilFuncSeparate,"Gb":_emscripten_glStencilMask,"Eb":_emscripten_glStencilMaskSeparate,"Db":_emscripten_glStencilOp,"Cb":_emscripten_glStencilOpSeparate,"Bb":_emscripten_glTexImage2D,"Ab":_emscripten_glTexParameterf,"zb":_emscripten_glTexParameterfv,"yb":_emscripten_glTexParameteri,"xb":_emscripten_glTexParameteriv,"wb":_emscripten_glTexSubImage2D,"vb":_emscripten_glUniform1f,"tb":_emscripten_glUniform1fv,"sb":_emscripten_glUniform1i,"rb":_emscripten_glUniform1iv,"qb":_emscripten_glUniform2f,"pb":_emscripten_glUniform2fv,"ob":_emscripten_glUniform2i,"nb":_emscripten_glUniform2iv,"mb":_emscripten_glUniform3f,"lb":_emscripten_glUniform3fv,"kb":_emscripten_glUniform3i,"ib":_emscripten_glUniform3iv,"hb":_emscripten_glUniform4f,"gb":_emscripten_glUniform4fv,"fb":_emscripten_glUniform4i,"eb":_emscripten_glUniform4iv,"db":_emscripten_glUniformMatrix2fv,"cb":_emscripten_glUniformMatrix3fv,"bb":_emscripten_glUniformMatrix4fv,"ab":_emscripten_glUseProgram,"$a":_emscripten_glValidateProgram,"Za":_emscripten_glVertexAttrib1f,"Ya":_emscripten_glVertexAttrib1fv,"Xa":_emscripten_glVertexAttrib2f,"Wa":_emscripten_glVertexAttrib2fv,"Va":_emscripten_glVertexAttrib3f,"Ua":_emscripten_glVertexAttrib3fv,"Ta":_emscripten_glVertexAttrib4f,"Sa":_emscripten_glVertexAttrib4fv,"Cd":_emscripten_glVertexAttribDivisorANGLE,"Ra":_emscripten_glVertexAttribPointer,"Qa":_emscripten_glViewport,"Vd":_emscripten_memcpy_big,"_":_emscripten_request_pointerlock,"Wd":_emscripten_resize_heap,"y":_emscripten_run_script,"W":_emscripten_sample_gamepad_data,"ya":_emscripten_set_click_callback_on_thread,"Aa":_emscripten_set_fullscreenchange_callback_on_thread,"ta":_emscripten_set_gamepadconnected_callback_on_thread,"sa":_emscripten_set_gamepaddisconnected_callback_on_thread,"za":_emscripten_set_keydown_callback_on_thread,"ae":_emscripten_set_main_loop,"ua":_emscripten_set_touchcancel_callback_on_thread,"wa":_emscripten_set_touchend_callback_on_thread,"va":_emscripten_set_touchmove_callback_on_thread,"xa":_emscripten_set_touchstart_callback_on_thread,"Xd":_emscripten_thread_sleep,"S":_exit,"R":_fd_close,"Yd":_fd_read,"Oa":_fd_seek,"P":_fd_write,"p":_glActiveTexture,"D":_glAttachShader,"k":_glBindAttribLocation,"a":_glBindBuffer,"j":_glBindTexture,"Fb":_glBlendFunc,"e":_glBufferData,"v":_glBufferSubData,"K":_glClear,"L":_glClearColor,"_a":_glClearDepthf,"Fa":_glCompileShader,"La":_glCompressedTexImage2D,"Da":_glCreateProgram,"Ha":_glCreateShader,"ub":_glCullFace,"m":_glDeleteBuffers,"G":_glDeleteProgram,"H":_glDeleteShader,"J":_glDeleteTextures,"Qb":_glDepthFunc,"I":_glDetachShader,"M":_glDisable,"h":_glDisableVertexAttribArray,"O":_glDrawArrays,"N":_glDrawElements,"x":_glEnable,"b":_glEnableVertexAttribArray,"jb":_glFrontFace,"f":_glGenBuffers,"Na":_glGenTextures,"u":_glGetAttribLocation,"Nc":_glGetFloatv,"Ba":_glGetProgramInfoLog,"F":_glGetProgramiv,"Ea":_glGetShaderInfoLog,"E":_glGetShaderiv,"n":_glGetString,"t":_glGetUniformLocation,"Ca":_glLinkProgram,"Pa":_glPixelStorei,"Ia":_glReadPixels,"Ga":_glShaderSource,"Ma":_glTexImage2D,"o":_glTexParameteri,"z":_glUniform1i,"q":_glUniform4f,"r":_glUniformMatrix4fv,"l":_glUseProgram,"Ja":_glVertexAttrib2f,"Ka":_glVertexAttrib3f,"s":_glVertexAttrib4f,"c":_glVertexAttribPointer,"$d":_glViewport,"B":_glfwCreateWindow,"pa":_glfwDefaultWindowHints,"Y":_glfwDestroyWindow,"C":_glfwGetPrimaryMonitor,"i":_glfwGetTime,"oa":_glfwGetVideoModes,"qa":_glfwInit,"da":_glfwMakeContextCurrent,"ia":_glfwSetCharCallback,"ea":_glfwSetCursorEnterCallback,"ga":_glfwSetCursorPosCallback,"ka":_glfwSetDropCallback,"ra":_glfwSetErrorCallback,"ja":_glfwSetKeyCallback,"ha":_glfwSetMouseButtonCallback,"fa":_glfwSetScrollCallback,"la":_glfwSetWindowFocusCallback,"ma":_glfwSetWindowIconifyCallback,"T":_glfwSetWindowShouldClose,"na":_glfwSetWindowSizeCallback,"X":_glfwSwapBuffers,"ca":_glfwSwapInterval,"A":_glfwTerminate,"g":_glfwWindowHint,"ba":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["de"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["ee"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["fe"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["ge"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["he"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["ie"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["je"]).apply(null,arguments)};Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_cubicmap.wasm b/examples/web/models/models_cubicmap.wasm index 291ff44..5e677ea 100644 Binary files a/examples/web/models/models_cubicmap.wasm and b/examples/web/models/models_cubicmap.wasm differ diff --git a/examples/web/models/models_first_person_maze.c b/examples/web/models/models_first_person_maze.c index 54a26e1..3f7f5b2 100644 --- a/examples/web/models/models_first_person_maze.c +++ b/examples/web/models/models_first_person_maze.c @@ -71,7 +71,7 @@ int main(void) SetCameraMode(camera, CAMERA_FIRST_PERSON); // Set camera mode #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_first_person_maze.data b/examples/web/models/models_first_person_maze.data index c7df666..97220c0 100644 Binary files a/examples/web/models/models_first_person_maze.data and b/examples/web/models/models_first_person_maze.data differ diff --git a/examples/web/models/models_first_person_maze.html b/examples/web/models/models_first_person_maze.html index 6f240fd..95efb53 100644 --- a/examples/web/models/models_first_person_maze.html +++ b/examples/web/models/models_first_person_maze.html @@ -1,329 +1 @@ - - - - - - - raylib HTML5 GAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - - - - - +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_first_person_maze.js b/examples/web/models/models_first_person_maze.js index b1f07e3..96b92ca 100644 --- a/examples/web/models/models_first_person_maze.js +++ b/examples/web/models/models_first_person_maze.js @@ -1,9272 +1 @@ - - -// The Module object: Our interface to the outside world. We import -// and export values on it. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(Module) { ..generated code.. } -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module !== 'undefined' ? Module : {}; - - - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - - if (!Module.expectedDataFileDownloads) { - Module.expectedDataFileDownloads = 0; - } - Module.expectedDataFileDownloads++; - (function() { - var loadPackage = function(metadata) { - - var PACKAGE_PATH; - if (typeof window === 'object') { - PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); - } else if (typeof location !== 'undefined') { - // worker - PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); - } else { - throw 'using preloaded data can only be done on a web page or in a web worker'; - } - var PACKAGE_NAME = 'models/models_first_person_maze.data'; - var REMOTE_PACKAGE_BASE = 'models_first_person_maze.data'; - if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { - Module['locateFile'] = Module['locateFilePackage']; - err('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); - } - var REMOTE_PACKAGE_NAME = Module['locateFile'] ? Module['locateFile'](REMOTE_PACKAGE_BASE, '') : REMOTE_PACKAGE_BASE; - - var REMOTE_PACKAGE_SIZE = metadata['remote_package_size']; - var PACKAGE_UUID = metadata['package_uuid']; - - function fetchRemotePackage(packageName, packageSize, callback, errback) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', packageName, true); - xhr.responseType = 'arraybuffer'; - xhr.onprogress = function(event) { - var url = packageName; - var size = packageSize; - if (event.total) size = event.total; - if (event.loaded) { - if (!xhr.addedTotal) { - xhr.addedTotal = true; - if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; - Module.dataFileDownloads[url] = { - loaded: event.loaded, - total: size - }; - } else { - Module.dataFileDownloads[url].loaded = event.loaded; - } - var total = 0; - var loaded = 0; - var num = 0; - for (var download in Module.dataFileDownloads) { - var data = Module.dataFileDownloads[download]; - total += data.total; - loaded += data.loaded; - num++; - } - total = Math.ceil(total * Module.expectedDataFileDownloads/num); - if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); - } else if (!Module.dataFileDownloads) { - if (Module['setStatus']) Module['setStatus']('Downloading data...'); - } - }; - xhr.onerror = function(event) { - throw new Error("NetworkError for: " + packageName); - } - xhr.onload = function(event) { - if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - var packageData = xhr.response; - callback(packageData); - } else { - throw new Error(xhr.statusText + " : " + xhr.responseURL); - } - }; - xhr.send(null); - }; - - function handleError(error) { - console.error('package error:', error); - }; - - var fetchedCallback = null; - var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; - - if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { - if (fetchedCallback) { - fetchedCallback(data); - fetchedCallback = null; - } else { - fetched = data; - } - }, handleError); - - function runWithFS() { - - function assert(check, msg) { - if (!check) throw msg + new Error().stack; - } - Module['FS_createPath']('/', 'resources', true, true); - - /** @constructor */ - function DataRequest(start, end, audio) { - this.start = start; - this.end = end; - this.audio = audio; - } - DataRequest.prototype = { - requests: {}, - open: function(mode, name) { - this.name = name; - this.requests[name] = this; - Module['addRunDependency']('fp ' + this.name); - }, - send: function() {}, - onload: function() { - var byteArray = this.byteArray.subarray(this.start, this.end); - this.finish(byteArray); - }, - finish: function(byteArray) { - var that = this; - - Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change - Module['removeRunDependency']('fp ' + that.name); - - this.requests[this.name] = null; - } - }; - - var files = metadata['files']; - for (var i = 0; i < files.length; ++i) { - new DataRequest(files[i]['start'], files[i]['end'], files[i]['audio']).open('GET', files[i]['filename']); - } - - - function processPackageData(arrayBuffer) { - assert(arrayBuffer, 'Loading data file failed.'); - assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); - var byteArray = new Uint8Array(arrayBuffer); - var curr; - - // Reuse the bytearray from the XHR as the source for file reads. - DataRequest.prototype.byteArray = byteArray; - - var files = metadata['files']; - for (var i = 0; i < files.length; ++i) { - DataRequest.prototype.requests[files[i].filename].onload(); - } - Module['removeRunDependency']('datafile_models/models_first_person_maze.data'); - - }; - Module['addRunDependency']('datafile_models/models_first_person_maze.data'); - - if (!Module.preloadResults) Module.preloadResults = {}; - - Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; - if (fetched) { - processPackageData(fetched); - fetched = null; - } else { - fetchedCallback = processPackageData; - } - - } - if (Module['calledRun']) { - runWithFS(); - } else { - if (!Module['preRun']) Module['preRun'] = []; - Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it - } - - } - loadPackage({"files": [{"filename": "/resources/cubicmap.png", "start": 0, "end": 201, "audio": 0}, {"filename": "/resources/cubicmap_atlas.png", "start": 201, "end": 37426, "audio": 0}], "remote_package_size": 37426, "package_uuid": "09c5c8aa-87db-4ccc-ae8b-973854d522f0"}); - - })(); - - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {}; -var key; -for (key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key]; - } -} - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = function(status, toThrow) { - throw toThrow; -}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -var ENVIRONMENT_IS_WEB = false; -var ENVIRONMENT_IS_WORKER = false; -var ENVIRONMENT_IS_NODE = false; -var ENVIRONMENT_IS_SHELL = false; -ENVIRONMENT_IS_WEB = typeof window === 'object'; -ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string'; -ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - - - - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var read_, - readAsync, - readBinary, - setWindowTitle; - -var nodeFS; -var nodePath; - -if (ENVIRONMENT_IS_NODE) { - if (ENVIRONMENT_IS_WORKER) { - scriptDirectory = require('path').dirname(scriptDirectory) + '/'; - } else { - scriptDirectory = __dirname + '/'; - } - - - - -read_ = function shell_read(filename, binary) { - if (!nodeFS) nodeFS = require('fs'); - if (!nodePath) nodePath = require('path'); - filename = nodePath['normalize'](filename); - return nodeFS['readFileSync'](filename, binary ? null : 'utf8'); -}; - -readBinary = function readBinary(filename) { - var ret = read_(filename, true); - if (!ret.buffer) { - ret = new Uint8Array(ret); - } - assert(ret.buffer); - return ret; -}; - - - - if (process['argv'].length > 1) { - thisProgram = process['argv'][1].replace(/\\/g, '/'); - } - - arguments_ = process['argv'].slice(2); - - if (typeof module !== 'undefined') { - module['exports'] = Module; - } - - process['on']('uncaughtException', function(ex) { - // suppress ExitStatus exceptions from showing an error - if (!(ex instanceof ExitStatus)) { - throw ex; - } - }); - - process['on']('unhandledRejection', abort); - - quit_ = function(status) { - process['exit'](status); - }; - - Module['inspect'] = function () { return '[Emscripten Module object]'; }; - - - -} else -if (ENVIRONMENT_IS_SHELL) { - - - if (typeof read != 'undefined') { - read_ = function shell_read(f) { - return read(f); - }; - } - - readBinary = function readBinary(f) { - var data; - if (typeof readbuffer === 'function') { - return new Uint8Array(readbuffer(f)); - } - data = read(f, 'binary'); - assert(typeof data === 'object'); - return data; - }; - - if (typeof scriptArgs != 'undefined') { - arguments_ = scriptArgs; - } else if (typeof arguments != 'undefined') { - arguments_ = arguments; - } - - if (typeof quit === 'function') { - quit_ = function(status) { - quit(status); - }; - } - - if (typeof print !== 'undefined') { - // Prefer to use print/printErr where they exist, as they usually work better. - if (typeof console === 'undefined') console = /** @type{!Console} */({}); - console.log = /** @type{!function(this:Console, ...*): undefined} */ (print); - console.warn = console.error = /** @type{!function(this:Console, ...*): undefined} */ (typeof printErr !== 'undefined' ? printErr : print); - } - - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - if (scriptDirectory.indexOf('blob:') !== 0) { - scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf('/')+1); - } else { - scriptDirectory = ''; - } - - - // Differentiate the Web Worker from the Node Worker case, as reading must - // be done differently. - { - - - - - read_ = function shell_read(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - }; - - if (ENVIRONMENT_IS_WORKER) { - readBinary = function readBinary(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = function readAsync(url, onload, onerror) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = function xhr_onload() { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - onload(xhr.response); - return; - } - onerror(); - }; - xhr.onerror = onerror; - xhr.send(null); - }; - - - - - } - - setWindowTitle = function(title) { document.title = title }; -} else -{ -} - - -// Set up the out() and err() hooks, which are how we can print to stdout or -// stderr, respectively. -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.warn.bind(console); - -// Merge back in the overrides -for (key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key]; - } -} -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. -moduleOverrides = null; - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. -if (Module['arguments']) arguments_ = Module['arguments']; -if (Module['thisProgram']) thisProgram = Module['thisProgram']; -if (Module['quit']) quit_ = Module['quit']; - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message - - - - - -// {{PREAMBLE_ADDITIONS}} - -var STACK_ALIGN = 16; - -function alignMemory(size, factor) { - if (!factor) factor = STACK_ALIGN; // stack alignment (16-byte) by default - return Math.ceil(size / factor) * factor; -} - -function getNativeTypeSize(type) { - switch (type) { - case 'i1': case 'i8': return 1; - case 'i16': return 2; - case 'i32': return 4; - case 'i64': return 8; - case 'float': return 4; - case 'double': return 8; - default: { - if (type[type.length-1] === '*') { - return 4; // A pointer - } else if (type[0] === 'i') { - var bits = Number(type.substr(1)); - assert(bits % 8 === 0, 'getNativeTypeSize invalid bits ' + bits + ', type ' + type); - return bits / 8; - } else { - return 0; - } - } - } -} - -function warnOnce(text) { - if (!warnOnce.shown) warnOnce.shown = {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - err(text); - } -} - - - - - -// Wraps a JS function as a wasm function with a given signature. -function convertJsFunctionToWasm(func, sig) { - - // If the type reflection proposal is available, use the new - // "WebAssembly.Function" constructor. - // Otherwise, construct a minimal wasm module importing the JS function and - // re-exporting it. - if (typeof WebAssembly.Function === "function") { - var typeNames = { - 'i': 'i32', - 'j': 'i64', - 'f': 'f32', - 'd': 'f64' - }; - var type = { - parameters: [], - results: sig[0] == 'v' ? [] : [typeNames[sig[0]]] - }; - for (var i = 1; i < sig.length; ++i) { - type.parameters.push(typeNames[sig[i]]); - } - return new WebAssembly.Function(type, func); - } - - // The module is static, with the exception of the type section, which is - // generated based on the signature passed in. - var typeSection = [ - 0x01, // id: section, - 0x00, // length: 0 (placeholder) - 0x01, // count: 1 - 0x60, // form: func - ]; - var sigRet = sig.slice(0, 1); - var sigParam = sig.slice(1); - var typeCodes = { - 'i': 0x7f, // i32 - 'j': 0x7e, // i64 - 'f': 0x7d, // f32 - 'd': 0x7c, // f64 - }; - - // Parameters, length + signatures - typeSection.push(sigParam.length); - for (var i = 0; i < sigParam.length; ++i) { - typeSection.push(typeCodes[sigParam[i]]); - } - - // Return values, length + signatures - // With no multi-return in MVP, either 0 (void) or 1 (anything else) - if (sigRet == 'v') { - typeSection.push(0x00); - } else { - typeSection = typeSection.concat([0x01, typeCodes[sigRet]]); - } - - // Write the overall length of the type section back into the section header - // (excepting the 2 bytes for the section id and length) - typeSection[1] = typeSection.length - 2; - - // Rest of the module is static - var bytes = new Uint8Array([ - 0x00, 0x61, 0x73, 0x6d, // magic ("\0asm") - 0x01, 0x00, 0x00, 0x00, // version: 1 - ].concat(typeSection, [ - 0x02, 0x07, // import section - // (import "e" "f" (func 0 (type 0))) - 0x01, 0x01, 0x65, 0x01, 0x66, 0x00, 0x00, - 0x07, 0x05, // export section - // (export "f" (func 0 (type 0))) - 0x01, 0x01, 0x66, 0x00, 0x00, - ])); - - // We can compile this wasm module synchronously because it is very small. - // This accepts an import (at "e.f"), that it reroutes to an export (at "f") - var module = new WebAssembly.Module(bytes); - var instance = new WebAssembly.Instance(module, { - 'e': { - 'f': func - } - }); - var wrappedFunc = instance.exports['f']; - return wrappedFunc; -} - -var freeTableIndexes = []; - -// Weak map of functions in the table to their indexes, created on first use. -var functionsInTableMap; - -// Add a wasm function to the table. -function addFunctionWasm(func, sig) { - var table = wasmTable; - - // Check if the function is already in the table, to ensure each function - // gets a unique index. First, create the map if this is the first use. - if (!functionsInTableMap) { - functionsInTableMap = new WeakMap(); - for (var i = 0; i < table.length; i++) { - var item = table.get(i); - // Ignore null values. - if (item) { - functionsInTableMap.set(item, i); - } - } - } - if (functionsInTableMap.has(func)) { - return functionsInTableMap.get(func); - } - - // It's not in the table, add it now. - - - var ret; - // Reuse a free index if there is one, otherwise grow. - if (freeTableIndexes.length) { - ret = freeTableIndexes.pop(); - } else { - ret = table.length; - // Grow the table - try { - table.grow(1); - } catch (err) { - if (!(err instanceof RangeError)) { - throw err; - } - throw 'Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.'; - } - } - - // Set the new value. - try { - // Attempting to call this with JS function will cause of table.set() to fail - table.set(ret, func); - } catch (err) { - if (!(err instanceof TypeError)) { - throw err; - } - var wrapped = convertJsFunctionToWasm(func, sig); - table.set(ret, wrapped); - } - - functionsInTableMap.set(func, ret); - - return ret; -} - -function removeFunctionWasm(index) { - functionsInTableMap.delete(wasmTable.get(index)); - freeTableIndexes.push(index); -} - -// 'sig' parameter is required for the llvm backend but only when func is not -// already a WebAssembly function. -function addFunction(func, sig) { - - return addFunctionWasm(func, sig); -} - -function removeFunction(index) { - removeFunctionWasm(index); -} - - - - - - - - - -function makeBigInt(low, high, unsigned) { - return unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0)); -} - -var tempRet0 = 0; - -var setTempRet0 = function(value) { - tempRet0 = value; -}; - -var getTempRet0 = function() { - return tempRet0; -}; - - -// The address globals begin at. Very low in memory, for code size and optimization opportunities. -// Above 0 is static memory, starting with globals. -// Then the stack. -// Then 'dynamic' memory for sbrk. -var GLOBAL_BASE = 1024; - - - - -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - - -var wasmBinary;if (Module['wasmBinary']) wasmBinary = Module['wasmBinary']; -var noExitRuntime;if (Module['noExitRuntime']) noExitRuntime = Module['noExitRuntime']; - - -if (typeof WebAssembly !== 'object') { - abort('no native wasm support detected'); -} - - - - -// In MINIMAL_RUNTIME, setValue() and getValue() are only available when building with safe heap enabled, for heap safety checking. -// In traditional runtime, setValue() and getValue() are always available (although their use is highly discouraged due to perf penalties) - -/** @param {number} ptr - @param {number} value - @param {string} type - @param {number|boolean=} noSafe */ -function setValue(ptr, value, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': HEAP8[((ptr)>>0)]=value; break; - case 'i8': HEAP8[((ptr)>>0)]=value; break; - case 'i16': HEAP16[((ptr)>>1)]=value; break; - case 'i32': HEAP32[((ptr)>>2)]=value; break; - case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; - case 'float': HEAPF32[((ptr)>>2)]=value; break; - case 'double': HEAPF64[((ptr)>>3)]=value; break; - default: abort('invalid type for setValue: ' + type); - } -} - -/** @param {number} ptr - @param {string} type - @param {number|boolean=} noSafe */ -function getValue(ptr, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': return HEAP8[((ptr)>>0)]; - case 'i8': return HEAP8[((ptr)>>0)]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP32[((ptr)>>2)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - default: abort('invalid type for getValue: ' + type); - } - return null; -} - - - - - - -// Wasm globals - -var wasmMemory; - -// In fastcomp asm.js, we don't need a wasm Table at all. -// In the wasm backend, we polyfill the WebAssembly object, -// so this creates a (non-native-wasm) table for us. - -var wasmTable = new WebAssembly.Table({ - 'initial': 196, - 'maximum': 196, - 'element': 'anyfunc' -}); - - - - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS = 0; - -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed: ' + text); - } -} - -// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) -function getCFunc(ident) { - var func = Module['_' + ident]; // closure exported function - assert(func, 'Cannot call unknown function ' + ident + ', make sure it is exported'); - return func; -} - -// C calling interface. -/** @param {string|null=} returnType - @param {Array=} argTypes - @param {Arguments|Array=} args - @param {Object=} opts */ -function ccall(ident, returnType, argTypes, args, opts) { - // For fast lookup of conversion functions - var toC = { - 'string': function(str) { - var ret = 0; - if (str !== null && str !== undefined && str !== 0) { // null string - // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' - var len = (str.length << 2) + 1; - ret = stackAlloc(len); - stringToUTF8(str, ret, len); - } - return ret; - }, - 'array': function(arr) { - var ret = stackAlloc(arr.length); - writeArrayToMemory(arr, ret); - return ret; - } - }; - - function convertReturnValue(ret) { - if (returnType === 'string') return UTF8ToString(ret); - if (returnType === 'boolean') return Boolean(ret); - return ret; - } - - var func = getCFunc(ident); - var cArgs = []; - var stack = 0; - if (args) { - for (var i = 0; i < args.length; i++) { - var converter = toC[argTypes[i]]; - if (converter) { - if (stack === 0) stack = stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - - ret = convertReturnValue(ret); - if (stack !== 0) stackRestore(stack); - return ret; -} - -/** @param {string=} returnType - @param {Array=} argTypes - @param {Object=} opts */ -function cwrap(ident, returnType, argTypes, opts) { - argTypes = argTypes || []; - // When the function takes numbers and returns a number, we can just return - // the original function - var numericArgs = argTypes.every(function(type){ return type === 'number'}); - var numericRet = returnType !== 'string'; - if (numericRet && numericArgs && !opts) { - return getCFunc(ident); - } - return function() { - return ccall(ident, returnType, argTypes, arguments, opts); - } -} - - -var ALLOC_NORMAL = 0; // Tries to use _malloc() -var ALLOC_STACK = 1; // Lives for the duration of the current function call -var ALLOC_NONE = 2; // Do not allocate - -// allocate(): This is for internal use. You can use it yourself as well, but the interface -// is a little tricky (see docs right below). The reason is that it is optimized -// for multiple syntaxes to save space in generated code. So you should -// normally not use allocate(), and instead allocate memory using _malloc(), -// initialize it with setValue(), and so forth. -// @slab: An array of data, or a number. If a number, then the size of the block to allocate, -// in *bytes* (note that this is sometimes confusing: the next parameter does not -// affect this!) -// @types: Either an array of types, one for each byte (or 0 if no type at that position), -// or a single type which is used for the entire block. This only matters if there -// is initial data - if @slab is a number, then this does not matter at all and is -// ignored. -// @allocator: How to allocate memory, see ALLOC_* -/** @type {function((TypedArray|Array|number), string, number, number=)} */ -function allocate(slab, types, allocator, ptr) { - var zeroinit, size; - if (typeof slab === 'number') { - zeroinit = true; - size = slab; - } else { - zeroinit = false; - size = slab.length; - } - - var singleType = typeof types === 'string' ? types : null; - - var ret; - if (allocator == ALLOC_NONE) { - ret = ptr; - } else { - ret = [_malloc, - stackAlloc, - ][allocator](Math.max(size, singleType ? 1 : types.length)); - } - - if (zeroinit) { - var stop; - ptr = ret; - assert((ret & 3) == 0); - stop = ret + (size & ~3); - for (; ptr < stop; ptr += 4) { - HEAP32[((ptr)>>2)]=0; - } - stop = ret + size; - while (ptr < stop) { - HEAP8[((ptr++)>>0)]=0; - } - return ret; - } - - if (singleType === 'i8') { - if (slab.subarray || slab.slice) { - HEAPU8.set(/** @type {!Uint8Array} */ (slab), ret); - } else { - HEAPU8.set(new Uint8Array(slab), ret); - } - return ret; - } - - var i = 0, type, typeSize, previousType; - while (i < size) { - var curr = slab[i]; - - type = singleType || types[i]; - if (type === 0) { - i++; - continue; - } - - if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later - - setValue(ret+i, curr, type); - - // no need to look up size unless type changes, so cache it - if (previousType !== type) { - typeSize = getNativeTypeSize(type); - previousType = type; - } - i += typeSize; - } - - return ret; -} - - - - -// runtime_strings.js: Strings related runtime functions that are part of both MINIMAL_RUNTIME and regular runtime. - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns -// a copy of that string as a Javascript String object. - -var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; - -/** - * @param {number} idx - * @param {number=} maxBytesToRead - * @return {string} - */ -function UTF8ArrayToString(heap, idx, maxBytesToRead) { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - // (As a tiny code save trick, compare endPtr against endIdx using a negation, so that undefined means Infinity) - while (heap[endPtr] && !(endPtr >= endIdx)) ++endPtr; - - if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) { - return UTF8Decoder.decode(heap.subarray(idx, endPtr)); - } else { - var str = ''; - // If building with TextDecoder, we have already computed the string length above, so test loop end condition against that - while (idx < endPtr) { - // For UTF8 byte structure, see: - // http://en.wikipedia.org/wiki/UTF-8#Description - // https://www.ietf.org/rfc/rfc2279.txt - // https://tools.ietf.org/html/rfc3629 - var u0 = heap[idx++]; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - var u1 = heap[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - var u2 = heap[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heap[idx++] & 63); - } - - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - } - return str; -} - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns a -// copy of that string as a Javascript String object. -// maxBytesToRead: an optional length that specifies the maximum number of bytes to read. You can omit -// this parameter to scan the string until the first \0 byte. If maxBytesToRead is -// passed, and the string at [ptr, ptr+maxBytesToReadr[ contains a null byte in the -// middle, then the string will cut short at that byte index (i.e. maxBytesToRead will -// not produce a string of exact length [ptr, ptr+maxBytesToRead[) -// N.B. mixing frequent uses of UTF8ToString() with and without maxBytesToRead may -// throw JS JIT optimizations off, so it is worth to consider consistently using one -// style or the other. -/** - * @param {number} ptr - * @param {number=} maxBytesToRead - * @return {string} - */ -function UTF8ToString(ptr, maxBytesToRead) { - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; -} - -// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', -// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// heap: the array to copy to. Each index in this array is assumed to be one 8-byte element. -// outIdx: The starting offset in the array to begin the copying. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. -// This count should include the null terminator, -// i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. -// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8(str, outPtr, maxBytesToWrite) { - return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); -} - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. -function lengthBytesUTF8(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) ++len; - else if (u <= 0x7FF) len += 2; - else if (u <= 0xFFFF) len += 3; - else len += 4; - } - return len; -} - - - - - -// runtime_strings_extra.js: Strings related runtime functions that are available only in regular runtime. - -// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function AsciiToString(ptr) { - var str = ''; - while (1) { - var ch = HEAPU8[((ptr++)>>0)]; - if (!ch) return str; - str += String.fromCharCode(ch); - } -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. - -function stringToAscii(str, outPtr) { - return writeAsciiToMemory(str, outPtr, false); -} - -// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; - -function UTF16ToString(ptr, maxBytesToRead) { - var endPtr = ptr; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - var idx = endPtr >> 1; - var maxIdx = idx + maxBytesToRead / 2; - // If maxBytesToRead is not passed explicitly, it will be undefined, and this - // will always evaluate to true. This saves on code size. - while (!(idx >= maxIdx) && HEAPU16[idx]) ++idx; - endPtr = idx << 1; - - if (endPtr - ptr > 32 && UTF16Decoder) { - return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); - } else { - var i = 0; - - var str = ''; - while (1) { - var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; - if (codeUnit == 0 || i == maxBytesToRead / 2) return str; - ++i; - // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. - str += String.fromCharCode(codeUnit); - } - } -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. -// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. -// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF16(str, outPtr, maxBytesToWrite) { - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 2) return 0; - maxBytesToWrite -= 2; // Null terminator. - var startPtr = outPtr; - var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; - for (var i = 0; i < numCharsToWrite; ++i) { - // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - HEAP16[((outPtr)>>1)]=codeUnit; - outPtr += 2; - } - // Null-terminate the pointer to the HEAP. - HEAP16[((outPtr)>>1)]=0; - return outPtr - startPtr; -} - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF16(str) { - return str.length*2; -} - -function UTF32ToString(ptr, maxBytesToRead) { - var i = 0; - - var str = ''; - // If maxBytesToRead is not passed explicitly, it will be undefined, and this - // will always evaluate to true. This saves on code size. - while (!(i >= maxBytesToRead / 4)) { - var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; - if (utf32 == 0) break; - ++i; - // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - if (utf32 >= 0x10000) { - var ch = utf32 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } else { - str += String.fromCharCode(utf32); - } - } - return str; -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. -// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. -// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF32(str, outPtr, maxBytesToWrite) { - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 4) return 0; - var startPtr = outPtr; - var endPtr = startPtr + maxBytesToWrite - 4; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { - var trailSurrogate = str.charCodeAt(++i); - codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); - } - HEAP32[((outPtr)>>2)]=codeUnit; - outPtr += 4; - if (outPtr + 4 > endPtr) break; - } - // Null-terminate the pointer to the HEAP. - HEAP32[((outPtr)>>2)]=0; - return outPtr - startPtr; -} - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF32(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. - len += 4; - } - - return len; -} - -// Allocate heap space for a JS string, and write it there. -// It is the responsibility of the caller to free() that memory. -function allocateUTF8(str) { - var size = lengthBytesUTF8(str) + 1; - var ret = _malloc(size); - if (ret) stringToUTF8Array(str, HEAP8, ret, size); - return ret; -} - -// Allocate stack space for a JS string, and write it there. -function allocateUTF8OnStack(str) { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8Array(str, HEAP8, ret, size); - return ret; -} - -// Deprecated: This function should not be called because it is unsafe and does not provide -// a maximum length limit of how many bytes it is allowed to write. Prefer calling the -// function stringToUTF8Array() instead, which takes in a maximum length that can be used -// to be secure from out of bounds writes. -/** @deprecated - @param {boolean=} dontAddNull */ -function writeStringToMemory(string, buffer, dontAddNull) { - warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); - - var /** @type {number} */ lastChar, /** @type {number} */ end; - if (dontAddNull) { - // stringToUTF8Array always appends null. If we don't want to do that, remember the - // character that existed at the location where the null will be placed, and restore - // that after the write (below). - end = buffer + lengthBytesUTF8(string); - lastChar = HEAP8[end]; - } - stringToUTF8(string, buffer, Infinity); - if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. -} - -function writeArrayToMemory(array, buffer) { - HEAP8.set(array, buffer); -} - -/** @param {boolean=} dontAddNull */ -function writeAsciiToMemory(str, buffer, dontAddNull) { - for (var i = 0; i < str.length; ++i) { - HEAP8[((buffer++)>>0)]=str.charCodeAt(i); - } - // Null-terminate the pointer to the HEAP. - if (!dontAddNull) HEAP8[((buffer)>>0)]=0; -} - - - -// Memory management - -var PAGE_SIZE = 16384; -var WASM_PAGE_SIZE = 65536; - -function alignUp(x, multiple) { - if (x % multiple > 0) { - x += multiple - (x % multiple); - } - return x; -} - -var HEAP, -/** @type {ArrayBuffer} */ - buffer, -/** @type {Int8Array} */ - HEAP8, -/** @type {Uint8Array} */ - HEAPU8, -/** @type {Int16Array} */ - HEAP16, -/** @type {Uint16Array} */ - HEAPU16, -/** @type {Int32Array} */ - HEAP32, -/** @type {Uint32Array} */ - HEAPU32, -/** @type {Float32Array} */ - HEAPF32, -/** @type {Float64Array} */ - HEAPF64; - -function updateGlobalBufferAndViews(buf) { - buffer = buf; - Module['HEAP8'] = HEAP8 = new Int8Array(buf); - Module['HEAP16'] = HEAP16 = new Int16Array(buf); - Module['HEAP32'] = HEAP32 = new Int32Array(buf); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(buf); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(buf); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(buf); - Module['HEAPF32'] = HEAPF32 = new Float32Array(buf); - Module['HEAPF64'] = HEAPF64 = new Float64Array(buf); -} - -var STACK_BASE = 5284032, - STACKTOP = STACK_BASE, - STACK_MAX = 41152, - DYNAMIC_BASE = 5284032; - - - - -var TOTAL_STACK = 5242880; - -var INITIAL_INITIAL_MEMORY = Module['INITIAL_MEMORY'] || 16777216; - - - -// In non-standalone/normal mode, we create the memory here. - - - -// Create the main memory. (Note: this isn't used in STANDALONE_WASM mode since the wasm -// memory is created in the wasm, not in JS.) - - if (Module['wasmMemory']) { - wasmMemory = Module['wasmMemory']; - } else - { - wasmMemory = new WebAssembly.Memory({ - 'initial': INITIAL_INITIAL_MEMORY / WASM_PAGE_SIZE - , - 'maximum': INITIAL_INITIAL_MEMORY / WASM_PAGE_SIZE - }); - } - - -if (wasmMemory) { - buffer = wasmMemory.buffer; -} - -// If the user provides an incorrect length, just use that length instead rather than providing the user to -// specifically provide the memory length with Module['INITIAL_MEMORY']. -INITIAL_INITIAL_MEMORY = buffer.byteLength; -updateGlobalBufferAndViews(buffer); - - - - - - - - - - - - - - - -var __ATPRERUN__ = []; // functions called before the runtime is initialized -var __ATINIT__ = []; // functions called during startup -var __ATMAIN__ = []; // functions called when main() is to be run -var __ATEXIT__ = []; // functions called during shutdown -var __ATPOSTRUN__ = []; // functions called after the main() is called - -var runtimeInitialized = false; -var runtimeExited = false; - - -function preRun() { - - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - - callRuntimeCallbacks(__ATPRERUN__); -} - -function initRuntime() { - runtimeInitialized = true; - if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); -TTY.init(); - callRuntimeCallbacks(__ATINIT__); -} - -function preMain() { - FS.ignorePermissions = false; - callRuntimeCallbacks(__ATMAIN__); -} - -function exitRuntime() { - runtimeExited = true; -} - -function postRun() { - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - - callRuntimeCallbacks(__ATPOSTRUN__); -} - -function addOnPreRun(cb) { - __ATPRERUN__.unshift(cb); -} - -function addOnInit(cb) { - __ATINIT__.unshift(cb); -} - -function addOnPreMain(cb) { - __ATMAIN__.unshift(cb); -} - -function addOnExit(cb) { -} - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} - - - - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc - - -var Math_abs = Math.abs; -var Math_cos = Math.cos; -var Math_sin = Math.sin; -var Math_tan = Math.tan; -var Math_acos = Math.acos; -var Math_asin = Math.asin; -var Math_atan = Math.atan; -var Math_atan2 = Math.atan2; -var Math_exp = Math.exp; -var Math_log = Math.log; -var Math_sqrt = Math.sqrt; -var Math_ceil = Math.ceil; -var Math_floor = Math.floor; -var Math_pow = Math.pow; -var Math_imul = Math.imul; -var Math_fround = Math.fround; -var Math_round = Math.round; -var Math_min = Math.min; -var Math_max = Math.max; -var Math_clz32 = Math.clz32; -var Math_trunc = Math.trunc; - - - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var runDependencyWatcher = null; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled - -function getUniqueRunDependency(id) { - return id; -} - -function addRunDependency(id) { - runDependencies++; - - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - -} - -function removeRunDependency(id) { - runDependencies--; - - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -Module["preloadedImages"] = {}; // maps url to image data -Module["preloadedAudios"] = {}; // maps url to audio data - -/** @param {string|number=} what */ -function abort(what) { - if (Module['onAbort']) { - Module['onAbort'](what); - } - - what += ''; - err(what); - - ABORT = true; - EXITSTATUS = 1; - - what = 'abort(' + what + '). Build with -s ASSERTIONS=1 for more info.'; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -var memoryInitializer = null; - - - - - - - - - - - -function hasPrefix(str, prefix) { - return String.prototype.startsWith ? - str.startsWith(prefix) : - str.indexOf(prefix) === 0; -} - -// Prefix of data URIs emitted by SINGLE_FILE and related options. -var dataURIPrefix = 'data:application/octet-stream;base64,'; - -// Indicates whether filename is a base64 data URI. -function isDataURI(filename) { - return hasPrefix(filename, dataURIPrefix); -} - -var fileURIPrefix = "file://"; - -// Indicates whether filename is delivered via file protocol (as opposed to http/https) -function isFileURI(filename) { - return hasPrefix(filename, fileURIPrefix); -} - - - - - -var wasmBinaryFile = 'models_first_person_maze.wasm'; -if (!isDataURI(wasmBinaryFile)) { - wasmBinaryFile = locateFile(wasmBinaryFile); -} - -function getBinary() { - try { - if (wasmBinary) { - return new Uint8Array(wasmBinary); - } - - if (readBinary) { - return readBinary(wasmBinaryFile); - } else { - throw "both async and sync fetching of the wasm failed"; - } - } - catch (err) { - abort(err); - } -} - -function getBinaryPromise() { - // If we don't have the binary yet, and have the Fetch api, use that; - // in some environments, like Electron's render process, Fetch api may be present, but have a different context than expected, let's only use it on the Web - if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === 'function' - // Let's not use fetch to get objects over file:// as it's most likely Cordova which doesn't support fetch for file:// - && !isFileURI(wasmBinaryFile) - ) { - return fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function(response) { - if (!response['ok']) { - throw "failed to load wasm binary file at '" + wasmBinaryFile + "'"; - } - return response['arrayBuffer'](); - }).catch(function () { - return getBinary(); - }); - } - // Otherwise, getBinary should be able to get it synchronously - return Promise.resolve().then(getBinary); -} - - - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -function createWasm() { - // prepare imports - var info = { - 'env': asmLibraryArg, - 'wasi_snapshot_preview1': asmLibraryArg - }; - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - var exports = instance.exports; - Module['asm'] = exports; - removeRunDependency('wasm-instantiate'); - } - // we can't run yet (except in a pthread, where we have a custom sync instantiator) - addRunDependency('wasm-instantiate'); - - - function receiveInstantiatedSource(output) { - // 'output' is a WebAssemblyInstantiatedSource object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above USE_PTHREADS-enabled path. - receiveInstance(output['instance']); - } - - - function instantiateArrayBuffer(receiver) { - return getBinaryPromise().then(function(binary) { - return WebAssembly.instantiate(binary, info); - }).then(receiver, function(reason) { - err('failed to asynchronously prepare wasm: ' + reason); - - - abort(reason); - }); - } - - // Prefer streaming instantiation if available. - function instantiateAsync() { - if (!wasmBinary && - typeof WebAssembly.instantiateStreaming === 'function' && - !isDataURI(wasmBinaryFile) && - // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. - !isFileURI(wasmBinaryFile) && - typeof fetch === 'function') { - fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function (response) { - var result = WebAssembly.instantiateStreaming(response, info); - return result.then(receiveInstantiatedSource, function(reason) { - // We expect the most common failure cause to be a bad MIME type for the binary, - // in which case falling back to ArrayBuffer instantiation should work. - err('wasm streaming compile failed: ' + reason); - err('falling back to ArrayBuffer instantiation'); - return instantiateArrayBuffer(receiveInstantiatedSource); - }); - }); - } else { - return instantiateArrayBuffer(receiveInstantiatedSource); - } - } - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to run the instantiation parallel - // to any other async startup actions they are performing. - if (Module['instantiateWasm']) { - try { - var exports = Module['instantiateWasm'](info, receiveInstance); - return exports; - } catch(e) { - err('Module.instantiateWasm callback failed with error: ' + e); - return false; - } - } - - instantiateAsync(); - return {}; // no exports yet; we'll fill them in later -} - -// Globals used by JS i64 conversions -var tempDouble; -var tempI64; - -// === Body === - -var ASM_CONSTS = { - -}; - - - - - -/* no memory initializer */ -// {{PRE_LIBRARY}} - - - function callRuntimeCallbacks(callbacks) { - while(callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == 'function') { - callback(Module); // Pass the module as the first argument. - continue; - } - var func = callback.func; - if (typeof func === 'number') { - if (callback.arg === undefined) { - wasmTable.get(func)(); - } else { - wasmTable.get(func)(callback.arg); - } - } else { - func(callback.arg === undefined ? null : callback.arg); - } - } - } - - function demangle(func) { - return func; - } - - function demangleAll(text) { - var regex = - /\b_Z[\w\d_]+/g; - return text.replace(regex, - function(x) { - var y = demangle(x); - return x === y ? x : (y + ' [' + x + ']'); - }); - } - - - function dynCallLegacy(sig, ptr, args) { - if (args && args.length) { - return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); - } - return Module['dynCall_' + sig].call(null, ptr); - }function dynCall(sig, ptr, args) { - // Without WASM_BIGINT support we cannot directly call function with i64 as - // part of thier signature, so we rely the dynCall functions generated by - // wasm-emscripten-finalize - if (sig.indexOf('j') != -1) { - return dynCallLegacy(sig, ptr, args); - } - - return wasmTable.get(ptr).apply(null, args) - } - - function jsStackTrace() { - var error = new Error(); - if (!error.stack) { - // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, - // so try that as a special-case. - try { - throw new Error(); - } catch(e) { - error = e; - } - if (!error.stack) { - return '(no stack trace available)'; - } - } - return error.stack.toString(); - } - - function stackTrace() { - var js = jsStackTrace(); - if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace'](); - return demangleAll(js); - } - - function ___assert_fail(condition, filename, line, func) { - abort('Assertion failed: ' + UTF8ToString(condition) + ', at: ' + [filename ? UTF8ToString(filename) : 'unknown filename', line, func ? UTF8ToString(func) : 'unknown function']); - } - - - function setErrNo(value) { - HEAP32[((___errno_location())>>2)]=value; - return value; - } - - - var PATH={splitPath:function(filename) { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - },normalizeArray:function(parts, allowAboveRoot) { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - },normalize:function(path) { - var isAbsolute = path.charAt(0) === '/', - trailingSlash = path.substr(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter(function(p) { - return !!p; - }), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - },dirname:function(path) { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.substr(0, dir.length - 1); - } - return root + dir; - },basename:function(path) { - // EMSCRIPTEN return '/'' for '/', not an empty string - if (path === '/') return '/'; - path = PATH.normalize(path); - path = path.replace(/\/$/, ""); - var lastSlash = path.lastIndexOf('/'); - if (lastSlash === -1) return path; - return path.substr(lastSlash+1); - },extname:function(path) { - return PATH.splitPath(path)[3]; - },join:function() { - var paths = Array.prototype.slice.call(arguments, 0); - return PATH.normalize(paths.join('/')); - },join2:function(l, r) { - return PATH.normalize(l + '/' + r); - }}; - - - var PATH_FS={resolve:function() { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? arguments[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path !== 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = path.charAt(0) === '/'; - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { - return !!p; - }), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - },relative:function(from, to) { - from = PATH_FS.resolve(from).substr(1); - to = PATH_FS.resolve(to).substr(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }}; - - var TTY={ttys:[],init:function () { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process['stdin']['setEncoding']('utf8'); - // } - },shutdown:function() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process['stdin']['pause'](); - // } - },register:function(dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - },stream_ops:{open:function(stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(43); - } - stream.tty = tty; - stream.seekable = false; - },close:function(stream) { - // flush any pending line data - stream.tty.ops.flush(stream.tty); - },flush:function(stream) { - stream.tty.ops.flush(stream.tty); - },read:function(stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(60); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - },write:function(stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(60); - } - try { - for (var i = 0; i < length; i++) { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } - } catch (e) { - throw new FS.ErrnoError(29); - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - }},default_tty_ops:{get_char:function(tty) { - if (!tty.input.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); - var bytesRead = 0; - - try { - bytesRead = nodeFS.readSync(process.stdin.fd, buf, 0, BUFSIZE, null); - } catch(e) { - // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, - // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. - if (e.toString().indexOf('EOF') != -1) bytesRead = 0; - else throw e; - } - - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8'); - } else { - result = null; - } - } else - if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else if (typeof readline == 'function') { - // Command line. - result = readline(); - if (result !== null) { - result += '\n'; - } - } - if (!result) { - return null; - } - tty.input = intArrayFromString(result, true); - } - return tty.input.shift(); - },put_char:function(tty, val) { - if (val === null || val === 10) { - out(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - },flush:function(tty) { - if (tty.output && tty.output.length > 0) { - out(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }},default_tty1_ops:{put_char:function(tty, val) { - if (val === null || val === 10) { - err(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - },flush:function(tty) { - if (tty.output && tty.output.length > 0) { - err(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }}}; - - var MEMFS={ops_table:null,mount:function(mount) { - return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); - },createNode:function(parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(63); - } - if (!MEMFS.ops_table) { - MEMFS.ops_table = { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - allocate: MEMFS.stream_ops.allocate, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - } - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.timestamp = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - } - return node; - },getFileDataAsRegularArray:function(node) { - if (node.contents && node.contents.subarray) { - var arr = []; - for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); - return arr; // Returns a copy of the original data. - } - return node.contents; // No-op, the file contents are already in a JS array. Return as-is. - },getFileDataAsTypedArray:function(node) { - if (!node.contents) return new Uint8Array(0); - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - },expandFileStorage:function(node, newCapacity) { - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - return; - },resizeFileStorage:function(node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - return; - } - if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. - var oldContents = node.contents; - node.contents = new Uint8Array(newSize); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - return; - } - // Backing with a JS array. - if (!node.contents) node.contents = []; - if (node.contents.length > newSize) node.contents.length = newSize; - else while (node.contents.length < newSize) node.contents.push(0); - node.usedBytes = newSize; - },node_ops:{getattr:function(node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.timestamp); - attr.mtime = new Date(node.timestamp); - attr.ctime = new Date(node.timestamp); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - },setattr:function(node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - },lookup:function(parent, name) { - throw FS.genericErrors[44]; - },mknod:function(parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - },rename:function(old_node, new_dir, new_name) { - // if we're overwriting a directory at new_name, make sure it's empty. - if (FS.isDir(old_node.mode)) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - } - if (new_node) { - for (var i in new_node.contents) { - throw new FS.ErrnoError(55); - } - } - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - old_node.name = new_name; - new_dir.contents[new_name] = old_node; - old_node.parent = new_dir; - },unlink:function(parent, name) { - delete parent.contents[name]; - },rmdir:function(parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(55); - } - delete parent.contents[name]; - },readdir:function(node) { - var entries = ['.', '..']; - for (var key in node.contents) { - if (!node.contents.hasOwnProperty(key)) { - continue; - } - entries.push(key); - } - return entries; - },symlink:function(parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); - node.link = oldpath; - return node; - },readlink:function(node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(28); - } - return node.link; - }},stream_ops:{read:function(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - },write:function(stream, buffer, offset, length, position, canOwn) { - - if (!length) return 0; - var node = stream.node; - node.timestamp = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = buffer.slice(offset, offset + length); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) { - // Use typed array write which is available. - node.contents.set(buffer.subarray(offset, offset + length), position); - } else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position + length); - return length; - },llseek:function(stream, offset, whence) { - var position = offset; - if (whence === 1) { - position += stream.position; - } else if (whence === 2) { - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(28); - } - return position; - },allocate:function(stream, offset, length) { - MEMFS.expandFileStorage(stream.node, offset + length); - stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); - },mmap:function(stream, address, length, position, prot, flags) { - // We don't currently support location hints for the address of the mapping - assert(address === 0); - - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if (!(flags & 2) && contents.buffer === buffer) { - // We can't emulate MAP_SHARED when the file is not backed by the buffer - // we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < contents.length) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - allocated = true; - ptr = FS.mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - HEAP8.set(contents, ptr); - } - return { ptr: ptr, allocated: allocated }; - },msync:function(stream, buffer, offset, length, mmapFlags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (mmapFlags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - - var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - return 0; - }}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e) { - if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); - return setErrNo(e.errno); - },lookupPath:function(path, opts) { - path = PATH_FS.resolve(FS.cwd(), path); - opts = opts || {}; - - if (!path) return { path: '', node: null }; - - var defaults = { - follow_mount: true, - recurse_count: 0 - }; - for (var key in defaults) { - if (opts[key] === undefined) { - opts[key] = defaults[key]; - } - } - - if (opts.recurse_count > 8) { // max recursive lookup of 8 - throw new FS.ErrnoError(32); - } - - // split the path - var parts = PATH.normalizeArray(path.split('/').filter(function(p) { - return !!p; - }), false); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - current = FS.lookupNode(current, parts[i]); - current_path = PATH.join2(current_path, parts[i]); - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current)) { - if (!islast || (islast && opts.follow_mount)) { - current = current.mounted.root; - } - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (!islast || opts.follow) { - var count = 0; - while (FS.isLink(current.mode)) { - var link = FS.readlink(current_path); - current_path = PATH_FS.resolve(PATH.dirname(current_path), link); - - var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); - current = lookup.node; - - if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - throw new FS.ErrnoError(32); - } - } - } - } - - return { path: current_path, node: current }; - },getPath:function(node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; - } - path = path ? node.name + '/' + path : node.name; - node = node.parent; - } - },hashName:function(parentid, name) { - var hash = 0; - - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - },hashAddNode:function(node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - },hashRemoveNode:function(node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - },lookupNode:function(parent, name) { - var errCode = FS.mayLookup(parent); - if (errCode) { - throw new FS.ErrnoError(errCode, parent); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - },createNode:function(parent, name, mode, rdev) { - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - },destroyNode:function(node) { - FS.hashRemoveNode(node); - },isRoot:function(node) { - return node === node.parent; - },isMountpoint:function(node) { - return !!node.mounted; - },isFile:function(mode) { - return (mode & 61440) === 32768; - },isDir:function(mode) { - return (mode & 61440) === 16384; - },isLink:function(mode) { - return (mode & 61440) === 40960; - },isChrdev:function(mode) { - return (mode & 61440) === 8192; - },isBlkdev:function(mode) { - return (mode & 61440) === 24576; - },isFIFO:function(mode) { - return (mode & 61440) === 4096; - },isSocket:function(mode) { - return (mode & 49152) === 49152; - },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str) { - var flags = FS.flagModes[str]; - if (typeof flags === 'undefined') { - throw new Error('Unknown file open mode: ' + str); - } - return flags; - },flagsToPermissionString:function(flag) { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - },nodePermissions:function(node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { - return 2; - } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { - return 2; - } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { - return 2; - } - return 0; - },mayLookup:function(dir) { - var errCode = FS.nodePermissions(dir, 'x'); - if (errCode) return errCode; - if (!dir.node_ops.lookup) return 2; - return 0; - },mayCreate:function(dir, name) { - try { - var node = FS.lookupNode(dir, name); - return 20; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - },mayDelete:function(dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var errCode = FS.nodePermissions(dir, 'wx'); - if (errCode) { - return errCode; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return 54; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return 10; - } - } else { - if (FS.isDir(node.mode)) { - return 31; - } - } - return 0; - },mayOpen:function(node, flags) { - if (!node) { - return 44; - } - if (FS.isLink(node.mode)) { - return 32; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write - (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) - return 31; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - },MAX_OPEN_FDS:4096,nextfd:function(fd_start, fd_end) { - fd_start = fd_start || 0; - fd_end = fd_end || FS.MAX_OPEN_FDS; - for (var fd = fd_start; fd <= fd_end; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(33); - },getStream:function(fd) { - return FS.streams[fd]; - },createStream:function(stream, fd_start, fd_end) { - if (!FS.FSStream) { - FS.FSStream = /** @constructor */ function(){}; - FS.FSStream.prototype = { - object: { - get: function() { return this.node; }, - set: function(val) { this.node = val; } - }, - isRead: { - get: function() { return (this.flags & 2097155) !== 1; } - }, - isWrite: { - get: function() { return (this.flags & 2097155) !== 0; } - }, - isAppend: { - get: function() { return (this.flags & 1024); } - } - }; - } - // clone it, so we can return an instance of FSStream - var newStream = new FS.FSStream(); - for (var p in stream) { - newStream[p] = stream[p]; - } - stream = newStream; - var fd = FS.nextfd(fd_start, fd_end); - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - },closeStream:function(fd) { - FS.streams[fd] = null; - },chrdev_stream_ops:{open:function(stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - },llseek:function() { - throw new FS.ErrnoError(70); - }},major:function(dev) { - return ((dev) >> 8); - },minor:function(dev) { - return ((dev) & 0xff); - },makedev:function(ma, mi) { - return ((ma) << 8 | (mi)); - },registerDevice:function(dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - },getDevice:function(dev) { - return FS.devices[dev]; - },getMounts:function(mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push.apply(check, m.mounts); - } - - return mounts; - },syncfs:function(populate, callback) { - if (typeof(populate) === 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - err('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(errCode) { - FS.syncFSRequests--; - return callback(errCode); - } - - function done(errCode) { - if (errCode) { - if (!done.errored) { - done.errored = true; - return doCallback(errCode); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach(function (mount) { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - },mount:function(type, opts, mountpoint) { - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(10); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - } - - var mount = { - type: type, - opts: opts, - mountpoint: mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - },unmount:function (mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(28); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach(function (hash) { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.indexOf(current.mount) !== -1) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - node.mount.mounts.splice(idx, 1); - },lookup:function(parent, name) { - return parent.node_ops.lookup(parent, name); - },mknod:function(path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name || name === '.' || name === '..') { - throw new FS.ErrnoError(28); - } - var errCode = FS.mayCreate(parent, name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.mknod(parent, name, mode, dev); - },create:function(path, mode) { - mode = mode !== undefined ? mode : 438 /* 0666 */; - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - },mkdir:function(path, mode) { - mode = mode !== undefined ? mode : 511 /* 0777 */; - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - },mkdirTree:function(path, mode) { - var dirs = path.split('/'); - var d = ''; - for (var i = 0; i < dirs.length; ++i) { - if (!dirs[i]) continue; - d += '/' + dirs[i]; - try { - FS.mkdir(d, mode); - } catch(e) { - if (e.errno != 20) throw e; - } - } - },mkdev:function(path, mode, dev) { - if (typeof(dev) === 'undefined') { - dev = mode; - mode = 438 /* 0666 */; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - },symlink:function(oldpath, newpath) { - if (!PATH_FS.resolve(oldpath)) { - throw new FS.ErrnoError(44); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var newname = PATH.basename(newpath); - var errCode = FS.mayCreate(parent, newname); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.symlink(parent, newname, oldpath); - },rename:function(old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - - // let the errors from non existant directories percolate up - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - - if (!old_dir || !new_dir) throw new FS.ErrnoError(44); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(75); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH_FS.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(28); - } - // new path should not be an ancestor of the old path - relative = PATH_FS.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(55); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var errCode = FS.mayDelete(old_dir, old_name, isdir); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - errCode = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(10); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - errCode = FS.nodePermissions(old_dir, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - try { - if (FS.trackingDelegate['willMovePath']) { - FS.trackingDelegate['willMovePath'](old_path, new_path); - } - } catch(e) { - err("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - try { - if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); - } catch(e) { - err("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); - } - },rmdir:function(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, true); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - err("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - err("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readdir:function(path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - if (!node.node_ops.readdir) { - throw new FS.ErrnoError(54); - } - return node.node_ops.readdir(node); - },unlink:function(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, false); - if (errCode) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - err("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - err("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readlink:function(path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(44); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(28); - } - return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); - },stat:function(path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - if (!node) { - throw new FS.ErrnoError(44); - } - if (!node.node_ops.getattr) { - throw new FS.ErrnoError(63); - } - return node.node_ops.getattr(node); - },lstat:function(path) { - return FS.stat(path, true); - },chmod:function(path, mode, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(63); - } - node.node_ops.setattr(node, { - mode: (mode & 4095) | (node.mode & ~4095), - timestamp: Date.now() - }); - },lchmod:function(path, mode) { - FS.chmod(path, mode, true); - },fchmod:function(fd, mode) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - FS.chmod(stream.node, mode); - },chown:function(path, uid, gid, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(63); - } - node.node_ops.setattr(node, { - timestamp: Date.now() - // we ignore the uid / gid for now - }); - },lchown:function(path, uid, gid) { - FS.chown(path, uid, gid, true); - },fchown:function(fd, uid, gid) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - FS.chown(stream.node, uid, gid); - },truncate:function(path, len) { - if (len < 0) { - throw new FS.ErrnoError(28); - } - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(63); - } - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(31); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(28); - } - var errCode = FS.nodePermissions(node, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - node.node_ops.setattr(node, { - size: len, - timestamp: Date.now() - }); - },ftruncate:function(fd, len) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(28); - } - FS.truncate(stream.node, len); - },utime:function(path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - node.node_ops.setattr(node, { - timestamp: Math.max(atime, mtime) - }); - },open:function(path, flags, mode, fd_start, fd_end) { - if (path === "") { - throw new FS.ErrnoError(44); - } - flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; - mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - if (typeof path === 'object') { - node = path; - } else { - path = PATH.normalize(path); - try { - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072) - }); - node = lookup.node; - } catch (e) { - // ignore - } - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(20); - } - } else { - // node doesn't exist, try to create it - node = FS.mknod(path, mode, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(44); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var errCode = FS.mayOpen(node, flags); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // do truncation if necessary - if ((flags & 512)) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512 | 131072); - - // register the stream with the filesystem - var stream = FS.createStream({ - node: node, - path: FS.getPath(node), // we want the absolute path to the node - flags: flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }, fd_start, fd_end); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!FS.readFiles) FS.readFiles = {}; - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - err("FS.trackingDelegate error on read file: " + path); - } - } - try { - if (FS.trackingDelegate['onOpenFile']) { - var trackingFlags = 0; - if ((flags & 2097155) !== 1) { - trackingFlags |= FS.tracking.openFlags.READ; - } - if ((flags & 2097155) !== 0) { - trackingFlags |= FS.tracking.openFlags.WRITE; - } - FS.trackingDelegate['onOpenFile'](path, trackingFlags); - } - } catch(e) { - err("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); - } - return stream; - },close:function(stream) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - stream.fd = null; - },isClosed:function(stream) { - return stream.fd === null; - },llseek:function(stream, offset, whence) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(70); - } - if (whence != 0 && whence != 1 && whence != 2) { - throw new FS.ErrnoError(28); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - },read:function(stream, buffer, offset, length, position) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(28); - } - var seeking = typeof position !== 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - },write:function(stream, buffer, offset, length, position, canOwn) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(28); - } - if (stream.seekable && stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = typeof position !== 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - try { - if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); - } catch(e) { - err("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: " + e.message); - } - return bytesWritten; - },allocate:function(stream, offset, length) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (offset < 0 || length <= 0) { - throw new FS.ErrnoError(28); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (!stream.stream_ops.allocate) { - throw new FS.ErrnoError(138); - } - stream.stream_ops.allocate(stream, offset, length); - },mmap:function(stream, address, length, position, prot, flags) { - // User requests writing to file (prot & PROT_WRITE != 0). - // Checking if we have permissions to write to the file unless - // MAP_PRIVATE flag is set. According to POSIX spec it is possible - // to write to file opened in read-only mode with MAP_PRIVATE flag, - // as all modifications will be visible only in the memory of - // the current process. - if ((prot & 2) !== 0 - && (flags & 2) === 0 - && (stream.flags & 2097155) !== 2) { - throw new FS.ErrnoError(2); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(2); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(43); - } - return stream.stream_ops.mmap(stream, address, length, position, prot, flags); - },msync:function(stream, buffer, offset, length, mmapFlags) { - if (!stream || !stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - },munmap:function(stream) { - return 0; - },ioctl:function(stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(59); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - },readFile:function(path, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'r'; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf, 0); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - },writeFile:function(path, data, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'w'; - var stream = FS.open(path, opts.flags, opts.mode); - if (typeof data === 'string') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); - } else if (ArrayBuffer.isView(data)) { - FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); - } else { - throw new Error('Unsupported data type'); - } - FS.close(stream); - },cwd:function() { - return FS.currentPath; - },chdir:function(path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(44); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(54); - } - var errCode = FS.nodePermissions(lookup.node, 'x'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.currentPath = lookup.path; - },createDefaultDirectories:function() { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - },createDefaultDevices:function() { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: function() { return 0; }, - write: function(stream, buffer, offset, length, pos) { return length; } - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using Module['printErr'] - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - var random_device; - if (typeof crypto === 'object' && typeof crypto['getRandomValues'] === 'function') { - // for modern web browsers - var randomBuffer = new Uint8Array(1); - random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; - } else - if (ENVIRONMENT_IS_NODE) { - // for nodejs with or without crypto support included - try { - var crypto_module = require('crypto'); - // nodejs has crypto support - random_device = function() { return crypto_module['randomBytes'](1)[0]; }; - } catch (e) { - // nodejs doesn't have crypto support - } - } else - {} - if (!random_device) { - // we couldn't find a proper implementation, as Math.random() is not suitable for /dev/random, see emscripten-core/emscripten/pull/7096 - random_device = function() { abort("random_device"); }; - } - FS.createDevice('/dev', 'random', random_device); - FS.createDevice('/dev', 'urandom', random_device); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - },createSpecialDirectories:function() { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) - FS.mkdir('/proc'); - FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount: function() { - var node = FS.createNode('/proc/self', 'fd', 16384 | 511 /* 0777 */, 73); - node.node_ops = { - lookup: function(parent, name) { - var fd = +name; - var stream = FS.getStream(fd); - if (!stream) throw new FS.ErrnoError(8); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: function() { return stream.path } } - }; - ret.parent = ret; // make it look like a simple root node - return ret; - } - }; - return node; - } - }, {}, '/proc/self/fd'); - },createStandardStreams:function() { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (Module['stdin']) { - FS.createDevice('/dev', 'stdin', Module['stdin']); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (Module['stdout']) { - FS.createDevice('/dev', 'stdout', null, Module['stdout']); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (Module['stderr']) { - FS.createDevice('/dev', 'stderr', null, Module['stderr']); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 'r'); - var stdout = FS.open('/dev/stdout', 'w'); - var stderr = FS.open('/dev/stderr', 'w'); - },ensureErrnoError:function() { - if (FS.ErrnoError) return; - FS.ErrnoError = /** @this{Object} */ function ErrnoError(errno, node) { - this.node = node; - this.setErrno = /** @this{Object} */ function(errno) { - this.errno = errno; - }; - this.setErrno(errno); - this.message = 'FS error'; - - }; - FS.ErrnoError.prototype = new Error(); - FS.ErrnoError.prototype.constructor = FS.ErrnoError; - // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) - [44].forEach(function(code) { - FS.genericErrors[code] = new FS.ErrnoError(code); - FS.genericErrors[code].stack = ''; - }); - },staticInit:function() { - FS.ensureErrnoError(); - - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - }; - },init:function(input, output, error) { - FS.init.initialized = true; - - FS.ensureErrnoError(); - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - Module['stdin'] = input || Module['stdin']; - Module['stdout'] = output || Module['stdout']; - Module['stderr'] = error || Module['stderr']; - - FS.createStandardStreams(); - },quit:function() { - FS.init.initialized = false; - // force-flush all streams, so we get musl std streams printed out - var fflush = Module['_fflush']; - if (fflush) fflush(0); - // close all of our streams - for (var i = 0; i < FS.streams.length; i++) { - var stream = FS.streams[i]; - if (!stream) { - continue; - } - FS.close(stream); - } - },getMode:function(canRead, canWrite) { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - },joinPath:function(parts, forceRelative) { - var path = PATH.join.apply(null, parts); - if (forceRelative && path[0] == '/') path = path.substr(1); - return path; - },absolutePath:function(relative, base) { - return PATH_FS.resolve(base, relative); - },standardizePath:function(path) { - return PATH.normalize(path); - },findObject:function(path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (ret.exists) { - return ret.object; - } else { - setErrNo(ret.error); - return null; - } - },analyzePath:function(path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - },createFolder:function(parent, name, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(canRead, canWrite); - return FS.mkdir(path, mode); - },createPath:function(parent, path, canRead, canWrite) { - parent = typeof parent === 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - // ignore EEXIST - } - parent = current; - } - return current; - },createFile:function(parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(canRead, canWrite); - return FS.create(path, mode); - },createDataFile:function(parent, name, data, canRead, canWrite, canOwn) { - var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent; - var mode = FS.getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data === 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 'w'); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - return node; - },createDevice:function(parent, name, input, output) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(!!input, !!output); - if (!FS.createDevice.major) FS.createDevice.major = 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open: function(stream) { - stream.seekable = false; - }, - close: function(stream) { - // flush any pending line data - if (output && output.buffer && output.buffer.length) { - output(10); - } - }, - read: function(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - }, - write: function(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(29); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - },createLink:function(parent, name, target, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - return FS.symlink(target, path); - },forceLoadFile:function(obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - var success = true; - if (typeof XMLHttpRequest !== 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else if (read_) { - // Command-line. - try { - // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as - // read() will try to parse UTF8. - obj.contents = intArrayFromString(read_(obj.url), true); - obj.usedBytes = obj.contents.length; - } catch (e) { - success = false; - } - } else { - throw new Error('Cannot load without read() or XMLHttpRequest.'); - } - if (!success) setErrNo(29); - return success; - },createLazyFile:function(parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. - /** @constructor */ - function LazyUint8Array() { - this.lengthKnown = false; - this.chunks = []; // Loaded chunks. Index is the chunk number - } - LazyUint8Array.prototype.get = /** @this{Object} */ function LazyUint8Array_get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - }; - LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { - this.getter = getter; - }; - LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; - - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (function(from, to) { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(/** @type{Array} */(xhr.response || [])); - } else { - return intArrayFromString(xhr.responseText || '', true); - } - }); - var lazyArray = this; - lazyArray.setDataGetter(function(chunkNum) { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof(lazyArray.chunks[chunkNum]) === "undefined") { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!"); - return lazyArray.chunks[chunkNum]; - }); - - if (usesGzip || !datalength) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - datalength = this.getter(0).length; - chunkSize = datalength; - out("LazyFiles on gzip forces download of the whole file when length is accessed"); - } - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - }; - if (typeof XMLHttpRequest !== 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - Object.defineProperties(lazyArray, { - length: { - get: /** @this{Object} */ function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - }, - chunkSize: { - get: /** @this{Object} */ function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - } - }); - - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: /** @this {FSNode} */ function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach(function(key) { - var fn = node.stream_ops[key]; - stream_ops[key] = function forceLoadLazyFile() { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(29); - } - return fn.apply(null, arguments); - }; - }); - // use a custom read function - stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(29); - } - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - }; - node.stream_ops = stream_ops; - return node; - },createPreloadedFile:function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { - Browser.init(); // XXX perhaps this method should move onto Browser? - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname - function processData(byteArray) { - function finish(byteArray) { - if (preFinish) preFinish(); - if (!dontCreateFile) { - FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - if (onload) onload(); - removeRunDependency(dep); - } - var handled = false; - Module['preloadPlugins'].forEach(function(plugin) { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, function() { - if (onerror) onerror(); - removeRunDependency(dep); - }); - handled = true; - } - }); - if (!handled) finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - Browser.asyncLoad(url, function(byteArray) { - processData(byteArray); - }, onerror); - } else { - processData(url); - } - },indexedDB:function() { - return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; - },DB_NAME:function() { - return 'EM_FS_' + window.location.pathname; - },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths, onload, onerror) { - onload = onload || function(){}; - onerror = onerror || function(){}; - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); - } - openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { - out('creating db'); - var db = openRequest.result; - db.createObjectStore(FS.DB_STORE_NAME); - }; - openRequest.onsuccess = function openRequest_onsuccess() { - var db = openRequest.result; - var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); - var files = transaction.objectStore(FS.DB_STORE_NAME); - var ok = 0, fail = 0, total = paths.length; - function finish() { - if (fail == 0) onload(); else onerror(); - } - paths.forEach(function(path) { - var putRequest = files.put(FS.analyzePath(path).object.contents, path); - putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() }; - putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() }; - }); - transaction.onerror = onerror; - }; - openRequest.onerror = onerror; - },loadFilesFromDB:function(paths, onload, onerror) { - onload = onload || function(){}; - onerror = onerror || function(){}; - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); - } - openRequest.onupgradeneeded = onerror; // no database to load from - openRequest.onsuccess = function openRequest_onsuccess() { - var db = openRequest.result; - try { - var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); - } catch(e) { - onerror(e); - return; - } - var files = transaction.objectStore(FS.DB_STORE_NAME); - var ok = 0, fail = 0, total = paths.length; - function finish() { - if (fail == 0) onload(); else onerror(); - } - paths.forEach(function(path) { - var getRequest = files.get(path); - getRequest.onsuccess = function getRequest_onsuccess() { - if (FS.analyzePath(path).exists) { - FS.unlink(path); - } - FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); - ok++; - if (ok + fail == total) finish(); - }; - getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() }; - }); - transaction.onerror = onerror; - }; - openRequest.onerror = onerror; - },mmapAlloc:function(size) { - var alignedSize = alignMemory(size, 16384); - var ptr = _malloc(alignedSize); - while (size < alignedSize) HEAP8[ptr + size++] = 0; - return ptr; - }};var SYSCALLS={mappings:{},DEFAULT_POLLMASK:5,umask:511,calculateAt:function(dirfd, path) { - if (path[0] !== '/') { - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = FS.getStream(dirfd); - if (!dirstream) throw new FS.ErrnoError(8); - dir = dirstream.path; - } - path = PATH.join2(dir, path); - } - return path; - },doStat:function(func, path, buf) { - try { - var stat = func(path); - } catch (e) { - if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { - // an error occurred while trying to look up the path; we should just report ENOTDIR - return -54; - } - throw e; - } - HEAP32[((buf)>>2)]=stat.dev; - HEAP32[(((buf)+(4))>>2)]=0; - HEAP32[(((buf)+(8))>>2)]=stat.ino; - HEAP32[(((buf)+(12))>>2)]=stat.mode; - HEAP32[(((buf)+(16))>>2)]=stat.nlink; - HEAP32[(((buf)+(20))>>2)]=stat.uid; - HEAP32[(((buf)+(24))>>2)]=stat.gid; - HEAP32[(((buf)+(28))>>2)]=stat.rdev; - HEAP32[(((buf)+(32))>>2)]=0; - (tempI64 = [stat.size>>>0,(tempDouble=stat.size,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(40))>>2)]=tempI64[0],HEAP32[(((buf)+(44))>>2)]=tempI64[1]); - HEAP32[(((buf)+(48))>>2)]=4096; - HEAP32[(((buf)+(52))>>2)]=stat.blocks; - HEAP32[(((buf)+(56))>>2)]=(stat.atime.getTime() / 1000)|0; - HEAP32[(((buf)+(60))>>2)]=0; - HEAP32[(((buf)+(64))>>2)]=(stat.mtime.getTime() / 1000)|0; - HEAP32[(((buf)+(68))>>2)]=0; - HEAP32[(((buf)+(72))>>2)]=(stat.ctime.getTime() / 1000)|0; - HEAP32[(((buf)+(76))>>2)]=0; - (tempI64 = [stat.ino>>>0,(tempDouble=stat.ino,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(80))>>2)]=tempI64[0],HEAP32[(((buf)+(84))>>2)]=tempI64[1]); - return 0; - },doMsync:function(addr, stream, len, flags, offset) { - var buffer = HEAPU8.slice(addr, addr + len); - FS.msync(stream, buffer, offset, len, flags); - },doMkdir:function(path, mode) { - // remove a trailing slash, if one - /a/b/ has basename of '', but - // we want to create b in the context of this function - path = PATH.normalize(path); - if (path[path.length-1] === '/') path = path.substr(0, path.length-1); - FS.mkdir(path, mode, 0); - return 0; - },doMknod:function(path, mode, dev) { - // we don't want this in the JS API as it uses mknod to create all nodes. - switch (mode & 61440) { - case 32768: - case 8192: - case 24576: - case 4096: - case 49152: - break; - default: return -28; - } - FS.mknod(path, mode, dev); - return 0; - },doReadlink:function(path, buf, bufsize) { - if (bufsize <= 0) return -28; - var ret = FS.readlink(path); - - var len = Math.min(bufsize, lengthBytesUTF8(ret)); - var endChar = HEAP8[buf+len]; - stringToUTF8(ret, buf, bufsize+1); - // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!) - // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write. - HEAP8[buf+len] = endChar; - - return len; - },doAccess:function(path, amode) { - if (amode & ~7) { - // need a valid mode - return -28; - } - var node; - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - if (!node) { - return -44; - } - var perms = ''; - if (amode & 4) perms += 'r'; - if (amode & 2) perms += 'w'; - if (amode & 1) perms += 'x'; - if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { - return -2; - } - return 0; - },doDup:function(path, flags, suggestFD) { - var suggest = FS.getStream(suggestFD); - if (suggest) FS.close(suggest); - return FS.open(path, flags, 0, suggestFD, suggestFD).fd; - },doReadv:function(stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.read(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - } - return ret; - },doWritev:function(stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.write(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - } - return ret; - },varargs:undefined,get:function() { - SYSCALLS.varargs += 4; - var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; - return ret; - },getStr:function(ptr) { - var ret = UTF8ToString(ptr); - return ret; - },getStreamFromFD:function(fd) { - var stream = FS.getStream(fd); - if (!stream) throw new FS.ErrnoError(8); - return stream; - },get64:function(low, high) { - return low; - }};function ___sys_fcntl64(fd, cmd, varargs) {SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (cmd) { - case 0: { - var arg = SYSCALLS.get(); - if (arg < 0) { - return -28; - } - var newStream; - newStream = FS.open(stream.path, stream.flags, 0, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = SYSCALLS.get(); - stream.flags |= arg; - return 0; - } - case 12: - /* case 12: Currently in musl F_GETLK64 has same value as F_GETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ { - - var arg = SYSCALLS.get(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)]=2; - return 0; - } - case 13: - case 14: - /* case 13: Currently in musl F_SETLK64 has same value as F_SETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ - /* case 14: Currently in musl F_SETLKW64 has same value as F_SETLKW, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ - - - return 0; // Pretend that the locking is successful. - case 16: - case 8: - return -28; // These are for sockets. We don't have them fully implemented yet. - case 9: - // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. - setErrNo(28); - return -1; - default: { - return -28; - } - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function ___sys_ioctl(fd, op, varargs) {SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (op) { - case 21509: - case 21505: { - if (!stream.tty) return -59; - return 0; - } - case 21510: - case 21511: - case 21512: - case 21506: - case 21507: - case 21508: { - if (!stream.tty) return -59; - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -59; - var argp = SYSCALLS.get(); - HEAP32[((argp)>>2)]=0; - return 0; - } - case 21520: { - if (!stream.tty) return -59; - return -28; // not supported - } - case 21531: { - var argp = SYSCALLS.get(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -59; - return 0; - } - case 21524: { - // TODO: technically, this ioctl call should change the window size. - // but, since emscripten doesn't have any concept of a terminal window - // yet, we'll just silently throw it away as we do TIOCGWINSZ - if (!stream.tty) return -59; - return 0; - } - default: abort('bad ioctl syscall ' + op); - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function ___sys_open(path, flags, varargs) {SYSCALLS.varargs = varargs; - try { - - var pathname = SYSCALLS.getStr(path); - var mode = SYSCALLS.get(); - var stream = FS.open(pathname, flags, mode); - return stream.fd; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - - - - - function _emscripten_set_main_loop_timing(mode, value) { - Browser.mainLoop.timingMode = mode; - Browser.mainLoop.timingValue = value; - - if (!Browser.mainLoop.func) { - return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. - } - - if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { - var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; - setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop - }; - Browser.mainLoop.method = 'timeout'; - } else if (mode == 1 /*EM_TIMING_RAF*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { - Browser.requestAnimationFrame(Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'rAF'; - } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { - if (typeof setImmediate === 'undefined') { - // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) - var setImmediates = []; - var emscriptenMainLoopMessageId = 'setimmediate'; - var Browser_setImmediate_messageHandler = function(event) { - // When called in current thread or Worker, the main loop ID is structured slightly different to accommodate for --proxy-to-worker runtime listening to Worker events, - // so check for both cases. - if (event.data === emscriptenMainLoopMessageId || event.data.target === emscriptenMainLoopMessageId) { - event.stopPropagation(); - setImmediates.shift()(); - } - } - addEventListener("message", Browser_setImmediate_messageHandler, true); - setImmediate = /** @type{function(function(): ?, ...?): number} */(function Browser_emulated_setImmediate(func) { - setImmediates.push(func); - if (ENVIRONMENT_IS_WORKER) { - if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; - Module['setImmediates'].push(func); - postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js - } else postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. - }) - } - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { - setImmediate(Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'immediate'; - } - return 0; - } - - var _emscripten_get_now;if (ENVIRONMENT_IS_NODE) { - _emscripten_get_now = function() { - var t = process['hrtime'](); - return t[0] * 1e3 + t[1] / 1e6; - }; - } else if (typeof dateNow !== 'undefined') { - _emscripten_get_now = dateNow; - } else _emscripten_get_now = function() { return performance.now(); } - ;function setMainLoop(browserIterationFunc, fps, simulateInfiniteLoop, arg, noSetTiming) { - noExitRuntime = true; - - assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); - - Browser.mainLoop.func = browserIterationFunc; - Browser.mainLoop.arg = arg; - - var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; - - Browser.mainLoop.runner = function Browser_mainLoop_runner() { - if (ABORT) return; - if (Browser.mainLoop.queue.length > 0) { - var start = Date.now(); - var blocker = Browser.mainLoop.queue.shift(); - blocker.func(blocker.arg); - if (Browser.mainLoop.remainingBlockers) { - var remaining = Browser.mainLoop.remainingBlockers; - var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); - if (blocker.counted) { - Browser.mainLoop.remainingBlockers = next; - } else { - // not counted, but move the progress along a tiny bit - next = next + 0.5; // do not steal all the next one's progress - Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; - } - } - console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); - Browser.mainLoop.updateStatus(); - - // catches pause/resume main loop from blocker execution - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - setTimeout(Browser.mainLoop.runner, 0); - return; - } - - // catch pauses from non-main loop sources - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Implement very basic swap interval control - Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; - if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { - // Not the scheduled time to render this frame - skip. - Browser.mainLoop.scheduler(); - return; - } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.tickStartTime = _emscripten_get_now(); - } - - // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize - // VBO double-buffering and reduce GPU stalls. - - - - - Browser.mainLoop.runIter(browserIterationFunc); - - - // catch pauses from the main loop itself - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able - // to queue the newest produced audio samples. - // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() - // do not need to be hardcoded into this function, but can be more generic. - if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); - - Browser.mainLoop.scheduler(); - } - - if (!noSetTiming) { - if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) - - Browser.mainLoop.scheduler(); - } - - if (simulateInfiniteLoop) { - throw 'unwind'; - } - }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function() { - Browser.mainLoop.scheduler = null; - Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. - },resume:function() { - Browser.mainLoop.currentlyRunningMainloop++; - var timingMode = Browser.mainLoop.timingMode; - var timingValue = Browser.mainLoop.timingValue; - var func = Browser.mainLoop.func; - Browser.mainLoop.func = null; - setMainLoop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); - _emscripten_set_main_loop_timing(timingMode, timingValue); - Browser.mainLoop.scheduler(); - },updateStatus:function() { - if (Module['setStatus']) { - var message = Module['statusMessage'] || 'Please wait...'; - var remaining = Browser.mainLoop.remainingBlockers; - var expected = Browser.mainLoop.expectedBlockers; - if (remaining) { - if (remaining < expected) { - Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); - } else { - Module['setStatus'](message); - } - } else { - Module['setStatus'](''); - } - } - },runIter:function(func) { - if (ABORT) return; - if (Module['preMainLoop']) { - var preRet = Module['preMainLoop'](); - if (preRet === false) { - return; // |return false| skips a frame - } - } - try { - func(); - } catch (e) { - if (e instanceof ExitStatus) { - return; - } else if (e == 'unwind') { - return; - } else { - if (e && typeof e === 'object' && e.stack) err('exception thrown: ' + [e, e.stack]); - throw e; - } - } - if (Module['postMainLoop']) Module['postMainLoop'](); - }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function() { - if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers - - if (Browser.initted) return; - Browser.initted = true; - - try { - new Blob(); - Browser.hasBlobConstructor = true; - } catch(e) { - Browser.hasBlobConstructor = false; - console.log("warning: no blob constructor, cannot create blobs with mimetypes"); - } - Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); - Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; - if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { - console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); - Module.noImageDecoding = true; - } - - // Support for plugins that can process preloaded files. You can add more of these to - // your app by creating and appending to Module.preloadPlugins. - // - // Each plugin is asked if it can handle a file based on the file's name. If it can, - // it is given the file's raw data. When it is done, it calls a callback with the file's - // (possibly modified) data. For example, a plugin might decompress a file, or it - // might create some side data structure for use later (like an Image element, etc.). - - var imagePlugin = {}; - imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { - return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); - }; - imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { - var b = null; - if (Browser.hasBlobConstructor) { - try { - b = new Blob([byteArray], { type: Browser.getMimetype(name) }); - if (b.size !== byteArray.length) { // Safari bug #118630 - // Safari's Blob can only take an ArrayBuffer - b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); - } - } catch(e) { - warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); - } - } - if (!b) { - var bb = new Browser.BlobBuilder(); - bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range - b = bb.getBlob(); - } - var url = Browser.URLObject.createObjectURL(b); - var img = new Image(); - img.onload = function img_onload() { - assert(img.complete, 'Image ' + name + ' could not be decoded'); - var canvas = document.createElement('canvas'); - canvas.width = img.width; - canvas.height = img.height; - var ctx = canvas.getContext('2d'); - ctx.drawImage(img, 0, 0); - Module["preloadedImages"][name] = canvas; - Browser.URLObject.revokeObjectURL(url); - if (onload) onload(byteArray); - }; - img.onerror = function img_onerror(event) { - console.log('Image ' + url + ' could not be decoded'); - if (onerror) onerror(); - }; - img.src = url; - }; - Module['preloadPlugins'].push(imagePlugin); - - var audioPlugin = {}; - audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { - return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; - }; - audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { - var done = false; - function finish(audio) { - if (done) return; - done = true; - Module["preloadedAudios"][name] = audio; - if (onload) onload(byteArray); - } - function fail() { - if (done) return; - done = true; - Module["preloadedAudios"][name] = new Audio(); // empty shim - if (onerror) onerror(); - } - if (Browser.hasBlobConstructor) { - try { - var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); - } catch(e) { - return fail(); - } - var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! - var audio = new Audio(); - audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 - audio.onerror = function audio_onerror(event) { - if (done) return; - console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); - function encode64(data) { - var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; - var PAD = '='; - var ret = ''; - var leftchar = 0; - var leftbits = 0; - for (var i = 0; i < data.length; i++) { - leftchar = (leftchar << 8) | data[i]; - leftbits += 8; - while (leftbits >= 6) { - var curr = (leftchar >> (leftbits-6)) & 0x3f; - leftbits -= 6; - ret += BASE[curr]; - } - } - if (leftbits == 2) { - ret += BASE[(leftchar&3) << 4]; - ret += PAD + PAD; - } else if (leftbits == 4) { - ret += BASE[(leftchar&0xf) << 2]; - ret += PAD; - } - return ret; - } - audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); - finish(audio); // we don't wait for confirmation this worked - but it's worth trying - }; - audio.src = url; - // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror - Browser.safeSetTimeout(function() { - finish(audio); // try to use it even though it is not necessarily ready to play - }, 10000); - } else { - return fail(); - } - }; - Module['preloadPlugins'].push(audioPlugin); - - - // Canvas event setup - - function pointerLockChange() { - Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || - document['mozPointerLockElement'] === Module['canvas'] || - document['webkitPointerLockElement'] === Module['canvas'] || - document['msPointerLockElement'] === Module['canvas']; - } - var canvas = Module['canvas']; - if (canvas) { - // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module - // Module['forcedAspectRatio'] = 4 / 3; - - canvas.requestPointerLock = canvas['requestPointerLock'] || - canvas['mozRequestPointerLock'] || - canvas['webkitRequestPointerLock'] || - canvas['msRequestPointerLock'] || - function(){}; - canvas.exitPointerLock = document['exitPointerLock'] || - document['mozExitPointerLock'] || - document['webkitExitPointerLock'] || - document['msExitPointerLock'] || - function(){}; // no-op if function does not exist - canvas.exitPointerLock = canvas.exitPointerLock.bind(document); - - document.addEventListener('pointerlockchange', pointerLockChange, false); - document.addEventListener('mozpointerlockchange', pointerLockChange, false); - document.addEventListener('webkitpointerlockchange', pointerLockChange, false); - document.addEventListener('mspointerlockchange', pointerLockChange, false); - - if (Module['elementPointerLock']) { - canvas.addEventListener("click", function(ev) { - if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { - Module['canvas'].requestPointerLock(); - ev.preventDefault(); - } - }, false); - } - } - },createContext:function(canvas, useWebGL, setInModule, webGLContextAttributes) { - if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. - - var ctx; - var contextHandle; - if (useWebGL) { - // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. - var contextAttributes = { - antialias: false, - alpha: false, - majorVersion: 1, - }; - - if (webGLContextAttributes) { - for (var attribute in webGLContextAttributes) { - contextAttributes[attribute] = webGLContextAttributes[attribute]; - } - } - - // This check of existence of GL is here to satisfy Closure compiler, which yells if variable GL is referenced below but GL object is not - // actually compiled in because application is not doing any GL operations. TODO: Ideally if GL is not being used, this function - // Browser.createContext() should not even be emitted. - if (typeof GL !== 'undefined') { - contextHandle = GL.createContext(canvas, contextAttributes); - if (contextHandle) { - ctx = GL.getContext(contextHandle).GLctx; - } - } - } else { - ctx = canvas.getContext('2d'); - } - - if (!ctx) return null; - - if (setInModule) { - if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); - - Module.ctx = ctx; - if (useWebGL) GL.makeContextCurrent(contextHandle); - Module.useWebGL = useWebGL; - Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); - Browser.init(); - } - return ctx; - },destroyContext:function(canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer, resizeCanvas) { - Browser.lockPointer = lockPointer; - Browser.resizeCanvas = resizeCanvas; - if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; - if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; - - var canvas = Module['canvas']; - function fullscreenChange() { - Browser.isFullscreen = false; - var canvasContainer = canvas.parentNode; - if ((document['fullscreenElement'] || document['mozFullScreenElement'] || - document['msFullscreenElement'] || document['webkitFullscreenElement'] || - document['webkitCurrentFullScreenElement']) === canvasContainer) { - canvas.exitFullscreen = Browser.exitFullscreen; - if (Browser.lockPointer) canvas.requestPointerLock(); - Browser.isFullscreen = true; - if (Browser.resizeCanvas) { - Browser.setFullscreenCanvasSize(); - } else { - Browser.updateCanvasDimensions(canvas); - } - } else { - // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen - canvasContainer.parentNode.insertBefore(canvas, canvasContainer); - canvasContainer.parentNode.removeChild(canvasContainer); - - if (Browser.resizeCanvas) { - Browser.setWindowedCanvasSize(); - } else { - Browser.updateCanvasDimensions(canvas); - } - } - if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); - if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); - } - - if (!Browser.fullscreenHandlersInstalled) { - Browser.fullscreenHandlersInstalled = true; - document.addEventListener('fullscreenchange', fullscreenChange, false); - document.addEventListener('mozfullscreenchange', fullscreenChange, false); - document.addEventListener('webkitfullscreenchange', fullscreenChange, false); - document.addEventListener('MSFullscreenChange', fullscreenChange, false); - } - - // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root - var canvasContainer = document.createElement("div"); - canvas.parentNode.insertBefore(canvasContainer, canvas); - canvasContainer.appendChild(canvas); - - // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) - canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || - canvasContainer['mozRequestFullScreen'] || - canvasContainer['msRequestFullscreen'] || - (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || - (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); - - canvasContainer.requestFullscreen(); - },exitFullscreen:function() { - // This is workaround for chrome. Trying to exit from fullscreen - // not in fullscreen state will cause "TypeError: Document not active" - // in chrome. See https://github.com/emscripten-core/emscripten/pull/8236 - if (!Browser.isFullscreen) { - return false; - } - - var CFS = document['exitFullscreen'] || - document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['msExitFullscreen'] || - document['webkitCancelFullScreen'] || - (function() {}); - CFS.apply(document, []); - return true; - },nextRAF:0,fakeRequestAnimationFrame:function(func) { - // try to keep 60fps between calls to here - var now = Date.now(); - if (Browser.nextRAF === 0) { - Browser.nextRAF = now + 1000/60; - } else { - while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 - Browser.nextRAF += 1000/60; - } - } - var delay = Math.max(Browser.nextRAF - now, 0); - setTimeout(func, delay); - },requestAnimationFrame:function(func) { - if (typeof requestAnimationFrame === 'function') { - requestAnimationFrame(func); - return; - } - var RAF = Browser.fakeRequestAnimationFrame; - RAF(func); - },safeCallback:function(func) { - return function() { - if (!ABORT) return func.apply(null, arguments); - }; - },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function() { - Browser.allowAsyncCallbacks = false; - },resumeAsyncCallbacks:function() { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now - Browser.allowAsyncCallbacks = true; - if (Browser.queuedAsyncCallbacks.length > 0) { - var callbacks = Browser.queuedAsyncCallbacks; - Browser.queuedAsyncCallbacks = []; - callbacks.forEach(function(func) { - func(); - }); - } - },safeRequestAnimationFrame:function(func) { - return Browser.requestAnimationFrame(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } else { - Browser.queuedAsyncCallbacks.push(func); - } - }); - },safeSetTimeout:function(func, timeout) { - noExitRuntime = true; - return setTimeout(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } else { - Browser.queuedAsyncCallbacks.push(func); - } - }, timeout); - },safeSetInterval:function(func, timeout) { - noExitRuntime = true; - return setInterval(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } // drop it on the floor otherwise, next interval will kick in - }, timeout); - },getMimetype:function(name) { - return { - 'jpg': 'image/jpeg', - 'jpeg': 'image/jpeg', - 'png': 'image/png', - 'bmp': 'image/bmp', - 'ogg': 'audio/ogg', - 'wav': 'audio/wav', - 'mp3': 'audio/mpeg' - }[name.substr(name.lastIndexOf('.')+1)]; - },getUserMedia:function(func) { - if(!window.getUserMedia) { - window.getUserMedia = navigator['getUserMedia'] || - navigator['mozGetUserMedia']; - } - window.getUserMedia(func); - },getMovementX:function(event) { - return event['movementX'] || - event['mozMovementX'] || - event['webkitMovementX'] || - 0; - },getMovementY:function(event) { - return event['movementY'] || - event['mozMovementY'] || - event['webkitMovementY'] || - 0; - },getMouseWheelDelta:function(event) { - var delta = 0; - switch (event.type) { - case 'DOMMouseScroll': - // 3 lines make up a step - delta = event.detail / 3; - break; - case 'mousewheel': - // 120 units make up a step - delta = event.wheelDelta / 120; - break; - case 'wheel': - delta = event.deltaY - switch(event.deltaMode) { - case 0: - // DOM_DELTA_PIXEL: 100 pixels make up a step - delta /= 100; - break; - case 1: - // DOM_DELTA_LINE: 3 lines make up a step - delta /= 3; - break; - case 2: - // DOM_DELTA_PAGE: A page makes up 80 steps - delta *= 80; - break; - default: - throw 'unrecognized mouse wheel delta mode: ' + event.deltaMode; - } - break; - default: - throw 'unrecognized mouse wheel event: ' + event.type; - } - return delta; - },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event) { // event should be mousemove, mousedown or mouseup - if (Browser.pointerLock) { - // When the pointer is locked, calculate the coordinates - // based on the movement of the mouse. - // Workaround for Firefox bug 764498 - if (event.type != 'mousemove' && - ('mozMovementX' in event)) { - Browser.mouseMovementX = Browser.mouseMovementY = 0; - } else { - Browser.mouseMovementX = Browser.getMovementX(event); - Browser.mouseMovementY = Browser.getMovementY(event); - } - - // check if SDL is available - if (typeof SDL != "undefined") { - Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; - Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; - } else { - // just add the mouse delta to the current absolut mouse position - // FIXME: ideally this should be clamped against the canvas size and zero - Browser.mouseX += Browser.mouseMovementX; - Browser.mouseY += Browser.mouseMovementY; - } - } else { - // Otherwise, calculate the movement based on the changes - // in the coordinates. - var rect = Module["canvas"].getBoundingClientRect(); - var cw = Module["canvas"].width; - var ch = Module["canvas"].height; - - // Neither .scrollX or .pageXOffset are defined in a spec, but - // we prefer .scrollX because it is currently in a spec draft. - // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) - var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); - var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); - - if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { - var touch = event.touch; - if (touch === undefined) { - return; // the "touch" property is only defined in SDL - - } - var adjustedX = touch.pageX - (scrollX + rect.left); - var adjustedY = touch.pageY - (scrollY + rect.top); - - adjustedX = adjustedX * (cw / rect.width); - adjustedY = adjustedY * (ch / rect.height); - - var coords = { x: adjustedX, y: adjustedY }; - - if (event.type === 'touchstart') { - Browser.lastTouches[touch.identifier] = coords; - Browser.touches[touch.identifier] = coords; - } else if (event.type === 'touchend' || event.type === 'touchmove') { - var last = Browser.touches[touch.identifier]; - if (!last) last = coords; - Browser.lastTouches[touch.identifier] = last; - Browser.touches[touch.identifier] = coords; - } - return; - } - - var x = event.pageX - (scrollX + rect.left); - var y = event.pageY - (scrollY + rect.top); - - // the canvas might be CSS-scaled compared to its backbuffer; - // SDL-using content will want mouse coordinates in terms - // of backbuffer units. - x = x * (cw / rect.width); - y = y * (ch / rect.height); - - Browser.mouseMovementX = x - Browser.mouseX; - Browser.mouseMovementY = y - Browser.mouseY; - Browser.mouseX = x; - Browser.mouseY = y; - } - },asyncLoad:function(url, onload, onerror, noRunDep) { - var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; - readAsync(url, function(arrayBuffer) { - assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); - onload(new Uint8Array(arrayBuffer)); - if (dep) removeRunDependency(dep); - }, function(event) { - if (onerror) { - onerror(); - } else { - throw 'Loading data file "' + url + '" failed.'; - } - }); - if (dep) addRunDependency(dep); - },resizeListeners:[],updateResizeListeners:function() { - var canvas = Module['canvas']; - Browser.resizeListeners.forEach(function(listener) { - listener(canvas.width, canvas.height); - }); - },setCanvasSize:function(width, height, noUpdates) { - var canvas = Module['canvas']; - Browser.updateCanvasDimensions(canvas, width, height); - if (!noUpdates) Browser.updateResizeListeners(); - },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function() { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen)>>2)]; - flags = flags | 0x00800000; // set SDL_FULLSCREEN flag - HEAP32[((SDL.screen)>>2)]=flags - } - Browser.updateCanvasDimensions(Module['canvas']); - Browser.updateResizeListeners(); - },setWindowedCanvasSize:function() { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen)>>2)]; - flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag - HEAP32[((SDL.screen)>>2)]=flags - } - Browser.updateCanvasDimensions(Module['canvas']); - Browser.updateResizeListeners(); - },updateCanvasDimensions:function(canvas, wNative, hNative) { - if (wNative && hNative) { - canvas.widthNative = wNative; - canvas.heightNative = hNative; - } else { - wNative = canvas.widthNative; - hNative = canvas.heightNative; - } - var w = wNative; - var h = hNative; - if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { - if (w/h < Module['forcedAspectRatio']) { - w = Math.round(h * Module['forcedAspectRatio']); - } else { - h = Math.round(w / Module['forcedAspectRatio']); - } - } - if (((document['fullscreenElement'] || document['mozFullScreenElement'] || - document['msFullscreenElement'] || document['webkitFullscreenElement'] || - document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { - var factor = Math.min(screen.width / w, screen.height / h); - w = Math.round(w * factor); - h = Math.round(h * factor); - } - if (Browser.resizeCanvas) { - if (canvas.width != w) canvas.width = w; - if (canvas.height != h) canvas.height = h; - if (typeof canvas.style != 'undefined') { - canvas.style.removeProperty( "width"); - canvas.style.removeProperty("height"); - } - } else { - if (canvas.width != wNative) canvas.width = wNative; - if (canvas.height != hNative) canvas.height = hNative; - if (typeof canvas.style != 'undefined') { - if (w != wNative || h != hNative) { - canvas.style.setProperty( "width", w + "px", "important"); - canvas.style.setProperty("height", h + "px", "important"); - } else { - canvas.style.removeProperty( "width"); - canvas.style.removeProperty("height"); - } - } - } - },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function() { - var handle = Browser.nextWgetRequestHandle; - Browser.nextWgetRequestHandle++; - return handle; - }};var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:false,depth:false,stencil:false,antialias:false},stringCache:{},setErrorCode:function(code) { - EGL.errorCode = code; - },chooseConfig:function(display, attribList, config, config_size, numConfigs) { - if (display != 62000 /* Magic ID for Emscripten 'default display' */) { - EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); - return 0; - } - - if (attribList) { - // read attribList if it is non-null - for(;;) { - var param = HEAP32[((attribList)>>2)]; - if (param == 0x3021 /*EGL_ALPHA_SIZE*/) { - var alphaSize = HEAP32[(((attribList)+(4))>>2)]; - EGL.contextAttributes.alpha = (alphaSize > 0); - } else if (param == 0x3025 /*EGL_DEPTH_SIZE*/) { - var depthSize = HEAP32[(((attribList)+(4))>>2)]; - EGL.contextAttributes.depth = (depthSize > 0); - } else if (param == 0x3026 /*EGL_STENCIL_SIZE*/) { - var stencilSize = HEAP32[(((attribList)+(4))>>2)]; - EGL.contextAttributes.stencil = (stencilSize > 0); - } else if (param == 0x3031 /*EGL_SAMPLES*/) { - var samples = HEAP32[(((attribList)+(4))>>2)]; - EGL.contextAttributes.antialias = (samples > 0); - } else if (param == 0x3032 /*EGL_SAMPLE_BUFFERS*/) { - var samples = HEAP32[(((attribList)+(4))>>2)]; - EGL.contextAttributes.antialias = (samples == 1); - } else if (param == 0x3100 /*EGL_CONTEXT_PRIORITY_LEVEL_IMG*/) { - var requestedPriority = HEAP32[(((attribList)+(4))>>2)]; - EGL.contextAttributes.lowLatency = (requestedPriority != 0x3103 /*EGL_CONTEXT_PRIORITY_LOW_IMG*/); - } else if (param == 0x3038 /*EGL_NONE*/) { - break; - } - attribList += 8; - } - } - - if ((!config || !config_size) && !numConfigs) { - EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); - return 0; - } - if (numConfigs) { - HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. - } - if (config && config_size > 0) { - HEAP32[((config)>>2)]=62002; - } - - EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); - return 1; - }};function _eglGetProcAddress(name_) { - return _emscripten_GetProcAddress(name_); - } - - - var JSEvents={inEventHandler:0,removeAllEventListeners:function() { - for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { - JSEvents._removeHandler(i); - } - JSEvents.eventHandlers = []; - JSEvents.deferredCalls = []; - },registerRemoveEventListeners:function() { - if (!JSEvents.removeEventListenersRegistered) { - __ATEXIT__.push(JSEvents.removeAllEventListeners); - JSEvents.removeEventListenersRegistered = true; - } - },deferredCalls:[],deferCall:function(targetFunction, precedence, argsList) { - function arraysHaveEqualContent(arrA, arrB) { - if (arrA.length != arrB.length) return false; - - for(var i in arrA) { - if (arrA[i] != arrB[i]) return false; - } - return true; - } - // Test if the given call was already queued, and if so, don't add it again. - for(var i in JSEvents.deferredCalls) { - var call = JSEvents.deferredCalls[i]; - if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { - return; - } - } - JSEvents.deferredCalls.push({ - targetFunction: targetFunction, - precedence: precedence, - argsList: argsList - }); - - JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); - },removeDeferredCalls:function(targetFunction) { - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { - JSEvents.deferredCalls.splice(i, 1); - --i; - } - } - },canPerformEventHandlerRequests:function() { - return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; - },runDeferredCalls:function() { - if (!JSEvents.canPerformEventHandlerRequests()) { - return; - } - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - var call = JSEvents.deferredCalls[i]; - JSEvents.deferredCalls.splice(i, 1); - --i; - call.targetFunction.apply(null, call.argsList); - } - },eventHandlers:[],removeAllHandlersOnTarget:function(target, eventTypeString) { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == target && - (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { - JSEvents._removeHandler(i--); - } - } - },_removeHandler:function(i) { - var h = JSEvents.eventHandlers[i]; - h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); - JSEvents.eventHandlers.splice(i, 1); - },registerOrRemoveHandler:function(eventHandler) { - var jsEventHandler = function jsEventHandler(event) { - // Increment nesting count for the event handler. - ++JSEvents.inEventHandler; - JSEvents.currentEventHandler = eventHandler; - // Process any old deferred calls the user has placed. - JSEvents.runDeferredCalls(); - // Process the actual event, calls back to user C code handler. - eventHandler.handlerFunc(event); - // Process any new deferred calls that were placed right now from this event handler. - JSEvents.runDeferredCalls(); - // Out of event handler - restore nesting count. - --JSEvents.inEventHandler; - }; - - if (eventHandler.callbackfunc) { - eventHandler.eventListenerFunc = jsEventHandler; - eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); - JSEvents.eventHandlers.push(eventHandler); - JSEvents.registerRemoveEventListeners(); - } else { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == eventHandler.target - && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { - JSEvents._removeHandler(i--); - } - } - } - },getNodeNameForTarget:function(target) { - if (!target) return ''; - if (target == window) return '#window'; - if (target == screen) return '#screen'; - return (target && target.nodeName) ? target.nodeName : ''; - },fullscreenEnabled:function() { - return document.fullscreenEnabled - // Safari 13.0.3 on macOS Catalina 10.15.1 still ships with prefixed webkitFullscreenEnabled. - // TODO: If Safari at some point ships with unprefixed version, update the version check above. - || document.webkitFullscreenEnabled - ; - }}; - - function __requestPointerLock(target) { - if (target.requestPointerLock) { - target.requestPointerLock(); - } else if (target.msRequestPointerLock) { - target.msRequestPointerLock(); - } else { - // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, - // or if the whole browser just doesn't support the feature. - if (document.body.requestPointerLock - || document.body.msRequestPointerLock - ) { - return -3; - } else { - return -1; - } - } - return 0; - }function _emscripten_exit_pointerlock() { - // Make sure no queued up calls will fire after this. - JSEvents.removeDeferredCalls(__requestPointerLock); - - if (document.exitPointerLock) { - document.exitPointerLock(); - } else if (document.msExitPointerLock) { - document.msExitPointerLock(); - } else { - return -1; - } - return 0; - } - - - - function maybeCStringToJsString(cString) { - // "cString > 2" checks if the input is a number, and isn't of the special - // values we accept here, EMSCRIPTEN_EVENT_TARGET_* (which map to 0, 1, 2). - // In other words, if cString > 2 then it's a pointer to a valid place in - // memory, and points to a C string. - return cString > 2 ? UTF8ToString(cString) : cString; - } - - var specialHTMLTargets=[0, typeof document !== 'undefined' ? document : 0, typeof window !== 'undefined' ? window : 0];function findEventTarget(target) { - target = maybeCStringToJsString(target); - var domElement = specialHTMLTargets[target] || (typeof document !== 'undefined' ? document.querySelector(target) : undefined); - return domElement; - } - - function __getBoundingClientRect(e) { - return specialHTMLTargets.indexOf(e) < 0 ? e.getBoundingClientRect() : {'left':0,'top':0}; - }function _emscripten_get_element_css_size(target, width, height) { - target = findEventTarget(target); - if (!target) return -4; - - var rect = __getBoundingClientRect(target); - HEAPF64[((width)>>3)]=rect.width; - HEAPF64[((height)>>3)]=rect.height; - - return 0; - } - - - function __fillGamepadEventData(eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.timestamp; - for(var i = 0; i < e.axes.length; ++i) { - HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; - } else { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; - } - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; - } else { - // Assigning a boolean to HEAP32, that's ok, but Closure would like to warn about it: - /** @suppress {checkTypes} */ - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1; - } - } - HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; - HEAP32[(((eventStruct)+(1300))>>2)]=e.index; - HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; - HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; - stringToUTF8(e.id, eventStruct + 1304, 64); - stringToUTF8(e.mapping, eventStruct + 1368, 64); - }function _emscripten_get_gamepad_status(index, gamepadState) { - - // INVALID_PARAM is returned on a Gamepad index that never was there. - if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; - - // NO_DATA is returned on a Gamepad index that was removed. - // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. - // This is because gamepads must keep their original position in the array. - // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. - if (!JSEvents.lastGamepadState[index]) return -7; - - __fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); - return 0; - } - - function _emscripten_get_num_gamepads() { - // N.B. Do not call emscripten_get_num_gamepads() unless having first called emscripten_sample_gamepad_data(), and that has returned EMSCRIPTEN_RESULT_SUCCESS. - // Otherwise the following line will throw an exception. - return JSEvents.lastGamepadState.length; - } - - - function __fillPointerlockChangeEventData(eventStruct) { - var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; - var isPointerlocked = !!pointerLockElement; - /** @suppress {checkTypes} */ - HEAP32[((eventStruct)>>2)]=isPointerlocked; - var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); - var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; - stringToUTF8(nodeName, eventStruct + 4, 128); - stringToUTF8(id, eventStruct + 132, 128); - }/** @suppress {missingProperties} */ - function _emscripten_get_pointerlock_status(pointerlockStatus) { - if (pointerlockStatus) __fillPointerlockChangeEventData(pointerlockStatus); - if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { - return -1; - } - return 0; - } - - - - function __webgl_enable_ANGLE_instanced_arrays(ctx) { - // Extension available in WebGL 1 from Firefox 26 and Google Chrome 30 onwards. Core feature in WebGL 2. - var ext = ctx.getExtension('ANGLE_instanced_arrays'); - if (ext) { - ctx['vertexAttribDivisor'] = function(index, divisor) { ext['vertexAttribDivisorANGLE'](index, divisor); }; - ctx['drawArraysInstanced'] = function(mode, first, count, primcount) { ext['drawArraysInstancedANGLE'](mode, first, count, primcount); }; - ctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { ext['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; - return 1; - } - } - - function __webgl_enable_OES_vertex_array_object(ctx) { - // Extension available in WebGL 1 from Firefox 25 and WebKit 536.28/desktop Safari 6.0.3 onwards. Core feature in WebGL 2. - var ext = ctx.getExtension('OES_vertex_array_object'); - if (ext) { - ctx['createVertexArray'] = function() { return ext['createVertexArrayOES'](); }; - ctx['deleteVertexArray'] = function(vao) { ext['deleteVertexArrayOES'](vao); }; - ctx['bindVertexArray'] = function(vao) { ext['bindVertexArrayOES'](vao); }; - ctx['isVertexArray'] = function(vao) { return ext['isVertexArrayOES'](vao); }; - return 1; - } - } - - function __webgl_enable_WEBGL_draw_buffers(ctx) { - // Extension available in WebGL 1 from Firefox 28 onwards. Core feature in WebGL 2. - var ext = ctx.getExtension('WEBGL_draw_buffers'); - if (ext) { - ctx['drawBuffers'] = function(n, bufs) { ext['drawBuffersWEBGL'](n, bufs); }; - return 1; - } - } - - function __webgl_enable_WEBGL_multi_draw(ctx) { - // Closure is expected to be allowed to minify the '.multiDrawWebgl' property, so not accessing it quoted. - return !!(ctx.multiDrawWebgl = ctx.getExtension('WEBGL_multi_draw')); - }var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode) { - if (!GL.lastError) { - GL.lastError = errorCode; - } - },getNewId:function(table) { - var ret = GL.counter++; - for (var i = table.length; i < ret; i++) { - table[i] = null; - } - return ret; - },getSource:function(shader, count, string, length) { - var source = ''; - for (var i = 0; i < count; ++i) { - var len = length ? HEAP32[(((length)+(i*4))>>2)] : -1; - source += UTF8ToString(HEAP32[(((string)+(i*4))>>2)], len < 0 ? undefined : len); - } - return source; - },createContext:function(canvas, webGLContextAttributes) { - - - - - - var ctx = - (canvas.getContext("webgl", webGLContextAttributes) - // https://caniuse.com/#feat=webgl - ); - - - if (!ctx) return 0; - - var handle = GL.registerContext(ctx, webGLContextAttributes); - - - - return handle; - },registerContext:function(ctx, webGLContextAttributes) { - // without pthreads a context is just an integer ID - var handle = GL.getNewId(GL.contexts); - - var context = { - handle: handle, - attributes: webGLContextAttributes, - version: webGLContextAttributes.majorVersion, - GLctx: ctx - }; - - - // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. - if (ctx.canvas) ctx.canvas.GLctxObject = context; - GL.contexts[handle] = context; - if (typeof webGLContextAttributes.enableExtensionsByDefault === 'undefined' || webGLContextAttributes.enableExtensionsByDefault) { - GL.initExtensions(context); - } - - - - - return handle; - },makeContextCurrent:function(contextHandle) { - - GL.currentContext = GL.contexts[contextHandle]; // Active Emscripten GL layer context object. - Module.ctx = GLctx = GL.currentContext && GL.currentContext.GLctx; // Active WebGL context object. - return !(contextHandle && !GLctx); - },getContext:function(contextHandle) { - return GL.contexts[contextHandle]; - },deleteContext:function(contextHandle) { - if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; - if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. - if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. - GL.contexts[contextHandle] = null; - },initExtensions:function(context) { - // If this function is called without a specific context object, init the extensions of the currently active context. - if (!context) context = GL.currentContext; - - if (context.initExtensionsDone) return; - context.initExtensionsDone = true; - - var GLctx = context.GLctx; - - // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. - - // Extensions that are only available in WebGL 1 (the calls will be no-ops if called on a WebGL 2 context active) - __webgl_enable_ANGLE_instanced_arrays(GLctx); - __webgl_enable_OES_vertex_array_object(GLctx); - __webgl_enable_WEBGL_draw_buffers(GLctx); - - GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); - __webgl_enable_WEBGL_multi_draw(GLctx); - - // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and - // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. - // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions - // here, as long as they don't produce a performance impact for users that might not be using those extensions. - // E.g. debugging-related extensions should probably be off by default. - var automaticallyEnabledExtensions = [ // Khronos ratified WebGL extensions ordered by number (no debug extensions): - "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", - "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", - "OES_element_index_uint", "EXT_texture_filter_anisotropic", "EXT_frag_depth", - "WEBGL_draw_buffers", "ANGLE_instanced_arrays", "OES_texture_float_linear", - "OES_texture_half_float_linear", "EXT_blend_minmax", "EXT_shader_texture_lod", - "EXT_texture_norm16", - // Community approved WebGL extensions ordered by number: - "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", - "EXT_sRGB", "WEBGL_compressed_texture_etc1", "EXT_disjoint_timer_query", - "WEBGL_compressed_texture_etc", "WEBGL_compressed_texture_astc", "EXT_color_buffer_float", - "WEBGL_compressed_texture_s3tc_srgb", "EXT_disjoint_timer_query_webgl2", - // Old style prefixed forms of extensions (but still currently used on e.g. iPhone Xs as - // tested on iOS 12.4.1): - "WEBKIT_WEBGL_compressed_texture_pvrtc"]; - - function shouldEnableAutomatically(extension) { - var ret = false; - automaticallyEnabledExtensions.forEach(function(include) { - if (extension.indexOf(include) != -1) { - ret = true; - } - }); - return ret; - } - - var exts = GLctx.getSupportedExtensions() || []; // .getSupportedExtensions() can return null if context is lost, so coerce to empty array. - exts.forEach(function(ext) { - if (automaticallyEnabledExtensions.indexOf(ext) != -1) { - GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. - } - }); - },populateUniformTable:function(program) { - var p = GL.programs[program]; - var ptable = GL.programInfos[program] = { - uniforms: {}, - maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. - maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. - maxUniformBlockNameLength: -1 // Lazily computed as well - }; - - var utable = ptable.uniforms; - // A program's uniform table maps the string name of an uniform to an integer location of that uniform. - // The global GL.uniforms map maps integer locations to WebGLUniformLocations. - var numUniforms = GLctx.getProgramParameter(p, 0x8B86/*GL_ACTIVE_UNIFORMS*/); - for (var i = 0; i < numUniforms; ++i) { - var u = GLctx.getActiveUniform(p, i); - - var name = u.name; - ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); - - // If we are dealing with an array, e.g. vec4 foo[3], strip off the array index part to canonicalize that "foo", "foo[]", - // and "foo[0]" will mean the same. Loop below will populate foo[1] and foo[2]. - if (name.slice(-1) == ']') { - name = name.slice(0, name.lastIndexOf('[')); - } - - // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then - // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. - // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. - var loc = GLctx.getUniformLocation(p, name); - if (loc) { - var id = GL.getNewId(GL.uniforms); - utable[name] = [u.size, id]; - GL.uniforms[id] = loc; - - for (var j = 1; j < u.size; ++j) { - var n = name + '['+j+']'; - loc = GLctx.getUniformLocation(p, n); - id = GL.getNewId(GL.uniforms); - - GL.uniforms[id] = loc; - } - } - } - }};function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _emscripten_glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _emscripten_glBeginQueryEXT(target, id) { - GLctx.disjointTimerQueryExt['beginQueryEXT'](target, GL.timerQueriesEXT[id]); - } - - function _emscripten_glBindAttribLocation(program, index, name) { - GLctx.bindAttribLocation(GL.programs[program], index, UTF8ToString(name)); - } - - function _emscripten_glBindBuffer(target, buffer) { - - GLctx.bindBuffer(target, GL.buffers[buffer]); - } - - function _emscripten_glBindFramebuffer(target, framebuffer) { - - GLctx.bindFramebuffer(target, GL.framebuffers[framebuffer]); - - } - - function _emscripten_glBindRenderbuffer(target, renderbuffer) { - GLctx.bindRenderbuffer(target, GL.renderbuffers[renderbuffer]); - } - - function _emscripten_glBindTexture(target, texture) { - GLctx.bindTexture(target, GL.textures[texture]); - } - - function _emscripten_glBindVertexArrayOES(vao) { - GLctx['bindVertexArray'](GL.vaos[vao]); - } - - function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } - - function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } - - function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } - - function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } - - function _emscripten_glBufferData(target, size, data, usage) { - - // N.b. here first form specifies a heap subarray, second form an integer size, so the ?: code here is polymorphic. It is advised to avoid - // randomly mixing both uses in calling code, to avoid any potential JS engine JIT issues. - GLctx.bufferData(target, data ? HEAPU8.subarray(data, data+size) : size, usage); - } - - function _emscripten_glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } - - function _emscripten_glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } - - function _emscripten_glColorMask(red, green, blue, alpha) { - GLctx.colorMask(!!red, !!green, !!blue, !!alpha); - } - - function _emscripten_glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { - GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _emscripten_glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - } - } - - function _emscripten_glDeleteFramebuffers(n, framebuffers) { - for (var i = 0; i < n; ++i) { - var id = HEAP32[(((framebuffers)+(i*4))>>2)]; - var framebuffer = GL.framebuffers[id]; - if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". - GLctx.deleteFramebuffer(framebuffer); - framebuffer.name = 0; - GL.framebuffers[id] = null; - } - } - - function _emscripten_glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_glDeleteQueriesEXT(n, ids) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((ids)+(i*4))>>2)]; - var query = GL.timerQueriesEXT[id]; - if (!query) continue; // GL spec: "unused names in ids are ignored, as is the name zero." - GLctx.disjointTimerQueryExt['deleteQueryEXT'](query); - GL.timerQueriesEXT[id] = null; - } - } - - function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; - var renderbuffer = GL.renderbuffers[id]; - if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". - GLctx.deleteRenderbuffer(renderbuffer); - renderbuffer.name = 0; - GL.renderbuffers[id] = null; - } - } - - function _emscripten_glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _emscripten_glDeleteVertexArraysOES(n, vaos) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((vaos)+(i*4))>>2)]; - GLctx['deleteVertexArray'](GL.vaos[id]); - GL.vaos[id] = null; - } - } - - function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - function _emscripten_glDepthMask(flag) { - GLctx.depthMask(!!flag); - } - - function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_glDetachShader(program, shader) { - GLctx.detachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _emscripten_glDisable(x0) { GLctx['disable'](x0) } - - function _emscripten_glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glDrawArraysInstancedANGLE(mode, first, count, primcount) { - GLctx['drawArraysInstanced'](mode, first, count, primcount); - } - - - var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n, bufs) { - - var bufArray = tempFixedLengthArray[n]; - for (var i = 0; i < n; i++) { - bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; - } - - GLctx['drawBuffers'](bufArray); - } - - function _emscripten_glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _emscripten_glDrawElementsInstancedANGLE(mode, count, type, indices, primcount) { - GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); - } - - function _emscripten_glEnable(x0) { GLctx['enable'](x0) } - - function _emscripten_glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - function _emscripten_glEndQueryEXT(target) { - GLctx.disjointTimerQueryExt['endQueryEXT'](target); - } - - function _emscripten_glFinish() { GLctx['finish']() } - - function _emscripten_glFlush() { GLctx['flush']() } - - function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { - GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, - GL.renderbuffers[renderbuffer]); - } - - function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { - GLctx.framebufferTexture2D(target, attachment, textarget, - GL.textures[texture], level); - } - - function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } - - - function __glGenObject(n, buffers, createFunction, objectTable - ) { - for (var i = 0; i < n; i++) { - var buffer = GLctx[createFunction](); - var id = buffer && GL.getNewId(objectTable); - if (buffer) { - buffer.name = id; - objectTable[id] = buffer; - } else { - GL.recordError(0x502 /* GL_INVALID_OPERATION */); - } - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - }function _emscripten_glGenBuffers(n, buffers) { - __glGenObject(n, buffers, 'createBuffer', GL.buffers - ); - } - - function _emscripten_glGenFramebuffers(n, ids) { - __glGenObject(n, ids, 'createFramebuffer', GL.framebuffers - ); - } - - function _emscripten_glGenQueriesEXT(n, ids) { - for (var i = 0; i < n; i++) { - var query = GLctx.disjointTimerQueryExt['createQueryEXT'](); - if (!query) { - GL.recordError(0x502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.timerQueriesEXT); - query.name = id; - GL.timerQueriesEXT[id] = query; - HEAP32[(((ids)+(i*4))>>2)]=id; - } - } - - function _emscripten_glGenRenderbuffers(n, renderbuffers) { - __glGenObject(n, renderbuffers, 'createRenderbuffer', GL.renderbuffers - ); - } - - function _emscripten_glGenTextures(n, textures) { - __glGenObject(n, textures, 'createTexture', GL.textures - ); - } - - function _emscripten_glGenVertexArraysOES(n, arrays) { - __glGenObject(n, arrays, 'createVertexArray', GL.vaos - ); - } - - function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } - - - function __glGetActiveAttribOrUniform(funcName, program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx[funcName](program, index); - if (info) { // If an error occurs, nothing will be written to length, size and type and name. - var numBytesWrittenExclNull = name && stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - }function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { - __glGetActiveAttribOrUniform('getActiveAttrib', program, index, bufSize, length, size, type, name); - } - - function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { - __glGetActiveAttribOrUniform('getActiveUniform', program, index, bufSize, length, size, type, name); - } - - function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { - var result = GLctx.getAttachedShaders(GL.programs[program]); - var len = result.length; - if (len > maxCount) { - len = maxCount; - } - HEAP32[((count)>>2)]=len; - for (var i = 0; i < len; ++i) { - var id = GL.shaders.indexOf(result[i]); - HEAP32[(((shaders)+(i*4))>>2)]=id; - } - } - - function _emscripten_glGetAttribLocation(program, name) { - return GLctx.getAttribLocation(GL.programs[program], UTF8ToString(name)); - } - - - - function writeI53ToI64(ptr, num) { - HEAPU32[ptr>>2] = num; - HEAPU32[ptr+4>>2] = (num - HEAPU32[ptr>>2])/4294967296; - }function emscriptenWebGLGet(name_, p, type) { - // Guard against user passing a null pointer. - // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. - // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but - // better to report an error instead of doing anything random. - if (!p) { - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - var ret = undefined; - switch(name_) { // Handle a few trivial GLES values - case 0x8DFA: // GL_SHADER_COMPILER - ret = 1; - break; - case 0x8DF8: // GL_SHADER_BINARY_FORMATS - if (type != 0 && type != 1) { - GL.recordError(0x500); // GL_INVALID_ENUM - } - return; // Do not write anything to the out pointer, since no binary formats are supported. - case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS - ret = 0; - break; - case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS - // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), - // so implement it ourselves to allow C++ GLES2 code get the length. - var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); - ret = formats ? formats.length : 0; - break; - } - - if (ret === undefined) { - var result = GLctx.getParameter(name_); - switch (typeof(result)) { - case "number": - ret = result; - break; - case "boolean": - ret = result ? 1 : 0; - break; - case "string": - GL.recordError(0x500); // GL_INVALID_ENUM - return; - case "object": - if (result === null) { - // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise - // can mean an invalid name_, which we need to report as an error - switch(name_) { - case 0x8894: // ARRAY_BUFFER_BINDING - case 0x8B8D: // CURRENT_PROGRAM - case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING - case 0x8CA6: // FRAMEBUFFER_BINDING or DRAW_FRAMEBUFFER_BINDING - case 0x8CA7: // RENDERBUFFER_BINDING - case 0x8069: // TEXTURE_BINDING_2D - case 0x85B5: // WebGL 2 GL_VERTEX_ARRAY_BINDING, or WebGL 1 extension OES_vertex_array_object GL_VERTEX_ARRAY_BINDING_OES - case 0x8514: { // TEXTURE_BINDING_CUBE_MAP - ret = 0; - break; - } - default: { - GL.recordError(0x500); // GL_INVALID_ENUM - return; - } - } - } else if (result instanceof Float32Array || - result instanceof Uint32Array || - result instanceof Int32Array || - result instanceof Array) { - for (var i = 0; i < result.length; ++i) { - switch (type) { - case 0: HEAP32[(((p)+(i*4))>>2)]=result[i]; break; - case 2: HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; - case 4: HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; - } - } - return; - } else { - try { - ret = result.name | 0; - } catch(e) { - GL.recordError(0x500); // GL_INVALID_ENUM - err('GL_INVALID_ENUM in glGet' + type + 'v: Unknown object returned from WebGL getParameter(' + name_ + ')! (error: ' + e + ')'); - return; - } - } - break; - default: - GL.recordError(0x500); // GL_INVALID_ENUM - err('GL_INVALID_ENUM in glGet' + type + 'v: Native code calling glGet' + type + 'v(' + name_ + ') and it returns ' + result + ' of type ' + typeof(result) + '!'); - return; - } - } - - switch (type) { - case 1: writeI53ToI64(p, ret); break; - case 0: HEAP32[((p)>>2)]=ret; break; - case 2: HEAPF32[((p)>>2)]=ret; break; - case 4: HEAP8[((p)>>0)]=ret ? 1 : 0; break; - } - }function _emscripten_glGetBooleanv(name_, p) { - emscriptenWebGLGet(name_, p, 4); - } - - function _emscripten_glGetBufferParameteriv(target, value, data) { - if (!data) { - // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense - // if data == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); - } - - function _emscripten_glGetError() { - var error = GLctx.getError() || GL.lastError; - GL.lastError = 0/*GL_NO_ERROR*/; - return error; - } - - function _emscripten_glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 2); - } - - function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { - var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); - if (result instanceof WebGLRenderbuffer || - result instanceof WebGLTexture) { - result = result.name | 0; - } - HEAP32[((params)>>2)]=result; - } - - function _emscripten_glGetIntegerv(name_, p) { - emscriptenWebGLGet(name_, p, 0); - } - - function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - var numBytesWrittenExclNull = (maxLength > 0 && infoLog) ? stringToUTF8(log, infoLog, maxLength) : 0; - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } - - function _emscripten_glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, 0x8B89/*GL_ACTIVE_ATTRIBUTES*/); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, 0x8A36/*GL_ACTIVE_UNIFORM_BLOCKS*/); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _emscripten_glGetQueryObjecti64vEXT(id, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - var query = GL.timerQueriesEXT[id]; - var param = GLctx.disjointTimerQueryExt['getQueryObjectEXT'](query, pname); - var ret; - if (typeof param == 'boolean') { - ret = param ? 1 : 0; - } else { - ret = param; - } - writeI53ToI64(params, ret); - } - - function _emscripten_glGetQueryObjectivEXT(id, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - var query = GL.timerQueriesEXT[id]; - var param = GLctx.disjointTimerQueryExt['getQueryObjectEXT'](query, pname); - var ret; - if (typeof param == 'boolean') { - ret = param ? 1 : 0; - } else { - ret = param; - } - HEAP32[((params)>>2)]=ret; - } - - function _emscripten_glGetQueryObjectui64vEXT(id, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - var query = GL.timerQueriesEXT[id]; - var param = GLctx.disjointTimerQueryExt['getQueryObjectEXT'](query, pname); - var ret; - if (typeof param == 'boolean') { - ret = param ? 1 : 0; - } else { - ret = param; - } - writeI53ToI64(params, ret); - } - - function _emscripten_glGetQueryObjectuivEXT(id, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - var query = GL.timerQueriesEXT[id]; - var param = GLctx.disjointTimerQueryExt['getQueryObjectEXT'](query, pname); - var ret; - if (typeof param == 'boolean') { - ret = param ? 1 : 0; - } else { - ret = param; - } - HEAP32[((params)>>2)]=ret; - } - - function _emscripten_glGetQueryivEXT(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.disjointTimerQueryExt['getQueryEXT'](target, pname); - } - - function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); - } - - function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - var numBytesWrittenExclNull = (maxLength > 0 && infoLog) ? stringToUTF8(log, infoLog, maxLength) : 0; - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } - - function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { - var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); - HEAP32[((range)>>2)]=result.rangeMin; - HEAP32[(((range)+(4))>>2)]=result.rangeMax; - HEAP32[((precision)>>2)]=result.precision; - } - - function _emscripten_glGetShaderSource(shader, bufSize, length, source) { - var result = GLctx.getShaderSource(GL.shaders[shader]); - if (!result) return; // If an error occurs, nothing will be written to length or source. - var numBytesWrittenExclNull = (bufSize > 0 && source) ? stringToUTF8(result, source, bufSize) : 0; - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } - - function _emscripten_glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - // The GLES2 specification says that if the shader has an empty info log, - // a value of 0 is returned. Otherwise the log has a null char appended. - // (An empty string is falsey, so we can just check that instead of - // looking at log.length.) - var logLength = log ? log.length + 1 : 0; - HEAP32[((p)>>2)]=logLength; - } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH - var source = GLctx.getShaderSource(GL.shaders[shader]); - // source may be a null, or the empty string, both of which are falsey - // values that we report a 0 length for. - var sourceLength = source ? source.length + 1 : 0; - HEAP32[((p)>>2)]=sourceLength; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - - function stringToNewUTF8(jsString) { - var length = lengthBytesUTF8(jsString)+1; - var cString = _malloc(length); - stringToUTF8(jsString, cString, length); - return cString; - }function _emscripten_glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions() || []; // .getSupportedExtensions() can return null if context is lost, so coerce to empty array. - exts = exts.concat(exts.map(function(e) { return "GL_" + e; })); - ret = stringToNewUTF8(exts.join(' ')); - break; - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - var s = GLctx.getParameter(name_); - if (!s) { - GL.recordError(0x500/*GL_INVALID_ENUM*/); - } - ret = stringToNewUTF8(s); - break; - - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(0x1F02 /*GL_VERSION*/); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = stringToNewUTF8(glVersion); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(0x8B8C /*GL_SHADING_LANGUAGE_VERSION*/); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = stringToNewUTF8(glslVersion); - break; - default: - GL.recordError(0x500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glGetTexParameterfv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _emscripten_glGetTexParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - - /** @suppress {checkTypes} */ - function jstoi_q(str) { - return parseInt(str); - }function _emscripten_glGetUniformLocation(program, name) { - name = UTF8ToString(name); - - var arrayIndex = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name[name.length - 1] == ']') { - var leftBrace = name.lastIndexOf('['); - arrayIndex = name[leftBrace+1] != ']' ? jstoi_q(name.slice(leftBrace + 1)) : 0; // "index]", parseInt will ignore the ']' at the end; but treat "foo[]" as "foo[0]" - name = name.slice(0, leftBrace); - } - - var uniformInfo = GL.programInfos[program] && GL.programInfos[program].uniforms[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayIndex >= 0 && arrayIndex < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1] + arrayIndex; - } else { - return -1; - } - } - - - /** @suppress{checkTypes} */ - function emscriptenWebGLGetUniform(program, location, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); - if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 0: HEAP32[((params)>>2)]=data; break; - case 2: HEAPF32[((params)>>2)]=data; break; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 0: HEAP32[(((params)+(i*4))>>2)]=data[i]; break; - case 2: HEAPF32[(((params)+(i*4))>>2)]=data[i]; break; - } - } - } - }function _emscripten_glGetUniformfv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 2); - } - - function _emscripten_glGetUniformiv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 0); - } - - function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { - if (!pointer) { - // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense - // if pointer == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); - } - - - /** @suppress{checkTypes} */ - function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getVertexAttrib(index, pname); - if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { - HEAP32[((params)>>2)]=data && data["name"]; - } else if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 0: HEAP32[((params)>>2)]=data; break; - case 2: HEAPF32[((params)>>2)]=data; break; - case 5: HEAP32[((params)>>2)]=Math.fround(data); break; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 0: HEAP32[(((params)+(i*4))>>2)]=data[i]; break; - case 2: HEAPF32[(((params)+(i*4))>>2)]=data[i]; break; - case 5: HEAP32[(((params)+(i*4))>>2)]=Math.fround(data[i]); break; - } - } - } - }function _emscripten_glGetVertexAttribfv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 2); - } - - function _emscripten_glGetVertexAttribiv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 5); - } - - function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } - - function _emscripten_glIsBuffer(buffer) { - var b = GL.buffers[buffer]; - if (!b) return 0; - return GLctx.isBuffer(b); - } - - function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } - - function _emscripten_glIsFramebuffer(framebuffer) { - var fb = GL.framebuffers[framebuffer]; - if (!fb) return 0; - return GLctx.isFramebuffer(fb); - } - - function _emscripten_glIsProgram(program) { - program = GL.programs[program]; - if (!program) return 0; - return GLctx.isProgram(program); - } - - function _emscripten_glIsQueryEXT(id) { - var query = GL.timerQueriesEXT[id]; - if (!query) return 0; - return GLctx.disjointTimerQueryExt['isQueryEXT'](query); - } - - function _emscripten_glIsRenderbuffer(renderbuffer) { - var rb = GL.renderbuffers[renderbuffer]; - if (!rb) return 0; - return GLctx.isRenderbuffer(rb); - } - - function _emscripten_glIsShader(shader) { - var s = GL.shaders[shader]; - if (!s) return 0; - return GLctx.isShader(s); - } - - function _emscripten_glIsTexture(id) { - var texture = GL.textures[id]; - if (!texture) return 0; - return GLctx.isTexture(texture); - } - - function _emscripten_glIsVertexArrayOES(array) { - - var vao = GL.vaos[array]; - if (!vao) return 0; - return GLctx['isVertexArray'](vao); - } - - function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } - - function _emscripten_glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.populateUniformTable(program); - } - - function _emscripten_glPixelStorei(pname, param) { - if (pname == 0xCF5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } - - function _emscripten_glQueryCounterEXT(id, target) { - GLctx.disjointTimerQueryExt['queryCounterEXT'](GL.timerQueriesEXT[id], target); - } - - - - function computeUnpackAlignedImageSize(width, height, sizePerPixel, alignment) { - function roundedToNextMultipleOf(x, y) { - return (x + y - 1) & -y; - } - var plainRowSize = width * sizePerPixel; - var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); - return height * alignedRowSize; - } - - function __colorChannelsInGlTextureFormat(format) { - // Micro-optimizations for size: map format to size by subtracting smallest enum value (0x1902) from all values first. - // Also omit the most common size value (1) from the list, which is assumed by formats not on the list. - var colorChannels = { - // 0x1902 /* GL_DEPTH_COMPONENT */ - 0x1902: 1, - // 0x1906 /* GL_ALPHA */ - 0x1902: 1, - 5: 3, - 6: 4, - // 0x1909 /* GL_LUMINANCE */ - 0x1902: 1, - 8: 2, - 29502: 3, - 29504: 4, - }; - return colorChannels[format - 0x1902]||1; - } - - function heapObjectForWebGLType(type) { - // Micro-optimization for size: Subtract lowest GL enum number (0x1400/* GL_BYTE */) from type to compare - // smaller values for the heap, for shorter generated code size. - // Also the type HEAPU16 is not tested for explicitly, but any unrecognized type will return out HEAPU16. - // (since most types are HEAPU16) - type -= 0x1400; - - if (type == 1) return HEAPU8; - - - if (type == 4) return HEAP32; - - if (type == 6) return HEAPF32; - - if (type == 5 - || type == 28922 - ) - return HEAPU32; - - return HEAPU16; - } - - function heapAccessShiftForWebGLHeap(heap) { - return 31 - Math.clz32(heap.BYTES_PER_ELEMENT); - }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { - var heap = heapObjectForWebGLType(type); - var shift = heapAccessShiftForWebGLHeap(heap); - var byteSize = 1<> shift, pixels + bytes >> shift); - }function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { - var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); - if (!pixelData) { - GL.recordError(0x500/*GL_INVALID_ENUM*/); - return; - } - GLctx.readPixels(x, y, width, height, format, type, pixelData); - } - - function _emscripten_glReleaseShaderCompiler() { - // NOP (as allowed by GLES 2.0 spec) - } - - function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } - - function _emscripten_glSampleCoverage(value, invert) { - GLctx.sampleCoverage(value, !!invert); - } - - function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } - - function _emscripten_glShaderBinary() { - GL.recordError(0x500/*GL_INVALID_ENUM*/); - } - - function _emscripten_glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } - - function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } - - function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } - - function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } - - function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } - - function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } - - function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixels ? emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) : null); - } - - function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } - - function _emscripten_glTexParameterfv(target, pname, params) { - var param = HEAPF32[((params)>>2)]; - GLctx.texParameterf(target, pname, param); - } - - function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _emscripten_glTexParameteriv(target, pname, params) { - var param = HEAP32[((params)>>2)]; - GLctx.texParameteri(target, pname, param); - } - - function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); - GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); - } - - function _emscripten_glUniform1f(location, v0) { - GLctx.uniform1f(GL.uniforms[location], v0); - } - - - var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location, count, value) { - - - - if (count <= 288) { - // avoid allocation when uploading few enough uniforms - var view = miniTempWebGLFloatBuffers[count-1]; - for (var i = 0; i < count; ++i) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - } - } else - { - var view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); - } - GLctx.uniform1fv(GL.uniforms[location], view); - } - - function _emscripten_glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - - var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location, count, value) { - - - - if (count <= 288) { - // avoid allocation when uploading few enough uniforms - var view = __miniTempWebGLIntBuffers[count-1]; - for (var i = 0; i < count; ++i) { - view[i] = HEAP32[(((value)+(4*i))>>2)]; - } - } else - { - var view = HEAP32.subarray((value)>>2,(value+count*4)>>2); - } - GLctx.uniform1iv(GL.uniforms[location], view); - } - - function _emscripten_glUniform2f(location, v0, v1) { - GLctx.uniform2f(GL.uniforms[location], v0, v1); - } - - function _emscripten_glUniform2fv(location, count, value) { - - - - if (count <= 144) { - // avoid allocation when uploading few enough uniforms - var view = miniTempWebGLFloatBuffers[2*count-1]; - for (var i = 0; i < 2*count; i += 2) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - } - } else - { - var view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); - } - GLctx.uniform2fv(GL.uniforms[location], view); - } - - function _emscripten_glUniform2i(location, v0, v1) { - GLctx.uniform2i(GL.uniforms[location], v0, v1); - } - - function _emscripten_glUniform2iv(location, count, value) { - - - - if (count <= 144) { - // avoid allocation when uploading few enough uniforms - var view = __miniTempWebGLIntBuffers[2*count-1]; - for (var i = 0; i < 2*count; i += 2) { - view[i] = HEAP32[(((value)+(4*i))>>2)]; - view[i+1] = HEAP32[(((value)+(4*i+4))>>2)]; - } - } else - { - var view = HEAP32.subarray((value)>>2,(value+count*8)>>2); - } - GLctx.uniform2iv(GL.uniforms[location], view); - } - - function _emscripten_glUniform3f(location, v0, v1, v2) { - GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glUniform3fv(location, count, value) { - - - - if (count <= 96) { - // avoid allocation when uploading few enough uniforms - var view = miniTempWebGLFloatBuffers[3*count-1]; - for (var i = 0; i < 3*count; i += 3) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - } - } else - { - var view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); - } - GLctx.uniform3fv(GL.uniforms[location], view); - } - - function _emscripten_glUniform3i(location, v0, v1, v2) { - GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glUniform3iv(location, count, value) { - - - - if (count <= 96) { - // avoid allocation when uploading few enough uniforms - var view = __miniTempWebGLIntBuffers[3*count-1]; - for (var i = 0; i < 3*count; i += 3) { - view[i] = HEAP32[(((value)+(4*i))>>2)]; - view[i+1] = HEAP32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAP32[(((value)+(4*i+8))>>2)]; - } - } else - { - var view = HEAP32.subarray((value)>>2,(value+count*12)>>2); - } - GLctx.uniform3iv(GL.uniforms[location], view); - } - - function _emscripten_glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_glUniform4fv(location, count, value) { - - - - if (count <= 72) { - // avoid allocation when uploading few enough uniforms - var view = miniTempWebGLFloatBuffers[4*count-1]; - // hoist the heap out of the loop for size and for pthreads+growth. - var heap = HEAPF32; - value >>= 2; - for (var i = 0; i < 4 * count; i += 4) { - var dst = value + i; - view[i] = heap[dst]; - view[i + 1] = heap[dst + 1]; - view[i + 2] = heap[dst + 2]; - view[i + 3] = heap[dst + 3]; - } - } else - { - var view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniform4fv(GL.uniforms[location], view); - } - - function _emscripten_glUniform4i(location, v0, v1, v2, v3) { - GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_glUniform4iv(location, count, value) { - - - - if (count <= 72) { - // avoid allocation when uploading few enough uniforms - var view = __miniTempWebGLIntBuffers[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAP32[(((value)+(4*i))>>2)]; - view[i+1] = HEAP32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAP32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAP32[(((value)+(4*i+12))>>2)]; - } - } else - { - var view = HEAP32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniform4iv(GL.uniforms[location], view); - } - - function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { - - - - if (count <= 72) { - // avoid allocation when uploading few enough uniforms - var view = miniTempWebGLFloatBuffers[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else - { - var view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { - - - - if (count <= 32) { - // avoid allocation when uploading few enough uniforms - var view = miniTempWebGLFloatBuffers[9*count-1]; - for (var i = 0; i < 9*count; i += 9) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - } - } else - { - var view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); - } - GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { - - - - if (count <= 18) { - // avoid allocation when uploading few enough uniforms - var view = miniTempWebGLFloatBuffers[16*count-1]; - // hoist the heap out of the loop for size and for pthreads+growth. - var heap = HEAPF32; - value >>= 2; - for (var i = 0; i < 16 * count; i += 16) { - var dst = value + i; - view[i] = heap[dst]; - view[i + 1] = heap[dst + 1]; - view[i + 2] = heap[dst + 2]; - view[i + 3] = heap[dst + 3]; - view[i + 4] = heap[dst + 4]; - view[i + 5] = heap[dst + 5]; - view[i + 6] = heap[dst + 6]; - view[i + 7] = heap[dst + 7]; - view[i + 8] = heap[dst + 8]; - view[i + 9] = heap[dst + 9]; - view[i + 10] = heap[dst + 10]; - view[i + 11] = heap[dst + 11]; - view[i + 12] = heap[dst + 12]; - view[i + 13] = heap[dst + 13]; - view[i + 14] = heap[dst + 14]; - view[i + 15] = heap[dst + 15]; - } - } else - { - var view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glUseProgram(program) { - GLctx.useProgram(GL.programs[program]); - } - - function _emscripten_glValidateProgram(program) { - GLctx.validateProgram(GL.programs[program]); - } - - function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } - - function _emscripten_glVertexAttrib1fv(index, v) { - - GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); - } - - function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } - - function _emscripten_glVertexAttrib2fv(index, v) { - - GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); - } - - function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - - function _emscripten_glVertexAttrib3fv(index, v) { - - GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); - } - - function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - - function _emscripten_glVertexAttrib4fv(index, v) { - - GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); - } - - function _emscripten_glVertexAttribDivisorANGLE(index, divisor) { - GLctx['vertexAttribDivisor'](index, divisor); - } - - function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.copyWithin(dest, src, src + num); - } - - function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { - target = findEventTarget(target); - if (!target) return -4; - if (!target.requestPointerLock - && !target.msRequestPointerLock - ) { - return -1; - } - - var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); - - // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. - if (!canPerformRequests) { - if (deferUntilInEventHandler) { - JSEvents.deferCall(__requestPointerLock, 2 /* priority below fullscreen */, [target]); - return 1; - } else { - return -2; - } - } - - return __requestPointerLock(target); - } - - - function _emscripten_get_heap_size() { - return HEAPU8.length; - } - - function abortOnCannotGrowMemory(requestedSize) { - abort('OOM'); - }function _emscripten_resize_heap(requestedSize) { - requestedSize = requestedSize >>> 0; - abortOnCannotGrowMemory(requestedSize); - } - - function _emscripten_run_script(ptr) { - eval(UTF8ToString(ptr)); - } - - function _emscripten_sample_gamepad_data() { - return (JSEvents.lastGamepadState = (navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : null))) - ? 0 : -1; - } - - - - function __fillMouseEventData(eventStruct, e, target) { - var idx = eventStruct >> 2; - HEAP32[idx + 0] = e.screenX; - HEAP32[idx + 1] = e.screenY; - HEAP32[idx + 2] = e.clientX; - HEAP32[idx + 3] = e.clientY; - HEAP32[idx + 4] = e.ctrlKey; - HEAP32[idx + 5] = e.shiftKey; - HEAP32[idx + 6] = e.altKey; - HEAP32[idx + 7] = e.metaKey; - HEAP16[idx*2 + 16] = e.button; - HEAP16[idx*2 + 17] = e.buttons; - - HEAP32[idx + 9] = e["movementX"] - ; - - HEAP32[idx + 10] = e["movementY"] - ; - - var rect = __getBoundingClientRect(target); - HEAP32[idx + 11] = e.clientX - rect.left; - HEAP32[idx + 12] = e.clientY - rect.top; - - }function __registerMouseEventCallback(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) { - if (!JSEvents.mouseEvent) JSEvents.mouseEvent = _malloc( 64 ); - target = findEventTarget(target); - - var mouseEventHandlerFunc = function(ev) { - var e = ev || event; - - // TODO: Make this access thread safe, or this could update live while app is reading it. - __fillMouseEventData(JSEvents.mouseEvent, e, target); - - if (wasmTable.get(callbackfunc)(eventTypeId, JSEvents.mouseEvent, userData)) e.preventDefault(); - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: mouseEventHandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }function _emscripten_set_click_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { - __registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click", targetThread); - return 0; - } - - - - function __fillFullscreenChangeEventData(eventStruct) { - var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; - var isFullscreen = !!fullscreenElement; - /** @suppress{checkTypes} */ - HEAP32[((eventStruct)>>2)]=isFullscreen; - HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); - // If transitioning to fullscreen, report info about the element that is now fullscreen. - // If transitioning to windowed mode, report info about the element that just was fullscreen. - var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; - var nodeName = JSEvents.getNodeNameForTarget(reportedElement); - var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; - stringToUTF8(nodeName, eventStruct + 8, 128); - stringToUTF8(id, eventStruct + 136, 128); - HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; - HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; - HEAP32[(((eventStruct)+(272))>>2)]=screen.width; - HEAP32[(((eventStruct)+(276))>>2)]=screen.height; - if (isFullscreen) { - JSEvents.previousFullscreenElement = fullscreenElement; - } - }function __registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) { - if (!JSEvents.fullscreenChangeEvent) JSEvents.fullscreenChangeEvent = _malloc( 280 ); - - var fullscreenChangeEventhandlerFunc = function(ev) { - var e = ev || event; - - var fullscreenChangeEvent = JSEvents.fullscreenChangeEvent; - - __fillFullscreenChangeEventData(fullscreenChangeEvent); - - if (wasmTable.get(callbackfunc)(eventTypeId, fullscreenChangeEvent, userData)) e.preventDefault(); - }; - - var eventHandler = { - target: target, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: fullscreenChangeEventhandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }function _emscripten_set_fullscreenchange_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { - if (!JSEvents.fullscreenEnabled()) return -1; - target = findEventTarget(target); - if (!target) return -4; - __registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange", targetThread); - - - // Unprefixed Fullscreen API shipped in Chromium 71 (https://bugs.chromium.org/p/chromium/issues/detail?id=383813) - // As of Safari 13.0.3 on macOS Catalina 10.15.1 still ships with prefixed webkitfullscreenchange. TODO: revisit this check once Safari ships unprefixed version. - __registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange", targetThread); - - return 0; - } - - - function __registerGamepadEventCallback(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) { - if (!JSEvents.gamepadEvent) JSEvents.gamepadEvent = _malloc( 1432 ); - - var gamepadEventHandlerFunc = function(ev) { - var e = ev || event; - - var gamepadEvent = JSEvents.gamepadEvent; - __fillGamepadEventData(gamepadEvent, e["gamepad"]); - - if (wasmTable.get(callbackfunc)(eventTypeId, gamepadEvent, userData)) e.preventDefault(); - }; - - var eventHandler = { - target: findEventTarget(target), - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: gamepadEventHandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }function _emscripten_set_gamepadconnected_callback_on_thread(userData, useCapture, callbackfunc, targetThread) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - __registerGamepadEventCallback(2, userData, useCapture, callbackfunc, 26, "gamepadconnected", targetThread); - return 0; - } - - function _emscripten_set_gamepaddisconnected_callback_on_thread(userData, useCapture, callbackfunc, targetThread) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - __registerGamepadEventCallback(2, userData, useCapture, callbackfunc, 27, "gamepaddisconnected", targetThread); - return 0; - } - - - function __registerKeyEventCallback(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) { - if (!JSEvents.keyEvent) JSEvents.keyEvent = _malloc( 164 ); - - var keyEventHandlerFunc = function(e) { - - var keyEventData = JSEvents.keyEvent; - var idx = keyEventData >> 2; - - HEAP32[idx + 0] = e.location; - HEAP32[idx + 1] = e.ctrlKey; - HEAP32[idx + 2] = e.shiftKey; - HEAP32[idx + 3] = e.altKey; - HEAP32[idx + 4] = e.metaKey; - HEAP32[idx + 5] = e.repeat; - HEAP32[idx + 6] = e.charCode; - HEAP32[idx + 7] = e.keyCode; - HEAP32[idx + 8] = e.which; - stringToUTF8(e.key || '', keyEventData + 36, 32); - stringToUTF8(e.code || '', keyEventData + 68, 32); - stringToUTF8(e.char || '', keyEventData + 100, 32); - stringToUTF8(e.locale || '', keyEventData + 132, 32); - - if (wasmTable.get(callbackfunc)(eventTypeId, keyEventData, userData)) e.preventDefault(); - }; - - var eventHandler = { - target: findEventTarget(target), - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: keyEventHandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }function _emscripten_set_keydown_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { - __registerKeyEventCallback(target, userData, useCapture, callbackfunc, 2, "keydown", targetThread); - return 0; - } - - /** @param {number|boolean=} noSetTiming */ - function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { - var browserIterationFunc = function() { wasmTable.get(func)(); }; - setMainLoop(browserIterationFunc, fps, simulateInfiniteLoop, arg, noSetTiming); - } - - - function __registerTouchEventCallback(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) { - if (!JSEvents.touchEvent) JSEvents.touchEvent = _malloc( 1684 ); - - target = findEventTarget(target); - - var touchEventHandlerFunc = function(e) { - var touches = {}; - var et = e.touches; - for(var i = 0; i < et.length; ++i) { - var touch = et[i]; - touches[touch.identifier] = touch; - } - et = e.changedTouches; - for(var i = 0; i < et.length; ++i) { - var touch = et[i]; - touch.isChanged = 1; - touches[touch.identifier] = touch; - } - et = e.targetTouches; - for(var i = 0; i < et.length; ++i) { - touches[et[i].identifier].onTarget = 1; - } - - var touchEvent = JSEvents.touchEvent; - var idx = touchEvent>>2; // Pre-shift the ptr to index to HEAP32 to save code size - HEAP32[idx + 1] = e.ctrlKey; - HEAP32[idx + 2] = e.shiftKey; - HEAP32[idx + 3] = e.altKey; - HEAP32[idx + 4] = e.metaKey; - idx += 5; // Advance to the start of the touch array. - var targetRect = __getBoundingClientRect(target); - var numTouches = 0; - for(var i in touches) { - var t = touches[i]; - HEAP32[idx + 0] = t.identifier; - HEAP32[idx + 1] = t.screenX; - HEAP32[idx + 2] = t.screenY; - HEAP32[idx + 3] = t.clientX; - HEAP32[idx + 4] = t.clientY; - HEAP32[idx + 5] = t.pageX; - HEAP32[idx + 6] = t.pageY; - HEAP32[idx + 7] = t.isChanged; - HEAP32[idx + 8] = t.onTarget; - HEAP32[idx + 9] = t.clientX - targetRect.left; - HEAP32[idx + 10] = t.clientY - targetRect.top; - - idx += 13; - - if (++numTouches > 31) { - break; - } - } - HEAP32[((touchEvent)>>2)]=numTouches; - - if (wasmTable.get(callbackfunc)(eventTypeId, touchEvent, userData)) e.preventDefault(); - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString == 'touchstart' || eventTypeString == 'touchend', - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: touchEventHandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }function _emscripten_set_touchcancel_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { - __registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel", targetThread); - return 0; - } - - function _emscripten_set_touchend_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { - __registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend", targetThread); - return 0; - } - - function _emscripten_set_touchmove_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { - __registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove", targetThread); - return 0; - } - - function _emscripten_set_touchstart_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { - __registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart", targetThread); - return 0; - } - - function _exit(status) { - // void _exit(int status); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html - exit(status); - } - - function _fd_close(fd) {try { - - var stream = SYSCALLS.getStreamFromFD(fd); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return e.errno; - } - } - - function _fd_read(fd, iov, iovcnt, pnum) {try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = SYSCALLS.doReadv(stream, iov, iovcnt); - HEAP32[((pnum)>>2)]=num - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return e.errno; - } - } - - function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {try { - - - var stream = SYSCALLS.getStreamFromFD(fd); - var HIGH_OFFSET = 0x100000000; // 2^32 - // use an unsigned operator on low and shift high by 32-bits - var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); - - var DOUBLE_LIMIT = 0x20000000000000; // 2^53 - // we also check for equality since DOUBLE_LIMIT + 1 == DOUBLE_LIMIT - if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { - return -61; - } - - FS.llseek(stream, offset, whence); - (tempI64 = [stream.position>>>0,(tempDouble=stream.position,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((newOffset)>>2)]=tempI64[0],HEAP32[(((newOffset)+(4))>>2)]=tempI64[1]); - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return e.errno; - } - } - - function _fd_write(fd, iov, iovcnt, pnum) {try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = SYSCALLS.doWritev(stream, iov, iovcnt); - HEAP32[((pnum)>>2)]=num - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return e.errno; - } - } - - function _glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glBindAttribLocation(program, index, name) { - GLctx.bindAttribLocation(GL.programs[program], index, UTF8ToString(name)); - } - - function _glBindBuffer(target, buffer) { - - GLctx.bindBuffer(target, GL.buffers[buffer]); - } - - function _glBindTexture(target, texture) { - GLctx.bindTexture(target, GL.textures[texture]); - } - - function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _glBufferData(target, size, data, usage) { - - // N.b. here first form specifies a heap subarray, second form an integer size, so the ?: code here is polymorphic. It is advised to avoid - // randomly mixing both uses in calling code, to avoid any potential JS engine JIT issues. - GLctx.bufferData(target, data ? HEAPU8.subarray(data, data+size) : size, usage); - } - - function _glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _glClear(x0) { GLctx['clear'](x0) } - - function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - function _glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glCullFace(x0) { GLctx['cullFace'](x0) } - - function _glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - } - } - - function _glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - function _glDetachShader(program, shader) { - GLctx.detachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glDisable(x0) { GLctx['disable'](x0) } - - function _glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glEnable(x0) { GLctx['enable'](x0) } - - function _glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - function _glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _glGenBuffers(n, buffers) { - __glGenObject(n, buffers, 'createBuffer', GL.buffers - ); - } - - function _glGenTextures(n, textures) { - __glGenObject(n, textures, 'createTexture', GL.textures - ); - } - - function _glGetAttribLocation(program, name) { - return GLctx.getAttribLocation(GL.programs[program], UTF8ToString(name)); - } - - function _glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 2); - } - - function _glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - var numBytesWrittenExclNull = (maxLength > 0 && infoLog) ? stringToUTF8(log, infoLog, maxLength) : 0; - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } - - function _glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, 0x8B89/*GL_ACTIVE_ATTRIBUTES*/); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, 0x8A36/*GL_ACTIVE_UNIFORM_BLOCKS*/); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - var numBytesWrittenExclNull = (maxLength > 0 && infoLog) ? stringToUTF8(log, infoLog, maxLength) : 0; - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } - - function _glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - // The GLES2 specification says that if the shader has an empty info log, - // a value of 0 is returned. Otherwise the log has a null char appended. - // (An empty string is falsey, so we can just check that instead of - // looking at log.length.) - var logLength = log ? log.length + 1 : 0; - HEAP32[((p)>>2)]=logLength; - } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH - var source = GLctx.getShaderSource(GL.shaders[shader]); - // source may be a null, or the empty string, both of which are falsey - // values that we report a 0 length for. - var sourceLength = source ? source.length + 1 : 0; - HEAP32[((p)>>2)]=sourceLength; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions() || []; // .getSupportedExtensions() can return null if context is lost, so coerce to empty array. - exts = exts.concat(exts.map(function(e) { return "GL_" + e; })); - ret = stringToNewUTF8(exts.join(' ')); - break; - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - var s = GLctx.getParameter(name_); - if (!s) { - GL.recordError(0x500/*GL_INVALID_ENUM*/); - } - ret = stringToNewUTF8(s); - break; - - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(0x1F02 /*GL_VERSION*/); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = stringToNewUTF8(glVersion); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(0x8B8C /*GL_SHADING_LANGUAGE_VERSION*/); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = stringToNewUTF8(glslVersion); - break; - default: - GL.recordError(0x500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _glGetUniformLocation(program, name) { - name = UTF8ToString(name); - - var arrayIndex = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name[name.length - 1] == ']') { - var leftBrace = name.lastIndexOf('['); - arrayIndex = name[leftBrace+1] != ']' ? jstoi_q(name.slice(leftBrace + 1)) : 0; // "index]", parseInt will ignore the ']' at the end; but treat "foo[]" as "foo[0]" - name = name.slice(0, leftBrace); - } - - var uniformInfo = GL.programInfos[program] && GL.programInfos[program].uniforms[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayIndex >= 0 && arrayIndex < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1] + arrayIndex; - } else { - return -1; - } - } - - function _glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.populateUniformTable(program); - } - - function _glPixelStorei(pname, param) { - if (pname == 0xCF5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function _glReadPixels(x, y, width, height, format, type, pixels) { - var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); - if (!pixelData) { - GL.recordError(0x500/*GL_INVALID_ENUM*/); - return; - } - GLctx.readPixels(x, y, width, height, format, type, pixelData); - } - - function _glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixels ? emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) : null); - } - - function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function _glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _glUniformMatrix4fv(location, count, transpose, value) { - - - - if (count <= 18) { - // avoid allocation when uploading few enough uniforms - var view = miniTempWebGLFloatBuffers[16*count-1]; - // hoist the heap out of the loop for size and for pthreads+growth. - var heap = HEAPF32; - value >>= 2; - for (var i = 0; i < 16 * count; i += 16) { - var dst = value + i; - view[i] = heap[dst]; - view[i + 1] = heap[dst + 1]; - view[i + 2] = heap[dst + 2]; - view[i + 3] = heap[dst + 3]; - view[i + 4] = heap[dst + 4]; - view[i + 5] = heap[dst + 5]; - view[i + 6] = heap[dst + 6]; - view[i + 7] = heap[dst + 7]; - view[i + 8] = heap[dst + 8]; - view[i + 9] = heap[dst + 9]; - view[i + 10] = heap[dst + 10]; - view[i + 11] = heap[dst + 11]; - view[i + 12] = heap[dst + 12]; - view[i + 13] = heap[dst + 13]; - view[i + 14] = heap[dst + 14]; - view[i + 15] = heap[dst + 15]; - } - } else - { - var view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _glUseProgram(program) { - GLctx.useProgram(GL.programs[program]); - } - - function _glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } - - function _glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - - function _glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - - function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - - - /** @constructor */ - function GLFW_Window(id, width, height, title, monitor, share) { - this.id = id; - this.x = 0; - this.y = 0; - this.fullscreen = false; // Used to determine if app in fullscreen mode - this.storedX = 0; // Used to store X before fullscreen - this.storedY = 0; // Used to store Y before fullscreen - this.width = width; - this.height = height; - this.storedWidth = width; // Used to store width before fullscreen - this.storedHeight = height; // Used to store height before fullscreen - this.title = title; - this.monitor = monitor; - this.share = share; - this.attributes = GLFW.hints; - this.inputModes = { - 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) - 0x00033002:0, // GLFW_STICKY_KEYS - 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS - }; - this.buttons = 0; - this.keys = new Array(); - this.domKeys = new Array(); - this.shouldClose = 0; - this.title = null; - this.windowPosFunc = null; // GLFWwindowposfun - this.windowSizeFunc = null; // GLFWwindowsizefun - this.windowCloseFunc = null; // GLFWwindowclosefun - this.windowRefreshFunc = null; // GLFWwindowrefreshfun - this.windowFocusFunc = null; // GLFWwindowfocusfun - this.windowIconifyFunc = null; // GLFWwindowiconifyfun - this.framebufferSizeFunc = null; // GLFWframebuffersizefun - this.mouseButtonFunc = null; // GLFWmousebuttonfun - this.cursorPosFunc = null; // GLFWcursorposfun - this.cursorEnterFunc = null; // GLFWcursorenterfun - this.scrollFunc = null; // GLFWscrollfun - this.dropFunc = null; // GLFWdropfun - this.keyFunc = null; // GLFWkeyfun - this.charFunc = null; // GLFWcharfun - this.userptr = null; - }var GLFW={WindowFromId:function(id) { - if (id <= 0 || !GLFW.windows) return null; - return GLFW.windows[id - 1]; - },joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode) { - switch (keycode) { - // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 - case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE - case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE - case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA - case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS - case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS - case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD - case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH - case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 - case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 - case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 - case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 - case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 - case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 - case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 - case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 - case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 - case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 - case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON - case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A - case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B - case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C - case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D - case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E - case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F - case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G - case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H - case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I - case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J - case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K - case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L - case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M - case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N - case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O - case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P - case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q - case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R - case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S - case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T - case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U - case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V - case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W - case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X - case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y - case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z - case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET - case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH - case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET - case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT - - - case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE - case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER - case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB - case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE - case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT - case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE - case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT - case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT - case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN - case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP - case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP - case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN - case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME - case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END - case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK - case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK - case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK - case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN - case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE - case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 - case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 - case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 - case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 - case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 - case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 - case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 - case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 - case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 - case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 - case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 - case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 - case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 - case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 - case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 - case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 - case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 - case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 - case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 - case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 - case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 - case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 - case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 - case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 - case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 - case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 - case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 - case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 - case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 - case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 - case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 - case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 - case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 - case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 - case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 - case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL - case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE - case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY - case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT - case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD - // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) - // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) - case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT - case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL - case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT - case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER - // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) - // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) - // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) - // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) - case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU - // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? - default:return -1; // GLFW_KEY_UNKNOWN - }; - },getModBits:function(win) { - var mod = 0; - if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT - if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL - if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT - if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER - return mod; - },onKeyPress:function(event) { - if (!GLFW.active || !GLFW.active.charFunc) return; - if (event.ctrlKey || event.metaKey) return; - - // correct unicode charCode is only available with onKeyPress event - var charCode = event.charCode; - if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; - - - wasmTable.get(GLFW.active.charFunc)(GLFW.active.id, charCode); - },onKeyChanged:function(keyCode, status) { - if (!GLFW.active) return; - - var key = GLFW.DOMToGLFWKeyCode(keyCode); - if (key == -1) return; - - var repeat = status && GLFW.active.keys[key]; - GLFW.active.keys[key] = status; - GLFW.active.domKeys[keyCode] = status; - if (!GLFW.active.keyFunc) return; - - - if (repeat) status = 2; // GLFW_REPEAT - wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id, key, keyCode, status, GLFW.getModBits(GLFW.active)); - },onGamepadConnected:function(event) { - GLFW.refreshJoysticks(); - },onGamepadDisconnected:function(event) { - GLFW.refreshJoysticks(); - },onKeydown:function(event) { - GLFW.onKeyChanged(event.keyCode, 1); // GLFW_PRESS or GLFW_REPEAT - - // This logic comes directly from the sdl implementation. We cannot - // call preventDefault on all keydown events otherwise onKeyPress will - // not get called - if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { - event.preventDefault(); - } - },onKeyup:function(event) { - GLFW.onKeyChanged(event.keyCode, 0); // GLFW_RELEASE - },onBlur:function(event) { - if (!GLFW.active) return; - - for (var i = 0; i < GLFW.active.domKeys.length; ++i) { - if (GLFW.active.domKeys[i]) { - GLFW.onKeyChanged(i, 0); // GLFW_RELEASE - } - } - },onMousemove:function(event) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; - - - wasmTable.get(GLFW.active.cursorPosFunc)(GLFW.active.id, Browser.mouseX, Browser.mouseY); - },DOMToGLFWMouseButton:function(event) { - // DOM and glfw have different button codes. - // See http://www.w3schools.com/jsref/event_button.asp. - var eventButton = event['button']; - if (eventButton > 0) { - if (eventButton == 1) { - eventButton = 2; - } else { - eventButton = 1; - } - } - return eventButton; - },onMouseenter:function(event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id, 1); - },onMouseleave:function(event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id, 0); - },onMouseButtonChanged:function(event, status) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"]) return; - - var eventButton = GLFW.DOMToGLFWMouseButton(event); - - if (status == 1) { // GLFW_PRESS - GLFW.active.buttons |= (1 << eventButton); - try { - event.target.setCapture(); - } catch (e) {} - } else { // GLFW_RELEASE - GLFW.active.buttons &= ~(1 << eventButton); - } - - if (!GLFW.active.mouseButtonFunc) return; - - - wasmTable.get(GLFW.active.mouseButtonFunc)(GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); - },onMouseButtonDown:function(event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS - },onMouseButtonUp:function(event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE - },onMouseWheel:function(event) { - // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) - var delta = -Browser.getMouseWheelDelta(event); - delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. - GLFW.wheelPos += delta; - - if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; - - - var sx = 0; - var sy = 0; - if (event.type == 'mousewheel') { - sx = event.wheelDeltaX; - sy = event.wheelDeltaY; - } else { - sx = event.deltaX; - sy = event.deltaY; - } - - wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id, sx, sy); - - event.preventDefault(); - },onCanvasResize:function(width, height) { - if (!GLFW.active) return; - - var resizeNeeded = true; - - // If the client is requesting fullscreen mode - if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { - GLFW.active.storedX = GLFW.active.x; - GLFW.active.storedY = GLFW.active.y; - GLFW.active.storedWidth = GLFW.active.width; - GLFW.active.storedHeight = GLFW.active.height; - GLFW.active.x = GLFW.active.y = 0; - GLFW.active.width = screen.width; - GLFW.active.height = screen.height; - GLFW.active.fullscreen = true; - - // If the client is reverting from fullscreen mode - } else if (GLFW.active.fullscreen == true) { - GLFW.active.x = GLFW.active.storedX; - GLFW.active.y = GLFW.active.storedY; - GLFW.active.width = GLFW.active.storedWidth; - GLFW.active.height = GLFW.active.storedHeight; - GLFW.active.fullscreen = false; - - // If the width/height values do not match current active window sizes - } else if (GLFW.active.width != width || GLFW.active.height != height) { - GLFW.active.width = width; - GLFW.active.height = height; - } else { - resizeNeeded = false; - } - - // If any of the above conditions were true, we need to resize the canvas - if (resizeNeeded) { - // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions - Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); - // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of - // the canvas should drive window and framebuffer size respectfully. - GLFW.onWindowSizeChanged(); - GLFW.onFramebufferSizeChanged(); - } - },onWindowSizeChanged:function() { - if (!GLFW.active) return; - - if (!GLFW.active.windowSizeFunc) return; - - - wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id, GLFW.active.width, GLFW.active.height); - },onFramebufferSizeChanged:function() { - if (!GLFW.active) return; - - if (!GLFW.active.framebufferSizeFunc) return; - - wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id, GLFW.active.width, GLFW.active.height); - },getTime:function() { - return _emscripten_get_now() / 1000; - },setWindowTitle:function(winid, title) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - win.title = UTF8ToString(title); - if (GLFW.active.id == win.id) { - document.title = win.title; - } - },setJoystickCallback:function(cbfun) { - GLFW.joystickFunc = cbfun; - GLFW.refreshJoysticks(); - },joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function() { - // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. - if (Browser.mainLoop.currentFrameNumber !== GLFW.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { - GLFW.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); - GLFW.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; - - for (var joy = 0; joy < GLFW.lastGamepadState.length; ++joy) { - var gamepad = GLFW.lastGamepadState[joy]; - - if (gamepad) { - if (!GLFW.joys[joy]) { - console.log('glfw joystick connected:',joy); - GLFW.joys[joy] = { - id: allocate(intArrayFromString(gamepad.id), 'i8', ALLOC_NORMAL), - buttonsCount: gamepad.buttons.length, - axesCount: gamepad.axes.length, - buttons: allocate(new Array(gamepad.buttons.length), 'i8', ALLOC_NORMAL), - axes: allocate(new Array(gamepad.axes.length*4), 'float', ALLOC_NORMAL) - }; - - if (GLFW.joystickFunc) { - wasmTable.get(GLFW.joystickFunc)(joy, 0x00040001); // GLFW_CONNECTED - } - } - - var data = GLFW.joys[joy]; - - for (var i = 0; i < gamepad.buttons.length; ++i) { - setValue(data.buttons + i, gamepad.buttons[i].pressed, 'i8'); - } - - for (var i = 0; i < gamepad.axes.length; ++i) { - setValue(data.axes + i*4, gamepad.axes[i], 'float'); - } - } else { - if (GLFW.joys[joy]) { - console.log('glfw joystick disconnected',joy); - - if (GLFW.joystickFunc) { - wasmTable.get(GLFW.joystickFunc)(joy, 0x00040002); // GLFW_DISCONNECTED - } - - _free(GLFW.joys[joy].id); - _free(GLFW.joys[joy].buttons); - _free(GLFW.joys[joy].axes); - - delete GLFW.joys[joy]; - } - } - } - } - },setKeyCallback:function(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.keyFunc; - win.keyFunc = cbfun; - return prevcbfun; - },setCharCallback:function(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.charFunc; - win.charFunc = cbfun; - return prevcbfun; - },setMouseButtonCallback:function(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.mouseButtonFunc; - win.mouseButtonFunc = cbfun; - return prevcbfun; - },setCursorPosCallback:function(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.cursorPosFunc; - win.cursorPosFunc = cbfun; - return prevcbfun; - },setScrollCallback:function(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.scrollFunc; - win.scrollFunc = cbfun; - return prevcbfun; - },setDropCallback:function(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.dropFunc; - win.dropFunc = cbfun; - return prevcbfun; - },onDrop:function(event) { - if (!GLFW.active || !GLFW.active.dropFunc) return; - if (!event.dataTransfer || !event.dataTransfer.files || event.dataTransfer.files.length == 0) return; - - event.preventDefault(); - - var filenames = allocate(new Array(event.dataTransfer.files.length*4), 'i8*', ALLOC_NORMAL); - var filenamesArray = []; - var count = event.dataTransfer.files.length; - - // Read and save the files to emscripten's FS - var written = 0; - var drop_dir = '.glfw_dropped_files'; - FS.createPath('/', drop_dir); - - function save(file) { - var path = '/' + drop_dir + '/' + file.name.replace(/\//g, '_'); - var reader = new FileReader(); - reader.onloadend = function(e) { - if (reader.readyState != 2) { // not DONE - ++written; - console.log('failed to read dropped file: '+file.name+': '+reader.error); - return; - } - - var data = e.target.result; - FS.writeFile(path, new Uint8Array(data)); - if (++written === count) { - wasmTable.get(GLFW.active.dropFunc)(GLFW.active.id, count, filenames); - - for (var i = 0; i < filenamesArray.length; ++i) { - _free(filenamesArray[i]); - } - _free(filenames); - } - }; - reader.readAsArrayBuffer(file); - - var filename = allocate(intArrayFromString(path), 'i8', ALLOC_NORMAL); - filenamesArray.push(filename); - setValue(filenames + i*4, filename, 'i8*'); - } - - for (var i = 0; i < count; ++i) { - save(event.dataTransfer.files[i]); - } - - return false; - },onDragover:function(event) { - if (!GLFW.active || !GLFW.active.dropFunc) return; - - event.preventDefault(); - return false; - },setWindowSizeCallback:function(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.windowSizeFunc; - win.windowSizeFunc = cbfun; - - - return prevcbfun; - },setWindowCloseCallback:function(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.windowCloseFunc; - win.windowCloseFunc = cbfun; - return prevcbfun; - },setWindowRefreshCallback:function(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.windowRefreshFunc; - win.windowRefreshFunc = cbfun; - return prevcbfun; - },onClickRequestPointerLock:function(e) { - if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { - Module['canvas'].requestPointerLock(); - e.preventDefault(); - } - },setInputMode:function(winid, mode, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - switch(mode) { - case 0x00033001: { // GLFW_CURSOR - switch(value) { - case 0x00034001: { // GLFW_CURSOR_NORMAL - win.inputModes[mode] = value; - Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].exitPointerLock(); - break; - } - case 0x00034002: { // GLFW_CURSOR_HIDDEN - console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); - break; - } - case 0x00034003: { // GLFW_CURSOR_DISABLED - win.inputModes[mode] = value; - Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].requestPointerLock(); - break; - } - default: { - console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); - break; - } - } - break; - } - case 0x00033002: { // GLFW_STICKY_KEYS - console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); - break; - } - case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS - console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); - break; - } - default: { - console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); - break; - } - } - },getKey:function(winid, key) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return win.keys[key]; - },getMouseButton:function(winid, button) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return (win.buttons & (1 << button)) > 0; - },getCursorPos:function(winid, x, y) { - setValue(x, Browser.mouseX, 'double'); - setValue(y, Browser.mouseY, 'double'); - },getMousePos:function(winid, x, y) { - setValue(x, Browser.mouseX, 'i32'); - setValue(y, Browser.mouseY, 'i32'); - },setCursorPos:function(winid, x, y) { - },getWindowPos:function(winid, x, y) { - var wx = 0; - var wy = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - wx = win.x; - wy = win.y; - } - - if (x) { - setValue(x, wx, 'i32'); - } - - if (y) { - setValue(y, wy, 'i32'); - } - },setWindowPos:function(winid, x, y) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.x = x; - win.y = y; - },getWindowSize:function(winid, width, height) { - var ww = 0; - var wh = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - ww = win.width; - wh = win.height; - } - - if (width) { - setValue(width, ww, 'i32'); - } - - if (height) { - setValue(height, wh, 'i32'); - } - },setWindowSize:function(winid, width, height) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (GLFW.active.id == win.id) { - if (width == screen.width && height == screen.height) { - Browser.requestFullscreen(); - } else { - Browser.exitFullscreen(); - Browser.setCanvasSize(width, height); - win.width = width; - win.height = height; - } - } - - if (!win.windowSizeFunc) return; - - - wasmTable.get(win.windowSizeFunc)(win.id, width, height); - },createWindow:function(width, height, title, monitor, share) { - var i, id; - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++) { - // no-op - } - if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; - - // id for window - id = i + 1; - - // not valid - if (width <= 0 || height <= 0) return 0; - - if (monitor) { - Browser.requestFullscreen(); - } else { - Browser.setCanvasSize(width, height); - } - - // Create context when there are no existing alive windows - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++) { - // no-op - } - if (i == GLFW.windows.length) { - var contextAttributes = { - antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES - depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS - stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS - alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS - } - Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); - } - - // If context creation failed, do not return a valid window - if (!Module.ctx) return 0; - - // Get non alive id - var win = new GLFW_Window(id, width, height, title, monitor, share); - - // Set window to array - if (id - 1 == GLFW.windows.length) { - GLFW.windows.push(win); - } else { - GLFW.windows[id - 1] = win; - } - - GLFW.active = win; - return win.id; - },destroyWindow:function(winid) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (win.windowCloseFunc) - wasmTable.get(win.windowCloseFunc)(win.id); - - GLFW.windows[win.id - 1] = null; - if (GLFW.active.id == win.id) - GLFW.active = null; - - // Destroy context when no alive windows - for (var i = 0; i < GLFW.windows.length; i++) - if (GLFW.windows[i] !== null) return; - - Module.ctx = Browser.destroyContext(Module['canvas'], true, true); - },swapBuffers:function(winid) { - },GLFW2ParamToGLFW3Param:function(param) { - var table = { - 0x00030001:0, // GLFW_MOUSE_CURSOR - 0x00030002:0, // GLFW_STICKY_KEYS - 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS - 0x00030004:0, // GLFW_SYSTEM_KEYS - 0x00030005:0, // GLFW_KEY_REPEAT - 0x00030006:0, // GLFW_AUTO_POLL_EVENTS - 0x00020001:0, // GLFW_OPENED - 0x00020002:0, // GLFW_ACTIVE - 0x00020003:0, // GLFW_ICONIFIED - 0x00020004:0, // GLFW_ACCELERATED - 0x00020005:0x00021001, // GLFW_RED_BITS - 0x00020006:0x00021002, // GLFW_GREEN_BITS - 0x00020007:0x00021003, // GLFW_BLUE_BITS - 0x00020008:0x00021004, // GLFW_ALPHA_BITS - 0x00020009:0x00021005, // GLFW_DEPTH_BITS - 0x0002000A:0x00021006, // GLFW_STENCIL_BITS - 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE - 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS - 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS - 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS - 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS - 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS - 0x00020011:0x0002100C, // GLFW_STEREO - 0x00020012:0, // GLFW_WINDOW_NO_RESIZE - 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES - 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR - 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR - 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT - 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT - 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE - }; - return table[param]; - }};function _glfwCreateWindow(width, height, title, monitor, share) { - return GLFW.createWindow(width, height, title, monitor, share); - } - - function _glfwDefaultWindowHints() { - GLFW.hints = GLFW.defaultHints; - } - - function _glfwDestroyWindow(winid) { - return GLFW.destroyWindow(winid); - } - - function _glfwGetPrimaryMonitor() { - return 1; - } - - function _glfwGetTime() { - return GLFW.getTime() - GLFW.initialTime; - } - - function _glfwGetVideoModes(monitor, count) { - setValue(count, 0, 'i32'); - return 0; - } - - function _glfwInit() { - if (GLFW.windows) return 1; // GL_TRUE - - GLFW.initialTime = GLFW.getTime(); - GLFW.hints = GLFW.defaultHints; - GLFW.windows = new Array() - GLFW.active = null; - - window.addEventListener("gamepadconnected", GLFW.onGamepadConnected, true); - window.addEventListener("gamepaddisconnected", GLFW.onGamepadDisconnected, true); - window.addEventListener("keydown", GLFW.onKeydown, true); - window.addEventListener("keypress", GLFW.onKeyPress, true); - window.addEventListener("keyup", GLFW.onKeyup, true); - window.addEventListener("blur", GLFW.onBlur, true); - Module["canvas"].addEventListener("touchmove", GLFW.onMousemove, true); - Module["canvas"].addEventListener("touchstart", GLFW.onMouseButtonDown, true); - Module["canvas"].addEventListener("touchcancel", GLFW.onMouseButtonUp, true); - Module["canvas"].addEventListener("touchend", GLFW.onMouseButtonUp, true); - Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].addEventListener('drop', GLFW.onDrop, true); - Module["canvas"].addEventListener('dragover', GLFW.onDragover, true); - - Browser.resizeListeners.push(function(width, height) { - GLFW.onCanvasResize(width, height); - }); - return 1; // GL_TRUE - } - - function _glfwMakeContextCurrent(winid) {} - - function _glfwSetCharCallback(winid, cbfun) { - return GLFW.setCharCallback(winid, cbfun); - } - - function _glfwSetCursorEnterCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.cursorEnterFunc; - win.cursorEnterFunc = cbfun; - return prevcbfun; - } - - function _glfwSetCursorPosCallback(winid, cbfun) { - return GLFW.setCursorPosCallback(winid, cbfun); - } - - function _glfwSetDropCallback(winid, cbfun) { - return GLFW.setDropCallback(winid, cbfun); - } - - function _glfwSetErrorCallback(cbfun) { - var prevcbfun = GLFW.errorFunc; - GLFW.errorFunc = cbfun; - return prevcbfun; - } - - function _glfwSetKeyCallback(winid, cbfun) { - return GLFW.setKeyCallback(winid, cbfun); - } - - function _glfwSetMouseButtonCallback(winid, cbfun) { - return GLFW.setMouseButtonCallback(winid, cbfun); - } - - function _glfwSetScrollCallback(winid, cbfun) { - return GLFW.setScrollCallback(winid, cbfun); - } - - function _glfwSetWindowFocusCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.windowFocusFunc; - win.windowFocusFunc = cbfun; - return prevcbfun; - } - - function _glfwSetWindowIconifyCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.windowIconifyFunc; - win.windowIconifyFunc = cbfun; - return prevcbfun; - } - - function _glfwSetWindowShouldClose(winid, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.shouldClose = value; - } - - function _glfwSetWindowSizeCallback(winid, cbfun) { - return GLFW.setWindowSizeCallback(winid, cbfun); - } - - function _glfwSwapBuffers(winid) { - GLFW.swapBuffers(winid); - } - - function _glfwSwapInterval(interval) { - interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. - if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); - } - - function _glfwTerminate() { - window.removeEventListener("gamepadconnected", GLFW.onGamepadConnected, true); - window.removeEventListener("gamepaddisconnected", GLFW.onGamepadDisconnected, true); - window.removeEventListener("keydown", GLFW.onKeydown, true); - window.removeEventListener("keypress", GLFW.onKeyPress, true); - window.removeEventListener("keyup", GLFW.onKeyup, true); - window.removeEventListener("blur", GLFW.onBlur, true); - Module["canvas"].removeEventListener("touchmove", GLFW.onMousemove, true); - Module["canvas"].removeEventListener("touchstart", GLFW.onMouseButtonDown, true); - Module["canvas"].removeEventListener("touchcancel", GLFW.onMouseButtonUp, true); - Module["canvas"].removeEventListener("touchend", GLFW.onMouseButtonUp, true); - Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].removeEventListener('drop', GLFW.onDrop, true); - Module["canvas"].removeEventListener('dragover', GLFW.onDragover, true); - - - Module["canvas"].width = Module["canvas"].height = 1; - GLFW.windows = null; - GLFW.active = null; - } - - function _glfwWindowHint(target, hint) { - GLFW.hints[target] = hint; - } - - - function _usleep(useconds) { - // int usleep(useconds_t useconds); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/usleep.html - // We're single-threaded, so use a busy loop. Super-ugly. - var start = _emscripten_get_now(); - while (_emscripten_get_now() - start < useconds / 1000) { - // Do nothing. - } - }function _nanosleep(rqtp, rmtp) { - // int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); - if (rqtp === 0) { - setErrNo(28); - return -1; - } - var seconds = HEAP32[((rqtp)>>2)]; - var nanoseconds = HEAP32[(((rqtp)+(4))>>2)]; - if (nanoseconds < 0 || nanoseconds > 999999999 || seconds < 0) { - setErrNo(28); - return -1; - } - if (rmtp !== 0) { - HEAP32[((rmtp)>>2)]=0; - HEAP32[(((rmtp)+(4))>>2)]=0; - } - return _usleep((seconds * 1e6) + (nanoseconds / 1000)); - } - - function _setTempRet0($i) { - setTempRet0(($i) | 0); - } - - function _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; - } - return ret; - } - -var FSNode = /** @constructor */ function(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.mounted = null; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.node_ops = {}; - this.stream_ops = {}; - this.rdev = rdev; - }; - var readMode = 292/*292*/ | 73/*73*/; - var writeMode = 146/*146*/; - Object.defineProperties(FSNode.prototype, { - read: { - get: /** @this{FSNode} */function() { - return (this.mode & readMode) === readMode; - }, - set: /** @this{FSNode} */function(val) { - val ? this.mode |= readMode : this.mode &= ~readMode; - } - }, - write: { - get: /** @this{FSNode} */function() { - return (this.mode & writeMode) === writeMode; - }, - set: /** @this{FSNode} */function(val) { - val ? this.mode |= writeMode : this.mode &= ~writeMode; - } - }, - isFolder: { - get: /** @this{FSNode} */function() { - return FS.isDir(this.mode); - } - }, - isDevice: { - get: /** @this{FSNode} */function() { - return FS.isChrdev(this.mode); - } - } - }); - FS.FSNode = FSNode; - FS.staticInit();Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; -Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas) { Browser.requestFullscreen(lockPointer, resizeCanvas) }; - Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; - Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; - Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; - Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; - Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } - Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; -var GLctx;; -for (var i = 0; i < 32; ++i) tempFixedLengthArray.push(new Array(i));; -var miniTempWebGLFloatBuffersStorage = new Float32Array(288); - for (/**@suppress{duplicate}*/var i = 0; i < 288; ++i) { - miniTempWebGLFloatBuffers[i] = miniTempWebGLFloatBuffersStorage.subarray(0, i+1); - } - ; -var __miniTempWebGLIntBuffersStorage = new Int32Array(288); - for (/**@suppress{duplicate}*/var i = 0; i < 288; ++i) { - __miniTempWebGLIntBuffers[i] = __miniTempWebGLIntBuffersStorage.subarray(0, i+1); - } - ; -var ASSERTIONS = false; - - - -/** @type {function(string, boolean=, number=)} */ -function intArrayFromString(stringy, dontAddNull, length) { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; -} - -function intArrayToString(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - var chr = array[i]; - if (chr > 0xFF) { - if (ASSERTIONS) { - assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); - } - chr &= 0xFF; - } - ret.push(String.fromCharCode(chr)); - } - return ret.join(''); -} - - - -/* global initializers */ __ATINIT__.push({ func: function() { ___wasm_call_ctors() } }); - -var asmLibraryArg = { "__assert_fail": ___assert_fail, "__indirect_function_table": wasmTable, "__sys_fcntl64": ___sys_fcntl64, "__sys_ioctl": ___sys_ioctl, "__sys_open": ___sys_open, "eglGetProcAddress": _eglGetProcAddress, "emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "emscripten_get_element_css_size": _emscripten_get_element_css_size, "emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "emscripten_glActiveTexture": _emscripten_glActiveTexture, "emscripten_glAttachShader": _emscripten_glAttachShader, "emscripten_glBeginQueryEXT": _emscripten_glBeginQueryEXT, "emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "emscripten_glBindBuffer": _emscripten_glBindBuffer, "emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "emscripten_glBindTexture": _emscripten_glBindTexture, "emscripten_glBindVertexArrayOES": _emscripten_glBindVertexArrayOES, "emscripten_glBlendColor": _emscripten_glBlendColor, "emscripten_glBlendEquation": _emscripten_glBlendEquation, "emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "emscripten_glBlendFunc": _emscripten_glBlendFunc, "emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "emscripten_glBufferData": _emscripten_glBufferData, "emscripten_glBufferSubData": _emscripten_glBufferSubData, "emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "emscripten_glClear": _emscripten_glClear, "emscripten_glClearColor": _emscripten_glClearColor, "emscripten_glClearDepthf": _emscripten_glClearDepthf, "emscripten_glClearStencil": _emscripten_glClearStencil, "emscripten_glColorMask": _emscripten_glColorMask, "emscripten_glCompileShader": _emscripten_glCompileShader, "emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "emscripten_glCreateProgram": _emscripten_glCreateProgram, "emscripten_glCreateShader": _emscripten_glCreateShader, "emscripten_glCullFace": _emscripten_glCullFace, "emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "emscripten_glDeleteQueriesEXT": _emscripten_glDeleteQueriesEXT, "emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "emscripten_glDeleteShader": _emscripten_glDeleteShader, "emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "emscripten_glDeleteVertexArraysOES": _emscripten_glDeleteVertexArraysOES, "emscripten_glDepthFunc": _emscripten_glDepthFunc, "emscripten_glDepthMask": _emscripten_glDepthMask, "emscripten_glDepthRangef": _emscripten_glDepthRangef, "emscripten_glDetachShader": _emscripten_glDetachShader, "emscripten_glDisable": _emscripten_glDisable, "emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "emscripten_glDrawArrays": _emscripten_glDrawArrays, "emscripten_glDrawArraysInstancedANGLE": _emscripten_glDrawArraysInstancedANGLE, "emscripten_glDrawBuffersWEBGL": _emscripten_glDrawBuffersWEBGL, "emscripten_glDrawElements": _emscripten_glDrawElements, "emscripten_glDrawElementsInstancedANGLE": _emscripten_glDrawElementsInstancedANGLE, "emscripten_glEnable": _emscripten_glEnable, "emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "emscripten_glEndQueryEXT": _emscripten_glEndQueryEXT, "emscripten_glFinish": _emscripten_glFinish, "emscripten_glFlush": _emscripten_glFlush, "emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "emscripten_glFrontFace": _emscripten_glFrontFace, "emscripten_glGenBuffers": _emscripten_glGenBuffers, "emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "emscripten_glGenQueriesEXT": _emscripten_glGenQueriesEXT, "emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "emscripten_glGenTextures": _emscripten_glGenTextures, "emscripten_glGenVertexArraysOES": _emscripten_glGenVertexArraysOES, "emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "emscripten_glGetError": _emscripten_glGetError, "emscripten_glGetFloatv": _emscripten_glGetFloatv, "emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "emscripten_glGetQueryObjecti64vEXT": _emscripten_glGetQueryObjecti64vEXT, "emscripten_glGetQueryObjectivEXT": _emscripten_glGetQueryObjectivEXT, "emscripten_glGetQueryObjectui64vEXT": _emscripten_glGetQueryObjectui64vEXT, "emscripten_glGetQueryObjectuivEXT": _emscripten_glGetQueryObjectuivEXT, "emscripten_glGetQueryivEXT": _emscripten_glGetQueryivEXT, "emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "emscripten_glGetString": _emscripten_glGetString, "emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "emscripten_glHint": _emscripten_glHint, "emscripten_glIsBuffer": _emscripten_glIsBuffer, "emscripten_glIsEnabled": _emscripten_glIsEnabled, "emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "emscripten_glIsProgram": _emscripten_glIsProgram, "emscripten_glIsQueryEXT": _emscripten_glIsQueryEXT, "emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "emscripten_glIsShader": _emscripten_glIsShader, "emscripten_glIsTexture": _emscripten_glIsTexture, "emscripten_glIsVertexArrayOES": _emscripten_glIsVertexArrayOES, "emscripten_glLineWidth": _emscripten_glLineWidth, "emscripten_glLinkProgram": _emscripten_glLinkProgram, "emscripten_glPixelStorei": _emscripten_glPixelStorei, "emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "emscripten_glQueryCounterEXT": _emscripten_glQueryCounterEXT, "emscripten_glReadPixels": _emscripten_glReadPixels, "emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "emscripten_glScissor": _emscripten_glScissor, "emscripten_glShaderBinary": _emscripten_glShaderBinary, "emscripten_glShaderSource": _emscripten_glShaderSource, "emscripten_glStencilFunc": _emscripten_glStencilFunc, "emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "emscripten_glStencilMask": _emscripten_glStencilMask, "emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "emscripten_glStencilOp": _emscripten_glStencilOp, "emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "emscripten_glTexImage2D": _emscripten_glTexImage2D, "emscripten_glTexParameterf": _emscripten_glTexParameterf, "emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "emscripten_glTexParameteri": _emscripten_glTexParameteri, "emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "emscripten_glUniform1f": _emscripten_glUniform1f, "emscripten_glUniform1fv": _emscripten_glUniform1fv, "emscripten_glUniform1i": _emscripten_glUniform1i, "emscripten_glUniform1iv": _emscripten_glUniform1iv, "emscripten_glUniform2f": _emscripten_glUniform2f, "emscripten_glUniform2fv": _emscripten_glUniform2fv, "emscripten_glUniform2i": _emscripten_glUniform2i, "emscripten_glUniform2iv": _emscripten_glUniform2iv, "emscripten_glUniform3f": _emscripten_glUniform3f, "emscripten_glUniform3fv": _emscripten_glUniform3fv, "emscripten_glUniform3i": _emscripten_glUniform3i, "emscripten_glUniform3iv": _emscripten_glUniform3iv, "emscripten_glUniform4f": _emscripten_glUniform4f, "emscripten_glUniform4fv": _emscripten_glUniform4fv, "emscripten_glUniform4i": _emscripten_glUniform4i, "emscripten_glUniform4iv": _emscripten_glUniform4iv, "emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "emscripten_glUseProgram": _emscripten_glUseProgram, "emscripten_glValidateProgram": _emscripten_glValidateProgram, "emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "emscripten_glVertexAttribDivisorANGLE": _emscripten_glVertexAttribDivisorANGLE, "emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "emscripten_glViewport": _emscripten_glViewport, "emscripten_memcpy_big": _emscripten_memcpy_big, "emscripten_request_pointerlock": _emscripten_request_pointerlock, "emscripten_resize_heap": _emscripten_resize_heap, "emscripten_run_script": _emscripten_run_script, "emscripten_sample_gamepad_data": _emscripten_sample_gamepad_data, "emscripten_set_click_callback_on_thread": _emscripten_set_click_callback_on_thread, "emscripten_set_fullscreenchange_callback_on_thread": _emscripten_set_fullscreenchange_callback_on_thread, "emscripten_set_gamepadconnected_callback_on_thread": _emscripten_set_gamepadconnected_callback_on_thread, "emscripten_set_gamepaddisconnected_callback_on_thread": _emscripten_set_gamepaddisconnected_callback_on_thread, "emscripten_set_keydown_callback_on_thread": _emscripten_set_keydown_callback_on_thread, "emscripten_set_main_loop": _emscripten_set_main_loop, "emscripten_set_touchcancel_callback_on_thread": _emscripten_set_touchcancel_callback_on_thread, "emscripten_set_touchend_callback_on_thread": _emscripten_set_touchend_callback_on_thread, "emscripten_set_touchmove_callback_on_thread": _emscripten_set_touchmove_callback_on_thread, "emscripten_set_touchstart_callback_on_thread": _emscripten_set_touchstart_callback_on_thread, "exit": _exit, "fd_close": _fd_close, "fd_read": _fd_read, "fd_seek": _fd_seek, "fd_write": _fd_write, "glActiveTexture": _glActiveTexture, "glAttachShader": _glAttachShader, "glBindAttribLocation": _glBindAttribLocation, "glBindBuffer": _glBindBuffer, "glBindTexture": _glBindTexture, "glBlendFunc": _glBlendFunc, "glBufferData": _glBufferData, "glBufferSubData": _glBufferSubData, "glClear": _glClear, "glClearColor": _glClearColor, "glClearDepthf": _glClearDepthf, "glCompileShader": _glCompileShader, "glCompressedTexImage2D": _glCompressedTexImage2D, "glCreateProgram": _glCreateProgram, "glCreateShader": _glCreateShader, "glCullFace": _glCullFace, "glDeleteBuffers": _glDeleteBuffers, "glDeleteProgram": _glDeleteProgram, "glDeleteShader": _glDeleteShader, "glDeleteTextures": _glDeleteTextures, "glDepthFunc": _glDepthFunc, "glDetachShader": _glDetachShader, "glDisable": _glDisable, "glDisableVertexAttribArray": _glDisableVertexAttribArray, "glDrawArrays": _glDrawArrays, "glDrawElements": _glDrawElements, "glEnable": _glEnable, "glEnableVertexAttribArray": _glEnableVertexAttribArray, "glFrontFace": _glFrontFace, "glGenBuffers": _glGenBuffers, "glGenTextures": _glGenTextures, "glGetAttribLocation": _glGetAttribLocation, "glGetFloatv": _glGetFloatv, "glGetProgramInfoLog": _glGetProgramInfoLog, "glGetProgramiv": _glGetProgramiv, "glGetShaderInfoLog": _glGetShaderInfoLog, "glGetShaderiv": _glGetShaderiv, "glGetString": _glGetString, "glGetUniformLocation": _glGetUniformLocation, "glLinkProgram": _glLinkProgram, "glPixelStorei": _glPixelStorei, "glReadPixels": _glReadPixels, "glShaderSource": _glShaderSource, "glTexImage2D": _glTexImage2D, "glTexParameteri": _glTexParameteri, "glUniform1i": _glUniform1i, "glUniform4f": _glUniform4f, "glUniformMatrix4fv": _glUniformMatrix4fv, "glUseProgram": _glUseProgram, "glVertexAttrib2f": _glVertexAttrib2f, "glVertexAttrib3f": _glVertexAttrib3f, "glVertexAttrib4f": _glVertexAttrib4f, "glVertexAttribPointer": _glVertexAttribPointer, "glViewport": _glViewport, "glfwCreateWindow": _glfwCreateWindow, "glfwDefaultWindowHints": _glfwDefaultWindowHints, "glfwDestroyWindow": _glfwDestroyWindow, "glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "glfwGetTime": _glfwGetTime, "glfwGetVideoModes": _glfwGetVideoModes, "glfwInit": _glfwInit, "glfwMakeContextCurrent": _glfwMakeContextCurrent, "glfwSetCharCallback": _glfwSetCharCallback, "glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "glfwSetDropCallback": _glfwSetDropCallback, "glfwSetErrorCallback": _glfwSetErrorCallback, "glfwSetKeyCallback": _glfwSetKeyCallback, "glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "glfwSetScrollCallback": _glfwSetScrollCallback, "glfwSetWindowFocusCallback": _glfwSetWindowFocusCallback, "glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "glfwSwapBuffers": _glfwSwapBuffers, "glfwSwapInterval": _glfwSwapInterval, "glfwTerminate": _glfwTerminate, "glfwWindowHint": _glfwWindowHint, "memory": wasmMemory, "nanosleep": _nanosleep, "setTempRet0": _setTempRet0, "time": _time }; -var asm = createWasm(); -/** @type {function(...*):?} */ -var ___wasm_call_ctors = Module["___wasm_call_ctors"] = function() { - return (___wasm_call_ctors = Module["___wasm_call_ctors"] = Module["asm"]["__wasm_call_ctors"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var _free = Module["_free"] = function() { - return (_free = Module["_free"] = Module["asm"]["free"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var _main = Module["_main"] = function() { - return (_main = Module["_main"] = Module["asm"]["main"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var _malloc = Module["_malloc"] = function() { - return (_malloc = Module["_malloc"] = Module["asm"]["malloc"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var _strstr = Module["_strstr"] = function() { - return (_strstr = Module["_strstr"] = Module["asm"]["strstr"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = function() { - return (_emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = Module["asm"]["emscripten_GetProcAddress"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var ___errno_location = Module["___errno_location"] = function() { - return (___errno_location = Module["___errno_location"] = Module["asm"]["__errno_location"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var stackSave = Module["stackSave"] = function() { - return (stackSave = Module["stackSave"] = Module["asm"]["stackSave"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var stackRestore = Module["stackRestore"] = function() { - return (stackRestore = Module["stackRestore"] = Module["asm"]["stackRestore"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var stackAlloc = Module["stackAlloc"] = function() { - return (stackAlloc = Module["stackAlloc"] = Module["asm"]["stackAlloc"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var _emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = function() { - return (_emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = Module["asm"]["emscripten_main_thread_process_queued_calls"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var dynCall_jiji = Module["dynCall_jiji"] = function() { - return (dynCall_jiji = Module["dynCall_jiji"] = Module["asm"]["dynCall_jiji"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var __growWasmMemory = Module["__growWasmMemory"] = function() { - return (__growWasmMemory = Module["__growWasmMemory"] = Module["asm"]["__growWasmMemory"]).apply(null, arguments); -}; - - - - - -// === Auto-generated postamble setup entry stuff === - - - - - - - - - - - - - - - - - - - - - - -Module["addRunDependency"] = addRunDependency; -Module["removeRunDependency"] = removeRunDependency; -Module["FS_createFolder"] = FS.createFolder; -Module["FS_createPath"] = FS.createPath; -Module["FS_createDataFile"] = FS.createDataFile; -Module["FS_createPreloadedFile"] = FS.createPreloadedFile; -Module["FS_createLazyFile"] = FS.createLazyFile; -Module["FS_createLink"] = FS.createLink; -Module["FS_createDevice"] = FS.createDevice; -Module["FS_unlink"] = FS.unlink; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -var calledRun; - -/** - * @constructor - * @this {ExitStatus} - */ -function ExitStatus(status) { - this.name = "ExitStatus"; - this.message = "Program terminated with exit(" + status + ")"; - this.status = status; -} - -var calledMain = false; - - -dependenciesFulfilled = function runCaller() { - // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) - if (!calledRun) run(); - if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled -}; - -function callMain(args) { - - var entryFunction = Module['_main']; - - - var argc = 0; - var argv = 0; - - try { - - - var ret = entryFunction(argc, argv); - - - // In PROXY_TO_PTHREAD builds, we should never exit the runtime below, as execution is asynchronously handed - // off to a pthread. - // if we're not running an evented main loop, it's time to exit - exit(ret, /* implicit = */ true); - } - catch(e) { - if (e instanceof ExitStatus) { - // exit() throws this once it's done to make sure execution - // has been stopped completely - return; - } else if (e == 'unwind') { - // running an evented main loop, don't immediately exit - noExitRuntime = true; - return; - } else { - var toLog = e; - if (e && typeof e === 'object' && e.stack) { - toLog = [e, e.stack]; - } - err('exception thrown: ' + toLog); - quit_(1, e); - } - } finally { - calledMain = true; - - } -} - - - - -/** @type {function(Array=)} */ -function run(args) { - args = args || arguments_; - - if (runDependencies > 0) { - return; - } - - - preRun(); - - if (runDependencies > 0) return; // a preRun added a dependency, run will be called later - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - if (calledRun) return; - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); - - if (shouldRunNow) callMain(args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(function() { - setTimeout(function() { - Module['setStatus'](''); - }, 1); - doRun(); - }, 1); - } else - { - doRun(); - } -} -Module['run'] = run; - - -/** @param {boolean|number=} implicit */ -function exit(status, implicit) { - - // if this is just main exit-ing implicitly, and the status is 0, then we - // don't need to do anything here and can just leave. if the status is - // non-zero, though, then we need to report it. - // (we may have warned about this earlier, if a situation justifies doing so) - if (implicit && noExitRuntime && status === 0) { - return; - } - - if (noExitRuntime) { - } else { - - EXITSTATUS = status; - - exitRuntime(); - - if (Module['onExit']) Module['onExit'](status); - - ABORT = true; - } - - quit_(status, new ExitStatus(status)); -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} - -// shouldRunNow refers to calling main(), not run(). -var shouldRunNow = true; - -if (Module['noInitialRun']) shouldRunNow = false; - - - noExitRuntime = true; - -run(); - - - - - - -// {{MODULE_ADDITIONS}} - - - +var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_first_person_maze.data";var REMOTE_PACKAGE_BASE="models_first_person_maze.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_first_person_maze.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["be"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["ce"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"d":___assert_fail,"Q":___sys_fcntl64,"Zd":___sys_ioctl,"_d":___sys_open,"w":_eglGetProcAddress,"aa":_emscripten_exit_pointerlock,"Z":_emscripten_get_element_css_size,"U":_emscripten_get_gamepad_status,"V":_emscripten_get_num_gamepads,"$":_emscripten_get_pointerlock_status,"Bd":_emscripten_glActiveTexture,"Ad":_emscripten_glAttachShader,"Rd":_emscripten_glBeginQueryEXT,"zd":_emscripten_glBindAttribLocation,"yd":_emscripten_glBindBuffer,"xd":_emscripten_glBindFramebuffer,"wd":_emscripten_glBindRenderbuffer,"vd":_emscripten_glBindTexture,"Jd":_emscripten_glBindVertexArrayOES,"ud":_emscripten_glBlendColor,"td":_emscripten_glBlendEquation,"sd":_emscripten_glBlendEquationSeparate,"rd":_emscripten_glBlendFunc,"qd":_emscripten_glBlendFuncSeparate,"pd":_emscripten_glBufferData,"od":_emscripten_glBufferSubData,"nd":_emscripten_glCheckFramebufferStatus,"md":_emscripten_glClear,"ld":_emscripten_glClearColor,"kd":_emscripten_glClearDepthf,"jd":_emscripten_glClearStencil,"id":_emscripten_glColorMask,"hd":_emscripten_glCompileShader,"gd":_emscripten_glCompressedTexImage2D,"fd":_emscripten_glCompressedTexSubImage2D,"ed":_emscripten_glCopyTexImage2D,"dd":_emscripten_glCopyTexSubImage2D,"cd":_emscripten_glCreateProgram,"bd":_emscripten_glCreateShader,"ad":_emscripten_glCullFace,"$c":_emscripten_glDeleteBuffers,"_c":_emscripten_glDeleteFramebuffers,"Zc":_emscripten_glDeleteProgram,"Td":_emscripten_glDeleteQueriesEXT,"Yc":_emscripten_glDeleteRenderbuffers,"Xc":_emscripten_glDeleteShader,"Wc":_emscripten_glDeleteTextures,"Id":_emscripten_glDeleteVertexArraysOES,"Vc":_emscripten_glDepthFunc,"Uc":_emscripten_glDepthMask,"Tc":_emscripten_glDepthRangef,"Sc":_emscripten_glDetachShader,"Rc":_emscripten_glDisable,"Qc":_emscripten_glDisableVertexAttribArray,"Pc":_emscripten_glDrawArrays,"Ed":_emscripten_glDrawArraysInstancedANGLE,"Fd":_emscripten_glDrawBuffersWEBGL,"Oc":_emscripten_glDrawElements,"Dd":_emscripten_glDrawElementsInstancedANGLE,"Mc":_emscripten_glEnable,"Lc":_emscripten_glEnableVertexAttribArray,"Qd":_emscripten_glEndQueryEXT,"Kc":_emscripten_glFinish,"Jc":_emscripten_glFlush,"Ic":_emscripten_glFramebufferRenderbuffer,"Hc":_emscripten_glFramebufferTexture2D,"Gc":_emscripten_glFrontFace,"Fc":_emscripten_glGenBuffers,"Dc":_emscripten_glGenFramebuffers,"Ud":_emscripten_glGenQueriesEXT,"Cc":_emscripten_glGenRenderbuffers,"Bc":_emscripten_glGenTextures,"Hd":_emscripten_glGenVertexArraysOES,"Ec":_emscripten_glGenerateMipmap,"Ac":_emscripten_glGetActiveAttrib,"zc":_emscripten_glGetActiveUniform,"yc":_emscripten_glGetAttachedShaders,"xc":_emscripten_glGetAttribLocation,"wc":_emscripten_glGetBooleanv,"vc":_emscripten_glGetBufferParameteriv,"uc":_emscripten_glGetError,"tc":_emscripten_glGetFloatv,"sc":_emscripten_glGetFramebufferAttachmentParameteriv,"rc":_emscripten_glGetIntegerv,"pc":_emscripten_glGetProgramInfoLog,"qc":_emscripten_glGetProgramiv,"Ld":_emscripten_glGetQueryObjecti64vEXT,"Nd":_emscripten_glGetQueryObjectivEXT,"Kd":_emscripten_glGetQueryObjectui64vEXT,"Md":_emscripten_glGetQueryObjectuivEXT,"Od":_emscripten_glGetQueryivEXT,"oc":_emscripten_glGetRenderbufferParameteriv,"mc":_emscripten_glGetShaderInfoLog,"lc":_emscripten_glGetShaderPrecisionFormat,"kc":_emscripten_glGetShaderSource,"nc":_emscripten_glGetShaderiv,"jc":_emscripten_glGetString,"ic":_emscripten_glGetTexParameterfv,"hc":_emscripten_glGetTexParameteriv,"ec":_emscripten_glGetUniformLocation,"gc":_emscripten_glGetUniformfv,"fc":_emscripten_glGetUniformiv,"bc":_emscripten_glGetVertexAttribPointerv,"dc":_emscripten_glGetVertexAttribfv,"cc":_emscripten_glGetVertexAttribiv,"ac":_emscripten_glHint,"$b":_emscripten_glIsBuffer,"_b":_emscripten_glIsEnabled,"Zb":_emscripten_glIsFramebuffer,"Yb":_emscripten_glIsProgram,"Sd":_emscripten_glIsQueryEXT,"Xb":_emscripten_glIsRenderbuffer,"Wb":_emscripten_glIsShader,"Vb":_emscripten_glIsTexture,"Gd":_emscripten_glIsVertexArrayOES,"Ub":_emscripten_glLineWidth,"Tb":_emscripten_glLinkProgram,"Sb":_emscripten_glPixelStorei,"Rb":_emscripten_glPolygonOffset,"Pd":_emscripten_glQueryCounterEXT,"Pb":_emscripten_glReadPixels,"Ob":_emscripten_glReleaseShaderCompiler,"Nb":_emscripten_glRenderbufferStorage,"Mb":_emscripten_glSampleCoverage,"Lb":_emscripten_glScissor,"Kb":_emscripten_glShaderBinary,"Jb":_emscripten_glShaderSource,"Ib":_emscripten_glStencilFunc,"Hb":_emscripten_glStencilFuncSeparate,"Gb":_emscripten_glStencilMask,"Eb":_emscripten_glStencilMaskSeparate,"Db":_emscripten_glStencilOp,"Cb":_emscripten_glStencilOpSeparate,"Bb":_emscripten_glTexImage2D,"Ab":_emscripten_glTexParameterf,"zb":_emscripten_glTexParameterfv,"yb":_emscripten_glTexParameteri,"xb":_emscripten_glTexParameteriv,"wb":_emscripten_glTexSubImage2D,"vb":_emscripten_glUniform1f,"tb":_emscripten_glUniform1fv,"sb":_emscripten_glUniform1i,"rb":_emscripten_glUniform1iv,"qb":_emscripten_glUniform2f,"pb":_emscripten_glUniform2fv,"ob":_emscripten_glUniform2i,"nb":_emscripten_glUniform2iv,"mb":_emscripten_glUniform3f,"lb":_emscripten_glUniform3fv,"kb":_emscripten_glUniform3i,"ib":_emscripten_glUniform3iv,"hb":_emscripten_glUniform4f,"gb":_emscripten_glUniform4fv,"fb":_emscripten_glUniform4i,"eb":_emscripten_glUniform4iv,"db":_emscripten_glUniformMatrix2fv,"cb":_emscripten_glUniformMatrix3fv,"bb":_emscripten_glUniformMatrix4fv,"ab":_emscripten_glUseProgram,"$a":_emscripten_glValidateProgram,"Za":_emscripten_glVertexAttrib1f,"Ya":_emscripten_glVertexAttrib1fv,"Xa":_emscripten_glVertexAttrib2f,"Wa":_emscripten_glVertexAttrib2fv,"Va":_emscripten_glVertexAttrib3f,"Ua":_emscripten_glVertexAttrib3fv,"Ta":_emscripten_glVertexAttrib4f,"Sa":_emscripten_glVertexAttrib4fv,"Cd":_emscripten_glVertexAttribDivisorANGLE,"Ra":_emscripten_glVertexAttribPointer,"Qa":_emscripten_glViewport,"Vd":_emscripten_memcpy_big,"_":_emscripten_request_pointerlock,"Wd":_emscripten_resize_heap,"y":_emscripten_run_script,"W":_emscripten_sample_gamepad_data,"ya":_emscripten_set_click_callback_on_thread,"Aa":_emscripten_set_fullscreenchange_callback_on_thread,"ta":_emscripten_set_gamepadconnected_callback_on_thread,"sa":_emscripten_set_gamepaddisconnected_callback_on_thread,"za":_emscripten_set_keydown_callback_on_thread,"ae":_emscripten_set_main_loop,"ua":_emscripten_set_touchcancel_callback_on_thread,"wa":_emscripten_set_touchend_callback_on_thread,"va":_emscripten_set_touchmove_callback_on_thread,"xa":_emscripten_set_touchstart_callback_on_thread,"Xd":_emscripten_thread_sleep,"S":_exit,"R":_fd_close,"Yd":_fd_read,"Oa":_fd_seek,"P":_fd_write,"p":_glActiveTexture,"D":_glAttachShader,"k":_glBindAttribLocation,"a":_glBindBuffer,"j":_glBindTexture,"Fb":_glBlendFunc,"e":_glBufferData,"v":_glBufferSubData,"K":_glClear,"L":_glClearColor,"_a":_glClearDepthf,"Fa":_glCompileShader,"La":_glCompressedTexImage2D,"Da":_glCreateProgram,"Ha":_glCreateShader,"ub":_glCullFace,"m":_glDeleteBuffers,"G":_glDeleteProgram,"H":_glDeleteShader,"J":_glDeleteTextures,"Qb":_glDepthFunc,"I":_glDetachShader,"M":_glDisable,"h":_glDisableVertexAttribArray,"O":_glDrawArrays,"N":_glDrawElements,"x":_glEnable,"b":_glEnableVertexAttribArray,"jb":_glFrontFace,"f":_glGenBuffers,"Na":_glGenTextures,"u":_glGetAttribLocation,"Nc":_glGetFloatv,"Ba":_glGetProgramInfoLog,"F":_glGetProgramiv,"Ea":_glGetShaderInfoLog,"E":_glGetShaderiv,"n":_glGetString,"t":_glGetUniformLocation,"Ca":_glLinkProgram,"Pa":_glPixelStorei,"Ia":_glReadPixels,"Ga":_glShaderSource,"Ma":_glTexImage2D,"o":_glTexParameteri,"z":_glUniform1i,"q":_glUniform4f,"r":_glUniformMatrix4fv,"l":_glUseProgram,"Ja":_glVertexAttrib2f,"Ka":_glVertexAttrib3f,"s":_glVertexAttrib4f,"c":_glVertexAttribPointer,"$d":_glViewport,"B":_glfwCreateWindow,"pa":_glfwDefaultWindowHints,"Y":_glfwDestroyWindow,"C":_glfwGetPrimaryMonitor,"i":_glfwGetTime,"oa":_glfwGetVideoModes,"qa":_glfwInit,"da":_glfwMakeContextCurrent,"ia":_glfwSetCharCallback,"ea":_glfwSetCursorEnterCallback,"ga":_glfwSetCursorPosCallback,"ka":_glfwSetDropCallback,"ra":_glfwSetErrorCallback,"ja":_glfwSetKeyCallback,"ha":_glfwSetMouseButtonCallback,"fa":_glfwSetScrollCallback,"la":_glfwSetWindowFocusCallback,"ma":_glfwSetWindowIconifyCallback,"T":_glfwSetWindowShouldClose,"na":_glfwSetWindowSizeCallback,"X":_glfwSwapBuffers,"ca":_glfwSwapInterval,"A":_glfwTerminate,"g":_glfwWindowHint,"ba":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["de"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["ee"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["fe"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["ge"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["he"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["ie"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["je"]).apply(null,arguments)};Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_first_person_maze.wasm b/examples/web/models/models_first_person_maze.wasm index a9d9703..4f222f9 100644 Binary files a/examples/web/models/models_first_person_maze.wasm and b/examples/web/models/models_first_person_maze.wasm differ diff --git a/examples/web/models/models_first_person_maze.wasm.map b/examples/web/models/models_first_person_maze.wasm.map deleted file mode 100644 index 3aa0110..0000000 --- a/examples/web/models/models_first_person_maze.wasm.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["models_first_person_maze.c"],"names":[],"mappings":"+yTA+CA,eAGI,YAGS,0EAEK,YACH,mDAHF,IAGE,cAHF,IAGE,SAHF,IAGE,SACiC,YAAhC,oCAAgC,gBAAhC,iDACJ,mDAGE,YARD,IAQC,WARD,IAQC,WARD,IAQC,WACqC,AATtC,YASsC,mBAGnC,oCAZH,IAYG,YACZ,6CAbS,4BAiBT,MAjBS,UAiBT,WAjBS,AAoBT,EApBS,gBAoCT,EApCS,WAoCT,EApCS,WAoCT,EApCS,WAoCT,SApCS,AAqCT,EArCS,UAqCT,EArCS,UAqCT,EArCS,UAqCT,SACA,sBAEA,GAGA,QA3CS,EA2CT,GAOJ,eAG+B,iCAKP,EALO,aAKP,EALO,wBAST,AAAkB,AATT,AASS,EATT,QASS,SAAlB,8BADgB,EAAhB,AAAkB,AART,AAQO,GARP,QAQS,SAAlB,uBARS,SAoB3B,SAEiC,MAAX,OAAlB,aAEyC,AAAL,AAFpC,OAEoC,AAAhB,KAAgB,UAAK,MAEtB,gBADV,gBACmC,AAAzB,EAAyB,AAAX,AAAd,OAAc,MAAW,QAA6B,AAAtD,EAAsD,AAAT,AAA7C,OAA6C,MAAS,OADhE,+CAIiB,AAJjB,IAIiB,uBAPW,oBAArC,UAFc,AAAoB,OAApB,OAiBlB,GAEoB,UAAhB,mBAEA,yBAEwC,QAApC,+EAGJ,GAEmC,KAL/B,AAKJ,EALI,UAKJ,EALI,UAK6B,YAAmB,AAAnB,EAAmB,AAAW,AAAX,EAAW,AAL3D,OAK2D,IAAX,QAA2C,QAA/F,OALI,AAKJ,EALI,UAKJ,uCACmB,KAAmF,WAAtG,UAAuD,AAAR,AAAQ,EAAR,AAN3C,OAM2C,MAAQ,KAAvD,EAA4F,AANxF,OAMwF,GAA5F,QAGc,KAAoF,WAAlG,UAA0C,AATtC,AAS8C,EAT9C,AAS8C,EAAkB,AAxCpE,gBAwCoE,GAThE,AA/BQ,EA+BR,KASsC,AATtC,OASsC,IATtC,AASmD,EAAiC,AArCxF,gBAqCwF,GATpF,AA5BQ,EA4BR,IASuE,IAA3E,eAIJ,GAEJ"} \ No newline at end of file diff --git a/examples/web/models/models_geometric_shapes.c b/examples/web/models/models_geometric_shapes.c index 5d56eed..3ce7b2d 100644 --- a/examples/web/models/models_geometric_shapes.c +++ b/examples/web/models/models_geometric_shapes.c @@ -45,7 +45,7 @@ int main(void) camera.type = CAMERA_PERSPECTIVE; #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_geometric_shapes.html b/examples/web/models/models_geometric_shapes.html index e9d5b93..1207668 100644 --- a/examples/web/models/models_geometric_shapes.html +++ b/examples/web/models/models_geometric_shapes.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_geometric_shapes.js b/examples/web/models/models_geometric_shapes.js index 46b1564..587a7b2 100644 --- a/examples/web/models/models_geometric_shapes.js +++ b/examples/web/models/models_geometric_shapes.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;read_=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5276848,DYNAMICTOP_PTR=33936;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_geometric_shapes.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"c":abort,"b":___assert_fail,"mc":___lock,"z":___setErrNo,"$a":___syscall140,"Qa":___syscall145,"l":___syscall221,"va":___syscall5,"ka":___syscall54,"y":___syscall6,"x":___unlock,"Yd":___wasi_fd_write,"w":_eglGetProcAddress,"R":_emscripten_exit_pointerlock,"td":_emscripten_get_element_css_size,"id":_emscripten_get_gamepad_status,"Zc":_emscripten_get_heap_size,"Oc":_emscripten_get_num_gamepads,"Q":_emscripten_get_pointerlock_status,"uc":_emscripten_glActiveTexture,"lc":_emscripten_glAttachShader,"fc":_emscripten_glBeginQueryEXT,"bc":_emscripten_glBindAttribLocation,"Wb":_emscripten_glBindBuffer,"Pb":_emscripten_glBindFramebuffer,"Ib":_emscripten_glBindRenderbuffer,"zb":_emscripten_glBindTexture,"pb":_emscripten_glBindVertexArrayOES,"lb":_emscripten_glBlendColor,"kb":_emscripten_glBlendEquation,"jb":_emscripten_glBlendEquationSeparate,"ib":_emscripten_glBlendFunc,"hb":_emscripten_glBlendFuncSeparate,"gb":_emscripten_glBufferData,"fb":_emscripten_glBufferSubData,"eb":_emscripten_glCheckFramebufferStatus,"db":_emscripten_glClear,"cb":_emscripten_glClearColor,"bb":_emscripten_glClearDepthf,"ab":_emscripten_glClearStencil,"_a":_emscripten_glColorMask,"Za":_emscripten_glCompileShader,"Ya":_emscripten_glCompressedTexImage2D,"Xa":_emscripten_glCompressedTexSubImage2D,"Wa":_emscripten_glCopyTexImage2D,"Va":_emscripten_glCopyTexSubImage2D,"Ua":_emscripten_glCreateProgram,"Ta":_emscripten_glCreateShader,"Sa":_emscripten_glCullFace,"Ra":_emscripten_glDeleteBuffers,"Pa":_emscripten_glDeleteFramebuffers,"Oa":_emscripten_glDeleteProgram,"Na":_emscripten_glDeleteQueriesEXT,"Ma":_emscripten_glDeleteRenderbuffers,"La":_emscripten_glDeleteShader,"Ka":_emscripten_glDeleteTextures,"Ja":_emscripten_glDeleteVertexArraysOES,"Ia":_emscripten_glDepthFunc,"Ha":_emscripten_glDepthMask,"Ga":_emscripten_glDepthRangef,"Fa":_emscripten_glDetachShader,"Ea":_emscripten_glDisable,"Da":_emscripten_glDisableVertexAttribArray,"Ca":_emscripten_glDrawArrays,"Ba":_emscripten_glDrawArraysInstancedANGLE,"Aa":_emscripten_glDrawBuffersWEBGL,"za":_emscripten_glDrawElements,"ya":_emscripten_glDrawElementsInstancedANGLE,"xa":_emscripten_glEnable,"wa":_emscripten_glEnableVertexAttribArray,"ua":_emscripten_glEndQueryEXT,"ta":_emscripten_glFinish,"sa":_emscripten_glFlush,"ra":_emscripten_glFramebufferRenderbuffer,"qa":_emscripten_glFramebufferTexture2D,"pa":_emscripten_glFrontFace,"oa":_emscripten_glGenBuffers,"na":_emscripten_glGenFramebuffers,"ma":_emscripten_glGenQueriesEXT,"la":_emscripten_glGenRenderbuffers,"ja":_emscripten_glGenTextures,"ia":_emscripten_glGenVertexArraysOES,"ha":_emscripten_glGenerateMipmap,"ga":_emscripten_glGetActiveAttrib,"fa":_emscripten_glGetActiveUniform,"ea":_emscripten_glGetAttachedShaders,"da":_emscripten_glGetAttribLocation,"ca":_emscripten_glGetBooleanv,"ba":_emscripten_glGetBufferParameteriv,"aa":_emscripten_glGetError,"$":_emscripten_glGetFloatv,"_":_emscripten_glGetFramebufferAttachmentParameteriv,"Z":_emscripten_glGetIntegerv,"Y":_emscripten_glGetProgramInfoLog,"X":_emscripten_glGetProgramiv,"W":_emscripten_glGetQueryObjecti64vEXT,"V":_emscripten_glGetQueryObjectivEXT,"U":_emscripten_glGetQueryObjectui64vEXT,"T":_emscripten_glGetQueryObjectuivEXT,"S":_emscripten_glGetQueryivEXT,"ge":_emscripten_glGetRenderbufferParameteriv,"fe":_emscripten_glGetShaderInfoLog,"ee":_emscripten_glGetShaderPrecisionFormat,"de":_emscripten_glGetShaderSource,"ce":_emscripten_glGetShaderiv,"be":_emscripten_glGetString,"ae":_emscripten_glGetTexParameterfv,"$d":_emscripten_glGetTexParameteriv,"_d":_emscripten_glGetUniformLocation,"Zd":_emscripten_glGetUniformfv,"Xd":_emscripten_glGetUniformiv,"Wd":_emscripten_glGetVertexAttribPointerv,"Vd":_emscripten_glGetVertexAttribfv,"Ud":_emscripten_glGetVertexAttribiv,"Td":_emscripten_glHint,"Sd":_emscripten_glIsBuffer,"Rd":_emscripten_glIsEnabled,"Qd":_emscripten_glIsFramebuffer,"Pd":_emscripten_glIsProgram,"Od":_emscripten_glIsQueryEXT,"Nd":_emscripten_glIsRenderbuffer,"Md":_emscripten_glIsShader,"Ld":_emscripten_glIsTexture,"Kd":_emscripten_glIsVertexArrayOES,"Jd":_emscripten_glLineWidth,"Id":_emscripten_glLinkProgram,"Hd":_emscripten_glPixelStorei,"Gd":_emscripten_glPolygonOffset,"Fd":_emscripten_glQueryCounterEXT,"Ed":_emscripten_glReadPixels,"Dd":_emscripten_glReleaseShaderCompiler,"Cd":_emscripten_glRenderbufferStorage,"Bd":_emscripten_glSampleCoverage,"Ad":_emscripten_glScissor,"zd":_emscripten_glShaderBinary,"yd":_emscripten_glShaderSource,"xd":_emscripten_glStencilFunc,"wd":_emscripten_glStencilFuncSeparate,"vd":_emscripten_glStencilMask,"ud":_emscripten_glStencilMaskSeparate,"sd":_emscripten_glStencilOp,"rd":_emscripten_glStencilOpSeparate,"qd":_emscripten_glTexImage2D,"pd":_emscripten_glTexParameterf,"od":_emscripten_glTexParameterfv,"nd":_emscripten_glTexParameteri,"md":_emscripten_glTexParameteriv,"ld":_emscripten_glTexSubImage2D,"kd":_emscripten_glUniform1f,"jd":_emscripten_glUniform1fv,"hd":_emscripten_glUniform1i,"gd":_emscripten_glUniform1iv,"fd":_emscripten_glUniform2f,"ed":_emscripten_glUniform2fv,"dd":_emscripten_glUniform2i,"cd":_emscripten_glUniform2iv,"bd":_emscripten_glUniform3f,"ad":_emscripten_glUniform3fv,"$c":_emscripten_glUniform3i,"_c":_emscripten_glUniform3iv,"Yc":_emscripten_glUniform4f,"Xc":_emscripten_glUniform4fv,"Wc":_emscripten_glUniform4i,"Vc":_emscripten_glUniform4iv,"Uc":_emscripten_glUniformMatrix2fv,"Tc":_emscripten_glUniformMatrix3fv,"Sc":_emscripten_glUniformMatrix4fv,"Rc":_emscripten_glUseProgram,"Qc":_emscripten_glValidateProgram,"Pc":_emscripten_glVertexAttrib1f,"Nc":_emscripten_glVertexAttrib1fv,"Mc":_emscripten_glVertexAttrib2f,"Lc":_emscripten_glVertexAttrib2fv,"Kc":_emscripten_glVertexAttrib3f,"Jc":_emscripten_glVertexAttrib3fv,"Ic":_emscripten_glVertexAttrib4f,"Hc":_emscripten_glVertexAttrib4fv,"Gc":_emscripten_glVertexAttribDivisorANGLE,"Fc":_emscripten_glVertexAttribPointer,"Ec":_emscripten_glViewport,"Dc":_emscripten_memcpy_big,"Cc":_emscripten_request_pointerlock,"Bc":_emscripten_resize_heap,"P":_emscripten_run_script,"Ac":_emscripten_sample_gamepad_data,"zc":_emscripten_set_click_callback_on_thread,"yc":_emscripten_set_fullscreenchange_callback_on_thread,"xc":_emscripten_set_gamepadconnected_callback_on_thread,"wc":_emscripten_set_gamepaddisconnected_callback_on_thread,"vc":_emscripten_set_keypress_callback_on_thread,"tc":_emscripten_set_main_loop,"sc":_emscripten_set_touchcancel_callback_on_thread,"rc":_emscripten_set_touchend_callback_on_thread,"qc":_emscripten_set_touchmove_callback_on_thread,"pc":_emscripten_set_touchstart_callback_on_thread,"oc":_exit,"nc":_glActiveTexture,"O":_glAttachShader,"i":_glBindAttribLocation,"d":_glBindBuffer,"k":_glBindTexture,"kc":_glBlendFunc,"q":_glBufferData,"v":_glBufferSubData,"N":_glClear,"M":_glClearColor,"jc":_glClearDepthf,"ic":_glCompileShader,"hc":_glCompressedTexImage2D,"gc":_glCreateProgram,"ec":_glCreateShader,"dc":_glCullFace,"p":_glDeleteBuffers,"L":_glDeleteProgram,"K":_glDeleteShader,"J":_glDeleteTextures,"cc":_glDepthFunc,"I":_glDetachShader,"H":_glDisable,"o":_glDisableVertexAttribArray,"ac":_glDrawArrays,"$b":_glDrawElements,"u":_glEnable,"h":_glEnableVertexAttribArray,"_b":_glFrontFace,"n":_glGenBuffers,"Zb":_glGenTextures,"t":_glGetAttribLocation,"Yb":_glGetFloatv,"Xb":_glGetProgramInfoLog,"G":_glGetProgramiv,"Vb":_glGetShaderInfoLog,"F":_glGetShaderiv,"j":_glGetString,"s":_glGetUniformLocation,"Ub":_glLinkProgram,"Tb":_glPixelStorei,"Sb":_glReadPixels,"Rb":_glShaderSource,"Qb":_glTexImage2D,"g":_glTexParameteri,"Ob":_glUniform1i,"Nb":_glUniform4f,"Mb":_glUniformMatrix4fv,"r":_glUseProgram,"f":_glVertexAttribPointer,"Lb":_glViewport,"E":_glfwCreateWindow,"Kb":_glfwDefaultWindowHints,"Jb":_glfwDestroyWindow,"Hb":_glfwGetCursorPos,"D":_glfwGetPrimaryMonitor,"m":_glfwGetTime,"Gb":_glfwGetVideoModes,"Fb":_glfwInit,"Eb":_glfwMakeContextCurrent,"Db":_glfwSetCharCallback,"Cb":_glfwSetCursorEnterCallback,"Bb":_glfwSetCursorPosCallback,"Ab":_glfwSetDropCallback,"yb":_glfwSetErrorCallback,"xb":_glfwSetKeyCallback,"wb":_glfwSetMouseButtonCallback,"vb":_glfwSetScrollCallback,"ub":_glfwSetWindowIconifyCallback,"tb":_glfwSetWindowShouldClose,"sb":_glfwSetWindowSizeCallback,"rb":_glfwSwapBuffers,"qb":_glfwSwapInterval,"C":_glfwTerminate,"e":_glfwWindowHint,"B":_llvm_stackrestore,"A":_llvm_stacksave,"ob":_nanosleep,"nb":_time,"mb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["he"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["ie"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["je"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["ke"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["le"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["we"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["re"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["se"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["ve"].apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_geometric_shapes.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["_d"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["$d"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"n":___assert_fail,"u":___sys_fcntl64,"Xd":___sys_ioctl,"M":___sys_open,"s":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"V":_emscripten_get_element_css_size,"P":_emscripten_get_gamepad_status,"Q":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"yd":_emscripten_glActiveTexture,"xd":_emscripten_glAttachShader,"Pd":_emscripten_glBeginQueryEXT,"wd":_emscripten_glBindAttribLocation,"vd":_emscripten_glBindBuffer,"ud":_emscripten_glBindFramebuffer,"sd":_emscripten_glBindRenderbuffer,"rd":_emscripten_glBindTexture,"Hd":_emscripten_glBindVertexArrayOES,"qd":_emscripten_glBlendColor,"pd":_emscripten_glBlendEquation,"od":_emscripten_glBlendEquationSeparate,"nd":_emscripten_glBlendFunc,"md":_emscripten_glBlendFuncSeparate,"ld":_emscripten_glBufferData,"kd":_emscripten_glBufferSubData,"jd":_emscripten_glCheckFramebufferStatus,"id":_emscripten_glClear,"hd":_emscripten_glClearColor,"gd":_emscripten_glClearDepthf,"fd":_emscripten_glClearStencil,"ed":_emscripten_glColorMask,"dd":_emscripten_glCompileShader,"cd":_emscripten_glCompressedTexImage2D,"bd":_emscripten_glCompressedTexSubImage2D,"ad":_emscripten_glCopyTexImage2D,"$c":_emscripten_glCopyTexSubImage2D,"_c":_emscripten_glCreateProgram,"Zc":_emscripten_glCreateShader,"Yc":_emscripten_glCullFace,"Xc":_emscripten_glDeleteBuffers,"Wc":_emscripten_glDeleteFramebuffers,"Vc":_emscripten_glDeleteProgram,"Rd":_emscripten_glDeleteQueriesEXT,"Uc":_emscripten_glDeleteRenderbuffers,"Tc":_emscripten_glDeleteShader,"Sc":_emscripten_glDeleteTextures,"Gd":_emscripten_glDeleteVertexArraysOES,"Rc":_emscripten_glDepthFunc,"Qc":_emscripten_glDepthMask,"Pc":_emscripten_glDepthRangef,"Oc":_emscripten_glDetachShader,"Nc":_emscripten_glDisable,"Mc":_emscripten_glDisableVertexAttribArray,"Lc":_emscripten_glDrawArrays,"Bd":_emscripten_glDrawArraysInstancedANGLE,"Cd":_emscripten_glDrawBuffersWEBGL,"Kc":_emscripten_glDrawElements,"Ad":_emscripten_glDrawElementsInstancedANGLE,"Jc":_emscripten_glEnable,"Ic":_emscripten_glEnableVertexAttribArray,"Od":_emscripten_glEndQueryEXT,"Hc":_emscripten_glFinish,"Fc":_emscripten_glFlush,"Ec":_emscripten_glFramebufferRenderbuffer,"Dc":_emscripten_glFramebufferTexture2D,"Cc":_emscripten_glFrontFace,"Bc":_emscripten_glGenBuffers,"zc":_emscripten_glGenFramebuffers,"Sd":_emscripten_glGenQueriesEXT,"yc":_emscripten_glGenRenderbuffers,"xc":_emscripten_glGenTextures,"Fd":_emscripten_glGenVertexArraysOES,"Ac":_emscripten_glGenerateMipmap,"wc":_emscripten_glGetActiveAttrib,"vc":_emscripten_glGetActiveUniform,"uc":_emscripten_glGetAttachedShaders,"tc":_emscripten_glGetAttribLocation,"sc":_emscripten_glGetBooleanv,"rc":_emscripten_glGetBufferParameteriv,"qc":_emscripten_glGetError,"pc":_emscripten_glGetFloatv,"oc":_emscripten_glGetFramebufferAttachmentParameteriv,"nc":_emscripten_glGetIntegerv,"lc":_emscripten_glGetProgramInfoLog,"mc":_emscripten_glGetProgramiv,"Jd":_emscripten_glGetQueryObjecti64vEXT,"Ld":_emscripten_glGetQueryObjectivEXT,"Id":_emscripten_glGetQueryObjectui64vEXT,"Kd":_emscripten_glGetQueryObjectuivEXT,"Md":_emscripten_glGetQueryivEXT,"kc":_emscripten_glGetRenderbufferParameteriv,"ic":_emscripten_glGetShaderInfoLog,"hc":_emscripten_glGetShaderPrecisionFormat,"gc":_emscripten_glGetShaderSource,"jc":_emscripten_glGetShaderiv,"fc":_emscripten_glGetString,"ec":_emscripten_glGetTexParameterfv,"dc":_emscripten_glGetTexParameteriv,"ac":_emscripten_glGetUniformLocation,"cc":_emscripten_glGetUniformfv,"bc":_emscripten_glGetUniformiv,"Zb":_emscripten_glGetVertexAttribPointerv,"$b":_emscripten_glGetVertexAttribfv,"_b":_emscripten_glGetVertexAttribiv,"Yb":_emscripten_glHint,"Xb":_emscripten_glIsBuffer,"Wb":_emscripten_glIsEnabled,"Vb":_emscripten_glIsFramebuffer,"Ub":_emscripten_glIsProgram,"Qd":_emscripten_glIsQueryEXT,"Tb":_emscripten_glIsRenderbuffer,"Sb":_emscripten_glIsShader,"Rb":_emscripten_glIsTexture,"Dd":_emscripten_glIsVertexArrayOES,"Qb":_emscripten_glLineWidth,"Pb":_emscripten_glLinkProgram,"Ob":_emscripten_glPixelStorei,"Nb":_emscripten_glPolygonOffset,"Nd":_emscripten_glQueryCounterEXT,"Mb":_emscripten_glReadPixels,"Lb":_emscripten_glReleaseShaderCompiler,"Kb":_emscripten_glRenderbufferStorage,"Ib":_emscripten_glSampleCoverage,"Hb":_emscripten_glScissor,"Gb":_emscripten_glShaderBinary,"Fb":_emscripten_glShaderSource,"Eb":_emscripten_glStencilFunc,"Db":_emscripten_glStencilFuncSeparate,"Cb":_emscripten_glStencilMask,"Bb":_emscripten_glStencilMaskSeparate,"Ab":_emscripten_glStencilOp,"zb":_emscripten_glStencilOpSeparate,"xb":_emscripten_glTexImage2D,"wb":_emscripten_glTexParameterf,"vb":_emscripten_glTexParameterfv,"ub":_emscripten_glTexParameteri,"tb":_emscripten_glTexParameteriv,"sb":_emscripten_glTexSubImage2D,"rb":_emscripten_glUniform1f,"qb":_emscripten_glUniform1fv,"pb":_emscripten_glUniform1i,"ob":_emscripten_glUniform1iv,"mb":_emscripten_glUniform2f,"lb":_emscripten_glUniform2fv,"kb":_emscripten_glUniform2i,"jb":_emscripten_glUniform2iv,"ib":_emscripten_glUniform3f,"hb":_emscripten_glUniform3fv,"gb":_emscripten_glUniform3i,"fb":_emscripten_glUniform3iv,"eb":_emscripten_glUniform4f,"db":_emscripten_glUniform4fv,"bb":_emscripten_glUniform4i,"ab":_emscripten_glUniform4iv,"$a":_emscripten_glUniformMatrix2fv,"_a":_emscripten_glUniformMatrix3fv,"Za":_emscripten_glUniformMatrix4fv,"Ya":_emscripten_glUseProgram,"Xa":_emscripten_glValidateProgram,"Wa":_emscripten_glVertexAttrib1f,"Va":_emscripten_glVertexAttrib1fv,"Ua":_emscripten_glVertexAttrib2f,"Sa":_emscripten_glVertexAttrib2fv,"Ra":_emscripten_glVertexAttrib3f,"Qa":_emscripten_glVertexAttrib3fv,"Pa":_emscripten_glVertexAttrib4f,"Oa":_emscripten_glVertexAttrib4fv,"zd":_emscripten_glVertexAttribDivisorANGLE,"Na":_emscripten_glVertexAttribPointer,"Ma":_emscripten_glViewport,"Td":_emscripten_memcpy_big,"W":_emscripten_request_pointerlock,"Ud":_emscripten_resize_heap,"w":_emscripten_run_script,"R":_emscripten_sample_gamepad_data,"va":_emscripten_set_click_callback_on_thread,"xa":_emscripten_set_fullscreenchange_callback_on_thread,"qa":_emscripten_set_gamepadconnected_callback_on_thread,"pa":_emscripten_set_gamepaddisconnected_callback_on_thread,"wa":_emscripten_set_keydown_callback_on_thread,"Zd":_emscripten_set_main_loop,"ra":_emscripten_set_touchcancel_callback_on_thread,"ta":_emscripten_set_touchend_callback_on_thread,"sa":_emscripten_set_touchmove_callback_on_thread,"ua":_emscripten_set_touchstart_callback_on_thread,"Vd":_emscripten_thread_sleep,"N":_exit,"v":_fd_close,"Wd":_fd_read,"La":_fd_seek,"K":_fd_write,"L":_glActiveTexture,"A":_glAttachShader,"f":_glBindAttribLocation,"a":_glBindBuffer,"g":_glBindTexture,"yb":_glBlendFunc,"k":_glBufferData,"r":_glBufferSubData,"H":_glClear,"I":_glClearColor,"Ta":_glClearDepthf,"Da":_glCompileShader,"Ha":_glCompressedTexImage2D,"Ba":_glCreateProgram,"Fa":_glCreateShader,"nb":_glCullFace,"i":_glDeleteBuffers,"D":_glDeleteProgram,"E":_glDeleteShader,"G":_glDeleteTextures,"Jb":_glDepthFunc,"F":_glDetachShader,"J":_glDisable,"j":_glDisableVertexAttribArray,"Ed":_glDrawArrays,"td":_glDrawElements,"t":_glEnable,"d":_glEnableVertexAttribArray,"cb":_glFrontFace,"l":_glGenBuffers,"Ja":_glGenTextures,"q":_glGetAttribLocation,"Gc":_glGetFloatv,"ya":_glGetProgramInfoLog,"C":_glGetProgramiv,"Ca":_glGetShaderInfoLog,"B":_glGetShaderiv,"h":_glGetString,"p":_glGetUniformLocation,"za":_glLinkProgram,"Ka":_glPixelStorei,"Ga":_glReadPixels,"Ea":_glShaderSource,"Ia":_glTexImage2D,"m":_glTexParameteri,"S":_glUniform1i,"$":_glUniform4f,"Aa":_glUniformMatrix4fv,"o":_glUseProgram,"e":_glVertexAttribPointer,"Yd":_glViewport,"y":_glfwCreateWindow,"ma":_glfwDefaultWindowHints,"U":_glfwDestroyWindow,"z":_glfwGetPrimaryMonitor,"c":_glfwGetTime,"la":_glfwGetVideoModes,"na":_glfwInit,"aa":_glfwMakeContextCurrent,"fa":_glfwSetCharCallback,"ba":_glfwSetCursorEnterCallback,"da":_glfwSetCursorPosCallback,"ha":_glfwSetDropCallback,"oa":_glfwSetErrorCallback,"ga":_glfwSetKeyCallback,"ea":_glfwSetMouseButtonCallback,"ca":_glfwSetScrollCallback,"ia":_glfwSetWindowFocusCallback,"ja":_glfwSetWindowIconifyCallback,"O":_glfwSetWindowShouldClose,"ka":_glfwSetWindowSizeCallback,"T":_glfwSwapBuffers,"_":_glfwSwapInterval,"x":_glfwTerminate,"b":_glfwWindowHint,"Z":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["ae"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["be"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["ce"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["de"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["ee"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["fe"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["ge"]).apply(null,arguments)};var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_geometric_shapes.wasm b/examples/web/models/models_geometric_shapes.wasm index 85601e9..38b3fc7 100644 Binary files a/examples/web/models/models_geometric_shapes.wasm and b/examples/web/models/models_geometric_shapes.wasm differ diff --git a/examples/web/models/models_heightmap.c b/examples/web/models/models_heightmap.c index 73ff4a3..df65b85 100644 --- a/examples/web/models/models_heightmap.c +++ b/examples/web/models/models_heightmap.c @@ -55,7 +55,7 @@ int main(void) SetCameraMode(camera, CAMERA_ORBITAL); // Set an orbital camera mode #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_heightmap.data b/examples/web/models/models_heightmap.data index fe30f67..474db87 100644 Binary files a/examples/web/models/models_heightmap.data and b/examples/web/models/models_heightmap.data differ diff --git a/examples/web/models/models_heightmap.html b/examples/web/models/models_heightmap.html index bc8a0cb..724e0b1 100644 --- a/examples/web/models/models_heightmap.html +++ b/examples/web/models/models_heightmap.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_heightmap.js b/examples/web/models/models_heightmap.js index d20e4e1..d8754bc 100644 --- a/examples/web/models/models_heightmap.js +++ b/examples/web/models/models_heightmap.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_heightmap.data";var REMOTE_PACKAGE_BASE="models_heightmap.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5280480,DYNAMICTOP_PTR=37568;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_heightmap.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"d":abort,"b":___assert_fail,"sc":___lock,"D":___setErrNo,"gb":___syscall140,"Xa":___syscall145,"q":___syscall221,"Ca":___syscall5,"ra":___syscall54,"C":___syscall6,"B":___unlock,"be":___wasi_fd_write,"A":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"yd":_emscripten_get_element_css_size,"nd":_emscripten_get_gamepad_status,"cd":_emscripten_get_heap_size,"Tc":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"zc":_emscripten_glActiveTexture,"rc":_emscripten_glAttachShader,"lc":_emscripten_glBeginQueryEXT,"hc":_emscripten_glBindAttribLocation,"cc":_emscripten_glBindBuffer,"Xb":_emscripten_glBindFramebuffer,"Tb":_emscripten_glBindRenderbuffer,"Lb":_emscripten_glBindTexture,"Ab":_emscripten_glBindVertexArrayOES,"tb":_emscripten_glBlendColor,"rb":_emscripten_glBlendEquation,"qb":_emscripten_glBlendEquationSeparate,"pb":_emscripten_glBlendFunc,"ob":_emscripten_glBlendFuncSeparate,"nb":_emscripten_glBufferData,"mb":_emscripten_glBufferSubData,"lb":_emscripten_glCheckFramebufferStatus,"kb":_emscripten_glClear,"jb":_emscripten_glClearColor,"ib":_emscripten_glClearDepthf,"hb":_emscripten_glClearStencil,"fb":_emscripten_glColorMask,"eb":_emscripten_glCompileShader,"db":_emscripten_glCompressedTexImage2D,"cb":_emscripten_glCompressedTexSubImage2D,"bb":_emscripten_glCopyTexImage2D,"ab":_emscripten_glCopyTexSubImage2D,"$a":_emscripten_glCreateProgram,"_a":_emscripten_glCreateShader,"Za":_emscripten_glCullFace,"Ya":_emscripten_glDeleteBuffers,"Wa":_emscripten_glDeleteFramebuffers,"Va":_emscripten_glDeleteProgram,"Ua":_emscripten_glDeleteQueriesEXT,"Ta":_emscripten_glDeleteRenderbuffers,"Sa":_emscripten_glDeleteShader,"Ra":_emscripten_glDeleteTextures,"Qa":_emscripten_glDeleteVertexArraysOES,"Pa":_emscripten_glDepthFunc,"Oa":_emscripten_glDepthMask,"Na":_emscripten_glDepthRangef,"Ma":_emscripten_glDetachShader,"La":_emscripten_glDisable,"Ka":_emscripten_glDisableVertexAttribArray,"Ja":_emscripten_glDrawArrays,"Ia":_emscripten_glDrawArraysInstancedANGLE,"Ha":_emscripten_glDrawBuffersWEBGL,"Ga":_emscripten_glDrawElements,"Fa":_emscripten_glDrawElementsInstancedANGLE,"Ea":_emscripten_glEnable,"Da":_emscripten_glEnableVertexAttribArray,"Ba":_emscripten_glEndQueryEXT,"Aa":_emscripten_glFinish,"za":_emscripten_glFlush,"ya":_emscripten_glFramebufferRenderbuffer,"xa":_emscripten_glFramebufferTexture2D,"wa":_emscripten_glFrontFace,"va":_emscripten_glGenBuffers,"ua":_emscripten_glGenFramebuffers,"ta":_emscripten_glGenQueriesEXT,"sa":_emscripten_glGenRenderbuffers,"qa":_emscripten_glGenTextures,"pa":_emscripten_glGenVertexArraysOES,"oa":_emscripten_glGenerateMipmap,"na":_emscripten_glGetActiveAttrib,"ma":_emscripten_glGetActiveUniform,"la":_emscripten_glGetAttachedShaders,"ka":_emscripten_glGetAttribLocation,"ja":_emscripten_glGetBooleanv,"ia":_emscripten_glGetBufferParameteriv,"ha":_emscripten_glGetError,"ga":_emscripten_glGetFloatv,"fa":_emscripten_glGetFramebufferAttachmentParameteriv,"ea":_emscripten_glGetIntegerv,"da":_emscripten_glGetProgramInfoLog,"ca":_emscripten_glGetProgramiv,"ba":_emscripten_glGetQueryObjecti64vEXT,"aa":_emscripten_glGetQueryObjectivEXT,"$":_emscripten_glGetQueryObjectui64vEXT,"_":_emscripten_glGetQueryObjectuivEXT,"Z":_emscripten_glGetQueryivEXT,"le":_emscripten_glGetRenderbufferParameteriv,"ke":_emscripten_glGetShaderInfoLog,"je":_emscripten_glGetShaderPrecisionFormat,"ie":_emscripten_glGetShaderSource,"he":_emscripten_glGetShaderiv,"ge":_emscripten_glGetString,"fe":_emscripten_glGetTexParameterfv,"ee":_emscripten_glGetTexParameteriv,"de":_emscripten_glGetUniformLocation,"ce":_emscripten_glGetUniformfv,"ae":_emscripten_glGetUniformiv,"$d":_emscripten_glGetVertexAttribPointerv,"_d":_emscripten_glGetVertexAttribfv,"Zd":_emscripten_glGetVertexAttribiv,"Yd":_emscripten_glHint,"Xd":_emscripten_glIsBuffer,"Wd":_emscripten_glIsEnabled,"Vd":_emscripten_glIsFramebuffer,"Ud":_emscripten_glIsProgram,"Td":_emscripten_glIsQueryEXT,"Sd":_emscripten_glIsRenderbuffer,"Rd":_emscripten_glIsShader,"Qd":_emscripten_glIsTexture,"Pd":_emscripten_glIsVertexArrayOES,"Od":_emscripten_glLineWidth,"Nd":_emscripten_glLinkProgram,"Md":_emscripten_glPixelStorei,"Ld":_emscripten_glPolygonOffset,"Kd":_emscripten_glQueryCounterEXT,"Jd":_emscripten_glReadPixels,"Id":_emscripten_glReleaseShaderCompiler,"Hd":_emscripten_glRenderbufferStorage,"Gd":_emscripten_glSampleCoverage,"Fd":_emscripten_glScissor,"Ed":_emscripten_glShaderBinary,"Dd":_emscripten_glShaderSource,"Cd":_emscripten_glStencilFunc,"Bd":_emscripten_glStencilFuncSeparate,"Ad":_emscripten_glStencilMask,"zd":_emscripten_glStencilMaskSeparate,"xd":_emscripten_glStencilOp,"wd":_emscripten_glStencilOpSeparate,"vd":_emscripten_glTexImage2D,"ud":_emscripten_glTexParameterf,"td":_emscripten_glTexParameterfv,"sd":_emscripten_glTexParameteri,"rd":_emscripten_glTexParameteriv,"qd":_emscripten_glTexSubImage2D,"pd":_emscripten_glUniform1f,"od":_emscripten_glUniform1fv,"md":_emscripten_glUniform1i,"ld":_emscripten_glUniform1iv,"kd":_emscripten_glUniform2f,"jd":_emscripten_glUniform2fv,"id":_emscripten_glUniform2i,"hd":_emscripten_glUniform2iv,"gd":_emscripten_glUniform3f,"fd":_emscripten_glUniform3fv,"ed":_emscripten_glUniform3i,"dd":_emscripten_glUniform3iv,"bd":_emscripten_glUniform4f,"ad":_emscripten_glUniform4fv,"$c":_emscripten_glUniform4i,"_c":_emscripten_glUniform4iv,"Zc":_emscripten_glUniformMatrix2fv,"Yc":_emscripten_glUniformMatrix3fv,"Xc":_emscripten_glUniformMatrix4fv,"Wc":_emscripten_glUseProgram,"Vc":_emscripten_glValidateProgram,"Uc":_emscripten_glVertexAttrib1f,"Sc":_emscripten_glVertexAttrib1fv,"Rc":_emscripten_glVertexAttrib2f,"Qc":_emscripten_glVertexAttrib2fv,"Pc":_emscripten_glVertexAttrib3f,"Oc":_emscripten_glVertexAttrib3fv,"Nc":_emscripten_glVertexAttrib4f,"Mc":_emscripten_glVertexAttrib4fv,"Lc":_emscripten_glVertexAttribDivisorANGLE,"Kc":_emscripten_glVertexAttribPointer,"Jc":_emscripten_glViewport,"Ic":_emscripten_memcpy_big,"Hc":_emscripten_request_pointerlock,"Gc":_emscripten_resize_heap,"W":_emscripten_run_script,"Fc":_emscripten_sample_gamepad_data,"Ec":_emscripten_set_click_callback_on_thread,"Dc":_emscripten_set_fullscreenchange_callback_on_thread,"Cc":_emscripten_set_gamepadconnected_callback_on_thread,"Bc":_emscripten_set_gamepaddisconnected_callback_on_thread,"Ac":_emscripten_set_keypress_callback_on_thread,"yc":_emscripten_set_main_loop,"xc":_emscripten_set_touchcancel_callback_on_thread,"wc":_emscripten_set_touchend_callback_on_thread,"vc":_emscripten_set_touchmove_callback_on_thread,"uc":_emscripten_set_touchstart_callback_on_thread,"tc":_exit,"z":_glActiveTexture,"V":_glAttachShader,"n":_glBindAttribLocation,"c":_glBindBuffer,"k":_glBindTexture,"qc":_glBlendFunc,"i":_glBufferData,"y":_glBufferSubData,"U":_glClear,"T":_glClearColor,"pc":_glClearDepthf,"oc":_glCompileShader,"nc":_glCompressedTexImage2D,"mc":_glCreateProgram,"kc":_glCreateShader,"jc":_glCullFace,"p":_glDeleteBuffers,"S":_glDeleteProgram,"R":_glDeleteShader,"Q":_glDeleteTextures,"ic":_glDepthFunc,"P":_glDetachShader,"O":_glDisable,"j":_glDisableVertexAttribArray,"N":_glDrawArrays,"M":_glDrawElements,"x":_glEnable,"f":_glEnableVertexAttribArray,"gc":_glFrontFace,"h":_glGenBuffers,"fc":_glGenTextures,"w":_glGetAttribLocation,"ec":_glGetFloatv,"dc":_glGetProgramInfoLog,"L":_glGetProgramiv,"bc":_glGetShaderInfoLog,"K":_glGetShaderiv,"o":_glGetString,"v":_glGetUniformLocation,"ac":_glLinkProgram,"$b":_glPixelStorei,"_b":_glReadPixels,"Zb":_glShaderSource,"Yb":_glTexImage2D,"m":_glTexParameteri,"J":_glUniform1i,"u":_glUniform4f,"t":_glUniformMatrix4fv,"l":_glUseProgram,"Wb":_glVertexAttrib2f,"Vb":_glVertexAttrib3f,"s":_glVertexAttrib4f,"e":_glVertexAttribPointer,"Ub":_glViewport,"I":_glfwCreateWindow,"Sb":_glfwDefaultWindowHints,"Rb":_glfwDestroyWindow,"Qb":_glfwGetCursorPos,"Pb":_glfwGetKey,"Ob":_glfwGetMouseButton,"H":_glfwGetPrimaryMonitor,"r":_glfwGetTime,"Nb":_glfwGetVideoModes,"Mb":_glfwInit,"Kb":_glfwMakeContextCurrent,"Jb":_glfwSetCharCallback,"Ib":_glfwSetCursorEnterCallback,"Hb":_glfwSetCursorPosCallback,"Gb":_glfwSetDropCallback,"Fb":_glfwSetErrorCallback,"Eb":_glfwSetKeyCallback,"Db":_glfwSetMouseButtonCallback,"Cb":_glfwSetScrollCallback,"Bb":_glfwSetWindowIconifyCallback,"zb":_glfwSetWindowShouldClose,"yb":_glfwSetWindowSizeCallback,"xb":_glfwSwapBuffers,"wb":_glfwSwapInterval,"G":_glfwTerminate,"g":_glfwWindowHint,"F":_llvm_stackrestore,"E":_llvm_stacksave,"vb":_nanosleep,"ub":_time,"sb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["re"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["se"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["Be"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["Ce"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["De"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["ve"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["we"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["ze"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["Ae"].apply(null,arguments)};Module["asm"]=asm;Module["getMemory"]=getMemory;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["calledRun"]=calledRun;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_heightmap.data";var REMOTE_PACKAGE_BASE="models_heightmap.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_heightmap.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["be"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["ce"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"d":___assert_fail,"Q":___sys_fcntl64,"Zd":___sys_ioctl,"_d":___sys_open,"w":_eglGetProcAddress,"aa":_emscripten_exit_pointerlock,"Z":_emscripten_get_element_css_size,"U":_emscripten_get_gamepad_status,"V":_emscripten_get_num_gamepads,"$":_emscripten_get_pointerlock_status,"Bd":_emscripten_glActiveTexture,"Ad":_emscripten_glAttachShader,"Rd":_emscripten_glBeginQueryEXT,"zd":_emscripten_glBindAttribLocation,"yd":_emscripten_glBindBuffer,"xd":_emscripten_glBindFramebuffer,"wd":_emscripten_glBindRenderbuffer,"vd":_emscripten_glBindTexture,"Jd":_emscripten_glBindVertexArrayOES,"ud":_emscripten_glBlendColor,"td":_emscripten_glBlendEquation,"sd":_emscripten_glBlendEquationSeparate,"rd":_emscripten_glBlendFunc,"qd":_emscripten_glBlendFuncSeparate,"pd":_emscripten_glBufferData,"od":_emscripten_glBufferSubData,"nd":_emscripten_glCheckFramebufferStatus,"md":_emscripten_glClear,"ld":_emscripten_glClearColor,"kd":_emscripten_glClearDepthf,"jd":_emscripten_glClearStencil,"id":_emscripten_glColorMask,"hd":_emscripten_glCompileShader,"gd":_emscripten_glCompressedTexImage2D,"fd":_emscripten_glCompressedTexSubImage2D,"ed":_emscripten_glCopyTexImage2D,"dd":_emscripten_glCopyTexSubImage2D,"cd":_emscripten_glCreateProgram,"bd":_emscripten_glCreateShader,"ad":_emscripten_glCullFace,"$c":_emscripten_glDeleteBuffers,"_c":_emscripten_glDeleteFramebuffers,"Zc":_emscripten_glDeleteProgram,"Td":_emscripten_glDeleteQueriesEXT,"Yc":_emscripten_glDeleteRenderbuffers,"Xc":_emscripten_glDeleteShader,"Wc":_emscripten_glDeleteTextures,"Id":_emscripten_glDeleteVertexArraysOES,"Vc":_emscripten_glDepthFunc,"Uc":_emscripten_glDepthMask,"Tc":_emscripten_glDepthRangef,"Sc":_emscripten_glDetachShader,"Rc":_emscripten_glDisable,"Qc":_emscripten_glDisableVertexAttribArray,"Pc":_emscripten_glDrawArrays,"Ed":_emscripten_glDrawArraysInstancedANGLE,"Fd":_emscripten_glDrawBuffersWEBGL,"Oc":_emscripten_glDrawElements,"Dd":_emscripten_glDrawElementsInstancedANGLE,"Mc":_emscripten_glEnable,"Lc":_emscripten_glEnableVertexAttribArray,"Qd":_emscripten_glEndQueryEXT,"Kc":_emscripten_glFinish,"Jc":_emscripten_glFlush,"Ic":_emscripten_glFramebufferRenderbuffer,"Hc":_emscripten_glFramebufferTexture2D,"Gc":_emscripten_glFrontFace,"Fc":_emscripten_glGenBuffers,"Dc":_emscripten_glGenFramebuffers,"Ud":_emscripten_glGenQueriesEXT,"Cc":_emscripten_glGenRenderbuffers,"Bc":_emscripten_glGenTextures,"Hd":_emscripten_glGenVertexArraysOES,"Ec":_emscripten_glGenerateMipmap,"Ac":_emscripten_glGetActiveAttrib,"zc":_emscripten_glGetActiveUniform,"yc":_emscripten_glGetAttachedShaders,"xc":_emscripten_glGetAttribLocation,"wc":_emscripten_glGetBooleanv,"vc":_emscripten_glGetBufferParameteriv,"uc":_emscripten_glGetError,"tc":_emscripten_glGetFloatv,"sc":_emscripten_glGetFramebufferAttachmentParameteriv,"rc":_emscripten_glGetIntegerv,"pc":_emscripten_glGetProgramInfoLog,"qc":_emscripten_glGetProgramiv,"Ld":_emscripten_glGetQueryObjecti64vEXT,"Nd":_emscripten_glGetQueryObjectivEXT,"Kd":_emscripten_glGetQueryObjectui64vEXT,"Md":_emscripten_glGetQueryObjectuivEXT,"Od":_emscripten_glGetQueryivEXT,"oc":_emscripten_glGetRenderbufferParameteriv,"mc":_emscripten_glGetShaderInfoLog,"lc":_emscripten_glGetShaderPrecisionFormat,"kc":_emscripten_glGetShaderSource,"nc":_emscripten_glGetShaderiv,"jc":_emscripten_glGetString,"ic":_emscripten_glGetTexParameterfv,"hc":_emscripten_glGetTexParameteriv,"ec":_emscripten_glGetUniformLocation,"gc":_emscripten_glGetUniformfv,"fc":_emscripten_glGetUniformiv,"bc":_emscripten_glGetVertexAttribPointerv,"dc":_emscripten_glGetVertexAttribfv,"cc":_emscripten_glGetVertexAttribiv,"ac":_emscripten_glHint,"$b":_emscripten_glIsBuffer,"_b":_emscripten_glIsEnabled,"Zb":_emscripten_glIsFramebuffer,"Yb":_emscripten_glIsProgram,"Sd":_emscripten_glIsQueryEXT,"Xb":_emscripten_glIsRenderbuffer,"Wb":_emscripten_glIsShader,"Vb":_emscripten_glIsTexture,"Gd":_emscripten_glIsVertexArrayOES,"Ub":_emscripten_glLineWidth,"Tb":_emscripten_glLinkProgram,"Sb":_emscripten_glPixelStorei,"Rb":_emscripten_glPolygonOffset,"Pd":_emscripten_glQueryCounterEXT,"Pb":_emscripten_glReadPixels,"Ob":_emscripten_glReleaseShaderCompiler,"Nb":_emscripten_glRenderbufferStorage,"Mb":_emscripten_glSampleCoverage,"Lb":_emscripten_glScissor,"Kb":_emscripten_glShaderBinary,"Jb":_emscripten_glShaderSource,"Ib":_emscripten_glStencilFunc,"Hb":_emscripten_glStencilFuncSeparate,"Gb":_emscripten_glStencilMask,"Eb":_emscripten_glStencilMaskSeparate,"Db":_emscripten_glStencilOp,"Cb":_emscripten_glStencilOpSeparate,"Bb":_emscripten_glTexImage2D,"Ab":_emscripten_glTexParameterf,"zb":_emscripten_glTexParameterfv,"yb":_emscripten_glTexParameteri,"xb":_emscripten_glTexParameteriv,"wb":_emscripten_glTexSubImage2D,"vb":_emscripten_glUniform1f,"tb":_emscripten_glUniform1fv,"sb":_emscripten_glUniform1i,"rb":_emscripten_glUniform1iv,"qb":_emscripten_glUniform2f,"pb":_emscripten_glUniform2fv,"ob":_emscripten_glUniform2i,"nb":_emscripten_glUniform2iv,"mb":_emscripten_glUniform3f,"lb":_emscripten_glUniform3fv,"kb":_emscripten_glUniform3i,"ib":_emscripten_glUniform3iv,"hb":_emscripten_glUniform4f,"gb":_emscripten_glUniform4fv,"fb":_emscripten_glUniform4i,"eb":_emscripten_glUniform4iv,"db":_emscripten_glUniformMatrix2fv,"cb":_emscripten_glUniformMatrix3fv,"bb":_emscripten_glUniformMatrix4fv,"ab":_emscripten_glUseProgram,"$a":_emscripten_glValidateProgram,"Za":_emscripten_glVertexAttrib1f,"Ya":_emscripten_glVertexAttrib1fv,"Xa":_emscripten_glVertexAttrib2f,"Wa":_emscripten_glVertexAttrib2fv,"Va":_emscripten_glVertexAttrib3f,"Ua":_emscripten_glVertexAttrib3fv,"Ta":_emscripten_glVertexAttrib4f,"Sa":_emscripten_glVertexAttrib4fv,"Cd":_emscripten_glVertexAttribDivisorANGLE,"Ra":_emscripten_glVertexAttribPointer,"Qa":_emscripten_glViewport,"Vd":_emscripten_memcpy_big,"_":_emscripten_request_pointerlock,"Wd":_emscripten_resize_heap,"y":_emscripten_run_script,"W":_emscripten_sample_gamepad_data,"ya":_emscripten_set_click_callback_on_thread,"Aa":_emscripten_set_fullscreenchange_callback_on_thread,"ta":_emscripten_set_gamepadconnected_callback_on_thread,"sa":_emscripten_set_gamepaddisconnected_callback_on_thread,"za":_emscripten_set_keydown_callback_on_thread,"ae":_emscripten_set_main_loop,"ua":_emscripten_set_touchcancel_callback_on_thread,"wa":_emscripten_set_touchend_callback_on_thread,"va":_emscripten_set_touchmove_callback_on_thread,"xa":_emscripten_set_touchstart_callback_on_thread,"Xd":_emscripten_thread_sleep,"S":_exit,"R":_fd_close,"Yd":_fd_read,"Oa":_fd_seek,"P":_fd_write,"p":_glActiveTexture,"D":_glAttachShader,"k":_glBindAttribLocation,"a":_glBindBuffer,"j":_glBindTexture,"Fb":_glBlendFunc,"e":_glBufferData,"v":_glBufferSubData,"K":_glClear,"L":_glClearColor,"_a":_glClearDepthf,"Fa":_glCompileShader,"La":_glCompressedTexImage2D,"Da":_glCreateProgram,"Ha":_glCreateShader,"ub":_glCullFace,"m":_glDeleteBuffers,"G":_glDeleteProgram,"H":_glDeleteShader,"J":_glDeleteTextures,"Qb":_glDepthFunc,"I":_glDetachShader,"M":_glDisable,"h":_glDisableVertexAttribArray,"O":_glDrawArrays,"N":_glDrawElements,"x":_glEnable,"b":_glEnableVertexAttribArray,"jb":_glFrontFace,"f":_glGenBuffers,"Na":_glGenTextures,"u":_glGetAttribLocation,"Nc":_glGetFloatv,"Ba":_glGetProgramInfoLog,"F":_glGetProgramiv,"Ea":_glGetShaderInfoLog,"E":_glGetShaderiv,"n":_glGetString,"t":_glGetUniformLocation,"Ca":_glLinkProgram,"Pa":_glPixelStorei,"Ia":_glReadPixels,"Ga":_glShaderSource,"Ma":_glTexImage2D,"o":_glTexParameteri,"z":_glUniform1i,"q":_glUniform4f,"r":_glUniformMatrix4fv,"l":_glUseProgram,"Ja":_glVertexAttrib2f,"Ka":_glVertexAttrib3f,"s":_glVertexAttrib4f,"c":_glVertexAttribPointer,"$d":_glViewport,"B":_glfwCreateWindow,"pa":_glfwDefaultWindowHints,"Y":_glfwDestroyWindow,"C":_glfwGetPrimaryMonitor,"i":_glfwGetTime,"oa":_glfwGetVideoModes,"qa":_glfwInit,"da":_glfwMakeContextCurrent,"ia":_glfwSetCharCallback,"ea":_glfwSetCursorEnterCallback,"ga":_glfwSetCursorPosCallback,"ka":_glfwSetDropCallback,"ra":_glfwSetErrorCallback,"ja":_glfwSetKeyCallback,"ha":_glfwSetMouseButtonCallback,"fa":_glfwSetScrollCallback,"la":_glfwSetWindowFocusCallback,"ma":_glfwSetWindowIconifyCallback,"T":_glfwSetWindowShouldClose,"na":_glfwSetWindowSizeCallback,"X":_glfwSwapBuffers,"ca":_glfwSwapInterval,"A":_glfwTerminate,"g":_glfwWindowHint,"ba":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["de"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["ee"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["fe"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["ge"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["he"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["ie"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["je"]).apply(null,arguments)};Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_heightmap.wasm b/examples/web/models/models_heightmap.wasm index 58fb084..32c2412 100644 Binary files a/examples/web/models/models_heightmap.wasm and b/examples/web/models/models_heightmap.wasm differ diff --git a/examples/web/models/models_loading.c b/examples/web/models/models_loading.c index 24dbbd8..d438d1f 100644 --- a/examples/web/models/models_loading.c +++ b/examples/web/models/models_loading.c @@ -76,7 +76,7 @@ int main(void) SetCameraMode(camera, CAMERA_FREE); // Set a free camera mode #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_loading.data b/examples/web/models/models_loading.data index fe2e2d6..a38ea69 100644 --- a/examples/web/models/models_loading.data +++ b/examples/web/models/models_loading.data @@ -12919,7349 +12919,1928 @@ f 4537/280/4 4483/280/4 4506/281/4 ‰PNG  - IHDR…y#sRGB®ÎégAMA± üaPLTE         %) + IHDRHÃÛ±PLTE         %)   # + #"&# *, ##((0843;:  (" # -&)!.(;"2+;3$#"%&(&(%&((*%#(&(+(&,++-/0.0..010�)&1-,8/-0/020.83.98/333568685689854868<95:;;7?@<>@?@<=AB?GH?HHADEHKLQRXXC$B&E(D)H&N I)L,F0 M1 D9V T P,P. [ Z" -_(S3 V8X6 Y8Q6U9X6\;I? A>;c& k+`>s, r-y0x1@?@I@]@LB DA=UJ%]Q(aAdEeHhEhFjHjKpNpPdX,k]0wV n`2wi6~p;BCCCFHEIJIEBHGHMIEJKKFNPLNPFPPMQQNWXNXXQMIPNQVQMRSSTVXUXYZUQXWZ]YTZ[\\^`V``]`aa]X`_dfb\xlD}pFtPbccdfhfhikfahgknicjkkmopnpqrlgxrl}wq„7€o;ƒs=ŠzC‰|S~C‚|vŽ€L€V•„H—ˆWž]ƒbˆ‚{˜‹d˜Žp‘iœ“t L ŽT¢N¦”W§—g§›u°žh® m­¡x±¡l²¤yŒ‡Šƒ———¦¬£‡®¦‘µª‡´¬“»±»²•§§§¼¶ ···ÁµÂ·™Å¼£ÈÁ©ÇÇÇ×××èèèüüü§uytRNSÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿS÷% pHYs  ÒÝ~ütEXtSoftwarepaint.net 4.0.19ÔÖ²dûhIDATx^Ôýÿs×}&ŒÊ»‰e’o@F°@ÛyI€Î -#BÃÍE ƒ!†B8—¸Õ@w Üš1@‰"i*¸|a”„b¹ä•í0q’*§6ïÊN©X•-X{ )×½?póƒß­Ú\§¶nå×ÔnÕýGîó<ŸO÷tfTrŸîéé/§OŸé™9ÏóùœÏ9ýBn'šÐŸD9J -~öøaƒŸ¹Ù$üDÁÏüðNøqƒŸh(_§µXN`8‰jž½à¹·€—ˆðæð›)x.‚Ÿgð´Â[ xZƒ—zx¬TšyîgB!?ÑwâDþ|‘˜ ‚™°VÛÄR˜Ç†5®–Fë!OÃbÚŽÎÍÏó(1ÿx~)ÂZKA1 ˜ŸV¦JXLÏh]° µZ!Ø~ò dë;/óµù¹ù¹KZ -WžÖp1\ÎJ dÜVR‚»Ãpsó3mñ òA&a8;Z«3 -—\ˆùÇ8Xú!KŽ¢MÍb‘.yj]7í,b¾>UÚúüs”ɶ­hÓ\òÃÇóùbß¡>fÙu}-:á·øÆ7¾ñë¿þo#üz ø$ü¼ç‚o|ãë²´(LâÀן­,7÷ŠÛëÀÝ{ë·WÚà7n¼³‚éÆ pk}}ÃñðÑ£›+#+물ö9dPƒf«Ì•õêpeX+ÙaÔB¹ìpÿÀÀÉÜálÿaLÞš ZŸ°ª tðb˜Ç‹8p’L1<<À”º2˜Bž¨ så,êÜj¥š[¬TË^cu Ýp~Wüº÷šáÇ ßÓÊ)¿ííŒÓƒƒÑáë]bðûyxŒ¸A‡„SŽ~]€PJCÿ)L‚ï;ëï)¼°gèçžñ¦p2 g'At¿±–35f?sŒ2~¢PiL~x'¼?Q¸ -æ^kk«‰i)ç~Áÿ9†…$<{¡ù–%æü³|Ÿà¹~x'œûOkð¿ÅðØÔ”Âs…(k~2“B03áCåc.J ‚4Šcs50›±_íqío"%q&X”üYšš"u^™™.º2Q“4çÂ9RtmB€×ÓŘ5 üq —Øäåê³£WžÎƒ³q5NGÉççßœ›ãÒsïÜÀŒëS›\Ìž©Õy<ss¼">ßãy€ …Ké¨äSd•&Z£PAYò7M@£ð‚*¸ssXLNCœ(žø -Ë•|8 -äјt#²ílðÿsÉÂx)"øíÿ"ÀmN P‰À++cFû PÜxç¼qíNjðÿ£(n=pp@`!·<’Sí”^ ÀŒ*¾¿!ŽäNéï?9p¸ÿEÓiàæ~0;§Ã‡_|19Ÿ<‰<“'(†‡ûû³YÃG rå\îÀB‚d_ Yì~œð=;`  ?}dÓ:XºÓLÆÇ -p:Ëyðtv í"ÆFRS´WÓà`?&Ü+MÚåô8ý§lꮑ§0õSX–˜ZJgõ=€¿†¦¹‰ÿ›=fOsE€ùOIà¨)šÜvÀ™Ñàg -•rcÎ&æ¬?QhÐÿÕr‚ý1ùoKX]^~+šýŸcpÛßáù©û•š½D‚6ƒßLÁs¼¤O+8÷ žÖà¥6,-þÑ¢Ï:ø/âxc²,yGÀä @ér1@.@ÃŽæ[+2™«m6<Ì”ôÌ5ñ}¸_ÀÜü›,|+³§š°SQò„¬ÏòE%w_FäÀ'p€NNzP^/š<33Áôøøùüøñèxì%—äê'A4šfÖð$\ÂÏ{.ˆ</ø5‰ž¯aÆ‹ëÚÿö׿þŒà·n¾}óúµ]†ëZ&Ø^Ëš=ë·Ö7> }|yÞ]ßøÄ©û`àÁI €Ål•U²@³oîû­<GNªæwþïïOó?R f@–WÆ‹ ö,/®Vª¹ê>$À=Lœw×mj§<⡽=ŠøàìYÐy»™F<“`æ?=”ÙÓ“ëS/íõƒ§Ä︗¸Y‡_4¦vú§Èj÷S&ôž: ½¡kXJ¡ŸüOÀ)ßqp€&Ã<ÐÑpÜä/1N„4í7³Ÿ¶¿KQ[ c:üLad!ž*Yü¢ã9 /‚ÁOüuÕÿ²ÿx?ÂkÃÃñÜäHºšoYbN§òð`6ž=ÁoÀN8÷ žÖà‹&,™¨8!N¼|·©Zïòÿ“º¯}ïç„`àÔ)Øÿ§äÐEé†A)JÓ6íÀYgõ=@œeÌåË@?`¦Xã8üg»¤}’–‰­%œ2 ~¦àlj?¼*@?Qpö…¸jMß÷—ÿ´„Uäð?Žá57ýž?QNß²Ä2 /·ÿŒxö\/©ÁÓ -Îý‚§ux¹ ï.Ù °£ÆÏä`"ˆÀdäxÜÎ šnxØ€w0yíqíq$Œ5E£`ζ;3Àl) <óD €5f=)9þM%åYÆÂ‘¼N†né`ꔀM±àF @Tr -çÿ8€¹GM,3³¢±ñÚbrF‹8€“}ÑN¬’p ?ï¹ m@ŠÿµÿÙÀÞà€{í<7›=Ï?ÀëƒWCÏ €j¶:‚ÜX¯¶NÊp25q?+î8é¶?é_>mæaMHÆ&ˆ ó° À=×÷ãð;NÚiäG€Hic.|Gž@ú¿÷ð^Ãü__¿mv¾ÓzrVºm’›‘:#Ú$Œ½¬€”Ïšo_€;o‹ü©œþ³àþAÐ<^ ]#ÙÀ6óÄA-øÿ€<Mü¿Ó ‹³ŽìOI÷Ýüï²…hÀs'šè5O`ðç~:Ê öÇËmÁlþ4²ýwñ ,Íw-šHÑ9Àðà€ÍÏèH €¥êâ^ï6\_€€t4NÇ1ŠHxÌÊ·µ‹Fdœö´ŠƒËæQoë T:‡ËÑ€ü»ó¼iôÞU óoÄ$=Ai2á@¡1j€‚™¶+fÚÀ‚ðŽz Àt" éhé·[: -äѳî€`:ÁÏ{.hÕÐjÀö³ -š÷×:/ð°Çtð\kå`€ZžK €×[X = Ì«–sÃäýrK@Ù=à—ûÁjbû‹ãÿf8y$='Qõðd÷ë0Ö6D-ý.ðí¥”ߎáîѰáö?ù?ÆÂòØÁ¶1âàU6Aùo°|VòRp9öDHx:õ˜™™œo ¶oMÿÿ`°Ë÷Ðú7@,pè™=lçï´pþ &€1;<Œ0|òœb¼ˆá5Æ~yʪž`Ûµ€ù? ʧ՟œp€Q€="÷ 5òÐ"ŠÀeÛÄ<«X_¿ÓähåØáð³Íý©ßíþ n;·Ë ªO®Àø?íð¾¤CÏfÉðBƒîíEˆ¢ñ–òŒSûc)î?MþgG¾Ì€k$ÛÈÿPæó· ÿýö{5æýzZ#æÎÎm; ¾Œà'§ŒàÏ)x ~¢ æ·8‹À¼ïx‹1 ,VÜö7xþ‚•²Õ2Þ£ø5ŒÿƒÍž‰ÀO#©œû žØàŒ¬ ÏÝ@:šk4L*`/1µšØÓ½ºÀ<—Ž“z @ªÀ±&]ž%DŽ͖½˜«Ô²ê& n` @Êw‘öh5ì€KÎüËEÐ!Àh¾=œòhLºÙLjv~a½¾ÖÃK -¸.J ÿ¸˜Üÿ4Ð ìÛ`øb^í¤á.bç`ýG€Ã'#ï¿&Z}QÀ@¿“ähŽ`‡Áíà·<U¿¸;›Ü àÛ‚Ÿñÿ¹?rÿK¬°UßœýzK®`ÆÂ–ÖøoüìGˆDó¿Ì‡ä@¿byFþ˜ZüO(Pˆbú£€FÀߨØÀ ÍzDü‘ Îê{~bøzø›ˆ–ûhÙ`Ìï -€ÄÖ -Θ?Q¨ÀðÐÄú xƒŸ)ˆù}!×?·¡Zzým¤°èìàíŠîZcÝK$ø‡3˜,¶Ù3TΞÖàÜ/xbƒ—Û n’ä‡g…çr0@À~cœeIÙç÷@vNz¬ €¬‘ïÛÀ«ëòZ!¸;å@N˜[x˜ý€‚PŒcXð´ Ñ Y¿ÙÖÀïÐàØiùk‰…s ý×åàõššvx  @ -à:™ºíÂa:@ } Àµ–1é^Ï_<“Ø=à= î#4þ¤â¹_Ýâ&€Öä{AüÏÃ`>’¼ €»ò$4€ÑÊàg²ù?âÀÌNø¶AÕNñ4ø›V`íg©´iQ€ƒ ~±&§{LÑNZÿ˜`Û÷ž¢ýÏ™´lÿïÉ î—€…jiOAe¨y!íP <–{+þßW€,9ïêˆ^Î6†4í7àüOût€…Jc$?L úŠÁ‹`ð3k°…5þ;ÜøÄü›"ò':xp›l²9±ž@C+ƒnþvëèRïâEà‡ ‘Ãs9)á(¾±Ï2ê¾b0wðàÚûê è`À΀)yJoìæðæK$bæÞT °è DD+òœ äÑnÓ ~ÞsA«&€¯õ´ŠxfÀo]»N/Û["D°D;ÀÍn<Ï7ÀaÕÑ>  ÔOíbä8I€î?‰…œ°@iþ´€by¤z4y2@à·FŠ ŠÑîZ_À†ðódþc¦éÿÓŸZó¿ÀoÛè߬þ¦¹DÉܤõ¯UŽý³^"g‡VEñô P#ÿ( ‚yNõ{ƒÁ¤`O <â{¤#š°^Î\Ée“À~@LÎj;Æh 7þI[]Æø‰¯Q^Ð$µÿ§¼̽?SH{@ü«jX[Mx Ì@€ÿqLtð°¼[v×ëIø‡ó»…DKŸò¤Ë›„s¿ài ^pÇ»K -ü° Zx>hyº¨Õ¢€ÚãZ—1xkxðjްÐ@ežòX€—€ Èñ-{p_‡qÄÝI@4ŠYJz"ßEìÌÙÀL¼ À‹Ã ÌY ÖZÇ ú$ý ®œ Ñ˜X;5|¡+Vò¿Vüðë=_{Ö²8÷]¼ÍEîh°ÓЈˆ<Ï; ‚UJ{†@Ѐ·Èp潚8ÇÀªåÅJN€6) ¤c€¹9ã€ì_œ¾<‡< `)lÓO¢íÿðÞCj7y$¶ÿ逽oíýFÿñ -™œ¯Uî¦È2 -p0°Žö’@À6gP7 {Ùÿ/Ú8€àÿ(`Œyÿ÷Ó[pŠ£òÊIÀ‘, ð”®¡i'œÕ÷ã­ÔÜä0Ëß‘ ÿ®{˜ñ¯…ˆ­Œ0~¢ÀÀJŽÓ»—ªý?mþwÎþ\–åþ§àìÆ?‘ ø-üiÜüžÑ@:çmràßÈwwxÐsü°°w»èýÝ´x®>rR8´íÐÕ8NÆÝ{挈17÷ž±sÕA¼µìÀ’§=q ÀTÛ0âÀcä@F€üQ zðÆ€ó;bœO`3¹Çù/y´Á¬âÙ&ئü¼ç‚ö½ ÚÍ_;˜&€¶ô¯næûïªÀµÖ€¦^_@€Á뤽Á<ˆÒn1Šú; —ñ/Ð-À @€²…¤<J@Q@¢èè8°áù½},`Êà§<´èÿ‡Öø5ÿ›ùÍˬ§ÅßX!s“;¼Á:çwEÞ~oû·öí±Î ”ÿÿð‹Øïhtˆ` -àT¿_/åàH -ˆ> &ü´ðõˆ¹|ÙÀkÆ 19ý§CÚ÷hüKðôV0Ætø‰éј‰ðƒ¢÷:ÁO4ø}º*׿Ťz´ðx;À.1|ñ–%×±lÀï“–q`vpx`ØsTP‡Fpî<­Á žFuiÉ;œ‘ᚈˆzì1Fû¾cšÆPvÌÛbž¡rÂÜ€àLÀò©äÐ-z0“D 3³¢E€™ññ|ËqœòÌï«N1@£ ÓÚ‰60‹›ðóž ºí<»¸.ºo‡æƒjh€äÍ€F@Ô à‹û’Š`ÅÔÂ` ŠÐH€GN20Bä d@²7ò—àÈ΀þxä7= q7àÀCc ðø æýÌÿTó¿Ó;ù]œ¯È/pvÄO?€íÃGoö‚p`…:`päÞOþÇ Ú&s[ûä²à‹ÑóÔÉ(@zxŠyŽ}Ûw7ÁY}HpX4wòˆÍŒÖºkpÍÿýxFpfY½yßÌ>†Ÿ(ˆÿÝ @Þg€¹ÜúÌøÞrûß–]zXb•Ú1|Î;FòÇ<À¿¥ç"X -ÃÞ=Äy7?ÁØáy€t4?Ÿ ©€Yùà¶v1µZäÿnê²£;öHzDÙÜKò~†^ÌÄÕA71óq Àäî1Y+fÔ ’[ °Àbη eõû–Î~ GcÒµq­Áwr• ?ï¹ E/‚mŒðÀÒCÿí– ¢!öíp:|q1UJ{‚yrQÀn1 ðpÿ‘D?p:ŸÐÁ°k €õØ @+þ‡PoÀ†@N€"@$@þ\4›ÿ1ÿ¯ˆqÁÚ²ú¹ˆWÌևѯ %£@^'{:ƒ6€ø_kÐ@€cì ¡…x»$”® &t4y(¨$šà¬¾8‹%—»xœþ[„´jØÇ8~¢Pfÿ%©ŒÐîHµx ~¢@â7h$àÕïS@ÜnêÐäˆ:xx§XP+-—vï°š€ -î¸Jò`(`ÓH@Ì ‚§58÷ žÖàå6,)°9PC<ÜŽ¦ ëÑtÒ óìãY$Ò½äÀùþz´èÔ ”ß! Ñ @%šLEEKÄä[~ü28÷%íÂð…uì¶À³{:¶$½©^mb@ùÍ€çÿ,¯ÚÁ+¦®yX'£>Ú-Àƒ®ø$iãFÀ¾D @£^ãxô‰H¼ Æà‰fzš}.Èÿ4ÿeüï4ÿð5V=¹=±à $<€ÔƒÖØO*æì/zœŸuôÔà4Ýÿœåa ÀÛÖ`Líÿÿ ìü#‘ ÙЈàó€èŽh‚³ú༕œ;yôßäØAüŽÿs±µ€è2‚Ÿ)ð z*•&ÂOÚÆÓO5èx?Q ¿Â§Š ¶P¤`Æ¿ÀE@“ ©x§ðÒýR‰£õ”à}â$ú©ŒÚ°Teû?•€n†ö£¾ýwOŸ>Ý$‰ÎŒ“ýkóâþ-ñÛVýóÏñóϾ½ýô÷wÛ¿¨Íÿ§ÚýÑp{Ú ¾ùÙöÖÖÏŸüýV½6ÖêO‹P··g§&j?Dõú}<زÎésvvVùÖ¶þþÛ8móÉÏ·>«×?«Í×þKm9"ƒÍ§‡ìëOŸnöd³Vÿü¿þ¢^¯mRüò~¡^ûÅææ“§¿üv¡POŸ~q°ùäÉgõM\Ÿçq}! ëO>ÿüéçÛ[ŸoÿýÓmLµ¹z­ž qQ”¼^GÉ·¶žr %ß®CÌמ<½?;:‹"oÕ·ÂÚËþ-t€J¢à¢øúyºµU›«Õ·¶‘Owîïê³µÚnàã_ü¢Žå6>Ú&²Ù|ºMƒ²8~~¦x¨X|‚‚nÿòiýñæç,yk8õ%AÝ]$€Ÿ÷\о€!qà@S˜_¦Œùȱµüÿ¯b€&XíÔ-$ z gw1À:âÉ"NæZ{@k­b†2€-[zîh\àT ÀŽ8âuþ§hnþ"¾—ßXht¶Èà·mm0 -0Šþc Àˆ<Nþ¸Mú÷qm `Ì×èˆÆˆÇŒzìâèÐp?½ðk0òŠ–»Å8ýwÙ ÀÉ߀x­Œ/~¦À¬aü/Œ,ä*f÷ãW¦ÿÎMà_ƒdÿﯶ3ÿ4‘ý?<¼”ö$ÛÔ¯F“ÍñºÉàŸÎtøŸ7ÿŒõÕÖm•J0}à“†›š*æûˆL&ŸÏÇí÷<„uÁa0ËWX/½úãÙR‰)f¿K2G¢)>/Ÿ $ î¾Zº_,N” —J—ðÂÚÓšÃë2Ï)d=k9]Á©££¥©GymÚßJƒ ©ÀÉ[[ÛS£³÷CP6÷ñº8ÝÒñ ù1{PõèŒ`–¾|]èþwYªÙÙÚì«÷ï[ɃDɧ‚ïâ|•<¼4TBЍä¥Â¥bQ+,©¤’#kk‹¥¢6ÃàJŽ,Xò—˜ô)6Žà-óBßd2)*9‹*¨Ì| %g¾@£1±¶mÀ‚|+øyÏÝ÷xæ§Ê@CŸ¯æqý–Yò÷´Ž¸ÙÂБà {“ŠxMU{瀨àÐz<©Úï§ÈUvx vxÆ^ähé0oH¬è0€øŸ·—ìÿSœ°Ãþ·IóD Ñ=Vâq,BŸ1Gñþ¤}Ìl pI@pel ´>{Œ¦ñRÀ÷ ¢ Ð=9žCþ·ôŒ1€ÀŸ°“ý gõ=Ày+9ïæ0úoЪ â²Ó>žd­ÿL²0²ƒø#x ~¢àô/þ•å//^nû ôü;"€k€\FwN+®EëIæsüX~ü7žÕ°C€þÿ¨• `aahh(sÀ¯¡W‡†FÏdÎd^î9ô¡C=G{z{‡^ÊÜ;::z¯ÑÂ$C:&ÎhËRgÎ`‡ã RÚ{ dÎp·'@3zõÕW¹/ƒ|^E’W5 ¡ g2,_ØË âeE·"Ù…­0H­-äcogF …¡WY¼Ì«C¯èaâ(e£à£gT@ ›€ìÏ Jüp‹ìó¬,_æÌ¹æó^zùåÞÞÞ£=‡¾r¨§÷ùNóc­àÄ—y´Á¬âÙ&ø~&$ü¼ç‚ö½~ïˆWóô \»é<ÞU/€v€çú,VZ»Ãj§n`Ž Úi·ï˜ˆ4]p$)­›€g —[1€?À7 |û×@³€‡!¼ïŸìsÿþ=Ç åÒ¨7·Eô&›ß€úèC'@8ï‹ùåù'ýSÈ<×;hœ.€þ#ræþ±±×ÉÕ²þ¡ÆCvðŒ‘þ ÊÝÍØ» À¸ ßPcÙ•œê,cØÁü²K´õˆ.cø™Úh€¹ö#ªüDôÏ‚rŽp[* ¥0îÿ¿6L«Ú!Èå÷.Z³•$t›x·ü%q;ñö¬€´°¡w›ºÐwR¡Åz ¯Ò¥ÂïÞgÃâD¦ïXooh%ÓT…ñ]ïcmv¶4T‚Ù K™.ÌèðÇÜ ã› ùöï‡÷aïjó -íOïþ¾Œhé0t§‚Z' ;kÿ§ù cz×)Œâ9ÁdG:ZÅ0¦ggu”Îvä=Uš(b¯Ær^å‡ÈL–¾ÒÓ%À¼~̃Úßâ -sµðþÔ«¥ÙšJŽÌ’ËÇ¥¸ä–\›s(úößÕf§TpùÁ,3gsÀ}\ ÏÇÙ(ÚîÐýÒ+9PãÍ)b*M”‚bëLY,æ{í+ €,9>ÖÄ﵄ó^@£ ÓšÔÚ ;@¾ü¼ç‚/²ŸàÐJcÒÅ´‰ýwà9= À«]Á -ªHh€6¼%bäô‡ýƒ.¸ §Á€cLòÝÞfvuœÁe}k+ 7k5ª‘p{q0ü!–ÔÅ™psëéç›5â<¥«Õ?c íÉöögõ§ÛµÒh eDÉë(JŽ|UòÚöçVrØz<Ý~²ùÙ“úhéþ§µûWpLŸ…å©ÕæPò-”|K%ÇÙ5\%ÿ´¾µÍ˜‚%P–aÈ8Âóùñ|_>Ï{ʒ߯ýp¢0ÚbrÚky4&]'ûâÿR½ÄüNÿq1¹ÿÙÛÌØO-°+¦ØÍ@þÿâcTku«¢vƒ@÷ã¸@Öö±‰Ÿ+Q@ÃÀ[ vÆœlŠØ÷³ì“òÛ€škÄþIùßÑðàÖZû¿Z ø½ëKN`À¨^³·õGMþ¾°]làþÁD cH÷|“$¸vj€´~„Ü0£ík¤jr¿¼fþ±à03—$`B‡<ðí6ô¿€;Œ¯‡¿‰hÙ] XÕÆ ïÊZRž2¿Óÿ~b­õŸ¶ìÈâ7MG:_ X ~¦@úgI©<@n€–üÓ¸ýOÐÁ€ÜYT¿k>q‘„<E` þt°´÷t× ‚ÇxwI\’ÖÚ‰‹/_<ÀWpvt´öß>2ÃqúúŽgÀxqü";ÎÌpè¾™ùÏ7ÃÒ¹`ÛÌ\Ú¸jឥ›6 ·aÏ€zas3(”ä€aîðXéŠÝg\a³61a–9§',NaZF70M§,îðþh&üå/>³0~¥r m?ÿùÖã)Hí/—Š—•w8O¶‰2ø‰qÉYöÚæfm¨DþN–Ü×Â@%ÊÎÌÕJ…€½ u7`í#a *Ù‰ €»™ÏŸè;Þ×—·®§™s;''½váøWÖ ‡D€àÍØo,"4t€© PF×€¨ à¹= À«nÀZjWD€îÆÐ@¿µSp,À„@IZÄÐò—x&€ÎÜÊ»ø:ÜÐF¤}æð€‡þiƒá­èù?Ãû+Zß8ö¼FÏ€yDû|3kߌ~lSH ¨ààà4‰»¯½.ÿ?TÀÛ" AòôQOž*R7œcl$€Ö -Ài½{8o%ç.<z9Áš‰?BÄÿb'ÑZ ]:üDAg(`¡Ló¹5¬?S0ãŸN ÿs( 7þ‰x @y¼õ_èè°û¦ÂjÉm[I ºS²d/@Nž‰à‡….Ûü/"DC¶Š0~îu9G3A07ÿdòüñ—(NäÙ Y€Ã`¦^<l{§ŠNË3࿈D¡ÀÒÆé¢Ñz0:[.‹<Ùn -Kl3ìg@®w“©káï”OWšÈ«îøý¨C"]þް04ÖÞæy*ª0ˆ#Ø…‹ÌL‡Áïo•F§žF'–m|¿I×F€Ó‘óá°†››a&Øâþ8š¯¤p ¸–gÉ­¡Î -‹£êæÀQ((0O‹‹Åñó˜!ú^:•"¤ ÒpÎÛ òèî ¡ü¼ç‚ö½žC €ÚDòêÀ…† õƒôr ò´ëЭà_"ÀaµTG˜ ÛqG½Ô´D®˜&|@Ãà E ,´„`1þ!é0@+`ôßä0p×zðÛú)ýîÿ·¯8åKro¾ìMng|î‹òÏ«íü«€Ø1@IFÇä!§EÜ `ÀÛ>P<À©A°»y 1¸C¤n8{Ê:ÑOÂi½{ˆ¹øãh,¼€ßEk-à|iðeÍêÛýÑh¥Šàg -ý£°ö4`@* “€€à@€<ºWÑ-³u­$‚74u1­Nž‰AE5ìË0\¡y,àÄΆR)3‚ 6y⥗ŽAô‘ÎãºñO^œœ,^¼¸U*ݧMkÐ `:˜¿¦°BãØÍèÍ`4¨a/Ø©Ùj/2%ÀÛf0êka¡ð)t7çÂØðfȽ‘´ -Lãý&†fÁªµMìÔ¶;@Ï û ¦¡CJô](φnüϬž=¢¡6×Ã!ê ~ñ ~XœËXKÉ“¹j€üf¦ 1û Šß¸Ar?pâxßK}ùqà@þ[…¦É)¯@£1±vhøâFLÆ -Aþ׊àþjËÓÀwÛ¶• ƒ{ZÅþ;ÅD€¡‡×Ví!Ðõ8@Ô €–=&‹8ÙßÒÀTñH€RÈ@½ÜÀÏ›öê°Ï'ðëx“yZD쌈À½{êHûÿ¡uÿÛÑú¿¢|="ãÓ̳Û)ßÞ°ð^JB S=Þdí{ @®q A†P8eÓðÇ|ýHõÂ)˜ð¤ÀÙ~{'pÿ·ÿE< úßC/™ÿÔ¢µ[Fð¶hv0 7fÓ”pEÀI¡-”ˆ»xx«¢[Æ…¯x¡ˆ˜Í]€ùñ—Ôc=A ûð¤ÿ¥¥j;`´r0(æ¿ÚSìë›Ì}G¿üå£GRpLÀù<Ÿcã6SìÍ'íÖq’[qrÆXTæ·üô¢u*€ùÚ“©QöÅJ Ä;{ J&Ï‘N's8¡ V»TxL -¡AƒïÆÎ4R;ýº-] -‹Å0Øž§ýÏÑ ‰i¿’©ý"êµQ÷çè¬Çõé~à€<Ú§3Ô–Á’Ï? Ó]º`M}ƒpZ˜Ç1÷îA1Ó{¹Ý”|ß9­ÀÄN•Äñ}/ñ¾â°Îâqv~HÁ¯È£IfÝ Ûý…¼ë³¨ °À˜üœ¹“¿€å.1âÿnzü‹5¼ªj €=Ž ^€‰É‚a# ƒD €ÐbVѼrʰ—ÿp†ÿJVÌТ7€ùøeF - òðë¥À­ýÓOdÿ·4ÿͳ ¢'÷‹ðù¦о)0ÿið¿RÈ? ú¥€Û2ôõ£ž.€#Gx¿^¤ †5Æþ´ÿ£€)1´ÇÓ @û(À}ôu9uð–L`vr1ì`~GÊæ·Œ/~¢ £z0¦Àöo¢ÿ€ØÀ%Œúÿ±X[û¾ÿЄ&@£€Ýøvz7Ž¥VѽLßè zÀþÔíVÎý‚§5¨Ü–`ðÃ-àÔr08z¨Ð÷›à©£_ÂèK/… -8öÒK/}‰R€[ ïPßxß1âÜw »Nœ8?I:ùßÍcq(Àçî ý MÙc›œ€<é…Bä§Í/Ýx¿r%à8CL­…®N ýÒb~žãûM»uϺ8kG--Õ¢¬ d+?¥\šJþtv(f`#‰):/ÆÎLŽÇôÎûç+ºSº7àû¯â&âÍñå¾tô%hªÇ•.ÿÕ&t"JÐhÊ´Þ ßOÂ%ü¼ç‚n{ÄÓ¹ýñį%¡&PD €ø¿Ã8ÏéY^ ì^Yµ†@×ã¤zpµßcp‚@9×ì §@ä{@ &öà,ÂȈÚó´ôÜ[çä_©¨ €Ïzôè§?5ÿ¿å”Éß<Në -@oäx½aŽžH)À* Ð |2²vEŽlØÿ+€ ¯Áî7þÿÞØëö<ÀA>6€½@r$€³ƒ @¿ÔE+«ïÆa©¹ÉÐïÖ?AsÚç´ð/k'’ü¿w€e^^`/€¶¿Á9üDÁù¥¥ÀÚnË àÆ¿`ÔßðPHì¸wÑ: €Îu§ ìÀ?þ)à‡‰ýyªz à‡[`$|0ØþÐ ÇŽ¾ðBßÑcþ‚  iaÆëËRê³Ø©ÃGöå'I¶ñ€BNìbÑÿÛüç¥ÑYR&øŸÝÈIÓQ0mDºµ†— -ALÇ8‹=û\°í€òá3ãµh@á°C½X¬=ÙúyƒÉ‘_ªåú}nQàeÇ„Ú\m€ÂcF~|€|€\óóÿç•!ù.¨Y¨°fƒ_Qªp¦x‚w'º?¸c¸#šqS´vTw‰÷‰`,uÃ…¯ö¦át×äјtmÅÈVˆw~QA€Ý= à ž€¦›¨^Ñ@ô<Cgjfdó¯< ‚ê¬Ö0À^Ç0 À6Æœ´(~€Rzä0þ?Ò"à¤Y9M½º°Ï”À€Úy¨½š@² -ûî2«lxô§ìàJ"#Š€ÕôɿԶCÛ<ÀwN¶n.ÿÆÉ:€Ìò¦ª^û=QõØÛîh „¤)¶-)qò ŸQ€ì  ÚÝU{ADZ‰egÍ$€s‹`ß½M~€È@rÚG €Ú =ù(€˜þÓ1V‡Ÿ(˜ío€Ž¨÷5ÿ±-cˆ×xÔaG/¾¢‡7_x©ÿ|¶ÿ³u ËÔó€UVÃ~<j°n~¸Ê#’g‡qù*/ƒÓÀgä0(دà5¼;CÇŽžŸóòá>i‚3,@Œš~zù\p -ö¦]´7&'á2ÐÖ‰é Ûb’Í=°í½ 3a0MÛž¾z¼ã¬‰WKµRq™Ö§/bY,ª`^Y^œ´ †ðJFæ -P/?¼K €Ÿ(8û î°7ÐeFý‘ Ñ  £ÀH_…Õ²%ÿC¨ šÊü_ k, õDþÀÒM4•JȦ Tþ?v”6¬•¬Z,iú“µ8é޼“ÑëÇ¿ôÒ‰q>9ˆmÛÀx1_d›8ÃßIĵÂP¡x; -ãjÔ®ä‚:~>(f^æÙ–`œÏç/äóçÎáÅ%›Ö'ÇÇ‘~rFõ”™àoœ•É'âΟÇK±÷Ü -½…º²f¶|Gé^8_`œ®Ð.)žä3ÿO‘ÿµB†«”÷€ˆ·s“ û€„ ‚Ø_ X«µ‚±¥ÃϬ€Oà£ö@ö^4ý5WÝø'Äü4þ2<­¢mŽ×1%6è}ȤÊ쇉ýx|$`àÇ… B¾{öéXß¡úúŽ} „ˆ±Ø”MÎ…:0> -‰™À óØn‘#²€’x y1p“6Àµù£‡Žõa‡NKÀ”ÒÙ¦á7^—F-ç˜hOÓ7Á©X¤Y²îož˜TÞÌ ÀhPòòGŸ€F¹e÷öE¢Å€µ—úŽþf¢ZÃ3 ‚–«QÑÕG‡ >*??)Á _:Úó;ÀS ›ø9X~$ÞÞ¦cÇò8Ôë/§ºö ¦˜uìÓ ~ÞsAû^Ïc€D@ÖRcdþ·ñü+x@kx­•‚@×ãÐþg €¨ýðIùù1¤'6z–‘/p%;¨gøÇØÖ @˜`Go¾=XMæàø -àÏÿt‡@üï"À@Öî -$e6÷ëZ€\¯Uìxïg 8B‰‹»ö¶‚í@rÕÓåïÇðFp;v ¿ÈÀ4JÉãƒYÍŽSV¥íÎ\Éå~z$¨?%žÑàǽ@Lÿ]Æ€úÝ `½9ߦXö߇Ðàó˜›À­¢] K¬—­x©Þ'Š%½Äü(<–ž‰À¢:ºô$e Dýü¸°STÌæ}¶ ¦íÑC}0ŸÙ€ª¾D_5Úxœ¤Îï;zè¨mé$,ÁÇÇË‹à ÚÀ1å1qºã7¾„ £h,‹ÉÉj5S¿ðÂ11·1¸¯lM7Rž(2xÍñµRf¶VÌ[Á#Xbšå>ñ°Ä6Ѐƒ_îs=€…›î„¶¾ÿÂ!ÜRþNð³áãƒóuwмKÜÅ5OK€ (=„…wè‹ú°3…S]{€FÓ¦õø~.áç=tß àž¸÷eƒù±äŽk\’ØP@«%l`x>ϨV½Ø¼úJ ò°NFu´[ ¨'îàüâêf­T¡ˆÈ!!ÙŸ ®vÄôƒï÷ Ð -Îþ¾ṵ̀£7@¤ÜðÐǸ§‘ÿò/Íðî -”Á/ÎÈ?¢ÿ ¿N ˆöò°Ø˜ ÿÓè'ïÅ1¿%6R8"€<v¢Á‡† `_! ðÅ€ÿ äyÜXð¾ïèUf{qXjnò˜íoÙÜeމüIN<©%D–?Ñ`™W¬€a/1¢~-ÒHxâ)濵¤\;<[f“½%¡O)üèPK€g"(‘¡½ ¥†XZ4E°Kv‹<Näó½=ß!½z&M‚ª~ÔÕ„}‡z#ú¢cüÄdä '@ùFŠ&޳\’CµÎ(ãÛÆlS-°K‚‚ <êë¿ÞäÏšo° ¿üÒK_>jqD¹æûä„¿kþ5ØÛ¿¦æxÍÈŠC~¼ÙúËGÇÉã G òØKtwÇêKnÇ{Y¹Ä®/¡Ôttôâ}!—FAm´î ÇŽBnஜȳÕA-"J+8Ñuy4&][1²â_” Ûgˆà·Þf¥zíÚõ·ßV4V´-FgtÀÛ4éWHÿ±€–<€:Ü¡3pB+€!ö`À'´2¬æÚ/¼êŠa€®Ç8ÒèÐÒ…¨žNKÔÅ8-;€ƒòà@«g4{ºx€¿`gLjMxv‹ÞRê È5yÖR åOÿB€Xå­3‘2ñ{ËÉÝÞèäGiHâ\$ö;p‚fudÀa> «§¹ûuÚü`}Hâuˆ¼š÷ŒÀM–;â®þÈÜwÐäw³?«xA£l°òÛp‹©ËýÇÐ ÐÜ@5Ë_³h­¬ø?QИ„½€½ÆÈ@'€ `¤hŒb€ƒ(³lCS î•ß5\¬±’€}<ŸÀ1èðL•ÕÐAxb!í€õùèðãB p#± ÿ«=ù"(L†ô—@’€›þò[¾ïP_ô¥†óHœHià5¬ƒõɈѩ ºGåé(g’:“Ýâyo'W2Í!ÚÜÀ GQzû±<$æ×¥™ýÒyFëYØÁx>Ó“)ž@Á)]hccAo;ý -ÈÉøžÚ§ã*à—<&áÂÏ!@ÚMëSpï ähpºlzÒ:Îâá8nƒûAðA¿u´çBtC 8ôr/Ní¥à§:9r,?É ÆóTùqOÙ ÿwéø‚Gü‚zü–Wð $Ûö Aï1ëïŒdY¡«VÚy¢&€çô,V1,ÀÅeÝUØ•TQÒ2ë*˜û´ÓAÖœÁ9X М?Lt ëcÝRç1`(F ‚#Ø €ŒÏ4]¹~z 18ºÀ®Yέ®òye¹j¹R¶ -5‚½5ðu$$¿ºö½"Ö—@î¬ÙÀÿòO7ÖõÅ ëàä@Ê |7˜ËßšhÓ³ÕßÀþû§9PÐiû§ ”`ÿKLт羱±·µ„P4À˜úœýÃþ'Û· Ø"óZÌŸÐÿéìiŽÀ¶lgOgEê{AÄ[‰¹ÉŒHГˆ©?­Hý”ûó,”mB& P­ûàDËŸ£+  E €T€þ3Ö`€Åö•4ºe6Ù[ s¿aMHbù<ÁŽ -¹rJ38÷ žXHy| ùü¸ÐRT8Ý3!?^ìcÈ;ìuzè¿ô¡Õ9ÓŸÀtü|2ÁUÙW̸üóЏ72S~Uo’ù—!RhH§ÏÈŸŽÕC=°å[äÿ_¦ºÐù/˜?Á§¼$ƒN¢láüJOˆçÅÿG!]Há¤y6LðL¼òŒ§©€…~‚j']t¨[Á©ÇùÙm ŸóèE߈•Ðû2Îêííëí; ñÒ P!ãá|0^4 ãpšëò讀oLHøyÏí{4ÇH/€ …1NÀÛïĽÖo­ø°.Ùhrþÿ‚ÇýïÆ‡»C•˜€ˆ€rv5©×T¬Ÿ!è†Dm„úýdÿ0l|€“'éµcî?l¬þêËôçª8Úàˆ‡H&°Å€MàxP?ìdC!¡Œqyz¨- =P·-®^ç§C-•Š­Þåóެ8÷Ø@D€´0ÅØ@@làí•ÐÙ7××?Á‰îHÂȵÀ·h\NË¿%mïecÙ8V¦8}àˆ5 kÿÌý8»°Œê4‡ˆ,†º-Äúâ~Cº7Íø$À£Aÿ ú‡|ðMû ܼywývš  Œõo5cA¤b,ÚŸJÀÃþEÖ¶‡²`pQûFÜ l$yÛÍÿïÅk\ï¼òéAå'`0upú4ÕÉÁÇà[o@=ë}Þ)¼€3)ÉÌ,Ej­Àßj?Q°¼e#³ã½°Ãb½”0€-cþ§  µ ê˜ðtŽФs¡{ÇE(¸n•ÀzðNäÇýx¬ Àü~\h#* bñ}£È±ì‹ $0³ÚÌÁV°Z…üñ¼žL‹à H¤ £ì!09>3Y¿xÑ Zu¥£¬uPèѾóìhGV„½"F--ißÀ¥z8 ®_Ø 6'ÐǾŠò½4.rî3CÝú~“濚36zOØ\à§Q«Åø8‡`«†¹:Lð à'Š™C82á¸H]*•*ÃÏçŸøÜq¬õõä/ 8÷oéblàB© ¬^`¡ÆÇÃ`ò"ã.hr–ë òhƒYųMðLHøyÏí{´ÛŒckJ¾X2ПUéÛ×Þ1J'®€õQ‰Ó’âôN óðM â&ylú?@  ê‡u ©5êR¬ /È\a 5(º?ÛO7ýÀVöÔ´ê³9ŸÛ…øå`¶`]”OY '!tÖa,1ñ1@<Y`öŒ@RØ”(ÅÚ?¢¹ÿ#àîkH´¤zÐŒo°8y¤¿¾.ûߤRþå#ïí¹rûìºZ~˜ß¶·ØÍ¼ÛÿûÃYuĽ•{Cpîß{7@ç­äÜäâ3$=M  Èÿ&öåðãå‘ -¨±M @[ æ÷™ãÐö·¹Ù5Ä-|'±vòH,E·/ZÁ”Dá;–ÃÍ$÷k<ÏEð$À¾<jý·w?.¤¾Ÿä‘j…,¼ç†Bº¤ÁS -<úUqð·ŒÐˆóàÊÉBO~†O·§Ï@Æóx~òâÌ̤‰ˆñq-=½½=Î÷ö1cp"PpNbæò‰ UÀåÞÞ¢ä .`wÛ»ôôö˜$OÃP/ȇf|‚¦>2£ß¡H€]Žñ -*eq|æ¢K?ñ0Âù°è§ôQûćå? ‚þasˆ>n10ŠŒp<4ÚŽ2Nñ¨nédN“s“Å‹˜œävy4&]'û¢XeBÂÏ{.èúYäaG ÇGo¢óHŒ½ýöÛ`xšõP7W@ü##®²qínÌϳñf1¾o.c”±‘•›’Å÷ˆ˜ô1qækQôïàœfÿ£F)/B gTYXËeQs çÊÃåáT:žA¨÷͘é˜äB -ç.§{Ó{a—Ÿ©ÆcdFe‘[PMNÀ$Àvn­ºŠJŠ=ø¡KÒ¶bk8çWR -Àã ¾ -:wcžãÒ@@5 ÀCެGýÿîÉó¿Ãû`ŸØ»%ì(h6>_à_ úc£~LólÝOR~÷Øqžïè&7§õîáÌ•\vöИ¥HÌ‚¾,zš¾T3J]ˆÔZÁéRðåMàZ(]+úï ô_vîçëû««ü!FhöÄÀ±N1,¨n˜Ý8_ÑÎøéxÇoxÃߺÛsTZwÏ Îý‚§Zõü¸n£IµËôþ19Y+ô™øÍ£ -üêËäS½+œëƒÜ‹½…orøŸ qjLO^,ŠümÜ|ž€7QããBo,ÇUn bîâðÁ Kð}Ðûr”™9q<–¤aQ(`tzî—AqzrüüL¾÷|äÜ&7e†Å!ãz2“,1¯ÅÏÞŸœò¿HtLìàA¤,†8Ň GÙ‘ˆ„Ÿ4À‡Ö(ÁµLo>ÔdàïK~3ÁÇÞX¾1hß9´ Å àò"ò‘9¯µ™ps+ ƒ=yw²¸9??CðY>“|N8 믋ì©?Ifd:Û¢t(NòÑ8½x‘ ˜ ¦¹¸/ööf.„Åó‘†@zò¥Ö±°ý \®Päg‚°˜Á9þö­>ŠÁÒ£ì½Epîüã0äGÁëb1¬Ḭ́„=ä”Î"]$±[.—Q8bÅöC-‘,Bí)/_˜}¹÷\±¦"ÅÏd`€*…k€>h$nk·Â=´¤=À`°Ë·zÀ= °³ hz“þÔoÝ’€ÄÏ(jÂl=ù|­Bç©T둌ýhãî•,Ê»!¢}ð¼Ñ½V“/Ì´4ÜüwÀÊeÿ—«Á>G¾­À&ÏV–ªr ÐG7Ô¦¨ŒPƒñ‘¿Ãfú1FI Öfª¬´_•—½ñÝ0 õ€½´jTst3@p°´áá#ý¼B®Zþ¨Ê&€¬ªE§/k'8á-{ܼù¤J@  ¿Fœt"®5ý+*@_}Gx< Y×ÖÑà <È$® -vâm$8}úÛ–Öƒ Ù‘Oß<üúEbWËLvÂi½{à“³Ë]b" ÐÂÐø®c`¿ÇV°_ŽÁOü0±³ñÿèH{Ú -ð~<©û¿ud ƒò §~Š€×vóhtÍÆÓÓ‹eðÒó–]…6f ÿ(í=ûаÁ€«KKm@ª[Œöüß{®–ò™¯ý 0Õù<™-¬Õja©x¹¾ÇæäÅÚß é¹þ`°Ï#ÕÊõP¿yð?Ö.‹&í\.NÏz‘êŠlåâ…ñ"ʤU²Ëx],ÎÍÿ¼ö7µz-,žz%“ßë\!ó-œV(^(Ú》ù‹<5“»gòçò¤W–cr2“éíË—°Ê3郀&¸È’O³xA(j½È g)Î,œÏÓ°$Ô+, N0ª®„¥^œÝsÇ‘‚w&œãYr~Ú°öù|ýq½NýÄ’X*Ò»ÌÁJŽÕ|^ã:ÚÛ‡<'‚Y^¨`p’۠јX;5o?ï¹ Û^X?@¯}[˜ýÿÎÊ;7ߟӨ·&˜ÿgIÿìS5<8 ª”±ß¬‹OŸc7iÁ*Î`”wF²c7M ´FÄõZÑkÓŽh]ošˆp`˪„ý3j“ÊBuì (•M™Ý³ ÃjXeýÅ1@Ò0âÙFI‡S°߇/EV:@’7z0ß?É}˜‘ô8¨ND–• -® {f`ðäIÔy¹r5·º¼´¼Ä! G ºó8Ý;vöX¹yÓã¤ðõh$ÀØpûp7z#òÄ9š ñðžQq;Äýº•@$š´€çïì,cøñûSî~´Hã[cÿ.‘'a“pZïÆa©9Éÿøf»  éK•é¯×"1ÒÍF–?Q°¼üj‡›ºÿ9Ú -ùþíÅ&5HÀZŽ™ÿôäÀüi@S @ÓGNÞ;–ÛxkŽŠI€4†ùÏ>« 9”5¬‰šUO@¤@³ —íç2¯ô e2C/÷ÂïçСC|>ý˽C/Ûa{ÊF{ -…s™Ì+/ãÈPfˆÇÁyç JÔ€m†pJA«}}8Ç‘?Ç|Îex–-…Þ=_x%Àu´ŽàbØ#ðâ|Ç /g^îý_°Cû ¥~YeîãûË@æ\Ïå S•<“祙, ì²â2qÉyg¸Ä‡,Œž£ÔÎá8Š>Š<Îôô ±Ä,ö+zç9C½¸:înen*îìQîâm*pp’Ûôüsº'¹?†ø†œÏWü=ÿæßxiüú¦RãüÛ_ÿÚ„Ázíñ6Àh¬ÊþgϾõ[Ô)(Œ‹ÏqŽ9uú¬ܸ©Éäp2ÊÙÊÍ;­ºóÁGïñl;@úÑ.À T1)Àÿé>®¦^à8{‹ Us9WÍ-äsÃ`fÔ¨0CÀ稲ú+dü~9ù& F -PÜŸÙ+¸+´»¤°­Nþ8JægÜBõÆú­ YŽ÷˧#Æ0`±L€:ªZaK„ ’v„³=¡€D+€ÅB0Îß¿šý }M\§°€â€6ÍÿÈ'‰FwÂȺ…ðbq¾5£µåþ:£ˆk¯¿Í‡jÓæ–74¨eåÃ}üŸ> CÆê{ KÔÕXvöD É°ƒú äÐè5¬/ÝøÉ$à' -q/€‘5˜é/O@m€¼ÿ’Q/@>ïÕ† êH¼…üéOphËx«t¿tã¢uLIØ'”nb ýdøã4äåøMÀ¹_ø'&vޥɄ¹{@.gL¼g€¥¿ V:ªê9þï9ÚsD c›¤GÂ#Sæ ™s£¤.RODPfÜQJ -«!wꕞžobv’ÛßøÚ¯ïltOB‡H¸Ï_ü–5Gü]ÒõàwX=ð6þo·X¹±B_>ÉŸ¸} ü/0xv5BºúûÇÆzä‚ýùÊ‘St0àæÍõ; ÀÃõ•‘Á±›ë&Œ×çˆÝã¾[o­`þ3йße·ôGÝ"À€üýeØÝl@ý²XFUZ¦{ÕUYfL¿ØÛ:ïƒøY‘ïAPb®S ÄõÛøŽÔ\£…ÆXŸ£êAeÉ‚¨LµXYe€jkóHìQ¸`G Àí›÷6èˆ=Þ‘ €}²ùS€Ø°SàdÌ<ɵ%Ò^~Áø+ý'Ó_·D»N< 9Ð÷¤ûÓº2Œ©?FRNëÝ#æ°ÆÌ¯:FÛqZx„ô·Jî7ú¯,¶8…¿£~¢§âp@:Ú¢'@{ â•ð&€µU5´õ¸H«,»›ÿþE~·J÷KeŽÖµÝ€Ý+þ'Œÿç?§KÀ¢“?ñ±'&Ò - ë¢¶/„…¡W2æÔ·€oÃb©X¼ü)ŽÍýp.œ«×C Ä4¥"Xo4SºR’¯ü -›ÂÃÍííºžÐÏ]a oa9A åAX§=¸ÀVò |¼U{Þ¯ÜÈ\k[OæÃ™V X8“A’RÌáKÄr²m¡”BÙ.Qº 4æ/\(L — …|±8[G‰pÝúc>/™ÖgP>tȾ`qŒA1˜‚æ­_lêÑÂl¾@¸”ÅÑ¿Åêt0½²a –._¾Ö¶ë™Ù¢è÷k[[(BX PòÒÄ·Xr|ä0ønÉ - XP êÓ€¯ö„˵OÀª³“Üî €”KºmóÅÝ€ŸòÜ·GøÅÅûNÿ€ùZÏפ(×Éîm×n\{çÚÛX1Üûƒ0À䃃¤~ƒ±?Ð# ‡¸Q í„à‘ìÈÍ;bp‡ó;_Îú~PëZõWäÐËx?‰gUîP?æW†Ýà †¹e:€u¸JÏ*Œ‘éÖdÐ:Ìê ‡r'À2sÈ =¥Ï+g‡1«†çɨ6«¹ùØVÀч*åêòêò2+¢*dˆÀ¤áT É Ãüù½€ÀÙ{¬€îxwýÞþ7ú·3î7Aäq|õÆ é¸i€.pöß!§y9´`§ÔÓ§¡¢}z×J;8­wÜd}íe*ß¶ÿ)ŠIòi­E ~kMüo$àûž= ¸h¦ÿ]ƒMDÞ!áHÅ óF€Ž¢Üü÷ÒM¼[ºeöî똒ðH0@€AÜßö1É;“í=€ôÿîRÛ&€$âj…ä·glÎ -Šé .PÀú³… AæWK—‹C³Wx†Êû˜Ï噂AÀÅËÁ|0T˜ ŠW‚I°¨2'÷]E/iw|)°ù»¤3.CÛý0‹£\e´À… ½#Ãdç¾R…µÂ9®#“Zb ÏB9µ‹Å‹LŽÕB/c.ÁôÌL°ÉG -ãCxÉšP›g -xŸG  -ŠÐ3ÁEÆ61Íàô·Ç è@¨èŒOÃW -8ÉÛã* îc1¯g-í;‡CÊ+Üš 'e(ã$·;¾áìšÌî¯ûªãùs¿À €4¾æüŸ*ä×ë@ŠZ‡µßnS¾aÿó@äÿ›¨ç`ïœþ)€â®vƒ[tP€S6¨F`P’ÁAãÎõ§G/Û§E<Û{âÓº ëþWÝ+R PæãXÀ¾Ù\¥:\YVÁ,;æø˜À¨"@ì4˜þÞõ P~´`4ÈcLˆUšBU>1›Î^JªbœQÉÁüZ4K„€\”áDŸD%¥ x[ -Àì/€Gxðpý]sx7ÀŒÿ!5Ó¦f‘´ÖÒpߤނ°ñŠÁ½:®TÊ¢á¶"RÇ*›ÿiëÛs„¢ý¯Údæ˜ä , –à´Þ=œ·’sÒ@àæÿÉ“øÒ"ú'…‹M;©ß@ -ÝÅ€3-?‘àøU#šø…ío1ÝöˆÈŸ*@¦?%]­<|eEþ¯™ §²ànþ-=,pô·Qá¹+å ‚ÏÉl@óLOEð¯Ó@w¼þH!Õ½yö©j…Â}V£€ ÚÔ†Iš·0µQ8÷ŠÈö"xpºÆ0@ð)$bð,·Cj$a„¹;Æd¼Jõ5¬’ë…—‹óŒštÑZŽ‹¿{@4¥ È ªG˜_ˆñ˜9ûëMbT(ZÉ!8¦ƒù™é™iPº¸œº€%§(¢Ø3VN.¯ÈU@+\³g§€í Cʏä*‘VÔ‘èãÓp[yŒdk–-ÝÇì$ݯÔìnøZÏ`ý¸Jª0_ï‹þà@‰¶Æ¿7WøŒ@=-Xph -ö?ŸÛ"8û. -z¤p¾Ø%ò¼;’¹q«¢ôè•ä÷¦>Ç{¢WD÷Fþi°? P‘Ñ.{©ÌÖüíË옭.–Q߀ŸÕ -Àª•Öj¨âe5ΗâøéÝ·n€ñOsK$\ÌUé[0>G]Žê  0õ5ì@e8Ë!˜ûrµ -€úŠUKÀËtF%úOóŸô?†àöM|#nÁ3p]@Û<€zMØáHšÿ@·rÖõR{D÷Z´uÁ$û/ÂÌGÑx}3~6’Dú„ïÁg…¡b+(·Ë¦ódë˜ç臔Vv„¹×J -\ØCÀ7ÔÎÞÀ×H·Ò¾ƒcsKô|íkXC¨䈔ÁÁ  ˆæÛ-®­\{÷æÍwn^»ã¸MF¿C&àð­g §ÿÈWÅ×(FnŒ228òÎúÆ£¿ÀôÓÄ+ù†Et Úõn{“lý<@/¯Jö„2j ÐÏÇð-£î)£.c_¼Å -kžEð¶š-/ÊX¨@  nS…†¥*$VË°Ìø|{B ŸÐÏÿM`BJ²<*à\Õ¼ÿ°û‘3ß«0R¨!¨Dø0@^€W'0›"”²ã´2¶Rq¢o@ V+¨!ä P@x} À•Ûæ éióŸÞ˜–³Ùñ q.’l.êQ7CÉÛ‰+4 À^Þ/•ýãº6IþÝò<¨4§Ö»‡óVrnò¸ùTâ€&€ïÔ~3œRà7nôß! zÔ¿à'Œ¤ž¬äFP0¡Éüÿ3ï~¦ ú·Ey•–4pK &€äÔÎ1,kƒö+ 8÷ ¹²Ç°/@JxÚ׈î<ö€%>¨Ë^¨ -"l÷2ƒòΜ#W€¯‚ÿ3ùsrh¼ÁÌö ùñóÅÚ¹L4ŽM@'ºÃzûk5¬ÍM„Á$fN¼ -Ž+£‹™È|ô8¤}@IìBZÔ@Õ¸t!¶ó…ñÈ«›A0Ê6ýˆíÕ6P(\È"¹Ð2üÝb±^*¦iésÌË@V–àñl¦NuŒ²‡rF‡y®È _æ;<¯>1Ä’SÐè×!,ý¡ztàQ= -ˆŠa8Ñ;ÄÉInw|#²ö±Ýöàõõ¯ƒˆÉÿ’`⃢ÜÝ€ë|W—ú  Ð*øŸ/m˜@½ÚÐ?±‚ׄàÖ­{Š`åÚOiÎÙÙŸèýpêêeTÝR`XÜXhߘ~¿ýôÏ|«?å¶$ÀŸG)¢É)ß–I)€u)V5{›Ë¨hÀÕþãlég}Pέ‚za11 < ;¼8’…ýF5€z–Kn8ZDȆOýŸ$ÿÓÀ‰‘8Ÿu|Vãú`ƒÖ=-ÿÊbUn~Öíj@n eT© à2EU´ÂXe³S} ¹ÎF -àÝ È¢Àðl葆K{°*% ¤×Ýëco¾ô_ChD'k&yJÏ Å74VHíbj*zhèSaˆíé$pMDü/€•‡Ö»î20‰eûc*I€«iС€XT`Ï&²(ü£Dió¿Ø¤ð ,f¤ø}ʈ€V1”æÀÒ·ÀtÏDü|E+)ØGÔMË•ýÇiø`= °ÔÞبÒgƒ„µÜ/f2¢3zèÐý(Ì$€|šžÈOLCØÑ5J̘ÿ?W’ ¥)Âú• ‡Þù3™Ø^ÃîLQP£A±8…½X¡Aç©üÒ;0"ç1ôÅÌP!ˆ”³þXàã–Ê€+ù …âýDɧàîÒù$ûüSPl•œƒë02(ùÅbÉB#ñ ŋµâPðéîbC«à^Èç¿u<â„50(@–ñ¯“Üî’W©À¸X#ÁÊþýâí ä–EÒƒìÿµo@†€ö¹¥7lÐ/À4'ÚãmºÿoøÀ'ßa4ì -?gÓ??g…u½ø?j8Mž Y¹q{å¬yþüÏÁâúŸÅolˆwjû/þâÏþâÏ~ïµÉÙ¿M6P· fÝõÌ1~#P†Åflí¯Epþ0jT9`ïÜj67°€äà ¨ÄÔ~¿€ - õ?ÿG¼H ÐÏ΂^Õ‘Å+¬€¡$ÌÔ¹Šš ×Áµ¬¡¹¢VÏê"PUÄó KvC…Ç]i–ŒK(€1víkò˜¸ þxüÚ¯Âa Þ]¿C–Aó?Éÿl€m9af ¼–`dþÔE„CóÄlïÆüßé±·MlÙÏÇN²Wôpàè!A±=Ï7_<^U - Žl}ˆ­²wT«öÂð×Âi½{D¼•˜ÛÆìæØüâx°³@*±?•ÁY0þF*ô°@‹”w?Qˆíy¬ ÀÚyöØ Àʪ[æS´žo–ý7øW†aà=þ¾s$ÀÄI=åp1×nËËÁ|É@áxßÑßP €†µ·†uR´“86.æ ù <— BPglûGÍè$6aæi˜)Õƒi‹qÝsÙS3DÙ¿Q,¾!ÿf‚ÇÎä~ù‰€DB¶4@o!$Õ'Lþ¸íׂýNÉAª¾L·@@Ñ~*Yäÿ (Ѳÿ,-Ì™^aŒŸ{/Ì@„ÁÌäJÌ;†?Q•¶Šîzð€þý©¿ß:Þ×÷Ò±¾ãùb ŸV·©ðÊ''¹ÝA>5ê'×’x &Œþ¿H` -„‘/B…ð7‡§68³·Çô·Gû ·aÑ߃)Ï¿êà€ªPÀØ^ÏWaN  ·#§Î¾s“Ϙ§àÞíTÀ+àž?û³¿|ô§öè/+þ›ŸëÜúéŸbõ§ØûS¶úÛ>9˧58XÓ¨révf~ÓµQ•-´¨(X£VÈÒBÏU9 ÞQaçÀƒTAò¨/@Eùðñ€ ÿM¨€!9ÆâV)ÈbñêU\c - S‡F>2d?€~zX5ÒnAH FÄžæR7ÏàëÊJ -ÆØ,ÀÑó\¨oÄâòD -@,wýÆr í==(ñD@;Ñé ÍÎŽõ`r[’ŽišÓR7§a†; ä@ªAÆ”>lüù”&Sñ9_=¬›Ê OöOþòUföÛ -$€æ³ƒ/¼¨©{àFóV'—ÝÄìðüA4©:Ò³^•ÅìÞcØÿŸ)”(H ÐÖ@ö4À²ˆß¦ÔH€©€È’\ý/´Šˆî‹­\O¥4dù >€i€ƒôïêy€é&€äI -€” Wå‚tµØu ›·˜ÉLÉ0ÍÕ<w2Ù'³ âp43;Çô†À‰¶2>™-ÕgBEØÜñ633Ï {#R:Ø•·¶€R1¸|™õæHOÃÙÝ=qÜ G(êeà0Qœp»;6¿Uìâ$>â Ë@v' ØgAþ$P.q}¸Y+Ll±äܧ l-ˆµE;Zæ?4@ ,¾ÆûÈŽ3|HÁÑc}çñ1©[&ƒž{E£9Éíê׿A‡;Íìˆc{Œý}ÓÓ>oØÅHö¿®+£^ oˆpxòg„3{;Ðû¿róú-ÛbTßûë7ø<`S± -Måý0}å+/¾øÂ‘ÓcqÀ½›ôP€Ôÿü§ t,ø¢“ÿ/ííϱƒlor`ƒÉ´ÏN0ú7ºonÐ6f¯cRõtÇ%ênÔØ~Ç&€2­t:dÁêôØ`½07¨@æ 8 ¤Ï]솲¹Žå‹ª -ܯùEŠ{¸_Î:"%+ÉÜry ¬~À› qG6|œ`$ª`‰9‚:¬®¶3lý•‘•¾5Iõà—Æw™<›Ÿ5˜ ¡oþo Ú•„Ñ¿ÜÿÄ¢Þ Ù·÷ÇÖ~„´ì´Þx“->S$ù -É®#ƒT¼†¢üd÷«‘?ö´ƒÓz÷°ßLjî@"£M½Ó°ƒú JNÒ?ùjÒX =ÅȶÀAzð[ÅoÔÓàÿ\Ê"67þõª’ù€øßÍ öà…ßœ -€¬Ê»ù4yʸU˜T`Þ·èöq_ööÍÁÿIƒm¤@ãØèÀ)ý:xÊeã¦n1;4Ä^y૾£=z `#¸¬i$;µF;ú±XÔÎ fØÕÏ‘˜©×Gƒ'ó|f€©C±ª66ƒ˜Ïo¼áÛ¸Àe(è€ÑLI­æ¶œì1Ü›OŒ“ZƒÞžDW…HE6G‘xFt>SX*Õ Àÿ±öàšoð„[…âŠJåbŸˆŸ4*ùô&ÖPRuØ€m, -C*ùÅàb£ùAåÌçc QZqÏjùW¾‰©{)M°¾ñÿoD~‡'}Þð«¤{Bì`ÛKFxòg„{Àþ¿Öˆ¸yëöíõ»®¯èI€æ³ÿ¨•Åÿ”ïPÈÀÞƒò -îçÒV"D[ÑÛ†.¸ŽWLùù§E€o¨2aÏûî–¬»­ uŸ [ Ô0e˜ï¨¸‚wµþW‡QÓaÌ #,*2Aý ~¶¼¨²k^ -T2têÓöÏ]}my‘@gb!P@ÀâÑHUò<ÀcdˆNó -ùì¿b+$ûFðKúÀCðø˜ü´ÿSdtÒÿ=ziÅò‚ìç®ÑþÇË)}74)ÂÙÀaüŽdÊsáZÀVÛ‚Ùÿ‡Ùä¤üc·¥_lôb¯À){6‘Ái½{ð{ i5–»Äý±H €]zH$=I «6à'̺Ìn€ •80EÿDÒÎZ„³¿¦e ÔX€«ø±Š-‰räþ'èpúoíHÛÔ,* ¯’qÝî`êÓ¸€ÿ<ÞPÜU¼y.„ŠkèÖ€‚EH>¨moš={SÅÙÌÇø€ñ†Ëý :îå¢ -tÌ×ÙRBŸ³â|P¥øÒÔPÛ.Ô¶jsΛ´¹I£,+:œað&mt¨x±XŠŽ´y˜ý"A{!`%GR–|†E}ƒ=Kþ Æ1” p)fÂ]@\ÐóP' <‰¦^èíý&&'¹n Nm0~cÍ"îOúœáK€JÇS?+œÚ;aåæÛ·×µÆzVhL6FoT¨¨‡ûèàérçæ -ègåæ]Sû†Õ-Z6ඪ”lž.–¬»Oö÷søñì*îʰºÝÑ÷^FÕE &;Þä^P ŸU¿ÜWy€ô  Þ§x+'Éÿ¬ä•Œ<Öóô(îO ª™C?›!˜žêCƒW`¬‚üÌ«õœéË`>¸‘¿à>PäÈÊí»¸ä~yìÅ ã4¨rÀ\ý†ÿÚOkžnühŽaŒ‰À’æ;~<2ëO)¤Ä’ȹЋ pæÇDpøEISø)Ú˜ÔZ±=ìèá)8­wÜi}㉹C ™Œ„ºÓÐ d`î‰ø<Õ^$<¬1¬ùŸ ИøEì5@@¨^ÿ¾b„¤à*xßíÿeüûò©”‹Ûÿò4]‹?R¿ûˆ)Ý0{åÊtþã©6Ï…àŸÒˆ¯)@âÚËI°¸lCr,€T€JïH €f@¹lÜÓBµä- ²ÿAal±6CX{ -yðl°],ð±€t£ÃôijO柂Ïù¤@Ð&T< -òähµfRà"Ï'¦È‹@p.ÃM7ÝÉüØÏ&ˆˆ÷qÌרµþhß¡¯ôé…¶h°©Þ˜26æ:!?Ád½”ñ’3µë¥b[ˆ0÷ˉÒS•œÂBÀKNÀQƒ°‚Œ!˜”7óá=*Ñ0 ã¿Q@W?€lx à¢>)À+‚“\Wp^mFƒþ¿x0÷©RÛU˜Û!Ú¿ù.;òu› -àîú1¹“³Q[ª*Ü¢SGNŸ}çÆ-5<\¿ *ȲMYÔa¸CTQgï=b't­lÕZ{iaêîÓ´o[¾Ïë¥îÖ>™S¯}Ô¯¨V˜~F­%îGÅ< €Zˆ¶?k×J–ϰ*Áª2R4¸@–ÿäÔ|ñ"{à8½2 ik\…x­áÜGäN~ç@@$\a˜õ -ÃË)Œ¹×vøý³þ nvàZ °Â†¹Vnj {~¨Q]˜0úüÿ+c7n[«@Œý7DÑ|<Ç0öÇ2¹»`OàuKÀÓ¶Ù8Ïv4 ¤t‚Êz /Bø!z|*e~©ô¸–ˆ`¬¾à«à×\&<`°¶12Ð »õ ñ 1Ò Á˜)À£ô%q$@m0 ‰fRŽAúgI9-¯ú“€8¥=‚4~q„DÀkqÌŽ…ê™Ò±š1iáwÐ fÐG4äÊøcâ¡8€ÄÝK–ºÉP?XòÔ@ÚPm× UZvzö¤Â3ìùx/€ãQƒ»øT¨-·²·§ -÷éGwâWÔÁ˜®^êá<‰ÓùK¼g„:q/Ÿ˜G§ŠA©Ä&Æð"¤~s“T·½ñN%ïLH\¤™s´%ŸÍ\uÛ÷zg** CíÅZò)Çö¤c–Þ>ÈïÏÈw¡d,®FÏ ã¿0¤Ay•IH‚É7PvÏ«àKòðÄ7p^8±Ç€çÕNð”Ïv--L~ô0P­ÿï0Šo)€7¯ß2)š¸ùáÆ:ìC>æóo;õŸÔš{ zÇÆ8 ý##nRF—ÜãBK›bhÕ¶{#êo³ˆ–^'w™îÆ×jfT4ÀQP Ð_, ~-gY•Uø?œ•_›²Ï]€úû±Ê•OFîjgxM)Py Ï%Ô6Øð“³Š€ž@ºa¨¬2jiyœüÏŠy•-^mfÚÿ2üAÿcZ‡;ÿ{,`Ê@·Dÿ†oûÛâ³ÿWV*ïÜæ­¾²OðM$ø?’djÙþ6Çm;us#á -ð¤ñü}7Ùɢؗ Ü™Ø Xöxæ£Ñ©ÉìJÂÞØjðÔYöS€^hâÿƒöà‹jĬ™@/~éF'„yvÂ=|uð$cRÀ2¯,ŒP‚ž-IÊ Ð1€@(WAÿö,`¬¤< þ¨൤@|ªÂ»ý¿Ã€¿ -®û-´©õðu¿öͺ”  ™c)!:xìmG/ÝyG‡€U^©Nín*ne2³xœüß—Ï›Q=y±ÄñbáAmº^*pü_ û;ʼnDI¤:>Þ jóamnÞT€Lçy)®…óQr\ìY"ÿ³Y½04ÅÌpIõ׋ÙVÜ‚\ v°ïë+~µ'z¯Å@€DLîçštjA= ·py¼(Ta'ƒI,q–š1ÂùŸOLÌχçÃ9É –7¹ày(¹šÔjâ³äÅ‹x&ØxÁƒœ6yaä´ßÍ•Ðþ`ö¬fk\EͪÊÕ€4À‘žß>{çl|òhãÎ Ðhh…ý÷ñ{Šò Š€Ô>S´Ãw›ýmpà0ê9X«­+¬‰¨(¬âFµƒZk„ïÖÀ¢h-)úO*òx ÿ¤bNÒ§—Y¥##ž¡‹4ªB«È¹MÁ@?„€,w^‘Šj²h3Àî7ßHŽ -ì°22{>Ù°¨¿ÈúÇÛÝ»ßþGÙÿòˆî]ñùm­=ÆÐ$ô­‹¿u4¢ðo‹÷ ß6Íà OÆV2î;­¼tØ ¬”M”W3x½þýòÿ Ïìà·¡/*Z&cð=5<‘Ü’{íö{0$€5ÿ,ä* üyŠæ§%I™¿ëFÿ(+–ì`øþj"`)áx+Š4ùéIPpûÍ1¼ˆ~غuvû´ž„}FÜ´«¸7ü|øeã=pbè/dÀß)¡ºóHìÒ  ) yŸ$öàøqfTÏé)‚¥Ž±³š;Õ§#ÇøÅé 4S -ÀÒäà°ê¤r>‡~o^ ÌÅ?÷d³€ù775о±çÞ Æî(ú›ü ÿ™¹šu àYbŠì˜-)€BaAøè„IzüÇÕ€þ -yTHx0ÄÉI®;8±¶…'û‚àm YxºgI½ýl -àF´²Î&˜Žt˜ ›ýmU«”§alÑh@òœ:}vìÚ-Øüë7Æ„þîmcòý¡Lj'»Ý7[ÿvDû°Ð€ü»Íö†Ê›/ªUéjĵ/ëqÔF‹•œˆƒ°ÂT)ðM©ÕüЈ‚ä{æ p˜äÌÊ2j2Àµxyö¾Õ0÷UG«*ÄI¬÷²fÅ)]H`LƒW›y˜&? 5h3±à׆åú6ÜYß 0þçâÛßþo ‘ý?R¹a á´‰›ÿ0‚ŽçÀ̢쭷$ì±ÇÓ´2ò—¹ªŸ6<9œ`2¾;—kÝ·ØÓ° t$;+ªÏIÀi½{ðëhšqó#àûkÄ$=à‘¥€„vR?AéŸüß¶@ûŽ 8Câ¨wH -¤B°ó FÿRå*ƒåHy—Êi@Æ­,½Ûÿ-<~ïì¾%Ö½hBdþæà#y_ -€Þ9þˆ¾Ftç¨òóìÒ `±Ü °Š-»E‚ €®@x&S›Õè6}¿Éñêc]Dj“æ¯çs벞iËã=bZt kþI}ôþf-œÙª…ósð&h?œ{m@ÀìÑÏêÛôÕ¢op)BW -Á{õ“晳0T$Š8Í_©é„^8àqðMò;7¬)„TÆìUðHƒÁ®@Ú`×à3±ÉÃfü§ÀÕÍÙoØaÔo2`Ô¯A€¾¿Ðð,•ÿ¥ÄÿQ#@K@S €ß;NZøzâãx€©Ü=þü†³” ýt CS @¢¸åe_içÈê»N³aaÄT &IS}ä0ÂYÉÓw>_ ƒÂÖ÷2DNoÚ–íçõÍí ÔææÂùí'›µ¨ôqmsÞÖÐjŽe^›oÒ"¿2+ý”F¡«´º8`“ -þ‹–î—2ùb´ËÄ5°´¥bÞXZ‘t&¬ýih SÓ£ÙmKÒº0ƒ x¼ùô -=ÀÖ“º -\›¯ÕjUr¨(€ÇÌ=ÜäþÙ+¸ÀoÞìD&Yr`žÔ`BÀxžÈŸ×}œØ`؇é61¯ùâá×O¢Éà ›°×"¯ß¾ÝaŽ‚¸Jþ‡X¿ÇÖã•Ô½‘58«V‚m=|$€\=ô@|°ñ‰žÌ&€w×ïìÔþª[TÃ4@Úç^/ï -r4-wP¯èœÕ*k™Êð¢†ø¡P}¥ª‹ýý¹“‹¬$€NÀFŠÊQg!2>üâaúÌÑ@ãaçÓ' ¾ù.°®3ÉÀ ¼èCPѰàÚnðq€LpoÞ'@€ƒ1C¬(°)Òÿ:Í÷˜@FïÞ¸}ó.S6‚0äh–δ>;¸&æ‚æ·§‹E U’Sgù|^¼…³¥Biû¿üòéöÖv½nu ö„^o¼oÕ@²Á¨Ñè\ýq­µP{²¹¹ ¾ßÚÚúü—¿ü¯¿üå/þëÖO¾rŸLÔê[ ÿK££—ê³%\£ÆcA)T À 5Ðåçjõ€6>¨‡÷ÃzáL¦„"âäÚ•éû¼ )¶ÆÓë|X?χ¼˜æ©³(Üì™ÒÖÓ§¿ýs»¸a~ åÅ„’‡X+@ëÓaødóñ&ÂüÖæfíñææg(úßÿý/ù÷O¹ëéJ(yéǵíZX*ÎjWJ(º•\Ïþ/) AÀq>´w¥ö´v¿VÛO@+ÎÚòY°óíêà û-£‡û·í~0Òp{}ýáÆÆÝc9y €A]°Ôƒöœ&ÿ߂ظsse$Kcô[Îûþùbwcøfë[é]4ŒwŸŒ^EÑÃ4ôÒ‡Zµ¢WÑ´»¢Ç $Þ·ú‹ GŸïbðÁöbw~Ž^£'ô³–ÎÛsnÒ± û>qËvq¯mQ ´dôÓÀ&Ùÿcê@2WàˆZanÜ¢Gf½Ñ?±¾þ˜ÿ±@ -àÝ7Þ½ysãCþq× 6Ãøj {'[ÎFð§¹f$Œßµ¿AЄ‘½íäšìÅŠÓs?x*18_6@HžÆö“Ú’?èÙêò˜G8X5¥ÇJÃY}à—Mòj,ÛǤ=Iкp"QQuϽ4 X¦‡ÁÍöPRC[À‰ŸôâæØ *€†`‘ÝãF€¨@2@IH³bì–Eoo¶’ðO‰»ÆÝÀà0‡Æγ’€ì><É^ ÔF‹ÝxråB˜}u¨¤•s/÷êíËd2ùÑs™Â¹B!_€6à[JÁ諰اؾ¥ÂÄ¥‰ÂÄ^¥âD¡B,€åгS¯î_†¥;Q -¦¹÷KSHn ©<¢PDæç2¼Àèèè™oB]ÄĽGûF ¥B¦÷è¡C½”/8óÍK…Q®ÈåÀv €gN42P¸o–fu}¤½4d¥K,9?KŽÕÙÙ¡ÑÙY|”œÉPôFÉé×ÿ.(œç-ͨh(ùè7‘A\ÊÑs,yþî%Ð÷òË/í9tôe/)€’¼úÍ¡o¾º7RtbMÃw{’ýa§ë¢»À“ -ÍÛ]é¾5< -0á¸m1ý|²Ýs*Öƒ0¶"$€8býæÊÙì¸àgi0íïõ‹3}³ð…ï&{î>‘ZOê<ŽÓÆíÕ u[ëÙü^Žë+Öá(UdD¶«^,€ -—ïn àéÖ¸ȪÙ1Íð@¶0*·(S*A² Í’Ñÿà{=2@- ð 6¿p$€ÀúòüÞ{ýõ¤ -àŸ¸~—Ô§áh-œi}vpÃÞœóñÑ›6®Å -€ùc²CLíI•G¼›[ À zà~vfùcæ¶+ž`%€&ÅnkHiú^ÜÿDD^‰9ñýðëlÄà7DK–/ðHR¤lï‘€¯ÅjÂM €¶1Œ[áÓ?‚£»ÅØiyÄÿW¯f—¯«€öº€J0 jè 62Þ/.œù¹ÆxËä3!¿rX„ƒôXó¿÷hãXìÊËœwAa¼¶Ígz:ÚÛ Ê:ç\¾"Ïe2gø:s†\‡å™ÌhÔoÜ'œÃÞsg2àC±")ý\áÒ¥b¡ð{¯œ!'*Gx2gF‡ -ß‚ýf(3šâÎsÈä .IC™3ñ2×PÊ^8Äçz)ÏÔ*š ¿W˜ø=H€K¥¡o"GB&ÈõLt1”œÔ¯u|(|"ÆU3XZ›¸„4—ôáµËOÀ]âUìÈ 0ôMÃù¸K(ó¬Ì¯¼ÜÛÛÓÛÓÃ2÷ô"ÑÐTsãµÎ9É%A¦lÕv(B”ÒÞöĮͩ۞Ý.gíoƒF­´Ýî*!†o -€”àæ:V7B¼;F»ßñÛQµšð|y>X¿6ºÁ­}N6$z%—¢|‚lŸÚg\zÕ¼+ú‹„iÞƒžåZE­ƒ:Ž;$DÚÒXµ°½rnG¹Ko¦«ÀØ»ÿ$ÉœU€3¸&»K!„¬½™7UEäËîÏö›´â1žÈ÷A­íEÿ‘þ ÀÜ2g7èP+ ÀO!6îÞa+€I€÷ÞûÎëIÀ·o¬¬Ü¸}oöÿÆwß_¿ç^lk)Óúl8ÝØE%ài76 ¤~){#7À}–„oÔÌy¸@œ.Ë«òЀ´‚)ÁfÁ•$DéÀï(} ^à‘¤hôHBéi; DŒ¦µÿSn`“‡÷°$ê'ÊW³ -ÔX@I@ù-3ÿ¹Hx^ë.Ào&»s\h+û”TòЀO¹Ÿ€ÆÕr%þM½ÚxºŠà(7~'°Yšn~àb__ß·.—'/w8 k+³Á,Ö‘Î<ñxÕî×·j÷¹ßÅîÙ໳X̆u¤gž8Tû¬V«ÿ¢´U«×ò»µös­¾µ½õôÿU¯ãâS«3о8 Veû~ ÙÓÒ\›{ö»Á,»ø»Ù2óZ9z(Ïnz¼L^ fkµYvJD‘ï׿Ã:>Ól8û)”î£t³³áýÙà>?VYòðÓíZ¨Ï£‚B3K~ŸYNóApÿÉf­þ´pŸý+¼7ø<(y}û?o?ÝbÉ?­}j%‡~*±B)”à äÛXѳƒéã(ä¿•Ï\Èkõû¥©©mQ%Ÿ -'¹Œ)ßNÂ8š7»Gsòö§óH‹CÚ­¾–Bœ‚+m·¹Hg8±·,D¾Ñ ,oßæ¸>êÕ?À~šQ—Ò¶RKpÄ»Zc>¸µÂaÆFø(º}Ãÿx•rƒá“´ï[é]Ý)ZÝâÿaÆå¡ÞÄŸÛêVî°ŠŠ´Lþ¶mT½Ú¶c jÖ7af=[ôaÒb+Ë&Ê¡â_X®–G–+«ÕÊG#(ê>Áõ& ¼È£†ZE%U]ås ñ¡pby¹(ö€…‚4€ÖìÅZá€À`Å Æøpƒö¿$À{Àw^Oz¾}ãtÁÆÝ>Øxýý¨à½{¶/¼`¶¿Í޳cߎ$€C$l”îà±¾vJ r¸Â8Iœ”‡,KÌØkx4‰üù,ÂØÀSuyF˜X@©‡súž ï;=7<üEÄ1ØÑÐLþDì %›Ò m LÙÿ˜±å1ôhEè`>R¯ž q€›<Šð€•ÜæHô³ÃçÅõÞ4®Ù­Ôߨj&Véûvð4Öé¨8ýÓÐ8#íXNöhãè.€Ú],ß›52é´8ž?1Îò™yPw8=?¿ -`²’'ɘÛ~ÖÉŠli¯Í1òo6¼‚½X™Q‹|øÃÇ`ÎùÍúöçOë³µmì®ÕןÔ7Ùv.RáGŸ­Mœ ~²0 e²4²¾΂թBW›û.‡ôËœË/ͳs3á|™\,Qb|”ÇxÕN‘ðßÿ°T€.A‰ÀßÐ(”ÞgVá›,ù½S dÅx¾¶É’ÏáÊoÎÏÕ~ñùv½>%ïS³Ä%Ç›ú(Œ0ê¥L†-ûÿQJ -Eçk›’0ÀÅ´pAc,å‹¥íBñ³zí±_7t’KÀ˜’ð ø–ð$;<­Eûš·w Ýô^¥J!y¦V´Ù2«]ñn'° `§€ûÝ[_1“Ëæ†mEþ‡Hz¸22öî­„I¿·Éÿw´ÄíÆô)`öŠv›=Ö¨…â‡÷[]αyÜ*{ŸœŽú–ñ}¨uQs¹]½†]ÿ¨$bÏ¿€t ˜¡YF²UÔ­XEí^­¬V²ÜÉbbKí§|«Ž öá3ˆ°;*UèÔ¦´zXAvÀ -ÿÍå_á^rØ`À##c7ï>úé#»øŸÓþX -à;ôüo¢ÿÿí'?¹ûá‡ë¸ëê%ÈàÞûëwÒÏÄŒF¶œ¶¹Aö¥$à6@?˜Ö ؤÀõí —JÉôz—áïya{`ÿÛ‹¿B’¿ò°àwÉÄIòöîÿPéó O,1ü†â/ÿ1ä¢Ý{à+Æ€ -Iö쨂ÍþgK™ù/9Û@G'"kO$°LyÄýÄ[ø_4EÖ³ðþ·S @"Ì^Šºqë¢ .“ÀG¤bäT˜Ž€† púïäð&b_1±FÁՇ˹¹ÎÙ¿d4YÌ?Á@vðàûðJf‚†2Q -¦ÀtìD7=;s%˜ƒq²4ÁîõX/M[xýÌ4¦Íù­ÍÒw댊7÷´ °'ÝýâhÁÕoQsâÎ’Qd(>0¨ÈGëåóµÞb½6Cè1çóùIŽ3Ì©ëÞ4/Wµ‹‰/—J”,­ éÏ0?Biõé°Í•’´È=ŸÌo~>QÚÖÑ €Ö`Â8¼@P›-)LQýŠEöxã3'`üÔ #RõÂÄÓ'¼ˆÝ|'¹œ)cøn@¶³<ÑøaVô#&äÞx­]¢MG,-Ñ”…o †ˆµÅíØ`Ñ·(>z¸þîHÃÀnÚ§8m±„0 ±ÿn­ "ûŒÜ`Èùþ¦¨„X÷8€dû„ 0  Ãn’u³Gö;ÁáøPïPòèÓ`}÷Qe°ƒ-Vñú ‰Dr%hhÚ~F­C[døè@¥\Í‚ÔYÐÜuÐûÂÂp¹º*C£J@eö¦\ù:6F"ˇâ#¬VQåFèki? ÈúÑGì8¦r À³gWnÒ…£–ýHüäGï½ ðúwDþÀ~Ü»Ë/îƒõ÷ß_b€øàÞúÆf€S#%ù67 `¤n&~:Dr×Þbò6XêFØ ó¥ 8}úÛýæà/Žo =妓Q–ãcHÿLƒe¶^€{"­ôÜäˆb"€è _rÌG c°f/€yÀ>¢Ñö u @…Áÿfÿ+{6/@J$X®Á£@Ô À=¤ h5 Z|9LÈ»vzp³ü¦IÆØšý"äx»LРXZÜÙ&@ƒƒ³|šf„”@í.†&@½›<‰/*!h”sê{×°{ççækó ­ü (€óÞPÝÃàLÌG¯6ùm*x îMÒÖUÎWœIÕ׎ÔYºŒÉÍa¸YÛ‚-¼¥¬üD€¹ñ]`gÄZéÜ„ lq(`èZ!~—æóùz&øem.ÜÜÄUæB”;_œÔ„i€s$wÐ¥¿Ô)IPF,˜Îº*)€Mœv+©Ÿ ŸÔêµÑÒ/JEæÀ‡ÊOE3 ˜¥OƒsçJ”.*#à«`~°ÿù»,h […â/ëµ¹Ï>³›ïØ€‘^¾_Ú3¥'Š>MˆW›3Ioûi†äžh=zo‚vLj6›ö{Ú™h³œê[ƒÃºà;ÀÈÀ{÷pc$á`ÕzÊ*W±¿7° à=Ÿ(j0Ë&€•õ÷ ÿßÑ–Àˆ?F´‘Øeë¢äÎéΑd7‘ùéì7à·ýpÈíÅ~˜Ã|àZ.Ëz"Q“›`ðÿa=¦ <¸þϮ·€ (//T+ׯ/. ƒÞQ;U¹D倪¤¿Š¹’ƒ™ˆõ…e -€ -¬I«6Û¾rŒ°Q€*ô´ÈúçP?À³Ù‘Ü -ŸÎ¸±ñþ Läÿu²=$€ÞãŽ?ùÉÝ7>ø`}ý}¶Dí6÷>\_¿ãŸœ ¤Üù’}±0% `j߸­wãlm‚¨ýˆÒi‹ÀáÓ*P»µ @œ¯=˜‚?ÃÈÀ3OS„ -Çp ÐJ»o5îxbÙ¥ )â^)æ‹?Mí›ôCp¤<¸‚ÂFHN:Î_ó@—g,éˆFnŠ0óŸ0€èÿµ6€\;€ß9.¸LÂ?&Ê»‡²³ €Ÿ¶~„Ä]íIy C @½*ø ¾&@âF5{:ö|\{ì¶íLP<üx~œCìhìî K™QžŒo€ýõ@š4þeFÃV•Fò{ôÖÁ¡a0·9ÿ`›iplÖzåSN \Ár-Ã’„·a8³EÝ6´.65þŸkg&jÁ̼FÚ &‹ãùü8Xæ½+³…Q>ZpЧ1¿°Nþ0šÂY¼Ü@]€eé2EMŽ|€y€â´O„Ò›X Rë½eË’WSé -€ô¯ÞR}}}/=š¿P êç -Û3s[‘?ÁIΉ°ú;Ô–*=#±ÃÑê.|ëçÉm­s#zo‚vïDzç´màTßñßnx°ë-È»7WDüº°¤fa€§Ž0P€[·À¬¿­ô‘‘wÃþÿñ訰7 è½…°Wc·×ÏÀ°=¶ ®D½†‡œ¯zF– «`¼©¶Å˜°ÂèÈV`žW`ëXÑX» dQýƒûOBœìÏò  åìš œ a«¨=–±gq9W]¼¾¸œ]Z†­R©\¯PÐa°Hƒ$‹¡nŠ?kTFØ Àâ,€þ@ÈQœY¹}ï(€?\ÿ`ýƒ;ëwÄÿ?ù%Àw^ýwÞ{Oö?$ÀưýÅÿïß}_üÿÁ=È·ô㜓 NKÔ+þiœLOn÷MAÔ¯…½5Ü÷<oÌ@‡ÇHüʘ{dêÓ³¯‰m± r#ðÌò4’êë ‘ {%àÌ•œ›<îHyH^I3XƒÊ@Áæ0þïàhP)ÓöçËèÊͤI€4Ëé<Ç¢‘¿f®Q°3@Êàö?fX¿q@$Ttwàï·€î—j­èA¸³(yJx’N€ö1öÖª@\\èô†H{Ö➊ØÀw„²l¶ÅãMð0ø VïdD•/òA@|Œ>‰ æ/ÉMs1€ÍM9­gÒ©¸žL¦u­E@+ôonÎÿ]xiª®4²¸¹F¶èþ'JA!S@FÔy=àWÉÔÅÐâè° ëÄÿÁ•¡ÂÖäŒÖ‘ -à|q¼Žsèþ×ÛÜl!ý³TôR ùk@¦Q"÷°è,­6Ô:Àç@º|ŽNXË~ –¯€€Z¹9Ç…õ‰‚=˜HGòEöS`óù™¾¾¯š 6ZøœcàÆq@'nôc»0§§i‚L`7þõ£S“ë܈WÒ°Ý;д¿SÒv ]Øàê[R.èX_¿Ë6€{·)4Ëô¢PÝJþ?ÕÓ¯®7oáäOØ  @>~ŸÀÿÍÿyR»dŸP€m™üŒ¶X(¯–-šŸ×€ …zõÇreq˜&ƒUÊ‹K• -ì!°óêâòL4œ8²ð}Ô•ÕµêÕ¨2q´¢xVZGú¿ØÏXA:üWQ§äÖPžÕ‘Õë ùÕ…j67²È&þeà-·¼Šê)™0²F‹²€M¬±`†±ºì˜ùìfA»ŸôoþFÿA -`ÄN+ëÿÌýáÆöðÿ@ö>$ `üÿ'˜~òçÿ÷Ù£€{w>|_=b¤1@¿"_ÍFØ d±|´E湇ô&þNÀ6¾SxøÛ¦+°‡KóÈþ'ýã§G €NÓÂ<#Œ’U¤¿wþ?ˆypG’ƒ) HÏdèEÈ¿½{ ø¢Vd")Y>NOI¦!X‚KÞ@€¢[ÿÔm<`?e€7pJxÚÅD7 m%à÷ ÀZ…æÿ@vã´öì7 îßž >ôÀW›=Ë,¡€«Û=tþj°¿0Oôõçl8¢ý$Ÿ0ŒR‚Éj¥`ôÏ™&¬š…/’„ÍÎPñ(Þ¤æon~^’‹œ€Ñ ¨AD:å,Z(†Å¡Â²q{`Q?^ÐRù"R™LVµ\ˆ /‹'íÉFí -Ð+d˜½$KÎçà -fTÏ'*1Á‚[ÉçUò™¹Ú“Í_ÔÎMÜ“ŒðWÙÁò^ÔYÜ!Wd›.Lü.Ù?j8Þ÷2´\ Âsç,+ƒ“\K4ÈR¼ ¤·Û“€ïà{÷†Ä©‰U"±¥Õlç^Ðí9 o;ß ñs°€Ñ?Gºw÷À:€I@c­² àÔi €S§Žô@ÐpË<·ÞÖ“èžQä4ØyV2 âÖ{lû½ri çãå£Tð—flóeP:ˆµ0ÝY­22†ûG¸zv!·JKgmuy¹úQ¥ŠZ‘ Ë™ìÏž¤ –<ãøQ—ÂÖÿÅY­~ć­^G©r Ø¢™Ÿƒ$X­æpÕ¤Ëå5È Ôé ॡ PvþpGè ÇŸ[x1(@»À/`C1ï¸þÁ½;ï5À¿ÿÑ~bô¯ÅŸÀòÇ}ÿƒõ!îÝY_ÿp}ボ[@Äo³Œ,–o@{DÍ\rvûŸ»užŒx;È÷1jd˜{’5( öè9 Ni¯¥X@)G×À™+97yº‹ {Iò@-Æ ×] ~ž¼Ÿ ÄmÖ@m= Vƒò0ã_"Àº²ýŸhãÈ&{¸U 6Þ5ÀŒmp‹Mn1Œ]uÏ$é  hçÐc»ÝŬ.®6z¬6@ÒÖÎŽP1±æŒÓ30¤óçÝ(§ƒž®•aKe(-è ¢¦ÕŸŽuâ}Z±x -¨Ï=†pÿ¹ã2‡bË ôB §úf„ ÅüH€‰‰ñ<‹ gëã=€È?z @.€> ¶bh% æÃÂ|é•€º…  D*9 9R›Ž©Ïo†£|b¥àrijªx9R¸1¥Ú™st`£ñèµ€j‰ø_mò„T–'ŠZì$’ÄjëÚðÕ:œ„ï7ø¶éÑ9|÷UCjÛ6"4vimwt›P–~;¼K²N÷ܽ·Á¡€`w¹À °ÁÓ1ýG€³c7×o­¿O°2Æôgø£ág=¡Bvt’`"À^Éý^C·Cÿ¤Ena/ö+Ê-ä––s`c!F ;µÃ*ɘòÇ0 ²#•êjþýÕryuü/·£ª Te°0cÐx P=Ý×?ºÎ¨>œ¸¹@gЇ“–‘ïâ2Ÿ½V­,WÖª¹µ\–»Xúв¶qÛƒ´oMþl -PˆßöÐ#Àí>Úxøpãá‡ôÐèwŸ?èÿ'ò'dsüä'pV¿ùýïÝùpý.•€ãC§ÅÖ`#@$Äñ§cA`p2Ç›X^}íÚ­[Œ ûàæŠy( ö‡ÜˆþlqUˆê!j Ù'éÞ$€-}¿×ÑmÀ`}¶˜ªF)W²ÕÊÒÌ—åÅÜù_–LµR]£M^­\Çßþ´@6W½^Í®~T]† xpuy¹ -Sƒdž+/ /À‘þÁ\¥º0€LÁó¹ÜÚêêÂêBõ”Äõjõû ‹k |ú –×r˨lWW!=W*« ƒÕJ‡±Y…°ê¶=ä´Ø`kôäp•¯³ìaO°±ñèÑ#(ø=Æþ½÷R?ñ'?$\྿OûŸà£gŶùj3œ¡1ñKÄÏçhJ° €ìÏ´ˆV=©]üÎb”™˜Ì@Mð•¿B@—žJx¬ k àÜ•œcŽnÝPNŽ@òJ -1 ¤Ae;< ô+c@9[ð˜io @·±?1µq<ðÀ<¸>ï\ÆkM™ÿ þßO @|Ç›c$¬@c¢ÓwÄDÄ{h­œÕµšŒŒH~ÅóÇûNäÇZçQ€³µsŠ çaó÷A’¿Ä|꯼ü:€8€"PoB²ë¼ž¥g4†£&˜0½‹ #ZÍûSõÑ`;jƒzkz±˜ÿ]’?VƋŠŒQÈkŒLFVõqs@’LYræÍÆ ”.Øš8#éÂfº ~ÒþçƒÍñu+93žp´8:Pð„FaöÛ…Â/üï.Š—¼â(òÇÝ@pÄ •p’kƒ˜MÅ«@3ë¶àP?àð{CãÌÆZ ß¡#1td'Úé¿åÿ»ÖP ›°@›æ¸ pÚ'Õ½fŒEàTO¿y8ÐÆ›cꃎùæ­ýÁþ~€ýûúÄ­7öÄ`a—žÿËÀ@ŽA€0ýQÙª_þŒïÕåJymµ¼ -R.ƒ†‘Mef9l-˜è«$Å:˜|y­¼ CaÌ^ÅÃt`9ûœ<ÜÏ̹…jyu¹šù#Ö3 uÔ2ðÆx+šþkkKË µ@2<¨.~´ú`m é–aÎu„è_Ö?Á·c~>'^€³ø - îl|B<„x]à½÷¤@ÿõþêgà}‘?æýdý.Ãþ ,@Ã9ûo¼ï¤øL S“ÿñN9ïÍî|õôiu ÐØa¬oäÏH¶X €²A¶îü -"$@—Òó?^]ÓçrYì¨üáñ”Ñx$&0yÈþ@Rtò@`Ë`1)`aÄc jI­]y®ÚH€(®yÈüRÉ^•½Ç øµ$P(μO¼¦î —‰š@7 kþlÐÔ `±ìüO@Cr5Å,ã©/`[ÀŽöÂ1,Ç6n_4d85'êß—|0¡g‚b¾ï%ï`=ɦgFCòœ¶À‰¿¤ÞÝP [Æí {·c'è7¬ƒpE²s›³™©0°Ñô 60ˆ%0KÁ§…Ò6J N.+A¡p¡pÁ“N€ò¿ --g!Šùã Öñ"ÌþL“j¾€×Eê…s ÎgÑø9èº@ÑYŒ†táЃ€v*ùãì­‡£—0¥Þ E ~QQÙ³‹%™Ÿ˜ø]¶ÿcW^ÍT+ôWD †³\;¹rÙžL°MÛ4vµAÛcó±noM°1|ïNì8Ö9ykÐ…ñøŽ‰.€» à=æÞÍ> feVU·u±‰€L§Nݺµ~k}ã“;7WPƒ~Îî· @3ÎÉ@ùÒ„ï”ïk®y%Ýý¹Ü÷ÙÕ.ó²ÕP>(xy–@nuyíÁâÒ*Ì}Ð7Ãòðúþbu$—]X]«B ¬=Xx›é°ó›¨šµ\5ǰÿlvmµºˆuµ\EÍš[-?XËAI¨]aíóY\[]†ÒXFƬQi`cùÁò*tDgÛFúŽØ@‡yîÐðè4À£ßI(€ŸýÕ_ÿõøë¿úÙÏÌ þÿч¢ó|@ÀúûКÞoÕ`Ÿp -ŽøŸ0ê6öwy6 Èðm¼"[¬K &Ëê…„¶¿YÿÄ‘#ê²Ñÿ{,àð⮇Édx%=åÈ@4¨¬Ëpe# %¤0ô £uf@ײì õs‘ôTãääˆ5¨ðæÀŸ®¼¸š/ºi,v´Ö"@÷€yó©Z]{bð1²ðô•årÙúþ ÝÐ4UëÐ! êëò4Àj.Š)ÆF»ꬳ`P˜ô“ô‡!Mð† kgΉïÀqÆ¢„Ñ%¡DƱ¾Gýç>«yPhôÊ(ÏÍn)ÒÇ -Àh'NÔ¶BבÍNX0½õ²ƒ>Á3¥L¾TÏŸÿ#O$8qôË$ØI|<äÈß2ò20´ œcï•<.Û KÓò°i>”Üc ¾¯â£þn'¤ò‰WÚb`À?ÓrÊŽÜ ` ?ÀmÌX¹ÇžàŸ|@Ÿ²€³¿ ÀŽ€ŒS/ë7ù(€gñD³üíô÷l<’}ƒî Ûâ2Úï•tä²ß(g³ ¬¦z·º -ë~uy2 ü0ÖÙˆ_]ÍV F´›«²º¶Pùhõ£ËVËxCu‚T9T¨ÛØ@`8»œ¥]„Ê:5êƒÜ2¬ú2‰½²¶Œ«°îY{°´ Ë‹¦ÿ2öCL•òƒåªŒUµíA’ï~S#ì¸aâuWßyïßÿäg-Ðð' -PD þõ;˜äÀ;°ñ¾¦]º…qpŒ¾p¾¼tþ“ÏÝÖ÷´€ô°ú©"ÐÀxÕˆÿñêHÿ,]4í! Ü. Œ¯2êÐP@ ©«€&€à Ñ8Ñ0ÛÑc 0  ÿ“ƒ1E€y$Ô{P8ÿ.ÌÌÌS§¢ãÿcP @{Knï;<¤P¡ù?¬~€i{Ó1)@ô0¢j¹²ý&WZõˆHŸ1±H{`ØÕš<¯-–E=-†Á]<Ϩ:XÕ´ÿm -k鸆›õM -ãJ-CØÔ:]ö?ÿ¸O9Z–äÞ­ð 7x„"‚ÇJ¥Ë°…™­c*œ-è¤)šì®?pÀ¢ÿñk W=ÿŠC…w‘ÿ‰™™âqìù¢Z'PFìy2q†"¢Üëu(O ‘uÅÇEé·4.€J®RÎÔC>Ô˜§ÙÇ$Šo ä—5꟤J)˜=7ªf„ 85°y x#`ÀÂù”=ø]H˜|>ÓwL  -oZN!'ã¿¶plOdð}¢öÞ OøŽZHíR‡ïj‰ø°¯è„t>ñJ[xuÕƒ`‹»wå`w@> X -@cÁÁ¦hJ¸èµÑ{N±¨›Ýß¿i9»r]™ìü›á5¢\“ÀС €/Ž)ÒýÙòÚÂÞ«ËË0Â×V?§¯}DüÇ«¯ýÃÇÖ|Ä>ÿ Ü»n~ðC¶²ÊýðàkHÿÑÚÇ‹`kƲ6†8yd` ¼È.¨­"›½~½ZA½ú ŒúU`­ÌŠv±¼DK ›ÜXC µÆ&ƒ%è‰\•õÁòb\ï·ó|[ ‰<Æåøÿw~G -à½Ñ 0 -ô/þÿÑ{Üáί§é‚ëw(°Ûò ûv¢`RýÙ¾Ò1M'ÀêO{ø$AˆT»¶ ë¼óSsË€þÅvã˜Àˆ#)ÖÜ@Su€È‹ -`  `*\©rø ¦æÐ,¹Ê¬2N-8‘­úôP”Šo\õ¿¡zbB,²ùâ<<â5ã¿Äz¾h³ßÛ -žðm¥é&-áéøÖ:½ïo>žØlyfËÍè·Ê·À½{ë·Ùޝ@Ễ=äà¾1œü…ÈÀ¾€§5àõ[+ T À­[·÷<Ýòÿßøo‹¨òlLÀ¤ 0 `Ëxÿøm7 Ð^ª01jŽ…¾ -’Få·š[+?Xüx­üñâêÈGYì¹¾ú}¤[Óp½«kÕÜÂÚGWþa-‡úüÎÁ€è)kL`v„¨²·`.‡êÎ¥µòÒÚ[kWAìßZ{ë­ÅòëTúÖÖ*kPk ~ì¡Y­®-­-CyðSw‚¾‰ÿŸ©èÑ Xø¿ó;6øß_ý‡¿þkðÿ¯~õÿ¦ÀÞûÑ¿÷#ûÒï¨ÙB`}KI§ÄgC -o †P¦ôlswÐößá F=²ÇŒ£ýÔ·¸ ÇžÈ]±¥Çp·V„È@ãì9`17ã_2@;p\Úzô—rdå0þ/[ ½ÿM½Òë /€;Õj€]="þx-í %͉ÿu|ЙÂzFv7gÇ¿çi‡ñÒŠžÇ -¦<ÝÇ X}„ù*^Y’O<ªoæâù ¤ƒaM^ƒµÎfÎL€ÎDÔA°5??cqbE³ö/3 -J$+®ÄÂ2¦*ŸÌŽ[Ø%¹0„b Fü_º2«u‰)vMðãÖØ¥º €€)0j±'Ã!€A÷êÿϸDž‚rONb• -`º6:41[b«=K¾¹9ÿP!ý,dt1+9´‹—Í:„,ëµÑ) }¤”œEŸD¹@óäé¸0€$*°7pèŽìÏ(ïŸ5×ô`—âA²h’}[ð]mÐ>Mzoœ,^ÙžLÉ[¥÷ýzK$hÚð•’ÇÛ‚ÿ¯¤)œš(în¬›ë?wïš`Ýž:7ÂÁfû‰A* çÔØØµõ›èý›cìW0Æ…÷<é?Æ:A5AÿAƒ3|‚ö#p/íBmÙfFM:Ð?ÀŽ¿°Á–s•åe:¬|TPkPc€Äײױçlüru­úñõÅ‘Õ5Ô¯ýÃÒ?p$À56*Tñ•…\¹´°H€b[×?(¿…åÒòÒƒ¥¥·Ö––¯.®-—Y+½µ¼Võ£Š¢O`±º J¨./^][ühù™ÀààY6ÃÜl<ÍŽþ÷Þû×_ï'?ÿÓð«üÕ?þýWò“?þÑ¿ÿãQ|À €;|ÀêP„ˆiwþý -fh€(Yúm7ÐöOy,àÔ©#_AÌä€bÄe‘ ›ˆðËržñ³»ô€ú|UyaCJ( È2@OÓ {5 -,_€Z%ÿ³€ ö°@+Àk.Tôîctû¸ÔpÿŽø­y03 %ͽÒ1K~ÂŽqV5`@÷1¼‡Ü`8 ÒNN`Ëß§¹ î»xþx_þ¼= ôJš -‹†ÒYäûD1ÜÎÌJå3§a\gÓ P«Ùc‚gf8v†õ`t§™ÈÀž7D£lJçIbI°èì¨?»£ -µãã°ýUó¾ÕÓß`—Å‹8Ù³/àEóðSÕF3oÀÌñà)ì{W., SP¸@½àäùÚ›îÀn+ùwðJ8 §ðDì#óO²ƒ­Bi*¸_åãŠqÔ¥MC×ò|‹Ã@ä‹ó™ ‡O4ÁõH!i3¹Ã·ßÕmÓ¤ö&R%V;!JÕ&¹vc¿½7¤¶Úœèkšù¾y’`Àú:}îÝ½Ç €õþÄ€•ÊŠq¿`1ôx/€[·Þ—€íÏcgÏV®)³=N^WYµY†ywû -Vãšèƒçù­&TBýÙ¦ªÇb¹ - ¿J_ÿrùÁòÚƒ×~_ËU¯g·OŸ½œôÕPAü`õãŬ•—qÆb… •ÊBvÐBu`Q€=—ߺº¼vuù­5XVW×––ÖÞZZÃ/Cs,Bj,CApHa^Õ,jžju©¼¶ø`m)YàVÓÈ.Óà€Æº¹þÉÆ=ƒzú½÷Þw¾ó#’ÿÿéÿéŸþñWý3>àGïýñ^ÿ¾qþõ{j`7¨*ãÇg„ˆÕ¸µ-^|6¼¸:¢áè½+Àêßá` €y,Ÿ®3i¥ç&€òàKýã»D†f²@R¤bR á0›^L™å&¿Z©´ƒf3_]{¶DMT-<@ìpDüyPü¶N,0W*ZrÛ=µOÊÛ†[e>Œº¨{@Î=ÑG]._MôXÆ•CÚ³Z{vÆ ë>M1¶†=ø$àŸÆÄlDbœ)æûNœ°^€¤2òY­tf”ãÞcš*AlÍÿAܳ?JÇÖMð€òfh`X›ÍOM4<Ù祰^˜°ñ‚D…)ÈS ‘K…8µ7ãiÞ˜œ„/ÂðŸ“(RÔµÒEkS*yý‰:ø[1ÀèßÕ±›Í3 í¢…Q Gƒ:öcU’A 1x)(ˆÙú„Knó-Qâ7¬ÌÖp¬/_ tfñAªÇ¥ˆP´Ùr‡-;ÀÓíDSv¾&ì–'çÊ•Émg¾{Gê—‰[ÒÖÐX~­ça,ÍÐ â.ŸðÉ£{7ÿ'‚ukÔpjLA€0ïÜ€ñOÀ>=¬¬Œæøwã_àH@Ø—Ñ~¤X`³AË«žÖIøÓ/²*­r8žUþ‡:åÁòê[‹ÿ°\©\gl_•¦yT½HO?ÀG~P&õãÇF]•-ð ÃYhTà#Hœ…>(/Ãè—€+2YƒX¼º¼D¶§×Ÿ=ª–`¡pXáE‹KË‹¡4¬éÈ(m^fç·¾ÎÜÈÙ‘›Po.,Øï;ï½§4ÿÿû¯þ øGºØð×qÐøŸ€<€ôÿÌ€$çîο`î˜ó»fkVÊÇPU0³çmĘ)ËßAOÔ t£¡«€”€Ñ%dLB€ñ)ê@ZÅ«k‹jkø>5Àƒ9ðéIý{ìŒà¥ð6¬'mér™ô讟´nŽÐ Ð9€ÍýŠPŽ\M€jìÀŸ€¸@ûWæˆnts €JÆ×Ë’DYR]2‹ÁŽ“ì[?ÛÑáôDæ\éSÛ aþèH;?§(@{Dn„¹ú¼ûxR Fgë^‡lcÈcOwfØÐäÍû…Ò§Æ£IL©1€¤s*KzóWj -Í)ói€ç'‘ß =؇̩AÎŒ^ªûƒŠ!f`ËëS¢„$ûé`¶QtŽ[°£äuz>…°’+¡µ5XAKS¸X ©P‹žu(&ï"Wòùs}½r„ŒØBæ®bþ³ÀX/I³íx%B´ín>#±·9E›3b$òäjc‹ð=Éçû'wJ׉ƒZmT(íçì˜@w9ÐÆ£„`›ªƒü/ú'ÎŽÁzgÀ:û Ù±ûˆÀŸ^ - ª²L4zTl<€íGHJ€jt~ó ù°Nå#P{²V®,WײUË«¨‚`',±Æ@m‚a5WaO=6øc™«<ÀÎ>‚xÀP}TkHZE ð$c†ª•2sD]R~€ês ´“~méÁcP¿¬AUp$À·ÖÊ<.?Àr$]@¬-³E鄨OF›‰MgÏæV®Åïíå_9ýÿã'ÿÿÓ?ýJßÿ¿ç¬Ï€õ÷é0Ÿ€Sâ3€äÛxk ¸sudùwsV žÝìNñÃñ¢5¢«Úd´Ÿš[ÅÎUâqHà‘ÈÐLô÷èçG@š@4ŠT-cHêq @Ò€§“~z„'Ú“@Ÿ„?q¹R÷,/#¯¤@ŒJ°ðæÀßn§Àoø¼.×›=ºi¼m¸eY”F÷…õŒ$dxëÖ”>€ö€DØ"Q³Óàc+ òØMšcl 3=ꪛ­'†sÛÛ›õ­¿Û®MžèËkµéÚgµp®öxë³Z­ðêèLá0¼_۪ݯoýò¿}þ¤öf8ÿdk{¶2˜lvö‡[Oë? ±nýŸõÍúg››5žQǵ'õOK£×6y±í§ÛÛxÕ° -–œ½ÿ).ìï×K…Bˆ[ÿy{ëqýq­Vût+¬moÕ¶ÿYͲ‚þöPa>S -obõ3d\›ÏçÇ'ÃÚç8Ÿ¯ííz­”-Ì2ûûµm”¼þ÷ÿíïTòúÖv}n¥…x ëO·j(yÖÿk½¶ù¤Ž’C äuqvtjþÉfíñæ&îJ®Ý!DKøébÎaí?ñqÀÿ”ÀAì©à·¶0û#øÊçÏŸ8‘ÂûÁD)d*,ˆˆípÚKñf´iGR¬ÙX·5¬û{3yè=Fóv̹‘µ#½4óUwìDtÌÞ;¡‰òS3^æHχiný¬Z£€ß>Ë À[dzÔ0rã6›öü ùÓÄšÄ.ùï#l<€HØ+&~_g•ÇÿèŽ×2XXcE»Àöý\yuym¶<ê - -ê hìÅeÙ š«^çòÁâGË#¹êÇ–~ð ¼¼úuIu 5 e€Ã0aÅ ,C'd®WaY¼…úç×þð‹àü?\zkm÷ƒe°|yñ­Õe†¬¡Ê…"X\FaøL¢EŽRÒXíqß(ØÈÍ;PÔ¤~N?û+5ÿÃü'ÿÿ³)€Ÿýä=ãÿ÷dÿ¯ßáØþ[à–ä³ÂÉ|€¹îΈã?åðq,€ØÅq¿R{9‘ÙÒ=d/¼"€Ç¸ ±ö~B¸ÀhÚêó5þ-yaa‡À}ø]3Åà0~]{LDNô´ò¼ÅN²³Àt t®þuŠpÅ'àÍÂËÊ{xÓvÆ€½£õT >‹ `å– Üðà>¹hò¨|‚Åà#aV €§âé±P @kÀj.Ò¸úpy€mÜP €Õ‘+%!Ïu”ÔϾ/s.Ÿ/&ø¾R0uih´P˜½T*\ ,RÐUw¸RÌ¡€µRiê~ø]Ùí³³ØWšÍbï«ÿ×OÁÃýŒ˜šÂn]¢P¸t ÉJ—^eÅâß,Û‰Bi¢4…·‰KWÁ9¥ÙÙWF' -—ˆPîC_êÍàLTÉ‘ÇTXzõÌè%æ9q %Ÿ(È §«ä~™ÙRá÷Ø1%A`%¿ŒýS³?ÄòÕKVòÙY”| -I+*9ò˜*É`_±ÄÞ‰¶àÒ²ÖsŒKº‹…sùL¦¯ï垣/gгµ3£¥KÈ‚ÙN‡N„Ñ»`û…h#yÄ×ãèÐzüÀÎí“;tV#mj‡¯Ò‡ÒÇÙ'6¢CöÞ 6”_›™•þ=«ö#Ü» þ€¸½òN4Ñ¢rœ>ÅöUÇÙkl=øà“õ±à[ ×~—sÂ;ÿböΪËèÛ @Fþ‘ `ÛÃboÖHHáTQSgËË•¹å*ÿ}òÚâÔϪ8xïjEƒôV  ª´¼ö We `ŽÙRÍ1° Kò­V¾?0Â&€·––Ö®®ý!}W€ö—èç_^zki9·„Ú6·%±\FõÄ @)T¼‹–ìâX„}ß #ƒ¸ýgGpçÞð¿ÿËø?Òÿ—ùÿÏÿôÏ øÑwÄÿlßú&ÀõЫ#{ €'ŠÖ:ž’B ~£ýŒ@.¢ÿ™5Q8i%縀\æ10©@“ZD¡Ÿ•à‡Å†È€ƒ*‡=ÆÐ° AŸFlß0ŸHŸVCðïÂü ú9Ì @äPàî*€Hxéýi-<˜mшàÔäp`w¥×Íea=' O£€Htð°ÓŸƒ1 Ø{xª”@1m<¸¤•Ã9H®áuµüZ$úÏFÓ™ÑÌhæÌ¹3™¡ÞžC/:t´§÷•—‡„W´ÊhåL&“öÌè™3XÇ"“ÒÞ«C£g2çF3™3gü„(ý«ZŽâä8€$£CßÌ )`©‘¿ª]™¡38}ôÌ«C¯Úµ‡z_éíµò¯`Y }(ö ‡z°öro¯—Ü0:ô*>¡Òêú¸øÀ*¶¼ä¸<Ò ¥Š„ËŸ³ô\žË`Öåøùpx4óM”/Æ«üÐÉøl™¡oråÇ=ôÂWzzQèWQ$Ü"]?“16ÄuÑ»ÁÄGâcZš6[œÜ@¼³ùP«Ä1xVã¸mÉKÙq_mÚ¸'µ¯±Õ”²@ô˜ZÏ·×7hò'qWA€7ÖoÄp뀠Eöï9õÛzðúMzÆp#áÚïr²ÚÓyŸ5ƒ¿ ú/²RèÜþ_Ð?·Å+7Œ -æ#äŠ a‘å`¼YÖP¹ÅkË——ÝW*´Œ*ß_¬~„šôœ½^}ðñòÚ?äh3”ËkÐÈõÚÀÀaš‚å…ìÀB5·ÊAW«åKË4ð—–¯¢J}P^{kyULüÅ·®BTËkì)XYZæÓ…aݰEuquƒû;A«=βàÙœz¨{úÆÿ¿úǤÿôÿOÿü?¨Hþ‡F°¯ýƒ{ 溌p£¹ ¢c»ð/Ã`nYáQj¼v9)¬þ”Àb{ºò袜¸ðƒ#Ñ'–Q Ù /óäâ€òU¾áçëôåüêº÷Ä ×ÙP†‚erü)Èhµ­€gù_‰Í 9ö¬Ý–hå€0€ÐÎÀJj –Ö>*ìbcG eWPJ¶ Z @+{\Lr¡ c°à‡jëhÝiö`Y@z¸Ÿ±à5€òTä°Úgƒ°XÈõh_&?Å'îE˜Å¥ V,^º44K;x6¼bmßµÙð¾þµ°Æf€Ù°VŸÿîì¥ß«ÏÎÖêHˆ]Ö¼NËYçÌÔþ~ × Í6ÿ ®½³£SØæ8À¡¬ÿ`V¦6ö)Ñýú§S—^ªÓ?Rˆ/²1@ðAIQl޲”ðè¶™¿U‚¥ý:JÎAˆB>Ž0ø}® µû!ŠðÝi”¼ve¶4ú¯ØS8û]+ùløt[ï³`Íý³gfQ⢆ ¢¯Â>>´>FÞÿÁ¥3¥zI΄ËÅ > ·… 3â©ac$@q]ôîhÀª½ûÎRû´áð]1Zí#ÚíxH®'a»y4y¸isÇqîñ•.#)À8?;²s @L`?`ío`õ*ëŸã |0ÖðìöGÄß^Õ&ÿ~¨`í‡7¹YéÄ”ßÔ þ÷Z£ú‡+ÑΠ±¶Àáz—Qs,çèX|ŠÎ1ê…X]ƒÙðàúòPT–«ÙjuõãµåÖ(@ÿ©~W €Æ¨d86àÂj6w}•–ãÿ Pa…Áÿ …%LªG9> òG«㢠|ñƒµ5~ÌN€fë4PdÙ _Ýû묃þ©~æíÿÿ$ÿÿ?ÿÿù?ÿÇÿðF=X¤€¿‹ ýße Àn,ÍãxuLÖÞ`{vC ¨ò»gääÏ7'­äÜäP ÈŠ1´©!N|Ù^­<$Qy1 @Rb@°I°P!5â¶Ï WÛyøGŠPŽ<œñQ| Š€V(äõZÎ×í=¢¬¨ Àn&vós°0€9N(p -kŸ€e;!í` c¢^~CZĘh 2²D c€rΡëõÍZ8‡WP §Ùc­x!^»OöAá5U*=­…á•Z­¶õùÖfíóùM†ÌÕ7ësµ_>©mrkóIX*@|Zg+ùæßÔHþ? kµúãíÍÚü“_>!×Âû`J°.Öê[¥ÑÙú}6·× %¶¶7Ù€®°Bœ‹SqíOKg~ÌfÿYFÖó)zØêGÙêuœ7?=S›Çv¾ïxÙ†Å"ÛåÉÚ÷k³Èjâ÷J?§vA)¶ž~^Ÿß®1º!D‰Ãù§[7ëVòàÌìýY”ã1î/ËóççkµÏQ Íÿ¶Þ¿¼©M®Ô3³úv0:¥•ü?n×?­ÍÕPH1û•Úý`zú>>\m~^})¦K|ÎîíD·è³'[[õÍãÎu &÷sW -‰JÃwÆhq.¥NÑ6ÀõÄF´âï%2ø¡Å¶¯EH¤àj'øœølóä„ÁFzšZîb†xøhýöÍh2ã߯ 0úg ÏØøäÞú55Q+àÆÿ}ÓíŽoJüYC`Æ’ÿ@BÿFV´F÷„‘$Üþ·ZºʃÃì8{…R"WA ȇòÂR(g——¬¢®XE¥,Ÿ<ì]|PÅ$ø¨‚ŠøØ—[]]äX?×WWPgËà ¶`5;˜cCÁZvduY\ÎØÔ«oq€ò*耜ÿÖ²bÙ€%ätªšŠ‚×p…¨3V;Œp$€ö/Tuc7ïÙˆ¾·4Öøÿ¿ÿJ ¤ -àõPò¿ €»ïx¯ÁÿX7v‚óæ.ØyÌÍ윈…]NгR€T 3ÁNKÙ -<…YØ[ûþŒLà€XÈ@€Œ îàŒÝ=`»Xð$]¥RáÓ§ð×`’N1<-þñYtÿCзq¨Zõ ˜™ÈŽï"~£:Î ³þr­bXZ~öÀ+ºƒ¸V>€¥,€|Š=Äøåp°3ÛKQ/€´ÀCmäp°G€ Cgÿyõqƒ-Ï;ª§°'›,lpíl81Ôy¼4k½eºú @Á–³†ó[…3¥ÙÒ4£ë¹ -?~\«=ÞD6Øk¿a:Ü.[>öÞåä1$´¶ú° • MØóO1,}jà÷A°“ö ºø»,6^$bØá¥K¥ÿ' ù©àŠJ=£NŠ¡ù[ÿ‡­ÒP‰Òûl€à² -3~ßÜœ fxUí'&‘ñ6Ç6š³;ÀN º)èàÙõ SkŒþ¾Å^ßBqvã&6{@†öaÇ~OÝ@r¯Öð½Ž{ žTo)DÇ’hÚ§ ßáˆ÷Dvd•Ü¡ ÚÜÐÙ³é @ëx÷Þ‡t<Úh4ÒËö7мúm§Ç°ñèÞúMzÿÇäØóÓ€Hʨ ¨XUñ_ˆ7V ú'¢úÓÿÑ|å\DüßN,€ÿ+¹ØT¹a°ïrn¹ÊnxUÔ ‹Ë²à~šX`f -€¥Õ¨Mª•…jî#lœcø_¹}€7Öð M°GP,JQ^ãØ?eŽøó‡‹KÊ×P|˜P•å·ÊW!pe67¬Q n“Mð`â¡3Î*p£í+öÜÙø€w•ÃÿòþúWÿøÿQ￘ÿÿçÿüçfO€Ÿ±“ÀŸüägüÖ?Üøž®:œ!;£·F0†õ €ÇIR»Ì½ÓÀ8ï œ:çæ¥ã›1VjŽ[LÈà1²dSÐRÜ `1á¨ìðDà*˜“ôDÈÅPe&@5™Ì‡:UíÀO„28œÖ?'0n®j!«kŒxmòXòjô s -(:?@[oo•aIl±³büÇdaXA)ð1|€–üy®ÒóOÈà ½¬¨Ó‚y쎸ÀN±€–Ž`eÄ=øžXh÷Ð)Bi"Èe“ãÇ_‚]i,@±-øªVÊÌ~fCݺÊ=&ç3‡ŸpxìÜæÐû´Òµ \œ `&$ãðñLß`—1»:Ô‡[Áh8âÁÔeùü †b©ÍÙ`ë~†O*Ñ…0öNmãE•˜O1†‰Ý€ÆÐýáã©KƒYq\€¹p†Ï(ÿ«3âÌ7Xr %a:œ/Ââg_Hœë‹ÖyPüÌ<…àÛå`ÉY8¶@\Áá3<“ÅVàWãUƒG4 -@b(àˆ í½‰ýž>BbŸV›`Gˆ¦Í¾[‡Shµ3:ÁÁMÁ·w ý‘4<›–pªo³9s§Áq Ýìÿu5œ:Mç¿D@³à²«Ð°âÍÝCC¯AUs²r€È)~ŸÐÿ‘Cë&€˜ÿÛ €ÊÀ+›ØÈÕ!¹ŸÖ>LzûZù#TÙÅ,ꪦŒ µ««¹åë¨y?^]]û8Í Zo.PCWQ­Ñ°šY\ͽµ¸ºöÖ"à -aW=@í Ë%Xÿè*¥Ç ªÏPQr°Í 3héï4üãŒÇ”@ü~GOø:`ÿ³@ƒÿð+{0àO~ò3 Ž˜ö‰ÛB½+K+ì{Ûê~Ò®™ T f¼;^|ñˆEpO‡¬tªf%ÂïÁY,Zz F$3©>S<~Qd2ü®ˆv€J2 )úÁW’€j³€?](X¦ÀÏÏb W»ò\õ&È |–eÙÿX\§«Ê=ø9ªiJ`fäþ޽ZÄø]£×Å;7“‘+È‘ÀA\ag €}p÷¸ EÀ9&Ú{`CZ € œ{, ¥`9'SÀÕé@Ù¸‘ö¼öZä ôS¿ÔwBÀÁgfçœä¯œ¤`ðü¦ž²S 9êœ:Lé®G&Àæôf8‘¼a¦@zÆ…Á®dV"Á¦·çÌ ƒ‚×ów&Æ‹“ó ñIi—¾cÇúÆé €2Ð%uzX/]b‹{ –\¾ `:˜ž{2Ï’Ïm‡p J?(ü öïKþxz+¨GŸ‹@AŸòñW¨x§|?Ïep¿mÓ0«’çó™oéQ_¥H fôHÅ1õÅDh+i4Üt4vØZ+$b]‹°ã ´Ü•NiÛ€oï@òPûTQ[i5Û;Ç»Û"Pàá˜ß§S ?NŸþíHŒ¹¸sëÅ€ÞqZïöÇYHúX=°BÃÄþ€É8ÂÈßÅ@ƒÿÛ)€2ŸÚW® ^ZÈ•+èÖÊ|.?MpÔ†4ÇaäPA €èÙ‡mqíã -Ÿ&†+€wW…µœLX‹èÎ`í`ùåµÊ">NÔ À@Ò°ØÉ €¤ ŠàM‘ g -€lòIÿ“Åj8/Kõ{ôADMÀd0ÏÑþq„@0_ ÿ`6~a¨þÿØûßฮóÌ•«nY6YCú˜#èË¥Eáf#QáÒÚ¢Ø#¤BS;PÏtƒýG MÓ4•¾v’lsØŒué8±5¥Ý„œ ê&…ðÌ £¹5SŠÏ\'§âHÉL¤{®bebɧnÅNN¾Þ÷ù½ïÚ»whR<ö¹§øîîÞÿÖ^{íîÞëyÞg½kmåhÐÍ 8¼àÏöç ÈùDb'‹›IÉçïí%ïzÓ…,*žƒÚˆüÂä/LŽŒØ¿dr._,—£5}mu9~ÊÚõ—Ò–J`ƺYjÕw¶m»íßw=Þ-$LR†UYذÍÒ{ûKïÒBGþ!6}ö3«>°‚þSŸ_ý¢)«/øtáÂø}†ø|¢X ëÞ ðÒ³Oæ“G3Ö ú]šªàß^ƽ^^§q¯Å•N{ßó·åÿ¬2½Ó„×Óªfþ˪C -9÷•fK·¸Ü˜¶V²íl-KP öµ;Ÿí´«o˃hÕ;Ê¿Ýj>C·AñÚù6-Uy.6€2FS]n‹Ôë­J‡ª^YÖ:YU@Ùv­…‚© -T¦¹Bã?é@€ju]€ö>sSÁÚÍ(“‰c¾öÄÇ>ö±ßüÚóÞ@ðÿ_ücN^½öÂs€çŸç™Îù7Éž -¹“9„ÆP:¨‰ Ùœ6${†2KÒkå[8^i@ú¸ ;iÂâvósY–È+2ÿ4Àð–XHbbÀÿ¼± xR Vš²˜èd»*:h2)H*ŸÒž>H+v˜ß;ÌÏĶ€ |®%:»Eðúø¿%À%€]bô¦ À¾>}¦»•uÍ1ÐY´Óc€ÜžÐWø -œ¸à€ S„l¨ble›À¥p:}m¦ŒRäX›1ð‘ìGÖ°hñ±òcBÓÇ\86{ܬ'ü7(Û,L0x­›)üÚQ6ü£A}q©ûدFKåbn’ÝÚg"}ÃåÛØÿ ‘e†ËÎXúö Ánq¦×#rì<)0¯äˆ÷Ž­ÊºØ£yžþCLæær<­°kºHÀ‡?|üýÄó:µå°†R·ë#Xð#+9ø¿¸ÈPŸ¹ štŒO+¾}Š(m -ÿÛ/ÿ í3Ý Æ¶K¥Ð<H‡‡ïiA×[˜ôçÏ>ðÀììäÝwíß¿ÿ®¢‹ kåÅǼðŽqiP ¶ŒÌ/¨ûz"0€ÿöì®L··jNQªœ*MíJ“è{ Ñì´®¨&VõÃø@<(ˆç6ÚW«ŸCãµÕ¹šMP}¢³ÉõYV å -€*jµYm×Ϋ²jÙðÿ3íf£¥š§mWˆîëñùÛ:ëJM4ÀøªHœ†µv懛°Ã€¯\ºxñ"úØW¿fC€ÿoüßÓäÀÀŸ\ƒõŧž¾ôëO}Æ6ÿ}ÿ´$ƒ÷cìiÀïIðŠ;Qæ4Àª.«!t[jf7&Ž–Å€úþ|âÿXÖ†Kß:áPT—3òÑ—q`¦*u9üt¼' Ÿ ¼gÖ åOÈž@û×Úzëjµ%Pm-W¯ÖÚ  lžWÝY§ÒVÕ0zÏÞѱ±©åÌTõ|U´ ³ÜnTVí•f¥#àÏ -åuŠ• - Žª—äj­ÐÈZi7èP)¨QçqÍÍZ§)ê°«œjã‚Ú àù¯ÑËϺ¼úÚŸ½ñúë†ü0€ï}÷¯ŒüÙ«(pñB_ÑduµÈÛ`Ó7Ä;¶'°ƒxÅfë¶`ï~¿/Çoˆ€MáÏvµ)¹‡-Û-ä:Ôü<þ@D[\˜âÿcò§µn¬ÈÀ£èÇð8Ê´`Lçë+‚ö„5yZ'š¦\$ 1· 4àÌüqÙg ;ƬØ1þO ÷ƒs½EØ@á}žÄè•V¸¹Ö8…%3î1~ -@ˆp "pŒ€ ØÕ*[ŸÐð–ßV¼çqèV¦€j¢Ð£õÝñùÙ»?|pvöxÜàžïFa"úrF͉?™†.ˆ4 Ã‹>,•¯G¹IùôÅà°#±jº¾ƒz±ÀCóóy¼ß¨8s¹g0 -pîÇO&9ÑüÄÜi Y™Ò‹.¿ }Œ>¨U­-®ÝXZ3ðáƒ'O.ž4åBn¾5ˆ>ÌO”¶–ÖN4`´VŽTò¹‰RÏ¡ù¤Š¥)¨¬…˜ºíU’GÄ¢h†k5ÀwÀXì%ˆh®PTÀäÈÈÈùG‹‘‘£bwóeM›äv´`öaT¶Þ"¸äì½3¾»… ¶Ë®wa!Žoçé…Ϙ¯·ÅžZ}ú‹OY·ðÄþ÷û8þ‡´€ÿ¿¬yòÙ§]¨5pî]Mª¬Æ³(€”`·¿U)Z rÜ€ êÿÂK½uªdÇÆ©“•/7…ãqø飿­Dào7Th¥bhÚ¢„€´@ÖĈTÃ-a÷Œ‡Å°béd‰ìÒânÝÛÃm1Þ +!0`«Ì8Àð¾/> ^"6lSRM ,W`…õœœ8gx€îVn¢¤bZSf -@£fͦè޶CB €E$ -€ÿXÖ €‡¡ŒªÔZq €¬ƒÕB±|}] à„+£XϼÜS˜,•£Š½Ì ¥!%½‹’N`qÉÜyÃxkD0lDÙOdtðÏ^ŒJ36´œÜ…¤zYb âÇ6ŠsÏÙå û`nö&gÁWÑ„r§Ž€¿í&/Ÿè„âda©¬oÝ”ÅI|‰Føê•—r“ë$”CðMùÌt *E‚èJ '‹PžèљҗÉMÁÓǨԅê0dÀM,àüP³€é³«—Ùá…^xî¹çž¿öêë(¯¿áÀw¿÷}8ø/ =b_ûê¿ù›.¤g…`b2ñãe<·…$¶8h‚y@ßåþ¾«[¼òгŒWíÅÚc'i¬p$fý];%"›07`« T©8@ûõgåOë@X¢¶)ÇR¿°å` ‰п ¯ÔP9wVjÐbä¯iñR輤WÎý^ÂÚÝ@P`­veˆÐL) pë1a2`àÏ”V(«¯.VÆÙÏñEÈ ä[dÀØ) &Ü|ƒ -€#AÀz *|¯}€§A>’Íåçæ@Ëâbw³‰|˜Ç -³rA²ºÏi¹(4g~’8ù²0ti‰(zâÚ×¢ÜÞRv{]l0‚ ÈäþOò Ÿrq¦Ø=m{æi4(àÿsjÀÖ­àû4@ Y˜Ëå½®/RS¹m0Ì›#­ãrX¼¹ÝZJ²4 +¶1>Q²¾›Ý, X>Ô.=ýôN -ÀÓÚõE€§ûæ -€šà`Ü€X àïÊZ¡^ЛSf€êË€é  ÛPÕ @hØŠÿÜ·vo±ê˜|U/±P©7:òÔxîï”üÕºñåèªkN£M’ÎÕÚ•L§Ýi·²õ–ªºêÎV}YUÄáà€e•^ UÏÔÛ+gÚMÕNåÐVÓÎj®úWulжÖá9gG@³aè4tÎ]-àüP³€iz>yñâµk×^xž‡úÀ&|÷{2kp €0@âŸxâ7ˆ$ bnØêi³ØâEKà«Ij»¯ø `O@û¾i//ír#—ø•Z±÷ÎÆ¡ö!Í[·ZÈmˆ¥N¢wøÃ¤M*¡µU÷ßcÈøYÚÏ_U+ýµjµXÐæå! -€þ³©€ÆŠ>ú`H ™3J5"˜™Åè4‰ÀFI3VØ‚ÀÚb€^€€Xäé`A€¦À¿§^¶à16퀠™A;¬°€¯$ަh‹l[ @[Ný'u]Ö  Q«3PˆpÎÇ *V†¸€}}AëÏ­¯[Ét þ½LOsù¹\$_»»~ò˜Pê Ûb’-nÌC¼-]~.íÚ¨â‹ÚÆÀ:Kå½Væ!»¹† ¢ç @ðD -FñëC”?®½eD†ÑüŒ0$#¹¥åAA}È}±4‘ïÍ?h ŽûiÁð?—ωóÝ|~qäóǭsÁÉ“p9ï(þ½G'Š<ÜO ‰ž¶eU¤Ô‹eÿš¨ û-XãåæÌvªØÈ׊“”é:%/Î$m ^r$h€Qu's }@v¢TÇþ¢\y%d@î§d·ÈïÖû8ã8ûxÃn§»Õ²|q7Ä?µ•‘ÇÖê´:ÔÈu”yU>͆jëN“0r«Smu:ígD êôh¶ÚÍåL}Œ^£:-õµjb”°¶¢£Œó£:S ÊÑ4Ì&+m•8ËÓ€Eš*¾ªzZgÝÕŽê ÞeªŽáÛ·aŒ`¯¾úú«Æ(@éê¿À÷iøË(€ðÄ… `ÿàÁà1m1ÜXš……@- K†æ€?:¿#;ó°Ø7HAØÄQññaŠ_ZÞÉHÚ›”;™% ˲ÁT–…Äw„ª=mt0vjB†j6ן@ -€þZIPD‡)úíÓ -€>ú ¥Ð2€ƒº‡0Æ>7ÀIÚ~ €6©$A°³Ú__æ -€·$ -€Œ&€ ! -ÀJSçU~\üG¦¦´]û0üjSìþ:€•&ÚÖÒ -÷£Áy B2îmwJi9À¦¸€ÁŽÀ†ùÛÀ­­«2À®Œo8(hq ‘¿I/}ß:eÜ €Ó«Äúè§òZÄʈ $J#ý…ÿsBòNFÅÜ›*Œ -»Š ‹ Ýâáhƒ€@Aw’µˆü«À¹¼Ñ+óݹ\¿› XŒ€yÇkMßÐÑ w£¨0Å©(kƒ›dÝîd¡k¤| ]•Πsîx.?'P<±8;rð¸)*õƒ:¿NSÐ1Q¯4S¢l@µŠ€À2§VÉ…üëëåòâZ/?#F h2N•â.óÈ:Dþ–ïYZ,'J–Væé4é}êrºw8·a_…etœ¢-þ…+w˜€¦r?-»E̽%Kç€Ø¶®ïd·JBe¾³ö;ØÓ«_\¥ xÿÀúoÀzÞ€'!—V?1}äH• À#Ó¡ƒÁ-&Óͧۊwe™@€DPÁ}Ç} T#âÇ ÿ?u‰íQ±mʪ‚iYÁ²\&1ùjƒh?ù*ÊÌ}ŠÎÏ16:øˆ¶pqBÿ1jÌàH `6*öOÏÓ?yÂÐ_.±f ÂéIï7ˆ ÉÇR·lð_Ž×‰ÿª{*×µ®{n{2TÌA‘‡ò’üpžà©•Bû[32)€ã½ÒļEZ›„°{Ñäúó¤]ÚŠùîñƒûGfq¬($ã$ýˆÅ?õh¥`S@šE7%‰¥ž.ÐbÜ(†Œ/†S¬s)6^Gžv!Ð0\Yüõp\TšœÛàôÖ”ãÇŽˆ\±ø‹ _äfÈýCìVô'l»bþOˆìÔ Ð4„7k ‘x €7ô€Õ³G3€Ð‘Ìø»#àÿ VÀÑ‘Y÷f³fŒ ¨ 0€AÿÏȶeØfcSÙe*¯ZuJ˜+O ¥ªzŠ‘y¿ ÐW[®UÅÚr!Ï´íÎ3‚þo·„íÏtšW²WPªÒû@¸Ç€lf¹Òl{h®Ø³~jY¥jU÷ת¢þL`…‡àYáá0*!4.ìfiw§‰€2ÓŸXý -À×Ávùù0€¿²Àï}÷ûßýo!ð/ÿ -Ð'2büw`Ø -z‚& n¶äÀ©—¯Ø")³íz¿©ÿfF¬ ÀóêèËi‹×<±¥÷Y0-ÜÿûG'f[Ùmó;†)èÙ"ƒ©Qþ“ú³Ú_XÓŒß_Ò`§Zk5+SÃýR -€ ¨ñ Zî`(§$ÕiX)#Ò SÂ]àŸ"¦ Ãc õ¹@Îò0`[ @PnàEÒ„ -ie‡ˆŠ0ÆlÝ -@`Àx@ ±Àå& -3‹à{ÖEŽXåpWD’€J¦V•K`?TM%ÐoÙHº -íUb8C{M@„Ø“ÀGGrù¶)ÊC¤äjÓÄM,Ÿ|æùÃ֌ʬE]@_–o@W¸¶^ÈuF%~ ‚·ßev¬Á'0]#€-Ø<½ƒmgšt7ŠwµÑöCü!ä“…ƒëE÷ï?~Ì›h]ààyJ=T"Ø †v³…h©W^ò’ÓQ.Û°>1uQi„€Ñ¾}Ýv..F( -‹½hRE‹Muü¦Ô‹G`;jJþ¸À¬?ÌÀ  ÷±ÿ}€°°‹ýDÀíÿ. <½úŧåH~1žV-ðß?\ð6€@ 49$'t¨ÐO[7j[4€:5˜3îF݆ñ[–Æ¥ [evÄàD-S‡âH…Ò'O¾NÿJ}J¾ÙŠ\…v-&#œ¯µªv­ýÌ•Zísß¾"0ï´ÛW3çëÍl«®Š£ÕRA50ªŠ`,3ÍT, Qõ!0®j©Òlãñ·Ûöø«Vñ­j-—µ?k}Ðþ©àT»vn¡ €‹ÝÞC™£Ÿºxé Ÿ¸ÀŸýYPäýÿ{oÿíï#X K<p@ˆ)@€Ö-fH:Ù/ÙÆ°é  õ] -þOžÈçgi@J wÿÎeäþAö³!?5 •ù0Û©À–é’œÿXÀÿ÷€}÷=j@>å -£Ñe¤áiQ €4HÅԨŬžÕnJnSjƒz6ÿV]˜Õ:~lÚt<Âêò²|ue>E €w~¦Új›NßVÕB]7µ,ÿ©°Õ¹Zm×EšÍ+ßî\4ÈóYn5Ûõeå8… “[ÉšÕúyÕò(¨ÙF'«êµQ³&PÕJ-+ï°Á¸fÖPF}F­ÚZqìn‚y8Öз+°zíëÞ𪠴ÐúÿýïŠ|ßÀ_%Ãõ‰ßüêûå‰èLð5gÈ$SPjl»m3KdËÁ<…À’Ëþ¶ô®-äçyŧ`5˜ç›Ú c•v22!±/Þ±zY/¡ vO&ÓÖOnK´²*ò§Ošµ%2˜!¶ƒ'ÿÃf뎠 -ŠP=ßW”8‰°Áh@œ(Â,¬ReH nÃvpU;k)`žjH¬UK&ÓŸ/(•D°”n"}ºж&S¬ @‚þ·À˜3*ïx®ðµmi×L9IKN àtw˜À1*‚H§¯ÀB @u¬ê1ì "î·}C håÓè—ªLÉûGÅP9(ŒÎר¨˜Ge%ì­ê›î›4f„ºø7(ÉgÉ#S nå´Æ}êŠQ @¸ º-D Ì(À½ëë‹‹ZÓÁh¹œ›ù†0Ò`R†@½2g•x8¹É±ýÑâZ´¸9@œ‚ùÃÄìÍ£ß.=4Wò¦uewÒ37`Þ"0;y÷ÈÈþõ½Ûº~ß,4"À7'#`ttf@84oH:›?6‚‰h»<Õb©xÅax -ƒykMÆ¢è:ãéÍx€Á ²€¹0¯þ„POHÈ"P[\|Äš„¢¶[†Pê,ˆŠ /æäG«(ÆFNÒ¬/ Mɰ‡æy‚A\§*í©’üï~ Vv+9ä%Šºå¥ò—ç&‹„/êaôaŽ–‹YdíA1]¤ò/v»3—“ÔÅÂÃ"q/‡ØJÝð0 ìÄ #",Ú½ø‰*ÿ;¶Ÿ -Ø©ÀÓ«—VEB ì@ùû -Csü³Ï®ž?ËPÀàÿøô‘0ŒßÍúcmª¯% ù±@¤UŠ`0ü£:xþžÆÿÑ[ÌngÕ(^‰êè–ü½ZÙeºZgýN¶ÒÒZäA´T‡\m¶ªNëÛM‘€«9ïu¹õÄNéœ*%õ€^Ô •óxÙj»©´ëªÎíÔÎ÷ßÈêç_oÜÕH3":©6š(¬š¨!P _Ä03˜¯}G½Vþ/<ÿ€)oïû-,~÷»ÿ5€ßˆc€£f©/Rºt:n†EÛëé¶<â=xü»b}:`çæ¥bŠ%+gÚ|ƒÒ†Žy[L3PÊ`)³'# ¦ëO)fi¡¥D«kÿ ©ÿ¥8!›ˆãŠÆ¥ŠH¶ -ºªxÙPD!˜Á¸8$ÿÑ èL‰€jÙa÷ˆa;%A€ZN)ì -@®Ð €>±Ðúœ7ô€? `Dv`jжªm1\E0@| -À. Å9”Sß“¾¨~ Œ$ް(€˜èÛKz¢ãJ+úÆû -ß?KâècÕl§‰ÌW'*){MÈO­¢¶·å(OÍ>²™6í$Ü ”Ý#Їüyë?·=Ô_À€Èœ}`VøÜwk·6+ö^œìõé¸O…ŸŽûô¥g­•ËÝ\Î"Œ`ŽÒ@Èoü±ÅH<¡¸¤íÝnnÓ6-ø“õYòfŠ|¯tЧô‘‰²R¹bØ%çÜ/Ór‘ω|pÿìI!zФW¾ˆÇõOõ6¢¨·—œâ©Ä¢0*¹_A¹ÜëGD9Æ…à ?älËyéߊ®’3† V£ß™yÉöÚóã>މQÈ4Èù‡½88xœ<¡/I,@¹Û6ÜBeþ®,VRæ½YG‹T¾²zx"~šÀß̶¹ùýÇËj”  2ª gÚGõÈ­lÊ&Î/ü÷Ú*m1}aörçUåµÕ²‚ñvµ%G o¼Ñ¬6 -¸UkU§ˆô¯¶ZÓÂ}€+ío7Û­«W:T4ÙV½~¾ÞV® -Á RoÕ[*R[ÐO7¯3ív–G«<ò?šÙ¦ê`\~€x@åL£ÑVýpÄ` ´«MOŸ…è‹Þñ(Œl½žcxûodßÿþ÷þÛwõþÞ÷èð—¯ûHÏ}õ‰¯z €$ <ŒñrY /ÃÜ–l1n?!6x0PÐ;e{5Ó¢=É7Ù°ƒÙIúç8µ¯¸äJ=p`l™ó_alŒ²Ë£™)!“–üoÈL¦uý–ÀS ;&Y‹ú3² ß[A 0©ˆ]4]ñŸà¿¬Cn ÔužXP¾Äªê^¨g—§‰°A&PòÛÀ €mSYô7•í¤ÐÀ)?¸¯ò(²6ü€…’æEcº!:Ë. -€§7hM¦Ä_ ¬¯˜ï+ä€X°HCP Yý/U³17Ð:ßØÓ˜œyî1c0¢ŸÔL´ß@þkŠÄd²ªªUÍíû¢¼¦J ÷h5Ý3 -°€„ܳGSWÖëýŽ=/¯Äh5³E\éŨ×+ó½ar…™B¯u{kåîÚïm^×!ë›Ýµµu½„ªÝëÝhsýz·xêT±×ëv767´ó•ÍM%Œw£^ןǧåu­^ß\ëF‚ó¥Ü+‹‹ÖÃ`£§xlŸ’/©Dqº¤# -EÝÍ !ïÉbY¹[–ä¥-K/öz€5 à󊺊®ƒ£Ódõ[Ýn¡Pèö––zk:nã}–×6¯__{i­J^^ßX»^ÔnhçÆæzoãÆ@É_ „CW¿Ñ]êuo¨*y´9³•µØEosÓhLI—¡ãÖXd-Ÿ+]Þ°’‹åõr1lDð¯TÝnérïwz—#¦r·m¸…Ê|¸mL€”10F A€ÎÂÀV/= 82=}dœfèwѰ9ú®ϪåABµ²XMQ­eêÙÚè˜ÅG…:X‚ùÿ;€¬¸‚îqªÒN‰5Èéo-·²-‘á¦UI·ðÉ›"<Ê¿Ó1`þ¶êJ€jë¼’×Åtbl*ù"ÚY­Ó hWÍ´2Õ¶ñKlEkª‡U•Bèo  ¤T­D „†]ÌÖ.¦&“áiÀA¸ö<|íµ×ßxãíwœ à¿}ÿm{  Ïzâ7\ø< ÇH¦ è ‹n­}ó#ml€(ÀNÖ?*6êØØ©½$õ†ž·£¿>MqHJ›ŸÂÊÆüŽ;¨äzŸj_ fÍÑŒþz ƒ†6ù?’_i þÿôIDATýÏjôÔ¿lªR¯0b´]ž2/Oh=Ðç2Q¤òn›ú—[C³Ž&òO'°\YX– , n¡p/è›OÄ<¤ ‰`Aí2+™þÝg²•0€@®¿5˜¹Pñ&SVÿöWvŽPQ„—F–´À¬3êb  ØY0‘Ee3 aØmÇTD×;(5¾ -¦[¾BÑô¡©&6P¯Š›´›N ”B5…ùÀàݪ)TP6pr־ƚ -œ©è¼ÀÝåú4ˆ _Ýò{ŒŒŽæÌòss§ -…¹9×Òñy‰}×Vh1ú§¥ûc\Æ€2à3Ü3å¾0“+iUGàìÏÓ*á9ëØÂ¼2’=ZÈæ,D¾×n¾ryfs£W’é¥ÈÒhÍæ*O^ç/ÝÙ†Î{àœÚ•¢RF÷¹|Á ŸËÍNîÿGûFÈ_6a€`B -®³J-‰E”¬Âóè´fœ ³¥Åû(%—Haƒúµì3›§L8ìE¾ˆÂ+½Ia»²26RºÌÞBQ%çKË©à”|¢DuýF®fsÊ›ï"OÆ\ö@@ÿi¡2f#­®2`߬Í_Æ -(ô{òÙgŸ¼€wÊÃhŽdnÕû—ánð7‹o:UƒÔ)±ÄkâöÔÛêŽej -UúTb3¢~ ÿ·3€Š’êÈeÕ¼d¨ÃõìÕÂ-{Z3£ª?^U®ê¼Žªo7ëWD:µV癃ý¨:§^WIÜPÕ¦ú‚ -U1ö¯ÌÚòú+æX5 æ©Ä ±Bh È£þ©ÕµþYz"îjóà ÀÆø‚¼xb^ àõ?{ýï¼ý×€:üÕëI @<€€,Q u Í0°Üa_ߨçxù¶Á¡=Þ†³Ÿ8üšÉû7`ÞÑâóYÊØX÷Ìø ÙÚyL'GË´fÓ€ý̘߹ÀFUû†ü7ï1”Ðßp5à‹8¬öG¬ ùǦ­@Ȧ=ÓBW³ú´˜g­®¿j¶eþˆÏþŸ÷œXª‚~Ú ˆù?Šœ„ûÃnKjÌ#Ú&Dÿa»iØåÅÒ¯?9Œ…§: -ÝW=€‘®¬Ø!ÀÀßþ¬˜!èV­#&v!úA€¶É¿*+’ÎçÀ¼íþÓÙϵ€ïFdÃc€x]›® -×eEY¨Äu¸ŒD£”Π/¹®¢5h—cMN‰å£¯Q!L“®AQQ)ŒˆŽT¼ öÒâØèžQ( -nx(€/Ž -ƒš™ø'Áö}ðƒ3119iG*™½âµí6ïãØ™™ÉôžÐÂÊP¯û'߯ÛŽ7êÌ9æ‡u’Ê©l39/ù?ù9•úŽPÆJ%X=õ]•¥½ÿðCZ?õ•üþ™Ã‡gt^•|Ò^äë%×Ûm[d”Áìð¤ -­2ÏÌLèúUìÃÚ¤œtæp¤å9h”éôÝî»kBe{(§o’âaänÛp •ùpÛ®Xà¿ зD°¶ðßF -ÀWž]5€Àpô·llý±ù­Ç'u -÷³1`;ÑTµY•§¬G |Ô{©+ê´×{×7¢n¤´½µk/)9u£ÙŒD„¨ÌŸ×ñ¢"~243Y§;5Ó-kzA¹€ÿ[Z,¯ñ (¿oÿþ»gExðoŒÅÚ[–âþ<¦§4SذÓxá5‰0€Ò\ -§Kuy˜-ÒüÌð<þv¶˜D…ÉÓEOÁ<ÁP@ô¥¬Â”_ -Å wÛ†›Cú»2}n pôþýîæ*MŸ 03~dú]€Ñÿ²þfMªêݵ) ';znƒú5ÍM -þ÷ýð«ÐÎŽUTÿª¡ÍLÉsÂ7ça`Ùz{…QZÛuÔVBµ+MzgµëU¹Bõæ·ß¨wšFl À -ä -ª>g †¼¢¼D®Täà Î!Ây€f5ÛRÍÃ++Ä-Á1tÁ¡ Ÿ‘ yc»YÀù¡FŒFfðù‹_ýº$ðö3Ç_èùò÷ øõ×_·qþÅ®X À…‹bÃë0ó|–vÄÿ´ê¯·2?ÖÞ)©vÆðAãt»$´Üøðᬘ½/ó2Xa˜ßq‡<þÁ‰‡>' -€P (†0š1D X£7›w娇fzKÀ_…‡F’D Òk#g›3Óð[ûßc–ä›0JÁ??ã!(<¢®sêo® @ŸBî”J¦Bpnл&¸“WÜßf -€pŸ®õA€„€fs%À]¢”Pb-…&€V:`@à*WP¯Y@¢èº¸Üׂd¾+¥eh­1:D^„ÊÊ5Ù¸{|éZ·Ä2»¦†ØŒ])&¦J¡ªŠC•ý{t .[‡¨$Üñö+™Ms?’(€RèPFkäG²¯O7µÒªœx*±){ÒM¦ŒîÕF€WÎ2Ñú]À±ƒ#³Ç -˜!sÁ§rO0Œ·kÃè¡ -à‹¼m'JôèO¬À ¼æ…—…€`§ 2†¼Q&½\ÿérµû¾rI'Å NûHÃ3ð™Ëùxûâ†Û,__,æŒò|hdö„ö’LXn=œØÓ‡ÉžËñb"§ -ÁM¥³|sJëC YÁÉà¥Âd´ŠU„gxÑ *€LB8Ÿ\¶G¢ZâÊÇbÁ¾TXÀ†S†ÛàæFþì©§„#isìç‰@¦pä«"®=¢;þ])º¡À~7Ç~·&7,V­´4†ð¬f3ª“¨dl¸ÓûþÖð+Ðfîòåe*RÕ -ôÖ¢ë|UR펩þ6r® - —Þ @ûJ»#ðINó À6ͪu¬>P­`Ö1u†ìT$¬5VPTÏ («fVïC­Ôš+J jVU¸•KõŸ¼z tòò¿´Ë;àüPKÀÛþäÕ$06#ï¼ý]Æpàc(ƒ2Ñ>ÎújÚl£íÒ´ÕÒø¯)äÕ‘ñ;•=æ9&æͶ$L[œÐ‰ ÔßÎjÆÊÀ[µ­ÌLO™ðŸÏ 0&ÀÔ=Ö ?_ZÀ jÌâ° dÁÄó6æÊ&}ŽéŸ«}NȤ¦ÞuµEŸv¶eÅ4¯¶ßnˆ¬ ŽÿKëŠpŽà»Yjr¢u:ýù¹SÌy'9ˆË ÂÍÀ]ý_u·¡†*FVš_r ã1+îý w,w¢)íR`WA)Å@ÿnùÙu"cÅ¿¹îÁ* -?_…¸O׬¶Ä¸¹ª]79!€Œ°Í½_‰ —®Fß¡^Üù\’NdF¯rÄí­èF场¼ŠÎ?ò´†ÿ ¿N¢œµ•—®ÕÐ~”Æø -<@ߟ)©&üÿ{ì‰8奃Ûô¢‰\wöàݳÇò6àÔ0ÖqïÖÏÁ gCqq#bü¼Øx‚Dw[Ÿà¦õ›cœ!ÒbI Ô?Ná(¼vÖ8Ø2&°<=7c[Ë–p·",.þêb¯åóѾ#ž=Avp—¸ä×C>*2þ¿ör˜òìuOúù6`s¢<ø‡-”< ’$êR˜,½d‰Í,Ÿ˜ŸxɽÔáŒìâ=wø4ÚÅBwñäIšŽŸDiÿ¿ôØf‘ð‹ëÝr·m¸@W&ô_}êó«©¡€¿x‰aÝ4?d”=ûy€/\ø”õ×ç­€¦Æ¨LˆÓI4€š@»ÙªfkWä¸X9B6ðÊVüoÒJØ7UT< GŠê'£Z©bOãyCÊTÕ)„ê ¹‚¤µSi]…4›Wäÿ×ÎC¬î¤nUÝ J&žÜÒáµ+gt5"ýhM ìOÖF”lèE“Ýÿ+ ]†íòJUѰ›œjöëL‹’}AÞû«×¾N7Àk¯þÙ¡ àÿã˜0Q€¦<ÑWäø_¼#}\Ýf!‚ŸÅíø¿EË7—<.i9(É!eÚ–¶Yðê·Û–í‚ó„mØzß è}11xéH¬U~QP ¼a¦Œ™ ÊÇ<€Ì\À´n˜ïžªZ¤£x°Â³iÎ|rLu6 Äè|*è“c^Á)oœÑóD¸È"rU¦¥¬¾ÙìˆTyä$ —]ž^ÕJ«dEæ>7íIì“!.mäYM„¹#hÕ&ž“cÃT§€gV,@E&еÚ˜©@ZȤcÎø|á ’N·§.H|¢B§œ " *G›¦7•€»[¥bT>%©Ÿ§NwpõsÊYPÞjoUM°ù’9¿˜_Š -Ç•è"ÇTƪ¨ƒ¾ÁfËúØê†ÒÑrÝtÆá«¶oÞ¢3"£”–!ÿx¬ˆÃoMÆ‚pϨÁ¿¬Ç`»½h21Z€P4X‚oÉâbñÖº‹›¥ ¢îƒÚ *Ae—_®eÆÓ‚âKç-„~#7SÅì3ÆKå>“¿oð9­ 8îsp+“á?h^\3½$°8—ŠÌ~}­]xKyR„ül)a.娚g’Qn{¡_ÝÃà¿ëqÉ Å¹‰0ö?£ÊÂw"˜×°àk²°Ju¼lð¯C”CO1]òÚº*P¹8N]§º±už&€g²òùY°¡ú¬Â“Èh q¦X}®ð‰ÐÚ¬Ó~)³A!è{UõG»óíÿ[§Ñª.˽jeD¬jV' È:­R4›ÙåFe…nת+=˜Á¿‘½K±•ËÖinr>š±&'Á×”–»Öª.p£ýßat±[š,ZKº0´X0@®3­âÂõ<ƒõ1"¿=k/ºP,D¹e§4@©(*ÿ_k`4[ò‹Äýƒ– ŨW  _8A÷/ÇšýêÒïuOóÌîŸåÜäüháöÖBJŒ½Y‚ çAl•¼Px˜‹QÑbárŽ€G+¹—”˜ÅŠd _\ tIÅïgJ*y>ÀšØU^úU‘˜ò:]7ÈÝ¶áæ•ú»7‚ö›9ü301< pä(1Þ ÐcP>ukfU­^· Ô]PÄ~ªJ`øÿËfèjb6“†æë[vyl9›—S¡Z ¦W•ÖO*^­×s…ºWu¤>jÍÊÕ¶|°NçêU*n½U‘Y/@‚¦0ˆÙ´‰ç-ñ|Ûâ-êm‹üCö?c} ¨žõာVU'`5èÊJûñUg»XÀù¡¦ß'c#ʇ¿@Àó"¯½þæÛï0 €ðÿï`?vð×o3@_ @o‘Ú.<ñ‹?;h§ÍàÛ÷ogƒø¯·2óÙ€Ns­úgl¾Ùl+1HöZB`Üs·ÕÄ,ïpce`ƒ­ÚVæwÞaž¿¿ ûšî1L7Ô`‰¹ãá\ÚÊ€°áf>gÿ^#„6Ð’g £„ÈaÕßN(-y¹ZY#XnÉGï´å8wZmÝÀ¿0u> üä}£Š‹ÌÒ56+¬“‰0Õfý•‡þ|öŠ€øÆXF9˜3/,Jp¦öøãŽ÷Ú  6Çêâ*W„œŸvÒ4ѤAh=Ý5õ¦RèŸ Š6;Sµ–èwgÆ£R0•nÝ^™j‡0t.AµXn]W¥ÛSŒ[ÿÿóˆ†èS)uõºmÑáPáô-a¶.?]ùAtߙ̡ԺªÏíR6ºkŒTêÙ1Ý´M¥æžî4t½ÂZú„˜øˆýH*|JP5ãÀù~/ýà"{ïúù^lï耿\þU R २4SèºàOÔmÑÐ?a1FÝÒDA¼×^®¿¼ÅúóÄ<€KmJ€|þòÌdáQS „©–‰€’O½=wmвŽŒë|N„Ò ô ÅýªÞÑzo1`ÿÈþ»ƒ§M~GHG/»“%¿|ꔂ…ÞîðÓaQ…XðÓ0—܈M>è:ô»!,0³ƒdÌOÛ—aÿt2•B Z?É‹KxðøÉÅ¥¥ˆWY/³r·m¸9œ¿+ó&Q€´!ú€F€Ð Q.­~‚€ÞàPP›Vt_ @•¤LµáB\Ó«ª&§ âÕ­\•Gã?Õ”9܉Uä-g§TÑ8À‹ uMÖ¡YA?ã´ ã©éñß©^íT[Ÿk‹àýw J 6bíÑYž#ép¤½ -Uµ+°Š•©æŠ\¡ªn6šrôÛYzRª\¯Ä·+J=dâ#àüPC8rö€ò>xð£ ü}¢ü Q€ö8@#.èg¤@à3O\øŒÐÿó0€aw2Ð5ì߆ÿ² -°M`†îO›ïÝflݦ³ea¸­ ì f§53 ÷ÅÄ8‚ƒ þQÜó7ßß?M°ð?V@ Ð}›¯±¬9R–MÀ -€þ´è¯‡¸eRw…!€xü¤ÜmƒáB…A^þ´Rr,ÀÚ= - ;Eh•' õJsE¼‚¡&yÖ_sŒs‘ Öü¬þ†4RuL·ªŠ­ -QWšcœ¶#2°òxçÛ¢:»JFqôÒùƒA8²ú£wt<8 ÿ lÑšš<«>^é@2èäÒnW¸' °QÉuÖºr! -Gß r\”†öq_@ ²tÛÑ+¸…áëKCïà h ñ«+gÚº¥V'Aìa¬É`œÊ&!®è~\I:òÓPP i >r€Uk@¸Ç{8пaÏ=9,}¿´X.ßøƒ¥SùâìÝ#³Ç hO× lSÊE!—€K Ž×ú|)š˜àù÷ =¢ù¼<ôÑ÷µÅ„tFôŒÎÏå_œ™ <±¤|}NB3:˜ ’b8 -þk67Ó% ¬1Ðkiñ1^.¿ôrñÀ‘ýDØ™hA7%_ÐÜrQñmä€(~äàb¯{*/àÞ|ÞŸ- )Q)œ˜Ð€a”NÃã z¹t¼C(9}8‰L&»yBlca±[˜9÷F´&€Ù“*¯™Šï änÛp£N׿àÒSFì_ß<pßø‘£` Кn€Áÿ‰Åø¯÷xŸ 2¨yЀ]ó}°lm¹ÕZ¶ þ:}é©%Òú¿WH}ã‘ýÕ̘ê^† Fh¤z¥æƒ¡ú­Ù̶U3‰¨êÔL§F¸¢óv:ß¾ÚéT—ëŸk¯OS=׫ËËÙ*WK (gFc§@€Z¼“…UTÝPå§jXFUÛ—"ÐÐ(fSu´Î§zNœáqUSñkËÛ6Š`íj"cÓg/^Z]½€®ýÉko0à_ óåýÿýeNÞ1 !¦XàÅ‹.|æ3O@.~ž(€€ÁÎisßÝ÷ïÀ¶H +áV‡ý˜¯ÙV7ßl6°"c/%pð&qðãÝÂ)ý´Á,/ºÙa~¤½ýyùÿ[ÀDj$Ò -€Þ@‹™+àZHbªõeÔmWh¿J)eBÅ{‘ZïtÄD?ÛÙ1á ûú/ú&¼$š@7þµ@¥²P¶Ú¨D:¡uo¯6ôɳ^ËÖ-ýéô÷œsÑOþ’ÜXNg¥ÑS¡ mý)¿$âÛ€¬ˆ'¨48üˆƯ+Ôêþb˜Zè)7h}jFyö•Z£Ýdg­¾\W·Sézum'*£5 qk•v®Lô]BR´·>¦‹Ò—•sNfræq]T»¹¢ëhÖÓ -@Íš:¢ÍZM(0Ç£ÛbôÐoMÞ QF÷b•Ëkkt]Nðñ»G†E޹Ÿ‹ÿX,ÐÝMÆp:¥ëP¿ÕzÞZÓ½Û]$wÃ….°ÿC&°H3‰d‹xäœ̵-Úf êª(yk½PñçUt]ƒ]¬}À¬äš«äÅ(wÿ\ÏK®Ýz“›J¾X|ÔJ¾¸pÚ!q:û¦{Åüa ¤èFŽí[çc1|ÿänÛp3(öÔê4€€ü˜Qc÷ùx O¯~â,ãg§Ü"¨üç55Œ8@PÅ%°×–óÔV©J™®/ëž—?@Ǫ*ê!OæVÉŒe—+㸮X,rƒ°geÝæa}ª„ýÔ9ÉÈ€­ªü9?ÎUÚý!!òkDT“©¢~ÍЮÈW ÈÉB NmdW+hYê(½í æg*"¦2“£¤ràeUEªºíį-oÛý¡¦ú-½úço¼ýŽ7üÝü÷¯'óŽ l1O|,éúæ3‚1$‡RXŸÒæP| -$ó# – iðý±‘ׯÖí -@ÛFÿ0;«˃å÷ÃìHæý‘ ÿ}n -1Bay¬6¶(òˆ™ÂÚ`QqŸÓ¨¯@zÚê[ö¦Ÿ?à -ÁìWôÏæê¯iÿlþDñyÕìôò´Ý°áQ-€Ö**P[Þ2·€þ~xùUÝ £Dà0ÑA @ü€~3¢ÄÂÿöãM#BV#`3§ätº;€t³šÅ‘iˆ'Ð)Få`/+O“¦nH -1Eð«¼yºÓ¶†} -/NRÕÍ…Ð_ïTõEYQ´ }O·’V¹·‘J´R36ª›¨´! [F€°Á@÷k¢p3% -@-‰Àt>§ii€Éuјj¤~ €õسµ€‡ ™uÁÿõ?z¹Ôë.ÌÞÍH€òÇ»ÝÞu¢+ðÖ¢²ÖÊ×»×=a_´Ô]ëÎtmt¼G8 ݺÝ5«Í¥Rxl`±È03‡ó½H -üº]+¼v½×[ï‘Ôm)êêuYK¿·¾¦b­olvOçfæu^C]g¯i_ïzY%Rš~ãÆÈìììñ> x×Õ\Wi—¬ä 溎¹¾"tÈÆ¯<ºI™¢ß¢¥ QV,©L‡ˆ¤äJñ[¹É¹îeí)¡Ø¼Uò¨ël©¡ûeŸ¯÷(ùKëk¥S3…ˆ‡û_Ì?v²¼ÖÓW­ò“ä:@î¶ 7ÀüÝZܰúùþË ?6F÷ùDL(ÃÃoU fð¯»*ÍúÀ @5ª!ŽOö®Õä‡SÉ E3£øO…”XMu§êÃe*ªbùQÄA©Â  Ø[¡ ¾?¥N#?Jp~p¥sUîËù+:ót«EÌ1ê¤ ¾fƒT—3õe€ŒœþN¥ÒVTiËÙSz†œ•= -@£CS@£ÑÔZP(*-Á8q´ý¶Wâ×–·m ŽþPó&‚2âóƒÀ_¿ýöüæOü‹s¡€u¼ðùÿH´8 ;–¦ àtÝÉ|·í·Ä{´1…Ñiüg=Ì‚ùv³{9ØOäfÙ ý¼n$æÕ·dK  þã¸ïØï,À“ú -€7€n†ùC#?RmËê -f@~}ó³b-SìR‚ÜŽÜÙfG·@˜h ÿX'$«,ë?/¯XÛFiT‚T+*9h•^)ú6›cøð,ÖZwhg &…?fãñÁ¦ÆpÏùG>Þø’€¼r8r½Z¦“Š,›@ËÙæä/¬B‹WèÆ¡i­º,à¶“ÔéÛOÒÔ®èBɿֺ"†¯\€z»çØ«Lu[.ÄÓ0ý©QF,Ê$@\ÝDSV\àëLFä 11¨UåÅ«ÐúeüwJ)æòÀÇð‹›°e³ØLïÞËë/­¿ü -"·ÐßaÔö ¸ßÝøæ ž©¯ ›¶ÖÛœÙèýŽìÓv­b–È­šµ‡}RÕ³D\+™€v­^ŽM¨ž>xŠ($€ ãj‡(Àg:çiüoÖ³òàšç©þTÝ ýGÇ3ãªU]m7%PÅÓª´Ï4Vè|üY€˜¹Zò³ä¢üç¬B¡ú×–]ç,í6á¸9{ñ ‚qW^xáÚkÖ`-?þ»#üXK"(ÿõ×_c€1€hƒ·È>ó Ê…OCRJ› , ;w0Oaʤ—¡µ`ĶåžLK;àúv³­7Q8›Õ7øLÆIc 錤¤¶ÃƒÀø6õb„[€Á^ S0càÀÖX`$ý” t6cyÕaêÝ }€gIâ*§´€%¹1Œ&¢cE p–[-qkáç_§x³€è.Ð)µµR÷àQrœE8›µ)ÑãFgfü%JÇê@Úï[Õ+úÛªÀ"7YØt¥ÕÕE5ªæœ«€"*J­6fF\&ìVu÷q {¼nÖ[Õ)»&%t¸Çÿ‰ÔLs Ü÷ -€N“(‚v˜ô -²³+røç§ê+pµ´Àª£>A€q/À=÷ÌnàÆœvîâéÒá‡r#ö8099ù°åqõOÀ͇s…S…œÖgfr*º_ fÏèÅ‚IfÏ˵ýö´^Kê¦ §NÝ?q?Kz+'ž‡7gÅ›;eÉyqD޽BgR»NýÊቂ<ð€Še{yza0‹Ô/öíß÷pf¥±’ËT¶‡,·ù‚ÎrJ%/„’ -ÿô£JÀŠÊNÁUòI/y(%·Kó-§ -÷ÿ\ù”•œ2'%·cدӨäúZµéTafâÔ©œ -ý€ -v—¾ÚÉÙ¹<wŒ»mÃͱü½:€œÿÕ/òzÚÑ?2*ø?~ä\°ú‰£(ãÓGŽLòVŒ[sP ß Ç(˜1:.înê➥™)†ÿA0k7…ûÀ I Çÿc ë -@;(Ú:+ôSQF´¾ÓÞŽ6©»Àn -™Àfm…n­b ›/´×-Ðz\þ>ã_ÊëgŒŠ•F糟Õq¬Z_¡Ó€Öå;ë ಀ_óvƒó{û˜/S£ô*7¨îE€¸Þª‹è?ÏíÔÖþ,mʦ£ûúkìëT2ì‡ ëââPtíFjpÑ)³@¬8 -€J¼«&Ö € €¾À;P¹~ €á_Ðo>ºçž¸Õ( ÛónÌñ‚åÀòL˜ýàa-Lës,uÀ“:v¹ÍæK÷ßYxk©ŽBo–Ä1„{‚ÆS9AaîÔ¯œú¹€~JaGj'[N ¶aÊäÔ©‡~^;Áb–µ–#8O¸/oy˜(½üì?Þ·ÿ®âÄýñ2´²Ò.[&Qt")«²qmîÔ|ifâ2qŒgÖ™ØSð‚+9𮥟ˆSNË@ÉS%ÏqR -ßaЙøª¸f}LŽ™ÌüÊÁ¾s³r·m¸Q­¿WÃóêi^O¯ÆcÙpÀtÀî;z¶ß à,£ËLOgn‰pgÊRÀX&aªÿûÍœºÃu«««Q‹úAJ®í¹ )üÒ:ö›é¯fǨƒˆUÎÔ¬±²UË^5 w'£ü‰ÿ£¢‚£rn·¯4Uuu ¸•5 !@uUúc6Tè˜5T¯(³ög!" +"ÍFã °ÝÚì­ëkë­÷TðW¾É@î¶ 7‡ò¸Å -@"Ä -À“" -—žýÊ“è0~ÄšÈïfvgʪ¢÷P½Çû€êÇÿ„È»wÿ_ª<‰¤£³UžOFn‹Ü‡ÿÍ? –ÍŽOU²ãª)é58EeI@5ÛÉVlx”¨êÇåɰ¥íˆíg¾Ô¹*âJ‹¨ë"AVõµ€jvºj­.zP'"º#Ðo6Úgèpfå̙Ǜ+ÙZ»-„Ãìè®fr€TešÉIÙÝ2™C»N¦@b€‘ÿô zþèG?  ÀƒdÚð×o÷×_í?^ûÚW?ö/žxâ ú›ûooS ZÓf0» Hel†ýE:Ÿ™Ô’È,À–43ô5³õxîæ;ÌVdì…?„œâ³…lãìÃY IšLI\áPfZú -€ûý6% -P¼Aa¹)æ÷ËML 0K -¸ï é€óº£`nqÀ­Ð -€þ¥þw6@6¨ÊSÖÍc”Öµ±–þUMA£>,D…Ý?ÞÀí_iŒ1z`óñFóñÇ­wŒJÚ¤ÉßÐÝþº<PkZÿ>Îh…á1ÂeƒUÄ¡)Ê[Lýº¦ó(Ê\PÉR -@5ÄP” -t3@ù%15ëh -A}@ß)ü”HF€9#®ØoÎH€¡€v9þ§¬»¶þïþ`}}í%éäI €f-Ú@CéVü£Ïò—weMੇ'´Œ -3ù%Ñ -bäÏKe!"q–Ëâbtš0¹èr¯8Ó{…C°°«4Ú¨å2ÁúJL¡–µ%*ž¿¼®üy6Ÿ,¿ÀÃté¨-•YýWëkQñäˆ@.×ÎÚ ‚g;i0+³6—Àwí {íõ|Ѧ/s§¢Þõ¸äê+ƒ¥ëž‰Jnó¨Wš¼ì%¿Þ]ÓQ𮂰Ni%gáË…‰BÔ[¢(ô ;åɓǎ\x¬ì_øÚ?[ûW6»mÃÍáûn÷Þ'À§ýÿ¾TÀ¡Dxö ÎNñ€³g?uÓÉîL¬’ô0vnøo ¦ÎäÁ¸kÖën°ŠB•Ÿm«Ö§¬zô -‘MÔ†±U*æ‘™úÏ:µH]®L¶£¦-£¢á!C•}­U•èEÿëZû¢¿Î#P[çiÀÅ#PÝC¨™mvïÀ+\WÚ7VÎÐK)»Òxœú­ÂÊT5ЍúUî…T­¦Z1[Ñiœ ±juüPf\8?ì½w4sô -À¹ < ˆahøÁ_ÿüüëõ#ø -½„ÿæý¯ÒöïñöfÚ€‚¡[Ñ5Þêû™ÂŒ›½´à·pë¶¶Ø{å[öDZý¯WzÅý!­›{Ь¾›VM† X»)£[H©+öã!3 ƶŘÅ1fà™°“(úÇ¥þ ±Ц V8`@¨,» ë+¬‘…LHHTëPkŒYØ’”þ±t´;‹n ýcåúצÀü&,/šîµºH c<įN¿q mÓ­c -€r`ÍÊBëútCé„ÚÕVž"Ø)à -@ëÊtJàVÐ>n`™)I@¢(ýÝ·‰ ’ß‚ C@ı€Ã~£¡€I|(¡ÀXò€¾­ýó5bîåHώܽ¤‹ÈÑcOðå}óÌJŽ÷[Í£ás…îuËRËÖ÷Žþ„èI·@Ù7 -ÅîR¿xüØììñž¤KƒßÈþÕÚmpssø~ƃÃ$اå_ðO€‡˜@¨À¥¯<{éÂQkøTéwžìÆt;Só»N•ìøxeG wCÐ?]FýéÅô2µ‚œwUZuüKBõ—XEhm54M2¢•©˜²WU¹µi¥ÁÕb²-èC¡Z]×j·mˆþfõÊy€úù–È„ï0žÉ.gë9rÙv§Ù©4VäÉÑTªéL M@~Ö™3(M“Z >Ø’ÿ¥4­ÙêºR£ŽÜÕøzw™ô O' -¸öþüÍwÞü§Ãÿýà·…ÿ¯¿þÚ5z³OŠÃmnû»´÷ï?õ6…úÿÈoø/ðGÿÙ¦?þ#Ù6°£…’%¦Ä#&Æðù‡(. *,Åf -@X6Àñ@1æÿËeݦ€ÿ±`]B €Ý‰ û#‰°»@é·+¬…;fŨ+"BQÂþõü’¼üFÛîA-Q‚£‡ejӨ뵆-7 -@š1ÅAçnè©g§Æ`) ® [“¥3  zR¯ÔÇımŸîŒDP.FP,@7pEת¢qqA \0QR½Œè~w@%î+ÊU%Š+‰~ €€XÐbØïdÍ~MSìYTF‰ Ÿœ‘mQÈm5ÀHð%p÷/워À,$´µYßm [“ÁuXAXWv!õu0 ½ûݺ"=üoíYâÃÖ_Y­41À -Fg.÷8”Íåó÷¼=€õàp_]\8yldÿþÙÙÉÉÓöÐýüÃÈ<æ_¥·'™©„Žå~qÉ­ó`4Ÿ›ÿ91åe¨ƒJå' -¶]@E°Ë^y²~`0öz¬M–ìáAó]v\%;xðÄÉÅ%¾à_ wÛ†›ùOÂÿ6 }0Ɉ`(à§Ÿ €Ç§±~ÇÉnÌ`gB+-oƒ P€6p[·Ê”O­LW„ÿ(º©­Æˆñÿ#aªTxÀ´j ì²Åp\«YÍ^ÉVZv§‚ Ÿ%~ºšU=BF['KÏ4;Ï\U\i[ó¿áµB?ÀññÌA€ ”¹ÚªeZ†ò¾Ü­Ï~– Õ¡•Çi5UÅUñ&#ÊYå¯×x˜!žBDrqCLçÛqòíã®LŸÓï!Ç&!bû àÇ?þ£X€÷ø´Ç8úŸ3à¿ði_ -¨ŸšlÍÀÔÞÁ [ RmÉÒøÌõfß½½?­øÃ?úÏBÁ? -À¢|(¤nV–c‹ÊäÅBpÄS_@/ÿ«ùSY©µê‚ÏX-Ïk…VVULYq]­€®£Z9ÃøiTáTÞýÊy˜Öï`úÚùçÁãGÏ­^”Îàÿ…k¯ý/"Âÿ‰üýß›ðC½ðƒ¼óöÿ ðÄÇžçÆ0Ô?wñœÏ ŽÞ}3ØÜ†¤nÎ ìÅQ> [}ÿ`Çü[µ÷èàbïß öÿÐþËÌÿÿÏòþ‘nM%e‘Q4^ÆŽÚQ€ Àñÿ=(B~SÜìß+úólQ°`·AÜ @XgMúSÅ -Œ6!l w@øO¥ûŸŒ„Ø&viûJ§i ¶²rfÅú¦ZIšòú•Ì!UÌU|ìÖ u'qö¥qÀx :- I@‰¹U¶´îPK+€[TB @=V¸Aô[ö;YÛ¢¨2`´¯ÈöŒ†^p[L µ&èZZÍÎŽ|pD€•“«P€Øä/†0•Öm€Þ0²@'ú¹ÉÜËë 6."ÐÛ‡Ÿ2>R0šŸD;7 Û¢P5Ú°Æ÷Çø°×cé¯YÄÉüœÐ_è>;{Ü|áÿñãr¬åSçùÐû÷LÞ5É~ã átfZYŒu+9EK^´.y3¹7¼äVj£%J±ÀÂfä8Ïã´Çš5ìâ”j!b,%§¸öQÔUÉ‹×ý’ÿÙÜñÙÙ»Gî>~rñ1í&ߨ|½¼VîvÈݶáfàý“° `Dbûî=j#ÏnUÒH¿ód÷eßÄÿZoÈ6«YQxšÃí ˜–—@• ü§EvlTõBÓÆÖµÝ“Ýxª@+³Œ—¶,6!È&U[ç­â[4ÚÙ Ä[[-8ëT2 Žö¥ÎU:T«’áCÔ?Äàÿ«Žl €,#®W| òJ»ùøÕ·lámõX³rÆj$ºN¡›ê"t¨vÁ -è;°»ÝDW½uofÚZóÏÀÃÿ㟿õÎ;+¼Gø  *Àþú¾àM(¢Oœ» Ã™]¸ ŸL¼X0˜ßb¾U»ùdÍg¾`›ß‹óo€ÿ§!¿·ü‘·Ð`1'ß•à V4Çÿ˜4qèè¡#GŽì `@p0À#ÄÄ6LØ1€&ZÖಯ Æð›Ç½Ú±`wGP,ÁÊ­ -€y`ú+¬ômH)Œ…Ýü,îN¦ö7æ´"S Ú‡.‡Ïî -€ÇÔª(€¾@0àÀšÀ,­ôÇí¢¤bo#E¶)núV þS -€1€Xû¯·~·@¦Æöìñ^PoЯñÈV³³û?8 |š ¬S@ꋤ›7ì·À|€>åq“ºpxF"ñ v!Èì±f>Š3]D‚ C¶†@@¹Ïö©ùZ1WÐa*Œ¸ÉÈÝP€cxÿ³ÇŽ3pü$;ößñ¾‘‘wiÑ€L®7Y»YqÇ“þw0ÎKºBq~fFÞyqQ%×F•ÜR?ÂQVD³“Åîd®bí¶ÉËkÿ\Щäv `'OP˜¹cÇT´;¹¸dÄgqѨ‚,€ÜmnŽÞ? -Á€ã¼aİÏbÎò@zSΞÆïúöû²ogjÍ ŒŽÁ¼Ž³šC¸Ù=g£Ïj•e:JÕ¦+À¿ðŸ Tð_‰mð ÙÜg³´LÃZ¬Ôùãö€8P›d( l‡ !©&%æ¾¶ŽA[€„ *zn“VêCbb€&€ñ±äi€|_)@?¥Å¨¢1²? -‡ -·–¶O –=×W({pòƒ#ùYœkì¤ÀÑÆàwG™%Ìžž³ùÀè‡ 6 àdŸZ‰¨8†æö”=\ì&_´óÅ(jaQ…øg@¢ð!(-Í»KJf@v÷ÁYu½…«¿tò ðÿûïØ¿ÿÀÒ0D1èä}.ÀÐ*¹³€ÅHoÏ-.ºCýyöh‰ÓÆÎlÑÃÅMo8àa t!Zu €®=ú’ËF¸n/Ìlnöî‘Ìžé!:¯²@î¶ 7 ñqüÝýÀ½GÏÚ¾@P -x'ÈxÛm9`ª›§úë3† `SC hH |öñ_IL¨gTÈ´¨«3bšÙªë¦jϨ*TµØTú:MMÍU¿à†hEçix¦sõ“¶t‚º| ª¦L53žæªöXÎ.O‹Ó -¾?iƒj‰uÆà À í%ÐZygÛŒºf&G¦*úÃePGí:œj'S.^­é\HÌ(ŸŸ[Ì6ø~f¤êÏôùÞí}AøOÖà -À -ûÿßï^HŠ_‚`ß_"w:ú‹GŽèÍ듘ÀH. +2¼à- -@b™¸ÀÀ @:ÀñßGÑ”ÄÄM ­ýy¡«Ø»SxÎä`¥Ù®­X d VîN\ÐMè `»‘Y?Ë€€®&@ À€ÐJ€:…ë+¢IúHšR -©b –Žˆ€ÿïÍl«ÀïÉ/+šôÃ@`/½|üýmV 芀ì/¸`(êg  Xx8ÆÿyÆÞ)Øðl`>êiŠ{ìÈ)ŒL„ÿ…bòa€hÖ⾤’S¼v=vþÝÖJ¹’ùÑ´ùÏ -è…ÿòð›=&øŸ=¨ÇŽåúÞÇþ‘Ù#ò³1JïOà!ó<(t+ð˜?ÌJ.ô^@k±[Œff".ä z‚ýˆÁèJ_˜lqqim*ýcð€ÅÇÖEº¤Q ì„ÇMª˜"´D‹å"QKbänÛp3€þI˜;ýýÇÂ!½÷ŽÛ¸3««OÆ Q>¹ëÛïÝ;€ŒŽ - Uî5Úµ–nN%±8!««Ü¬b©Rþ[µÑ´z;ü«AS꺣qÌ øòq¦j,.»)ÊŠóekÍ,Ì£¥ºˆÎkùßnVÛ­úùºøÀùóÕiÓä2Ð@n: f›íJGèÞß“m4ÛzÓý¿²ÒPm ö7*gš"Ù -O`!ú‰ÂKÛ¨VÚª‡wεQ½2G!D¾~í9€k®üX Àÿß1Ж€'~ÃÐßðùÀf.|Ú¼c{'†`ªX5à<ëþa öffëïÕÞ·ÿîÈÚþÈð_ ö¦P+N²–¬`}ÀIÀóþ5ùEÃÿ£G -Ã^ŒîÝ»G¯=wî¹sï{e;Ä$¦?šã?ÀQF–Ä$½ÀrÌcÒ -d1 ¥òOíâqÜ€ß[UÌ‚À=–(lHvV°@œÄˆ'Ç -€a°‘Ž g Êgi' ‰PÆŒ±¾€ª‘(Ê«¯Èt—foŽó»@ßO¢P78ð©¯Lí¹‡^4\'~jf—dbè|p$š @€Q7¹É6‚2z°¬0/X—-êHp´ÍÏä¢%ÁºÀ3@{ ¤é€‚  ‘O0¶FM0/<]+ÍDk£¢$#r¡Á}Níêÿ‰ãZ8¡MP€ÙÙ“EÇÙƒát”?Æ1+:³yv/­ÃÃÃÅ£¢JÞUa1Û“*ùƒI³A·8YÜ,.òÜÁØ´$Dïñì!a¿µ°PôGfNox""tòC#³yžR,ó/ÄänÛp3ðþIØø!ùý²€T!Ê‚ðä³ÿÒƒ-àÈ?øNÜŠ”¡„ûo\•*Õ  BeÁýI5‚ y¨,TÔ9§,øÿÔ„Ú¡£þWTDožv¬Ö¢€JµRoñ8óà7y( H@K5Eá,ÔSò4äuži_­UZu«°ZTáæï‰îÈ=P¦bËW[UÒ7Aå#ªLÏ4•6ƒ4Ç¿R¹yP€XBE§TJªrˆ¦7šg*»Nãc»N㣣ã`nüµkÏ?ÿ5'ïîˆðw>1 Ým€t € -è›ûïq€bè'VÞ'ÌÀ} ¸j -õ¬¶È1!Ñ{³í½¾õ‡hÀî -@ý1+bb¾’²Æ -o{±¬×!Ø®ÙöÞ þß¹gÏl][Ò×fã Yú -ÀöCü¸€‡(²Oêo‚ ôÿL¢XúÁ6üÞ'$ˆ @GÀŸÑ? ÙWü~ò#c®hE0°])HeH= 0›¸§} Y¢XÑR1¦$ €û'hVãfº‡õîÇhÒï½7Û£;k\]t¶Ûb´†§ŠÊþ:­aø?)8O¤­\>´9ÑsôËó`{Ὲ€¼ê¨8‘È2ž'ð¿°Pìåï/ñ$ÝA[\,Û`iÂ5.—¯wr¿Ý3WÛt¿t?yò„ØzâDd­ÌæÿÉ$× ¤ßò4ø×¢9ñóù¥?”ÜŠþSr1™™ÓkVò¸Èœ—wr•Z¡c7´Ø63/ù?³(J®¢¯E3åuίœÈçõš½[ßí1åDl¡~g‹‹Žq·m3€þI˜kþôSzxä\¢¬¢Êø@@;Â~ü>Ûn§@¸Ã]½,€Š†;xäµöI„s‘€¸³A‚e±ÿoU‰2Ä9b5öŠŒì·¦T -­HÀ^­´ÚBüjµ ïŸïÎH“@&Á´Å´;í«Œ ¤Ú»ù9ycÕÚ4~ŸjŒqØJ¦® ¯´ëÄöµU6åñgU™ÂÚš­¬4šµ,- Ê;K€.´vF•¤ªi.ß¼'ÕÕV# 7÷ó‡[è€?¹öÜs_{Aà-±ÿÿ¿Ù‘~„ð7^ýõx ÀßðßÃÿ]°¶qMò­?h΃<þOmƒ§Å—&%³°@ö½™Ç0ÀúÖ·þçXp €×ÿá®1”)^J­˜% -€Ï‰°7¯#GŽ1€¡¯÷Ý Úïø› øßÐKS*ed¼`ß>»Ed:Ø·„÷ÿe - ­XÀÚB/ý{tPò'7³qì¯þ.€T/6$ -€¶' -Ö WS¸+S -€ -¢]i@‰I£T©}ª|}°UàjUŠ”€éÎåØz€ìŸ´e!AÈ¢x  ß `J àž) i'@H$[è -Ûg'Gößq 8ÑxÊâb{Xž³ÙfI -ňtóÄFóÞTt¡d -ÿ ¡ `‘Þô¥n9ÑÜŠkå.` 5[+Í,¬['òÖÕoäxÞ¿c/ ž½@>ìDabR •ÒJh{{Øz)`qÉç)¹æDäçO‹X»|_ù Jâ ˆÝâÄ|TNƒ¿L%_/—ÿ@¦²ÿª>zÑÅEyÿ(dr’‚àC'ÒqX¹Û6Ü ¼–4ýëCh£ù¾Qz°ïÉgŸýu¹Ä4ÜLø$Ú§ ë&Œ2 @u`©:C0ã¡zï"Ôcÿ}ÿ_yTˆÐmkÊÒkÅš@y a(àJ•'ÖZ"Ê«EŧÓ)±?ÛRîo;¯¦V§ÉãÚ-€*âó8]xxYjÕ™Œ*Ûªhñ}:¥ð¥i -@çÌ™•FíŒ2lÔ¦(¯@…pj;UšŽû¡r´VÉa–u˜fc±paõ ÀµçŸCxíMï@÷?ºˆÐ øµß´q üûÏÁ߆ÐëÈè&K2À.-Ø¢}X:pÕØ Ú:sö¾G{ßûgK¡@K6 €ÀN -L% ø[Ðß×éÀ -øuÀ€C6¦+bà?À´â  Ïm¸Ðìþ÷‰2˜Ý'²<ºOG’‹)hÌÇï#g7ž.ÁÓÓ -€yÑ}@Á?Nœï–þ,û§¿wüïǸаLí^Õß6À ÙWôW&—}Àbœ@œƒö½OŠe줸þïb™8 ¥Ø‡)¨-ÿÏ[&ë/4Ž„SBÙîÏ!œÌޱO«à„ÌŠò$|ãÈïVˆJ‡s‚QàmÁرA3“Üõ^ÐNüè%÷£û•_@oHÐ¥%ÝBéNäg~øýw€ N\I' í¦ärò's<ÝW‹‰0`%üúa'J¥ö|Bf/yØ?·gaA%/Nø -û߇N‰¹¨¼7nxüâ¯"²”£™ÐÉ@F@ŽfŠƒÇŽ‹  3@ÜÈݶáfàý“0‡!>¨¿°ñ ¬~åÙKŸÿÔÑ̡̑éé#Gó»š<êÀ€‹6€îßaµ†i)kÿþ?À>æ_­œX«ÖPµ3‚Ù)Õ˜uyçrhxi§A @ÝÆÖ±6âP­Á`Àµ:ùóXyBuZbkŸk‰Lë ˆ†0½è¥ØiÕåûëÀìJ­€»Õ¨hå AJÞzŠ›¤OÕ½-’ò÷líŒá~vŠ9Ù³J"öï4ÉDL¸¸jàÚó_{îëøÃþðÇÿ›õ0þÿõÛo¿ñÆŸ½ö*OüØÇ.œ{š‚ÀŸ7n±0-Æ~Ð]Ÿà»à.-þ¨>…-¶ÌÞ³½oÿHÒ ‰€˜ýÁ7¿ùÍÍn~ eIáÌèþg¤Å®Ízþâ¡ 0ækn¼‰ÿ®ð›°oïhLîï¡Ú¢EMz üþß—â¦5hŠmü>ý=ÀHšô_²¿»Y¥OXõ÷­wVðóc€õD@PìTþ/VB -+W ÊÊ1? OH®§Õ{ˆ˜@µ°U¡HýßËL@Ð mào -À¨?(²ÿw²¨ pÿàÿŸ >Ȩ;¾+FJ™vÊ…ŽŸÆ'M°P~ôdÎ,GBì‚¥â脤QaòtÄ8–›æóÂÌnwM¬`í[댫ãöh®(>An'ó³#ï¿@’ÑŒ*«¨x˜@~ Ä|{Œâ²yNF¹)¾IýgòÍG(]Çeôý/æ¹ÄÍO() )Þì¡# E{Ž‘¼þòòZ—a~eÑâ81ûÑ÷zlöFö‡â‹¸ô•†r·m¸>ÿ$Ìá_Úøø}öTÀ{÷Þ{äìgØ÷ä¯ÿË__?â -Àîü#X½€Å8¯z@ ÀEÆ(“³8€Ú¯ÕšÎ¸oe[ð_0ªÚO;̪A#š²tœr˜G——¯Õ`,`†¦BMšÊÕˆлÝRug–Çd3õq{€EeÎ_ ¢^±ò8ÿš®Ð†ÐâT“§¼.4Π¢©bd$À©¸rj üð7 -€õ¸@À…?¹öÂóÏAÞx @øïºý€Løº+ ø3룿Ìy¼d›ÂÌÀÎÁ?¬m±~ª°{§DïÆFòQïw7zz›ýîï²ð»/ëýöâlH9`P”~ å™Ö¤ÆØ¢Ðød|áýÞ=ÄüßI0 Àà_¯ûîÝkkb÷™¢3€»/½•Û,ÍØ[èàÿ|°z¬ø -fÁ*Àÿn€3mÞî ô®¨„2€Ô) ÒªÄ‰¶)˜ -·UȘþïiúšÀªªH€@?Q4–f€Üà”`Q´pâØÝû?x`–¾ëÂѰÙ[Òc -' -ÐÛÑ£øÿJ·`n:œ‹º:] }=Àrb!bþþbW³Å²Fºˆ‡kÞ¥}sÝõôµµÅ™hm‰ÁxTšcÞ‚Z2$ô„ºè2ß39ËÖ€ÞKmk1Ê[CbZs4ÖYe:Ø €­)[º„’û…`§yÆÖqêa]­-ÁVÊݸ±îýÖ"`Q§û¥Ù€‘Y•Š>:k(z¹Û6Ü ¼oÅñ7søW¤j6lüèQkxêÙ_ÿõKÎê:$ @?ÌhUç1û;04€f=k÷àxœUmáÐŽY€’ÑÐ ÁAºá?÷3xoœêš6,Óißäÿ1¯ùOÙª}òäó([ Ï—Ó¤=MÁ²‘~Ë6Õê­*ælÊW5ƒëd:új«^5Ph¯4²íF[Kgg<`”™ê`Õ°JÁ++" d£ZU—O»„ªÇ]Í Þ¼ýçã{GïŸ>€¯Ó ðÚµ¯ûÃPÌ|+¡ àcûô§…üçýô& Xt?cçÃ, ÀÐ5eae+ÌþìýïKÕ_}óÊ;1ûát» ”g°pZæà= Qy7í|@ àazéc»°wŸà>f¬M(ÈAÐÜ,…ø,êTÌ xÿEâEÛ¥ü,ÿdó¡í -€»¦`~'€N€(> ›2Mb´d1´0à Æüt €Î9H€_# -@€èÿÎfþ?ÄŒþª€R -ÀÂ.æ -‹º'fgG>ø…Wò¢=Ž>¦Àfþ¾ã¨> HÛ…gÖ/¾tyfÎzñ‡ já¶tõ¨0Q¤×µ0`@„oV”3­þùË¢××nD¹¥ÄÕ)͉Yb’H‡á¥›'üõzmóŒèV`%ë͘Ù>º²"úb -;;—ûòu;“•yqÁÆr³|l%*MxÄŸ®BE)ŒñeX‡Êrù÷7 ¯tg¢â¦/óø1š><{?íñªÊ€k¬  -¶ª¾jfUaázA0T_h×¹´¾Ü@×'Æe…¾ ¹ÿt1p·Ë®P¥QÙÏPéB*xÿV%êcŠâïjçûˆ¿e}ÏèXh”yâœøü ×^{~€&XLà‡<(< ðë<øcŒû‡ - Èg1–XtdLM4˜ÃÌyN™+©­aq Ý{¶÷íß¿ÿCzïÿÇöùˆfòl>´ÿÀþÌh&; %åö§Ý´Î5ñò0?­=tèƒb>p§^î±õ€ˆx €@_÷Š% -1î4ò'6°•Þ6i¯_ËÉŠg¢ ÷Ùý¶&fäÅì}v´¾ƒÀ½¶“P›p`ØmzXÀV V -€xñö}££ã‡øb-¼¢o–&¥ü´ð_¶UÐgÒ `*€ÍƒÍœ\i¸¿£¾€–n­é}j£Üè„Ã"ëþDGM9ù! €Dò°µ‰Ì{7@ˆƒX€ó>ô¡è6{X°¾´¸x=z g9Qr‡v•!òè7•ÕJî}8£ò+a±ØËå¢ÞOG-,Ø3m˜RùõÐx1‘WÉiÈ–BÉÅâïf©-®¯½R.¯}sm&z™ÿE‹K‹6  c þ¢ïA_ ÌÄó wÛ†›£÷Mí©§.éVv4‡ÿXÿõyÄ€ÕgŸ}ö‹(GÈš„õ÷Ûç†ýFD¬f ý­b££YùDÕËú @‹õÑBµOš ü÷ -#åÿÛm;æÉñíe•ñ©lujyJÜ@t`¬RË´*ò5TŸµ*rÁ™¯Ñ„P Õª"rù•Š'òô>ÕtâžDœe *þÿø˜ê‰jvªvEU ÎP€y2<@<À¬P6šo­yÁ»À*gTi±¨2eDnbçc¼ßö²šuú¬À ðšðÿÚµ×xp¢hþÃÊÿÿÑ€ðÄÇ.~ZàîâEýßàÿœéŸpPK ôÒíê;þ›~º&ŒßBJ¶ ´kd.Çßc *€7î hß#ßÚÿE¼ `› ôþïÛàÓûFí`È€C?͆z[bܵÍ:ܦ(AJ=Ðöq˜Ä€`f ¿xˆ÷Q–01rpH‹ °­Àð?V2⨃ -ÎyüæVM)Ú0 hwµfõƒŒ’êt§&£M*º -•à¿.$¾FÂe÷³l9 óOÂÀ?Qh íb‹<ZÉòÇòœeÁ'O·娤nĈú¥¾¬Ïbñ´Ò”yðõîÒFqæT´±~ýz¹»V¶gäZ4ö »]ð¾«)7YØÔâRÔ][êöÖØ¬ü¢ðÔýbñztc­÷­Í÷ÇÝÜÆËBe!©Üèc³³<åO¨«OÕãÇ,ÜOS~a±Ü›™·²ZÑÉê1å™*¹ 7 Omµ’ëêT¹íݵn¯ôÐ\´¾±f+]»j},ñ¨‚TÉ{ݹ‰Â†U¤µ¨Ü둎ü‚ç—¢µîÚ+›ÿw•|í[ ±¨’ëL²ÇgÎæóbDž”±r·m¸>ßÜžúBXjÿº¥õÁKKûî;ú‰ D¢\ºpöÈxf|úH&söhõìY½Žò±u~¶Ñˆ€€1€åzدZ%ÅpBꪮê ûؘ@ŸÊÂ2‹!לѾë~?#ð¡Y@Çø-ÈáVÛX[-AWHh‹ñÒOß‚ûuˆ€¨!sÀp?­¼`™ÁØž=wÀÙ€$IB €œõ€Ø[»Ot€Í‰ÄðÙ7–ý0þïC)ߢ8{1ÌøƒÿÆ~‘]‚|VÄr¼ƒCÚDÂ˃1F@œ—€:—%ߪQ¬|`*$Í'|u{ M„Nè›·A–‚ùÅúeɰù§cº‰©N¶+½›Øæÿc£ûe!p±—Ÿ½ïÀˆ@³ôe¤íùRÔ}Q€¸±¹¹¡Y¯[*E¥Ò|¡øh1ºE—O—„‹/m¹AWí›9¥Í @côeæv•%¨‚ó‰ùS÷h­&ëøè˦ˆU(sL©¿µ±^VÆÝèTôÒæÆúKBèè¤ òsBxn Çò'Žç¾¾6;{2ÊONñ½pá ºþÃäý÷,`?fsñ¶HÐÇX-… aé§o`þì§WlY×â×§;x€ÐS@ †Š{ÈoN<íû„àúè-[bö -Þ»oÔú°üs·\ùØiOÏMˆé[ô)Û…#,:@;Ñ+lÄ ÆÁx`^höàZ¸>»®>Ø6R°Í¸"®„Ž |nñð.;Et ‡ ÿ‰™¼SäI bB""á›ÝÉìßþÓôÿÍt#'ãô€ÜMm† ›8°ÿ}àƒ“wMLNNè=3c»Ð$›Ô²-°yæðäa_6#].÷+3¥S9ëh§C,—;üs3¹ÃÊ<å›û–Ë -:”º¿Ä¢¶Mª@#îºëÀ]ؿ´ïŽêçúà¬ìßwàÀ÷Qò‰I<”\GzÙÃYká!Í⢳ÕÒå~åðýÿôTîÔ)–×ÏÍ|ñ¡™Ÿ;œ›‰3ß©äyJ>W(žšPÁçæ”âôUNÜ5y—Š}€‹V²BÿÐr·m¸ Æ/ Ë´°úÔêW/œåIò2ÃßÎG<ùû}°ïÞ£¡९ÏŒAˆÁ~‡ùQA@lÖÀ€à&§c@±Xýí³ÿ…Ø×c1ƒ:2‰55M_ómÈoÆ6ÛÎG¬ôöÙ€˜í0 -%ڢЎίò÷á_o÷ðY7`_Ô1¨¾˜X¼ »Ï c4ºª„$ßëÎ -W¯oL”Ét“Ñ{õý¦N¯ ´W¡[,ÀòOѼ V¸µÇnÿ Ög…^söØ·ÿÀ]“¹ÙÉÉYà\žnóºPÍRæ -sBo— |Ó‘¾knîÔ)!ŸlÞ¦SZÎú¹™Bát?ØL € –AÀ8!¥mÒâ©Biæçgr‘Z¬íBÑIaû„Ð_%ñeþsýŸ >øvPÉgí\*Μ¡y(>óùûCɹ*+¹suΊ®rÏ«ä€ø©‰‰’J>£’Çh/Ó1“:0AoÏÛK®d³úzŠ©äl ?;óÀä]wÝ¥’ï×WkÀš}À,€Ümn}ßaº¸ú â[½ôÖ7f!•Oû¦ýü×瑳ʂ&€K_±^‡L8;íš¿ ÿ[æÀn£+íÎ 0ThdG…ÇÍúÎ ÀÇ ÙŽÿSÿ[bžw-›=c€¨½êx¢dXÖî¨0šW3uÁ4Ž¿r³('óÙAõ–(3oîlµkÓÕª^Õº*ˆQóÿEêôâW*•Çog›?nO³ªgÈé*´ýWš $ë`EWÙåÿOyüâ.¶UòßúÚ#0&`#¢ðªÀÛbI€^†ÿï¼#üw†ÿ‘ÿúC¬~4PΛ¶*`jm²öKÿ-áfa‰3§K™^aY ÀH€] -€9§¦,3ѽŒYÓˆ`ÃŽ -@ˆ°›„6z2ÈÔc®ûÎ1,‚˜a“ܼ{_ÁˆøKV-cÍÈq@0Ä@3cèÖÀ%2ÄAH›€>ûÂJ ÏZç»°rú© ÁþM°«O}Û2êÜIß\Z°ÜdÊÖ_¾b ?ü0€QÀÆïlüîMÞÝèQú³GQ”›<022ûË õûv黸H¬Œ+M·4SÈÏ£W¾õJ¯[ÔaÝÞÆZ—¦ýr·ûr¯×{y£·f‡•Šó‡só½îåM{:p¤¤¡u K“ñsÊÎøh­èOé#ÑæÆ+½âáS…âåßÚ¸ühñQRD8lD]¥p¶X˜åIÀGþ‡»TäÉÙ»~a…=ŠåyÚðÃg9ÒÙ¢h£tÊ.ÜØüÖz©棨·‰Bß}LC‘ß¼Ñ[[Ó”\¢x>ܱN1?ñ(‘ )ÐÒÝëö®_ï®­—»kk7þõKJ°¤Â—fæ~Ç¢ S%Wy, -tš¹íìRr]‚í*F7.ÏDœ70l*æa³< Àšgd‚xßmpsKcø¶‰æâ‹@ø“—V?>-o^ @ÀÌi@l&ö§Œq -èÒ³< @`8ž9B/“Ðü·Íyô­ б(@Ó#3š©íÂÐ ýcüϤð_è¥ÓnЕ©–=Ólº0m]¨¢ðäР4PÀç hÉa: - . -P¯Õ[í:£® êOO™Ù¢œyüñvÆ €)FR -À™DhèãÙÊ”(@Àù¡p~¨Þ±gtÔš‚ð| o¿åýÌ ÿû -À×!û€|Úž0øß®¤àô½X Ï[§àaipÛpKޱä~Ll¬Ñ5PØ4ú[{yù\þ. . ODÆŽÃ~{é#àÿVÀœã„˜ ØÓ:|@ë¦ -Øõ?˜)³­8üƒ½¨§Ù?İg›úé `>ÌËGÙ‡´˜/Cb Áý”VYt fû ÿuýfñ°“0~ï¨o[€ødÊ+iÐ,@òOÛbù&ɘ¹ÄOÞeÛ^ÙF ò>q‹Öñ]¶àÏÑ-•-Àí0ÁêRy}‘|×x¦¶t»Å™~–[l8J[/<½{óEN@èžt\\ì]Ÿ)ÙXA”ÖÕÞF'À~Ù(€YþøñÙãÇŽŸ8ùÀd!:q¢x‚SQ™a°Ù¢–~ ï²€J®B ”¼ÇLìÅJ¾Ø-—r…W”&MÈ,Ä󛩨/áù«è‘ +観l>P´'[É­¼¿”Ï©¨#t8Q°·p›ÜÜ>sa·ÉÀç!Ÿ1 ~§±]ò»ãß§‡Ž„¸K—žýÊêYÆÈLgŽVi쯊Lûìh5¬’º 0€•vË)€3€fÍ­‹¤€;̱ÀðßBüþ;üƒ°šxøN«ÕÊŽf”H@­T"™¸ À-¤g:—)òù›Myþ¡  Úúœ•‚Vª°“PLRP‚ppK -!»M£wBŽž[E à9€W_ãM àðÎÞz;M.\üÌ>í4ì7ôçíõ{b1|¦A4mö» t|ð$/è³T¼d“ýÁXêgäÛãâÛ¦Xýå†ûƒ -€¡­,‰0 ÍÙ²€$@TãõÚ³h¯ÇuwÐÛjô`f+‡Dêð_[ôöu4ÙÇV@W 3wßПwØeË,lqÁÁþ840Á™5¸ÿüóeì»w¯5kôñ?|«ƒ -€+Þ P¼)ôÔ‘æº ùŠ/@þ©[P` ›Ø aÕ"©8  ²¾uÖá,F Ê€PƯ6:X²ôÆRpt `FË×ËÑ"^÷èp¡—†Má^j}àQHJ¯ü|¡›çi}Ú¼ Üн’€PÆðlÆ@~–>2î˜A”›‹`ÆË&ÆBÑtu2•¼°F1M¼Ðn+yàÝÅEÆð½®]”¼·4“ÛŒ jfã÷…åy‰ÐŸ!òù¨Ÿ·’SV}O3ó]£<îœeö˜&|ИËI}» ¶@î¶ 7aüð ÀÚ>iõÂôÙ O -ˇ+}ç߸ó°úëŒô Æ@¨®NW>zÖg0_ÕÝÀÝ@LH1\ó CšÊê­¡ ÀX §úø¥ó¥vG ÛhtMqŒV“4%H)dè -€Š’ÄØY ¬QtSðÿ³Ìo˜^®Žïp†€ÐÇÐýo \Js‹1»Û¨<Ò±#G?n -ÀµW¯=+€¿ýá~ÈÛý€ï¼ ¸vík¿ùÑ}ìâ¹'>#¿ŸØwüȼ‚ßÅBÍïC -l6ÆÖ_M#tŠÑ[o} n ¶=,m[ü¯Úœs÷A `îöÛËçÿ‚Aï ŽøëÇO´At•»õHbKá½) £Ö ¸iN3 ˆÀØk (òô͸›ê/ZW‹ T l6þqþÍ÷ãðFÐn!¯©Û»8Ý1ZÀsŸ ˆx¡0]^|#üÞý/`‹ ÂÝÇ0öÕ‰`ÜJ&)³/$àñOßú -€=0÷&&Ë/wgïÊ ° -€   °Ü˜›,tyê\eF¸Æ0ºTrÅ Ìÿ_*G½îL~“#=²+èýæô®çžÏÏ—vjGE{î®JàÉIY,â:“Üq_žÿ쉓ºÄ|q­—ŸŒlpAŒ²PôÔi)ßf~"½ÜíÚcûŽOÛ—¼èKåÅ@BÉ×z¹¹î#áp3åhÔEÅ8IÛ>EÑ'ÃÙã‹×Kî1gåôû,Dhé¨5ñ»Å Ñ@DðÝ’ˆd­³_m¨à¿Éÿ†ÿÿô-þu¨ ñË`gv;VjÖ Ðbú 0 -i5#øVnЇÊÁ°dòí¯ü|µn1(vv½\ ß]e¯ÜŒT¤cT@mû *{öŒÞ›9zÖbþ„§¹wÀýwûÛü­@üª)ú#œû´Ž£à€yý¾ƒ -û–¸W7`¶*ô5D6d6õÓôßa“L a9¤Ž_áÃéC¼®W(PbV–°ì¦5ù‡÷øÇ -X8 X?áXxÀÎ -h`ÐBg´!Œ`/RèÝÖߦ%°зg7݇6€ç·EÀ‘wôû}Ñ}~WÂKPÞKTxÁ¾Œ¢% - `tïÍcxlˆ -Ég#(„€ûTˆää–µ½âïDóÇ?ãadb'¯7Ÿhï öŠ'EÎÚ8€†T‰±öÀus…] p~Dà‰cÌv}–µ‘5{ I—Ö»3÷ãsÿß”uyõóæBÛw8ƒà”™²Ù˜?\܈,ÎÎün{8‘^©²àú”O–u¹Érr&,ô‡jxÉ7æ&æ6qï!6Vrö fà»OX4íâz9—(¹²Kø„iVp}jY[DOŒÓ¨äE$eÈšLirùü¬= øC##ùüƒ<Òù0LänÛp ð=Ô`W¿xéóŽ~|õÒ“4ÄÈx@°‹ÔcámðÏRB~ýÙK_øÔ‘ŒÐÿHæˆüÿi{Ëç×§¯°nOÑÇÍŒˆ˜` -€/ d(@’Š 0™¡¿¬ÿ £ùÿ†ÿzÿæø‹4é§½B‹ÀÖ€¤À'뉠­[€–)©€pöju§^g¶(ºŠ€3!À€[‹Hãý¶ÉªÖ#ÓGàY/$ -ÀwˆpßÿoÍÞé+Þpî‰ ¢ ®0¯×oÅäËÅ6¼á 6_Õçûîx¿¡sßXñ·!öûm!žxÙ;^ç=¸+,%‹ƒóP ˜¬lUØA©=J‘9N0]å ‰ˆh°ÙN -€Å@ /u0@@8ª™›cž‹Ú‘lq Ÿ@8ŸìT¾ò­C À€   ?Ÿ_0O(à/ý¿@ÍpFAÐõ…£U lØVë¼á¥«Ð•pu7Wd*ö¨Åèû¢ÿäÞÑQy‘`–ä¯afýFAš›O€‘³L?à˜Ð - -`ϲ?áÛ`œÐ °ÜÈMä4gø~S„èþh^¼i­Ú"˜ªÕî—gæb$4s->¬›b9I˜> òô±åk,ñݹÃ9â m»Œ’C¬äº t°¦¥ÅµîŒ+l¦,”PW׿–ù@](¹•0!LÑÄßSØ*;žŸÍÑb1²ÿó³0Ûd—År·m¸0ßÙL àÉK«ªŸ”#ÏhÀñ·*æùàe¢èøï:è -À…ì¡ÌHdµÍ4ï³ú´Ÿu´6—½ô@H@%+X 0€º¥Ü‘€ÿž¡Þà€óÿdU€¶wJ Sâbuë#H@ˆ°&bPâ?»lx €uÚ ÀblÈÁw£ˆ^íf£Ô­™#Gòs_g$@ïè -ÀŒ8þÃÞþÎoü—D8§¿Àv³j=šaAÐIW@¯ûm0_6ÔMÌ‘ÖÐݰù}‰ùz²#žk&ã3Þaf+aƒ}¼?l N!ìãýÄ4órô'Lö—úŽCc˜\ûAÀ‹ˆ%m‡ú8ÆBÀ6 Hh»„ý–ëã¼yýÊÈrÛÃX€Ì¤‡r]™­¦ü~3VÃï‹ý"…úù”ÀèÆ(fñ·¹5 ’«7À9“=  Š-fÀøgbÄRS8?t"•o ›AðF€“'NĨæõ‚ øÑF -ò'cÑ{Q¶=05¤”Éÿ§ÞÌœûÑïÁ}P§4EB×qÚdgŒ‰º…ŠÝrT†2 Æ'yPî´=ˆâ’çqÅ‹/ó¹âÌ×-²Ï-YxX<¥ UÈDwNÐÌ6yá2å þSrø­ä0J€~ÉS@%wüÏçy¤0¤BWÁžžĵ³rÒŠ=7 ài€<ÌÈRÑòâ\é6¸¹øÞň¼téÒ…é š}‘öì¢îggN°T7À¯\úÂ…#B¨±Ì¡qsúw´×㲘 Ä  b#çkG¬ذ;1P• cýßðÿ™N‡?¶Z¦ÖІÿås÷rŠÇ |®z7@k€5x @_pÀpÃzl‰€Qpº]‹)·xû;MªcGGU³äGÁÿÄPÞài?€ýo™ÿÿ–+×®=ðħÏ=±“û/ó -~Àð ìÜ+ˆa••Û-€sßöÇ;âýšë3Öô“Uß–õûxœ_üq3 ¸ÿÜÌqŸ12Ј{ÜÙWdpg©¹Öú1—BÀd|zab_ØÀ^Ìx€=M´'¡.-hNƒ\³ -€3˜ði¦«±½Dpq¶"ÔO¶`šÌð_—ÂÚ7`Û|/Üé|w¦ì½÷>SâSèRíjm -ÿlltÔ<×[0RE‹kQ~.MŽœ¤]íµYèjp% L@Þ²`´…6ü`æU (ÑkÆÊåh¦pÙ’„ãµ7,˜ÅÏŒ -“ 4µÈžh~&Z³qôíCReâ‰gIâ.'NÊ^X,çgó/ær×i0phO¤0pY*LÌ—ìŠôö$ qÉ£Eq`ºœr7Êå"ºú%ÖgX¡ø`Ì€rJN‚,*&HÒó'Pd -ü?@ò£pY¹Û6Ü|±‹W Á/ø)Íìy@Þ°M0à§& ð/#Ðö+ÊÁ}ÔL@ûL0dµ°bš½p°Ä/ ÀD€€ðß2Ó§á¿«ÿøÿ–V£ @p‹&ü»/>`eØ¢XBùì® Ä´ëÓF–+U±…! -@f0€¬·Ç¼k€/w•w… ÿ81ÖðêkÞ €ðަ·Þyë;o‡€W_½ö¼+ ÿ ÿÜÇÓæø™U½Õöaüü›"¾,Ùÿ¾°5ª5 k>ù̼úÀmy<³Ä¶wË+dHž–žFû~aƒÙ¢_O¢¸8îà/äLÇ€vI €kÆ8ÜÌÐ0`ó!ï1g‹< »»/tpDÔ'øO'‹#Ù'ЇZø,luS¡ ò7ØOÐ_ †ä<((i³}BäÀúŸ²> í‚KâÛà A0|¯ÛbtãNôï‰c€‹ÓÛ_fa øgd†ì}?ødXTÞxp6WèNNž¤w½0Kào +"ó@–…t× ¥Ó!\/Àhl‹KÖüŽX®•ÅhI~tX摹†ëauùÈ=HéX‚£ Q‘Ç銟íôËËNZôÚÅ“³¹üF~¦×]ð«Ø[j7•T‡ôôÐ)l±¨è]­ärà× ]ž$Ißû·b„r¨ì!þ_ogQq²´FL™É!àCûÿÀl1zl±¬)€Ümn¾w6öÅK—.}ÒÀmÝl‹`A€¼øÝ7~äÆžZ½ô//=y ÀÑñ©á -(ÞÀ¸Ì@™X@·o¥M€ nÔš  lgòÿqÿ=þŸ¡pÿåîð—!X àã)üo4ê> '‰{ôc´QK S bâq>çï£ `z°%ÀzdcvQÞU €(@Êãß:á\¡È~œÀçxàkº€þîûCÞzûM‚¯]{Îc>Mä@ úÝäL´ô æ Kei@0K&^¾`мe²¨}$<À–ô‘¬kÅÑßVìåS|ˆÈ @¿­ÚÂû)°GÊÊÄ®'Qð‚1À_–Šˆù±Þžmð¿³`Ðað>ƒNeŽ& #_0ÓXMè'Ð!ñÇ÷cØ“¶#4²Ês!,aÖ¹A¦®+åä'RÈÂRY7ÀC‡~žéÅE˜pK14x €¾:ˆ€øT[ÌO øgcrl}Ÿ›M`õRo1?—/ö&GŠ>\ ›tnÜ1xMü§7}i »Ì<¥ Ô€ŒçìÒ pFÀ”L£(ÈÌS{0¤[û…¤Qi2ÂV½ŒŽíôYp£%¬ûm›…¹žu¾tÔ)ÙüIÁ8ž~·49o¥a»Ÿiž’“³@†ÀZ4“‹JAèßZr}Ú1gûˆ_ÄlP#òŽ¢IÛ(~E!)`AßÏct¤(—ÈݶáÐ{ˆ9þ¯>uéÒêù¾à¶µ À€¾9KwBkøŠ€jïØøØúú48«ø'—90Ðx7…¸D°\˜&"À6 ¼þ2ÃÿgþñŸÓè¸ö -ãïÇøâ ±)1[{8^;d§bâqÚ °¬€›÷ çx @pô‡šÅŒOÓpôœ€çBÀ›o½…ç à-ÙwÞ¤àëJõÕa -À¹ O8øø°Å*c•1Ó; ªÏ}V’­̸èµ Üf¾¶$“^ö¨wéã8Ò‡£Œ2Ør8Ïö€¸œf¶à¸ßWRž¯pˆ?ù( ·W\Á@\6ºwTì÷^¶ ÿÓçñ ¹@“? À2³[GŸîAcù²´È>`¿&þ¿È€/'àÈ÷C-GâB3 Ý’¥oÔûÄ8(‘ˆ*rØ,Îò&’yF€^\¬¾ÀØP¼­ÃÌKÆ—‡ï?ª-v5I¬¡ ÕcÀh¹ïgK„htt»ù„u» Ô|wrä8£Õ¾Ê÷íÔðzk½ÒÄéž ÎGíqÏ×Bà{&Ø#µ”Ê–  ¨€ÑÝè30w ýÎ!¢2±|Êf~¢T&'ñÑuôÍ“ƒþØb¹ ÆÎor½ëaSJ2­MÂÀzÑC<ƒ04Ö£ük™H†µnh¹P™­;à¢)^òxt¢”ékÑ9m€_]º -ÆóµPš EA¿5ýìà­ï|çÍ?ÿÓ×þãµkÏ}õ ‹ð€[@¨Ø·šcz@Ó¤®ca 4`À™éÓbÄöí¶5L|ø‹=aÅgJd ™ðŒúy²`Óv ÿ©·+©g€é±¹¢ñ7ß<hˆ#Ïv!ëÞ½!ÿ¾)çp0išàšÁ¿a(æŽ;P.¨O`Xg!TÀ |3v[Q0ãÚl/í·“îÜ™ôÐã£(úðëÞ¶!¶}tM´‹r «í²üe¥$Á[@Ì”+Lbß>œ>t‘Æâ/@ÌG§f’é8ûÎŒÊpšC¨F’¼°¸† Pü³1C´[´5a&]š¼köàÁ»gØÂ}f F½âD$ê‡-…I+[È bûgwi)*÷.ÏÌ™ŒN¤ÜV*š͇h}!¿1ÚëK¾ÌôKBúÿ ^HÉó…hn&Zcü1å#x/:Uuñ’ÿŒ.ÀÎãÿSrNJÞÍåà<~i[ŒR -3þeÖc¦@f±qòäƒù“'ŽÛ(Þec<²øH¹Û6ÜÔ1CzWÎZàS€wˆ§´úO >P,“KÏ^zú¢ÅÜ0ÇØ,,Ú¬#L® €ì @PËx=Ö ¬ƒÈÖ¾ZCØxò—Ï2%d€±©ýGüÊÜéVN¢þ¿a²YÐïšøØ!À²„X#—uÓ^¦( (ï%ÀQ~»ÇW^xþ9†4€€ß/K±àù?D½% K=˜¯%èê³$,؃ÍaÆÄ¢^ï 4Àw8¨‡UC|›…y²)$Ö,>4¼™ –ÑÖlCkPØŠ…?¸¸Õ7Ce±‡††ûhàï»À )DäÆ=´âx+ëûÆf~CY»ÀæQÃ~Îdøi¦}Äàfn4”BÇÙ‹¶Xºì)³Sê`'KrgCroÛΰ¨"X9RŽ?— §æÛ×@DýíJ‡”o‘Ý-ã˜ô0…y€âŸÄ·hå²°Èé®mÀZ ÞØˆ[;sè•Òdé¦Þ³¼7|¡[f€½ˆð¢eb 4/çÞbóúætàApb±Íažñ)UW,k+­ ì²äb è=L^èðú»Œeì ˜¿œ”ó’ÕÈJιè{P.¯‰”¼Ýc'{0–öeØÉüôåb.faã$÷%€ã³G\PL¼î—u;àæfP~þï Hw´ð/?CŽÏ°Ç^zöYÀ¡ÌØ£4$––„ÊŸÐÝu߬4`뙘€¡ÚÒmm°ðÿìØXý?àþ+!x.»Ý²A÷ßg þ˶öMZÚ÷ø\¬`Þ°» ÒÆ(ÊëcÆÇn2™øô¹5`1Ö È—×ÿÇÀwÞüSB …¤zMO†a}‹jGVÿÜf¾KI}%¤ºóŽ̸è1tûšã5ŸÁƒ÷Ýa!ýÒG²¤™éËZŸ!ϰ s{Í„ÓIqdÚnîè @xƒ#x 0§±^¶¾ƒ#Œ'2TΈ¦ø‰â$vÇrfqö§w~€òlÛ–Ón5ƒÎTªÁähØdŸÖæ`C¨«eíGom¨Nü’ù´MáŠÝ•šÅ_éȺ@ìÓ©ûMÖ×ÜÚV~ŽÂ{ž|ìlŠ6†—y«“`¶L0[aâÀˆÀì1‹¥ðïeÑ+E‹КÖºC"AéË„ü×}©`ç Å Ì‘¦ @ï"Ç\cÛÕŸ(vø´ÊÛ;6/'ÈÃð£y"¡€žœ -°¼¼¤N -*¹ÖT`F/(<ì—·f‰´¬Ác´¸‘;eû§þÉ(lªä©o©XÜ(Ζ(ƒÓ¡?ožY0²ÿÁã*ú#dò½&±r·m¸,ßÝÄ.¸ðtز£ùÉSÀöÒ Xõá‘O\`$`Sž\=š¸óÎñÄïgÁmfþ…ôP€ 8´›{N@s¥V=S‘O,x…þ *‰p žb:|Êüÿ/9ÈïÖÇÿ¦/$Svÿiüo†gô P [cäÿ‡§€‡/#¼‡^ï%'m×iÏžQ#‚q‚MxÁ À›ßùΛòù‘ÿûÿyç­·þâÍ?·^€€~ôܹO% …þç>~N ™šâªÞ°-,%•=É^[ˆ?L‡wì´ë#ž|ßÀ”Z´ ÷mÙ’Æ»bÌw!!d þš•dÀ@/íòÿø Švb‚A3;ƒÂ›Ì$;Qb) @¶çνƒY -.¹£ÂÚ‹qØð]æŸ;öîÆy=>Á_Ö€yNq!Ày.0Þ û¥šq‰²0,\s¸häh²0¤_âÝË øgc Ï­Úb/ê -ÄJÅÉ#³wôn€±°`ÃêÊ` Œï‹£ªí‘壵µëBRlµûû3…øèAKtù@’uwß -˜&¢÷ÝÊÝnÈ´DÅHøË˜zÅŵè%"¢¹ðBõ(i* °?²§ö‰»(ûh³{Šùm/¹˜ËúÚ?§üë’—ÿ —ë+ n‚mm‰åƒyô Šò3S6 -¹‚éÿ–’,ªô‹ùüñƒ#A°ç,ˆuÙynÞÜVŸÚeÂ4GøLh°mCŒûÒÄ͸Š€ÕK_yöé (‡ÆîMü~l1ó‰³g?áÈܨµ¼` hÖD "pæ Cí @û”Œ8@ë `G`ÿÿ/üߪÿæà?-øda`+äÕ&[Ã8![5Å1ý À­1­Ô³ŒL/W–+Âþ›õP®»(*Ï­ÅÜ;:~“‰0kS< ­È÷—ÿÿÖ›¦˜ :ð焼ðÜo>ñÑ}ôܧ=(Q‚üÿñý8ˆÙŸ¼Š÷™,Ù4hlã…äC¨lH­f‡u_‹›ïc\O<~ûëvPØàs|ÍÞö²“¦Jn -@XásPЫO@>‡.MD»ÅX¦ÏQn€ˆcO -ÉÖqQ†òÁ‘ägŸ6O&$s?›ÍB:;d_ØpÇm™Óœè 9 1Ï–—8‹fÊÍU|¦Ÿ+±Þš…©h±´’²€ÿn„ÿ™Ù!Vul1û†ú¯xÚ øgc£[@¨(êv{¿;{—9ÿô®Û°Îþemæÿ]!ç|ôÒæÍÍîä‹ÖÜïÆãsu¤Ðv­»öò¿{å›tcýå›ëZÛ\ÿ£^N°K²^¯—¤ôÂÖBñ4ãí,K‚Ð’°Œ_SVÝòRt:*Lv7i›/o¬u_ÒI¢b·Ø[ä¡SÜši··7K¹^ocíºŽï½Òû²Ò¨Ø_îv7Ö{J<z}㕯t —¿Ì(½n*lMŒ¡×]»ñòËøÍ—×ÿÝ—o¨ä76þàwæ£ÿÑ -¬ »×mX#¬=A&dú¤íA_Œ]zÁÝ©G7z×£…ro­Ü½¾T.ŠJ-–OäóÇFWÚPt+¸,€Ümn}´ßq -$ V¾¸+ˆ½ 1Ú{¯€ýè¹Ï$ -À¥ Óxûãw2:ŽK†ÿgc.ƒÒ5c‰`x,œ,®ªA4€ÀLp—Aú @»üo †û±¬®-a¼pÖâû*ÃíËÀÿŠ_ “^¦øÒ¶šú -}t,—¹S Àî½ÞC À˜|üÑ]ß<¡.Ž€J/3´Ncf?ª*>5ÉÂbŒ£ïÊbö‰r[²ýnüÏüÛRœAj²MÚfóPÔ¤ Z´WºìùMÐË ƒá&7y`@;ba`ôÀwa'`kÝm2?’ãàáx­ˆSÄ‹!@3Þi³a—úY*›83YêT)sÊ D@ø02£wrö-€Ä m.³ëâo°‹Ù—Þ7åÄ©) є䛼bÛ øgc½õ[Ÿ„_ÅùÂ|±03™Ÿ=ž?Nou”õ|¡uK§…þ%@ï²!bép¯{ºTŠJQ±4_˜ÃýÕÞ÷môðý×Ö„Ô²%ÁvîÔ|F€’ÐÑi¹ãù¹B‰CŠ¥î—ÙØc´üè’=P;º¥ÂCZ×"N·òÊçææX‰Še‘ it¢+bÒ -…ùùb飛:o·X:]êQÜBáò‹Q©KÁ ¤¤@Ñ©Ëì³’?\˜ãT*ˆ®1Uòž!½r?õP¡‡| ’ŸVz¤•’B(ËÒe½m”ØF„#WE~¿U*äfЊÅùE‹|ÈÍÎ>Ëñ<³ÂÒ‹VòMq³r·m¸­^Úe„ø(ŽŠüú¥ÕÏï€ݼDùŽîű?{öœðßú¢òÇ÷²Ë%€€üÁ8·?)ÐîkÁ%GÇ]ýcà€{îÁè ³™¸ùß;ö ü¶æuÇìj%+DîûÿÍ€ÿÏö8`ö (ƒ14l‰€Ü¬€€x €)÷ŽôCæ±€ ð¼¾úÚ¼ó!¸þno¾ùÆ 1>|ÔÐÿ& -€Ù. ]––$þŽ·˜[n(íP Xk=í¹ûÖÔVýc=IÓŸ‡)_“KŸK+2mߪüf1J!Ùkf*øvàgp¬§v¼ ”¶eãYH‡Râ ¸íJ2³Þ‰“¥Ì6ömz¼Ñ‡¾y‘B>}¬gÙ/(6­„Cœ:ÝÜ,eÚldDC»†`¾lW·Ó øgc3“·>É&ôž™Ù÷Áýwì;pஓwMÈÏÈÐûðäáÇ''çš¹ßW5‘"1Ò¹qØÌLnæ~e #ïWÞ²Ã3‡9xæ~mÒáZ×^å%;VÊÃ?71£­V`¶Êîºë®öï»ãƒûîÒ—dǒЦr·m¸­®òŒßaošü¬V­ ÀIÁ0£Ý_Nн{G¾_¸@ÀE€¯Ä -€¸ðP¿oaÄ?}ÔäU·…i±` l®~£q¦†þúCLpG¸€eãæÿ-ð/üÓƒÿoðLËS7ÜÍð_€ âW›Íf?ÀCv*À\mµ‘&dÿÕiÀN -Àî½ÞC À88?ꈿmnŸ±ðÄ9aø „8p à·EÞü‹¿xë­¿xë/þBøÿÆŸÛÓ€m(à ô9J3- (¡VM Ü"„wl­fÍðÝcüöeÛ¡WØf)lÖûk¾Ê~?Ê_¾ê¹›0ŸGðxÝ>åõ-è¿‚p°‘f†×¤ !–¾NŒ3ùž ðê™Ä 9÷mðŒÁ<3+C,ÄÆ#Rf—KÙâË–õ´¤4Ê.u&+"SÊ”©hÒ ™ìd©“¹iC0Ja[>°µð) Pü³±ù[7ÚȱùBnò€õÈÍâ³æ -3ÅB^^>6'ï¼—Ó/w›qÙá˜ù+?'§W«ù¼œcùçâùb:Hþ±í“—\Œpôó…Ò©‰ÞåÒ|1ºLH7Ù+sÙÜ\©?g¬ÏBc(ÝŸÓ¡deÞö|I.=ë0?Ž“˜bÀõh{qæ~T7ùæ”D¾¾JGÉ“¢îŸÐùò§tZJ^re+œ*˜Ë¯CuzV(*‡ÒD·««“ÏUªä)|=§õlE dº†¹çü'v¦ÙÉ‘‘Frºj—íáB!€ÜmnòóŸúöCžFˆcvkúËýwïÿÈ‘O½h y_úÊW.]´ ÀÌ(ì €~Ú„ºÞÐîÔjçëm(@„‚òDÛ€ ¸Ш…X¾Äâæÿg:ÏîǦœðJÅ||Là?5RŸ±ì+†ÿòùu‚Šð_¦í±&zÛ8Ö °ÞjWㆴn»+Ê 0DÐÕÞR Àè½àý8˜?®×–¹À½÷ -ÿ÷ì;rôÜ'„Ü/Ð`Ý_}íÏÿü á?²¿Ðß üMÀrà£ö·ÍB ¾ƒm«åÍvÞLïm3Ÿúb@pßÅã‰[Âæ-< N›äÀDF¶—&)“žeŸÂ,øþAˆ7ÄLý¥D½d;Ol;‚€QÌ଄Âjíœnɲ¡½™æäa9m5‡êÄ茩¿?亓õ÷mIVï´𶱓(þÙØ+·n›××zÝîRý{áxþ¤Ç¨m -˜çfJÝî娫Ý›ÿ~ƒfóÞÆïoüþ·nôz7667#í-*Ua#*u7zt¡ë®­­m˜ºm-úëßì•»¨õëëÝòK7º¿SÊ•6ÿø•^¤S¯ÿÁúzo­»Ùë) ÝñigènÐPþÛ=-ù²Î¸Q6: Ð yF›ÐJ4×Íj\ÊkÆ)û[b Àt³¤ùÀÿT\ÿªÁÿŒ^.º[e%øÿ¦0V°GÆ -€ö Æh½ 2ÐvT27éðîcô£¼âÙ–9‹{ïܳwô^pÛ Às/\{Õ$€7¿óÖwÞ~ë;o½iøOÀŸ¿ñÚk¯2À××ßm+pg-™¼òöÙ0³Ý©4ZŒ× °cÜÖg¼àËÉÞ0Çkñ‡^[²ðÃôJeéåMJ þ§Šb‹®¤tÛ–ž|Ӯح–óÎgìf#e»Ÿu«á[s6?U|fÊž¶Ø1œ¢ëÖ1ŽN>üH_OÙàÚ»6ÏÜ2e>üÿl,Šnuf½Â°ÇÞ}ðxÞž±³X.gr oçãä´f]ý—ºkKKtš7[Œz¿;‘ú n…þt¡=Ú®]ìáÀÚ³¹¶~#êv 3ò¶óQù¥µî7×,™²Ó%îø@ÂãÁt¢Ó3à´J \UÈ›0{›óÁ•ÁõkÝÓ…™®ŽXSŽnK]¤ W(ùÆáÉDE ä× @¤ "J´-*½vÞPÉÅJEî^ß(snƒöðà%žz•¬äÅ¢[è=x¸PìÎØÅÊŽÏŽÜ}÷ËŒÉsòýa  ._(%:v\’dA((üŽ¿@3ßo )”býd¡Dž“eŸœ ûµ®Å›m¿owÛ6ÞÄ8.ìró |’•–Dž:X5,0³óÿ´-@ñÏÆR“‰Þjô·ÓìØÁ‘ÙcÇOØP{ÝS|`à/÷l6¸?‰fa£Þ¹u‹"½"ýõ †-ŒÁ†îÑ[^ù#š-•ÿõKìüòœ=”'¿¶¸Q^\×,Ö!‹K<€7¯5Íx¢Oð1»Ή…øÈU†do€ëÇê#œš¥ß?›aDþr/ZPzßj剺”˳-.'gæ7BŠrù±Ç<e÷Ò—ËÌ–Êkëºâ¨W˜È—Šù]JÞ»Ñ/9M¡ƒ #éS%õó—''‹‘ã?#,ä­w X IÍÈݶᶳçÏ›Sž¢íÿ3Ó·Àÿ‘‹Ÿb ayÿ0~$36¾S@LœtbÀÓ¦„ðò‚!LÁ¦3Y` 1Ø©ùßà_fú¿åáø_oÉÄ7P‚þŸà¿ ßŒS46€¦m1Œ`1nþ,bÞC/€wÄßÌì u÷Ž;n›ÿomôüÓÿåMQ€·Þ|ë/ˆ àOÿ¯øèÇŽžý¨·Í¬öïOnïÌQ}tœu–ãwâÀÛJjâÃ?-MqŠÔ<älsmþ{yû¥þÿ±÷÷Ïq\W–( -…;$Q lRâN4‚d[`¢ D -‚Th”QÄa^A* Õ˜ÔR4øaÀ`È -? ³¯~x²Ô6Ý3×ÓÒ“]„ìq%£éÛì+…º/§î;&c¬¶Þx¢51sçGé¿xk­½OfÖPÔ‡û¬¬ÊÏ“'OfUæZ{Ÿ}N˜M7‘þéÕv?€êôŒ›“\‹\#õ=oâ[A$L§{œ!²ÔX‡ÑÔÊ qÚUy’+?ŠÖZKP…¤Ú]õÜù±eÌV C’s+À•u¤f-q;.4/~:Q8ÿÓÀù¥°ÈzSôtÊ0û´¸^ÊÂÅ!ÑSj’¯7ç 0Øi~[Kw€1ö‡E¤x†:BįùnâjEÛJ«X…ôÙýc…''' °ÇKÅ"·a#Ç* h” <uWEÓ}cdnr³Vé¸PÊÞ;*éí:3Di}&?Ña¥TÉ9}ªPRïÁ~¬(êUkKRBÌâÌ™6Cµ”¯K”Vqâ(yþØ _(•WQòuªìˆÔ,&wâ–'ô2…¾¾\4‘‡èêÜ9’›˜â6œ™ -8Ém¡9Èõøœ[××LýU°2o`ÃV‹‹Îþ àö˜x^¹üÊâì ûÚ»g#`TýÜñçÕ±ßXРgzÈ«äyP§¸? tˆœUWx e'¸eoÓþM;ÿ“þaá8ÀLRõÿÁýO@"2”K} €y¾m5à~:Ž>»i+EUÈøÓÇø#{Cà©yšðµï ÿïËÀ:€¿ý‡ÿ ðß ä€  %Èþ‰íooÄwè9 &›"<ãkf[“°e瓪¸ÉÃØ¦6ÄÄ_]`sHìÓdÁó6X)¼,`zÌOÁf¸RNúØ`£>t-Ú^>6¶àTkb(ÿÆíþÃlõ§¾Ø -Mþ4ÏÎðzzØ!^³Ž{€Ýõc'Ë×ÀNÿÍ dß¾wùö{Ö±ÝB8d€Îã‡2&´‰)ùIvv[ WdóÅ( w÷â:ð·Ð+‹ØÂá°j¸ñàTüOs0oޢɑÅÂx¦»«³;3šcw:ÑjùÐX¹ZÕIÀ&mMY_öØ™NøÞ¼8 Wœ*Šæ@»Éœ6þ/”ÇúìM€•ÊõRTÒ?€ƒDl-LÒªÖN˜‹Ù¿þþÃâ,²8žbÉ™R^ŒXBª€re},[¾J’i?f A­`%'ÕGåCYN¹,mCÞVÖ,¯®JY%§h`Éó½c ~ÌUV¯ãdx>•œ€«x,. ÅÂÄ(kä ttÝ·ªZ¸Þ(¿nJ€Y:ýM°+`nØN - ó´þ)äx™Bœ£`_ÿžžAoCVQ«Á8ûøñÔ¹ÿÏäh«“=xß>RꀻR„JE*+ÖÅü uò?é ±qìÿ'ÇÅÿ ^¾ƒÈñ'ôÿs0‘¡lªc¬à1ÌZÆÏ’ÿ±ð©ZÜn YgSð‘÷îž}ÃÃx²’ÿ¡^ÿHþo?€ €"€1ÿ•ïÿ¿<iðY}0|œ&ÃÐ -˜Ê¾µCLìbl'~7ü1öq* \²Dœ÷‡ùxÖRùÔrAxDÿ¤–4kI~ÚÚì -¤10ÐÓ³{wOO?‹468à ÷ƾûs|9 @ò;?éþ$ݪ„N½R3åB6[Z-‘Ó%A¸‰Þš%WmŽñ¥¿<;nŸAr̤JŽížkÅý@”/<É·”W¡”3öˆK bâ‘€©Â„<;UÀ _Î-@ 8ŽT‹¿~Љ°ÿÓ/jÞ½4ÿþÀåÅÙzzz@¾ ÖœQÿÿÇôxþø·ÓF—Óz6ò×DÈÙŒtŠºÿÓÕÿ"ZR7ýÿ"éÿ³†ÿÀ£Ï›{‘×YµàÜÏóæØAêúp€ü€èŸQ¿‹wÿã¿á@Côží{íM«ßÿþ÷µüõ¯?ø‡øÇÿ - ð‘ÅZ €B^íµWc À05ßoæ¿S `4æHÈ®1È©4œÕ~"lckº|Ö©ÛFÆâ©Õøb`ÊarТæõÁvÇ*;ž•ÂË< áîNÆçµù‹¯ç‡ÁÒþO>uŠoJÔ_½8IP× Is_Ï=!O€Ýúïsöô óãt–ì>;l²Ø3ðL‘-_ºaÀ]…Ñ2ÞgÔÚTÜ‹Ë+.¬\ÀÜò‹Š¹q Öb˜%W1í½žÈ’a»ür⇢‚´'$x’\Éeñ¤Z—:žé iÈüõ,Rc§åe»B'q®8=®Aá_•‘à>áTüO‚ò›e’̦ƒÙÓ -pÑT!G3µ+“ag€…(w(Ë.ð -O™‘mù)Ñ”æ[sŒ-# -Î`¥™Ú\(øË„¹@Ë›ø¾^¬Œ²½l‰—£ÏœÉ+TSiâÅZV<ˆI±xäJùÐá¨<£²ð˜8K ²;ÆšWTŠ¥P‚`ç|ØŸ'ÈâªÑ*絞;DÑ¡$’ÀØ×É)Ðىыë¶2ÊõæQêI|Çe(¬qÛGï'ĈÂZ@+Š‘yÆÇsÝ]¸²ã¼¬Üb '¹-4L|°dmZ깂 bÑ’¡µ+èÙñc¯™ò$Lû²˜˪H   TF•\ëË’Ž­äÊ›9 <~ÄÎ -Ù»_4Fú§ ˜(E7Tr¼^—H‰j<|¹C¯¤seg`…r’ÛBsêY³ouÿUSy8à.\r° ÿ/Ìê·ï‚ñ?òüÁeèé¡ÝÄÎÿS0 »âKð(ûOŸyÞ<2ЪÁ­ÎÄÕÕäeó¨1T@ûŸìÏ¡ÿËÿàÀ?ÿ×ê{óxFýrèxÌš9š—ˆc^WÇÈPçø"Þ ‚O¸¾áp<wݳûËûöýaOÏ÷Ìðš<¿V«>ú¯ÿø_ÿë?šàoô7o¼Î~€,€V¬ìÖ}ûÒ€g;„À¾„қͥ94ng8Œé0„̉¼IÜ2Ói¨kYsñǤûhΧ6gÍ8CÞçDËÖ ´ô«K,ûŸeä—ãQbnöÌÜÜ(#Ld*/&j@ìO‡ý@O;2кçn‹ÀïÂ74÷ ž>)£–ðì©S³§Nž>9úÜÂÂ3#õ5ãÆlˆ—ÈïÐëK X®äTH¬l -ÇÒyÞôd{¾€S¶üÅš‹”ȃ{]À*™ý³Ãr& Ï/òm³3tj˜  -`û^÷@éÑBŽ70óPB”9̿ҋ‹NÆÿ ÿ·.ÈräÒ‚ÞXÃ(€ÌèÄDTÈAÐA?UœzŠIª}®Ù^VÝOâí-¬‹÷‘#gQJ‰®à¦b™¯íÉç£lo.¢ÁñàÑRÅ@ -Öw/ s”ËCyôäLn‹º•Ž\ÁÛÆÁŽ(*!f®ÌP0Èݯ¢c¬’?UPõíóés¬â°B«ø†ð`.sïÒã…ÿ£®J>?Ά\)ºF%ñT8ú8†B‘Ê…‡ãÚñBùСB¹½0Ð=:ŽÕê(XG#œä¶Ð²ö—– ëk§ì H‚‘hF1žù1¹(ÆlÜ -à6cDðé› î€Æ8±}âUŒüÇÀðPÿøŸÿA -@€A€Ø»ZùªY>žëâÈST)ÛY«8J“ik{SÝŒw4†Ô,º"ñ5âçj9£m̃s–U\ÊøC„•U0­â€»SÀ`ÜlHûè4of1®~„íìô—2L )øÉÙÓà~ð?]áUÆ?=ù2¼aÝc.܈KKàt#ÏÛÌëMîãL§´jÄ"á¤!äY‹à¡ -ƒÃ¦ûÝß¡ø§Uè¼··ão‡ äÿ³òà“vCÐ0C@ ԃΧãß9ÞtК2Ô®Ë츯³³ó¡L&“{eûÈ– iá;ST•·ñf¢|oޝîµ\”Îè@KXÇŠ|.1`’½ÿó¥~Ó…UÍHÄo@D¶'»*Ï™Jvòº­ÈëHBЦåN¬j½J›óC.\=ñ¢‚"!Œs%5OúÆ,³Bñ)|¨øI`'S(ÓæWàáKù|®›àû€±‚Q–’ Þ±hByM¬°šÍVŠ…‰Üh&ÓÝ YÅd,9]*‚“Üšc‰~žaƒ>æÉâE×Ç -kêˆþý2»”Å;Ü™*áñH¾O*´@`ÿ;:-”åTÉ=füOQÀ’ïÏÀ×8´2ÒÆ: %²ëç'óT˜™Èås“øŽå -P%HaÄŽ<¥ðžËDab¢°žÉ”ŠSÝÝ]Ýì_A'ÈíòÈÝwß ò—àcˆ=ÌUÜ©AŸ˜K*)Õ÷p(ÏÐÈvC]üm#¹Ñ·¾Æía°Oí²¯³=تû‡lšÂCÒEŽWøŒ1?1§Ð:ÿÆößÔ˜ó.ØfÍ=4…!¤øž~ºÃM€OÎR$heÝqë€ÿY€;/e§ƒåp£¨òÐpAÁr¾¢ -çWä°{Ù(“ÛGæ<µ“|Ÿ]ƒ›y¨¬1 Ç¸@.Òÿ=ÕUt4÷$ü¿8àœü;…S¿P~,Ö| £"}Ïx¦[ óPf$“•öõÙfÎ"oŸa{A±—¹¿'(Ê)Amgã9Z½|·îØÿ…üPoái±è$é_®ts™'‘æÉÿE¶/ŒÊCù+ì”Ç7(KîÇ•Y= ’Î[´^9ë-\§ÿ‹3A¥ÐÀÙ(Ú?ÆÆq[Lur¾òŸˆ”µ µ`PÑ yÒÀÁ¾Æ˜bçÐ!k<7ÒÝÍ>–&L.ÐybQ[ýlÜ€¸ üÛ1=u€ê(Î`’z5…îí@ÿA,ãÎ]™=À†A= _ £z+¿ŠàÄÿz¢Ÿu4ß«¶»H¬kQ3GŠ! Œý›ò¿ìÿ´Ðéýé1ýp°ÿ½PZØ’ÁÂýÔ -à,¿€ï0Gp›­n+€ìn4Qó¯È6´ÿ§<P€ÿÿ¯¿ÿÿØ×1ð5U<ü0»tÙûåžöÝ{ öˆcÿm“4Â*0­ÒÚ ØLÛݰÐc¦×„}’MÉ o"ÂÇWcÐZs(‹æ`ø‰a…ÒÈgª=s-xH‹zóÁ}{a·[~ ÿIüó)@ì°¾´éXv—=o@3Ý1jɰìÓ´`É<ôçé~g¶´óãç|ÍE%úÎ{pÐùÿƒä æoêàTA€îÀ…±ü©èÙ€$iÙ`F - ÿŸ@T9±_“Á¨‘Tu@¦+“Éü1@Ô7¤n‘Y‘méÞ0¯™J¡I —¢~Q(Ñq,úÒÈEŸÏöM³w\Ö`qv²ºÒ@øœ¨y Í}J”-ŠÈÂJ”Ø×¦*yüîA£jêCÐ$|³€ØëYZä µs)LÌÈÀY[ƒ5IÉ£èHa‚9÷Ê8J6à*híÁ‘ªxMý‚âÌf†!#€L¦«³ktB¹êD¸}zËÐøÀx~ñ¢*SS|¹›q'ÎÓ~:4(?±þnã•Sƒý{öôì¨dgu¼&L|Çž{¼Ê¾tY ެR/û“ñC->Ø ëŒ±ÿÅ¢ø’_TÛÿ gò>$ƒñ?äÅ1ÙÿÏÿ‰å¥ü‚™‘ëC+ VÂú§àmØ -€ç޹ÅÐø+–¥€ÜCþ—à £z¶øõÿæom)à7^ýµïIPlW‹.îNˆý1`ƒ2v¶ä‚Ϧhó¶`DO{†»MHô\æ8M†Ú$jÀàcËI£ ÐØŠ¨ -vg€ì1(’Ĩy›Iº7½]€³e¯‡¯Æ2ÞÜt@lflVûÛ2çâ[›CÔó¿Ï‡“²™Oåø&)^A€w·{ . èß=Ö@ˆ0 èÞ1€Å8nÃÐ@˜ÀêŒý5S[g¾‘EÂyÇ€ÁÙ<üƒÐ × (Àª¾éýìÇè<$@«]Â=¿sPë@8lõ4¹îÎléËärãÅh([.Àœ½aWó5ÁäG¡Ö€âŠ ÂhºÉ‡íf@{æ1Hƹ¡¡#HŸÏ7â&@£\ˆ“ã ÜlCE•¡<(ÚC -€MȸæÇ'LõÉ<= Èf**燘eÅNžˆ®f¯C€œ¡:¦÷ N -š–œÈî›&ß?Ü •ÏÚ{JÉàãåC}˜ËeÔ - {T!‡,`¬uœä¶ÐxªÐº×Ó" M¦ì±þ_‚0@ú)¤çBí[ÿi¨ç‘•ùáþ½{öì˜õ§ciÔG@ÊðÜño?v³)nÂV/0Í}Œ4_,Îö¿roÎÿ°ÍAû'Àÿfþ?VÇæñ•=ójËÎX%¯ò r-%@ 1¸Ÿ6Àù½Îâ¯ù:%ßu˜Çøð—ì(Á?ý¿þÚ÷¿ÿ½Wÿ_À´\Û÷’ö…ÄÀA¶?dE;°Æçn ‡fÔñ `V|PUGñ\Õ4ì¡©6l*±¾æ­ä¡@y8cÌO4‰° Göç¦C_1æ€ðV¦NÎnî`UFFÄmä  . ©03Knâx&}‡‡E<êc¬à˜b—yð/©òPÔzηìHèß=ç¡~ÇÀI¿ -Î6áøàÎLC:Õ -€‘o‡#'ºHƃP?ºàPÒmmL¢Âƒ¬oÏK€ÿU o\o×`:;t©RY2¥ÚÒ0iûYµ;ûô3S™ Øe¯JQdWÿˆÏËvyäÍ.'ÿC!TƆhµs§P†)•\%žUsu„ÄÔ -Œ=13é -Ÿ§Ò4/DÙýQ… ÚVà[Š—&s“ºòð8ã¹ñò¡^lÎŒŽttwgFyý”d*H&'¹-4‡Ø^|ÏE=X|ê€ó¼9Ù -p7*6ĨzN¤Poý/²’`°»=™õÕÏ>+Ÿ\h> òÓIW)H€”xéôU§@®øÂ ²«¢ÿý7°ÿEÿ zÆÿ);r9s%ûsÙ -ÃEÁ–„Ðí¯ƒæ~ì°w0ð‹}€ó??;Ü(ö¶ƒÿ_ý?Ä÷_{Ý+ªð†½ñÚ÷_ÿþkHúØÃn¿{ïÞÝI1°¯žáÁòû -îüOÑËË"ôZ@‡¿_ÿZÅŸTZ›Ù^ê”jÁœ¹þÍüoÅ`UµðáA!Ì`ñÿ—y†ñpÀæ1Á ;ôóñ0þ¾éÇK>õ8"‹„óŽ=à~Õ4‹°f€I €{æÏ‚À]¨-Åè‚HœgOÇý=ÎÍ¿ 4pbÃ&æÇ2™Îue2læ yð0al¢Vk<7_‘ àR>÷¸UŒçóO1*'“NhFûè +l>†-å&}-ŽÊZ~È€² r{±@/û`’R ÀqÙ(Ÿ¾|D_вCÓ<5S/ßékï`™rVòr´èRÁš#¢äÈ)?ãé%ÛGùÞi#îê’cOM‘‹¦Ú—_¤âÛGX¥ÒÝÙ•`Õ·•Cؤ“ÜšC†ÅâE݆xª¤¦p×Ë='À @ë,Fxx$û(­ýäèÙ³gOÏàœ¯8vŒ/Î?#@’‡Š__8a\ï -@|X­ÌD××ÙŸƒ³¶Þý§e"ÍÿìÈãÿÌûOþ×ÈG¬âûxvUPÔŸ@úשlæøŒ1d÷@ÿa¾æ‹Áظgß« äxíàHã7ø¾@Š„ï<öð†»ñ0oßmÔOÀÀ Û×ÂÙÓêÿoWÔyª±²ZwN÷¡~F³¡Ò?¬ÂâF€Dâ0hIgÏó c’‘K€ê€” ©hÍ€Án1l¼‘@.€=ÊPÆ4Ä“û9g==©~pŒ²-`³V8Éj€N—'ÇLåÀ™´â¨¦ÿàý³oqgçßœñëPn -öŰ‹{‚þň¹)ö”+È.Óx­´ªÚyÑ›¤Áh4 Ä>Ê?©>yAs±û]0ÒŒÊù¾<ÍfÊ„DY@0¦.cXÛÀƒ•¢¡Ã Þ'E³<6$ ƒÂ0¾¦³»M•dA×XÌ[/ —ÕÕ«|ᯑ§€’Âq¡ Bå¤K}É­ì‘Ú;p‰ã’£TÞs`®÷³dôf§Š‡zŸÄeÍt?ÔÕÙÙ5’ƒ>)³ÐqÉä¶Ð¸ÿÌз@ŒÂ#{*PÌH=š¡ö ®{š÷°ªv× €cÏž€ ¥’nÙ@.;fTÇðS¥Höúzc})Ðù_;‰“ßÿ?‚ìþ§ýÏlÜþ?þü·µL-ø"p´Æþ¯Nƒ?E+€Öc@ñÁPoúÛãØpWšÿ¡¾O€A"@†À¯Ûû‚^=û˜9:Ò.<áYã¯:~0oæ2¹_1çmÂÿÍÀ?ÓràtÒv??6onØÿ¯é&ÓÇ¥ÖØWñdlƒ¨´GÈúuFÚ<@­âöHŠü41º]9úL‹+Ä'>oö:pCU @U+`vðä1öp¶¹ €óýæéù³Áþ‡¸Hkcû5H{ö8;ñhìœí 4ƒÍë»3¹ÑÑ‘Qðá“}C|bñH»˜Bð-{tDz·~T¬”ú²Ó´žéćͦ~"pöá7ÕwBRý<[ €SØT0¿; öæ¡@åÙ±·¦ò–±PŒf0Å “àu(«bGÖÙ¡HÎ -îÎ׋×JT`r­/–g††Èÿ´à麠@Ùñ ÅÈŸ0ýTáêd¯Â±kX›£ÓA"€üoà©3"_t¨oüŸÉô)º’Šlw83Sfxà$·…æ ©¯(ô¦j&t^¯™ŸÐËk<­{¿Bú·*€Ý{ööÌÖH˜ÿÏ;A¤€ÙË6uäßç@ÐÇ^øÉ:Ôp#'bpéô%w»€ h%Õठø^íEÿÓògïvpv'tŒÑt 4ÁÿŸð©àjãØ +ô:À*Àçü.cx2½~ÀÙïžMữ~v>ñºdÀëoüèõ0ð5@ä€àxà½`¯ö8 ÍLï8§âH¹Ê{úºj4\¼m§1Ègü¿.‹ÐmÐ(¥`óû F^e€™Mù?í°"jɸ?Ìõf9ˆHÿZò°‘'OŸb/¿´î¹ZìÙm.{o¿ƒw÷n¥ÙÀ [O÷¦}6ò4ŒˆaÚßÊ&(€€ô¼)ÅÀü7€ª6õôô~æù&EèŒ$Ø:˜É fOÒ+ê W#¤<{vÿÎ\N÷ àt_™Š½Ù¯8•!ÿýiGCùëz0#ÛU+­•¾¾vmm­TZÅâ T*­U¬Ó3ûȽ ÞjþÊ…l_žÝò–WéÉgœ’ƒAÙª0Úý³ÂIV+…!H —Š@d½ETX¹²Ž’#íS|ßv U*‡ÇÖ­/¡#{ä‚"ÿŸkkWfV¯•JÅ™½RÉf§)E,g÷bÆÔXQžÎöŽáfÊ‹žß……Å7h…Jå(ç†ñRf2ÝlȦr^T"æA8Ém¡9–ù,¸¸ ¾¿È>1ЧKöò_¶|qö€Þ”~R4xLÔƒDɰ‡€pàÀ³PÏÊZ ƒZ1Ãr0€ISaKÊ X@®â«là'ö4åVýëKû_yÈþý³Bà(是²&ÒjÀójøß¶â ÏBm°q+€–cDñâø0ªüãôHÿU ß=ûIr¼k)€×Þxý "áÿWÏ>zÐéŸkõ lèh“@‹üÔÀ×$»T›ñ?ù ÿBü_—WŒåeÜû¬fŸÆôom7… -€QªÔñ*Ÿ©ôð|FI<óSþÞ=‚q‚§)€ñ),Sìݾ{û^ÐÝîí»õN~|{ ‹gE²ûç-äg©xÞÈþÅÅÖÁ ÀP[Ti˶ó~«A"ªû û#³˜ÿhÍÇ+‘€ôFgd˜Ÿ;£2Ôcñâ…½ P[=õé9ž%’½DWPüß3@þ§ØÛC <6‚yÈzE'è/o½åtßkMP)_[]¯”¯¬]aCÀ\1Êdr㹉(Û—-\ýëëï\+W€kà´)°èÚê*Ûä—Ëë -ÿ_‹F¬r§82=U®W´ÌÚ®Ž*3 <0w¹òË íÏ‚fWa¢W®]³ºðDÉÀšér¹²Ž¢TÖTM‚µS…ܡ޾l&—ý*»YVh%ý… -J®¢Uœä¶ÐK¤yŽ0!é§¦ìøŸ›ðÀ` ÞÍb8¤€‡³?ø_€Ý»{Žö­†þcÕ -€Ì FdÍ útÚtM£nEîò?Eàÿ„? +§œêÈëâwŸÑÇWH˜@h¡þŸPÙ’âáŠq••ØgœûzT/žòˆèdþÀþ¶zp ¿ -lâyö`ºgïîÝ{vï†ù?ÒüÿsæAXd༽{X§n°qLqÐ œé#.¡ƒ"Þ•à{;<ó^œgMÇÎR©ø²Â˜ÿœ°&iðrð÷Yb†Ú¦¤|éÇ©ù9)!R?=®èØ»wwûî}ÃU]¢ÊþÇ!P(˜óîøùÞÚHäƒ FÌ3 c—Ú:”Éäó¸ŸÛÙ¼ ¯|l’ṉ+<3ú£K>q Û³‡ÇÆòù±üØaÌ e±`àú1nÆLvl(Ûû@þ°šì±+±,0„õH4É}³Bž91(€©²=84Ï>”‡ÎŽecn2‹ ^r/!Ž‹,åÓ>8ÍÂÙÚK5 :çŠTÉŸ.?8¤’ãð‡s(—œGÄ¡ñÁI`Àæ, ýáa™LNZÉ‘gU€Íì%Ïå'szSÏl¬÷òÙ> óþ]‡xÜ%œä¶ÐAôù>ŒÒ ¼Ïp+ÏÏເd2´ìèä0—Á<ìj=ýýGaô+@ -@|@JPþ¯R Þ#LÄn¤R>1<9áÆ?Æÿ;ÿ3þÏøÿOp`Ï“E"®þOó¿oÔ= pôØí·h!€÷˜–ge2Š¿â¬ ’>?>® â}^}•=òÀÁvÚùMEî#+V\éŒù©àÿ‰& 5K—8«©Ø´¯˜yï´ï^ã{›Òýϵ›‚MþTrŽýXÁÁšk ˆQ¿A€ywht„8'új€{`ö÷°KÓ`¯Ý»O¥<Lyò¤3ž=à<·Ñ‰o‰®_$½jžS/K5R« (°7Y^_ÎJ¥ñ‚ €ÁþáÙy‹É”øÔ;§0:a9t¨Å‹Ë+’#)À7Ù•p«  Ø[@ûn«p€C$¨¯ €1¿+À -`¨1@e¤½ìþÞ]íÛ:Úw÷÷öîê@]‡ú,)YvlÿC‡°KC íçŒdNfìýÃýCØ}?÷í뵡³³†íLJÍìÏþáÚQúö#OGòèí}ðÁ÷amïX¥9¦+“„­dVÂCûûpØ^/4Vûz&ê=ÄBªC,ºo³½…Þ?ìeɇ˜óQÑTòýœö£D5%ïÃnÊŠ;0;\î‰}îßõG¼ í»¶Ý½ —T…çñX. Nr[h™üfï‡QjOWx:º¤ìeïgó<…ìØáÃCy\rù¯=l1=Í·ÊÉf·õá’šÓ¤d• €“ÜšC&•ÑŸ^`AóôÓ* ÍS¤~ µôþ_¦`N)àîï©™ç±ïñfCÀ$¦Ò -@ôlÖº5ÀW¼jÌLxRÂÈŸôÏúîȤð¿EŽ”¡)ÿ?ë3„o´H ¡†·ß - y @6ûVå-uÀX£zѾÏ-À‰ñ0ÿÉùÒÁpöìw¿K§?q–ä¯õ=úðÁƒàcì¯xç{P¢Ï˜Dc&mþ§h F¶ÁÈ¥@ÿ(Çòò…å næ;߇Y ­Ùÿ(nâˆá šó;@è^F'ç¿A~ ¨Sƒ=í»=€u°ýA_ ˜"Ž€ýïöÏß^4ǹôêk°é<ÔHR–j¤W¿/ιQý¥J{ê?Ë2Y&µ˜ãó–±»ÓðR€®Ã©Ä0Ȧº€h*¤(öìþ¹~¾™Xm„R¹Ö½¶ZŽ&FGG39¶r¥NúͲV»RY1—ÊåJ©üf>;½~­t¥¼zëA{««•õõµòÌúZem}uíÚ¬ä‡òP(}øN†ªOÍþtmtñúS ch€BTø3òôtal(›¹².r,_y™é¹öŠ.ÍOáˆXw¤ü—×VW£ÒÚj©r­R©”V×*(Q¹ŒQTšÁ~XÀ‰­Wä€Â£äøL*ÍM(òU+ùÚµkå™ -Š~­²zíï¯åûò…òt„bOæs¬@É˫ϠÈ” %(äÆÇ *9ä0@ùcC¹¨¼^¾A_p -ý2ž{¬¢ p :·er|A]»¾Z)•,ÃIn Í!“?mô'SnX\^º¸‚;y¶x~‰õ¯i Ж¢ŽþÁÿƒÇúaø '¥pHô“Ý@ƒêˆœ)0’O€ ý› /+YUÀ HF¦…ÒüǧƒIÄÄ‚'#Hüdhò?÷Ápì¨Ñ¿ñ?hW‡àèù*ûöxŒ4ÿûfÂ×l °a+ - ›ÆPéWß¾ú¶ýïÖÈ­}£|ûúãfq~b< -`„9n´™ëõ( Àøß3¨\8‹r§­ÂÿÁ¿ìÜs :ý¥6 -U|n!¦MHû8j¥ú_ð“°غÑ€FFý†Ùác‹50\XËÿPô0@5»{ö2€ìIó€ïªcÀ¤)]rá´Þy°†¾ý¸8\Ž×ù±#ì~Ûõ[2îMÄ©R`"~íœj¡bT{¨ii€bþß×ÃMÐ`1FüUôߨÀ¹•~ö.ú»ôl ,ô¼ -Xãkv‹…\¦»;›˜`{ö¢î\¶®—µ ‘.½¯s7Š®`À[©|mMïê]ýúÚZ”후᜵×ý ìi÷Ihµ“Dzºß±íjEíÏÂòŸaïzPÖð›¸àQ¢üøFt‰íüUro.@{^ Un`ËÛÆE°ïõüPá:™-7*ƒRi} ÛQòUȉ|/K®ýùÂ8Æ*D.ÇÙPrÊØûX=t(Ïö ®™µc”`£Š‘Lg['Nž’AEµ2ny6‡Lþ´ÑŸL¹ÜÊ œ_Æ­û.FbùÛÀPOÿx’ᆗ˜?Ÿàœ FBÙÁwià>Áâ\ø:‚–:8”2€æÿ®ŽŽŽ¶mNÂUôþ—õσöiþgý?é_†9Ë=Íÿž#°'Íÿqø_ýCØý­R1GÍ -…].»x«òv­à)5«M(?8ÿ«Ÿ¯¹XÃ?òÈ#NøŽG6<èVü_Û@fÌž6›ð¿OC(ž,—âF¸ë¯G©Šá‚‘Ê ÐBùÓåN{$Œú ójûf¤©Ñɹ3)€qå©ê€öÀ:Xÿ˜Û³ÛèãóH‰@ÜËìÍÇï·Íq®õjP @ª,ÕHVq{S0—ØÿOp#G<ªÅ€@Q, “¶äÀ51Ò v^‡Ø P@¯À%ÙÎ À” 9ÿã ( -=+ý ÿ={v;Ipà|_£ˆ*Á“ÅQðÿÈhnü?á á±8 ›AÊìÿj>[^Ã"ÀÊ3Ò3àÏ[_C"°(–]ñÒò§\Qw…ÜãFˆ|q?ÆÖq [›Ç™„¹œïËN«ÅÚáS¶r†€¬z9 J.þ·)J¤Þk©(‰ÂS¼^Š®•"ë¨È†ŒLSZ}§„d__ýY©\Îõæ£I‹ Ï/ -Çú ÅûË£áðN @ëì5™3Ò†‰X°c €\¡XFiXF$$œä¶Ð2ùÓF2å=m嘗푢ÿªy+´Î¹Ðcšý¡Ì³Ò¯§û=5€£`Ç” ã&ñs‰ày(€o$>$#kV+2¹±ùÑ]ä|;Œ†=‰`¡‰þíScÿ“{q|ñ9ˆ›SGÿ¿çÙøŸœÙ&18R½àˆn²ˆ@ - Ë ×'²o5 -€·3oh™þfýû#ñ¿s>Èÿ;ŒþG¦{ŸxäáGøyäÑGÜê' š(üi„åÀþ˜¤¨´%øŸ¢!,0 4¨q<˜ÑÌÓE½:@¼oäoJ UX™«ùŸÀ’XPë8 v Sç9ÿ³@ˆ` ÀÞÖ°À=â<÷(?õ&ô"¡³4±ÃsmìÐ:ûTË©u`ø9ú|×Dx*mk°¸Øˆÿ«=(nM €§ -€a*Ð?d]ýj @è p•H%‘`åß0º»çwР³?á|_ã4HE¸‹K¥¯MvwuŒ‚üé“é¶µÍ2~t£-³1½ÌhÐ(8”ü¿z|åële‡r«…X¬Uà”­àx’>vÌ‚dù™žìË–IÕ( 1 öôEvÜG2ʕɡé2„ˆ8žEgºÒב^TÏc—PmÅF+¸-ÓYq#*ÃÊÇžr0|A%¯”žÁXÇzsåtÉ .Ò2±(@XÉ'ùÞ‚ÉÉB> A¨”ëI‡ 4@nbŸ@®s[gn\=#‰'Ýò´ö -œçÄG©Æý«€á³ó¼£ußmlvòOYÿ ¼ßÁÿ|î Ì.¸õO€/]°-ÀÑÁãÇO8þì`èE¯‘x!ލQ´ÓÉæ÷íêØ±ä‡GG'hØ2ýmäÉù ô_Ëÿø@&Ò7Uÿ¿çÙTü_cþ§ùOÀÑ;;[oÀÛ¸ð$k¸ôI€áê[ÕX·˜@P¼3¨R_Èr2­~~Ùì/O@@°öAþÆÿ²ü…&*€4S\´o¬êÑh] ÿ 5ÿJFÿU€ø–1 – вÿŸÌo·©æñ ü/W@]cjÕ¨@U+€=ê ¨g”Zœ®‹ï"{vÊe -@‡mè áò«²T#YEû^ -À<ÆìÚαy`Ÿ×Æ4®PΪ6@ 0 /€·Ío»ü†{øôèéwšþâàä/8ß×äW òdñê•Ri"¶Aö7·“­@¬$5ÌCÀ̧‘Žû;cÃL‰Žm‚[J…¡¾|À“¤Ê\Y³ ~²)Íh|ÈŸ`[v¢ËV†åýcôïÓGöxVTV­~(c®t&¼ÁJDäm¤ç±ÄͲ÷Î|fTp$gÉ+Q¶ü—´À‘7}3E '.`_¤ëM•\úd’%ÇTž ž‚¶H°âBëñ賨A]%GqåÁà;Éÿ£¥Î»;39–ÉJ­ñ– ,-§à<'>J-à¡‚‡ìå¥ùÙÙée­aY$©ŸÅ¥júÇÝ*¹û´ÖNÏà¬ú61ˆ1ÅÿŒ€íÎ¥ ö5 "¥9Ì<U -ÀzçïèàNh€Ž®Îm¾Qó› À"vþ ñ$dçÐøqé,×'æšÿÙŒÀák™ÿòt¢@Ð÷Œhú.þ«)ØÕ&ÿÎø0$@6ûÖÕj@Zà¶0Ú¿äÚþ z9ÿ¥RàÑGÕÑ(=€GèˆÑÄpð ØyWƒ«ÈšÎôF¡-Ãÿ@¶g €Å Õþyåš#¤e€ûØPËÀ±¼©c!áÕˆm±C#M2ï<‰.˜ðä~Z³1ÿCT·`?t¨`‹Ùz+)ÆÈ€;+Õ@À94Í#ëè Ò.¥5Û þ³ÕUþ:æ°ÏiÊ +xPEÙÕk(ŸöÆ—çĝоú3rw¾·=¥ÒåUJ¾hÈJŽE_§Ež×¹6 ¾BDWH©¼:UX_¥\šÿs (w¶uŽæXbUÓ-Ðdò§þdÊ æ8¿p Ïyøø1Ø£¨ -aEŠþÍú„DïÿƒçO-ºõgšè?Çãktímú‰8nö?áqªœ÷Òí¿k§y(vtvlkëôÍâÿP F7þOìÿ?ñnˆþÇV,ž±lÄTñBÿ©c~÷ìûã«×÷u6jÉàoÿ$þøz0`d7`1¹ ®¾ýVM`šÿ«Ýtñ;ïs\ zÚðhìóÿAq½ø2 Å«DŸ· ÿû4kûÙ :‚`I}S -jþË–ùÞ Ï¹°€<5Æ'æÅø¡Þ%<ªxóÅ9JÝÕš;CþÇç ù_àÌÊþ÷׃`ùJ½àå1aº’ñ|ªß^‚æ8‰T©el‡zþ’UœS €·Ðvêƒý@?„{, - ÊÙÝQêÍbèûç—!€Ö`7+=Ê/p•HE]HÄà<ý…áý÷«$€~-ìŽLT,Ì”&rÝÝÝ£ã_ûZñk 'Ò·[²*n]Ì®O­—¿ì+¿¶êÑK_ÿ÷ô fû -ì­Ÿ‘~´“&Eœ„½‚‹“³i´ßŸ+—ÉÅe°?•Be?À2¬,Pñ’)X]ˆ @û_‡ø÷«_¿B· ~™Û"wåH»6­¬;õVr±T¾Rª”pD½ð‡eƒ™Ï1Ë™ÏKÃIÉiü³è|KÁP6ªÈsQZ•é\­€  êcŠTœâU”¬œä¶ÐNÄͰÄÎÄ/3p6t˜~КE_E dlýÓùaÏnÖ)2àœôpྠZ€ô)¿±xî9³ÿÝÐ@tlëÓü¿/x::º:Û¶aÉÐùOö'ÿ“úÍàììËc–Œ%áëAï*ŠÛ"ÿ@'ØJ“Ž8{_g*à8ßhèOoî/ z -wSm=W+oq{ª U €Q_&öÈý/öùŸ}ì;šÓ`üÿhìH<ÇM="I#{lÄqŠ?oöjü›Ø þ1úg,.ù»¬lMƒuW+žsK OÃÊJÎóñu:›»ÚÈNPÚ©SgææH0¦¿µ˜˜ºgøª@€„gìa,?ÌžÛ¥ô.@†Â ú£< ‚õŸ0ŸÎƒóó$å:ûTËñ:ÙÿV`;VÇÔ± 6@>€Zp¯ ´ÿ—OŸ¾ð’$I’Ñ%Ä+! R¸4VpÊë?6JÊ>˜¬H€óôð+ - EÝoHN _+'F»GŸ˜ýímÀ³²lE¼Å¨T)ÀP׬q)Öæ(•×ÙþØÑ(]þ´œéøg|y{åß$¸U1v\ÈÓ¯éd_ž¯¬®®•Í•VK°¥y ½–ŠX…/QB `³e9ÿWö³µµÏJ€™``3œà”ŠËSQi=Ê®®i“ÝŽ!Ç=ý -œøã(s>÷$Ù%g£ÿ*¦)‚Âôk†¡Ã|·N æ?r†mDÅ„'àø¸ÀŒ²¸&^¶^ÔômŽ‹KzS§Å¨cÀæàVûj×jëÃîÁþ<Ýæcþ?çÄyTïú@6ÙÀ%@¢HõÁ àüq¨èèØvï½àZý±TÛѶ“ HAò÷*€˜ÿŸ;îì_Ïÿ1Ÿ£˜oÌÿ:Cšÿuæ8z¦5À÷È•rŸyœýÉÞœ1»Z¼“Òu’o½ýöUÝŽ4ÿCOú2¹L'ØŸ5îó'ã×h¿Æ ðùÿö<ƒË?†Ø¿ŽD[‡þE aÖ>°*€•âD1SÍŸ)/¬¬\ð¬[€ºP™­øëãƒVß ø+SÜ‚ülÙ¼ügÀþ²þS`ÍÀü<ßøOߊC˜"@ïÖ7°5¿Bü⼆ ÀÙW‘û5\Ÿ Ye b@ûSVXÒæ1 ©Ü‘7® óÃÃ=='_¹|~‘Ï\"UíSœ:uš -@€5jÀžöîÞ¾wß0kæêüýU…ÄY@ y¾xpã½V€ß“O9ÿŠ3«0úÁƒ_/ýlõ™¯Ÿ™š ÍêÕv2ïY•Ž¡\Ég¯Š?IÜŒ­‹!Š¥éìP™úÆ?méÇÙq®u–k/õÅ&Ð(+ÒAý¢|£Âþœˆ|Í^AÄÃQè!#¨äEå‹a+ùTéÆÚ;×þîÖü»wþúŸ)–/Æ Jþ ¦*ùúôP¥á|°#KžH–üJ ‡È÷F«*«÷YHÇ—ë¹e’%×hí£Ó…¡1€Å’c5@Äç$@n4un£õ„b Î’Nr[h{Ž6Î_¼xÞ=/*0¶ô7ϵÖOÿÀà<-Oû»ÀgNùÌ@€ùȺ|™Þ`Úðœ¨^"À€&XdOÛò€ó)bÀyèçß3ýð?³#ÿ3c£rrø1|8"ú[âYþ6= ÊçÐiŠ-qìÔŸÑÿzgþÿñæÝ™ÔWߺ*€ß2¼Ij=ã™TÛÕý/%€‡ÿÿ§± <úè#i@Ó:±d²¿é-ù(bøŸ¢ðO\áD­°†Ï+ ¦.¬œ÷¼[@PIñ¹Àe4rϘ`G6þ÷ÖÿTÖ @ -àìú_h½ @/z¤(ŒüM0éÉùSâ:±,jšü´ùEw$꘳c ‘a¼˜p¤³Éš8Мé~¯'Aš¸CÖײÅ#÷g Ó'!ê£0ÁÊåËNƒÙÙ°¯ç4%öt!_ˆŸ+$¯€E¶oß½oøÔi°?£![…üE'ê/ -ï¿þoAT»D£¸…ÁX¥òÛfFan¯•X €›[Ò€ühDI-å³ë3\MîãÖ¤AÂ2c†øÊ#Kòe.kMëÉþ¦äC„Q !vg.…¡üìøwØà M2C‹â/1Éú¤W ¸S”.Ø—%ÿßW¯”¾V*!ÞÑ+J3ÞÂEmøö>¡\Áñƒ2¸—`[Fj—¨ï3ßû(y!Gá‚¢³ .¹œ”,,9s)d³«8îµʬKÆí,&wS£™‘€Î‰q”ºº'¹-4‡¤Íq^‘¶|à,žÂUÏÚ„@õOþï˜;=_ý" §N)€Áo¼pâÇ_0þq{Öè_Ö·Ó¿œ±@VºdÀ‰¶ÎîÎ÷šà>¸S1ÛÌ@£;ãU ùÿOèæ—íï‰ÿ«@°ÿ) Ró?KÃŒ…¹o5,Œ@ý”ý ºk¥r…qÝx&P¶*F6õh0ÒÙ¹“a‡¤ú@ùÞ u€€GZô¤†tî]­F£uþ§¨ÿ‰‹çÎUW\Çã_¸Œí`¤*Rm€¥Zö¼[@ÊCk|ÐY‘}0Õbª¹Åóhnîôó -huÄöâÿ~Ò?îÔø:p¯È %³J½âƒÝ± L -CQEç„çPIÉ‘æˆÅä -ËuQP_U%ÇÆ<$ÀdN"+Œg¢lþú¿ç‹†íj(8ÎÄ_²˜Q3Àœ,ÿ¸ä€“ܚÓMq~ॕÅcŒÀƒ`#ÖO÷c•õß38p Ÿ·¬ñ?Ãv9œx>~ÇÞó'þôÿó§ÿë‰o¿` -@üâÓ - å õKtvlëL< W‹àBG×ÎmmîØÑZd€‘?GNþUrsó?ð¹ÊÂEó¾’æ+ºPËÿñèè¾L5`~spVæ?>ýÍùëfÐ -ÿxyÒuWßöÞ€-Qµ˜ÆˆU ÿDÿ¿+㟋Âˬ ]PãhªÈ‡9!%D šh®Uè¯ÑKtFq&U`>áøGÆL•“€ƒ.Þ† €A~:_¶…¤Œl„À½$£4΀ï%@oøÏþéÙùÓ³ƒû,ÐøŸuŒ$ò˜§T®1@}8|ušrh sËûÞP°TÔBü†+ @avîÌ#f1áŒU^x&8:š€æÀùóççûAüÍYþçç‡û{æõÞáåEpÿìÞžáÅCï ˆœÇ =%ÛIÃþV3@yT@ÏGúø Sˆ*ÓÙCÓåŒæI6€1­:ôÉÉÇåp߈ eM¯ö…ýPøðÚ:«âé¹çn£€/9r}r¨¼ZRß*·P€áÿÏÖwÂe­tmÍ*,Rô.‘ŠV™Ï—dÌõøj&Ц¢µ(ßÇŽEŽ‹Iöd(½#åÂscÎÜßJ~òÖ;kj‘™Sb¨p|^ŽŽH°E5õ8Ém¡9x«n÷,Î@K Æúï줪wóaQÆÀ¼¸ØºÙýÓã/}áÿ}âÛ)ÀJy€:€¹ÄÔôùWyB =àÙ vvv€;:þOÌÿ˜ÿ1ȳ`Ln!‰üŠß[㉗xt€«€Áo€°0¬ ìïÐ=`Õ~ûâOŸÄ[o¿Ý¤À´&}™‰î.ãÿ ÚWõ¿t`^€à Hø?í¨ªh ²£¦ Æ÷É’Z‡ý9ê¡`>’ÊúWà ÿe¤šõì7ƒ‚üUæªS¨~PZ¤á¼”VŠϨÝ! f€ÖÀ£ˆØô?5wòóß° ¨£  D†lŸs^mt±µP|B-¼\€ÒPDÄ{ù@‹Ü”8p‘í`x+0._^Y`¡©èÏbîÅÝÛïÞ3{úôð@OÏðÂÊÀÞݧ_¹¼È¼a¹»#ĬÿáÁa ýÓÀWMÓ ‚‚¼áX^Í']ƒ3õ„›7é0'€³?á´ã­7úS@sàöK¶`W€l¹Æ®€¢2ؘÔjD -®,sšú wrÏ„ËY$ZJ4ƒi*ëî§ IÞNcÃ@}éÛ~&®ýûkªìOˆÔÏ–Q™Ä iQ¸AAÀ;öèûª{]•eâ¸t•/ -¨’£é¡¨¢dtÃs#¶©•® 4ùÞ¨ òÒ…åó’OŠÿ©]´–€’ð£C¿TòùµŸ­•ž¢Ñ/`XšÀ0:šÉŒgÚ:Ç»»GG¹—€åÜ-AÏÓ¦p€ª6‰LƒO„˜ýéýŸ;*ÿX=<0Çg/¾ß~þÀóÏ¿pâÄ7jÀ±AhF¦|ôgN€ã÷‚Ik<ø$1&H¶# ÝŽŽö®œüS!ÿc:÷’j¤˜öÿ‹øUüÏO2:z)’Í/€9ôé¨õ„†šPËòžK €'ø¹ê½Ç7zÊÀQ_vA".ÂÀõì7…Ùÿ©s‘ÿî²A]˜rå`$Î}ë[ßW;=5Â7æO ƒåð@wXµ¸†LªÀYíN&f¾œé{›¬(Ž õ¹*HJ„ìÔå‡q¼2L«=Q–±~þŒ; Püùù¥—._^ĉºüÃÅÙEНE€s°/Ÿ_dIxv&¨Àÿ{†ÙNÀËœÒ €­y ’3õƒ›·¨‚à]§À‰ßAþÿé•rzÀ‹»w,;S.ÀD‚ÞhÓö__-!Éõë½¶VY«”ß)—*åh¨¼~¥\ŽfÊW®¬^Y][»QÁâ•õµµ2îýõûÑäal®D…rå'Qôt¡šçH¯“ì×xÌJiíúõ¹V¹ºZ.¿³>YY¿ÎHz”ãõʵëï p8v¥Ä`À(º=åÕÕµzÇJ~­\*¯^¿¾vu}ý:_YD°ñ`eýÊÕÕÊ_ÿõ;××Yò|›Q¹ïÒu+ù*†+W×n\]Åò_Vþ²<à WžRɧaÓ赃e¾úÏ.É´—¹¡„%îÆuæ\.][¿tiíÈcœÏµë•™ÒÕ«åÔDnt¤ÙÖÙ ón¢R¹ZY]­\Q¸ãªsÜ6€?)› ÖÐR àâbÚúï8Àû9¶þ€ÌŽ÷<ÿü‰ž?A¤@Ü'0$@Z<'òǨcÛ¶{Aú5€`ýX ÀÖ˜àÎ;:Ú¥œü–BìO.Ç×¹<jŸÐà+_iÿ«=÷õö‡…bóŸÀþaB:7è@7]ÊðÖºõ+€„ÿC+€cŒ`uñÕ `Šøã €R U€2¦KQ¿ÖpF«*möÿ¨‡º¢d›‘š -€%Jýkÿ’ `4S±~Þ° Hð~:Ÿ¿Àðÿ]mó áß r6Òœ  Uh¬(Ì @ú²+ £<¡×)æååE¾•ƒ³¢};[ʃäoáyZ -sõLJìNCÄ®k h.\Æ%Üínyz%4ëÐWh†æ9ë.ÿðßýÅ_üpe~xp gxñ‡?\è™e%ÀåùÙ ggWÎÏb=¬½?Åv~Ø;øäPhäv\Æÿ‘5èŸêCå xé%–•ݔŠr!Î;U1ÿߢ@N€÷ßk¢Äÿ?% §ÀúpôÓÓ¹LgW¸Ïuãj‹bâ¦ýÄ€ëÓûåÅ×[û./¹PÈON3“.=±F1}å´˜13‰§ùÉI¾—ùñŽöz\¦aÏ¿ÓcY¾DpI -Ok»63ÛõõÿpýÆë7¢¡è'"oÐ5,wî8}Ò÷œäUÐë|Áã8PRò¨ò惗˜'¶pM(¹ÁdåBt¸7 …ÍO³ Ó,1Ê^˜œÄ:$…˜Æ= RX v-òC“…èi¤×j;èBV€è£™l›ºÏLD(º -K8Çmaø­Õ± ÿÌíx` -þ¨²þææÂ3Ôi -ÄûmÆæ×*¾€!Š<–j ðœìÖòßÛÐî ñìtÀ66 Äqbþ'•cìT^ÅÿÇ8~àÄñŒÿIû1jø¿j¤Ê~R>‡NXÿаûÇ °:'S‰ åȾ]yÛzˆ‘DpÄVòp”ÉtgÒáU2 ðÿ§óþ9&Ä›äI'~Íj®5Ü}÷ÝúçÔƒ­Q`á×udV¿¬Äš@¥¹@#ô +µý›5Vlç) -P4ûB"óò¨jGÏóô·ŸRÜ|=èÉOE´ÏB±& q0A¡'| ¸m9^€¸÷÷= Ð&2Ý ½¶Ž -ߘÔ+°‚¡rÚÏ΃¼èç /¿Aoûú!ðñÿß¿xeþ~bvñÏWNõô ¯¬œæÙœ^™˜½°xn`÷nHW H ë°íé í¿07ˆãõ÷Kf°ŒŠ=¸üÊe(€ÐÇXœª¿ÐÐð5@C`üÿÖOÅk‡Þß;ÔìÚµmÛ¶ööö]»výÑ®û{ûúðöïïåÌÐЃCCCû÷ï?¼ÿ‡° -èÛÏ퇸öÁ¾ý½Ø¶?Ò e±m/v©¸”FßáÃCC‡ éèùÃYŒ0~pèAy2§>dˆœ†x„|þ_ä§óÙ쿜ž~´wè0–þÒs—ÃC½*0´¨÷Á>'“€åA>îGFû÷?1d%Gɼ¤Hñàþ>žÉ!$à9>ȳB -bHã,ù~\/_×ÍKŽ£ á ÚÍvDF¸z8u¡¯÷P¦o×¶¶m¸eweÆl×G³Cœã¶°üöi‚ú€ÖÐóbýK€þøÜİ@ò4pS|iðìÑg=Ëzªgâ…ã‡[ - I €÷b°Z€ ƒßïtöOÛÿägrÀ‹øÿØÑGOР )þ¯6þ9¢ÏV(#m~ƒÙþ5­ð• Ÿ„´êÜRÀ€÷`¯ÿ¬åÿذ“aàÿîÌ“óSÔŸhâÿ&€fCÆæ2é^˾FÚ:ÚïþR{c â¯æ€ÄÕ„æR±ê§5Ê,[_³^v.“ùY `5©ÈXêׄ†MqúT*P -À"geÿË7ΈÇîWÿôIDAT÷XX7ˆÔŒ¹'²a>1; v29µmü°‘BÂ…Zæ I^2" ­¤p`çÊÌ;>5¬}q!n3€E&‡Íÿÿ á~vþÊ<¦ó¯\¸@É¿2¿oðô…WNBñìÞ=|^Ý[ @ ÿa ‘ÿ÷Ùë€ÀÀdî —›Ä±“OÓþŸ.LN?MGwRÉ£råÍÞ2RO²äÊ—'€žžD•?Š©’žž¾tx?]“,×4OtìðX~,«R2†ßlfWG;ßþq_²›ÆöìOžÁ@ÏÀe?Œþž¥• .,/¯œž=½øÊûùÝ·ryÌjLÄQò(€-…E6û\Pè€Å4ª]Ñ ®¿v!0Äp®þBpë–<Ñü—à¯jÀOÉÿoÿkê&a‰®¬®W -£l˜+ðí7¸e¯”W+×n\_¿±~uµüÎj”ʯ_/—×××+ëäþò:ýìåëåk×ËQ9š.WÖ×Ö×Ö®]¿¼sµ²ZY+å‘âH4 JÅže°~yý:’ƒ×o\ÿû -vü‰ž•ëoå³È ×o`ü&+^þ3l¯`çõ7‘¢r…)EëÀËëQ¹ê+à°×Ê8 -‚rq[¥‚büýµ¿¿¾VY½^™AÉ+7*(ùu+ùË×P`%/±ä(öÚZe=Uòõ!(lÂá~Žc¿ImóÖõÿƒµ -Qåï¯ýýJV®¬²ä땼|¥¼~ƒ‘ (Û¥K¬r(C)ü$ŠŽ -#xþïh»—÷RåR9¢•8ÇmaØ# >› mýãAIú_ sQöÿü±ã(NÀ®Æäù£)@ž pû_o -`´«£­­cGûÆ1ÞÀ½51¬6ÀŠ®.“ÔàÕýoÀÿ(ÔzìĉcÏ&üß_Ãÿµõ>à]ÿ¤ZH¢`‰¢Ï·ýׄî ðç®òÀÕ·®Úû€\+$ü_`5zð<îôoÌïôßÜ®h r¥ì}‡ñ¿fÄ6ªA£um¾ ;\z$ßÉ n9ž;W]½»xvö›Þ±SÍ3Héš@Uº û¼¦µÝ&ËÉ\6';éÀ¾U΂—þÍðÊÙùÓ(ó)‰XÞ -ÞØì.ÌÿÊâ,ÏLçszJ``÷îݧò×jŒqÒƒdôa\$··Ñ>'â¨,#‰bÒN]@¹ú €<€û b @þëÍ·Þ4þÿéOí¦tT -CÙµ¿_/'F3]¼3¹ £ßqƒ«j"æê:h´ðžv mœÃ -¸ÿ§®¨©½jµñ4`t½âôÙ£ÿt6oó0ËU?«Xò4Ó`Œ9¢R9œWE½0ù$½ žôɉ¨Ô#ïmkùÒP_ùÖÚ*› - %P6K@úR©r£\ÊßP¾²¬r!O³c ¢ˆžCÎ*8K^îÍãfŶ"[ù‘’Ýð퇡õ@¹œÏ*POB<ñ”œÇÁdœÀEíÆ“½­£3c¯Q«°`« - è¶oŠÚ€V%=|«wú·`Îz'Íð-².À¿†€þ|S@Ÿ»Rþ;;GAù ñm ü b¸`Ê8àÎmÁ@ Ð — ýïLNøÁÿçQXÐ?æÅýDÿ׎vÉÈ7Ê—Ío.®³[8 rð~w€¹¼ -àêÛþFÀ†u¡@·ñ¿ž9b|Iu (Ô €V=Æ4˜-µ`ÜÏYµ€/³îhoÀ°2øÉç1.’ìÝUÿI,œ3ÀÊEUP ú‘6AÔ‚'´¡ T¸/{“«îÓg ì‹pê‘< zôdŒ•Iƒ²EÆ<³ó@ìP&qºnÞºæñYà˜²ž•¢ ”[Ú—â ÇÚ¶ó¸r¶;QÂþ^D þ·þ;úÿøÃ?¿üçŽñŸÿ¯ÿº0?Ü38Æ_$Á“âçÏ^¸0¼{{Ϲsó - -p£³öø?‡êÚ÷`Ÿj$^:-¨Χ^&…â\ýEüo>€¤à@âÿÿM̈ÿ«Àt4Ô[ˆÊWW'F»;ÕÝŒ9v]¦V‹Qà -À„ìÓw2€eR¡-Yã:’*hôë««…¡Cئn’|ødxr°ë?½÷‡ Jê-–£lÖÀŒSyPÊáM÷|e{sQ©²ÎlTÐØà`BY?ñ 8ªõˆAZ W@æ?>ã¢}2 þƒå`ÿö© ¯xû-kà7$oà„ÿcÃèt£à¦Œ-ÿñÿ§õãH–F “gïH ¥g¬›^vç[Žg˲ñ©˜ÂøŸck¨ çŒÃé¼0Ö‹’OU®`•¹¿³¯€ÜgØßSxð ùë0óÍ4×f¢Â’kG¹9؃0Æ|·PÔÇÎŒÕrÁJ?ÉPF¾øÈ\SS<‘ÜPT¶pè¨èù+õ¸êÿù6`v€çÛ]£ÚŒ ç¸-l{’4C] @‹èifýÃüQzÜ1àôÄ1òsÀHùž=ö{ôóìŒ=¤ÿÛîà^óìäý6nÛÖVËÿ~X@üÏ -|S1f%(ž¯á¤å“úãê«°V¤}7ÿ1ÎA.øMñ:ÿöîˆÀ p@’2¥B ÏôOÀûDé"‹B@ô»‰  Œðaú‚‹ûj=§Íñècr<ðÀ—î– àKw·Ûß&<þ4`¥,V£‡*yˆ°ø¬µ—*ÚŸ¸Äœ¡ùŸö@ ÇCŒþþÇîÝ=»5#â=9o¥ ¸pzxé_•æ¤ÿù³ ‹gÎ., `N¤!<=Ö—qVº'qW’éb8C¦¦¥ïÖþ0K6ìD¤úêI@Å`5眠 ÜsîE¯w ·“áyïÓ9@€{kšZ,…'.ÿðòòéYÜøgQÒåyú;N¯¬ÌÓþÛ9z}‡õHüY`A€üQ©6w(¾Oƒ•VÀ_W€WAp²þ"àüŸT€þÕ -àç£ÿwß_wZŒ¡Þ(—+Êxútª% nÆq½ ˜€d‹ÑÚ3Îæ†ÐÕÍ ÛÜÇŒŒ§¼ñfGW -öV@"h4Oò?‚àåG× ý–ËcÙJ‘žúØ}$:0»Ûx®šÎZÉß™Q)ãcˆe¬~ ‹åKCôç 8>³%g2ÛÀ©*ƒ%/­E½î(…ñfž}c|ÂJŽ‚O•Ëù¡27L±Î ‘tª!÷${Tâsm€àÈKUŒWÌm €V 'K3Ôzš¨ï:€ÿm†–MÚú_øÖùA,ŠÏ ìH ‰`—€îP`ßy@öÛ:îýýàÂL`üô¿_eËûA°¼•…äøQΰä,uö¿xŸÔX0ňòeó$Q°’±£Rîð ÿÁø'óÆÐ™°ð–«o×EÿWÅàãü/§#Óé¾*9ûƾÆÿÕ€Íé2˜Ì"Ë Œ;&mг>öhÐ Œh¿ - Æ£ž6 -ÄŸп·_Zí€\ wÀGZKà؇Á –\¤¾©)J¤*óÄJÍËdçHÞàăôþï;8pP"€F0kÂí²’•g=¸Ó1V¤3acXÂ:û€½ø¢„0ðOÁtWáD©¢xÝàìaט -#ÝVný¥%¶„˜Ÿe”à¾áå—.¯°?€± l(¯ÇIŠ&Ò>Cÿvoß¾ýž»¶óÚoß­À]A–Ѥ Ä s ß[µ -r2­ÂŠmú"ßðaðÄÕ·pã=)€ŸÃþ§û?áÿ›º%c€FÙh½¤*€ÑUÞÙkk”(:²ºbÕñ~ç;Yò†uþ—ðÕÀµÉðZ`²)4G¹rd: øÑ‹3¬`ßCÖ˜RB=VUírñóôXï%dÕ&r™‰œ €¶ŽîÑ óglyZ–MQÐ*:4–cÓ­}idÌ-.Ì8Á§TlQOesÀ:{;:L÷mmìÆ¬I»}Ó€Z@M =¸%ñ·i#5‰~H@üoö?='Ø À‰c, ìÿ:<T˜±€êV¦ÒÀ£p¿Mð¾áýF»ä¸j=ˆÕ Æ)¤?1¸k´Êv>e–».[ -À”–¦Q¡ÚÝ¡DU_ìf8ÿÒå Ãûö /\þ·—mSi°ÎcBàäð>€{(îÁg;ù ö§ôô÷ìñ9@ÅaègdCÚýðÅuð!àÀ«nÞüÜðóŸ2Püÿ–øÿf•ˆ²}—&s¹Õ• ž8¼Å[Ø‚{Ö<ë˜-†¦¯†%¢\Z]]»*Äíïìèþ‹–Ê×òæ4Ðk8ø$,ã&¸ØûrE‡³ö -A‚–t¨}W;?Ò*÷ û¶»Ñh_.€ò ¾É#S-Èœ® jªpe:$ÎXY]ýÙjiäí‰Â@éÿžV e[¢Ð<¬8‚ª%¬çcJž£}ÿ3Y>4‹##xàí¸³£;G§SéܜⶰôLm†O× -€Ä×mµ Áú×÷[ì`ÜOÎä¬ÊÚtö½àìOˆX8ȾíÖàÀ½Ÿ¡€à`{‚¶6ÅŠÊSôþ‹¶Ç%¦ËâøÑc)þÙÌî÷‘U(€=’ô11óEÚ1:B@öõœØñ'–Ò€xË{ -ÀøwsÚÀÀ¤ ~6ÄvþŒ€˜-9!{’þõ +›âQ’ÿYòx‘<0·õ/rX @¬¨Œ‰êè ¬§ thÕæ.˜ø:ø¬|^–ìp18|fžt¹ðƒ0΀#ÎÏÃü?}’iÀÀfÇ÷ìÞ~Èn··íÏZCÙe÷ó{ÿ…• çÎãÍ× -³Ç«åYgo^üWT¤£1½Ù¥^¸z©`E‡e*Ï:ÁKÝ4¾çæ¤4˜–οtGáœê̳'°I™ÓlJÀÖ»òÿvþ{¶ï&Ïóƒý(RF&¶ì‚‰:š§È[48]î ÿ§€ ¿²N ðæÏEÿÿoR´pÏe{A¥ -UW3ÞŠ|À*ïÙ§xSÒª®L]ª¤i4b¼¥2ÿ±4¤è—u䌥ÿ»BÂé`OûΛ,ù§¸áŸ:’è 1*Êd{Q`žµ âgçÙq©6Z DÎçQ…üoGFºr44ÍÚ…W¡ é"a»Nñåʾ\¾…×{lФf¡ÌšY@@†(©DfÉþôyT¸¸Ý ¾BU%œâ¶°ìqÒu1­8·Ñ+Ÿiíž²þñ<Äçß«+€c°ÿñátê…ßÛ&ò¶€<øH,ǹ ‹'ÿ£((—ó? Ͳ³€k´Lþ÷ôš £»ì ´óEù²ùÍ›ÿ;GGc€`@ÿvÜžzŸ'Qãxâê[W½/@s̹ð·fã~¬Àkp;êÞš–‡Œf>\.× -€Ûðpˆ¡Å˜þm€ƒ!!U pw;>í_ªö,5òXgöñÃ_X^Œ{ -H¶ÆÜÖÑŸI ”˜àTŽì°-yIœ‰¿÷ÊeÍ^‚`ƒºênë(¿·gŸ»ÿ-¶ðÙųdÇÅ…å -°HÀ4..ãTϳ?$Z½ÊìòŠÐÿ–lÿç~YÑù„Úö±#ÝеóÜ©lpî7‡½æ¥<¹4ƒ­Æ:†ôè -Ú;ÆÂ⬻JDäDˆ— ëÓôg€‹Ðÿ ¯¦Ž@½àO›¥sš˜¡Øyë,p_” À@ -àWj ðî»ïþ\=° ðJDÅé!F¼ås< ¶ªÓqGJ— ëÓCÓë)K·*ÃåÉÆP¬+ðÕv “G¯ÃôÆî}ÏÇ6=YRœO¨]]±ð“h,kµã‚ñ5»Úy’½ÃǨb/•žaæbÞ#Qv¡.ÌEî±èÐyi ¦Œ’ß°‚»Â` „U† ÍTꔬD(úéýìõÈ1 “>”Û!f8æ1Pþr9¿ß¶Ùµ²ýt {`NŒtƒîèÈä(pÒâÿ-Ð -ü>jŒOáØf†7lôÖqd_~ 6à -ŽŽbÒTP€×eºwüÞæ¯Oy>E?@b†`ùgçtt—ýý¢”€å–%>zìÀ³:ãX§ ý`}Q¿F,HÇ}ò÷×µˆÍÌGéÈ™ù¯?3Gz*˜âåÍœ0À[Wz(Ò=‚ÿét´@yñqÿÿYùjåj%—·ã[ñsÁ¿Nû)"McøàÃäÿÄWXCÀvVøŸI0¾sùâ -iË+à«þÖ[ c硬€îoíuá\+./1Ç¡ìɹñÌÚÚ”­A&èðî$ÿü[±RL²°äݘç:[½¼0LçxŒ`JQ%ˆ“RÀÏ%Á¹s6Y5Ï\»ÄŽ{•%³~I+6@íƒ/uK3ƒ‹TW}M Ä0¡Å¹oͽ8Ò‘j«Ò®ßéùë(9fæŽ VÇ1àrñÜþš f0àððÂ…sç(Møk!úÓÏä¥WV^Ñù(2ÁŽ›Àûó…óÿ‡~ä@NH€_ýêW¬x÷õó·þì-¶ˆùÿWâ~·hæ.¸ -Â?7Â[÷¢+Àæ®LØÑŽq V¢Õ+¥"x”w72"âöæ®ô+ëyy‚jȳ^ÜÀ,x§k/"*žZ;=É÷X^AïŽf˜7wž*”a{£ä¹ØbGnOñ©ÉT¥0”‡táÓ'UòU½pŠI©¸Ò[1²ò¢ £>Ur+N”GôÊ¿)ˆÂá¡Â%Û,ØNFÿc|òDÕh¦{'ó#Ô=Å)ö¥8ÅmaCèk‚Ú€º{®ÛÀÑ=ïïëA Up4¼y§¹å3?0ªÅB ´À… úùï ™Ë6;ýîØÿ(©™ÿGœÀ¼‚P¸ ™Fð>©_#›¢ƒv>¢:o Y.q<55:Ú=:.aŒ‘Œ9 -ã¸!tS¤]Wß®¼e¢<­ŒÿS=2 ùá^Å»½Ž˜@6P®ðõ[¼™FGG]´è ÓƒIŒÆŽZá_[ÁU~xGxX n’˜(€/±€^€”`uÕz“ÒÔãHõ˜8|Åæ.úøè ,rnZqWZœ™cœ^?}/.žX°ò°¾ d þØ6îô0cÞC3Wóß$õ§¬þz{oeñTø; Ì@nº¹P¥+ªolwlz· ’€Q> °<¯öÇv(ÏèÂ… ˬØ`U_¨HõÚ€ƒl ¸Òh`ø4$Ð9/œ€¢@I½"À—¸ž¡`Ou³?WÀöwð±óÿ­é Ïÿê—ï¾÷î/~®–?ÿEÂÿ¿úP7-NcUýdaŒ&Gn‚÷b.7Øë(³?=2"v ‡‘JŸZ[-•˜ kx{SàVÇö™™™rÅ*Çc ¾-›Ý@G€V” Ù¬§«Æã¹ÇA˜ÇWÀüØÏøŸ:#¿š}LZ íÐÐWÅ„ÀŽ€Ê(Ä‹0ÂnXi€F‰U^Èúè#pЉ`5À{Åø?€Ÿ§øÿiÛÀ.~Ømm.›Ñ« -™Œ¿ ÀH5i¬ Å´òýèf?[å6Ldë¯4=“šŽ6§í¹É¸&¦H`~…"X¶83}x(apí€hŸìo•ðS4Û­“A4Š’OÓ]¨vðr"‹](@å*ºêðYÜÒ;^r±‘þŒìôp€éÞÂOPò@ìù(ÖXƒ’G3H©b"ñýGB:ŽX•gl,›åƒk|bŠÝ,Á2Ä㔨ðmÓÓÎp[ؼӚ¡.`tÜ×±ã>ÙÓ@gW[l\§ÆjX‡» V:’`:Lê€h4íy· ´òØêºYý*1–¨PR ÃøŸPý¿Ðì€æ?Æ¢zɃÿ¡TÂ},·Q>”@.ÎbµüESòˆücö Ü úG§‚ÜP }ú=™RI+k£ÃB%¦-Ðô@LÿfÂÀÚÊ€3%Gä}ÓþÃ&MyüAúJ<, ûCÔ í0€×Èàöúé€á%€Îâcî9¿ài£‡¯QáIþd~€SËÙÀpüáyί\þ7ò¼³ß<T(ëùzÀÀAqú >-þwš_†8·Qsþü¹ ªÔ`8uÐìE§cFñÕ³ Z¶¼ªaõÅùÙYkK€+tlvn£[›Îƒ2Mƒ+¹ÝÒ±…«Ééœýj¬ aåÌ… P38Ù……ùo‚þ¿iWa` xpNÜM»Òt>íP^*œÇá¬ýùüOœºà—Œxëç~ññÊ flÌÛêP&÷UÜåä¯ pG@©°4Ê»=šš¢œ7QºîîxdDÞGº)³aG³<îfîL–9²}?Cê ¥"‡ê¡P`O€&Õ"3$Àêbi½t €°¢Sa`§ -jÁ+ S%@i LÅanûJ™Båïã’«iŸRZÉg¢R¹Ð+#rcÙ -£Df¤ÌÐý¯ƒ°'@Û?¦ €±,È?›ÉªcåòDTíîêÅÓ”WªlÞg¸-l ÞPMP먻ã`ûƒ[ïéOïaËбëè¿®Çý³W=k è«kr“-¾æL»bª<Ÿ­€îê÷tuÜÙÁã?üyÖÿ{ÙŽ5ûŸÖÿ±ç©b0“†GÒ,,ŽJSŸ–>L ÁüÇ8S`43>nìï>ýÍY`wr}ÀºõCaB5ïXG| XV…#‰x™€ -;Ô0þ7x9è›A„i WÆ#Í ÿ' -À|Xa.)€öƒìô/@¢ôOL<`6 -€š?âù”çØq=󋛺pd•>)6ÀJ4ö°r“ùE«ç‹ LÐp±ÚÀ*€”@A Áù…ù˜ÿïgÀ‹ËK+Ëñ¹îd%€UŽ3GŸk¦°g@zõO“{ºH(- çÀy¾8F?ûeÐ e?&pÂ+|I€ø?åø¦yØwà¬{L\8GÀÅkÇ<Î ’„Ç«†óöç -€´ `ÖÈþý÷Þý«_üüç¿øù/Þûå¯bþÿðC»Õ@€¥è0›ëO‚¬u>”9”“GNU|P﬷‡x™½ú±%øÕbôøXTö8opŽe K}ü\6:øÑ˜Y:_œçÉ´É–²Cj«Ç6ƒ¶ -óOZ0ý˜x½¸>E×n\[]5ãǘ"O{ª\.B:ï ’ÃQކ&QríBo„ÊY\cÇBª€J®* åé¾éŸ„<¬8¹{4¼ä~(z⤠J‹¯dË<†Q&“•qSÏå¦Ê…‘ [W°ØaËÐ2xC5A+ýÀð–ÅK†í¼óŽvðëÝ÷¶Ñ¿ÏÉ1À5À19ø=šò‰h™ÓbG†4™cÀÎM=­õö‡ b‘?€”Ç#Rfÿ{ÙXn£ð?FÏ=AúwÛß ãË¡c«ÜøpdshVŸŽû3øÓ2€V¹×}I_º³êƒÞ®¼zp -Àø?y€EXR¨ŽϘ´ rU€Ç]ÐðPgç°Ð„s}CkÙu€›Ï¶Æ6‰K‘òQ˜üâ) €‡«\î8xÐê@M þ†&ÒÿGr¶ÑV¾8"½TÂ6îó,Ls€àQ`Z¥pX»¡Àbø¢¼Òà®0žÄÌø¸ä‰`ßÁt$àé…Ó|]=jzÈÿ+K—ƒü9gÚâ4§1‰éÜh3U ÷¤}å\µg¨ãP’¼Ï`…LqÖ ¼ÚÖ+Ÿ.<ÀE[«—Bå…{$†0aÎnñ¬<ª8‹kÀ> *óø~æÀ - -óHa5ñ|Þ -Àø?íøÈœÿñþ»ïþ$À/~ñøŸÈÿ‰ ¶ñ˜úëÉýq¦«³7ãX&ë7$oÜÇ1"ñ™ð@£ÖŸÍ ö§ kk¦‚ E@QyZwÃû:˜øØÙŠOk  ûL­Å¿%aã?u!ĉI -€’À×ÝP*™ð -=F/Š:‹Æ7%Ekò ä0ä­9`xþ0̰ðàó_"±I -õ`Èà3…ÂÓvzPÊÚ_§&þŸd™³¬0@971Z(OuBW± -cËÐ:ìNkˆÄ`„sô‰ ïmäNò.­ðûhíÒpÇ -Õ3øt—ø³'ŽèwÛú_ X§@ðÆæ Ò;q@ót´!{Ì1ýìììÆ®”“ ­ñ¬®0Õb½‹ÿIükC€<Gð¬Ý VøÿSÁüß±£³÷þCôPŒ€‰û¯36Çs¼Ý 'ãÿ:îÛ¤¯(_*¯UÖ*º»M,㘘˜ˆŒí€¼o_\AQ¿ósíAÿ?Ìf郀ˆÃ0±(€võh€XØ_щ“.€/)"`fzhòM5Þù’§ R€ØŽ&h^7ô¨?`ÞìJf渲Y%ÎÇo Â<ˆ´àë&D¢gÜ€$Á740Fª= |²HÀhÂVLÆ%?Â’ã(åéÞéŸÙb9²!"çðµ’+¢9EÑáCVrÜ=¸xcY(›É|•+OärÅ+…Ìȸ€y08ÁmaènkyÈ—ä]Uóß‹ÓZæÁö”ž3à]z:w€I á+y:íc\ë@mÐô c”Oc™‘÷æ=òÈŸ¦€.$ö´Ý{o[[ÿ©Øl -ð?>ǽ!`-#/Ь€­æ¸(VÕÇ5þèx0LØ¡> â=Xs Q!€üà!¸xg™NÕ˜ ÈÈ€ò2`™"üÛiÊ¿$z‘>&>æÈèŸ_r½Úu -Àº[¥ôNyþÙ—ƒßºÚÀ—6òøÖ•‹FÏIxžÌ÷â†Q$úø\Ô ,¢¡ Žˆ=dcgàº$å`Ð[ŒaÚ€Oyxiã\€q1GFÜÐ@:(J'ãh|È iú–Iò>ïÀ2Mqãz€L¿Ä5føó팚1ŠïŸxÈþ¤ô*ã- -P1‰ và ¸8IÀ=DSÀçªHäu –7oýêÖ¯~ùË_½÷î{ïàÿ[7o†dÁªvÀhìP n[ÜÞ¹€Å°Y,æwþ•{ p÷Ú}Ž›8ñhU ÜØ¢qãÊ`} EÑPðÄü? 6M{þ™^û×VËÕîbˆØvuF— H{ŽÐÀ7ר¤2aJî õóG”fJ…¾†»̪„©wêç€'å»°‡Ê€ì€qy®Lສ -Àb /œß¶° ìžj„óKNeŽàeNiŸÓ°ƒ¼KÛµÿ4k) -託\ºvæ4°Ö8zœó„öÓ>€Ì¥“GÀîÌ’"PÕàçÖ@(ó°×"Éœ*rhkóRÅõÿ,45ÀñZ€¡¯›Ep Íá­01hÖ -U -€mjþÕùµ»¦.àí«omæ0ûßCå3}$UðrùêÕµ$@}ddûË þ§¦/ôÓ0ƒñ&éŸ_±?‰=Ðÿ£õ -€)låYL¼ ýKÖ -àËíô'¼ýƒ8¿ÂÞïüio =©Iø™ ‚Àø~¾KØê 0耓»è¸ ƒyªšÒ ~Ü UPƒùIT˜W €ÊŽ ~“o n@û¿™àBë1‰@íòò&¯­@‰b-áK„æ9"ÛÃçVr½©ÍbAÁ œ Y;¬ ÁÀ*€sËËg˜öÀøWpD*€gè1+‹Õ\_;«ä0 œ»?“»ˆ5ÀG~졪ñÿÕûï¿û>À{ïýò懿²ºAw[U =}ð8ùä/ÊshÔ=t¤ÃvÀ3æ0µ»Ø=o!…¦=$J£Q‚î†lƒ€)]#(ªOdZåX-=£20`<­{¢)ï¹`%gÃK©€Äà*Âr´…•Ü=Øå°9:òO²ûJ6” £Ú”1ó” Ü]ípzÛ¦°®HbU0À½í È;v`.C£YÞú¤ûÎ;±žéØ -€lÛ¹ã¾]ª,¯þ`$]ZÄý+–°M±ÎJ´Œãx Àæ=~š~DÍHÇ Ú“ï P5öÿ1Öø=ÚϪ€j´ñÃ(’U3Tµ Áo.,¸`”no§Ût³-@\ çƒUjiÀ[±ðv=r¼›xcM{+ÀàB/îÐ…RüÏ]÷ˆ!ƒ -°Y€kÛ56p0Q±0 `q€L-€7øgí>âôj8F ýìÇ<7d.&-Ž)9[ˆÿû{úõs6yLpÙžd@è€*·û_ Ÿ-{ö s0œ>iÍáÓ­¨6ñ0O÷¨YÜmyœ¡ÿµÂµäp{KŠ0p“{ð‰ù?™1 Ð4À=tX À7O?Êë0€+Â$%íf^ -€–<ŸŸp"ÀâE(€¡~É@H€÷1Á:O|¤Û6‰H<Š¥=eXÛi€L{‹€U¬^x/ÖxªbܦF&ÜÃ$11‡S TyÖyaÏñc€g< å@BÁ¹[Ä^`Űä|î˜ ÿôìoâAVôØA¢hìÅ<É$*Ê1Æ0Àª€+£\M– -c«àv {ª¢Á੸ÌÚæ¥`§Å˜€V6èúÞ8À<;Ø·©2ù‚HÅ 2§¦ÈÁäßû ³cT±à6bZêûòœ<»aF1ô´™hC9Óüs@é1w4ÝÂö¶.FúQ|¨ä2þëÞ€E-a̺û Ìjx;àfµ»¦> ôß“âFš 3x<À{ðn2%.•¯¸¬ -ôðºüG5ü­¯ïßïÔopºwê׿dqVï» -H‰ž\g‚_€ÿ·?ûÿ øÿáƒɈ󋯱`É=ɳf±mÅØ[ ÖVÀ‹ÿæû7V °IŸƒÏÖyR1Þ -@ öÐ~WAøŽ|zÒþOÕÐcxá›I@Àv€Ë›ÇÈíÐØ,ÔÆèÒ5ö€ÅͲOƒÉ´ {i#f¹£Ïr¡5LZßd À>¤cL/X?È…·•€ÏO¤BÿŒò°Œ5œÞºÉ8€_Ý‚ -xïý_2$ ®øð£?æM“Žx¨*€ -€÷%¾Q} @qÊZ°=?8ÜÚÌùóÀ=bòOŠâ•ŒÏ¨ÞúY·£y<—Œî‹=¼ªº°KXy(¢už|Y+Å@xêš‡åø¸·ˆ}{ø¯è³gØ+õüâéážÝ|y$_§!ôìÛ»w;ïÏí{¿üå½_Þ»wŸ{œÜ¶Ðü×OCüU‡¶öŽÛ:îø=P-HR*n‚qÍ À{±>i :ì5òåÐ$¥À¨¤ßà@¦Ø•uö4åi=Ç­6í Gn­ -J•­Úît@t€jŒÿ˜ÓªaWÛ½I)^ÙùÉìÇÅ  @³út|M - óP¦º?Ÿ ± .àí¤7`º -‚(Æ­üE€|ܨÉ1£‰ÀÿÕ½\­TR! :€Zþ/®¯÷õM¹4Spú—@ä¯kd"à®öƒ¢ñÈÿú­öÐÔa’3Ã×{â7¥˜Wðt¶µm A€IO€ /¨é pƒ€Mú Éa„SJ<Lå1 9 úêøßæÒèØq/{?±ÝðûŠ‹°V˜Aa„`þïØ¡û!í`±Àµºîšª )€(…®G‡2£Ý<¡„ÿU€»”5q `¹ü2¬%½ÐàôÿÕü_$ÿ?ˆçÈ Åu`hgKMd$3x¯],þÀc>büËßðHU%@Êð*€³AøIÿŒxì,ëÆÍ„v plSÛ -àÜEupC™ fN\¸°Bö7ûp`@?gc¸@§CçpC­ ÕÀ¿½üç|ŒêA -ŠÂ´Y 迪ëH‡ŒçéTÇ€þ6òÐúoÝbŒ;]¤I”&½8Þ— KÊc#—à#Ž5µªßÃaQ cä¨j€1.ÃAV‹ìS@}?Œ¤hÍðù(ð?Ù<†+_ÃÉG± -€nPþÍ÷ß—¸uëæGPHþªb`oÔÄø>Ž›¼.·¬ÅÀd&áj§„{Z‰à¾È6ĈÃ-µ×ø[$xY¥¬øw9¿b­>€ÄÀ:€<¸­Ã]+Nñ —søÿÊp×]z¡¦°F¿zðà ¶÷î£ èÙ»p{°?²1ÀJ€{ã€àã„iOI+[-†qàh¿&$Ò ÀÆdJì{,S¶¤0ðV ïÏ¥t)CˆÀæÄІǥX1¦gy5ÕR/ͽ™níÞŽ;Éÿ(²ì|ž›BP^3ÿ;;qËÌ€Çdâw* -`¢Ó½U`Q€ªHóv昂èËŒvá|»äȱ·Oá΋¦§ŒÅà’^ V€â¤ö€®û¿‘ÿŸŽ.Á”!¸vf¦ÂkCÎ$5Þ%ö'Ì`äQøp}@UKh†GÄ>Ø~ýÖxýCO€jzÀþKV‡Pç`žò8ýoPëp~…'×ÑA¡§±´xîœ(^›ä ý:ícobä@¸c?yZí¼ ôذ0¯Vª .:hU b..ž'Eµð¹ò?ØžÒ9áKìàÃ[Ðí\õ$AÂÿ}ÜÈP@ÔzÈëSÑ;а~¦Œÿ7x²A @!ºZP À¸¹®%ÿ«üïú…µ¦_‹+q?Ÿ. Ž^ 1°Q =|¯ÄF -€…y€{î¹¶w°Š ­N÷|¹gï–ý{°_ß úk< w´“žÍ°“V{ˆ {ö5õ5€Ž¶~0¤ñ÷Ë`>ìÜ-§ _ß×€ÝÅ£òØsÆäE«ïظÖrÓbØ - *f?áä„·mcyÿÿs[ˆKÂcuñ¬©YTÅú3€CâPh@çŽÅ¯ñ¾I|ì`4¼0“1qÌ$Dƒ°»Èž!z=Gq*ºVè˰ufg'³P  ¶—鈎LSÿYp•/šõzhÿWÇÿc'çÿ#fÿ?¥•33kke§Å»Íö°Js8ÿ7 ÀüYSbþÇÈú¬ V8û(ò?IÃÉ‹^`iñ¢lÆ‹+‹¬ ÿ8i`v/ß.¿±àY°ß?óeˆø &ÀȨ_ .€tL¶Ãó”€8 xT¦ l=ÖÅ€ú–éߨ׈û±?Р¤ªH”Ë‚/s’ºÀ¶Éö&9sVJ Ì*eŠ˜­ Ö`ì°VVÀ 0<À@öŽPÛ Å,­ðmK­µœÄ?@ä´ò)bpSŒп¯5q}?DÀÍ›þò&«>ÂFпó?÷®òTÇànâ=Ž´> n° Q g‘©’‘©Pë0䨜q-Ó -À=KÄôôë•΃øçã§ÄŸ×ÀêŸùÁž¬¿°L‰·°xêÔì0o•ÙSs§0êôi-±å p:å ý7ó|c.ö Òp÷îݬîÿƒî)èØGU@ °¯Ç‰m -B¿>@ÖÚàÝò(Ú?xhyÛ[oAº$¿ð.€ØÐ†ý°ÿ¿B•=†í°Èé€ù<Fæôǃ5ÀƒâHŸG?Ĉš™y#€: à‰‘éYfNû¿ò|=†T+3ûÍàæ?Æ”é3Úq€õdqÐ…q<Ü`Àá·Þ¾Z1‹÷4(7;;ºQè;”éæOÀLØPå2$…éé(€²yô& òÿ(+ XØæüoGãAŠ¥&›%GÂx6æÿgííÿ &! €äNV÷0€ƒI@@*WÀÙÇξúê÷^õÔgÁÁ‹F¤|æ/ð1a”fÐ+m°ÍøHµàc‰=ÚÐ< -'ãôŸR±€g)`Üo¨‰HµàÓ´åšÿŠà‰ !`ÔÇÀ.º@n“ˆýÎ(ç §¯#/nLò10 F¯öpŒ‘Å`‚ŸÈf±{U €»p-Äè €‡¨àöXba €@«€ÏªØÄï–{@æÆñ)€µTHrS©ÖüòÖ¯( >ºìÿÁÿÌÃ<œy¨> ©€”ŸŽà;€”p“€'AÿÊ™70¶z‚$€„kj,Y“)ÍòÏÂe@“€Ñ?î(PþÁømggz‡!XÏÃî·Èÿó ”ð?ÿø@ðð¯™òT;bÀ¢<wѰoo-`ô¿w¯óÚZ„~ýÍèßbÈü`»T @h³™ôе˜ÒäÌAäGÐ"=$zì½váÛ˜!擞­€ªVŸ­6Úãã=Ý -  e@zîHyî@~w “Àÿý_9pÀ¹ŸØF„cA= ”˜%`NW€¤‰%ÑÒÎÞ뼡«}Œ@oà+… Ü0–»ú–ÀtTY§uµ\‚•_úûéýeräÿQ±¿ñ„ýð0ÿð2CU`ýãpÁH!óÿ3(% 2—¢«käÿ'"uÝ:ïs˜ O €)†x—À±Ð ™žk1yõ{ßûþ÷¾÷½WMH@1œJøpÀc'õä?ïõ‹K`eP|èŠa¡ù¸hÖÀzü·‘q=?›yêúàqÁS¢ezâ€Ð -ÀbŒû ÀøÒXJyëÔ÷EĈÞÉžRU$ÊeÁ—í2“Ç1X¢‚³XË¢ølÈ:@iØ -À^„ïY\ƒê¡q ®/n«1ŸQˆÿ©ä 9OŠn‚ÚEì\}óÃO˜Àñ#±F¡€Jv¼ùa³~ȧø6Ž(ú»ÜШ@} ¦FòJ–ŽðVîàEä_ËÞ )À5ÔUìzÒ¿t£Ñ?î'Žhéó_•x.ÐÐ?pL ÊpÆ<P\’ ˆ–çqðÿ€€»¹¶À>¶À­‰5=Œ€8á×ym ­¿>‰qwÛÌô®Í‚^ƒ ªÀN°ì¡K€!ó QΊp°ëÎήêõ8ĽïLõhýlÚ`Ký0 å¨o€ †;L´Ñ²GAv¡è_ùÊþ”ùÿJ÷„wÈs¡|5HèðМåGz_wjµ i 5ïfX7¸~ë*AåÍ©Kz2Lóž/­ÿ}4Ý×וÁùâA#ñPYûËkWaHÐeC`_Å2É܄‡Øk7ñÿ;ÿϬ­•JP!Q¹­¤é¯ð€yð‰+ë“é wÈòçôÿ½×^{ € - øÎÙGñ,‘¸ FzJÄÏ~ÌÈ“¹²8?þï9  eÎxr@-àqe„ÿ¦u €Mý­÷?yßÑØîàÏé°wðiºQ @UO@0ÿª[P+ÿÉ÷|H7Œ°VX+ú¿­‚W ™ñ[ r¸àËš‚ÑeÝ»800’cÐ6n–€YÇ1q -LþOÇœþfì``d•À/š<KÕzV6ö|&ºúÛ“à1ú$Vr°î_ëÅòd{¬þkåÿÃîwþg7ða“~š¶`µù”÷°© À7Ë©ÎÛ[}§ÄÀF‚ú{òßÊÿ.&ýG±Àß*øx–êbòÆü¦6ðœÆß¿0VŠÿ‡gçbíÿaóð£o¡@þoÍ0س‚|{âèù2=ZÓ¿çË\³å¸m´BÿdEï *ÀZ€ùvÊU^p§™Òb€Mèå 9Á ~e>ê 0‰fM«þóè€ô_ß -€;x @›l~•Ûމ“ìbÖ¤ÿ4ÿwðzX €$ҊΓ§®Á„f¿Aæ?W>E:-~­_ía$ ºgÉÝøz ’Ãí¨ö€ô`ÈqœËGÓùÞ]v}î¿¿³ïСlª¤Íù±Üá±1ãÿ—/™ i°tµñÿìÿ™«•Rù Øÿå’ÌÐ'¨ŸìOHÄ€øHÔtd>€aÌ‹ì¿ëôO|Ÿà»g¥˜ &2€Õ ˜Ã=ç—^ÿ‹è¹(ÁóI€q@Ó(ð¾Õð“ÀÌ ‰ `/=¥=c†Ó5âKI+ÅàÑì - ¹à%EîFû bŒ=ñœ¯öÒõè€%Ä’ôˆñ‚<þ°•?Úlôoé*HMO€€$O(ª(Ì’û) TçÏ•X&ÿxë¦-¹ýoüÔ¾ € -òžlí€&︭0|^ÊBÉ<€ ðž1¸züŸr‚+Ì:¦üôßÅ];~NÎMW{bÛŸuA4ð`½~dóÈ0çð?GNÿòàCæßÐà18Ú`Ï=¸U°}w»<íÛqsÞ³›Ä/ë“}Nk[h¤«ÍÁ~Ú;î¸äKF¬mÀzú;Û±@ÞÃ¥bˆ;Ó@ pô(£ÈÁ0¿Á”µ1àPìŠ-Tñ»>§~Àÿµ1ÕïtС !!Ƕ6FÄûß[@þ¯í@ö?•’VÓ ’Û˜ {Ô|#Œ€)ìÿÁ@Y|åhœü`ï¿xpW; -½­}×®]½}}}T žŠ³H½ŒŒÌÿ»Õ »%ûŸžÙÿ¥2Íÿ»Û¿ÔÖžBÄa¢ÿT@ Àÿïúýõ7~ô:%+Î~—Nn_ )âaÅgŸUþ¥•å—ð욟ÄCéØàŸn$^ùÏ*g`Ö~Ò:þÀjƒ?`ó¾¬ÿ -­q̵Ä'íÑoæàbÚ@®b€3Ê9qžàëü¯ ÈáÎò ÔÙ2ÙÞ6™¸ÌÊ7ûƒÀlM €•Dï £§ûðž€Ø p`˜­ö¥ZÐa [yèh)À¹pJ¿þ Ï!®¨ö°‚ÿÖ'J "þ˜–7?ºùÉGbù«ÿßD6ßf €¿ À=´ˆÁVîàMŒ­ž ¼ ¿ ºÇT>* -MümMð²² ~jþ¤é€K1ó+ TÔ{†çñ‡1ýdäÿ”` 0¿‹¿«7÷,ÌÀÞ¿ë®»aðÇN€íXêÙÇ(ö´å¸mó6c䀹[b¼–òm÷Ö{øŽ@>GÉÿG¥Ž2HÁâG÷Ðe.a=ò€¤ü¸‹øœú Ó?Ðè](µ€Â33ÅÐK ƒßÉæ?.†{îEAX•]G¥µ+ x´ºsÇT¡Èúb‰7uâ`kÀðn@¿}…B«üÙ­ÆÓÑÌ¥ˆo¾>2=} “¨|}úQÜÿæLy(ó§£Ê›Ó°0Œñx@²KW*W¯NLLäÆc@Sÿý¿VRýù™ò×Aüm|‹ÿ—ü5þ‰À\6T0€•ÿ ÿÞ€ €‘؛ы°/,ó]@ÁJp€vìÙõâì ]ýÆÿÈAöR0ÃÝ~ÓZÈ@Ž¿@º€Ø G)µ¯ ûؾ 2¶X$1ønÐ -@I€F ùµ1âM²'.]µ@Ë_Á´"ÚV { –•ˆYˆ-l3ÕƒváØ ‚x€ð.€Äpp€¯ÀåH¿ ©C @ð€·xRõ§íÎë­Bä/øþq5@¢@îŸX;µ09€/æŠ?¢óÛÔ8@ðÂ:T€[Šl -PÐJ+€&ý0®NÉpÃRJx+\!?†WønüGùÇ1®¬þ¶”rú1Öw1åå³6M~š{ŽÉà1ÃUyfO!uJp× =s±àäÀn(tÖloß®H‹ Os=òàã´¶…Va”µ`W‚öÁoU1´¼ù.ШnÀ€þûò=†œhx›C×ÅÀ &r–ù™Àzü\úà¡©Tâ¤7¸ ¼ €àN¨*”ôÜAÊïèü -äDH[GI"Az0žóE™dö› ‹Z¢—oË&«&mLØ»©r¸—§¢x`ý?üßï¼³¾ºº¶~um­R®ÜX_§  MUp©²þ‹éìÿQÎ!ÿ]07²¹B¹½\ˆ*W•¬üìó“ÊÕëìH€øßªÌТýOþÏFV¢¸»­€>€fü‡`•Ù! ·4@EþOÑ?ñÆk¯½¦PíͪP#Ø@!€iày¥f€.†çÎ`€e¤œŸŸ­rœ™=ÓDˆþ­ Hßæ8»a?±OSÌm„œ>i®pÚOVŠ`/¿ ÑÿmÇäkqv\Kr¸à«´riQbq@v`=WÊQa!?îŽO.ƒ†t+{ ]ì °º€_5ˆn=·„Ó9»Ní­À8Úá»CÐ` -@¤N¢'ïÛ,Fr| óŸJÀeÅÁG ÿßTkI…ªc6ìà¶c¬’à­Š­¾SéB¹Ð?”ÿVÎ./áu¥+‹‹­·Aâ÷ãý;ÈUôŸ#å‹÷c°Q+€U0€·Iâ`=iú?ÿåÆÙÿs˜Y<=°[rœ€í{ÛÍ €Ýê@}mµ¸}ˆô6EðÐâwVõÊ7²Pc] É {xçïƒhvÞ  ú〈ž2"ôh4÷Àw@C|.ý(ߪìÇ•tÐ`^ ¬ñà±è¸' ÐÓÇV”K(«‹Ç–Ò™€í©k8°"CÀz9pcÒ±§;¾ÎÀ÷x€ËyØŨTZ[[%y—Ê¥Ä4¾SG뻺šºå2<8›R¼+‡ÂÔ‘(:ÂQaZÎî -r¤€ -` -‰Q´ÖìÿgÌþ/!‡¨ @ðü/®$èÞýc"ƒþª7Ëüý £þ_ÿZ“7^g$€èÿói³@ªá£G í..Î öôž™Çƒ ôqQUÞ³5öÿ†ŽX âýàp1àÜOèÁb𤿉ç½(ãæÍ÷ (ìu‹­’ÿS€a™ÀÞ@翞ÇļôébdÚqH®$Àeƒ¯ D´Ü•›XÿOß+•Wb³Ñ¿¥`Aây¼€9óTµZ1 ¥‹ 0•w¿ºÅøuÅqÍo5€óû&ð‰ïíÕ¦Èôl(ÿ?wøäN¡¨8Ã@)²†ÿÌÔ¿  q @ ­šôP0%ëÚ~ ÖÈ + -à_Æÿÿ ø%Ùàƒ9ü…Ï/‚ÿ)Hü¤±¿)«hà˜_H{x¸@@€*€lª=‹<<Âl?CþÛX@˜p°åø´0ÊÚ äÀ¶÷¶ß+ã»ÕV;B @Û;wìÊ@6 €Ú€8Ó;Sý´Ø -€G–Ù0šCQªx+lM<ñ»îˆcXB–‰çˆ/ŽJþ¿£Úƒ~¸ާLhü3_) š³Xiâßãˆ*k -HÌ °óKgïgS(–£ÃCQ!‡sÅQÊd¿JSC‡ØJ`ÿ]xÎDÅr¹X 5™)9Z·ÿåÿ—óü<é’ÞØÖ?€H)m2÷¿Ìÿ_@¼ñšÅ2éø` í`ψêü3GÀQ'¶ÿc@þo¢ÔÛRÿðEú¶d NþBò'ýƒ…4ŽÀ/Þ{ï—X ´È$¾œýVX?Îÿ©€%‘_ãvÛ®3ÕCü¶b|¼ó[@òxú š([bC¹àñ¥^+l]M €yÜ@§>=¡¸ŸògcÀ­?ùø€´n'ó;¸Úï§@3€à¿è¶wŠˆ€ø?VàðO¬¿?,Ýúè“é *€@A?þø“>f{À?úÄøÿ#k;çÝÜ@4°VŸª€Úý ± Õ/ù_ó+æ ÿÓ©$9ç¿5&®`ÿùØÓÌПŠ˜§ýŸÄü- JøÿR -@³M<‹‹§zøæ«`-8¿]>µœÖ¶Ð*ÄW›†¹<R1q+€Në i ÀwÒÀ -÷ô¨Ñ=@b¬H÷HZæ ³¦{áóè@Gnô6@lˆcÜ€iNJ® ¦a‘îEæ|"’Q…(  ¶Šœ?;0³ßà­¨ëùò‹¨i àqr$w¹ZLEìÓÇž @j3¶–Çú¦_6ö哯=1Ü^^.A`û8»,d:ZŒÿ'ÿ?Áø?Úÿ3Q‘ÖûÝÛÔ *@ü5øòx€¢Àú.1þí5˜ÿ?õÿæƒ$,@‘ßEb(€W_}u‘d ¶Ôã"à"ûÃa•ðÜ0¬}zÈ:âÿ*€óc€ùÿY$ý<ìVÝÀÒ À¸/?ï½_‘›Œ@LHÜRg1àÐ(ããqF8§¤M©V<Öó $@#ˆý16ˆÂÓl͇¾s|¼Ú’âÐLé16¦sÞxßÀî¦ô,Ùÿ»” Ý -à,Ìÿož>(n—’M?üÐ/‹­ºIöØ÷.Va‚kÉwï·,6“:8HZ -€4Î -@ 4¦°F!ñ'¶Ù5½#‹‰ÿ_»iø0é€lý9¾ ÓêûȬ±`5€¹ä÷çÝ<ñ÷ÓïÈßZ=?¸ ïƒùâ1>M<ý -4Àü<9ßbÄÿ¦Ø °J c~/dãaÖëuòÄpZÛB« ­mò.chžÃ®¯i@ês@U+hƒ  ¦<Ö - 6ÀÈœ;•Ö{+ˆ‹c¸°A?]ò 'ÀcxÄØá°*±:v0ŠŽÝ‰“긗€m)c&ëSðhÿS‰h5ø—κ$tê>€ )€nµœ(E)ÇM-CÌä¤i>ˆ"ù¿<¶:Ê=Ôy -T`0CŠð”™zÓb {N¨ Ó=‘iOÙÿ|x´RÿÏdìˆÄ©ÞÔ'`h¼Gàt[@S”Uôøžüÿ›ßüö7¿þ f~,À@ÅJ@œ%ÿÓbD3ɲœÃÃçØ)F ýÿUÆÿüW­=ÿ¾(˜Ñïó¶àä/ÌÍÎZ𠈿–06þSƒB"È` ƒ[‰è`Þ’‘‡Ò|ôáM†ý7ˆ0€LÿÛŠpvæã]œ]r¸Óy }(œg;@¤C`=–¸‚)˜¸a bèÐãJàjà”?þ–³ñ$®™üZ“¬§À.zë®yÞåõÇEß  -Àà\ßvÕ? jý¸(&XþæñçÒG·ð‰ð?á;óÓ‚J-5€ŸÙìÏZ;*·[ˆø4ï(TÅ€8YëcWü5 Àeñœ<œÅÿ$îÞ‘¿µñÿùÅÜ@ÿ>ÜJ°í},ÇÚ‹¯bé¨Óz›÷€)õ@M€?Æ=æ0pÝ^À(‹ØŸ b¬Í³øÞŽß#ÑÁ5ï`|ܽØXçØA#šoջêº:ÁËÛÚÈÂâG÷P8à‹½v±Žg­€Xøsé€Mé1z6 8q @Ü -€æ?{Àfµ`1bŠÁ8HäÁf–#†W€ -@ZÐlGŽ.xÞª`Ü&m2£0ÏGù6÷ÿQ,h®¼º®çA ôŽQ1*GÙÞB”cu~W_îG÷4DÈÂÞϵÊ*ä?ÒÝÝ9‘Ù•Iø%i¡þŸ¦I1"ù‰=µµ·…8‡}¢ÿG;HÀ–Z!œ5þWõ?íà·øB pÍÔ"P­¾{ö»¬ xôaU.&À wqein¸`pîEˆóàØÿƒ)@àÿfA^ˆöù1ÛÜ`|Æ×GLÁU±ø¹Wè¹ï €l€±»´ vedš•·$®ø˜žof§1ÓäRyøÜnÄýÉŸh½-;â5JjƾÅþk“ØÀL˜¢=½A§§H:œ“CgÎË!p#6“"ÅœÜZ帕ֳs’x‚ØÄ@8ß×Gãà1c¤€±¼'Õ>6"ÑmRbO(9ünœ¹…‚HAMý?Çúàk/ñHµø<Þ ó"&YS¿9nÚ”c$©Ê*ð¿<üCà‡•Ðeƒìšþa¼3{ë=‹ §ö Vy†Sð¿<§Xõ•|°gµ€=x¥q*îp@Ú—€ïHÁim ­\ÚtíS¨[‘€‰Éò ð{>M6úœv©ÞǪVa±zKNÕ§­Úë÷0Ä&~«¨)F#¸³csäÇ‚ =ó®êÚŒ›;»Gø„ˆ"Üíö$›³SÌÛ¦*åì~$•ÎU9zAû`vÉwL@Èÿ™L7*»2øãúîÁúÿm°ý9Å€P`à€ -àà#«ê_nýïÿSü?øí¿ý5« þÖ½ñº+€W¿û]¤>ûØ#? ƒAðG‚ €þY -úÎaÿ¦ÿÁÜþTA*€Hùî0öÌß“ùÅ$~çÿ*¹I0À‡?@Êà„DsWœb›IœO OM«˜qf¶E„øÑG úÛŒC;ÿk…k±,’€%•óÁ7X`e‚И«—Œ Q>|é5줂ÀYßQíà…ÁÊjÀ‡Zø„ÄÏó5®ûm -€F -ÀÊÀ‹(èx)PuèwF‘ÔûÊhgƒ§Âð?5ü篂5ŸÜ”P»?¤ˆíe«t@ŽnÝÚÀ {ô³Äœ$eøÃë³M,Óàð_Â.6}v…¯ä/MGSlÿŸ_¤Ã¿¿_jŒOÿžþa ñÀÿŠbïé>`º€tO¯ñ€õOžN>þ¿Ä8.ª²Œ¡SIyxÃn‡hßݾ7ÄX“‡ÓÚZíÕÍq?Ýôô~°2390lz~dôÚ&¤Ùe6; tØëÄ0¡ï¼Sö7ré€ÕÜëL5B×ûFÔu<¤úÓ9%¡Ò|Gî4ºiƒÓK€ñÎÎŒ—ƒ¹drØÖ6%í`wD8Pf['½(Ñ6¡ÀJ‡2»«#˜çÝ#Ì‘oN‹ö@°¥–9oÈ@£Nœ¸“u™QS­ù}‰U;Î4»ó‚+7o @Ï®à8xsEùS¢_òµO!8©Då^j -€‡ú\°aêžxˆ01ŸxöL¬2PöÿŽŽLç®@›Øÿ©úÙÿX}·Lz`<©_B•&hü+ à1)€‡ÕôŸ‹ôê‹ÿ­ýyàƒßHZí]°@q=¦Gž6â(ÑÀEö@ÀÄYº¸ÂnR€˜ÿñðiìH<Z¬öøB"ŒéEÎüq¹ÊǾÅt|ôƒ¸Ay\6 E K “Õz, å‚'wÀ”LdàãÜQ\7~c¦'¸ìð5€ô~Ìj ›ü£L0v?a8:'pt™œÕá(ÎǰŽYÁñ Ï»¹@—E ‰/µÐ-÷ðDépHU;Ô{6­œö¼²‘¾¦<=ýÈôhN é%Èðe,Üúø&$‹ŠÏ$Ü1ä£$(€,HáC jPÐB+€úµx\¿z¬ð£ãC Û€¨Þ]˜ÿ³ÍóáÄ/•çC@ŸÝ¬ëç¿*í êœ 7øiùŸ:5GúÇ<$ÁÜÉ“ó'çOã‹ñi*”=:“*À]àz@ûæتøL Gµðc»œûŒî'v‚¥è‚7v@‰Æ€†àIo#ý3–^œÝµ­Tl™tìílëêÚÙ¹Cø€”²ÚÖÑÅÔHfkX¯ÆƒÝm -±ÃVåòÅþ(ˆ-kUgÛ.θTë9äQNÛîs›ŽÐ½£AtIOÀ¬çÇf ' rg"€›£(]ÛX®±‚t°|”8Kd“*d{{]ÈhÒ`¤{gGÛ#Òýw -v|±Àø?ZóS…h -X-Getdr_ÍQýõx,p¢PzFVìØ‘ËÜŸÊ´@¤BZ¬ÿ×㊆?¨;@Î¥Úx@ðèÏçcA˜Æêâ‘#ô¨W\ƒ‡zÈc -|J(µ=Ir3%o"—éfFw1Ó À' Ó[«ÿ'¢"h“N0?lùj}Ö€$€€ ñ¿UPü -à°?†ß0 Ðj¨B§@Tô%`Œ‡Kx¦‰É‚Pß$xŒ-› gÀ@šýÏ4ô°N„­-ÀàüïsÁ@šÑý`‘†Äøãž y -€Æ$ Õ€u\p#9 ³$ P KÛfB"&,.ñ((†”PÎIJ"dò‘_F‚Oÿ¥%l]ÞºE.ƒEÏb+î'¯6€¢|ÌÐxKÉÜQV2¾ft@žNP{VUHæ6ÜÌ¢á‹Vš0¢Í W˜àö”௔g« ‘ÈHYhÐ%ÒÈ ×¿ýˆ\Ï:~žÐ-\¹8,1¯ÏB0­€‘yBþça|ÊßÒû¹¾ ¿!Û‘ªàÝÂF -`dïí¨ª<zÍ#I_#ÜêOñÙÝ3ÌÊû*Àâì1k¸l±0ú{Ø «4kÀ”{VaSßê@ö[€Ï™ÌH÷Hó‘ÁºÝ£Œ~§Ç”Çø|òG—h„1CÜm÷J¤‰ºMŸ1ÅЕ¹ŸQy1Úv0f$W™öu@Ò¥MÒéQA:ØÓóEaa…’#˜tun“|`ŠûlKˆv"ŸnÐ:vW”Û.º~'k Øk5Bq=e®ø¥ƒvv‘ïQ|&Q<k``ÓÔP©d«|¬7>·먈29¬'1ÓÈ·¨?= Uà‹G*/€_ÍeÁÿòLS00ÂSL;^(!Ï©‰ÑnhŸîL®œë+Ìx çÿMëÿõ´Š`úóÃn¬CÌHå áë?BÐÿ÷¾ÿzpü'µøà7üö׿¡'à·ª ðÖ¯»`set—¨!åœ}q‘¯ ”èÇêžÿ›@àŒèIøš5Ã__: Hÿ"ã™ü  Fÿ˜À¥7ã=óù¼·‡?@båDDGšÐZl&a`!©ù‚bB€ŒÍ Ûr$,V‚` -;Xµ¸õ Ó«@$9‰ -q™<-€$†¯vàˆt&>3È^Æ[Ɇ<ØÇÿgÐAaç‡Eì¦,Y*%gñ¸/ÏÌvÇZ²?öå€P€ôLB:ÆÝ`.€«ˆ˜þU*+ÁU€â3eø!P*VfàRAÉÜb€£yl³`×À©ó¤9ËìuÊ€]0|,GJ€†1·ý.6ùúÜyE}@ €ûÀþ±ðж'¹,[jÄõ?qƒa@fzÌ™Ý=ƒ´úëGðv\85Ü¿g`ÂÀÚ¨³ŒÁa¾³=]ôT ¼ÓØ ÀïO‹Ùo€êfNk[hàÔQk£ÑÇßÑîÑÑbggY†ã8Ùb&ìò%.wnß§A=ªU¾#iñ¤ICW®óî¾q¼Õ¡°k€Ù©Ü± ;#øNìê,ä2Éq‰® è¶”H‡UH25’¡ß]ÜeÛÈÔ™Žm#tß›ü0'À}÷#'W"²éΰ  è‘ñÑöL Çe>Ø—¢òe(€Ä@ö®m ™ˆFGг~=¸‰·¼n{ò¸V`à»à–ðPŸ9rØI¡0p‚{çt°‰ (Œݹ©+Gzó…g°;7±ÿëêÿ…(ú’ªÎÙ?Û0RÞ)°»Ô¹ -àà#Æÿ¯½öºEþøÇò|ð[º~óëßX,€œ|;ÐwΞ5þ?{vf‚îXZ<3Ø3x@jxN5âÿÆ1â“ ìa#Y@u@²§°¼Ãi%«\„€ðØ'‘8ðÔ'á‚OÈ‘ ­Gˆ)“* y„³—¤HÃØ¶±F æšé*e-†¶yÐèÇqZdÉ©<~‚Ýœ«ÍnfÁ=/r½l(zD>V ‰AÎçñ€T88Aí‹,O®7¥¢°ØÌ¢ñª0¡„(Ÿ«H´æ@JUhÇOí `éY"+V ®&¼(ÜJðuúöSXJÜüHuàeµ±Zr†ÛÉò¶ŠçUvÁ\H^]îÖ à¶ß€;vûÒÒ¹E -€ PªÐmâj™ -·‹ÅxóÌÄ`„_ *i²~2æ ÀIæ›ö,̱éí0{Ôz0þð Mþ3 ÿ9¶0Àצ-zÒ %¼ -À›Pèm€æÀ¢}œÖ¶Ð*&Z8o|€¡ã¾K§ËLM€ô×IX·;ÓþP–0ŠÛîä[ýé0€½)d2£»FlŸL®{['8Ýi>3»`©#à Œlä ¾EF'8ÊíÊL€Â‘ ¤!@RgÎÊÉ1—{h#X2b„3Ýv·D»µãœ¶u*®Qf>€‚S¹pßv¦‚ÀP©FF2(ÁøÄ5ÀHûÈrde€â!P™)› …'ßLû„ê¶}Ù‰™ÜH¦kçŽ]£¬#00 ±`<ÀÔÔ‘©²z r€¹±ÜÓxjð)íÞÀx– -fº:vŽLD•hè0Ìæ¸ý_]ÿ/û¿XdۈŶ±@èÀj’Þhø?öÈ# ÿ“þÍ`PÿoéÿÇI{@4ÿÁwèÀ“B•‡(.BôÎÂúwÀ†,×óófàð¼‘>À§ -«Hý ŽXù¶ÙðcÄO»#$¡Vã©ÏÇ=¾6‡yñ‹¾$ -œAëHW&”Á-Pu¢€˜Ò1³s ¦M ¬À~!5s¸õ‰X›%2vÉo\ ‘`¡mV2æ†|•…@Ç·§ÄvFû!-V£ìÜÌòñü°Qk,eÊ s–Ì(“_ìö‘=Ž¡jäŸjLtfJln•ßɨ@+z׮Ίf;Š}ÇÇõ½qä’ëQsºøø˜ ‰‘ÆCa<_ HÇÐɧ»Ÿ·x©ÐÃ]!z;:Àæ9ÝùävÝò€19VG("Ø×¿{2}õ=”Ë*¢ávÀvîˆì -ʼn‰ñQ6âÈLDëÑþ±H µ\ÿ¯²~í«þ—ã_3\Ä4À€ú¢õN)úü/ÿÿôÁ¯?~ ð~~óÀo<0(µ´NÎ>†)/â!ƒÇ¹Ä@ògG4ó³=ýSÌoCc€p½üÿö%|56ˆñÉñTFüî ´±Êд øËò¹µV\Aæj=F¤IP¬o“ ¦åêë±%€@2ØËòPÊûUåQëõzË -Ç š*czp~˜ƒ$NIÀ9Kâh_“À¾ØA—Ëa3‹ù Nâ¾Ø1Ä …SêD¸c­k4Ó…ÀÃÚ¡cøŽåk>¹%·¿*R´Egj{JèR°¶§Ë³§‚¡’¢b:aG]-^íÆ£8>ûȑ¦—L€ü%\p éY€0ÞwÖ7À+—xqé">4 -CSÀìâBÊÀ"ÌyWÀ8¡€Ð@Ò -`vöô©ªAK!x‚ÐYÔ{B€ªŒùNk[h,rß9Poß!9áA•#íatJä&v‘‰®®‡À¤w˜M0p ïÎ]J12‘ÛÕ7®ÜöÙ:WgÊdî%+ã¯X|b¢<ÌBð°fÌ *’a4·Ë˰cltÚÏŒOLpw(šû;•¨;—Ûö˜aI;øú!놨 ûÚ)‰âQ’'¥ˆ´È.Y2ßpèj-RpîÉ+5q¼ÉŪ¼Ã‹}Ùòéuª¡´ÝúÆû„Œy­#¸¦h(vH€ðôÓ…èH{Šÿb‚o‚ò¹sçH¡t#ÊKà©3½¿åúF,Dä{6¸ûKÆýþûÇ>ò>=ÄYõþÿý×cþÿ[Ñ?ízè0x‹@¤^,0#=d¨ØóßÒâ,›¦czð¤jÙêÒœ@ÇÀ]ªÁÓÖ÷1ØÞÜþ\âZ®‘($1zú‹í8øàç„®np‚¨PJPcª -€<ÃÔÐ$@Ì:ó1¥Ô‰€}Ø$fFÒòEæp‹f¿QõëJ‚mU1`bpXðpWç.yŽ+¸Žì¦Uøê”XJóhW”Î3µsLAÙËÀ/Và,S1, €õd[Œ«bÔðíx¬l‚•2Uv–X†—–!‰ U>ºIÝÊÍ7íB{ -Ëš8ƒY\ýŠü‘°’ç§ý§cp£¶ú.1äüéÔOú— ÀÀ`€p€y¬Þÿó¼býIŸÛéîç°"«ŸˆÇ§ë=³ì -øôâ²­e+€c ü9ï -¾èavè™Ë—FM@,æÓ5„á¿}û]ìЩßà´¶…Vb$q6‚(Ñ1>>1Õ—©°Y‘ Ç"=~@­à6ŒsOîÂzQÐ#–ýÈ¥*°ËhÔ× –)€ÿ¹ÏD!7ê¬y(¡Ï\_Ÿ€j#7*âe‘@Á0’‹|kŽA;ŒÀÂçJé€@¢ÄÐ,óUrÇyÀBÆ!¸±ýOSdô½K…FAve'”ÅH¦“G>tLLìÊE¸ <r–0T]ºr8ê“ùZ@h PüZ±Ê­&r*ÅNhp.z Ôzð$`µaT(G—ÀÉ™‡Íaàj:ø6@Û jƒo#çIðL£¥¿+Î[ÀZ¹¯·ÕúÑÌ—ô&ºþï¾û÷ðµŽj|lùO@þÿŽø?Tÿ³à¿ù_.úlá·z3@`ï0€þÖb2…?Âí¤‹Ö~‹1ÎÀ‚ªÃ ~ÙÊ3qXk@n2R±óß—È*p?=+Í=‹4ú‰d û;= u€ak‹ëAùƒuºNVC%K»J¸ÿ»À[´¥=¸i·<Ÿ ¤¯ÍAº+dFJ01€‚É{šÕêññûs…gÞ‡ÉÎÖû¬ü–LÀgbÆÉß=vvøb Í|ÙúÆ7’Z‡Y\“öˆ…ùÌO UusÎ<4©¹Zæ$S¸Pý3‰‚‡‘•,šÕ6ì*ê ´½à!-ÊR2‡ºî„à\-€‚I²/§=â[ýx‡ôŸÄX¦<"“[9±¬œo%V¨—ä ëMàJ`'÷¸¸*/œ‚¾V ¥t|/®u‰+2?Ì}ˆÛyQnÝäU¶"ò„™§íd–üåx,>³6G[æMî1­¼ ÀøÑ0g!þ¬X¢À"¤ææpOW)æ— è¸ÌþÔ -Àø¿±àüJ``7!@Lÿ€..s½b†-Àà€ÙÓ©ú*] -i÷? þ—`8öÐ`€½ôl €Ï# 2±³˜¯˜Ë•a›Z -šÐ™Ü¸ŒpÌÿƒ^z¹>ûUùâYÐf¡ñ¢Ò‰q È'ÓÞÍE»12:ö:÷á‚_17Þ—F! ²$WÝØQýヿŠ! -BJVÜÄ>ÎÂqp|É‚¿Ê<¿ŠÍ0ßÈýã+‡ž,"ñT;t F…Ëðû&èˆzsEd.ãÚaœeb.}å)“î~Àýî–`âÚÁ0QïÀ=?e>€h-:”»ÆL¥DX† ßÕC€&² X vø2L†‡2 -ÈÐÀ×ÿ[ÀvHŒý£ìÊ`¼XºþröÁ<³¹žï|Ëž5,Ç&õÿÅgŠ3ÑÃÿAÿ |¥5À¤ÊðcÿBí?»ÿ‰ûÿýÿÿHõÿå¿ÿÖ@5Ì@(€ý‹ÿxüšÎ ` Ï1*€ù¹Áþ=ýý- -¶ ÉK&ðå:º±¥MÆ¿hŸ”AìOú‰þ«=u1‚è„‹‡¾¬Â@@d.%UU¾=PÛ†½Ä N#äš* _¾t„ÔqJ|Aî$y’T* d¥àðõž©( Åç!¥%$M¬8œá¹TÇTyx`ÛUûr3öÄëp<*¬Â¡fG@™¡ÍF¢îxWo¼ €•އsØ‹#Èñ õ–¿•ЍRá× èaeÊÊÒ hØü1 -À_—[ÿy¥ (†ûŸ‰ª†ÿ™™i Þ[­´(;?Øm@€Â‚ ˜§ð‹ËKtý»Ôï(ð½Ñ~`Î.Òá/³_c‘?!x¾Ú0€Õ8­d À1yÀþôðþ“P@ñ`åJ€]›y<ê\ðþnÆlU|6$ô䣆ä ¼°–+¬’wéI7.ƒU-s›,,LäveA´™¯fI»¬ÔWÃy6€Ñ,æ)NT² çѨ¯/"ïbÕS_ãËisöG3…lŠÃ -˜Ý -ŒOW3e¾ÏvT”¬ƒ«6€êíP`@.‹rdñÉe Ê‹øXP<&ƒÉå*»²mxªù"P^ØÞÀ…ÔWúòQ\ ÀA©ˆJ}PDVrm¥ J¤!XXœJ@ *G}¹uõÔD °Whœ¥My¨ô< ¸1 -ðÒ¥K‘â‚;DGð@‘@ÕTeSů_9ÿ`v2š¾õf/) ÚþoXÿÌ¿6Qdì¿Uý³7@ÌY{€P €7þ; ë_Þ§¶ýûÜëÿüÏÿù_þŸÿî¬ÿÛÿþÛÿ`†Isx0 %+â´Ì×¼8;Ðs`öÅ%ò?žZ‹ó0FzZ¬ ±O’Ï;ùÓÊà">gÉó€x?°¿f¥R€§«cðàç³s亲Eéòp…V“p@YçÀ±ø–<GHŽi!¯Ø"]À$LÒê€êÀJdìÀ퀵  -aBî r´G`;9L…¥©ËY_Gb…Rò°Lî»2­úÀÞXGªXÞO>‚¼’`Z{€DcÀm -dÃ3‰OÂfãâàài *…(^+ÿ &Æjþy¿  å ¾CW­º»@²ÆcÅk¹|oîÒ.ð`ìö þðÚ ¬ ¢Âz#,“°x4Æ®aVl1:1XöÿÏÞ߯Öu÷¾¨Œ{áÆõ©¨J1l€p¼7d´aUŽÂ(YÜ\᢭šÁ¢¹¤izµÈWZÊl} %W:üÅu•¨÷[‚&KTÅíjmr[—:(Áæú”`’hœh×îqvN»#'Š$œÂ±QØíÇûÿýŸ1× IQôžßô̵æË˜cŽ1æXäü=Ï3^f”€pdS»)å¼ Y67Dõj´ò\M¢,¯Ë=RY"g7N<72:R*xž"&.êìTê+('*ƒãiiAÊž%Àdõy*dS¡y#œ›õ =Ur¥·ü_0BöãDÙUÿÛ4?$1×ï‘‘úÔ«áÀ€­ †àà& É=ÒɤÕ®\Y«§º{ËsûöÕÍU@‹ý¿iû¿¶æÿ`i÷ÿ{¿ø˜€ÄÐ@É¿Á€ æþÇü7ÿôƒýDüÿï?ÿ¹>ñEL‹=-N€¦ÀÀ—>ûY| Ÿý–ø¯‡ûLˆýzþñ„›8ð$M­Ö?Ë==Áÿ°÷-tü”Nù Ѓßȉ>¹.€ -€p©á0…ßÄsýð@¸WTE4â’Ðô(±RäÑIóÂS¿¡¬kà -M±}Ùº&?³ÊÖ|C†8(×*°™(ÀvžPã˜0„È'<J0…8Q…ÿ.@T ˜wáÈHeQHò¸@(‚§OSAXüV®--‹©Š³M@©sËäß¼(-9[Ú4B÷» Ü1)ênÓÍZ¥aC.âô­ª±Šä)4úW…¶–‹â€$¿þÝwõ¿½õ»‚Œëää‰S§NÙpú¥É—oäDh“gV™ÿxdÕ‹ûÁÿs¯Ù öÂ=+Þ •/:‘ˆ¿Nž:p¼áþ· ÿÁãÌ8£ŽOœ`Ô[ £Zé¯ÅÔo‘{yN5=ÖÄ<Rèز$¬=íŠyp_;R¦­“æ"Ô U@¸¹kúeÝânEÜ>ý…Ýæ?£è‡d¼ BïÅâžr÷Qsw0LûçGI† yðR™«”Ã#mîpÖpÍŠµiÌæ†DÝ t’)÷P d¤ÞpŸÓ ®6:’Õj*ÈÌ•bõs•îºãcµˆ´CtVúw‹¼h •:þ†sžÊòô#è©×6)ˆ÷6Yú¾š:p“úŒŽŽñŸ¬LמW€û ]­ì¸t´­Àz¨¸ÆDs0¸Q„8Zïàz‘8<>§`ˆr˜Ö'[›8IÊI]à´Òs\ ñδöVç£Hœ…‹sÀºHòXi°j¢på☊Kq &CÎ9Q@õ]ø¾\˜Ð7h=G (ð3õ@ÞÜP6=ïRÿÛW\”f‘B8Ö’„ìR0ÂKý¡ÓÍS@'!ñ½ØÎç€D¢¾Ñƒ¸÷)Å¢G{® ” D{ÔqÊ-•lÙ q1àÃp'@C8}ÆhEΆàÜ…×Ü`À…×îí¸‡ð䡉ÿÂ?3b<!ÿ€'þAèph[€ÿ[=n"ïàÙ}BÜÇm7–„µ²]ñ×}Å$¨dÓsB¯þ6%¢•µAA€µ³9«¾šuëâÓÌõ±úôtmè¹Âîν]}2—/Ö§‡^Ùæ®Lg²|?W’Y‰)=:T© e¯?— +Z}ºV›žË¦êõʨ¢IAvAŠõ+2PÅ©Z¦ø¤£µ‹yA²KRfô¯3s½VŸ™®×æD|&ЯÏ\¿~%ã꿼r%ë­öv—£ ÜȤ6ÐxÁ„†q7›¾^ªÖeM×ÑÀ“ˆƒ#ÙôXýbq†¤ÆjúÖëcZjAmt¬ŽÙ½^”ª»¢¤(ÃvÀˆ´ÝêôL½·\¿"E´F•a8`(Jšç²n&‚éXŸ*<Ýð¨&Nm(ëð ¹ XH:;GÌÿ¿®T‹Õßß×;õ׌$ˆD[Ûÿk›ØÿÙè˜t¥þνwàù“Ùú `jÂÿϺÀ£ÿ£û?þáÿzüÿ<Ë?þÃÛR¬ü¨Mø³ïÑ -ð­¯|åËæÿNi“zBxr?óœ“ d`ü)wl¥?Kz€´Ixü‰c¯b€O1Ð݇œÆX¾Ó« M€¸£¢¦+Àªv€œ" ?ü1pµ·Þ¶£àj¬8ºb$¤[l“ ²® €+t]Äæ´b»€SÁ‚M¹Ô )VèOѹ†²µ`»€Mz -G<Šè8V| :´£œ4uäè`^yêËi -¥«IÀM2¸\ôPFÖ” ˜|[ú xÝ¥·%J…¿ó ‰Ý(Ò®$,(‚îBÅÄqóþ¹ââH·à\ÿԺʛ\¬ÓùƼ´È=ß°¹ùo9é±ø^âÕ¯¡C8ÁDÁÖNN¾„ Àò]Î{Űÿd€¹ 4€ÜpH{ßr¸û¬ó ±m1ö[dsÀäÄd»@𗹟š—áÿh¾$¬=íŠi± )W²rELMúh¥*ˈ(cmZŠÅâ@¹[•ºßQ%Òбç±ÎwçÇðU¼JùkÏf—Ðþ½g.èòbQÑ¡R–áý5eÊ{.Ë•ª§¶- xSyµ§^§ç;™ SõŠÎUòH¤TùüL%ÍpƒK¢RV9®{<ç÷âÀ>á¿X»©/¼„‚¤ó›üoøtu«ïÞt½^¯½~]ÚÍÅéé¹ëÓ¸D—˜€ÔAH€† ]×F=ë)x}ó*]“@2K×P­öWþúÍJµ·÷÷§z{ËÙõÞ'èD­^¥öé5F¿EìËj¶ÿyÓo‹ž‚?ö àÏ|40üßøoðßcÿÿ!áþZ6‘ü‡ÿ=˜°©Ä”ÌÛ…vîüåÀcâTzй³zê‘6ɬd¾ÙÊ~–Í=²þíío4à  F²ó;˜Ä k‘–c›yó—+ÃG/Í..­,ÓFÐâ°Øž¸a[ƒÖl0õeÞÐô@ÍÜP`}2ÄIbƒþ«lRÕj€…]í«*¹ §Du†SΪø¤.Üy÷¿yÇåkz»C¢\€í;¤Æ¸V•ä$‰H- vpZ‚Oä}¨áþÝ+«‹K‹óî°Â`Ä+Û²¤$Q$V q¹#¡àåW/õuL­è܇^¦ êI´ãzåGuÉ#•6ö(ÌZ/æ”#„„ÖÄ!98—VÙÜ`(ÞS&O½tŠt€4€oœ8}F*AÈKüw¼&«Ÿ Ë+n pv³Q§O'⯓§áÀIßúuÀ©àq÷ôMÿ4 -à]6¿©`¹láøL›Ðîhñ$¬=íJÏ6åàÁÞÞRyXH.•?'üÁëÞžžBñ Nî;G{'HÞs°X.v:;yDÀžÎÅ-wË‚|YQ݃…ƒ…žžÎÇ:.®’¡«ùT»«e¥%.‹µŠØÓŠ¡¼zz‹‡KÃ’²²0×É›EPæ*G‘‹9Q,Vº{]Øbá`R3Šº‘n©EÝ‹ ƒ -ÝŠðßùØct¾ÛÙ±§§Xú·¥ëK´Òý6 ÒËMZG)U»»œ”Ô5ѻɘ‚¾ÍûHŸàÞú/¯Ït¾>ÿþÌŒ4&èÊ]¹P©`ÒóD@„ÿYýU<ñ"€ðÈø·¥^¹ Óíÿo¾Yÿ¿þõ…ޫׯUùeóR4Ûÿ/’C«ýÏ^øÿ;v=ÜÕ¿“ÎB%.€pü?˜`ç§àÿ—¾òÿ‡ÿVüîq=w´ÓÿfíÒ+ÀÞ–ÂЦDG@ì‰8‡ž @ü?+‹f’nÓ ‚#˜û°?„&?4vScˆ¶þøØöDµ…ËåòÔÕÙÅ…Õ•SO~Na$¼dÉÂw‘¦Žß$úØ.áÐ$ —V ìÍ&€Pt]Dæ¼b» Þ€.0ríÎÏ€4 -@+E%ØÅdWW(vPFSP3Ï1¬èt2…ä -_¤¨¡Ppåbˆª¨Î!¡óEÈ®víbük»º²¼´¸pma HS¹÷rD”A¾JâR8Äb @7rǪU«#¤XèF\í4P¸y +~ß$©u¨2¾*~Oúÿ§kÚ…àÍú˜‰[È©S“ÒÃ|@’ÉcLØ$÷¸ Àƒ8°É(I"þ:iQÀ?rñ6À'éÐÚà·Z÷Ö^¤ ù]7ʯk[ÞØPÚ< õ%öà Ø¹ó = ôMX{ Û•øëºT³^;73=÷—ÓÓõ™JïëbTmfFæaÒO+õê‘JUqê‚ØÈÌ £UŠ•Œá…Â`ê >£3…Ê_ÿyv±^Ÿ®Íñ^gæ¹Áç*u7#d3s3cÓ¯gõ±r±\<õ¹iÙu,ëú%VF¶òQA®ÿåÌôL½\’ÝšÕ_ŸcÎ[%åÈô§@™NÍñš¼g‹¯Î UTâ¬~]'€X½^®ÿM}F‹n‡Œ®ŒÙÆÖ…*j¡T-uõõõWFÊKº¢2ZŸ«Í(Íúp©\¯—Ê•ª’¯Wê33oÎQbyN¹Më¾!qxÜ×I'¯ *lÚ »µbŸDŠKw7ŠD1«Lç@!)M€-zîÃG#õ©Lü:RG#Ð"Ý`äÈ‘(O‹`oð¿Réýò׫¿?Ü[Ü'å¦WYw÷t£w}­ø5ÕíÿÆ¿û?{þ…çéÿ'û_øïøí0‚Áß8HÒhøÞŸ!\üÓeÿÿ÷¤à- ØÿËØèØqüHøo uüò" úO¤—å€ÓÌ | …ü±lÞç>Mý)„%´\)ð£|kÛV.WêW––WÌ7}Äo÷p“€Y D`}û’œzæû(š„ÞVƒðp‘õˆmN䈅‘H[@ KW”ˆÉiÔGÄòÇÍOš›ôåd¢» -Öi³v©D7o -Y¦P8"C‚Pt¤/J¨ N+ú «(,²ÓZQ<Õ;D4L]EkÒ­Ðæ——V¤lpÊÜC¸cK)•+ ÇZB¤pƒÒY’’廡Q„K<쀚÷åAÂ…úU´Ò>jÓZr"(J“jfá–QâÖ—Ä¢XüîRøoŒ0·Æ¸ƒQN04Ÿá±×—s@Þ zžyé̽ôGúhñ*í¾ôR"þ:yòü×û½99yÒpã@58îQ‡Dxóÿ¯ -@hM‰’5¤þõ€–QÒÙcÀÎÇQÚÓã¥Èþô‰ÇÖÈv%xq_‘© Tü—˜•‹k±Ÿ¼ÑŠP‘-I²¬Péïd"@æ -ð4zúkî™k€LDÑÞˆ¡!†¬©Wz™&)¿xß}úÿcèzÙ©3´–kŸ‚è;X*?+‹œ †Ì•Å\& -2ßÉŠþv½×ÉJ—¸;¿ñ>© ÓH¯•ºËF/—e¾ËÁ²Ë )—ÆÈü9•´·2eÍkd£0’t7öÈE7yXõœeÕ¬Z,VŽ´jQÄhºHl¶øÁ#Gd· -=…¯–xÐÑÐFFªt? ~Yõœ{¢ý_öÿ—Ÿ­þþ×§¦²©jU -—”<¶SG³£Õ–ñÿ²=”½íÖØÿ{™£H*ÀÃAá{HÓðÝÔýÿûâx4üƒ™ßìØÿå{·o¾gàgÿøÿˆà'¼"X*@CÈ]_ú,ƒ þŸLœ{Μ;G¯À'·ù.Ûù¹@’¯£UvèyÌS>žÕlÙU:„D+×.Wªç¯Î/-ã)Dbú¨ÁAL ÷ Qžú¶†Á¨iô±Ý)F6ûV˜®ºB4¥8…,:“'n*¿Í=qÞÎ+·¯k fŸ¸ÌDîtñÝhÆwb°6 Àö' t.äÀ†ÆÅIi X -G_'Ù£4:­=Ó]E1îÑts¦¨ -w7€zTk««Ë‹K‹ µÄµŽFWQf™ç»)9D–€˜]nWGâ8ÑøýT@¾úѬ¡9­£ª¬Á®&Dºœ*H;N™Ø-±| ÿz @qKa,€}/±À?“çò&€Sáp׿s¯hcÀk3 ø4¼äUÚm(Oø¢ýNðÆ¿œÿÇ¥œ?”ÏhiíÐphY/©dINÙ°© Eˆ>èé];!?J€> kd»2 Zܱt%­—λ9Êãì`éÙJåY}Cj¥b… ç;»x S ŽVz怑`+‰*#Ú5†j#tÔ3iz+uýõÓ .,Òw "ð¦‚d"5—dÓ. @¹ôìà³mªH½X)Q2ÄV©•ÃÁi«LA44Š“ü¹(Ó öúxÇïÞ¾¡¬Òƒc Æ9RrÈËáÁ’‘ìàðÅØM’ηM ø6ö¨gõ™™¹¹¹™©¬:S©Œ-\œQõJ€G¢Hí‰ûL€† Ý#Ì0•õ<§=ÿ‰ˆ€u¬äÈíÿâ—«Õßÿý©ìÊÜÜ}}®^Ÿ®×kÓs3"?1óþÿ®(ý*yû¿nfwÇÃöüvBýæò…/Úÿÿ4äüoôø“ü")·nÞ~ïö­÷nùÀ}%~C üÿ[iRþì»ßùηÿø+_úÂïìüÂÎßñâÀg¬ð^ú.MžØ¿ýa€­€ýóÝ\üPÞZ ÓÂÕáòÔåù…¥µF Øêe@`'†2+›†@TäÌ@!ü5=Š×Ò@D* ñµ0 ª¶7ÀƒÐ”ƒè =±II†Ëí"÷ذÉ(¢™jÖEì ªNißiM|€UŽÈ0ådÀš -w }Ú6œ€âÑØ@©Ø'>—¡ü8HS¾qQxyueq~~v‰¦Ŷp?!¿\œ{Á9Y"È"µH7®0Šäû¢ÎW)6Á±!”/)“êŽ@ÔÍ8UÁš;¶b7Duøß¨[Iû‰\(§îvUÿåaw%"ÞOèíç&‘\ -À£r€0jþû%Àñ:ü¯þ›Kû»O“á2€‰è@c€CÝüwüI޳j‘(™…Œ÷ô´Ì¨ÿÍ ¿¾hç2ýw>ñ8J€ötü¤’€±mH^/õf£ ˜Ékøã”ˆÏeh’+Y¹Ôµ{·°Ç;|¤ˆ<•¬§.ŽA|œ—* ñÜhàøͦ‹#ø"Ëp. ´ñf˜œØI:€ØŸ{ÐΖöƒÎ½…ÒЇd4šÕ²^Y·ºjÄãu‰)úiªïëÚÛU(Õ«ÅÑÚhž3[RŒ#Épä5:Ó[®QBnâ"}"ùÖõpBˆ"ñ–¯zm¦~eÀsÕ†@JJ^Xçvÿ4:˜UÆê…§Ÿ.K_- Tì82Â×q%žJ!aÿW{Ÿ}ö÷¿žÍÍAúlìâÌE‘_¿X«Õ[ÆÿS5ÖÊ\cL#¼›i’ìèþovbŒ!mù¦†F€ÄìÿyÆÿÿþ‰ý© Ïÿ­÷Dÿ[·nß|ï½ÐÂð“i±€ñ À—¿ L¾°ÓOˆOíÿ&~(x¶ß Õ¤ÝwÜRD…ËGžŸ]X\ÁÀ\ÏqzËhwÐ ¶xÌc -òN…6QÒÆ%±s@ÒâÀ‘ ³: V7Tû2Ô‡¶&ÎÂTÇ$±±J9oÔ霂‰˜÷hzôU‘Ù¨n÷[6¹Ö.Œ¶J%Š -7EY @ÑN:­¢Éâ'eðh¾G0e$&))$4פP+ÀÂüÕ•ÕåÅ…ùkËÒ(2ŽŸ i%Qâ^9‹ƒœ}ª[DÅŒVd)Ô¢ôîÃ1}»IAÐÊüOçPظÊg}’Ÿ&‰~LtƒˆJ¬V!oÿ èDè.1 - xx_9yâ¤} ßÿãxÐl^Ÿ4ó_£ë_xPð$ௗœù±Í?Oá8q‚—q„ÀMO~fÿøñð(œN€ÒdýÛ€ -po€ÊŒæB%“Íqþï>¡ôÛ<¿ñ¨x½´<ñ„”¯ÖÈv¥ÕÎßjiˆ5ÀX?!Þ$·m)’i=È$Ú”gê…’[YïI{q¬G`(•A‘M<þ 7fÖ«y4üØLqdf4¦ïE¬+4\QÔ‹2™IרÇ=QN# $Då+½Yf@‚³þ£Ô{ëL7`íC‹.—1¤KûýÂc<ý%) -£õ†0TzF+}ÛD÷0Ó+5cH94¢õ¢s@{?6qG x¨”¤Ôës3£ÒFš>Úrþ£ Ü ÅG#GêÙÓÖ-$™=tÌ»¨JZù/û¿òåߟúºìÿ¹+NDZ‘`²_óf]ÿÿFûg'ö?\¿ nùb™³K À·þ×o3 ì±³¾ÑàW?ÿ•ðÿË÷~uë¶äÖí÷$á° @´Xø>Cÿä+_ñLŸõ"5Øpúܹ—“°^Ò¤MÚ<>þÞ¶ˆûúm¹È][]ºz´rþêÂj¡ÛÓs^r#×OýÆs_¤0îDm3#( @Dg;âÍu0¢³6̤U` -Bû"’„¥-Mâ;W)¶ãAë·ï値€ 0¶±+ÑN9eàœ`Æ6íGºË“ _Çõ! -1ìõg'NpDË€'"Žÿw£f¥HQÇÚ]YY^œŸ]X^QrqîKdÛ(åà|ó:R!´«x8µ(‚sÖ_§BtŠ¥¦zh.°¶ âê$ÿMÕ,C«(Ižø/Ñ¿jâávÄ$E¶ph|Â/ÉBtÜËþoôðqL´©<þ™'>óø“Zbû-Z7=Ñ Å#^Â}h"9&&¢€éŸ·x@²üsq±ÒÒðh½Þpr£àq£ß"ó?:>þÀðI%ñý~KSd—2Ø_( Üê[*ÃØx­]åÙÒL¥0 -óöÊ’îs{J3n”VtiŠÏìû]{÷â¡Ç¡`ƒ3ËfŠíëÀÏøé­´b)upAì‚ ¢à `¦T¬ðàg’A³ì`Æ„À>4ŽŽä çýÈ…Â^jгf:í$])= µ‹‰Ù’g+åz±ì&<#ºwòoTІ ¥@)’Žƒ´.¨Þ¤Ù$@ôT‘p ºDjøÚá~d$«3 ’(­óÄ4@¹Ûÿøÿ3øOwc•\êט0cÙØXÝ:v?Õå­–hÿx€+}ý¯×¿ó¥|Àà? ë-ºŠÿ9ý-¿º ùs¹%ü7T€½ðÇðƒpàà…Ÿý&ràÉß“-ñGôàw&€ošú-’žíâ®þ8´ß42B È—m4@ßå…ËÕ*€%™©øÌÝõzÑF L6 -YcòXC@ö¢¡d›ÚìT ãÓ@È ±æ…c!ˆ(ÚõÆ€d,ËjÏ=ºØ„‚hŽg;X±/vvòèη÷ÈGX…HÁ¤‚îÒÚk`¾yK†ì‘n+öRß·¤Œx»®ó$ -IûÖ`-¹“ =¨Aw÷CSY[^Y]Y\Xœ_XX¶‚…Sྒrn -÷D!ãÞvò™I¢]‚ÐüÃì°ˆ›VÚHÙ²F@Œp†hApåFšˆ”Ô„tmlsqÜäÿêê»AÃm 󈪞P -À7Ädû;ÌÒÏë/F Àw¬üèû²ÿqæ»@Þà?ÿů~õ«›¿xï=³ÿ}-·o¡X`$.:† -à~€ßû.“y6À/˜ì>㉀˜ôô,Àäøþ·Ý&Ñ¿}€@~“þ­%ÜÓ,¢µN­ó(M.õ< uc­ pDÄfáVðW˜= ‹¶£ }e#ûæ%ù¹ AKp¨c†Ó“ŸЕ$DÚKbeÄ÷DÖ  P]K])s2‹oxÚ/­­.-ÌÎ/ªŽišWàv„ëù4Äé:ÔµCÎwî¬RƒÔŒŠI‘ÓÚóÍ» \'quùfýk¸]‘ºQº?GÕÀ‘öT_q[Ä$:‹ã$q)¬èS!Š4Ü®œˆF€3çÎLÊ ?ÑP$R<ðOôûµk@¢ý&ò™ÇŸ0þŸÀþ×A|Ÿ<ðâɉc'Ž%þŸÙ/%¥ïÀ'Àpÿ’g˘ßçK=ŒN1ŒŒA( 2¯ç4*3@ÖE'´Ð××Wíê+ÑzP)DBp+BÄ¡Ñçmr ->Jøúá7Ö¸mnÀÕ©‹cÐ+…Éà…úVCþ‹ ¢¬Jµì`Éï0Ä#îh  ]çø°Ý¯êw«ûëÅ<âˆmâv‰g¯ö×¢!ì· Z}~©`£•EJÞôD?€A)%J>Ï`½`¤*ÞdY®VøÉ*¸ÿGò1yÀ¦ýÿuúÿËþÏùO™lý,ƒÿµl,ºk¨RGǤœUFK»÷ÿ¹ £ã·íˆ‡ü¼üŸ½”€/}å+(ß³¼q ä¯¸ùó›7uûW²ùsþ#·o£ Høïÿ…á­† M~Dxò©ñS'Ͻt–ÆOi§Æ·Ý ïè6€ücè7—Û舷qáêTõÒÕ…%iÂsüžQ†“ÅV±Ia„ÿÝBHÅT¸Ûms;ÜÕE>¡T -ô€ ‡Î§µ£ÁϤJQ W[Y €; (Z‹À Âl¢°€[û”} '>W—Ýïx€ Ük/ÙÒ9çò# -×Ê£ÿˆOš¤ª#%ïØ#¦“!y•9௨hVk+Kó×®-/J O@`r+!$Î/Ä);—\ ûÀ¹+”U:g(©/õÂ*šv|^×i­ÓQÔM\Gõ[‘ðr½/f»NHZßTnÄQ?© €Qg0¾ÿP‹@?ÙðxËT@lï×ð$ZŠ<&½?nxJ -€[$4„ ¡äüÇÐÄ~/§Ä7ÿkiõh;9q¨ù.€\xôQ5zÜ?%@ßßHX{ ÛѬÝï›3ØNêb»Ð°:;:â¶vt¦FKº£ÕêÃÅ™Ã;÷† €&ÿц÷ 6Cé]EÄïÞ×?(ö@€£úÀ\4ÑËìTzúcÓJ’€  2S,Ê>‚(wl{Ÿ’¡D’¢‘e‹²d¤RÏz³‹+™ðÎâ0lûû0Ö }4èžàfäñ —ë:þÙåNUéÓ®‘¨‡èÑ*èí>€BÐZ0›rt@Š->÷ÈǸ:š3(«„ÿˆ¯ÀzêàšÿYð(jÌ„–Óbÿ»ÿâ¿‹©_£±h7~펎 ô3þ_ü¸Ã.€]»:vwt$öþP" fŠ>€(o½õ–íÿ°pó—7…  ÅüÿýÌá_a:Ÿ»šq„ðE{üœàuÀ§dóð”³àÀSOþž™ß&éùÑ&©ý¿áØü7ùÓ²Qx©—QÎ_½FqЇ9mÝú =žò0!D{Âè 4@po¹¤ ,À$ípQOF ú*q\ñ ” ftå‰)ë ‰»!ÚiÞâ0äȦÙ (¯¤îüÑwn Mâ.óØ‘Š£Œ-Cé)®²´Cѱk‚¾wSÊ^yIq §ÉYQu-ŠBTXŸFeeþc-˜f‘z¿ŸÄÉé“ )F`T´vc¥rqº)ª(* +.q:¡Áiƒäc'¤dt;.¬BT³èP‘ú@%sŠÛ†‹øN>!ªÿ•oWN Àé3ç^–íhÎlô3Ðk~pH¢ý&Ò°ýÓŽðõãˆ>Ç™ 8š¡¸€Ð ðÝÃc€ÐØŒð®¨ß&”3Àú>!³Hý/Qèo>ð|R vÜOÜ¢ÜÃ=µé±xù$'P-›ñÀ1”¦ç¤tÅÛqöK+Y½WÑ$c•¾Îއ: £6 5µlôA§^›žÉ²òœè“–(@;døRq ^ËðöRÄóÒHíâ æ«]åÁéúÁ¯V¤„ôëHFòˆ_x;Sï=R—;Vc´¼NLKQ©KƒƒuŒRfÅš{&~”5I\R®öª¼µZ`9j¤MÜáÅ¢µ@X'èK½ --ÜdòTŠÅÑ|,€àœ2M€FF”½*ƒŸõÕ¯¥0^#¢ÛÅÚÿÍÿû?úÿÇí±fG_úÐP*><ªƒ‘¡ÁÁÎN™ýwì~5ÀJÀoÿögÿM€çÎcø{ý;^éË_iô”ðºÂÿ_Ðð‹›xüÿð×z{ë¶ܾu+פ„@z€ûîw?'ÆŸú=úœáŧh‡žúÌÆ&€o¤çÇ:iñäbè7—íÍxcuyñêÑ©KBÓ"žiqG+lzwbãAþ®!‹j '½-D]ÈóŸ'¿ €ÑÍžvŽ(6Ђ‹Àœ7!âl¸™%6¼9Kzˆc9Ðf„‡ -¡…ÁøÂžåRÎ(-ˆé¤àD"„É”ÅAð_ -…Õ"Ѓ_'%‘´/&iN2%Ï‘(ŽÊA¦8>tÅv[J<‡8ƒ˜pa~vqiÉ -7è°¥¤K7%ïE%Š -Ô9µ®»T óAå(?™ëÅ÷ñW}­+V;«B>7A¹‰¡à?*ÕîhêHE§v|r=ÿùú¯|ÛÂ/ó6ŸjõÐ@ÿLÿW^±àáK@Ãöþµó$øÿLxm¹ð”ôZtÃÛ<Ñ>|©\¹ Lþ‡M=Íw ´÷ÈÎGyЧýßÔWÛ„µ²]1Hî+U!eFXªfõj&(U3™½æ @Îf®\¿þæ›WÄSF²Ó]®WÊ=¥gE» -¬+ÈšvÜbud¤>]­ð¢ Î¾Q±iúb=›{óú2y™cµ^î­Ôç.êP§æ”q©tä(SÕ¹ ~Å)÷VNGt,dQ±™ë×ÿòÍ7_Ïê.ˆ¢T²RwitŽÒŠ†Õº•jQ§§³‘¬>'-¢.S\±v:“:Ò§‚Ó11è©Ô®0añX63w û^IÏ¡NRA¦²j¹w8«sÌüÕʦÒi‘!^z¼¾…jˆ=eï~54€cÚg@àŽ…è;:’ºXYr?á¿¡§„ðf‹ýŸ÷ÿÏí:M¢Œ‰ÿ~ۣ…üÿÒúK»w ûï€?Z…±Ÿ¯Ùðe•{x 0¯½=àè Û_Kàßü‡þ` àö­èxûW·i€ÿÑðÖÛ¡|ï»ßþã¯|Ñ -€í†ñÀÙ³R>‘  Õ YïHÏã­emyþòù£õÙ…<†>ìׄhîæ‰žPWÀ ~$ç±,s6@ˆ”A.1f”]ÿáü&ÛÑÛ BRŒ WŠê†ÂdS+f+_ë{ÜqiqÝÚ]PľРS†>¶±âI* ;7h3 "E$Š^—ç0vX †³^q ôõö–³%T!¡ª §€ûåÕµ5Æ.ÒÑRµÞê/ß\¸ã$ŸÈ…#²B kô%׺«9?ëÒ膒Þâ ¥ts…"º]Þ¥BepËÑ|AªRáVµ¦ââx:MyÚñïK”Ú*¾ñ\ð‘{“öã8"x­ÿ‚Óxh8ðM)gÒT@¡DÿÿmõhØþÖÑÿ3 €ÐŒ@«“ÌðÔ¡ã'€cǾ!àçó@bC ð¿oCÂø;±píF -]tü¤/¶¹¯ìëííÝǪ÷àç÷uwmŸÂzÜÓÝ­ÐÃåâárùðÀábO·Âº{Š_ëù\ÏžŽtìÙ³g§¾{ëî>Xì.w‹={Ù±ã‘=ÓËu,ö<¨{ L>ßÍ ƒÒ«{zK)’99êÛÝ­ÒìfÞü˜G_']bùkÅòáò×\îóÝûŠEåޱ籃ůùe>Ž^<üùÇËûʇ# éî~챞îÇ}çÎG$¹»oRiTB“M¯ÒVMôîû¼¾ºrŸÊ£ËÉR7ájjÚ9žñ”> ÀÞPJÀBq˜¾q,¤˜'@â?sør|$ÿTñø?¿ -x°áÿ[íÿÔÿ_Š…edàKH/h«…ý_ìÜ‹ùߎÿŽßþÿ?µ+5€CF|V -À·òN€ðû'oE¦û¥Äø?ðÿá|(àÆ äW¿²À\~!ÀM3|ûO¾ò%wôƒcü):ž=ãϧÏ=åYI6Hz~¬ÿÑ °UÖyÒy Y“5º²`ÀüÒŠ47 -ÐLÍS]yæ€òø0RwïBtNzM™A1mu”7¤%é -°ÍQ‰ÜÚ'!]êT(2Aûü¤3ȳ!ÃOçÁò 3?ÐëKiO° Eè×IÐ}®Zaá,_ÚÁµr4ÕƒNØiÀƉ¹°Äµ*@¸â¥ºDWܵiÏå$fŸ õ‰…áÿË ×f—–WWðþ{µ¥„6Ô".Z.ä( ë^ñÍQ+†û èqºCâ„[Ÿ=»;TOQó -µ&Ä£]I鵯ü&©ê­6iÛgE^|S™‘È#>Nб¹ÈÞŽMÚãˆà=ÿH8MÀ8 -€ ¸G„w„ÿ¯lÙÀäË?Ñ>~‘ݬ?6Žà -À1eî°“ÇOÃÕoëŸoh¦~îðÊÿ¾-" `Ò«6`bòdÛ(€¦À«€·@˃&€ÿ$;šéãÕÛ¬þçsöÝËÊÝWÎÎkçhV®Ê÷ð‰6n÷Kå>¾{ýf½ÎR©³p°PÀº­”ªår¥ÞK ~O率eb—ŸÕ%²/ɢǗŽ-ø{•˜ú„ r¤’I€èÆ1TyS%l±ÿ÷úüO îþW«±éÜÝ úwÙù*@ìØôO ôíK   àOè}h€å8Äþ_Þþ¥ð?üõ¢¿ìípÌhÀ›7þÎ?¼M@Þ -h?Mßù“oµ*œ8uʯAã}€§íðп| —ôüh{ìhjÌýǦùvþ­DÖèÊ…ËG+—./.ÓÀ£\¡aþ3-‚}ˆ‹2è ©MhÇZ”Àír1ŸÍtÃŰ‚>ìD¸V±%9xæˆVädˆÂ¢èŒ^÷!‘ß]¥Œ»3µIDô¤gB¤ª]6ÖH.®%”æ~ŠÁ1EñMãÝ剜HE[vÃÀ÷}˜P¨+T_ö•p¤D¨C¶:ïWVæ¥e‰‘Пð-$Æ#ä’rnòs(M+¯;ü*DV°ªF•’_PaÔ ·fÝG - -É¢ûã‡t½ÛùÅY}ô“'Ž¢hårèì“øR->89y0ú›ï§]ï6ŽÁòH8™{NM¾ÜÐÚ„—ÿo.†bþÅpÌó;†Ãÿ˜}þxƵc‡Zùí°4<Æþ¯Ù÷¿o‹@ýܧ €SmÑ`a øÏ0Ñ_Á<ŸTÜÃ+V[l™®Îë᧯d½ÐÁ©JåY3¨zÈT*R„äúÔážÊ¥¬úì³¥žŽ‚ SãeÙ‘}õ™J©°ë¡»:+~rÜøYe´–Õ_Ÿ« ×É5ËF0BGGëµ±Ñz6EQÜ1¤Ú{ ¼ÊQ® « `/ - «É^U¢Å^),¥B©ðtA0/C¿Þ„êzý|ïL}º£+p/O32FJY½HÏ>.HT1U ý䦩‘™ëåbuL™º_"-ZÚ…Iž) µù¤tÑ7²µ@ ä*À:@êpÏ™Fi©ŒÄ¥T….g±À“ùR´Vû?øŸ¸ü§¶ýJø¯#Ýfþôÿ§íߨoõü6Æ?¿h¼S¦¿õk_øòW¾õ¿2Àw¥Ø` /ý»}ó6 ðþ×ïËòÿð׿öšKSÀÀH€˜(†x*À/|'Ûä‰ñqÆ>mõðAm’žë„æ¾â|nðkÏ;)h; -ÖþÊâå)^œðO‡k\_³‚G=ÈRx¸+4> @ëD@RxI°4µŽb5ÄÆ?³$@êp&€'è( Àƒa€ŸXL·Xm±…¼"ü9xÔ§x*Ø Ó¾<¹Âò…K¥î˜â¾À;ã:¤úÀÙJC£•᥽»vìèèŠÎï2uÇ*nŽ&Ñ1Q»:SWRäh§F}ÀÔ²¬žôH~§€(·¢Ë@OFx6°¯ªR|µPPÐBZEiL¦s\_*¨4£ƒ…ÑR?07Á`V¬¦I] •‹8ɤ˜Tzy©q¹R¦Fœ· - vbØô ^ àÐ%{@‡ðNjH>Þ cTB¥fàÞo*Xñp“Ÿ÷1`càPÁ6³ÿ}k­öCPÂè9µQýrôÿú»sô‡ 5¬·ÓŸµ÷¼k ù*ú¤1€ðÿæÍû_øÇùŸÖRÛøü¯~‘€ŸäÓ}ßsþÉ·¾üÅ/Iâ¹ÁCb¢áç<=à‡G«ÜÇšÒ¢øé¼¥Ø½0;u”N€++4È”Öc~â ù˜Õ<ÔM@ —bĆƒb8.½t,›Ó „è„ðð)ÃÝ»Šˆ£j -Ù0˜PÖZrø:«%2ö ’‚ïGŠ£ôãJNÐÚ`~q©³u¸%3ÀÈW—^ô p¨#r%ªÎ¨`Ái•'J£¸sXS9V“Iíå ›ûE³Z[\”–µ¬:¦åe[ -@›à”Ó>? -I×£,©¼ùV§ïàq—@Ý‚£Qå•VÕãh*`L‘(qßÁúJaÐøF@yNSƒŠ«ËŒz‹‚©²äEy¾,Þo9ôÆÇ¬üŸÐ𜡠@"´žM­þ¬è ’p¿‰4˜ŸãCÿKaý“`ÀþCüzT€=¹`"“ßÔ÷'ö’áß]y‚Á€í -ÀÈ—x -àäøÍG?õ›ÒÖÈv%A>ž÷÷Þšu¨c3=fJ¥^ïÀ>à2¶b -¼r)“@èW¥ìèèø4ô-ü{bHdgw P¥½»¥ìåÂÌ4íÍ#³¶^®L ø`(uScP€âhkÏ€6s½1•O†í-‰uáåÊŸô)ŠÊ}otoW²ê¾ìHè !Ù¨´“R_i¨¿¯k/³J£+÷*‰x£Â2va¦³brWëv¸2ži[ª¸hH>+Fž#Q5ÓWmhxÚúÐ ->€{y’k€‰ lû3Ü!„p¡¿•ÿ­ökû¿D¿µ¢kƒp ÿGûûv3ÿo`¿õ£›)í7:~‹N€ßKÓüȯL -À/‰À¬óÍÿ?¼ÿÑG:g \?‘öð?ú[ÏÄ\À €DÏŒ¤œöиt?>qrâÅýO>5þâÉhÐ' þ6!p?>±Åjˆ=¬Zš¶ôHv>sG`ÂÚٮȲ·UÍê^[Æ…kûæ`6W¤E;Wü67^Ž’§àÕN½Ü ÇdGwì'D:8g€bÔ{ªºªÐ±cǮ΂ôˆ7u@«yôF¥ŒÖQ©<çé%/h—ˆ;&«T3…9]EŠäotBRmÃP.gå}UŠñôÓáð©†e=dSñ d¯ò‘‘Ý'ŠÊJÇÐÕ_+ˆ¬´]c.‘ýOMHP²jÉÃ$ø†^›ˆÿ¡Ðph°T #}TÌÞ¶ɦýܱª¥æL˜ø¹($«Tu™TªðeÌL€~nc£ý¿Žÿú¢Z êqR)ë‡þýîÝ3ð:øƒÿRÂýF± õ¤ à'²âòöÛæÿ/oß²þãúoáÑIbÜzïæÏÞ‘ûýR@%æ>- -Àé?”{Îò3ã<;Ú%=?Ú¤éh>`$ ?àïO¢üÖrcmaöÒù«ó‹ÒVVDt‚ftžïñÐ×ÚhãyÏ–þî‚0Ày£ÆgïŒÈ‘|úra,J$¿†$Dlˆ”ÔRì(ká\`×I‘J—…q­³Ú· ®C_çµöíßç À,®ã˜‚~ì»ÏžÎ*P— „ÈfgWgõ•šðÜlÁÎS[EXcê%YÞ¹›w–Ô¡ß[õC&\•*.­,¡¸‚égéö—{-ÌIBI¨QghQ:ÎÓ?•r„஢ÅFµGa¾ÿV¨& -_å^}Š•î2Dµà œ¦~iîâîš4 -‡ÒÍÑñ}[þì%\ã%‹ÿ ñ·½•Øö÷ -y à“óœ¹pî\ê›{ÚÖ:y/ àoÜüO€Ï<ÅèÀã/¢0 -`½€F¸ŸØK†Ct¥hß>pò´( ö–ûÕÀò  à |§X³÷؃wŒÙa®ÍxÁå].3%~rb›»ÌSîÎdà »ÞñPÇsŽ™x$ƒC•z·¢ñJùÂOe´nìEXËÄ!Ùúo”Ëõ4•ïè Ù(ÕÇPT64Gd¼ÐOPS1ÊÂý³å þc€§~€åÊùrïLIü/¨="í³e^˜KV•&òl¹TQœRqu—ú ¥þJ×^i…Rý`YŠs£‰T¤¤‚d5Ðø— STÐÿ ™ÛûÑ&ÁÿÐ$L‚¤z¡mßHTLS^€uý< u&öÈ©D7Œ¢~Šð0 à(+…Úý¯OõË[·ÿædü룂YåêÚ½ãáÔúŸÃŸ÷;‚ÿ­<_ö»€òËÛI°Àüÿà×ïÈ/ëùÈÀG訷nÞDˆö‰G|çO¾ -)=Úôè8E×'ËËL´]€_ˆÐðHxØ´hÛ -^•pmq‘÷§§ºÛ³-‡FÏ€ÂOé0:ŽWøô}ì‹c”²g«X›t ŸM¥k^Ž€ aÄñ^J‚+C= †Uˆí’9^È8vBtº† û}^éÂ0"è&¢˜b¬öo0 ×è,äh•ˆ4Âr–ž`þ“Žõ!·]€Ó(+gµ!?Ø5`Ñð«,¯®,/¹/û*}·«#!Ü%Úá•|SÄ~ã_»”ÁS(ùæt•«ÜÅõýú.ðypZd÷ZW°+Ow•"‡HÍñVÉ(šïåÎ]c^·©o ÿ¹o*$‰ù¿`“M:ð7Vî091þÔSã§™ð‰—Í{„Y)\³‰<ù”—×¶ýwŒ8É?T°ýø¸ÎŒÇÝýî)Š xðßp?>±—òÉÅÆÿzÀ6<¡$¬=í -³á0!«{mÝ´xgÀõ"­ñ‚Ê3bž­o¤lóŸ}JÝØ¢8h¡K_·èíþle°ÞS‘~P;û8#ÒTxÛñ. -ÕÊÓBMë“ ïçÉ»öŠkµ±Ñ¬€á]–}ËP» x¯®òWQÊôéËzç(ÇÁƒ¡(ö‹ò%ÞDLY³ -M„¡“(9ØßWàm@}xúúGzJÒ -|àQ™3FžÉ]Yý°Mn%J…¸ Öé«Ä“ `n.«ôwuº€©xË/H¢ø‘@{?€|,*’4Ó_â0¿ÎÞ€:ä쑘˜RI†dÿ?»eû?aÄTzõÿråÊÌÜõ7®¼>3w¥^ÙÛÑÙhÈ-ÿ†à ÑìŽSŽr€€ù(@ïD€[·nE À¯™ AV}À„€‰ÿL -póïñ ÑÐÃÓ(=5ôøÒóBVC’—ÏÿÌ'ñØÐÊÿDÿ¦ÐbQÞcÁ4]Y¾†àÚÊÒÊ -l²?]T0VÀ˳ÝxA¢›yGO™ú6 -↮Œ“’0+•¼SsÊPTyøŒQNt«¼ê/ ë^ëŽé#°±|$SU;«øÞuÊ©’=˜^ì;?Š»ªHàN85ÊÍùæ1|Ë”Eò4ÿ:£Ä¥Au"G|r#S(E[Ð(3®:Îòal„j·ÊêÒòÒâÂÂi ìÞ"þo¢v$l¡Ÿ^ÌéK愺(Ô„•Âü! -øïÊ”W]2"çТLy]@ -ü4¢PÁ¤N$­tÿ©PÖ$ö=[+ÿSfé0ñ>þ¶M÷õ›$5CPNÚßP`<àŸ,ÿ|çÌ=\gN'‹0ãOÃpâ¸]‡öÆ}ÿÛû¸`ÎÿûyÄÿ† éX?@®0ä7š°ö@¶+FÙ}¥^§-^fomT -€yR -°Øæ•Õ -ÿ᪳rw¥T,~U†÷oÉnÌí\YÖp­Rï•J…Ýí02*µ‚öj]&ûZˆgÖ™úÀ€ Lò#•D¨ýƒ‹*Hè*R¥Þ›°kœ^Øé‚ FÙª=Õ”®N÷ ŒÒ¡¤«½¯F­ÝCXøC*"šJ_ï(ÜÝÕ?ÔS̆†JÏ J= y^À´²¿X«¸ÙÈùuÁaxú–ÅqÚ3Â`/. „ -:{zte‹lÞ  ø„o*RÊ\ˆ’r Ûa`(I·Ùhÿ' Íþv_ ¡ íxxÇCú>¼Ã6Xþù6úü·w U yPþöG¼ -.¿üeðØ'þÇêú(ð£>ú àÖí÷nÞüû·ß~;ÆZhó0È™Æ)=ßdBHÎâÕd'þúå^}rIÇHпÁÿíL$­,Î^ºtu^Æé²ÀŒ©¨çÛó6¡@|€„­OÂòA~F‚µ‡À7F¥Nq–…ëR¶AxÎÑ’o·´CXøDơʓ]4•ϼOšˆ±qD2YòÚÐÏMZ#nž‰é*gzÙOaÃ/ÓqL®q·I2q¹.# ¥aç±Up…úêI{Ü¡•®q¯G; ÖV!æŠðÀD€ú0` ±°±ÀÞ‰rbM-«y< ÿ¿>öð uâ¢æÀv<­Àz2àPÕȶÅÿmˆ O°r©&É*N˜+ 3´O>{É‘J÷³•RQäý´€Nã‚P.áè´[žCCü´PüÂè ÅR­ÂëüF¤¼ö  (PI¸k~ð[)Æ»ùµC‰rà)¬Zî©–pE:ŸŽyÈÉo¤å½¾Ïù¡Šu ÉÐüÒöîîìêìiôð§ Ï'mJJ )½z9<8œ9n¼é;ìÈI|e6=wåÊõÿr±¢‚í•б¡ÀI[?€è ˜»˜ ñ‰G÷˜{FFF2ævM¨r7ôÿg%Yoÿ«ˆÕ#Ý=•á©úÜÜë3Ù s"Ð^ýsÛ?Ö¼ayè™!ƒxÁ+8ñpÜ”Yß蘚þ™ãÿƒ´¸ Àí÷n¯ó 4šâIå'†"zú>3ùÍGÀôöÅ€$éñèo÷¤çñkVg/_¾zm‘9jd$ -2¶ÍK?×Y±ñ»pƒ$FT2Bm& S!ì³ã%—Ø »’»æA0ïÔ€¨‚Ì«;1™Ò3Ó*ˆ÷5±}>]Fš¸ÁQØrŠŽï´0plˆ¥4ò"ˆãæ4¡iÍTùâºJ…a¯˜f Tq#SU{Ü)~мžï‚SB¬r¥ùÁÍ ï®IX]u#/\R¥ßϰ²A zÜ÷]Æ=Ä ~•Ä¥àœËÃ6øf]ô¨j0þ©`_§}Ý ‰ZÓEܪ²÷%:ÈyïR°¤ã¦ÿaáÒ¥KþûFr‹??jçA²ÿÃpè©§öONNŒóF€hˆm.¤ôH£7ÈSO>¹ÙçPÞ`B´ßE|;Ä{ét”ÅoõÀ¬Üþë$ ÿ$ÊPÌßÄ ê €\xâQ<ïLT{ Û–Äû ˜–¯Ò[_’­¿[*‡Qw»ƒg»¤ˆ¨f†e(ë)W‡ -»zx7/¹ÍF*ÏH¥(ŠÿÏ¿0&Ú—J3P µ£–‰»Ùó²¼ ^ ª—ö±U?N}TŠ’Ê!<îÎJbz $j£ 3Â. ó_”Eï‰unè/eE׎þA8#dû× àѧ>3ÐKjÃZœEM U¨g‘ ƒì"¬Ô¿wï§÷üO| À†~•‘äþ7€¸gÞÍ ÿU£~°"èniødöÿç‡Ë¯¾ZÌôCbÂf-T•’Àô|¦4Ô?xï&whŽdÀ;Ñð½_0ðÿ¡‡üs ßíŒéïå£ xë½÷nþ €{Zø³Vï: Àéä8srüÉ'¿ágG›¤çG»Ä8À6 ©±â³@ËÊâìÕ˳óž(õ¨áùµ­ ÌHNvÓž]øAã½-ØÅ$·|cû”f9°# - *˜£8¢­0G„” Ù‘&׊ÆtÐãb ¼nx«cQ³yå"Gñ>±\&íGt"Prg•¤/P¨£ú€¾‘:æŽH6\ÆuÎÕ5„àhQ5,//-Ià­aåß[h˜ þK’ÐЬàà Ã(IúPÔ0…q;¾/ß‚‹ÌD÷ïb!¢{kýmWA‹zõ¨š×ݬ­Þ¡dIýhå?÷¯èé°ÿk2ÿÏ[Ƚü¹´Yò &ò¼cwßÐ -¦•êJ‚nþJªT®›K#Ì -€À]°å˜æW½Ü“²Cž­”ŸCЮk¯¬(s04):×'„Îì˘ӗ)oFŸ³k¸õ:õíëâ”ÒÁ -¥"FÄš;d`nf3Å×=2R7Ί9 |” o ¢CqÇ$:B¤†àÓÛí`@Üuò44—¸wkúŒ¢è®õªbÿ_Ùnû¥üê”'HªÐbö÷õ¡5lÿ¡þgµâûŒA¼‰|1Zè(l»à?¾sÓ€x]?ûþs H‚ -@3€§t'ÀŸ1€{()€Ö>§õäaÑpúÔ¸»$¯?B ö´pØlà0DgÜ+0_¶ã€÷K×.Ç«Vâ5@ñœ2~¸ó̆˜%‚­eíë2øÈ_ÓOWÁ@sNÒÄoÞBÆ©íËVU*Úó¤ëF{ -×sê -pLG¦õý®Ô -‚T -³JÈã|¤ÑÒïÔ£ ÞUZNUWYEÀö…mÊEÆM‘„ ¢¤\MºÊÅÍèãTâ{Úç*gïɆnÜ@ÓZYZœGÀú_£+À=ÀÖ€«A ;cw΋y)·ÃPjtc(éãÞœ0ŽB¸môÃ+aÛ? ê¤º} U+=j•ºÔq“ÿÄ–lÊÌÉ ýiëï»yKK@ÚzóÒK(Ç<õ»¶ =>qæÜ™Óâ=-þ´¼váµ ¯è@öÿi -÷ ¶| ôŸ<™ýeú“ñ6¿{ÂzŽBúQšäO‹Kœ %׿éF€‚mÒ` àñx@’Dµ²mh÷aY`Æq=Sé-eu÷€ãý} o†q##¬yON5›é™©×­ƒî³Ý ºÍ¼2X™ëž†úvÓ@Á £×„#%r¥VŸ®üíéœÖ`rT˜Ö–@Çè.+¿Ù¼SJ©ÄDPAŽTêS½s‚q©2¨b”tJ'u¿ÌG)ÌÑ‹0³ï? Èd9*i¥î’Å_/Ög<ûÁù?ʘmëuÞQh¡ Àû@7¯‘V‘ -ÍÊ‚>„ccÊ̤S¯wmêþCØ0ûk­6¹ jƒZª”iÿŸÛfûÿpùUG-º:;÷võõ'ú·ÚþCƒƒƒ¥¡gGG âM ZâU€vD€_Ä{€„xSÿ_°ÿs ü|8~Æ\€1 KxÒ<M@¸ô97ùM€SAÿ¦x?Ñ_â°ý:ljØò÷‘ÕµÕå¥kW/_c ‡ 0ùyYB ÅYSA!1Ñö SÀ!àœ1eÁTˆŸ¸‚4‰)ã>‰‹™ë¥È ×ä‘M™ SÑàÉ`|÷Á5 -éH=€Ãœ¤< OEÔõ¯VÞ˜W1ÂDç2ƒS)Q&íê”6¡Û %œãND‰µ  P/Z‹²˜ß„pV7!ÎFý8A2ryiô_YY^\X^Z»ÁlÀ+ ô^¢³Ö64äçI–E[Ý!µIS]Qzûj\p­´Æª÷íZ±Š»!ÄwŒÂ¥_@‡ão‘àÑÆõLéUúr¦ÿ.GIŒKÂÿ¥kùßwƒõ-;ë…w…àÉ'ŸÄ–šìÐç•ÜpáOÏMŽJ¯ËZ''Ú ÿô¸í@`ÒÚŽM0öô£Ð/€× -ë_ÒÐd¿—0ý“„àÔä 뵘ÿúÏžØÄ`â·Ùÿ€O.ÏÝOŽVŽ -`•ê”Ø_X˼©7c”ßVªõ™lnîú_¾93?pAOe½UN™]}=ŸÞÛ78šVd¯é™S2¥®Ž&Ûy†± -Ò9°T©_¬ÍH‰ôõÜ™n ÛɆAAªånª—+2•Ù© -Â3*ÉušøD­ôf@´Ðc€>Y}f*V‡+*wïu×ôÁr6}µBi‰wª3Å*o~¡Î+p+PªÊppV§«ÙÅzÕï.v} ‹ÿٟוK‹è$ó÷BZü cµ4›à(ýB6ólÑ ¤Ý@¥°h‡eäˆVGtcî 1üIúÿÿ¾~AŸíï+tuú -ýƒýýCƒªÑ¿ßvÿ3Z÷?±î¥„ o`€wþñZn¾wû=wxÿC:Jø—‘ðÁGV¢€÷ßÿˆ™¥üÔs¦F)ßÛÌ0ñRÃpè©ýãv-¶,§ ~ÃüÏu¼€0ßIA±lç]Ë‚> -ïZ]ÿí·Ð@ÐÁ¬Á ÁÙ5@‰Î Ç6ç] Gô>•Di¥ƒ„dñ“ÎglÄI…9Udã4y©»ÎÙD -w¿"«.£ÓÒ®öÍ9òWt ÓJF…c.ÔiîV;5œ N…cb(®P\-Xó­Z‹ LÓÿÏM: Š­"Ùíà3wT£ÊY씦µ¸¼°À<@5ý›É%PŠ %ø¿^ µžòªH(27ÊyÆÕD±‘p’P‡fv”ÏúVÜ¿…ÈÜöݫܤй”ç¹ßZƒÿÚWD%í#Éb‚?Íÿ þãØ\6ª§'­xj¿ý™'öOœ;üw7ÀWP¬\¸p᥉³¿‰`ïï·ÕßXƒí‚²[ðÈŸ8îŽ\aà¸æù³€%àßä~c ò·ˆþ¥x‹„pjrâÐgZ€0ÿs EÕȶÅãÒ·\$¬º?·OGî5¢ãžž}½Ÿï-ö<¸¯»···Xìí=ØÛÝëÓŸëîÙó?í|D²'ä±=;÷<Öý¹žžÇö<Â/ùˆŽËò%g¸¯¨4•ÔÁ^´Ë¿MÛ B9$~O®U9TâÏíylçΘØyœ´Ò†¬´UûÜcÅÓ‡?BIEw4à{ê=苸Šuja_¤ãá8ɾÞ}ÜCC„n‹´)¡7é’èoÙl4à½û„ض->:@èGt"<Ì`ûûíÿ¼"¿¤/E”F…~ÞhøŒ•€Áþ¡þÄ4‰7Jòà¶ó.?¿yóö¯~eÀû¹Ý_øÿ—ù¸µàcÓq€ô6:þmjhõœfâGŸ†gOKˆ°¦„€ç‡ïøa’ A–\=ˆˆ, ([ÈâÊÒÚÊÒüåË×èp’á Nýp Cƒ<€„X7Ó#ð"m‰aHr>`í‹M(¦fhÆ W8‚7iè¿ÈCk´6n/PÊqu´Qƒª|Ú7ª$ÊëÀ0Ȭ¸wì÷Ö¤c]ÂI©Ø\&vúbÛºx“›¤ìOçVÈ_ß|V_bG©”,õDUGœ±JÀ>‰äú‡É(%`umy×RÉÑ÷âžrù’ÐϧU¸Ñ¢ Ã¨t* Õ@^䯲˜ÿ®+•RzÜk×OâÀê˜ ÀÎ@Ê}Ã}þKó[àA±OÅ~‚þÇG’à³ù_ø÷Ïâ?ðm -/ö(T€ã“g^J=νÿµ}íÂZ -¡×Ë:Û?Íá{àб“'iüÇP‡úÇ'ÆÝÿ–€Ü hŠÇY‹”šäOK¾ädlô_|ê?lôœZçØ„ý–Dµ²m {q«£¶*Ã_¥z>òçµÿÚ)Wª¸Ú§æ†{§ŽÖçþ³bÖ¯×u…O—d—*GÊEÙÒ²ûgâÎú•úë38è »wìØ]*••?–Õ_­VE«D¯ìH6=}qzzz&œì£Ñ¿“"Z©»—X¤VÅ,/ó.]52Eo¼,›«geÌûè´x„dÎyOnV›£„d$óýÿýúØLæ—ýU³Áª -U©LU*¸TègUVwfZŸ+vñסR=¢«V+‡{‹ºˆzP³£®ÕÈT633p¸U µ¨KF†¯5w$ÈҤ–OÔ1ÿ¹“‚\ûZÓ4 % ã$ŸÄþW"ÿÿ¥’*Cý²ûŸ¡Õßšbo”äÈGà à—7oÞzO`w@;þ?´ðñ‡"hàHÀ{ïåmnøÁßJøþw¿óíô2 ñÿe· -ð“á8£ÇÅS¾ÉëOÛ>§Ü¡ÏlO;ñ4ÁØoStÚ1""GéÁ¼…˜L‹ ôˆVé5q'`jÀɾžð°-€ -<ð“ߵȋH†¦g¨5)¹B‡$Ç9¢G¤€‡çaxÂ.ïæQ GRm( ç´ZM±à« \Þ¶Ui¡†ÛwM²¸"< Žwà;±Ùؤ_tã;9ÍuAQ}…¸6³Áê‡ÂI–P%†k¡y-…Òׄâ*šå•‘êuy‰7.Éö— «î)"çåÀ?+ã_Ò¢(u»URùNSö©ÙD‹î)bE‘ÌqÎIâ"÷Îdãs’;Œ»pa'¿„*BI¨Ž’A¹bOÑø²äö«ù¯j_‹6€{Èz/@ðÿþ'÷ŸÒáK¹àµWÎ]xå€×^¹ðÚä8ûl¶äþ¿+øK˜ÁÎ}xPNž<‰Ùï>ÇÖ{öçwˆë×/€?_¼âyò;K®´½ `Ç=ÌI¢ÚÙ¶ðÜ¿¿ŒÕªÅ4mŽxg?¸Ð“Û™éMP­ÏÔ.Nψe2&Ãyÿz©P)Äû€ ƒCu¼Ùb@{ºcÇC»:û=(Ÿ‹=Þ>Œã‘‘O<4ÍÄ@œá -v°ŸËRpú+$Á+DåªñÅKêõZ­>]w'‚JIVla¨§\T)÷*°VZ)×g)ÑPeè™RÖSªPØB”¬î÷0ïO‹¥ÌÍÕËÅ|æZFhü¨&[¿þuê,—Èm°R*îø ©Õž£S@.Ÿ°À†™PÕ´F8Â,tä·`»ýÿt÷dU8O õÂŽƒC#*2N‰/k“x£´7ÐðtÀÛÑàýhøüÃÿ ¿„,ðÿ£ÿ/ÚÞI/ - ÝÏ ?øô <=9~àÀ7õÔ8Õö9e²›íiÐü‚B#"²¤'ó‚=º,àj> -.øí]×s? I …‰‰8ÞEc‡2ì‚ ïaJõF£Ñ i%êÀMìk ‹N3ñÅl'Ü_÷¸JÁ=­iôWzîd`H¥Ä%2SU -£^Ñ*ÓèÐãÂc¨N‹+TVseÐ9.7樉 Ü Mº 'IDüçk;ÖFòSvÓôÀ„¤§XZ¤-}…·ÜK.]¾l –Õ•\Ð=‡`^SÞ¸3k,ÜEp=©rtŸ -ÓÝS"h­¸ÐX…§„î;iŽøª¶|6¸UâpOÜ*±¸„ª!.–ðÏqÎÿŦýŸð/þë¾þ ߎ¼íý.€§ìOFX7€wè 8yL6•ð˜Üô"v¬Ñøï&ú0¬ÿq{¬à Ú6úÄìE“ÑÀ€ }¬Œ?îYËo¤¹€4üŒÒ-—ØdÓ_Ën'rŽÐî÷è˜I•:éFÀiØ&É¡"j–<@.ÝPL’Q¾w÷ŽL(“²T)d.<â‹F•¤tÀ&×q¡¾£YO±/ÐOH )•²²¸чT.;Ø•Øû!vöí)0'¯Té§ÔÁãÐ`eÐ -€DéAaè²Û{hˆ;r9(Ésm˜l‘ÑZÖó‹²R3\#tOÐ^yªEFy©±{ ÝÀ ¢é4•€m÷pR^ -çs€véäüöûÿ?7BnýƒiáåÑñᚊç‹Ö‹I¼QBÈG0Ð;~Àí›Lì.–AHì÷–Ùƒÿï¿€Ào4ÿó>áxÉóð¼hx´9! =QZD$7ÎsƇ$üKØK"^:(e+Ñó{méÚìU^S³Ê»€x`ëI¹L/=ýýøOmü8‹Å“„x"‡9ÀÞVÜ Wq““Ý)sÇ&¶IîR¨#à@”âÃnÿØõ¡5¡3“xÊžY| !ÜÓWª1IøhpÔ*¢³#ªÝ Ú!L§µRBñ}9 ¥!1K”PGRqP—°ü ãþ¸Ä¤€PÑŸî•ËË+‹ K¼q‘€[xÀÿåÜàu(J—®è)‘°*Æ÷® ¸ 3ÊÇ:´}|ç:£”t‡h#®P‹v´GÑaº¾nõ ˆ“:Ç®GެèX8nØÿ‰ÿHKó¿+2uÜžXø†ìÿÌ<>ñÒ™3á¸À<¯]H}^¹pnr|ÿã}Ù³¿!”C4O^}¾aÀ‰ã''íÀÿ¯OÐ^üg"7pè@ÓœdÖIóŸô$:€5ùõe¶þm€ölæHT{ Ûâ¾"TÉêÌ-^x1‚0YÆKuÄ2Ã{”A;ƒ²>Ð -@vÁ=6$ˆéìØ±ãaÂK}ýýYÝcV$&¡{$£Ã¼vÝz¼–·ÒSÄ­?ìú`Ï“ñŠ»Ç"Ö Ï¿ }v©{ -B›-{¶ÎË×ñžIÉ—úëŠEÃw™‘íö°ÙÊI9M÷O…dEá9jDGQ!‘y½LK@þq‰Fi@+©pm´&U lØTؼÀh¥EàZ‹ANô=¢"=˯ Âl¯ÿµ‡|ÒT!ªiECÏmfø#/hyÞ$Þ(Rþ$&üÑߊÛ?yëwþQ$oàÿýp|üÏÉÿÙD Àï¨(ÿ$€>?ûéOßyû­4à†Q/…ÁÀs§ˆž|RÒƒ¥Er²ÇF_¶‰þ’xº¤S'_ä·žÝ+K ³—¯¹ À½ P0mk߯ŸþF¡H£s#ÏuáYA#g‚¶ù®$ §« ât8¡¯­Y<&/ÉA1Eg~]ŽÜÖ'C+´[õD!àøª€f'=Ñœ8ÄÁu€¢ãê <ÇÄôÇwÂ鸻ãñUæ4b«/ôÞ] «@ܰ¿©Ø‘£}>ôUéž S6в¶º"`y‰W°È°¿—„@Kü:,¨SèÛPr”>ŧq#²TÍP.ÂYQ&Ê¡³Ü9ÃõãƒÖ†º¦Ø‘n ¤SG«ŠÀ½§À?»:ˆc¶ôp´4íÿDÿhþ÷ßÒÝ7 - -ÀÄ!±ÿ€›Pš}Âàà &ÇÜÃ Ýæ÷¸à ÿmÊŸÀpbâäIæþðÇŸÀ ¥éöô×TˆC‡ö·-ôïŠýo»÷òLŒ?ÞÐØÑÙÅúÍøÿ@øÄÂã+€b`–.Êúµ -Àˆ=I C2ÅD8#¦SIȬem/tT*µžB×îή½ð¿_§MZ¸¯óá;ÚÕ…uÞßU(uÊòF°™ÍÕ’Ñ¡xOÐÐÐ3ºÈ)*NO€éö†xÕ]šÛG¨ªWz«2Éz:è^ûLî+dW¡£Óc)‡Î ¾ÊST†´¢»›X7¸§Pé/ô©\²{)ѲLs ùŠ†Ô«½žì—}n>Þ)L›ˆ€©©¬ñi8RÄg9G± ÿ|6úŒ>Zþå_þ³닎 à½÷þ/iîø_­¤yò>z°¥&€SLwN'@F´~´2Ëùx“?Oþ[ú$ì§–m ÔzñÚÜì5<x§Í3‘BÔƒ -ñ¨><ñûÒMIö=Œä+øáPc£M¾ÀIrdÃŽzCöe3 ÒŽ<áš¹ãµi!W±°oµƒKFZ9mÑÌÊ 1×¹ ¤¬µ£’,é*é*ÈÊ„ - X•‹’pR¾ÊW™NiKlPûJ€K|©cFº¬u{ª1A|yeyQ˜\^Y[IÓÜC®^üáÿe7ðQ&Ê@¢ô©5ߢ«ƒÊTñœ¥…úBåÐ!6r”"mWWc(…NDGýÊÜ´¢ê×qÇ?†Vè0´"p~Q׊®ñÍKÀâ?3%ñäðßìWø~‚6+ãô€þOÖy^qcÀ… /8 5aSÁ¿¾âæ¸eb‚q€RrÀ8óHÌ‚hhzŒÿ‡ö§„“ìOªySø?Þè˜8uèÉGýŸèÿO7lÚ0Qíl[L§­‹°S.2¤.5²'K“Áö•ÌM:*?Sªè)9mdzà¯ûðž]:Ëàç}û;zx×ÞBcî -¥Ç:_°/äZ{ЇYæÈÙö¹B´‘"0˜õôVŠáËW¸b„”Ê¥Lv1yê[ä”.彃¼Ú¿«£Gdk# ÅÄûoÌI@9ØSÀe°w/ÓsjpPZ‡t$e2šfþAkDRyŽI%3íMTŸç|kO<¤ÀÚócµÚóϾðü èÏg5T€±¬Ö®PéÞié03Óª€o¤Ñ@ZHvÄ/þ+øÿ·aÿüªŽÐLÿgø ”s¿È?B½ Ü?o5À–?ô=£xƒàˆyÌúÀÿ[‰ÿá @¸Pþ•¾ÈïG7ÀÛt¸ùÞÏnþ”‘€¹à»ßýö·xx@<9Âpfò›RhEðç$ú&úKüpIâ‡MÎÿí½ @ÏðÅk³W—–Ešeèä';PŒquÑñNÌ`¼JÁ»ºL ½ îÄ=ãÅ%CVØ‘¨$ ÀN‡r Ðr çá}ºÄK|8AnÊã•Ðh"éHÝ€äÌ]Å‚¹²d¹Ö¹8®CILA´Ógµâ68«]%E4+” -nŒ„”+êdtdÅ"ŸSÖT†JJ# ysŠ‚CÉóÁ÷®õÒÒÒÂʲöoqÏNW%ሎÅWºÖüj^nÖÅÐÖUcÊR~|Ô -1Pb¤ŒŠ²JWW Ѩ8owÐ×JõìˆJ‡ÊBP¢« z']ST–ÖøßjÿS¢üûIÆ„€à€ üðüü·Ý¯¯ùîÂÿëÂE³u¾‰¾7ÿ'NŸœ¤+ =ߌ™€8jxü: õ%@:@ËÒ>¢ÿÔÍ=RZtö{i‰jdÛ¶–h†¯—¤àòfŒ‚ À]–y*\#‰s2³+K¼êÙUèÜ-œ2lFƒ²BEÚ¾B×]¡HJ==£`&ÖŠÌá–—”ÄxÈ9L~á:ë ôå~XÔq…ö+¥ƒÀ|àÀm-ýƒ÷õ?V`äºÇµõ;Q_“Íþ« RT8”&ÀÑ9JÃ&nNk*@7že‡3üóe*¨,þJ ’J„ `¦œRÓ‡úµ¢®_dàæ;þbÀó²°™’»TI6ïàên÷((÷(xÄó«ÜssÛ°ÿ1þö?cþð»„HExN—ùªdú‹þ£ÏKwÁ0fo†àÆö[o½ýÓ¼wëÖ­÷­õÛþÈ¿âøðc¿ ðý_åŸòN?»I7@7|ÿûßûη¿•¦æ'zÜùiáŸ;Ãæ±ÙßX&NÅ(€Æ'œ$üoéˆçóV²¶Â 4)ó‹†ÍòÊ -6žÛþxâc# -iÔ4à‡_<øbÇ<‰€!mîèÆ QŠì²NèLØæ §I_Zb?¥Ø4Þ9 ¹ÙrE¾‡¶¢èLˆçQ:æR€ék” åŽuJÑ‚w:gVfâŽ"ÓÙ¥ 0ãO×i ¦;BMâ -JæSÑ0 -C|œœ£¾$‹+‹~ ¯\Smo.ðßN€pèGAÈ5¬uW{ûã¡ôüDZJ¢P¢Ëh_ªœõŸÒŽ®Ñå\äî °Ü -©Dc‰Ï(™¨º|¢ùö\m9ÿWšönþ7øñŸø¶$yžÚ`k¦Fþô5· œ;™Üóå^ó LØ` s€›ZúH¾ÑÒÿÏKÂ~SüÜð˜ÿIx¼ñ/Šiðçù’¨ö@¶-öðß{i`ïúáÆÞ±oöÈjt_íUý2öêö“ÖjÙP©Ðß'Óþ·:úx•œ j<ìÌ(fùòŽ9mfÖ×—uöÀnô4­,}O:7h,eÝ|ùÞ'11ã‰ËËÿ¼§‚é -µRè|¨CU:KîÞæ~Gi@–Q K©£§¿ÐÕµ·s÷.]Öå¨J}¨¬”<—šó³‹‡§Hƒ]êA†¸öˆQ™9Ì0^ÈÇðœxåu%ó(úÅÇí"ó:«I/ ö¨éÙ´€sj×T.N{à‘#1pEö?Ý3$÷¶ÿuf¿mÿA÷w~¡#i-æ×x"×>/ú»Ð*s–½`o{ÌÿŸü(½ €1€°=ñŸy€ÿ7àÐGBwÆüÀ;Ñ Fæø.=/„~4€³§èª”ÂrÑ!ho~xèðGüpIbì75? ·_\š]XZY\]æ©®çõ -½ñzúC6<ÕW–…#ºÌ݉—ù¤ÎŠD¶:9¶·Ùá!F†“Ð -„(%¶Šd·‚®ˆŒô¡!@tSb*¦´Hä¦~aʇb‚=,Þè è‘ "µu 9ØxÛÓ 3qüaûmP¯pߌ‘írS*Šäk x— ‡CqljRt Q¦µ«ØªIÓrUÕ&õJµ§Jו7‚÷$€«u{6hdä[lh®H—1æ5¢*È9Ât›üˆTN:uŽªÓÅæŽRS} 7yü$Dsê‚ó‹JÐJÉâþ¡Éc#ÿý/-çìOøß¾£ðü£€ÌþszîÜ+Éð§znbüÀ7m¾€óMD -Àq-'­üíöéØt H •þZö‚& M@ßÿħ>åÿZþ;þÿ‚wzIT{ ÛçÛ¬6\¬3 -Àˆ±Q q$åjeŸ_p/¢ôÜè´'´ˆñëÇêàe²{QúehËþOŽøX›0¢h¡ÀÀó!Ìv·hmªCBñˆ-^iés=åRxð#®ßã!Aþ$Ô³Õ•?4ý_ÿ/Ô(i6&måùÚ´Q¼ABÈ_óܼ)s>¼ÿkk~Œð¯¸þ5uøXÊ=ÿdÀ€Ÿå -€ç’ðEgÚ$ñ¼L Ã÷8ŽÝ²±Òéÿ¿z,Ë׿g––í0@Ox=é̓D»2Â×p›ƒCˆI‰è¼,kLz¿ÏsU 2ãu*¢)ØK\sF[†8ð‹î¿G §… A3ŸSL•Ïìø¨4*Éá%'.ñ(G.<ÃEîcT ¥¢„é`Iλ|ÉN­¬G úUqcuE±'N‘‰îQ0´¤ €Î•+«KLÏQ»¨êM$)hv\ºæ+¬xP‚Å…Q­¸`¾9àìªA/£ª%Ô>5§Mܼ¾DæX¥äböd4,]€[‡š¼»ê÷.Jè~W¸ºIÓ½P‚ÿ++Íþ¹ùüW!ù†¼›É€ýèÛè@€Px!ÄSÓN°©€ôMä¤þÝÄÿ†`b@[†8ÀÿÔÊ~/‰û ñ?êzÀ±ýO>ÚÐ~#& `çã²üÑø&ª=mKš®ö>2ýúõìèU¦ý/jÚ2{ÌѪ^îaÞ,›žÑ™¹+ÓÓÓod£¢F¡Ð¡«c/ïlû‡ i¥}Zée¬+b©T,Œ [X·£J¼JÇ„)!]8Œæ†šr­yûP©ò,øÂèÕ‰Pïé)euÑÊ(œæW†ú;îèR -IfH© • -4ëW3«è* Íÿ¼µ ³£³RèïëÚ+ ££Ð2XãFeÙ3-°n²VWÌÍ•/ÍÔ©l¬žÍ¨F¢BrµØ" -3pöù'y^õ(s½ -` bW¾T„–ï´ö°~&€èp„ ú¨VJôÿ·ÜÓþ×oýþ ~øR6Hÿè¨Ô4•9l^Û(%€w#L‹×K£ ÀüûGRnÒpûV›àŸc"€•HðHÀ6nþ €€·~ðýô6ऄ€‡…ž~ò%À1&eÐÚ3õ0 ŨÁŽŽÝu<ô”–G -»É­#x÷+oÈò­×çfeÿ_š¹ò—W®\W¼q}æ9ÕÆ\M•2WÿÏn hˆ8?†0Ò_è­×b¼ŸiÊ$1 ×I†6•ËÆ~3Áÿ–6<Gdüj…`½ýŸzòçö¿Œ¬üg6qü£$ÑQ€éiorú ý±“ˆ¿N¢  Ñ -ï½w;y˜ éùÿ¯ÿ*þk%ùHŸh€i’€Qá@8SËÀ—倗'OŽËä9yRú@¾ÒæäÉdÖ§øGþÛ€õ€p*ß{ï1LgççÝ?]öÿrnºñÜöÓ[Üàù©»´(\¬­,^• Ëy/ìÀÜS4¢ -¬&¹¥ X‹H&ª9ê˜ÓZL"®Îȶ\%ÑïÚsÏu§Æ)>A">±M˜)N„;*dW:/…µ’qg7âX‰´)Ž‚%ø*”¹Ž0z•îo’ „ºBÈluåÚÕ«‹+d¨zÓ -èº<¥¢{GGÑG¸GU6U·˜¹$ÀÞüÕåp¾¬ý$’¤\=é¼»^ºvM -)¸ÌJßEAãÀõNÙtKñcPVÕ/÷£»”†æ -ðUqµ-ï«nb¬…ùïûåYÑ`·¥MÊ@·À8†ÄÿÜüß”ÿÊOõx¿¿¼”<LôÔø¸Ž¥´hpö¥s˜ ø^ -À“¢ùÿ²ÉmÀäÄ7Á»€cÑäïNÉÐhÿâ=ÝÚeýt÷öìGHÿ£­Mvþ‡@«Dµ²mys[Rî>ÝÙáW‰P1Ø^›+öVgj£FT¶æ9Q«Gu¬Õ5}‰¶èÄèèóc¸Õ ×õbK6ô­×ÿ[fЇ##î`…CÒ´ÿ­f°3äïðwÿ/Dœv†üÆñ'ø1þ…gœß.Màû?z‹QîðÞ­÷þßÀ¿ÄD¢ø¢à‡´Ä«€¿{ëÇ?üá~ôƒÜ@&ôxYvƒŸ~òÙ@¯'Is…ýváYÒx¸„0/pƒÿÛè€@0ZX˜_X\\¦]y¥¡ÈÔ£ßÐä«kË‹‹o®ˆªº`~qe ÓÎÀ„PÚp—#:Á‘Üî/¼º1ÝPæ -8©ÈI˜q–f>ýÓr°¢8H¥“úNh{GÚ C…àø/ òE\­[â"­ql»­>ŠŽ1­üè]§­Ä‚r¢µv¹Ô QXȯ * û ‹èL«k+V8œŠ/‹ ,Ä[/mI–ÿÒâ’“ºßLÌÿ  ~ÀåËÒì®!1¬•Š*“}M¿ï.2•º’4,”+ï¡ÄÍzH?5â{¢Þ‰ íøE@Ô?¸½Ú0!¢ªçN*'òW0Ω0KÁÿ«‰þ—ôDMÇ'DÙøóîúÒl7,<Ì´ÿ'&Åÿ†Àë ì½,€‰3[ßù×ú±½¿QÄÿ'P±'^ÄDGÐöPÂ> °ÝC¶, ü¹ØÀ¿rȉÉpâØ{zè`€¾‰jdÛ’LüûHïT/ö¥g#pTf0 ‘é*”¸¹™qµÚœ¾rå?]y£²GF{Wçî];èJ×!ìÂ]YÛíb»öú…ûÜݨK è E‡»;;ö(:GÎïÞ« <›À#Oï) â]]b|Ýö»è³¯] ‚]](ƒC=ÒIBI¶бî°®tÕÓììÝËW2p—âÒà‘§ûTFñ߀>uïÙLåó_/×]#U#˜ðLZ akØÙ!G˜ €š{- ¾€EÑêODn” ò†~´$  á D•‘êȈ=•P5}`ioÿÇöO)¶éö-Š®5³êãd‚ÿ¢¿,ÿ”é}ìˆ>·ß£ÀmÆ›ÌÿÐ’ð‘t¸ð³Ÿ[È=ž0yNÛÀƒC‰Ð5É -@ÿž˜äµ-ŸŸ² á¿ÿ„[ˆïö:ê;?maá}¢÷5a^9¬d¥Ç¹Ì൵å…k³Khk+Ë‹+‹+ Ί¾âÀ+X´£Ç~b¶@l‚?&B ÁGæðÅV†ZZ)Å‘DyØe ±IOZ\`³W —j@l“JèÄ×Z—*¥Rå˜Â:!]/œ×«Ê$hàФO„r _¢ëßÒüå« Ëâbî/O!•2Ó;@{º1û¤5ÑÆ‚û|K UÀ p‰©š“@¹Lj}©*•»õ̵ͦv1Ò/âžwÕJ'UááˆúКªóµñO!Òóû+~Ý‹Ñnþ¯®Hÿ[ò_…â£]þ¨“ìï!V<à©ý‡¬ä‘Ï¿¶g'ó©ŸÚ/àÿî†-~$6é õxYk}Ln°„àÐø~<RBè-m²©@_ÿ?·xNŒz¢U+aÿ?jGÀÀ'–ê‘í,årqj,¤üA²`µò38i)Ôþð/¦ÿð/®ŒVºa‰ þ0ƒð÷Ê*ïêïÚS4s }øâ=ïžýðÄÚñðއ%Ò¬0ìø-­SçADVù®Ý’ÁŽÎWhÈ Ø}™öZ‰Ûf½TˆÝœíëúí;y“5ƒnU@Š+D;íüèoíˆÏ}ûàŽ†*Ë âZ”A‹•ºâîý<Å1þh‡¦¯,Íž¿<¿Œ5)È\ ÛÓ8Y#ú»¼†O|`‡‚¤XÓETãFû3%D9ˆá¬ÍLl[ 8; •0Ë¿™?AK‡ Ú¨¦WŸ² -ä°ò~äÆÅ«”Ü]ƒÎ}fÒátJRbjé´VVbäT¬»È\~JíÆâìÔÑÙ…p¦Sܸ‰KŒÎÌ\\\Ša€ËÑ`ƒÜ¹KTK«pùò¥« ÌÔ¤K#MÐuaàFpéZ£Ù‚ÃzR² ó¡ QFÕ·¤-e'H¨ÜòêT ]ÍFt>t%âÂ~¾+8Ž®ÍÎæøoò¿!$F©|дú‘|¿uAò&wüƱ“Æ>öïOõM^x‚×þíoµüÓg¿qßmÀ?-úŸãUããÇy'€9üŦ@Ö~ŽÿhÀ@h˲™ EZ<­Ãw´ðÿ ¾î ÏÎDµ²mééÞÆòù™êÀŒíÝÑZ½žfƒ•A(CÖ(,ü‹¿˜þWj•žÊà ³ðîÞ© "l©ÐÝWè/|5ú›‹6L8S,Ét§ÇýÃö¹[Äê|bÝà! ®ogçŽÎ{A3~i|ø°ò…ø‡Àü®‡Qvïå}^”ÄC·HDÊó»~¨œûÁ ýýCRJÜj€ß¡Ðã‰B*üßöÞ¨×W¦¡ûèhÝ ã®ûâS}$™®ƒÿÜ ]€•Êðð0³*+àyØ/5`”æP ¶I*ÂÆ~<GÐ x0¬4ü-öLŠÔ*”µþ•ÊÑJµªOU•¤"—KÅZ6“„üvYß šn1ø÷êC:þ%úçfD>ÀpóöMšRÀˆðÇßúòÝpöôÙ³gEw€Hø¦mþt˜vè[„JÚmS÷Óg[t€åEš–eÜë/»€Ð¡GÿªPfejY¼|ù°è†qþ°Ë}rO´èÉ€B¡(ü¥,.߇ÿ}â0^’Ã~I£D¬ûÇèˆ4f´'àåÓç^¹ðÊé ¿ø?ùˇ> ³? øG˜˜4$À-9õ[dý0€†"ÏF -ÀxðÿwEo·´{˜€|Õȶefnfö¾ß+3sø fÀÓ³~tºFw6¡„xð"otì…ÚüÇ+ÓÓÿi4;øª†Jë{áÿàà`aOÀËŒiÌá/ ¿°l@P¼cG‡â~O²ËÝ -;JC}»eáïîܵ»·?= wívÖ–pìÞÛ¥”¤^¢t)ÞÐ1ñ¡‡; C¼ÂÇà³0³°½âîMÐE?…B©§,ã7Ê=̨ÈJ66V«]©÷¾ù7åz]¬WŒfuîÔ&6•Ñê¸8}qºÞÛ»¯wß¾}{{{v÷ôtww÷6LëøñŒzXÀ†þ.ƒJ…i¶Pý#y'Ð/ëŸ÷Éíþ´ikÿwM!¡ðIîŸb*'²¯7f6h%}Z‹ôàöõLœÿƉ÷›ßú\ü<¹×(¸ŸkÛš@0Z^Y¼¶°°ä1€4Uë  ¼Ùzø¯áð½6¯˜@m ÃúTÇ¥Löã/F'@@€¶ytì&€À~cY? ?ÈŸ{Úšü“<ñøNÆꓨö@¶-1Žë¾ß¬|] ² êøÿž/AD!µÚôšžž®Ô{¯Fû¹0í÷ê –öTúÜ”`†X :RÁ·_ŸNz{K{¨ @jð(€¼ À¯pÐðw¡¼õóx&@7$€M‰Ýý'ÿgÙ!é1¨÷Øù–„Šw$ñliH› @²•`P®,-2@»ôL}…?Ð|ÈÃ|umiiEøZ˜½zmq‰:Ã=L_E±i©Ç= Ðb BAAÙ¡wáŒÇ£û½‚¿ŒXGàÜþ¦qG%N×çéi =øG’ºŽF|Ý„J©S:™º Rk.\IÙôŧ s Ì–²D„Œ\!»€:KÎj'0Î Ç$KÎë~ÈÆ‘ÅÙ«³ó Ë"»{LºTN@Š Âº>U7V—W—ñããdÑÊÀ_'ª›M4€ó—êç/]ž]XXÔOpƒI„T¬¨ Vªב3¦|ä¯@ëbœ HÜ7ñÑ›|gDÖýt+üÞ%&×À~O¬DpùèZU]Xô—» ç/ÿ¯¶ðßq‘ȧÉÿ@ö¥Å@3Àø©\àVð07Ð…WÎNÐ ÐÀE _?õä “ßì×ÿ˜=̨UXøâÿ‹@žR˜{B-°ÝûMY× 7ý“x KxÚ€¤<ÎL?a5ààK¢Ë}äJµ<'´(„WþBS#G;£µé¿¸R›­dªúR©°Wvzg¡~ûY·h# `f§wúú ⸚á EË -; _Õ.ýó:y{`ilÏÌèÐL±˜üá¼ÜO©0‰M?¯ W 4 Kièùš”‘BO…7õõ)všÕw¨´g¤P’uo|ª¬ž¡ ÖPÀB¿]¨÷^Ø—4€aŠ Ck3Å7ëµ+ÙœÌ}׈*À5Òðþç[É4ÀÅééú•+WÞrTÏêõëoÔ3Q6Á?ñT|~KZ@†€æ†q1r õ`&D-\€¬:’¡$湕ÿér$ß?ÈFøcý×ëõW=Ëãy©•#Y½9â ÿ‘‘Òð7“¤ØÖ~" €&€Æ^ùƒàŸ›.€ð„@QnßþÅÍ›¿ÒE´üøï~üÖßúá_Ñ ·¦™_ÖÓ®Áÿ‰x$Êa€õ’Hß"܃(¬][µ6ô)IB¢v—=]ìFñHŽó>tí7V¯Ne—æñË/Hˆë""ÌUšíu…„Vó%¼@|3@ð_bþS ÖêSç§.ûu Jƒ_!ÊoŠ“üŽÙ‹ûˆ±Q« -ãµO/À»ªuj–RBg®C ³ÚÅO„èx -çEÁ¤ Û /Ý:SK•ÿæ¯^ššÚœÿN£ÿ¸š–~ìµ/–3ç^š”ð”>Ozf¾@ç¿ðÐà&φà©{Hjóülr@ÞðßâH -'¤4;äM÷ëy¹@þFý‹¶)!Ì ¼ó‰ð<þÀð‰%±å>r%+_¬é™/‚ˆ-ôþÓ¡÷[DÁµ?œ®ÕêÕÞz¥ülEÖ7}Íÿ¡ -õãÈ»Ÿ ù•?0deß-ñƒ’™¢pó9…­Àd42®¯tϲӥòœ§ ¶¤×ôF)”Â3R L2aú/jÏŽ=[¡ é¼=ôY¥§>DA"”MÌ$ì9ï]4÷MütÇ®Îg{ŽL•»‡9)î’m&þ÷^×-ÎÉ…ÁÔbƒ]Æ{{… Vþ@*ÀÓÅÓºn¢!_ëýZ/Ÿboúóž=<îÐî pëúÿ[<•Q^H˜ÀŸ·ÿ7øŸ®ôÝ»úYoèþ¹ËÑ‘±±ÚtKÑú•®4£Ê`É0^'_n÷üèí·ßÆð¾=ü©I°à_y'°»¸üÇLÀ²ÿñü@ -mée@gOŸ}ùlz\ЃØÏ¾ %Þi—à|«ð@I»ë]m€Ô²¼…ˆFËÌæ¾¸¼´ºl«4‘GyŒ@Aû+úbæêÄâÕlêê"¦¡ðËÀ›žõЬ ÀŒžüúv´‹â•uæ1+Ð #²6äÈWÀaœf"U -¨º’nëÖ5d´*6°Ä9GÅWét`Ì·=P”B| ÄÓá/·ÃÂ¥RÞœgÎR¯ ¸»N‹€Â阌ëjQV¸™Oë¾Ëáæ}œ -1^_xè0œeåî"Ë%2½RïžÅkÓåêE$^ˆhkµ9Wˆ²!¨U¨8‘Üi=á²\Œþ/·¶³;Øì§O¾.ÄšHhy?€ <ο ðC ØÀÎú Àø›þƪXD 9·†˜þª¹J2úÛäK_ùÖŸ„` àíu)~ü¾@ßð¤&€Ô -ðøÿË›ôxÏ -€è¯å¯høÞw¿“+“/Ÿž|YäOƒ‡õ@¤÷ŸIéAØ* ô-³¤!ñpi•† -`Ðl-z´¯¬,-˜À¿žÔ&‚Ø/€Y>kãå—¯]¾tm~‰ÆÁŸqí`Øh¤õ˜k¼ D£==(@Z¡"@ásìk‹SƒYäJIG‹äDñ pÒ\ˇ¼³ŠÚú*Ÿ6¸¹˜$ ›ýÙœŽ©í( v•ëbÆÊ‰ˆ¶î¹ÊÊB•ªB¤d«ª¦óéÉmöÒÕy*@UÇ =3V{¥i‚j‡Dߥ¢¥i-ÎÏ_›WõÑš¿AtuC +‰*eþò¥êÑ˳â¬ÏÓ¤ Ï]ûèçwç.¸V!9 ®¢2ðà'à)wÍD‡®g¥ ]€øš¶«”:ùQýû¨FÐ?T»+‹«KK‹ ×.Ÿ¯_¾:/þ»[DÊMK?öÚI(1 <XþØý ÿ1`’°s“ãû¿UP‚ÿþh¢Ó¡ŒþÉdõ¯÷èÃì¼ ¨¡Ø€¦õÏ"â{¬Nþÿb¯‘ÜpŒ>¿Ñð$ìçòÄN<L ¨ö@¶- ,÷‘¹¬Þ%£cÎ;&ûç6 —œ/t18ÖîV°òr ô .í¯µ9Öe«’ UDVüìÒD]åW¯-¬àlX•çI‹jâz’‚Fu”óÿêùó³ ÒŸRý·Š¯I -@®ˆ¼+ —§²óõÙy]æ6ÛŸ 2¸®JæÈ -Ь¹KnÖÎ*Åâ– )a:ÇÔGìrŸ:ÃÊ¥&>õÍnlã®\mÊ@ñè8*]daaöÒԥ˪€à¿+ÛÂ/AJé°!Áø­<§'O‹ø“¢pî€ÿi ¾¯ywRËkV~o¿b*n˱ÿ©â£•Àÿfú?yO¿±<õÀqð̰ç¤U4€Ðl÷7æÓòŸý¯œ´y‰èÿÍcáhÈßw¨ö@¶- +"æ=¾–7²Ê›žG¬ÝÄ$BAÔÁïmDxbõLÁFìîd†¾þRvy`_©0 Eº.¡Kç"ÀáÃY¥|dêk݇ëõñvz¦r·è×jofÕëöD£4 -¢ ÂÕØÎ*HýÞÉj•¢ßš+…Á &‚€¿¦ J†Rd K¢  ÀDE»;:»J=ôÙ˪½ûÊõó3ØýõRiz¬–½P›Îþw*@PdÎxÇŸ}| e/:‡@è L¥( ®r]äb죴èÑ@'ó¨¾'Àú~dDí‡ ®©¤€‰ÿmðO[èŸ ßØbú#S€ÞW²&y­P*Œÿý•”VÉèo{BÀÛo3@> *À¯ßÿ˜aVà?ðÿñ‡0ðÖÍ›ºBëŸyàßýø­ÿÏ[¥Ô¢Àg€ଞ§x<éÁñò©ö¿M`›ÓbKÆeÒÚ¢Pe1ŒõìO;˜À^Y^¼6{mvqiíÆ2\Ò w²Óy“ÈùAzƒ—óš w19KÞþÄef¥©ácG pP{¾ˆ<ôÅ -¥xÑÃ^;b”VÕ©àç" E’ Îoe tœIè"Ž Û0ö( §ØXïr \èym‰ -Y¸|yVƯ*!‘¡:­Òh9F¶ÞQ)y_ З®NU†/Í.2ÀêúÅÅ\ËUvêÚâµóG/]ÆÓZ*‡î”s­· R9Ó»4»ÐêAþVf¤ÂMwöU«(k¸ -àËM Š®;V¢J‰i>ì(>Y逿þf–¥]½4u~Ö}t·ëøOE¬—ô¾µ¼ôGî˜{b Éo À¯ø£Ií0Àý¿ŽC ˆÅÇÉÞ磕ÀŸ<2úOó<À²òuåcÔ¸ñxîH*BôHMMûŸ>¦~¾4Ñ‚À#ÇÛ<ë€'DÿÇÙIT{ Û–D•Zg›}-W^­þÑ,ÜÈ(þÀü÷YÅœ®ŒŽU÷ .#(nèg*ÝJ±†öjÓ¼zŠ~pÅ0!Yñðú›×«½½ålF0ʺëÓàßT«MŽQáNW£ Ñ ñô±¾Â ;}HTQ9˜ÎŠ dÔ• -óû”+Ñ€à Oaa/£ð”ãj¹·XqAÊ=*ŒTŸšR¿îr(ÏfA<“60È(ÔnM—ë«@ü*0IŠ¥dªË8¥ÄWx3ÏÚÚÒÂeqÇ¿ ø.!âzW‚>è"ZPŸ¨6~Eµ|µZÈ®./ÃÐuBy(ESоҼ±2›UÏóÆæ%æjÐ’`ë¾ -Òõ¾£Ï¸¥Ÿ¹G—Ìqˆ{WÅògrB -†ÓÆM$:r¥ú"âQ%þ[PmêV–fgÏŸ¿4»¤ó.Œ‹$¡¶´¤£V Âo-§ÓL@byŒ0ý£濇Nž“špáÂä1ã~Éí}}´ûÙøs\ -À‹Ì¸%y1úþá8>þ⋇Ñ 0BYI°°®@ÎýÜþßè¡€”uÿK& ] x|ç>úÀð‰öh‘°Úø“Wêå×W€Sœ1ˆ0Q%BìõéÚô›°¶Ç éïb´~g¡«Ð×Wì^ÃÆ†¼ÇÒ¥R(œ’+Gê‡2|ó—þó¥ÏÓ7®·øù™9ðe3Gip1@[B"g$.ˆA)`zn4ûór±åe¹c¶ØëY±^SÌ¡ç(Š{%²|ÅhvÒz1Ô]*³Ô/MQÞî73Cî/d3ÃSWHÎÍ1r³ ¼9¸ïú² )%€®aˆ70ÒTìp§@»’/ Ø‹À,Áù­‘ÄÆ~¾M­ëB’œÿ‰þ±¡Í½åoú#hx¾´]H“T•Ù3 ÛØÅØRø^£ à'o¿ó÷îøOxþÉ#-Þ‡ï?‰'üµ€Þ¿-ôÿÜüÿÙOöÎOéøÖÏ LðœÖ“ÂN†¡œ=wvÀ'÷HB H®å-$TYsºíXñU_ΙI øÓI!ùoÓ¼AĆhh ðDñ@{0( ‹74×keŽÄu$È«/Ü2ÓM+búj+Ô )H¥å -LpR€J€ÉàZÚøÀ€0&%3:”§È•ƒt]l%ƒ½KñòÌ=Ä{:û––¥uø Šóºy‘|Yjˆ(½ºL4¥÷NÒ‰´QåÞÐ)%NÏÿåÅÅÙ¬PØÞ÷Ý2EãFtÏé7ÒiBôSNåùH‰ë‘-+ªÑ-ñ£‡¸¸xíj}êí!:í*q=Q~ðMÄŒ¿0õ? -€ìÿ4€G¸JÛ—OŸ>}Ž×M˜Ð‰Ôù—Mnï룕ØÏÆŸã''^œx1ð>ž<ãÇŽ)äÅñãh4(8I«áhп!ü׿ìÏ÷Z<-ïh°üj3 Qíl[(‚a¹Ù›ž‘€«Ý×êëÓõ¬663&Ö* …ËÌ­‹‡å=¢©«³ã¡¼T·ƒYü:éìO3ýtvv¹›]’®BRd" aÙÔÀ¥…©ò¾r•÷ïb¹_,þù´Š!ýbº^™æÕº¹\¤ -¨ëz…rB iWût¥8'ð;4«)ªnáz¹·2Zèô¤A* åH³±£Š«"?¬¢w”©T -{öŠ1Án­^ï½B-(±™JöºA‚ö£cüðMPÄy EÀrF\OÑPÀgd”¦€‘ÊhÓ€ÿí hÕZZØ´õ°]Ä ÄFÀ¹²øMÿMàß ÿFËß%¶H-ÐÚ© ¬Sö ñìß|à“@ -ÀßâÀ@'€[ÿt+øï‘€ïðá‡7=âôp'À÷’à§âÿO=à‡ôp@Ìè>zRè™ÁÃéÔ$ïÿÿ7j‰jdÛòú•ûŠ¢¼)î -ÎSuY½•#õ™Ü®®V¼¬>wåÏëµúÿ~fòÊ‘ÊXi§¸jãŸwð<ÄýìÐþ.fûE)ˆY-Óò3+O=+ÛŠUâ3S—zËç§Ü?}êz]™uޝ¿9#óÿurÌź¼ cY¥š½JAh§ŸysŽ‚ͲKÕ2:Ä«õë×_óoææ¤ÃLgåžBa·ß-ðð០¿Åüi-ITÔ=ìééé)VKÕlŽ[-:ǹ7¦ß¨Öçꪋs¯fÕìb´ HŽT8/ý(…€RÚ8¨£Ñ`€ÊÀ‡^ö2Ú[=/dY+÷[v{{›Ži­ýR€=XëÏ‘«ùŸx=û7…¿é¿¹åÒnƒ°ýÙÕq´•ü=x²P($è·Ê¿4<i.À[ž - ¥Ýè -ýÿ%hQøíäøYhi€€ïàhа´¯gßiúnX¿Nô+§½ üOîFK‚Ë‚ -€#i/?Ö]à<$” j²ùõè—À›ï„.â¹YyDÇ86o‚IF0ÆìtcqÂY›ª -±È"­¹Ò^x³ßˆ’á¢`®²´†„ÔwWWôq47má3`tYÖVïÓZ¹A[ôr4e­X 1P¥¹À(=. -ÅÖʯ@ë-œ‹2‘ ®¤Œª-Ï›°,€ÑùªEÏ”äÀ$¹0+>X[¾AÛÉÕóG EQsmÕ.[…L\ -}|1 -ßXœ¯W™ øÚ¢ô4î•z`MyTJTdKU‘ÎÚÝ;¼@)ñXöUùJðλܺé®|#tï”Á~‰wýUáÞ]S]SÒô§²4Ïœ—2n%*Jeö 8¿{H~+‘mï‰Æ…FLXÀðÚ+çþÔž;G´³R^»§þs6““Ç'ò>B¼m}í4=6÷¦o`ã?ÈŸ$'S ÄK‘„ÿxþUÓ?%€ÍÚ(ŸXoKʇ?_d¬º¾ûöí‹Þ}=¼)¨{_ïáÞÞmz*°{_wwÏžO="Þo[ÙÓÝÓÛ³oŸ>J¥¸¯·»»ØÛ£ ¥/ú—‹Eet°Ü],÷zýeÎ9GòäúÅìQî„ÔÎA]Úû¹}=ŸW¤Ã¢eïÁâÀÁÞ}½ŸßÙ“^5´Ñ}üÖž={”j¯ªaX÷ªdËûÊåÞÏÓ%À…é¡FjDÒ{økÅ´˜ÊHnOÓië?<>E³z‹' HžìãÿË‘OéÒ5FGÇb^ h¨Ú€,wÿÿáwU¶ï×Ãú+Ú=àŸddhÄØ,y%I†¿$šN6UR@êà&¿ àÖ?ýñàøèƒþ$‰ÿôü…5áÿ§ïüþÿ8ï À.?íô¤ˆ'†Œ”SÌpöô$þ€u’Hß" öÓûÿS;Ó/Þ"zÜ(†v‚,[Ɇ)ïu]ZòÜþærah;oUv£à‰h¯5Óbþ+æè6.@8Q©‹[ЃÊ NŽ .&ÊhÄfþÆBtmMoë'*˜ -¨=âÆ";vQO`Õ¨%N­Šöu…•Ækóó—°¬Ëñþ ©QO\p/ñ_ýýÄã1 ß€sx^ɯÎ|Y»[xlôóoåM¾˜8Î+€u>àÎZßG°><…°4<ÑòßÔZ%áÿĉñë<›«‰jdÛrt[R®TeQg33•J™OUÈ)”+åòp%;Z– OÕÏgÙå}3Yé«=øÓ£€×ñIâ~¸ÖeWÇK{üî^ÍóPǧ{J•z¹\qoý‘¬Èü™Ï–KYe&KîæJõ1iâÝ3BÞH±P( ÅRy pP6=G•’ü–?¥Õ —¡T.–^fVûJê:W艂àø-^Hy~k¾ - -ÇÛãÕ¸‰ P(=[©LÕç¦ÄPÝxvéjOµ:ìyò³™zEu£ïù£•aj„·ü]27‘äÄ”A•ºÛFÜ‘ @¼ål‹'@æûsÏ©²S€PÚRtM-ù¾Ju䕈nŽ ìäþFŒÿvø‹þ[ß-àý61úCô[å‹_ùÊŸ|û;ßit´À.€[Í¡€ïÓØÿQ€ÿÃ?ÂûÿÁ^½›™i ¿ àG&Z>ûò¤aß#&&þçoÑpòôËëŸ$˜_'y/@©üÞKZ¶è¹0Ë„>"*vø’؈û+Ë¢¤ Ë@ŠÁ¬vKžÐðyêuø˜bíò -_[óŒt¤fP€·¾1:äjÚõ9ŽHœÐ¾ -ȳ‡ ‚H¡Ï‚èlVè–·&èÂ_4  ôLmÛ¾NÔ¤2£”Ð"?—óÆšýEâ`²ç2ŠЕ^4H!’1¾H¦¤C? -[¦K€Îq{ŠW­))©'î ê/\® -GgiGIõßg“2̉ld¯-Íž?zùêÕåé71)Ô²A\VRTUÜgu’wÁtœ¹?âße çGe±¯ÅJ Ü»€“¾P§¢î‰ßú^Y˜—05E'ÀH”ìµ£¥Ù\<À½ Íû“ã¿—{ŒýðD?€Üð -Ãî!9ñqüþ´e&`šý/º[ °ä>íO}ì{ò%DiE£©û+ÙÜð)ý«†Àxþ‡H6µåp¡]€1^Áƒt`‹Ý zØÍŽtgY©ØWàEû]¦üî½¼ž·ùuîÞ]èìêÚ[ØåæöèÔ™½}îU^ÂÁ†€·Ú÷u>Ý)üwvöDo>© -Õ…•âÓ=…â`jõ󪀡o%’0οOçˆ -ÒÑÙ±k÷®Ž]LY¸k½vïÖ«Ý»vtéFJ}ý¼wt„W‰ºª‡‹c=®&>¢ûõ£FªaŒ"ñîDI 5âYì@Hî 0”ŸÓŽt€Vî¹èÃ4:¦¢øvÜ uТŒ‚å#Q„JÐ>ÿæð¯Ö‰1“¸X­ðÏP¤uñúf =([é/IÐo÷ˆN€QîÀTh àƒ÷?úè£þ|Dó?;(øóŸýýO=àÿämÀ?ü¡4€£$ÀàûñaÀ˼ pƒõm‚‰¯Í½< Á¼¿ŸÑÅkÐ\QàOóôؾÁK€ ¾Nâæ†"Àµk ˰ˆOâ¤$V¨õ%Ç9ÃCœ–ŠáQxð½!²RD4vLh* pÊø i4\¸Ûw Ò¹ìŠ‹ÉP¥tóò©T¶WÉ„*xl)  ¤„èé:‚\Ú]»#¦£ܹ±ºpõê<~ ‰6¼è‡f|'ê:r”ÅA´H(ŠšËŠ¼Nœ«³bÅ 8 )1‹³"í̬Ô4©1!“…JRq¹D±õ#y>“¯¹O#GJŽhwòGMp(%«1(@1ÇiE˜$ù=PiX£Ö,­,,^»tiêüüJäd? ?'Qï%&ü=%igμæq€ûŸ´ lþW°ø“ yPf׋YÏ›|;1ñ¢þ˜¤Ïpøcƒ½¯Å}`|h>µÎô€‰“§Nҗλ[{žhkØÿ€O.-”ßb1Žàx®ØŒÎ'ÐK³èVd¾—½Û­_-ú D×nÙÔ»ÜÅ®ƒ—þj+¥ ÔoíÓkƒ.ºßKº -¥þÁÊÓ°\Qtb/3ò#„®(áDÈ%ÚñÅp墬>­ƒÎΊ«#¥íWZPJÜ qo—ÎòÖ¿Î]ðž i„³K?@I×Î.ÝÓ-U÷ãë¾Î>´••m;\‡ÃîÎH#`©ìëéÿcÀ:àïªÔ¶Îí@Z=Ì ­è\yÝôoL¿”×YJR'%<šÚÿ¥ƒä¬oà?¡£à½áÏ&¼þì0A¢J³$Ûõ¯IšËž=Áü6ié*€=Œx/Í þC|ã_ìÿµØÿ¡Oݶàçï`ÿÛ`@®ˆÿÍ&}Ãz`ü?3ÄQ»€ùu¢JÚûTwCx§Ï¡ñ“g€¾=¼ ¸ÕpîÂ…üm÷ƒ¿ý+ à¸$§4x€Œÿð`ïƉÄÿD}-¹è— ¼N¶Ì `\v$ü¯ëÀTÀ›k‰jdÛb+ñ¾KvĽÉàŸ}Ü€ûì”™ŸN -€ö¼¨O¶s—ðž^È ŒûŸîdžGÚ#㽿ªW›®®Á!¡9Æâ%ð íà]G; -F}’îÉ×ñðŽŽ©Ka‹^°k*‡ìx²/(C¤Ðç÷üHÁèìé,õI# qAÐbg·òëê(0šQ"¦ûGÄÙ}2ýMpרGˆüORî‘p°‡^vµ¬>77wý͹™Ld¶P=âHp»Í 4ã y® £­†ê^€iQùº@¸€~0?á?BŽøt«¸À>m£ÍŸcVµó*U¦GUƒÕkµÄ}ËK‚~«´)¸~ò¶{2Àûh þËìÇæ×æc)ïKð)÷ÿßù{}S Àðý}ÿ{ß €„ÞÉ<üè`G“—Om:Ц}vn¥ÄP¿­D Y’9GCö²,Tñ]x^šn_°Wæ¾(/óì_ΠåùÙÙ b‘Úéù/Øl “>Yœf¸P£C’ -°ˆ@=_E*ÓÃû:cý‹ónEü\ê¯-.xМZ._½6??m‘Fœî\)%…|HÎXòÖ°óÊeaùä/îIÀuɸ‚PÔJŠ+E*ÍÂÕKóøûñЬ©ÖVÞ]]^¤‰^PyPEò6 ÝÍ&€Í%Qíl[*åí,3°2SˆœqÃ%ò­ÆŸlÞ©h˜Öþ`a/fÿ^àÞ'Ðb‰÷:GG‡y?‡]{\íäFz?o x¬Pé“uÞµÍ!½ëÙ»÷‘ÄiÙí»vÁ÷Ý,}´…=¸>­2æ)ET¥ÚÇ›‚õßÐÿû+…BmhKVq”½J¢MzˆµüôÑé®o@5Ý©$«öÔG0âA®äÙ†J4DmIè!Á°¯gßÁLÐÏÀ~5K§¸Ž$ޱÐâ °+Ÿ´ñ(בiG&ô7¥EePeUõÍ.’?”€þmú· ¹ì›Û ¿–¡R_é«Å¢>Ê÷¿¤ øïùÜÎ{(ßÎ'J€pÐÐàçs%€*$â° @üÿéÿiþ¿¥dò‰€< -þëÉqê[ÿ‹Ÿh§¢U`ƒ0Ú¯uy”Šû¸ ÀÏ–ÍŶږŒ´«ôOmýCsTäò##à†Îšö,K‹’ÍfH¼…ˆ@@û½˜ ø±»á(ˆ01o¥À3Ci ÃÑH€H \‚æAwÅ…ù…«—/_c>ç§œg™'ÿ*¯Ë—–"¡4À7@Mwx/@dâò‰‹*¨\b/©¾';´L`ôPÚRˆÄ>^‰lgˆÕŽÕË+óóL×)ªÃ»ÖÖ½·²´píRµX˜šYÀ{±N¨‡¨ gèúq©Ö–g«G3<KÊ@wNú¾9}¸'z*ªÆ|ý¾G[÷úй8f~à»öÞ@tC±!ÖÝð (/ï‘$¥Wúƒçqrµ Jô×"à*/)š]ZÕiλ4J} I¶þf‹Å›ÓL`ÀþCtDÀ ö_ 3`x<À–€@~(Z74€ãÇÈúqý·ôÞá¿%ìÿ† )úßõÐ?møF‘osÐ <|„ú€ÿ1<º ÓÍ\.²œÿ²µ†ôv‚»GZ5+Öc’X…– -]³¸Êû®ˆQ*õˆ:C¼_ýb÷¿[÷ÅèÁ¡ƒ…`Ý'ƒ%[é:94´SÞXÏÅ»]øíR(ì¤eAh')<×¥AíiÕ'Žõ—F ýµÑÑA&%’¸ù†ë÷ºÝ'xòÆÜn=Ë®\ì1ls1óã,«h ±xhƒV½Zöíû¼`‹$ž°ì=f®dÏU²‘çFFŸ;úØ÷€`‚ƆD…›ÿØÿ9íý )·Š³MÐonÃñ¯Ÿ×ð/~UëÒWwîܹggÇÎ<²³#a?—ŸÓ*˜ß&¹àû¹ À -ÀÍ›?¥ €É·õ¿ÿþG¬À?!I¸õÞ{àÿïßù™çJöÿü. )1ϱø¡_ñKusjüJ  ‘ÜR¬TP$ÌW«”º0¤eþ ëbïì{ÙܵçS<ëÁ÷>fàw½¡J¡TÃÞ´ eh´P¨@ð¡ì±‚;ð5üöÑq€v}JÍ0»½*:’Š¡HQ¶#%-–®<¯b •ú[Ëì•Æ¢$vïÝ©ÈîIý?’ñšƒ×éx¥¾7îI’ JP×G(¹(#æ.KBi¯¾ÞXèªçžãuƒ-ž€pŒzaGù*xî¹££M7€ã5%¹°ÿ›øoõóââ%è›÷#ªïó-ˆþ2ü¿:@é1UGGÇžŽŽŽÚìéüܘ/‘éÏž6¸ã×IÃ`àosÀOí¸õÞÿýÐoÈ·axBèø³›?¿ùópÿÿøÇeûÿ~à·¾£ð¦§’ÄügoÞ ž=¤í}lÿoÅÿíL„7}yi‰i欙= æõtâä‚(&âè‚4ÜXyë2oa–n/(ð@t…‚D}b`¦ê<“-žìä@±èg³•´™»¼,…1tÒÎO=:ÏÛxY),/]®”‡­ž¿*þ../˰FeÐIëÊ‚ôˆNªàœcïjMÃ{œ\Å+` ˆ^ŽvoPpŵ>¢…amiYùT0 ~J¨«Kó×–WH_NÖÀ…˜Q««ªâ…ËGŠS8ó74¸ê›™]ž;kK—ÏW˜ pÁc0T$ö]†›žÒ©Rïz¢_~1f‡[&”N€Ö£#ª…Wu"´+Ô¾Ï1z@+ãñ­Q6Ý󵫗.½tuÉŠ›rN o%‰ó—69sÁsÓà›“îúÏÊÞÿ RZ<çÎ¥‘ÍDÿ^mü?î!ÇO0àø!èà‘ã¼ Ù@¸O'Ü ÞÛÐ*b~îà*@R Äÿ–>ÉБßïx|çÎ'Õȶ¥<\þú}¾Ãá±FØ–Í»0€°Ý¥1èp@Ñ`é§`¾¯ÂK…ëµÑ,K#ÓÌÞù’Á!é¥:¸N!¥¡ÚÈÐà È*=»U¤Zô­'øÓ=OJ{d÷—ú” ‰!*ÔÈèÐ7ú‚Xš®éH‘T†-„¤¤P(öîýc(cåÆêWjÓâmúJ­Ç‘$î`-É[Bè/—êÈ-#•£Ñ90iÒÜÐâ 8b~ðßž<x*ZTŽ>÷\êÀ©VQê9ÿ“ÁðG ÉqyüÙÒæ¯ŸÝHG_ýj¢,¥>4$U C5¨÷ÿõÿm˜þŸÛÊ`àÏì»™@ü·¦ -ÒóaÉýèÿ÷-¿ -èiáxë‡oýÕ÷¤…>€(Öâ1a±YÂÎËzlîXÇÿG1&Bvn9 - 0ÛR0Ey/Í2mè‹BšðzäC¨ ãò2/ Öóß8†kk²ç–Á(ƬX¨§¿‚ ‚Â<@» H@prhü‚×FŒ¢ éQ<^À³@çiyž½öÿeïŸãºÎ;_T)§lëú éM°jNTÙ¢ ˆU⥅À´›‡ínšB Ú šØ{\yKŠ1tÕÕ Ê”Ìé*¿‘dœÉ¹/œr² 3´…Þcœè -© °&¶Çù:5•¸j*dÍÔü ÷ûù>k7 Àgò’OwïÞ?Ö^kíM¢?ßçY?v„Á#&×›[˜[:ÒEÐó`2¡ºêÍÛµèZeˆ‰¨† ¤šž®"ÓûKD0‚é°‰,ú ÆkTB«~¨‚uÄ“¹¸”9×¢ä˜nÒ¦îòÚÊl³Rm/ ØÕÿÚaªš/Rß«sí6Þ_^£Æ¥R‚§öå>FÇ>7P¼¾•ÀëªÏ榟flÚ“/é,w\Sè¯CÈ 79è2i¸Iÿ^ìàbp¤A7¦"]ËÊâœÔØ,Md£%%îiwá²m:à&3ùa'ëêèÿ®?ÄǾñõ·oD'À·¥B\' 3ý½d¬/P޼fôú§}âÞÀÿÛòÿû"îÊÜço÷Ƭõ €Þ(€Ñl×ßàç>ó,O~ø•­™5_ÙçÓlnÈL§ñ>o·þJDšÕJ"÷úéÃ!XäYe†Æíó=ä÷)Æ[Õly[ï "–6µÈŽVíÇÙp} LÓýút@Ýs¿5å£(¾ÏÔ³÷_“¡m€‹gê /¬ÓL¡ìõ:6P9|ž‹D1Ð³Ž‡ùµ¦òV§u;L¹e-Ý݇ jiÊÐ M@@QMˆ„$dܰ^$ µX„°ðè€!ˆ G€wo3 DHþ0ó{Fîýð÷·L«ºù°ÿKüëEìßm'Ø9ý{Ђ"It;¯ãóc|ÿGõp@ôðó‰ °ÿÊP-ìJûïnø…Üÿ¿ÿ/â¿@ôø£"þ•Ø2‡ôc¿;,±¾g’ÓŠûüÏFä3ØyÏ+À'ßÝÌõk˜tpÏĺü‹„:giY¯½t¦R:H¡ Nwt–I,ÄÀ±ËAt ¥$ óßÄ»TN0~ÉÊ…8£{ë›ë+‹ÓÅâŠ;þ‹¡t]I$ýP0R=Ö–Ù¯ËQýÖ–Vb™Œ\êàÜÀ˜êž8¥Ri_`/‡hìWR³“-4€ÞhšèH.(Ý¢•…9.^›L \å®.-.#ú1H tHRŠ1s‚@­>Éx’û½í3UÀrJuÓõONÏ..ëbþçÑ!­Ãú_>.:ivòX`¶…t÷ä»ÿ€©~dÝÉô¥ÝøØí !€vøÐ“%rÿ”w„ÿwW|ëk’b Åd¡KQzé@€nÎv°‰€¾~óÛ7¯ó0€ã/ž~ãFôû—ëïH@Š¼í®‚I¤¿’‡,¡ßÔ/é¯÷•7<Þ¤®^Ñÿª‰Ÿhþ÷)BÉô‡Úˆ’vép™yü4 €íÿrþýõìcð+›~ìG÷ùTy6OÏx|¾;­áËå)së#ß¶& -9Xs¶ò}óÃÁP•™KD¶Í)#nÆ - ¨Ôs‘_ÄAˆüòÔµÔg°’U·ùû¨ - ÊBÚÍ<Ÿ%Ž-3Ø;{|A®®>Ê3›×5DšRx•~´#«:Ç¥pO$jÍðØÿxÚaÏß×)oH´¥ýÏFwÄ#ôQÄž® бRI -`pIE~4ÀE­Ds@D¸Ó à‚Œ $al€t‘÷öY]7¯(Jöþøþüܯ‹þpŸfÿ3¢?7þÇKÿ6ž@)³NãÈ‘£Ÿu;ÀÑ î&>Ÿ"Øð\€¥“ÿ_eÿ€àå @àÿ¿ë°ç–ÿOüÿñ~H&ƒ$íñû -À;vÄêc™âþ)€H°ßÍ’“¿—™ª+8Îñ3 Ð7ˆØ“†r«×q£õû¯Døð›««‹Ë+à\ ÍÌð(4qÛ^ƒa•—ÎL]çå3â„j§@6(Ænº¹Æ>=²±º0ÝÈæVÈ‘òÂR®Ö$‰ÐG×W–žwÕí½›ŠÂСóÎõ2»ôä XœAít}JÃ…€¤(ß\_Z\XŠIFç>•µ¹¶L'=—êýTŒ¯¸”É*“.ÏN×&Wµwm}ûë¾ìÁÖ‡jÇúè̶gé¨ p¶v¸¹!âû]úáûBe&ÿ&>¾ü}]YDZ8îx¿*çA~œGÒampô­Š; û|º6ø·ç.¢dôf}ue‘ö˜éÅUNT¶2îÓž–¿·½åÀi:þ–€(ÿíï|Çí û3f½Õ ÈÒ_Ê ì÷VÃ<ÁŸDx¶Êóx§@Úˆ&€”ß§€}éþ§ ä·,ñÿ×OF€¹;%ÏðeµZM”¯ùµû7À¨`´Bž¨¤åyÀEcž ¯6 ƒÆ{ þ$÷Á䚢6óša$œ— ™ä SÆJQ­·Ì'!Ñk­×.M´.éœúPNà‘ðèœñT©Ÿ]W/2:ª¬„wrR!öÌ•ÅøI W°‘ý@ÉÆUw½=qÕ!ã§Ÿ¦À™Ãu‚ 8!Ÿ™¹=C UdƒnѽÐ5»ÒpšïŒ)y&âb¢¦ØáÃÌ7“"ödžoˆv†fMÔŠ{.D€ ëßn~0SQ>¡I–¸¿eI4$ã6?Ò2]Ú8æ5ݘ¨>m\-ŸT¬íÓ %“Ò8*ÕrT/Þ±– ßoß’ø^/¦úEO$“(#iŠÀøÚ-þÿüïö7ÂÿÏ~c‰HH|MàÐK‡ž;ä_‰-‹ß§øñ«ññOò2VÜ {†ä÷°5ùskÌ뺲ª5Zµé¬N—{¦ „m®é¸‡„ ‚è·¼º.Œ° Ui*˼dD‚èÃQèâl‹ØNŒø¯dƒ_¥²nÛõ±¹•ÁaËH$Üs:l2нŅ9˜wy&Ødô£@z€*“彘ûˆjÀ|¥å¼Ð®„j¬¥RÐÈ k]_^\p@¬J|¨{D'Dåç„Ê qDI* lm}eeuy.«Ö&—Äûu®¡ß(©ßT 1[+úç™mÏIo©Lî´Šäné¢(Lß¾¿Ô¤ë(8¦æ¦2²Æ] ½Î‡á‚t@p’¾UЧæ¨yÒQ{ÕìûŠ0b?´´¬Ñ,³07=»´®$¨®›¬mÞOˆßÛRàÅ“Ç_<}íÆ·åû» €$@êpëÆ·o|ý-ö[úk KnÿU>þëŠÚ¾úÆëŽôÃùàÿeíОˆù'‡Ÿ56´©w„ýya|'æ'É^ -÷ox*Yâ¿#Rëú[ þ?ÿHV}Ê¿ çÅû]¿k£µ‚Q‰ý2Ñ"Ü|ño+8p!¿Ð)ªù ô#ÙD½B_ú§ÿ³†¿¬Èª­9cœ#d–ÔBb²6[3Õ¦|sŒ\&ZÅWZS­ ½²úP¡ð¥/®çÍ|MkSæ|½BÐÿ|V4y´ Yà3ËÆ³VqÉmëä<Ñmd·gþe‹»*¢¼¢nHº>}æHî6Òè{fæOÅÿ¢ÕšieCºÈ­;‚ºðFýBgcã±cOãÙIôž‚ð‡,>+„†v#¿ Þ_2õe¬PèCFU·¸Ïž´º«qÛÇj@Í/è1˜þZÄZ_]O1qž7zäO:`ðh‚~¿IÐ ÷ß½ÿð/D€ÀÏÑÿ_þò~ùR¦?cþëÿÿÍ€_þ\ -àïÿÆà§?ýé_1Àš,ž“H¿Éâ7J -`ûîd Þî¿–±¢”üOG„z9–«t úô1[]üžó»o2­rœ‡3vj¹¾º¼´Bë¹\žŠwŒVƒ>Ø©3ØÉ–€ÍÍomqÈ8UðSÉ 0"ož}ÌÚCÇ9‘f¶Ýžž“HÑkH…=j*ŽnÒuAéÚ²ôˆ²_[Y≅&5n°r„†úv”¾S<£#èЦŠQQ!ýnB'îëw=¹]ª2…ú+‹ ËÌÊvp¿|¸¸¼°ÂÌägç›÷;²Æ`£ÑàùÜ‘¢«ûp›‡~:aáê„xZ/f2úèñú?5ð)åþ9½Ì½ipýkw˜Jú嫵m`Ÿe- €à¾­Üà{7ãŸà‚®Þ]l !€ÿæ¢Z …ƒÞ©Cÿí– ßoID€ÿô‡TvøÙßüÍùÙ/ú5€ƒÄÿ=:ð—¬iŸüÝ/bÀ_ÿ”aþ(š~g[€ß#-õuÙ`÷À5\~H/ߟ6ýˆ8`%°'ÿÔ°¶NóõÊÊ -pÍpž >ð%ĉ´r÷ˆn³šqlƒžð+pvámsÐÌ‹€Sìƒì¡ìs2ýöî=aܬR’9]ûøb¯»›-¹¿ÙääôìÜÂÒÒMé‚Ï#¢fËÒ/ËKÝÅٞ˻¹ê!v”Ï Ÿà“Öu¾‹âR|-T’t*ÖØ%µ¡ŽÑõ§Óµ‹>xºZšVT€ªGûW}wmyáÁ…%æóÅ¦Õ -·i}emiin²ZŸ–tBmm7Ò3×>+æ:ðD€t„TYÜOÕID%™eN4çk…‘2{X¡K¿{]Ð^°ùÀ‘yí¾[ÿ™ Ð}ts$ ˆ/°—(-Ü5]%¢‹g4J—-ÎNÏ.®1¸C•ñ?b”÷HK„ßÇÞò0À?uùÚ×a¿°ïðú½[ï¼ÿ™ `7–þrÒ_V®]½öz_ :ÆÜ€ཧOÿVO$ ‹@zÅ”IÄ··“ -¸öÆW/[¤-úƒêwW‰jíÀcÊö³ÑÑ/ð|>Yõå¾gÓ<1èÇÞÅfµZ|y´V­5££/W‡Žþ' 8zD~¢ŸÝGúaÙÖ#ü0}•['†F_©Sž>Õ¶ªú jýÓ‡|VéuÚ Ÿlüìà #ìx‚  Œ<÷2ªFUõ«ªFZ©’å°òSVCµ‘ÊHY‘#É•=:H¶ÿåГ²#‡ÈG%ûÂbQ­Õ”Ïè ÒG/¨x?c=9QE>ÙÌ™'3ôÄ…1ï0ü‡ý<ÉàØÀ°#»úþýì÷D„é8aj€—õï´q4±¦ùµš_˜ " \R ¾T6’µš ÿcm³ý~+;–Æ2àß1³ßßýÍßÿ"Я×?üRÜwà¿ií¿k]%Ü€-öGÎ)xéÐvÖ_½vÙ?Qå^ÿvôLäÀ"‚ñ{b °—ðd{šH¹&˜//,ʳ¦éœ^mb‘~ÒG赩_û%Ƙ~D˜Å7·ƒãµ*…£ÙJ'DÈ串Ÿl ©ƒ~ƒ]iàk¿CðÙ >Ücߎ«qBy€”‡,.¶³áÊX>;˼Kët^dì¢j¾ _ta¶Ýl/®ê„˜'ØUE%IfPÞªª¶©*QyºÂ*…ÂÅsdUÑa×’J«ªðª8Så³¹Rd—V×W$“è& ’”;÷!âHk«4œO3 - ã9ývÅn3À €ï­,òؽUºR…¨÷‰;Å'½õ­ûد{úÀ;uI¬¥„¬pÌ -x*!géÐõ/q_W¨+àÖéJ½H–--̵§—WIìÙt“¹è=,~³8M'ÀË×¾!p3= ìðõ½"aüý¶ßiQÚu"~úŸán{]òþdzB°Hólc¹%ØCýpÿKþ ý‰ÿ¸œ"Œ ÀüOÿøæ¥µDµÇv`³7¼ME»1ÒÄÍŸÄëm2pCpÖ“§_Ìó¤ül,+:yçe›×ïæsùö½®uõó´Ž×kCõ©N·33ߙɳWò)|s¢òØ•F«yÑhfrM;Eë}¹ïAœ‹y;Ë;yѼØÌ³áázÌ9Ðh¼ÒhhY«k³V¥á'ñ_̲z£gݪòê8Ñ”gÞívßã>ªU'+TùÛóª…œwJͯàÿ׳¼^ý\…цÕÊ“C•sãy1S|@A¦ ïí¢SÌæív19Ò(Ú¹Ÿ²ÏÑí`´$"dy7ݸÂó -bŸ@>œú -ÿ(€!ýˆÿùþÓø÷Ñø×UæxöÚ%"ç­dÛà_~ï0k¦¤Eƒy‡¾ô€ÛˆWŸ1QÁØØXâ~Ïôû­7€©ýŸB8 ûyÿhÿã¿3?À/ù?þ1«ã< P -à§Rôÿÿ“²úÞwéMþ•¯çÿõËþÒÆÕxœY¿…Ûð×oȶ>z'Øïf"ä~FLymuQHc2`$À*hÃc@ä=Ã#0p/=3P»×W—9cCÀÿÝüÆ]8¨ð ¾ƒB­B~@¯%ÞöÝa¦¶Sæ´6 îØÔä›X³<úåÕÅéêá'ªœ9ñ—–™`memyIÖ™[\˜››mg“sŒVä‚5t˜s¥\08Cn¸,{«xþ.µAsºÕõ€*û>û>D4@N.ÁOÒ‘U¼}dù ùºW«D´ÑSsíVäŽ`¢Ê{c}“©Œ¦'k)•Õ5ɪífØö•$\ñáÚât>½¸²¶â&ò£ª:îDŽ×›í€>A_+²èòƒIØÖ‘HàvÙ: *õ}Ü¡½IIxßgpÇüÑõëúÖUßÕå…Yýk¬z|A€”å–¿IРŒØñ·ÿ«ï(‰$À> =ýG –|]—¸`À¾Gñß"úñúã(ü¿¼[ÄOŸ> ePÎI¸@êXúÿ+‡>ñÌãQ¿ºA†ý­è4jAJ™ g³‹±)FÎwZB¤z7R¼×š*ŠVGäÌΊuOÓ½îlýüùü|6UÔÚßgny&§§VFçi ¸˜U6s›6ní-ò©ù™©y§²¡jVÿR:ËÒô»:8ÓÑy†¡Ò-Њ º¹W%ujÑrc>CùŠjwžŠŒkw½þÊ9y¸¯Ð¿€•xæà“•¬U¸%‚klߟ)ºSùʼnlRçLuò‘#8(þ»ºMI¬u{&™ilÀÓ~ÊÍþ28 ·; =½[äûÑæoÓ}¤Ø¦ÁtnE’Ö v¤1`ÂÝ;Ç'¢g€ý -Àú Ë&sIY"2ÉÛn/ðÓÿåÿ'ð_~öw´ðoWZü·_òÂtðøÿŽüìÇ?úé~ôC²‘}7 €m} ý—_¿zåʵ«×¿víÈç§cËû'ðÏâ©ßØk€ ËÞ&^V_Ñ´*¼¸ @?ö@ ŠI¬¬,>yãP÷æ:OÄ[ÕOáIÐ8˜©d _‘<À Ñ rA‘ŽÂ¤CÀñVÛåLå:ä GyUÅ/ÌNVΦ—–é°¨ŠË¡–ÐK4^XYÛsK«Ìj¼¶.¡².àR]‹òW¦úR©„ÄkÅ8vQ íd¡ZêhTÍo«’Òû]S¥èñß[¦¹aM;}Ïtg˜ ¤SCt·€M¨_KúUêB:ÓÍJmrvE·y§‘[†ë¯/Ý‘MÉŸ¶tóná¶r«¹„Ð÷E_±Û{|ºÖÌv¶”DÇ=Mºá~<&@ Õ“5ø‡¡Eà¾#7ô‰dH[ Úˆ&þY¸(É‘Eý«Lëÿ€ç rÞÜ«½,¿ŸEÀÉŸ¼üæ[ ø6mÿ°ß}Þ¹¹ ào¾â¥·#¥8-¯ßÜ¿"ç_»À8¦>!€xE tÿƒþ;"_ÝŠ|Œ‰ý÷š€gÿÿŸxV‰jíÀ`ÑF‡Ùj²WävÛÏeÉ ºíÑÝ®ÅjÖi–R ÏÏŸxŠGñœñh8¢Y5K”šh±‡³WX‘»iU!p[œš™“ ZkþûVp.:Üç#Õ4À§ÏÄ{»®¬›ƒSãrVU– ¯ozº›mFäD6,Yú´¥ó1x>AûÉʹl"ŸŸQŠ™|jæýùÛî¯@RùHÖa«!åà;¢{Âs’ ­Ä âüè ¾mZׇç ëðþ¿ßGÿ=Âþ–,Mñ_hVbó]ùõI€ƒˆ€й Úó "ݸ›6]8¼J%Y¢¿,yýýö›Œ@D@à/i ðóŸÿìî 2à¿þò¿ºï_2áÿï~ñw?‹a?ý™›< MÿÆMŽÐ™ÖÿˆèWè_]‰-6i”ܲpôíðK -¸ à€}ñ{íèrhV¤ì4Ëé¶Ÿ?÷ú­öKË´y‡ÿ¯]ÂÞš ¼„Ã-˜ b$Ä ’Š&:wÏZ+ËP7èA0}ÕIn˜ø í<"ïöGžþÒÒl{¬røh=_Xý—âtý£S-.,ÎÎÎ-ëR‹“ÂrältYP#WF¦"6ôq•]žè)ù¶ÀÁ%¤=ú $ðHòéFðJf°F 2‚ •k•BFÂÊý'‡+Í&ÓOÿ=‹®ò=»G€6«Ôbgí®Uš³V¥™ë7hÞÚÐŒveá}º³››÷7 jë= ?ÎÑN -“È¡· ú -ðö1ñÍ]Òá²iXeÀt{q Y§DIìc‰ðûXðÓ€=ÖïáÀ×Àõ×kK\ïE wÇÿ™ÿ÷Šþ΂øÚç€dDúÉŸ¶`~à?Þl{µä¿NM õ0ýËvèY½ôþ„¾ÕÛÍCÁöµ¼hT;©Ÿž\îºÐ/ÖÉõÔ¶y%‚plâ¢@(€‰ó•d@H€¼R‡8%¸›ùy‚|¼;˺ÕfQˆ¹3ó1íÎÌŸÎÌé鱃‚ëH­ˆ±ûXµ^#}Î×Ï‹ÿÀzÉåŸ lä‹éÛÉMáìb$WîQ“È -«Ô*ôÎHÀú•úùñ¼5¯ŠÐûo^±`€‰ÌØ;2VXé~ŒéŽè*šªÑjÍ|Åvâ©ZýÒ—È;6l}þ=ÜîϽìcÿ£=ô–j|¾>2’yXFëÒkŒ­ð]”ðÓƒz¶¯°àî°*gXw‡«mÊÈ\â'á?ì‘à¥/øîwÿ°7 àï'ÊþÎ3Jü‚'ýþ"úô˜ìÇ-þÿ!ЋüvO°ˆ‰Hùbçµ+½W/üÏËàãi€Öÿ§#k8¦‹s ž‡ü&§Ì”iû^g” §1Z¯–’SóâþüŒ>!.lyµæØçÖ+õjU_LAlÊ=¤ÖÁ"à¼Æ»€¯»óó`ªã÷Y8ãiŸ¬œ;¯ÿd~^FHPEx›]” Ð0ÕA& «~ºWªw2wPÐG‡+½gJ^ üÆCô÷}ô¤çßò=v‰tÍh:tÂqºzb ñÁ-ÛOøöätËÜ1pœh€À~ŸåËÝncÔ¯ÒvøÒc"€ à@’~–?×ò¿(›þöoÿÖsýÜýÿm?f& fˆÀwÓTÀâÿsú­¹zõŠüŽðöõst•m”âÿëê5ÿlD·!:È"`ü<±~W‹Øòž¶"j­ -›B<~uüÀë%€Iü>¢Õ+kx·üòßeÚÆ¦X&°ÁœùB¨Iºñ[µÔ&ÌÅÓ7DÁ¯À¨”ÐØhE|ÜpÁ…^æZÛXç 'ʼnڳºº¼Ð®W‡†Çæ\[OøqK¿ÀtuU€\]^^ì,È=ç¼ße¢0íÒ,>X@q#ã¨õYrÙvu©¯®HÙÄ%²º¹IË‚òÝX™ó0@®H{‘iîœ3á‚}TüóÀ…¤f'kµÉÅ©®¤¿zfÎnY„âaö½õ¥éf{v¦ä*Tc»'|ãyÃ_wé·ßƒt¢þùÒ -&™êþ’ÉéáÀ$ K„ÖïZQD·î‹^t”ÐOûwο‡ÿÓ 6]{ÛŠ¸$v..Ê{ç«U¡7Æ ¶*ö€»»"™¡¶¹!'xniEIH¨}›¢r0ð ™RH,$Oà%š`:j¿2c/çÜSeô­´øÔìZgæùåŹÉFuøèPsA•$ÏR$[[cJšuaqM)ƒ———g—¢ÙÝyë›±{ Y4CohUFi€áw7ÀŽá©²ÎQÙÚGõ]½ø¦D—X%òwmS»î®ó( ‘>’žp†¥w‹^þk+Ò' s³y{vÑO^Øa&dŸÁc¡W‚d}n²Ý^”`UÛ²@%¸F·ùì7®ÿýûè¦ÿAÜ/ŸóÇiB7è$go¯ß«Þ£•hv Êt2ÁÒ?ŠGu]_us3®è9"J¸I{Z~{‹yxy€î'_ß:»yãm:¦"àá—hÿµôa¹¸Î¬?Ž„‰úW%6Np3@24@4lg¹U¶õ÷/Ë/Ùo\¾üUi€¯ºü÷ŠèYDž}ø¿eéG}?+FkÑn f† ’@ÇG04?ú­þ䬟]Å×óy¥–H#¹àÉ倨r’Ï޲¼SËgZSâ.sîÚ žÐ&)Ê*qˆQ0Ni€wÙU„Ç Y‰4‡<„ Wg™¨GeÇ‹Ó ±N^çÏ9'Ëh¨ðêŽ\Âñgî˜\´¸“Î/ÏOlE’ˆ(Ÿ¼%H:th°¦zº¾²4+R2'ì£ÿÞ?ÇÂõo³:•>‘6óÔƒ.•8W9ïGæ_HôO–nãD@ÄIÜ@Î?xÝ{vGüïÊý!ž3öÓ'z–3D€ŸüuL!€žýâç¿ø[i¡ÿoÿ¶l€ÿØ~äù—Ä”}ž;ä6È+„´¸â_ý ÿln·«üjÀûw+~Pþú0»Óº ži2 aÛÄ 3q÷RÿÄÁ=‘ocu™G×`ÑÎÒ@D„Š€@\]3OÁ*Î?yB`ÀH^œB€ž¤:Ù))X8¬8P®.N7͹%4ŠñÕÕ͵ÍMÕ~emUë+<›`Y Z&<À=ÞÜXsì9@Ó´—ˆú­K­€/¶cPUŽc,¢Æ\ OEdeenA0¦C€R¬«¤»›< Ãž2Aù¹½D÷G«Ž¨( ­Å¹¹9bx(Žû,9ìò¯ïm,í¹¹Å]˜ªŸ +FßËÝ @øväß\Gødzô›á÷…ý»<]_¿Ì!Ä9%ÇõŠ=Ê„Tð=¾øÇâ¶éî#––æŠö4„v–*Våêø^„ßÏb*`G¾“ú¤ù±·z€G7ØA·yíúµß¶ ÇDÿ¯\>yüq\¾†€ù,b‰2ß½ `7sàÀˆ¿Õ°íf¿»&ª=¶[úMßÏ:åS[¼ƒÞ± -E²ì\Þ‹ 4Ý_¬~–§êóœ½çÎÊaU‚jmJéq)Óܲ„øžAÑÌZÚÎüKPÈÀö×DÓ¤=èoWT9uðœÀÕèÍêãÂòÀ“PÄ *²eÆZN+¹Šϳ‘L,íÆ™P/NÄx´€€TË“T ¼’…”M"áìƒT©¸#´ŠøŽ¨TÚ"’Áÿ*ÏÖ9r¨Zí)€­Ð?iúØ¿‹çϵØz®ZzGÜÿŸ{=qéµK¯…ÄIÝ­ÎÃmÝ—€t ¤@Z€ÊBË­çA)ùûÝåï[„0÷QV^ùÍ/|íwB8` þû‰ðŸ·á/ò ÷åü³Ð’$ü‡y@:|75ÿÿëgNCz ç\9}J¿+nðoÏvÃég_/‡ˆ*Ú8`¿›%´ìa«~Ô®¨ ^è\Oˆ[ AŒnîæð£¾E0@¿ûÚ -àáWIxJ_ttÇ9îüÔëD¥Ä»&GzÁéôXÑ>1J{«è¢38™eò u>!6i Xšk7k•JSˆu„‚4 äçÀº¤ÌâÒz@žéRèÑ›Ê(Ë5 -W¡lá›òªÈ') •ç*8™úKÐÓ‘»ë«< °NÓÿŠùôôA嵦Úlúñ¸K4=H(WøO骞rPÉݲ…Å%1ê¢Ö¸l³h&ïïøÞƒÍÅééYæ–è¡‘%nOÕÂü®xÚŽ9Dë ÂÿÝûÿ?§({’Ø«¤N‘o:à|oI#à÷kíþ}‡DÅ-)ú·u«´Öl{viÕ£*’XÁÞ–¿·Ýãß ð[oHØÉ÷l@)Þÿþ?Øýëü† Ø pU*üòÉO^¾æ¹ôç§z_‰ù >!€ô2ïwÚÖ³<ßøêå¯Zœ>ùÌLjxÀmã¿Q€úJT{l¶ô£¾ŸþÐϾ¨ÇÎ`8ôKF˜’/YÅzš^€¸ÿ4LW«-ÜIñFÉÆ[Œb7ŸQÞ©6»öþñ¢óמ"-êãNuŒâä®3)`¥Va¯óÓƒ\õmýñV“…ÍX‹Bd#ÙŒ¶2Iê¥êédÄÄ9ž-p¦R9;ðä€@NìÒ”Ôƒ{$»XœèkéŽÔÇД” -qC}Xõ³‡¤¨µt‹Oˆfû>úïâù—ôßæúÇ‹’ÿvÍCqô0nIcÕõ¯ƒ3a²ú+E¤u(À?pߥæÅ»EQÀ^¥ð¸?Àoø{%†þî¿AØþòG?ùÉ_ÿä'i>Àm -àH±__›:äGý“ýU‰ rùÞ¤Às‡>sèà/üûH?AâÿIm`ÿût$ö!÷`MïÄú]-Ȳ—ñT7¹ÍKn£4ãaú‘¢!í&ýÏ™ƒî.cïàp—äj“þº#¼!nÊâV³&aŒs´ue‘W›xßœ¥“p±Yq^:¦â¤Of§³ÚðÑáæÜꊟ_(‚Lñª²×I¢ë -!øÕUZVUp”«‹a•¬T|rüÔØKIúÙ]­r§’B›ëîmÇ6‡¬Lˆvèö,.Ì-/1™L·‚0ÁúJ<€ÑB!ú¯#`ÖÜÝ ÅêÊâ2/ÕRÞÿCüh DƒïÞ¿»¾Ü¶XýýwØí2'À›nÊ—1Ü/Dh2ºÏlÀÂ>šÀO¦ÿ '+sø8§Þ­/ÎdAÁëÚÒ¿‹Ê¥Œ¶˜›mO/I’8„ľ–¿·½UFN¿ñ–#Dÿ#´Ýx‹À­›·n}ç›·ñz(mW¿ÖÀ$ÇO¦'nè·GŒpÞ;Œ¾€½iˆè£>þc*àRl—‰jíÀ–~Õ÷³îhÍ<êÙ˜±f?S‹/kUÌŠld ‹õúÓŸ<̰÷§!+v €º=É ¹êçC8x1Ò;mÌe¦õ1ÏbÂn½>¦ª \RX‰ÇÿÖýd€ŒÌ <Úã­Æà–Ëj‹lì$l! £8( µsŸõÖÊï|Mpe&ˆäE³Úð0;ºSDéÅ·Èòò‘†È.þ—ñt&B‰È˜PÀöežWÓ«GZq>Ê9 -ûØG „Ðç왳•3OWŽ<9@§þ.] " eªHÞ9‘Ý&‹ò&¼B€FD"ÊÒ3¹ÈÍêЧëÕN—¹vÆû]ÿ]=•L5è¹þ^yE‡£ ó?†f¢T^£»Diº¨^ à|éþéÔ?žMŒOŽü -‘U¢€¬¼Ð-€¥8@ ô—ø×Ú¿ø­$þ œ -诅ÿ¿ü‘À_ýô§b¼@¼Œ~/mÚ¥Ã?%ü¯“’óŸÆ0 5H$¶Kù'OžÔÏŠä€÷í0ùþþíYêóqž-r€€œá}lï~eqq.lx¥+rõ¥ „O™`pÖVÅV­Ñ€g uW–f :*£ãH'7W§UMx}I ˜µàð®ÝÙ‹W€V -Ö­H@*KÕXžkÕ‡gÓKxÏ4:H“¦°“¯býxz] nš¿EcUO¨¢¾ä¨%(Z‹@7…QmÛ·W–?DÿÀ>WáÊ+¥Û:´ªÂæ˜qÍ}‚TbqaY)öSuAŸÚ¡V¹©¬¥˜oAä'ÖB¤b›ñ°þ>Ã57WïÝ][œæqÀ‹Ü` úfÐΞ~f8c<‘Í €›=yžï í ~®ôÔA‘ŒˆÞ6I-| -a…Bˆ%(ߘ’FÝÝåUI@ž°ŽRÑ‹žt-Øó•¿·ùqÀ—‰øQ}$À;Lðuúî¡ú"`ŸÁ5½7WËyb íṃ|£¬d"‰þü‰¦­È|»y4Àõ¾>Žè/Ôü/5€ÿ”mÏ>Küß“%ª=¶[úQßÇ<P°M¤\Œ;:Ï…5Ć¡F>6öŠañJ}`àð*gÏÕ'Uõ­SO¨!©ÃØÂI+ϪÏL×3ŽoÙ|5õ×镳†ëÿÐ[Á³ÌÆzù$,å“gÊ^%U§iŠðlç)/9ë¡ÎH <É=Hk/9»´¼3”ϦuL%!¼®ÖÆÿ&g ¨–—é -¥kX"°ÍV à-.创ëK³“³ ËËÊRwˆÑxˆô¸ûbú}w p¯üy9õ´èlè¨dà£$  \èä'“zЊ?Dþ!>äæýüƒ…ÿ¯¡‹`HC±²éu†jBн^ ñ{™èî&€“/J¼•"‚}¹¼õ ÑÿÆ×ßö(€G½ðûÛo­™û¥Áú”€×µëÔñã§ŽóúÕÔ2–º -4 þ¿ñFêÀ(óÿ2³S*€^ðŸg<# `KT{l6ÿªïkyѨõ‡ÔiþO®>~fÝ9°ÍO4râݨWöó€ëgÏŠIçÏe¹øw>;—j*1ÆÙŒg„¹ññvU„¶×oæöµºËD²;UÁBUà™Š5˜\S¢Ý´Â»"yspLU šzGÓ|–MåYkºIPzÕ!WŽ! äþŸ=[9vL@Y×’†Î¢œ7ïœH°¶Q…p†¬.µã—§*ªé­œ›ÆÈg‡ªuž  -Hí™ÏEFa‚â~xþ-z7*Ë‚ø?ýÿËøâ¿’¦ŠÊøW‰ ÕÌQfúÓ9›¿J$À#]Ž-bï79ã¼ã•Ö-xæ‘Ðß&²;ÝJð³Ÿÿ”§þü˜¥ÀÏþêG-ðŸ<ÿ¿ìÒ<@î~.€à~šFÿ“'Ÿ?þ¼Ö­üÓg'O\^?à‡þ|ñ0 „mêw·Ä–=L`mMŽéÜbWhZ‚¯8׆:޵lyÕ® fßön¬È ž%.î,À$Ý@©ø 4anvè|vA`évè¤èS€Æ -¡>ÖW–-ŽY¨¼uU̶iMít±y<®bMÄÕËÂDÕ‹á‹òá)Œ^¨ª°Ž3«}Èe ^Ñ)( `òCŸ«î-&J´&ñC¼uG¸5ÌWÈÐ@_½®U©uXgʨÕ“>YTÕÄqn;w~»™¢[Ö‹¬#ÚÍYGhÖRÏLß¾)ïýP~דûpˆ×öÿÝto9ÑyÚ0gju¹µáˆ@TÐ à<ÐÒ Þ§O(&V ½D*ˆN€Ó‹RQ¾¯½ôÝÛ‚ñ{íû×èpòò5ºÿûã…1 -ð€ðîO²˜ Œè£•«×®œ:þâ)šß|³ûŸtHô× ã;òßfoÞðSGÀ­Àñgˆ¤€ø¿8DàÙ˜¨öØlþ9ßߊÚ(³þôA:¼íby!0»^À<ç΃ÿ:êÑ3/ËfŒ™–ÜoÁÉt²ïÔš„<;wb»¤ÉîTå‹jÀÕMµº÷ê•ìB>;ø®ê!6²¦Z3<ÛWåLtªLW`0Q9å <Ï!Ä)‹/=éà‚ëQVÄÅäùÊó´À³#ŒhÃv¹bS~‚¿@#ŸmÎ~zðOU68·Ì©Ù+±õ®>iBåü’Vë\‹®ùª¡Ïÿw•$^cÀDOª¨®JëËÀyz^:àéþ³ñƒE´áÌlÍ‹19Ô6 äã¿ô™˜ŸÏ¯ç$¾@ŸøÑOÙ÷³ÿì§ŽökÐû§ÿùDZ»ó_ÏÿO& à._ûâç­5%GŸŸ”Sðÿ8,öo3`OÀ }éCÀü×;Á~7{˜2;i4æÎ.œ2¼~ÿ‚,Ü «‹m"Ça§¾‹éÅAÓ-úòªñ ÚÅF$l…û¨ˆK|jö . ˜ÜqÎÍè ʼnœ+Ä.Ï6ë•á#6S¢P¡ëà^¯ód¢Õ ‘uqU»¤fѰÎwŒ,h™§."P Ô„ò¨ •Ô)Œª£Äk$¹ÎD -è«,±~n W,kmuina…^‘Ö5¾wd¨«qÏDž§´´„Њ¦nà3cû ` ©rÄy€À - -ø¯…˜ÝôÝœ/`CpHM@Þƒð^å"¤‡;ï=:à 6yø8ü¾üÜ% @rGWÜcô$}¸+’4t¶\˜›œ]ÜÖ°Œ (ÁÜë•¿·ÅTÀD®ßê¤5"_— -Ø+pËÜßæÏ—VFâ`8u™vöD”€@ŸÀø6ò·Ûk:¥©@/€áþ'àç‰ýÏ ÕÛn^xuµø¥O´u -ºô› Þ)dLÓ Ð#ãòâÜÐÀÀ±cÇ*gäû B`(ë% ÝDþýÃÏ'جµ;µ‹ÈÐE(+¥g¢ Λ‘‡L‘p \'ÞS®Hª›N§`4è¼Z]N·v2§ùLLµÙLŒåz¢#¨ãiH›Vwˆ€—áòÇ"^Zû¼m–VI8ð#HÿÓp÷j ðŸ XøÙ?ØNàAtøâç_‚ÿ¥`!þ?{œÀé“Ï?lrýõ«á…^|<ž- X¿«ùiy{š~Æ%æèd.À\ô Ü€ŸL{ãfýu†ÖyÜûšüÞè À°éÀe‚%\5Ü¡N7^ESÓSè•› Q­ ¥W탳ÎWì¢×6VàŒ -[Y*ÆjÃLJ2I¡“óU-¥t@ÄV¥b–WT³Å¹Å¥E&8ÐÉ„ ”¬¤¸ŒUíV•ÄltŠõˆTÄú -- -lê ·ŸK ?›œËµ.Ù„ås8äÈ£úó¯mlJèêf› $º‘Äýé7Ïp~FP.-.qçú-9É¥AdA›|×§§; H3B*Ü;Âí„îIàÅs"ú ›çüÝ¿·éÆHN:°ÿð; ¢ôJ*#‰ýüW)7ð€#:¸ u=‹ Óy{qãD8_Çö|%Äïc·ÄÒS/¾x²o"ÀôÂèðö4À#^ß¶ë¾› êåL€Âÿ•˯Ëõ?uüÅ“W®^‹Þ:pšcåéÛÛ0¾ümvJŸzƒŽ€×®‰ÿ)ð¼G`©`Ëxà'Y $ª=¶[qû@¯¼új[mñ–êñçy1ßiáV­Û—:nÀŸ¨5æšBC^d÷rÔWÎ -ãçÍlá¢×E°53C¼53??C(¼jMw´(Þ¥˜Ö%7,-Ê£èl4oN\• -@¢‚ŠÌL©"Ê®˜*貟åµÁÌè´Î¢Óe:ÿ÷ççoÏûù~Å»£wBGä—<Ðo*/f”G6q.«G'ÀüII‹\ùQÑx,3 NëE§hg#mn‚ªD,_²§™)“ïßV5ûÍ®´˜­ Vëy§Óér9aÜ <WÕú‰pùç³ú˜áÏb¼Çüþ¿G+¼&`'f{'j†¬Qçt>&*MœÂ‘?ðwÏH@Ð_›îkLðG$ àzøL¼´þ7H¤ À÷˜û -àÏQX(i€ŸÿÌIƒ¿úYšûçG[à{(ñ½ï)£ßý]Zb€É~òyÁ_ßÂÿ³Ï?Îb; —_ gQª€F}M®óÂB›§ì./­J àÎëµ"¿_ìÝx½¼*§ˆ¡”fyiqvŽ&€õÕe%”0R‡û„ÌU‹ qÒ|g ¾éÎÌy~ b#œÅuætó_{ š¯…käU+< `QuÆnzÆ4°#x6Í‚Cæ˜/½B©äèjQ ö hª —¯]0ÄuZ¶u\ئÊQÞ°œlÈ€ ‘@¹ÄÏ,°ôJ¬\77–¦g  ŸÉ®‘.ZKºÏºÉ‹»Äf@z¿Éí¦×ž<ëUÄÖ’/Ü7WÎø}ù…\üz ïõáKîþT€DhèhE`àˤ -Ìûrt%²G2m@œ_"ÂÈ랟DµBDLc®=½¤ªH¤øB¨„=í`àæ­ô8.À£ùKþßò,ûD¾™Ø½Ë{+€¯õò•«WN¿€k»GóýêEÄy†üõ½,.ëK&þ¿ÿ߈QOð8þfñÿ©é¿7 Qí±ØÂ—ÛïÕøF[ª~ñiZo4òv›_ÿ¼+ðçàHlê´EÁFý°¸,ŸÍs: TÎ3HЫÙh»{çNWl³Çœ•¾n³yQP½Ý¹}§;ú/„6±‘††z#k±n·PéSÊùåvNëƒçø\eXR„ŒŠ. vEÚÅ\>Ù{a´é^ŒZoâ\<ûŸÂ´Þit>pE”$"âTÉ,¯ ˜Yöä! å˜)#œöIÑíÞÉ/ -÷Fó5â&p?Y¯NWòB•/_µšØÿdz³³‚ÿÐèdC%ªœ¼Ã ƒ33TÝ®éû{ðƒ¾Ãó7öU¥>i–ñ%Ê9Y&T·^£ }ö y­VkwHþŠ(:8ò¬ÿ Ù G.cÙ+–„U\žNÕ?®u¼üß‘eæ~Â~’!ˆ”€@RBûŸýð‡?üóÿyhÿ~Μÿ?þ3ùÿHõ—4ûÿ¯0ùÿLô­2 €D|ÑÿÙg>ñ쳟Ñoì0#ß‹ò%è[ ðúŸxrs““Óðs™'éy.€U ·¦Úû…¾Õ&ÛÎÖV6V– -z¦ðv0ž ¾VìFkƒmÑ¿UfÊB_o‘F褯>h•)!™Œ”Bƒ»üöµ•Å6}KHrˆÏ+ ¡;€#A•¾x ‚ó²ôÁz -‘i)UËN9¢$ôkå¸}_UБ1{ãT -ý°²$°¼47=M'E =Á’ŹiúéqË”D3„Òq‹xbá–•Å%UvA‚e»%Hö̽úˆ®ß][Vyºt]¬n’»ˆÏ®$@øßAôûÂù“ïÞ"€Ð?ˆ¿kê›þ²ûHw$6`Q ci¦ KùýÊžM²’Ö‹ÿ¡êC ßÿ¾æ1Ù^^ý‰1Ü•hp½÷²„ø½í­­€À¶/¥ ð虀¾mÖïnŽX\¹råòÕ+×®œ>.±qõÚ•2霢!±ß¯¾@t÷Û2UúÅ/_·x}Ç<ðqXi‰jíÀ–~í÷±¡~ñ„^ÕƒÕêpU¦Ã~+ÕÐÐ aî…C'Nœ¨Ž yòÉC‡þ—¡¡£ƒ¼˜hxxxdøDupˆ3ªz±ä|åE=çûÃ*®Z«QT4Ÿ;Ÿ!e/úì‰êpTd(*R”·íjœH¹(ÇÑÁ±QòЮ!ê« Ð…}šóx§L9rtàèáC‡PétÍ'ª/ ŽR‘*5t†2_6wdh¤:ø2ç˜.°÷’ç?;[·aºd‘ÔQPtIE ÜÖçÎ|w$ë(KùåDíok½(îä#L-Xç"ˆ¨Oä—ò¬¸}ûu5gêãEÑòeçSüåª<óeeÓU–< -Õ‘; ­æÅ¢}¢ø PEDP‘d³³·‹Û³D4^Q¥T³â½ù;Û4a„ëŸáïó][*}*yþ„íµ¾?«ÈÔþÏ-¦A߆p€" 6ZÓ{´¦cÛcç¢C$ôfJ#!ŒîZáiÿ»EŠâÝn§YJ”Bÿ Ýñ më[ ¸Ð‹üûí/-?ÿů¥@tˆÙü޽Àÿüψ°ûó?ûáþLøW -¥äÑ_üÇÿÿ®€»”€ÄvY/( з¾e@>5ý{É79þ¿w ¡e[\Z˜¦Ûíö¬ $nòP ½ìèƒ>Ñ unq‰‡í..(Í*þõÂÂt1‡X€Jì€oÃMÉ…ãàøÜbh€$Ø- o|%+ünúÕ³Åü9š†Æ¦CÀW”zBüV=íaK£¨j1§WÐ:$ë¸3–©FzÓKOÛ®¬/Á€d ‘°a1 =*huenºÙœãáÃËʟчºþå…Y  -&g\$ÁÃ-—él©D ¶Xâ¡Û €–&"m³úþÝõÅÙIÆ\Ò ¸€y÷溰ía}l…Gï¼_FúYåLD€¿#þoó>܇þ< ÐNR4L=î2À•ßÃÞûØÍ[_çi€½>}1)˜ ˆÀ£-Ñ~7³Ÿíyü€«1â@ø¿vQPFø~ÝM‰þzõEìêË<âàÆ7®½¡:§€Üÿ¯¦@€õEdÏð0Àgáÿ3Ÿø+[úeßÏšö7]öóüv£šS—ZìuìY.¥œJ!áO ˆW;^÷ƒï³£æ–¯ûãa†^ÔD=œIø75ÕßgnÓ.mÏÙx>*?tÜl×¾è)ˆ3}oýÌÙl¨!äöÆÓã×Ü&.í¦`l.æyw„ö -÷Ü·÷-/v<ëðtAíÈ 1–Hù¸ˆ{Ö“ž9OØÛQŠNµú®ünmÐc ¹ëS`CYNwö¸Èx·U‹ú—F_mð&>ßl6˜6ÀôSá¿d„L¥ò£ÁÄ:€DØäB£äÿ';ÏÍhµ.½¦2 ÚT‘Î'RE FÆ2ZõÉOžì&U—]#M -[OþÅ È?vÜèæx†/nöÿ3¯ü¯î Œ@ôd À–YüðÏ2ÆüøG¬ýð‡ú¤42âþÿËÀ¿ùÝßýÚ×¾ðyGJý€`º~ÊþÁ17HÿGG”ŒÉ€Y–Ó_‹ûÝ,¡e“`B·éé¹i­‹Q‚½ÕpòEJ­/kŸà6Ç A׌_G!Èý[T2VõYÇㆄ‚žÀ ðÕÝO ¤Ï -À¹BF0Ÿ|x™Q _q³Ù‚î2ô€;;9V82Ü(ðìUC-89!öe¢êÔ]ž8ÛaBƒe¢ðÔ 5ÔuAïê¦ -¦ÊRÙè‚~ŠÕ·]~D‰«ÏaQ^7Cwd!o4¦çUìÚ’¨ŽXY’{O‰ÂEªÈt-kœ£›ë6æ[XFt­,0 -³ßÂGÞ2Œ[}s}izrŽ'™¿}7ümáVþzpnÓ0PîQöåEuxaz[`ŸS+ Ü÷4‚:H± K*ˆù‡`¶þ‰W–æŠY7HŒÐ^ñx‹À)&èߥÀMÂÿ‘j/ †—^ßÛ#À("òÜŸa& éi€èPJ]G˜óZ0û¯7Þ¼ñ†„DŠ”ó¼~šN€t - ß®ÿÂÃ=«?îx(ðãÀ¯lÆÎþ&‚NÐ|›ZEµÚï 1G G÷¢Ú²‹0pl@àLEHõ|ÀÙy±HVœÈÂc×¹>+2*;Щ4¶”黵ÜB)tQ}Ú”i=ªS3<1˜ tˆé°ÌqS·¾täÎð£ÜÛ@劾`]9")ÎiaüËx0ëdzÙj•“©–C’EúнÅ`6Ñ*\‘”"¬ñrµþr£ÞøÒÐÐ ÚNŒ  é}bè‡ÝÞãýUáú¹pú!ÿüuãýþŒÅÇÎ#x°§Êó Ê&ð_«eÌ·Ü{e„a¸kXœ¬€ø"ž/Õä[£È4wv À^®¾\­:À0êõ&pêÿ3¨ÿÀgô!ðÒ¿ˆøÝÔ -€ˆGa(€°À>/ºüa?þû§ÁÐÿOü—øÖ×¾øà#ú¤_ûóxú‰à¢ÿ¢gòûýñPg@+€Äú]-Q~#0·0Ýn¶ÝÀP@á O—öl±VüŸnÏ-.»¼•¥U‰‚éö¬ÅAƒè1FE?áUP¿øÃ"§Y͆á/Y;g·¶ iû«Ë¬ùi08ÜhÜ{éŽ@eèð@cšnöHç˜u¢ˆLhS·v™›cº % %µ°DQiRpœnªfhœYq~CõR­Bð€Aø¯TìApYvåí½/L޵ç–TÜø…)Ý6ÓõK -pK\¦óOg±Ç<×&Lp‡ô<p›ÙEî3‚üâ°˜»¶8Û^X¢Gj«mGî ÒCwCÞHÖ{ÐÍÂ-˜lšò å±WÒAgóä¦@R f±@.¤&¾û*Ò;ì¢ëZœÓµ ĈN¡y€öz%xïm7oÝp hð÷üžˆ9pëæ# Úûó1

¯Åÿø'ÀÄüË©´Ëø§€ÖØRÀ¨ßÝZö2Q}nzºùj>7-4ÙÁÁx,€XçnÿôyËóé9ưÓm`Y§hmÚO¨“À{õðÃv·—нcó8ÒúÆïŠX]R¾±s@(YÇaW´SÈ]ï­óŸ¹f£6D'@š)9(±ÎZ_!ß59Ýt±øA/ÓÓ©NJ@ã…n À)ÔŒÂâµeŒaÔ@_ä#Âq“½j¿´L;ƒ^¤Ö½Ðí’`jOŽÕuCˆŸ¬èfÌv$æÚI‹+xú*E*Ì"«¢ó -†grÛ¶Yr’KÃ™× ºz*`=6õ–Î@AävÛY7²a4×6ü.ƒüòÑÍ»’´ °C»L%ì-‰²$© ,$EÈ_%[†øn-ÎÍÎ.¯BýûÊD‡YîiAï}LÀ€S¯¿E@è7ûC”úÜŒÕݬ¤éø÷Þ¯;@ @¾¿ã¢~D¼J@À¾¶µô"=ôó…Ðz_À³¼¡"`ã{ëÏÇ_¦¥¾ÕÛ €ìo;B¶Ö/õj§®½ °·R$¢„ÙG=[xêØ@ýcëÏZ˜<8åù3úBVêá»G Àè”Ik4FÌÝ2­t‚k4.šªóJCu„÷[f/U¦ó>RŽÞi㊨H;m»M!À™ÊÓÇŽ TÎ*ceˆ¸PEj!0Þ[ì#ê/CèD -ê-LGáh‰ÈM ÷æ‡ôÕpuÝÆÅ¹Éöâªr¤XT`OKxÞÛ< -€gñ4à^ øï.¶oÀž -°ë+ÈíåóîàFm\»vúÅg_¾z‡ìŒ(-úëUFâé‚^0í°–Ž¼¸#pùô‹Ïð‡ðlŸø„#ŸxöqàÿŽØ%¼ZÐ,^2ãE­ÚiÔ(;§&D:¥*Ñ+Ïð„v ;R©àTÃ?ˆ ykXhƒ—¸ž6öjŒKQ¨¸är6F:e - mS¼YùêgëË"æ…¨ˆh­RnU$VUÝc½l=£¥#6rÄÄÀÀÓg…s -ørå«åÜÿt3°µ¦Z·JŽN𤺠-‹ زz9¯¿z8Ò§ãyw÷WÚm`û¦Hévo÷ÿ{ÀPÞ¨þy`&xC™©2ô|é*«}@Æø@T˜îÿˆ1z§°´j­bæ½ÿÿù?pçôWöô4­j!›ú˜Èï àó}1™D€ð?µëÿÁ22@àÿž»û‡}ÏÁ7ø‡qb¬}ëkâÿ~“ÀÇ?¢ŸÞ6ƒÐú‘ -À³ÿ"pø­âÄdœû£›ßÞ6'ˆÍζÇ2Ñ|V‚M €mŽö×¹éWÇšÓ³Óâ×ôœ  /X”°np¯áRDõ[míUþ&6š`EÞ¶²u u™“¡ ¶liÍôÕ–1.|Џî@@Ò$b¿xÈYÂòªãòªümžÔÈAlòÖDZ ]yÒeaÙ­KR4uhß"úCG•5+¾†$Jt -íÿ‹ ¹iiŸ¦ÄêX>' ‹øB?wF÷#kTŽ 6¨§Œ¾¬ª–f•vº£Sè|¹o@µly­¯Ü>y V“Ê1x’ê¸ÿ—Þœ—ï¯/àYÆ:'³yžëwi?ˆ$a I­+'·òoøæÿ»ZøžÄTÀ+½¶ûX‚÷>öŽ;ÔŸ®¿2s`@æ&ß? €•u‚´8ƒ},áyo»õÖ«¿uòEyÓoõ÷Kiäqc}>ÿ¶× ƒÛ% ¢DN>{üô•^ …þ# ,úZz»üòüµˆÀu" t€>€e€à þoûg ½|Ÿ}&Qí±Ø Èþ65%Ä3sM@&/ŠFÇ0Lä3óìêL,™˜™ÕÏÈ®TŽ5V‰®‹AãEk&/²áFG' ¾>)Î1ü¥2DÕÖ3*Ë"í8?[¯Év•ÝÙ3õ¡,UDÂd¾°q^pÒ+=+ÚÀÍð©# -Í ÷  OÔÒ rìéóãBùÔ ó æy—‰Rï;¢*I.ñL øNs¤­¼/hu<ŸŠÖs[–é<•JC‡*¦åàžó.‰Ó&õyøQeeÌ"Ðïÿ—!‹mÖ`ðT@ŽÓ7åÓ»ˆÝûÐ3Ãû·™/¡"™¡‚èµ¹ëÀü¿ûw¥˜Ÿ¯½L@Šìb/¹ ð¯øo}KR˜'¾'³ÐfúìÓî ùeôÀëÂ?ügéD@?žà7ý8ôYýñ¢5 ÎŒ¨€OÞÝh²ßÇÄ÷…YyóMF,ÌÑåŸgÖz<€<{}/vÄ8¹þ ò~Ý]>,‰ÐÀ£j‰€o o„ ˜§ßZ@U)}ðÿég°âåóMç?í–Û¼]–í¼ ŸÒ(³í1‰ò#uF*è»êä%ÊP-UÝÅü~ &(`~À‹Ûe*¯ˆ@åE†åSÔÒ1 Êv‚ìô—5kZ( bÉØÃ@€Mw ”ÐБß~ÕisÓ"øŸ2—Ï.­’ ‡ˆD ö2S{?{ë­¯Ó/ï4ϰÅÿ2ÀÔ»{YùKß?Þf¾{”«)p9 z^¹zåõ^`¿§Êà§VDˆ0ÐîĽ@ú“ÆúçJT{l¶„©}¬;ßí0m«(þâƒÛ  oŽwÛùçÅ|Wøévf:Ýî{10þ¢@ÕdÞ½ºDÀçŽ5òŸ'ÌòzVd‘FÖéüqᙳ"o^”ït±è¾?Ó¹óVLñØž©â½î«UOóÇ‚b~¾3ïYý% ºå\VÍÚ⸠^tçuäÎ ñðüÙ˜õÎÿõÁL»ùB™ˆón«h™Ëv‡ŠŒwn3¤_°«Ó³°R©œ=?‘iQä󢿅ÈÌ|×R¡x—Öðîí.³HL·ßû€fý™¼ÚV%˜5 ó¾tÒNË躈‚ÑKvޏÿ9ûýýtNk´¸4à ȷéÿ—]$Ìi:A -€}²Lÿ2à2¶úTt­üƒì4•AƒÐwûF¨>Z¦¦Àÿ¿ŸÿwzÙ¤¾ð(@À ¾õ;_Ó«襡bÅË-Ó9P‹­o)R|ü ^üÙ›âŽ$'ácOìÆA¾÷‰ð;”–`¿›%´ìaBÑââl.ЖG;·H?"ébàR¿ta¡3Í(@§]œ^]iI¹»súžÌ“Óöµm)àÔGzXkŸVDiµгæÃ:É=çdÂ/ÊÄ÷.Z"hð(€Ig%ÈåRˆ&,2€Þÿ$–ѹ$¤d—!Ì%-(T{t"rCÕ 3¿O;‚ޏÊÚ¡¼ cp²„Ž%)¥ yAgÝ&óó0t‡f‹ÙÙŽ¶T÷iyE‡iG!Š¢Û<7]´'ÛJ@¸‚ºÝ@x¿ÑÛ_ˆ×bUÒƒ)„™¼ˆGÒŸ8Þ1!鷩γîÃqÿ®TÐ!w‰ D¨1 l렋чg ³ê”äõ "0 %@Ìô‡pëÈÊÊ‚”éÀ)û[ÂóÞ&àg]¶€þ1Ð;€”FMk»à.ßÛ Ì»@iDž¡ €¥ßï%ëúì: -ÀÁ/¬nH¼qúÅ“) ­¾Ú70«ð;Í: Qí±ØÒÈî}ŒÉóN0…ÞhctTŸ—#L´724¨]¢MUûªÚ]9Qb>F¼=ò¤ìÈ“GaÀº'É«UG^Չɘ>ð}”bdÔV«±ᑑ/ÄÌTa¤>TN¨DCCG«ƒƒ'FNœÐÂQïÑšP©:FEtdèD9[_õåAUZEWÇF«ªiup¤:JE”³ ýìÏ.xèÈ‘C‡>:<¢ŠŒŽ ;‹^ÐBÉtm##º#ªŠÖtåÜ’—Gº†ŒñTí}a S g^ûÖ’8ÿxá –FnòúÁ³"vþÿûýž]€×< §p–N þJä"°{?€$À."@B#¤G'Æ/(_wxD ˜þ¤P@Íýñü¤Wz?÷ÒKÑ - -€&ˆÿ®^=®o·¾ÝV ßbS²oÂÿ2 ¦xâ#Oz ŸL? Xìè—=Pç>ÂÀÐÞ†? -`ÇD6y²¼{·…Ÿ -ëÚÓFVp éhãÄÄZ-cúý»(ÛqèíKÃ\ó”VvíÀîaê‚]Ažýq€üE_AèRèÜÜd4Ô&çè´§S 'ÊT¹£r¾•Ù,ιȮ*¦BH§×*ôW‚+Q’• |çÐêê¢ÈG- |ðr KºÖ¼ñj®K%•O& ŽTµ¹1èéYWc‰ÛÁ¥á÷ þ¾sst˜œ^èZ1<¬’“\Ì„ñç×VižÑ=ÄýO]h´¸Ï"5¬‡ÞÄø‰ø ûÖ›Žï+©;HʇÝÊ“Yyà¬îÒºÏc^PuœÛ½{1Aÿ” k´(XŽŽØÇž÷¶›7o\s€‡û·"ià€ÙÍdþ8󧽈1VaW®\Ñòò‹½Àæÿ耒ù~•£?õ° Àoõf,#—O¶lÞ£}o—?o[¢Úc;°u»KxW=† NÈ·o4˜ÑNîu³Ùhj_½ÑÈ<ý“ï4ÆÆÆY“©øêGõ®Ô«Ÿm‡úȉf»)wLîyç½6]Ü„´6Úì¼/š ímÍ,Ÿl´qåµ·Ó™­6b|£®÷ç†Ä¯Wš]“!}T‘ædT‘‚5³IœxeïmTncäUíkŒŽ¨ž@æ9?{@X¬VªÃ‡†„áñ¢ÙÐQpõT$kSnÁSiP`8ŸŠÓå“Ny5Fšm—&Â3´þýënqÚ”7„ÙQ’_+â4]ÎæÈ†ñfv{v+þßïÿó´ŸÔ`{@«fP±ǶúXTÆÝ§1åÛ3çˆMÐ!ÐI1%T)´ÐòÐDã‰Çz}œuoÓðÒo–Í_û×°ÛG H”ÖÃ~Ø×8ò¯üÔxøY°­“K¦ßóÛ€2ðÄ.MNe±àÕ´½e)¿Ý,¡e/¹æ¦'µ¬-ü˳íŠXÂê ÚìýþTœÿ9üÜ®.éXWš`aº©ÿž´º»uàO1?H³±BY•ZÀÌåJ¦Sí0 ›B>}*ÁœU -7:Ö&g™ˆˆ^†þ~ãs«ªLÄã&€bÂW‘,4b¹vû©Âª¶T•4¥]G¦6pCb.bÕÍäNµ•óÂt{¬¡ŽÊÉÉv üÝ}B÷ÊaßUJÔ%ª$•áÁÜô´òJ›J´Ãöm/ñ÷l½·¹º¬]Ðú]0íðB¶ß^eËQ~¿_ð~‰dÆ;‚ƒb|-â4^úáÁ­Ñ"@1N­q9ûÂ3óã͇î^—9à“w7з·áôÏNgµ†þû»[›Èäâ—xß¡qÛ ³àkZt˳Úhk1Ö¨Mæ3L¤­;xtÖI÷1¡ßÉމßCt° ó-p±EÊîC'Çj•£‡Ör©í†ý>žÊƒ¦s³æ~tÊs|ž®vª™¡ ~ãú‡~ð1zàÊ®w•ã 4Žc «òçW»d-Å>)}¡÷l‡ç((õÜ\>™—Ý!ÄiF j}•Ew¬£*ÎÍN6›mtk¥µ¶Û\bdi¸Ãà»wWç¦çWÖ×ìý‡£íÀ¿¹Î|Õ£òÜy408—ˆÃ¸÷|éxo÷ýû´1Ð2ƒhx`G^gkÏæ]í àlÐrñ7ïnèuW:D@Zk6Ÿ^\¥›"ɬö1Ãy?“¸zêÅã/¦cø„EÈzåQæà}jH¾² i×P§_|æøéÓ½}ˆôznñ¿Àá¿ñ¦iзޗwlõà/wWKT{l¶•„ø½m¤‘ßÞ¢ƒühûáÍÁ*£ùí9 /ãïf¼:ÔÎ^qÏpx`@à¬`U5 O}0ƒWÊ °˜'²Âöšyµ1Ó*8[“Û)& m’ Ðë\=ëÐï|]Ì‚þŸ:|øð@µÞÌjƒ¦+Bþ粼˚ÌÛ“Ù˜BHå¨®íÆ !ˆÆèJMÌ© Óžsîg©Ú£ʟ˜à9¬Ð}!0šu›Ò'^mH˜ð‘5Q¾×„ðϾ2¨®ztg¨h‰~Ùa½Î9söLâÿøøÅ<›yDû¿VÅÿ² À%UÒo]Ïj'5(™ê¸K `{?™ÎÙMàùk'åq(¬7Çþ=ùÜ~{a @€f€ßüBôØf¦?ß2ÿwJê÷¾mI,Ä)=ûÂ~s+ Š; ŸL+é¡ß swcÌÞÞæÞk4±7šôê“Ç/ÄÒ¾=ÇŒzB™–³…’Lê‰þqô… ðM6ÖÔMI‡¶Z`jñ j -|¿7g¡n4ÈDZQN±(i‹s”Â`Ñás±['²GGç$ªÃGÔš¦'ü•û[ÅÏ2SÑ’0Ì´…2Ÿ­Z†|bMi‘~«lW(ÕVëÊ‹Ô`i…‚d†«©Åâât;›ÌñF™ÉbqAÿÏ«±ºþråÝÏ"B>BE –$`Âáï0WÀ$æ -FRj±Ý#· ®ò¹»¶² |W×W×ÝŸX|†âb´°-\8 ÷ ô雀–¸ûô)ð†}{ºj';hЇ.NËp>Æ DñþºÏ$¿:@`b}óîÚó"3?ÑòšÛ’Y/ìñJx~¤Ù­ïEßI€¼ø¿O@@$ô‡Áù¾]þ.Ÿ|öø)G„}i€€¾€^ ˆì§:”ùÆ©]#Iøo÷7 ¨öØl·ýXÚý¬:;Øìøà"j]?a|W³M *` ¸©{Þž/{×Ù§“8#ÌT³êP£Z¯53zꛓàÑþ¤\ìèÿr£ð`;°Ÿx§ýhöåóõV5;ÒÈÏ3J`àðá>qx ÒhTU9ØŸjçÑøÍZUE”3ê‘£ðœe>BõµA:pqq Öb¢¬úäÀÙ3O×Î_°WÍAÔˆ Àòv³9Òîr©ìQncF>vb°Y„Úaº˜ åõh+Ïg²ó<器]08Rø×Rð?s†6ø/ÿâ¡öÿÒÆEõÄwÐ ~s*7.ø_•p!þ°3°£À—¸bOÌüÿù€ -°¼™üiÅöï%Ã%/s)‚à¿}û-<q€çÙ°2Ønå9œý›¿ùƒS9²s~’“°[賈ÑLg†¥Üv³„–=M ƒìíIæö£/€'ø}%¦''³Fex`@^x£= rçÚcÕ¡ájµÖ“SÌ `Oßzë<û÷€\TåNÔ = m¦a¬T…Š>9®|,”¡@½6üÉCGkc€Ëå—ʶû­ƒ*ЈåÀð92ï¢:\*—‚O¤‡ï%b VT,ð®ÔdO5äÆÕªnÄsSÅvcàÈÑáŠnD£Ik‰JXÃïjR{䀪"qÀéM1“X€nôôK í™îxúw7üØ$´¯€ÄþåÏ›óò“O?4À}ÂüÚÅqŽ21²‚>l; aΗŨ”môo˜mO/­2ÑPªªg -Üëc8?Ò"ªÿ–€Ðçg9ðÏbKìÙØ ßo=ú_¹r GÿòÕ«§= -àº$.?ÏÖâÚ”$Øm€ˆßÇyíÓ/–ÚŠx€þºiçã¯5þ¢wZ¢Úc;°¡ým¤ygx8/Ÿe+P«?Û(‚!bŠÜn8‘çµðñ -¬9n`à©cO?M”Yþtã³zµVT2Doò2üsÓkc¼]Íî½YưùÔMŽŠ<ŸI=䇎VëGäü”ŸæÃ•lDØMo¹—gùh•~ÆìgË6ªt¼Ñjy¡™Õµ!· À1+•$טù -UÙ/=Yùßt•‚¢l„KBè4*M5G:ù`CõŽm-yöÂP›a²ÒÙæå+pÉÆ'.Mt¦&ZÀ²Þ"²é6»`ˆ‡ÿß|Tû?'–À]t-wT]Î.‡ÔD ’Ð@vñb¿ˆ’²‹úwÐúÅ/ôŒv*€‡Ý,Bh€ß´m造¹yîïDÿ°Xý‚aŸ¾?ÿ…Ï>¢x‰G¦B0óÛÿH8°‹à°Šü÷7ȈD^»ZBË&0=7Ù¨TjlBˆaÈ&VdŸ•ûߨK>|h Þ„ö‹ ͆ÁÀpµÞhæ:¯Ä’‹wf,®4ZÂ`£2±T¹&3Xçæð°ñ–!gORšÊ¥X̵›õÊÐáCŸ¬Œ‰ë–'.)Ê€3O'\`Þl;Ÿ.”ÁºäÑ5Š[ ý"]ó8SµaÊÑ&L•Ùr…vþ©µ*')Ò«T†ŽºC"‡çšUýM=j0IèA;9 )@måû[HHgMÚ'¸ËR;lc»1úŽ˜ºh½¹ªl–˜\P…æq„ó à³Ox†ï÷àÿƒrˆ÷w-”D_J‹û?ï´)H(H* Îq€åëŒÐ?×äôÒ„TŸ=>&å#¬ô›o]»ü[Ï É¿G/@·¤nNcEÝ7½±«õÆø=d½€œ±^¾þÕË§Ž»€›Ü€y‚z&àóÞf.ŸEÀ_ëxÝ-Dü4ÀÔ ПîãÀ?Šå탼hzo ö¨€5>ÝhËÛ­ÖĶq*ŽÆHQ’Jlyê)ý¸1€¬úÊðP£.PLäp¸"e!ðį=ñÄ@ehp ìFE”Š@þD>U«õ¦øÃÈ%@eó£ÍFV;q[ c*¹Ä*À'ž‡ÿg+gêOT*õóÌzDÝŒ_®Ÿ&²©l¤Ómž™ÔV²<“ÿO@Ä©¹÷ñud”ùøùq- 6OïQy©Ùÿ<‘Ì%Á¹Ýã½ö:3lïÿ¯Úô]Ïw´í@9€j…¬)gÜŠ<ÜË¥J %i™¯‘ÿ"þ·Ú²Kù%ðß²p'€­ €7ÍÿC/9 -`“û¾3°# €¥¥…|Àäü‹þÂÿ6@ŠÄïDúEØ2óÞïäü£’±²-Cré3qf?“×O„]`2o3€ôÒ‚uQO@ÜCo  ×'çæ -›« Wjµj#sà 3›`JxÐ*Þx_èÀlBñÙ.šÂq•±=]è´1‡Œ9aFÔ//Ñ"áò3>\+:ª Yî"Xä"@O…œP¼û3  ¨W$>K'¹ïñªÖÐ)Ú‡îÑV—¤Ž^¤ > Eíéötsl¬V¯UÇÚ©íaÉ áZcLrWp' - ¸BÑ:m¡þuîä«Lžäj Øa ·¥Áy!÷zmYºˆ¡ÈÌ=bµ+T–i]i¥Üñü8ü Ûˆw)»”&Å>D8À'Z ÜPÀG›L*ð}€8ÒPéž X‹õÕFÌ.ò4@'QùÈ€=-Ñò!»nü—€7^?õ"àÛÿÖãÿ°ï Æ^Ûÿ7n˜õ»›;ûñ! »r-J»z]{Ù¾’NGáüGã;ácéϧ_ú«¤@/à÷6KT{l6ÿ”ïk#Y'/ÆÝaÿ"Ïk7>mìÖjuñ.E¨keÕS[ˆ9_‰&0i†zµ^G0¤,p¦Ì¡˜hŠªç¹±tØ;OܪÉÎ7†ŽT+•cÇô‰_8Ô0v•s}ÌMØD«Ñø~dbƒŠaRyã…2ÐRMØ+ñâ%!€³õ3•WSµ™Œ'U„eÀY‘ óàÿꈛüéÿ—7O e½Šˆ¯Rñ)iÍñÊx„îµýOð?s&¿à"¯ýÿ^û¿nR¿ÿïkqޤö,—TOèÿ^i2ÀÂçì× T²$Ðúv‰²˜`›EÀ¥‰K4øûãÖÛ8ôœ€ žÌ®¼/œ{ëY$e™LÉØFH0ÍàV'@L¿Û"úN? ¥1ù/³…Òß-° ÀÉ·ÜÈ´'kò_Çš“ÍIfõ±€– ³³òœõ#¯t“ÍæXcŒá2“œÃñ„¥Æh&À7û -Á^( WX_ksÀ‚R“[„ljצÖ/Ku° - µ†Ñ[ : Ó³ù$ ÖUX)0Q±“ÕÂbW‹%g?ßåž³7ê¡%騤Ø|–tzHyO· fE¤ÍŸg'Ì…îÃX£îÁAî@‘ Ÿ*éÞYh‰Ò*˜@P·K -@÷<÷­ï·ÄÈ>»+°‚ú•YOn¸FЂúf5ƒõ¹£Bø&ÜvxÿÃ{îÓ­On=Ôr•#žü% ñ@oGÈLFÀ-J¡Ã¬šì›Ò40ÀÆÆÚ -}¦×9î3ØÛLÌýŒH¾â&€¾!úÞêxíMºà?êeÔïn0úïÙÕ+§O?yEYJ?ÈQúìbÉõ÷’… -½vêä©7¢reàõr€¾ÔþÓî³DµÇv`󸾯#÷ÄÍAýyƒ¼9öéF~˜ÿxÕxÆâLѬ®¹=_|«Ÿ­„'sk*ÊâëZ“`#?¹žñA†úxýH=×êЕY­ |ò‰Ã‡Ÿ¬5»§j¤š`l¬+wZsG<í+ûé1‚p°9–5N¸ `†an6]‚V£@v¨2pŒ>€©ªˆSÕCbäé•fUÞyìÈG†Æðª£ÛÌÀ5r™½ç!œ§c øöÜÙ³[ø× àÂõ½Íÿ/ÛÿKõÁ½u€^Ð¥Ìß¹£Óu4bäIŒ‡c;ç Pç–X°d"àžèqåÂ"‘ÌÏ1–ØÕÄX·ôGÿeŸOû0íì±ÎCy“¾gœ÷ùßôÇÿƒÿiئß~ðú¤Ÿ„žÅðOaï)wKDFaö6JûØA³ÚÉ‹­Tcͱé\»ä­m|XB…ج˜ê¶™Ëo•‡­d“m‘vr’¸$€`gÂbÂ'„ï/€âP:‰Ð -g½¦#‚5¼–×ï> «ƒ¸NÆÓ €ÃG†”ät´úSÝ Õ¢=;‘â¹HGÞÔ€–rS-–Œ|*€tpÅý„ðש´ö¤Z¢´‡î…z7uõ¹nUÑÝÐmiK·EÖ™ëEÑÕHµÒm¤ù`¬ÖÔjÜUF÷›é»eâ´°J×ú͵%e5·²²æ™øÅÑ·¸,w?†ÿÓšoÖåŒã§ƒ¿v|(l+¸û o" bòAmníuÀ! CqŒ ðß@lnòŒäÕw”ÛDìcàr?#`píÆ·S'À­QDn0ê‹ô»ZBý®Âÿ5ðÎÌ@*íäå«Êv[ oÀÃæRJüûûÍ7Ný?/§g¾ü¿üÕÓ'cÙe`KT{l¶ÔÈ¿d·'²‹³ù‰Az,ympìbIgc¬Ü:yõ½)Á“èˆ|r+Pͪƒ‚ïxÄò3uHÜjÝæ)YÖ©6 -F²“-d€Ê&êG2|Ò¢1¨œä·~â㕲µ^EVw³F—Ì©g²?¬ÑÈŠ—«Ò/#1§`yH€VÁ.~rÑ!ªäÉÎ‡Š˜Èdž -HÜn Ž4šYóvóZLT„zˆ®ñüàš-›ÖÇõ:þ¬œÿÿ©ÙªíðÿÅÿ‹}Õ§ŠÎ¯×àµ4`¢{çŽraÔcêÈ8ŸJ?†‡cªg¯ …¤ÒLv™ÛÜr’uPÜ–9LIŒKóE$ ¦xΓl™@ÿAùs6˜¾‹¥ý‘‚óè ïØ©Œc¨%© };S™Þé'!™~1zXêåm[Ìä3K³†Hv€&¶7†‡ôŸjÄ'ṗYoeâ*À'ÈòÉ<ÎPœRÈõíDJQO8%n× q;¬þÖ -t•,ð¾õ’à€ä:oš°:}ùtLЭ¹b²Q @#SuÚ®—¨OÉ”Òf]sU½-Ì6§WÁ|9 ¨÷•Ζ=s‰ £¦?ƒpW“Jºj¬UÕ˜F]©4“Lð§Oß¤Ê -ô³¯˜&LŠ.xú?ã mèFÑŽR«ê&û|êߥɹï]ñâ¯u%––—ñ»µ-I Lt଀ž•»x\€6¢W?n;Íï<÷Гwžž}dê%(üˆ É´IÁéôîB?úƒ ‰×WV—( š( ¢>{/”ûÚ[o]§UþÔUžÏ(í-GÌØkonùû¿Júk¹ó ýc­?ðâék×®kWD^‡ý1À€þO,ñùKôS%juêT@ µð,ãß±»8ÿ¶DµÇv`K„ßÇFqg<y«ygvd°™Óñv$׌ž˜¸=^û@Ôu¬žzêðSæ¿ør–¹ŠNñòEÖ¡ Ü"ßš™)n+ƒ¼Z“ãKV¶ 2 ûløH‚T%E¦*OzZÄÃSÀ y,@^/¦ÊŠøÔóð†â…âN1¿T‘˜ Çæ|Ñs‡Ùò 듈ȧΛÈ¡úݦ*Rt›ƒ£ÚãÙ~¶±ŒÉâ3fܪ|ž1$«×¿ü>{ö\‰žz@)æÿ®íÿ¥Ùÿ`"§.ºQ9Ó%£hKÉÝ@ÅDØbŸ~_*[ÎÔSl?jCÀt/zE¿E2ú=YÒúï-1O½ð!ìÿ‹ä°ý‹d)ÆÖ¶© "‡(Æ’ƒÒ(4"á#ÈÒOBivöý†ÿF~ìèy•:¢gÉ·ÜÃðdófmx Zc<ŸH%\ ZsÅà'^-Àk©c¢”>y» Íôñp$ ´Wi;Œú -˜)vk’NãZp* /,(g¸­ssr·µæíÚ{6"Ã[Ü„ôâe³Q>úÉC‡‡kMUF…ň {úJ¤Šæ\ÇÍn6U!ñi«b$!=@§Nô|ÔÉ€šÆâZ‹>Ó RpNôÉÌñGVÎİÀ›º òÿ æû­»£ú08ƒüºsÜAe*‘ÐÎÇ•*kRWÁLÿa“Ýž —Dä¡o¬-Nç ‹«««k››ëž @¾¼‰­Zǧù!l - ðXs;<ü´î/A]ªÀ[òí-hÝç ïÝîS¬Ö9IÅhø”ÿ˜izve]*…Dt´ØØË.÷¶[7®»UþÚ[Ñ`«À­›7Pf,éw³’þ[òÿYÿ§wD®Ï_æJŸrÙ+;©€k7®µ_Dàõ2þ¶õ—Û§ž9ôL| €_Ùá÷±‘†¸›7³Ùì…F»ZM´“sà…1⢛ºÌK'µ2:8&¸™¬ÈFßkWÌDjSÖRÉõ™4í*=ëM}Œ^ì[Vd6¬h|¶ñÊ¡#ŸSƯP‘1s ÷š8þøD§Yÿ ŸµUH¦:ÆYÉŠbl²[ŒÅ”Ãî€ ®Oœ?¯ª×Ïže€OIø¬(p{=¦²Â0;óvc°9íj5 Vh”’¨g"-ðO[ÊþüÄÙ/[ ðÈÁ§Ÿ®¥-B8U TÙ}ÛÿóÜüßêà“õžO¦,(#ZMý(öîPíµœ©W’ÐÝW~œí€÷üý¦}fdðs‹¢øg4lëZDrS Æ›úi%¶J{(ðÀ|ÿÞìC)Â÷éÇ!L|Ç?yÿ±ºÕ`·@ùRn¸ëû™ÀÕ¬IíJx[ µ?+rü2ç¸?^¯ÙÅHIø€1îiiàw/NÀRðÔ·ò’¯uÌÔÂ1o=á «¬`œë€sa2“Öœl3`àèá'Ô2CV$æìd‚¸jH/<ñvsŒ~ -¹ÒÈõVu•‘E‚wq_[Ò4à]G”‚Fi“ÂÏõw%¦˜#WÂe´§pF²‚þ±Òž|Z÷€77Œ‘Ü'jÁ½Ó^nMj¥Ñà’tQy®}ˆ¨òeööІ¬ërµ––y -ÿÆÚ 'ˆ‡Ñ÷å¿Cp:ÿu­P‚èÞÏt % Tú˜ðzº°¢m: -p²G9:•^€ln¬­,-/êbÖÄõˆÐ°3÷³[×ßðèðçëf_€@Ðw—·oÜ?ô.#L`/ÿêå^À³D€#a§Oõðïx€—.ÆŸTäkÛ€²@\>3ö"»Ú¡DµÇv`K„ßÇFJNä‘Ý"1µ<Þ°­¼Ú›1¨^O@TSë‚[1Ü-Få¿C±¤Z-m¶ä´Nd“tTªG[>¤l»ÎÚÓCŸ®ç "Ôæ?±w;Û²ÎÅFàlu:Â÷Êä¶äÆH7—p-$2]š€‡ñ©ºgI¶T"®±‹¹G;ÊÆ/ÎN¾0ØŽi äðÇ ¡kDïu–¡…ña&ùËZ—DÞ³gž>+àžÑ/²ù?I7øÿpûßPûÿ‰ÿ© @ëÒkœ7qibžçé*|wS Æ,„Rgøýû÷ pFËÅíÛþç—YÙæ‚û ã‹ó±±Rá4¼j§€ùo_žÀ¡‡t–öhW,·"œF¶‡>B™`Ñá·ºeÛ€€OD"ñÁúHüg3 †Ùã%^’­200TkàÐÙ©‡e8ª†7Ìø¹HXz»ýŸMó| -xrðµªÏ䬇ãù íÀ´) ÓÕ `fÜäUûl%™q´YŸ”öd½6$ðÄ¡Úe‰Ú’ A -e¤…TÂØ˜ôˆ¾kµ±Œ:²×UV•hØP–:‰jE6:h7ߪÀ—a¡"mÏ;tm©é4„€i­ëÑ•$çFø2uûx§â©w¶=9æiš;hËë5œÿ° lÏ T¼ëïn,J¶0“ñêZn†oÜ|øÎ&-ÿÚç€}wÜs&C‚"ú‡L€áùþ:(Á Bk]'r¾ tïþ]B i¸»±F€I’™tq‘‰‰Ü=}˜´ÁË}í£Ž÷ €­6€·Ü`ÆÊÞôÀ]ßBü8ÿ°‰ÿh€+Zã‘§/kͳ¸€«xþ¥pÔËÒ6-ñË7/#>ÊÀü¿\öp ¯TþÂ÷–—VÕÛÇÚíkóÕ1"€#Ï;'<ŽLàþwr°ëâ‹vy5&õÃÁ¬ÄL€•óEv6keãù|Æìûï) 9¯Ž\Š6v@›‘kÒ„ö‰²³›qúñ΂+•˜_4®µšÊŠÜÎê­þö`e3ªz1ÓjÍü@"f¤Cä]<#ð}1÷¿ÕëgDÀú!Ê;—KÏr«"òbÄÿ”¯®£ˆéÿb»ñp@ -@æ5yýä÷ë¾<õô±#‡ÊÙ§;Änþÿ.íÿªpðÕâ.€-è¯Ý]7–+7þGk´qØê¿J?€JåБW^yEÿœ2žpp‘yû“•ó ÐChíŸ €%¾4ó?"ý^¾,Øoc«—ÎÛøgå³Ãõç©@|÷"&·"ÂŒ|S¿Ä?Z ”a®yÏùYÓÊ6s÷—¼Ø±šäÜ@µVÓÿò±Ihej™`‰fÒ ´Ðö/ÚÑ÷­Ýį…w€¢&ºW>8€q ë.²Ù›v+Ó_zÀ»|\€Ö¿ *.øÄáê-vª•†Ä0ßÙH¹0ÆN:@@+—Z³nÁÐnz—ôH¹SqïfK9ð¤>-µá+àm“„̈r̪~ª¬ör_Yaá\$–ÈDërþ]’+å<&õÒ½”^Èj•Z1 ª2" IKÛ«éÓ4]· vK@×µ…¹ÙÅ••õUø/ÐBÚ€»|š÷A4ƒøø÷Ú'W?èO»?G¦×ŠvÞ'DÀ‰°Ÿßy`| sVZð<‘pc§-éòÀQÓT÷Gša¹Ÿ½µ-ð͈ð(À4 ìxýÑÑ´ø/ÞÑ@¸wàj/pÕïd"¾ÛÒ§´.¼G-®I|õÚôÐgÇ(€¾ð?vèÙôLàÇ€_Ùîüà¯F<Ó.-òb¬“ÆãndZ¨&&ŠLÀë¢KñúLpö¼€á¹ïòjÖ(f`T²)¢ÿyã­gãSb*F™òÓV ü;ÌEpN¬ª×§²6=ñK£/bEfµŽx™ðG,X·n¿/þç­¼ßiŒU;½ÇöȦ²óç*Ï|öóø‘ü‘AGÔOë&²©öÈ”¶TÚ˜œã;/lU¤Ñëг^àÈ‘£²#GË}ôÉÂ÷ÑÁ–~¡%zåÿïlÿÏósý Õ"àêwçû"ž h´ÆLª›hÏ­9H?½8tdç6ŽTõ©òŠ'ö¥Ê®] Rb ß+òÐEÙÀÿsý€à?üGÒÑðý ÿ“ik+ ¼”ígùô8H=ôM@Kð¿ý“–\}/ÝÀJß7Z`·@)ÆÆ²}^t™oÖ‡ªÔçWµ)ÿ¹™ËI…‘D·é·¾ú§áZ03јÝámd@ø™›Î¤w»@8 ¨µ®¥T¢9ËK‡9ZBWïÓŸë÷«Ù¤PÉÔ; >¯]øŸ?ëŠNN6’“IJx¬‡/Œ¬]¨.É •ÄåR³h¡³ÝÖÐt"ö bÈ‘‹Ta®Žs±ùÖp>EPwלûáú¨rÜÎç"ýMnî›”VUµ”2ð,D$Sý@·àN€«Ë bXY_%øîýB³À/þßãY}ú™pwÞöÓ[*@{´—ǦG'ˆã¡” çAg'ð^Õ‡bHAWÉò™÷gT«%šŸp¸S–Å»#²T±E»Ó©¶2wŸ‚T‘>‹€átàÐáCO>)¤<ùäáC‡¥¹s"¶@ªš>äÿ?Üþ¯Úõ LÉs7À.9KMðÂçØêð¥Þ|  ñ(dlˆG<» ~ƒÿ×ß|35Ƈéçú#ip' £>“û“¥=ÚçEÀb‚|)2B’£´ ðÏÂ'žÇøÉíU«„ºlá?Œ3{–Ðïœø–='s·xÔ¨ ><0\«[9µdzÁ|ü½—.ö“-ìúĪšŠ6ð‡>Ўɶ®t@—VsSQDUÎÖÊS'òˆ÷çÞéIƒDÑ?êÀñÿ£Ç*cQÄ7i#%'4Ç`ЀÀ«MOÚïÌÈ\§?«^pÞŒ¦ƒÎ& 'uÊü¡¹3ˆT*!®U>¼î†Š`7§Ç7 ­¹…"œÛ$€g `­ªÿ¢¬½ªýª”@6öê«éÓ ÚöL°ׂðÆê"##VW™ x ›Ý"2§ðsî0‡ê> Ï}ÉåA+€Oþ7¢ÿ€/áå#¾´u_‡£{ Ú¦<‰׆ˆLE¼n°¸0=·¼fök¿Ò£-ö´„ø½M§[Þåˆù ȶµ\{óúõ»¿ËQáé÷¿YèE @Ì÷+Ì{*@Â÷»Ev´hË; ¾¥†?lI\6üù„xÐWz`à_ºñ×½- KT{l6þ"÷ÿŒÀ\ýíjŸ)ÞýxÖn{¶ã'áfWä _,:c#EGnÃEžß[DÀ±³õó_då€OÍü2üŸ*n­NÑ.xª®ç÷iŒiMLä‰Áù\·“éÞãÐò¼ÛáYƒ*”‰÷õÚìl£XèÍW Ñ}¶£*"Ö]”ThŒZ×¾‹ïK4x£vq»ûþ|§ùÍšù»®HgJòÃ`ÏëõjƒÆðꓟJ3Sx1«Špù*\ûÞ×Ö‰1màƒ¨*Ýfó»EA=›J[¨Ð~«ÔÏþØPåsº#GTê4`¸Ôñ’ÿhÿGalñ¿ìÀê|wQÀ -0î^£U·¨Ày•¶[ à¡~¶3<¿ £‹…L?Õ>K—•Œý©^·÷Ÿ úqBò2úÀoSýá3úôÁ¾4c?ö§=Û"©€Ëé9ˆ%ýHÜø}ýhܸuúÙgŸyöù“ÇOJ$Ø'þÛúù`q6É ¿#¡|ö´ºþS޹×ëðp  ÿ6áÍ´ICd“:†®d[ë0Q  CØ8À"šäL‹¥Æ'®4|Æ&Ù´3G×9—_ðçtºôËh8ôÑ'ž8Za¾= -ãïÛ*$Ô‰Ët<ˆ—Z½Zã©Þʃ’• -ñB•î -R‡ixOÔÓGþëRKŠÖÒ¬GøPɹœvœwÎ’ÌЇ\èOÑË1 ~yÈIÉ%µêµZ¥R# Úþôç¢ÿ½å'1²4ã8:ñm,Ï1£ñúúÚÚæ†ÇòlÞ :Á0íø=½úyËÙâ­´ú 9è÷t0pˆXÑRñ¾ïî€Ú Ø@Ü@åêL¦ôL@«+KtMX#¦ ´d+Õ²·ÁÊ}íæM"/ž¾~Ó€­&€þ‰€±½ú÷=ì÷½õJ1€2 ÚÓâpåÚuÿðq}¶5$=: ú•¾”® €ãÏ?ëxœ$þÇ?žFìb‰jíÀV=áV_xaÔ® ¶–ؾNh·+wðèàÑ#Gä¦?ùä‘AÎò¢Ê;?2©*Cm½æï6àzm®¯ÌÎ..-¯l¬o¬À§qrc¸íƽ˜ÿ‰Þñ´ZúÅðpã媧q„¤@J>þô– fðÎØ°‹O#ÄúæºøÏӀ榧—Ö´—œïsæ~&6ïý’ñ0 Àå´!Þb`úÓ•ítüÓ[v.€±ØùÆÑ×½´ø.%pòø??yÙGˆˆÜA~¾{èïI›ù±ˆ €#T*EÜ€€E9A>þXƒ÷É€DµÇv`“|ëÊû¾Ó“³,÷´Ûé~ÐY¿Ó•ÓË!ùÞSŽÈ›]•GÞ¾(޵u C'€!‘w3x¡4Ùh=—÷ÿƒ;Ew®Utîü ¯ÎÎ(Û¶\_9,™r*è+ø²œã( (ÞºÓ]žŸÉ;‹N§ûrÓ)f:wît?ˆŠ´ŠîT‡Øe4;wªùÿÌg×.îtV:¢*§´íðÏDÛCsTµ,:?誕ԽS­‹suñE¾¡¡ -ÍçÍ—³½Š¼[KwºóEÞùªH1BEÞ͵úA·ûÁûÝyHY,±£ÏnþôLvæéxÌ€nŠn =áÿ?Üþïý>à€Cù¼;Þ! Tt°I -(›óÌ ÂïØÑ@f 00ðIáâÓ(Ò“B}–ùŸ“¿ÔÒÞ ‹¤ôÑ×þórÖ¿-@àÐsŸ9$æ'Êoyû»õì‹ð(àÏ(gFIð)ðñ'^þÙçß~ûúÕ«×û#‚ÿI)€„ýÔóOëúöê–‘SiöûÓR_é^îaõšS €'”MC€À5#Z­- N¶±f®MÚ™å¨vLj!är#\?ÉÓ¡'9Ȥ²4PbåäìDfýÇ%7T&87¢ àa]ÐÑá*›Ò:]¤M@nÖ•¯ö×Xމ²†«Lõs1DšDÜÇP ­QbR”F20Mu¸n‡ •Åãjø´Î­p) ÈYN>ÖxµY×ù$Œt ×^"*’ë„zC»2ÿéŸ}ñtŠþSë‹ý-cç!†ÿo2'±?€ëIp¢ðÿÕx Þâ¿^(øÝ,Qí±ØhŽßßÄÚÎMáŽß|-&ÆÇsÒiD§ù{ßôâÔíj;¿˜]ÔŸ9‹sgh& ϦêV«Û¨‘¥Ù§ï·Å_`mªÈðr›E£)œ{Âyñ‡)™-¨u»Ó™y¯ÖÔ ìR–Y>5SV„Ú}1¯O8üOE@©ó±m ’K=4²Ûœ”JíÔy@'þ©â¢t#k·«í"u€W=L½b¾h©ÐÛK¼C¡ä­B§fÞSηSEú¬þgu'Æ'ΞÝaÀAûüÿ-þû¼K¯EaÜÈî‚€#ˆ€‹tôó€"£/ëÒ~…~ÇŽñÀå§tlgÎÐ*àºô›>’É]øIÈDÖl…ƒO–€#‡äó'Æcvüü;m:±?P΄à`ÊÁˆÿ_>ùì‹7$ˆèÈàÙgÚÞêƒÿÙG}¶Ð¦6=Ò¢jåè‡õÄ—U9Ùf=à2¾dúØ«‚}p‹¾" pGåPÓ†Qª èÞYô4‰JH—÷HNà\-Ø% -#4ØÀá'­@Z—×Lr–‡ŽúÚžr€_ ô’tQºQ èˆè¸±±F 8mU¢(Çù÷°>_·W˜€[¿×7€5À[oÝx; €¥Ï›¢ï#Þ»+€à¿VtäZðŸ€ÿ•SÐ+ŸRñÓW¹zÚÏüüˆ¿vDR.ý€ÀKÈßn‰jíÀÏûßÏægþdæNÖ(xì ,Љ©ÖÔTðÇ;Àôým"o½2ðIOAÎu<Ö>o½Ÿ5@»{æë»98©Í”ýaùh£ƒ$(³SÞBEækYá~îâ?61%U‘*RŽyË‹!ªjSE8´5Œm^ØoIÌ7ò•çLdµO«Rr„ùùÿŸ¤û¢ÎÉx¬ gÄ“1Ñ¿Ô ùÓ™?¹Ýi(OFTDYK ¥Ôز„~›¨=ÓšhAð¨?—®4ôÿu’€ÿ ¸„Ð{¾ëQ[ãb ãȈòìå£vÆî€:6pDÿ|~f,Ô—Ï)¿Ó-{C²r<Cí}b -ÿàxâ¿#î Ч£=à¯à¿M[ý€Þ³RÖžøÈ·¯K<ÿNDþwýh¸ À}Ð7n˜ô)ðïX@o+™Ù˜Œ›¾¥ xö0`T>úëRC29¨Â(Cd…uÐj„EZöзBIвëJÚ“ë-{§y(Ô{LŽÂC9½©v “Ê‚øT “Sû"w—J®ý§‡ý×õïƒÿ,e§Ý4¨û|œiç%ôSášþ*:Lvs,òR{Çžê¸Û£@¯TJ_jï]ZêÛ×3¦K÷igPÖÜjBm´_*@g¼ªÛÂPDúã -*ªÿ>‡+–Uí¡!OÇÒ§šYš0̼o,áj/®®­Ù}gŸ›Ýqáõ}÷ÃÍûžþ?,BŒ …ÀA}{þÊscC_›<ÒŸ€€‰oÁ*½Ewé»û¬! 6•cTˆr¸'Ú+“µõõÕ••ÅÙÙöÜA NW1ž)`ÏWBü#,cýEä_€ðßk¸Éñø£ÅßÃvã¿ÉïUÑ1£>úô"¯ót`Ã;0xÜ×Îø¾œú$ö;@ØY€¸–ðÿÕÓ< 0þCHì¢ÕÛíOdcù÷Ç' -OÙ‡\6˜urÜçaÔ+¬mLáo%0rfÆõ¸ÛÝñ|ª{OÙ-¡\ MLp`h«"òQ„ÿh¤À¾?C¯ÿ¢õÁX®Š¨hGªƒY+Iÿ7Õûð€§.F²N6ÎÌÿaùÄ‚ÈÖèÌŒçEùücä¤x¦~ÏäïÛÎ=;?ÿ§’3­?i•2Jv‘ùæÿ£úÏ(ŸÔŸïVð Л €€në—³¬óèÀÎ~) -âÇ9?3:k§Ã}€?Ñíö¦~xôã‚ó€˜ ¨´ÄÿÝ#=K;J{8€Hì?„8uí[W%è Ÿ¥w¾sõ´~öÊ€4¿xà¾lþw_ @æß—žm‹è¢÷1b•ÃOHÑ-« ËCåÙ€Bˆ†Ü¦“°%¦br±µñ!‰†•€d¢vEÃÐ -:Z3ˆ×Ús!©câJå…0Ö dô„øI^”$}24à°‰ê8D@ü”QŸjµ®šU²jÎÆðÀÑáajD¥¹ ŠVÝ\'2nT)÷Ü¢tÕ‚o6¡6Õòih –ª™Ê¢ïwéZ¥ÚT¥®òjºVîsâ(õó«V‡«º­0ÿè‘£CZÕMW]éP.?pÛ÷2RïÑâom…$­¬â¾k/ž¸˜ëDñEÔ䣘 Àq@C¸Å_+wW7Ö¤!äÊk šúuПûˆ„ï>@8î¯oŒŽ†Ä8Ï -‚ǯ­®,/3—âÒ:)tú†; *é^/1Þ-绿“Ý|Ë€7,Ò(€0¼mßÛ<‡¿×¯½}íú›-·+Ã?­°àÈ•ÔÑÏ}Ng*@€øoxûd[øßzŸ†ùé­¯k4Ø8Ï39ð1[âÿ–z¦|%ª=¶[ì öƒ,¿û.³ˆ ìqÎ'Ü&€‰"Og„öû„ñ†€œÇŸã¨ -UEcŒžénøî6^Èç[Ê-ÑÀ…øFÑÌ.^´`’ZäþeæOßo´ÞŸ)pÝE×ð޳@Boù W)r̶Ía3ñÁmÚ ZÅ_4ò–gÒeÃCY!ž?/øLe@5JÒå|ÖȫͶ•ˆ/Qðl‰P=fÞïT‹hÐÕ#I‘¨È6 úŸûSáßüŸùÊ{$ó9€]g+ƒøÿ=€OÀ×Äpï.ÝjÀãb&€ø2 -à ýÄ(¦)<–èÿ°3•/m‹¤?Ò~ÛšSäúõ7¯áмÔHø'pè¹Ï0`‹ö)À··bgض>©€È?}…ùÓWß¹uíòóÏžÜÑà™gxþyW(yü,þØ Ó³1=ÿð6Ò’.¬û˜ 4Ä,;„Ž yGÐʵ Ëmk £ÅU¥ÐŠø×seÙ‚M=ƒÑôÕ&,Žmè¦Ë•rgÝ…r’ Hº&"¦ê÷Q_Òááav¨xÑQTÖ¾ŽHÇPaÈ”jåR¯¬"F»LU,–>–6‘ }5å\ökW Ðs)d Öµ™*Ë}áã:u>‰6×A·c•…ð>¿øög8ñ¶4Ó݈¾»¾4;½°¸¼¶N<¢ð".ðéØ}? 0ˆ±â°€ƒþ’öâôÚêòò -y¬­¬¬%ZG9Žàîê7ÑUÍ Ð_{”ˆ&€»rÿuúÆÚæêÆÊÒÒÜôt±´J‡+„•ØËéÔûZ„Þºy“‡¼vãÛÿö÷¶ÏàG¤¿Ød’‚îŽåµ7úû ÿ´Â""øç/2þŠpÈßàþ!þ{Î_¿ýõ¹\NL@œz9ú`Áþz{øGÄ'Qí±ØÞïä%ìμ×hþÇÛ~p?6Ü -×Ó=ØÀÙ8MÆaعú(zÆÓàœ«3c + ù¿¸ÿSÅØ`ÞÉsfÄÆ²ú˜ˆ-Po4kL dæøøß¾~úùãÂÿ³Ï ¶GÊN€©€7¯ÇïÆÖ§´ˆÄïKiÛ" ò{ØÐðÐÐÀ9Øb“ch{¤0 z‰W(q–·öiÆNöó% vqƒÜìfeH |HÞ0 4›ƒÏÒz°’£ùR––C•¡#ôÄþ©4ÊÀ€ë­jë¨|}­S‡!‘]0pôð‘£R ®œ¯Bj€¼)þòÇTÍíRÝ8)UªéÜ­]q>ß7HWäú“J_”£"S -)¯ŽM%çÎ=‚ÐEÍüâÛŸ -|í{ÑžvÅÖÕå…Ù…¥åµµUyà2â÷RÉÏ—õ€ŽÐA@›¸ì î#-­÷Êh}uqvn™a|+ sË„ e?G€Bà›h¾Q¾Á3 ¿1ŽÜ½»qws.€Ë ‹³y{ieÃèWJO\°÷ þ—#õv}Ë¢àñ-Œÿ² à­·¶ÀÕ+t¸Až7™`ÇR€‡ø‰ý†¿W~»\•¡/_¾òú•Ó'i yâÿëb|ió_oSŸ¸Ezaþ‡qž)xòü9: ¿ÕíáÿÒÿøÕ­õ•ƒ¼nÏ­™±ìû·î€'þà -Ú€°ïbÊÀ°ˆ“(B§ÀF=¿ƒò™|„V'ÑÀÙcÇF±¦w¥þ-*Â×L5‡»TÄ\=û*ŠÊêW":BÃ9w^—¦ò¼ÃS i^dƒ8÷YŽ ÜìûTð–›ÊSøä¯á­™b¤èº(Ý rF¹wB)z&îÃ":ï_rzk -JËèƒà•øÿƒÚìã¿è‚Ë.(Ûò ü}”›²sÀ -`ß~~ÂB |šÖÿcOé·§zq€ô7ºÍ¶"ÉRþðõ›7¿óßÿ·ßAÿÒŽ\9ùìóߨÖqðüI†’ƒIp?5ÿ—à‰ò»ÏÂÛè-ýßa_;jÿúII+lH/¸$0Ñ.€Û ¤´bM´[ÞßF#‹¤ŒÓ+ÿ{q:o -ðCÞåœ@ß¿Ag­ÐgŽÚ”dÊQk›ë¢ŠºóÂÀÑ£: =2ÚÔø:8ΫòCÔNUPõ£‚iY¢X»9L¢ $N•RmØËTaòà¨ÖyÙøã³9Ù;\7ÝãÀÿ“ºËÚPM)k»ð>ƒí4ÜýpS XX\Y…ÿôÁ»w—'‰õ÷=e¹ÅßÍ»@¸òaòýû8çR{cuea²½°ºqo}iº½°B0ÁGïÃmJÄ¥Ñô€çwïßW‰!èH`c}cC•Y\š›žœ^\£²ÚŒxÁž¯`åîïëZòÿ= €“×n|ç÷ˆü3¦àŽ¿&Ø.{S¨o¾-ÍþЖƒy' ð۱¿ä÷›ÿ¶“<~8ú€v•RíÄ¿gLïø°ˆU×i8ý|tdºOL - §ž-Àã>¿º ËyµZ·;ìbhrwý ~À%p‚>VäV÷sWNäÀ'ŽUκ#¹hÿ³‰n½ª4ÂW§lŠäÌÃçôr@ËN€±¬Zœ´„ÝØÔÔÉ;Õw%ìgƒZ¼I©,]á¸Õyw«":ÜLê@©…p? UŒ6”‰ÎêJˆÐC¡E ö%ü{ª÷ØX6Ò$A³G>Aù=›i8À àMw)ÜÑ""˜8W7MµÝªd¾¿ÿÿ·µ0 YŸº8°5À¸g¨©RÔŠ@vt¯@êp®ž£ØÒh}=}ìðS’=âü}>dÛ#Râ?݈¼“"¥)Õ×uÈ=’úM¿\ ZA4`ÊK¿rJ¢åðÍo~çÿýo_=}òø3DN=8}5:z€èðæõk׃þáñ—_¥KÛàþvôðáCO<ñQÁU -àˆÜçDXàiP -|Ú4Õô_LÕ1àÊwPÖi ¬õ)`dj'(%%ǵDQ(3r s®hÊi:œ ŸrÕÊÑ£eà‰_Ý=8µ'd‘J5wC©ífG|HÇlwŠ×Nê©Uí¡*®D€*q–…H:BÕÈBìÒ…ÚHäGIË–!N\­'ÓMVýl›mn7:ï Ì"ë]F,.ÃBvÐqÅ­èë/dK Èa¸ Ñ_/ûõ¸½¶4'°~ïîÚÒl{qÅ# -à¿Ò=ºU¤e}ú¼éC(þ+?½ P3úl¬®­,Ì͵g—V­ (Äq€½Mÿ•MúÝÞòÜ èëæõ×O?eàø_@°4ã_{3,¾·-oúû ¯xÉËÏÄN_¾r%¦ä0}Ì}A¾4š¶ÁŸw¯@2¯ð‡Æy–ž °üãûݨöØl€d-[3ì?ŠÿvGíQL«Z÷.@ô¾“?/p˜a€gΞ=[÷lwÊ)ï6Ù„üÿ&þ1“žµ¿Íòj£ 'Gôó)ò›WEf¾2Scô*BÁ¨€8#U„jÈU¯¶SýÆÆ$*.ާF%|Ã$ðí'îdƒM*ך!ŸÌ!€˜¿àD -jXC´ -ùï´$‰tÄH>¯ŠøÊ €YM!Û­èñFªJõF”÷±ÿGöóÿË€¨Œ^Ó1ß]¶"ä;‘Æôòû²^GHýôB¼ÉÜ{Sÿv•cÇ>)êóÚzŸÙ5°-À¶#<˜ìëÂù7z©8ª•Z†½…Dˆ¹ÊúÌôç§ -ðÍo~ó÷ÿ÷RàÙgRàŇúp'rxS?šoõ2Áÿw‰¤¯@ˆEòL?úį?ñk‡€Ó§€SÒ8Ì•Ú0×j8¾Ú¡"ÇøàÐJ }N´G kíÚƒM“•³È4¢Wµ'„€eƒ²Ð¦KsÝì„«*ª—¯G–ð)œöK€°ÃÒÈi|”ЏB³Ë‘QQ޵vÑ`è7ª°'ÞA}uÀbÆ!K•‹Ú¥W¡œ|àëÃJJÉÒ€;þ/Ó-ŽÛ»ÓŒý-ƒýù‡w×,VV××y¿hKD?!õÁ}:ï`ÌœºYð( ·&àµ‹Ù«Ë Ë«w?ÜXYžp;ÿ!îñü NeÓ£Ø÷Sì ÀY››ëëk+K<ÃyyuC‰pý‰Ð@±—ñÿ¹îßñ.íftîðuGèêì~ýV6ìˆàù p€`yXö¯ÃÖB×OÿA(¼`Pø9ãRè4×àd îÑoR9Vž(®¿ß,®–€äfcd£Ïððoа`ÆrŒCÔŠBëö}žV¸~ØG ïÓð¡ùx‰&@Qê#G†t *©¡| .8zÁ©4à+Ò ì{CùZ:D DH+Ô¥sWÐoç¥”Š—¶HÊÝ`Ë…Ejê«ê¹ @*ë(WàÛL¨ÝnÁyÁxsci°=ðyíÅÙ‡Ú÷iægrñ>4ƒvŠÆáÄÛPôÛ—1’œK l¬n®oDFn(Pr»þ2¢ÊÏ- ŒtÎ.\¿¶®Ü–‹¹¥5Kƒàÿ¾–½ëÛÇdoݼyMà”þb D€’±ÿêuXç=âµE|Ó¿·bYÀ;E„ù+Ú8}¼œ ˜øïã¿%üüySÓ‡Í5ÃÒ¹ÛG`‰ý;,Qí±ØÌ÷ý 7Ëïî mRv½2ž·¦Ò0@)€FÖ¨ëÏQÞ£øд&Z¯‰~1G:CY›œCñʪá•zŒ¨×ÇÍNÂ#½Žè»Óà‰~A΄Q,*¢MUD€Š™4…€4="L1ÓÒkæöû †,LƒY[yP•ׯÏK$æÀéŽèi¥Eè[àýÂé^w2%Úa)°åÿ÷ø_šj:ÞÝÓÿ´«ÞÇwH´._²(Ç\  S&Γ@vdÀ9$@½þeÖë¾úsçˆÐ°­ ý…î°¾½­½¾që €¯;@ФʨàCšømæØÑ€QR™ÈóßÅý—à~Dÿ½‚¯fº<Òð÷¦'>ŠØ5ðCŸ34KÔÓ±ZbT „…$ÐTQœnŸX'+çDŠ'Yê`Ù„®5ööG"óáÝ8U D¦I8pD_‰Ò8ôÔó ”í2ø0lÆÝ°l¡~®‡\­ÔiÀçrÞçÈÆ®›tlI+ƒR:u§d%´pà×\ÿ¸½;,!²gú§ŽyÝÛX™”Ëî‰7tRÇdý&· n»ëŸ |?< ”ïƒ"þÝ úß]§k ¡üµõ5ºšÛ>DøFÿôIDATI*hÅ1¿9-²Ó†VÜúp÷à «€Íõ•ÕååÅvgyÖ%tŒ`?óè}ì-qþò©~ª?v³¯ "=Þ?ôê#þ¶•X÷,a(€kWO¿xüäei " ß˜Oð÷—Í -ÀUÝi„]7 º¾~yk€ô׺-гDµÇv`3Iö7q÷ƒfÞe^>›¼Ô^`BjmhL <8¹Þ8W9[ù¤þ"õ—¶‚»“ )õr½u -]ÙbäVö«wÆÆfRaãpßÁšÛ[­ùF×á€t0U$ê¡3šÚ9•ú•a]yÎy³‰DhJ†\š™¡3ßWfFG”¼3#]“© /ø£ÆT¨à"âZ©QK­N­ È}ŒZÑSEúlb‚@_üßbf‹ÿ!zòNUªåÑþÜ €4 €€«_vˆ@êHÓ?ø§`_ ;²G Ë•yýÜù T„i£~Î -``G7€-‘¾Í¶Eˆì1âH4¿ùè€úmÿÀ­o~ó;ôpà€í}b&Àgž9ùüóÏŸtYoê7E?,éäaóïK²-÷ß~©müÇØÕh8rè‰_{â×áÓá£G>Õâ—Y Ëk}ñ‰á~±WLuY°ãOà\pt^ ¤„Náñoè«¶"wQVdh¨ãPƒòÞ €'>J ÀSQs=Xj×?MwÔ%¤€^–€ÝeXúŸ³ÇÏ…‹&€´ÍsuŸS•¨(Õôù.MÙdžNQޱ[ç(ëaÕ½—Îoð>‘=yè£nØ%Xû_„îÝùîî½ÕåéöÂ"ð~ˆ†öôжDƒë |Ó…Ÿà>è¶ï¾¶Ê þÊO[ÈŠµµ ’ˆ 7\þR -yZó.$qòLBž´²´0;½$ALB'(#Woã¯B¢y×wi)ðmñŸY€RàÛú‹ëÀÕ ~ðÐ2Á~×7 }žÇÿÒàÊ5©ðè`à'üo‘¿5U¶ß$Iâ¯Uç^þj°þïT‰jíÀPØÏ„ÎÖLÖ¼ƒóœ# Îw4€gÙ$‘ûòÃROÓ‘Lä2ý¾ÒúAãDµùžÛ„Q²gfæ‹÷ƒ±a±\¥Í˸ú©—½CïªH­ Ÿ·Ab×C_$AøÑCª ûǨÈüm¯3N_»§èÊ/›oŒÔE]Fp=L5 !2cW?$ŸÔom=kuGóB.¸Îãºû*2U#]U$î]]ì}Ȉlçÿ–ÿ/©ô -ßí¼Ê<Šòÿ[€(Ÿ˜ç—&üÌæm[3èŒÈ*{ÄHH €Ö¡¿ÖÜ+"À' ô$À;7Þö_èë‹Ðºw-yø)°{~¶¶~¸ÞÚŠ”Þ?öpà÷o¥Qô¸uëê•“;û€ÿÇSTè͘pKp,Í - ­%ü' Ðl7štWHN|}[ššpÈ(hpÒN:ÈÓ¶ÕááÏ鿟¹4µ@HÓ( ¶²¡øÊú Ú´B`S‡£œH©ª>üÑ4 -à×hp:Õ[)lQׇ"0Vo2¤.á‹+o`¯5×és*JE–}H¦:¡JTÕˆ³Dõ$kt.Ÿ2p Yà >¦û¢[¤«a…M½¸Î €ø'úÐÀΖ¹exÖ æß¼»¶4·0çÇ»C¾©mÞz¸=ÿ »»»Ñ÷¤À"<ÿúëë„6ÖÝ—ðÞ]åÿ…tè®÷ƒÄzŸà5JPRÿµ…&Ñ)œ¹¾¾¶¾²,0»²N± -ÎÚÏüóˆwùǀ㧮Fü'zñÊéRx½ì@¸ciÎﲌU-ˆÉ€µçô‹ÇO•œ>}ªT= à¯RD%¶ó”ð>ñ ›"âÿã&€L»p3Fþ>¡kñ -wb ™¢@L•Û>Áô=ØÄT13q†©€„ÿ3õü|æÞw_™ù 'á¿]jºõ½ÿƒÒ‘näóY}b&ÿ ÏѪLS¶y«UÔxBS=<5BÄ'üiˆõ–ä…GË»ŽÌÔüïüE£1’e"2µ5?C'€³•§UoQo¢È»užNìÆ%M¢Š\ ä/¹PÕ I¡&–D”ôÐlÀJÿÿ¾öoYøöE»:”•³ -bä§s“ÿ_ó¾àšÀ0ëóù…îü™þº!©”Qy•Ýb)Yÿ9—çnn   §Äór6ñ~ë‹è/XßV_×âo¿MGÀ‡#YŠÈb€î˜L}€ß>ý|Œp€ÝfŒyT$ÙèM¤I6£1{;"[fØl™PtDüÿuœk™@_˜ ‹Úàðs¦¾^¦i0.X:t tïà¦Îrà<Ï1XDIî=¿ArP kI¯u¤‚’$É5ÜŠÐp´/@éñeÀF@±½WVp™¼·Ehð¾m¥´:†–ñ%¹Ùƺ%Bo%mÕ›X3þ{}t‡µG»wXÂ~ŸÁ]7ï.ζ—–V×V×<•? tá;~¹Q0ýÂî¯ÝF¹¸Mï}wÞßÜ\í. -Ús´%819éKùH <¢ßÛˆ‚(1¢]wïn¬ñ0àõÕµ? Py9ìàR\øÆŸÅžÆÛ^À}úšsKŠžëÏâQoý9ü‡—|Óè/Ïì&€¾>ÁÐ;Eý±XÑ;U¢ß(‹uÄ úX`;|ÿCz±LT{l6OV»Ÿ 'LáËü;ðŽÇÿL•Lö1¨çß91VÈÿÎÞ³­ŒN $¯WëüÏÌÏ‹gÿb¨c>»oDƵ6|Ä­™–üê;yþ>9cÑÏž¥WEF;B:Û ´T!U$ùÕÍæ95³½‹VLXHP g¼ñ?ÿýÑö ÍÑE ×¥Zvxõ[vL?]ôTlufíIVF=­¢úÈŠl—SùŽøÿ–ÿIõDóŽo¥m»ÿ?:¶°Z±^¹¤ŠÐ Pþÿ<€Æ–àúcÀhÇ.È" ï°Ûßb&ƒ0qY€!B8ï˜Õçá(ÀŽ€ /úFÀ€Ý#}VF$Òüwþ[€ÿý–€ð/{T™üÿ“߈,8ßkþ yȱ’ÿå–‘¿‹r0ôˆÐ½wé`¤é[†7 ñ‰8qÒ,åc†j7’@,Wí±ÿ¬,H‰zÔY'ÜpœoXÌ^‰N NSUþ¨ª'ã‰Gb@Šð ˜>à™Psª¤*dWK¼à£ˆ@‡éÅHU‡*rò©(U#9ï^`ˆÎŽ›¡Ì”ØÕ×¥§ô”•K}ˆÐ†ÁΖþiz&ÒŠªøà›ë‹s³ ËLD^†Ç÷ÍíΛ΂uù€ßÐ ¦³yá\¾ûÜôìâš{ö) R(+eD¨À§Âr$v<û~ì#HˆnØX]Û\[]__Yf€åÕè@GA²ù¿ñ>æÀI €H1-ü§•Ù¡y ûÝ–ú‡—úf–@yú6{ùÚ}úä?÷³üh`¬ïY ~^åúëÛ©So¨úñ÷þUΓ8}r+` °¥<À³Ÿ`Àcð+›ˆºßkêR>Óëf¿ÿÞy÷gæ»­N§3Ó):ÝbæÎÂ5Œí´Gÿ#ïüE÷vçýîÅDå˜èF ™)îÜù¿»¿?_Œ6^lv‰«KK|ÿ}yÑÅ¢ êšZæEçû3·g>(ÚÚWwºEÑéÄóx;:ö^§3?Öyþ/Tvѹs»ÛÕað{{¾èüàœ"Ÿ¹›©"]Uä½™Îù¿xÿ½ÎÌm&Úét~0÷/þ¿óóÂwj´Ý‘Ò¸H£5?ÿ}-g²â|½ú¥J^ùܱ3Bl1óAó] -.ît¤$üÜ`]y^¼w[itçç?Ò Ý×ýèÜ.T±ùÜùA¿ÝùÁþ÷ùãÉò‹ïÕ‘¢ã90Ñ¿Ïÿo”Qz›@<ÀCòyñŸqûc!ÐbÜãj5É«¤Ìy)€‡bÊ´NÅÆc‚em§&¯E+À1€P‡Åæú™è·¾€Ž˜ïîýˆØe2y'}ïzd@?7êp™@9€#Ò#Ô•Š™÷™ÙØgv7Ø2cGÐô4DbÀ–€—¸Ç]€ÞTsXêu ,Úw¶GMšPDB8ôMh<£”òãH+wG8_ë.×ÀÆø÷ú„év«À§¶"®¾ªâê‘V%ùb(ѪCeë"·ð…«–Žž‹â\}q¹Ê>®M“XÂQRÒ¸ ö:ãŸÛ,c¶¥Oí> - ý«ôLtÆÿÙ7ח榻§^ï`.TNx÷d¾`‚ß»"¯žÓBL¬¯.µ§V7=yºA¨Ïßçè|vpì.R‚ؾs óxÖÏÞ`.ÀÅÅé¼½´Æ0@Ñßî¿OÙÃüw±—Ý|«?ð{< £ àwâïŠ ÂÜån÷÷^€«W®\¹vÅ}xÉäøŸ|æ¤Àežxúô)ޤ~‚hcŸE€w=d!⇅mñÿá@ÏÒ@¾Ïø«[cô@¯Fc¬íaó26XêSóS?$e¦ÏÆ`Q4r7ª7ǪÕϦ9ôÈ‘áJµV÷ó=y¼Î¿h4rOYª³³¦óc Ñ>—Ñ®V_®Žò`ºòØe»‘Íž ÛžŸpμÁ~¤xY*[}y¤:úB§ÝhÏ*Y³Ù`‚áT¿š;ÜMò´ò¬=:ûrGå¨Ð*Þ0S™Wõ[%gIu–TaLBûÄèhu”ç•ÈjQ‘(¬Y¼PÐàÁ£Ü<„­¡¢¸U»Øîþ¿4OZÓz¾PÉo§‰þü7õeÀƒÂ(™øßUå¿ôP ƨ”4 ÀÇw‰€ye‡¥°DÐß%~¹?ÿŸz¨óHÑ›;$@_€G|›ð¢/NÇGG¶Ùö@h€Ý"Ñàñßú”€óDþkðoH²Þ8ÀÄF[@߉%2ýbÛOÜôL{j·€«vàµ-3Þ’0ÐQ»ÍÑ@8ÄÝò‹¦`,ÂGgPF´—¬PŒ¼go’±e¼e£s8PöàRà¡@ô°*¡*Ô SÎræÇ†>‡×žúX¶pTIŸˆ wT5Ÿ£ÅV*'5ä{ÀKY r†ŽZï°g`è7B ” -`A¶´´¶ŠC~÷Gz&ào·õÍuð ðW§§ç–××^!Øñ}Üiü¾Ð ³ïž¢¸ÿ]ÙI_t¯76äþÓ¦°±<C÷ ù4ÉÇ<›J¼ïÈÿ‡wïãý“‡s3æiK  €€¹v{qMu%ë"û˜ÿCïaüQ•}®Küžzð7{ã-·µÇÕufìÔ_Ƶ×ù«í_Ó¨O^ÿ’×ë_MÓã< H*ÜOº~í -ü×ÎSb|ô€þýèOëÛ‹ý€swDüך"öü‰<«å3Ÿð+[ÕçØÿ%¸5ð5ó|2oŽÈË"ܲ¦­tcJúª¸[e" ŽZ©“€N‚ôÑ“ûFçü1ï.Žeõº® Í<~Œ%1~¤M/=É”fÑžFG¸"Ià¢çí¼YT›m2ÚqKú,†@ìðÿ/BÚÞÈ»Õ!Kdk‡ÿ/þ[@cZëá´àVi‡nwÞ€PÞ­œ1@<ÀT—¡vÄdt MGÕ‹bz -@Ç­@|]Ž:Aý›h€~ °-c¸uã»Ghìï(ÛH€Ýû8°K€¾yn–ŒŠí0·Œß›Ô°¯à7™9—ká%â¦ñs;h×ðCàf$–¾®án¼‰¬þà†w€¤iô@xùf¯Ñø9!ò[!Ì^ƒÉÄ%ÔCÐê¶QщþÀ}”—MÎZ’–ÒØmàÃQ1"ª65rÁJ©™HÈé\œ³e1tŒœ©Öœ7tŒ›&ãQ ÈS ][Zœ[\\”X\[‹@¾ÁJ0ÿ[ô=öø§Ð?ÏêâìôÜÊÚúêºv³üËð…ë¯DöÑùR:ÃÿnD 6À÷Ý»tÙg g®­..­2þ_ ïê~-žæÇö¦p¯/Ü|åp—€$ÐÒåz © F®,ζ§—˜ -˜JR›ô¿æÑ¯ø»ØÃéç€püηˇ2ð;~°þ²DVÇÄ® -÷0_®¢~|õÖ÷ˆÈË¿ü:- =H~íú€øoÿ_„?åý§ÝI0!ûû”’lîoèdZÞ¸|œ™ùsÜ¥€Øÿ,=G~u+ŠÙ¼Šw;í<ÿà/ÞïvïÌw'«Ý.!ù¢Sä„ÜUÛßE»›±ï…R]dLÝÙ³õ¨Ñ|Ï4þáÓZÝb~ÆÁýÛ™âÒÌíB¢`ªèÎwf:ïÍwš£<]Ÿ”ó"ÙT^4µ©"dïæÍÎt»ïßYè4ßWI²ÎT{**R¼;K¥T‹²"æXçýn§øã¢ø€ø´ûvçÎØU¤[LóÚl·…fšó[xàõìüDV?[/Šl$Sv:Gù1Ñ¿®T¦ÂÉÍîÌÿûªt­ygF •j]äí–÷ñ¿ßÿÏÇšÇ[Ñíñ˜à`§ÿŸÿ“0ÿ'ü ¡þ’gx/"µ80zÀ…2°K @â'kY„QV¿ ¥À™§=ðmûâº>áÃó׊mpÜsýîØÑ`÷Q!È_yîèàgÜÚc€›)@'@g¶»6†ýŠq†±]rçÖW1¿œ~íEs…‰fX³Gˆ1CŒÈ$6Kï×î;\x´(ÑÚ"¶í#2\ÕÁ -m‹¿>ѹ™±ÆêöQO”€²¶€Û"F0V|°O2'þ:¤:©Rª ê„>Q,RÀŒfl”´9./½¥AyúÚ#–„ÿÅň™eN§ ýÝo fêK^{±°¸ºº¾¶zwݨu1ÊŸð¼¬\¸`‰U,eM+þ¦œõ…©éý[/K ÄwW?ÐnW„S9Á™zðÿ&v:}\"×QƘVpÉSÇ„‚Ä&ìcþ½—¡«o½uãS'O_¿õí¾€>ûÿ³÷¿m]Y¾/š6vªâsíFeGy9)ÇU­Ä²«Uí6ÔK,Ñí -oT cFì´ïA½ÊRÚj5pò $võrpõݨ{ßTÑ–Q(@‡9M0ÍÇ@Ò›ßò'Øû¯¸ßÏwÌE.R$e;ÙuÎÁõX‹kÍ5×üµ(-~¿cÌ1çÔë°:·š‘bµ7Øï…u! À<Òý¿¶¶j @bóо;7=ëõ€í@O¿@Þ§±ÿzx›Ë[œ•Q¶ÿaàêòöÂÙ3¢.¼´<·”–‹§o¨â訠•аR„£zg>Lÿ$ôX­èXª.2 -`!ìË7t»Z½ö À@Üð(Œ0œüèÎWÕke»îÙ -FI•À„ÂQ5¤TòT¼á¡ŸK©¶ÞºUýPj» -þß=7 ˜J…V¬Ò…oª,-ð‘"Ô0 {7u×Üç],‹|¸+–àÖ©ø¨¡T¤cB5Äã w e–Þr )'å„þo‡;f(Žô*e鲬¶ˆ êÿÕ@¸ DÇBBµôzj“«õ?È  , -À”ÌJ¦’)^ɇ@š€^TVñLƒÿÛl!þmé‰ïÛðÅÖöh @È( ”Á $úEöð(€>ýy¶3 Ù ÿù>zôyåÜgÂuÆ óãE¿ÈRa#Þ'h~ÂöDüó-!*º‹µ=ñô! €AÆÇß -øÃ```EÛªè <¶TI¬ß³‡-žh¤`„€6൞òIKmï> ÔvÑüÉyÞ\ˆGöwðäÛ'‚DDh˜À›§çžà'8]=Õ7êïd´`?Y¥QBÕ—? ®F õ­¶ö÷öp°(9ß±ÊGóö…¤ 8˜­K‚*U^§n·Õ¨“›Î€Ã#&J…wš& -ÇGEº€xFäOã`ÎØªïïÖöb365CN¿'Äï–»®¬n2€èx 2Îí¹ÙUzéx)ðÛPØøßÓúûGÎ=ø·¬ml2Àª×Æ`~~nŽCÈÚç„ùù¢º( -S÷-’WuòkPTBµ—òÌ‚jwº,—–ß/‡‘»\Ý]¾öH@jE´Š–JE—v”ÿ°úûr±º0õ#€0€›7Ð\E„X·«)»=ú%Â_S @§Ý¥*ËåD©™ÆÌjAá0ï«ÛJµ„^Ž‹›ÚÃÚ:™úÑ -»Ë» oS­Q¶äÎîî5û#}Ô°Ÿg‘* âA„uo]_¼u§R¸ó{’pÓD¨Œ+Ãûï+ @˜"€î~Cú2Zÿ{R{ÌvÊ¥™Š¿=ÐÛžéÿ»`gâ‹Ô‰Öêa< @€ ð‹‹ý>ýi¨>€¥%eù ÿ=ŠK}0`à 6߃H’að÷ñ­xF ûz=í°€°|*°þAmÞ^îÒ׸½õà³/¶¾ØŽNýí­ûPD %ô¯MNFXòø¯èÁyÆûÄ<Û™¥y @þŒ¤ŸÝq:€!ÌÐë0ì{CËõuHfð-A"é-ŠÓáµÑ9° Œ'ÀÈ16¤Ð‡ ec0C´¨Ãðâ©ðSð†€ŒôPT²h€.3 g±Ä*|öãã§~®è[ÏÄ ÿä)I$zîõ$S#',ã‡-{ÉëpA’ø‹äÅèo'€Nã`¿Î4’ôUú;Å•_M)Q…ð}èp[hö&î÷BB(ð‡mÖòƒô?¶ß9ìšø©@•¥\ÊN@Áø‹©H4| -Ž"$‡]Y¯ìíí¹?k7p’øÿx’°à¯À:€¾@LÞ7ЛÊÞ³ÅÞ ëhò¨ÍМ÷U½zësW®ÌoüKš PøÂ sþ¨sþ³*F0H”Yû|rìõhõUAþ…³ç/œ½8£·=¡ÚKyf‰.êÓ„‰ýðߓܪ~S*ØP-Œ¬z @·ogVéËÕG+,üæ[‹BŽ›Å7”âöî5´þÛJ¡ €WXcàa×üWÌî£÷ªžPsiH¦WÿX*2Ãg Êl’ÊHiȇå¯wª»¾LðϾÝÝ‚ÀÍ—;°7Š‹‚ºÅ·Š7íÞPöRù©t‰xˆ¿“dO¯6 -åß+s4D¯ðIÕÿÿaWh)½wmï/I_ÿßUUÎDë2 €à;“Ä,×.¦>€ô…šx.@‘ jNËÅ·ò6€¢Y¼ €þ4·ÿ‘Ù™xŒA@J3€7ÏY×-mÜ÷@{«þŸùD~æ™·>s?ÀŠäyÀÔ´ëçh”øŸÝÙþÍÿûw7™h}cóáöüô…‡ôõºõp}uýÁCú¶ö,x5þGO”°IÊF|6€Ã£Îa»+P2/á hðíãXk•ÐÀÀ Vâ$¶!‹x:R¹ˆDKŒ'ºE‰˜T½ÒxEÛ(Z. œÇYÎ2W!êþˆQ#|´Ñó° µÞ-¡RÒ£Ç\`­zŸÐ$õô˜ð~îÇO!¤CL¾}ªÓSü|s} €Î€ žEé/Å_@w„@D®"»È 00·[u¯ |B`UDËTÓ™ -ÕíÄ»ÑtÙ@ø–:¦DwUF—ž±‘„cS¨›à|üe¢ûŸºêS)Ø8`‹yÔjÔökûÍV—¶Ó0U³˜´ùÅ/Áœ·?Ý\•¾¹|ÂMØ\³À(œ-ö^X >ßÇL˜ `73ðæÆü•wèØÈ,¾ÁÁ'΃ǹ_lsúŒ´Ì^øÿu{€œQ.á?"pá¥à¹EÀö ‚É»Äìþ%Áýn©ô]éºà„=£ˆ®Èÿm§pkáG?zsaaQÈÁH³[·nï^­HW"¡‘ÐF¼ÊЩ«Àÿø þE¡0€Ä¹nˆˆ*ô£¥÷þ¬QŽiHÊ&»!ñ'5+5 q¥»ÿåþ t?¨©Ø½%R¨ unîâõ…·n”¿Ú- .Vbžá #Õò×…ÊWƒ A³ÚŒÿªÍB2ô7ôOúúQ¯ÉBe·üá®µË Éžþ¿[ºÙ÷ÔÉ­ÍæTž`!opGK¹ú€½ - -S@OŠ 9À !zòÕî£Güæ¿þû¿ÿûŸX÷™ofˆ¤^€m4x!ûñ›%Ýú<2|üCÒ­bS€Uýlù¿Ñâ{Ÿàqðùoþîw¿Ûœ_ÝØþíÖìêö¿þëoÿ?[«·±ñðóÙéÍÿ¯~ù>߯ÜЯS¹ü#’w䟟HÀ³ÐïrÏA`Iœ¯7VëÑ}Kú0é%ö1YÀÈ ÿ­O@e5¥0jä -y!dÊv¥K-‘ u?yâ§’œC¿?-TKD,˜ÉÆ9Aaì–€rº44òXRë•˜æ¨ pšÊ•- *Å©…"6©)ƒ€ððòL€•Ì`ñ•K8<(Õ÷£oÉ»×h6›înWVþp¶¸*? ¢šU”|¡úsº@Wþ²J/¿Ñj«ìv“niû -u¾Á`Ò¹|}ø#øÏD3Ì%LgôéPPßă֡î*›¢ãûš$é?y²ˆ|ÿ”Þ;÷úõïÇI¦õÀ9Cu××77Vg= -ÀwÁ1€»'ÀçÐßüÆï†…!Y ú’~Dú‚@OÀýØü“ó¬€.ûzé‡ZF@›5z`.D1›o·úP¦­w+ZiWu&JLÕ¤1 ÙÉ›Ý -V »Ö»iš`˜4Qúx(Û\)ŽÌÜu!Rö¥““l€½[Â}[h‹žIÙ](•YëO—"X¢¼hÉÔïYœ¨ïàh¥ Vs€•áQ~XIú“ ÷ÁðnKä¡Iß½ŠÂ¨À7 •Qª \&ÂO= ü?¶9žÊD(çÛ£o»Ýf³AðÍŸÛè~ØmƒðA²GqùþK¨ðÃ#%„`4è1`·Ýl5DKj»õðh< ÀpФã‰Ãç’=ž -h›n»O·6ÖEeÖŽ–œÖ?,}phçtäŸ 'ÀÕuc{Œ@”"R¥óËô¯s ð €^Dö°`xÅ\ÁŸª½”gêg!C üc«î|„ÑxÅÒ|˜@¹šÀ› ˜Dt €ÀüB  ¤–Zl L}ú|´ ÀqO¢ -þ€vðû`¼ n·´dTÕ'5Ä ’R±MLÿèÑ{eôi* UŸªv¯±Ä)€R¹]¶£X·ˆà­ë7« -ÂJ Qað°Câû(=ºV‰†Ü*ëaŠ8CŽqúÿ¿Wwff.^œ¹vé⥋–mHèÿ0žÈ -ëD[c%@= .̰ ,Y@°¬*€÷–ÞS… ñ3ˆ$ÀÅ7¤ ^|ã'TÊ$jÊÌ8€1H äµ…|ÌÀOàÕ—{€õѯ}z¾¶ô¡´÷„íyšÛþn #À63žÞßþÝÖÆ…¹û¿ûÏÛ9S$ 'ñ#2(ÆþLŒýxÅÐ2^ $€ÓèQ„À€>!ÅÅ1ïœuˆ\ó1;± ÀL€(¬q+tq‰Õn!)m0ÑÝC?¦z.é ÄÙÖ~g…Ëô°†ÊîÖ(qX(Ò ¸­4öH% üM\`fņOX¢%îï[¼¨0ó„PÓ ðç¨äv€. Ír@¾5t%Q]ÌðÇ× ‡9ä’VY]gퟣ:{<ÊQ§ÕnëºÛnµºj´Zlúgôg×#òªJÊñýÝôKÄ?ÚmƶÛífóà`§Voã\øCÜð ’þ§…~ÿþ]«³"¿ýí¿f€û¸ÀŠ7V¯ô-ñ"|ýLj_m÷1€õ°„n?? %òià˜@?/W¦¦š5,vÓíãÿ™3z;{Iª½”gÐà™eY°[,í–¯.‚Ei£RBKIµ¼ûU©P½þæ¦Þº¾¸yƒ‘m»×Ê¿¿%<®MáþÏäÿ±"_õ›Ò#!ªñR°ì‚3ìM‡b©¸\-,)aXà“ºŽ‡¾+¨~ôhi™n|`ÓÝÙ-|ôGž@ûI¢vóvq‘õÅ¢tû?ý£p[JIÿI„þjÈ7…’¹„Ë’>)þ¾þÿ?ýûÎÿryÆk`:_€ÿ7YHÉ(ð?ÍÀBéi< À/´‰ X>Ðwëè»ONñm -Éß² @R(,”Jï^¼v­ÀdIKÅ÷g&0€ÅE^ÎQbd•F/ï÷„õq€t‘n܃Z¹]>Ãaï9à?2"nÎßݾϚƒ››«Ó“nŒ’øÉ$ÌŠà~’€ýÎégwœè'ß]»GÝn«Ëø2)…à¡ õÝ» öV)9ë@'¨é[À N™Å€r(âDqÎ žP J&¥aWßR3¢l[L¾}&z*¸Êr.Šöý> ¯Rš[òßh…X‰=NUÐJmî¾·€«§ÇXhÅéf"ˆê€¸ççÒW9è@©p!1`Üj<ª­TkM!&ãó‡Ä-Ï‹Þ`¯?P»}°ß¨·»mq1kÜ::M0þˆ -° ÌU!V3:þ¸.\vˆ¾úmÛx±þòP=®øCäGå×S¢†0@@Ôz}:N£ÑØÛÙk6;(ÿbwI8YÒÿq¾]ûr‚`mÞ>ÙL€ŸC>ßúôóÏ7Ef×eÖŽ@~¢Ø}\]‡ÌcØd5ྤâ§ÓÀ1~_®\™†˜¤_ë =ÏÌ™9>ƒçÚÚª½”gÃÁ3 ÓÝ•wß»&DÅü ±ö®ä›]acDÊK¿/¾‰à:#Xõ«By׊p`!H†õ?Ìÿt Üúºô˜j'4 œ–âGï-íŠ:(‰bëÇnÈí?b¸¿Ê_í–ÊbÆ?ðÓ…`õ—ÕG‡¬xAØ• -鯿µX¼!ðõG©½†Äˆ: ñrÃ<[–ß"8J¸ÇíAýç™þ«M¾þ#³ˆéÌôÇéÿå…b±¿@„ýß.øº ü݀ĸ)*u;°À_S˜bq€ ¸ýèëâÌÅkÅR•Ù—ô'Ϙp|¾äÙ`;æ@>‹aŸù˜L )ÃQÊ ýbÌÎÎ^™½2·zoVzÁôqfvC¿,ºáŸ”U‘•¤¶õìþ ÉË@€$(À3Z "’£N[û2¿ú &  AKA›ÔZЇ#ÌqJÊ´ÀN€`¬ð…(a‰ €îP½Â= ¸K|ºep¥L W4Ay±„F¢' €³*š€ƒ} D$@]Â]TvÚK Y$¤<¶€ëž ŽÃ6=+mtq 0J²ÓGy -é.j¸  >l7ÕÒò>nóÌÊ7$~è!«­÷RÜš-a®×iÁd -æ‰QÀÁg……ö¢G ±MB -8´ÁAé±C´¹xÜ•Ú/½Ÿ$u»k–äó¡–„ίæ›Dv3…8Ãa§Õ®ìì7:ݦ2îųOxM$ò§Cðõñ*]¿ýW[ˆÜßÞ¶`scŽ…ûÁ~<ýpòsgJõ»ãh7º³±¯¢úÏ]™c`Xf1<@ïlX&+9i0þcÀ0'g_€ç£Á3¨%)•Þ/U WqT‹Uæ;a ·„ÿBðª5éåݯ*Kß,¾ùÖ[R¥ÁÏÛ·w®–YY‡ ÕêmÁ— -‚ÿ -éeì–¾ù*cà’tÇGTo¡óÒ¿R©!Æ<ß*³N$/í~U¬<¢$á6¦ %»-\½V}„÷!ãÝÐóæ­Û‚ÿ›7m·(Ww—þ“ôP¿ÇCÒ¨Hœv®•þhFdÊA5#Åé…ÂJ”Ãÿ™ÔÕ¯6ßñÔŒÃÓ—±ËÂ7Ë‹ 7Ë7 -äuRs„ÿ, Qd€ë……`9ëÀ€q$ú–’ 3`Í_xKôl·zu¦/á^ùý½x޲l1àxà×Ö²žÎ’!gâ‘ð÷K«}ð[ÁÛ¾×êG -%05çÕù+oƒòüºÜÛøä³‡›³.Lo>Ü6¹çÂ)1IHbÐï‹~UÜןIÀ~/xˆÆ?îH3ÑczõK äsŽI±0ÌøðvÒ€î R޲š<îY\WXå¥"€+¸T¹¥`"ͤ…¶–²”tŸÐ(ØyÁNÁ¿´÷Vcoeiy¿Í:INIÀT)ÝLäÓÐ_H¨mg; †dÌ!J -PóðDGsŒþÇÝvçHùôPºÃs/Â1΄bF{†€Àü¸wÄ|ßeØ€ðï‚ ‡ê?¦^߇´º%h¨jðŸl’x˜­H³ÀÜn.–A€»«sw{>Â~n}úéçŸn­Ï_±¯^±»Þbï…9ðs »±¼ç°¾±)Õ=ÞißuªS-Wá?£¢ea¸·úqf`Ë@XêÛ—„j/å™z61Ū¥k=ºóÅ´¾Â …„•üÓW(°Ò\?¬–¿þZ0\ÄÂ|½xè‘í.••à÷_IA®Þaâ<æöï0Q ÔßÝß?úãîN‰Eû”$ÛZ%–T¢)øÞ½'=™ ¨_âU¿úú›¯îüÞúá‡åÿú¨´ãuû:ë³ûo"LDø•çï¹}§ªÖê–ñO |Ë.ïÂãÊÒîï=aŒÅípC¢)•˺!•k¥¯c^£¬!#…ÜôAýÿ²ð_˜O6ââé°,.ˆ@•~AÐøŸùþߚų,$ @¯@àŸ, (*åé{‚À[a ¹Y¬–¯Î,)yò¶|ÿýñ àAß?‰dxŸ£=Icñý»µ1?ýö´ßú¿öû?­ Á´ f}ÒϯÊÛ—{‚óÕ-ì“k*/Ì|ø›ÿüðÁï~Óo𢏹ý™Ã& ‡ö{òÊôâߗ1rê(CàÐi5;è@aÒâ€V®Áv eÚp’¾À)I›,€EF¢¨¨‰›ý.Ýà{;·´»ÝÍ,ˆJѽÌ@Y®ž€ÏOŸ’˜¼€¸ë¥3‚VâÉŸ³pWm€èÒWÙ(€ñ1?3ízbý;‰U“J¢‚ʇGv³¹·RXÞmAc ƒâ–ç% ^ûãCüíÄÑ;‚n•HbºÐÖi%( ¡¡2=6 3‚ƒË‡‡f[Áîa»Ým{9aûvpûT½G‡ T•Dnð_!êILÂÅR+¥Qvˆ.Náè›J«Ã©ÒG}I ŠÀ½Õ¹Õ­íßþ+«Bèpº Ñm½ ~7ÃmÇÞ;)äñ>ƒ€îìa˜ŸçÈ|ôgPO*¼å’ÀþÙw®\Ñ ¾-J7{á þ'0dxIž[Üß|ªç?Ü­àž^ÞÙ) -åK þMukw÷ëo¾ùúkÐ\*ý²RéV¥4S,/,ÜÔü‚ûr™…s -;B,Öë+W¿~Yq¨–?zôõu*²xQŒò +Zp•އe<áJæösC*;Õ÷®)ªXÙQ†Ý]Aqu÷Ñ¿ÿojy¨LM+Wv+…Ru¯Z}ôµ¢ÔfVPýôbìŠ#Œ•þÎ.óú—‹pÝ;å0—)o¥p±ºû{P¶lØ/‹U¾5²ò! Av*¥kª­Te%d*6I%jÒpÿÿNØÿÍv„èÁXl"!ž \~#gÿc! ¥|}€ @¡ðº @ê (ÝN“.-™v¨ ,ú[èP\€èaw‹jF|ý–Òxàñýÿû +Ò·Ýöx«À¯ËÌO0 ÿŠóoKööÏþµÞýÀ}]ûÑDÞž~[»“Òôìú¡"°ÈŸjt¹–Ab2x£wϸߗ1£³Ó©]è‰`͡Хm\1€€1# @ÆIhƒ:° †¡›ãægF`T&½îq3,uWXnt˜ŽG2 QgA.¥$ §º¸Êt-*K7°hâq‚ˆDVWª€Ž:‹®ô,j‡« -2"±€túP²ï©²lO’F(`@K\YÜçq~ÌFJE¹?@©‰¦`/Μ -¸;æÁ^¥¸´×¢AíA‘Z=$jvúëxþD@(R XÛèö‚Âj°O5ú´Ûžwè¨So4Ûa¿ˆ¼ Ýiv•Kl€^ÚJQf”ˆŽ©B_Hòdä&9ÉܪKjµýF“»*ç™ÿÄžd;û€lÃð@yþnÌ>€`~…ðtŸ0®Ÿ-ö^xµïê?AúÈŽ`C€åmЫªè, Iœ4 ½ßèïó;:ç-ú¡X[]Ëæ€d±ö—€ï,3—Ÿe»víZ¡ ƒdéâµK—fff.ã·~yæâÅË—/ã9Ž( ¨Ë×.^Sü»gß=ûú¹³¯¿®ÝŽíˆ3ºë+f.:ïe•Nñ3TPÐvé"‰œìÚU]“ûº ¹xM•«Nš€Û¼Â®äÚUʾzY4Dw}™êRÆk3j³žébášïÂåëxU™/¾Î,ijµïPrÕ9)Ky¤Há2 q;âHé -ŒØÆëÿ˜pO`&œûnÝ~$°ðÖ›o‰Š‹¯ ³cÍÞòMpÿ#z("Æü Àõ Y€-Ú±¼·´t­|ûƒpfÏ9Ü,.¼9unj -oDzÀ‡»i°!RËôÛêÛð…6ý˜|n"¸‚ÿ`lžÄ…UôôííÊ8$åÒm}¦´“^Œ^é!P~æ>^»—ïðÏÃIIŽ… )ô°Â(º~ƒ -„¿ÂoH_^Å}&º&ÊÑ JÆ hñíÑq§Ñêð;n0 ’8 Ò¬ü ¸…j¨ÉÖèaha°î ³¡4;'Ù`nÄ–ÈP^N© Àåé;·°Xк•Gà”,&(} Y͇8' Qõ -ªØ¬ À ­:r7Ê]èìºêûÞSŒŠxÂÓ–ñ(Jù{ <#ï€á]¥³T.¨l>Ø[Y*íÕ ¢Dˆtë¡ e]¼6íÔÌრ-ï*CwŒºJD?€’ú†;ðÐ÷ø-¨ø‡ÝæÁ~½öwñä;î4ëÍ6‹Q(þäÕ·¡  -òßËþ¸kÀBú¨V†ŒBšõƒƒ½Z­Á ÂÇzŠVcO‘ øu4اnÿžpñ`{k½o%xðàSñÔë]›ðçÓ=ý&Š1Þð¾.°:;{w=³Ìæ,§8ùý³ó|Rß½d†obLÈ</-ßYrð4aÌýÑîÚµ÷~rMÐzñ’N<à’ñP°OÛå«×Çe ý@Ó”`8ÜêK3—¯’OY„§W•ÛRP±‰%‘…³A1._äþ{‘æÚµŸˆ'¸HßâÀnN  &ré'4$ê¾|zbK¹zQu]ÐiC*ć«3 Œs«ßPÔOÄ!”Qb&r™–¨ù³äÂÔ8µ„o„gÓDNl3'ûÿ“þo~á¿¢ñ…TðÖ_ - ß|«úÆë…rùœYè1á¬ôžà„€Éo` €ÀŒˆ‡{þÞT¿¹øÖ¹s?š Åxãâ­Ý÷‹zKi øŒ™ÿ¿àG‡dÀÿè0ÏOÚzÂ…X‚öÔc“G’ÙzG¥ ÆË'÷bø ølû[67V¥Œ"¯¼N€Ã 'üˆOàT?þ­&s£BêGZgkßÜÖYpêIrA[zôTß×ôÔ£ñ*kâæ¦N \›¨T)ùØ ’€B)“’i»ødPöœ€”= ùâã£ÏH£|ëéÓÿVy Ò‡’©“VÃ"±Õ}û=(ÀÃ;‹+ .HŒ‡¼ÂLÚÊãðˆJÁ£¸DžC+Ôdä]ce©¸ß@Ã&jP y¡K§ wê{5¹´uÁ,Û·lt _­„ð§û–\¤ß{àãnso¯Þ"9®,çwPg,àã#ðŸ¿ÏB&•åoLE€û4.è:ð‡2ë­f½¶W­ÕUÏCåþ³M–€û„ùôgþéú„@ÇH;ÎzŒ¶ÛäÕún 4¿»¾qc~vv^ï߀D:`¿Ìð–ΟggWÍÝýƒÿ !² ÃÉO$Ã2I¨öRžY¬ Ÿ*‚¹ÐÑm0pKIW^áÝ%.{ \^{W xñÝŸý˜YÀW¥Qj7X+DwÔA Èj €!Ü œ†k(˜)ÞX.¹rBÉnH†ÿ¹hÁµË1´^*$eõ¸ ©É,ÿ¶"¨ -•À€w1EÓÁø„U¥dÍÀð_hæ%œÛÅ -SŒÓÿŸ` í#PwqêÜ_¡Þx½X^H€äxçÎ?P\ - 4I ÀÆA†ÀåÒín3 ”‡üÇ¿œz“õšŠ§Jwb¾æ$¥Ñ …ÖÆdnÞ“A@à ; šã6¾F,„‰@×÷ûàÎZf÷·Üߺ?Gxïû Ï8f îT˜,ÑÛà€…“Õ+ÓÚ,#¿,!£8À«§ývx‡pý%t¬¨ßé·;;Þ⺻’#:0’ZÍÎâAÒÀâ žº°•_×='@å&Þ·”Ð8«ÉEÎ@HäÄ= €7ªs@ç^€$©ê@ü€Àž€–kÑ•Žj'ÇP!×ï[Q‡̈?ŠäèÒ±vÎàôn¿¾K?Œ0·Ãäyû+Åå&X)’øês"=ÝÏrÜ=j7ööö›ô0„0´stîàÆl¯:¤Lþ›Ò¤ Àv‹)Žš}†ìbͧAF½Iî#`Á‹T_1;ÿ¤ÕÐ#hw:­N§YßßßYÙa1 €I©é$½,åÁ¶þïm`&ÀŒÀÆõ¾mÌÿµ¡ÖÖÏG‹ñû4 4·`óîì•ùÌ€ nê"Ìç@üœ\™»2{OMêY2€édȼì S‚þ„j/å™å2xvª$Üó~ùW‚»Ë‚3a ¸+4¼ -ðe¸«CÖö‡@Ðè4@,S!« -@U§|•€‚€2è®K¿jÅÖ¥ïÿØ•ü]ÚoÛ.I¯ÏÚa Àå¿*ÐL罬Ò ŸâRX 6Ûk')€™×1^0=Ž¢ ñ™‰8¨ÖSÌR¢—i±jŽî«D.FlWgnÝš¨ÿ[£¯Þ¹ƒy_\@Ÿ›š*þìâë…rÑ«* -…Œ€Hþǯ±À/ -j13e}à¿»$U€rùÖ¹^~ÉÍë”ÿ#ŠÅ©7ŠU<O±0“/ùs䮿Øâc èHZEØTÐÃyŸM„ý_( Œ@ "¬šã¬û9a>ž¤¸LRlO<×ÐÖ–ÄìçìD€%Á½$~gð镉¿Èü^c.̵[t/+dÔ  ÔÀŠ^Ï%ÆñoÃçÎ0Á}dž= Ù¬Á)Pƒ)J œ™Ä”ǨôÊLÉ 0—”&LV ‘¶ø&l¡±I™Y\1¶ P¡n&€É¥ÞYÀŒ¯tpŽô-P?qªFŒ€p<»-!Ѷ¸K‹ƒ~覿(ÚÃ…q|ÂJ¼)½ üFÅö*K¥½–Ü<(´e@@]a¯Ðù°{°·»ßluƒæ -x·„z/DÅètZñVLB^ú¤ãc8{ñìë?,‰bÁs,î H]”!{ÐP¸ö·/ w)ÔÜCèÑWÞ¸bÅ[↨$7Ä%²ÙàÝ¿³^/ÆÒ³ü-€ËÒÚ)ख[Þ¥ àòÅŸ\,¸Ý f=€.Õ`.âù¥-â4dwWÍH˜?¸]š˜ÿç„þ¯ó?xF¯„T@ŸXœ™z½pk±`@InÛÀ À¯¿..þÓ»A’àßÂð&€êÒ{3Ë’@šàVù憿œ‚”g.–«Õ7Xµ9“ÒðE,áôû®?ðýÅgÛ÷·}mãÀ– /èþÃHòÅýÏî+Ç[÷±!|žìúÉÀ…hPz*½%Æ$x¿‡³r(ô±‡þ}üñǾ‹(¬+߉q¿'`|ìsÒ»6`Œ“n×?ÉúÙf@³Í½µ>c€(0M›@Z!©½R{Â; -<˜©°Z™·jL1$Vö \ZUN*?ÐÚ¸›vTê¬ß\ šbUI¼‰ƒ-åÂ)¢Y‰(•Z¦ m#dBŒDǧGv×'—NÍR¥_õøa} -™bèC! _ˆÈÄS"Z3‚R( FxZéÆ+d¦S‘ó+ÅÒ~Ãèï¯>/éÒÐûø1óøvÛõZí>&ò'3KK„Ø<l€ÈoÃÔ"à*b#/>x„« P²>Ývã Á4þÇÝnGèMqdÂ]®±œ´zØÏñP4„9 Ûõv³¾_Û«›Sèš6PÈdIÿÇÅ€ùÕM,_2Eæ,±7KxÂ=,÷@Ý1LÝBòÁ€¹é9&ð»<›~ÿàsîøk²æIÁ*Ä${ãí WÚ£ÌôZÂFZ¨½”g¡{BÌI›à.õ\{O*ñ%â0xmÜuO{Xf2 =oèš]™f.‹A€¡Ñ˯äV¨m¸„’MX8öán(ÞÀsÎ@cðò*­ð–‰KjàëÍ€w,ªGO Ϙ™ù[•uÉ€N«”JgRŠ–dºþÊ !Í̵pFPeŠw+uM[ðP”-ªnxb›¹4Yÿ·JçÎsç#!.>?šZ¸>õúëÅja1#P€¼ÃHaøúÅÂu = àßlPZÀ7K×JiE08À…©¿ø‹sç~ô#qŒòSº˜h@‹+Ÿ¾ýÙçŸ?øôÓ/„ëf>îø¶$`ù,TÿíÏ?Å€âþ&Sõ7öŒ“ðÞÐ/1ög÷rQ–þLlFÿ¼Æm?ØüÔ‹´<¸Ë¿áÀ—Rø#X6²é¨§ßKD K$µ°BxùT÷Œš|„’Bc©. ­¾ Œ:"à¸w öA¬.œ@À˱ï1!AßêR‘44™ šK{%¾§\¦*Ž%AôuDJ®i'MJìkЃ’J·a ‘ݸ|M¦4†O?‚bt!x”v»­ƒÒò^Ëàu@hïÀ&lŽáùÇG탽Ú~½Ù¢ ‹;ó‹h$Èžá¿"GÈ…Uv@`¦ï¡­òU;Ó ˜·™š¸›8ìvÂ|uÀ™ß…ѳÀ_í1“Á.:H»MhX ¸Õ88¨Õöìa ¼¦T?Qüšœ"¶HÎY¶?} R`smξv^(?X“Goq°8tw}ckcž)¹èÿ³a€!Ù9/dÅÒ0gƒƒè€‚Ÿl}²™zýÿ4@à?o*ïl€—€ï*B¶„˜“6Á\H'@+Þö•l½RìðWaÀ Z-:›( P €6ä-ƒ£.§Q\ÞN`ùå€À ôf-‘&žo €SÀ("§- -c iJ"΢ÜÙ(Ó–\@8(Ry§vä}D2TP†÷'¶‹W'ëÿL À|âÂß "‰—þ¾§YRza²òýãí¯èÀðŸÞ}}Æ ëøCêÐáÎ×"^Á12{ŠÛåÅ7ÏýÇ¿üË©M½Y…ÕËÕjñæDÀÖö61÷ûë,XO.GL?ŠËŸ°Ý‹Ò#ð…‚BüûŸÝÿì eÁ4é!÷q/„A$±Gа¤YÓ•d ;–Ä)Œû=é«ú'C:îÀÐ/aQ—ÅÝp×¼!àã´ Ý|¨ÅÖoA=4}à‘S@i ¸ž +Î… X{¸HyÀE@Ý¥¨PËá9éû(Ÿ‚Äd•Σè {¨ÎÍuÒñu÷ÝŸØ€ „5tº à]œð…¢ô8›G¨ølN€ôÓ+‡9o:ëGøô,^›"¢v-ð(˜ -Í£O 2Š è™z@Ûi8Ú€@"Ñ4 -€4PÈÐ3ЄK×.^u‰9ÔïoôyLÔÿH+óß,^_˜úѹ©7ËÅ…‹o”«€"³Ýf$à¯<  Z}D@qÁ€‹6Ì”–Kåo¾ù·?„€'zT˜)TË€8€EœUY¹¸¸°8õÖ›SSÅ/«{Õâ$€ô÷œB˜Ç?ÝŒÏ,Ÿ}~ûs”ÿá¹…sÞ)п¦œ‰’¤§H&½_–À|ûèoI¿ºcE?ùül¶ZM:ŠEFºYO(” -|Àžb $¹` eŠ®kA! )àCoÏÒé2hÁSmEÀ1è¢:ƒÓ`&÷L"sP‹½òz„›ËRdÏ  ¥ó®Mê?¸LÃT¢Êöä.„&$FàÇÕAjj‘ÃHÈîvr#6'ß)Oq<3U‘XÚÍÄdS^¾g7¥Fcvoî×–+B]5ýúhŠÒ„¹þ°ÛØß§ {¨-†ñu¹Í^ƒ¾Üþ€þ³‚Ê(øÀü!# öA|Åâ ^|€¹qêS„j;2üûßÀg—JS:0ÊÓ©Ëš¶G5ÔvvšŒKà_ô'ídIÿÇ“Ä>wçÖ¼À—±Pø|`Tt¬Îýõ츽à#·úwc=àé¹ÕN€¤ä‡Š=…NE ýÿá€qϺâ½Ô›Ê;ûÒðýˆÀêTÁ ëñ¾öN€D -jzŠ·12á®`öâß]~wȾ’,Y.^M2)—ð_҆¯ÐßwÝ´4 -@À¸k«»¤ rðF´ÎÍá2 SÄ–æ€À€T>½—’ÀµûÍ”D§^£c`´$ˆâ)&¾ä º•]äà˜M{ÂÿÑúÿðÿúê«?|ýõ. I_¼~»¸°pñýê#OŒ¤»_ýÛ¿ÿë&Ýù÷o¾úê«?þñëRqÁ=A.^+-cøƒJyôh÷«ß?ÚýºR¸öËReWµíþáÑ£¯‰6üéݺ)è_8·8555óÆa˜ä€Þþùg½aÿÑÁŸ¶ð ôÎïJ_øžž~©UÞý ‰ü¸”Ô£Ï'2#¥8˜d -DOX - —Ö¸ßÿ²d`Ÿ“^T`Ë t:j³¤ pÁï¼QMØ%ü´‰‰¨=?7]§3Øç¤t¡YYÆûÞiœÑARKï¦ãßeiÇa4uBD Ô'\œèmèćn.Êñ4,ÒL§f§µøöëiÈ:'Z£öy4#eΔL†zGû&œA1zÇñm¸lÐ>XŽ.Éâ|"j‰ÓòMÒvE›Íˆ5 l‹·>zs»u°'Ѐƒ±CbxÌ u“¥{šLÜEýgÐn¼\ú32·¯.Ô<þ~ÚÔšèi†ßÅÒ¯2öjÍ®þÚà<€f£ÝvÀÝ?j|[é¸Mk"?ð~]ñÿA¼žD™p¬×vjûÎ%N£;ñmM”ôî;½é´ê·3œò&€j/å9DØxš¤.÷¤Þ_ -•(\…ÍJÃz6âß•m€³1€Eª²-@w¨Ö—×úðH>زQ‚se±…@š·±·?ÍQèÄ(€KUX§ZF6xãõ/cÀ”¡¬¤ñIõôP¡’4 -À…ù ¡ö`ÿÆÀû›v÷Dýÿÿµ+üÿ“½yîÓLÍË3¯ï”JÅRi©pµP,WÊɘ/¾Z­(m±À ÀÿáßÜå‹Ë%&AdÎäêî#æ,-_»ô^¡TªxVÇÈÆ¬†Åå_LM;Çt@S3m¨N°0‡ù¾t÷èÞßîmŸóÑ. -8Àh•œ7<{Ïq‰ôëd¹ŸF J>a–ò¾°0©]þÜÝOOŽ€ú'ë'ü™Ä/KûLÒµOüdOø½––ÙjÑ;lô6ÀFàQ`†ÛœBÆs‚/¡k'PPwH.à‹áqÆ÷qòµp×I„>®Õù…ÈÜH¢âÐçI$u¡Nß± Õíº\:Ib±A ì;/¹¨BÍÑÑ}ä´™;È1Å¥G”eÌ€(“¨ ;‚Š´þŸ¤´ª‰a„äŠÂ‹qøš'Cõ}¡w:‚à½ÊJ½Á÷Ls%þ"9Iˆ+l?ì40ßK•ï°rOW˜ðï$ä¤NŠñA Êb -. -þa·SÇaè'Vå¶êu•yÔî6˜ÒΊÀ¼óR¨9AüCpTº ! `&À½ýZÍ„ÆÀO“ôêãݺV76×pðï  Q°Ïâ4aVx×GG½ìþ‰°{=|b€ uaèY„ü=I˜öRžC.'Àœ´a0æJ˜ Ì|Bñ!ëºTk)Þ™€€ „Aëä!` €0“œ@ÙICÇ ? -€.ò‘Ÿ›YCT ` îº! -…)"m€wÿÎuªÁð ²Ç(xÇÕž€²ÝB}z>ïz໽.º'è2P« ’Ô>1 -àªïÚØ.^½tšþ端ý¡\™yãœpç‡gÏâB9££ -¡¤pÕ³ªEWʼnffÙÐÛ¹þÛ°:7=‡`Mï©€Az„$)9éãÔóCÈ Ú¿©ÿ=!?ø¿úqÌÈ‹ -Ð; 8±p´—òp9q I¨ÁL€i€_hè®÷”Xz¶§úÉY€°Ø”LéÞ½6s5Y©4 -@pš÷°I£K¶üà¥1î‹ÐF™—è‘À@›¼‘çò»Bg ®vf£ÄQ…>< -%õ-='@š™˜ˆÒªìðÈ`U` ÀŒ‚TŸCýþæ©OÕÿý±\¡çÎþ?ÎS3f¦f¤ÙKŠÚ–v/^¬,•"B×…%溪4S3]—–––0,³Â2:ÿFÉ{¬—*;¥÷J -}ñZñs?|åõטdÀ‡ |ûö¦L h ÿâ‹í4-€ðÿ¾çôbKšë÷Ê´äÊ4&G vCLƒ‰ _l–sÁg̘d\ ã$€?ðÐ.²8@d‚øG] E׿í²Í˜j´Ã;O× /¨êWAÙ¹ˆ!¬,R [ºH¨ø8f棧ÖÂ(ÑJ¶N¶ÔªÓ.íú©§-÷áèö´ˆ²t—(2ã  8Ý‚w@Ò2¸´N;2ˆ 8‘÷0Mð’­”NS©I׊6‹€)™‰©up|P{Áf•ËL9­V}o¥Ro[SN¾€ùÈ£vÓMßÜß`&;t@ÚŽiDàu­&JàbŽºën‡.€ÃVý`¿é?óáQ[¹ÛͦЦ·Z-r–µ … ^Ô‘º\¤…E ºÝn‹n‰úþ^­¶ßòðoÏ éÿx’Ø`m~mkûˈ·­‡J6nk& ðê°ÚßÛ±Ö£· È æÂw[æÃÀ0Àgñˆæ ‰~X¬Ü£À>™ÿϰ0  oH˜öRžC„À§ˆP0óìh´ÐÁ6ÅôptüžJ,‰oã.Å‘òsLëû®»ì…´®œF· -ßï€o 0àš A3*»2ê)LÝ 2€Pb±d>vüÉÅ)$&'Ô£=oð˜lÐ~ñO§èÿþ«FÏÐû³……÷…À7ŠþT+‚ï‹ åÊn¸êŒ[_©\X˜YøOçξ¾P,Wvlá_©>z´»ËK,BÄjJ¥eмZ»*UTÒru§R(Ì«Åsbù:3grÒoÅßÒÐÍ -B¾ø<º÷J‰öK"!fD@ -`S:«{te3V*$Q”P˜ Áuò1îR%p Ф0¥§<]I“wN@„ŽBs%Q=Ì‚ÃÚ|ǘ|S Ž_œÊ„\DÛŽÑâi{ÔC×¾ãbUë8˜Q -à_—Šƒ €ü1Úß_D<}#ÊDý|EjŠr*JÎç°{ÔiÖw—W]wJy@@ÝØ[ý݃z½åÅü$*ŒÛº©dVÿÁ_ª# ^;Ía»í‡ÝÖþnú  ²ŠÔ=±`§)ï‰v©7NÑaÔJ“ˆqt:úoi4šÍæ^-F¨"*dÒÂÓÄjþ¤Mb ÀÜ:€‡_~É@}ÌX¬ÇÀ²±š˜÷°ÀȺ Ý›q=YîÎM30N€ƒIäpÎtZµÅnhç·`u=r€Œ¼´|o"hÝÿâ¾4}¯?Ÿ±Òÿ14gouÈ'ÉŠ?ÐÿO?å—Û…îré7@?¿ÆN _¥¾¿õž7@¼"Í€<HП¤‡öã$ d¼¨Œ]  œ¸ôë˜ghôe"|c -ÀT -†ßœÓ¤£¹ -(Uƒ7°>p -œ«Bƒ4ìÎì‚ÝMo£€AX7úíÖ -ã•_pø;ÉA`üäȬBñªÀƉîPü¦#¶蚤€¾cuRe6îSa>:Ô²ðmÐÃ@…¨<¨¢ Ø©ÛQ„¢ŽhQ€N}¯¼óÈN€ÆæÉ"8Ö_È>ÍÆ^moÿ ÑéÆ%yéø–1b9úªíÆO½úc²p¿ \x­ûGm†6=Ž £?xWtÀ"8€ZõW¶V¨Í”O+UIÕ=d £Fš*p·¶WÇÀ`=epȉ’þ'ʃ"«ëž -Ø]|ÿ)‹öI±Fù'ÝÆøè Çpwcs]ÏäÀ/ÁоI?1p²$ü?+€ À?$aÚKyàO‘Px“ÄL€Â2#¡BF6»*7¿œ@bh%Wf¸dpSÅ+×(€4 -€Â/¡ÂgÃb)¢!áŒÐÃ4y]ÑVh‚"0å“1,¯Ò¼eè¼Of&@w(š à+¥Âô ù¨neGÊðþÄvñ꥙Óúÿ«Âÿ™……ë?ƒ˜X„Õ‹?¹V(ïŠ 0io&Õ²Ò(í_1`9eÉ­4Öÿ¶à\WRæö£ÒµŸüj›€J©Z¼øaŒ³ðSñ\b@¼ï!õ– ÆëGRT´?ûâ‹mýf=`ß<|øð·¨ú·ß%ë§ßšXJxu.Vž½2'N .â’žAò'ø÷ä/_=…¸ËW?Ê ¦Ÿqýî ?Ñnn¦ƒæÀJ#²軺…âvnMZw¸‹.¶ž‚–ºáÑzÜá¦D©#ôœ#ÕòÄx¥O¾ÎêD!”‹­ÁçTþþz›ê‰Kú>ué~¸2¸ÅLô]Œ)€Ô9T¯šC#Ȥ4<‚Ó¹6q532òÝ(7_IÈîïO±Ær©æÒ½[õ½¯È7BÒߤ/xýyòÍúëî¶›tÚ£ÿë/Çíiµ–€Ä¼ˆƒ®1Öƒû ÙGã?j×÷÷›ÍŽgýáV§U?hBÚž™Áp} вåÖù6•véTh‰>Ô{ÕÚ~³Ûþuß-:ErºþèM‚àÞ¼ = €nÀÃÅ„ÖN¸ñkúàÆÈ½p“%ˆ€¶¾@P^ ½ÄS9­ó¤Óê†{üwÀßÇUœ|’ô,g³å€_Z^P.gˆ9i»&Ôü¼i&@뻺ú^óRJ,BVÅ' &€P°X÷çp EüXìÀZá4g£€èdH ±@¥9 -@·© @à6<Zc€¬œÜ¤Ü(€“k7B20 -ÀO6Æ€€Êš¤ÿÿ±\6þ_¦‡àúÂ0_.—Þý‰à>¬ÿ–D Šåâ›Âîþ`J,áýÒÍRU_À-“áÿm1Ry·RºX¨04  Åë…sç^ùá¹ÿ4Ù¸=IÅ3Îwú“-R˜ÚCñ ØXH›ax x¸- ðŸûŸ'ùíÇ¿Yã§ÆÃ„Tâ=ý’\YÝÆMà@þ$þîùÉ!Ø2VÐÿu||Œ ~C T<²æn·Å˜ó%€+èaâìæÆC!_ô•ƒ‚:&°µ?ió¢J|r/î?U~œž².ÄD7;Á8)e4Å6ˆtÌ… -xB³´}ò¨xÁpÁ ŠM¸¡æG4M)´„&)DUXò]ÝqÀõ†D.?;µIùvR]Ç·EñÎ!í\ŠþŒÍ½q°¿²Ãô{£(€á1/‚oEê†0ü`o§vÀT€°Üi»Lû‹rN5‹½;ðÁþ O¡vKì®ÓjìïÕjÅqW„?þúÇÍ!´JTW-¢c‚ A:Ú‡LÐn·-F¨Y™o"L…†M–pó› J>[Ûÿ À§vdÍ@½9~¡,I׿¦§ßÖæÃp`:0{üžPÍ€õù+¬tw~Õøï;‰8è«©øOKòG~Ø=ÚÇ g`ÞÎdÀ YÂ0í¥<€–“·ð.fì ô€ÎáQÀlZ  o½œ: ¸g.‚ÕW)ƒLÊvýžÀ>Qh@ödÈä ‘¤†±\E;€Q4”Hø†rÅ(iíýQn©ôéùx-€4€«þ§Q<¦$Yòkœîpªÿÿ5ëÿÂ}VéC -ÅŸ ÅRqæ'K•]ïåeqaQL`¡ø£©W^yýÂõr)§º÷ÄTÃ󕪀Àn¹RÁ°X4° `fŒ €_Šï(Ÿðs# äO{ÄÊgŸÞ?¹R°„~ÿõ —Á r¢Ë­ímwK¤m²$äOÒOôá–~Æq 0js)°üÙæŸ¡g: í˜Q x‚Àã#ã¨Ò‰E•ܧ¯?ʰf¦ Œç¾C.\ ªâ]]ðŸßÄ×F±nàW¯ÝÊ„Î܉b‰æYü0qd.`Êd -ßRë°(¤Jðp”娲’ qœƒNÅóë¤/LéCƒ!È!C ÈR¹;ÍFm§VoªÉ€éÐ6,Ä™‘6ë+;ûõV“Iû,€ ³ø‹«Q" -Öæ¿"–®ÀšQ€Ý–p^È]?¨ÕõgVÉâ̓fÛ€ Ö‚Cfõ—€ý†ÚÄ™ ÷ï)‡Hó0ð ¶³sÐ5 ±û\À$á'mˆ»lðrÀ"î‡ €v€OH¹:÷¶ñ>ƒýÀÛA·'‹ €Àúü;"vH]ÈÜ €¿ôކÀ4@1Ï÷ €?ä¥à…mx²œ…¿ ¸K3 -GÀ®/¨Í[8JDå²äF ­¸Š7Øiô À˜QÊõ3•‚Ð2GbÍÀûào…þ>< -%õGôæPA’Þ(0^Õø(iØDhÜhádý¿23cýÿúÂT²,, -á‹%€™Ê×LŒAàïÿ>õ”‹‹‹‹ ×Eνòzá+£µ½’à6™f`  Z©Ê{»»¥riïý -mKî˜d°Ž?IøÉèiÞ tE‚Oô~‡ *Ég÷Á~i*ÚAù!ù’^$P‚l{ø›¾G ÃOë HÈŸ‰~€ ‰~˜' Ú¾]Ô<ú#8¢(PS€kë9x' ´R³ú\aty öB ·V¯ý[¯²sŒê|?>ò{@>–|ƒ9޳>ðA˜Ë‚/pW¤¦5Zµ'ƒ»(”œÄ¨óðµÞL@÷uŽÑjeE°:€[Û“§z${ ªÅbIû×'™@| %¡ïë–#0AI¥ºmŠðL ¤¤ÂfkÔÒÃ1ˆtÕl,C›ôòA…ã¨Ö­½Zí ÎšÖ¶‘c _7ù£16'$樖»—€´Âú^€G­ƒƒÚ~ƒN|@\Þh4üÇ€¨FbîçŸÌ7õÐ.ŽÈHW*£ç{hµ›­fã`B£¶þ¢%™“âIÿÈ%†®m=xø¯¿5Ø~pŸ:>õ‹þÇ {÷×ÂyI%YÀ öÈ=Îçÿv˜_g…á¹ÙÙù9¨A0ãºrÈáÌ`Ô €$~˜ðããXÌ+oøÂ[„úýí%xÜ& €d(ôfÌæd üO¸#ý‡ç°èô `l=1 - ùkÃ÷Ž| wéˆdV¼£ :€À€9p͆À%†,:ïeøD\àòÅ4€ `ã0´€Êô<ÑF“êQ5y ÀàZ“áý‰ €™ÉãÿñÿGÿ_xsêÍ ÅâÏ3ð¿V–– -AnÞ¼Y¨…þ" â ¯¼2Uô‚?‚þ@Ïdô¿u›5p `0dww·ü~y·Ry¿R¼>déÐõ†ýÛÓ“PìW›ƒ>};€hÂ} ÿ÷aC’ñG -¼AÌa`‚!I‚üIB±HXŸIvÚqê0@Ð:ÿô <ÿiÀY(è#´¡tþY'xd±>3ßáÆô€UB$P 1@£NX<€xcÍ™² ž\ê£4Ožˆ2(UªM;·I :sCG8AD/ˆu Çj"‰i)Õ%Tb4—ålªp=žiXôÀæÂ¹#¡ò |\*•Ñf}YåÊaAgEƒ-,ùR» øÃ’²/3”}em×wVpT c݇ð.„Ædš¿‘ÚÀßñ¨ÓÀnßj²¥ö7j{ –’´»ŒlÖéQhcè02PyM¡üo@2º¶1P¦ÉÀ!dÁóK굕Ås—ªÝ®IÒ×õGoˆ^¥Í{ók›ÛÁwÜw@Η”kóçßž¾Üëà=;æÇHÀ>`œÛ€ñ³WæÖÖ×Ó³ ÿÓ0Bô;ðÅÀ¿Ÿ|²ñ±}ðÌ[`= @Rþ“$H{)Ï#IÍŸ$ ˜-¿ôL€RsÑš‡Gxp]¶@f@•6¾‚³i-ÏÀ|5t0ì#æ0îf£p÷¿ÌZ&"n‹»Þ)ZeæOŒ¸|)VÊG(ÅÐ<Q’ €Zl-îM”À ‰ÒlÐ3ضñ>jáDýßþÿ‚÷˜$ü/©ÒJì/ì`ü/ -¹ÿ o½9uî•׋»vý»™´ÜÿÿVýYHÇ"]å2 T.•߯Tʶd~cÇx(þ„mû¡´p{ïçÕžáúƒ&ùŒÄ™4y ÀýPÿAòç–|–1&€` ù39¡ü‘}~Ä'lúÝñc5@À!¸»Œr =ýõò§ºgÝ84Ƴ=£€’%{*P!A»ŸJ`¬‚iù¨Ÿ¼:ó´.–¢ü( -91±L!1® jv»s›;(€¦’Ÿk«X“ÇÇ€æAµÖèxä^ÂÃIÒ=ôßDúwk¿VÛÛo¶ R·Ö ¾Ð¶­r”HKÐÿq€ÂnÜ~éêØö[µ½ze½ÛmÛ÷ßã -;" z×½äöC0àŠ… Ú vY¨ía€fƒ± Õ•ýÜýÿ¯ƒÓ$ý;O”íôï¯n>ø/@[ÄB™lÒ)·µŠ€ðÿ|fõ×Þ O?bG|‚ ølnÌ_yg~mÈ9|­êGÀ(éY,égÁ? ^Ö7ŸÁQÉ ×6ºR7ÀK À Jæ„ …·w1 â„„9Å['ö(Ö˜œ|%™-ÊÛ·¸üœxy\MÙãnBåÑ£DfpFà)@ýȈàR²ÐlÚn›PèÙ ÒˆÚ¨f%¥Ä“>nÇi£´_ž™¨ÿÛÿŸ}jêÍ©ŸA–~^ü9³ù¨•âÂbáKÅ‚Ýo`¸á.€…·”þÜß(JÕ7¨öL÷ª¨jÕŸ°>= Àž@Xó6€Ñó€ñ§‹;ãÄ€ØCâý޽oQÚ¼à~Ÿ^<£ÐqÌAyNR€@m ø“0@’À>'½¨ éÇm(î:¡ÂÑ—'8âìýÆŽ`‚tú“Äx(b°ôaç1Bkø˜U‚lë¾9(ot†4ÐèÙØåò¿:Ó‡½påÆ TŽšTjÜC¹—¨.…ï€btpÝ -Ú­„âî‚PÚ{ùà7v]x„Síj±ÁœUJ4UL©è4Y³yHÕ„=@߆òéËîà‡·Â¸y] SJȾnc©øíF½¶»_o4›¢iBuë³É›¿4} Np›?¨‚¸óI©Ç\ï¿ms¿¶s UŸõ„™S˜ÅüÂ;5tÆ.ܫ͠Xø1!!‰à¿«FÐÐhìïTDDF‚"ôû'ÆKúž öùÛº7¿ºqßÙ@”@ð*ùdcS„`}.ü>èÇ[zÀ›Ä>ÿ²q—õ€q˜››M–d 0ô'ÐÝ,Lþ3Ѐ@fìðÒàÅ$ƒÌ±›Àóòßw`oš Ðú®n‚¾ýQÖ³‡Öÿûkˆäf4¶*¯Ð ÀÐZæib @x¯º€8Gܲþ(±Ï0i-áQkDƒigò0É@혨ÿÛÿŸ}êgɰXüy2Ì|X( -ý …Ìû_"½¸xÀ[ç~8EÁåò-ã‘°âlÈð¿g à}q²-l£m†ÔI>yc,ÀzаøýNïzX’0Í@f¸x^ÿ}2e8Iz’?“Øßß3ŒßSúy×O;fbýÄß…{`Ÿ Ì#ò;£]  »pSéb8IdÔ#1·ÁÊ|B¾uS äŸêÀ¥òq?ŠLeD( ¨%¨Ü:ašwr5’Û@º0›®.I¡‚lz% N5OÏ¡ º¨À¦#tzwH¨`âé,Ö£ÅF@Ѥ žàiñý SR‹Ž8!˜kpKWú²™@÷`gÏÀŠö c…)z¥¼K‹?Øõ €&Ú÷!*qÐ_˜¾÷¶Ó¡?'&导ߕŠßj5›b ­zmG:«m“ýáa³ÁZ£N«ÞhµZ”!ü¶  2S&l@劊µÀ €'C§%ÐjÕ›*±²³ßÕPCÔ&§8EÒ?ò$aØÿÖ½¹ÕÍ­mwx*`ä -©-î+XË?§ù÷"æÇ ,À]úÈ]ºXw{ŒÐ}wŒcé‡ ·GŒ}°š[  ‡ÿ™ vKB´—ò\‚~¢ 9÷FÄL€B[8oÅÛ™p7Óñ‡çFêpéÄZ*dô<îZñfÄŸq÷ÚR¸#†@ðã á‚ eÜLáàü ŠÈ,´Í-Ô§ç @‹{]tO¤Qº ‰ˆ<ßZL©3Qÿü‡`澊%ÃôÏú‘›7ÿ‹‹ o‰,üå§A<òÏèÜ’"_³@Æ}@²ü?’ €ù^ùá9¯ 0< õTm8ÿÏbО£Ï$ÆÿÔu \hüc$&#-ýëWO] Ôh5š Á+ -;„dž×€® È -îØDÐtŽ>9>zúä c•Øq 2!t|Á«”`ᤀ€U±º¥¼Œp‰ž € -´ªºGüt…±éšŠ©lNÍQyíGà"t¢ùĉ¡ åG%´ÌåR(ν°ìÃ^|¢<Ì ìvA€˜ý×.NÔÿ“`áM,þg€ŸKÿÇ`/ÀLo(Ù[oU§Î.|s»ª àÞ½÷·`·?ÃaˆA¥²» '¡XÂàõQcR'l#-gΜ?{æÌíçÏh;{þÂùlÞŽLòIßàE, þÝžïfH1Ù ýzOÓa·¾»p °-=Üþ[76ÚÑYþTº-fXäp—P ¿# ¸¿³L!}Ÿ”Ĥhð±S„oú£( š ŽähÿHgð=R  ·.‘ ×%0àŠc˜l0àŠ -(Â@ñøðŒé {%í?åúôDÉ! J¢RSc•†P.¹Õ€fÑà¡øµ:*ª5, ûG  -é»ý½ýz³i7@ú°ÊsÁ{[à äêJõǹCÉÀùnK™0Ú×÷jÁ4J& ^À/6Ñj5X -’¢èôôUýþP(ê=ÍB´¼”ÀþÞÊJy¿ÅpCæèvÄN‘ôc$Ï‹¨ÀÍõ»WÞ¬GN†yÜFKÂûþs)ì'.€dÈÖÐûÚ³ü ? €=ÚKy>9Õ`…×xWèÍâÆ6¡³Q7p÷¤€t,¹™ã•#7¦õüZ1 - P•û=œ6#‰v„Æp™*$eäí®˜FÐÂQ„CÇh´0ð²ç0þ{¢Êp8oxε®MÔÿSÀ=ñá€Æø?Süy¡¸ð‹úã¸(ø¾þÖ[o•§Î¾õõGŽßßWå¿ÒKy¨¦i%fÂ|`JA†¨Ð¼@ZhÀ¨>‹ X„û˜¨+±mÚ3ÂÞ—¾@Ôáþg® -M>O9žQ ÿ|œ÷™ @('Y€ñßÑ`Í$y|Ômî-—v„(¬^ƒÆˆŠéd³–ÍÀ§OŽŒx!V±C}¬S;Npª³hBŒ Z*0‚’œ{ aî|@g"°ø¦ ¨åˆ"NB™¶¸,”t2ŒÖɧQÁ¶À¾ ¬Bléô´‹’§"¥ÅãGÍNÆóSqºVæ(†nç°ÁßU“€V9€¹_i˜›¯Ë0À½½f»«8¦>MœHføàŠÔwI«ÕF ÆvÇWKûö Ÿ™ÙAX¬;\Ë[FxE¯w÷ôõè¾Ól4›`¶gõ…¸:Œ -ut¢K@mÖÎAm˜ð ãí&N„{{µ -lb :EÒ?ò¹¿%½‰àÓ‡¿}øÛ Ã 'ÀÕÙó$°}ÄnñÙ×iÀ¿0 pv~Ý3„ L³÷'DÍað„a¬÷í±€÷î% @¼©9oK€öRžO.dŽß¬ð&@Ì( Gk 0£ÖÀðè@›› ؆^ P˜ ánR¼É€¼ö¸d Ü@·±UÐaÊݖвx 3^ê[ Î 0r-]ª”yô ¶œæ ¯çôþíÌY–’`¦°´è3 oÚ°øæ¹Ÿ}}ûŽŠ-ßþèήÔvt},Õ(ÿ¥ö» fþWÊ×UIØÆ­ ÷áxÔvÒÞ'ì?{^!Ï_ÐÖ›¼3“Hnù|ë‹ï`0üë€ó d|À)_ê×%‚œé“Ь®V˜F?þ¸¶„ù†C ÍWˆÀîi`|óý¹ $ ÑäÄÈ+ÈdªtrJÓFZÄŠùS8jSª„›XâÂ(JÆá‹LE‘]¬$X ì>¢ÝëF ‘·Pª(JpncVAaOãóàðr‘Êâ È€Ýq:à -5!ˆNŽ\6ÅbCÑýciä(Íû{Í.‹ï£¯ŠA4/ÒðéñGÍo¬¬ììb²—2ïÞvvh€@·c¨f–þ£Î±mpEÅ}\¢̓Zí I¾°š™|Z ¦Ä /A¾;” û?:½}ˆÏC¢ ¥ê@+{+ÕÊÊ^ƒ1º ¼À&€­µ9º¼ ý1`’-†ÞÏ_žJ™Îíéüê™WÏd(?^Àxï1Àê•óWæ×ÖE=fûÙ`¤¤– Øÿ‰Í -~üqÞ ³˜„fqÞÇ3/-/&Þ6¥á‰™…eBžâmŒtRpûÚ»ùQ 4´’Kg)Þ‚]‘ôpÊÐi¤@w­x»îf}*‡R]&¦ˆpFÈðM^Wa è‡ÈÈÏÈ}X„[I½ ?Nój£6ºPm“ˆÈó­pñÚDýÿmè¹ü|©¸°4hð €ëo½U,¾yög»·“ z§|ó¦)€û< ü¿].½oç[v߇ ¼_1ò÷ý~ØŸ(³¼€@ï#¼°ÿ¬p_ïçYOšú €uã±{=’i/|^oûsˆÛ› -% ø39iˆ ŽYÍŸ$ÇGõÚÂBe_HbÜ1€ZœRAì1n|¬#dËöªA\~æ< ¡±2@Ò ØUè1™”…^‰)ˆ2}Àø@„]1ˆ¡•k%›»àV·h$qîiÕœjûÃÝÜÍQ ¢jÚ:ùï -\Æ´á8ç×)¡½î[¯wMl‘ȱÇT£§Ô)bE6ž@ž|®|ø-.BH€Guâ3÷}Áì.€ -Þ<Ø©ììaX·„ÓŠVy(þRâ=7üM"¨æžÙÑ[@ïEº­½ÚÊACðïv…ÿtüЀgñŸ -•MÅGfe‡gèŠ~€nW¸à -ZÌ$¼··âÏЀv&pš¤äñ‚ g`o¨ïWð_`Öÿÿc$Ð?A|n_õý$ŽºËâžÌp~|Ì&ûŒ{÷°Xlè[سü@¿'ç­ýÃÎ'@{)Ï)¨á“Ä -¯€”N3Zß<…ˆýQXÞéÕÿ™âóóƒºú3~à?ÀèµÐ°xiÉ3¬ð“€Ü(UêQ™!)8¹‘Éàu©À#×àBMHŒè9ÖÀóàâÄþÿÄÿ1 c–²€úðè[„ÿ‹dxóÜî],*ú£ª  „sX<>€÷+åJÌÔ·œ˜€_ëùã·a @@»UþÄ9/^kÄB‰ßì€Þ\˜_ßþ³  à9 ÀhIÕHð[^= - ,œ¾ðñÑa}§°PÙk¶;¶Kc8²à“Ç1%€ýæXg÷I,ˆúáç,œ3þ£ùr€´_X>Šl¯u默 @ ܹÊ4h¤ÃÌ¢$, ¤ ÷³Ny€—š¿}ê>* ½cžR=Kme¿¸é»Ròá2J`à¢[õw!$U,t‚“Š×}5 Ê‘Uprå8²kß -¢Wå1özä”ð®8ÁI²/B\ôÿöQ§ÛÄ`×]ÌÜdü¾­ÿ‡­vûÈD@Ú¿0œ]pÌ\žæe¿ÙlÖ鳯ïï챚€.o¶ö‰g]Xˆõ錀4~—aže€+lXú›êu1Š*]5ÆlÅ-Ÿ$éy’x`fØ ÀvÌ” Ñů¯$¬) ßOðŸ(Ï1,ó³oOÏy Q?N³sc»ÂðŸÛÙl0ø‡Œ°èµõrÀ¡Rp|Ùð‚b|™ ΄w1 Š0jµàl3D&ÜÈ ®  t 'Šv¬£\† -=@šFß¾w™â@€mjˆA–:ÜŽX Y¢Ú“?F(¦? -Àí¢}z>ïÚÀ<Ü—ÿÓ(=/õ§†<ÇZ$¼f }Rÿ¿öa@êŸür€©€oÝX,¾)•þÎ.ø_·(–ÿþf1ùÞþ@‘Á>°`æ`2,aÀ -pr>€€øgž@p¯WS -z=³"<çÂ;y1àÍfa~Ë™w ¶Ìbø^@$èïɰ  œ: ¾dõê‚@]¢ú´[Â,aš}ß À¡ÏÆà>6c(¨ üÚÚníðU” Ö"”55pþ@Lî)«3:ä.ÅwÙ¢ôûš” -(‰9DÊ蛎£“žÖ¡‹cµ<Úæ$$wE®D—^â?5™x»Ø}€2ˆS%ô\VŒiDI)u_D‰N?\C.àžúÖ[Íæ¾fÏÝwB’Þß)é”êîa«±ÏL€‚]æïežÄ@ÏìÀá¨gØW-¶`­P°á)ÙÚ^m¿AVårÀØHxó·èîÞ1¨¸#%„t=Ñot æ·<ƒ[£þhogçWU=Py”L“%ý'om=³}úàSmxð%=ÛŸ> ØXCéïO(žpŠ ¡¿>…ü9øÈùÕ»ë«1Àôô\Î ñ€AøM¹GÉ¢Aü.Yô+“ûqIxöRžW’¦?N¬ð& À{ž ÐkààöG g 1òÌð -Œ’§7 aÍڻРÀ €3d£„ØÚ,ýyú£„ôƒFÀ<âÉZæg™1òàQ(©? -à{_ àªø>È„þÆd€Ü€™baq©7p0€Ñp]Ƚ8%øOØÓùXn•³q·ð(Á »ž  Ì8€œ ÖÈÙnÜûÚþ¨mРW2T«ýôÑõDàÿSq€wÒeüن^[‚„à|Ÿ¿ƒÄfÂ}Ë+úü{(àpv–$p'‡GGm,+¨†LP'˜' G£N*n¨õdÐψÎcÉ'U\rÞ“ÀiÉr„©\ÈéÙÿR/;ĉ™ä=¹4;¤ 8Î'U€À÷`DÒ­ Gÿ€â)ãqÌÜ-H±Ê¤ ?G圴EwTI"&Y,ü¸’8FjéþzÌÔl=¥m_7|¢Ï€/ÈWQÒ÷*ª%„¬3¯ýì†LÇ'- ù!zu·Å$>{ûû†ðZ˜Ý>lÙ6/Ø=Dcøg8 5¬uCHŒù_ú}»!]ÒÐØ_ÙÙ«Û°Ó¢cà vP¯7Ûzý L -VóõYíéKhušf ÐÄ(*u¯¶RÙ©Õ“["f3—‰²õù§![,5jÛþtëÓû[«s«›9 ÀÖ½U[ýû¢‹Õg´ðפكíÚ|TÔ:÷#ÁúÆÆ:>…"ºwÕø0?Á`ÿð&ØWQ«ss««Ðûˆô}¼P_Ãx9 ð…%æ¸M`ÙóÈfÌæ0¶ SR)îCkJAHDgÑÝÅ 8«ðÊ•³PSøõmy§A]kðÙ<ø`ÀwiHæŒ\³ÑéÝ_Øä…oäFˆK„I¹ïDƒkô†ÿcˆ"õpA8Yžg-%¼†úÿÑ„þí},™ü_À[”Á Ѱk Àm•}=?ÀÞ8f`úŸ^@åýÊûŒ@X†çÈÜêN•dˆWr”L¿óÓi©ü?Õ6 ¿ßlyͱüË&]Óú9ùÞ,Áùû¢hUÉÑ›a0àe¼Õw–*{ a ˜„®zt¦†9àјɪ>@îõö­#ÎØiÀËÈSðÑæ]ç6­Ò‘Ì(,‰bˆ–x>b9XŸ6¸gˆLÞ§Y¯Ïàª+âØµ…]ÞìCUm±[÷—BÈE‚^@E˜b`ý‡šÐ…T…GòDè@•äWJˆÎ nqǼIiö¤à,ôÇŸ‚H}·‚øvó`éx!^‡ƒ[t¶hj,>l7™roo¿Îz@ôÛ ™1è~«+LÓ= -¿”°œŒbÚÁÿ}|ÿêû++b*ZÐ&z'<ŪÃ#À=ÿØÐê±@x¨Íî/òA—Bü¯ïïíìTÊ+"JwåP25o²l3Y6²=fÃVªþº6fd í-–ßË3¿~ ‹ýÝÕžÓQgGͯ޿{w}scss}nzzöîúÆZ¼-³sF 1KX„ÿb= w1,’Þ0@á¾YD ÁÙKy^1dŽß¬ð&绘 PÈ‹Ö<< - ùä×Àð5p¶?à5ÔoÊ |,ƒów³QÈ¥Þ<–gX Àvç0À¥KCóDI&l¨¿#×°É"çðÌk\C˜±Š>¡ÿ_{Ï ßòG@0€¬@®ã (ôÏ€ðÿ#á¿ç€„ÿ -ËÅ’BaHãÃ0 0<@€{^ß?¹å-õ'ä§Þ™Ög¤ðbë… €7,x|>!C €~S$é~ ~ˆ$l8Ÿ$U€ýf‡Q€À›Ð ø³l†>±ƒ³áºÛ\î…w*1`¡#ÁTìŠ5„wƒiJDñÚAVb°Æk‚ÉOR@™$¡Y¼Gâæ¸Š&8Huro½bhºj§ãŸt$¡ÿ^ç§6ÄÀ€'Œ4ÄðA^·C·€q ÏœµŸ`4…;…Ô"2B‰øž<‹Â≀‹¦óÑÆ7êµ½z»ã5—AÚþfð¡4kî ^ýÊ23±‚¯ XñRÏuÄæµ ¯§'´–²®Xzÿm©úûx2 ñë )µh6öj\¶D+l"p‰*F…A„ø‡”Õ¢t»¶„ïÍf£Ýh‰3¨Mbåårí@ìBwÉJu§ˆÀ<$‡ù›dëÁƒM,÷À)pun}ëó! ÀÜ•¼öêØ ¤·ØgÁt„$¹»º¶¡—vcmvúíY[ìz0R”cp—ñÃ0wevîcµÒN€¼^×°à ð1gÏŸ=“àì¥<·ØÒ?^À9ã]!Í(@æo 6p7Óñ-à+ÉÒ<9 eåç ’“kàï—¸åÄL€vFèáÿÐZ—Ýãàç°@hÜ@ÛÀm¸K4Ú32€Ó|kÐWp™þ˨þÛ˜ ,ùY -FçA @®¿e €»Üð‘@Õ@b @™ù$:z  è`=;$ä_0€ Ì þÄ€„÷yù©öw.¼sá§CŠOÜûŸYôžÿ÷|¯>ãþ€¨NÓmþõ~Wé3Šç¤íè¸[ßYZZI@HeVÆ íá …¤ ¼°Œ)s;¢AIócÔm²²»D ˆŠ-H¤ñ ëÅBsz ä9†jìuTy.0õЄ'jê£brÚžà]k$'EFÿ½î;9 -YœÖÝJ¨Ò¨å(ªbÔ¢o£ûÓ•›µ„h’+4â¹ÈK©N¥/†v+xd«‚#‰åëÔ7Íð<€ÆÞþAø÷—= Í´»0€N³±_­ììîvÛíøMA‹Q{@/ó¢®{Èo·@æ âÔ÷êÍN«¾·Ra=EÓÍF}O”B‰›û ;øñßþÅêß?Õ(æ¨7›*vge¥TÙ;h5[](I§m ÁdÉý8Ùútss-Ö`l©Aúso¬^Éáý‰ ¤O$ ‚éhRà¨y€¯ÏO_˜›_g* w˜Σ䓭 ð à¯çVÀp†·R? P€œÀ8¯@B³—òÜbˆ/¹Ìð˘ Ðú®€ôíP˜.€üL€òk\´€Ìñi&Àþ<…ž€ùE`þЛÀd( è €Û¡ «ÁÐL€ýQÌxêZtŒ\ @× -ö}žu-€Ì0±ÿ_à¿gÈÆÌ€Òý9,ºZ\¼ã.€¬à#›ÊEã?6€ð(ßÂìW˜ p×s2@Ø®÷˜@~>€ø9ÉtýÑ[ߨç÷éŸúxüçŸJèçŽÿÉ€Ú}æ'&óÓÉðÚ }"útáç#'vÀns¦ä¬x®¸Œ•ã£fm©°²§ßþ.}ZÀ8KÈH¯ƒuiƒ£€íß0`ÚÙ³ åüT+€!šax`¢ -T>–Ë„±è;9é"=H‹ Å£»+Õqà¿•jîÒ*2ÁgŸ‰8Rn¹ݧ14IEP@Ôy)(Rfv#ì¾")‡j§ #<¢*šŽ -Ò1’‘3u*†H=´Jrÿnú%úZ¤áãY/µyOh©¸“^€BîAAÁ—±ÅV*•ÚþÁÀ×Ó6ái«ìÚž'A·!¾‹ ]ö÷ ¼Ò×…×B|Fð)s£~pP«ís»Yßoˆ P™>©üW!TÏ 9""Ì„ Ž¢ »µÚriyv¡Än©[0ñ³ÀøÓE @@ÿÓü> °îÏõOßš‡À –¼¼z&F žûÂôy¯\4žŸQ |Õ¢B¾Ì‰XÆ Á -“(/êp`¼Ñíßnî +ûú —ZŠO€PNG°Ò[Rš}´òË'øE'ÖéCÏ'AÄH„…Øôq›gZœ°¦Û¯3©\<°¨Rm'@ -•©HXW%’žq0ò»ÂÍH—tþGÉÔDN·Öi Ö.ˆJ\D3„k -†@Ùj·h…G:šôDKØ?gQÛ¨È߀šba9Šq%ñ½AóÝjk·{Œ·µðÏÉ.á1XŠ×k++;;µà#¾n¡õ¶«@«¾)€n -«ÑÿQÛa MA}S¾Ê(ï1䳿p þ^v±KÏ€D9lÍw¦÷,ˆ -ÀT0S+«á8à•JåZ8&(¯“&é…› Òùîkó^øË/·ïã/°17w7$ >óW€Óq²¾¾ŽÓÿšÿì÷ç`:Š˜þ²`c~öÂì<àûjX&¬|O¨¿Ñ?zZÀ°Ü›Ÿ½rE f«g@ýg8{F¸œ÷l@:½´| Ô·s^Pú=!⤵¤[͈-=6%Sºþ<ä·ö®¢± ú8C6 -x;À˜QöÐmR` ’gQÍù™yÚà Z’0r-5†&˜³HðPÒ°‰`äWúê÷7¾›K3“Æÿ{ïò³ÿ 1 @’Þ,@ (bÿ§ À}wªáPf `ØÂð}E[ÿ̈@%ôŠé3üŒ‡ˆ~PúÚþ¨-³L¿Ã¿Þ.ôîÁúAÇ?ñ¼€¶ÙòꫯyíüÐZÊÃ;gûÒ8uk‹±Ü'Š”lp‚!`BèUì¯|"„:Vü£ÃojKK•ZÝkÊ€ˆ`4@,³_€ýä¸îÒ€¾'R¸HÊ»q7C=@¸$» ð7½íºÏ|¤Ó8Ÿ®©Æfy>Š¥BÏ( pÑÚŸ¨½º !>ØbáÔªJmm䔩¾zX\(OD½4%ˆ@\²Ë‹jÍ" ðTJÜcìæ‰%D'¿ˆÚ=c'+‰É Ø©‰DGp˜d 8j·öEµ°»œìtDh‰NÞm±ˆàJ¹RÛß’ m´ÂþÀq]DJQ,öBýè uè -ë‚mfñ«;{t4¤ôÛPÛ£hµ$ºOI ¦’&¾ÞTASõ@ب7ööjÕÊò²§‘v“hÔ© ?Y°¶ùàáoõf>Ðþ` €0¿'ºX››N³þŽà¨gër›vPþîüúÝ5ðs}þÊô•¹ùõ^ÇüŸäšq/@&a¸·zez¶×à÷W’,Â`À3gÏcxéøĨ9nçÞe3‚¸@§±M˜¥Ôap&@8€!ÑYŠ·`WX-|€¼[Ãɵ´Q²$)Þ1 - • Aˆ†ËÊøåŸH=ç~øôG(½ÊÍFP:‰H‰å › 'ÀŸ\,À $&Ô£jò€çX @Láê¥úì™ ï üÿy1õ, “ ÿ€ Ò/º…ý6ô,˜z¦tØa~š `w`&€þšÏ™|–~T&ËÄçC’|tuD¥pðÌkV/2IµäD÷Ï3gÀ…éw¦Ioàþ&qÀ( Lç%®(ʼn|ðætüyQtŽ^¸¼ÈÊ‘qg‚H-­×ŠKXp8:de{&ÀP&JA3¡Ø·‡ž*ÀóØ{ú„ƒ7Ò|ës)ÑFEBMá[ºÔ½€Q%¶Á‡BÀU LNäü†P`ÖX¬Œ°›&T£€š€‡ˆ¯v¹À(ÚæJ³Ù‘$î;±Øˆ+PWí4[‹CH÷Ÿ£Š5HEC%È Š¢˜Ý‡¯Â$Ð)ÈOƒãdЦp¸~|°ÐR+ø JȾ0C_«õ'pµQ«®¬ììØ`º‘(‡ 0”_ÈÛé6Ó!1zl%ª~Po6ÛµJE*?ü”Þ8¨ÕjLK¤Ûû1à &lA*èKà ho«x$Nžè`¯V[)—J»°‡¡Ñb|À)ÒóHƒ†…·ñÁÖæ¦xóÁ—^ Xq[sº¶àŸÀÙOD6WçޞIJa 쇶°Ü…(ôÏ1ðìÛ¬°±¾~w~ߺÆ =èW LƒwLÛëßo¶Þa LU¬˜`\¿/¿ƒ‰ÇŠÞdˆ™¥8£5={p&ÀlA§ù™mò P˜ án(Þh΀üDÚvX¸­†œ R¸-‰–™@À3._þ[¡ÿÀ<4.À©k(B¥ô}†F`Sèa~~åÐ)ôÿGcúÿµ÷-¹1̸Tȹ -ÿoÿh @¿ àvõ#;”En¡ÿ øþÛfðz°rBþŒ°‚=æõý“›-¿1˜OæFOO€;2¹ªéIêåC¢»Oo~’µ¥løîÎG—7ªK|?Äæ|éf’ä¨<Ô+Éêè‡Op|Ü(ìì·Ó\²¨«XÞ­Ø *Ä$Þ‚ºdókÒ†BH€pF€Ø¸À¨Âº„‘‚]nêƒõ*`mÜçÈ…× &Á\g¨Y+q -·ÆÔ$ôuxwkð÷·ŸÚAl¥¡<"¾O Ø$T—“æû3_!Oè) u•p爇 ÜCzÛÕ]P À“àt 8ÉÉßt‡i÷Òª Ék^ðôÖnÔv„Þ5–j2*üA¤ÌëJ% ž,üÆ7@qôÔë8ùÕ÷÷*+;xKöª IØÛS±ìÛïAÆ´[ŒŒf´‚¨:,¸R)Uj´F)šj˜›3QÐèc-¶¿Ì|°| QÐacnÎ~¡õ–Dxý¶€þ̘ý À]ÖôïÞÅìOÀ• RÜïBâ®düD€nŒ‘?õ aXûõìt¿ ï D¯µ-g3` - xixq©~tçN ÍIðˆ™q°P¼H¸{b&@ Ø4r& @Ìh -0Ò ‡»(Þè°Ä<1 -€:£!'F ö®Š;Ò…€føS†.©7k´‚îP5—o@)ñ*p1‰ˆ<ÏZ×.–1|õÕsöÿþ{¿î…à @6 P\úù’}ógZ¼ø]fUíPÌÆܾ­äq7*Ñ ÉÏðó¤ÿ_D‹p0ý¶ŒÁû€ÿŸwK:ç;$cö’Àå$\GtNÒAàï¿ „ûø/¡Ó1¤{ªÀ¬Aq“IþüŸj8<:ìÖ«¥"£ºh¥v\³Êoü -€ì¤ÅfXÆô³Ò{ ªäÇOc’^»€Ýîl.â[Ti%çŽn-ÉLÖÌÀt»Švb`WZÅ’*²y¨>ÉÝÿ _ 7úÃJ”œÎ -*UP&A0­wK(<ÐÞð­UÛJá3­IqnWx?¢Ç»¬ú¾Á£:¡}úRŽ„¯^L—Q<°²c¨à>ÄB_’ù*GGݶg士þÖ0¸ùƒR"Û;¯¾_[Y®Ôj^7n{ž¾¼ îsb•?¶¡š|Ž·‘à` šõ=,uáÓUC.FÁ(ÁƒGîÿ¥ÅS‚B*®Í¢¢ÄØù lÌĜƵêÊòòr8Ð\5ît€AÿKmÛNnzñÏݵ€"°0±Î€k8sŠ`}u­o¸÷/XÖç)0LkºÌÏyOâFð1ø ö-© `þ¯Mú£Òë,€51ºì õ_’Àì¥<·Üþß¹S­†Æ?$Öœ{óÄL€ÖwO!b–wÁ¬!>?€ñÉ,@7hJåU¹Xì0z-`7f„+˜.¤9‰U8ÍQèÄ(€Ë‡² HH -Nnä°€J’ôG(ZÁ¾À3¯W?¨î~õ‡Gcúÿµ»àD@±¸°ô z’ °øÖuAö"=© ÆLål€;ÿCò3x. ¼ó#ŒC" Ôž×ù7,=¸#Y·ÿˆÉâ½N’Ù‚>OÈ­ì‹î§ÐZß—ðÊ’YÒ$\†ù jáaŒ@àü$i7VJKÕƒv·‹†ÏTyè­‚7´lm3 -`ì=¶·Zç^ œzÀj¯ÒqÄ l;‡‰_" Ø#TwÉË0ƒÐ ”jç÷=¬CWé*ßð -8 þ¥Awi(kß¯ŠŒYz£dý ‹½Š¹“ñÞÍ´‚Fá^zëv(=y̆Æu!ºw=€ÊÀñíq·¹_«í3¥>~ñþÎ L<Ôñ!ø/|W“Y€‡þsØ“ÉË €­‚f­]‡úþN©´¼³¿Ï¾ƒ:`Œ)»=bX„ùvÓÃÇW_Ñèúƒ&+ -/ïÔ„ÒìtìUwö\úÞ>&wò ÆÉ„§AÌ ¤bthRšâ¡MÁýà`¯VÛ©,++8``©áùIbÂ=A¾ °n €n÷ïÍÍ­÷|pÙSpõJ{Éö¯ýT€µÕu<û€ÍyõÛAÖç×ç=!PoÀ0  €À¾þH"s³W®Ìœ,ñ#`Á à8€40¡ÙKyn¹@ Ío}Ï`ÜÅtZñ6D:©àrÄL€Jr‚Ö1 - ,Q†´æ‘óD¡¹µLúÂ(*O 1ÈÐÑhð^º9´Ay/Û@þ4 -àRÎàv‘JŸžÀ»1 ç êÜZª‚ú“à×ôþÞ*ï¾.ë[Õÿ¯ýMü ³P÷ÌLáçÅ¥´PÏà1’E]ûsN1€R©J,·²™$Ä¥™lÀ @¸æݸwRŒˆ`aú}% ܇÷¼úÙ0ú'äOµXN´ñ8/yÅ>âDòÀë~jù€¤»™ØúQH·-ñ´±ë#MyâvtÜ=Ø)Vö™õ,5öö B|]}8(5¡æþA³+`èÁ<”ic¨.ž*Ò~ 6»¾â õäÚqŽ#ØZoM\Ú¶ÐÙT. Ýz¹+á¾…ÎÆ W ¬0ÒÙÉÐ ø¨pO@`ƒ<±¨û<­Š`w3Ð Šp‹'Izç&ÈÃ/à ðÛ‡¿e‘ìa€µu{~çr`XİLµu,bwWW…øaxûü…+ŒãUÄü]”ÿ°d’'tõ”­OîÙ0gÈD€…ÆÝ€ `š àå(€TFÉG·«±RÍ퀶<4 ¢G@ÏVúüL€ìÀ®hF¤™l'æPxÄZNÚ›ÀldÔZ‚Z7ـ˗~B)HjYo€ßóô}xJêÀ päZBy7A×™€*›ˆIÉ  T\àµTË·÷ -_W?,ìÿw@ÎЛ`±Xø9ë ZÈv]úŒÌu¤™Ê °àv~&€RÉ+z&€Ý˜ éýÃ`Ù°0aiNïïoÛ§ïCØï]‡þt€ÿ#û]£²_sWlw¾ì!Fý,6cƒÂ/†Ú™ È[²\ÙN3=§Èa£Z(ìÔ[¢B*LÖÆ;«Ä@™tSÁ™‘Æpü¸Û¢Û6o} ¥àæm@¶n€º‚Ø' <Ñ•P§Lr9V¨ -1ìà sÿ“è­ÜeCÅ·P”à²Ý9<›xLqG­RJµ4Õ ½öèøÔNf³ ›xBg;l=ª, Võõ‘LÅüýeQ—r¯óM ö³õf'y[ h= à*J¹Ðw§´TÞÙÙ³ àkS€À|¾R‘H©X(€Xü…ÆÂcêÍýýýƒÊX^†à rq°¿»RÝÛ®ì…of&”"H£0 ¸h£<ÌEˆ±&R«í¬TôžïˆŠ"ˆBD§HBù òСm¸…`mnö]ëèÛa¸;7Þ¼¼ô §DØ/=ý.:¿‡NŸ9eîî†êÄóï0Ÿðþ„À æær>~ãm¶ uØ€“ñ™—󼨠2ö-Õê­ÛÕÊÅ -Å–«y€l&Àlcœbz¸ë^þœ ›À"tŒ»Xg{¹r !¾-ïÆéÞL€‰ˆ0 - À6Î@u´„1¶€Ë¤P!)c°£‚Fè0¸]žÀøC©‡ ÂÉ0z-€´üžÔí¢ðÿïÓ…¤z«¼»ôõ‡ôÈ'Ðïkÿlî° fp}3^h!çgå -äϺzã°dë”{3|P.½ÿ¾CJ,À ¥W*`Ò˜7BâF é+¯¦Ÿ˜¼_`¨_o€l×@H,À£Oº¸ò$©J ï:8ŸI\Z@}]§«ôË€¸‘q)ΘíJ¥ßcHö¼.ãôQÒDP­ã™†F-`Æ¢yž¼£#iݱoqe³ç8(0WjÖ Æéžaw‚M4)Þ`°•{Ï ÝH*ôGŒ°˜ÎuB£`sߪ¼¨@ 7)èì³H‹êï‰*Ð'ÁÈ@Œ¨ð$OÅjÓ>Uî§p .+Vàš„<ŽŒ ¤¨ö<ù?UK{6ßõ¡Û«â®`uùyô͸‚œ¢*ÆB*ôêD§Å1õFó5ûbý¼¬rÀx{áª2íW‹¥åáÿþóö -qÔ ²Õ~6ê¹"Z ô£‘«6füê×vWTÄʾ -±Û¿\Ìe¿Þ”ï¡Ø+;å)«¶„ü.϶ ÞTb€ÚŠØ‡û .Pý§Jzë&È—_z1@†þö_øàÁöÖZÏÀã6Ãpæü÷óŒÁI4 üþ¥Ô¯®®‹Ä(€óç§¥ÜÿË?ßð£íZDXÿ?äÊÆÖ'Ï…À`Z¯zzÇõ#à~º„üÞÏ2%@³—ò|`ä,:Ü®~xQÁÚ±½ed>À°|û.VgfªBZ)—Œ3s|˜—srëCÁÝNßúLêêGåÛÕkåÝJY\#W:0¥(ôXn˜ŠT«¥kὦ §Û·?P’üÇêJ¹¢D·v %Å‹±Ç &•hò‚ƒ{Èíjù›kýê$< Ù%¿ëF0–óPž¯w÷# -Üåp«ºTØu -åã$}Z!Ê©^,þ=PÌÈ{¾P=;áÿ¾ˆy³/Õru÷—ÈÐÏ'…bb€ ?_Z,Œþ= @æh @ôäœôU„7ÀèH¢Àû¶!õRÅ‹øÞ”HjDŒ4yõÿ á¿àáz: í!VýáÓþ³óμ!F÷$}¸kÀQ“i{ìý4ä”E!nu´{Ø çæÀ9Iz̆¸wy‚K{…%©°`úáñ!.u ?hgDwÂ,!A»#œ;djøÃH§$ Ùqà'=ÜH‘…éŽçŽ£„’BlôoÝâJ¡F— Yaúˆqlôæ[”“é »pôw(€[A’µP “þµK¥1鮃®‚½nÐc/= &ãÙ‹ô|n³®I]Üuz} žÇ÷úNÜ"—*®‘5—*ðXàøð°ÑªK±¦ãB_ä„‚œ—A.ðÛjî­,/•í¸‡#ˆмh€  Â(<`»B®»8û©ý©ï×k+ÅBy¥¶¿/ØÛad¡À|W:|ô+(9Ëc䇨ò¶>*^Å@$àÔN‰µ€«¥•Ó‡ƒx EL–„ò øêæö—LŒÛà|è¬ïùÌM îüÚÀ~þÌϼf -ÀD@cONv¸›,ëë³Óx®²Ðì•y;Œ] 0Yþç¡Í€çfßîwè M¯³ÞïdðL@Ξ½ÀùÌËQ/$F«žÌÓ%€Rù†Cø.@ª¼ý7D¦ªÅâºsKñÂ<[›¡ y{7XøÕ{yÜuUå[€[BYÓ ôQ•ñ<£äÕC˜ -¯.g^"Qöí* ¯w–ÊÞ '0q‹!*·W±ÚÿÍÌpCúk;‚äAÀó–͈øFnïRs|¨–ªr¥÷“ëû —¸ÆÅ…÷noð=DC¹!¼ø÷jнñ-ʾ[øúVÆÊü';@L` €ð¿ïøó¥âÏsƒ£Æp]DáF1ƒ59?€×v/Ä#=üíb©œ€ „F€Úô>õ1o@R¼OÚ,ºN?5©û_’™ûóbÕ?»s›CônøûèÏ ¦'`—P -N7”÷ÛÆßZ©lxðx`G‘3Ë8æwšµ¥âN'@[¦m -ÇF~…ÀÑÇG¯vµ[ u ©!N‰Á81“[ñ04꾕sS$˜‹+ê²ôùy—|‚$©Bk‡Ðñ%jdÄž -„­s4ükO0íéz­ˆKÙ§8JV,L:‚7¤ø#`ÚžŠ=ƒñ®Ü‰¢ÝÉΠêè´[ú.ôÕèËèvº¶ö‹Ô(S±+%V]ÒΡ€š 0 ; @26ýFCÚ»4í•ÚÎ>ª»5zîÒ7^ø+å]S>Ìh}’ïïí‚øµÊҒкV‡ ¨­¬”YX`Ž£ÛT“‚•yMÕOQ-?pƒö)p_ø’©€aŸnàð©ýíð À4Ú~~·œOSuÆéüw…úœW×èØWÜÆ½a=à3°¾Ê€Ñá?–ŒTÿ%øÌ]aeá­­ž€_bð?,?ˆq€Ù\À Ñ^ÊóˆÑ*³|‚šÌ*¬ÎÈn•oFº®nf€›7*L2°”úæn@O0¸ûÞNèÌ!Jš ÞËGHû-kÞ¹[¡Ö„@˜øE]‚zQaµjî[>r4Xí&¿Úݯ7,=ÜU -åî[üˆ€BzÚqG µ ¢ê{= @4„´˜LVî÷«SÍ·õXô•¾˜àQ™`Xú_30Öw¤¤†þ`†ÿ°äð†I€< `ŸÜÀ°èiY@’ïЗôÑGXôç`&JbTÖÀ<>¡Iî y£$’räУ !BöiÁüO§uÒ!¿c`Î$(À…w¢Ï‘‹ÌOàBäà>îÇD[rÎñ³‘IèûÞ‘€xØ´Ç3&p™ ‡ÍâR­Îbðºà ÿlͶ%^ç=á~á[í0oK Ö‘¨ÓÒÕÑþ•Òà¯h)ÐÑ©]:¼î~«$Š›=ˆ×}:ç‰p£(tg»Ð×â#BO·éøÐ…ˆ °ÕU¯Fn Àd=m¢(êÅr 6ÿ˜m@MÀô`d'Edéý”*‡ªâã//>©ÿø(ýñ‘‚ʧ -Å2Ÿ.”P ÕI®§Ó¥³%üþ¨º1¼ÙÜ߯,‹ìÔöPÞ…Ù ;ö~a²R`çþÀð:þz‚k@¼^WÔ^M8/ÔÞY^XXZ^©Šìj¨ˆSÔë{û*w¿~ l§í€JÂ𵊦ÕÊú?¢ ÚE!vT@uEÍZZ©Ñ̬ŧJ€üùòáöƒÍÕ9ÀC|81 -À€AÉÀÿÇ:ØŸ,þëwmˆÙ~Ví÷S ¾=;7Ï€@87ÇâtŒ`jàêÜ•·M2€xykÃÀtaÌÚ¤½”磅A5,ˆ.mÈ|ÈÑŸªÌ˜ª.ܸ!e0ÃpC¤!y„ܾýÕh‰« -ð¡ÐÞ` ->‚ÿhÞƒ]/_«ÚŽoF€Øp%\ nÝYzÿÃ’tq,"·?´š ´Båß*ÿï3={½„†è²oˆ6b`O€/cÐÏ ¾‡ÀÙt¨\,”¯ƒõ7o~@%`ÐW}î|~>!N|;(@æH0fü_Ê–°åú[E¯’cž @ü ý¤:ƒšaÍ/ðþêz·"ö„¤xŸ@S3€\ZÑo¼r{‡~€_ÿ€LO'Í?ÞéœÄKî·=$ÎÉ(®I/Ú—ÚÙ¢LhO²ä@Jí#Oœú—Ç ºha€õNåõÈÓ8TÜñóÌÛ  ´¶˜É1tj¾èŠ\u&ˆc(Í•Šu7?`ÉGY(Cå ŠÝc¬Qýì`mK àø°M{ˆq›tÿЉ¢@gpö4xšKØÅ€”¤;RUp šŒMx×A-6y¢xp\™£ÎJÿQ»k#ˆ‡Gdr¥RRÅêòWyh埯öè¨d·»‡Ý£¶XÌBó"u;NÒáWŠ Ø“ €3Pìr®7ßõ}Ê¢«¦ï«®ƒºRïT+µÝý½ÒÂÕ¥’hÄ»¤¼´\Ù‘þ¿§Mé•rÏÄá,ùtöÃèе-8 @D (¦\Ñ{½\³é¹hêi(?I¾ÜÞÏÏ­m=ø’©€?g€uûý’»ú@Þ>óZÞüÿ°O£ýDñ €5}f&@w\`oÎ?§àÚšJZƒüµÀ'¶ð.óÎêWà ¬ˆú^ídK˜öRž]Œ>’d@çï2 €° “V|Ò ¸ËYŒwîˆ@f¨ì¾·£ãÚ©ÃP9i@÷ €¢VhÏ|tá“êrgÿ‡†â[»¿c(º}æ¡âñb*µ€ÒB;lØ¥™',[üõèS}ã‚ÿbñƒ›7ÍÔŒÌÐÿJ$X -=€°„Øðæ€ ÿ{=C€è0i°ÀÀßëèÏà&0€öÛäПWÉç€5éˆòNH/©NÚÿý:¦¯L¿Ã”½Ó?²3³Ÿ®"`¤7æÛc®ÀQï+0;‰Þkƒw„“øN&ÙUJ8x!„§•!ýPdó.ØçiFÁ¿-{ÂÐòÇJ÷ð¸Û¨•J;"tb¨ÃŒtÅuNXmÙAB’*-ø'Ì KRǰ¦x -±ænÜå*>)$T•®ouÜÆ×duöHMX%ˆs~sæK¥f4‚ ï„î1Øܲ‹VÐññ s¨†#£AzÔÉ´‡Û¡-eÒÂlzÈ`¾AReþQâýEùÉ!F|#bJj¬„²‘Ìý(]÷ЫÑþ"‡Ä ŸC»•ïƒZy ìÆ|/ ÆtÒ߀ ô¤nàÛÏ©a~@}§RY®ÕjÕÒÕ«…be¹"Õ¿ZÙYY.Ì)öæbLíÇxA«ÿt Ô©,Q .Íîƒ& µÚ“WJï©D²1,À÷¬åO’„ò .ë›z*`Åmõ¢à^@oÿs»HAäûâå3‰(àŸ‘*s}S¸ 8?ÍZÞBåÙÕù˜ pŒ$Ä?!jájÖàØ–gàK Àw#2ÊP.á§ â P‘8IrxàYÿg„ý˜·x À[‹¢7b@¯ œ`IÂÿYÔ}-¨ùll# · 8OHèÛ> Y^y‡<ü@ztå€N#D€ù€ÿIõSÞé’½ìè3É®tN $'\#Y0•¾(L¶”9n™ ¤'AÒS:ŠC—ñrØmÖ–‹;Ñ3k  -dpƒß -rÁ=¡¬ÐM÷qäsJèIøm°j¼OPŸu¦8—¼ -HÝL¥1”ÆY¹ƒnt¹p^A9Kúº!j‰ð©%Üoï­¬ì)pÌšwváw -Ò{ê`µÀ C¥ÐŪºïº dRáGÆ@ˆ­-̸"@)´^¢º¥Ôã2¡{0&,j˜GûEx&± FšÇúÆè4a±>;b+8! ì˜0QOMÚ{a¹RRÓ¸ò‹µ,þB∄(³èB­²\Z©ì­,/\]XZ^./W*¿Z^^.-,¨È½=:övn4|9€O¥Bkh# €Øÿ°S³¡¸‰€.xÇ:pŠÈO’/Eîa—gào…ÿŒ°@êØXÈ2YðÛ‚|!~oÿ±Mÿ¾Ð'0I Ÿ:ïà?+oذ67}á<‹xJ3 _€ÓºFÈ*+¬ÎM¿ýö•Ì ÷•×Qo*øN€øœ=/€­âåL€Ï/†¤g‚ -ïžÅ°8` ^rÂðÁî{;9¸ïÆù ZþQ­Ð>Ê€ªŸY–&ZÈbQñy‰r÷|T´ñš’Ô -7„vL°Ü†vüCÏ>7NúK#,C>9©ö\„ÿÙ€ý@,öÔIô,`3`!€l@¾ OI¯Èrð ø3¤õw>tÃ3BœÔØãºÎĽûÂtŽ(ýuðSÛìøÁŸâ0€øˆ=B@ç¼®‡âBbÑ€¼¤¤Ï „'픥¶;:C•®ãdãòxît5óúo€` ´Ð ŒOÐ}.léF£•,ÅxCSZšh<)Áœ€}ëP/ µ)]÷@Hg%¡NºqŒ³^`ïLÒl.QAúÓÛõzGÍhí//´Õ6¢UÓÂ`5ê:X}dG~·ÌUP9'·9 n®»%|ÏO¬ä8 ‘JÑÁÐ}?Çøü1¢éf~‘#ñsæ'"¡2*ÀØ -ðŸåyÔö)J1(Àù dšü£•ÒÌÕ…Òreg§¶+õ ¤hïÜÂ1_ǃú×à6¶€¯u®Õ*¥¥‚@ze¹ n¾\Y®¨ ŠXAqaayEeíè" -‚üG`8] F€ü*×ôà@‰ óµ½Ýá?ƒ–––<²@w`6PL–„òãåˇÛÛ›kóó«" `@òHø¿zOê:.{Âùó¹Ýú¿N?Ö;ôc[Ü'ù']§ ó€ÿL„`^¸íÉ…)é…¼ÀíPœÛ›,ýa€·Êÿu’@d€’³Œô¢xúrÕµûÞI€¼„ @n€‚Â'-t0 Àbæ€õß]½q&®Ü8f4Ó¡·óÑÛtª@Šõmo0€¡´Ùª=½ƒ>¯:ÌÈ; û1¸ƒ`° `PŒã*- Ž9U:”Ròk‘Z—“`±§Ÿ¸L>exõ•€§ Ûáa³V*ÖìšÆd€Âvk±`6Öok²GŽ4WôØ#¯ÛeØ;s -ë à6u“ 6ä -Ì•üx>•úÌørÀqÐ` -`à ¼þ i;”g²%´Ç÷Nlåña»Q«5˜™ Ûnwà$ˆa]|„6yU*P¤Š<5ßEí“0'a\™ ¹²€.Y`X‡‡š¹˜ÑW¯o¦ëÞ“C5¨åõ`1}CÔ%Š ò¼p¾à&êm† Ò]0(†6´x -¥´0µ°\ùUG@4vÆî¹\’‘¬¶ cÅÞ« eúúWôÓ²¼RÙ©TÞUQ€åå -eí‰VÔjû»âÂ}º>˜ŽZŸÊ¦°}›0Ø‹@$¢´ r¡hÅc ß)’`~‚0àštïµ­-¯àyb&@c,ÓíÞÛØ¼·:'¨~MˆßÛm8ÿcø$Ô¿»þOé#èÏ> Ö0¿zw} À&>Þž–ú¯ÒpÐÍñ À -ÿ É,çmp£xýjãÀ ¬_ðß‹Ÿ}9 -à9Åp’,R½_Ð`¼w{Þwàú.ó€¯h»Æ»ðÜŽ±¼7ÉàEÅç}¯ÜãF ZFŽPƒnžô û(ê¤`¤@Nìž ðßK§y€C< ÌP\¼3Ô› @¢Úb€Y3`Ëb0ªM²ä’§í¤@ `¤è%?M ‘€Á€ºŠAô\€(d;¯·!´íŒÐZGêDâFO—8œÅ¥öæ%gÐé’¤Œý#Šé$éw{Ë¥F¿"0 ¾ÒM0Û¶~Ôjî´ÚÐ…N«ÕhÕÛo3H&|”ò.ptJγëc ÑìŸbIê­ŸƒÐ@ºµk¥^D OHÑ>)é4D”DAO¡¬ð´ÉЯf™œÐNY@—Qi#‹xjH?nS7–æà«7›öã£6]UÂ/ÒOïVÛ¦¢êÛc‚~S­0 ˆ@{p°Û/´¯ W Kåå©òI]ßß„þô -¡aRøuÆ @˜ vcÔßÙ)®^]®Öömmµ[ðp ”¬ªR…íÊfK>Äë€U÷,0Z@<¡v ÄÊ,!PX`h¡J #A·O§ å'ÈÃíû›œ·yÿˇÁÿ¶îAÂ@ {oÓìÞFQÏ[¢ g8E°ÌßÅà‰€Öm˜ÆpÆ‹Ø pœ$Ä’5üéèŒ×T¯5ï|òx ügÃà¥à9ÅX“d¤ 7 -@0e úÇÛwˆ ÀõF Lp»<8€ñ;,Ïå0Þ0è@]9 @øþ§óô|ÈàY-‰Ë ùÄ<-Ê<Þ /á˜ðß õd>€7ùü} (‘Må›± uìí|ô6ç“,Κí¤r–iÏ_Àá?œþuáýŸÄ‹w_˜Îüu2öŸyÕ{Ÿ \¼úªâµj[Nâ×!30AáTÔ«¯¾–íîH{ä I¥ ñ]eÇgØnî-/{*`a”àTpx,ð²©ÿñ·G‡­½•ƒ¦’´M«…,hÓn ‰;!XÉBÃ: -3¶ Eè5×µb°«s¶a Ývfn‹:@! œz::MS”Ñ Ã…î0¨®ÛÅÌ +^ÒXn•]@d‚±ªb=E±¶ïŠ1Ò$ã - i9@qh€ÛÕ?—À=ÃGÕ@^šl €Aآ⿹\ÍYÞ©qÜ(€A ÀHÓŒ>’ÛÏbï“þ,Òý‡,7¯³ —Îͨ&sv~1¢˜ (KÐÎãZÄœîÉ{™9Œ°x>€1b/€ ?ý©Ý$Òÿßù›ÙÙØ%¼Òz›y¹z@ì¶5?vÝtŠƒäèºæç’Áÿ€ØšÐ·Àd$=VDÅ1¬ËcE -k§^[®ÔX¢F[·+Tsç6à%¤æêè°Yß©*ÉñQ§Åp{­Ž ·Ól*¹4fÀÔ¤=¤T Ö§(¿\½æÆÜ(_-ˆµ›ÐJ9„•~ÔZYç6 ]¿ÝuÀz¿0‚¥錂¿æÔñèé#=‘O`r%DÜ€ZYA˜ÊÜ8&pÈÐ RèË€”Àuû­îÑ·Ý6sâîí·ø¢˜•Ï3%ÆrdC¶Ãoù¥öwXK¯¥G µÃ‚Î= ùG -ÔöªËWgpàcî;íé.?€6%dn€† Úp `†_s­R*¼1µ´,Õßà}¨Ié×FÁplÕÀ)½ë³™¿ò‰Ž(L.³…3ˆŽ”ЦPbíÜ:mK0?Az)€Õyá'³>xpë§OØÜÜZ[½rÅß^t ¥{íü™ ÿ±èòµÓ§ÞX§ÿß‹êbcs=Yð8þÂìüÝS,jKûcË€˜ ÞLöDû§7UàÂù³™®‘€í¥<“%2eèJl ð‹‘£†f¼UþNóô|Æèû¯'Y|hvß ß0Â0rLh”@`ºo¼@O2ü_ZȰØà°ér3Ü”ú߃2Ò{¤=Nz›Nó .}ôΑl¤`\//kzC± `ÄèŸòXŒÿ¼×ìéÐCþ,2”vP;¢Äñºãé&–ô«‘„GÂx‡ãÙ{Btz\‡¸ŒáR§¹·\\©·…P€ªàËhôé€þzxˆ÷úA«£¬2#-ÖðÊ«'¡C¹|¥Óþ)¶ub­›~yN\ë#BÓëQ‹‚Ô†¦.ªp,5ݙȭÂ)’£ðTL¤Qï -Yqº“ÒÜîv;, üøð°#ÅZ˜fø ©(ÝÞŠÊ@õT­ -eº'v<õd݃ùÂT„P|=4I¼©Ý´&Ô¦ç½^Çàq»ÅIA(h"ä‰9Š¿ë6ý'm/|r* P}@¤û»g]X¼¼„iùWRÔWv„áàØDÇ€kÌ2î Øú¥ú+ÝûVJ…©©™b©¢  .lW6ÁüîŠ(Eiyy¹,•^à¬b©,iû†zJöÔCÄLöƒÚίªËx– - 3 Åe”Ú® -ØÝ«Ò;0Qª ëcK§“›äðs.÷ïC¢ @»j ÀüìÛÀ¾Ô~kþÂ|ÛÿÏ3þ€ó“À»«óëë,Œ¸2}ám½‚Xèˆ/&'„yr±øÇ'½çXDôSBïÿYL/}žG 1=éY„x»gñ´$ÍõØp € -Œk§~%cèù§1zÓÚ24 ñöíÊèy^p `Ü<JAŽ €Ó|2 ðób‘…z€À†„`Bþÿ`dÖ·ôÑÍ›à/N€aG°÷bŒYÌ(‰Y¾À óDr¿ 20¼yõÌ…é3p;$áΉtú|(ÀÜ$@`îsä“påÈþHž$ÇÔ¤œ ˆï'“ôXÇäa>NDíÆþr©vЕ›Â)Á•7  £ÏºÓN3ØÒÝl2J-lÁ3Þ !•¤%¨ ƒ+æ•¢]ˆ -¢»DëÀfk÷ ?¤¡ °ÝÈOУÅ& ¤ÂÛ:K«Fµ¨Óî2¿Úp|ͬdäÆk/ªRù¯Šä¶6¨Ø"¸c`WÁž'È´€û4PGá¾ãh•RaÇ×¼‚|Iâ>úöDÿŽ>Èô•ùùuV'4æ¤ÜK€·§ç~M™¶ð2&üÿCÿó$åâ¥àyÄÓ“ž`äZ<ÉÀ(€Q¦éy"/â0< -ÀÇZú>X†æè¾ -ÇÐoeç|²ßÍàF(ó³ød``@ßÀ` @Â?ºÂ @ßIøêA™qf“^'à:º­»Ü„Ô˜ôO`æsçÎ]-ËÄÀ!ûª 8sî•WΛ*”*ÕÕë]P¥{;Ì!¨ƒ¿‘_Õ¥¼;Ì#PZZ(ÌÌ,”*XöU§‚½&‹ >€ÿÓ ñ3>’û«¸ÞÓ€-wd>€øÜƒHSÏzX ók„p?pN„ÿv„¬on®{fPi¼&@`ýHqkNȽ{XþÚ3 Þ €T ¿®~•±Ár€Xðxéð‚ä1€‰ó|H‹Šöµ-#G(ÅÍqó˜#¨ßÑ ,…þ?`XX|kñ-Uˆ`d€x&ãÍ1’ÖE0°Í7P†­ -ûsRHã¤)`ü÷˘ä$¡þ d3ÿÎϾóS3÷\P(¡´ƒîÇž,œ4 0Ò“12#¾ÿ8Ûû’c6x$ €ŸC‘ô\ÇPôÇŠÿ°¹W.í0A­ðÿ˜¡ì†Â¤¢£ÇIgÅ&Ï…Ò°¿B (Ȧ”‚R¦Ü3|’—œhÙ¤Qª°!ÔØŠJÄÀ;Üý$M_ ç@8 ³Û@}{Ô¨¯ìÔѼ»í&Cº­fCcMãCr‚*ҥɋlìé–"šÈäB~Z`ÚÕ¡8[,ÄJbì _ í¶ˆp%¤çùù»öýƒ~èdÄ×' øwñP§Cf`áå6ÞC[‚Ö¾ÔóµÝiú;Ë¥™©……%–†òYYæa:íR›.5>ÂôFL}å?\-*éŠÊ¬T™ ¼¯,M½òÊxåÜÔL±=ù& ?¾~æ*ÛÄÎî.%¯Äð?:–õr/L‰å/¯ÔvM+” cãÅ0ðsêm‚y>_ê.€µùU~²<Øz°µ~Ò0åüy©ü±Ÿ?ÿ‡¼ÄP¿I²æ€õ»wY^€Õçí,³óó¸"Œãý ¡wB¨¯r®Ì}¼ù €.~uþûwä•×¼°Ä‡„m/åÄÑ—žÑåà(4dR ŒeP†¡Õmèá«a÷E|Æ[&®Ðc*œQéJBÙºü>G|_ó ‰€ÿç ú“ˆ¸àúBq1ð߀tî1€¤þóÚ8àS:³Ç) q¢@Ê'^A3€1iý&žúè8ãøÿÓ³gDþfØîŸ ¸ Þ¡l“æïÛ0Ã{@¡9Qùx]%± 1= €>ø~öL‘×A÷.OœK{õýùh·F#ú¿ÎÂ7Ýò Ý[JÔi3OÀ&úo€h³ |å_!È€NÀ%‚tÓàJ©Rʦ ʉ¿£ÔîEr`(=ºµ/ ZXÝît„£ª¿Õî?î6k;&­GW-Ê(dÑc£¸D4(žºt¢›_ AÔÆÝʧXÚg„XB±mBí=ä.£$­ýó=Ù˜û;#a¥b%ÖS¨DH,É̉ó¡ðŸu—»‡îŸºƒŸª°y`cÈ^U8-$¯§¦® -%!/è_Ý)¯¬üj¥ÂÄ@¼À6}µý]°O]é®z 3SRó—Ûe÷ÝK.I!ÅëÎjüÊÅÑû¿SUI;µŠxf†!ؽÏøUùWËz› …«3SS…e*‚­p/×þÑ›ð\J€>dÀ6€ ù™@rߣ’À§Ÿ~ú gXOàÞ½Í5,îú·âÞÿš·ì”P~Œ0÷ûÖ×¼€ÀÜ• oÛÀ0É 0XÂà -óÌÿÓ– @zUã5€WéIÄÛK€gCKNÆø<û(€ÀÏr©8b€ -Œë@Íÿ>>#ç艊ÿæ²n§K‰rçQÃ>’ïe€!ùyš g(¦•€ßº±¸¸(õßèoäO]vT ,ëƒY÷‰(ccsBz™ú¹Á -•|Èá9pÓ=OÀòÎ;tè £@ˆ_ê¾dʾ0ƒ?¸®ã€œïA}¹t‹ˆ$À~üt¨Ý9ID 'ñ\Ǥé•ÎQû€‰€ê-ª@Œ®l´t™ ;Ì]¶o½×ÚíN»k#·’ é…¡Á;Ð5È>¾ @Q¦dÕ0,$’MéB÷FÝÁ^6PÛ$B 8¡q«~VàZi¥0U@*ü?n×wvêí£o™™bÚS_öÁ­@‘"Ô$Ýõ¿îÀp? †kê¦F®É ;Ð# ù Dúbº]}Øò1’(ÎHß3R~‡mÃ}Äÿ6ˆ0ð¡*OþøšttÌò;µêraê üíJžÊeü„Ö+ ëG§W -¡sýÐ߉wtE²T\˜zý©‚pi©°T¸zõê’%]â03S(¨XXòÝéà’kUÇpª¬T—Ë -¯T<ÐRiáêÂÕ©üDt[èOçÄä Ð7ìÿòS"ûFþtØÚd|þꦀn>øôÓ­û8&'ÀU€M€+çAjöœ! w:Õ@À=kf" ùééóW¦ß¾@vûLê0ÞŸ˜ŸÃ0¿¶¹½Ž^b[ÜÀJçí *Àí¥œ*Æ•¼Œ²œ²À( €”ùQ£2˜`{€±>ÃçkÈÏpb&Àà«ðšÝ÷x¡QþFF͘îßÙ $Í’z Òÿ‹XNt`0tõ±Lͧì‚]¯pž ˜aÉRÆÉ¸?Á0¢§Sv‹"Þ™ÿÁ+gèå´óV'·{Ÿ@oºàåW0‹L8ï3wú‘qR\ª~bþ ÉÄì•„çc‹OVò'J»µ»¼¼[ou„¥‚2ØtlüÒe·-ÈâÅF÷µgúºÁ<€ÇÝ£v¨d‚uW:ü…ž^…7ÐøÕ]”m[Â30´jÀ<@Ÿº‚;HóG÷&1l.‹–I•êñc)ÚÊLctëqç`¥ÌºÕJÑ"žàõÑðÝ£'VìI¥ì*ž5ü•©•Î S*ÝîUˆHô…òõ-4¥ÍóPúFší.M3‹úöÈÌG ´@&ˆã €BÊç5ò’ÉØ¤O Ž+€ïòÂÔS K‚«îBàʇªÒÕ8ðÐì ôC‹·^.Žð«26!ýÕ« ‚léìo¼.ØWp¡ ÄÏ} ÊŽý€Ž…`µš8…Kî3Vp‡µI(U¼¢DRO  &™•LØ’À§_>Hf#~N¸`€Ôò ÜÚÚz°% Gû_‹‘v} @¢ð–Nóã„‘™à.æ<öæ¯0 €ñ Àê XèX·`vnÕ€iÞT½Œ~¡õz{.ŘЊÆK€g–À•œô,ϾÀH€a €GüYæ8Í€Q#æxñQ#|$'Öø®>!9€ðÿðÏ À"#¾¥Ïnß6ŠñŠ€béàOo÷‰àü{´Œ x>>óg_í-ŒCÏ€€öq¶@<Ÿ˜œ myѵ£ú±Äd’­ð{âÇr·BÒsEŒÆøñ"¼¢ `¹Vou;¸ª1ÍÕFKÜÂÌ.ÌŠn)²­ƒƒ¡Ÿôá®Íh @$Á\¼÷¼ƒÁF[»F¬ä(ÊÒº…í$´©ÔÌÀ” ùÑi ÈEõV«HG)RõÝó âéŽ|Ô8(UöÛâ-Æq¥@+H©Ê‚³áC½Š^GÃ`JIq˜÷Ý„÷uEC1fè ©Ç6èû ²ýAÅáÝ×ÑWÇWŠÃ–ÕߢϬý°«¯‹>€c¾·!†N:ù…½V­ƒŠKÒÚK¥r¥\Z.c ”¹¯ô»>+°·Çè?ŒÛ€òry©0%è¿:#ôŸšzýܹ7ÞxÍÿþ¡eÖ¥ÀuÐc 0åWñî£ ÿje¥lÞÁ €+ŒÐ[½´pufjf¡¤63ø•oN”•¤ÿ?ÀºÏfÄO¸Â`Uš·-_nßß¾/ -°)µt…„À£îöÞ)€~¬úXt×І`6YÄ.¼˜€©€¡ˆàÄ¥¿€Þf½ÚÙ(p?ëxixVI¨’“Q€SÖãtï$/âðâk(Ñd @º’P¶.¿ÏQÿ|BøK°€þ \,z%@£¿‘?ëØÍÀ+}x÷½³Þ§S}"qdàœlnÿ ’œ“¥-=¨÷')û - ^QÜ"Kì‰!{Šæv&aH­‹Ÿ‘žÄå†gí=oçÇŠ4èvý`¹´wài}Áw¡X¨a0Vv…i€ƒðh­ÆÁ^<:l)½ð:yN+J³nº@ôk¥°­]Êõãã§t–#$Ï`X°{Ä\>Ì/Œ-Š jÁY”TAL¦*Úwë{+åýÝö7 Tý ”b¬Go×F߃[A£Ã2À“êÑ=NÁÉÕ¥¢ šêçQÀP®¯¡Kí¢Aö? w»ÓƒúVÚ?ã%üÚ•š'2wÁ®Ò=êv[ívGiF€= BKôû*ýø S禮º;mi+€{ðu„¬,cz'­”pº L´ Ä ÖÒØ ŒØŸZ@ÿ›˜º:sUðµ°´´Dy`;œÁ¼U_¨Î˜¨`y¨橸´\\.¨´,ËP}Ênï©Æûc ¤úþêüÚ†XÂö6úÿ3êà]ç¹vô(€¹ ìÓþcæè_æÇ‰uþ°ÿ‡,Êþö;sº—À~”ïOÈÇ|VUÎùÙ!'@¿Ð¼àt¼òêyá>ëú˜àí¥œ& Tr’,R½_Ð`¼#KOÝôÐwÿLkŒš °/*þ{] À4cÌ<æjÆ÷æ`É,î`@²ýÝX?Áÿn@X z½÷CÙ7¬YÌ 1>fIc?Å0aJ@ +¼ÃÈÆÿe<$$Ãq†õ°0O ãÿÙò’*~&ñCÒ9&î!Šv¤C¾/Ü™$ôE×÷˜ °%½V|@qîû—XáÖ‡!÷tmÁnàø°Uoµ±Â3îа™)Ô:pXac>— -ê@/8ŽHÙ'©€®Î‡v¡3ÖK›…ÝÂPš$v ‰è…¤díýJe¿)–BQªÉèÜ‚j¥vï<¥r"·ñ°Oxh(ɹ¯vFÀ ÍBØ<ìÿ1¾ ôm”8E:t#Ì(1ˆ2Ðs‚ƒàaÒàDÉ £/ s®VåJ± ¤q^*––ìÁW*ÄfxsLðBqæ PX<€(Aù²¹´T¸º0£tvÉ”°JèUê¡è"¾E&Ü‘ï"t!øÇ× ²¼ò«åå_Á:Ê¿*Ñÿ/Qk¦Þ/Y*þ˜QèI8ŸC~«þ½îo_WW7é!¸ÿÁý­­û1pã.V[¼–ú±b #î0Àà©×76°¼Í(S€Ù¹µlÌ]±ÁjXx-~ÒTÀ¯¼ò&D)ÿ>½´<£$HÉËH ÀäµF[ò`'ùs® ¼ždø3¬ðýÏÿ„1:ðH oé1€€±@³eŽè‡zz›€óéÄŒ¸áݰ9Ù0n(ÀÄ‚À|Èâ÷: ÞŸ¼ÝŸè,2©úÏ ÿ’ø!ÉIh2žýñq‚@Aè±;×JhÖÆë°¼åm àJPº}ÆÅÎ×Lè2( Ð&ôDyEA¢mhâARX„‚ÛûË•Gž†ÏeÄÔ‚.†æ 4]ä'MdWóü¤TPŒkÓ{.ˆh§ÒÓÏÃ"Õ,áxÇSÿ<>êu0ŽÀ§º-'¢F¾>•Ï7§J‰ ¥Õj뫆 : LÓg^YYºú:¾ú…¥ÂÒBIˆÍ(|‰4ñŠÂ ¯A¬£ƒÚ ?y)ˆÄKiìôû‹ðÒûµ° ø_üã¨JÊÚ?ùôQIU> ®U (íK85õúëWK4Rwñ F2Q¾ÄöK0,ºÂ0?·¶ùàË/­þc0ºþÓÆº €`ɽPúµ‹¢Œô£{?P€5ã¿»®ÐpÁøáÊü [(çüì¯ï†íüä,¸{.`Ñ€—>Ï( Qò2ÆàÙG/Z P%ýùÖ89àà<—ûóH”û;øsÍГ ÿ¹€ë‚ÿÅEšiô7òG˜ÖC¯ü~ò‚à|¼À™’¦€ñ?psœá%-ý3BR¿Ú }ÿ€<ú?/¼®rb2ø‡Š<Ÿ¸éì~4=Åà“ø¦Ÿ”'”ú ›½ÓØ«,ï5°Ÿ³ Ü­[Á†ƒsž½V°ÄiíÃf«­Ê­°t'Ø—ðà (”Î.èÅð.h‰ƒ#:@˜(PZbâb’)Á;Áj:Nð’w|j¬,³:+|§ÔÃ'vDL…(”çöá‡å¦žQ'§vãy23M£ÿÜš#\× ‡4®+¦}ÏH¨ïˆ¥8}(þWyakëkk±~pWy‡¶„}SC/Þ8÷ÆÌÌ‚[J{XíKâï—+¿Â‡¯RFA'1 -»ô~¼Ô\EÄ’ÛŸN*H‡0(À( Þ:WVª ÿ2£ ™PEHõæ”Jåâ’Š*EaSoL‰—,,-—!¦î'˜,¡äûc à€E`k}~n~uu‹¡ŸnÝ¿¿µ¹µó{ @—ksX2ïÿ3½9½Kõ’À?;ß½»º&‰;›ó³tœ÷¬ß8ñ™Œ[˜öœ”»«|l˜[Ë|â•åG@¯~æèQF© áÛK9E¢äe”àÖ8±àŸ{-€SfLW*²uù}ŽøÞ×8!ýaqqñFÂ~¤gÅ»Œl¹} !½MÏâÐÛš§Y°Ð9—Üsâ ¼¶à€¤=#æ~>ZÕO«%€pÐ'å}>á!xŽÞQŸtK7ýSãgõ3ž: -@ºh»Q[®ìÕÛ¾ðQY@Žmîß¶À<@èvèem2gwÁH”nŸÓPø# ¦¢fÊq²‹ž‡à,g¸a…š¡¢DcP}j•1>Ôq:&t§}P^9hz•\À“´LQ4Â¥ø©l& | ö´â3{¦ÝgZ$JSmj˜HßÁÖ ¶ÐkÂ÷¥;]a:ƒ!‘ò¢B)˜Nkÿ‡mÁ~£ÕÚbzch^°µKý^Y.— -3çΞ›r¯½€@[x^„8‘-tYD€iì 1&ùÊò{*ŠÑùXfD áKÅâ’îêv-,õFé_)“W ¦S ˜q,1ÿ|«$ü Λ)=*úÅ"ø©™(I×}¸O[|ÚZÇ`}“ÈØL`ë   ,ýÿ˜(,:².°@@ýè÷)Œÿºêw`8æÂºØ’üa¡àÞܬXÄ\\Ö”_U€ñ?YÒd€L5’ðí¥L–„&Ò³ñ„wßÁ`Ä(ך/à c,Ï<À÷½€ª5À3x‹ñ?XßH+úÐ;¹»Ò©·Ÿ¼ åDCd/iì§[N€„èÝEÀz$¥·¤¨ÿ >p Ї}Ø0û™E-g÷8ìOO‚¤[ÜIà2N˜‘¦¹·Rñ0@«óXôÁfÂ9!|§Õ:<êÒÛòéà |è¼P*P*ÏÆR#¦®W •D º‚é`2IIB…ÆYÃ0pxMBéäQƒ ,ý«:ÔLšÜ2pá€=Wøí˜‡A\WÊDœv - ¤‡s¸|\L¬Ý*Hš˜|£}à8 ȤJ;|ʪ,¬$Ð]fHÂ,àJ篬{|Ømµ;­¶‡H’á¿/X×Dp -þ²èîÂÔÙÿxnj -äpW€pXqð -f[Û‡èÄDVîb©(ì§ õ@#ˆq)LÓ­Tâq(@….ÿŠbD„üÅ÷”@%©ê¥«âWSðú¹s¯O-Ô{JÔª÷&o¡çO’›àîê=|„ÿPÁ?Ó® ú×L­wç¦{øÏ'±t=h0Ü÷ÅáM¼pXÖ×ÿ%ÀÛ¶¼vþšh] `•I -§gçÖ>é[ô:òàW?f”.pVªÅ^ZžM˜ HÏðÝÖ8±àŸs-FüŸ»@ÌðßÉÀ=†ÿ·®/..z@ƒ`Þ'‚ì|ô6ç Ò{Râ†wãé‰ažñ:žÐvÃÀ¬hôHJ› ïvþ“³@ z·¼iOÙžS< €žÄÎ'1ŠgMÏ#ÌÆ -}½Sñ0Àè¦Z%€½Xòþ¨Ýj -ò„rŒըcóF± ‘:‚|¡Õã"æFTД ¨„0‚A:4nA:GŠ Y¨Ô„ÙFð€Ñpø£zE -ŒÍ˜»øñqë`yy¯!òâê4t» * Š(Ú1ÔÍÓëú¸å°h÷Ÿˆ†(@#i©¹´ÃçyT$=!nÛ«¯Cð¯ -éVG_³¾ÂN»Õn²ˆ]/ öû‚‹ÿÀ†ºK Wÿòì™±Qw…«¼÷­¾—(üVªøˆ70@_@ýÞ’.¸öÜ? }A8ÀÌ”H€@¡öS IØ•VYlí—¼gÍ'U@"KØTÐÔUð_­ºªB$&-TxŠ$”+Rú7±¬®m±0ÐöýûX6°¬ÿ÷¤¶Ûð±@†ÿ}èïŸÕûп±nåŸÏ?§ÈÕUúù×Öĸ±qwö -ƒ.`Bø€µ¹+oOcH«úE•ð³ü½€¢À½”‰’ dP’@*í Zˆ— ­ˆ¾û¡µz–w¥Pîï4 -`Ì<Ï4 -à…|B`6ÐYò]ã »zûÐG>BÂïß çæF=ßÂË+ÍG@4hçÐÿ#&¸¿)Áÿ…ñŸöÛîÏD#r QPÄ Ýò~*{8h[¿¨ ÒÀAQ`LPÛî4Э™õ^¸?zµMfÂýý°Î DCÙjeX©ëJs›!y¤#,%¥)©a[\œ%†[t©˜ ©jŠ€ÊW£eü¶ÖÜÞ¯,ï‡ûÁ]ˆúbÅ·û`M瀲)G¥fÞaåfØ2y} -%7í¤Y„h Gî=Œë‘!©ÏÄíR¤ÊäûKäÀîÿ4Rk)²xaÛ«*ûÀ“€øoè-L{å/½/`@. -°Tp×¾pQ+=}^‚Æ.„W"”~üþ§0"à¨ì¢K0ð{áê ¡bÊá3—X þªÌu«4;¾~î‡çÞ˜a,¡ŠSê÷HuŠ„Á¶ý`K¸»:o> øg. @Wf^3ØØfìÓžérÐ 0q$‚)BL |oEÒ) .W¥öÀJ FyÀ"``§-¤]˜bð?òÿñ?¨Y¯{•¸íÀdá' -óÌÏÍÏ1 =a@ÖLþIØ+åzŽA{c%`þ¤ôÕÿõ»ÿy»Š½ñLƒDN·Äìù㆚ַÐÈdð«jÍ@›kÓ¿Ð'!ÜK™$ E†¤gø¿íZ£f^ `Ä<ßëZaP -rL°|$ÍpÃã¿îÿ¯xI²Çxqˆ’ЄõF9Gk,à>öD7”¶ÀN®ÿžÒ«”æG®0«ÕñnRŠxIpð•#{—®À©^y%™—ÇI÷°ÓnÔ––*µ–´|)«,°Ët©¸Œ 0Z -…¸â Ù·GíVÕo0Ë „ xÀ­©°'ÀLá"ðn<[`Ì V ´ä4¶½…üÜ ?Àµ(ÜGÇðJU+PÄÓ €û¥Ò^ K@OÇy1ÕÙ¸tby…èà>‰©€ i~ä6àà âö8|ŒÉ£…)ÄÃ#;:K„ûV þ¤/T_ÕÐB6A»ÑªÔm7Í£m#~~3 1¹àÿÿµ¿.à©üAbÒ8‰Äú5:8PŽÞ'ü‡.˜3ØP\@¼ÈÀ›Ê=ÀÐmô›ƒÏ^1'Ÿ)Ei]„ò¢ÿŸ=ûúoóèæ¤gÀÉr•‘þ“eû_VççæŸpëA"Bÿ(-û“­µù+Ó6p}¬ÿ¥ücÀü÷.Ï.˜,§€û}«ýùã?­Ùàŀë'æHœB^ZžMˆ ÉHëæà©TbÕ©£”aÔ(€„®WuŠÀ‹® ¼>Í®$”­ËïsÀŸÇÑoËâBš˜füß ÈÊPÍbŽ’x¥èŒ7â[±Jü3KTlN¢æ³ÇYâ`ºèE¾ˆðئ±¿”q¯ä4IrH’@¦÷ôïŽx°wÿÕ¾pt&À®¨ø…oHþžp@ø°çNà®Ìÿ'é³8 -$‹ˆò(‰B`¾ýeD÷ìÿOÄð/±*¥æ‡töõ•ùC„¼!qäÈŽp˜~®ç…áÕóÝõzmncWÀ%°‘Ïj\£ß?=× î¹NÿwðXÀ[@†,@œ - ¤3ŽÿOìb°Ü÷p£ÛĶ5LœÙ,AqNñ§NYYREìuñ)P& è/|e}ºÕhl=A„ÓŸÆ…@p²£ÈÎiUÀ®Dî«OgF.—€³Y çWjX%Ý#Ï,€#ÀÅ}·ûl÷| -BTv”ðlEþïüA%¾ôlg÷é3ÐÏÀA{…OíhÜâÖž{M¨ÛQ$ࢶ2½ Àª7„—¾ö‡["HBþ{Ø‹HH”OHN'AÓ°_;ΔÈ/aþ?üÿ4J¸kBŠ>XщÂì>§.i&ÀÒÀ<@áXýï¬,/,,ÜYZY[YX8ùöeÕÛÉøà - ô d"!8Àé ¿\8º'-? påò `eytÐ=Ž~=÷~n»I‚¸Wrš$9$ùq€ò-€ÒöNò¯ý-€SæøWøÀ¿ü<¥TÞ{ÇóþÝÀÓ€€YlA7×!ñ•G‘òÿbâǪ[Û^%Ó1—ÀQÏ™ï%\¹KÑÎÕxÛ‘§_ŠHàr’|ûíwßBšÅÎÓçß2-@4[ÿÁhtýöù3AÔ@–«/€P‘¸¶2²ÑÕ9ƒŸ~BàÖˆôy|îÚs.v¤$ô?ØfÊÁlÔ'A YX/]<ôO §²­ öO·kµõ]ÏdàBËÂUå?›3¨ë¤"T"Nz6þ«ÎŪdí@o*Öyå -%”ÝÜù;´ç;w&)™öXùÑ_BéÑîvYàFá€ÂüçÏwwŸ€˜¸?0åŽR±ùŸxVÔjOE\*Û ·ë£2W1eP\æ¡*tüÝpêGVí•AA’:?gÐCâ2¾ûöÙSê×-``$Qö’ 9X;®Âçô§{ö|—ΓϟýñÛ?<‹›ß#Fك¸ÿ,~Lí3çèЧaP ÐÔ#È7 $6dã@”/ÒbIû* ú€rv;›!<Ö8°BLÂÖ¿ë2é £äõ×é–€@#蛨*:]O‘„ò§SMN.­Þ§  œxUÀÃÿV–ÄøÀÒ8ëÑý¨q^Оv€˜PâQD1€bðÿ2ÒÏã˜d=A¬‹™IÚ—áÒð€µÒ áíàN€ñ ô‡$ˆ{%§HÂÃrœà| à ØIþ5¿À(€ÿ{  G*²ÿ»j­JýˆðqœµŒ¨ÓÄ©RX‡®Áë ¢$.¸Lü½ÄؤÜi“¤,ÐÄîEWpT¢\礒SвšòÇ–ÆåÓDص“×js[´a{ŠzŒ}  ‡6ðÿ‡gÏvŸxÒÁ¾àžöø?>Ž?¶@ÇA¹%8jžs„ánt7OàèÓ´¸³ž‚#ÿ™®ad3ÁwÐqRÙ/ðÇ?ÙãnLM[íÿð‰Ÿl5êë» ±ñÐ'£6”¼ByD4ˆ2—ÀA!}T2…QêrB%‚ ½#¨&.Š2¿cjdšD¾{PJeÿîéӧϱöÿ@÷~J„UÄ@q#íxöô .€çJvD@ãƒ"ä`Êæ~ËM÷<Ó¶ïõþ×Áá‰W2 káoaå ×VˆdËlçé…Ü2ãUÕUÛ$&üŠ+~%@Ìt XŸ(Ož& åO‘äXÀð™Ó‚®Kw–d®ãXXb½; 2ö“Åd/p@Œ÷!ߘ\˜¤õyeqQ»»ËËtß{ãüù÷R£ŒøV­ÃV°0z™Nc‹+k++ñ-€xVõ~0ÞsÛ"”$aÜ+9E~–Ž@ˆ'¼ûá}º-öüÿ×·^vÀŸÝ@"ûߟFZF°^)1®”ÃÇIx„Ž—SNõH*7@;¡¶sjÃþåJ)EE”»P;Ó-¨Qß«†2±÷A‡‹pÄÅmx—Of§ÛY¯WšÛ¦)E†Æì?âë·vw!¸ûñr (~ºË¨AOr÷V?(*ÔäëÀ†lÚ€`›Ø†Wp”ˆJr˜ƒðXØJã ”eìÄXøÎRb· -å •kO]B ¬*y¶=ÝØxú\'©•ÿY{J'ÆEiƒÜÑ•~‰à¿3P˜ŠqÙ®-ÉO&Üþ’gôö÷ľ:+¤IÂ!¢´Ïž™QŽv:§ëaR2šPžíïî<õ\ÀG)@ÂÇôÓésŸ?¯…©wÎö¿~¦ÜM"Ø5 `G lzåÖÖg…ÿ*Ç÷,8‚=Xì°‹@ŒAí2HÅØú‡D8Qxúû0ÿüŸyÍ=$$ŠrO]Ò`¿“åˇ÷ýþràÚýÒà.€KKž'øÎêê…€ü~zýbp --¯üªÓÀ0@!+Â{>(9ÿÆy€SØ?^&2˜¦^[¥xåø_" >KÇðç} àÈ×ÿu¿pêL€ÿ -ßx‰QÊü¿¢€Ä€hÐCáþûéáN@¿ò\’8dk<$¤¿ûÖÓ -3•Þ°ÇT@‚llj%<R%‹- Xð=Œlú7è+=ÄBBSý?«:ÊÑ*#µ0-1iþÈÄ;à­¬±±í¾yÖZá -|e¥ä¶&:¤Qª!®nA¹Ž1C@o§¤Š(ÉjºÍCf<óúy>dî•©ÑS¾— øP  -• -A¡[Ř4@kww'>ø<ýº’`´+t2¼Óß×r–®÷LÁÓm (Å Ô ì±ê)!$•ƒôõŸëæ@Håºð $cÞ<¡_·˜À¿-¢g‚&^^’™Š0 -ÀêƒïûSáö§Q€’;x„ô'K‰ö¿òJ§?~2üeè/¯*J"g Ä–©M.™„`ìø%¡ý!q€ÑA1€‘±Oî­éRÜ@O¤_]S…Ƭ’„q¯äIèqX’@&íô/9ô5@ìÝÿ }  £ˆR(÷Ÿ5 -à„yþ¥¿Ð#xÜÏÄ=?an—¢8#£Ÿ/P°+:Ã,ˆŽd;­2eèî¾ûOö”ÅE¸<÷òõD®2‹K÷îHeŠÏ6ŒË%@­ÚÜÞyú­e© -f7`R Üž=†}ËgxÏ¿}²ýä9Iø®=èï?ýÑþyšè‡Zù˜ -&&‚ƒ¥‚ -h¡,£§¶Fs›àĸyÌòXzåÖV*}÷t£Á÷ u ~—ŽS*E‘ ¿ö”f…ö¬8¬›ï?©U+*9^‹ÊF"2ÜjÿŽù¹ßé&Ñ)ò[øÉ·p%#ÜK립hÀs _9··ww¥üóçOKÂÇ®w­²ÿÒJduÓ8{¦¿nýý¯÷¿Þ—0#ÛÞý@mHB" -}J¦ 2“?¶;Sf~&„AíI£ºúΜ{½ÏõKk‚ˆ ôé3«He* åO‘‡tÆ‹a€°–|ìÿxpàûÉ(ëȱ{^p/X€ €ùû‚ép,ª¬ÔüOgÀ_-O^¼2xùÊ¥ó—G@¤õ{”:^ÆÆ.Ûðéêý5šx$%ñzÜóìâ(áÿxIàqX:D‡G`!“ê…£Nø`_ »?¤ÀÉ€ƒ}g}ñüßä[=’:Äñ爞¼jý¸OýÓÅcI¤²Äs(2Hi xõ6ø˜‡ÔÛ åvêKY½S9!ɶ»wÍ/””6r <ÖéÀëAï ½Œ¸i?âµTJ¸WrŠ$ì8,'ôxùQŸ½-€žJú×êpÜL€]Qñÿ -ßüË  Gÿgðúab¨ExžÒ^?æÔ*½?VÒ£ˆ”ê½ßeÐÓgÄž ®Xeu*Låi‰’J)KôQ§ -¹½ô(LÆXbÓ#=Ñeáné?Y¾rmÏUkÓëÌðÝ3Å`[ Ë@-лÿ©{¸3žD•½»Í¸÷?lÚJ€M£&¹M“SÀ-'0©au‹>qŽ”Á`L&285E „‘ÚÃêÀbA>pËY…ÉO62€o¥ŽÀ×ilý«®ïT¡{ Xý¼süžã¤w4‘Ð…@wª$ôµ>œÕØ øýI‘Ž“Šf€Òýxò„6/ìs¡3Åwß)ÑîÖ.Ý-™ø°ô½vd±·_fö1 @âgÏ0ŸÖs‚sìù¿v÷½öºÐ¸ï/dë+Æðؽ¯sè¯%¯i_½_†¾@_ÔCôC!©Q#©r@# ©Š9÷ºöçtpÊšÌü“å·pŸyc @òXŒÚx–J¬Ô?´éೋP6þËà—¤HfVÄè¨ç¾Äýó'ŠÁþ8Yúåè%7ÜYûlmyôÊyHI<¼¡¸k¯À÷”‡å8Àø€,Þd{'ù×ü€ðú4À¿Â·b€ÀtŸø—ì i­x~¨t9@WNÆüãÎù‘Œ>U w]Ñ3Ú‘€ÓcE%ôâ€/<ùI¨œ6e(?I:ɤR€ÔÚ:¹ÙuË_#›(üGgž.Ïn^«4·vK}VOuË\uÂ.ÁX|ÂV ¦èg:Á¼vOŸìì>tÒm/f¹ƒ €²†Kìå8p„OIl!Yâ¤a;à7•¤­ -Ñ`›3±íâ"Ÿv) s_(g@ê8[¸#ˆF–Ð#œ/ ‚PPýÑ-Ù“£ÿy¸¶ä&€ðø;;’U{ô[Zú%mwÖ^DKhâ‰û®ˆ,¤³ÚG€Ñ‘Á«bW^ì ÃÿqÂ<@ƒƒ—GÆ×ÖF;_L²@<À¯<ßOZ­¿?nµ­ÖãÍÍÍV1_´=h¾~Ëö+ÐLt!àÅì˜U†sÚ¶…ÇYþHp©s¥)-ˆ¨j%›¤Zk·Ø@¦Nµ‹½Öcáv{Ϧµ }eR¸Ø|ìQmÅß·[­¯7ÛZEÞ.n¶K€®«¦6*~EÖÙb~o½šµ³|F:ùf{³hmê<µæ³Máx±c,Cf1#E¼Ò±ÕÞlçíÆD³Ý–zQ’fvb¢‚¸Ræw¤]E¾ßlè’BÝÖ¬j*mnâ™™ÏÛÙp6£;25;5“ºY-ndðÁ=wH€ÿ¹8ʹݾ!‰itE tPˆ™?²´>zŸ€ƒå?tïŸÝý©£ßñP<]R—°×jì©•xª£ÂžjÀÌâÃXŠâSA!åyïÉ“$Žz…s©HŸÕ/¡Ë‰òôÙîö\ex\t á÷4~û-Ýüé ð„æàsíh|ÇQðdgG@À ¹ß£ÊøV¡F|r:‚¡¾U(o; ™Ì là/ì‚Äϱ É@‚qÌt¥Tý.» Xw—úõZm}û)–¶p7‘åþÓ·"ˆ§À~€PràrwJÔž/ùˆÂ˜Xwž]‘ÎQ ’ë¦zB'@zˆ™<ÛÅðü»gOž câ0:+~BW Ý<š¶7¶¶vvŸ=H}ÿ»b íqþZÎÉ‚ª§‹Ù‚R½f¸ö -Ûªˆ$GJ"“!=˜À9³ŽF»¿ÃR*òC£“ÄžˆJ.%ÂÁPnÏÿ©³ßIòåƒÕ « ôl—ðß}hHP|¼0X`rqq1Mæ8ß‘•À{1€èPò€Ñ±ÑÁ‘«Âï+/Ñ@Y{h€Zµ¢c#—.‹Œ-¬­NŠNœO­g½¥ü5@=ŸñÖ²$Œ{%§H!t?fm_·»¹ ŒjÏ]k¬ç{û:œß{¼ù5n{ÙÆ2Ý—²i³÷«Í[zMü@0– àáÚœ¦ý½)°®ƒXÏ&nÖ›ºp¶ÝÞlèT=Ï›kLµ´÷r¥¼­ˆf£1­)ÒÞßp“"_5«¢Ø—"Eñß•^,*ÑtM$¸¹¾Ny‚tfYÛóâ·T ŠL‡"_|Õ.¶ò滵†ªÉ÷8Ç`…†24&>TYööšYs=2T„Ï´XªoiLèâÑí )²÷¨Ðe‹ýd·ÑÖ3¼®Âë•Ê)hÚÀmP$ÊÌòuI¹fcâf#o4t{”õ@ Á÷£÷q†ýKî¯ðØð,yMØ_bñApð(Ðó ¤S!‡±ÔräôAQb×XV“š@áB=<¤ŸbÿúSZ ]äüÐÐE¯éü†¯I†'q¥y×åpBÉ® U¯)Áл×TM•$)ŠÊkïNÔøø¶ÆÇÇ¥ÈøÄ5%TÁ*ŸäÒsüÚµñkþ`¶4)kþ`Hå„( =&ÞU,gCñqéà ª&ETмKÁJ€ÃJAÜðÄC7ù$x•üÃãÜŠBËŽ"©¾!Êâ6„\œèãÆ ºö8§ê”%ÐmX·ûšR_ÓÕ“à‡Ëµ!Á8Pþƒˆž$ ä´Xø´¤ãI>~g -é –§wŠŽ·Ù¡‹NÇSëðaºÑK1à±µR •–4M!IÊÝ•>/¡u²¤«#}”Ò+./Š,%Y—' >€í¬:ÐØþ?xl®B<Þó§2UE OÀéÃÍìpÇ7oÝ @šÒ0ðlw½V›Û~* MTAF§ArU$íÞêÖã -ÐN‡$Ð1ÎóÔvõTkÍ#&Du‰3Ñ)RUÓ'Á½¿®‹@žÑˆÂ­ãn>7xέ~²³»µ¾±óô™îó³ô芼ÿ\Ùþo€@ó‚™]n º=¸›Ë/A|WÀz¯e†’UØ—á”2+Îë)e$ƒÅgϼÂ÷4÷Y8<+ °aöÓ `aaL¦ýÊÚ; Š—ÀØ«~Á‚`õ º9å‰É1¦¼J?Àyza¿—,Ðpydauytð8€oÙüPÇš0"ã¥øfs<Ëí8Çønæ{;í/¾(ŠGßìW2›Xë2·óFVoÔµÊâ­Õó¬^¯Ï(z®)‹»6ÑP""SwÓö³Ì_Ù¿yã]¬üf³:±#óž¢dïQÑ¢TçÍæÞž,tŸ&ó†¶Íboïÿ‰ ýÍž,}Ùé:-»=Ÿ¶:JÚl~0‘­çuÜ -ŠY—í³*Ÿ2“"[¥"7¯¡H>w³Ú.TŠRäÅÞ×_h‹"_äEE&šû{{­ T€ªj£›ÊÛû§­ Æó1C§³ºõoeº1†UI£ž­£#)>ÐÍ“BMÁiQä é™5³›YS7K7ö‡JÖŒ_9/(×ïíq˜‰;( 2v°4Å?n]ä?”DyyXy: ¦ˆƒ]HEHÏtœÖÙT@W|ÒÒI\þ’/Sž ÅÎÿXT#$åAŸÎ¦«›#bušqÿòSD0µ W¦7¶vŸz €1KV²,WÀ{òdçÉSüÓÝoŸ=Þ>—»³½½û›Ü\ -$ ¹ 6Hj4:ÝNЩ2 —Q{ÉèäÂfÛܶ²£ à;`]€¯Ê(S€®Rpµ£f·Ns‚o=Ófg½ZÍ·ŸÈÖ†–) >Åó“6Š4à«4g¦rh€B@Œ»@™ŒÇBÙg 1Aý€d³•lÓ_©hPô3‘ ì¨èžu˜ÖëÕúÜîSRH)WÎÔE*Žò¥‘4Äõ€§Ë¡ •&b\‰Ži=pµðØÒ14?Åó?<ûV7Û lßÝy"WA‚™õDz¢_JÒ GAÐq†§t,qùL÷ýˆðys¯ÿ…lLÚ⪪©½]AcwBrxD„C ¾ÅÉÀödGPåôŠ6¶îSèD'*DÅJE‘_,S. äüòáƒÕ…ðÜ¥ øÐZz–~9©³Š×îÄõ—“KÆûØö¬ÚL.Ú QDð˜’0pq² “UëZÿ±_ƒ>\¾ô“…µÅÁÑ‘¿*i;p¼vx~Á¿B˜0aÜ+9EjµÚÍcÖ¢Õf1 NWmAum³lâšaU–«®‚Ô«Õ¾÷¨Q†fõšðšl¥˜M¨°¼ùnc=kd €è<Ÿ5 ðî<6ój£hdžüŠc7]–ؾV•eaå¦õFv냡FLh5 ²Íªj›î*Âe©"…6²!ÙýFm8woAU¡ØP„¾v.~}"Ó!;à Ha}¦Ëy÷†êÌd4­bøO2t¡šqk’Ìêl><] ò…¸Vœ"ÒßÊ^2 ø+’¸þ—.{–Là°ð°ÅsÇûªÃâD!Ú—©-óÚr!óˆ=^LbD7¼ Þ”¿Ÿ,‡ -”7ÒèK´‰£8„-'É¥ÍJezn‡^l ¹G¶ ? ]Â<ð.¼Û0Z¯Í bÀD ù ,x.èfòÚ) œ…·*Xhêó¶Âi« 9KçªeŒŸ‡° ªFpØHª2a'FTjyöDÀúìéîz½Ð9U\+€Ùnw¡±ô{¦³öPH_§ŸPZÜÌÞ ÍIÁ…OQÎ-ý9Ö)Õ«U·JéÖÑn"Þ‚W€þ¸}4£ ›©Åó§öˆ¦(€š;Ûs"â»Éðï‘ðükêžö¿¼ pÞÐ6xZ]ÀÙ4Žÿ ƒ–Èaõ£q¡ÏѼNJk‰ª)Èa—׿•/ˆðXe€ðÈjÅòg  ]KbGP¿³–Òü½k9@°ëXœ\öÌŠ¥`pä{L&¹36x9<+áðóèç7=Îé¹÷Œ~¯ú¼„ˆ'ÅW`;Ör·˜Þ§^Œ·'êƒ×Ýw®^Èݨ÷ey½ò~‚;%fkà qîTž ‹8oL4í¡&=ýÈtc­W³Ç¶äH¯à-¿/PÜleíGi–•v«ÑȳkÃëÅ4º‰ý­E­:¯£R!twEqƒªÍ[ÓÓ"G®¹ÁTÃö˜þÜ·›{ódVDäJ”$¤XoR¤•&ú ɪ­‹77ªÿ]=*`‚Qÿ'í|/á4E•ÍkÓº=xþ½—æ;aºÿ0¤ý蜿d¯€©: ìŸ6¿œx;cpŒþ$"uçYd•”|B’‚~n]–ÅF ' -u©þbl_ì9f“â%¤îJšÝ éÓ#üÿñ‡4ê‰c+Ø9Mžî>Û)ÃãÓë[néL|`Pš€_(ŒPäwOŸîlmíâ ìÜ)¯·Û ¨X¡/æ¾±8 ~¡·!_¥ 5m¾Àé†ÊpR¸ŠÐ9@Ï„{( cj¥]º<ƒÃ<{ºÝ¬7Ö·½”¨¬TkËÞ -òȦª¨î¦ óÓ(‘„Ú„òŠ„^ ;jª,<#J—_†üŽêþüéÎ6ó'¢‡LûmlŸÐVŘ{04@êÓìÿ”i€¶Ö7¶v ]O’ ¦GΜcþ>Yþ¯õ•YÿÚ_š/’€ð±`–0Ù#š5ÂiSJ‰ë‘Å'Õÿš{ò9g0€¨ógO€.À™¬Q©Zl#äQ'-ú=øòÁÊ¢xlÒwÿ _ûrÂÿèxgeeUDÀ€~ì–ßRç ÷DÌþcG@T F0õ?F¯ŽžÎ¢~÷`µÛ`e Àùx4ýŒÇÓ¬ƒôšAJ÷JN™ÍõcÖ¯qZ€ÆlDHUŸf¤¿ÂÙ7Õ¡¬HÀ[¿^~_Ön£Y¯T+UàN€ø(¯N¡;¥£,Jühc½ÙÊè'?dC›ÿ”E‚Y¬nzÔÏ|Qm~M%"÷ÑlöÊ HƒÙ³üöÄú7ò½C¡¨ˆÅ»Ãy³^¯Õª€®Iù«žãwJJ9ŠjÀÞF=ÛʇšzÓÕ† €´1èsíVÄîŠõkù¬ƒHœi<Ÿ/R’gÕ¢=<žÑ`œ¤=µf­o\7dxàíÊõÀzÏ”œ7¾"Ÿc¸FJSP÷œ~ž`eeéŽï‡K‚ÆÒmOTDHôÄ!>•ž²ÃRžð#ÉÇÝ…âJÈO”Cø}TH ÊàiÒÑ(4aD¤¡ß?Þ)ùŽZ4&tâåO&§_o ˆIOž‡²™%†»Ým[°bO±½¡ÛʶþÆ< ”ÁòÏ”Wùlåÿëš¶~šëÂ_û× »ô ÿ9挀ø¥¥ž¤g+š -í]¾I -xÊ<.€Áï\£6·óüÆ‹¯"¸æáªäö%=­§SÐ…D -|áðo)5p -¸vgÂ%B›ƒ#¶ÅšL -vw·¶Ÿ<…™è*!M*K°/å¥.Wñt÷é“í­¹9€Ðþ€<ï{ý\ÿ9£m »¯3"Ÿ,åIö v¹E v0¡r€üQ—ï$Fl#q¿ÎôE&ÚŽd=^”<Ø'¢çPEŸõ(€Þ£ßkì9ý`ual,f\5². Yï»E–îåxV çFúc¶B{ÖN ØÃ*y¿¼¤€aš"t’äÓ–Àè§_¡daÒ3Ž,,xH!»ÓŽHô,w_2–„q¯ä‘µÄÿ¯ußÖ p’)`*àNVlÖ.C%êÖë•ze¨¯šá PPð7%S˜9póƸ-øRʧéŸ×˜€ µmycâ“Àf7À¨úò¢:íù‡„ÿ:Éû8H¸>›òÆÝý!·³w‡@S©‚޵ù|£V˜É¤œ¥"u1åb7‡÷ÂåOíJQ*B+H^ óµBò…"ÆlÎRœÍ&ÚE^SÍé©êFß0½#¤ -qf#b"Mޤ–§˜+ðUñà)ÈÏY0Ýd`Ó› €A•‚]FÒÑïžÒeQƒ ÂWÁ°ôÙ˜«Tç¶¥…V³À&=ÀK ÊVŠþŽžùRÄ>}¬|(ViJ©ª“+WDÃêS5>ƒ°`Òç>¸BžïìîhrÏŸì´w¤Œ*yF‰²á]Æh¤­ö þÎööú\!ðÔ7ûì k ýýýç<ˆù")§€-Fñ„èlÙq@ Ñħú‘FÙýÙ¿è€þ›“Ä™.L§©‹`©HÍ’"Î%ØÇÜïÄ¡¿ÃVKÀ¯±ÿËF€^€`úÎÊêÇÈIÛ GÖ…4öŸ"Ë>‹4 0k€›$€SI€Áþ°XYf½|yt”>z2m”¢§û€$Œ{%§Hxüˆq×Ö¯$aàfÃ5›Èd-g²à›Õ¯¿?Ü÷þ­Šìý°“…;2Ø‹ ÞfsH–zc8€YJcô€À™Ùû˜§]ml‘z&ð:ºêäÙ°Ò!EÖÓ‡~ñÿ7°ÿMC²¿+át¦ÕhìG¾`É‚—î [ÞÚ ÓAŠ8E¤j‰pä̃DôlÚÅ”…úE€¢1ÞVŽêðt‘…K àž´8Š -u;ôŠÓøì‹„D.²,ø ô<Ƈ`ÿd+ÿ8T—$¸w‘À¿¶´8Êû´ Àç}¾§Múù¨ŒÓ·ôŸ,O„åëõájsc›/Õ ái¶~&cÔß[[ûÝ'Ov¶cœÚ76ÖÅàÊ"„àiþDY…ðÊo€QUˆ(Pž -Q…¼Ñ @6½P’S@¨Á¤B“˜¦¨à_fµPTð¦+î‰4ËGåÝi¾gÀd†(Íp@ìáõSÁ6,_>°¬³Š°±¯ô¶/€§6TRœÏ˜@ `&Lû£0î~‘Qñ"©#Úi3‘Ò3Q‚p“à?xJAÅéöîínoÍå¢N"b‡do—ñ÷üo&p®?ÙÓ'JŒîjØ›X?p6B„¤ge‰Ï9©¾æI ²û\àK‰ó*±öú.1¢9€k$¤ïý±‹÷ìp€û«k‰àHÐnÀØÂÂʽû"' ¿¿ ü³eì¿÷År&@Ï4¹ˆ@›„ñ“ŒF8IÌJ¤VHr@˜€6:ŽŽz]}¼ºï$aÜ+9Edƒ'4þws&£ý\`™P,o´…zõ¡›>¬gõá¾JÃö?@xw£>…Ç|f3«þž™öfó)G輦_óZµ1==Ä €ù=,o<ý o˃”lÿ¦˜°.#œlJÀXç´AF®)X¯W…ÿ5hˆÓ©úÙv6½G›?¸S@êG0/"{W™k…à½eEÄA¤µðži•¬˜XG>+`ôVïÓɧÅè² Ú“_䯇£säÛÃ?í8#tù~#gÎ L¥«H÷@ãÝÆ4£ù~Ð/‹'eeel4,è,u²ø£å.`"`p×Nv!H` -q/Kú)%;¤'Cù ;˜ðùEâdNØÝ„³—C*D! -ú QÅ€ò.¼ƒöIûDDÂ"¦ö\mx & xßÝVè²dAEÐN8·!Ì’¡€Ö]Y²[²yeÊ -€•ÚPÒBKÃ) dî+Þh/TV¢?á*p7ÊËÆ«Nhƒû^çtÞ©h@wO-L§ãn‰»Òa[°+…wŸ>Ù˜¯LoˆÏ( ‰=Z–Ä“ ŠmŸëÀêávp•D²s5:a"CÍÐDÔB·A÷WíôœÔ]ÐaŽwÓ¾³C{ OOwÅdñ+ÛÎîÖFÓTKl*Pÿ€œé7`Ú p¶Oø‹÷ýtÁ€•]‚lÂÙÞ2Ò;¶ xŸ@¨2ås ªÞŸ$Ž%± œäH)) Gƒ8H§’áôïýÅÎïJÀÂêÝ_ÿXNãÿðŒ-L*æ3¾x¢îíø/Û"Ìv1&Äð_І`¾"¬„£ø!NôüÊï0Â~í + ô ¸tipdtð€ÄÏs) ã^É)róxž¦©=íÃÞ)<ÿL±Uªê8¯ÿußûÙû•ª)@ïÔ ã®Àãy!)°[ÚÀ!i•ñn¶Þ¬æóÑà>ë~ùÂ]™á››¶Ä‹j£ÐÙÈ„é-.¡Â”°9tÏ|Ñ·"íæÐ5C©@ O„mì)ð|¯ÙØ ‚a½¼4Éôôtqs‚2Š<ì~+bü—"…»&Ÿ -R(nEyG|CDZ²aŸkgCCõÆ-%ªÞ¢ 2ÌÊ qB•Ù®ÅÇÚg³ºIâ(§>-q³™{Jƒ°ÄÃ"Mïï+€¦A±óõ]J€ï£K±ï»ÔwþÒ•@q Ÿ>ƒ¦¯ðØ©êô©ˆý“ðè–•w6é™îÝ¥Œ¼Ìæ7Åu0_¿N£€õèóa!˜¢I§xtŠ`‡n4.Ö¦‹ A’‡Ôwà¹à <¶ås[»š_aßúts]@&LSœ ¬ýƒà20[p þÚ¢&B'»l¡ÂÇð«Klö ##=1lÉ…:ú޲µJ'L~I [0,•¼>Ù]o gëRN‰p¯?¥WKÁ`±ÊSZ $ôô%äJ9G£Áóo€ùoŸ?!6PœŸR0_‚Ôw¡}±#’[7Möüö–H´@ -ï¾óZÿ'xBs¥_Ÿã¾ ÿ}çË„§ÿ\ÿ9»ÿc@éÓÅøZ.… sÊð{P&œõŽ‹‚ð?£žàHæã$eM‹ ŽEöLõSñ®Ža€£“ «k÷Á~ËH ü'ᄄÀêʃõÇ‹á>Yý±F˜&W΋ö³‰1¿RÐ àdü÷<–^`0ŠõÏd‚|Q(<z;yÌKI÷JNæ·;F„€M’dív ïì‹ñúf6ÓÌò¢ñîµõv~aX&w¥^y¯Z}¿Z©ð ÷³EVÝ–d“òK7Y¾SÝxÜn¬óѰWð VËom>ÞÙój­Ð¾Txv ŽÕü‘ŽSÓ|¾Þª®·³¿®þ#53‘h²î6ë›V$5#tÄ# -Û׊ýbŸˆùЈQR„)„³|¸Ñ{GŠÙ4øE>Òéæµ€òüvõ/kE»þ—²æñC@ìˆn3³­¢‘‰¹g!:2]È·†ŠÜÿaK<+Èѱ±ô|_a"!áw æ}Wíç¬$‰÷6öK`'el:ù#%haµ—@ë.Èl1J‘@GTJ'ºbðŽqÖ7è ¥õZˆÄŹx9”ZXbµøÃÐô¥ø\Äü¿° @²Ý¬\¬67¶v¶t$|ÇàÝ5 îžílo¬Ï5 –Ñ?·®ÝöÎÖÖÖÜôô\¾½%à£÷[4( æsÀ¦-fað·4ÂwÀ‚ híå€g[ö„)´Å‚'L@óÀÈyŽmÛýÛëÒacK »³EÄ\u` 1'õír§>)CÆoé  B¥1üˆv‡ôU˜ÖéMm^©¬¡yÇœ“È ßÙØ˜+¤ÇÖÆÜ:¬ÉL`#_ßÚãÛ‚w)±³…‰O1ÂO7幕zÀű€]°’wAå¹þ~mɧHàlXè„ý רêêœ8$d%20:’À¥Äk¯{&^O§Ù¸ÇÁ±âŒQ–öeÓ¿cRÝ©ºõôˆP ˆ‡ÀØäòêƒ w…¬x< PbçþÂÒ‹€áþÀBêo À®ÿépè~IjP½+“2þÿýàÈ¿¼tyd¬ôèyLïƒ?Ïå/aÜ+9Eà–´C€Õl1Ñø‚}Ö,ò‰kÍ!·v»Õ]ûÄ ¼‚çê *üÏ3!â‚ò"¯}Õnð}]{þ ìn™Ýüdnc‡ÀüüwŸä€Zys¸,°h7Öÿš™tê‚RmkÕª(@£ô;lfoLðFTd:kÙ\[@ À>IR¤Ý’(Â÷zcvWZ™G;"[ÙP£1„ô4¨„7Â2»Ùhúލ+’¸RÏóýƘøq‘è™[á [Ñÿÿ÷ƒvçáøéÏ}dØëq (6NsÉpÊï# ‡â!Ö¾û$w¤›ª§î‰+ƒŠçA’Tvs_Q (rjï"ìBå‰8“å$ÙmÔ.^¨4æ¶ -Yµ2Ui]7¢Ãžl×›YCп±¾ÎfC@·½1—7§›sÀ°Lð ©ÞaV ý · ÔÊê<¾­ aŒ^â ŠU6§´é,S]çÀcw©nŸ»ªÛ(¶Š­uíóuÉF±^ìîlÍU/\¨å‚^¥" MÚÓ1 *;Ø¥Ìoá|âÅ '´Ú[.ç7[Q:·íSUF;¾š–6(%’ÔÔÍ)À 5¶±üŸ¹:Ýå¶2îïŠbm4§ë`? Gd׳ÿàè;Û—:;_,à26»A$÷ÊϨ›"¡w¤å´B‘#¥…‡¤‹^Ð#0N¼HRÕI Ž¢Ø³œ-Aß` ÷_µ-=Ë«÷E «ËÉ äžÄþ/¬®¬ùEr’î“Õk„ÙNª4»þÍÌ‚ÀˆAÜ ðd@hÖ¥–µUt€‡ЏÀ!€[üºK¸WrŠ$À?,¬ë4j—à«mÁÄ·–<ßküe£Ƚ €ù€ªàÀ;•ÍçÕè|ÂL=eq|\¯ÝØ/ lWZ­‚áw3TÌßÉ»j”ŠˆÃO3R¿¨yžaø½.t­zÜ šõ^E˜¿ Ú3t5E«hMìåÚ%%lüÓ1±åM]jJß cnKñ +‚÷?_¾VäRBR}/€4²"’v£¹Ù«HÚjëÚç«{?LÒ“‚,‹è®¬ÄÛã{‰¬æKòìŸ7’ Ým¾‡ØÿÏ«_©u©ÓôGœá‘ôhú‰ éEqÂúÅZ:)JŒöÎ'-©è¤5âãn¡nò$q06NÌëB[x—°q Â!"EÇÑ™3 ZN”ÝÝöÜôð@­1'LÛïŽÏèÒâ ¼dèNO7×7D„·¤ÒWöÜ6¸âÚxá2šŒ½3´rl÷¹-p!©K$ òü·…×Ý5²§×<Ùiïw¢o¿¥™Ð‚Wé!Œ•ª:ŽpJdµúÜ3óÀahSPFxÅP%°ˆ” Š¹'è©Ï©€›?ȈÆÔì$q¸+üg -äí|n£Ö¯‹¬ ôqàYß.¶æææø°¢^·ÒÖ?¼÷­Ô}Ëæ -Ý÷§qûKB“¹x^8` :øj{]à›ÕёȘ|H+!!¥&Dî¾se {´p¤8Aᵋ@:ðŽUäøËó†ûòË;VaèèØÂòš=¸ÕÚº¾|â"ˆ6Ô§ k„Ù.Úý:L `òW±“ÿKð3îýMÞ…“ðKÆ?ª®¬®­.ùc€ŒÔàç4žäŽðîè. ã^É)b¸?*yDË…’t™3ö[ ˜ï?¼„wÕ¶Pî½z]ëu€–ÚTÝõe' ñͯ6g‹MÁÝ?åÍü?æþ–¯î^pWð&ª+þÓ´6ž¡poˆƒ[uÁþí¼=D|Ð_\Aè[¡ »1e¬ÞÌjmò•3XòÍÍbVøßÚÜÏÚùD»K$"³³ª\y1á)Œ­ˆ -ˆ;’f&’&:O“*ÉzÕ³þ÷Ãø#’jRdföë™îH/˜žÎòv1?Kí_?®µÄ£"Ñs‡à§ã{‰aN¨Oó|ØûzìÃ{@ë%p^áCøÈ•¾˜ê׸J€ÜZ5ø—8ÝÁëâØt*)†öv$Å–’bËWBäFzr‘Êç‹cÙè<«Ó¥L’nt”pæXOs¯Ïšú´¬ù­AàI—5ÃßÓ=Pw“8þµþmoíìlb œk -÷v” L¨/ÔŒ®„4cJ1‰¥¾ -=Á§ƒËÊ&û\gÈç̵vL=¶èDO#„޶ÚlhXQ– ¾ÅˆL¸-ÊêNÚGµ¬aõ‹\È´‡”¨øçžàׄø²VØù¿q˜HÀœ†Õévÿ-݃º#$=6rÈÒΓJ¤79œMwrcc®Y›¦Ý`çø&€ÝðÿŸíû v/Ñ s’@¤Ð7ܦaû¸‚ŒüŠN©:xí ªph•:yOe$¥QBGéðì™IþIôòÙÄòåÃð0 -píá}ƒªÁ˜÷1áÙ,‰èôɰméÀ:¸DpÑî~@¸ý;<À€ÅŸÅQ(FuH9뇊q°Êô„1€‘ÁKƒ|]˜?zòK,€ôK÷JN‘Ôéï°ö yB»ÙÂýó@+ÌÌîW›m&óÑq;— Ÿ×¯W„ý–­ï•Òó^d]Ã;ÿHAÁÝ<Õßlå­Ç÷>h6ø®¡?ÙÝLÈ+@/„üíjƒªÁeå‡0>ÏJ<¹¸-ìY1#&’ ïÍKô*ÕÒÂ.µÇÔµ¡‘}”·Š=+òõãv£Qm÷º"DOi—M³ÀÃ=fužÊ¥Òž™ùˆÂh (Ö}™ (ÕØ¢‡@Ü3ö$U ù7µé¶ûC ·CÕ¶¹§ënµ~ÿx§ùCÄL)Ëw˜t“Pz…¼¬€y?ú±ÀÝ·€;¬ùÉ èe„Ĥ lgÇТc{ -JøC¾Óãê]¹¦Ó*}Œº„Y¾-¦'ìSï„ÄÈtTJð>^"§½sÚRÑqôÂ>;Û»[;²^›sByÙ®pP–«` fm+Éö†0_‰A5ÌTû¯! Ov7æ¦ësëšñ;›ß‚ ÀA‰ãÁeŸŸ0-®aŸh'…CÐóÔÆñ—0-ÙÞÊ©ÔzokDi~G³ímÜXãXÝxvq¸Bñ ¡8ƒ×èt3׃ûIL”=V‰ P9$ÆàÊÁrü$O˜ ±Ðî;¥ÀÆtC¿MØ”v„ßÒ²1רצ•Í™Ž“¾³xdÔ9;Ð{‚Ð*ï„iëÎvÂì³¥Õ˜N1ÄôŠO9I'è>Æ"½ƒ‡$éŽJ§Ôݰvhûå1ökù¯Á,i‡èÌêò$ŸÐY^ ë²MvÛÿö,,ÙÐcðYRwÄ,€ÅÀ`’qÿ°ÃÿAü÷®ãpãÀäÏ´+‹e^håπ屑+eÀàO&»}þý ¿BbI÷JN‘dñ–¼xÔ~Ôþúq«Ý~ôø«Üä‹}þ,`ÑÎÛ{Õæž?/Švör¼¾õì .ó¬=?3û¸h¿gŠ<ÙØÊ žE‘=.ŠÍÍÿñõïo~½¿÷u£ÑPY{{bíöæææãö^|"¯Ð~§ê¯äo>þº]h···Ÿ«PžÏ[ó¨4ÑÜ+ò EY!¶Ðä3}ª¬Èç2+’3öO>ú¦QSí {‘Ï´TZ>»‡"¿ÿúëöæ×ÚT×'¶Úí½ÇU›yÔþJçI-…6÷ó‰Æ(²÷õ&_ôßÛߣNNóQ¿œ{°ï[¤ƒ"¯6Íg¤³ÿ[‘G|èð±îÝ~£ñ²ÌGöGнy]÷×_ÿŸ››û¿ûÇy®ø{JzL,4Ÿ…@â䥅'ê̸ñqê QíÐ/‘^‹¯ÐüŸ"ôÓ&á:gûÜ.—ð4$Áù!‰Ø„÷%ìé@H2ãM8,Ô@'KŒò« ÅC¥C‚±S éœ7À“!]DHÝ9c$:E„U Ó¶ýéb¹£Fkºvmaª(À6´€¾€©p”NìOmÍZµ¹ž˜0 lîšu(}òX€w nåWÑÆz°Z4@ȪÅ9Ãú{jAx²#Œßš££d€nvÒ·€j†‚…¯ù6#ìAïè `@gÐ]À<ù¨À ¯ª@°ê±VÊ¡ÔÊ,è¦1ú-Š}ª+†IcÝ -…Ñv뢪w6ÃÃõ9±SîRÐñƒõ­õ<«WªM<8 Ž‘¶òìëÆ]!¯Ñó%ĸé•¿$)¾8l¿».íž ÑwõœMzøÜéÎ+]Bþ(Ò|„B•?Pø/±ÿÁIþ€„ü‰0À(à¡;b[c¬ô,/­ -l{ÿÐbÈ>$@? @š€ÿ´°µ@ØßÓPzlñ+U0~½¾¼&Û?ökk÷b€QWí(á¡EÏ€x‘è—0"'ÕÓôj˳F­žÏåE“voæPÜVѼvSs£z7Ö‹‰z!˜ âИV°¦\¥.㲆§ÉÙhç|˜¶÷¹|³á 7?k4ým]IS!­™ŽdKæÄž¿‰O½‘ ßµW*¢ÌC -ÕêU4©®oUçÚhY•AÀ ú:KH3«V·œO9w¤Ñ´Ô âÍÍðûñáÍw§o3TÇßßœG‘¦ÉšÓù»Ôˆzº¾Æº[‡*KW&Eþ!oèüÍÆMôhÔ¶›·Ö æ–TªROwB—ȇ:7­œY³­ËR`Z·6M“àsß{‰‡¤#Ë+¥`eŘõò ð&ˆÇîF~j‰»  $€sß%úÓƒ`©U(ÞƒØÝ žÏéõÀúií‰ -$7½0Ñp³C:õ"éI÷£ó?zÃZlÄÆB¬µñ=V6ñ])Ïûè êSð:®BW¡¬@ÏÈ/ìjÛü7˜)‚Anô²Û†?bË{gg}ºRÉš¢` ÁòÉ·ÿ[ߦ»ð’S¦Â{Û -øÈ ÀmÐ8­( XÅâsØÝÚØÀKaCÛ™e”Óun[< ­Ë¡ €.÷Ð*|N*„„»û&n–`Ú#]©Ò’ì¹B0 Ý¬ÕTM\ù•šÛ€¥¯*vbß6J¦OºkÛÍÆÀ@5ßp*ÕhÓ_ét_=h`N|%c(ÅÎ}.[g™€{®èU0né(O—©zÄHM´P]!°]Y/ø‡JÀÌDºOÆV¢½ñ}¼ó±€]˜\6òó ðÇBþ4$ÀÃr½2€h½-–íõ?¹°¼pç¥O’ÀûýýEP=ð?¶!y–'{&BtäмÎb¡Õ5Oèa€ô[8ì`£×CïÇÚ¿„q¯ä>F®]»61Q­~P¸Y}÷?ÞÚß¼ùAõ¦ð¬¦°¤ª˜é‰ ‚7«ÿ±Zó(@á0 ¦„É0­N¿«ˆ¼V•³v³úÁ7o'§ƒ4>˜˜ø`NتÛ Po¶ßuuU•R½6Œ" -6&®‘@«2Q“ -îé_½Ùª~P»Yû ŠÏŸOK=òXÐB%4ÿò&êëXE¨« -À뛪õäˆR6Äsš -ÖÕZ­ÑܽP.01wÄ—ô³[¾~UEŠ ©pmÙø@% ï¹@8Ô£7Æ—¡›ð®”Mw5|S«7oNO—z¸æûÉü‡ÓŽþ¤d+Z/¿¼=ÿh¶·ÉŸ †D CœñÚ€+ ©§¡eEQÞIx˜¯‡µÜø8(@â©ÖK¤à±N Rµ‰> :Acù-Ú§3Q‘i‹¶^Cs¶½ Åxu˜ÆòSdG¨/§wÝØ‹-1ìU(¸…‡`{[°„ƒè€ Þ §ß˜›®ÕšØåf¶Î±ù±¥AyÂA ;!«ÊV:Hº½~8\€Ò¾B^`çÓÙ~½¹¾±:þa§ûô6Þ t¡“¢h EÑ@åfn± ¿í@êæ2©ãžÏûp¾¥¡zDR—B]·rH¶ªÜØ*tõsëÛ\–ÊÚºçsÍf}¼2=·Ám£0 7iën¯¯O×*ÕÆºàŸË9^€Ì×ûϼ.ä}íå< 20+¼ ôåÐ}Ê0(gñIC5µù _%ð)÷p)Gò%W¡CìË#“G¿%á,pè϶d)¦ì »`qyíÁƒÕ•_é•Á›)=ú--» à  >I\àϦ÷C @ÐßÛ Pg~Fòä#0'aíà¿ßmkžàÓŒ\ýåädô8ìУí_, ã^É)²·÷äÈ*)n7׋õfþoâãnûÅ^{]ûvûq»¥ðÞ7ûæV»]|‘UìÍçy{¯Õ"i«øY±ÙmüïÅ^õÉFXõùž2ãÏ÷÷ö÷÷(³½¿ß.þ¡½ÞhÌíýÇxÖ¿h*·±÷M{s«ØßËוMæ?&yãæŽ5Ù+ž¹Êúê1ÍÛ{ÿØ®fЧ:é%M÷ÚR¢xD¢|.»}ÛŠLìåÍÛYSZI‘ö“b=ÿEh”Ølÿ¿¤O{§y³Y_íKe÷÷¯åJ°-ÝT¸ Ë¿ÈóÛ4Ú¡Èü~"ºpÝ•½ß·'Tii%Е´Q*/²–;9 ëí½æŽösúO¶Ú÷Šü‹âɾQžç(²ù}E-sG–WîtÚ$ ‰_Fôºùѱòéé²4ÃIYŽË¨„ªô°€2üóÃi€ùDH‚{ö<²ì"ì(ÕÁR/GNéq ú¸N <ˆy œ·#¥…U‘=¯ „K÷š~¾„Žør|E±9ó"’moíΡFx[ýHí~m:X/=U2^m´o¯ë°6-idBA<BIðœ È¿iÄÎN ±7k’€UŽa®ƒ„º>ë”K‡1]žMkàZšM‹K•ÆÜ–ôƒ6<ÝÞY_—nÓ:Å A´"]Áaá6ØN)€µ9 -ð¯4¾Rñ:ç¾ûœ÷Õ˜6XE%"·.EwFl‰¡‘ Ý€|Cytn#7Ÿ·oŽ›hùÑaÐ4`§`÷/B]Ÿ7¸Ûðô°€3QçÑ#¦ 8€pÅ¿öãþ£Ê„pœá‹pþTâ]xÍÐ)ìgáóü& ñKì§M Ü~yß_œ\¹o²£ðþbKwìç758~¥Ú“üwë?<€cýµ/”ïÈAü—$ï¿Ej­|º¼ò)À/2ëªÀØà%>¤ßàØÂÒ¤l =~ÅÄ#ìǘŽ]^ƽ’S„æû“¥h2'àmFÇgLd+im>.6U|“5„kÀkV¯¿_¿!leúÜÌÝóCfç'n3I9FÞB‚ÂV{SÈ)øý¦Ù`D€{×å³y{ú]¦ìS6rÝrÉV£‰"ÔFùLÔÃt­¯6[›ÕFt4T¼¬îl¶…|´GBç»[ÙÇEgœ>âi~ÜE@R´I )ò •¤ˆª™-Úµ‰}NÓˆ]Ö,ªë_DV~ ~ýJ]×ñèñfk­œ67²LEuzûé×Ìš3EþA®=Q͸¥Ìç­Ç|U¾ŸèÉ –œDÏiO/“‹áÍ}ÀpxŒ¡ÆRXA1N#Ôeež@°“bJy H‚ú´7¬—ØŽ`ßÄ]¶<<¢‹ÿ¤€©xñaÚwÄyz(ðïå¯þêJß¼'~ÌKBkàÁ÷ÐßHV‡ß§ÊVBm40º}k»À<áóok¿½Þœ®\¼Øß?0]0aðîÖzm ¿¿ÿâx¥:ÝÌ¡ g>÷Ú.z€øª`0] ÙÝ=ÜóÂIAp1°%ÌÎÇ ·¡4_oÖ«ãûsª€ÝÝÙj6Æ/ ×͹õ-à˜1v†n›ø4j¸!žªƱ@ÉOh7"Q‘â]ø43Pôšã€ÐÆô`·½!F4—ÕÆ.è~ÜÌE~tUsuÝ‹ãUF#„n€>¾~ðÈßÚ(Öu'«Ós4œÄÚ;Xãvá»í$=QŒÇ·ÔeQqKðÇ]1F—6ºðÿ;u" |‚) RâSDç‘(0.!ò€bý ýZ¬ÿ¯Éì×Üäþò¾÷4 pÕ¶µ@ôðoaáŽ"ðfÿõ)Ý“ÍÍb³áÙ ˆöW³©†N•‰FЬ®§04Àüéö [É>ïÍ––ðôR1€˜ äÓ•—ýD0ïšýÈÆvjþg‰Í $jƒ-€Ù—Šz‹_{€¹4üÆ>ÂÝV°mO5Z­â”!#tÃiBO(k° e·Ú6þþ£Bô¢0þ¿¡­ÄZ—?ëïW/⃈ñþÌ €Ìþõm\ü¹½ü[ëØ¸À•`KÈÇH¿¬QuûûÎô×Ö·ÁÒí¹j?ÓÖ ÔÍõ-Á›ÏÍÞÊô‚©l’@@]Çg0U‰—Žó¥ƒ¹¬ëŒÊ¤aBP**Ò¨H“¾þZ“¦ åØÙÙhŠŒ\®Lgž¨, Û …žJñ(Cñ×–š ÿÛâŠj9Ç…Éí¶)±µ±>ݨU.âï¯ðEQ“¹Ê…3}0¢Út¾^ØÞw·E…¶b®ÂmÚ(šÚxeZyNl`ˆáëçúϪì×zßO!.æ7›v>Fvï8(ô>°SÀ*O™«²HÆÑ ö¿%ʈr´SÀ^tD°-ü‡L -£ÕÿKƒ=Áÿú°Ë8¾»Â÷øc&@ü¯°ç—[«×`éν0Ö0!NZ]ñ!éÁòÀîe&ÿçØw/¿—Æ{,Ú}[ÀêÂèeæ€ މñàðãZúìÐVЫg“0" Ž•[YÞøà›,ñÃfóy¡®ä¿m>Îòßç­vkà}ÏØËxÁ™dzc»ÏæÌÔ'ðœö°<‹í^úÈïÑÿ®U´¾RùLœÍÍæEQ{7g”\”1]:neÿÐhÌg·¿@¨Ë†ßü{ðó›µü±jv‡û$SYK¸;å0¶ølΗzia'»9ÈmOúGŸ?ᮨH«øf:E>’"_LL˜‡x¤LÄ¢ÝúDÖΔC•^y§ÿ­ëS¿››­›E{&7+2ý˜ššU°¼{:Ùœ˜·ýïéôØ™{EZÅǨò½DøÏ œñÐ öô¶pÎÐuúbÔŒ×âx(è[)8ï¥cüí‹þݲ@@©„³ ò1b$/A¿Üøgæ¡ÅU  -)=e -êv°žãô¡‚RtÞk)@?‹áà-Á*&àk/oC\‰3º{ÆO¡Ùºàh}£I›¾°‹&‚‰v¶ÛÂKдØ¨×*Ã2pñ½ïÛësµŠŽ*ãÕ³9´zïmïÐm€U0kðä ù»{œßñ GàɃ™KZ€ȧ,Á¹lkË0úéê85×›Œ»Xj™« U+µ†g+Ú‘uMA˜Ý¡eêצM£_õ_õ ’Û©KÑ|ü@!³ Bp §'³D\in®Ù¨Žˆñ%ÚP6²ÚO†Ç«µŒy7é)à ¨¸s®ÏeõññFÆxE¼-'ˆàSØOG@:ÅíSÈMðëÞ:Là D:Ã|ÙÐA˜‡(„›Îœ;WÎø"MH‘ÿÌÁªÀšúÉ–·à¸þ'Œÿ‰”Ø_†¿|ðpuÅÈ»|ÿÁƒÔÊ¿LÀÊ -ÐoÀäÒ%Ϻ›üG·++@7 ÝøÊ_'èÖ?þK.€ø£IÀb MŽ—åOíø4>ˆ&€Ñø`x–'ËN€¿á_⎎ü¦Ðš0"B·Ã+KH#Ÿ¾¹‡¥Š ËgÂñ¾ù¸ÛÏò?Ùt72 ÀúTiz[fšíkyúŽ ⵑ5L;•I¬…!»‘}1‘3 ²OÝP•Êõ©ÙÖߣÌfµØßä~0 ’˜Ç-¾÷7uã.ôγ™"Ÿ(‚ X¸]y¼©2*ßC—¯oÌåÓÓU毞ö|Àb ÛÐ-”Ü}²çmÐÚ'IÐ\¤d¡.OvåqR'@\mømE:°ÝÝ.PDJTñ³ÏÌJ¬Ê‰kHEцÒ.JE;_üŒãÚêb0:¹%à×%R»‚ªR|¢á¶¬víœE‘[ -ñ Cž“ÓfˆuäâM“j>sô¤ÀÀ‡p÷RIs7¦T§ñ¼è¦(¯Û»}N–Õ»k‚À»÷ÖVïê±éyªì¿¿º<6xuòjßE-ÿêjB±åÉ_ñ!Ü€¸å¡ªÊXûŒžëƒc‹«¿üß®­LŽ.¬þæ·¿ýß¿|¸¶¶º²„¯Û ‡D+øèèU-““Wŧ¯ŒNÞ}°z—oó}vM‹ÔZQ:1ƒ-Vû’=ÚÐð¡!¼÷½¦wɰB'@< -K i°ˆ+ßm}½åþÐV5ÇÒÅÿ±îa €ÄÝ`£»“6¥ÿO"éžÛ ‘þË+ºa c—造Ç/™Ä*¬w4@k¸WrŠ€n‡VĶr=ËÕ¶àK`É|w¶î×ø6Ù?¥¦{Lmá\Lþ')½³·¯¹  q«Q•…áéÜü.™y\ˆä­|sºQÌÎÂ-dÿO4‰c8³TÁî‰wµ¿Ù`&‘,ŸWÆÍÖ/~Ñ–>­GÕìñìL˜û0€Êuæ%´ˆ°­ç¡ü¶Ùª¨€Û©€‰€ù¼hŇzgfqDL@ áhH‹i(Àtƒ&[Wˆm/Š1%2"èÖ:‘oÆ I¢s¾7ºu´+Ì0“a5µ›Xšî¢è9$U†Ž¾—@Üi辨$:èõØ•vçEú~ô£7„¡öžƒã0<=1Z ÐÉ•£€é‡Å¨`Õ†­CªVEºªÓOeC齄DåœL]ô·tº -ùÙ&ô÷¦¯;VH¯‰n€R÷ø%!*öÐ&ýÁN_ˆ¾5'ˆÐQVa·J?ÆÊèÍà:Ýh4ý/…X/¶fâ Ìnc¬Ô·xîqmЌ֡– äœå\B]ýÚ|WGÇ2¤·È¢®‚^þÁÅV¤MiцÈL°;àõ£XåU«‚c¡L!HÑŠ$ÅÑ"”­dŸÇôߥ•ž€9 Àcƒ¦rè"Éh¡9Ñ!¾R´Å…ÜCÝÝP´¢ç€Ö«ã•_Ø Õå$)ø.°‡Úž>*<)«÷î­Ü áP }HGäWõï£ÿ©Á`8§´ãq\_Y¹·¶Fǵ‘‘…{÷+Èÿdlppdaeí·¿ýÏÿù¡ðåŽ.~rgaqQ+cæeÙ—À8:zåÒyñ…Ùêð•…µí®‡ÝwðÓ-"ÂÄzVýìãüwðÁjêpŸQº0vÍý@|“KKöÐ>À·‚$‡·«]@wéñu%¶ÿí`“š˜Þà`=^ŒøÚ°–ᮀY€GDSÊÒ À(@ÍXƽ’SDˆˆôn‘àf£*¸¢ µrYëô»kýÐj7²ßCtæ†Ð߀«¤=4 fÐu¸^èï`6\<Þ -åïóß4áÈ7›ïæ_o湿¿§7!öÛî–4«7 ðÎηýBÀƲÈ@%kÍ&¿ðÿú{X×»sŠdÙ°‹2ÁiÜÂ#/žÁ»z&£×½ƒnfxýgu‰üwRd3¨ˆÉP(¢+ôœ€ÊÓ -ÿ/”ÎrPãHolÕŸ"þ¢ŽpUøŸ Áøà±kc{Ã¹Óæ@foÚƒ{ÓzÔ;\—¬³ž$Ø@” -F ö 9ÓÞ¥)Ì‘¡¬JÖ^X¨H€Wâ^‡Å)gwÚ;4J`4óž¹üCéa]riü!V7D†š¸p6º•Ý)F£+)™šÄ3¨Âü#êRÕ\=—¿‹ñ.ƒ¨zÎl)2Õ/6" '" AA®p‹Y u]‚y•Eáuq–-'5Ý;“•S„ø"ý' ¿€à÷ÚòÉ'ñètdqìòˆ Àù+b†±’~/2’³œQk&KcBñ{þöáÚ§“ƒ—…è"¿}@`ûÉÊ'ËzzCT’(8réÒy%_•­^tØ+=‚[Uþÿ40>¿\,Þ&€ðXaìt, -P¬vKKËtÔ¢¦‡¶*C¿D/˜î"Ž€þ >ðâ'ÀÎóüOŽry\å‰ T;$ÉÀL@£ º© úöKüw0A¸WrŠ€E'ŠÐr"Ýtoáê6æ¶ZE{:ÛrÍÌÌ|§˜´•™]b`žOäóÆO€wÞ‹xK!a¼ûºQËaù~>”oªhÁ±S4<•ER­NlࣕÕÀ«ŠqEJþuá~¥òÎÛ•·MPÇm"ÍüFÝ -ñ¨F³8"tIó" .TÝlJ‘EwBr•ŠH®5išër±þa3ÚçÅüpÞžw–¸S7Rý¦-33">EófÜOÄ$+€\‘9Däã®?àe$¦ð° ‹ÿFüÞ™:rçE½m:Ð&Ë?Œëp€¥îÐñÌWÍh†¿¤Ú¾d€ô±?°IpÅÔëÒužæ Zx¬@é*Ò#bl…üö°FÊÂWXB¿UŽ C!%òÇ6Ž0”O®) ¶„ PA1!¾µ-K™Ùi ¼:•Ñð¡¨S^E‹ nk„ÈX!'3¨Êjôt®ƒí ÑÀi€*[†b°Ùó ;“ìð]•é•Lftž7ùîŽð?®@ÄDh*èu[LzçVaQ&UòµçœªÚÝ)8§ŠÛè‚èJ ýŽÔ"§"ȧuWu©Q¨&œPfsÚÍ'Ú‰;áLqVITºiÏwƒòé])jMn3Ô+?i8Ûü»;Ÿÿ¦Iôl¬®ømü÷z•~PdÉ›è_jPölà°?lú…1ýdÿÙÿ<"á¸ÐÑZéXY(gâö ÕùÚý%Z z€0pu5<î`´ÔQjXfKÐO;¿,pH£?¹« EÙcÁ‹#jg»Œ€{ -Ú®÷‡=0/è Ü7ôcýëp1Úðž8ÅÉÀ‘ä°`ead€ûèq ü7îK‚ÚÇ£ýм„ŠNé¬hTç>/pZ`%îz¡ôætöOóBaÐîF=|Ý7¦¦²|‡-_ÖŸ­~Ö+nP1 ¢KƒJHŠßM3•ðl¾Ÿ a”ü¨]¶½ëMI^­Eo‰­tjVmà\`jJ†ÿ{aüXDDaÆ`ðwoD‚‚ÒT")RÔ¢•¡Ý¢3Àü/¾îôFèê‘åY1ã’%ìéŸsÝq€àEˆÎ‚ú´:y82Ì­ÙíÛJ¦ûz[ÙŠV;ùÂCk€ŒŽ.Àâ?0@¯tîÈÂ³ÄÆ€-ÐõÎ(j•qöPH镟½Š0ŠR$ÏãÉ3zS®åÆ?§£ €j¼RM7’`¿ôPwìCb @™½·@xôº(ÇÄôÅIåras@|kÒïsðN`ö¡ŒS¡SÙ¯°uqeƒ–a©*íÜÈK[(0ÿq`Q\;¡5X+°6ÝŽ;£Xpª¥-øÕX:Ö˜ ¾*’¹ˆL)8g;ܧ6D - ð«!EÀ(Œ.C‚ÿBN¸<Ùð¾ãŒ'§ò‡ŽTb¥N³Ñ‘âèüˆŠªÙ¿jÓåø‹R­¯UQ×\SLà7üëÎ)bn}Kç¹ôÑñ¥™¡ˆeéÎÕªã* ”–ê§IÎüÃ=y*þ2ÚÃø_»·ªí*àÓ¥—ñ7}JÏ¡íh%°0&ƒµã(=J€…åOz€Ê‹ñ}ƒ—Üpš€ŠéüÇq40€—ÿú0ö^ƒ<øòa9 -`íaxD¡‹¡¶Uïzü;²]~ìƒx8BºCþ®`Ñ“ü‡ ^âò€ÿ“@´6ßËË—._[àÝ&…K€x@òÄû&‰ì¿"/!Gǭ߬ÁvBfmùÓë/<ÞYö8µxOÕoØØÍ</Ì_ó… o\è:Wù)oÕë•÷„ÀB=†ßkýýtcO©ÛÍ!úÄ‹üQªýî¥á]oWk 9%³n2˜Íêg0žSŒD|‡ßÀÀ[ý’· ðñýJq!93û¢Hú‹¢(×ܺ¿/üÇ'?_|ÝmÐç3?ôåŸn4Enû£­Ã½€xÝ“‰¢èäÜÀ%ý0þ{j¤Gym= Hd:b‰” U„“¾bpßKI¼8ÌzfxäÒ¡ÞZôHrbwÀ€{€QÏùÓ;!½Å -—1¶¿…ÎWðèà¸>%(”ÀqÄ ^nÒ xEªÈ8~Iõ„G;Äš˜%”+2} „ÐÖÖÂÿ¿*=%þ#I_éÎê_HQHìèO! p*«×±fán}‚8[þ4bþ±c9'ü¥Õ Ï;Îàn+ÆÄÑv!Ð4*,TI0|¶Ò!*ÔÙÏÞ) åéPØIS»Bán Z¶­“þ‰¸ ´€€Ÿ…J…p†rD[ ñÁ:f¸ò‹xl«F‘ P?ÎZI²¢—# •^ -˜ ˆÓàÙߦÉCŠr 4è4×Ññ-±nŶ›E8 Û 9š›k4•á ÇëÚ;Û‰²¾~¦ßó¸w½%ÀZàῚ°_[€ŒãÀ{ÇôÀÇ9 ízî$À—×,›z?!Kò$`¤À¿;Ù g»`ã@€¹„öÿåZzÄ:ìX^½¯Rñÿñ¤.h¾ÄL@§ €1{ÊŽ"ÒY‘ -ôøƒÀ'=*ЀKƒŠà*GÇþú‘TMˆ(G,¦f൥‘U驵»ÑÓ«Ÿ_̤m¸WrЏÁŸÍÁm@T=Ÿ¾ù N~I VÇkiß*ÚÍ\éîí W-‚Äæù5ឣ«þ:@‘ߨ¼õžAø&n„Íͯ›xò¶`W`.ÏD ¤d×ÈoN?Š( 餆,l°7Vèz²üß2üŸõhjåúTýbýýœ-[ !5Åäb)³hØÜ|´w³ùh&kåCªÜŠD'…Ì]‚4èZöª¹¨O s´@OßFš%ª¿Ó ñäŠ)íÿë¢DákPeE³ -þsƒƒÜ´ÛÊá;›ç›þÞwäeE¸‚à@#€ïˆt$éå'tôägêÇxÜ1ô§ÌûC( ÔˆkP&Ä idK("¡¨E@[´¤ƒÐ x<¨]èüçW¦s}ª#܆l/=’<Ý,±3qf+ªPÙÀ4€yÂ@?_v\¼ï›t3Ê_H'”ðä$5çòiÙÿ’iœÓF5?‚ÚzYÏp(ÛÀ9ÍyRwÎ,%œ‡ÜÔ€è¹90ßM ±Œm%ï)Ðé×›Á@@ÓˆÓ‰„[ùµKxºˆÁ8©ÅmðöB޹-Œr¡°^‚è”ð½[Þ#F™¬ %P­Ò:ö(Y†¼¶Tªƒ&,ÄZ@†ˆÐO5ûâux#¬vÜ-Ý:™Õþ‹•ƇM:¼@æ<¯ãÐã°&“À}@¿—èܧˇ=4EëÐæçqLãq€O&ËN€<²ÿ{ÛÂÁ}”ü°@h}Ô๗&—Áú/ÅbïÃ| -à™Àµþ//¥™ý‰^€]ä=´Üe ì‹îÂ*¥Ðõéß”h`—Ù0¤ÐA:‰ ‹&ïÜúÎ0'K™‘ ÆœV¤`§ñ”p0’˜€¸ÚÆb0½ ¨pcb3%¢NJ»çÖÑRºÐjAK†Ä—£]Ðg -ÛQ½9ÀLÍ4”•âÅ8á[‚o Üu¥6|ÒÑÂ@³<¨¯¬øòÝüQ²õ\*РÓÖ‘«¦|ÒqL]›ÓÓ5: ×s©áàT9g@¸jÿ²ý}ã~gk°²tt@Ù@ÿR©@éà<âð(šÆþ=y`!?·íƒ‹'÷Púÿaü‹,º@~ìØ¤C7§KcY¤÷ÂÒ‚ìs•jøJJ¼?¼èŒ©ÇqØm?€M~÷ûg&¯! (³½ë8ÿë š!S£—™ -plauidtraôJzKóŸOH`¼#´{åxzš¸»ázÖÈZí¼Qä32“s X|ÙíihîÏÏÚ:ø_¿áùK÷ølþî4¯Oe³E+«¿W~»RÏê9£þ-ÿÔ¼ùA^ÔÆÿœ¶ôÍÍÇ›û.Àê4¤ -]I`¡÷=[Áëõ×ë7dÿÿeò¿óNE¨¯ îÿD -Þ®\¯^ú[¿n÷R \BÿB•6&j¹ˆM öèK‘¯7¿‰dˆÔžmíÝLSý i: ÂÇ™”8²42B©ZH@–͉²î†2ü#„¡ÓŢŋ//aq 0÷.@  ëÿG”llá— ¿4ÞuDO’·Ñ@`Ši-ø§ÓŸÞuÁé;wþ“~*FÌ_ëåË£ A>üÏ_~.ãf—žÅo­ãûÄCB Ë|¨tå@ÄØt<© !áy(‹.cE[Èëüi`ÿf=€xmÔ}íi˜$¤ã´K`r’dú¥îéãµútÃڄq‚6¸ §Óë4€cF5ÎEB·Çc‚ƒw‚D 1ˆ: pX -0¨sM P\/R"TŸË›ÓĨˆ„¸Öø{ð ‹ÒÄ$’ -ÓÓ†6º´µš†î€a8‰ -À; CëÌ€N(!1P‰á=\¡”´!é·Þtb¸²Q PÇZjñ±£œR|H3Q ó$ø_õ£j£!æbÿå©ÒépWFµ¬–0úµö.ú_\¸sÄ0zz€“< 'xd…ÇÓè#}Ž UÂ^@Z½[˜”Á¬ˆx g„èu!ü7èx‚½¨¾SdÌ,B&¿-þðþ—úxcÙɀŒù p\¤T€&€ÈpþÛ @À¥Ë—Fðè¦.º €Gמ‰ŸYyGþµ&Œ{%§Èt UêH -ƒrú=Λ€¾ ÃØÚ Åôü×t ÄÊ]Çîÿe=h–u<ÆÉ,™˜U’÷‹ß q¿ŽÄAŠÒ.ž‘“…ýÚ4hª×Ü»ÝóÌ*S[°S} ´xhpBÁ=LdŽ…{v8žÞoö 4…º:I›½aàWš.‡Ê)QâtlõcU*U+ôV©øWåEKÖœvduµ:Ð\: Üâ4hê3ˆyî[ø -ŒÄ©]µ)©öÚ+­s£»ŠÃ’W.H¾€Ð=¼œ”x´@Ö¨W‡!ãbZ ¾É}ê"a"€sgþÀt,‚{c~w«•òeþýHÇ ÿ¨cúXz=å(=Ç÷X>Ð@ШÀ¨LåS<pïÔ ÌZÌÞwDÀ_Êê²qwÑóHÛåÅŽ`‘~€.zayÙ5ž( ¾‘>:‚æÞ°H`(îðoÀgà˜â@¢ˆ®`rôjÄnäQÑ ›½tùŠoá¨XVéô/[DôdüÙ&Œ{%§ØN/´RR8F¥µÚEséñŠ»>næ_{ -¡p &gL{gÐ6dðѱ>˘=`³5;Kd*bcÿç׿o|øî‡Lô ì„‚`ûÙ…½Œÿxv?/öT¯c~}ÕeP©_ïz½¿Ry¨¯ÐÝú‘ ¸þNÿÙst ¸ö¿N igµRº 8×%0¯áæãß?¾¹þn£‰ë¡«H««HžU(êëÆþc]òÔ{oãÉЩövÌfõÙ|œî ¨0S!M鮈ÂÛÐ/Ì0 ·z¤{«{àQ*[[{¨’?YLÞMK JÂ8ߌ^ƬIè/ÓæáLL‰_Þ縋Ð*UÅì:XYñÓ)ŒN»Øw7X¥ Ϧ¯Ï€ÍÂNoÏ_z ?ƒgÓ 8Ø7ô—øGI”Çi—pþDùP?º§×ÆÇ+²Lm¨‚‡˜¬:øÄædû -ç ÍÆ\6=gBK@Àj`p®„FJ¥äXÂʹõL™ApE‚ºT"û?’)…+S^@43å0þ’É€êtñSI†ž¡øÊ)Ê"­2ܧ€ ÁDqÀtzêÂ×?ä¼ÂR˜‹%-]R!3 -çuwуH¯57QLTkžäŸ´b|·Ô=iª8^烵éZ^/<÷©¯Eÿ¤ú…ÉÈŸ¶ú‰!/ÈH? /èpš`äxÀ'1–7€ -4ŽºÀQMë½w$øw‡€£.· wŒ¼=2<}QÂího?EÂú·€…p(Žzýù€Ÿ8€÷?[,=è‘ÉÛ|P’àҥ˗ +cc ˽€Ä|ÌÄo^ ã^É)zõJŒpBím¶‹ö7íf^|1ßjó¹Úýy¾ƒ+Àò÷x¿ÞÚûúñWßüþ›¯¡³2éóv{è´”™/ -íæDc¯ø‡o~·7ÏÇq…ëSÙL³9Cá_oþãÞæã½½v1ÝhVó½bÝCòÚ¿.æ[bŒ>Ä á9ƒ7¯×Fq[ T×fŒÐÅ*ShY¨_¯ëDû«Í½âQ{ÿ‹|¶Ží¯DïÕú”c¯Ud³_ó5ci)Lnæ{û{û›ûQds½Ñüðƒõ¶ëT¥_í·òGm]ïfûC¸ ÿG¶®ëÏgð<âfˆÀ&´¶«ûíÇíßïïííû›>*…ïÏΈ&QÑÞÖNûɬ½×þÓcõ?Ú÷¿Ššÿ}ÿ÷_ýÞŠ¼”ðÂY9ÝpÐ3‹m³x ùÿ›_ÿFøÿpiiy‘NP‹îÈèOÆðè‘ üG¾|¸¶Ììg ¿œ¤€Ïx/ݹ³ #çŽö%ÐûqåÞ@ê@õ.øóÜJ°ì£³A`ø‰}”&E¸ÛbWÒù€iøß™€˜/Ã{,@}ÄAœ`c”?Eêµ3ûð‘½ñj­ÞÀ`¿@0ƒ@TOð'€›þPÿÚÙ¬”™° Q0n0TÿÀF ZVºÝø Lv28¡j`¯h¦Sx¾¿(ÄæŸ›Ê0ö9@+W!!d¬•ê:EÁXöN€ûJĨU¥(œA¥(÷܇:+º£k$csýC¥ZDº¹fƒ¹‚0Q¡µFW­º E˜þX™¸†éFÙ´ÌyO¥<Ž ÿ‚¨VM‡/#¯­¹ßŸmÿdÿ³9¸èTOÑÂÁæ³{‡gü^ªÀ -žƒãæX$ øèpd€€aºÛÌý»dîÿ—Ä’`yí>1댠ËþâÂä˜Ê^^ŽªNZŒöT^"?~BŠÓ!ÀM¡x´„GÄÏ‘.àˆøFݰ1<—I¹Ôë ¸Ÿ\fö¦ö˜ - ã^É)rM2Á&Épì&&ªÕjm¢Q}·:A¸¦C’è Ú¸6Ñh4j7kÕñaËxÚ_ëìªÙ¬é HQµêD$¾¨]­V¿Ù¨Þ¬xóæÍõ† -U¤‹zƇ'†'X]ÙDcXÇúWÇÇLJ .ôéÁýõþ÷\ÔÑ…‹ÃÊ/‹@2®lãÃ.(Aßë}¯¿þ?®\¸0@íã•áñjEÅ£_m"tã½qóÃkÍ꺮êµZaíÐ -C¥n )Äu\T}CÃRdø¢t!¦ú— ŠãÆ•XŠ]rfDûkï®3¿yõf­qS…¹ÉMÕ‡7ÝqüÅ¢—ŒÞ9½€.<wÄλz;3)™_#Šäi?$÷sÿ×÷µ[{¸°ðÉ'zE¤\’^ÀÊÚQÀ—x>™T”ä—÷±%°tîÈú@¿xãÓ ì%¶ælÀµƒ8‰ê”*Á~ÏL€½»ú7 -oI¢%ö: œ½wx’O:¼j7]­U†+•ZU @Ö*ØÈ¨@p/ð¬! 9àÌ´ @ýC7exv 05ŸÓƒ¸D1œ±«¬Ôލ -s ˆM§´~q6NŠå¼bƒ­?lJ E `o¢¸ðVjJ“†Ò¹^òÈúŸúPQ0‡,Ṡì,.[¹\›’¡ŠhQœtÅÌCj( eÐoB;oT%éÖ”Y1J~S{†éi¯W+"z ˆjé ö¢©ðGÛiðkÛ ø§ÔO—–Ëæ¯RNŸàè(€±Ò06xù€8@ÉâU¤ÝèêyŽÀ0×3~À¸þã00ì–ûÑÀ¼Áý†Xòg –µ[ô|„“ 2 ôJè ý1‹ªîôÐ>y¬Šüþ6HÚÿJãþ‰ð¯d¾•¥ô\¹,R´²¶Àǀ 'Uˆ¯@I`~Ix“0"2Œ“ÑoÑ«À"Y¶u+×Ó›eEÁ'»s¡sâé¹4Ë—»)¾]LäÙÔ[´Æ1Ù^­¦$2/ô‚IǵO™ÍfÕEçÙ­z}x rK&uQ|·÷rYäíGØÁ²„×±ˆÃ‡öŽgùVu]öš`}çõÊð°Öa¾Î÷Ã뙿XÈR·=ó!c 0I={àŽ×߯T*ïOW=þ.c^žKOêYÿ@Öº)æ( U¬Ï«¨ÛLcÀù¶Éóõ‰‚×-ë·ò =ª•êð€.H—Ÿº¦½b}¯ºŽÚYó–‡jÕ«-'§DÅmq¶Y|Ðäc„¾À$EÑü™îÊ‹e¦¼Üë8n@w&ì1e`z_õ|¦%<Ÿ¯ÝÈD!á8€ü¥Øà·Z"–µE<z NŠDÜ»9 ýº“ -bç΄–ˆ³ðb €7èÿA"ÚÀ§“…o/AÑAK ?ØïUðôÇ&ЋC’€=(@ ñDu„ g;Gþ„Ï©‹àIè$²9^‘e*@3#˜V¼Ð­Úa¾r>»ãÙ´"…x‚iŽ@»€#V²„-ŸÈ1¬*›ÐVé(10;‹j#а2·^j~¢ª]»­¢¸T^Ø¡/Š'‰åD]@lÏÛ« ÜW?éq.úY¤/Z)[S7`ºñ¡®Š„±Ñ¯ñ¡ ÇèPÕR AòV™æíƒs…`½ˆt­R×óýÚÚùíôºx±ýkö‡ÐIQü?Šûÿ²+™õ?õ2ót<¿ÄpL¯E HëàÀá>áðÏn€#€± Fð~0R3…¡^:ä¢"ð¨¢Å0OÝÉêÀ–ÈEÚñ¸1 + -ºéŸËüGßäÃb0£W×–¢`ù€ú Þûø»’0"´#±Íö|gk6Ïn3«ŸàŠqëy{»U´ÚÙpL€›Ñ×Û+è0ÍÚ.¾ØËªy»EëÁüìÔ›ý•,úpsïŸZ…ª˜oµ‹Í¢hoz¨ym¶mʪà&m e|jß?ãþeÕ¿Ùß_ÉZùtOÑh쉔ÒIÙÓd·oÝ¢“pÿÀ@e Bs}^g _¾>›·„ŸÏ3ûN»ñ;jÏóùö#)aE6q仑^÷âQ{³hïeðëGDõ=F4TÄC*uÕ¦èö|Þš/ª·~ךåsƒ³î"ЌϠ”³%=wt h'Qé{[¹¨~×øÿéO/\õ°ò\$ø—òã5ôœTxlÁ€cš~sÿ7k¿±`íTÀêOFG~2zù -fM`?}<à™&€&W[»·°"Õîˆ,ï#kòü§Ä"Òµ°§gŸGÝöíök³ïÈ%÷pð ¹J¦,@xJÐgÇK$öDÅK%ÄgâWÏt Êc—Jµ*0ª×ÆÇ†+ã•ZU€VdÙŽ áÄÂ’þ5¢å@«Mc>4MD‚Grm€¬V êjã¯öù<+ü®f EUqœ TÕÆÙüÓ‘Öšª¨ßì`¼²€ÜR@*Ù¥–×ÈKr´D-Hƒ4W‘TµÓ‹Ä1ÈëÇJ)އ68ˆ†$ÃÔçâQ™=åà!Ó5é$+ZÑÓ_‘¤L3¤X…ŠÝëu/ô¿~æµþ‹ºëb[/#þÿãØßý8(ý.þÐê‰=&âá§Ž8ÎÀ(Àô«¤² à¸o€Ë`ª€!ØôŒÝ .äîB¯@/ ý’ÀÓ»L=~®ñDÚwú€úìc1/Hö×ÿ_ -Ÿ\>0 /áˆ`ºhYí]¸«á»³¶¶06v'Fèqä§}ÆýŽ$Œ{%§HëajÛb"{Ôb~£9 økZh6“5g…»Ã9#Þ¢3<âwA -g|@¼ ÏÜÑ_2[ûì™÷”¿(ªß©çÝ“ÐÓ ëÈ[:ëÍŠPøH¶ø„Œkè…ªAxŠþm?Cþûû™[˜É‰Šz]@:£œÊ?ÃàzË­êÛJÄÔ€Ì TW*©_çÛÅnÀ—j" ¿Ó†ÚfˆŠýÈlŠÓ¯9~jârgêïU~Zyý ëYtxäÆL4ŠÙ46 ^¿Þ¹/:…kãvvš´Y]W=Ð&×+5æçåµýý¯_$zNÜÀ+Ço6½Ï#D'€ž™zN+èq¿Œ 8Ø€`íׂ~Ù(¿y¸¶|ª`M cŒa€+÷ÿÈ—W±zÄ/TÒ}åëõt[Pè¯ô -X¸8µÖÓ ‡$„7ºcõ? -@ycAØ&4 úžâùqÈQéCº‡)T«œ¶¸©HÛª˜á…ø =ñ"«‚.,Z™¯¢‚0Ç@õ›P`&F*°µñ@/ô¼éYµô‰AXá¥BŽŽKå¤)³L7(A‰á:¨7ÌUt -¼•šáÀ}¦8J’’Î(à-“Ñ ° Ë¥´W æVÅ*¸ÒÔ8Ï(ƒ‘œ|©L²(…+‰ :»* -תD´ðëö锊‡cñáàñaÞ´ó9ÓATk\·ý%;ÿ×ù@~‡â°Üjõÿã!@OýKÓÀÒ!Gß < ‡ZÏ«0ZcæÐ`@o€püG­'»î¯.¼“‹«÷ïßå èGsl¾FÐc»ø2€ø•€´Œqä1€ËñéßåŸy79ù3-pƒÉÑÁË¡7@»¿9²L2Û€/äþšnüåK—F w&õB±À£ŸL!¿ñÿ H÷JNÏñ"8j w…w ¼JÑ3™Õ³élÎG"õáü†§äæ{õ[‚ýäiG˜íŽoþX¦®œ=7PøŠê>`;/ØþH(;?«J»Àk1U€ÿêþÁòg˜¿ÉÆí¼¸YÛtÂlíÓXéÃÔ•ÊõJ…]½bqƒïøÌÎò‰¾ÙÙb~¢3ÚQz‘dEDE$Ü‘ù|óv°N¹h¢¢*o TxæÌþ+ÉÇë­þÇ0È$ºiœEÞf–åé{,…¥ø¢F¿ÁÓå¯ ãd¼:$2³` ^ÇpÐÑÉÉ1ôâ‘6äþoÀ<ŸœêX¹b³&П>öŒþR*é«÷Ü¢,=®tHóH`:úOB$"_K -w4^ ÚùõPÔ@_Ù ¹ÿK`/ÑKÄ[ïü2é¾U:RF—2.³þ䥂çŸE.\¤'ªðVkà Û€2N±3~œt‚Zƒ$=)Cƒ…t -‡×¡<ÙÉWIF²–Ô¨ºÁÖYH¢“ÒQfuR{hC:§PYšðqÎå¸mØq‰\- -R ‰gÁrEH çjT)i4'•ojr‰è@½æJÄúœQœ.6ºµÃÃbú“ôÿ›E¨¸‹þÿŒó†ûöSD¹Õq²‡</êpŠ`ìØQî‰ÒÅÅc¿.ëWu¾’ì+*¹Nô|ù`uɼAàaÙ pAÆ?߯‚üSäÂòêÝÓ€ª¦ý_±ÀWàVˆÜ Ы¤3Pe“€Á+î˜.óoßÉC¢puaäʥ˃“wÖ>“u :Ðñ°ót@<¿ÆýŽ$Œ{%§ˆÁþ8É?nµ«ù#¦ÂÈÍÒeؤÆÓïÕ‡Ã2K×p§Mé`ú •‘'óX˜øÎ[gÎ \Ïö{Õ­Âö¿Ð}Ƴ è+0ÔFjð­Üùö·ÓÿV Ë?oö`Hª¡^ÞnÔðÌ3rÌž‘H‚®ÂiUL«ÁÛyõ}©ËdBà¿´£²b¢- ¯G| HUsP*’îHëñzµµé9ˆ%ºJàŸÏðâqœD÷¤=ÞhMùËH1@èÁ¬FMÐߟÿͲ¯{¹Ñ Ô.n¦6˜“åÒ%€pr¹ã°ô µDÏ÷¨Hy::Ð €^$‚çOãÝÒ#Ÿýú×nøŒùÓ=#xx«u=®~ÑŠpï¾ìœ¥;+ÀrFð¿ÇÐÃ÷¹ êó¥X ädÀ }z=Þ„ý$ ï >%– >ÐSH¿NÈ6tùŸÎU°~YtH"åT†ññÌ`:«CÙ¿N9έŒIœäqà’#ƒþwõ =T˜cŒ»*ȇÐi'‰ì.“ºUYœ e-èˆò˜æ -F¾H£,(š8‹¯ªKPÙÜ¡²8Òz$%EÀ=*¬› -ýÆD¯úû™×O¯ƒt§_(1íïä/ƒå"ñö¿®€=Çôð(<‰ -2°R"}þÝËõH°ÏO|à´N©àbÏ0ÀÅ…Å¥%ÕÏŒøØKõ`„ôîµÄ¡áÿWŠvcÿ¢¢Ñ*P~ ÔeúCâ›|D S£—/]@Ÿìðƒš¸:.A~/Ð[ Ü+9YÛŽÚå«ÍÇéÓ|S“iOS]êÞCÃvm8Ÿ’¡[zºAF-·´˜Ê÷˜ø½œ&€YfíxëÌY@^<š¸Íˆi€_N>¼¿zOOê/:X€á>e…t=)áRRÐ À?< "Æ?ØÉÔ¿BOx€mðýþ¦}þ”(+o}ÇøÐQ¼TN!ÍË=T/öã\zÃ2€NXf˜¢+ˆy«U$Üw:o…ÑN…°‹"£1PJ¡BWJ€ÒÂJ £Î€R2¢KÚIÍaAx×çÖØùÌn¨ŒÃa%ŠXð•Êߺ¾”VeX ŠÀâH¸NŒ’°åJ\t䌩„†•öU°¤ÚÆ+†{~u“õ'9w.0LÜ.÷%Ð{ï0‡ÉVÿ‚G=«§÷8õ[ß³€¸Ã‹ûÿc(€6”‘àþ°|ùàîÒäèÈè˜ -õ0À¥Ä<0þq¨Háÿâò‹<§ 5Ù›Q¤~ªÝ€ŸIÍ«#£É Óß @rõÊÁ¯j{õÀ2z5Z0 -º?n‚G˜Bq'–ÓÇ€ô žàÐ+@›r¯äd1¶#‚¤Ö¾íÝdHKMƒh06‚°Æ0SüS±™xÊý"¹Á7{Ô€ˆ)0iÏšTÁ£ªˆA|_PkëXˆ?ÛÁI¦ŒÛ5A¦LxÏóÏ\¿ý?­`ùO›ŽÈºžnÖ-fç/Mÿ$(‰wa¦þÞÀ›ÙÅJv½n|æììG®‹/ùJTŸa~`¨Grà£@/Š*SýO¹ÿÎØ-Áþç¶Xõ­‰º®•âUËuü,¾!ˆd·ÛÕB5QœIÒ*ò‰ó' -ÓaðºÐ£áwNÇЃÔ{ô\¦ÃCÂ\€*â°üú7¿ø^S§{Ö< -`laåþg&Ï8‚@VÎÚ}¥ÒëðÓr ä8äpd—Q2•Ð%<é ˆôz°ÿïeĉ‹à¿ô\é3ääKÐÈ'ØXº¡Røÿ;EªFz©ö÷_¸pq|`@à%¸ºyÀP:º‚z†EâŽN›{¿ÄQÀDðRÌ»ä0ÄÁRΡM£8bˆ ªH]Ö SçIŠü¨<Â'È¡€ÁX)­kQfguŠÑ%èA"ˆä0.G‡ø"-ÊPº/ͧ‰V`xØ$I•8㨓Š>’“F÷yà¢ðÿ"³û÷™h½œê—ÈŸ@?HŠâŸðð瀿ÿ<e€O< -à}QÆ—ì@åFþDðç—€XR€;þʃñÐv… _o˜FTwÌÂ0@c}ìí´ˆöá•Í »¤3ÓÍÐý®^v@0xÌÁ…ß>ÁžŸÀ}¸D¿Hî…nÞÕÔ ž_í÷c§çß®ÂWm/–@ž£Â$µßT Á"Øe8Kø’¶ó¹hÀp6u7Žõdî2(Ð÷ -˜¡¡ ÊdþS×e†÷Ÿ9k·'²²íWA¸Üi˜Wýóó:….:кY–§ê'Û=á?3ÿ lãÓî5U/ªµ<«_¯\ÏyÅÏÒÐi(tªþÞÛ•ëý´ËKbZBP~~}"k»n+B·ACÚ>A'þvµÍg îØþ˜ýnb¨ªºä¨×7Ç|'¯˜(1wQ7M%R7µE‹p8ð½E| bëUœ"k—R€‘Ò €C3èÓ눨$ä¤ÀŠ,PµGè»÷ëû_ưÖ<ž`aŒ>köˆ·¯@Q>ýõsÆÀÃÿ!€/%…{ôŠ÷_H„õ€ öÝ 4úyÂì坸H Àï@?ð>ÀßÇq"x@G ¥)yÂBï ðQþc" ·Õ1!œÁ=…Ù‚™ÆMA]À°ÄýØ(š+]iÑímNÀìð ػª4Z}‚Ìu6Ç“˜¢áX‚¿BA“€pÄ£Ý:Y[.Á™or`Ðwm¦¶üuˆ!)‹D*XE‡U9t6RêîÚÜÇÐßw†?u£ókä ôÞû(:Q++‹‡Xµä‡öøôxÀÁ>z^¦’c¾ ÿû£óõùÓ*Yöýã#@ÝeuattdT…ÞpW¯ µê½!óß]ɬØû÷yÄNXVõN1þÇÞamÇb8€$†.O^ güL‘—Ò<Ð…è0yµ»Œþ üdiõN/üCt˜ -xPtŠ÷‚ˆ™Žx<Pðï£r¯äd1•V+Ïf‹ª¿ø¿4ªùKiâëõ!Ìÿøö›×‘DÊO´Šz•å Ÿß~ó¬À{Bç–,{šE b3Âmð6¸÷k›³³îR'@õ¼ÿ1±÷KÈ«UÜüo½Õÿ&_Tå’8ŸçTLøDÞKÀ`UU_«˜ø¸xßUÄiARpd"ßäùG$‘  ex¤¿uIÍ{uë+Éð,¸Ã„)hÉEjò Rñ\y>¿Y¼  `mõÒåKW.aièÙXîípðe¥‡ðÀL‡æXö\@ -/ÆË¥á¿=ð"ÀŠGüråþç&–µe†N~ö@EO¯Cwèàxt£{=\{_ÚÄ['`¿¿Y%z+`ó ÜÓ(€3â0úÛúgkô×¢Õo 'Äð÷q`}7t¼FN[dÅ&I õH€è–hÁ·Û„u€bQ –xï½ÇÆ‚ÁD:á—ç£r”HKq&¹f­¤¤D¤TÇ{1v‰²Õ¨XÐM§…ä‰Wáɺ¯ ¤rø¥òÍ -X'’[#z28#EC tHi0 ÕØ£@K¿’º(‹Žu‚b”QaŽÿ7áø¸îõÀÅþ×p¶;íF­o€ù2‡)’ÿdG>Üí ©cúXz=îðåõ¥ïÛà `õ3÷Àèïâ?J€å¿tþààèÈØâŠ^¯‡˜ÿGÀ€p,øòàÁýSÄjb­{f;€½¶xú!c1àß’:èÔà•ÔÀB?ÝÁƒ"ü_ZMo²X»¯+g*`ÝÑ €=ñÜ"¥óÿ•àû -wTìñÎö' ´Ècˆ'¸-1Õ"Ã;+ª‚:Z»ƒXWx<Ë7ñ}_Úׂ:wè?sæ­Ê”жíoëbð‚ª†°íVw¸€B:Õ¾ù{m§nܘº.ÁØá¿ë±Ð-Aõµ«ÕÖõ·ý¡Ï3ý?ì[¡,ùcºJê•ïô ܨð¡’ªÈ./Ü`Ç¡HGèˆ(}fg÷j[Ò7¥™ªÿ¾€œË¦šéàb¸Qȴו×ë[©Oéꦑ¢-.ñQ4lÍǰ šHT¯¯¼ÈkÉÒ?Aô.H.·Ä»CrØ`áE‘‚ª¥è`™¡z' ü·rº`å à?ùù—Ÿ­}ÂKo…ܼæV>Y ÀÒ/z9ÞKÄ‘!\H©iÒáý—‚ÀÿJà¿_±Äë0è÷€NmüÒ0HèàïcÎŽ×JG -Ú…%'ÿz=ÿ6@À¢.¶"Xì·aýËNöÞ[ ÏØÝû‹€Clè§4eÖÁa@„õ3šv .Šña<Ú¦lQ$§„ÛI礈no¥™/(?Š2D›Rì”°ÀI#õq' 5(â_é@¤)‰|HMVÑÑÚs§¹ÍéhyæÜ™þþ£ððÀO^¼ñ¸ïÝÇ&`‹Ÿêðýç(g|©>€"0zÜ·ôíð¿‡L.ðeðƒûäþÊ‚vÒ_ª/­Èüçk@¸¼¬ÊîGuÇ ÌÃV¿­ÿ6¤'€äWRspÄPß+x: íTHWÇóïñÿqõòº|Éo! WÓL€ž@øKþÝYˆ¿Q¹Wr²wŽ!ŸÐh¯¶-«Ý˜Ø‘€È¬“4šÕ¡á?5ðªÎàþ“¹^¿ñwY6ÿ(«£ušÎ9gÀ|Qmn¶ -¾ˆ“Í~$lÁ/üõ±”ø¹UÁ@¯í3°^xzý=ºò3ì~& ñ¤ã…‹j¥¨¼å‡³oT8‰²,ߣ/“UêõþïÑ `FLäp6À Ä]EÜ¢¼#y­ýãÞ¹`íò[\6ó)Ь7‡«mÕ¬Ûá>€7TLÜ5ð?Q‘¬€ýû:5;“KWÚ¤—á)"¼[M΀r&áAÔÃzüLè\þÓÐõè xª`!õøüáoL$«‹“#²t>ÃÊá=·°ø©44Ô—]Tšeý‹@è“p¥šÖ¥ôôŠŽ#ÁŽ Ì?Рôý½é̘Þ@Oˆ] üײôCð#ŸüÐÎÂ(€ž&À‰PÕ½‚†o·Á;AT·ÅM£@:éä¦ $#’œå)…Êr"»qÜXê ü4D £’„@x” Z -C±žÎO,ÝùK†Q*&!Xmm)äÑb@)0(×ê:U¤“p+”×POa¾ô >…ÚÀݾxÁ€×âN¿ÿåEkšàò—ÁAÿdþÿï‘þ-€;/ÓËh¤À¡Q~ŽéƦ>xVïÞM˜@Ö–'Ç®º JI ¼ñ1ÀÉú‹Nw' -5ªêÀïNØ‘bƒŒ^í΀p0:z…:“gärÿF‡ia³¼‚rÉÞ€…±ÁpŠð¾¸—Hi<œ½€ô -€${%'KB–CÒúºØûªÈ«EkÏ߬à Bó/´„MæÃiæ:Êòêð­"›Ö€9ŸÖ®µÿ˜yÁݼ™}³Yoì þønÏÛçν}c¶µ¹_4nõhóñïÚTå£Vñµ`–9ø˜  ØÜ,6ç‹Ç­½Í/²›Š9§h¨¼S©Ü°[]z¤ÚàÍ¡áìÆ[o9«¡¼’0ÁpëÑ?íµ©0…UÂÞÔ@e¶þž¨L;ƒJØc¦¡¢Ø{,:²™kó{¾ý£ð¿h·7Ûó_µ‹ßµ‹fõÑf_ÀÇø|mO -äÙº"'j_³Ü³bÙíÜ ÅæÿP¡Èí¼ø&¯æû-ÕÀˆ­öÏ«ëô:8aáÑ\ÓƒÀ0€ƒ3à8êè™ @ÒsNÁ…É_ó9šº}ß§zšÓõ0 €'=WÔgeGè]B€•Ô òÙ C»ÒÛ_H -ƒî%ô÷€•²@ïGø\çôQ€–¿"D€hÐÌ7Hèàïã¼H ó%ÜÙËŒü%.ï(Á êbƒ zs‰3|*„ýMr¢´$§ì‰4@‚˜þü˜Û2±Tu™‘ÝÉ}BE‘[{ƒ:Ú‡U9¯:…Ùä¤`W9I©c,*Ùé\J( ¢˜ÿ8")ž >+ -!¥¥Ùß*^‹@Í$ƒóq_w=ã2¨Z•epb÷²ðÝÆÐÿú™þ>ßiÁûÛ/ZSÀõ½a#Ò++Ÿ.}Ïy¾÷(€#}Ù_ö[Ñ÷߀x wõÜÝÕ’€¿”»+ÆÛÑ…å»îó¦°€¹€ìˆV€É…UmAðD†¿­þÀú„ø=B'‚ðê-‰Ð1 ëà:ÅŸÒTÞy#ÍôÚH €€n•®Ÿ¦€Ÿ,àXgí‹>| ÀûŽ ½, ä^ÉÉ"¸:N˜ ,k¼Û°á˜ÿ xÀy0?ö„Øþ>æ\¹ž, çÞw›º¡`g  2`4…„œŠ@S@)€êß:¤T‰J¬p™ ØÕšÊá¨LJvÅQ0"TW¤K‡¡S„™ÐÂzšiÂŽ‚îpyÂ#¡0b ÷exC|\]$`ïúÉQ÷HDO…Ák¡j!Ê‹Bq%¼—„Àʱ`ýÿo8Z.^ìépñ§ºçþœ²¾]B¼~%Üðãç-þÇÿüyÊQŸþy}ü,ÛÀ«w¸TÎÚÊ]e¸' Iè/§`xôvÁ HÖK#)-Y”bâ0' -uJC45ðQDXŸÉ_™?LŽŽt @W®B ~¦¤,.÷üJx¿$ýVîÐ«ÞØW.ŒéÔʲ¸ÓÂ`Ù žÈä°úCȽ’“Åç1rSËÄЄŒ£¸V­v¾ÎW­Ý¼ySí†>à£x‡ôžöÇñ†‡'ª)•yE ÿe•ï 91<Ð÷ºþ`¯_,Kj¼{SÑôsmTˆ^–¢2ª|ÀOð@¿¿ê×QäfãfhXíRú.–ù?Ð2qm¢ú—|‘oˆÏF!’q¾;èÂCºbRS^R¤Ö¸©+/£kÕ¡wõòÓ¡ÞPܘ‰agÖë(¾CHºšøKæS|)¯’? -þÞ}—µQÜÍš¢âb&¤&INø ÂõfZ[»t9Æðhø©DŽõà+LA?H]Ñ‘^%Ç| gÀýS=é©í•ö³ÏÂàQŠú¨€TU²……O ÷½c?”à΄ç—¡+LÚXªÅ`@Iâü}öõÙZ@¿@g€¿2ÀüØúøû8¬¥ô;LXR¸{, êé€g»¶Þ Xé b{´aò#Øá„ÁEí¢ÉÜ‘s§Òêw•É Ë€3D…²¡'ˆ9ЀúJ7Bêo(ØSQ­ò·˜êº.%à¤+7oèNu@YÎd•tuŒýQÏŽ “ ‰T€6¸Ç*£REÊt‡c@ôÀO˜ü‡Ö••»÷pt¯ÈÈö;@·RyNpÜ<wå*|¸tóéé¿D/û¨ýC†`ís<z,’àˇŸó/,[ÿ•ž|²þS$ÓÞöŽÀ1§ÿm=àÁ]@¬ÞX¸Ë ÍýU¾wt÷î}wê“Õƒa„ÉvS×+ÝUä2S/“Tv Ç‹RHÍîSû?kð•„üjyrðjÄt…Q"A¸êa^ý#R7Ò®ÿ´aå^.Ù0¶¤[ þO^e€b?‘á8Œÿ¯À‹eïwÇ.í¢½¹Ñ˜hÅy±_y{óñ¾¿c#Yo?ûæ›vQ¬?jï5'm>Ás›znÙ„–U«_Æ=]põZ Û¿–5÷ -™õ•þ3ýo׳V‘¯7óõø ØÉ›ëû*cË¥çù~ûñæþÆüG¹K.Šfu<Ìó<«TêïÍ´é5€¬ï}óÍ7LáÓ*ŠúÅÊÊÛïxŽÀ·0½þm¥z«˜–±Î7÷¾ © 1ƒA¯‘z¥Š7"»ÍÇŠT4ß>Üi¬ͬØo±—© o?~´ŸñQ¾÷ûÍöív^Uœö2ÿõ“veæ½ýýý‚^Rdx}oS·ë:ËÌ@MÞäëŠÒD¹·ü5T&9_/öÖÝÔ YçHnV9Iô4ÜÑ[ÀÞ~#õº ¥ð BÓOé@€_4¿¾ÿùÚÃ5÷P¡d;ÆÀcÉüÜôXûõÃÏÊ«ËcƒŠþ#*aeQ - -êÿS×pÏØD¤…K(•$s`y€{Çë´ì‡÷£ïR™úÁÚÃÏ -øÃ ø/ñ_ï‹Î«ãX@Ný ¤\zµv†‚N¥3v±ÇîC¾Álý Š© U…¶d*ul&y r ¿>å(L9‘×€p˜²$`1ž²Ñé@Z…ÊQTjçŠ{€kdŠ"8ƒv -‡Àï_ 3AdôK3¾Ç}¡(å¥ À§¤h¤£#…uÌÇ@¹§ºÅ1 - Û þ§¬?Ÿ¿¯©ÿ$áªB>ÀîW¼£%BÉ®Oª·c“Wõu©ËùlðžCPÙYø'\Y‚ ¯®})^¼<Æ·lï­})šük€Odr—- ¢ÑÕ0(„L ÞÒÿ6XYšTØWEÝæįEÝ»»vWúß…8Ü%›ý÷ï./PøØä¯VÅ”éÀT@KÉ€Ú‹ ôoU½' jàc\,ÇÿÅÖÄÐÓ¢øÉ²ò7Þ3À;Êb& žýº;­ºò;ô‹¼¾.69Ú—ž[?`Ç @ûL¬¯À‹„>FèýöuÑx$H¢WÔ$tˆ›™™ñ·q$óL]7‘åþÎ.O+.ï)¾÷[/Gè㸯ç_0>ý÷èsz…V„›!ù¸Û+MѹófÙT6Ûj=n4Z==ÿ@å†â¤‘ÇÔK :Ö?ª\¨óÑŸRÎù€ú#Jù¬Yˆ†…·/èÜOËÉw)¸–>jH#DH‘·>rO}:7´ZÅ~æáSªz–Î{à6ņ4mÑ^c\1*š·W•iø.‚G @Žšùí,ÿ úEºd>™À·••­è ²²ü©àsõÞÚ•èhéÇR‚àˆ àuý.;,J6ÆÓ¼¸²\bfGîÿúóe€…Þò=–¼1èå´&ðà€àÀ}ÞsôX°­ßõÄ4€æÌ˜Ä—‘ÂIË 3+|2<Ü¢>×=[Æ­ÝþKôJüíokø÷(€ÿÁüØúøû8¬§‰°=,~~Fý€NÀÅŽÀЖ€< €KldÀ–Ét9b#IópXþ"à€.„Ti,FW¢ÅGÎe4í!1 -uûXEÉ©h®w ˆþ·Ö”ÆIÅ êu®–f"m -€ÿ¨åQA[¤žY…RDÉ„\5Ž"(ÙI}âbHEDÜz­ðýú”ø~¯ èpUO–6,ü›Ã$2?ÿmSŸ´wo½z¥ëÐÿ™€–ý¯'ÓÿéúG¤½`L Ï7²ðŒ.¬|Ît™æ°þwvêY¤[½ä*= !xâð5¥Ûò¢ u¨»_ªÖu‡L»º.<‰¬ÝÅ '‚>#tÐ]}p÷ÀÎ<̳Àñ0(ž²x²Øñ/Mó¥±lÁoë%ð+{¸1‡e0yÈÂé ¨pºÕq·cåM³46¢[2âŽO\òä`š =ª]€¿¤ ä^ÉÉ8tTòÖÇ›YcL¢ üì<0(¸-èïQq°ùüñ8h'˜Ór½37oˆ@OÛ¬:äæñzCÌ@6Æ¿í?söì[tÒGòüÚíÔ/¾á¶ð[ùlÑΧø¡{Û¤jë2ÖÁÿë×ßxë­Êõl¾hÍ[/zñeõwÞy»rýõúÀ[|õŸ åM¿ƒ/ˆúæ7¯åÓ2¼ýy`Ó”Ô &4Êòæ°¸.H¶—ó¬ØÌ§D0Œÿ³bEUªqVQó¢BÊ5/Àh‚Ùá$Š/²ñ¦;ÿKa¿¿\ ÝèaÉ«y6m†Dl"ÁˆÄj<7Б_´á¯®Ý[c@êðýfèžæÉZžü¥Çô hȯïþùgÑ+ŒJ9‰ -Ð;‰·ˆ+I€Ïþæ7~ÏéA–b³€þp¿g“(;´´Ñ]⿲õRëDDBÑ4 ÛûŒJÐ{b‰&×ßþvlÌ}üÂ8ø+·ìÄ¥èãå  Beå(€® VÂ?D8@1 lUcg””ƒ+}hà¤wJgº@2"m’—‹yD*ÇÙb -vPHO‡ŠW]¢ªp2ã¦åe‰DÂùC}â”7Au¬-¥“UÉáQœ4%p qMhAÐÜ#òP„)Eð<‘Ò…Ž¿£»}.à  àå<?¶…O#’ˆða¼Å;¦ÿ]þ!—ïðQKÙžöL®0­pÆ@(]—ÜÀ×/xPõïdXdô[Ëô\<øòËx0–0bO—€˜¹ripdrõAü;{ŠnkÊ×{\‘×âvsݦ ×q—K¹ww•/JfÞ\Ö“¡³ -¶]àâäè¥óç!' ÊJ?¸Š©J˜s±`ytôH>p…‹óuN^ÔŠFìb" B¼™¯ºˆ…ðLÒ=€Æ‹±ä(Óÿ™*¼ëx5À‹Å sT„9³E³†@øcÓ_1ó­à‚ßj_sÏþ:#ìuU¾êÎo‚ü©úF½š×D8Äè?{æÌ›•©@ý|}8}'S¸ÎúU¸gãUMxf³¢VãƒÃ8ÞyëÍ·Þ©K!I£óoTÞ:×ÿfåõë~éÖõë¿Ðÿf|*˜þAîpØh´kÃÂÝ[½/”Lï)ªs ¸øá,Bj1ŽVá1 Õí)ªMf32Ð !À·%Ò¢€RÙDá)€ ?²“$Uãÿ´ytc§ZuJˆ5ê·7AÒ¤ åÈ/ãQÐéG7@F 0žKÉq€SgÀŠð\@`¨$Úéþ÷kð?úmI•è5â†M½¤Ц3 -àáoî»W^‰‰Üq·ÀdÑ‹ø"’•…J¼ú$€:­2âøÐi„CÙXÒFï·À€Ëz {ïÞKìâ}ÂþEb,ÑÆÛrÑñú—£Nð ¶nkú÷êbc×|fPèî÷ˆÒN À)¡Äô/»Á?·UÑ  -,5Ê¢%ð{úp¼§’h%@îÚ¸çˆQ.’:•H¿r'«lRZšáЂ–ÊyUé{=ƒP/:e@AíâNû»à¹þ‹/ãàOæÿ°—™Û‹‹ LeýÉ‚ðËS<2ª‡faò*¸ùŸWOÓ˜­y -Ðâž…É;«¾d¾ûèßR`UCÊÂbøÃ['<d -±‘Ë—.èüKôìuð_?ðÛ¬yo–îÞ[½GR{Äèp—©t&GG™¡ÿîg÷)'Q+±¼¸ˆ`dð7ÎŽqî1ì³rÕð4×6µð5`U tG<Œ¸*^âîþÚà +¼­°1ÝÉKWDMˆáâK@ù¸v=Æà_¿W€K ÖQÜ}•W ²ÐGoG8V¿ñ¿˜·ñ­Ãýj!ìç}ïÛÔ}_O¶ €Á÷²ÆƒBLô{«â¡ôùíÛíkô…™ôíGyþˆvÜý˜Ù¬WTÁ¿Lý·*×QL–FÙìÔõ·ûÏë8ô#iª`ÛùgΞ9ÛoÅêõ¼q-CþB§ÊV€©ô¡£æðŒÌEð…Ÿ¶ìùÍyéŽü¾Šc³ ïgfã“Âdž}¤€ÙѬȃ«ýëïó’#ÂÐç“ðœ[Ec¢Íìňô™9qúñMÄ™üö‘ßm øO t­~é™~°Õ|H““¿œ\YìEP›Ÿ?øü3ð¨ä”ü¨&%_ÑkJ¡k 8½!ù:€x;¹Ñàiî¸{uxà]Àré„2`ûAtç­ÊyŒ$÷®cÿ¯­Þ_»¯÷ìCÝÿÇ.˰åEÁ0Ÿ‚åDkD¦3§I/ò—áÿÿõzôHàŠƒe - -… ·~GF”}çANVCC€]íôà­”ÃQ™LŽ<Ú BÔÞ9,Á×§Ì@ŠÎ(FÕ\VÝÀÉ(çψ“*8ö’C£<ÀÑQ/ðÈüÿéÀK€eƒ´ÌÍ¥…E?dbËËBÉI:Ð\¼"¡ÑL3 =ü— -yPÀ*-hcƒ˜ý"¤+²`õ\Œx,a1sý#ƒÖÂñð¹‹7\W^¾ÿ`íþÝ;ÆePyÆR‰7Qä•ç^€“+2Õðެ,/º¯A)Æpã¿vé %•ˆt¸@€麼z¯ -)aMìX^T­çÿªÅt8A𘭠wx-à\yÙ€€#„î(_ª÷¦Ì@_ -/%æ÷®ºnîä%Èž’±ðtb¡½ð``yÕðbÜ:" ÿgÛÓm™À… @ œ@SØÛÚ”uÀМšº^©\לé!eWoÜjÜÊ7 q"Ž“èô@ÿ¹3çJeí‰õhüž/æU È.•H ‚³³ÍVªŒúÛïTÞ»>E—;”˜ºþÎ;ïèg¼k Ÿ ‚:ÂËa€ï±J|“—p›ºÂ›Jó•Ál*Ï®ñé ‰gú™$EðLA… º­‰F!ÝìŸ@pýŒÂÙl«ÐñÇ?W†¼Ú05Q5*]Þå{p¾Ù˜Ø!EÇ€òF”BÓÈáŸðiÃ_@9 ^À1.=›é°w"‰-Ø=ÒñÜ/G'Ô£l+c#—Ç€]7<øüágôQx°º0¶ð©àzaá“䀄 I×°´•¥’Ê»àŸD¸¯óts²¤NÄ À”Z/Yi£ëëâÿ¥Ë—õª1´ë¥Q¢|èìX{7]‰D±$@@1ÅûRà8€ŽMÀpÍhb% ¢†:'ŒPµú现€œQ]ÄGÀµ ûnÒ*æ9¤DTK_Ç¡(9…×”ï4 -¹ðãFü-Þ 4Àu3ŽB ¾¢¸/¨¤¼(iY¨B¤;8 - fü~£ÂüÿéË·tLm:Þ°±ó'GG—èˆÀtû fxÃùÆL2Uöäè‹ [Áµú/Å‹í ˆP[Óˆñÿ<` ƒwÌ3áè) *çRâ%’EFĆ]:XýI»>‡ïߥß `ayõÁÚÝÀÚÿã-@?@÷pµ˜ã×@i]¥·lì»(ý€nE|öïŒ\êzb€€ÿª¿pUû«Ú3ðòàºl£õ‚ˆ«@W÷z2ÅL’üèx±€¤Ç˜×Ê&¾ l¦“º°9ŸÚµ6ÿ¾õ¨õñüŒ"ŠÖì“jSàü^å½÷Ý÷¿[„w ¡¡Ú&13úH„½| àMÑ—Ü,&ÜöMùÔÉX:÷þÃÙíê3yµB?!ýÀõz`¯Òþ|¦‚ëÿÍþ·Þz[çê}z_¼c«ÞòS=ó!ô8sîÌ™ŸåÑÒ€o¼ÍŒÀÆjI–O0HQ€[ØP@`"­ùyU÷sZýEÜ °^ŸáŽX¸[:ùs¥Aá,«æþR0ÜÂ>ݘøŸå7'¾@ºn´?VÀE^)ŸâYLôìåç9¾€Õ÷ˆª™\¹+®¬’ô®0òSØ"%áxCZêÁ9Q( -„"VS{~¥[ÃÁùC'Óÿéþ]õÈ?8€c$WÃ?«´ —Mqùá Ñ.èGx^5¼„€_LjLÙÙÖtu?·0Íhl³[Æÿ榀zS˜æ€êºû”Ît¦×«Õ~NŠT§êi€ÏâÈ·€OAÖ'’á=øSC82ígf…«MÍVÆsÕñ¶ÌüëSì¡ú¹þ·úßÀöﯗ.A¯ª©ˆïGw€þ×<=ð{÷ýå`F#¼ý&-×LK²b_»eGîç—AIˆQÅ=úþKòhðŸýy«õ 7´ÏOe7f?Êãm·MÐ'²^¹î®Ð!eÒ}P`:¯Vo»ÿ?ÓŠ02pÆ–>Ÿ8F0ÞY…w<PÙ éu@k=¯ôäÍáoCôü›¨Œ€X÷¢7À’DÃp H‹bp&(×ò؈X¹³ãøüs‘ˆE{h„øå²ð^¯Ãðä'@lJü_þÄð÷‚¿Á]¿H`ŽP&‰Dž(R1ð÷€Kc#8/ ð~oèW‚½ƒ}H'pœ”6B¡t ›ãFZ x%À DÄm ª ÞŠ‰”ƒ+N£'½R#Òɦ±ü-èÜ-ÇÙ±§AggÔ=~@oŸ< -ÀRöà¤Ï“ªcm)ÌœFÁ@_»8+Z4M"»•uUìC£ðT¸Ûé[ç^Ð Ìþõ_fY2>vÅ¥}Ê&èNC{ð‹ gõܸ%üŠ[þï -|mÁN -}BùÇTBàÿÕÑAa Ìáÿ¥ó?>š!Ž?ÒuÆ“ á!™û úÿz þ þ½_»»"|GÜpŸËK.R›ÅE)y9<'Kùõë#Ìùà( Ò~e–½¯€î–ûþ+³·:<þ=ŠàHéÐü‡ôH¹Wr²èŽ -pW@°‚ñp+êç³óÂEПqÂ¥¿cÒ_ÙÍõë•÷dKÇ@ð®Ä±ø<^cÈÓÞÔùfïõª¬ô7é™@òafçɲ®HÇÏ?þX, ›¯P‡Œö·*ð;å[³7Þ>w欞þ7ôï\¯^"Uh¸^ù©<+Û›t<3P -ˆÎÒ €–Ùþ‹ Ki1‹ç˜ÍâOdµ«Ý$ ±&°$>—H1­ÆDÛ—­[a_ˆ¨QTZJc½1QÚûæÜÎ(õ€£ #øÓú© /šºOÄIôT¤ K! ,c¼¨zAVðÿ›û>úÿÚƒ…ÂØOY’à ÔNÏ%€%™å«¥ FŒ­¬•€{«Ÿ®D@‚|{ä¨Ãôþ’D%I™õ’@, Ž{Ää%qð,õv¼–r£_÷ðTÑ¿ ïðÒ è| àÔQ@&Žq¢À;mÜ:ãCá¡ÓðÃýQÚ)Gà}$4@‚”þ±øÓÀ¹ã‡G8©ÑU¢ZtÚ¼ § {F8‰Sqd¶B²ãF¤oPuyRp/Þ"¥¥À¯%¢HI\©Sw=CmÔ‹ (C$v61 - ÷€¿xÀêï¬üuôw!ôö²@å%÷¶× fz«%ÂiŒ]BiB@1€ t ”í ƒ‚ñ+££ÎKçÅä:ét!F~ ½ -½vE¥*ýUºÓýŠ¢:µÀ>Qø ðªÍݵèH]&Z]a à¯úÑ–è©îˆ¨ûüÇâ -¸)qo¢%°¼,¾s¬`r:T^üäßÀ—DÒÂÕ_Ñ«å ü³Šð'E'@®1<=)¸ÿÊðC$Ðí¨àŠFuv&püÏç?–½‹…Nœ0Ä*&öÔ+Uƒi°€F‚wwu«)D¤–šðù-Áq·Àü0ÞoX€ýL- ,¬OeSuaëßóAÀ©DÞã#Býo¾ÃZæ¥F}àÜÙso¾%ü—å_0Àòÿ={xÿØ'ðóœ;Óÿöð°jÂs¼©|t\àC†Ò¦F™,/>F‘y>HHÌÔ^Ñù|~"+tõ°Ý‘ÙÙff?þù|>˰_¢¶·«ª…{à{ÁÐEƒ¼(C ó#t³ª ãpל}ĆŽå¢;èYX^»·ê^€/;À˜,rúÑöö ÖÏÿÁ­=øõ¯>üÍÃß„`E0êHÒž§R‰W&GÜ à-=´vêA]{øåg+ #¿\° 0âŸÐ Ô§pÆýËçñßžŒU»ºiœ®“R¯7ú#>”yÓ%—„ÿö˜t= í{7¬iÓ+œ-—3 硃!½°@7šÿG% ScwÌ(€ïñ--æeR09òhƒ -Q{ç0tŠðÁyHá™Uæ¸;8 -¤p‡Êy:Ò@u\FYÎ -(KŒpä)£P(NªŒØKU‰;Þ@Àñ€²õŸƒá@² 5°`Õ+Bê\\ÿ8€½ Éu†Œˆ(‚`KF·ý<¡e½[jý ÿJ$»"`¼ôÆyô!ØÛØI ܇×Ið>P¿ç·v7ÀU{î®Ò™^Bzera{8è‘tCBB뎸=É`5KÀý“ZCt;Ý%P‰ãc€Á›û‘K‘ßkx˜èòè¢BÑp°@à€~¯${%'Ë/ŽãüfV•­/>€­˜´‚µól¢>#+÷=ÙÜýëbü€ 0ƒÐÀCýˆoõÌ0SL0ïǪa^&wÎô>Q‡H‹eW†gTÝúß¡#bžÿ¼õqköÆ;ožë øO–üð…Jý½zå}ÕPeDBGht8×?0<„ç}ZÀ 8ÛÿÖÛ: m™ú»õ¬ =ÐÅâ Ìé§z| õº¨Éß[—¢Ê´ÂºlÑ"øÁ m G€$ôÞ¬ŠHL¹gÁõ÷êzUþ-P/a²@²vub/†þÝò©|†ÛœÍ¸µå¨èA-±;†¸à%žvâü”"<Ñ¥ ÖÕ•‘Ñ?æã.’Kt@þ1anÄbIÿÆ èmT34Ïùzòê¡LN†€ÇÝ?|ø™gd*ŽEÛ'—ï)ßîùy*`ÇtKH'eHDÆ4€ÞDÑ|A ?O¸¸œ< >cd¤X¾kW®àË{Ú_zC>ê~ à¥FpÎikHÎé0L~D(˜ÀÒɘ ¡)épBÏ%H–ê¦ áw” •8AÌ>¤(Ý6¾-+c9€#ÐÈ•ÃTˆ¢ˆÖ&Ô‹,`¿9k“z0Ÿ×!“=I¤7$J"V­>?î°=Qý'Íà¿„Ao Ú_Fìi/­~ú§á£ýþ÷ -€Ö0€ð v؈‡Ýo··ýK]fàR#¹‘¹„C¾lç©åÒù7.9­ ògà/AßÝñ«^€~¬ŸD¨<‚`ù.ω§ÓQ†øŠ_lÙÐhÌ? VüDñe+Ý#ÊkëèÜñ¤>ìÄ›ÒÕëò/]¹¢ÀAø÷«§ãXâ{HHôèŠÁß ƒcM ÷JNšô‘ «>µ˜¥Vö0(ñx@AŸÏ)'„ð‚a® ´R¯1¯.SøâÙž‰^€C_=ºÆ ™úÏœx°›à7oç3EkSº<—îô¸!$²¯Ç+™püš¦ÜëŽy€¦®¿ƒ/¿~½~ýFå‚‹§ L¯¼—Ã6˜=¯=+wT°dÚ€~s@Ý-€G9þµ„"Sh @ e¢ð”½R‘ž"'v0žEnÃ|µ8<Þ ØgÞb Áv­s%?·Ò4ËDàˆÜáË¡å0€•ô9€Sf€¤F±çQ·Éû˜“JÀ!¸ý5 è¬Ýç“%b3! -$;=<(´öPf7ëÚòØùK# «ŸùùÊÂèS“ZÂúù€y€Bî­°X¬½gPII2í;BæåaýŸ¶’xèVÿ“àòèHà¸xe^€¹?^çøÀüÞ#­/÷-ƒv ªB8ýFí-ÿìo¨’¬[\…¢QÇUtúV¡0ÏݪTgpÚ«Ø4 ¬&•Cí>n€•Eƒè< 3\»kðÅ}¡(å¥ @I]lJºC£˜ 0ú¼h@Çü·`xÀÿh/! yï‚t¯\I`/¼rΟïrIɃ&€l3y“þÊ_©¤«WÎÿèü•«1$|O%9 s{_RJðýøÒ_)ŸùCg0È©b‡í¡8²-» ˜ti@ò€W`°Ìó/qÖ…N€„×QŒd²g¡þ“¤ôîòàƒˆ³¹ÏîÄ^â>Wù¦‚oàÏþ0þ»¿1€?`…FöðëÆÁÌ:’@,óÇŠ›ú‹Œ>t‰Ÿ&EÆ^í=w¯ñ*oNäù}À;‹° 8œ‘E+¸h'Ü•“ßy»ÿì™·*™áu&ÿ¦šg¹llÁ=“éS[€½Y%QÕ²+•Œ!ï T<À‘Âÿ·dÿâBü¼r!›IÀ:$³Þ^G9™d"ÃD -’|TàmæHMSö¨zé¡ËšE#}Vß$bUÙŸh~SLÒÛj}4õw7ȼo‹ Pµõ¨¼Ÿå40Å„^y£ÑŽÄ!Q$¿,ûè#•y@ô¨Þ‘e¼_·ÌV³Ùs-@‰àE3ϽÌöŒtªúÇDp3 œô,8ÚøÉ¹}$·³Ïfö +^ÃL´ ̃ÖFWg‚t¯…a7œe45”:¸ˆÏÒWkù~t"Y²PÚÍðüâ±È5;GéuIßY¿±ØÁš/°à“´ðoŸ”…S1é ‹hñˆ cô ô›1Ì,÷˜úÚàY¢Óã\äÌu ö…ûrsÏœ† ÿÍÛ:ê䘠OÐNµÿB0ý{½znxxPT@é¯^9§Ó•ÁUÍÿ ÙòŸ¬åXÄ£FWüôÆo3öCB ÀpÁUÙÒ¯m2ôhÀ†ø1£Ãéõsæ«k >}þ¶ @0 1n/Юàýƒýý5 ðåæt“^^â&(òV‚ß2>|®G àH-@¹íx CѱæÓæAëQýOÍôÉA³Ñ@4šÍfÒ|Ö:<øæðYK™>«L”0!^C_-’´™Ö~Qm¶¨Ñ׎¤5’~kÜLZô’W¼té/Î߬"+´­Ã‰g©àµÕzrØh¤új®C­…Eœæ4Ñž¤\MäÈWË3ÂÃÆáÁÁ“fmö¯n–å¾—®š×’JU'ªVS±Ž¤:_ýp±Q›ÕqˆÝ/ýeUY§¿KŸQ -Š:¬u 9ýzBEú0e”¿FãÉíÓń¨8‹­æ³f«9}ø'•O鞈´šz2:^KuizøMZ«&ÍäÆH9i¥ü¿Z®PöV³Eª¦îs‘ìZ*Ïþë“$}”¦u¥MZºÿÃC]/ ˜7áä{ë¡!€f›{{Ÿ1 `ßžD g -Àº 3P€Àøè—´,G¹ƒ¶Ï÷ö¿ØÛ§1@Pì•çì®ÏÕW€Œ0ºnlŽ1··Æ_¥ÏÓ‡_Š„Á;T®÷únßû,tdN@.dJ7@º¯*kJ“yö™ik›´Ÿ~ÖÛ ÝÓÆçÔd -˜ï6Fáÿúº_é»>Ì:kÏ3ƒ½Ñ>›:{˜h,ý Ž-Û(iTÎÑfp}‰±ŒÎnáÓ¹ûPTiBþY‘0­äc\0we.ÊG;ue_NëíV2Ï8ª£¸x¡VÜ -ÀÆŠ„³l\FásØ«ŒuY²T¦¬ú ™†žyæÏ ïþ£\|ü—ÿ`é ->¾‘Š¥"XY®—:æÁ˜aBïã¬ÕÿÖÙ+oÀ -”)ÙD—?3+ØáߎSN+!Ô‚“ÞxC§Éa ëy ü™E@ˆ(€ËÛÛtFH€  €­GÀãÿ»??Æ(˜s"n16•–íG+AÕþgOËOãÕÒƒÿz™Ñ܈VZå57¹>~U´cà¿?*/oÓýM°UÅ».j¥B+þJ™¨5šú“¢B¨ÿ|½~­R.‰Ÿèg9¢÷„¨=mhRO77¼§*×’J©\™éŸ. \8G?%rR6ɵ¯“z]yÏëÎÒ>z`¼}Þ5ïTËÕ7èæ·X,ëÒ岎#áŸâG¯_ý¯¡r¥ô¯u-l¹R9Ú–KÂs§Î_)M—çæ(µçñÍlÊáZZ¡Ù‚üvÝܼNW)æu˺&w!ïý÷oÑk!M÷)î Åñé¬Ïë±UꥑirW9&üº**Ÿ´ÕbÈC‚þ¦ç*õwß­» =ÕªërÕº(†›Ï[yK~½ð?Cmáš!¿]€˜Ÿ„íL@Oï~@©NØÞÚö¹ -@?%çÁ)ñ4”?ý¦›ùÞ€Üßw§{!Y–žoXèEÀš€¡Ñ;ÂãÏîÑipVTáE¶»ñ?Äþ&>§û˜Òd  _ @ØÅAïõƒ8Õ¾Û¬wwÛÐüùx‘ÍžkFͺçÙÞ€½ pÓ³@ Ùa©Y”Æe€cBÿë.|™ þùÈÿüº×8Ñ»LWÑá ðwbHèV¤'?ÿ+Ç*+¸ê¡ - ¬úÀÏñرÈÂW!uGÈrà¨>*S  !1οuhpÌX!v¶?Fž“¡íÂÜÏ8é—µ#þ›t›ǟ#P‹#œ~U¸¯„îÂò7<*e'×¶Ù…ÍþñΞsæ:AûÏ _}ãªÎñ‰0€@ŽôãÌà_“9Àö'ˆà»ÎExð©iÜ~¥3 è`4´Ìá?«á«k?磧¦ÌˆXèjÜ~Ù¿ÒîŸA”zòêUƒ~û½¦7 0º>ŸÒ -ÁTvbÄZô§ÉÿHO¿zêUý€T^ÞJ}'ReìG²§ÃnçJo¾¸³11!‡çÚˆ¬8"ð­Tþ­ Îè¦û½0§Dz1”*×FþÕù¿Ô_ìüHI0;1!À›O꺖¦òœ\šÇÜý¦äucQU</P^Pø¿ð—ø]sùðÞðŠVK•’¸É<{´ ðuÅ&JÓõ‰wÅEDEx?èµ£™C=”ˆì¦'s*ˆ¶Ù\»ßÁ2iPLU@ݘ²(Mˆ€°GÏ€ç4A‰ä -jªNLTëuN©ÖE(Ä,”1w1Qš«¿YÑÓÑÓ†þT*<Ûn›=:,஀:= æE3þkiÿ_¶±Å½1 d€‡¿¤À®4 -ÀCÖI°¾Ë´G¿JpšÎé -8§ìmŸ*ŒoÝÿ»}¥ë®œ °ýïc+€ÏÌ(…_¿ãûÓ7âyÇ"¸û¶"Wɼ¶: -@ Ó à Óü_Ÿãû|ü–[ícK÷º„½ú¼( ‚²¸WôÏ -F²ƒoŸVaÓs -ÿ`h0`W AjÀVèórR09œ£EWoo†2…õ\ ,Z+ -œ«7ƒé”²Là k4Õa§¾ÞAY)“~Ù¨x.¼&hº,dCçBÂAå–²>­Âh€ÇÐãþRxžÔ¬ÔGGýÜ`{B`—õz6¨Cs€`範úÌQ€³Â'˜äìÕ³§•Y‡œ~Õ'ŠˆˆO¼áªò@B3dô>–CÿŒ -P)ò¢Ýp’†µÚ1:|Ú -€%i µðíÂûøñ´$À¼2šŽ¡ ^àͲ—ümúÊÀŸe`¸8yð÷›†zL -6®á]7)BW¨þðßÃ"ÈýhÇÛAk¥Vëàéa«ùìÛÃCî$iýÞÕÕÈÔÕ‰‘4Áϧ»Z-Ï”ß+k%©.|=£Z©êXRm==h$i­¦si;÷^’V+?¯–/¾~þõb5ù}«ž´É5N’ô@9%iSgµZÍfë0©k3i(—¤Vý0i”§.•¦Ê•¶ÐÙKE2)Þ,œ»@½>î~5ù ù€Áô\$-Mx'ƒ 'T/\,–« u9äóõ´•”/]š*ÏT«©ÊëëÞTÎD‡ÒT—j¶þë|ú¬¥¢¤­Ã4}òá³§ÏšióéSŠ‘¤¨ûº˜ACW,N”ªÕGne˜4ÈŠGã.޾âè~Ÿ¶ž<ÑÉÏþ>ù]ROêéÿYª·ôtõ¬›\E©zŒ1H]µ¯Ÿ¿¡Aü¼T³¡ÐôaJ»µ5NÿòæåJ›}:1î¨Kø"*Ôß;¤°ÇsWèÔ­=+2‘‚!€½Ž°ÕV@~2h+Y;À;w]ü;±p.F®DÑ|SŽè:²=*ûÃ}bšMý|.ƒÀ›¶ß'¼‚ù>Ï 0Fûl÷xM¼Ïò -€q-[Ï@Ðé¿:Ú -ÀH †}ZùXœÏXvÊÌ ©Z÷Ö @›†eèÌ'5b@¸ 9„¤:’ E»@®4Èk*un,úâðÝ)óyñ~á&dZ8+ЧX|JÁjT¢©<<'ñ^¨T¤ ­ô͵è À üçðg ì{NfDê ‘À|P: ?K€ÁsY €þ[€#y°¼ ™hÍj¾a\'G^ŒÊaWö§”@ÿ©Ógt ŸÔ¦Ä -ÐÏ"ä·Ñ?L1@Óèæ–6>e £Ð!¡ÞŒÈbtø”¿ÂŒ8lU_?™^ D€"Mö?êcéÞvaýjÖÀÛÚƒÀMôÏÖ®Øåè©×O àŒÛ•Ž’®äcNÓ)@ ]µä~´ã D?Æè™/io&qó3B2BÝu°TªWÞ“3ŒK,píØìïFbˆ»ãéBD_u^r*ÍéÒ, ðäCg„–$ÄkQQ`“p;]ìƒJ«Fí›~—§Š¯_œšÕuHžEñ_,Þ,^л…šNŸœÏZO}Eµ$·[—-.Ð,ojê’8Ã%'KZsIZyÀ"Ê?WBBð8FÈžcöUúf¥¾X«…Šy"º#úrÁ¸ïâT©L •ky$6ƒÔݲï÷=ïX¨<‚ߨÜÄRx”á,‡$øš°…úûõúû¢ u=.Kî=…¡! -|ÜûlÏA§õƒ;=8”ˆ ø¯ÄÛ[w·9ÝË2ü¤[ÀÓÚVÜ 0œBâÌ´¾á_(…O{4@ч @Ƈ‡Æ·îï?ÜråC¯ðY>àž -JYy)ñ\.è9Û6#‰2ÿŸÍLÐzè(ë`O¸ßÕ@¡r7ý‘OX¾ØÀà‡y@™¸Çk/ìÀAÇ7ºmFÕ°Ð>0Òhçµ~,RzEæ‚1iÙ‰ ­ÖÜ@(©`Úût0ók½Ý -@ÆÕ´Þ·ê%8I+6”4dë‚’®§@QOúÆóÆèqÿµiV@uú‰,‹Ò?wå,`X€Vr -€ÿ4BšŽ ¤Îd9 ¬È {1m°£ -À9ÒŸ:õêÙ3§^E°jðÆâbcCî zózŠðß¶Oô«AЛ  o@n4t £0“×¾1Y@¶¯iƒïz{••£×‹ß«Í]€ ¯£à=Ùz®# †n;þ^²6è· Ÿh¡#²0Pa}s{kÄd|ø¬‰Ñxv²€—7‚îú™ ªP/n ¦f\K¾%é\))»M½¶fÃ8@ay¦’¼•„–ïð€_ÔfÝMÎ,‡g’é‘Áî+Œº -"Ø~AVÙ^]h—<­9_»fËø?ÿº©Q?OX?]Üœ¹0RÖûDWv†ëÊ(IR)j ƒþS SS¯¿®‚r<«?©–Οrw€”>ë·ìçª.HÒ*9z‘G@ÛÀ&—)PB•¢Xü+.ÅùUºýgÕ`V“¶Še`_5õÉÍ_2˜²6•Çb:QOûïW~á«s¹¼e -@»€‡08«Ÿ4š0hý¦œ_ûÕN¿·}Gàç*oÎÃBi…‡ìˆþ™Ñðs€v>Ê3*Û[¡@P -!àaPöÄOÚmý]­îm‰gà"÷”1¹«< W67Œëü ‹ãd¸ ×€‡´¼¾>¿÷Óõ}Žc"úô»¶^À d°Ï{<mÀ:›Ù7¬x 3^k[Yyóƒ %Ù¼öYFÓ°J*xë=ZË÷ dÎ’Câ¬°Ê 0ÎÀA › Ûc0 çÈŒÞ?d+?j>ÇŒŽj³ý û ž'3S¨ÐìœýØ€6º€9Fr›Rô*WÞ8{ÖU1 ˆ¶éìþ#ý4ˆàÀá¿XƒðŸÅ„1ਅ6fŸj¹pgAnáªÐý“O©p×›±€ߤ~ƒ£Ã*þ•Ñq½Qè^˜¹W:«\! ûã¯æVÀwbÄSŒùokíý½~Õ#‡nèü7*‘`ƒ¡+@ÍÚ“^ŸÞUɨÈóÐ"ø-(¹ß¨²ž&ÿÿGॠlëcŽà— ™“æ“”f€Æ§`‚æR©z±“ ÝåbãõQ+ã8Þà¿,4Îo”컿rþbQ‡YŒ^pÁ`UÀŸÔZårh6P»ûO›½óS5{â †U1÷äW¾0R2ýs-6Ø*åjRž€pLH=U~gꃠù'­éJš”/½v~àâ-uFÖŒÏð×LÎá'âÎèaldnNo¦›¦ä@œ2åpF!7®\.&Ó&µðL|º„2¢Þa¢î4Zl†Ù1ëçwp‘ïe€@s{kphðô`$ôZj»@.p{¯£ð[b!/˜ -€¥|A§Ô®ôûT`$fx®`>Ýg¢Ëɶ3€*‘À}ÀP¨8àÑÛ -À¿×c:·‡±ÊUÀÿ£@¯"r,@}pþ#ðw)ÂÆ6É€Þ6¼ŠF Æø#Ÿ0Å—J\ö38 Ö:{Bx:–o`hÀ¢ÉÚz¸± LÕ†Á[{BJ™ÁʽñÒÉãN'7š†‰|t ËǧãOk†áÆsÑPóî2yEÆJ.ÀÛÇŒ֩׈ Dì` ªÃ;'Ç2én§3.Š„³l\Qçrº ëK±ÀzZÐ@ˆ¸` {,€>µÿa5‚ç ,"’Ì -€qeNfëAÿ1Bš¶@²x¢¬­ -ßE²€s]Uý8c`¡÷@†ÛŸ€ý¦þ†Åö§Ÿ¸ - 0ã½òƒgg“Ù™bñ’V/˜‹¯¿þ:uñ„è‡:ò@ïÜs‘¤š4*ÓMJÒ%ðÍ"ƒú\¼9¥4¡*ºÀêìµ?€=üßÌÊ¿«ÜÐÜ^øÍ›ôä¦ÿz—(U:'w\®Œ‹b3.e<‘놎T’ð™þã )ò³ UgÈËéÒ@ñf­:A÷ƒ%3zB¬ÎÎ̈Šå…ÊÚ$ -¦‡YKÅw´*Ž1Q‚¬¡Í‘_)oøþQˆ#ˆê¶ÖÏN"¿aƒE€ß‰VwÆ €ðÖ2ü®þ³-Ž´ WÞ€žv€:ƈ¬ªQˆýäªb ÀvO€‘t).däÎúf£(ôÿ,@{·ùºq½c”•Ä|{j„ùù6£~JôŒ0ª×ÇÑ¿aö\ÓQ?®e“vœ¨€à,úìZaŒƒ”í}†O¯Ðf—:)à}Hh€)ýe>ÒœmT‰X÷']eºŠà ÄR )•ãÚ×9‘$ú°Â5p%{ÎXÎ#;H )*YŒT$,€L•¡¾Ü©Sw€°Ç×æÒºX  !ñðÜýˆ…ÿÝcð÷àpü¸ö_œ@«èËšPèGS—ê5Fò`„§„€ŒTd»â¿^. S€~³×K° ÐûôÛí×Ü«^ñ·„¼¹éã›V6„þ!TÅLôkaAOQø p˜ [Ð×7|²µ«ÍAw€·³f€ÿ­ü,Äx›1€”H7‚å€ðrêftH7á=¦°cü¨‚µ-~T^Î"Ð5A­Åpc², _Ê’éñìÖÀyQ¡Þ;³øþo5ÊÔÅk¯¾ï,医!þ¥Ù ¯ 4oÊoúA-@Új=y§ØÛétåP(¬kÍÎÎVÓ¸Ú¡ Œä#S> ïìOJU½8ØÿÂï’®«2(}Ò`@ ®? TBy!`è${Œ.ù…ÏuÏKu÷Í£ªMQ¡r0…¸T®L(³ÝÞQáL•Óò#‚Uðwf•AÐôe_k‚NBî ­Dzð¹éžœDˆ#·?Ûš<=¨_(ä<g¨•‘€ö³Þ6ºòëb%(Þqâ3Ûßw ƒ‘¾²¢bí.´¡ŒoÝVAÉuI¥_VšU—zi…óuÖuNU©¸­BA¯÷¡3*«ðçòàeßÊé3~¡ssƒCccƒc««”ÓEÕ¬hë–žÅʪ²^Õ\³ ô«ýg‚Dœ9™µk§å¯ƒøm­tÅð¯"¤i+¡ - ³®€ @,ˆ©1ÎVÆ/ßð‘ÄrÿsÅ„ÿŽ|¢óO˜?ka¢7À¨ŒSÃFk:ð9À? -ùaLŽ«`WF'‰üï2AXÑ|™Î³µ¶€Ð „ÄÝ“£WÜ/²O€´€¶pe—  czÏ8pÈc…*€@¨ #´r?Úñ°çˆEŒ’‘ÅÂhu 0­´*¥Tð6Ï~@Žj€j™ ·juÄ -|°w„«µFKÎ2½|áüÀùó§t`¶Ê˜‚‹‹@ª®A?ø±+|]+­TZšr؇¾D‡}"¥pôâù¿8ÿÚë¡ö¾FìÝô´3£ ¯VÞgÌ=J…O^žºé^UŠ×ŠÕtŽàCÈÄÍKS°% Q ™Q¤"¡úSõTüôX­ND¨‚0(/”ê¸<*(—tÿDU³—bêö”*y’s£Ñ$>BëI«ô¨Éc û4eŒ£úk’ï/SÂˆŽ¾“ïÍðb|s -@¬ 0>{voûÞxax}ÓÐ) Úý&}ù…¤N¶ÙÕùÞÇ›Ì Ò±* €?ûЯRlàÁýûQØT.*#U›¢%îåÙ»÷ßÎh€(1wÖ©mPî(dyÔ|¸/7ÈÌ5ˆ ð?߀¾ -££÷¿ð«»çãï ,À¼øÏ¯…e;Fý¹­ìÛ™gÍsû¸ cÎVÖ„žB=£­ H ˆ^oÞ{FÍËOhŽ  -×5 f‡ú‚ßHœ·‘°Uu(ÀàК€XÆŠ €®³l¶ ô^) ^W :º;‹•ÛZg×`aG—ÐqÒ.­|d¬&…6]j W[2€‡ˆ!@††\êÁ˺±ÃüsˆÒ@D!|.™’ŸJ²¼ô‘VÄ<ÇVßC…Îê"xžÌÎ æ5ÙëJ{ lköÜ€c€¸"×'¦ÌÌuÎÅÄVFÿ0ËL€Û×¶>Ùb0yýÂýlú„@Á2^ú&ݲiü [Gû(ØØt3À  [øAŸöŽa­9“O€ú¨¼-W_Ç`\ðŠÒЭ!”€Ñ”lP€`Â;(úw&ýêÇ¡ˆ…Q÷h©J¾+àþÌâŸ#Z¹íx3²õ3`ÄÁ üÊ ÖjíP®¾`Î=ÛjE€h ­ùæGæ Ÿø½ð.Y,…¼.Ï¿&Œ4—¨jO]¸ÌÎ5è(‚!W¸Z9 ЀKv¹!:µHðÑ{„$×ÊòŸd‘LÆW‘æ«€÷èé_§)pJ>û©WŠ3‡Ó .&3¨ 7§tL¥×Ù9Àͦ¥÷[*~d7€Qž*1*Çëç_£uAZJŠ*SuÆø›0+*§0QFÓÀ†N¯%ŒµÐГù@Ov"t.l Wÿ—QûŸÅÐJ.¢°}ïÓt%TÔOdÓ× -R…ÔŒÎç-~M‘T³¼Îùø  ‹ðpï7¢BçÍM]5Ð÷Fû7©½”b¨p§­|±·Ÿ€³Ô ì?Ì$‰€öA1ÄqA?ê)ôÙ&sÝ•Šr”˜-ÄÝ™Ð`=ްù±€Ø @W½=õ‹¾  ½úLÌô®gú*Gª´­ýQ0*v›Ñí£¥[€v!€B ÂÌX@FP†º@TÀÞ!Ø |ƒårÙnçmpÝþ¿]8*:Š @P&v—¢°šW‚ŒŒü‚f&ƒgTj9—}+y Æ RûYpñ.[•åÝ}ô Õ/U€ço— ££`Љÿ5BšŽÀñ¶å%ëÄt3€~ -€N ýÀ¼A3*,¸ Ÿm~ê°¿0‹þÿ¦{-\-0$ñö¶: ˜MÔœíŒtÄBKB:"‹0^¾ZÐuróg@}Öç_?Îð¶Pá€év²µ¶ûß® `}ÜÃ*:¢ÈUë£WyRшÆàOÁüQx9‹@Ó׋‹&Õ_wQßki9V[”Òê¼€M{ºöäŒWË×ÊE~!ÿa~„š7Ë—ªGD¨Ë÷áÀ1ô%K¢à°:÷ý'•yzv À¥‹Sæ !_/q¢3‡#p9€!(É|¥œ”JÞ#êÎÎ.Ôfåï¿~~`êæ{Ïæêi{F }‰±² -,DD’t.=HS‚ÿ;¶P.^t…%+^ºT,^ºX,Ï~Sªÿ\n^ÌÈLD…ÿùÍbñënÀÝ6ˆlþ±I{À“ -@Òr;KÙ"±–™Ú-pïΦ܃zT Ú×l] -]¸þ ÙÏPn¨gfO;$eSÛC½Üð›ôdüï(™Q€pp?Ã4|øpÿ>þ÷ÖzAd}}û!ÍMîµcTØnÀÙÈøUß¡;rÖ)tüÛøŽùÂ}ˆA\>ãl®oXp @§ €#D -££ŸßðÛ»ëã/–-±óBx€¿{Å‹b‚ gïßοg áQ[Y¢?ò .èáK ¯ËSåáÅgÔ<ÓQLD†¯¯(Sj*³l+ˤ…È‚§ €S£äú6•À Ç¿­¬ä)õíHL4tR¬ðmAB@P. ü ÿáöÎ\v@GÐÝ ê]’ t5«üAâÀâ"ÀyR;KŸOÆÂÐ/àGxàZåÑ£  $'Ë -ÑŽèRòv,ÐOD? O4ûä“íÍO5gFÏ?B\!õøä'ÛŸêW"G¿Óª5ݳКÀÞÉ3*ˆ> ‚›´Kð?4 ^Wº2¨5˜€+ûÃnb®h-(~@ÿl-ú(qBôv #@ù1îWT…Í+<: ßk?*/gOú[«ÕüæàÛƒ4I~—¦OÜT]³º;ª9¨Ôu_ÉhŠ˜4‡[¨$¡4täãÛ­WÒoÓoté“VÚúæOO[:„¾€Ø‘$¥X3¡ÓÒ¤R†ÿ‰÷×.²LUb1‘ž¥õ÷-:¤ô²tpÐL›tÿÿ¨þî£Giú;ú:ÔU~À9ËÇÜ^êç €ø~ÙÝ1²,nO¿!уÑ!NŽÄÚ¿*W¦‘BÛù*ÇÜyI·¡«©ç“ôE d V)™#âà€=q´‰ÁÑÉ-ú,LÞáLâÚpŸ18€wÈ¢@ìBÈ;R‘^ó]D´þ`Y@À -€€#mÖ »ñ¾ /Ýì–/¶ˆú€¾×ò[lxU–o ¤÷ÌqDÔaZûÙÊš0í#Ag¥ í05ù€¨ü{àÿ¨€ªo Ž -€äŽ -€.ÒxzwbHÛQn¯,ÝêQºb,¬Œ…ˆÈ,Äàò (í¿Óus"”K'U2³)C ;銟hŽ£Nè‹uÐ_ó¶€¾BšŽ d'a9 ¬ ý1ƒhý« ]1Ý&û xÿŸ†+²Ø pšFþÛî8o€* í”ÆCà_ÏäYzÈGdWÉ€}‘@$2àmϽ-¸â18@¦èagFa»8€&bI€-‡+ŒwþOü¿â—€—37Òécîöwº411ñÖ[oi~C«Á86ñÖµxlbbdäÚÀȵŸ\»vMk×F&þõ[±Üt°«L¦Ý7‰k#¬(‡‰×Fè2wBsíˆ62òÖˆRMTÞz‹ôØO.Їï+ç”ï[oó5wê{îü¹ ×.hëß:™Nã{#vÁ«ýJzmâ­÷QLY¨˜Õûøü_ž¿p­Tz³47G¡F”—öü䂊¯´tkì¬t¦n­ô×oòü,2ÓM\øK][©TXåÌ 7Šoýë‘ .\û û¼Wù]ÓS¹paäÚ›:ë­n;ôô[Žy)·7õ|ØÏºgÝ&´å—Ö·í|[8­ŸÄ -À=a§4SÚ€:v4€ß’À_Ÿð»Ê -²J3ûÍo~ó0*Vò»÷1%q)ò -À}z|xÿ‹ým•lhx}koktx’°ÀaÀû=ÐßQ€A [Pè€ ÓñòÛ -+N¼µwŸm’t’Ù~ãN>ŽQÈÚŒZ˜\¦üÿâïüöÎü ³çZ€yð>®å¶ô%²ÔöÜVZ#ÈžZ€ãáœû(@©Aï#|i¡lŸ€Ž€;Tf_¤ð9ª,ý4ᮀHÈBo+±Ô& :¬ƒr^Ttz» -àH €_躹^@9 -â)ÉGÇ™(ÀÊjüÛ03p_óÅsa½É€ F É[= -°Ô8]°þ1®ÈbrÞ?v€œ·VŽ˜€?š†Y6ÀðpatróSë]¶¾±Ä[FGÌïšî( -¸O4Vþµª5»õ9þW¯„qÿb—®­)hü÷`ɽo ß@œÓƒ‰É(® -À¸vt)þxÞ±r?Úñö¨¿%Éïë•wå[ç¯ÎËï&ÒŽ®oõý`n¢¢µôÐÒ5¾w[CORÔ9*‡¼Ö8+^Ky¤r§«Õ¯«õúIÚhÕ'ìÒ·Z*óõ¯[ʵ\u—ø8Ò:÷/ _úìÿWÅò{ót;T©Ì…ã¡9_¹Ta$ôï)‡Nkµ”\OJ‡ÒÑÿN-}R«VG.è­L¼Â|=­'(Qu~à/c@É꺿4ý Z ÃóT*:ÜH“G¨R=‘GõŸéÆ’ÊtqDoóŠûRE¥ÔT¯Ôßš¦“ä¤Z¯ýýß'íp‚$¡ÇŸ6éÁî»2§ŒÒG:5uyŸ¦­¿©$­Vëÿ²ãß64Äo·þO ÐK ÀÙáq€;Ùh=14«C ò—séÞ›ð?ã? -•p 1‹¡XThÀa;ñm@€v’‰^*ãVä‹ßßß(P…P0¾õðá¦{ho†*$øÏ×8GY(ÿˆ eÛTiz ÝF'Eåš^iSo~¹ÿpkÃm´èm°Nè_@ö¿âáGö /޵(û°–ÛbÇ bb€Cþl€áq€ÄÄ*€p4ðE1`(*J”«°°¢ƒV,ä#J`V²V=1.5IdЖ¨(HrUÝ1¼Î}s/ÐkV¬ ر?w‚¹ð?'Ä7Ú‚ýFh€Ð?:ðÔ<ûÑ i: -i|ÖVzúë:ÖOЉ=1=&0GX~æ¹µþBM¼õÉÍ­O7{Ù:øNsûAÆ0ôæw‡àë›)W Þb!ü·Ç¶‡>ÿèÈB€¨•ØÅdT®ëÞy¹/Wj£¿×ô‹ßp ­ô -ŽwÅüÿ-Fþhä~´ã-M¯´ž|›Ì={´(ઃ~€rBmuš6¿­OL|ýí³o´zpxpÐt¼r‹IÃzxC[ ©ûôààéÓƒ§É(¬\‹‡5Öo¦ÉtÚx‚@¯S=‡$ïÓû#m6[Åšð_ûg#ÕòBàUzßÁǺYžU¦¥{£uØlêbt¦ßTÄ—®{ÓCö -ûuŒRþñà°qxó'åâÍ"=¤­ÅÖ7­fs±Y¾@Øþϵ·^­¼WH³×¸¯O›dÖLZ­oþT©&©;"ßq]@«FcÁ'­ÒµÒáA#™­-6 ñstC퉵êÌÊÿ¢î¿yðçú/OÿËŸŸþ¹^9l¶ô[Ïžˆµ´š­Ö?'PÚìþ÷Qr1>¿cß)à ;ü½&(@˜þõÅé·øDÌ>Pš @ýüû9`£gŠ{¬À~>Ð|ÿ[m@vÕáþ^£!@l`Z0ê¥<ÈŸlé·œÑ_ÖôB/PIPÏ•»Gˆ¿]ÿÓúƒEûÑŽ7Bñú˜€3­O½ ç_Î0Þ½Àl'^ýÛéwKZ]”CÛlþr‘®ö±ªþ[XRû°ÑøUóÍ?ˆÐa>ù„Ô>)Ô¦Ê#ÅŸ·9K†€!ÎB¶Z¥õþ“R]”E… _!ú¸9EüãÌl5½V*%3tyPk¼F@à^‰Ð&¡Ž\°yðÿñ?þ—§õŠcÿa" mÿšO‡Õú?§Íìâ™ ñùõ+ˆþ¿!R69¬·åÐøÆöö½ó -€×b*/ˆ NÀbsã®8À]­ÉQŽ µ÷®0>‚¨ -ÀCBê9¨V"ØäÜ hƒl{k|xL@'[ø"§ìÅ @2YÇãç„ÌÚ -€÷n¬;@egƒO^è üƒÐpT+œ‚Y'm÷¶6>Жp`éj0þ;`ÿ«/yoä?'å9ÔÏüþΖVú)` ¬»1Ïõþ±£1Kc—C @GЛÏàL[ˆUÇ)}cÆ'‹Èr -Àq1jÀZ¬ø<£øõŸj¿J”)¹Víc¢îíû(™­®ž•?Ï$tÁ -þã÷³-ˆk s[@µ÷?ަ£œ,¸k[?Ày?'€({ü½0?~Ìóh0¹õé'ŸôQ„¬£Ž¶Ú÷›ðr -€<ø¬À[€:þÊ‹qþb;@€÷R ¤ÅU2ä•”÷”Ls¯é÷B‡õu!`arü* )š›¹a‘?Z¹íx‡ú˜ 8­—„çæÐÍÞ¼½ÊÛ~óÑDºð -ÑÚ‚»¼~:bÏð€žÿpP¾Pž* 4/Ñ~¾L<~µQ-QoP}¤Bë²²7h›ÔR¸€òœ¢}µ8 î½t|êüùKîÍÎ.V¯UJ-pvAdCÁèQ`Q M>˜.¦‚üª)ü?(Ž0$ -‹³º¡{£ùÞHmVïê×ðY3*ÈBõ„ç+«Zí*Ü£R=©VÀ|Š%›š)^‚ ¤T -TËS3³³µFãoÃÅ͉4Ÿ裌 Dÿøç??«TàRº‚x–x&RpØ ]f.lìÎæ6üú‚~…uaèFÀX|Th0(3}¦Àh6>0 ÀD@™9å=Ô§ë`îý¿yðpÿ¾p•³HœtjˆKØì(ÂqbL‚0¾yoc|”^G``ë"(z}óTDül»ƒÿѬ<à eðϽím}¼'°½½.ÌòVÒZˆ_×û§€¯öÿîïôÊÈ>Ù,Ûó< 00?€~ÜÖ:Ã÷ˆUÅâô_ Ï·£1†R!gðü¡€®~º€‰±Êð‶µÐéí*€#1ñÏpDPŽz -”ä¹1]¦Óï;‹×ù¢¹áå_”!pûõ§X}Žà“Ñ=­¼b!&¶½8à¨v[vMü€þ^ñìÓÍOé 0*4h+rÿTÓÓßø¨¶ùÝ“ ´îÀWÀàŸùý™@k?t0 !ñ²a¿óÑ[ůfVxýLŽ¢\)Lf -£tÀ‡mÍT^Î"Ðô±¤:ýH°_.W*`XÙ¼@ðŸ|;ý¨2-C&‚þíÂì;@Ÿà-—ä“ç­ƒP€YœfÌ-î¡å‰”!z¹P«q›M î Xœ¹Qa§6å|¿~êÔk¯_¼TœÒ5¾¹ö¨T¢a¡ºá?p½€òÎ.ˆàûoU_ýQQ1DN(Ó.@Ö¬ÞH2 Ò™õü¯Èj‰ ø0Áݨ|7§¦Ê U€™Ùq =Î0öÓÃ0ŒG'»¡Fãÿ±ùÇÿxШÌ'UÚOè!†bÈ*ÓÏP9ºÍp™7[§Â®°Ž°þ¯ 8éŒëü|†h?6Eâ?&Pû=(Lß#„e j@¸úpo»ƒüÙ*<ÄÒ«ô2”u,—::b<àûâ(*ÈÞÖÞf—`èÆÆ–8HVê˜æn,K´Ž‡¢{ÙÁƒvâ/ö¿ØØßÛÿßÛ`½0:€ý¯¾Ü/Žö'l¾Ðúøý^ [#«F–op´ - «Ã¿c-Sná*›dA€}b: -@F^: S”È ×Às€cúèŠè´О@(ƒ @¾À÷ê ¿qÑ%ðÝà ú˜¹þsJæã÷ ü½DúÇñQ €)§Ìr -€’µc\б~ -€NìÄÄÜÚƒ ¼Àq×÷6ücí5÷ÈqÀÖ§ÚŠý¦Ç™e„@¾öq -ùp\ÿàþkp[Z`oOþÌB‚!_9³Oˆÿ¶Ö¯ªà Bt’î=ö‘ÛÏe< s½g”_ˆð[¥B{r£ê±ùÉù“Çÿ À‹-Í[¨§x×ÕùùJy¶â(@Zé ¨ž&¥ªÏ¾Oå·1>t0cìôª -î6~ùG*üª×Ê7oÞBÊ„ÒIuÛÂðüÜ,…:¹áj…ò”pöb±\ª¨ •J¥üNÙ½~éÒÔÔl­U*·*ešê$Jöa äH…Ùˆ™È?üê—oªeFddÁ×tzð¼›ó×èZøb &ÝøûNµf0¦Û-UÓ÷"@˜šš) þg®éP%=ÌV“E1¨Ìl™:M8¿V£ -àÿØücóÐ -@M ¡’Á–ÌOè.{Í?·¼cŽ· vó;œ i'…¡ëY+À£ZòK¡±õQzë‹¶yWþ»¸~oƒj…;w¨XÏ`÷ bÜíù v*˜ÝEûïܳðÙÖ˜€ñááÂøæýõÍq^6½ -€{ÿ¹ÓVØZ¿ -³©b:ë<Æ;â?3òÈbXt’Ù¾ørïî–Àƒí;Èý@T -ãAø -૬!@ööh/žoà}~c~{-0€“ðüØ¿¶µÌ GàØ­Ř¼œÀv¯ÀEé$@ ß -à§#‹  - o ÀÑV/àÿ£%<|a|¯?› [C,@Tìök€_ˆŽzŸS &@¹Íî?, GèÄ }çí1}MX.‡ÿjï7*xþÑûgI×€ f f€tdü&Žà*¯ö~}ÿö÷}0Ÿ, l²°wfW³®Ù6À€fo°ã*›`~×Èï1€5Žж€ñ«ýbà?*/g‚Ý~“ð.­Ì=’“ê -aX"3à·Jÿ÷aZyJ1”íš Z?k˜7(¿CDÀ‡æÁ¯~Ù¬VGäìû Q€ü U¹¦¬©Z ‚½ZYXH€›E¨—Ã^,ëÿI$ÍòÅWΟñ}¶Y->kV+N_«þ:âž…Û@ ïUòZydÑÀkÊTÅiH+#U+Åò hOŒÆÍQn!™ 3„Ht§Ü¬ì Xm=+‰ÇÌÎøÚbz$2ú1”¡`ÖKþ±Ùü¦U©¦ÔMP ‘Ðû -Ò¬OU Œm3þ™Èë"Ëòì¶ÃvçÎFÆtXmG}}”šâ~"•°„¯M‹[Ôéß»»4¢f -À~G */¬…S­Üïܹç*€H¶× ÃׇǷT¨BácdHá@0­Üe;#›trLë2ÍŽ@{f¾ª-à»:ûü‹ý/÷÷6×·Qî­ ¯† -!°Ó à?Ñ‚_}ùwû~m„Ÿ°VŸcçõoӳ歎àó…–o (â Ã{côÚËÀÉ€¾1]­t8NÒÚ:¾À-ðùÅ1=­èH bÀsúø> -€®'*¢Ó„ïBøÌÓ?n.l÷„ ‘iVÓÜô¥Ô"TÑ'‹"øçoY _&àÏüw”öKÒÜ„øÇ¼wšÁ„ßò× #¬5+ÕÑ‚ÊDЛ‚¼>Wà³Ufš&å‘êÏÉòüÍâÔ,7“,6ë#‰2¸¤2¿ËïS±´»A´%_Sz`"â&Œù3;[kU’ƒÚ³Rüw]v6Ἢ³c ­—+UÑ•ãþéÒTÅ^¨C)B'ƒ(iµ´HÖÎ¥m°]¾aî 7Ñíµ¶>Ê0?ZUB=?p*ôõh@˜Nµÿ–{4Eؤ‹!ᨵ|Ù©·÷¹ @È$cAƒðïR¶U–QÔƒ.`xhxx\übsüލFtÛþkýßùy€˜€6oÉ+V"2s&m@y•°“Xß[_ßÛÿþno|tp¸0:ЋI¹O†@ìÿ¦øÊõçÄ–¡}€ûÜš·F`”ì~N+€€«'°¨(5ÀX -”êܼЩøÁc²~Æ\pŒ‘ˆ -€Žg -Ib©Ûýø*Y+N -@Ÿ€€ÿß/@‰l* ˜)45š÷Ÿë“·à_ƒè¤ÉÇÑ^rêQ\c ù(€Ä12—»oÈïþ^¡¦¸ˆ“ðßJº¬ÐÝ  ¶-Æ€öÝ_fú°×<(Ö , mGðØÿ®ò׆žÇÙ+ ¿nûŒjÚ™ã¥ô˜€Ðe€€¤Txúü#*{¹Xý¹ë.Ýd8B1€Fr#-ÏÃ)f,XÇç—‰çïP“ê³Ò×鵌ˆ¹n¿Ú*‹Y$i©žºØd°×zdÀj‹¿l>ýU£yPñ -TèT$⥄~œ°mÁ{ÍŒX>w hÛ\. í{œnÛVLbÕ¾Àto{s|h˜‚ïÈ]¿#ku`ƒJ„¨Ü‰ -@@Óû_d -@†¸0¯Úÿש0­lw)´$`¸0|]÷ÆzAeÙz ÓÖÝfsm aul©°¹±î¿]ÞsP ¯}ÛŒ¬rA[b‚Ïìù`o#(V -±€\€ÂAP"Y|‡t¬ý~Žœ7òÇ)¯ä‚û÷pã†pÏ0h}¾å[„aø‘€N`Tx¹ñ‘@o€*€ï`À¦mwd”2€×Fu‡! ƒý1©@±pßr?°™¤€h@ª„ô¡# á7pú!hãêð‡vS¬ö\¯—#ŸI¹Q™·€«?µð—`ËO1Nä~´ã-MKæçÒdn—Wˆ‡ -žÔš­ÏÒFz˜TšOµž çtÂBÓq*.Ë­ðpà¡Èà> ÚM¦I«ò{3€…ž!Å…¨N§ Iy^1gzsç %ÜŒ8¹.X#˜¯­¯^øçî&±õ åÖñ¡Â¸ÓëÌ ©¡„´rÑMìVg -Àî‹£lF €{÷î‰TØÉï€õ!ý^ÇÅ/6ï€è¡ÿþ`°ˆ0ÐÝ.p'»¡Nä€ûù(Ž@Y™|¦>„í¹_÷µ… §cÀè?:*°%Ïatܽ!ÿÿÎ/œ…®]GMÿ?9ï?[f{F:Uýc‚úªzåùÖŽ°/ èÙ— ->§'ÀRxN?!°DV±^Ô@[È‚uz ?àXm#A@ãÿG ¸Ðû¬¦þs/â$4ó##wì:ÎÎ(PX@ #Y @ÎûÇž ¬„"Hžg<連Œù9À³íO>ÝÚ´eôë pt<¯0Bo¬½ÏãŒh+û3&@[@e|µ@Ý>©þßòí©ì=ºå?'_9{&4€¸ºË+üú»á_`¼0,‚x…žEkŽ*2½¿Ç"ÈýhÇ›±©Ÿ%É_—ÞOês×JŒû7Ÿ$ò£›×ZMù«I¥E;¶ŒDÌâòf}ß ƒÐH›©àó­ô½v“ÿ… $•ÃF#´0’9aðÁHfÜ` X¾QJ’zéßÞÁÿ—û^œJf/<ÄÖÒwÊÏpú3æ° kÒ…öDÜð6g“éÉÏ•åűˆ‹®ï^+ß͘"²? U%ùÉ'f•ˆ¨ oBˆwIžU'Éâb³Rmª Úåý3”äbD3! RæÛn‰Ê}˜åa‹`]e¢ùB, Éd.ËA!A(jè¹@×ö`÷÷D°·¹®÷FTF hk|’§¨rýѲ÷Gü„õY·÷Q?îaÖ¯@4ýû­®ÜÁÆP€žÁíGGûЫ/àÿ÷øÎýÜÊ+ýbÜ -À¦=& ïX2ßÜwSt6ø³ '¼güýþs/ÂüQPÖhKÕ{µÙQзKeà´`}bNØ Õ¸ƒ®Ü~ ÔMÄ™ñ¾›hžu¤¿a¦ß̧“(éÃCW'Ãø5ο,£Ú(_aý3ÐûJ6oºÀ -€q]©F¯ê1ÑôOWƒÀÀ£Ãz¤!øïV² ¼c:ŸM½À‚ ¯¢£tõè?Cxz], ‚Üv¼E éc ýÕVë•k¥z+má¶·Ò‰ä@`ÚxšTžÊíÕ>¹¯ösgg |—³ ‚Ȳ5¿q&] -¢­îˆä€½aJª¬3@ ƒ XK›€­iûï„Åð%z%€@ø7; ö?ìò¡`= -Àè€Àè(µ'  T-líç$¿wÃ'¾L^déóS—ð¼£  | ˆÇÚÑ~úÄè­gðôÐ3@¾€t,÷ØVò­~€~¸Ð-$=nž-‚¡ý{!Äͦ`î$ØÎ@— lÏv)lǼPЉ§NeQÿpŸ=°Y@ ¯}úÉäøð•!Áû'›Ÿ€¢2ÚŽwÂG¨/¸ïà~{Â6¸†ÑÞf:8AXpÅÿÕAü±b~p»?Ø‘é€jYþQl}Þ¼eüL†‡¬ÈA ï¢œž™ÿqíGà<õ³zµU)½_®T*Éï?xs®Rgp܉”n÷$õ?¬CM«Mã]èÌî -ñª ‹F´½`@f'¶˜Ì=i|¸(”üEu^˜Ü_€óx -“ÊoM×U”†AÿôIDATrùâ_è¯:0ð¿”GFÄtní°Zýï¸ÏÊZ'dTɳϤcA¬ÀZ|yD—š¢ÀkçEÊ‚b€dö’ÛˆnP’H=œv²riªïW7QIÊ•råëzýÚœ˜@=¨¦‹Âé¤v8Ÿˆ‰¸ 6èm ,dÛOÐÊ×ç*Œ£Ìãc®= bơՋ.ù™¼ -ãaFó/EhžW€£Æÿí­åH¨5Âÿèuó#±Ò¡N¿x 0ï«`®þw;ú ÓAÈA‡þ‡ -*–~¬m€%ì"lÀ ¬[ðH+Ë£»ÁÞéX¾¸‡¨•F*¸/ß@W˜*^8ÿÊ_¼viFÉÒd¢V.^ºt“ÊÿY×p”C]Ȫ$’ßMTëóÕGéï½;‘¨@óI©EÍ?÷YI\KÊ¡Óã*}Òõ¬Æ6š­êÂa‰Ž€¢…"'­z%õ¸…]ÆK±c}ømÈo×Ì¡ÿÁî܃ X õôgýðÝôgkŸÛ -ÀÇòÜCÕ~d@9€aÔhʸþ€# -£ vßS>= -À¶à¿K¹8d‘ãAÉps -bSæfk6bH·}î9EÓùí’º¨¹T2úÿÖþ—ûÊu|ôŠ€Ññ= Fõð·-¾B:–±cm´Ëœ÷ÏÚqý”Š»»Æ&£ P&e_Ë·ÈbŽöp¤'ÀÀ^.@`ü=bN2@wO€‚~­FÐg,^êÜÜË)Ê¿þÑù¿«[ºuëVDÉŠÿñp;bv—p’€Ø©@fýmÅ,†wÈÌL‚=È)÷¬`´0¾uŸãcë[÷sþ¿,¼1ÚÖµqœõq - ßµu\ Àò®ì±±)@•Àí _ù/¿ÇÚ -ÀKÆDð}€N?}€‰±Êðâ~Žè7@Àÿ—ë@;møÇû¿uk\NäËY'}ÀÞÃ^¶€W¢Ðm}c‚ÿž+wˆÐN¬íøw€v_Pñã|s’Ñ€'Áþá+š}ÉìÿÛ,´»ÞÜüY83Σ=Gu¸úo[ÐÕ®:P€ÝWG‡¯œ=sV«|è6q~þm -ÀL×ô …ú_gsþ ûÅøñ±×kž"ÈýhÇ[«¿%iëðÑïÓÊ[•¯ÉK–¿Úü0ÿúiÚH“fóðÏó‡ÍfÚÔFKn«ÀºÖhµjä@k¤M†öM’´Ñ”¿/'»¥„‹ €‡Þj¥­?UJõ§Í'餭ôÙ3R„ ¥iCøéúqa|±X^(µ•FêIù=ÿ¯Ÿ¿Tž*ßHÂúZ£ñ§ÖHÂJÆî×¥”ýÓCe¨k©x­Ýÿ$U -­ò´*¥o”µý‹ç_y½\SI+7*)ýùН,4j‡´ZH«.ˆJÂ7Ìy"ßÎýç¤ôÖê‡-RHªõ¯-†Óõ¹4©Ë’jeº¥R¥ÂÂåŠ R‰çç‘FªÚQ™Ô:•$õÊDe鿬TóœS×+Øüt‰ÿRñF©HÀ@qb®òèoææFþò5#¥râ΄Õ!œ¾Z—³]*Wë. 2&ïe‘²YUžï•F¦•ç ¹ùÅKçÏ_*ê„ù¹k%.¢5]š.W¡ ®âN« e²*OW¨¢ÐT&Jýˆ¬5«'ÊýQÉ7É•êiÝmûçÓ軚Ö)uºJ¢„¾‰¦¨¿«ÇZ™¯T[‡š zHs¾ -ùw ØïØp¬$†+¿‘)6¯† @4z½­õ« pçžiÐY ý`.ZSðÅ}~‘Ðr0Ý1w6Áå¸><\X§.¹.WÞ=ˆBXµï¯‹Æþ(G02e|œLÜÁóA<gíDA˜´ \õÞþGÇQö¿|˜)úƒ…7ÇËÿ„†z£~\Ë&í装§ËP€Ç»Æ§YY‹€ø ›·¨(Mô¥C €Ò=¿'@S€¢Àsú`P¸µ¨èæ2àH @ïh€œ€b,vdèjþõÝ1ü‚ÿCC ÷É>8ÙÃ8OÙ<ÛÀ¦Wˆ™ô*‚óQ}bt -@è‹ìó£ÇN·MÈý3|yºþ½ªÍ«;ö>°4o¸òžV:læ@@XwÀäfpßÛSÜd=˜pž¬èã¡ÿú&%Qÿgé ˆS…^@æǶÿÏDaG‡¯Ð -`R/Í;zéØÃIä-²'?ÄxèÇ ÀX¥ò×ý¦ùG•‰¹¹zeznnúÝÒ\ezpǦ+o–J•9í¬ÌiÇÄ„<ìÚµkaMvc¢4!6ðæ¼ŽO¼¥°]ÑId2ÇmϽYñ¶¿¬NLg‰BÏz£^¸6"ž›.œ×õü¹ ?Ñ+VV,ÿëÒÄÈÄôœÊ¦st™ÒÄ´.21ÁщlÛ”ÑôôµŠv_sùn\cö—Êjä†N.ŒÈQ¸pÁ¶•n„b:;Sæ+´®§*™¨O„º¤KªT•ËíèÍéæô8¸piDOEïþ{á'#¡Ú'ÜŸÓ)M¼Å)Íi—¨N|¶Ú™³Ë"òGs3{ò›‚mýÜ ÝcÛ6:bÀúÖÆ½õ Üóí­õÂ9¾‚ÎÍ{Âë»ÀÿÇÄBìü v/PÁô! -ÀçÇÄð3t|[Èz€áaƒ~²ðã:Èñˆ `ƒ‰ -€vlº,Ñ:=üWIµ]Ñ};IÏQ¶÷¿ÜßÞȵ@xðw¢BãŽø2@°ð®èXx÷¼]z¬ã÷çÖŠ ·žÇ _!§DÓ³ þq°«N`(ù}¦ƒÖ•¯ÓôIš4Ó4}–´´õ(ù=šÿô#­!‹ÿ‡ÃÃGõj2_–ËOþó:áü-ûä©%ýß´¾þûÖ#Tƒä?(Q«Õ:x"?ýƒ$}öäëGiZ¯¶”?ù)çäÙê`«•(‡FR™)ŒpÑÆb2S|ýü¥¢›êË’d_'>jµå}'r²ÿÓnv%•+]=tA”k+yôè­´õ(UañØËEFºX.RîÖ!–GŠi­š€¨‚$é¡ -Â=>KU˜oZió›´2ßú°•~HUÀ´õ{òU¢¯¿~‹‚´ñ0=¬ÎÏ'åùªî@OdÚÂÄ!j‰æÔ#<ª¤‡ië}ž>ï§Hï¶„ÿç!ײÂÐ1$¿ÎT˜DÛ ‚žŽý? gø)õÏÖ„õz€íõÑ!ZÁ ƒšÄ´öîIû€Ï6PèÜ)X__ßÞëÂÿ落Â÷êaéf€ld -€1@ŠZØÝ5Vè‚Çáa7³>1@©þ õ˜õ0öýÇP t•£1b3Gb"ž(€bap€ÿ2ÝÇòRôþ¯Ëä;ÓÛ}þáG?g](+~¾…âPˆ+! 'ëž· BCº,ÛÖ»€ö†Úî™ÎÒX øwBþÇXýŸ`q?8ýæ tØ¢·^¥˜ü™¥viþ³°ý@¼Stÿý G ûo_½r†æý 1€Øð îóŠñŸPÀþ -€Èÿ'w™yÚ¢ƒÉñ Àè8â#/84?°A?,Úà,‚Üv¼5ûÛ?þ9©dõÙ„«9Ên¼M=*>j{ˆ½Ì ?§èa¯Xœ.—ËïUÞcä~:ö«V¯QK€"N ¼¶“FJ;¸ØFOÀ^y–6,#©Óe5ˆ *Oˆ–¨D\Z™èÎÍCâaÒø&"4¹F9£._ø‡×í_ÂÇ!Ö>“6„æ ŸÁ ß¢–(÷D 7>¾³. -¾Š O+€N @`/ 0>Ðé@;uðø€“€ÀÜ7÷b€L~å¾±?†þÝ2üËûçs=ÂÌe”O¾K._Ë)D  V"DëU2ð;×v ÚÓ•6Àò$ŸèŸ,hþ)Rȯÿ30<¨â†UÈßeå±Zœ=´Á?fpõÊàé3ƒ± -àÊ•¾ -@D}¦»¿n: -¯,€î€Žõþv#ÈýhÇ[ü#öß“Šá°v$|@<ÁÖ£’‹Å¿Ô•ÜŒ.Xå=Ðw$&%²k4è ÷ ø¥Iå ÙtË¿œé€æ 103;#P­RêÔ¥óqž^ûÝm¿øÁˆ’1Ä€-¿V¼  yP™§ óŒ>¬$ïé´rùæ¥WÎ ôfñâT±ØÐ¶G°qQ}){£ùžÓ ø‰„}.³0¿–Ô¯=óZ˜…ëcÿ‰h˜§éý -c È P rK©žˆc ¸XjÜo[Œ - ý6î úÝ{w©g¿³þq¦ÿcÁ§wøo`ñy‡Öq”ƒpWÞù=ýŽ„â$æ&Pu€”þòŶ÷úSArÿ•‹€8(Ä -ÿżÀ¯ô*@DPÛ.{¶4€àc™\lÆr`¡€ÍÐtboë3mCdŸïý†žs¡Œ¹€«öî,‹Ü‘ðb`^ß«Ðp ºµ¼ÚEŽÆ@(ëC -°k+˜AVÇô ð/Ù€M%úÿóX¬Dôïÿ1å;4hì×S¸~} X0û¸u"üìÙ?ßÂÃgÍçëß -@D@+1ï=g=1ÎúEæÉ%ÿ={6u—‰ 7?ÝD@}ƒ¿Ì)Üg†¼\þhfÊâõ9´Ç)⿳’s?8¬U`Ädžõè 8Èz.q—éuü½ -‚€aý‡Œº -`Ó#£hÿný-‚Üv¼¹µùQk=­Î.‚P‚E¯ ѵ´4Ÿ&Éû@ËÅ©"ëʘ ÅžU+×bŒžá.gœ Ü%•§lr’E¤jÆà‚3åâììOÍé¢ -05ðÊ©×^¸@µ2·éDÁ¥VŠÐr­ÐÓÒ…Ï{Z£{^ùü¯?i¶Öh¢L]ºT-–U*nRGÉÐÔB%”éöuùƒfIÅ¥ P¢ÜQª‘®m]o†Ëü¼T¼É“á‘̨|#ÕÊ„ÈF¦áYزhÂVWPÆ<°ß1÷þ ʳv|€m[pD ££p/(ÃC gT67î­ß»#  gÒÅÂUƒ¬PÛû|;Œ hƒ·|tÈ -Àö*»Ñ%>VQb €iäÂ[hÿq_0—üw Ädƒ2s@§@É•FëÊQCüƼEÆF_~ùpo}SDàË=ú!`T 0Tu€û'P21ö‹¨Ÿóû;[lxUö“ Ë‚~£·ÚÀ±±"àEÀ®®ö IoƵõ‘R‰èàÒõLÀs4<ã“Ó@©L˜§¯œÿ öºs^Z,¬±¾+ËBjeiÕe8.Œ_Ù媤ês¡(·tÐð­­|’õeyÞ—•vUû̺ - ^ÓvÌF”»®Ò8[Í!'ùè^·`.s&ö Ïå¡å[ƒckkAŠ¥ŽÏÀàÏc àŸ‹ü÷cÞ¿àùVDÏ›ÿþFžc.Ÿ’Gö€£„•,ày -ù¾À¸&W -“{tä‚uÛ÷÷Šù0ÍÒ@/èR|®f9à~ŽáèËñ{’þ®àúÍýA´GOÊï?gYðÿ'^áÃÛf\y‡VáýfÀèEAîG;Þ²6ç=#þº×?+À[À椺ðM©’Òú_på]»©›àÒ|fÑOK¤y _\¥`ðÛ©Þ'ãôQõðÿá‰0ÖYÉqo8ƒòÔÔÔ@1­Ñ¼¿:uéü+çEìX—gk‹#vóE<u2.ìyog“$×µ7ŒÌ335Uxí•×!ˆ3ÅK—fŠ%Òñ0°‘–*{š–š<=‹n°¦o1°÷q=®ù_¡Ü,êa E̳lU©Ðã¨.ðDÈ0š.D¾­ÊßTæÛßžVƒŒ½{Ï=ðÇNÿ€MlÓ+mN0ÙQ„š£Ó•yÀ?':ªHb°4À¹»Ž@†ÝJ¸¹…÷O;€pïNN  ÀðÆÇpeZG¨wm}X5èi@ñÙø\þhþCÑTŽ@öö>SvÜT€ÿÏ¿ cA»\ÿ­‡_}µ·õñ¤°/ë`@àúÖƒÿ -@nK_·]Á~"×€YóÁ¤áȰKæF‚8>0@zyygmMà–€¦%³A)8Ûl^Ö¿Èå¡|ÞëcT\Xº­S–w–P„Êl€ÇBú°Ôо…ÁÁƒ¬öÖ]㸖Ë;+Nàòê$Ê …•%ð~Y¼êw$œ[ÕeÄbÅ -€Y´D4`m‰•Z…h JÀ *ð€Ž›;s}gi¨`N¢âúʺJ°Ê'#Ž"¢ÛûGü×s0þWo-ÜOd\YóL*áQ o @w?G€þûúÏ3þÞùKæØDDjY›`¡'+Wµ…|uÀŸ¾zœ -à4ÍÛ'{©Äâ¬Æ€þ; /!½rÐobpuxP`ÐkÂÿcÃ>o¯l"¬¢\) \¨,n؇Äÿž`fä~´ã lë35Ò÷«-¯/DÔÉõO*ó©³  -þª(%ß;®/OO—«õÒ×NTs`í€R±`åà?ürñï3 @Žwå=ƒ/8ª\oÞ(C” |ñ•S¯ Ì/éJ‚ÚFZª.*, JïœÇŠe¯ª,åÒt9©0h‘Ué`øâ믜¿4›4éÎh¡xi`¦XlþªQ[ ¿]« [@éçþu¹ÿdÀ–>pФ#yÀ%·Á!.‚uà_–Ì—þ³‹ëÇž”ˆˆÇ´!Và*€¿Žß~@㦠´Õæzø3AÖ¾¨0RÏž¨öͨ| æs¶1]ëw…¦†YMó½Ïá :ÈϱÞˆr±Ð -À,ÃgX Â!SHíS¶¬ê³*‹ÀŸ…ÝY×ã?~½1Þ&ühÂÿ­Ïàè{ûû_}ùá¾€ÐzHÀ­Æ7÷¨0€&<ì˜ß9‹¨ó\‹ø}þ0϶ØcÀðU €z€ØÀ@ÇŽÄ´)€`Š€­,C–Vni¾¼ -,Ó¢^Îðr¡[ÐÛUÿ!"—My"@ׇ¬¿ rÏ»cCckºÄªp˜Ì-ö+ç ãËɺý皃°ÀBRPrT|~ê4§Þ4V —µãÖ`aêÀ9l›@"–)õš '/eÝ)¡(‡ Àõ!*.ÀlQjÚ!§NÚÛ¸Ÿ€Cø­®êcèÇ"úç¼ÿöc0üëù¿Œà‡zúÕLN¦äoÜÞ?ÖV:ý¼¨'Àÿå‰.б®€ÌšÿL¸¿Ú‚ç ¿ðOM=–k!ŸeÌ@sCüóMð€á«tõ3øÍX}ãJß ÀÌ÷g¶y— -€Êe`Cø¿I#€þ -@üwÉý€#ÈýhÇ(ÔÏšÕj3ôk¯ñM³Ñ|¢Í'Óó­ÃB°vI>Cà+MW“éd!IDt"ýÿ ?õaiM¬ úßšO d%,§ÊžUF’‰Wü¤ÜŒ -ÀÀë§^y½8;5ãÄÍt‚Àˆú9‹d Ân¹^¿æsä˜WgfxàõW^+κ$i£|q@~úA£áz}ÎôÙäNß~t+(â“–R@x µ›O“'Mq¥äi:BQŽ Ôà0˜?Wv€ §éò£jé)£T¡ý@ [)ÅÐWë™q?˜8€a¿c…É;([nÓB~P6>f=«¸Ç €ÔûuxØð)¸Þؼ»!ð1Ò¿K“AiÌ`N @ØSHjùŸ€Ð@¯@+@šèOÑWYØÑb€2D@»ƒÐÁÿö‡É§°M-S§ÈïïõÕ¡üÖÞW_ÑÀ¸ÝúÀCáôþ±øªx) 0Þǵü–näØù—ãi`…o¤Ã´c\ÅFW'XY]¬ÞÞ][“k½ü‘Àà°w¥£œ>%Àö£?åKãó -û "î…µÔ÷#Ô óug/Tw°·Z?´€k ¹Ë]€«@‚Ȉò¡'ñK·t*eV±È‰,¡/K+·a;+®X1ǪÂu7,€X\€ žÁW÷ ØýÏÇ ©D •! ÉøÑ¿×ûo‹ÿú#@V"„¾ØÀÿ¸ú|  ;NèÄô"_.àD×$×þ _ &ðþdò“O?¸Â€ÀèöúÁ~`Z[oÃ_µìëË"®+äƒ|_  -À à VùøgN…Á®˜i ÄX8þ7z,<öEûÑŽ7ƒÛQ#2ÿ¡]k¼éÁA ôn6Z¥ÐùN´w ±BÕ`ò°íWPæ«ïZìv`?ö9+2‘×+À;<|TýÿþñÚ3“eø;‘˜0_(3ön£V-œÿ‹×nÎÎê -³µæbãhkœ–Uʬ©°lÀ1:rÏ<#.ó{Ž˜šºtñ<1tØ÷Krž-–›¿­5 ¢@Wáë `~#8HM‰ü@’FóM•!i¶ž$ v$óºOAT‚ -‡®¨c2­' *ꡈÄ' HÅ®x"­Ãoç]û?‚{Ûãúî}&ðà”9ÀøßÈÀ¦o oðïå¯o!PpO?¦¾¸ÿhúL=3˜ïí; Êqy`KW„„ž{bèpC#*Ñë½Øö¿[pdw  È=5m@áœŸìøšXpðó½Ï÷÷¿´Î¿õà˯öö6iþGÀøØèøÖý/¿t_À(]ßm‹ïá¸Õßr¨Ÿùý-­@ÀB™¡ÀhŽˆäb:*"NtÐðú—ÖÖ–Ö–v½²ð¢œ~.­d1”–€Ëg‡.]F Àõ-Pÿ/"`÷_Êÿl>L¯jO€}¡%ž?;qü2yÎk;«·DVíi›Pc06æ­QgÞ‹¬¢DŒÉïWZHŒ´à¸€•åÛâ-Zw¸};#œ §ŸÙe¢:âºÁàiŠ<4DEm ¾½S z\^v,£hÇš²!D‘BúâÇzÿ™ø>¡AOb€,ÕûÏù²óŽð¢(@È)Îðd–»dÇú*m[ÿTÐI½ôHO½,ì¤[ <3x5B¿?ÙL®·ftà8ó`Fö8ƒE<€øÐ©W €ú½2…&¹ý&†þð±#!pehx”7—»è¯dÖùùFûÑŽ7ƒÙQk|[¯ü™•˜Ê€úÄîÝf©š'º)¨Ñ®ˆÛ}w¬Z/áC/$u<å`À^#ý•ò’çû¤5ØÔ:—‰¹‹LoN](6€ÜÚìÔ%ñ¿dçºFÌþH@‚ÿÞá$Á.eål)8›yòIª×ÒÄ0[™¢Àëç_/êÚ³7‹Õbù€àGçíý¬Tº~z8Ñhr5Z4Ò.€‘õDš®ÕÛàÏL$C'Â4ñŽ(@¥\™¨¼Ÿ”;ÂTŠÁù›y™gØ Þdé,Zö=9ò[Y àÛâù6ÂÞXê@t }{Kþ:§ÿ…ÎkYô»mòæû÷¸‚ÛO€ÜpXFjƒfa,€.€~‡?ÞP¹‚ Saâ -¾cý?=þö*Úaÿ“"gæFúP|Ã>¦Í° p²Ï÷ì=x°/Ï ²v€í*€-=Юɭßð°=ÅWÅKY€ù€ùôãž°vãÆ~°Ì -@˜-¯héo¾" MòcˆÜÀØ8õë+kkk+k·Wð -Pqĸ×ã‹Î@ž3ÿ$!Àâÿu!¦ P¨‰Ÿ „// ‡ÇÈHe“W¿#÷]«Žàâ«;Â`ìÒÊ-mqÂØŠø‚øÕK1Ò9µ¾H :UÕ>Àªèʘ2Êû6t{\W… ­–Ä 8ÁFh¢òP‚U•ÔY¸|æ²°‹wwfhùúå1Ó·cØ…µP ž×ÎN„ÿ^ï?DAdðÏŸã%ê^Ò"cǵðŠ€~=ÿµzRë‹ÿÇ)ÖðÆóƒ ¸²Þø?Ì éþÌ »¶É9þýÙÔâßq²>í‰õø ZÐ -u6öø"  £PjC¼æ·À_% +šãõÉûa•*N@×X9ã1j -AîG;Þ"±g•ŠÊ€ -:×pxÿIZ*½oTôhÛ&<žyÇÎn‰Ž}Ûèô]zß1o¼0j?ÈÙ }!@vXyj9@— § ©QŠ*ØTÆ—.MËÍZíC×dñsˆë*öÁq \×O$øèv®é)”«ez@žÑµôa„$î X-{O¹<«ƒÊ³2*œ9ù Žèþ³&ÿÛ¦7"½`fßáIA4 -À'm@®öÝM!®VC @0°ß†G`oÝ¡'€Ñ—^ ¼I€qV`¾wß1âá²í¶`ý?ÄD  +†(€œ¡ºÃ"òæâÊîp·ÿmçßà;7ÐM ã, ðåW_îS#þ¢0náÿËý½½ ÷Йâ{£m~¼Àúøý^ [#7€Ôq€¡_‡d_V‡hWÜV#ˆJLh¾)€@ï–\wÎJ ÍPÚ@DÐеSÀØG˜]¨o€#ð+Ë%ùéÚ"ŠP´^«8ðZÑ%ôŸ²r{U®¼¶¸¥P0†•åëƒÊ,6@ý7$ ¿——n¯|´RÒÚŠØ…„–z4a$pAVD vàvä cÃ]*°$.@Û€Á˺‘¨øE~Y;ÇÄyn…ØlD÷¢ûY[^&;êýcìÓmùËÁ`s‹8{¼u¥hÃ1ñø¸øÁr -À©,à9=jw½ÈœÎÁÿa¢‹`¦ã3€Ð -€qúu#¾€ŒÑúY|u0Çå·Û/ô7 ŽPP¯O˜†ß®g_!¼f|tHY† ÀˆÿT¼¡€ýp:ˆD{fg#è½uòŸœÔ†ñ¿_`çwþs˜"ÈýhÇ[¢£v0_ÆUÅ yÔRËé«'J4î§ÿêDŠflÊwµD@¸¿€Ç+\uNÆ»0o4ZóxÒZ§OÛBmÁØýó²²” €1¯œ:ÿúÔÌÂ,H]K*#%ªb> ¢³¬‚C CÝR$JîA†]P[lÔÊE€¢Àßþ­ 9³dÊú…àÛ'Ébk"Mc'@fD*øð¿‘VG*ĘkÀ1PD¬ÿ룯ƒ”O³j@D¬†|¹åžˆîò0†ÿ…*€ùAÆÁ2ô†1·¶ÿ½@¨Ðß$Þ?(Úb‘Ø€ôm:çÙ‰ ‚Ï턵1€ -}¦^À¨oØî`7©IžÐnÃÿÃ=+*l^‘™²Ê8D È*(‚€ D¸€ˆ$À;³R°©¢ÿ³´ö~ó`ÿ«?|ùp{cã¡1(ã£ð€­}€ýí­ññ-÷øðKâøÆ—ÆKY_¿¿Ã©òÝ—–Æ|HÀC(@ö=JÚ±m -  TBßÕ¥UìÊÚòÚòl@X;6x}Œˆ¾±ëC—”æ,gÈNÿ/‘-ÿnÁ]‚ WÇ.”%ò9þ».° XYº×¾º#]Ù]ºé°¬ÄºÔ,A®Ã<&‘MlBgQOx!…]¾¥ôc»´¸­C;ÜßÒ.` f¡s`šhœ¨Œ‘'®`hˆ8Ý /q¨Í™Ë°‚1•1BIuºr×õÅV–uAô‘㽞6¤ËßÕ•þ€Nô¾—u+}cËÅ€¸u —Õ0úkñÿ¹Ýø -Ã…Ÿ®À¬ùÿñÿµ.Ï}”û©0äاº&iÀÕíûM˜—ÿBs|ühÐpÚÃêá0÷]ä-úýöýÿ,P6øúŸÍU û˜*Ã~g%‚Üv¼¥ý­uPÿ›ÃƒƒÖA£ÕJZé³§ÏÔÍæÁŸ«¥9 ,:ÈJ“&ëlƒhžäöÿ.i=9Hç’§OŸ¤_6c0M›iëYK>ÚjéÌæ?×+­|ʰwͤÉðziëIJß8ÊŠú3åÙ© ÅVª¤iZ½øúù‹³Œ<ü·Åæ7¿(—¦X'+Ù®5-ê8ëúP®u˜”’?µ´‹!w«³SÎ_ªVÝšimª˜ŒkˆúOZO’'Ây¤Ì<ªaš0¼¾$ #aÈÄâ}]ôŽ)¬"E¸0p©WÅ‹VVמãýó¥ †¾p“åås} Ðk’Nj HÆù·õ‰8¾'À¸ub#_Åó%ôüú´€õßázÞΞ¾rUÀÚëká`SóHðÞë’Ý_æ^ ÛË){ÏOŸ¢+ÀqõH,dˆ´àÆaC/‚e“lP¢Éq1•ø[ ' ýí=»ÀdF -“[û_YX‡|[b}ûx>üS°^³6[#À¨@P0@ ð7¶è§ìæûXY¾.”¨²þÑÚÊ.~¼ŽÉ—Fšç36tÙ8ipù²àS´ûÿ‘Èg¦ÝǺÈêÒàÒ®<{ò$¯ögeI®úÎòøàÐÒí5•qume‰*ô|× Öi—¨ˆÐ— -þ¥¥57XÔ¯íŒ .=&*ßMõWWvE–oß¾½kz±r{™8>á?´F´ƒ’ ÐÆÄVèຠ~Æ@‡H±'˜@'3ƒMy미 - ‹@´Ï™c¢¤ŸËôø ó%¢‰s°¥ïääÛ„ó‡Oý;Fºo£>­ ¼*ô1p @$ÿö"¬¹3ëÅÿ \¹îŸ;;h§?šGÿ½J+± ­pư«ºmá߀ÞZêçΫ€—Ÿ^®8žðË ?oEûÑŽ7ãÛQ›˜ ƒàasvFº+iü|w®RŸx«ÂÀ{Âh‘‘Ÿ\ûIðÆ#ý1¼ƒâ•êo -¥a ßʼÀÓ:W™ž«”æ*o½ ´ô;£ë‘m`pdäü… #Å2çO‡Ñ/üddàÆ +ÃëU*×&SOg¼Ë‰ÐK飰Êꆒկ1²Ÿ.þß08ÿ¯Še§¹ñ“óþò aÓÓdÀ‰2þÓM¿[©¼ù7ñ‰èx²JI<‡±ütø¯¯ñ$¸:³P|Íy,EÑ‚i=ÒÙo) ‘îH9U+A6]VFŒ‡øÃ,v â+Ls¹ñ‚Àްµ¾¹! ÿcÆú‹àßQ€V˜)ôРŸÚÆ]·È)  ­ø7‰X¿Ñî ð^.àú0#d -@8^a2øÃ^ÌeÅ´b°ÄÖ†€hÊME5­Pâ €µH -&8<ÂL¹Î‚7¨ÝźҭkÇÖ––WwåˆïïRîhš¢°ogíÖÐPhÀ=¬Þ2˜Sɯ,„õî -Xàû‘y¦ìÉø[TýôðP$™¨|ÍN='ă÷ª‹•÷´F¯ÀÕoõ¹/*)Z“þ÷Ö³gOŸ¤O¿ýgMßþóA3]Ô‘Ãgÿ!ÕÕ-ê¹òhY û??³ÁÂä½í{´¦×|wgûãœЩè¾"nHB(==¾•ÛÎ7 -Àý=c·9R#ŒÙwD€§ KÐ`V‘=R}›Bàü·c\Vߌ#îæ;èÀ¿¿á·ÄVbÆ"û|Opþ¥€õm­nß[ÍGÅ¢@µÀƃ‡(î H³~y䌷Çóá¿Ð?¿¶2¹ËÑ 9Žð@*…OlQšS…®­Â,™ÀS ýØQkŽƒw[}ôp€}¥0€SEO64T €1Ü`Jc€å4!çš`yM~úÎÚXA¥Û¹½²ÃE«:$w~ymgyp¨°²DQ©2_5Î.ƒòc+«ô!pËaˆ”†¼½{[T°öë±`™µqû×JµX¾}[¾¦Âà péó!îa9“€Í4¼†4K· -gÆÖÄ–—éQÙñÑó[Z[ZÚ¶,Ãöñþá2¾ -¾Òíç|YØzöûÕ<¢¹ ÙôA»z´¬€# -€á_à®O2Qéß©iÈY@ýl -Ö¡Y3@ Ô·pu¸€pVÀö5cù³°Ú°°Ÿ}µ?0æd)ê# oW°7‹¸"×_võÊUžAÿÏœ±+‚ìÏýýÐg8 +¡À¸òŠ¿ÅnËð?Òør?ÚñðþˆÕç[MÚ¦Óþ>y²˜<}ä×fešjú`ÈõE„n¬Ruÿº5W¼_Ÿ ÷üFÚX¤æ„óÙX´*¾I&p13Yy>öÅG~Š3³µÅ':»Z¼tþ•)4{›,$–ÊTRtÛ|… j&mü(ÈB­~íkÚ&ÉBRe8À×^9_,{×âL¹X¼@Û?Âók Ys¾›:øœD‹t‚h´™|¨'B™=zpH“Š´G¾7S¦ãžK¹\,Wk¿Òƒ$“…jZ-¥‹ò(ô`ˆÀbI-ÒÖ\üD+ ëíØ¶ÁaZŠàl+|£±ÿ2A'Q€î -èÞO‚@;PßIµonÝ5Y`Ø{x?øÜ&ø½kðwWÀG€!1 ¦7È×t™ #à®Rn¸·ø÷\…RÊHF!©@0üëóðÁÃûòûÿðbðò÷î­ãýcAíC@ÄÿðåEÑeáÕáÕã¬ãý›Ä-;²Âµn - ˆ~m ¹¥lEH -À*®xÖ; ŽóŽ wMx*÷ûöí¥_úKÑϲ¼ò1ï¢) `Fn3ásÂA€;¿Ó?Œa–J|‚–i>÷˜šú¹Ñ«Bé]€uyuVô`÷–`œž! ú,-ßÒ‰Ä Ž)‘.¬Âþµµ•_[¤¸½»¢=*,:p›ŽWרð¿ CX±é(Pe‡A2žahGKw 2pFåå) 2œ‘c¸³3×uúØã }¨$ÊKìBÙéRBªöwVE[¬ý÷ñþ35&{Öd?ïûÝ,€9¡ym;&àhO€1ýÉ­¯ÿ¯œíœES\À¥ž…cµj `8v|Œé -Ð{%›¼#~‡é ðÊà ˆF» {Û [€„¯žø>Lþè‚®¸'ÀÍ,Ð}5÷·ø Ö"‚Ü÷·¡¸üŸÏˆÍëc•jsñCºÿ«Én4~ùôà€0~ÐŽ>lÒJ¥ES‹÷ÂÏ¢G¤àY¡í>šÜ ÷àp½öº T{Ÿ0z¤eûü˜r‘Ûì. §fk¿:€Š_;ÿú¬àÛý:îa±T£ëUç)J¥R­ÌW‚!º¾FÖÂÈaƒöù—hx)Æ”‹Ï••1Mª5gÞ6RèÔm‹Â}Ñ–¦ØLóé‚¶¿ãNÙrý¿gÂzH„f@DÈE‰E‰Ú(,ÛO„Æ’ÉM:VðäÙà UîO‡v|Äll…þÿ]ûÖrŒ$ŠÀà.À¶€‚àßIýK‹€17S²Ððn€Ôè W6(ÄdÉ ÙV€! G[P–:¨ÏðÏé€~Ì1f¦ðŽÙ„ÿ({ã[B²Ž€FÇ×7÷¿úò¾{ÚØ£+@ÃÿþÃý}:ò«ã¹üý60Š]s³»£*ÀØrV`÷_ØŸk£CJØ}ŒÒ.ðX9¬ Á; Nþ.4ÍÝ¿Ž®8èV§OÓ}ð/7zÐb: ÊdÃÿ‡¬®­‰¬þVÞôêo?þíîã•ÕíŠ -áwwäJPtM¸Ôeõý˜’Œö*ÆÚ¯…ø·—Wo íÅI~ -[ÙÅX[ùh—º†!¶ò½}Ûõ Kâƒï¡EIJ¤˜ËJMC@:ˆ½êÖÎ 1¶àZapliw¹P¸µ»³»»ó˜!ÿÑ3Tj‘¤ÝUÑšñþy†]ð/;÷G¿LßÁs™s!ƒ. ®D Û^ÿó$£Û öá£oDÿ ÿ]ŸåŠ€·íôãõÇ*­¢Òg 8þíU[¼Hýs¸oDÇXQfo‹¡ ·í~Ãÿ臥‡àÔ1À „{Èxe/>ÙÚüdcÓ}Fïho(Èq -oôOø«@—Òo+nýÏeŽí?j•jJç4|j yðǦ «ÒÅN’NÏÅŽu€<ùÿÅòÏK?n–˵ڇ´mC¿WÚ kúmŒ .·7 z;¬Té[Ð_lB92–Žl¦ È?¢¿&­!W3h@F‚§J,€ Ï@d@, ½–§YE›TµË±ÞÙ¡qž ÓuõB_ôËôì·B=Ímnx6ó&¡iÁÍæWƒÿ¿¦\…ö»Ç†–Ã*ª˜Ÿz‡dË·Ö”à-z¢kê ØYÝY[^[[»5T¸5&èýh  âýZ.¿Š¤Ю±A4ôÝ5)¬Úû&ZP…ÿµNã 5Zð­ÈõgÍõ ÿîãÌ™¡pW2ÝRal·p©€UJ©Yxš+tj¨œvðÿó}þ‡vÿ¾²Óa~Æ;;ŸóÇ1ÁôK`N$_ÜìR²~úõè´/eôµ€² ô{MPêC–ýßvà0 À„`ôÊàiÚÛw ?®iÎJ¼H4ó€Ü7­F‡‘: -ÀTÀ‡\íÜþÎ6Þ+¼Zâwss[¯ù“£…¡+Ãã±cÙsZ˜Ä_p¹ïg`¤ÿ²€èñ÷Z¥òDîiã tÿÓl>ù¥UlÁ¥ýtÎÃüÙÊåŸ{x>è«Öjµ€vBÀZýF=¥5}èÊG0¿häcŒ!öþÓ•À¢Ôþ€®s” -T/ oC ¤1séõ×.^ššµ`ü ¾;ÝVÞ¡wpì­(ìäŒ_“£’ʀ׊å_à‚WgnÌœ+Ò¾p¶:ëaüÊ4(¼Âج›¶ ðÇ4 žÈ¯šÎ¿ Ld#$8FE’1ðݶ À‡õRÊÃðÑ£Ò¡¤Öx$ÿGü ø¡|MBà–[ÿߕ˿E @¬È+¹(@Ág”öîÄ €#='#Ns -èß@€Ã6c?tðŸV*D'ÀF`¿‹-ô±¹¤(Jë^: -@-Œò¤lB›ðåH¶>øùÞçP€/ÿðåþÞæòÆöCêûG ã“Q `–ãëÛJ†ûï¾þƯŒœé5ô\ðÇ¢О–å›ÿì§úºù1§AÀ¥y Ð'5<é4ä‚?ÀÞ^Y½½¶ŠúÄûE%äúŸZÕNÚÌ ùOY,—û 7t†`ºÿ4½ùØÙ¥$BßÕ1¹Ê"(QˆÉœx%´)¸_[û-´`‡~}ä΋ XÔ·w í[{|{Ç-ûÐúw CË ü_¡á"@Lcmõ×<èÃòиˆÁã%Z$(Ûß -ƯAL8¬ëºÔ2ý“Ó«ÌæŒþ qT¸u^À-‚ò6xÞåÛaGÎûј<ð.øßÙµ{ß ùÝßLxã%§€ëÎ… z€N @OO€¾ÖËØñÀÑ~º‰€PÜ£¡ýãôãõÛ ÿ(g®hë°€Ìþu¼JÛ€ý6ôGƒM 3%‘À3Ùíº`Û÷ìäÇØødë“uªˆ‚ÕÚÆ‹c¼$ ‚Ü÷2°¿ ÿaù? ˆuͽV™÷Ø·º_ᣠÀ"šÚäx—ÒP +—Š7ŠÅ’pYZèÙ+(,&8è±B€ÀLÅ!¯=-U”µÁ¸å -äB¿³_àÂÀTy6ô»[žzý•×nÎ̼ã”\é&*m&õw:'ÄÀSJòŽ’&Õ‘G!¬¢xq€®€/͘…, œ»ús\g-Ë•ÊÆ -€Jž6ÿÁŒH¥þ0R"?] >j!E\ýo›µ&Â¥«Õ´ÂpÀÊ5$ÖÚb"A†´RŠëц WC-À(,Àà³¥9Þ(LÞê§8 0Ð@ èí €I^8Þ5éæ1  Îö‡ÀÍl,€¼0$Ja6ÑßFŽ‘ô˜//»£\)öi\y˜Ó´Ï ìÏÈ*¡uðïî`ocòΞÜü ÀFÇ7¶öÿ°ÿð>14pb:ú®ûÌùd€0°_“`IÈš«0 ¡ ÃËÀ~-ä[ghåT†¨ ¬¬üïŽÏ[Y»ý‘À î2ð.îs@9^?£×ïMÍ%Ð猜aûÊ\qõ–ÎYÛcØúkA·@>& v"ÖãW3~Õ%y,î±*àÖ)c»t;ÄPÁc· -K«ckk¿A‘ó¾{›j šÞÞ},7þñÎ…ݽ-Ú"Ò"&°£ãð‡µÕ[ƒ·v !2êVEEDO¨Òy«ÔŒ˜QD Ý™ìô™!x ÀÈO·•'Í¥Î{ÿb<>?m.˜ÁÿîÎîÕ玤?þK|ïK}ç/Šp+€|@Húröb cÝŸß ÜM/误J<|ÕÈÐßóˆÉ›áß³(|Xp@» -Àu>ÿ¯bN§í3yïkã~ƶ¶½².7h.Œ=à8 -Àsb:Aî{X†ùm - fg†.ÆÿB66ö?†v¤OúN•jºØXü» -Œn¤òÓåÓÛ1nU"îÒ†ÏADúrû•¬ÃB%,OüGÀГs¦"ÕRJ§A®ŒÐ™¦ Iàz"z)¤ËL°À°(/ù6 Ÿ€¨Ï:àY„ÿ0€`˜:$+üÆH -œ» >ø¬­Àò`t}‡ır -€Ê -¥|CRŸ«2ß‹ B®. ­ìúŸjþéƒ=æž¶7ÇyKQl€X -“ •Œy€lÿÐðøºè€;Ÿ\°ð‡ý=íÛð1ûþqНж½ØÿïV 2¶ˆÿ® -z)Àòm¼ÖVô±§2$€ÝÝ_ï®­C'ऋœ)ˆ PÿOaôÞ$Ý mdöååÓþ_¼CäC,"”䀹Ñü´ÈƒSkXN +;ˆþBí@H whpŒŽ‰–„ÿoŸøXÀOÅÄŽ -º;.ðxggmgW¥^^rý"ÊeemíñêêЭÿý·k»D¬ˆ:¬Œ]—÷NÕˆ|w0ÿ, ._ž—-€…`¢TðÓM€µ - ß§bZR6á€Ýæ’¥?éÎsÅûGÚXzŠ„8úþߨÆÎà%?:àˆï «'@®ô²F'}@z¿×Þ=!ù£dÆ-ôáo~ÐßâEzm¸«,Â}e¤ƒXÐð‚|dK +ê6^HyCÐBtE 0¹kŽUz,‚Üw6·À*#nPÛö/&ð.¾¼7H{Öß*ú³Ãý7Ø ÿ5êܦ•éÞÑÐM¡àVkŒº;[®ÈN'†ÄUOßèòj}®B“>íðqÙB5¡ï^ú^…˜­^˜™]pA’ÙKÿÏS¯‹xˆ=á´¦êa)2‘èö¨21&®£JHÂh€2Ó•×_‹ -@­6{óÒÀ¹‹å)1€ÚBðÿgã}R\§iµ&’Ö/ F.Ä š9‘-ˆ -MBeÁÅ2¤ z8ïTZu+™¹ZÄ—°Õ’*1‚9«ü€A¹ÂôÏtÚÙïVÖïök(ÄtZ:àhOvès -ÀÞÃû_uQôm;àVB@`hX%É›…2¼[ñüÈ1.¾¾.è×E|êª~_?";¿üÂäæöÖäÕ³$çL»ö_´"0¥|@#Àý/¿úê«}ªA¶Ä¬è]±>ÎX"÷no `Fx@|U¼”eqÿù^d+ÔP€*í…s -a•ÃñlÀ•Û\=*ÀÎî®°s ðxui @I® êp—…”ÉS¡Q€Ë4¡¤’°¼ä¦øÍà¥6ü&!ROî¹üöëËBJ(ê¸>€ZЕ` HòèìÑtazû¿%×}éñã_S¦µÇ·wרžXUÙ½5´º»¶JC€Ç¿Þý-:¿’¯.¯Š¬Éó_a¿@@äÕ‹-ýTùÿÔ—EpÜ @þ•ÿ6þswzíê‘òX—ÆT -+*,¥×ªr,øaÞ‚®P cám‡Žt5ëÿÅ´°ºë'ý\~a?¤Êõ¾¬!Tô³Ð -Àaqæo{]6êð>øýQ•à¶hAHê93}Ã'^åù¦ìˆÐÝB,D µLG¨Ÿ3Þ*y£2-Öé ˜àÅNà¿„Ðþü3–¶˜ú…_ŸL`g'îüá,Öù÷Út™(·'EÜ^GíeµØ¶ÖÜth€snXDŠ‚¹Ú)T ¡qíÊ‚#ªA/X¥¨Õ9j8m‚×JHî³33å fkr¹åÎÏ^zí•W.MMe@ÞöaW€,à…}šg©Z`<à2# 9àÒ”ð…™bñâ¹Kh³µšàúw=ѹ¢#žÓúÈ/ž6]ÿ}¨½z(íG '2YŽ/IECé¯ôXªt/öšØ4+´Ÿl?‘šŠÐ~ µš.㵎ø‘b €c©þã¼`W^³£AÔ t‚ºzÀÿÀ -€ Õ -ÀC.êë°‘ŽÚƒ#1÷ˆtýT‚©ÌŒC`³óßV¸ø6¾>_™ü~VY|ºý`/(›ÛŸL^=ç1WtвÿƒSþݶïË}ݸöÇ€eðß­þ°¿÷P…X· É1ƒúÆWEÛ@ž‰!îÀ1î˜ÁÆfà4Y¡ÈaÅW:S½ûÿA@_»%oEž5€@?þlÞ=–iÃøïဇ._6!,^ÿ/‚ð‚@•<Ø’Ê ­@"X[ñ ?îÝ_s}\vÒ!ÉCX„ýô:€¡»~}é§c·ïþz }â#ÍèõGžýÎw»|ûñ¯Mýig °¼3Xº_*ø'ÿH—¡gß±ŸþTç]1üúU‰øwÿNÔ¦0¤¹«B(îŠñßu*6;ý»Ÿgþwwvø³ˆðÇ}57J}àÐGìc =þã:/oÇál€y`;ÛÌ1Ï£2ÀM?}üЄÛgÏ 4è&“oÇ‹5Š“ÉŽÿàÙ0òP€{‚ êÈÝò +÷Û¦wŒçš'ÿUÀÀpoŸ?À¶Ô7SdüçÆÚ·¾V€bf&;cñÈeˆz­›£j¥Âk܇sÓí :í*^¼)G¾ÉL‡DÚ`‡‘Ý -ƒv‚Õéj‹¡ ~`FQã¿üp¹ÏÎß,Ë—ÿp±V›ºtþ•ó—Šw«”«ùæ÷²ÐÜ¢œø@5)_swæ*.U¯]*» ÕòÔÅs7á³tPnשð@²083òP•áÝ”‘b#82HëMzRþ–"ÈBTœ-ßœ*² ‚ˆ$Iyâ÷$hc {D±r~«õ÷]Spÿ£ ܜ촳ßV‚Fà_@/û÷À¯Œ(¼(T­Ü×N׳ ØØëUÒ0Ùñ%©g8íDíõ1Á¿µþJòÀkT¨œÐ½Oï ˆlN^ ý¥…ÓÛ1.©)Àƒýû_~õ‡/ÿ béùì=|¸E?z]@hÿðÁƒm† -üç,¾*rfÔy.p€»¼Y¹8€³ -PÀ¯5.q8˜ }Ç;*€À?/´!K?wúÌU&CbP ˜c`Oú/Èÿ ÀeM9·Dî;ŸAFÏéÈW+ÁǷïòúE4ð£éòÇa†\Y_Ÿ«/ÓaŒ}J_«>8t]'覗VW>[ -5ëáÃuŒÌx•ziõîÎÊêÍø–A^=×Þ“ñ²ÎÕ -·è(>‘PîËthÀý€ñm!ÊqHéõL+ô u æÖBÎÜ×qðÿë5­íìx_d@V×OøÑ À›ìØ€Lɾ‹s*ý¶gqëãŠ?"På/lv-½z¦‚ßÖúä('Q[Ð9y4^äxó­“%RÂzÔ–ž‰wÒ¢ŸN—ï¶;wüû]OÙ&ÄÈþbŒèðùtÖ˜u)¡õ’@Š»³O?Cû\™÷CõŸNâpý/-^³ÇâÁh&»c?° -ð~½ßTŸ.ðÞ9h´k~5xT{@~ Îõݱ]Û”àZtÐ“Ð¯Ž naFs T i•*´â_Xd8ÿÔ˜*ðå<#¸\òâùâÔLÊúZYà5€›¢Î_I’¬ - šá·¢ê£U“Ê5ñqïž*^;þÒÔ 7V¹yé⹟ӻ@`¶Q#!Ü-+àr2ÿ¦J4­èApY=ùzä˜HY„FŒxÈŠ[Á*Õd:«*hWÐñ…µçÝ™þÄÿšð¯4˜)4ü½;*ÁóÿøyA kÿž”_{<0•v€Ý -@À9©¯pÿ‹ëÃ*Þøé:µÎý¬CèúÇ`÷äïs1»ývç© °û¯i¯­l[`Ð5þ“\,XE +(Âÿý/¿üêKe¼½EüàÖ¨À2ø/°õðË}¥"’@ÜàAÎâ«¢m'RFVVhП^úr `Œ0aÈí:.'^L ¾Á?'¶?ÖÏ\6¬]¤^ÜUãá5R(#‹‚ñêüëUã7it]Œ°½€kBo€C * ÿ1.ÀÊGlÊt :  Úî{@LA‡¨ µÖ”¡€|•îÛy¼¬”vǹ’›Èb4âêꪮ®É¸ÛIðµtØÊB$-º F„x‡²Ó~ãŠ(T‚UÅ•–Í’(ۘΠÅÖ´°÷ùF@õ—ø0cÑOˆ+!aÖ€S¾›‘?pÓ¶¿3½m_˜)ÇÞ% 6Ð ,À•ú]Êš„,øé¡° vl@¤<,tO:G7|†.œ9€O;À+ƒ´í(Ýü`›wüqO€[4¼:èËÿp€Ÿ¿'³~zþ„Õ£ -Àå ðï듨ãÑÿ𙳧—Ã9¤ÔoBÿ¿âÇúUt€Ìâű¸§cQع»»“ü¶Øè3¥¿+͹›;@‰¯á.gi¥ãxËá52A¶—&ãä­éz™ÖùaÄ›6d&I$]¤Å¾v¥`>øj€áÀã?¿pAÈLAøü+ç_¿X¼Tá0…gÕ'á ]°äj¡üãZ’)-­Î_,ÎTki£Z8§.ô×an:!¢Ðë+N«#õ&= dD3d–¤o%)Ž9×አ›¨TIu¢Nœ‚,ž³©R˜¤õ‰ôw]Sçð×|Ô S”=G8†–é ÀnwPµ°¯Ëÿ»&}îö‹P>¶+[7ìQÌ "Øø…ÿÿÛ{˜EËb6EÜcZ2-¾`eÃ1©ðÿÁþþðÕWº7f|ø€òý ]ß9xQ}qï7¿yÀôùÞoöâ«"gFçR£‹½sky -Ÿé§0ý|=@H5Lzíˆ è"‚ ¼µŸKÿ»zkIÃëÇr]ÎqPdᵊ -$ -3@ŽÀ˜w MÿAr6šù›YNÈú ׬'@pñ»LÇ›`[î{~Ò¶ [;¡êþe^ÿQ¸zå £Š0Øù—ÏïÓÂìy -Ðï/-(ýõk5JŠîô ä@d z(Ç)‘ܹ£·„ØÇûÉUüWŒãàϯ1ëQ膚ߦùkø‘Š‹\îVäÙËÿÃÇØQø7¸+pWLûñÒR,ç÷6ºú?:}S©<æ£Mw;á¡!Ñþv’NOw8!•ú¢ö\ýL‡Ò‘ -£Þ„íJù=¼Æ8ú¢Ê7­ÔM3Rå!'ßWÊ3ta@ êӪ勮¸ÈÅ”û;DÕ=ëUt™ÎÈeiÔw-–ƒ^‹‹Å‹çÏŸ¿Tm¤­FR›¸@Ë3\’»å®ƒäAñ¸Õ¿Ÿ¨6Á|±…K„x~=‘‘NH (‘Í‹)ØÊ;¡5"ÌI`^e¢,új—îš>†¹}]i"¶ÃÌì?ü—u€NCÀ.À®|^èÐ û÷@~òËËÂH3€ý/î?`è 0Û¦[Ê:­îd °±®Ã±J!â¼²³b϶{°ÿ@WòB³¶ÀœéÁö¦Ü÷«A°ûßQ\K+ßBoCáúçöC€¯tCÔÈݽå€ý½=Ñq…½‡:Ã]<Ü;BN¢_°ŒD`ð±ûÐ'M‡—Ü ª9À¤@°)€6N-»ê<¨†2½Iä\èM LÛgN þ/‹è5#K—~Šz0$—ÛPk9ä«ë«t÷# ¦Çšö¹xÌ4_[éX&ôÀÀ -PÙT±¥´O/0|ðˆâÔP¨ðˆ.õÝ öç@ÓÖ8·#PBöà§Ìˆ™àý©Âih!Þõ‡àîô4Èk ñ_Å\¥‰ƒJæ{ÐRæµ#ðß¶]°÷…fˆ2ª¿ÄG_¯„Žzò 1‚>_Âÿ¿ße’Eí1 —>ýr“ÐY@¾¼Q•žÿ4ãô„âƒ9íê(ÁŠWìÿ“‰(JYË«“Çé<-Ù –J¢Ìt‡AxC…uyµ¢çˆ‰µ»ýG - ×ˆÀÆææä0€‚;‰ ÿr/oÀ¼Þ¿8>Þ3}{€P`à5ªÜ‡*ý.¦Š”¼ž«<ϲ*€»ÿÛò.5t±¨ßÓÒþV©àï -‰™Þ-З>UJ@wØ)($Ó q{VÈÖª 鄿õ.ˆâU²£þ(§WR;Ûº”P‡l -0U\¼00sÓN¹ÀÀùó¯ c{'j•”§CâYÈ3„¶¥×¢èŸG€îó¯gåP)^,_ÀOŸá^ ðß·­ûwõ¼ ½–N$8àMÍi§À£¨%^$é[Õ|£ßm >¡lCQeµÚ“úD ïŸîŠIRVfI#m†Æz¥gßþ×ÿöß:ŸzV(\-\% ðjˆ @ !@лþ(Gë„©ÛV„±½=˜è<Ðz3 Çç[ôSôãTQh -b”0¹رPùo¬—áö-!ÀžúöÞ+ã(od -€@[¸ê—(À¾OàW_Q¶-er?(ëë±Àƒ?¸ -àá¾;Àöüæ;Åa‚@=€Ídkûÿ¬t:Õ*@»k “yçÖÂqºüÑæNaðºgÒï#½Xzʦ§Þ3(¼›ýúê=#ü”#Ž»”}e*´¦ :–Çv¸Ýþ"ŸsY%öR[«ãCCËkk+ãZa>%Ók«À¬h…AÀ|ƒ^!ã*òí——ÖÄYÈEëðŸ`K·Æhý¨L´G*ZꘖB7 ‹w]yC?:ŸEŽL° ¨ï7üòþcÛD~­HÃoÄŽÿè ´ˆÀýtÙ™|€W7ô¢3pèL˜d8àç( -Aî¥-ƒú6ðçטõ*í*ýûò#<bDƒÿY¿Ë“)ý,«ØÙ]}þÛci¿—Ũÿ^dÒc-.9‡_nx e­¹Š—ÂAíÿå>·šŽåÓ×GêIÔº‰ 1Ýø/° Ô¬¤Er+hÐ'ŽD¶AO@ÕŸ8ŠÞû¦.A.ojWÄÔ÷ë¥÷ ÖÊÃ÷Åž5•ü¦ìÚ®-Ö§¯%ˆ˜^UÜ…âÀ+¯ÝC_²P¾Y¸P›š¡w²öý­o9ëŸ <€äp¢Å‚‚ø/7ö%ï'ŒHØ&ï9ñé¢PüÔ'ÓnX©Öá =•Ežˆ á8,Å?@Û< þT,€ xÁ-’{Pîß¹{Tp€þÝpoOm ÀØ$€L8& ô¤o[¸ðÿsbõ{ý Âÿ¦cöÃéÁùg2Ëàk@3æ|ÍL >­&'(z‰À^¢ÃÃöÒð+Jµ½·õðážñ@9Œo úéhßðÃØc_9ëq;ûš1&3S€cTûÿ¡a`GÀWÕaá¦~Ä‘˜À bã T`‰vüƒCtØS?Î{hPïèXŒÌxwbxá=ãW«Cø±¥5ð[À=Foþ««ò÷WWvÆ¢¯UùÐ+«·ÆÅ¸¬vî¬ììÜ* )ÝÎ*(ë"ë+ ãVY!<y@·' ÌšÈauel˜ µ®7>÷«,ùæåiÎn–?ÕÝ£\$\¥ÁÓgEiŽþ%Ns× ƒT*§ãyPÐû¾Ç3á¹ûô°¼íâ[жñ^ …ñÞuüÎS¹bWôèÝŽŸŸ'û¯ê†ÐSé;Ñ} c‡F¹€P¬hz -0€(^@ø+·?§OGüÀú亠г=q9ã„Uÿ¯¶E¼;‘â@¾þݘûÓÞÇÿ` «`íLˆèQð¾¯p÷îo—ÿ7ýÒnÅ‹íþ{-yÔJ“¦|Óôð|fà4m¤­Öá³4™/UUÓ„ÑýhÕ†¶/¾Ðú§V# ¨…ñ~“ê£ò[¥¯Êä°õí³§:¹Ñh=;h6ÿìwŸ¥õ¯AÍ$=l>i¦ÏþéÙ·~v8d·²LGÊ‚ìNòaR<~`J•W8h-Ö+suA¿ -Rÿr¤×áG:røìOæÓ¦NWy(HZº6í® ßo¥‡-e05ðúEÆ |Ö¢‚rñ'‰H…ÊÎn´þüç?ûôŸšÊñwŒüÛÔ?+)Ÿ†.Ûh=U†u]ãYk±ÉhÂ-ÆKž›xH«*wl;h5º -rH~Ii¢ž™¶ž=ûöIëYºØO§ëˆ²Õ¾éébéçç.\Qæ²#çO:þ‘¢+µ -8Q3+%™(©Œì/ãîÏ…h»*)殽[*½õÖ[¾)9ü΋L”+óJ¦ŒþrD>y¹tC“®]*«4TÔSŽ„,æ“7çæÂÑœ éæ²'¢‘7ã g…áØ`$4€\xA¦dZ¾Á"þgAÃC lßž”À8 -o[ø"0€øc`¿Y@¯ðp¯ ì'G² -™É¨è(›Ñýå)K;ÿ&T0 ÚxèøÍõú¤@P¨\Ô›ëêÊ¥ìÞ -À$ -€Ä&ƒq‘½‡:´·÷¹9€gáeѱ^Ù¹Ÿ3]f -ÐOàgnÀD $ÎÌ „˜±wÀ Ðﯰ ǰ\]£ó~ÞÿóB§XŒ`~sBxÓ@ìŸ^T,{ȆíuæòÂñ” ÃgdJbžv® ™ˆÀêòØõ啱]Aµ÷Évvé7Àý ѱ@{´SëöéI¶³³¬—ÝÒ­[zIiOÖÈ«cÊv|uihiõ¶h ýü)°O©YÐ -à´\Q±°ž¿ ½l¹Àº‚H‰JM4£‰‹¬þ û™Á…ôú Oì¹óï¤èão{­Kp–!ú?àhoþ;|5Ð?¨þîéìç£ íœÔÂ1òî í>*"@žÚP‘ô&?›ý–ôáTgÅ÷,¿¼~“HZáw©[õ´n8˜ƒÍ­lç^H6xƒè½ZÄ*•ä¤ -@žœ˜â5á™ûã0Ó÷¸ó%×£ˆ1±Ôà‡‰@p €~[¼¾g,@¬óï59±±¹8%»– -«I«U[u:(ÈÒU&J¡J›Qp„Î%¡'@\š+ýâŒåúN¤æu„'9˪õkæ¾쀺q‡ãÍÿ×b‘ðy]°8 ø¿p®:RÔ¡4u HÌB9Íq…d¢®”U®€W¦ËUx ®/£›þâÈÅ çÿ—¿TéÝ"ýºü¯:R­ë>Án·Y0îW*< -žeÃhNÈÅ]ì´¥#<‘°×ÿ{¿Ñ7Èᑳ¡¿ÌèÝk¦ÇÄÄ yHœYL‘õ  ÙØ2ŠÀXá^ùò*át®?ˆ­Ž‹¥È,þÎ\v€Þ5zÁ+'p¼¥< - køºäêjh/¿æ•]¹óÁß§0‚-tPo‚ñëÔ„êuí5Ø¡Î@lÁÝ -(¥5wã;¦0îR‹¬ñ‚»å~ù¡8KKZ_^Ú¡¾Aè]¦hQ0 ë¥hÓ‹”ªPà(€Þ?Æi€¡3gè -™W"%o«*ÌŽÿ8ï_%üóê[’[~ú ¢üsæ(ØÆÚ—úÄYØêŠˆ+Y2üîïªø -ƒÊãÈÔ‰ºßÖo‡^}Àp\yŽÄø2äúPȘÿþ—倬€Ð1®þk©ºbõå¿:ù8 ®ºc@q#¹]yÃæ(}üMŠ+›!#·@ ƒgO“…Ïs^ÖâÆ¨|Gª”+>³s -ƒ]çB"Up+ÊA[þê_¹{ -°ß± ·A - -ÀÒ c~'pÀ¯,NÌÂ?$ŸÎ³“¶ÐL¿É¬€~É?P @GЯ\`eè»”õýÓ3y ( -òW®–È »‹n¹ÏÞÙjñÆû³r–cÔ|]Ù{Æ;YRÛHžV”±÷É”ŒFï§ÉïÀïEo f|^›’ * Õ(ÿä‚[p*˜ê<)YjåÙD…X=•$ì&… =>d¬Óp ¹@/„ô[ ø§ ruƃñO,¿Êºþ10#rÆ„–HdÒ.äÕê -ÄV’kÕ™šOÄÙhÍÙR¿À5XèPõïUäøDúR€jUàO€ügÉPÌî¹Ý?N?4 â~N ±ÿц_hƒ¸íþì - ê}IÄ5²)/iýÿu€R ?óøÎÖ—²SÈTØŽÀ=â{g‘Õäç±z¤# ÜÿœÀ$§h -퇟nN›¬ËÿÕÞLØ#PAfù¿¯¾>ýe»»½˜)À1*Ÿn@.4>²ur(€\l¹ÞšÉuö|mlwWiÇBO8¢m<óË! Ð/%`thH„qlͱàä² yIž9}ô3N?<`Gn< ¾26nü\K—×Ön Íw¨X_¾u}mE”€ ZƒF ´]£‡ßëÄÿ Ko߆F(k`^·á»Uv*3¤ä×)Äje•a|–W‚¿4¶Ý msÑ -8ÿÿYñ£q§zT©ê‰@lt\E%RéDbôz ð¡ô ÿ4ŒpÔ¥þÌYœýcçZ¢hŸ{©0ÿqK¦;h+v‰­@ZM\ñæ¿Ã÷X0,´N;.»Öz øñáÝP@@;íõ[PA4± `8ƒÿ£Æµ ?|iÈ€Vt—ÃŽàv)odnÈs ½!mäS€ýŽÑ -ü -À¨wÂd¾#x1à'fžû“ícçIZ„q9õÏôC÷p÷îooe1·–¢ ðø»µ -\ìo_ E#¨ ¶çMÞ_ˆ¨Ž,2< Ö ôÚá™gZ­¼g4XêMôÓÊ×nDPž½ f x^ ÿgg ÿ ŒÛ/pîçЩ°ÝûPÜSYÿsižH}퀽#¨PEÏŠØŠÎ/Þ¼t±À;¦f³å$ÑýÎ΀æ*Ê ZÁ}CpDܪ 2€p„ãÑÛñHÕ}é6ØË-‡¢ÌWÞƒX²øÅ/(bJœÏ‘¶í×e®(\˱N@ˆˆ -@ì×c#&ó¿êÿY=‘á<ê;¸¤3ôÆäõ¬ÿ>ý§É¥|S<Ó ¢lò3Úg®?“¶²zîy;€f€ù:€~ -ÀöÖ§¼+>ùT˜ätêÔä:ãPа÷à>=ü÷޾1/2*š ßG-0€£*À -øj=?l›SSPv€f€•Àzõ–|FÀÑk%Àb,Df§óÀP à$y;:Gªæï¤ð³7X^ù8¤ŽÖK`ûÊš#ãp›EÓßDÈìžò¦7§¹Œ?²¿‘\¿½4$'H%u ÆÉÊïˆâBæëò$pó…œÂñÕÛc;w•Xع¤rêÀ˜+d;åµ& \á·×¬_¸êR«øKD Š gj ¹càºAδ䬪´üÅÒë"–pÿÅ{Ì,PþO t¸,°³Fó1 ×V ÿw¼í5ü+µ»E@~Py—Ξ¥’ÿÌ«róqÒúÌOÝ?ˆE ß@€Xk/´Ÿì@?3ðG·ß*€·B[ÀÐ -àêäÃ>~Õ -yñ+¢€ P޵õõ»àÓ©Þºë†õlϹVóõ7LPØ;c& k+`>s, r-y0x1@?@I@]@LB DA=UJ%]Q(aAdEeHhEhFjHjKpNpPdX,k]0wV n`2wi6~p;BCCCFHEIJIEBHGHMIEJKKFNPLNPFPPMQQNWXNXXQMIPNQVQMRSSTVXUXYZUQXWZ]YTZ[\\^`V``]`aa]X`_dfb\xlD}pFtPbccdfhfhikfahgknicjkkmopnpqrlgxrl}wq„7€o;ƒs=ŠzC‰|S~C‚|vŽ€L€V•„H—ˆWž]ƒbˆ‚{˜‹d˜Žp‘iœ“t L ŽT¢N¦”W§—g§›u°žh® m­¡x±¡l²¤yŒ‡Šƒ———¦¬£‡®¦‘µª‡´¬“»±»²•§§§¼¶ ···ÁµÂ·™Å¼£ÈÁ©ÇÇÇ×××èèèüüü§uyÃðIDATxÚÔýop×}ç ®WshÅÕP ìž0=Æ£ÓgBf0¡Æì¶~ã†rš{ÏNw #AäÜ~¸í iV7¼’)ĺÞ*ª7áܹ*Ö“¢»—Y¿Ø½Ü®¦%4 €q„Ù­Ð +cô`=°ÿK­K—¶¶^}5 õ|>/M½ó…®ëºŽ´¼®ëzI7tC7’Gs9m||Ü0 ãkÐ5Ã0 CËåE>÷vPë3ÆXLÁù/ØW°ååeÆ|ß÷}¯¸p €¢ªÕ[ &€ã:O ñi@íÅÚÔ”IÈ~ + ]@P‹uJë;‹·À~ +À’›ÏÏÔ: + ÞU5b’±)€_RÉ. î½5Î5W{?Å Ø϶^º}Ü1XJæ¸r\IÇKQ¥ÇWy¸o$hÅ6¿Þ£Z­V«µu©ÕÚÚzu+¼æóÉét]ÓäQ^ë1ã~`èºñµ¯­®jùH`ä4EQôC*tô*€ýÿœ1ÆX©XDÅâPÄ +À÷`ÅóðØ^@{ÿW<–Øÿ/ܸ÷ŽÃ»«Íæ¹Õfï§¡h~vÜ{€:~\9~||<&€¢(¡¨ª²§Z­V¸ÑX Ð#ÿ·Â0  iúñù®ëz|ðëÉc1z@:@‡=ÈIÜf  l™-wƒ€½.€àâð%ÎùRÏù?,È‚¯A0̸0[–¿±¨Õ!A€!p…OIðÛŽ¬ö‹| +`‘Þ® 1ÿ¹Mm{Ñ®’Ó‰x¬Çø;çÿ/Ÿãð.@_à\óÜP ù™]€[!@ÅÜÁhÏ(12Š`ŒÀ¡@«õt'Ðê!@,ÿ/½ºµÛ#±ô¼Ž:Ç~^×óz>_Òu½dÉùo躦©ãéñ´n½@É)Ú øLX^î&ø@à Pâli‰£½1€n`y9ðý ðƒÃí 2„TuXà`p› výà@D‡gö äÐÅÛQWm{O FN÷ÄÔÿC]€;>« +€/ÜÇš«Íæ¹'’O¿Tp TÌ´WdÒãJ¬Ž+ s °Õ%@Øqz4€t¶^}õÕ0¶ÿ†®k:Šã~º.〚®çõ¼ ý%£Ô@.§¥ÇÇÓ‰ý¯æ5MSM ÷ ë ÜŽ ÀY‰ó%„ŠÚ@ ? è}h0€ÓŒ»iÀååeÆÒЇ€óT<:ôjÿñz}ö4©Ý¥t÷Íï½yýÆ_þðyºµßØý£?i×£´]Ÿèn;¢@)PXX 4ú“ëÑνю¢¨ýF}ç£ö7vÚÖŽêôû•hçÚ÷Û;×o¼±¸s­]®^¯Óö›7®¿ù'ׯGí6mGíöîîv]¯ÓèÆÂÝÝ(Р@iݦÿi7ŠvÛíz;Ú­_ý^ýê÷Ú½Q·«³ö$’›÷¬cÇŽýò\€CÇŽ=ÑXÝ'°ú À¾P1wPâ@FÁÃP<œØjõ# 7°¾àÕWùßh4‰ÅKhù|B¤— ]/•:ú_7¤ 6 Ý0VÕnpÊgÀòA`ûÆ–8cK¨¸XfI€ßç¬ôÇœîk†Å*¢¡QÀý‚€n€¥éC¯/MÏÌÜsçGî)ffÊår¹2]ž™žžžž.ÏLÏ”ËeùèL¹?<=====3=].—Ë…Ât¹ü¥/•Ë3ò‡33…r¹\ž. +…Âôôt¹P.— …ÂLY®™Êty¦0===].O'ÊÍË=›Ï|©\.ÏL +åòôt¹<“üìž{Ž™›˜ž‘{tÖ±_ödn €fOà‰æêù¡Y€Õ_ pö‰(éqeüøñãÇÇ%ƒŽ0>>~»1¼ÕÚºÔê „=ÃÖÆ¥­~ûo4´>—?‰ä‘.@IO€®ëjNIëºñeÃX]ýÚ*ÒöÀÈ)Š¢è½yýÓ`¸ Àe—p‰#Ô{Àü=u@+ò?èê @\Ù§Àáõü!×wç*íëöÔ”y†X4ºv-z³ý}Z¾ÑnÿÁw¾Ai{·Ñöíko\»Ñ¾ö ¸úüÂóßèóÑwé›ׯÑöïG»ÿûÙöîõݨý|ÔnïÒ(m?Oé7èó™Ù¹±S¯ËÇvw£ëo܈ʻív;Ú¦´}½ѨÝn_»vãÚmë»ÏÓ(Šž>Šv¯ïÒv;ÚÝ=ûÝÝÝ6mSµÛ@ 9=›5iDŸæ:ø(Û€_XàÞÛ‰kv£Oô¤~y +`ìPÒãʸ¢(ʸ¢(ŒgºiÀâ!²ãFcëÒ¥­=n€Œ„áFkcëÕW_mõÚK×Q^G:’~¿ÞIh%Y¤ºÔ†žÓ´Lz¥¶]ƒÝò BlZ§@m¹9˲æ{6§´Ü›°€œ!§gMónSþ3YÇŽû¥º·£bã?÷D³¹Ú\m6ÿ;:0žWÆÇ¥P°À\ Ý«Ð-ÆãF£qéÒV—}a¸Ñº´õêV+ /vrŸ[-™ˆIN0t½¤†^2tC/%€¢dÆÓãÒª¿öµ¯É À TíÐA€Ûwâ€B@ÎY !´o!` €À÷o© ¿x™1¤ !„p{À¹y¸5‘­ÂäèäÝÙ©©)sÖ4MÓ>"mkö´Y­Sj€@4¿°l uZ§¶ QÅ»Fç Q=!À4¡×m¨Vj5›R ]n€m•›×$ê€ÈÍk6­™=}Ú$Gˆiš$kš¦if³ÙìÔÝ“wÏ’ÙÓ¦Yˆ×±[àŽ_TàŽC*€s½•€{\€Õ_¬ 0·Ž(E,p)Q=Ðnˆc£Ñh\Úêq6zªÃõK—¶~¯Õ{üomµòzÌ'.@^×òº.íÞ0º…€š¦eâ`7˜KËuÐG€Ïäà=YqP!àR‰Ñ~Y@¶ÌX\ |xàN;@\ +¨©EU-Ouƒ€2p×!Öèdj25™J¥R##©ÉÔèÈèèèd*+ÿO4m»VI€z½n-Pkž¨ÑZÒšM)­ÈãÞ’g·eAÊ“Ÿ(¹öG6€Qjì¨Éó{qç*µíxóÅz½þè‹À<À£”R2™JŽŒ¦FR#©Ôdj¤ç¿æäääää?9"×±aø…ºP¦†õô ù‹V{pP ",0Nb™=•€ûd:¿¯Ôxê©~7 G„­ÖÖïuÍ¿ÑjmmµZ2ä/ó€=µÀzÉŸºi@EÓ2ããšÔ÷O¬®®± @Tµœ’ëón; ØÖã~0cKœí«[^^^–1ç1€Ž Ð(ÞÄ8Ÿ¼õºk2u×H*5’IŽŒŽŽL¥îIŒŽŒŒL2K!Ä$„T¡R9M*¦išæiÓ$ñ:Mî!±bxȦë9-g†®«²4(—Ó4M¦ ~aàûq¯ ° `™±eøAø=HZDL€}€dlB¶.ÞÞ€ÝÒü§Ì 3;™J¥FþÑdç±;§²Ùlöî©l¶:•Íf³Ù»'ïºëîlöèd¶kˆ£1#F'ïJMNŽŽŽŽŽ¤FÿQ*•¹ûîÑ)B{hv4•Iü£‘4šIM¦F''G''³“£³wuir×]wwEÉä]“wg³Ùlvò®¬y§ü*›œ<2999yWvôî©©©£GÍl6›Íî€_Jàxbuuõ‰æ¹'έ®®®®ž{â‰'4ŒR©TêÀm)€—ûÄ228>>žWÆHͤÓéñã=.Àþ½xÐþ¥èu666Ö×eðÒ¥­o‡'å:*aÐöcÀ(u½ÃÐ MÕ2™LZÓ ãË««_ëçrÊøx:3žQ%—Óº é:BHÓ>‹ Åû¡ Ëøð-@àû¾ß«Vв`h_€ÔâaðÔ0p~úË$GÈÑÉ‘Tjr2›Í=šÍf³§'¤¤Ÿš2«³§gÍl6›ý'ÙìÔ”y3brrrr2›ÍNÞuw6›ÈöžÑ¿–ÌNNNÍÍÞ½Óœœíþؼ3;y×]wß½;kNMMM¨stª¥»³ÙìÝÙ©) ¨Él6›•O»'{$›½ë®Ôäl}ö´ X;„¸ã•8„ Ðè_†aO4›a¸±–Ä¿>ç–@*fÞF3\D©ªªŒ«êqEIW2™ññÌø¸â ¸,x\QEU”ãʸª¨HEjQW1ç,„ã ù½qï~ât4@76.mm…§ð¥h+ß±ù>I`dEQ2š&;¤ð„aF£ïÓ4MQEÕ4 åÒu¤Ý6p¿èFÃ]€n30cø ø_ßã aO<Ùl†aXŠS\O>ùä“ÍæZøl«uiëéÃ`é@¨XÄÜáó%„p«HEª¢ªª¢*ʸªªŠ¢(ã*FŠ¢?®(ÊñôqEWEEªŠ—*ªÇQ‘ŽÃ‡ÃN©T2J]7@*üÖÆÆúzØ’2àÒÖÖÅF£±ñRoÅÐP ÔÅ×óš¢(9MÓòº1| >žWzˆò©0´`Ÿ `R ̦:­lyyÙÿzàwc+=1€ ¸x0ˆQq¸8” ¿qª/˜&ÒH³Yih§g«öéYBfgg«võ !³„ȰŸifMÓœ5§¦’âla*;õÈy@›ñ‡\G¦Ì)rçT»ašG§¦È1Móô,1‰]í¦#O“¬ifgÍÓ¦iŸ2kšp„$Ï8 +G³Ùlvrdò7Í*…EBȾø¥d€'“ÕŸ ã‰'O4×Â*uºÞçÏ?ùäùÕæÚs­VëÒÖ†Ñxn_«ÿÖ·¾õ­o}kkkkK8ÎÒaD*ÜYâ‚#\dLŪ<×UUQUU‹ŠüSU‹ªª(ª¢*ò‡*R0^¸¨fŠx)ðŽÓ7)§ ÞÕ[’—6:Y€­­óFc£·fxkòZNÉ)¹\^7VWeÚÏ8ÄZú¬ÛÀò~áµ}{J¥R©„{ÀÞ^ æ_¾~H LB²#¤¢Û@Ò(ÿÉݼsЊ Äœ”:Û<ý!p¾Ñ]j¨îÔmjUÛ®B©L¨R%gª&R…j­jš‘#bš¤JÌ‚IL“˜¦yš²&#™¦IL3¡ !gŽDp•3Ô®BµJ©9•BÎrÈ +„<²pD&!ª2I`š¿™Ì‚i’«´R©üRÀž^€{oO&h¬®6šÍµ°Ò4MK ðä“ç›ás­Vkkk½Ñ‡Ú}ß[ŽãHܪÂãØaK˜«ḚÊPaŒ´øb#©ªª"Uúª¢ª**ª!sŽ**;/x Ñ›ÛãÄhÆ£?6d!@¬Î7ç{[¶.µ†GûÛ‚åß=èŸÐó'e¼ ¯çóù\.§(š¦å`@Ä|¸ À9.jû5²e¶ì~ô`0Ø>ìc #MÕ €§\1¸pàš(LI¥îÙl6chªªªºnh¹\&ßxòÉóáúF«µµ–øÓCÿ­­o}ë[[¿÷­­­oI°´äÜZ¨Šª. Ìâ€S1âcŽQ!¤*ªE¤ªj!ŒÔ"*ʯ‹*Â!Ça•"¾+ÇÃØ~Ç hn´Z[2°ÑÚØXouг.mmèû,Cïäû‡|Æ—W Ãøòê׌ÕD膬$NÜýdÌ ]ÿÌèNœ{€÷¸x_gý ð}¯‚ï@€œ€‹ªZ–+++++/î> N1''³„G"ú Ú¦Ô"„TÊ–ð(ÀÎõEJ" Ð&ä!BèîÕ祔F×hD)™! T–Ì™• +Ð6‡":}ÏCòH…,< +ж)l •J¥R©BjÑ÷ê”D”Hìœ!Äz„^¿J~ƒF»jý& ¿cB©˜fÖÌÑÂôô=Ãð?ô˜ÿwÜñ…;î?v»öìþ;º¹WbäÞûn½ËÀ<ÕÕÕÕf³Ù ׆&»×r¹\.—Ëå'ϯ…1JO'&ÿ­­oÉó_`kkkë÷¾Õ :± +¸ŠŒ9Çcc9FqÉ9ÆáŽPU¤‹ETD±"*2†1w–R•"æŽïñƒÐHþl47¶¶Z-Ù¸!=€ÖùF㩎õ·Z­§{ýýAäû{}9NP×óHË£|>?8\P?<Э\q0â~ íÓ Ô ô(€•XÁÅ€\€e†5U-öµJô €8ö_•çcÀ4Í +!„T ©BNB Éê^Bèô£ä ©"ëv9s†B BˆÙ­ "„ü6©B©,H³­THç§ò·R­Õk5»ä Ъ „„ø!Ux(Ù\ºfv2kò,ì§ÿ÷Þ{'î¸ãŽ;mó?vìþûº¹Wº‡Q{;×@NÉd2™\.—Ë)™LF3žl†áz€ouŒ?1ü­ouG—äÇÁ"€« +*"Ì8w0œ1Æ1fx‰#Œ1à sŽqQU•㊢¨r5æŒaÌ1^r0ÆE¥ˆ°çÄnðžß‘¾a” $ p±µÕÚØÃP¹´µÕjô`cccch 7'Ø9ËûŸ‘×õ|^Óâ1ù¼†4]Óu¤iy9\HËçóz^»]ô(1à€R c\ÂÝy`H *¶ìÁׇ÷(€½AÀ ®Ã]ù¿ ª0ô=š©L3›p•ó49%+öª„@4M« _EÈ™*!„T« €Ì™• +é[eùÐC¤òP÷‡æo“ŠE΀mw1tµ@ € 3„<„ræ€sÖ$„Ó1!@çöÀ½wÜ1qß½÷Ý{ß}÷ÞqïwÜwÿ§Àý÷Þwï½÷Þ{ß÷Þ{ß}÷ÝwgÚfp,pÜ(€¦ªšš“ 3–ÓóÆjJ„ß~õÛßþö·¿ýíW·¶¶¾ýê«[[[[¯~ûÕ­oÿ/¯vÐ5ÿ%Çqz‡É÷½3¤¨*Æs†X03–±"Æ ã¢ªŽ €Šˆ Áư`s‡aŒ„ñcbItdq/dŒF7 çy?ÕÀúúÆÆÖÖ¥VØÀ–,Øhµ”L²rñR’X`¾{øËr a1]Ïçõ¼–Ï瑦éùžŒb^Ëkèv+€/-ñÖºI±w" øÁaÐQ¸w"ÞS t°xj`€3CÞ©!G''³æQó!yâ387öĽ7 +mùH H€Ô€“*!P†Ã?Ýù -À…RyÊý`ÆWpTžM̧€5ed à Qiï§“(+cóo^êT Üd, €·€w£³Ï´@öý€…÷ \À|„Y[¨W‚€€ôýù÷\+bfþ'Õ¯+i ÏcôÅä‚`ccE/{½|…×üB‚ù¿2HP¬ŸÄ„(+—‰œÖ_[èÄPW+ /jã­—^c«²gÏýòƒç-·ßƒÿeSÛ^Õ{i<ë -8âNp+f½H¯Êÿw¨âææ'Êú€øv ßS¯:¿‡„5Ä"Øö|ÊsÌ>æ (˰ -c@+šn…ƒ™ù¸Ð -W}TÅñä®îè—/|5c:æÇü_TBF½d`nÊuhO[ÞÿÊÊ.€¤¿*ø±`œÞ±ß~Œ$0†ï¢–ön@ÿXai…¿6HUØ•¿+q{—‘„ô:KçáÖ -´sewmgIüE×±¡ÍS­¬-Aôîü•¥¸Ãm%5ù_Ooʱë"–;tcñ;Ö&ú—Ô3B Ô¢4®Ø 3€Ìû‡dð½ˆ&ïLïgþ•ä¦õ Àx°?„¡túi1³VïË~5?Öìð¿9€?!¢OûhÜ7ÇD '¢Fصïc&ž ÖüÑö'ÓbP„b¾+øÁf -€Éµ€~—M¶›³É8€€+¡ -pbीÁ»=1óܟγ·p?=­ô›üþ1w»Z´~ìñ^Nhð{  ÐQpw3¸{ž¡Ý{ýã¿a±ða„¿œÀ"( e€v XiÅóVÆJ¡‚ýç’ÐôIê=¡˜ÎÐUQÐJ@€€Ù¤z#(1§§eÝ1ÜFŸ=_Ð~wÏ›™`úþöæøðàðäæÞ§‘Àx "ú½‚CE æ[Ÿ|²½ÍËb{àJ¦„7ŒÞ¾è¯¾zÿþ}àŸÜC €çÍ Óó^ê5Tæï¦èИF9Cô—Ÿk»kkÂ\×§¯,­ÑÔW?l#àhÉt›î@¯þðúû飿ØøÑÐ`Á?PÀyõ:ùòΘ }µ°¶º* \Z2¯í¬¦«·…ý;W—o‹\ ðY+îÂO¿²*z°³òX¸‚ñé)èÚÎ. í -vÇ8¬#s*¦r¨Ç—VÄhV– ËrÝ©—à‘ð\ø×Ó¿  €øŒ@¼Çœ POë¹Áå%\ú*"_•zW”™4 þ¯w¼ÿ€ÿ+Ëà¼Øä}´zt®éHˆúw´¶ ÿ[¡¾¼ä|á°/³ä{œèAû&2ÍE ˜³­™ Ÿ -3€xsåÈ1&tïÀ|ö{æ²ý,CÌC–½}þ@ôDLà?µöב;9›¤Ãñ­O6ˆ¸rv¨0€—¨8JžÃŒøí‰™çþx#Ìô=A+€Ø@W+~øßKc¬¶cò -Àò­±±þ±—j¿Çw¿J3`ñ»(­wy@'Rãm6ÐGàRØQ€ÌÊ7 <ÇHÀúÊ6*OKó)ü…22eˆJ À± -€C¦Ê0I&€wW¸((ÊæÃ¿í¯è¡„:€p„ÔAXp Œ(@aPïU|èE  Mˆ~Ò[ÞØcð_[?ýi &¢üÚø_|©qTª”:SÄ.3 TtÇÈìÀo/µŸ­Í½­íÏö¶¶ö¶Ý÷ý ð0Ÿ™öù`Û´ëá6 -À`ar €~\ À&„ýzÇ€ÿÛŸlB—E››Ÿ>øt«G8}J§q~8ýl¼DÀ/‰—µÝhö" -À2lî6þLn 7@7<ÁáW–o?~,ïœ5!ìG<ëµåúëG`n ?÷°þB=ÀOÿCCcà H«+ Pï΀–våæï®ì¬ -i ðX¨¯5¸‚ô±êµå¡Õ9T!è„Í—wõ_·z{yWïA¿«ö¡*Ê—R¯d´fGåÕ΢ -YÜÕÍ€É9(­„áf|y3º–´pýÌé vô'´ôý-ï,/=v@‚J½6&ÏwiU”&˜}~{ÿ¼,;Þ?‚ €WÑù!=sýçýYü@–°ÜîJ«€äD°òK}Â?‹@~\“iUÈ©y¨p¼@&O¿íòwOY@{áß{2S.ÿ’À² €¶n‡*ãÿ÷Q®Ëë -@ðÓË~5p¤€^ÑzI˘³®e\„¬ ÿqñ}Ïùt™ws83ÂloŒ_]ßzð0(€ß/‘ð~¹ú†€ñÿÓL  -ÀeÐ[%¼dN¿új‡A0–`œŽ¾F|Ò àw[³R€¾*@¦ná‡Ô1ðœ&–=V˜Ë%JA/+ý‘÷ uþ¸.Ð÷»Eôami(bº‚^«ËKk« °:&/Ÿ·‰Œþ—ëžtí[Ë+ã D[Á¥!a«rZ–½²º¶öxLp»»ëøåÏNðªâÐjtÙÛ·•Fÿ®rÉWVn­*9ý -ÝEˆ¸µ¶|K¼cL3nQ¸LQUÞUªô©!Õ¦€ý'ýûÄ{ÌV4ˆ‡Ü~þ*ÈšnnGÔdylíÖ-ÿl)zÿZ#yÀŠ»²bÀb¿ƒòs¼;üÿfÀR€P<¹i€¾Æsïaæõ-½ˆÿþGLˆŽ¯Ÿ a-€þI;u¿§œ þMSŽNòÙm9¨ïoÊ%Üo„ÿø° ÿ!™ÐýŽŽÛ&é¢< 0|åÌ`ùÿºÅÁïAŽaáe €‡‰™çþ´÷ñ*í¯ô @d2(øÁbÄ¿!µýbôCºî ƒxS/0D·ˆú9cTž_5~E?øß¥ä[’bØ“€•,Õ=¥ï׳|H­´%”vP]Í}²AûÅQÑWæ­- Ž„……þj ”jçç"MmäìÁ•/ªÄ/Wˆ "*±DÇü‘®ßÏëÙ¨¯8A¡@ãŸF?q|5žkmpzÂr웎vl±øU¤ÛÀµ€ê%keÜ#[—"ŽÒ’äœúç;‹«Lh„k_rˆöOëöh«ýÿgè§´…WüzåÂíÞöA…ÚNZþ½Û«WÝ:AüÏc à×9báÿÚÑÍO‘˜~øßþ‰²Á•o"zržéþ&u( êŸý½ÛÔ¡ÉGÄRq@ @Q ÙÕ3IEøºà›×%ÐUVïæ—£ººèŸö¾Éðl €g‡'(8ŸŸ»ì³í\î¾þ@æù.@÷sj@7= ~9»uàÅ®_]ì[Ò¤wþ5Ü~¼½û¢§¨9G,{Dÿüõ#ϱ(þo·ÄÐŒA¤-¥"ç¬^pk׫±€¿“ ­gß:J7ã òîÖøz¾|?CŒCv@/G¶ 5Tîe æì'£ B€x+UoÄ™óå¿:  ,“¸yñ÷óÂtr´÷Àã)‘RT8¥…Ži¢åLCÆöÏOž˜ `ÉUìÍäAy³xõ§dÕíÓ‚‘@«Öz/‘ŒØ÷ -üçÐÀ<Ðî¡9¾xlêÿ—,_x/ÃJÌI‘°B7R°Ž@ÛýÃß›Ãuо@*”÷¤{H ûõÖà* < W÷÷Kõo‡²@Woœ Àù €gJv”Õs¶Ÿ»ì³å¤vüŸñ@›ð‡ @ ÀÿâãÖX&e¡ò‘!]ôWE€ÀP£A‘ZþúŸÿçÿW`MtÛ_ ìíuåå"~i€„ôØ`&m?±¿o‹Û·ÊýuˆúÅ9Í@Nûo¤±P¢',6–rÅÝnÀã·dfo­TÁÖº@Û}õ'«ùÿ‚ö$±ïgóõÈ…„ÇË Ì§£¾#¸Vš¦ìVî'ëåj:œÍ6k‡4Ö#ã¬b  ë -¹¼Dž#÷âÕ+¿{,ÀˬCA]?\‡Îx¬ýw@×4=ð¯ÃÖ!H©ÃÆÙ¿cÏîô;0´\ÔoX®A ®ÐûøN¸x¹{‚‚ÿ_´óÒ-¯ý²¯i|‹`ŸH„Úk‚:Ï*š ÇÀ-õkn‡ð7ÂýÁàÕðMoßpdöΨ¡þ>5ÜRúÉê9ÛÏ]öÙrRÞ8žñ@æpçkVúÃæ´•§®8ØŸààÚ°,ݳۊw„¢ü‡Ê -Ðo‹ÅðŸþçÿggØ{ À!€çY\wû€ÇsÀ¼¯Yê¦Âús¡2ùÑñ§OÒ7>îüüió±¢]4Tç`ܹœZ6ô¥ôe)ú ßÖøovo4îÁç/Îøÿ‡¨+†Þ­ðï J1¼´gpÀ£·"ø#ýˆ# ÉN5\£’—ce?ç¹á1ê÷§¨8Ï€Àp>Ÿ¢øÃçÒ—ïÉdL{t@t{rõg£UDÖ³¼–‡@Îßæ+¤šåf6ÞLÖH %ƒ8s!§{Z mNôä¨Äó—ËP!9@®# ÕPé.8¨ýôg·@Åw4”~œåŽŸ¶DÈjÈiÊߺ/g€¿Ð< -uÓîõh¾±ô?>&XNÀýŠù$þo-±Å’ó ê&Ô@À²ÜÄ:ÀÕ½¿û/[öÈ”b(о9 Ϥ§™€Sà¯Ð,4 @¶;ü¿x·>x5Ôß§ƒêÙaçST?wÙgÛ¹Ü}Û[´Úß;àÁ: -߈ W©•ð! ûòdO‘¹ø@&<¶D9–wû€šà$¾» 'ô•9ÛŸ@zúX -½}ªGƒ¹îTœÝæx+¤³ò$—3òת·]ã~¨×?·†è4¼Ò°?ø?=˜Ѐ88macP6ÀÝYj€dš.±gøoµXB¢Ä°`€ÿ«5rÿUþX2`ûÀ1 ­¸³ðÌuöz¿vþê•#ÿªö{› k÷w ÿ"a: ÀÍí§n! -®8B'¡‹ þüù`À£·”öÆükxØ U„¯ô.ébæW¬ ò¿hH»]Ÿ/}+UÝ÷L’» ¼ç«)· ÿ~‡`WSn7ÍÀfosºdŠò0_߇çè=ØÓ¢ ôÂ(D°sçæÅÇ*žê@Ì€ŸèÒH θôÍÂ¥³äYÈõ€®—.:ÔŸ¨°hp˜L棥ÉÏWÃátJ:³õôr4Z!H’ê0mÔõ ¡¸¿° €ôŠÖ,Wb¼ tÔOÂu¸õ‡Új¿IN÷³Ážü‰Í7E|ÝNpGCñº­¨¿cïŽëp•#V6Ü&¹ -«lñ’,Â3À -þG()  ÿ’œÉ¸L/ÛVž~]“ks-íýÙŸ?Û Ø7@ðà€;*?uBÕ~ÁàÖQ–Ì˽WÃ7§=?fXøÿ¢9RCý}j@XTýdõœíç.ûlŸžOXÞ@ ÷y<| €‡ï˜ÐVüê€-µBî“z¯Ð/hª[ y àÈ`‹«âY®<²j^a¤ }e¾_²(Ë_ü|îí˜èÅp5 & S¬:®P€øî,ÞÈSo#×SôÔÀù¿ÿoœpü-€'×xô-€àÈ·,Þ ç8ýoßP@½°gpÀ÷)J E”ñùsž°P{±PÏ›°íòâYç'Ày†õïtÔÿq±Ëà?úÞ(ð'¤“în¯>ÜÝê†2pK±f¾=wÀ~8+å[ïz»ÞÅ^'‘!çx§‹jÿ§^ø2u.Â|Å -p x¬Sa+Tß ‚} }‹Mu9†rà”tyäçôwAîøTUïH@nuž~{—ºµçýá¹½Ùð5EÏ,7T?\ñENÈ‘ÞÅû.ë¢!áoØbUöœ­çË,´^¥ÉŽè’'—¼m[fÆæâjÀÿ)øÿ³ @pêÊÈQ©Qø‚[­1iìkÿÁ}¶:â Øs÷ÅþÚøk$Â7;§T›þÝûrjWÏÅñÚÒ€;·Š=$ìž{¬@Û˜Áÿ=Å}G[üïì;) s€ÇçoIŠ`—R€_dîÊó%ŠQ¥³(ìÿ:ÄW L­ -pHb~þíç[d@@xwqþÒç¶þ5(”Z;´ùmî²Ï¶s¹ûú[eø+| àÁJ€ßÐpv(< -õüsÝC­£{°—58½þ`0ADº Wñá²»òcžBC 7AïÂ(«£`—BÀWæ±ÍÐæè»µ„y’­áˆìaÌ5¹K?êåÇO¾d(êÛ:Žãµ «,OϰB,©‘ãøÿ Àû*´e xß¶q‘c; ÀvÀÙþ[ -ßbàp÷K†ö¹ÿôËGÜ¿Üòù ö…ü¿üäóÏi¶O7œø#¢ÁnÀë^7@OewFgv÷ñîÖ -EWø‡Ÿ?Þ¼ëŒå; âG„èàÿÈBû±ž¤`x ]Øù½V€ÖrûnMÕï÷çóy$ Õïçhå~ ¥’£ü“bRÍ3ê£]ÏÃä $¢çG(Å˽ ?\ju€¿È ‚iéÒãÅl>ì 'ðâàjº~;*\Ï–Duf5±ž-Ö›ÕhµÐ"Øg— Ä`ƒûÐ~ˆ\bëαE‰ ˆñ”2µâ= W´MËbâcg’…Ó]”~å:Ë(ÙIvÚC~ë¾|óÆ -ㆂNš€3[nZ±¼|ë¾9i°m@@0ÐD‚r£ì ½Âýá9'¶ôÃí)Úç¨)Ž<1"~@½ -8C`rÏWÍ·rÜÿËL*è(¥Ö²÷ Ý‘’.É;?~iª üšðÑýÚ È97ùÆ×ÕðÍÉžÀ÷*_F ô¨!ÔúÉê9ÛÏ]öÙrRÞ8žñ@Úðƒ·ò ü~ À¤›p`hëh ¿t½O­¤Eà½üW?¶tópØ›øîwu yÿ›Ñ) -á”ï{€ê\¬ä™±ßŒ5DlöÌ9µÀá·L“ÔÛ_YD~¡o{ÎX¤&àã¹,@OZP“¹p @»·öVÔð{bÀv»°Ô™ý˜Ý"µ–{æƒ\ 'Ýú¿ŽÖ“ÑÜ>WS+4~z@þ; €…ùÊ[É0döÏœ Ë_´P{Ï€{ëYŽW'Ÿ‚õ¿Üg¿Û'×äUûW*îãú|÷ËÝçO pÇvwuq>¼øpûùîÇÎ`×a·Rz÷.·ŸÓUÜ}üçÏ7oö-¯¾KdÈø&á,$ÿß6@@S$Í/[¢ù—òX§i#š®M! †J÷Ùô=~h6^/76hÐ -©cµæÜp¨G[$iÿ٣ϗ`êû©â3Mpìky³ "6@±'ÆÇH\:Uo²&eEƒÒ©ñW&µµ#KË4"ãˆÂ-—TÈjCò`óxñ÷~ãW•V|õÄ?¯†å_q ë³h«¾Dýô€9Û Ç˘$èVU­2-5ô/N½ðwë|[KxŠòE`[î稜ȟ: €@éñžì»=¡Ëww®À° —m«’?¢øŸ_í¶-…ço ^ÑÊàŒëJ¨‚l=8´ºyLþ»~ø®¶ÿê»|õÏw‘¬ãvÊÿÊÇP¡àñý-Å_ä¯_,YÝ£¾¬@ À»wǦÃ|…êïSƒÃ?ÈpðMøÑ[4Ûßgj€´òc+Ö[t,R++´ý—Ü—š`—ÑXô ½Fš`øØ àÇÇòH»`_› T°›ð?59SÎ&Oqì,ö ðÑ€Q€±2Ž#ý[€ÄÙ³ôŽ[¤í·`@Ž-OÌ(þd€ƒ¡h) ¹ÙR¼NÍMæ?­ÿͱO;¨ 7Ëûh¿h]=Âÿ­òİÿÀñ-açØ:û€oœïûϪô¢ýÇÏBýG_þèëë¼ï>û„øÅ%€rN„›š Àv¿é+Ð[à}éݹßÔ -®âîãg€žêÆNØŽ¤«r’û¦¢£§@瀖 Â; -ð?e8ŽXTem¤ÂšMU>ÛÒ׿¼£Þqæ¬b‡½Ù¡¥OÚzZe@:GÁ~J+q= qÿÑäR0 FúÞÁ2ÆtK·  -õÑö °DàYÊ¢¾ñ`tà³å,Úñ`Çõp6#ùN -®ûybSèÈÖ,)§ $÷ûç¶]þ¾@«i%|HgtCðæ›¾h׈KV¨³ýta“£©m ô/ße ë äTÀ¢mkþÖ}v´WÕuû£€:ÛËwwîÉ.\Û £C ôÛ!?Ÿ­ÿ™öÏã·ú ©Q‚„O”/ùzi+<$¾°þ!Eïï,* @¤í5÷åüP?>Ðп±ÜÖÀy›puáç ^l€êïSÄ®Ÿ¬ž³ýÜeŸ-'µãÿŒ·"ÄÒ÷•&ýëÐQø,MÇ$´7 { €þþˆ°{¹ÉŽá†âIáX'À­d¯`˜õ:¿j8Kù@±—¬°ÿ-€$l²ƒlžœP^ÉNtK%èûÀà-ẅ? ão|á[Aîê÷ÜÛïɈª ÝÄZMó) €ß`›o[ÜØ=”vÃÿÙÎxhhY~Û€X<ÂüQ UùÜ9Ûÿæß–à÷É)ÿ:@ø6ùÍÿÚKŸ¼ €s>o_¬®¤‘ý=Ûù»|jè €_>|ø¹ÐN¨N -åÝ?}Ó7Y€ùHW ý½V€Õ=PÜEZ„¸J£¦ÒP ÑÙS øßõ3±Ø*ù¹WtO3£‹O]{Hûî! ˺̬…Òwy¶-ßÓ®44¡Ô¡^,_Æ·f d´] —S¹¶‰Ò-‘P¬v5}†< -iûiÿÅg¿w>LŸdë=‹õô€V DŒ&øía„á"gÂw€ž-›?+±|—Ëù×$€Öx«ýþž}ÑÖ°§Ðs¾¿×qäüЫ_ MI¥û£ü‹éoqhÿ×à‡úâWXðþÔž£<+yzŽm[ü加½0o¼\ÉÀ]7é/hg£Û’:ÿUð¿9j!¿ -âwÁðÍ$Àoš»ÓPŸ -muyrܺŸ»ì³í\î¾í-€?n@:„§ß ã@‰¥úowøê„3žÄ<Š»988b82 ,¦~ëø•uD¼Ý€Ý$ÀÿX¬ÔÎÂí`€<˜k³„×Êò± ëësŠÊv¡¯Ìø¿pGGC°ÿ{Ó -›û€êÎÌQƽ;óùúßFëéÖ@!à¶í—ðÿK€ý9ïßÿþ·XŽÎø¦u:ï{4ÿŸv_üã$‡ö‡¼¾#PŽþ«ÿóD¯!_ã+Mâ:Ü”Ü;Ò™” -¾PiÇÚŒdìÜOªÃXÄ{|{›âü—ãÇ7Êö‡€‹wo^?ç9}D õ÷)øßõ“Õs¶Ÿ»ì³mýìJ[Þøk~ `»ñ³çt4¯1Æð-D zaOždë¨àsR²ö÷ðå9úm-êÖÒ¿ÿ—ÚuŽ/̈W2ÄÇNÅœ¡ñ}Ö©³ÈïWæ¤ÔûX¾?bÍ#¬ö-ÀÈ<‹ÀßÝá€#o¤0”îÖ°½”«ÒÔ@í=o@;ì{êÚÂzG{Î'(o ¯´ìÏzCôg®e‚Z£ñúèÀÏwwŸµl‘ý@0~$ÝeÊSzñGDÐ.À¯ðB+€'êâB×M›f;]émÈ“±‹éLPF(Àw>D‰ÏTúeâ-ˆ°åZt#eûÕÃE'£Þ€È®‡ÃÉ~Æ5sÁ]—åA"0fkîkP‰ )<Îæýź¾^,W")Äå%€<ú€Sã/×q œL#ÂõÈ/ó œ(ì…¡ù¥$€-–8Ž P¨t`iø²GëåéQqÉÓüß¿¨R.VICÒÃâLåÒÂàrœ’Òø¬n×ëGÚ¿ÞAµ'7à)9m÷ škÓê È›*ßmO,çºÚéîRšÿòèÿeß÷3€-s¼°g€^·Ïø«ýC±¯åÙý­ŠL•e籡üÃ-ïþù€j7ñ°³(Y4Ñb‹ø5ð§Ç£øWü5ýOLJ?Þ¸Ä×ÍÏ®ÎOý ¤à›æ„ìïÑvÀìÄñú¹Ë>[Njg ýú[mÀ‹¿@Üæz@»9_]€þþ `2DÓüƒxî9á‚lZD¸í€Îà{ÜÐë ×ý¶ˆ -@êWçä­¹ÿðÂÔc¢Þ`S –Ä[óµœzÈB1”+ƽ¸ ™8±‹x§OséuŽP_ Àƒ·ŽÌ0Mï&z¿"]¤²ï,Ö²õœæ³gØü›s´„>¶ä`¶†ÿ³+ Àñ9_µè|š`:̵P›Ï›Ðûžq5P •àÏwŸïoêc@ö6ÛAà_ň_³@Y ðóçWç]ºA¿³0~椇£¯kÁ^Deð/ †‚èÓ¿ÀK¬PXåÒ6+”ŠÝi7~SGôtl››qÂãmgÚæTi Oò¶‰ÕÚlïç3hîŠ<ƒáTc[Æ ?ûBéâzq½^lÌQ}5/ü.1 ÚÉP…Š£FËWýr©È5¬Õoô&ädÚËÊ€ãÙ†öCÄ„HùÒuôå@ †½kM¤pUå¯N-z¤_¢“Ž%ò= %¸¦¶•ˆåoÒD«õþ‰Ð´®¬ViCOeÍJð‘†ìî¥îíngØió‡j}íŸ?e8N>ÙmÎûï¤M™°´ÌP@¿ž‚ïŒ.º7èÕé .ñ¿=dÝ$ÀÂ~iïãZÝîhrùáj’_„Ä€®p‹pã€wÝ€ïÅÔ`ª³ü*¡R)™æq{¯Sµ“ÇH§OÇY=1BuMˆþ“G[ÍŠ`Η?BD8kδ?à @)-Öèˆ8ïTù½}Û¶×ÚÆ?rÁ¾¿þøµû‹öíÿ¶6$,%ôá&ʹäȇ£FÇJàoàØÌ|z„÷ƒ Øwùdmÿ[1› M¨²Ë¤.*#€+±_R@øuÀÿ»/µäšß4üÖ!€PÃý-Ù>ƒèF ÷¡“+žƒÞàÌY7Ȭv›'Á Ƹb‰K?L—z†€«  ¾*Bð¨G~¹Þ”ØR‚0þ7øÇc_ûG0ÙlZ#:JçàÖ^cÞ_âÞ§­àP›ßž––Ÿ€ç‡€ò,&Ÿ$ñ¾~mk~PØYò<ìS^ Ð8ÆÓ¡Á2mf™àt¸ñ§ªº“"ÓQØèO5‡‡QŸÇäƒù1((¸ öísj%À«‹w¿Ç5àoÔ:Ëç‘jXï$UúÔô·Ãŵ[pj@ªóþéÉ9!\áÊçR•oÓ¶OõŽêùvÞÊíô€2àÁ:O¾p|Àhè{@öè…ú þ¹â? —s¢]?| à sô€v;ˆ'ù̧èpvæ tZ þµö<4"úg·+‡ÙPÞ`9eѬ"Ú+˜²—õ¦e–ÄN_\"•о:Îý{L'}WW¯AÂ)ùÅ®~vZ À·”ädg€?Ù#Ag0y3:´dÀS?ÇÒÁÿ/Íø}ë X~Ï:=q}‹ ë\\ÝÜýË}›`?â>¿ü¿ñc€·ùߺà§O¿~"|ë_PGpnu“$P]Zö: _×-ü…ÿÊ…‡R ]#À ¬+tVMìøÅ¬ Xûc¢hsÇo8Ÿp °]o”@ÒËšS©«¦K3QÊã^•nAÛ -‘pð…!‡Ë ù9ñ_Ⱥ›iæõÍibx,®— |Ì‚°èì„ð•;ž±¤È/ˆ×ðï5Ü«õ¨?çË,0k\ë%Àb×+ç(DÌæ›ùÜ‚ätY¢?4žÚ-ÒÛDl–õ"`šUþŠž‡X<8ˆÚàŒª“;ÒõIúúÀúw¤¶¾¤ýo `âS?UØ¢Ž‰-=Û}°£ÁF‡ï´ùíþáöЗâìo_:áxŸR lþ^¿v½žx+ïQžŒ^Í“UP. ÞE^í@^*àØù·+º¹à3wª! ‘)vL¸ºDï¿üÀþêG¥€ -WN¼l³Æhq¾ö‡òì<‡Ú»¶ºœs£ží?pVû »PtB„=EûO×ßëOÕRûdÏkáÓëó =ÜHš §y*)CeèÖ #~É{\6A_ÀˆÄ©ÇoðP>÷-€ô=VAíƒQŸHP=uWØß$¨=)*Y¶ìÚ™€«˜"_ô‹™q ~`ÊNEܪ»±é,FîK( y¬’„k-0)Ÿ±(Þy³•Ï: @ïäÀ $à[[ÀSotAü˜@¡r0 êJ‡sßpþ‘*ÃP -csˆó)l-ü¹ñ¿s@\‡žåj¸þ|ºßY>\½îà_¥¤¦Í7·Zÿïnnï|ÐIƒÕChíÔ™ÞIøgkS²;nøJïrÿnQ,CBúW¬Ñú÷Ã’³Ì³kãÚ«!ºôtÛÄ<Ë„fËåd¬à§r«©Y©jƒøOóW ·ùÿ“y¦ó9Ä0Gþœ F«9¨9&ÉMüD ˜Ï—jÓø #,~I}±f’±:ŸLzÃín¾p|Bù®¯3r@Àµ/ ‚­å -·ôV H.hæ«IoDÆÊ1H‘m"+¨øÀò4úÊ-bÐÑÀ_ýGû§$!9RfrÙzB€Åò!>Üd`eYðO1iÿТááñßNøƒè¡`»¯­s'ÔÁygØÛ¾fè„€‚ýι=ÇËÕ,õXl01(kø5 Tùö=& Q N «ôÚ³~‡øY—swºG@þ仫“Kޏÿ|øßÞ, @­è,Àßg€øCÕU>ƒèþEyÁ† 8/ ~xÑŒÏN„òþ9g Í`Úóu5žR€Ûˆé÷7°ƒtì±ûhÊœ? Öxò-€c€œM3‡à_¸fxPwx8`kp „ö/ÌØˆÍ¿ýSg¨!€ØÖãÍ¢2«' y<1÷ÇD©š`BaÜp(Œ«-ÓåâqÂQ²*\Ÿž"ø(LrŸWÍ’@,‹CµÚ­ûü+ôHÜ']rRH.±PdlÍVf€/ÎpAxìCíž¶e€¿îÓ†‚ÿÕÁÑ;¦ùîðŸ¿/ñó§«‹NE0R=Dôhþ÷ðhÀW°?à/èïœ[ þ5+Àžã5wqñ^çb¶ZǘN¬qóádŒª tšÉ†0¿¸1<{õNUtMæ^*‚Úy g5Æ×ähóÉtê €)­v*gi߇Ӕ–š?",(Rão±D‹w† Ñòò`8ášP«´ @ùÆ=.)(9Óm1‰`³Ö`dä‡õ_æ -5#G4YªËð«™ eˆeõP8Éðˆ€>—]h¬‰aåàÔFr^"Œ(„)˜Nè'´êq±pVüS2¦nÿ0¢ÁîÍPÛ¾®¿s—kwîIçî¶'%€ˆµ[çÁqKNÇ‹-î`¿1¹° -øû¤ì~œå:B¥ök°¤ºüô?û’”üwV³´³=º¼ý~-Zb¸»ût¯`Ø{3¼ø1³ï@¨áÿ FÄ­Sw6Mö\ ÿ^¦—=CÝr‚ðtħýsžÖaîNp:Å/0ñXÉ·Kõ§àìñåàÛÖ 7vs|ÒDŒN¤Ä©ÇoX¯g[ NÛ¾@¾YjÀzŒ·ØÐ(ú–Ô»e­vÍéàæà$˜®ÂêT5Tº  ¯ùæjíÄø(‹ÈfŠ""é0HIúÿC €p €­âŠîà>Š7ðÈPUŒ"“̬%n€¬Ýçˆ _„¡XƒÇ@Y¬Ô¯¼@«lDR´IeŽÇé6wsl%OÎÐðŒ99?ô,W¡ú `ˆp{÷YÀ~EŠòz{.ú¿{óö6#w?ûݱÜ\¼®Us: Àžnbÿ“]TBÒWe€‚~wM -`€)j"À3­î×#Ëóå„°ùêÞl®âÇÕØš“Îìz³Z€»!€T-±“ñhçÞLnX ±Š"êÙ¨Ê4?íôK`ÓOGW†Ô’gó@éh2œ]/׋k`\yÌÎ~w€¾Êæ^\kÓçª|£qäzƒæý0EWX¯7ð¯ÀàV=9¥ÁÇL¡“æ&Ãé‹l¶}Ÿ¾”‘=÷À¢“C„+“¬Z0š DüÅò}É6p£CzBû½{û4ýáÀ ¶ro÷q<>?´4/M»žî9éŽPš=%Kû[(®_žN8J ò˜‚ûu¬Sá^€'Í]¥¾µù?m¸úpùa¢`‚Ã)€nþìG>ï‘®.Þh¸) àš>þÔC i²K¿Jg+î#ˆ J± -S€^øœçR¥ ö‚˜XÎo:E*ßÛ„ýÎprä]ÀÝ€¯¿pd k5>ŠäÒ·Îøâñ=Ê #bˆªÄdg05l CpuUE¸–¨ÅËö¢<ÿ­€*°¼ùCxîa…„g+õެXà N‰K SÂi®ek¡"¼°³L5€ð¦›*¾ý¹ÈxøÓï €¨J$ãE`CJÛZêç Þ›`½ Ã{€ŸÖÿ6Þû@:ÁÝî,€€Áäþé-€ÃuÈRN!ùnèpŒ”´¶ñƒÛ¦ÌóÇ|  y–«Áú³©Þˆ ëØ‰Ð¥t¨Öxsþ±ìÿ®x»³Tó§?©X2À>ShwK©p‹ÿ͹“: -ð³6 åmD/^.Ð,nÈÙ¹XéKm(þs„vkIÂ9n¾0ž|—еni‘vFJÀÕ¹ž¶åûÿy5î"€¨ÊܹÑr¢Þ |–°PI^Á‚}ˆë8Á߬æ šÖ@þrIçÓiï§8ž -çAùA¶[æ¨ú\×@Ê1ÿûUc?<ík.#:<íB VHIÛç®iá>ÞÊÍŽVòNž †C<4d6ÎRFH5VÏl²àaú ¿åuŠ„Ãq•/hÿ’ ãwàŽëijE9NDn%ž¹W>j&Ÿô·øÏ#VrB;Û£XÄ}-l¸þ| þº·+èõ..þÿî9EÒË?ƒw–Àg®ò×Ý\ ý¼VaºYÚ0Ê?ýdæóÑGæÝ)¥€ Š*þýþÜ0ÑÖètw[ë±mù}‡É‡é?öh8¯¦óé -=ü§•€b4]³ªùx0_£š«ƒÃ < -ßÄ“%&nçS¢¥щŸ^7Š-숹FŸ‚ˆaÀ”#a9ŸŒím”ÄVcF0Ê5Uÿð-k1gMåA—¬õjYVíÍ›ÛÛðÿîög—þxpóîMõ‰üÓn`:¸@?Ú&€„Ú§gô,ëuÃüÀh{‰€ë¢ïL¬Ú\y¯)I"¯®×¿Œº— µ_hÃÞ+€3”W¶Íjº>Ù4ÿKnØÌ¦B£‡ÉÔÿÀóhª0_+7þdêáWY`9š+R"f‚žÚÿµ¡/'0i¶"éj5#¬)|Éÿ b š¶ë:û>âÁZ|¥(¨öx.ÕÉ}§p…xáÁ’€¦‹Ì0¢ˆ±OÀ¢‹ðÄØÊP5ŠZ-M'kÐì×7ö–Ïøi6»ìSí\ƒ#Ï`½§ÀÆ£G3íǺ֓§ü»Zåè@ >ŸOV@5 mpG<Áv©ö×5àttòNI|Bÿ¯’O®óÕÜç‡ –<ܨ•±)aÂVRòWh€´ƒÝáQ•qG>uRO+@sSHõQb™ëƒJUÇHî“Bc¶H-0?x @GÎêZQ5¨žz¯ ["} ™‡Nðž2ÈGÇzc!é ãõøE½P(€€CwÃ|yT8@æïeÛÃñ9Öªå¢>Vt!ÿ÷ùY+v¿©.wäÜn€"Èh4¥»â–­èðæ¾ÕÁ×õÛ€Õ9˜žôl¨Lm7 õ 3Š=¡G*4R˜GëcŸŠäMv%s~Ê”¦ù}*ç O¨§g®ðì9ÛCçY®“†ëϦàã€ô%‡úB¥tÿ;§Ò=ø-€ Q^—f²WŠæ_ýáëÇßx†œäD€Ú„›NÊ€SOXÕŒ»FÆ"ðQ´,—®ÖÏ3N«¹6º3ð: O¹ÓgTh ŽÜp[™ ‡gœGOàGzè&h "%b?]vóþa‚LçË ˜EßÝj¼T™OF‹k˜Ù·B°4ÁÚLÛC‰w º€1—“Íâ2„ë¹C³^NFp¼Þ=[nVÔè‡ÌK$_š³b,ìІiÏéaѾT€ jš »ï¾;q‹›îx®éŸŒ—ãÕÆq€É‘e½–늿e‚ë¼Týê¡ö/ÍfÛóÿþº€¸¨õµ|þ̀ó î‹ó¤…è"¹ÄåÂîØ–‚|‘÷ÂÿÈÜI©íß›sŸ„ü«I¡ÿ¥»w£à×OŸn?\ž÷Qno‘®.ÞõZ”ßK<4>8Ïú·GL«2ÍTµ( –n™þ1Va H<Öü;ô½Sõ}€,êº ŸªÓЩtZØ!³i)' ç•5 À©³Û£ÞÐ¥¯'óá´çCãóMGŒ,ÐÎÆÃŸÖˆøš‘cœ…“íˆW€¼öçØûïSs˜b¶ÂBB€ˆTɬÊÔðÌ -˜`g` 78ßýDöÂÿÁ[ÖU¼k׿ø°o)þޝÐÙhठ-ñÜ:¦ŠÕX ½à xïÑ;´«²…À/(Pïf7Cwÿ&q<²DÀ›C‰ -œ:ó‘©oÉæ!d&Ó"Õ3;àÝq˜u8_ÓŽµá ÁíeØ·œõNË8ÔÈ¥]ìÚtî4€÷ãÙÀ÷œfï¾ïô^ Âj<¡6¤͇ŒëÎ@Þ1ïÓ!q­€n€ü?=àYß(G;Ïr½úüBê€XÒSÙ›ô4ßKêÿµð¹•ü€“Þp.²qÙ¿¡þ{Ðq¬ú*q7ä;à߈¨Á)@£à¨@ ôJ7ŠïߣQ™F=_ý NÏ–èÒ“Å|›”a!ÿ„ûÜOņšìªhì³Mc£wX:À„–­(à¾ÑhµœÌçs2ŠI^ýxéÃ|9ÞÀcúr3Ö¶D‚µs¤”Q&}_•,®—HÖ½fßaLùŽkÿ¹E.ûÔï¯jØ©ò{û¶m¯µÿž <Ÿ´t8ß~ž»5y·Dg§ÆæÀöT@m?äsvdpœ²¥’ Bg_©3û½'ìäŽ.œö?äàîïnoïï?}úõ—»?_Ï/QòiÀ«‡ŸûþfЦ&¸}ýßPP@ÙÙ§¾ï/.ŽÅžÃ a°<’CPcØû 2A¯?§ÓÕÎè—£„n©ÿ*ÀO—ê¯ÞÒ óìè¤ï1yÏ{€‡ƒg—ôæ<1yz§µE¤sß‘p`o€X´ÿîý¤°r"œŒ\Ôj“€}³äº{ýØQ“„³ê¨z§†ñ4 5 #Þ­“ -/$ç>s ý…KT(¹¦Çó’lÊ:(Vg†iPH!ÓdHÒGƒx¨Êþ”@ÑA`åb\=;¢ÈŒî·8ƒ]€µçËýe.îÝd´B3›U~Àó €¥<´œTß[;­?Z‘QœF“ñr4þ^ãîèýü½Æ!<ɃS î-÷Û¦—–SÅß§ç[hCÏ›Ðûžå:i¸þlªI€n?Þk¨^ˆ^e«Ù€ÿéß:SX €ÃÍÇÛz  Œ„vCôté„쇊´ýK µOG:¦‡$¤” °Ãý Ðy¦À—æ5ë¯7³Íú%€ôz1¥`æÄ^‚ncObÎ6Á,Èç;C»Gˆ&ëíâþÚÌh<æ -‡£ñr>ZÑVPì§“Õ|Š˜Ù»\!’ðoz&HÊ+'. ˆ.½\\ÏþÕ¥—«µX¯)À·Æ} ¾Wáúz »Î]€ùaß™”1Ëð ú az"Ö~ àr¾ž­øÏ}Öy°y>Ÿ€à<æé¨žfÈcãƒF»ñ!Cà "ѱ"SŒÿyBºÞÐä§±\/~C–ów\SÇG´Ë íáýÃß›7½/¡ÝËé] ðI  ýºC9«ÑÛäkàK@ª)…úâç}Ðò°?E¦æáp×Ê´£æS“„IeØÎg6¿½Ë ›sŸ„ýúñöïîîïùõó/÷÷á /øqà?JH·ýLJ_*nÒ¡F -ˆ X8-è¿è¨.NŽŒh¿SÐ*ÜŒyHyyHµÓ«rµ.X¢‘ó+A4 ÀIïT @Ð`Gó‰9öÆ}‚âÓ?Ïyò„õŒ~¹¬X‰Ì -‚ÐÁ€‘à¶Oª·0ÓlŽr˜RRs$ŒÞ;þl@àô@âÈ–èšÄtQ‡o(,íu_íVHñÖ·¥R/ ‹ðbVžÓãÁŒ©ÁvðÆmðÀ.õ—Jà.ß»V¾­ök·¬ÿãsb¨?7,y¯X ?a‘ ôÌ 'xí­Ó”Ã-ÑŽÙýŒzð¼êœÏUäPÍýiù0žQ0:ÅšÀ­•ƒ3_B±qÏéRm5´ézW»’ê €Î-Ñ7Ïh‡Ïr}£àêöþW'Úi¤'êD€LôCgoî>ò×pûñÓ?!´!€Xè÷ŒœÞ ¢ |í›Î$ôh€gO¸òPè¶z ™Nx - D-›ñµ3ïbØ,–£ž­¢ÎåÉ%½¹&NÞX£<Ÿòœws|¸hŒiÍÞ)“£ù4”ùÚO£2k=\ÃJ<ø ޝýJOÖ±7xº°Þh ŒFÁ÷]:Twµé Ïq>¨]ÏæHlØm?ü™ y_q½g b¾\ÿeþ²¦{S/o6S„ØÏhʈ³“©–«áx²šP;*šh=€´œLTÿ_"ŒÇSžŽT'Ëùl}©@®avIe­—±;Pµ§àßIoßý»wïŽþ3Rþ öØÎÿpóJ·wÛ÷Õ¸ßnÇqê࿎´ü˜ùùûøÜhùoê¹>às <^¡àCñð9y´Ô Rø ¨Ópï®’¯ýþgNnsîSƒý=º½¹½ÿôËç_¹¿ûp9Tøt{{óáêÝ4 öóHM×~Îäãyú]‡Î“vÊ_|œÓˆé Àļwîè©æÓ3uÑš˜ßÇŒ½G¨j»·Dçƒ0½þ̸j³ÚíÔAu“Œs­¡z.¶ÀÚÔö#èw8€,ÜýD<8Èü¶Pr΂þl‚ø ÀɹÙð’ЙÆn¡ƒð5ù[R]!î«-wÚ³ÉñÌÈÈ’?‹®ÃüwÄ…ð.þRŠÈ)€²x†œÅÝî‘ :⬠OY(”èoávs VÑBÉDG' EÒ…aôw`š;˧ï\þÅâ¡à>TŠõбèÁÕ›ÆÎÓ›ãR -˜¡˜ç¾æö8ËAva£Z€­Bì*³*(M`gÀ‡8 èÈ€ßù-€—[>º`Íhв3hþwðW@9Àyÿé z{:¿:!O$U•!\ õBò†1Í -ÐP+ø°Cèˆ æljàÌ„ÿÎUŽî¬ólg¶:B¿tÞP¿Ãÿîg“ï9  äë³à+z!Ÿ‰ýŒ™¡}àÞíÁ܈A|» -*Õ¿ü“îà -û§5ÔߣÛÛfp øß™þ/.Ò>‹¢úBv©±W µé4EG„y}ÿ“óþÉ«©¨›qæc×î*ÆQ ‘ÎPpfkÈ€ rwtÖG<¶Ó_º¤`ˆäH²¯@ÀCåB€" ˆ”)¶EhüÍ`R‡s€Ç-‰hpƒàÏR -N·øéf”‚<åL°‹xÖØýxb” -Tuøuuð^´¡-â.òhæüAÆÞHËì)t †_‰ãIÀò7ø>›(Ÿ‚¿…Z˜”s¤ù‘ €± Zy«‘ñ¶ô𼨡þÝ:àóç_ýçû?_^\þx¯€Çüªó4‰tR“ <^&()]ºB´½/ÅO£á0GÕr:>D§K7 êŠr'gM)qýSÀõ•šÈ8ê笿Ì胇¾9~6Ï8n&ÀuÔsÞ9žM `°tô,_Ù¤‡† -N -ƒúSc5 XñÈà¸Cý´tÝøëŠ$`q$ŸIºq'IñÀD± ‚ÀÈ” ýßn?Ô0ž¶áQLÝ}   Ù†¶äyþì­©ò…*7öJ!(ôí$‘¡ŠrU vû~ð=Eþ¾Ï -î[ÜYšü¡§,•.Ü©`FJæ•BŽê0$id!z+»M]Þ±·ÜE¨qùh€¦¡àšN² ûƒÑÍf¸œh˜´ÌÞ›¦ö Z0j¸¡Éz%¶†}Ñ ù3›ÀðY+’Îÿæœ+|®· sû°ÖãÅ€ðñ>"׸½ûts•å"H]g ‚Ôà¿÷M0/" ]F€²ÔÖ¬m ÃœàÏ+€&}/q®1œuà:ß@òÔͪ”gÃOæ>y;>]¯mTØÌ†z}‡òa0í†Ö‚¤ˆ à4zçËÍ׈‘[‘_ÈgµÙà ;«ùÌ·\aw±žãË@iÔøÅÐY~pM¹àÚÅ‹7?ÀõbìÒ© ˆ Ëãî¾À@1-”€¹ð8ÚeÒ)M–Ó)˜?›kÐX¢MÕPl®tuÑ1x íò¾z¥Æ_óõÂ5}qÂÏ9™¯øœš×Î7¤žþ•¢Ø/¾]QdÝ5ø; êþƒ¿»?ú=ÀÞqH§ñ6W´*O7\™ç×Ö¹êÂuË^2Ô{ðc+…_éÖ_¹¥?) t“Dò< õTìY -»Ÿ$›[À>(ßÐ>m°íÛOÿ¡,‘0¼ÖœôáÃßòÛ§ÎpÿËýŸ¯†—ûÿü‹Ïº€«ô^ÿçÜ,+îüüݹ"ã^F_&jìíë 0â™í—æ©€ªÐóÔùýp4 ­ÒÛ­:ô:쿲Lýxl¿N›ˆ=1Ýt%À`q -ªxܾ Àˆ¡^Å‹¨?ï/eƒNyÊSÃóî«›±ú¡€Ú©(Àžàp I=¿ýøìip¤‘Üõzâ·0Ëi—È6d ~ì-àÔkÝÎg<ö(þ•ú %s³*…§øZ½gµ¤1Ql•¥¤²C€k‘¸æ.ÐÜ~{À# ÂneôT#‰×ùGðr2‡ZþÃf€ŽÍ»6ãžr?JQ ”êÀpÚ;³ Õ-Ö~šã<³±®óI8ú¾óh°T˜µ5 ϶+먚 -tþwÈ&gO[ŽÎˆð¿÷[—WwÎ(€NKð·w‹€â=Jÿ=äÝÃýÇ»«‹f -=_â–@ @€}ä7[!bY™#t@í"h't"dp!q=Ÿ!¸¯­Íl|½Øl~V¯×Yqo¯ææs4÷Ø´¯‰´Z-G3ÛH/äJ@Þ­Ü鬠*Ëw†PþQ}÷x¼ƒË—$7ŸÍ6N)t ˜Õ—3u{íê 2j9®j½^^k–¸F@á€Hã' -B\-‰äz6ÞÀ5ed›8^¯ÑìÉgíK…›ݤ¨ -ëÉRi4ýŽ4$ëÚ;@œ!¸NFœÞ™½‡]ÀÀa3ߢq=¹žPÇ84æ.@°Z¬6¾0SóõCdoDê}ýwðß½Äßÿã÷ïÞ¾A‚ÜaÚïþípêNr<8 = -»çgv‡ -àƒýõ‹›Àçæ4ËþáäTœßIÅäü"þÄ-KíùY?ÜìwµEЃ¤t§©vd€ÇT ¿/DøõÓ¯¿þr÷weøÅ1€ÛÛ•ÀûÓÞ¹_ e}ã™Ô³ xsuaGí& ÔöðØ6åÒÖD{ý1}£=.€§Jó+:úØ‘}ƒßR•žtéÏÕþ…e[þp¤J#¤]¯нë-€š h5 à¬?A Eö9™ ì ôý®¯…Ú€¸ !7„懀csvCþf$ŒŽ -L…½"Ã+>™œ¡7r] s’ìKÕãÕñ›Þp€WL•Õp3j[4àn§Ù——Õ@ý}?Êì¿¢ Èe4^ã˜R„‚m!ž1 rW»`úZ&P[ã7™;ÍÆ§ŠãbJ´ °TÊήº¿XÈ;@…ŒV5ÐOË‘ÒäÒe¼›ôÈÈÞep; QšJ¯G;ÍLU'½…ÎØ8nàOòþè€ß½À翼ä‡p À§Ãoø¯þŽŽ:S?:9ø#ªÁÏe 8´l»ºà?äp(É{ à™-F`e´é€ÝÎð'‰vV€õwL›åb,’¢ekÃΕò¼&ºV¡.“˜»Â{Î]B:lÌX³tÜro© Œ;¥]Qc>Ž∀˜·NW¿qëB´©jö!/Læšé]3ÀY¦`­³î¸FèÑx8Ë‘D`Bë¿ævn€Ù_6+²ñ%ÃÉZEÜI€ì·‹ J®”F“²ñy -#Å@†dÀ3Û#}%O@š’û´W|¹JDƒU… 1‡»®'cEHŒ×ß<íhþÛknûÿø¡uÿÁ€tœ×¾÷þi¨´ÿ=Úžnûê 4ójßjþÿ¸Óì›)À¿xŸ9ú!ôq[̦M5Ï£Ôa¼ûüñhç¹ÔNÅ~ö-¤³k®!.6× ùe€8nnÿáŸ>Ýÿúëçû²ÜýòÏyÌoo~üóÕå;€7çïò`þ -Àð®×ù‚ÿ±\\Ø¿WÇXŽGÇr€i—¢=-ÖV¬ÛoÒ˸ìÈÏÒ¾ÁšíàÜX½¡Ÿž§¹bìël…A<´A˜Hªî…$ÕÞ¨a]ƒ’Þ¤ßéãk>Áàa¾G&æ1µg–ÄG©€'¥b› žôò!«¼ÒŸeTí¶Uc@Øþ(Ý@‡º^8XO­Ïmíø¼ÕÙ³Úéùà®Å»EåŠi›'U#›ð§ §{å,s-B©0nI  ßì¥*¿Wò©­¢†¬ô6@9às"#ú'¡!ùH%¢ìà„-o+Äý@èâ^ØwÑ—Â ‘øï–Ÿ Àú’!ÀïøQ ‰ê?˜‡Ëï“qì—Pòj‰ DÔÙL-Jš]zÙ)½!È£¸$¯ÈŸ,*g¿s@wºïY®W¿¼ˆ>ÖÀå‡;WöÛÎhºoÆÎßžŸ£ûßÝÿÃG-(š®®Úb¡~$‘kTr‹þ™ ðM€L°ÖJ¾PF€P{¶C àÐ - …³þ×õ¿n~Ž–ëÍ_³ÍlrîwõV“édÎ Þ—ý]£V/dn47+.dÝú8l4=ÄÒ9¦“¼p:›Œ+4cסž¯/ƒ¶î|Òik$òJFDØôo çx?Ö.á´~@½¸vÀ5€ã“‡R‡å‰çxçÃÁ\\®æ¥P£&ïý(¢å÷ÐöEþͲk²©Õƃ”¶CQi“éó4ä±)ÎÒëÅ}ãÚ”Ú5D—ñ{*ØÒü/KÑÞmÿßü´líwÿ2j¿g¯Ón·sׯ¿yÔIÛme‚:ì£??6[ºB€0•?M<žÝAS06`j7/À¤Þ_"A)P¿¥æ,—/’âÄ0{¤ßcò)sÀÿÏŸïÚ—þ¾¹¹¹¾9íýJWW±¨7~•hZo^¿}ýæÊ•…yhòIãáQ0oibèÏ.÷F ¤àoáMµÈùpôþ‚ñíˆ}YÜïj-‹ ƒ:ô=8ËÐ"Áë-€n€ïúcút_ôá„z½ñðìL @Æÿ¿7mÀ aÅGw0 §Þ³áøù©¢Z>ÍÛbw®bÅåGpV @-5òžðÚì¤coH9«kEÛ»æ±]ÉÑS„šÒ¼EX~`BáÖ”GŠ'/Eˆ2ˆ¡ú~µ˜®kèj(ù`þ÷cçÔë€; @þ99nðn™2ä‰e/óZ½À—¥:F5]Õiï¾–E ÖžªaÏ®û°n€€•Áˆ1ð ÝèMç\ãp3s0È•’]r ç!a…3ïfuœ„ÓP•öFNȈ³½9_°Ðäž7 燞åzÑJ€™î«àòÏ·<ý€î,¯ï¥tà¹*ÛÇóï~z 3 }ŠkžÚõ5ªŽ°DSùf  ¨…¿¦Æ -P[ôÏžc“Y2÷}œ÷ë2u>ÓÕ–ëûí7°).÷œÛw® ¤ÑÔ¬'Èc€£r~ëT­Y𦷗[ÆŽŽ ^ÍçHÚ ì¢^Gnä,üÑháAã€eT~›&”$NK‚‚´)‚L£þ;€þï,Ío¿ý¶žL\"ÛáÚgn,ÌÏV䊖|9QöíÅ -M<´µ,tftZ#„êD³i…¤µÎÀë[ï/I ¹6¢ ì”Z’úlÿÀ?$ÚGáßûÇïÝÛ^,…h¿ût¿K›-Úâ8Ž}T¯­ó(ŠßÖgωð¥»gkPÏ®kç9èA¸=Ïí¡°†ß Ä¿`0¡wa·§gße° ¡ê§-\kÇj¨¿G7àÿ?úì{€ë[; @^8?é¿Á;à✻vˆ+ÇéÃ)²ƒ€±\²¶úz¨s<<Ú›óK˵}ªˆû°ÙÍsN·/Ø·¶!€þ«ŒÐ £Ç ûôì´Nuú<£Ú`·®Úo\1(X,Z¤‡‘Å—»í§}ù+’®þ ÏzƒPÏ“ aY>DO'{s|¶Î€ÁB -{žGˆ(ô4&a)C°”ÂQçFvßS¥†²÷:蜺;| LwÔ?Cÿwΰ‡p@º?h#ûG°_#@^Šþ& @$f€oR´›T8…t-M¥ )Í9(Õî˜[®eC®ç3'àÆcø/À ÿ?\_ÇŽäd’½ÿ[w0ç?ä— jûÀÄÿ²´=;[·ÿlu, @ྶ×58VCSêe2U­ÚŽCà>¶¥½Y)RÂWùšW.™A;ü7µÇx_)<¤î ;j€_é~œÄ€(€œ àxï•xÉyÀ-0ó5ú,÷zÍpq~‘ük;œï#F/m—ò6¦?K‚€ >ŠÊ t­úÐÁÚŸô—¡F°Μ¿zöÑ¿`&!’|D RžœÑ3 xª)C·&$(û`Wò!“ì-<¼ÇçÀÚÛKØœ“4g~Ãhè§ÿµÓ‘µ(e#Liû°ã¡p }ÜJ²§/ÐÞqP§yè+olÓØÎð°Mà ¸úKz©øìÄ`ƒä"•iUÊ`5FH×ôHôÜFèû*¹ìgzÊÀÝQÞMGòjÁtŽ|ƒøÌp„sIÜ6jòÎJp -"d™=»= ÀÄ‚µ!_÷ ÀÈJÚµ -×ßÓ*àÐqêKäLJ¡ÈçèôH’çi¬Êuén HA`²¦Q’N2¢xøoV<:Ïr}÷.χû@Þ¼Ü$©§Ý}ü_ø_ôm¿"°[ €&¤K$EˆÌ•~ü-€gP $@€]x®7"tÀî˜`;@ðöD#qz;5,DÒ\…üÔxðÎû-8ûåÜñ{TiãeÑG_¬.÷UM2± †ß›Îx–G¼ˆs†¤©€ƒ@9QÔp& i -ÿ¤­ŠÎEþÁâÙ’V³ôc»2íçŠÌžà»qíƒd†üm.ðr]?#)Bt#òÈ$é£ù22¥iy)†‚” -®yÚ åW~ª[HÉbÚ>Àóõ 1¬«i쪦5YZ~xöËY£0þàÿ‡ÅõõõúÝ»,&½÷÷ÀÃgx—)êœÐQ¯4ÿ¦ÿ÷ÞØ¾mê;üüËÃC=¥ô×yéê­%ù‹€«Ç¶„jÿÎ%å, 5·9ÄK+ø>=<5Ôߣ›ÛÛ_>ýúëýM,ŸE¾oÀ‡Ësçvø/!¼jFç§éÇ+ôÿ×oc@n lW¾HÑÍ¢‚e¹ê;{Á“žuÔ×}àèõéNmÆ´®àžœú=?æÒÇUóÐÄû ;à‡IÑíZÄ EDžƒù=žgxD:CW}™ PsÁ8̓Ž<ÌDöçZ”8"PÐ'æ¤ B>ÄÎÞÄW|ŸÁX}ÃûúÚg€Ú½›·á²Ë©K ïu Dú3ªVÀʣäNskeàÈ€iÍh€t\ˆ!ɰC%€¤Ã̓î=ZƒANlÊIÊcÏŒÔGää6X â·Øªžž0UÒøßÕ€t~`°G pk8·Ã. èþãË@]+4}Ì«XìÿèëL€$À}zK’ð âôï‰ðsUÐW3žâ=M~Ò“U4r„ -1Z‹™ø‰ÙjÌИœMWØÈiOn¹öSÁY¨°pÕ6"Ï-¡ -Ö¿ü_i9Ù€Ö«Ñ|2wñTÊ@D§èèýä½\Ó’mi>/R:† -MÒÌ@±$‹–aœÔÇ+"× \SÝÒ"ï&‹øö/ü/oiG¨û»¿‚hm÷ÍGÍÿÎÈëê4í¡?›ù1R¨(ÏLÉ¡†ÕîŠbÿ·aÙZ#t@Yâ&îŸCy Þho€ô÷¿üúë¿hp)àÛÎàlß/éÒb¸ºþ›ð'‘å ¿ˆþêÿ¯óòÀpx!ä~ì[£¹sÔÄ -¡Ž½ÊÃŽ:`eOo·móåÐyØk¢:D¼eFèÝôØ*Z_&äÙ J¨¸0Zˆa"‘!Ó¥÷F"$¦ÛŸÂýBã#©¸L"IÎGŒŽ^åÞt'S´O&\{¥þh”T¯¸úTPbMŽ€E $jJªûüÐ)em8Š"d -G>Eh¸°®Ë¸™A|O Š%Ê7ŠæÍ9UQõ̉µ'«rsL8©lì5”P¨™,›_ýã÷⥋(Î5—R=© 3B*P²Äî—´"È'QÈB{â¯Õ˜W‘ÚO²´ -&áͲ(Óx“ ÏÆÍäþyO5¦[»I6÷XN}§„ Ëá8iЗ/KÈ¢c$˜ O$4wRiR€ÞTËR¾ã–^½êP£Bæ¦ì3¢š`ÖÍ’{Ìž ·gÜÖt¼™M=œ(2!‚ ´QXƒ‘Sòµ✠íÉÇÜñ“Ó$ó|ª·ûŸO~üâòæþóÇ»½•Ký‰þþÊ€ @·pÿéþ“ë¼®N'QJØY~Š õB -4*Üe‚Ë™ Xsàßÿ * ¹à æ+ë诂¤âWÇKñ¹¢]Lò±“s…Wþ!Ï–E×J#± Òà¼6k±q4?çþMIî}TåsßúçXÌÊB£Ìlæ»ù$òÊ ±Ïe!‘4^U\€\®×u¦ÈÐÀÕ=\Oæýþ„¹^’Aüë`óEóIM”5ªf-6#ã” Îßœ®† ÀRú([ðdDÝ’F#_‹ ò7àuA%|Ìr€+…Ú‡ÿ­ö/•Êðo#±õÚî"?Ð À,÷w³zàK„üxnyô´¨ZTûèö 2`…äP'ÏŽl> €þtÿwWÃKïÎPCCÐ?–€wo€ŸW§{xÿàwué׆OÑéÞ¾1âùðÝðOÏxÎbàq³C/"èvÏb­ŽÀr+ÐIŠŽ\½B¿Nƒæ¸-x‡ Y;&NOM‡/d«&'a¼Ictª&çl/ºëB¹@ÊšÈͨïpÕAa`ÁZz„Àˆž - Ž Ós.j”ƒbOã†a„Ÿp>Hmb¦Þ£¶››grjR¸`ynÔS„GÀX®¸ ‘5Ó8#–i†R2mÒ>$fz\Àê5 ¨w º\Ž“épB=ÑúcŠA}õ3 ”lúñÒÙöú}gcïY•úÙÔpýÙôñöC üòÀxÓOïÏ(@Y>}º¿½¹z]zޝ;5ÀµNL¢&v»ôWΛ›”;Œù¥¢@r‰Övr -`º `Î&¢æÈÕ!Àh®—k߀Ûåj-×ò™&áG…8s‡$2[©†«¡kðÂÂo,F0ÂC§ùMóŽÒÐCé\Y´´Š(Ñ$)^M“œÖÓ)I’1R…Óf«zõP>Ø׆¥Ò­ï=øßÓþ¥èúoþàB7À›Ýí¾é¨þ¯ùÿ @Ä…ŒßO[9âÀ°xD%7* , ÿÛòDW<lì^J-Ê3c6Ôß#-NDø³€ûídý} Àe$->JGÿW—ÀÿÕß™ôá}õîêitˆÐàsôE²{çA³'öÓ³Ú Ú)‚tóÎÆ©n‘N50Ò9°ï²×Æ™]¬×Ž´H/*6SL4¶4Àf×à ˜AkmÀ*ÈIðLÙÒ–ÍsÃó¯uFK&xN€éXHJEOê€i@=p¥¸¡ÃŒ¡³süÑЙJ#]&cZgõñxq+ÒÄ'©Fܯò°[ \8ÉDò˜®“!àÔcï§o¬Á] -néHͨÕK ­¨N‰+û.†Õ•XþõȽÑKÉ\#û y;\©å\›9—´ÎØ)E9l -w”ÇLr¦ôÊ[L2•>îd¢©$UknÅhÝ@%'4*ÑEä¦ÑÄ $`ÄïiŠj¹Ï¦ÉÁÄáa0©¦¬€5“Ó3«‘ÛFs’sëU3DJdN‘Åp—†N¾Š„²m&9˜›â%MѼH’ÛDÏIÔ||ÓU{ƒÒI¬FÄ—Gj*™ÕûBúüËÇlŸq2ÿP €s[Î饋¢þCoînÅÿÎè Úü«,üï,Ù½þV @É„Áøáç4€¯Z–cWÕ]¸ˆÞx¼X¹æ¿zù¥³ð’{ˆV‰Àµtõüš5è>›f™nDzœ¶K-™‘ç’Q"êèýlƃ>šÎ]ÛOp4Q-ð«†ÿ‹ÉØoèI•#´ŽY¶£l/…Rø28M"pM1ë먾Z;v1™;!02E—ŠbõÄ•øÀh„—XŠïHýÔY…´M@ò‰Ý‚,Å¡óâaˆAS §lJ±„ùц”œP˜O.dâ+„~ÉI€³UŠ•´q($séþ güï½P§üÞÕ€-<~ëñ¼äÔ­à| :í²çg+цch³óáuKqwünË„y6+ÿgÒñ·@ÿÏM¸9°ü ÀÝ{p¨âI“õ[ toÑÿß];@¬ê¤ž&zxqZÐؿⲳw)@G´ÈÅöû -°ûòš(ñè„Gô¾"€ -ã@tÉ»‡†ò® Áöpcê< „·°à„íÖïC°âp‚È%Žòèˆædêt2U['!2– -÷uä4ßÛ ‹enûçàS˜T¼$Òѵ8Àé¼S” \åA…E€k¡çp.h‹Õ0«æmD¼³’ϹaNèþ‰œ¨ÆyѤìÿêÿV ³* àˆ‰•/·dY Z2óÅe_C}›€ËØÈÈ",e‘›’JÌ‘T(µ`šC*¡ËC+*÷ƒÚR}o|Pá%·+b 7$0˜šõ”heW°Âª -`’›¡ÍØÊAÞÎ}&ÈQ¾Út87G‹ÅxÍWifë<>È©L -upMÕxC DX>áVÉ‘¶o›¸Í˜V:QfU V£m8ÅHuæÓË’l µ:¤E°]Tý‘a!Õ…1Aó£m|ÇmªÚó¾ÙÃöÏSpË6 Bø³Æºµ&{ˆ|´wFƒj¤/¡2ì?Ÿüè¹$XÀ×P&í´E@¿‹ä-€H®øîÑ@Ãà¿C~ߺÀß.ê[ú{2€ºcØŠ[üÏßh‹H.P¡5“g~IÌ'C LÄ„¢|¹}2žÏQà§£‰ŸÃ Õ(ŽÊÇÜ#ߌ+àýŒXËÉð|€Ê¿Ú¬üún@Z­y¦LNNÉO6šî羡V.Iþí9[ÁîrQûÙb…8±v>ÀR®"hšiÃôb6Y  ôG€ï -'0\_þ7§ ºû|´¢q…ËXôW‹÷Ä¡|pXhi݇Þ~…6›W &SÀRNMÉr©è„`³²þôvêâråpE-ØÖš ûGð¿ÙlÀã/ZØv}ç|îùù2ª­´½ à‘Ž‹YÑÿàw@Ho>âÚsíC[gøßß^}ö7R ྵ„鍯ºÌõ(Ÿ¯Qþ>ôŸ‚ÿ¿ÞýùrxÕ,5 ðæf€Ó¯..Ûò;PüëŸ9ÿ—¦ -ü³¹ -ÀÅÕ»óáù=Ä+zûê'‰çÍ^Ó ;e¼í wíwÏN¾KWO“=¡ðæ„@¾&G@á>ÈfÓ&܈iêíùlfƒºn2v¼<„Ñ–ÜéÒé–Õ:•4¾;ùË`jŠ$K'sòlÖ¥{÷Ø€j±òö/;– -/Æ †MÙü“æârô΢;B(– ‰‡eÈœ<”s’¶  aÞ(ÍÖwâÊ^ÜTaR¦Œ8¯7;‹.“¯ŒF£Ry-jÒá`¶•aí6Dvóþœ»àÌÜ7q1ñ½%:”ꨛ.6à=7m”¥•és‡—cNSûäB°—¤ªY„­âÀ ôÄ£*†òÔ]04Ø[åH&ÂKØŠŽ©R¡º»¨€. ž½¥h‡íd ÈÞ“ü¥"L7ª}8ñ&Ý[‰¥šP´-_…Ð ‰†ˆEy…• -Uß’Ë‹¨æö?Ÿ>Z gôúÛOü¥Î@Ç€@ÌÛ›«·oÈ@:$¥×Y;Íå€&Òó¼Ì€ÊzGâw$€š °[ °¿¬ ÷¢Ñ}ܵý…R×ý¯Lsª’;™ümã?¥Á‘¸¤‰[[»Sá\ ˜Û ¹F®íGƒ#Ý££¨*\â?®7›•p ZÏ'óérè%¹ˆ#œrÐÈ¿!~ØÚ¥àý:_ †ë~¼Ð)ãÙZÛ»|ò’Κ?û”Ïô,ˆ1x5;oðýx⇀à3|€Õø*ŸT´œ:9Ó‘T)iÔ®z=™N¦S€$HX²Z9Èà7•¨Åù -Id5–k?@¼vâp½šÓþÿÍF]ŒÞý3PñÒI5‡­ÝI·Ûs>q䓚æÿBþ²üÀS€d½ûåþÐVˆOqNâ: €ýq*èo„cèÃô2"!žG²9 ˜' ; 8ŽQ0ÿ€Êàk€û€ØÎøq; YÄ{XÙûŸÀCïÍÕeF®4ºÿ[ À¹MLÒÖŽˆÍ/È €stÈ}/^ôÌg¾ ÑR³l?¯NG#¦UUP°Ã7ºøD( "N®i5 R˜Ów7 Å‹B§÷×Ó§CËBdõS€³Ò -H'ÌŠRùÛ­'ÅBÌ€€d±ÂÉ©X[iR €–Œ!ð!2iˆŽ øù0)svyVÁs¹ ‘š±ã,ÒéÙ×Ì-™&žnáŸk¥dÇÉQþ4žŒg§%"QŽœ›,»\51c\²š“©E•éLÔ5É’ +•ß&s=¥Ä„T«ä‘9Réô @7Ê‹Õ3¤š4Úó„*¤b‘9¹™5Móhö®£äaPÙ÷ß{ǽwÜ{ǽ÷ßÿ}÷Ýwß§²ÿc÷ßÿ}÷ÞŸÜâþûî»ïpq„Á.€UÙ|1ÜhÈ –ËårZ.“ÉŒe2½nlm]Dz¸õ­­oýÛoýÛßÛÚÚúÖ¿ýö«[[[ßú½ûê·^Mƒ8àôа÷¢ª(*FKXpÌÂÜá˜sÄÔ"Ø1ƘÕx:ðqqcÆ9ËÂes0B +B˜3&¸ %ôÿŽF£a$à%CG¥Ré|k+ ¾±¾¾ÑjµÂóF£q~£Õ’‰ÀÖ³­–®— Yüßï$ ]ÉŒg2½¾J¦ƒñL&£èº–”þÅÆ¯iù¼†òš–N§oÓ`à 8ïÀ@+ç˜c„PÌ5LöHb_÷_ôº²`?íÀžJ ýàwÆ'«l`š$ + >Ó«P%¤B*`Û@ FªÐ._£²­‡Ú`™âö²EH•ÄÞ‰¿˜5Í#]¿ JªR3˜„XÔŽŒIÐÊ.­AÀ¶m¨Ù@,8c!‹òðo¹çÑlv2K0ý׿¸íÞwß}÷Ý7qÿý÷Þ/×§€\!‡ÜfýËÃç²RE‹Ï½ÌØØØX:ÿd¸±µÕ,éaWõ'Äÿ‹ÀÒ€ à8BÅaï2‡—0X`†8ÇEŽ."Ž‹ aŒ0Gêxz\O§ÇU„p3!˜p—=Ææœa¬Ž«EÌ, õ¾Ë +‡$X*!T*5·.m<½.ïY_oµÎŸo2=ÐjIûoµžm={€Ð9ôµ\&“Éd¥+bóÏd2™\2O<ŸÏkzŒ‚¸.ðöc½èx;LÚ«ÔÄXZb £ý[^^^>'CÂu]wÙ[ñV<ÜU¼‰Ð€e¶Ì°vÈno¿:€Œ ]Ë’ „‡I€b `S°zd@½òfÝ®Ù6ض]³Á®œ±€!§bÛ¨BUúñ„˜ÙÉ;å¶yñæUK¶øw}€Å¹ul +¶-ƒì:ò0±*¨J¬ÌšæT Rùâ¿x ãMðipoŒ€{Í‘‹ý«Ùl>%°~¾¤ëy åd2cccù'×6¶.5ut^JåÖ¥K­K[[—.ÉïZ—dô¬%œ¥^`ÉYZrœ}Æ©Ça†1ccŒ9¼ˆ¤ïkÍ¢:žÎ¨J*%À0[fB0ÑÑ¡š¢ª˜ ,#‡ET,âž÷F£QjF‚CG¥æVkã9 €õõóçÏ7†q±[$Üj=׉Ão=9À¼Oüï$B‚2 S2ãéñxމ¬BHËßf!@Ðt†*µÛ +À1.v‚ +€%u½èÍŠ> ¡` «¨ˆúÚ±,Mp‡੃ãóC),bNf³æC„T-*m”@ͺjÓGjÀ²¡vµÑEJm 6µmj×ã!žóðTæH5 + Ïú‡ !³föŸ˜¦I8À–®P›Æ!ù^Ÿ«Óú"µ!™S +„XÄ‚ybÁœŒ æÑìäQÄ: >µ8vÿýÇ>Å6Í0ì{o6Ÿ /6Ãf¸Þl MGZ^‹§Ûe2™±Ì‰ÕføRë|©dô]©µw9{]ÇqTU|WTUWP‘cŒŒa†1ã3„K ©˜aÄpQUŽ«H=>®GEµÈã˜1ÌpòO©aŒ‹òäSÕb±÷Ýh¼a48†JÍ­—6Ö×Ã0\_×ë¤ì|2.¶ZOKôIV¿3H6 ÷†ÿ¥¯ŸÏë†aä“ `^Ϧ¤ð™Àåô)YÅ=YÀ½1æ¾ïKv0ºiÀ~@Eª¦"Ü%@¬†ÀÙãÈ a] ×3‘e‘œ5Íß–ñ< r|Õ›ÚÉ!m½VÞ¡»tñ1›>V·é¢M Ô(Xg, ¬DÌTã0!³¤RX0MB€ZV|Ò[RðÓvR +4€½S‰èµz}ѶëQZ·iDj2°@X uÅi3{WÖBö‰ôï±O¿úUDÿ^÷ï €fß{³yþb³Ù¼¸ötx^×t„ÒòZ>ŸË)™ÌX&·Ú ·ZOêRØ:p±`I~R‡,Eɨªº„–A=ÌŠ#¾„—ÆsŒ1VUc„TE‘Ò»-"†Bj#U‰«†PQ-¢b±¼ap^âFÃà%‰½tq«µ®¯¯‡axò·~ëäÉ“o4.¶ž c1Ó%€çü ]7d?Iæ{†ëz^×´\:Ñýù|>¯kš†ò&]7 MË£R·pÏDÀ= +@ J%V¸[+€8…°¼¼Ì–—ã2€XxÞŠWLÒ€¢Ý:€Þ™@Ë 3¤‹ˆõà@ЀàœsgØ:€J¹½Íš„J£ˆR  Ô²þÓÝvD)¥×ènDË”Òv´H¯íÔwvßüþ÷¿·Û¦vd•Ï.mS ‹4ÓJ+…(Új”DQgóº`Ýø“?Ú(¥tW~T¥ôÚÕ:Ýݹº³»û'ß¿q}—+ЬJåQk¡MÀ¢„ÓæQ“Ð(Š* k³÷f *€ûo˸¶Ö MGZiù| €L&¿Ú [O7Pƒ¯hÿœ± £ö@UµÈŽÀÂEŒ1Z’Q&Ä0VUᢆ”ñŒ¢(Šª*a¤ªÅ.E’â`¥S6Ü] Ã0d¯S©Ñ0ŒRÉÐKk[­Öúúúúzø ÀÉÆSç›­ÖFدZ]ÀHÚ€òyÝÈ÷xz^Gº–×õ¼.“§JFÉå”\^ÏËjJMë@\9Pܶàœs§ÈchˆÀÒØ£z€ÎùA¢\_ úÀØ{?0ƨXD‡€Óëˆá +€á¹ÁU)W*å“G +§Ê•JÙš.ä ß™r¡2—Œì9U.œ*”O%•/VÊåJ¥\®T*•J9"\(L—˧Ê33…Âôôôô=ÓÓw¦î¬TʕʩSf¥R®|e®R±~½|êT¡P8U.— •³•ry¦Pž) +åSår¥E”RÚ^¤Ñn´Ø~lñ{×+7híî¥Ô®Q +VFÀ, Àz„d'³ä:i_¥”Ò~kÝ×v-üþø«û÷Úü PrRŽ;vì©þvÐÚ +å?ß|œ è ¤7ŒµgXò4ÌÈ¥ .„ŽÇ>ETD¨ˆ±ŠT„Ô$Ñ„ŠE•ÏÆKˆ9K^rÇGNiÉq„œ—Áìp!–0Þ£apιѺ¥RÉXµõl†aø¯.\xð·Nž0¶¼Ì_ÿz€•n @šê-»šz;xj¨`±”`}Í€WÀ®‘¬IH•¨AÈ!dÇ 5JI¾¤6Ýùã³mùmÇ,­J…VÉ\… ssss¤BææL“¢±’ê?¨ØÉ—™¤2gbš„@áè]Y“TI’H˜ +!Ú¶ô(­A.R»½S޶™'RND§(È/çæ¤0³“Ye +@†˜eŸ+?Ø´‡®øU½Þ« †½âÖh†e2ðb¸ÞjuÏIè͵gZkFé``%À`³%¶ÄÙ’‹‡;Ü‹ÿyóÄ}ÇñÙ’'dk’Q—äøÎ×ýî`OøžÃ±Àž/8wä Çñ<6d07J7Fƒ†ŽJç¶.µžÛ/\¸|ùòË—_yåò+¯\¾†ñ˜ÐçÖŸmµZ­çú­2? :N@.@ìFléù®È†žÓózéÛ‰°Þ€#:…û+Ö©`)€e ¿' p0:‡Ë2 "tHà‹8¦ƽu6£S³UR%Q!ðUû«P‹…{lú '÷Óò£1È#!¤BH`ž9R!„˜s„òPÖœ³¬‚™=JìêÔ,€ 6ÝbYP“÷zÇúŸÚ6¥@ëu +5Z~4A’4ÿ9r½Ò­2®˜¤Ò€0€®t¿ÿØpìký÷ß?`èdž¾ä€×ÇkP+‡áÅ0l6›a¸Þj—×ÉkZ>¯år¹ÜDFo6Ÿm5K%£Ô\Ûõq†ØÿÒ€ð?ªª‚1wù¾Ï|Çñ„ÃqçœxŽ·éøKã̸Êðó°ïø‚û¾³)ü@ø»éû¾¿)Ä`­Q©Ä 9Ä(ñO¿ôÒK—Z.\¸ðòåW®¼~åò+¯\¾ür>·¾Þjm„á³Ï>ûì3©[®Z_X n +Hwéz>oº6–N§Ó™œ@ê6 pK À1Ç%&ë´øA\ +Ì—½ÏÃ@ì `@,3ÌŠEí–`±ÎS +À®ðrßùo9zÔœ%@tŠ]°ã‹})°$jt1² =M¥4©ø +!@çv&„b‘9Ó¬!æd¶B,“˜³g(™Ì’ªMií +‰€ît7Ÿ—›Û6(´OQ© ¬ù¸D§v !ó„X䡊iÂ\ùw¿E¥N*pHl`è7Çú4à Žõ¸{‚ªÖwT–Âp- ›Í‹áFØz©©ë¡¼\ZN™ÈÍæ³­¦~ Èrüý5ÀÀùŒT´Ä¸³äsÇcþfÀ|gÉçN‰û¸¿¹É^ð¹ƒ9ª¢.=î`ß÷6{ëù¾çñÀq˜xÞô/„ôF륗^zé¥ßºpáÂ…ËÛÛÛ¯½òÊ+—_~ùr†a«ÊH@ê«ç×õ¤×?`ϳ #= —yù鸭@Vâ%,ë†À•Ö{Îÿú×û€d >ª€bô¹HÕbqûñ.@¿œs§½ +`¹Ç ¨Qj“£GMR­V¡¶P ‰ì7(]¬Sy)Ð¥õŤnÞ,l‘NÐÌ››;ä TÁ®NM©€ýÝ!VDÿh‘Ò:¥”>ÚÝÜlh—iüK,BææY8„X„< „Ì‘Š9{ÚÌNfçh™Ôjµýkõ†Dû䆸=®ÄÑ`’17‘o¶Â0lÊ&Ù—.–J¥R)€–ËMè«k϶šºn”ÎèÈ"|™ Ø+ŠýXb˜;Žplz›þ¦p|Ó?‡¹_â›ÜÿÝ?Ç>w|Î9VŽ«9ØÁw–™O0—yŽð<á æynð;ääË¿õå ._Ù¾ysûµ+—_~ùÂËO?ýt(ÓOßÊö ×ØØØÞ}º-¯V C€í¯–xR Ø€x$›Ë–ã `à÷àâRàååe†WÕböu|éY¸¬€¡ +@•@]Ø”ž™š:CT«°03OÝzݶcS´(D”Ê  ×Ê»”R +U°ˆE±*ò,‹éº?D*ó&)*š @ª6DÓ Ö<ú¢M»›ÓEJi (€Ý.G”RjW T‰T §â„‰›N›ÙÉlåù2$8Öw‚Uú{*º’ì-%êÔô`ïËUµoêmë­—BÎy£‘OV.7a¬6ÃV³T*éÄXÜ‚ƒ‡G—$S•%Ž…àæ>÷ƒMá`äsŸ;ιR€_üó?gžÃ|&–˜ª¨9ØA<xÞ¦xÂóÄJÀ„`žð°#‚øAÁJ¥RIC%Ùõsùò…/_¸²ý›7o~çµË/ÿ«—_~öÙa¦%R{0ôáø‡= + 7vH0ì`ûçœaŒ5¤ Àòòò²*ƒ€xž‡z\€~ ky/¤àjQ +¼²²ò"œsoY*Ïužê@G{€Êf˸ˆh¬Âm°)ÉNÍ@À*ÀxáB†Ï>Û +Ãðé§×uþï €á¦Ý¯nX˜õ€-w ¸8@”J¥ÆX+¢%ÙG1Æ–Uäûþ^ð€LÌ*„0F\6`õ@ @w8¼Ø{Ú£`Å">uêÔ©S3…©‘;ïœ]ž™žž™–õÇåSåBaºPžŽ÷žþRafFþ½ +¿>=}äÈ‘#w¦&¦ _*ÌÌÌ +ý†ØÌ8ç~½%=ûàØžâ þbÁá债®#ÔyGèbG¬o´ZçÏŸ?>>ÿ5-—Ëékk­g›¥Ré@ð±°'Àý^€‘lþò<ozB`sßÿº#¸@΋öæ8cUQZÂò™wÙÝ <Æ…XvÀó\ÇÌqüo`ín¶ž~úéØþßúË·ß~ûïÞ~ëÊË.\ÃðÙgZÃÀ€oŸÞé[@ËOì@ì 0c¼W,÷(±W,Å`~ä À`%Έ!1€Ø%ÛñŽLÆPñpð=.žê€pgð+1k·ÛíºC£ši>dQ +”ÒùéôÑhw7ª·ëívtm§]¿f-ÐvÔþ}XøFÔ¾]»ö<¥ Ñï¶­…çw£(ºÞ¦`Fô»3] @- +Ú»Q-’5)%4E~å(mï¾YÞ ;íúîN»~ v¯¶#ZÞŒvvãÍ£6ÌÓvE׿»Ha}¾ö|9ª©iš„¾±Û¦”Ò“xXþoðØžÄa¯‘ß?$‹Ð§ŽT #áø]/é]¬‡­­‹/^¼˜(€\.7¡‡akcµT2ôóÿ¯}ÖE^Š ÐMàû—í|I Yq «œsîcá;Èó…ÏîÁ¦ðýÐÒf€}Ÿó9cÊq!Œä ˆ@¬lº>Þ + <áz®,D°¸ —úÞ*•š­0\»|ùò•›7oþåÛûþûïÿÝÛÛW.¿r9 ÃÖsO‡áÓ·À-À>k00œ½@]°|h „g*Ƙs¼$',WE±¼¼¼¬bÿëï €¿À<þ ö»Úá\€àqîô QE©(b†m¹`öî¬iÊœ^TxCç\µí]´)­X@m @a®!Ö#²Š‡R +ÈøX » fENµm¨AÕœÌÆ¹y¸zvWnÙv­6µ)µ,ˆÓŠt¡ +K¶ Û Ä ,b€G£ ¦yª4 ¡²˜`ˆï;î{wöFŽÝ?¤¨Wð»Eð…@¸7°±uñâÅ‹a2½¦€ó%ÃÐÍ}V§_Œ1†KC4÷Õ>p•cc&ãÆBø2Ÿ÷¢ïqìØs/1¬**F;H`WˆMá"Xö0÷„DZãx+Þ“Л­0|ðÂåW¶oÞ¼ùöß¾ÿþûïÿÝÛ7·¯\¾|% Ÿ}zŸ àPŒ26؆Ld2™±¡{¦÷¸¨«àýàõ*€.x2»c_‘ø€Ã—=oEÅ=.€x? nÎŽ ©ˆÉ1ÄÝB¸ýÀ ðò 1ÃØ¶)¥u›dã‰`gàútù«Û`S;¢‹íÊBÜŒ/+t©ÕI!P¡ìN9^x–@ݶm{önª³rÈ@û+ñæÕz lj×i=ªwú[ó2Ù»¹@’Íé 1 …ìdvê;6íàØý{ú†Ù_`7>0̦÷v ø‡º°tñ¹0 Ãp-\76¶ÖÖÖÖšò–[MËçr9}-lm<…J%´//ɺS†1Ct`'þÇ}UUÕ^@õ^âœû˜ù˜¾Çãþæ&ÿóÀß䇿œs0/*ã +Rñ’ƒÆlº~à &<á1Ïež /qá Ú¿ØÔQ³†|ùµ›7ßzû¿¾/ðÖÍ×/_ym-|:Àú aÊÒÖØXzlìà àÁ¤"ìëUÎ2Çó½À +€/±Xôºq@Gtà‰eoÅSûšè(€¬8€Xð••™œ{\¸B¯ßpî€u@éµúŽmÏf§NŸ–µÀíBRLÖi­^* ó0O–ÕÂÒˆ«S +À"Ö#`™99`î”iÎÍÍRm×ëöìÝ&!ÿXnNÁ®S¸Zæl ó!„< 0O~˜P›.Ԁ˂ùy9–<Šé’ÌØÙéiÚÑ{ÿžÏNÀc½=·° ½ä|ÿz*Üè(€ç6.]¼xñbj'ºÃÖFã t¯d˜a†Ãr€wïù¯ª=g2F¡%ÁÆØc\7à"à^8/ú>_z1@;ç;Œa%£ç +d€yÞŠð„'V˜`Ïqæœ oÐØS ðÊË—·oÞüË·ß—øÛ·on_yåòÚZ>-½ ¡HwÅzœ´K§ÓÒöS©±ÔX¯ Þ«!Ò¶Ä¿§Å<À wÀØAP|ˆè–Y€®x 8\`„†+†úÀ…+ö V\îºç\œó¥ðö(a¼üCEÌ0€Zý=“:=Ki×àßêµxô¯œýU§Q`™#Ä’) lÙ+8O,BâÞÀÝiOö·*§ +»M²¦LâS°£ÂbR{Ô¶mº³X¯<²¯àay'BÀ¶gÁ ë°aq!`šÙ߬TÌJí«°¿í(܇›ýýÇöÓCò‚û¼æ€ŠþõõØÐò9-§åóÒØØh ã à c&ÿc2Œc$öß3»ŸŒ—0ç  _pO8/ /x‘¿¸~!À>s¾`¦f2 +B˜;è&\æØó!„+<æ ìyB Î…ëÞ +š^ +[áë¯_yíæÍ›o¿ýþûïÿøïßÿÛ¿}ûæÍíW.¼Ü”XO\€®ÅÆÕûé$]ŸK§ä™ß³âúþ´|~zPÿßJDt\€Îå©**b¤"†Eb_°²W0Ž9‹^R¥µ@¢„×W¼C)„º +`™aÆq±8¨zàö*Ö@ˆÀúÀ–‹!\, ™›£»Q5ûé»Ó‘l³!CDi}§^¯´<<–œð ™§”Îw:÷¬ùy€ïN·"'‹šf¥RˆdÍ*T«UBÀnOG²€X¤õúÎN½nQxx~>)ø·H Ja¡3 PþZ ™%f6[™›“7 }ÚY?·5¨~ÀÁ» ôñn¬÷ sGv>nê@7×Bh)¹¿:Ö ËŠ ØþQßÝ #Æ9ÃsŽ™ï3Çñ<ì®·éoú|3À>f^°äEEˆ;ò…0×®ç × DÀqÀ< ÌæzÁÀ°®ëFØZÛÞÞ–€¿ÿý¿ÿñû÷wûöÍíW.\hvTÐß?ݘÇÖÞ=ÔÓcãO @ûºæAÀR¥ˆ™ðq€¹ËÜÍe`á +W!\æz®ÀÜîæ (•xÅ.ÀkÛ7ßzû¿ÿñô£ýøýÿú·oßܾòo^^ë vôÇÕÞ9Ý{ãéô†?Hõ¾.}€ ÐsoB±ˆ^BN§Å +3Î8wð’È; sá`ÎUî Œ1CHF9S±/J—P<5s9?½Ë˸Žè@¢Ä°À^@€H ^dr +g8q®2G¸B°§„ÃŽp–°àKc„FEŒUUQЏ(美GQûÌ,Ô€¶é‚Ñr›¶ë;×£èúε:½J¯Eg¡]®ß¸¥Ðݨ}="ÕÝv›î^¿¾Ñb;‚G~%ÚÚQD"øn{ž˜“æ.»M¾YÑb;ŠnDõëWßh×éÕúîUËÚ‰®·ß”›h;j¿‘êõëЦíë×(v`håùÝàœ&@£…v»w&ூH¦bå49Õ&—Ëan5K%]GúPÀ“‡¨W †±p„*:öït’ôêfœ1Áß÷yà +û{¾`›Þæfà¿ÀÏa'p¬*EåÌ÷yÀ\O¬BÌó…+„'<áyž`ÜñÜÍ[¦Q£€w~ôá‡1þöí·þâÊ…—×Âgb ÝÕð½æÞ£ýÓhàðcÀÐÓq† =6&ßdžå RéTª§[J" ¾ä aßö½„K#„K \â‚ _ÅOúô¸Šç*rœîoİè@ºÂ- +Æ0V±‡QNçj°¸H-ªa,\©T$ǹsŒ0ÇRï Ž1óV˜Ç]Ι`‚s,„£r !B`Ƹ#Ì1C#Ä©HQŠªªÈ;$”J¥üÅéééé;ï¼§P©”+ÓÓ3Ó_:{¶\˜™™™™™Iêqg¦÷¬™™r¡\(— …™/Í:iº0]˜)LÏLŸªTÊå/NñÎ;ïœ.*_ùJ¥<=3=ó•¯|¥0ó¥™ryfúKYw×wv˜žž.”e©ðÌÌ— +…žNO*§ŽÜ91ý•¯œ-Oï?üóêtßÖ€áöïu »">/0œaŽcÈÙt'©ÓåÊ9„Ç{Nà0Opùs_xþÈvÇÁª¢¨*.ùž, Ox+BøB¸Ìs…ç:žÀœ;bå¥À%M+…­ðæöööÛo¿óÁ‡øáüã¿ÿ·o¿uóµ ÿf-|¦Oô­±±î§=ßûu¯×?–Ëd:Tè¼8— Æ{ (Ç¥X,"#Ĥ3Ì8cÇK#ŒTÌ1æc¤"\JfÉ +}• !„œ¤Œ0ÂŒ«E! G§qá“ +àëN¢º^Ò 02:×@'€YâÇ3&d‡ïÊãL0!8F¨ˆ1v…@‚±x2¨¼ë s¼„*ª*b¨XD¡Lɱïe§iq%ñLøìVXÒµÒЀ¢z]x%@x_F˜;‰ý;q•ŽP—0g æÜaž`>ö|îæ;›~ð¢÷Øñ‹Š‚ð’ï{bÙ®Ô¦ˆ]×ó„ÀB8bsp À³k7¿óúöÍwþÛ‡~üñ'üá‡?ú»·ßÞ¾ráB¯ 06 zé•ûnAzh,`OüoXsAUQ•ã1ÔDľ|§ªX,ñžÃ¹p„À;BÂsÇñ¸ïûÈ‘ ¾ƒ±Ã…ã9ªßÅɃ ð‚ÀóïqÁƒáyÂw7%\©|.– +@`΄'ŒÕÀ>ßäŽø/ü®÷¹; ÇÁžÇŽKŽãp8rè·›››"POxÞæ¦Ø ®Ïù’·ÄƒÀß Ã…'î Îf;*æœ Æ…à»¹yç"ðÄãBž¼àýËM?ðá îcØ+ú‚s‡!îxA MWxn .ÿ³;›˜s,<Ç÷œ;Œ;˜;˜;œqæÁJGõ=.Äfàn¢X‹ªª¨ETDjQU2± _¬×ëõú÷h9ÊN%=8‘Öc]°€Àg#EE%gÓ÷ö„`(®0—qáb3áyÂA\p7Xé[{cªÖx6\ÛÞ~mû­w?øøã?ù‡Ÿ}üñǾÿöÛ7¯†á…‹kϬ­€L,b¤Ò©aH÷ 5Hƒý ß ´<‡9|É~à8ÿÒc !6ÏTÇÂãÂwgXpæ(Žà\``Ï]ñ\Ïs°+„xÜìq×xsÅÞ¦lú>Ì‚ GvrÆ8gÜÜáª#øŠëqîî !Ħd·/‡»3Gp¡â YÅ$wƒáIˆMwsEˆ`sS¨šŠåmÏ EE±è¸Òþë;fÁÑ)v2"ì19¤(]y"o‹<2 eË¢¶ ”Úu +@mZ³ìú"¥»s`Wè"­ÛõºmÛ׎Üe°)µ +õxÖ(æa¬ùyKzXĀʜEm +”R¹yÖâÍÛqMàÔìb½^ÿÕÀúsÉÀ@Ù n… ]Ãúù½K¨Š¢*Ž`BœB8œIQÚ?ï@“®ÂåÌ\,0w„Üã~lúÜw˜ŽsŒTECÜyÑ÷^ñ{ÜÅ. °ðó\湎ãa!¸‚Í ØLÞ6‡ÅžlIü—}ðáÇ?ûä>é@ºkk.®­5›c6z+:cƒÙÃý]UUŽïN뀃±ã0Ïq:ðø¿|Ügœ !6…çûª\ø‚ ._bsE΂s/žrZ÷ãžÏ<×sWV\WÂ}ü_ »ØõásŒ9wÇœqG_pGÂÙ <Î8w^ð!^@ñŽx‰s,œ" #08šºªª&ˆ]J)}Œ¶wßøÞ‚¼|‘ÖiEÒŽhÔ¦”î\ßýé‘[Ö‚E)¥Ô"ÖB{÷ùr%9Ìit­ÝÞ¥ôQ í?ºQzÖŠ(J£zÝþjýZt­pWµM¡F£zôûѺÕëmJit£½ …y˜·¬…xsøînT©<’lNÛíö.¥ ô7ÛË¢”1«õ¨N£7¯]»ö«¥Â.’ `†[a¡ÒPUQTU@tÀÂqDüO‚;˜;Ž`œKp#Î0ÂŒÂe áqŸûn°éon:¾‡OpŒ‘‚0/:`®Ë–WV„Ë<&„Ë\WÆ»±Ã—E0X ,E• +àõí·~ôß>þø“O~öÉÇŸ|üáûÿõíí+ÆX»ÐÜ[Òçõ%Ò±H©ìçÿñãÊñ㊺ŠÅbQÅX*€%§G<þ¸+áù¾&Žà.œsư£Î1ÃÂálÅóä{»s]áºÿrÓå+ën +.sDÀ…À 3Op&¸‚{ÂqTW±és̘Øô~Wø›(¾òÏ—=ˆX5ÇXˆ$ +à —.Ä7ƒÀü‚uêÈ•S•J¥R™›«T’Kƒ+gç*•J¥R±¾4?7W©œ=;W™#ä¬U9Uùg¿nYÖÙ³•ÊY˲¬³•ÊÙ9ëìW*såJ¹\©ÌU™«ò!æÄ=ÓV¥R©œ³¬Jeβæ*•J¥\9+7?»0 dn®röìÙJeî¬eÍ•+ÖoÌ[ÖÙ¹J¥"7?{vn®r¶\)W*§*呱æeùñ¯Â|>Ÿ—!€šVBOíYBÄPq„àŒ Çqœ¥ç\pÄÿ¥PU™½ÃE”LË€ã0ÇYNp’)üŒaÀ•÷ôº®¾ë +oÓó˜`îãîÊŠËÏ}<BxX0![-±Çç‚qÎ<îpUlr†9ž÷‚ço"GW€/qΈ½îf „ØÜªªu€*ªŠ¢*IPSUUé^øï¯í@öµˆÒš¬J¿Aëu…o[¤ÝŽ¢h‘F4¢Ô¦ß ´]¾q5ŠÚ4¢QT§õh'ªG‘5ZP£uj/ÒúbýÛl¶Ò&gä]ÀTöùQºX_ €Fp¶ÝŽ¢¨¾Ñ«ÉÁ_¸q5ººÉÍãÍ­6€5¨ž®>¶³íììììüŠ@.™Ô: +àÙ††Jzcˆè @@HÄG½sNpÎKBpYÏžÜáÇLV 옉 `ù²cÜówsÓyÁYrÎ9\€ ßóž`+¯¸v…Ëó|GìpÆ6näy­ï )Š®­ÞÜ~mû‡?úè£?ùä>ùä“O>üQ €0¼°–\|²§hàR€t:ÕÀ>ý½“pãûrýà?øÁŸýàíɃ ¥Ò©Têx/¤ €.â}0¨üq_úX›Â—ð<ÁÝøÆžËáI®ë +W0Ïuÿµër!„+„ð†à‚{®pŠŒ3îÅÂMÁ™p.ö VÜᜠQŒ ºð¬tPìQ½(*¤ªj÷zà:%G'(!$ɽÅY8›BͰ,"]÷$—@4ݦ”.Ú”‚]§õ:]¤´ÏS95€€]­V«¶ýÏk§'Í£¦IÔjvϬj6@ `~îjRJ{6§Ó»¶ìˆ»)}Œ.ȃYsêŒ]§v½þ« +€0—O†‚anµ*¡ý UQЬC€1!ËA‡s&æ1ÆBŒñ<ðC¬„1Cœ c?`ØÃ‚{žÇ…ð<ïw7Eà;çÁ0ÖT qçEá»Ìó\÷_º®`Bæ2ábÏs¸@œq¶ÇÐúR”R6····ßùàƒŸ|"ÀÇþèý·ßºòà…µµµµfsµÙl6W›ÝŒÝ íw] €}üGüéþ³ÿüƒ?ûÁÚwí;k,v%R©üñ> x 8sœý ÅP{°éI0oSÞÊr „ž#ŸVÄgÇIøV05ŒqÏ{Á‹ŽnG`!Ä^à *MŽˆUUŠªJídÑzD˜wBªÉ8®yZ‹[|l›R°È\åÚNÝÛ®ÙÔ¶k`-dµØ6ìÖëÕëõ ´Ä4Ms¶Z%gìÙìhöÓ4IÜÕÿŽy°lJXVew§nÛ5»V“ÑD˜ŽjµE +¶]«µe¼F6!欙µëÔ¦õz=ú•€¦åä½<9¸:æ¦*ŠŠ÷øÉGòÿðÉ'Ÿ|üß~ôþÛoÅ.@su­y¡¹¶ºz°ÿõ>øþŸýÙŸýç€TzL6æOêù|¬ŽwÚ:.Þ«–œ%GøŽ J<%œ®pœX €Ø">ó»`ò1¦úœ ÁæŒuà +Ñãô@죆@Uch*í®:Ý Sw’YBHª_û™·ì<2 yWœš€G¢ÂŽ<Ék5»þ?ÕëuZ§õ 63›ÍN™³æ”yÚ¬f'G'˜YSüš€eÍÏØ_…y ¢2µ¡_µãªC Ó×㋃Á^Œëõ:¥‹r”!•£w™5Jí:ý•Kv ÅÈa¾ÔjhÃ*»ö橊RÄ’ž¯rWÄ`ÒþçLvHÀG˜qÄæ y¹GQ0‡{\xüœ¿¹ù”ãp'àsMÕÐÒÒ‹Ž'ÜÀu]Wy-ˆÂþ'„À|YðÍ[@+­­­no_yí‡|üÉ'ŸüÃ?üÃÏ>ùøƒ.Öäñßl6»¼ývþöþáøÓ[ ÝÍ3¤ÆÆR)=Ÿ—·ç5-§d2ãét:“é(€®ý‹‰Xr:âˆ[( Ïs¹îþ^7Q‚3Ìz bð^ñÏ^½P;8ŽÔÅØu°N›wÒYBˆ¬²,©µ‰uÀ¶ˆÍWm;ñ äQ¾[­À°tq§^¯SZ¨ UbÊ£³³³³³gÌìÝæ0MiÿRdÌ‹Xdyä»P‰l¹» @ˆ +×oÁ¦;‹‹u›Öë_}Ô¨V 1ï2¡fÛ‹ôW®8Yy-¯å»Y€V¡ÒAž¢ªÜó˜ðâ©Ä @Òþ9cœ³âEŽÏ!Œ9Œù‚ž‡}ìKXx‚›ð}ßw8FXSUÄñ‹ÜÂó\×õ˜»ìºL¸\Ì‚;²*hy` ÜFª)¹ÒÚÚêök¯¼öÃ>úè“O~ö³Ÿýì“?úÑ;1škÍÕ¯5¿¶Öl6û²}é~‹•!¿Ôê@üéÿõŸX~·2p,•J¥Rù“ù“º®z^Ór¹L&“I§Ç2™±L&#óc™Lf"—Ëår™LF*€ý  áuÀ> œDW1\ô áüüðK÷)€ñ"í]¶Yf6eš$ìðÈ<éæ’y æ+²6PŽó²À¦ÓQ'\°íÔi½^_¨Ùdj2K P€šäÌ4œ!ÀêlNÈüü<”ë4±©hÔM öµz½^_¤õ:» +U ³fÖ +6Û¶5 åâ7ÅX íKC›ñ!ŸhÆ9ž` !á +!ûŒ ƹ-cK#\ä—CéeÐu=O±¹¹x¾8#ŒT ìs!„·â¹îæ²»,Ü¢:ã Á9–ý$ý qšV·_{åµ·>øÉGŸüôgŸüì“O>úèGï¼}ó•/¬­5¥øZ?úî“á}ùÇ­°(€?ý³?ûÏ?øÓ?ëU{ïí@Ïëºq2Ÿ—O§ÇÒ™±Lf,À„"›4&2J.ŸÏçNäóùü‰ä"7-ŸÏçµ®pœn.¼aàq\§W0ïÏ÷ýp;æÿóŸÿüçEŒ’}ŸJìôÛ?Øäè˜IÎÀÃRÈòß¹¹ +‘3úa*‹ÔNìŸ$ú(0O뵿_¯×ëõßjCÕÍYW7Ìă>“ ™«Ì˲æ`Ê‘mÔìžÍ§)]0õˆÚß«G‹õ:Zrú7'M±høÀ‰¼–Sô‹axéÒy¤ÀfEELNûg ñ/<áöØ?Çc.;Á0ø(ŠÜaÂcnàaY“˜B›Aà8¾ïpŒ¤ª£ÁD°âî¦p™+°œàyB,0gƒ`C\€æÚê_¼~åõ·ÞûÉG?•I€>þà·¿óʃškÍæZ³ùµæ×šÍfz,=ÖíK§‡éöƒiï¶wwwÿðwÿð7Þx£mï)(èÐ#ŸÏçr™ÌXf<Éô “Éår'r¹\FÉH ׉¼–;‘Ïçs9-ŸdqåNär¹|>Ÿ?„¸DG†y?Ü?¿ý% vPë[ôŒy§ôÑm`Þ’ãø !€6x~NÒIÿž @§ëòÊ`BH´SÿŸ¯ÕwèbÚ`Nf‰ @ €Òvl j6Ør¾—œ# +òJÿµr•Ú6@-n-°èô"Ôlj×j@ˆEõún½ѺmÛUr:{·Ij±Kò+€õá +@Ëeôfnµš:Ú[ +¼¹Ù¯<¬È Ÿ`Œqñ”ÂEHå±ýÇ-c -á%Ì‹Üá\ø®ïÊ,€S>‚Mßó|ì Ž0VU q´éø"`+îŠO¸‚ á ±ây‚ ÌO.Ðî.UÓ4MÕ´äO%§7ÃÕ›Û¯½þÖ»?ùè§Ÿ|òÉOúÓ?þQ € I G¤{nýî ÙŽ““““ÿdrr2{×Ý““““£`,ÀÉ“y]×õ“F¬ÆÆÇÒ™±ô&r¹œ¦d2¹'NœÈõ(€¼–“†¯èÀ‰|. Ÿ×u#oäuÃ0 CÏçõ¼¡çóyÝå•X +€ !7S2™ññññL.RÏ'ásÎùÒÏþ©Ыj ”Bíô@‰»zìR€…XXJ£úÕE8»{µ¾QÑ:(¥´p.F‹m›.€Lïï|ÿßG»uJmb°ª„œ&„Z½Ly”>ÖÙ\îO£(Šæ®íÄ›/ÖäæÑô.­/Ò6¥²`žF7þ?Ñ΢,³SÄ–¿"1€gÃý0at€¼Ñ0ºîæfH¼ÏÃKA „$€t‘ÊYlÿ*vcž@ˆ©#ÄTGp× <—rxÜ,ÌÇáÃ1檊0Æð\=΄ë.¯0Á¹àB¸žïyòèÇ{€ªõ½gT}umõæöëÛo½óA€>úà·¶_yðÂê…f쬮6ÇâQÿc©tz,=,rwHt À0èz>vò20žÎŒe2ƒ + —ËMľÀ‰\Wäåѯˆ@"NäNH4äu=ò¤aœ4 Ã0NæO꺑?hår¹\f"“´?g&d"@z\É哽/ø´öÿóŸÿuPÙ»ÊåéɱÂ=…éB¹R)—ËåBåT¹\®ÌÌ”Ëår¹R©ü³òÙ¹Ê\¥Ü³*¿^)”+•ÎcËš³¾²`UÊ…Böž#GŽLÜyçÄ©;ï¼sòÈ…{¦§;Ï®”Ë3•¯” år¹R®T*ÿìKgÏVzö®”Ë_ÜœXsÖYËš+Ÿ*LßsÏä‘r¹lUÊårùó€µµµ0 a®­…kk=•@Z. õR!5ŒF£ûaÙ…¿t €¹çr˜ cL8BÄç?ÆHÅN D°)äÀ@„¹*"<Ì•‰"îùŽ÷—b †.<—¹ØuŲ‹9ãB0Á<×ußcûC]€´¢¯®­~g{{û?¾óÞO>úägŸ|òÓ>úèGkkÍ8 °ºº:0÷c¿qß·µFR#ÉÉHÑ! +@×ózÞÈwb™ý (q0 «NäsÚ‰>$‚®ÈçOæ #ò¤qÒÈçOæó†®wr2ÎBœÔã=s¹ÜDf"“€L €øwÄ*„ÿüS/é(Hýƒ?x‹~ghåHö!º5Qˆ(¥@¬yzãFdÑöNÕ£v{w‡Ò…ùJûùdQ_D  ;Öü<¥×oÀYøæóqŒÏ4 sÖœúÇYÓüM“ÐçR© (ÐË¢×ÿñæ4j·ß”›ï>ß–›/D x>²¬ùº» xžX¤Bˆ™%ÏïFQD\€µµ0 KkáZØl6›}д\No†aë÷BéšÑè´-Çòt €…ðrz ¯€•~¿ŠsSl +,Ƙ!,á ±¸®@œ æ +Á…ð¸ïqÁ¹ðgŒk*B ùŽpöxÑuÝe )˜û/\OpÁørߥc¼'˜Šðúö[ï¼'}€O~šàÁæé  ÝοÁ,ÀÈH*1ð½–ßùcddd¤G¤ƒ€qѲ¡' +`<³_ @É(¹¹^ËÎçó1bË— +àD>¢çiºaœ”ÀÐ%NÆÖŸ×õ$ ™ïu&† ×Uù|r"ÿéðsEQUUA0tÕ GÍY"]úZͦ6­Y@éb€Ú”Ö¯ÑúN½N£xR7|,°`ž$iûêÈ«Â!„cûW €‹¡ ƒÇå°Zg$˜†ak+ÔÒŒFƒ7JF‰óoBáŠÍ 6_Ʊç!$bYõ/ãc;›››ëºØó1 a® +‹åÀ•·ûȆá ß‚sásÎç½À<€{xHpsûÊöÍwþæƒ>úéOúÉÇ}ô£wÞúÎ+>¸vák«Íæêêjsµ¹ÚiéÜ5Ô²cŒŒŒté˜üAž@zàÎñ”~RºéI “ɤÇö*€¹9%“ÉÈår'´ž@=AÀ'òù\Në o2pRÏŸÌ]' «òz>Ÿÿ} iù‰Lf<#ÐCŒü‰ügÀÏUU•3ÕÁUÛ¶¿gs–ôÜÊiÓ9«^¯S€Ú6]Z§uºH#’X¨Ý‰å=Bæã¾}ÇøãË>Éi³Z%;D^@e¨M ©Guj×€R›.Ú”Ò:]¤í¹¯vcŒP‹˲(,yyÀìiÓ<:i v­VûÜ`­Åð²XËå&ôµ0lý^XByÍh Ã0 Ã0=À—!|„Ÿ¢œ ŒÀ*ö¤ý  Ï 0CX¨ÂA‚mÆC=˜ßã;<cl>WPcmõ/¶_Û¾ùλ|ôÓŸ~ôÑG}ôÁß¼óÖöål6¿¶úµæª\cÃ}¦ÒéTj¬§Fh$¶ûÎJH¥?ÒKD$€”'ó2 ЫÒéñ~LLœÈår98q¢ÿÀîSy™èQúÉüÉ8`Æ€  ÷à¤Tõ¹\nbb =žW&ä_6vNä?~®ªjuïá_%¶Erzö4©BUŽà·©]©PÙÖS³mJ唿Eûs1ìs¤SÞ»`ÉÛ|©&÷üü6@D ­%¿™Ôêö\RVP³)¥5Û¶)µå„ÕdÌ[¤»9£¶NÅ4'MBˆýy¬X۳§C¶Â°WÄç&ô0 [¿b¤i†aFÃ(%Ã00Š ‚Í`3ð=¹À +Ž=CÂU¼ùÂæfàA Ï \×u{€+.¤ :P÷à€öÀ.@€Ÿüä'?é`µ»úoGû§ÆÆ/ êþÈh¿mt¿í:##£##ïNÒ€± `ôÄÒé½1€q @ÓúêòZ.Ÿ?‘?!í?/m>ׯò'õ“'uéäó]tŠõØ!ˆ%ÅD.“Û-/Õɸ’Ó$ pâĉÏèüüç?W`€îR¨š&!p¦#èÜBçKjƒlè\ nwÊy(y€y£¯JÛ7 3Ķ ©\¥]YoP*;ym9ô§»yåÑXô UÆ·ŽHÌbf'ã:ƒÏc`àjϵ0 [a)l…áÚÚZ׈+súZ¶¶ÂÒ´¾ X¶÷WˆM©°®P°½c¤âÍÍbûÈs×uO@ Àï*‡3Æ8ïú + ƒŒæ±ýÚöÍ·ßýà£>úɼ÷Þþæ›Û—|põk««««OÈÕûßÛ­ßág*5:’þÈhìݧb éqâ÷ÑÑQ)F†äz`ô*€L&=žÌd2'r9­Wäã:€ñ£¹ŽcÞ4:Q€“ùn @Ïçe@_Oì_º¹!A@­›Ð‘.ÀÏþóÚWí= ìE{ +5 ©&wpk!é ²j¶mÛvRjÉ›{ãY™#dž@X°@© RTr¦ +öc™ÄjwaÍÏ……y T–È9„`/ÒÊBÏæóóÖ!±sA’©£„tP«=öyìØ‰Ðl6›{ôf3l½ôtIËhò„B麮Ëq¯BWp76=!ÇѸX§K\ÄXÅ›››ñÜ^„¬x®àÂu]‹å qö(ÆgüÀ½@3Víí+¯o¿õÎ{|ð“~ò“÷Þû›wßúÎöå\mvíÿ‰Á`Ï-= ý£££Ò˜GGFFR©Ñ‘Ôh" zä@üçèȨ|Éè$Y€Lg)½‡v.—Ëô4Éjà'rÚ‰'r9Yú#€±WËåò9E¢"¯i¹|.—ÏHvd&$X21E2™ÌD&—ÏŸ8¡É´Á‰¹œ&™1‘Ëå&2½nG¼iÞ0:à‘G…–Ëå>#ìá Ì)s6©Õ³ä€Oy˜ED”Ú”ÚÑbýù¹ùø¦^èÜç9O¤cO­9j¶ôä,akŽÚÌ“¸Ø"PƒybA›R›Úv´X—.@ÿæ$©(˦5¨’3³¶Mí¯~õsH°ÞG-—Ëå”\.§7×Âpk£„4yñÒBm +c@xAà Œ9ãÂuñSBˆs10z@Ý|¡kÿXpæ%ö/„l³ëÄCÁb ]ˆÒ^€ßZhûàõ+¯m¿õλï½÷Þüä'ï½—`õk««F €ƒ“øŒHզ߭îýfddD +„Ôèˆ|âÈ‚ƒTJZû‰8ø:‘ü9‘ÉL$£ˆ2™Lï±Aæ”Lf,—?Ñym²öÉ<É>DðO•¸þæÝwß{ï'ïýÍ;?üÎë—|pU†dx|ÿÙ]iÀÑ)ê;IÀn: 5’ˆ„TâŒJ¹ÐÙ9Ý€tjÀú&2™Œ’‹àÞ«åxbùœÄl{ìwB’ ×y¤ÿ¦òžËOÓéôXÇÐ;™eÆÒÃËž:ƒãŠäÜ/\†¯éBybrâÈ‘Â=ÓÓåò©òÌÌL¡R.— …øN¾B9.,—gÊ3_*—Ëå/•ËY(X(ÌÌ +ÓӅ—Ê3å©òÌt¡P. +…r¹\( +å/Åå|²®pff¦\ž)Ïfâ«ãjÄÊ©Êtwó™™™SåòL¡P(̦ Ó…™iùwž¾çÈdj¢pª\. +…ÂçO<Ý÷¶®÷Äz0‘É)ºÞh†áš€Òs9°Ø ‚@ø–×N +áºËl™±eƸ+/ï••½ÅÍ®ÿϹ,ðCÅí'ç^7Ø£¤ýs¾¿ pPÔàõ×®¼¶ýÖ[ïüÍÞ{÷¯ß{ï¯ß}ç­›Û¯<ø ±j««1]ô?:Ç ‡ÑÎRH7!~zI¡ÁXœè_içƒ%‰ÉËy9qlßñYÞ;Þ`,“Étæœ÷_g’´Bîáà`%tz"£Lô¬Ï€ÃÖõh±½X#gÀ¾Nç"ÚŽ®ïFÑîî÷Û»»×#:·°»°[¯G;»Q´ER§Ñîµèhaáí7þÓµëmºCiQø_ÛÑ7¢]xþÿ{£½]»ÖÞ½q=Šh»}£EÑ÷£³ mÚþýÿãzí¶o¼q­}=¢–զɿí(ºQ>ÚmGí(šÿÁìþÉ÷®E×ß ;"JáùöâóßhÏ“7w)9 +íöµ?¹Þþ\^ Òê{Ûðµ¶]ן\k6×ÖÂVËÐtµÔ7  —Œ1×]^Žçñ¹"B¼ÐcÿBæyŒ!$¯Ÿd^àÉÏà,ŽÞ~ —SEÉõ|¤39Ã0^¿råÊöÍ·Þù›¿yソþë¿~÷wÞúÎö+>Ø[áhì+ÒvÐùVº±#ЉÊ(áèÈÈèhÏ4‘NAp €ä·v.=DíñXïÅÒMè5Ûôž‚Æîí…É9ß7-½ßäÂC®Ïš¶äÝ|Sæ,øw§l»^›RZ£q“>TÚ6¥ñH@ì(²íú”ÎY@ìúµ:ØÔ^ŒGüÕ(Ð +µer 6µ)­SJéW€Öiœù§ñl¡ònͦõÇä\‚š]ßµíú5J-gìz»6µ©¬°¡„<_ „˜Y’ Ã>ߨXßðuqt]××Öµµµµ°Õj ]ÕûGÁæSN æ.ÇŒ¹n<ò—‰~=þÀCÈó}[ ¼Øü=O·Sä !ÀúÀac9ep¥Çs†a\¹råÊöö[?|÷Ý÷Þ{÷¯ÿúݾusûµË_~°1ýŠí_FFzk|FFó}q `$5é±T*ÕíàÍgÒéññÌøøx¦ŸFc±fŸÈ)2Š/g·îÛΣÅY…¸w@ÉŒKÿ]éªvMÓ´œÖ½ "NÿÊ0`·j,#S€II¡ž×r™œ¦ëFïðå_j5Jí3SY“ÔìS‘MÁ¶)µm[Žÿ£– ¸Û5Û¶íšM©mïØsÄ"íët×¶m›ÌÛÔ¦Ô¦6ÀÙ:•ÓDe¥¼p¤^oÏEujÛ”R;²e°¢Š ¶½h× N4F¶]·¬9Ëj_§;2 äÎP°«ÄÌš²^àóX >¶:À¡®ëz3\ ×ÖÖ.†/½Ô@yµôDg !„Ø áaÏóc®Œ-K àÆó€D'ü'ç±ýû¾ï¶²x\ðÄþ…ÛÀÙíg2ã{âYé´’7ô+¯¼re{û?þð¯Þ}÷Ýwÿú¯ß}ë¦@\oœ4Œ“)€žë}:žýèHßKI¤ú@§h ÕS`Ü€±±T*µ¶¶¥R£ÑxrU¶%4›²BÉÐóã©T*ÎhyCÖò–J†a<Ñxâ‰'VWWW›«««Í¸°3¾ä,\ [Ï>»öŒŽt]×;åFœýmÊ(q.(þºÙ”Û¬®®†aèz^N'Keò†a¬®®=Ó\]}â‰ÕæÚ3ϼ$/’}¶õlw}6û¢½)€š 6µk$›5OWmzŠR°j¶Më¶Ñİ© q¥ô*¨€EP›Öâ?]¤”Úðht6¢4nîËj5›Òz%ªËC©œ$lPb×âÍãû?)ÝÄ"óäa¨ÿZ[^?V¥»zf*Àçóvàõž·$ °±>H€µp-\ ךÍf¸õR!µ´úÄ9ùÎãéA œM„}áû¾ìÿeËËËËL¸B¸îSIϰlÛ‹íã`Åå¬sþ !# +`é@`?0> ™|>ÿÊ+—_ÙÞþÎ[?ü«¿ú«wß}÷·ÞzkûŠ@>Ÿ×O†¡ë=õ¾ƒr¸c#=Å@©ÞhŸüªSÔ©ˆ ê^3eL—ÚêüùæùØF“A…««†¡¥ÒéñññL&£h¥' £±ÚxòÉÕæ¹8m{ñb†ëë庴µµµµÕºtiK~ýR«ÕjÉÛ7ÖCŽo„’¶®5WRI7šk« ‰=Ÿ×rc¹¼a¬6›a>÷l«Õj]ºtikkK~~©»ÂÏ€o~ó›Ã:(­Õf³Ù¬9[…BdÛöWÁ°¯Àb\¼oפ%ÏË +>;°*äB©·;“Ä#JkÔ¦‘Õ©-' €%sD©]^”Öäæuª „ÚvŒ‰y`ƒm×,‹€u†ú›òÑ3g`‘ÚPƒ3Ñ©ˆ™M +’íÏ9Zëa¶Î—Âõõ=m‚1.^ ·^jhšZZ}²¹údsõÉUžÀ –6ó=áû¾Ç„®ŒŠÄ èÚ¿tïû¾/0ö„ç2áy+žL&/è*Yp ð/ncZ>ÿÊåËW¶··ÿãù«¿ú«ÿë¯þËßzë?¾þÚË_þr>ŸÏåãZ|½3ì–®ðhרS½ÅÁ©Ñ¤x$•M¤FFGGF{@º÷^±±±ÔX*q¯â:>§×ÖÖVW #/Ãûy]7ŒÕÕÕF|ò7›kkáÓëÏ…ëan„áús—¶¶¶¶.m%xî¹.6ÂçâÛ_öf‚/6› CG%Ãà†±®Iéaèz^Ëe2™\^bµ¹†Ï¬‡ë­V¶$g¶¶¶šÃõÏfÿßüæÐ€m›ÙìѬIÈ4°kvìÖµkÖ¢ _í)лFç*`U&„ÀbòƒÅÅElû:Ô©Mëð0@íÑ€¬)*ƒ-K†dImÛ•EÛîÛl +`YPµæ­¹9¨w1E ºkÚÕÙ©£’‚„ÏcÀsÖF†­Fã¹á/^ ›a¸õRCCš‘” rÎ:à¢K×#½à‚÷Ú¿#°ç¹ÏùëØ8è‹ô)€Cf2ãã™Á·t:ÓÀöÿê‡?üáÿÃö|ë?¼~åå+3!kçc¤“ ý˜å“:?öíS*ŸQYÿßÅB¢F÷kŒŽA|-@suÕ0ò†®«O¬Jéß\•ŸéØt €­­ØúŸÀúðk¡[a³Ù(éz©TÚF€õ­V«ÍæÅp]ÿŒøæwéÀDPø0³Ùìož&´·úÙô1i£P‹v:ôä%!ð(< +P2Oæ¨3Ë»Nm»fGVD;÷ŒÆe½–e­Èº_Jéb-¶t:õTÿÛ2ÜGÁªX²Æ¨ÿ܈NÑ3§§²³6Ôl ŸËÀz¸±Æ žjíý‡!Í? Ã0ÜÚjhšÖH c‚ÉB>þB‚ y-®+ât€ë +!Ü 8çöï9ŽbÇ¿Çþc0Ì“LÎû¸Í,@fù§¥ p9ÀÍ·þÏÿó­íííííÿðÚk/ùŸŽ˜È%è½Í·ÐXçv°t:=6—öf;@#©Ôˆ´y MOuô^è ò}hö`cC@ïô·® °Þ +; + dÍ!ø§F€p8šúg³ÿo~ó›{*c˜&¡•vR´kÓäTžë=›=V…@H?L©]³¿Z‹æ#{‘R[öùÔ€Ì?hå÷í¸¢ß¦`ËÐA¹³¹Ý³9!T´;¿Ü¨V£Stvv*{šÚ@mºðyTëáÆFøŒüØhm„áF«ñÔsCNyú‡a^ÚzJÓ´F2B€ Æäár‡#Ä/tÝŽˆÏŠeŒ1/¶Ï“öÏ7ûìßMú0KÀY‰óÛÌd2{ƒ€—üÅÍ›Ûr½öÚ•—¿|rl,¯(qW¼ž–ŠñD£Ñh4V'žh4 ]™ù{EQ”=.ÀsC]€½ +à™= @c¸  O¬6K¥’QÒõ¼¦å2ùÆ“ç:KhŸ}XŒhÍ&Ù©Ó³„@ù:µmZ³íkÿó›×ê×ê´^o[=ù‚d*–MwêÔ®@iMÚ|î@€Ö€RXÜ¥²v€R›žÝ­SQ›îìüûk‹oÖëí +íIFÄ›×hT™«-¶ëT2!ñ©MÉ)BL3k€¶?íÀÏ„Ï=Óz. Ÿ{. Ÿ{î¹õp½uŸo…{@÷øß’Hˆ€9ç\¸ !„püs¾"Ö¾p…ËÌýÛ¿çy"®L牠7 ­ÞIcli‰ñÛËŒg2™Þ4À¸´ÿ ɺ|ùÊ•+W®¼öú믿þÚ+—/¿|áäoüÆoüÆo$èŒHõ¥oeÿ­ð™V«›”*`dH ð@=À .Æx²»žÉä4%§jª¢*«ÍÕÕÕóF£Ù”-œq÷âÅæù¦<âû-3þ3 ã¨ÎÅ8wØ(é¥xä“ yûkã|×°[­°y¾Ù<þüù'Ï7¥RÉ0t]Ó´ÜDÞX€OA€?øƒ>XÝ,sòH6{Ê´~ݲæ-KÞØaÍÍ‘€ç¿bYgç,ë¬U®X–e›«ÌÍUÊÓÖ¼E€T*åÊœe=kYs‹XVÙúJåìÙ¹³•ùŠEaaÞ²,«R±æ¿´0°yT¶¬¹92oN¬¹¹¹J¥R)ŸkžT*•¹ŠeÍbÍYdn®R™ûb¥P¸g2[©Xës9ü¹õçž{î¹õuùñÜz¸ÞjâfkŸB¤ùoµšzˆÅà\0×uß÷}„D‡ž+„+/ëb}Ç¿<ÿÝÀ®`<ŸÏç;‰þ[Ý8ðÔs-I—Zqíoœjÿ©±ž(c|ÓP€5 €§Î@™Èi™\NË©ZCÀh4šÍµµp­yqC»p±Ù /þÿ¹ûßà8ŽüÎl†žÁÁ© 5…¸ÝEPx h‰¡` ÔDÁ݃„jX6²™M¥ Z^JŠh¡é®iÄá(¢I–ñHÁÏã[*„)f[æs0°Âî¨ñê¶£Q™aPʹ—z´c \kXçÀˆñÄPóò^dVu7j4¾{A]’ÿ…†Èß'¿¿ÿö‰÷³,ËÈ[öœ=gç$f"Ì͵`&—L$I©ús3…ü> +À|úÈ‘Z Д(ãS®Þ­‰Þ{# 1Æ.v_Å“ YŒ—ñ«ØÅ“мþNcìb¼‚³Ä !þœÆø$7¾çºîäi,ž„fÝ´ !4qCcÓÅÙ,Æˇ_?ý²›Åx›c]÷ƒã/`ìâ,€¤ ˆ Fz¤OŽàe×È0²€t:}@1.pi~Þ±-™˜ß"–æï‹ƒGC &ŽOOOŸ=ûÚôôô´ Àþ`pðìtD€³g_?ûú™wæßi¾þ£ûÿìÙ³gþøÿø×ÅÐðþöÿ û—A€¯—H¯®†Ã ¾Õ,ÿ¿ÕqðàÁÙÑÙÙÑ£££³³?~ë­·ÞzkvttôÄpßp_<>Ü×× €X“Fÿ¸té¼€ã8.DCÂìÐT iKì²ÿܘñÑÿô‘þþ7óVÞ’ + hÛEk®4¿öÜ.ó´íHÌ D + …ÝÈ7 ™êæ™ÞŽþäL!ß*$zŸþç …ft0ÂØ„ZO*¥ë!˜ÁØÄal £ 26ßG¦ùû7Ó“ ÄJŸ—€6ì8ž>=eÂLXÒ‡0q14ñÂØ4M›!Œ¦ibŒ°MŒ ›ë›ËËÆ$@Œ Иb@‚çpFöÈic1å”’Çö¼c YÎnù?ßbþvr°cÐ*•J¥ÒùÁÁÁéãÓg§ÿƒéééHü`ðìÙé³Ó?hVbMöÿÆo¼ö†èŠì_Ljèÿ§wÙÿ™3ÇÏüš,@¹ìºn:^ý«™ l8ßúÖÁƒ³£££‘81<ü 'ÄyþùçŸnœgžiûõUí»„Ò%§$ìÿ’3???áÂÅPì€æðB+æv Ð¤Žôöö9òô›y+Ÿ·$ŠÅ¢5_eM˜³æöºè­°í¹&`? +‘ÈC".ðŒT»]çüÓý¿¹°ºº›y c3ÓÓ“Òu…‰zŒ†®‰ B&ž2—Mó÷M3-gýˆ€& “iÙò3…Dx +—GÜÌFaüûæÔ”išS¢<c£ Æî2%æ²i./›ãòá°åá““pÒÝE(1„`B‡)pÀ)ü˜@„pK%ñæ8ö¼3w|/lÛŽÌ¿˜Hô÷*–J¥Réì™ÁÁÁ3ÇÏœ}íl"! ðÆþð?øÁàÙé³!Þ8ûúÙ§”N¥í€Òbÿrލ°G¡qÿ?ýÚû?~æÌñ®}]9—Ë®›n&@&“ÉÀ¦€ÙÑÙÑ?™àÄpßðóÏ¿ð /<ÿüððp3†Ÿ9øˆÀ=(Øí)…׿c_õÕö»Ø”Ü/ |€0 87777gYsÒ{/¬7s¹ÜÌL¡ÅxºÿÈÓo¾™·ò–%]»X´æ÷Ĭ¯ËnV¿‘ ðLo‡ŒìòŠsöüœmÛÿ<´ Qz7…n¢ž=#Öí!„MŒ3goâH˜æ²‰ÓB0 Eò†ã'Áú$€ã¦iº×Ë™eá)„ðúF!ˆ1ºišæò_þÛß7¦L !ÆË&Fâá<á‹0)vB'סONMM™æ2\ÆP×H¹±ÄAü8–ï€bÂr„ý·Ö†æŸì?2˜°Ξ<~üìñ3Ó‰é„ðÞˆ4À´L¼¡(‡•NEiëTbBÿ¿öÚkÒéö?-îÿ3bÝ™†ý¿ÖèèìêìRUUU +@ƒ/ºø×€¾—þ«fd „ 88;::Û£'úBœh1þááááX£·ö7Q—œó¶H]rZ\©‹ÎWŒ“a†ÂöfÎì9ë +V¡P8—;wn¦p.—ËåÞÌ uÄ{ûŸJ&“¹7sb?“0?Ûžß«öÀœÝ €9˲íæ€mï€s!ÿÃG3…™7sÉÄÐvôçff¬½§(>ÁohÿÕju¢:  B¯ Ô˜ŽÐ«¢sgÊ41B&,‹–=a£.ÂãÂI("xb‘8 IcÙ]¾™Á//cŒ¾9b"”A0ƒZ^^þË›±l"„2_5ʘx#„#`lÀ „¼Œñq0). +9¹lš73!C8RS1Q&óxv:»Î|É™;n]Ú?(Ípph0'ÊΞ={vzpppðøñ3g¦^ýõ×¥ôŸžé@åIEéT:¥MQcŠòƒ¼ñÆoˆP_xÿOŸ=;}vº)é?(ìÿlÃþŸ9süø™ãŠÒÙ©ªªª*Šúï^?®iš¦‰`$ý½†  iGgGGGüõ0Ü:ùûÑx”pé’mÛs 5õl0 ª7M:¶m[…B.—+ä +¹Ü¹Bá\n¦PÈYç†::z{ûûû‡††äz¶BîÍ˲ælYŸ%”ÍDsÖœ%/zKüÄžÛËš;—Ëår‰„]œ³d€mÏÉLáâÅd¢·7¿h…Ƚ™Kærajð™™=×$ææ~Sx{ [3á rS=2M1&Xôþ›Æ: +[î°‰M§³‚I4D†gFËif0†H¬Áë#.F0Ê ÿûõWÐòÍ›ËæÔÆS¦¨t‘ 8`ÏÅny½|óÖ,/»ëå[æÍ²y³|«\þOeÓÄ|¯¼|óf¹ì–ß7—o½·^vËe—¯/ÿ§¿^¿é.—Ý…ëîÔòòõ›ï]wË®éþ—¬‹1.cèb芇߼Y^¿uë¦k®/üµY.›åòûeó=é)xHíÒËååëËËËÿòq'ÀW@˜ÿàqaþv¡P(œ}ã³oœ}㯽`zú^ÿÃüàÊ¡C!ž15¦tvªšªˆ¿þº°ÿ³ÓQ Øãs|ðwöØ€N¥³áDÐÂú,€‘t:½þWr8SèŒu«]]=Úèèh£à× v°¥Nç௷ÿù&ÌÛó uÞ¾è8Na €Âý#1)ã s…ÜL“ÿ.+þ¬doo¯€¸þgffò2 nñùÒ®™Íž +ö\ÃàççK¶e +¹\"šâ,þÙŸý‡ÿðŠCýýý¶ÓŸtr¹¼•³‡Ž$íÂÌÌLD€¡þÞŽ¡‚UL &r{¾ä,.þ°Q~ì8Îo +BªÕš °rãÆ QtòäÑÇÅ>|t```àØÑ‘ïŒ;vläèÑ£ÇFŽ}çØ±cÇFFÄÏèœ99>bœ4Ò'´ø€‘‘cÆïeÓÿ&{ôäïýž|øÀÀ±£ß9MýÎÈ€xÚ±c###ß8zìØ±‘ï=vôhËÃOŽ'O¦O#ÇŽŠù¤#GÓéôÀs‡Å'O¦Óéo2ìÁÁÁAqûÛv¡8W(Ξ}㳯½qöµÇÿàþ ‘HL¿þú믿þƒ˜¢z²Y(M + MQÔÈþ§£[þøñÁé³gÎüX1ÚÿñŠÚÕ©ìvÆB Q@ú0€¦i¿1¢û þD{ãR©‘°K»«ܹsû ½á´ËÖ ¦.ÌÆ‚–più›V²_t&I €B!78”ª}hpp°ßvæí¯<ó2\šŸ¿4oÛ–577gÛv©Tr‹Vrè™ÞþÞþþg’ÉþÅ‹ÎÐüÅ‹ò9»ØÛëgr¹™Ð`YÖy»h +¹\2‘ìïü ‚(!”T«T7C¬ÜX½qC¥Ó××a\¡[þ`}}ù¯ñȺ»¾¾³ëßzßu³å›7ßÿàƒ¿.—]ŸÎºîz6»~ g×o•ñŸ—ÝòjÚ-»”WÜ+¸Œ×Ýòu1:|ÝM¸ë.Æxb\¾ù·7o•oM”Ëë·Öaö–|øúÍ›ë|ð×åòºq»å,\ý`X~ÿ&v—Ýr9íºîå2^ÀØ…Žñi¨)1 –Ýïýÿ"ó/Î +ëìñ³¯9{ö̯½öÚk¯ $‰Äô™×_=¥Ä:w)€¶&ð¤¢t«ê¿1=Fÿ"ûíøÿòÚôkgÅ’ †ûüÌ¥KU”V@€H¸étú½÷Zƒ´#'à׺qŒô=ñD{¼á{Þžk1Ç9wî\â»F,hoß[ZhçæÂšÝ|C$“Éd.÷fnFôÈ„£0í’=Wh,o“×z.—+HW¿ÑqâܹœŒÌ—~ø¿ýßþìÏþlñßÿÙ¿_\¼˜L\¼8“Ë%­Ù‹GúÏçs"þ—”Ÿ‘ #dØÁm%á°¡R©ô›Ù?¥BxÕÍÊêêêê•••Õ7n„EøGñ{zªia3ȹ!FF„2f6±i.‡Û=^~LS8ñiã)£íá$A|—M6úc„2x}äá$À"4…3žFÈĦ¹ŒÃÎ"£åá#eˆä‚@ O¤Ðº;c*€ÃPÈGæoÿ¨`>{üìÙ³o¼ÑL€éD"1==­()ehkUݪڭì¹ÿ_{ãøôY!ÿ[âÇÏœéìT»:[]€€.v>…>@s%@³ ¯¯Â2àGÌíëë‹?"Þä”@“O|ÑqœÂ¹s…i{ß,@Øk ÉtûûûûéïJXòï)ÿÌ3Ï$“ɼUœ½páÂÅ‹ÎÅ‹N8–Ï‘»mÏYç"FL$¦ ùŸ "¦“Ë,qñ—JŽ°Ù¦¿uaÆv!gÏ:’½CŽ•Ï½™Ëå’2 › +¶mÍÙö¼h-ž/ÍÏÛóöœLJü¦ „BªT+•µÕÕÕÕÕ7nTªÒZ×UÕn Q ÑÍ7Ülj]ш§0€Ø”ã~rÓâ 6¢¾@Q`ˆ Ìî_‡sýÄo¹#e¡1„؃~06±iÊÝÂãb¡l=Bwg2'¤&R=TxBÃ0¾ÑÈ ß¿Xœ³‹Åb¡0=}öìñãÓÓ¯½ñÆM8þð()åòU1EéQÕn%k¹ÿ_{íµãÓg_{mzzúÁ†ÿ/ ¨]ªÒšš¦iÒ ãX#ìŠjcÝjW¦i@ˆ1n² €=8(Íþ‘˜íëëkÇÛÛ£"€F·Ý>@a:±7ØÞ y·‡J$çlgqñÏþlqÑ.æs¡é&sCÑàþg††ÉœÈÊår¹7e÷p!—ËE³?sÓ¹\24þdBLMÚ2N Šæšê>÷ñJ‹ÉgŠÿë|“CR,óo&;:::¾u°cpp°¿¿¿ðé¦ý+ƒQ.ú›)Æh$ª•ÊÚÕÕ7V+U"ÀÀ$€šªiè²'בbÏ\¾ŽåÌŒMÓt¬ØÛýÒ$„#ÑÞ‹±hêÃNÊcÓĈ0p—1Ôu˜­Æ™ë’.pjyy*zø”išYCl…“<-‡‰cŒG‡r;ø˜ÖÕÖ“AO>†íÀ¿UÞþŹbÑ.N‹1ÝgÏž=Ó ÀkÇ?~\yR9Ц|U @ K Í_ØÿÙé×ÎLŸ={f°¥þçøñ㊢vªŠÒìŒáÖÇ= +@f7‚cœ5Œ“' ¢¡Ý÷Àèèìè艾¾¾x<o@”ˆ"€óvä$ÇÞ±p @Y”Kä,˲eDíO£ÐšÕß?”£y‹vѶ/\¸p±1à|ɶK%Çi èçß/Ê?”/q¾©Pf­B¡ tüœU(æl±)^Æ!‹¹D"!ÖÂö÷÷‹a+GŽttôç,Ûž+†åc¥’ãÈ8`©T*9¿‘ý7à{ÕJeåÆêÊj¥JˆHf°¡©@®Ì@ÑúȺTð¦èø•ÍÀ¦›2_Xºè Î`({#³ÆK“°ŒLlb„ñ±²1‰Ër„'tùF—bŒ% Ƥü‡‡ÆÐ=Ö²0TÓ4½G= !Œñ7ZŠ)ª¢LŸŠ]¬þ;3}æÌÙ3»  t)Êÿ‹í§Úö(U‰ÅºÔ®¥HûãµãÓÓgΜ9>=}æøô™3Ç›Щ<ÕµËèJ±æZ wäèÖ´€ã,4Œ“']·\þjDãzw`øÄ‰£££'NôõõµÇÚca $Eø|K%…#€Ä´ã8ç÷i +ƒ€ÑôÁsçÎ;w.—LäæÿTÚý¢sñ¼Ø›>@2Ÿÿ¾tþ/´´n”šfõ9NËÏ›OéRS²`ß›®‘D,Z–eŸ·mÛ¾xñây[N N%ŸIÃÌǼsyqñ²³è8N©‘xøÍÀ(¥”Büš·±¶ººQ©â3QŒ;âNŽ«ªÐu9%h¤ŒÅÎSË&B™ ÌÀ ÄxÊ5Ds¾‘ærg †°i¯ï‹/À@×M$zŠŽ]‡“påÐoñpŸÎ`Œ!\žÂáæpŒM3›…ø4 ç}"Œ1‚fŸÃÍHk`"Õ­Œ!ŒÊã@Ýh@ãŸÃaåÉX›ª(­ó9ŽOÿàŒ˜Ø €ÒÖÙ¥(ñØu°;Ð-@W¢ªÇ¿öÆoDö?}æø±fHàŒÒ©(Šªtvv6\%“›ˆòïa¯ЬD ΆqòäÂ{e@*¥iû u·`tô…^xáÄè‰ÑÙÑ£}}}íOÄÚãñ`Þj-º$çÂÅÂÞ:€ðÙ‘ JäJ‹ºè, +K¾h燞~&™L&“áVw[4 –Î_¼ä8íÒ|©ä8óv“å—J­ÙÊ\!—K$r­V/<ø(‚7?/3™rfç²s1À÷óßO&%J2òY¸Ü]üúàœ1ÆX@)e„’Z¥²¶¶V!„ø,ü]UÕ¾;À<†1ÂäBý–‰1BÃ ÂØt ,L†ø·!Ì@@¸éZß4M„ÐÔˆ ‚ˆæÆgPÁ¿51Fa¹ÑT8`¹C£ DPºBÒ©tZ.Nu§Bnö›€Èú•§”XLQ•œ=;}&ð+  t*Š@LýZ1µEyíµ³Ç§ÃÙ_Çϼ@¥SéìT;Ei¸]0“JMŒEQ€‰f¬ÿUc‚£@OO(04Œ“'Oþè½²R©”¦iªªª{ƒ€¡4oàyqñ¿ð 'Â@b<þD{<.þŸ´­Öû?tœ –µ8Ø`A ¹ÒâŸ-:úÌçó…y^r.9Îy €’½ëê/•J%»Ôðdï7Ô™wJóóó¶]šŸ©!G Ø£õö¬RࢀÓP¿q-ç’œRʘïû•Í PŸ1Ú@÷€6žêðE8 4âŠ?‚ð›¢Ëá©©)Õƒ» A$&¦axqÆÁ$šÂ,›!s¤ Û½B€qcošØD”0ƒ1ž‚§!„ðEE- Âðe!À€ñôx:­r{ü&@Q”Ø¡˜ò¤¢Æ4åС§:;ŸRÄUQ:[4Ààô™3MP)Jg[›Ò¥(Ê]¿A @@‰IûÿƒééãÓgŽOŸi(€ãйJä}fRccaG€`¤I´@„²ÙÐMPu¼»¨ef_l8ùüð‰Ñˆ'FG…ˆ··7pIÀÞÏpË*ìUc­iÀðg‹ÎŸ^v[€H6p>4Og“þ¥’m[s»ÿ…H¯Ï;ó%gþR©$&Ķàb€Ù|~7æ÷€ýuÎ9£!(­ù•JÅ#„1ÆX€T÷€6>h‚™¿6±)†ùJÀ“§$„¾$€ñÿ3€a°± §%¦p&“ðôþ€!  ãã¿›Nk u}L û8 •óŠ8±'墯4åÉ'ŸRºT%kS¥SQÅ\ß³ÓÓÓg {Põ¢t*Š"€òõcÝ]ÿJQUE錵ÅÂûúÌô9äÌ™3gÎôt*  3ràÑç`&¥M4jp#ðW«{%B¼W •êŽìgjŠ45ëÄb'NŒžxþùçO<àĉ££³£'úú†ŸhÇãà ”šà8ÅýŸöo î)Š&´<ØÞ;Ø(-þ¯‹Î¢ã,¶*¹¼ÐÚ¥và‡—€–fÏù¦_ÎKñ/@iþ + X,óß?!ö¨5`ÏÿóÀ˜ €ü‘RJ|¿âù>¿Õ €t·EÈPýnÀ!Db³  TŽsÞq¾Ž˜B?Z@!~.åòñq ÀõÔ‹ÿò1€X,RO>¥tvJ SQ•ãgÄ·é3ÇÏœ  *ªòÔ“MØW|e @Q:c±X,Úÿñ&ó?SvgpD€1MÓ 1 q“ Ç!! +Rbp€ ¼H¥žÕ´îÈþ1^?ÖD™ +èë §†œx¾EŒŽŽŠDÀð°m[÷à’ã\rÎ;—L:ÎDz,kppŸ^€æq {ÀG(€ï7+g/÷¸v¹ ÐÀ¥Rɱ¿B|?ŸO&‡žiV¶½/¾—–/~dŒSF©ù„qÊXp €© |QبTÂøúx 0¾¸è8KŽsñë(©°€aÀ9ÑxuK[ÅÄ‘ouô÷öööö+ö­Þgzû{ÝÇS4 4Ø €Î'=ÕÙ¥´5 Hœ=sæø¡´NUQ5vHéA@åÀ¯èè.€X›7}|:,ý—§Sà·ºÔF7 ¢¨X % Ѐ‘tÓ\0ˆ°Ö£ª=B¸¡øÑÍ›:H¥RÏj꿊ì­d1„ ‹JÀX,÷õõ•cƒN4Â'þdtôĉú†_~þĨe]Øí\rœK—Î;7pç¢cYÖààЊð'»c—÷()òE«Y\Ü€0ã·ó{&-ÏÏ7+g¯p.:ÖlþûÉä3Cÿ¿cœM(ãŒ0J¥œ1pÎlRÒÈ쀗"À…&à8Îâ¢H“”ì¦0 { +V1yä[b¯rG¬£÷™ÞþÞþÇÔþÿå^óW”X,.\€ÎCO>¥t)ÊÐP”˜lÙ9~æø™ãǧÏ(=š¢*ªòTìÉ0¨(Šúëcjä4+€m1åP«ýRcÝŠ¢(Jg« ÐõJH€10¦iÚdS Ù€CMíT5m ˆ½Ò¸yS×S)íY­Åþ_ÆžBxê¦{ðàÁv1%4Þ××7zâ…£!„0zbvtôÄè‰ÑÙÙÑ£³³–ìº`þ’ã\²#À¶¬þÁDbhW3Pû®nàVÐp~M à‚sa7­vE˜—˜ŸŸ¿T*ÍÛ—š`·¸Ñ´ð¦,À£`ÿú +@Æ9‹Àcœ0Îa”2ÎÎYÀùˆ ÷Ù¯Txðp:\pá‚# PrœÒü|³èïïìω§âE;ן´mÛ*ærÉ™Ñ •·,ËzBÖ°°“GJ|+ö­Þßîíïíïý—/”]'và€À“O>¥t*mO6@› Àñ3¿#Ûóz„8|èÒ©´É@×׊ìrÈ{”ãgÎ<þ;¿ó;¿ó;¿£HÈ,@S/€‚pD€ h +€UfË.~ÏtÍì³@ÕR]fÇ ãäI·|³ @*¥=ÛÝbÿ¯B6ßsÓßkâ‰'š Ã/'àÄ /œ81:;::;{õí«oÍŽŽÎÎÎÚÅâEljí¥KŽcŸ;—H&ç‚c­ÁþD"‘Ø] +ÔÞ´o8ÖZPZü÷‹ÎŸîUC{cöàÑ +`ÏÜÇl‘”A±4¢¡ ÿ~>Ÿ ƒ€ÿ<pJ)圱:cŒÎgŒË7F9•öOk´(€¯Àd+ \\\tì‹NÉqg^¬HŽ@ÿ`ÿn­b.—,$ÅÞv Úû Ñ!ðÛߊuô>ÓûÛ½¿ýø@Ùs¢@ç¡COuªŠ¢4@[L„ꎟù3ªªv† +@=ôdP´uþú@Owäh;‹h; Rºåø °ÿ'•CjL + «©PQÔS½2imL—×]wd$ Œ´<‡•CÊ·žKFzÜãÆÉ“?rË7ep_û7¿÷=·½=ÞþD<þ•NÀ‰£'N<ÿü°tN¼ðÂè‰ÙÙ_½*ÆŠÏÎÎŽŽ‹ç›©¥KŽ3/ïÿ‹ŽmI í¶ÿƒ_¡þôëÆ~Ì?Ž=_’õü—„]ì«f‹Åï_ä[0¿(¥”~eúR¡ô%N™þ”SNxÀöð.À.8—//..:ÎÅ‹ŽsyÑqæíRÉž·ç…XuÍû ™Hæòrò~(}ë`{GGäüvoï3-”}p Ö¤º”¶&à@,;~üÌñãÓqµ[m(€§žT”ζߤ@Y€b}¦r@éQ”C‡Äõÿ¤rHõt*Š¢tvªJ4 ³K“×" 0¦i7]WTf/d³§³Ù¬›„ª¢jà˜Íf³â…¹å÷tðhûOÏuãñ'Ú›4€@3N̾uõÚ;KKKï^{ûêì艣³šÊòJóŽ3ŸLÇqì¢58(êó[\€(¸ƒ­Ø§ Ø¬.þ& +àQ.ÀyÛ +À¾4_rl{¾´¯(‹ùÙ|þûB`(#4:¶AÊ8¯3Îx(‚€‡.ç„0Æãçû*€G»ÆKM°mû²þ— DàÂü¼í\(• @xÿ?Â(D.€ ÀÜ~ +`è`ì €P½± ð<Å:•¨@U”¶±”.U}òP¥”hû:uÝjws0ŒPžTz”'c‡”.5¦ÄŸTž cª¢v5&uª0#º;Â\@( 6oº®išã,Î@¼l,EéÖ€!ÌàÓ§qö4Æ&†úHiÚ~öÿjú{®‰Qì éü‹x¼¯oøÄ‰Ñ£Ï?ÿü 'NŒŠ ƒ[b·Ø[£³³³³—ì¢U”ù³y§t©ÐŸ°œ‹ŽØ£ úsv×´ËŠ£= +€B ¡„xž·áQ£Œ3FéÞ€}©%çk@Ö† +À–5€¥ùÒ¼m_Ø €(˜Ïï@Ôë”rJ#UOõÒæ³Çüƒ@€×…ÀëŒs^çŒqZ8 ê¼ÔÆ8aŒÎÎ9ãû)€¯áȾ§ËÎegqñ²ã\pRI~¹¥’À`xž~¤Èå’9aþy€°©"@,v°££££7~P ÷€C1E‰²ªÒöd«hPZ@¬É8ð5êº÷ÆÄú ¡bO*]jLQžlÄZº‹¯ /`"šˆ3.6å*!ÏE9»H`û7Ói×ÄS¨ý‰ö'žˆ=Ñ" %À £³W¯½»´µµu{kkiéko_ýñèìì[¶•Ò€Î|©0˜°DZ­œ@.×L€¨üo/¡”Q¶œQÆõ:âæ»°‹v©J—ìùùRɾdÛó» ]Æ£Œõ€œÖëõzÀy½^¯SÊ™@…RJ[° œ ‹– „q^—’€a<°ÎÎ9§œÈßàŒ³ß …° +–m[öœm;¡pÞYtQí ¦€ÁÁÁþÁÁþÁþþ§s¶],ZVñ|1ןh‰Ì$s3¿íBô~ãðäÿÔ¤º:•&Äb±¶]ªzèPW³8|HQ:Û¥óëÕt¶dD0Ö& (]jìÉC‡”'£€¨.€â"[¼ €T¸2ºëx +‹­¬ÈMC ªMÈà „H©UÓ0Î ¼ÏýŽµÇŸˆÅžh&Àè‰áÂþ—¶¶¶îlýdkiiéÚµ«³?þñ[³Ïç‹Ñ€Í’SLÌ9¥ûϵN’^@+‰®ÿ½`ŒsA êfgQQZ¤ú£ëv5)¼4?_š·Kóö¼gœ×ƒ àœ w7 `¬^¯3Êyl7hKéO !„ÕEÊO|UuÆgupÂ#á;3Æ£¿A`ÂD¡P°ÃqÈÎåËÎâ¢ã\”ŒŒ† >38øÌààÐàÓÉ¢P¶ +Àó×fff’¹|>ÿf>ÿfþQˆµwtÄãñƒ±Žø7ß-µGíêõ=ŠzX¨ðXì@¬­MQåP¬SUU¥S‹=+°¡(J¬³SQÚ(ª¢¨jLQ”Nhjgg—¢Ä¥ëÐSŠ¢¨š¢(]]J§¢Ä”NuLíT¥-Ú›¡(]ªª(J—Ò¥¨Š¢(š*º:»Ô®®®ÎÎÎÎή.ÃE0Óꨊ:‘A±¶U¾AŒÊ.Īú¬è: 3bl„ŽôTª¨`ý‹û#„âñö'bíOÈH`__߉ÑÑ£ÃÏ?ÿ 'FgߺzíÝ¥¥¥­­­Û··¶„¸úÖìè‰çG-Kv”œR¡?g;—ì\bp0´ÿG ¬(PB(a2¾Çh€p¡CPÆBË¢\6ÙqÎ9ßÍ +@„ÞÅ»uJck€ó ¥´¡XP¯­ +`/BD5êŒÂçŒ3B'œó àüJ©4~Aú5³,•J¥D¡P°ÃéÎÃÎèK!ÂïG–]Lö'/ØE« Ó€9¡ÞÌç­7£!Ìû #ÞÛñØ g¿¥3 ¸wuʼ¢(J[,SèéìR¢v)J§ÓÔŠ* +ºzzzz©Jg§ÒÙÕÕ¥ªŠÒ©ÆºD4OéêêìêR»T5Þ-$ƒÒÖ&¶èµ)1UQºD¾¯§G“OV»Õή–“þ׆‹Z¼¨©mªß1™Lcœ…ètÙÍ6 Æ=AL¤kÝjf¸c¼ÏýnoÅÚŸˆ·?`Xj€'Fgߺúv€­¤ðoÍž=Ù–(]°s‰¡Èþ[p°Éˆ<‹;G‹lG`¡U°& ]€¨”6€P΢¼ž2΃ \`œRÆ«³€< ¢ 7`»À(eç¼IPN)ã,¬Ú +€JÐ= +€îÚÒùÓtêŒó:‚€RÆ 8!AÎÎySJÊ(åAÀ¿NÀ.•ΗJ¥Râæì9û‚Ó€è …gpðHÂ’ + ˜|:a‹V!—LÎäffff’É™hÍâ£p¤··#ÖÑñx`l¬g,ýçwÇ~wìwS)¤‚µ[UUµ§§[UUUM©ÂõnkkëìììîV{Äï€ö‰5<ð°ªu«ªÚÝ“J¥R‡¡&>VÕÄ»h‡ÂwÔTµ[ëéé9,žªªŠr ;ÐùíCšªªjw·–J¥ÆRÏh|q\A€† á1Uéâ6ÀÑŽø,<]v°úì³bÊÀL&á)„t­³'sÚx¶ØãþGø‰öö'žh’q€Ð xaø…Èþò“­­­Ûwî|ôÑí­­¥¥¥kW¯þÉ쉳³¢ äÌŸë?gÛ¶Œìbá8à˜ˆBˆEcMî?gŒ6+€V€ÑÝ + €,²“àœ³: h”QJ)Ú»YH*ð@J0.oް@úBð¯VâSK´¸uÆiäñ‹ €xÙA¡àApÎ]@7œohÛ¶í¹ÒåË‹Žã\þ +t$¬¢Pv²?aÏó…\2@žÖnˆ @G¬ý1W/¦^|1•J½øb*õb*<º–’£vÆ´9wïÙn™WUh==PíéÑ&éš®vw «ÖTMÓz4=•JMè©ÃùÁò = ®=«u?; ic@Ó@*¥iO¥º»5u@Ó\bŠªëÖ4 ¤&R©‰KÉÑ ­?ÆŠÔ¡pJíT5ˆÂØŸ ‚§O» X©q§3§Og2@]ŸèéÒ0w!ÂûÝÿãWŸhK7 $À 'FOœ81úÖ[W¯½óîÒÒÒÖíÛ·ïÜùè£>úhkKÞµm˲ÏK\°sCƒ‘ýïrbíáLQD(c”1J¡Œ1º‘ Pg2Ðä0Ê‚}@w€I4)€:çQNÃàÍà”7bŒ1.D.k¸ÕG€ÉÔ^«âŸ×çŒÕÂyÀÎIÀaöâ½FöÏyðY˲ +¶=??Þ)•J‰D¡`Û–5׀ˎãÌÏ_ºti? ן´‹–UÈMç +9áäåÙOXíGz;¶?æAÀ±ÔXÓö?‘Ñ&ävcmLK¥´Tê%4MÓ$R©±1¬öŒÁé”"Ëccš–Jéc)  0&#”66Ë!~c¤4 O04MH¤©ªª(Šªi‡uMƒ@Ÿ©”®06R©1MÓ´TÓÑÁK+M^B@У*Šq5â v°úìd †§OC¡®ëz’2]Ã…È=ºßýñTûO´Ë# ºÿäêÛ×Þywiiëonß¹sçÎGw>úèÎ;B¼{íêÕŽŽŽZù¼eÏÛ¹þœ}ɶs‰þýÐ~0Ú?.Ç"Í^*ý\ÊEP@(€º0©ú.4»œïQ¬Î*|úº°´D(€ ©h&‹@÷@Ãè#ˆ@C 0Àƒº¸û)'œ…±Î€Õ¥„Š/F~Ü#²Ò$çl{~þ¼s>$€mÛ–œ]äüÐY¼Ø€ÒÐàø~äÈ‘D8 ÉÎõ'mË +@Æò»@¸€± GzÃ’ÀÇ­GGáve ÆR@Òcš¦*]j·ªi:‡'@JÏ6€”6‘Nt +Lè:HéPC:ÐŒhèGAzì»b4¯ãè9”Êh©T +¥4Uý-EQ5í(Z*¥ëúD +@èê@ Æ4°û„€„Æ ´nUQuŒš€!Äîð³Ï> À¸Ý=澃ñ­£«ûÝÿáøñ'ÚÛÛÛãñx¨^}ë­«o¿óÎÒÒÒÖíÿzçÎÏîÞ Œ^»võdz££}}VѶí\nÞ±+ñôàþh6„µ‹‘`¡ñ¨Ìx/ïçHÀš@¨@Æd…Ť ð€ˆü@$à…:ˆ\;Ø­B°€ X½pNyK àQ + Qñ/-»Î9g<Ōף k|Åœñ€Qñ§òþÿ?‚€3¾_ Rås¶mÏ ' QušÎåÅÅË—:—›€34444tDœ\(ZV€Ü×@¬½£CT>þØ} idô :À´˜rª(ªšJéÝŒCx:tˆL$@¡a  €èzJGi¤7ð(@Ó¾kŠß2Ñ+(v@ +èzô¨j—¢ŽÁç`ø!@ä À„x!ÓB€Lá© @:cª¢ë„€§ñÔÔÀ³ =0†øôéÓ¨ë:P3æòÂÂÉòÑ…}ïëíñöx{¼½ý‰x¤^ýñÕ·ßyçÝ¥¥Ÿlݹ{÷gÿ³¿ÿûŸýìÎÏ~vçg².ðD_ßó–]´Ï ææÛ™· 9x¨½]”0ÆšÂÍ`´Õ -.@«v)ºl6€‰,oU\ .œ<ã-Y€*û +´¸uéÎëB,h–#œ¢D@¼¦(uþ„ïvšö©æl{þüy§T*$…Kö\TÒpù‡b–¡œ€64NžNØE+_H†Èíã40׋Åb;â½½±ÙOö¸@ß{`FFÑ œÐˆ!NuuªÝš2ßO/0ñ¢®#]cš×Ũ%]×õ ÓËHþN@L0 3Ò>6Írú_`B×QÖ­ªÁ4‚ê@×á„(ë¤ë*áw[5ÂCAô¨{p:sÚzvh!ÂÙ¥›7?À #†‹!Dh×ý_EzJÇâíñx,ÖÞþÄO<ÿöðèìÕkפýÿì3qþáþágÿð³øÙ;wd$àkWgŸî+íÂ`nÞ±K‹öà#;¸â^ÝlÆ­4 têòÝå»À)cÂç\&4bÒØ_0àB0€€ +ÀyÀiÀD€ó:±zÂÈ>‡5¶$@sÆ9åŒspJE€Õçg<àu)=1Áz”å¼ÙÀ-Û s¶=o—.—J…D¡dÏÙÅó_y€dq¶E$óoгl[ ···#vðHoGGGGÇ7IÈyª0‹10Æé´áB )ÊaUÓR:ð{¤5íw5mr<i'ÝïÃ0²iÆ€®xŠ Æã ¾1„@cpkéÝ·¯ŽÇã…Báéœ=oÏ;öÐW iòø>yóÊËW*¾¨ ñ?F9WaSÂy <.Ë}xé^€… +€ @ØŸ@XĤ_N„¯K„³»88«õð>ç„Fˆ·Y#”ïˆ*XC\Fö!|©BZð@¼ˆ:g kƒxPu¢_˜B2ûÙ¿ €m;vNà’ã8‹—¸øÃËŽS:ßtŽô +ô9’(òù¼•/OçlËÊçs‰\a¦03Ó +€9Ñ (2…B¡)€xoÇÁŽŽŽÞxï7 +ãÂôÆ]83P‡À·74\ ¨=Z*à„M¡4ѨœA"|!ÏpÇ!Ž€„gàPrýÚˆ‰QF×D:˜H¥R=jÊÃÙõÁ‹FܦKBÅ|¯ïÊw@°»ŽÒ™empkBÀLæ´ +«ë7?€ð÷þÍÂ:ƛ˦Øï„÷¿ÚÖÖ¦üV|¸O~‹ÇãñáÑ?¹zMÜÿ·ïÜù‡Ï>ûì³ÿñóŸoÿãÏïßÿüÞ½ííÏ~&K‚¶––®]î+ +ýý_€æÕûhæJöJ¥ê3Êcœry)×)ç¬Î˜¨ÿ岌–‹8}]X¦pD쀷Äx=hÊ0áìê¡9FSû#QoçuΩxzX§çû•ÍʾiÀ°¨@ü(üˆF¬2ú ⽃ÈûYCÞHà"Â`YûÀ>Þ±§- €ËŽãˆÿ”šOs  X(XyË*Z‰þ¤]̇(äf’ÉœœË:77 Šˆ,@¬=ïííéøÆÅÄ] q&̨Bœvªª¦¥€Ž„AO§¢A!„\A¨0i@ŒI& wC¹oN DXN3+#„ Ì@8@*¥u«L㌮ ¶«M 02¥G³Ü!„¦z" йë( —õ °Ç85 „1ÄéIè7?€ÙìïáuŒÂK›&ïÿÌDW§Àðððp____<Þ~ô-ÑÿûÑG·ïüì>ûì³Ï~þóÿqïþýû÷ïÝ»·ýYÜZzçêìóÃù\î霸rr¿“;'Ok@¬½i&ØAQ Ør8óðÂ&¡”2FÎxPYõ]Æ‘–x(äeae¬^vÙ¬·(&\€@€qúçœ +ß^ú@Âh)cLÀ†<¨K·„1F ­®y”úH€±F]RPgã²P9t|¤²8«sÎFçõ é+‹‚‚<ò–õØö¼Ópçòeǹ¼OyúÈ‘§{Ÿî}:Qœ™É[V¾h%ús¶•Ï[Räfr9¹ }Xv±7æ;z{ãí/ö‰LB `™PGð= !œ2°ÚÕÝ366¡»0!èÖ&€¦iú+SÈ4á­¸ë»WÜ´xFA ¤ÀÑ^'s¤ !B}Lè@ëîÖ&Òh׫/¸ò…È£ƒT‹’ d–õ‰T+²8ƒÅ>i|:“Ô?€Ùìï-ÜÄ!ˆÂO™bÅÛ”9•ÝmJ[[›¢üV__<ïë‹÷õõÅã/Œ^}û¥ŸlmmÝþH€íû÷ïßßÙÙÙÙ¹ÿù½ííÏþAVl-½ûöìpŸPÅóöü¼“ëTpöªfRY¸²AeŒ„ò=ꋹ:—Eû¡a0&“éuÎ xÀ(gœŠ2;Q7(À…`èÄ•=Eœ2áì3á 1¹³))Ç„…ò€ °00Î!ŒøŸú¨@Ä tî)§a¿¤óI¨ðë"ÂP—_es†PÈ&YÉØþ˜³ÏÏ;V¢àœ·ÅPElÀÓGŽ<}¤÷é#ýGúÅ™‚•Ïç-+ÑŸ+æóy+—Ìf +‘Lær‰s-@GGÇ‘#G¾y¥´'Í©)$~e–Å~4XîêTµÐ…O)*Ò!„ÈD™e¼Ž3(´ñŒ•qÓ„1†™ëæ†pÂý®ªAˆ3•GÜ©)œ€àÄÄDJëéÑaÚD(„Î@¡1²nf2Ò˜1ÆXRˆš¢q‘@Ë:-AaFx*iÿë ûGalâLal"}BUÚº”ÎNEù­÷Åûâñ¾øo÷Å_½zíÝ¥ŸlmmmÝùÙgÿc{{{ûþývv>¿ïÞç?ÿìg¡Xº6;Ü×gYÖ`Î.Ùö¼“|úk`oÞŒn^q+„ˆé¢‡rÆB«ɳº¼;EN]zÏœ²Ð®&¢ê²¶—ŒqFX@ÅF¤GO‰0hJDð2&Ýþ€ÕYFa70VŸ+89B ¬Fk›žÏßÇþw© `2ZÆ=9ç,8 ('œTð…¾ñÚ›Ò +¡V✄ñ_ Ÿ³,{~Þ±†Î‰ÕÍŽã\vöQOé}ºÿÈ‘þþþ–UL æ‹ù|ÞšÉ  ºÿ#X ` :âñÞŽŽöol\0°Ï962ò£ß8vôØÈÉ´qòdúèÑ£éåÐáÇûh:}r<}8v蹣ϥŸùN:=žN§Ÿ;ztddàØÀ±£#Ï=zt``äèHú{†1>>0ðcéÃÊ·Óé£éïœz¤ÓéñçŽ=62002ò‘£#écÏ Œ„gè‚Ýš(+‡pYŸh‘YOKd28!„zVØ?BèB(ƒdGĦ‰ô‰nEiëT”ÎNå·~»¯¯¯¯¯ox¸o¸/þÂìÕ·ßYÚÚúèöGw~öÙöÏ·~ÿþÎ΃/Ü¿ÿçŸÝ¹Þzaxxnnnðœ]²íùK‰G ôý©˜_yyÅódo'Ò>8ãuð:cuÆëHœË‚zpiÖ‘šæT–ײ(ÍP—ù5^g"RÀH]Ñh§øÐzX!P—î8ã"C/]wÙ®+§ú²Y9ÌÖSou˜HôsÆÄ§`,` 8Vgœr™‚”!ÍHàpµ5ÜÎ9'¤Xœ³æ¬bqNöꉩI¶=?ïX‰œS²í¹ {æ$Dˆ6œ'Š…ÂŒ•Ï[Vb0oåC`&tM˜³,BÁ²çšÐï8Øñ­öÇOMízækº7GÊøÆYáËxÁ= ñK@QT è:ø´ µBèºc„߃îÆ#wÊÍ`lºSËÙ•hƒ²(+pG\žÕÀäÆ8›uG\ _‚b ©*pE'/Â.ÂxÊ\6Ý[é)hÈ…>Ùl6›…ú‹º €ÚÝÖ»4@‹Èb©0ÎdÂ? í"„2a”Á!lšS6)wv*¿%¶„ô‰HÀ‰Ù·Þ¾¶´µõÑGw~öÙö?JùÿàÁ/<nÀýûÛw¶Dжí\Á¾$pnß@{c.¸xÛsGRYX©ø>%”ÎÅ6\Ôí°:Wµh—åAÀ819QJS¯SQ(¬O˜/§Œ„Ntð¨,0¨Ë`œ,ò Xsf>Uxâ!u.óôŒsQ  ¬3`œ3Ÿy›žO÷@½Þòk*óüýO ëZ ·f,+1dYù¼eE#Ár¹D"™L$Í.À~ˆwôÆ;~«ýàcë „1Þõfb<55!„“†!Œ B 4EyJÕ~ð„°;¦¤Ä>„ BÆr!!d"ˆÍ)ŒñzB,Ÿ„ÆŸi­;̓ö‹©ž®.M”q „‰iNa¼œF0 a€ÅÉf¡®ë)MQTUÕÄýo44N£e½%€ L*¨CwÝÿ‰Ó™&S;å*"E©¾æóÂìÕkï,mmmݾó³Ï¶·ÿñç÷wvüâÁƒ<üâ‹_Þß¹û³;ݾ½µõwK×Þ:1<,ªDæmû’“è/„gÚˆí`••U¯ê3Ê(‰*a眆ף¬$<¥µ¡sÍd­\=ˆoŒ×y² .ì*LéE~¹È)ªò&ÚD¿àå$ôÁiÀ)cœ±:•a:&+ñ+¥lw ¨ïG"+Š^½*ö„ŸDM‰œ +ÿDümqÿ !¤RÙ3óP’à¼c æJNɶç¥ü¿ü(„ +`ffƲƒÂ«˜iÌÜv+Dô?Þñxg06Í©–7lšxj +OÄñ&!€@ø’a`VÛV»5€îB¨* +Ó˜~#‰’Zü*šBhÊDS&v]Ý“ÆKxÀи24M/Bñ4 "´Tª»Ks èÈ„™›È41ž„Ã0Âp¿jÊEãþwkØJ€—!LŒñé Êd Ðõ†ýËû!á”zW›"?•Ú€³Wß‘!€Ï¶··ÿñþÎÎ/¾xðàÁƒ‡~!CÛwïÈÀ['†‡çç%ì û Ö͌ɾÀ}‚€µ•ժϣœ +§_ ÌâõºTáŒÉ¦9ÙÍ/ô:‹²táMÊêœ×£l^8†#±Å  ÌÖYÀÅ”/)üeTš¢ü¼‘þÝœ±zÀ¥Õj¥êêïúR‚pƯ“@ˆÊÀ…Ð.uN‚°ò€q°(þIÂeípÃý'„T*•†ÉG?ˆÙ©Na(7¿èÌÛó" \€ôï@a&o ‰àBä¥ì–B átyÌÓ€æÞãš»(íV6&!€4`ú»ê“Šªj)-€{jTˆ¦pb„_5ñ¸‹ Ä!l^7M„LÓÅ" ²xÙqMS5!4€3#BŒt0Æz:{ô´&BèsÙ¼î"ÓÌŒ‹u®FT§Œq6 ³ªªª><›ÐðšÁPTd3!Ð3ûÙ?ÆÐ0 j,‹Å@*%0<Ü7Ü×7Ü7<<Ü7|böê;KK[··nßùlûÿñç÷w¾øâÁƒ!œ2:¥§ÆÀXO§jBh"$jsä Ñ'ÃÎa6»® ¡¡)‡ã!š4N£rK§‘¨%ÎìçÿKûÏ5Œ,Tå’J… yg¸ÀGݹûÙööý¼ÿÅÎÎ/~ñÅ¿üåÎÎý{ÿM¦®½õÂðp©4?'GOþ: ÀÞ$ñn¬zU¡2ä/rç\,ÓKuD=`Ë”-‘5ä´ÆëRG3ND³}ÀÑ÷€A@#<¨‹‹—oôÞñºA‰VÎ댬Π“ÕÁ²q‡ŸT+ùu}, uYŒ*D€² ôI‚ bÐçì&”±€·ÊÿJ¥RY‘õ¹vôãœûY²­sŽí8—C °è4; ýƒýá÷d±P˜™±f,k(aås3V>—Ìår¹™F €Ý€b1¸££ãÈ‘ùøº{ް‡Ѹ3 'ebЀhJ§Ú“J6&´]:šÂ´üÊe„ į WL„2B ÂeÉ@Äux¤¤€B8 &ú 4MM¥zRBÑ¿5›^3°<Ò(F +Gú LaŒ@÷Sÿ—}5,·”9((!Ðaÿß1~4a‚Nµ§Gëé©Hé ÕQ´õÑ;w··ïÝ¿¿óÅ΃Òøå_|ñËûŸßû´Ž=gYó¶m—r@l7ü݇êÚ†G|±(5ffð@4à‰Ü@=¬Ùòºôá©ØºÇYkæíÄ0QÈ d@¿‘&‘½pÎ`T³Ç¸ÐCE/.‹²â³” )O¨ïU}BÙW@\áœ×Ãܾtc‚¨Æ/*ä%¢2˜2NXdÿ¬!ÿ+••••9Q¡;׺¡T*s‰œ]r./Êûÿ‡‹vsµ@¿ >Ø?(²33–•Ìågr3V!V7@¤笹0`#ÐÞÑñ˜‡öÌ dޏQU°¡¬ !xVUµ”¦0Q†8ÕÖ¥g„ 울eL„iŠ¥ÜÈùø—0„„!tÐT @QA<…D h)=ƒ ‰`œ°ÐrZ<$šñˆñ«MM ˜f÷Sûi”n-Œ Ô›êZîÿ`·ªic)aý© }B±bÀGwþ~{{ûþýû;¾xøðÿ|ðàáÇùË/¾ØùåÎçÛŸÞ¹óÑÖR¤BÌç£f›K#þ¸7@ª«žO©¬¢LøÊâš *8àu^§œSÜ Dd­0Ð:ê„1Îi /RÆg”É2~ÊDñŸÐ×< ‘Å %îéa²A|JF«3*4ªx%¾W£>ñ[s¾Oü@" j?ÅE/Ý"#‘aÆSôá831)…ó€7ÉÿÈþWhtýϵ 08Øÿtn~Þq#Õgž;w®Ð@"Q,ÌÌX33ùËšÉçf¬™\")J€ö(€¹9K ,,«¹à±À©ÝB˜Åãˆá$„Ùòú­Êg!΀1µ{Ƨ×] tQ* àšÙ2Æ®t¦!ĺ† `ÐÅë·–1Æ@S¸œYXÁe×€¦ª—³»ˆ Æ“bœ½žpNf±[ž‚á©)d"üŠišfƒ­ y.˜ÈÊÅýõ?Ä¡±M›HMLèº>¡ë/"„v`iikë¶À?ÞßyðàÁÃ/<øe€ûŸorWLx§€ó¶mÏ'‡¢,MKšÀ#àÓê ß—“¸yj—Ù²º úq `áÅð@NÙF&nú DÍPúñ$4ÌÃ`¡h$d 'Ÿ1ÎHÀh ?™œ …QK(8d„PB+^…¿õö¿AˆO|¿Að  \¦"£} ²Ì¯^gœq"‹eú? Œ‹ûŸË2¯RÙ¨TVVVeö¾ç|©084ØŸ³Ï;΢sÙ¹ì\víD²éHëO&‰dÑš±¬\.ŸËçòùÜŒ5“LH °+Pœ››³æ"„iÀöoöÜÿfcYl@Œ¡‘Åx}äåu oaŒ1€àtZMc ßÃX‹uìâe3b|zùúrc „Ô> +10²ƒIŒÆ®ábˆ1š–ؼ…!Äå÷ÊS⬠Æ'4UÐ-»Ë.Æ/C˜…8{2¡!~…qù¤8a ÀD&BS¦išæWiÙ,í@aÿ¡T*•KSú‹ú‹²òxÞYZ!@á|øðÁÃÏïÝÛ‰À¥wÞ:1<|Þ —ñ]*$ìPÄbQ÷{{{{ûÁp(P,{T  F|J匰ºÃp*˃Ðç¡ô·w -L404÷…Â!à4,¨óº°-!—iEˆ"~"ÙÂiX®! +"õpÊ)õýšÏ#»pÃ'„ *Š( ›•Ö&Î)#²@¬¢¬©êÉ%‚bˆÀ.û§’çk(1ÔŸ;_ +@ Ñr’É\2—Èå’ÉdÑ*­™\>W0”ܘ››³íb3¬#C ýtêÄi`ˆº€ „šB͵{ @€  Æôhj!1f !¨Á}f fAšÚ©LhÚ¡>tÒ8 µ ¨ëH~^aÖ0 1ÄBè.à…¼6š!ü +ššzE0ìÑ7q«Á™L¸ßýR)011¡ë:º,gB½ú*zÅÜíüÝÖÖÖ¿ßÞþüþÎÎÎÃ|ùå—_~ùðáƒ/|±³óO÷þûööÝ;·Ã4 pæææ¬¹9knnN$ýˆö‚ì¯(ñÖ¼©ùŒSP"õ>gŒPJXÀ8•Õúáhmq‡3þãQü¢ë\r@nþv(çm‹qB¢×˜¢ê0Ê-Š, •†L®ñ 8e«ŒQÂ)¡´Zõ)mU««+7n¬ø>!> ‚€ÖITÑ$œÉÈ&ã, Ò•a¤Ö1³Håðp„§”âGöOe”}ý¹ó¥‹‹áÞÄ_Ê5»¹¦S´ +¶P3ù™¯À\«°ú…¶ëhooÿ*€ tÓ€Â2Äâ!D¡›hz§Úݣɉá=J§˜>¡ë:Ô¡®ë@‡`B‡p €q u¨0€@:ÒTEý¶>‘Ó2:ÔåìqMÓMU»ÇÐe¾Á ÄØØ…0 Ëg1Î"„Q!hša™¶|ÅœBx¯À­Èd2îgÿÂúÅëÁ§äÝÿÊ+¯¼òŠ9µ ?ÙÚº}çîö½Ïw¤xððÁƒ_ ðéÝ»··¶–Þž=1<ìØ¶ØGeÏÏ$¢Æ´ƒ±ƒcÒøð©·Vñ ¥Œ‰þZáo3ê"¦ùsÙÿ®ÖŒºjXx·ÖÃÝ<„4Âë]¼_ £á€°›q0Z—Åxrêˆ,ÙUÿ‚%AÀHÖ|ß'„’V¬º7VVV|Ÿø¢¦˜’0ÊÈ~ Ù,AŠì"åuáìs„³Ë)i±ÿÊÊÊÊJMŽ@}” ` O æÎ—D àÇùS'7ÝtfšN1Ÿ/Z3rðW¹sss¶%v +Ëj?(\€ö޹è±Úç˜i¹Ic³Ç0DCdšPSc1±µGÓRš6¦ic¨¥Rê:Ô'ä`]ŸÐ@è@×!`< Eð2J)Š6'ô1u èz +hbæ¿v8Õ£*mZJ:!ˆ]lLJ†Æºd(àÅ&ÂÌW^}Õ4÷ÄvE3o†ý‘ý ëq„CŒuÓüýWÑ«¯ óÕW§ÌW–÷oß¾óÙö½Ïïï|ñ‹üŸ_þêá—_þêჿØù§ûKï¾=ûüð°cÛVѲ/Øö|.aYEÑ£ö€øþjÅ'5J %Œ2”GõýZSêŸE²¨ôeuÆhÕiÀêŒsÂêa‘‘h¼& +x0^gœ†ƒÀ© Š\ ‹ƒ€K °€3æù>¡Äç=%\¨ßóñ[*WWWWÝ•••„Ÿr“½M«#¯&¨sÑ'Ìd_ åuÈqe2üç7ÛXbøh0˜;_E?t.;‹Nî™èô÷7ÙÞÊçm€ÜL³HîSÔ@®`%;Ú1€øc=hŸvàÉIcÄ0 ÀYÃ0ŒìÑì¸1iÀSPÓž;‹RE9|øp´¤KiMÓÒš6~n@W:xNK§¦=§=§ hšD)Ñáõ°ª ¨ßVUõ©C=ŠÒ‹)ª:NŸÿ\(é|ùðÁƒ;Ÿß¿ïÓOîÞ½½µ´tuöùáá’=o­¢mÛ—r «h͋Ź_€½1ß_óª„úrþ†¬Ô÷óolPíeáPQÜÜöÇÅ`O&ûnÂÖ!1ãS˜#<ˆ²ð²yXRÊ8Îa<]76¼¶ºI£&1¯”1B!~­æ·¦®¬¬Ü¸±FuŒ1*Ì=ÚÈDÏ GŠºœ0F‰¬@£Î|ß÷½JåJhÿTvc%‰¡&8΢“kªþkÀŒ•·l+—Ë[¹ÜÌLn&ŸË%’3‰½˜³ç,Ë:—Û€#GŽôéx| Ö÷ž…‘òúú7?X_w—Ý÷]Œñ­÷ÿËû7ˇ5µ'ÖÖÙ¥têÝÊ³šªªŠ¦©=©1 B0¡Ž¥5¨ ÔŒˆMŒ!º®O@ ¼¤—MSÐ SSš¦˜ÒTUªªUSÕ.åÀ%¦i„™ü>v× £ü×7?¸yëýe×t×ÿ*´ä©©©)Œ]cÓ41jf€‰[5@9 +âÓ”zhÿHÚ +è/‚¦„B€MÓ\6Msyyy¹¼üË»³[[·ïnoß»ÿùÎÎÎÇ<üòW¿úÕ¯~õðá/îÜÿüó{ÛÒ¸:û|_ß¼=?'—…çrEÙ¦VܱG*ŸZ¥âÕX-êæ”’šçsRñªÂ¹hYX‰faÆ¥.†õ²¶Ž³€×I4˜(ê«C¹˜ÔÃÖ …­²zÇ÷7kŒTj”ø"ùÀ„°§”jÕ÷½f@j€+Wnܸ±á"¶ Ê©eœuæ3åÒ11PDë¢ÍAdý‚zÀ9aœR«zâú÷öÏ:ÅèØçÏ;Vbhh¨P*9—/‹Rà ‹N¡Qû3Ø +€7­¢5“Ë[3¹™™\>ŸKE `5 æär…B¢½óPàý02‚1^6ÍW1Â&‚˜Áæ_Üüßß?¬õtÅÚ”.US´o«r#`W§¢tvuvªŠzXvÑu«Ý=Ú³@íI¥´žž¹`´»»g,5ñm±J¸­«KQEÕ´nUÓºµžîžî®Î¶˜rhLÕNá©òw ñB0BØlÌíÀøÕ),Z1Æ#Œ›Ф Û€hÀþ?!ЛŒ_Œ)B"!BËËËå¿XÆã=¸}ûΧÛ÷îÿ“(þòË_ýêW_~ùåÇ¿|°sÿÞ½m¡š`YŹ9ÛÎåì°A]$ÿÛÛÛÆÚ›Wí«j¾Oj•ŠGñ¥ œ3Z½²É#¢E€SN8²×icÓ–Ì2Fh¨Ýë4ˆ–…È?4ÌR ˆ*AÆëŒÊ¾A9e õ€sâSʽ…5¦ó(«»)!^•ZÓ„nÀ•+7n¬zÄ'ŒQÆ)åDÔÕ™ŒR¹ Œó‡.gaœˆÚF.†ø•͵ÈþÃ9Æœ1»(Ú€°Ï;ÖÐÐÐàL)lºì\¸|¹08Ø@@dýߟ)Zù¢•™À¦@H€¬†:Úc±XL”wôyŒ‡ï7¤<Ž16ÝWBH4Ð#sù/ÿ˜€©.µGK£št€‰‰ Mmÿj(±X,và@Û¥MQcñn¥KQ»Ô®N¥MQå€ÒÖÖÕÕ;pà@L9 v+¢ËxÒµUUºE:ôªif]1rM!Uñ,c|:‹1ÎNpÒ€#ü +~Elòi ¡BˆFÜ|ÿgZ_×áËYÑy<>š*#öQw¶EpçþêW¿úÕ—_þêWعÿó{ÛÛwï~üáí¥¥·gŸïë°,Û.æfdjÑn%@³ˆ=¤J*‘…€ŒsÂ8#5¼+4 Ò.™†cë²fPîÚ‹AX˜4§w!úÃLå\“eÁŒrFx8pÉzãh¥7¡œy +ž_©…YÂ9'ŒPêWª„6‡ê‚Œ­®ºWn¬U©O£< ¢0t+äÊAJêõ .·Ñ ¬wªT4ARJ a¤æm®,4Û?ö/$Àn؉Á¡þÜùóÎâ¢`°éÌ|¦X,-K Ÿ1±<7”˜ §…uû ½€xG<ŒcûôÞ4LœAˆñ’÷.2ßtGàK)µ«;•Ò€&£ýBu8&&ÊÔ:jb “pe ÔEÓ¿i¢—2„PÏ ]äG ¤4UQŽB`Qù–YÆ.†BlN5F…^¿þo—ß¿îºÂ@GF¾72222‚ð+¯ ôJÄ€H4OMñ¿†ÏÿéÓY×u]Œ¦L3²~4 ÁlÝÙ¾·³³óÅÎ΃¾”øòWìÜÿùöö§w?þðÃÛ²@`βm;gEѨ}@€} +|Ïó}B¥œrN¹O¡õÚ*!~µJX#†Î‚:mó"9Ç^ç‘]"’òœóz],$ÃBy”z>%µ•MŸø5BåFÊ çÄ'ÄÛÜØlr8¯×ëuN)åþìU¯Z£ÑLÀ:‚ *`\½J„‡ƒÇ‚F¡0#œQJ8óªÞÆ•›^˜ÿ ¢©åû 7˜èÏ—…€‹Žc;‹öPc)øPÑ*­–k 7õ$“‘ý'¿RË*†˜Ù£ßÕ€û`Ýp1†"ÓDŒ!D›ÿvƒ`LéTÇR „ãbRœ’4‡Ù£bd¦×Mþ-Îd2bs*ƒ0‚aó÷ÿf]ˆÅÌ·lb(F A]‡hª¢ œÎKCŒ»`še±mbÓDPVB(ƒMÓ41ɽWCŒ h¸§išf€¥øÏ „>?„¡ñgݹ®›É „¦0Ê@aýè`W7àÖÖí;wïÝû§_ìì|ùå—RloooßýøÃÿfkéÚ[/ô _º`[–UÚ?ªÙ€F3àÁýƒø5Ï#DŽÔ§Ñ@hßåì?À§~Å'>!rãįñêê&ñ !œ2B‰¬Üa\ô KgžÉZŸ ˆ¶ðÕYØQË£œÈ!„sÂD .ã¼Î(#Œ×ëœËj]*ƒna+c”JõˆïoxÔ÷ÅÀrF('„êûµ+é+~Xàûò1õ:ç¬reas£êBÅæÉ%9Ù”í@wî¾½ýé§ŸÜýP t,˶ìùG %°_)°ïyÕš/2~„qÆhÕç¤âù„Ôj²OXì÷£uÎh8Å5­ä$ú})(¡ŒPâêûbñ ãŒû\ö‰mÃ< œb0—½ºAPB9£Ÿ0J¼õ=Æ8¡„PNˆï{UW[ØôkòÈØ"å,àwåÊšç hÈß Ì. +/†ˆV#J¸˜üEe…€ôDê“ø¾·yca‡¥Åþ÷#ÀyÇøa¤.·À*‹–ôç%fBÌä’‰¤Ø Ô°ZP(šê¾A^Þ{²ðe\†„ŽC¾l Wð1ü]Uý¶‹Åbm”.%¦(ŠÒÖÖ;ðp !NC¼4Ë5ÒàEÑÒNÓÒ0ÐÀ¤A¦³Š Ã1Ey2S”X[[—ÒÖv S5U{ º Ùlve ›Å¸ !„/Oއ¦dHßE0®òËdà© :u +¿:2222r"Œ `I€ –[ÿP—³§3‘ñg÷¿ÞT(ûöLÚº}÷®hÚÙÙÙyøðáƒ_>øâ‹/¾ØÙ¹¿½ýé'Ÿˆ,Àµ÷õ]¸pÁ’NÀ¯À£\Ÿ!Ä 0Ƙ_#„ú>eÌߨˆÜ{4œ‡ŠîZ) r‚–,¤2wG£„úÄ÷½šïû51VG¬ Ç pÂN£bð/ ç€Ê­$”°€ˆ:@J ©ø\ùb„âSR¹¡]ñ¼( _eœ3oáÊÚšW­…¡K‰$1r”ÔBåâ:!œó€È8F8)ˆÊb#ŸøÞÊÂ&åb€9û5(]ËÁ/;Žc;?\,4bÞ´ +b X.)cÉD2×€d2™,ÎçöÀÁh,ðc€…½BˆÀ€€I h@x~W©ž¶¶®.UUºTô¨j—ªvu©Z¦i)¨j=ªÚ­vu©ªªjjg—®@Q:UUUEÕTU¿Ú­©cZ§Ò©ªŠÚ­ªªÒÕ×@Jç³ÛD€p2 ÙÀx +G­Ê0 +üe2§Ne:…›d@c (…r·€þ¨Åøu]×uu‘) _êáÝXÚº}Wv‰8À_üò‹_ì<øÅÎýûÛŸ}òÉ'ŸÜýðöÖÒµ÷Ù¶mÙE˲­9»ø5PÝ}üjÕójDŠlŸQîW|N}ŸV[«PV£DÈsG§â®§rÓ6ç„TØs¸SƒøµjÕój¾ïSZ¹±±¹Qõ©Ï8!L8rMWÔO,­_ €ˆe<Œ‘ÕMŸJ|^Ûô¡ŒÂ!¤Füª·’^¨U£@<Ê6Öi%»°êÕj¢hHÚnc(¸,5buÔ m,;ŠºY1F(õ‰ïUÖ^^%uÅ_ €yÇ’…@޳¸xyѹd_Z\l yÿEËzÓ*œÛ€dRˆÈþ“V8 +d¾¡ó ,Gæ!ba3PëTº»{zTMÓžÒºµžnUëÖ4-•ÚØXÚÓ£ªªªv«ªªvvv*]]]Š¢¨ªª<¥tª@UUm,5–Ji©m j:ÐTUëéîëéQÕ®®C@×DNBˆ28ƒ¡XL®ËÅÇžC 1iô4lTfB0sêå(€±@€@¶qN7•·^ýéï¦ÁDhûÚáÇǛӀwî~º}oggç¿éÀ/¾øÅÎÎÎÎýííÏî~òÉÇÞÞÚZº6;Ü7\,ÚÖì÷-«hÍ5Íž ×w´ÇÚÛã» ° à{^­V%TØ­Õ˜X»ã¯mRBh8z‹3NF9 s‡)=é#bÒ.!~­ºycåå Â8¡›ÐÈ®¬U™KH4—Z¶\ î߀ø‘#ñ#ß$„Ã÷ĸ? Ã0 !ÐM võŒ‰‘¹&BˆN>0–0‘JékZ·èÒzÄ]¯jªªMÓRˆÞa xE×e7 ¦u÷¨]q=!‚xa|ó–+Q& + ét:N=zô(D§$„?€1ÄðTB `ü]€1BÙÓ‘ù£Ý7?„:Ôµ±tzì»i ªŠ¢(‡ÕÇþׇŽ7öŒ^}ûw>Ù¾÷ùÿ[J€û;;÷¶··ïÞýðßnmýäÝ«³Ã}}¶-ÝÉp¼eY–ÕÑÞ.¾·ÇöÚ¬¶çø¾çU}RJ¸Ocµ +¡"‰æ­U(ó}âsJiXþ#"…”PÖýs™9g”ßÛ¬ÔüÍÊÚeŒøµ7n¬Uj¾_Õ¹”S&„¢ÌˆQq¯sF9÷¥»@)aþš¨PôYmÓc•ƒ@½êжÐHF«Ž)cÜ[pW7Ū#ð€²PŒù‘ë BÂUg,»d}£”‘!Þšˆ¾›t?؉¡¡¼ã\^¼|yÑqœK.9‹v駱\<“ËY  e@Òš³¢$@¡F9ÀÞøã«²{O„‘0»— ÓBˆ€ÚÕ­¥&&t—30ÕØ(®CB]?…tÂô˜¦õhš¦MГ’F0 +{C„–á+40¦MëîîV”AeÌe—¯…M/D&íA*ú¤IBImm“pV£„U×*"Š@˜ÈRzž·òÜË ý˜ ¨õ@N%óVVÖª¾h"dT68ñ€ñ€pB‰D´Î£—) ™¾ä”0!Ön,¬‰¨eË1ñÊ+èUÒÐ4MK=•`€ïŽ!Ô¡>¡ë¡SA_A ƒ1&€¦öô¨ +B™ „xyyÙtbh@ ÄBQ”Sb±±˜Ò©v)Rf¨ªxttLÓÍQÇ8Š¢F7@&“QÜ}B6}ûè·¿}ôèÑo» ?~ûÝ¥¥¥­­î~¶½}ïÞ½{÷î}~ÿþýÚÙ¹ïÞ§ŸÜ½{÷Ã?¼½µµõÎÕÑáá¾ýîËêèhw´wtì“ÜÕJmëú5Rc”QÊ(õ6<¡”Ô6+”ø5B¥5‰Î]ˆ#"zG8¥bt>õ) ©UÖ®lT*µ*ñ %Uâ“Zu³F«› œ3Ÿ2&*…#Œˆ_ŒÊ‚dJõ©ï¯mú>c„P³B©x?F õ)ñ++ã ÕZS+ ¥Tnû𮬬y5ß/+ Ø´LN +¬‹±gœcŒ9>Œ1F(!Ô¯U6W6h8Àô×ÀvЉÁAK´8—ç‚-à„È äCÈU‘h´Zv«íߌ©À'Ožo}7ƳYŒoºË—]Œq6‹1þ7å[eŒ'TUÕÆÂ8Íë/Ãlº§Åø®W—1v1Æè:iMˆ4¾ ³îDö%èÂìú-7›…Bœ1]׿ï_G²PÓ´nõði³lblºf¹ él»e·ŒÝ2v]!ìîéQ”¶¶¶6EÕnñ¦7ÿ«¯¾úê«fó¤S…؈ D‘ùÏ@˜É!Äøhxv+€¿ûÉÖí;wÿÛß*ðùÎÎçÿ´³³sïÞögŸ}v÷ÎÇÞÞúÉR3òV>ß €xG<Þ!¼ÿöööø×n®U=ⓚ ÞW+õ}J(­­mRê×Da<å„rN¡Œ&¦uR™ß“Y@F}B*k Ïixec³Vó=osmsu%»FhÕ¯B)ó)gÜ'LºýœâËÒJŸÅ÷}î¯UeŒPZ[«T}ʉ@¡Ì¯U®h ^D±¦]§,¨¬\ñ|B“’¾zX{$;ƒ—̧¢=Xâ‚”ù”0Ró6V6cÛS?¹¬äà µxY–ì€ã8–õ}K¼Y–eÉE€¹ÐÈå’ÉÖÅ I‘´íp?ø9Q xP”Åãñxü1vÜ=çŠkd]˜Íf'¡‘50¾éâIoaý&Æ¢Np”Ë7—!ÎB˜u!ÀÐÍbì¾ïBO/`œÍÂç /Æ8ÀpñihàuèÞ*gÝòú{ã²k»~s¹Œ!~ žÐÒ‡´ŒëÞr1ΖÊ+ a6›5²4 v]×AFW|VU»ŸÓÔfëÆoš­sŽ1|!(K„Z!AbQús +‰~£L8Jprˆ àÒÖí;wïÞýä“÷>¿'Æn&ZþnéÝ·g‡û†C“ÏåóV>ê5·wÄãííRìöª{ °±Q©ú¾ïù”F ñ*!B)©­nRR#„"âo„F}&âk”_\ÞLVòŸâUV_Vž»²¶YñªžW©TÖV×^¾áy^­Z«QêÓhªc\¬ø¥”JaT$ú”T)«®oб_¤²V©â3JiÔjÄ÷½Êíå +ñä‰Z§Ü»rcë*2 +ì1–{DSrÉ}ebµQ J’©ˆPJ(£”¿RY}y“î“Ø·ȱƒCs‹Âþ/;÷ X”‰€b±hY33ù™¤ À›¹& ‘H$’–ºÍ8ØPñx¼£÷µŸ,Cø’  ÑòÂޏc¬«jÏX +]4Öˆv§¡‹1Z†&2ÿ#‚BœMl"¤ÃìT£°šAôœ‰ #<Æ@jLSM ›È\žzÿzB„Ý‘²ÜO á,«Ýꘈ/jª¦ªÏ5YÿþÆ@gL!]‡Q` 2At +žÂžu‚0ƒ Ì@Ã0ŒÝøñÕwÞYZÚÚºsçÎÝ»ŸÜýt{ûÞö½{Ÿ.¼O?ûlû¿ÝýøãÛ·—––ÞÈçó–eY¹?Ì[V><ñööx¼=ÞÞñõ@Õ¯¬­y¢¨Îg„pZÛô(ñk>%ÞÚ&%>¡>‘ãø}!Ñ™¨`¾ÈÍF™O)%>õ‰ïm¬Œž\­z¾Oˆ0ÑÍÍÊæÚ¦O(!Œøâ1F|¡÷å82J%„2ÆH­FYuu³F©ùÄ[­TÅü¯(o±qå9ØTë"„ðê•+›>!5B v²•ÑÐÔyÀxðz  @äÈ @²Í÷ýZåÆÂ†¨svG(€¡â¢#0¿W‹2P,Zù™aôùd2ŸËçEFp— Žz—!€Ü¹ÂÌP{ìàÁÐ8räÈ‘ÇY!Ì6Þ²YˆÆ± ¸“¦èÄXt©=cà„À€ á{ØÄ7—±¹lʼqaûicB„L$GûAEá2#æïgD`Œ0Ö£š@æMÓ¼¹¼Œ!Är=4PÎÿZ·¦iZOÃú÷3~ÓÅ€‘,†P¬ÒáËMÅÂÍȈ)ƒèÌ Æ7×Ožùô“O>ùäÓí{÷îý÷ÿ¾ýé'ŸÝ½{÷îÝoo---]»:;çóù7óù|>™Ï[VþMqòía|¸=Ö߀=u@µª·¶QÖêSB(©mz„V}â“Õšïב­5Ô÷}F%ħ”1Ê|_þ«RJ|BI­FÖ^N;[ñˆ_#¾_­zž¿¹¶VÙ\Ù¨ Êø>%Œ2Â!Œù>­ŸÊ_ñ3Bj^•x«›%UϯUÖ*âuZ£>©ÕªÞæ ¼âU÷€qÊk//¬Vª„Ša áÍ/Æ|Ð:£˜qN +–„œ1ÂÆó‰_«n®,¬‰PÇîE„ûÆ’ƒCö¢³¸è8—§tá‚í,:—§%`“ˇH$BìÉD'@îÜPGìàÁ°øÈ‘#½1öI“8L¹A¥íŽ˜0“)EíI¥&&—‘t ÄÃ26Ñò²ib4æEÐn@Ò€a~!„0‚™c¦‰ ú‹:HÒ´ChyÙ\6M×!ÄÇÂb@‘iš¦9 ÄŽMÓ´¯ºùÅì0`Œ@œ¦Ž6Ð3Q¥Ð^w!x*ê€ðÖúúºa'O}Òüû†Gg¯^{giéï¶îܹ#œ€O>ùä“O?ÝÞÞþïŸ~úÉ'wïܹsûÃÛ[[·´tííÙá¾¾™\îÍü›oæ’É7#ûóÍöŽx‡ˆ|-Pó¼µµM¯êת>ñ(¡~Íój¾ï‘šï­U|RókD¸ì”âS¿æ×˜˜ÂÇDý0ñ ©ù~2âûž·±0®f+>!5ßó©zµêZµZÙÜð}âûħ(õÅhoŸÂ|Ÿz„ø~•VVEú°F*„x>%¾O|ß÷«ÞæêƆW­†.@x/SÆyÝ¿²²V!”Sæ()W< —Ñ ±ß”ÈÙæ"=Àä +BŸPB¼µ… J¢àç¯qìäà´½î9Á¶Åæ#´¿(”Hæro Yo† +`f¦ÉH4` Î冯¶·G #~䛀p¥0 €CÂËXëêêÑR@×aZšTF´ ãrvyÙ4ÍWÜ¿qkBÖ´´ì»ÀìŸ7–`ŒñÈ2‚H×'ÖÀD*¥¥!sÙ4Í)l"!<},|!bMˆ,ëéx¤€î1~(®þñ+c$‹3 œA§ÒûCgpøGî|ÿý÷× Ãèëîîî}ëêÛ×–––¶>ºóÑí&lúéÿô“OîÞ½ýѽ}{kikiéÝkoÏÇão&“É\îÍd"™Ì¿]ííñx¼££ýk=os}­âUªµZÕ¯Õñ«¯V«T ñ7olß«ù„ÞÝ>!5Ÿø„xò7)!¾ˆBj5Ï[Ããêä†Wõ=Ï÷<߯ժâmVüZ•øÄ'>!´FåLOJ %>¡ñ|¿æSñÇ~•øÞê†Gh­FHeµâ“šÏh•ø¾O¼Zecu³R©l†ˆ¯]¹²QÇA ·”2wÁ¡<`uÊÆ±5ˆŠ¡>%µjeíÊåŒó=›ˆ€„½èHÝþÂ…_є̿™0ˆNCÌYs–UÈ +ç†6)€Ç¼p?Œ¯‡$0¤ס°EMéêÑRè#Šòz1ÎOMa9À€Ø€/ i€Â—Ä>á°ÀP®ACÁH¥Æ´C™£hÂÀ±ëáf`C€a¤ÿgP†(c¶¦úDÓ‰1žšZÀâ“#Y !Dæ«!„t‘èËà Π—‘ÜD,úþûï¯7ýøêÛ×ÞYZÚÚÚº}û£ÿú±€8wïÞýøöí­­­­¥%éôÅŶ‰dr(™Ì7tc<ÞÑoïx„¨ì>žWY]]«xžçUkU¿êûµÍ*©U*U߯¬¬UkµšïSBªµõ}BIú´Jª„øÄ'Ô¯ùT0À'„ø5â×Ö^W'W+^Õ÷k~Í'„xâmnVkÕŠð­}J©U}Z#>¡Ä'>ñ|âס5ñ¬šG¼Õ ¿ê{•­®mÖ(©‘šO|Ÿ¯êmnlT*^eSÞ䵕•ͪïû>£ŒÕ9ã$ ´.Æ‹:à œRçŒËrÑÌ@dg3!”Ô¼jeu¥"& |M$ÏG^ÿ%Û¾°ß/­¢Õäffò‰þ¼@A”ÜÛ*Hä†Äê7±<ÞÑû +Ær¯,¶…/á1 ÃД.5•Búú„ sj*³1‚!bð–èñ«Àu ˜„ÙIÃBlb„ÓBÔu€–Òº…Õýf2  © +¤ÇÇå‘€±ÎÂBcqñO-`BÝÅ'G FÂuÀâ]‡œ9Ñéý!‰öÁðá}}ñx<Þן˜}ëík’[·o|÷¡î~üñ‡üñÇÿõÎÖßýÝ’8o¿5:Ü×—L&‡’ÉäPÿP2ý³j74ÀÞJÀ=جlÜXÝܬTªµjÍ«y~Í[óüZ¥R«U*îZÍ÷«µj­ê߯‰»Þ'¾'ñ¼ÍÕ—×Hðu@11˜tš0¿ N>?Óè œ™ÉÏärÑÌÌ4Oj —³[ ºtôvÄ{¿QYCÌò€–M¡ˆÁ„î€Ú­éº ¸ZÑ+ØD"ŒnF#”Aà †ðe‹ì>@&B0#ÀbCà"lšNC„t!„ Æ4­ûÐÌ„Áâ‘è…Ü”ãýàøø80àŠû?ãFdüJãÇ Côqdÿ½ú*ÂÍ¥¿ACt:³#œÉÊYAYxß°¬Ýaö­«o_cÁ¶¶nßþðã?þøã»wÿ_Ÿ|üá‡~|ûöí-iþKï\}kt8OŠYSýýýCÉ¡hEG{{¼£#Rí¿•ÊêÂÍJÕ÷+^µZõ6×¼ZµR©Vª+ÕÚ¦çû~Ôü©¿Z­ùboͯUkUß«x>®¹Wõjžç¯Mj‡'ת5¿Jj¢'È[Ýô½+«ž_“µ;žW­‘ªW#¾¨®xÕZ­æ×j~­êûµšïW¼êæÊšWó½Z•l^Y­Tk^UH¯¶¹±zãF¥²} Q….£Œ{+«¿&J4ˆ¬Îkÿ.o¬;‘H,häü©TÖ6|*F~@îr€ {Às¹dã»@.Ÿìƒö`®€Äœeår…BA ½£½½#þØ7í-6ŒÑl³…¸Œ³» ð;®a` TUÌч ·ÖÉ»ÙÓåë××/›Íž†À0pyf ca‚´¦A á:ÆY¼pãåÉ““ü‘k@·Œ§0,|p C ` Ðá!³8k“®»Ž16ŽÁ,„†a¸YX6Ýl6›ÍŽ»îÊÊÑ—±È Bø’!­c,—Ál“ý£WL„Ñ©ñññqI8… }­@!1µ(Eó  + ÇO̾u5"Àí­ŸþôÃ?üðÃï~|7´ÿŸ,½#ε«?>Ñ‹…3½½Gzû™þÞðDþa{,ßS ¼ºû¬UÖðʵµŠW­Ö<¿Võ6×66¼ ¯Rñ6®¬Õ¼ŠçùUßó|߯Õ|¯V¹ƒZÕó}¿æ{Õ*ñkUß«Ô|¿âû¾·:9ðmc³R« +ë®Öüµµjeuu³âÕ¼ZÕ¯y¾çW«žç‘jÍ'¾_õª¾W«‘ZµZ«z~­æ{^¥²zeµâU¼ŠçU®¬nÖ¼ZÕ÷¼Zµâmnl®®ÜXóÖ*òˆ,Ü_䯬Vk5Ñ%Hµ¤"íÇ êrGXó“å?ìbŒœ2ʨO¼Êê• "} `%‡r‹áf`Ƕí Λ’—ÝÈK$óù|40—ØÛNZ¶À3ííb&èã<p?Pžr]×…8{ë–ëBŒ± á†FcM‡i&_r´ŒËÇ †.žr×Ýè®ëšn—GÞ+—ÍÓ¦ëºÍ€e×Äg×q6‹_6 ëºîÍ‘2Îf]·Œ]œÆÀÅbì^7!pM×Ååï-à[ëëØ-›®ëâ¬{ìƒ[eWLöZ¹~=›} âì{·®c!\À ØÄÂøu1}4ƒ]|r$‹O‰€ã«&ÂËÍâêÀBñ)”É@Ø ÷Geˆ1v××Q˜îëëë‹÷Åûúâ/ÌþøêUøÉÖO––~úÓÿüŸÿ³€Àßܾý7K?ÙZZzçwßyçk׮Ξè‹Ç{{{{{ãaÖ/'0ófn×D «`Éý¯€ƒQ%PoGGïcìì³#Œ§\ˆNƒ2F&61Žâƒ)µ€1±ÀÃWªl˜É`€ –È@„2 ¥a"›rn èïÍÀ ñBßKiÝj +c„qfC(ÂòS#„ FSxjjjj +Ï00rÝ?/ãÓå…01(‡|ë:ÄÊû_¤ýúÿp÷Ï[Yº(H‡"mÎ!kJWpDŸãR²me© ©U¦Ùt![l"K•£b³€Än§£_)Ñ%qõÀÌ´¬ƒˆ~éN£ÛÕ7æDTGŸ€…NUöÁ…º0È;Á‰¨nÌÞûm¿áO î_1à/)ӮYg'Sʤ$*Uåõío}k­o}ògJ½ž2³—DQì2ŸaàO ¯þʆW/^Ø“IïaïáÇ{¼_ûƒ÷>¨Õþ ö^íƒ +øå/ùËøûø‡ÿþÿý¿ü÷ÿò_þËù‡¿ÿûøû_þò—¿üåßþò—¿üÛ¿ù›¿þáµJ¥Z­V*åJ™Q¹Ml­V­Vªµ™7èâ nœÐ‘5Ç÷Ã0 +ý0¢Èý‰ê¸Žë:Ž)kŽëøaÅI%(‰ã8N"ÖÖ‡a”°€N‚(Ž“4¢(ŽWnmH~EI’DIFaà{Q`¹A…AÅaÆ~G)+ä'IäÇqGq„’(Œã( ý‰å¨=Ùõ<ßt\S6}?Ã$Š¢0ˆ‚ tLËsƒ @±yRš8^%š±¿Åª‘kB¦Ù5ÎòŠ`F(3dmÌÛ„f„c‚â8òMçsÈßçÆÞžñÕ"ŒÇO–>£³CÃáppgh âx± +p6Œ±±E +ð{ +ðH·•>„][Š¢ë:“¡¢ˆÜ;@Äâ¡A—]ßL +Ðuõ#Ûl€B]Wăû¢$)Š¢ëŸè + Š¢ðG( ¯è€¡ËQ„wEéPyxɶ‘À#] +„<Aáø_Xƒ*‡¬ùpîðXˆp¨(ú'Š!Tz½ÞÃþO‹,ˆ¢x uÉŸBøSõ™ªa_>þßž?øðáÃÞÃÞûµÚ¼_«ýA­Vûà£~öÙ—_þÍß|ù7óË_þò—ÿ÷¿üÛ¿ÿû¿ÿû¿ÿ‡¿ÿÛ<îóóå_öÃj•Jeå%P­U«•ê­pSðYµ\7ð¼ ü0ô=Ór-Çó=×4]Ç1?ŒÃ8NYkE¬Ë?Œ‚%AÌrõ Šã ôYØ}?ã(Ž“0ÃÀBßtC? +¢0ŽÃ(ˆÃ(ŠüØ¢ ‰¢8Š‚ Š‚¼ªE‘kBDZLÏ÷'žë9–ë»AG~gZïÏ~ˆù:B)²œ(AŒiF(f™À4wÿ¡Eó/Íf^fפØŒI†3¶â§ix0`>¨ßŸìî3 ài¾¨ée `8O +0œ¬Ô ÃGg#c<Ø]€Ò ¶^oð–Å@WWº®Û¿ØªýW>×ádreOìGP@(r›¢p &Ð{|$=ºº|ñ|r¤CûªkÛW/&Ï'¶í+ –ô+/.¯&¶ U8±'¿5ïIê:„ÒD’&¶ áØÏíK>— ýW/^|}u¥ëö¯^Ø—]Úöoæe¶Ú—#3·QT`%þE×óì¡×ë)J± €qA˜³€¾¢ôóÉá£ÿÆRöÖÎôÃ~öÙ—ýÙg_Îbýoÿöoþæogqÿå—_~ù7_þõ_öÃ>¨•J¥[€…}­V©Ôn€›€ïÊÀr]ß÷üÀ÷}×ôßüÀ÷Cß÷C§Ü ¢0Œâ0ˆ¢(ˆ¢$ +£ £(Šâ +à ŒÂÈ÷ã0ˆ¢ÀwU¡Þs]?ŒÂ0 +ƒ ×Ó ã +£( +Ã8"öEaÅqÆFaEqÅQ:ô‚0 £(ðCß÷<Ës/ ÂÐ ‚Àw-ͺòæP„%%S’%Ž%ˆ`Ì6Š2ã_š±­?4Ãù¶àëÙ‚À¢H³ g3o LQ¾é1G´oQxjìîfðøV8aúß s’On[û†1†'ÁÉ2œF£ñÈÿEƒíExÍ«WÁÕ꣫ *AUU¥&%¡$I²¤Úã8®%~¿ÛwLTø+ ªUUcC h¦ +í‰#Dé‚À¦ù$@Iú±$©šnC©'é'’üp$ Ú$ Jb·[mIU!€öäª T¡*©ª +Ô¶)I’$‰ Ï,‚ >È-‡Äl“¡³ÿàPQôØëõzJÿp‰‚П§8¹H?šüÇ|þüŸ—Þ|³T*UÞ|óÍ7k|ðÑøYqX´ÿÍ—_~ùå—_þõ—ÿéË/?ûO_~ùן}öÙgÿ©€ÊË`F¾ ßêÉÐq]Ï÷Cß›¸Žë9–fzžú–嘒æxAà‡QÄAQEaùA…A…~äE¾…¡ï‡Qà®% õžë‡~DFç9^èY–çy¾ïG~ú~à‡AäG~è‡a„‘D^Æ^t¸ªf™öÄóBËr-Ëó‚0ð‚0=ß÷Õô|×uò3»˜iFIìºQ‚Ù$1ëìÅ”R22Bf]ζR|]gÙtzM²i>!L3Ê,ÏP‡.ô1Ín€ÛÀÓáîîè«gÏ.žå`Ü€KNNNNæÐÙêÌ`5`+Áï%D/nœ6‹  vmDü•Ô5?–8`®ž]I›L(zð$]PJŸ M$( +÷?Õ94UDñ”Õnq×B̦*=„²>¢ ÔQì+ÚO[š:,º%©èTòý½^Šâ!8àxxøàþ}EýGK÷?8ûágŸý§ÏÎ?ûì³ü£}È:ür(•Ê¥¨Uæ À*¸7Ž{’i9žëù®çû®giR‹«KŽš]¾Û“MÏó|Ïó}?ÃÐ÷ÃÐ÷C?ô? <Ÿéïzïù^è{–تõß÷¼À|?<ßq}ϲ<ßu=7 ‚+eïAø># ~øù“~๎)w¹MÙõ“Ûlu%Õõ|oâ{¾ïy¾g9–f9žãZù™QLç'¬(wú£¥×l±Ï5Î|A¯I6ó;žNsÏ)½fŽ FizfÀ† +¾¡ +0?=ÞÝ3 àâÙÅùxœ/n]d…áÃáðØ †;û#ãdp<ž :ƒ“Î’-xnÐÙ1?ÁÝr©\)W* ¾à¿G~vûEËff ?–Šüö ø€÷® â÷Å^“©ƒPWt€ ˜lú¬¤/Z—«×K¥:hÚ¢(‚C ìöxȦ%IUÅž á‡}Ö3ôÖŸpö (} pÔ†’. xÏE‘Íþô‹v}E9Òû@ˆ÷~ª(°ÿH]¾ÿYÀ@½‡½^å„G°G +в0PCóÍZíý>üðÃ?þè#†}ôÃÎBžýõ£?þã?þè£>øàý¼Å·R)WÊ¥Ryj¬IävpVåhÝžfZ®ë¹¾ëº®kj² ð¢k»š ô$ÍrÏ÷Ü ð/p=ß ‚À÷¯®¼ p}Ç÷ýÀó]/p}×]ÇuÍWïÚŽçy¾ïùç»®e9´ÇõÇs}–n¸žïû Y<ßó}ßõCß‚ ð]ÇTe‘—-ÇU[­– ãù®ïº¾ç9×15Õt\×*Üæ S<ÍÇbD²ŒPVò£Î[Wžå;þ(Í—\³m(y?À4÷ +"” „pÊDÀŒÞìZŠþÑx4?Ÿìîÿî+Fœ-ÀpñÃáph Ç'»û‹eÀ…iÀ±Á<ÇFgÿÌ(@¹`•×n©¶'v‚G*dQìõX½ \*} +’(6•#ØBEW°%—Jî­%‚>߸z‰«©bWº´`Å'Â{bφGùÕ{x +5N8„óq<»aÛÀ Š]ñP<‹¥~‡‡‡ŠˆâÁýû÷¡ÂâÞÿ“wý*Š®’û‡{Š€r“>zaNúK5ÑR¥T)•Þ¬ðþ‡~X`Àðá‡Íχþqþ±?þðƒÞ¯½™#À*°&àj­V½M(Ý0jw,µÕ•ehºŽç¹®ãX–e©Ô ejPÕ4Ót<×õ<ßõ\Ï÷<×õ\×Í×ó=×q\×w<ÝÏ®§õ6ë-Ór]×ó×ó=Û6M×R5Ëu]×q\×õ=× <ßõ]Ïó\Ïó\×™°×ô<Ï÷]˱,S5-K35Í´4Ër-ËqËq-×4-UVMDZŠþ²…NÀŒ&Ž%ÌÆ¬è÷¥”^¹>Û?D¦Ó,›flyXF³){–Òܯ˜Œã4öÍ¿Yx<ìî¿Êý.ÎÇ#c5È£~~ŽÁ`8ÜÝ }ûsÈ Àøl06ŒÓOÙ0ÐïM +pø8;’j÷äÙ +mÂ_)Š" +Üw8NÐ|¾4Lº­€‰”‡ÝB÷¾ÔB½DQìI¨\IP™åÛø±$Ùl¯àá¡¢ +BŠ×8@³)¯ïIZXæ{x€(ЇýþáÁýƒû÷ïë‹ñ¯.Äÿ¡¢èú' +T®^@øSV ¿Êî ‚ Bá#!× @–J¥‹ä7+•Z­öÁ >üàý÷ßÿ`ù¼ÿþ~øÑøá¼_«”*¥7ß|³´’Tª•ZµR«V«¹Xì,—Ëår©t£7Ó´ÔVWVMͱvU›Žeš¦ US3MU³LÓšx–k{®ç8ž;q<×sËs=ײ\×µ,×rMÇu=ËvÇQ…ÍZKµDz×r]Ç15ÓÒdÕ²Çq×q×u=×q]Ûõ\ÇóÇt¬‰ëڮ븎gY¦å8–ij¦¦AË´,Ór˲,Û´ÇÒLYMÍ6µÈ(!YbyqŒS̼‡I6Í®ó­%Ób ó/ÏÝB[Šž]çÔ¹Ÿ Œâг¢Â§ð5€ñÉîþã¿Ëž>η6½ŒãA'€c'ƒA§3è :An 66ÆÆh' +Ígkkkkë÷ +tÐ@bæ bO?êE½Ò¨ uŽ{ç¾(ð«îÛ¸£+ú%¦¤ÏzjŠ…ÀþþÇ‚(YÅCÐïOD¨zÅ ¯ÙöPú +è+‡ŠxÀÎ@ähGJjIs{¡ÃQŃÃwß}wB¥Ëý *Ï_@ØWz½^‚%`ýÂ}A¸/å@*š,f à£ÞgN|ðþ¼ÿþû P«½É ãÍR¥\.ÍWÅTòQ€êJ +PÀMRfJ/kš¬AÓ4-Ë4-Ç2MËÒLÓÔ4Ó4MËq,×±-Çr×±4Ó²,Ç1-Ç´,Íd³e9Že[–¦™"¿YâdÓr,˲,ǵLS6-³'k¦eZ–ei–eY–íX–mYŽë8–e:®ë8®i:¦åX¦eºŽ¦i&ÔLÓr,Í2×2-‹ý 5Í”»’ªÍ☠¹n%¨XE\ÜüY±Œ$s2[F³ŒU ¦Eb¶$tM3û’oîŸlï?.R€Ç ÎÆãÑüÁü[æ9Àñð¸Ó9îî ãø˜í +\JŠ:ÂÙþÀ85NŸžöÊ¥ReVÜj4¯o'àÕÍÓÕàäŠÍኢ(*@[‡@à8N°ôþs ýJQ¨C]ù`K̺·àDQ„MQÈ¢Ø@_‹3uñÚú¥':„?UúŠrø'â}¡Æ Jyk€` (¶Íþ!¹Åxpp Š»ïrß}§Þ4a¿Ëý¢ü™?ðꄊÒïõæ–_·q¡öñÇ6„@}ô.xÏã¿öf)× +ø Î/ö‡þ€i•R‰@97Š®Ô*•J­R«ÔjK T.³ý€òêQ5qƒïIòOd ª¦iYªÉB_55 BÈ’lÓ´lÇ1-S3MÓ„¦iš6´-Ë‚¦f²˜Ö4Ë45h2_/q²-ÓÒLh:ÐÒ$Ê¢ UMÕ,Ó2väá -ÛTUË2MÛÒTÓÔ,Ó´LÓÔLhšªfZ–¦AšÔ,Í´ ©BM•I²¬Ê9bSI†IìxQŒ1Ëó3<ÍØêÏk:ÍwR’ÑŒ`fÊV†±ÍÌA㌙!yšŸo$û­À§Ûûÿ®Ø 8cþ¸©:Çýí¡aó*#ƒNg0`{dža쟧ÆéàôÓOï¾½¬ñë÷ +®à#NdÚ6¨6„P@Û‡÷9áÐuhw<ÑuûÒ¶mÝ6mû…dÛWöµuhç3ùPÐîõhCv§êöo%ݶ¡bÛÀ¾ü?¿¼¼R'6ó _û¸¼´/õç,þìöªÀœ˜GÐ>š‹›››µÚ[¥·êõ¦ ÁmüÌøê„€^¯¡ÀƒUð§C€ ¾Ýn·yžŸIÆè¬RÜã•7WàýUXf¥7+¥7+o¾YÄv¹Z­Þ½›W« uÀen¡Îµz=UUUMÕ4¨š¦©²¦©ªªjšªªš4SS¡¥Ÿ¤AS3MË„¦fšš4ÓÔ4Y…ª¦Êr«•6% ª&ÔTMS5Meµ×•TYÕTMƒªMÕ45KÓ ©©ª¦©Ô ªBUÕ ¦š¦¦š?QeUU¢ýš²—1¡¦©ª²,õ„ž¤J²(I¢$J⼉gr½0MP†1ÉÉ0£þÙ”m +v#Lh¾tš1›i–Ñ çNå!„âÀ Îè·+žnwžþݳ‹‹‹ó‹‹|£ß20XܳÇÐ(`ûx4<†¬E`¿“/ ïœÍVƒæðé`p·Ì¤ßß  {ó´ÛÝ{¬¾Ûmw»í6Ïw¶Ûív›ë­Úßju[íf³ÛëvÛíîN»Ýnïì´Ûíö½v·Ûm·ÛlsO·½Ã^¯Ûí¶wvvÚ÷Úívûa»ÝîvJ>l·{½v»Íó€ç777Þzk£Ýn¶»»ív·×k·Üm·»í‡Å¿«Ýn·Û››››Â»Ü;ëïLlàOoµtø ¼zþâE¢¢ÈËs€û‚ Š‚pMà‚[øÂîñZåÍZ­6‹ÿœ, søðƒ?¨½ÉÒ†R©´ýù‰ñUgÜilmßÝcq_[ še¥r¹TêÝ8b«^o =Q–dYVU ɲ$K’ªÊ² +4Y–eU–dU•Õù•«Yš&«²ª©@SeY²ªÉª*Ë’P¯—6»ROÒdUSUU”¥ž,ÉBO’$M–U¨2ÐTIV5Mû‰¬j²*U•UIÕÔŸ°o ˲,É@’UI–"ʪ¬ª²¤ª@–eI{Ý–Ð{½Ãæ~ ”’ÄuÃa¶á/ofôz:ÍWa‚qF¯‹¤¤X–ï>¢”¦‘çi± å›DÀ§ƒÝÁÅß=»¸8¿˜€1šŸñÈ/3;vÑðø„Îs€AÇ8+VîÆ©q: >ePYXüú€~óؓߪ6„Péë—6å{ôµùèêŽñ*P¿êé:šW²ÅÀV!<‚ý><ºÔ'—=BÁÑĶuûØ;PUUá„ж/m{"}­CÀ¤ €x_à8A2»6d59Û¾¼  à#x™ÿC „póàààààà°ÏÖˆ*/ÿœ(ðêêÅ åQ¯×ƒ}~$ÞÎÞáêœ(Š÷ï 3¾‘[DþÏ¥R©òf¥2c j‹9@ñ‡jµ“K¥½ÝχÆWƒq§±µ½}÷qÑX4–æ9ÀíÐk­Õ9žï‰r¯'‰’,‰½^OE©'I²(ŠRO–Åž$Ë@–$I~(É’,Ë’$K²$õdYfêÉ’$÷zb¯'ü_×J5¡'özb¯'K=Iêu{R$‘…«Ì¾^–UUîI@–EI–D†;²,Y–Ù÷Åž$I=Q”dI–Åž,I¢Øë ÝžÀµz=Aèv»½n¯Û›wRš!Ïõœï:žRš±•ASšM§tJ1Å„ÄvŠæÆ SŠ3̪}x:eæäˆ¤qä˜&·õßÒðøxûäâïò> ñØ0æ[€f‹–àx8tr˜Û‚2›§Î 38+–‚œÎŒSà Ÿn—K¥reiúëµ€_ß<——Ïa߆yÇŽUÐ6óÈ9N¸/Š—Š/%¥”sÕM@²¥>H^^^^JWШ@¿<‚€>ÌG€ K±/u]—môû°©Š¢ põwEО°©!åòùååå¤o+€>€ð¨ÏÎÁÁÁÁÁó_ÿúòÿYÌòÝÿRú' +„ðyý^ï¡ÒàG@¼Ü8Žã¾ûÝïrÂý|L`îø6߬½Y«}pÜ’|øÁûµRéÍR©²>ÜÛþ|8cÛãqÞ¸Ú@kõW/Õ7ùVK„žÐëõ„žÐ„^·×„žØz½^·×Å^¯ÛëŠbOìv{Ýn¯×ëu…û`¯+t{½^·Û„W/•JÇ -¡+tAèv[­^‹ãZ-¡+bOìu{Ý^Oèuu{]±ÛòÙ ö„^WhµzìÛv{]öݺ]Ah -®Îñ‚ ´Z-¡%´º` œ¥óÇÑ,#SÖ÷òV!J“0Â8JØÏZ‚ ÍÝHFs3¸VÀ`eõŒF£ñâc<~üt°m<ûE¡Œç~¾ÅãŒù¸/ÀÉ`0vîЙÀ€m*V?Œ Ã8=°€­|ªV«µêVõ56ýÍÍóç¿þ•ú5dÕpöAÑ)'rÜ}Q| +ŠbKJ_9’!Ô²U €~tyùüòòáot¶—2uÚ¹ÃWž\­C]Òûêí#Eœ€ P×ÿü¿]>·m*ùkýy~ýë_?~©_æf@·Æº!ôž¿˜‰Š¢€ÉMÐEAxçw¹úwêõïÂýK0gÆx|~ñÅÅøÉ“>úã÷kÔ^žÔj•gíF£S@ÁÆãQeù,wóÔK¥úÇqÏ·ZB‹kµZB«Å·„–Ðj ­VKöt«%´„ÿÐjµxAà[¼ÐZ/´¾%Bë?ðB‹ç8®¾^*•ê››Çq|‹ãxžÛäøÖÆ¿Éq<ßâ[¼Às-çøV‹O«Õx¾%´x¡%B‹oñ-žoñœÐjñ<ßjµZ-¾%p-¡ÅóÇmÔߪs›Ü Åæ+»ÍbÏ‹b„Ela–Q›0 ‚Q¤y(µ<ÌVe,ËÏp–‘)F„R‚ NQ컚OØæÒ•ckûƆ16fðÕ/òàñ˜€Ñèóñì1€Ÿl£ÃmÛÞ1S°Û\< +ÆØÆ€@¹\©,ƒÿ^¥º>:0Ÿà…}¡=AE]ઠÅVu]/ª~R^ÐuýèH·»—:€ +TȆûz{!¹V./u¨?„}åªy©è@üSã8A”ÛGôáQ‘Žè¬×ôçí9¿þõ¯ýü’MæÅÕøo]@ŸèНž /˜ÐïõzJü¬ › Aî¿[ÿn½À€`œÇ/¾8?yòôéÓ§Ëùål´Ô0 cüäé_þ?žu¶[À(G€Ú·€Íz©T«ollnnrœÀ³mq­V‹ã9¾Å·øÇþ,-^hµžçxžÁÇ -Nà…V‹ç[s@)•ŠÌŸÚä6769Žç8¡ ×jñ\‹çyNø<Ï -.Ç^àyžã8޽\Khñ'´„ÇsùÓ››õz½þ?-ü…6O1ͲÄõ£”…q–e×S’Ñ)ÅLÿ›RŒ)NQì…yaŠ1¥„í¢4£xšQ’±ñŒqyVˆ(ÉØòƒå`AÜcà㜠àÔXb +Æp8Íw„VÀÃ]'3“€³ysœ|zw)h¼Ö}·ë—@Wú +dÄ>‚HÂw¸âá¡á‹.èC Ã?ו¼´©PŽô#EÑ퇿}P¼Ú‹ ­ÛvÏ“&T” ãQjÛŠ(ê¶³ˆ…þ|øë_ÿú×—º®_ê°Ïúoÿ¼¨(ðꊀ¢ô{½ž¢€U8âaÞj ¼óÝïÔ·Àø‹/>¿¾X€³'O¿ú_r`,0€½½'ã9¬ö”JåR ãUج—Jõà~ÐâZ-Žkµ8žç[<Ï Åñ-çZBKhñÏÀó‚Àµn€z›·Yßä676p­V«Ås­Ï·øÇ ­¸– ´Zßjq-¾õÆ ZÇñ_@+€7iÉÏl3`F)EŽ#ŒØú?2[9<¥e{¾IÇ8f§ !¸X +H³ŒÅ>ÛuŽ1NãÐ 1!‹F Çw°a`KŸbäÇ,í?î7 –Tƒ1€Bø}¨ÜŠþ[Ö¡«(ôû@2dIŽÐuýßP>¹Ôs#my"â‘@]Òa±tW¨àhJ’$‚çPíC \Ú—þ‚¦ €òÉŽ«¿+JÝ  ¯@ö•O&W°ØÛ9ëÏWòûÿRg Ev—ã–0 ðy ßë=„ 6–>Pò>áïÖ¿S¯§^¿ ìùvpñ—ÿKÎŒp÷îÓñx4ß¾Ô \.3À/¢Àf½^*­Ï€çžoµ8^8žk NàZB«Å BKàyvI·Z-®%´ø—»£ëë¥R©¶±±Émò/ŽoµxNàyŽþÏó-Æ8¡Õjñǵ¸Ö8Ž{‡ç—€/àßÕ7 KLp†×LXO?[5Î6Sš1…§˜¢¶‹dše׬ÿ7£„‹1ÁiN„IF ¾©,r€Ñh<~üx°=üêÏÎÀ`‹Š‡‘ïf›Ü c8œtCcwŸ@ga`°´h0†1ü~MþôÆQ”#ê*P} @ø¨€)©(¶ÂqÜýû\êþ[4P þç¿é¹xù[u¤ê½KB¨ôû@G@w €@®+° ¼¼¼œHm`³¥?—¢ pœ @‘ úŠ”#ý7zn;68‹%ï)v¬Ä?8ÿÍÕC B èÏváE¿TmhO.¯ =¿š<¿z~©O.'“É×—ö?g)þð¯ºE§T¥¦4ÒÿLÿÂçÏA^Èr£Ö Tú ÅCpx(ŠW¯×¿S2?ßž|¾£o€ý¥`ûîÓñ™agãocJ)ÆëKÐúÏåÀq¼Àÿ€1€×bjKràZ7Oøy +P«3p+  Åó<¿¨P0žçFJ~“çxžû<Ï bLiÿ3€)Ʊå¦)Êý€)›òÉHÎó ¥(Acä˜fŠ3Bh†3<%4›²v@L1fËA}B0¥ø›R€§ãÇÛ£¯~ñìâüâââÉø±183ŒÑÙxlŒŒüí28aíÿ¡±·kŒŽ;ƒýÎI³¡ñØ0Œ“›PkÔ^_ à–F ®$A5ÕVAÞáv»’¤Jª$ru^èv{múS,É’ ªNlIª­=|(u»=é'lÅÈ_ôºe ©ª¤Ê@RU_ŒsçèÙb‰ñxüÅÅ7¥g/gwŸ>Ÿã³ñ JåÅûÿ6ÀÉP:Íß绲óÉe®¯¯)!”– 01Ÿ»‘”ê9h­/ä’>yžÏ²lJ®³¬ødSz=N¯iF ™Ò|¥7€lò1½ùƒ³Œ$ž#&ïçÎàÓŒf3o„Óa‚ãaLQœ¤„°fÀ¼ €àŒPÄúž Š¿-øãáÞŒ<÷…%ÐhÄÞ®@‘îGû»†q<ì¯À SüZI*•j¥R®6¶jÕêë 7OŽ’ÞJ¡­1eo"r°mfØ­èGPêº~4¹“»¯EÀs‘|ÿ )}x]A¡¡rdwuýˆíeëÁÞ']>(&%QÀî× ¯À+0¿ÿ±âàCBYüÛs`ƒÞsAhÊ,Pú½‡(àG?@d >¶®)P‡`:À’]ü žËˆÂb{è™aÆðäôääd¹oôllœ±ø?3nž3Ã0Æã‹‹ÎøâÄ Îÿüt<žÁÅ,üAÊ¥ÒJ*‹)¹æ)€¬`×Ùõu–±«õšf3`»4È”À”NY—íôšä‹·¥”\Ó®¯ ¥lkw–Q:%×S y(Í®i™Ò%˜§šÅ‹0–§„,öýaæ +JH–!L³)Ê(bŒ(ƈfG1N£”â %,“ ì߃I†IFŠqŒâÐ3}DñM ðVì~ñwÏ....ž>»ƒñ¼“/ï>Y<³ž¿Ñpo826°Äæî€ƒ½JQ,Uó]P¯ïj°—Ybõ÷>`°ß‡¶ßáî â!6èÿ4ß ®(º>GGàÅÎiº E؃J.᳞"'2Šõîs¨@ØæÀþ¡( ûI¿”ü@’»GÅþ¿¹MÏüþÿç¿â%I.Ø ´Á!‡‡ ð€ÞÕÀþ£^äÿLñ]Є®ôýv·ÛùEŒ—nõ±qj†qzrzz:8===]Prsù3ãÇãñW£ãÏ?¶¿Zþ¯ñ&¸¥Ç)Bl‹&β•à:wÌ SJs „PŠd×××y2ÍhlζðÛfAsMétJ¦$Ë®¯ÅÈ—ñLÉõ”!P6¥™fSJ Í`:Í(Á˜ Ð“ÜxÎËð QšxaÂlÁ)Å”bL1%35cĔ§i‚1F1¡˜d˜’ šLà¥Iì™A‚1&8[=̈ý.À~Çcc{06FãÙàïÐ0†ÇKg&ø†»Cc8èìí¿vw«P@í÷ + @’ºv±öH@‡}lõÅ;ïÞbæ» ³Ýƒ:´_Ì{ÛÅ'=] +ëW ]ªŠÒ} (v{r¤( ¢ö•Ã÷öl¦Æ h??Rà²Q×üþÿg³)AêGGGú´íÃÃEÀ6<¿º/l4e9€>€ Šï¾+ˆ¢ÝêÂ>7áo`uaÄ +`äñØÈ×Ä VÝeÇlcTçÎþþ``<5¶¿ƧÌPvww¶¬¼¨ÜH¡G É÷ãe”f„’ëŒ^Sš@s d:cK²¥€1€lJ§˜@ç³t×E +± + £/šÑéÓ™m×”ŠQ:]Ïmzf÷2ÁÓØ÷"”²þJh–a’åa˜”Ä4ÓSŒ’#š±K³éAB !%'¾ÇŠ…/~úôÉÓ¹¸?.R€ñØØ5Æ£ñh0 > ƒÁ§§ƒÛNg0 ÷ŽGÃAg¿“ï X€ÝÝÝ»»»ƒñø,€j±¤T­½æ à @[UÙªöÕ‹+¨YU¡$ +ÀŸŠ"P m\Ù6°Áäù$wïµ!´m( H*Tj>”€ +  à䟮lÛªªäÀ+u¢¶¡} ­KÀKˆ'ªMB`Û’(I<‚ªªªm Ùª­ÂE×¢Ùýoò´¡¡~¤ô(¼ 6ó>`…-+òžÿiw£Ù”_¼€Š•~¯?:îA°y¶]ZB€ñøÉxüäÉ“ùò˜¥øÇÆ)‹æ?ÚÝÛßßßÛÛÝÝÝÞ¾sçÎ;Û»{û»ûûû§ ~S9œ0ÎÀ^ö–  \*•JhåPš‘ !8›cÒlšeÓ) ½žNó¹,£”\Ók6SC¦9˜^_çu¡9\3`)Àô– c)@FrbŸÍS€)³ë.VvÓܵ‡dÓŒdÙ5F”bÇNÏÁq?ûi0¦”¤/HSŒ1ň`Lh†)Ág4Ã$K“§žHJPâÇÇ)A˜fk"$¥”‚Qœ Ø÷¬€PDo¶“YñoF.† ŸŸ?þ|lìc†á¯>Î`d0Øë, ƒÝÙY€b7`åõ€›§Ým·Ûí?ÜÙ¹×¼Ç7yžoîìì´š;íæ÷7þ/µ ®Ùäùf»Ý¼·ÃóüN³Ýí¶ZívûÏ7y¾ÕÞáùV›4›Í&ßäwxž½öòÍf“oñív›ßi¶îµ›<Ï7ùf“ç77666ù?lïð|»ÝÞáwøvñ÷š;Í&¿xúËñßW ®+ˆßáÞàAPQàóçB/*ýþC(ñ€ƒúwNÜì|x¸‚O˜°ÿô ‚9ÕòEþ×'OçáÓE¶`Œ_" §§Æxüäl00öOŸ>ñÿWÐÉ,¡(Š %„ÙáÐi±1gZŒØç×ï”iÌC—2˜@s 3å `:KÈ<`þ{³o6%Å Ÿá)óíaCztšQ’]çô:Í!#»¢‰0¹‘JI;nœÄŠr7¿¢Ž‡¡8Â8tÃ!Œ“ ¤$Æ“Œæë?+bÇI”ø®`ŒÑ-àÖÝ€9\ŒÇcãŒñhltÏË`´×™3€Î|hŸíßÛÝ=½ ÕR¥úºã´»Ýv»ýþ½{Í&ßä[<¿³³ÓâÛíæ÷7jµ&Ïó|³Ý¾ÇóüßæÛÝv«ÕîöšMžoò­îN³É·Š´›Ífs§Ù¼×Ìà}­v»ÍïÜcÐd°±±±Ñ俟ÏßãÛín»Ý~¿ÉßkîðKÐZB]‡@¬×¹láð( +ü*^]ÝÿÓfS– è퀟æÉÎýzý]NäÄCq¾xòÅ“'_|ñÅìÍ\ÌñàÉOÆ_Œ?gú-á~: f;5 cÌúÉ +(—WÊ€Ë÷J¡8 +Ùä %„Ð,›^S¶=‡ÀôšNY.Õ²bN¯™£«Õç–:Ù4Ë®ég¤º ”EûuF¯³ë锩~ٔчŒdÙuF¯§Ù5eúá5Å4£×, ¡YF1F$M<ÑEóÀŸ3B-/LbT´RL1ÎÅ”’Œâ$A$õÂ!„b/¢$ElRL Aˆ`‚ Á(Qû–Šé·Q/ŒÎ迸¸8?¿?vñh|º¿x^ +ûûÜ]Àb°ÇÀŸÆ`ðé`¯Z*•Jå߸tÛív“ßÙiîìð|‹oîìð3¨ml2VÐæ›<ßÜÙÉ Ým6ùžoµW€¿×¼×¼Ç^ûûØióü‡ `'€f›çùv·Íï4s$j6ù{Íepo%þ¨­ñ;߸ x )„WÏ»ÝE€ýmä“Âõïr›@y°‚+;£Ÿ>yúø‹'ãñøéÓ§OÆOfœàÉ“ñÅã‹‹ñ“‹'ãñè¬ÈÎïÿÓO?=ýt0|zz:Ãö‘ðQ’Æ&L0ÏØ½›;eN™cɲi–‘,›N§4_« YvM§$_¬1Ëè§tŠ))R€ižL³i6¥Ì›‡f’ì:ËȬèoîc{º óå¹Î¦”­î&Y†ét:Í(¡8]ÙMnÔæY¹~”$(§Œ(¦¬Ÿ—à$Npêc„c?B(AçÅABË10F¡8ò]3@cŠ¿˜Àãñx°?ǃW@Þò70F{ûÆÉ ³_„^\8¬œ0|:Ø«”ÊåR¹R­–ËF­Ñ¨ý~@;€{ÍæN“oí0°S0¾Ùäù{ív«Éïìð|3€Þ=~‡¥÷î-?cüò÷šM¾Õl·Û<¿S0€æ"àY +ÐäyöÍfó^óÞr +к·ÿGº~©+¢ð]›PP•K]“+Qèn4»M^/~¥( ! +d>çïpÇE\F€'Ë +à“âÒÿbåù'ã'Ÿ?½¸¸ñéyÂ_Èggg·Ô¤f}@åe `õ¿cŒ „IÎɯsýJqVé˜ßîu6%s‹Ýk¶Kç:gñÓbœ./°éÛ)¡xZLÚÑ,Ëð5ɲŒݘ»ùi–M¯Ùê.VŠœiÈ5N3æà}M§×aJ0Š=ÙKçâßB=#ûAš¢§¬Ñ™„)ó +”";^JÂq%ˆ„¦Ì¢aŒQÇoºŒJ|0bÀ:;ûãÑx|²·»;¼D4Fû{£“Ag¯¸þ (`Þ0ÎÆ†‘»WJ¥rÁjFí5f7 gÞßçwØÅÛâù¾ÅïìäÀ5yžßi·[Mžoò;|»×nµÚÝî,ØÙÙiµsY€÷w5€›)@s–Ìr‘[RþÞjüÿÇË_ñzãÁ†$JÝîlîXìnllv›;2P¡ +'6ïuY—¡*‰2Wç8®É¸„Ÿ<}òEqå?}úôéÓ‹§_</ÔðÇc㌕Ÿ0’ðùç Å‚áɧ§§§ƒOOY¡ðÖðŸÀB'`éÈ(Ei#“E¦Qz}eô:»fnYa¡eôzJ3J¯Ù~ÝkÊ–ëÍÔ– L³ ³¼<Ÿ'Ùtz=sé¦ÉÈ5¥!Y†§Y^€¼.vö’Œ9óå6ÓŒ¶È›bJ1E(veÏã~¡{~„0ÆlÚ/Å”`J(Å„JŽ/AˆÄ‹ +ŒqЦ”`ŠÂ‚0N p-S¶iø[s8??:¶*`wöØ»ú¹ùïhtÒéìwVÀbÙgdŸ>ýôÓ½J)ßY®6¯9Ürð‡;;;Í{E +°¨ðìJ÷̇»Ýn{ó­›ðäÉÓ'OŸ>ýb<~rñÅÅÅS>gÝKµ¾ÁþîöööÞîîî^g`Œ—ÚÇOž>yòd…¼ +^ÂÅ„Àl9^–'ßÓ¼(/˸f•?f³ÁæçM§4_¹YlÝ+”Ã|ïN ÁÙF(ažü„0DÈ¿5%¹yoþ¥„²„¼1é!ˆ 4ñe/ßË Æ$r=?fLëb3¾cŒbDR×ONQÆ…iB0ÁSŠHÑXŒPœÄq:fÀáŒVÎx|1Úýâ«gçÇã ß!wo÷ä þhϰÀÆgãüa#Ã8ù”@é÷vnÀ‚X¤ü,¨mlæU€V“ßiîì4hw›Í¼ +°ª,0€Å*ïÛ)@s–ìÌ4€æ½æNk…ìܸÿyNø'"T»Mñ(ß,Šº±¡˜;‹A8 '¨BUêoÕWàÉøó'Ÿ?Íóý§O>ÿü‹§O/...ž^ä)€1šµù°vñì+æ27è öÆøó/.ÆEÊpñäÛ@é¶2 !„Ä)&4÷Ô¦8#Sš ú ñ˜ Ó™\ŸïÛš²r›ê΂,ˉCî»u+ UrM¹vgÓŒ¹ò³¯§Ó`¦× ¦Ói–‘ ç"`‚|ÓG (6GDphºaˆpþ Š1&¬Ÿ¥%)ŠÝ0IPŠ?ÄiaŒ1Á¬€0"ˆ`Œp’D¾ïA7%ˆù|3tÆ¿øêÙùùÅãñÈ£ñxüÛ‹g÷þŸÀpÐÙ¿óiâ3c|fœž®0€­Æï[ +°Óþh¦ÌR€ÛªEL¶Û¬ +p¯Éï,V^‘4Ûí6¿³Ó~U ™3–´VÀÎ-ñ/pœ ¢Äûˆ¢ÞáÞâÀLJb±ÿ—õ0©MHPÂýziÎVqš£|žÚŸ§g†qvv6/.—|rqqñÕW¿øÅþÏ¿øj0 NÓOOO»_¼"þË¥oB)¡IcJ¢$£”Lge=ÖtÍÒñi†¯)Í+Õ_ç” ¯°¿g$£…?ËH–M)¡Ùuþj4+: -Φö"UÉYÖ1¯3’3 «Á\È”âçD“§çmƒAõÔQ5NÈ€»lº ¿9´Ï¶S$‡†’Œ<´YÅ‹I°pIE!Ë2ãan:DN‚¶¡ñÜŸŒÄmÄ6‹lËDùwÒ”ÃEòHÖáß»šQ©jZr¥>ÅEtÚ -õÖ8²Élˆ;甀’ù^´¬?—>ûIŸóóËTú›Xb³[ß’1€ÐÇ{´ÿw?ß~$êýGb–Èþ«Š4 Àk®€l` —°U4·Ój dÉ\€n]€&ÿIÇž «ÑÊÕW «P:wè}9™ü´r8]û<Ú-Ðæó‰₩5{ì¨þp4¡)¤^½u>˜ - žÂ”iï¾­9šÖ›ÕüW ÷û¹ËL¢@œ ÿV“e}s@Ÿü+Pº‚å5˜ÎËâZ¯ñhži~&Äß²Ã(“%=øµÁÙYc!@¬'¤ŸFŽédä’0 Ä‹¥å*Î)í–fïT›wå ‡B–“áhJ -ÄsPÁŒ¹4ƒ}²' ÿb¹qId¸ž+kÂ?R4›· ·¿ñ£y¢¨»rµ“çž«ÿƒöZØZÞ]Ø|ÿdÆ{?¸HÃoªÿvL =ø&MúõìÐ+@•¯kGËG¡{çï\œ—²zzqqŽ 0‡¬&oªÇ}*Ðß'¾Fæ4 €sÞœ_8°ßͨ/äïÿPøßˆÿ5ÀµÀÞ:lðîÝp8´[°„2õ%¢¯î¾E ݼ(bix3Ïš>Üó$(j‹T ½§FiºqbÇ` ¤¯œ‘ -º={zˆ¼3’Ò|`×Þzn]LÁBrÛÓÉL±Â‹jú©ß¦»¯+•1Á=šsbÉH`!ÉÆÐdQIjÆüÉpêH’¯ø ¢l vÉqýÕb™ŽSìtä‚UAš-/k~ówRD¦F˜¬UÂM•¥&TQH“}+BX’q!µÙ³ª3óee(7kñNXYÞEËë¡uSj±šJD `˜°"%ÊÏ~뫌˜nï˜øQ/ÜÉ?|x‡­Âz;~kԬʇP¸È‹—D1¼ 3ŽåÓüQ€ 0 ‘”c2#®Rk‹6A*•£7Ôtl…ØEÅ—8f*óNz0¥ò¶(TR£J@„S^ ‹fQÓ…-|h_@<¹/¡úàÕÍý§ûÛíJ€àk¿—ÒÕH™(m-~ ¨º¹ô8vvÕûEˆ0>@vz)uX/xJ{3ËÛ¹Ðá\€R÷뺮|í—vR4ñ -IMc>‰Ý8ˆž/óù[Z棑‹ski¥¡ÁPĶՋuª\O]Gó) ½ò´¥¸Z;HŽÓuDlq[¸†Ôy~¿ÁÈZ Àbµ¼ÞøõÿÙ@VÑÆµ£ïr›¹çEÇ0FƒñŠƒs Âõa0“A˜™ô†ãéxÎc±®Aehd›„¢lu–’†‰4™!úLÑð•5(ŒƒŠK-d@Aœ’øS¸Ör±YÎÂõr /È]{ð_èüù¸¹ o¤ÙxéuòÌój›´Ò‡0±ð7Ó#0`Ö;’ý´4ð$ uÇÔã ²{2@÷ß$ÑØ™õWW7L+ÿôIDATq6r•þÓ7(ìoÎíd S‡†©ÞÑß§²”ðÈÐÍp`~y   eÝß9½ón -à?Ä=®w†ï†ç'í/KÀBôe@Áé~vÛº=#§ÖwBÙÙS_}ǾyV#¶ÿö0xòœ|G¼,Ûãu£ÇÞìˆ!°@'Ì©Á„A.µIyA"¼`@ ÞvÙ“CûtØ‹A )šMãÄŽ‹eΕƒïÕy•]<¨ ˜ ‡™B"¨sЈՔ#x×&P‡Ó£pi‚£q1ZŰø8^i/ðQ¾²^„ÕT6eæ<õª“pcÄuÅ/Ç\ -ULë%ú[%B½ùqIJš*ØÃW¾ú­U6ò -nX=)@:¢?÷3!ÞúÓåÎì¼g8b¸ñ†dî’G€¯‘IÏ‘+“g“ -é¼{g¸BÁè+2H±m}Ê”$ ´è0½ñÔ²™j@òFÐ6 MíéÍߢÚHãOšÎµjü ùz²Áâ…bE‡1³‘ÓÔ…´hHrϧϨé/øÝÕRÀ·w÷î^|íüÝÿ›¶QC†ÿxóóíýÇOŸîò5@i:¾î(Z8uÀiÊßjB‚›R–<0HÇçd €¸Ä_ŽP|Q¤›Ùh´X­4š\N&+8C. 0E?&@õùØáv -±À(Óq3†gÕ9 p¼Œ¨ã "ëh5ù  ú¹à>Ÿ¯6—Î_XÍW‰×Ž„ îû¥_!UkÄ

ù.ÇëÜ»Ea5™ÐëñlãÊÂZJNñÝ@®ý£VK¦ €þ„&æ’üiuqÄ—3§À~‡+B.–÷ è܇./.¥ìAØýLÏÅÕÍÝM¢€_îs¼¾hûÞ"h}@'ç}éðùÑ%€z `€oÐÓŠùÑûã<¹þÉîªìC"¼Peä¡ú©Ú‘Ó¿¦ 8Ðbéâ­o±TøÈ‘Jv¹t{Ê3¿ yÁEÿD<»†3Âw¯ÐpqÕZ:xÛÅkÒãI”?È~Û®Úܹ.·]´8Ð,R‚M ŽM»v^Á!'ÉØ’H°‘p&gˆ<-lb:½AäƒÂÎPANîS~Aô´w^€H¶Ö—od†h¤T79uJM‚ø¤eÞÄŠ]¢Ú’ kÝPTó%†J÷Ø O" -òSs±QD~Äß…%iYCÙ÷öY‰ÊQ¹-ÅMñ'Y Þ;áNXå¡ðê_ ˜2ë#Ö`†mà‰¦.kæ7¶’=ŸòÉþÐÝÍÅùŇÛ;¿ üV§ˆ ‘}iÈ/6 ÀÏä À¿k†Nâ¨ö;ÐXüJêëßö ЊóD탩€Šû#sj `‰BúP,Ý œëLÀ3òp-ŠÍÑ÷;`m’!€L—[ε8º0™ ¼ãÕHœ62pÈ\­µ¼Y•FÜ·é|º\oÖŽÓ 0½ZƒÑd·Böˆ °X.óÁaÔæ•X:#€««ñ º´¯û!¨8õo¤N ׈-F`>®ÔòIÓDR ‹§Îî=¸¾\|&“é©F¡Öæ+já½C5hÑ€S #G0lü¶Äþ‰Ê"  ²Gv±¦ç.£Ϥ°¯(âjÔ÷¾ä+Ä‹Íâñe4™ošþß¡ÿÆûdeŽXTÿ3ð.‚´Ú7ÑÿÝÔ@qwr©µá?”hš-÷"šp^¨ÿ•ÜšêßçSÃû‡ò_\EP `›ðs¡áÿÅ;úš7ý’zoì%Æ=j°¿£= ÀÑ9f Îô—pzbGR2GÏ! „ÿׯ5¸ ÀŸ| ½ÿ“$2TjgžÐöÝx´9æàk€ -œ@1ËÒ]ë¤+'‰mðn—Ô³oŽØ¢¦Ú“$dÿ,%÷“þ©°*j•„RH -z&ا7šÂ†ü{¶Ì>s$ð8R¶Ä3™6G:~‘Ç$õRmJšbˆÓàz‰Ìá~ÓÓš19Å0ˆŒq`¯Í¿(¿V¼Î4¢Ä7”'È1HÞ´ ·Héñ#-Æ7ìps,+мŽ*s•ÍJ䊗9ÈPÝÝú£,j½ùLB—*¸ßh°.ò …R“´~sÉ -êŸ*“‘žžJ>‡¾bbò²fqkØiâP,ˆŽ­ù ‹³MÁMyG.±›¥bËu¸vj!\Ð×"Ȇ¸Ó¡ #‚,f›Uróò|²^p6ûmܤ|xgìÞ÷ú­* -àØIÿ4vÅá|î$cÛCŸzªO ýÎ͗䄤r—(xœ8Y­×Mã‚×jBåkü þÿ’¨(„Ší¿°ßßÛ·~MÂf»ÕhÌÏ<ßA}U ÁO¯šð{¢¹öiÇDcåUÁÎrˆå¿ þϧø¨YáË«üñd¾»÷€+”õL€š9 êî÷HéÁÿLÜ›àó~—¬‹nñˆTuH)ØzBø‚9Î{²Rs÷Þhßhdzœè5«Nšž¶9ìsó¯Ñ_ÂO§©¥¿å¼ë›¹B'ÈàŠ8Cˆü4ÿ³Â E© *@ð†?x+`™¡ƒàý;düºBˆ&’¬=-W;í¨eOHä<¹•[ 4ÙÆCVú~â$(0Ôí5Ù“G"ž\ýÄ0I dÞ;”ZæM”3´J’N›IXäŒÎœg—`Ȥ €¯i—Ú,ZIbü¶v’,ðK²g^uVä‰+êuµÖ~ˆgŽWhJáÄ›Grä­1BcoA ªbOˆ;¥W=“ÉRxM“L6R¥>D]0·DÉ–oª¼×øºžá„px[·‘Ù›šè.wD’sš€E`óT<œá•bDŽSYEÖQ¹L0 9'1 Z­Ö‚¬Â6òÀ°²z>ìaû³~ðÌút×ÚàKûoˆþén>"ܹ@{ 0 -‡ÿéýLBÕ?ï|› €@Y„ÿ½i!½çEԈыGèÕ ¿¥¿XŒ×UòÕ|5W@}—F ?€ÛŽÕü¾5ø§•\-yäJŒ>[ÀõIx숡2U`2]þeã«~‰" žä€B,¢™ÜéòküÐã'«±Ø¼çÈ×hÿªú‹åõj4wZÝõõf9¯SP’€U W©eÛ÷ ]Ž—%Y‰ø[Ú,Vd½÷ûïóe¿ùœšY^ÿñ€Ðbä'S_¹Àt‘n#ÓsÄ:MFh>ûi6§Þ¦ìœ1¹¯(Þf>¤*c³°H×Ôõx¶ZÀ4ðߦþÁXÕ#Éü1€hÝ/Ïû[ €Æ€PïÌ—¶û‚ýêm€_%=¾šàœ\¡[Ä~€ÿû>øß¿üpÄ?i _DŽ7Š(¦‰¨Qsàübè*‚uGéQõcÕivõÌž.’ú¶>xy41Ž-¾ù›@Ü I$æzúîv-w”;„ŠoA\ÑWœÐ _r5pÒªw%{}»Ó=– nêõ«‹:³II§œ­ÜðH üU¶É˜_¸Ò[ô<ªçí1ßÇsã³QêÑ]]ˆÇ¨33ùR‹‚õx¼DÙßóN]aÈI€S’Zi¸ç -(¹šn¦ }`~‰ ­VÉ «@ŽW×뼟0[/–½€kg -¤‹ñî‰5_‡FDç‡c¤…ùO ûo–h5vÐ]k$Ã†Ó 5kŒò „õf‰ôC=Ä~áOiB‹žöyäš¼ŸÂ“q:Ú·&çë­¶XæJ0p?º!]Škí;øGR”€%åŽÉS€7>$/y«7Ô' ÔªÒêvÛ«öDrk;<ìl+ØÖ=‡ìšçõä£O…2%½’”`ô@rö‚¹SE Ö…¯,ãçŽ}yUÆñJrá±…â 9ËÅb£@³’h'˜×Ý*¦8 H úà·!,”‘`K¸‹‹žÄÖËic²]$N02ξ JÕ…$˜kA_æ’«©w#æw‡«•6¼$|E‚,L«¿œ·èüBwWêrŽD6¾>©˜x4Š??7ùPüƒ°ÞG3Q0k:¾’…ÜLÀ}9%]ùók[ñPÙu¬HÒ«®Ô¥Dão}ý›W— s*_»#^ -r™ìž»©Ôß½äŸ7î>ñ¼ï[Zo×Þ@kÛZ~Öðàöêêm7àO¯ ÿëmèœÿÚ‘¾Ý Š¡¿ß— 2d."€F jšN~âD=õzáÿ½Z]‚øóùh,â#(ŒáwQ?Ù|'ó¼¿Áp=†W®=@-o0ô5{ðÿ½Ÿ˜L¦Ã~_Yâ_öÕàG™OGk0^½|t‘·$­c?ÑãwÞ/P¿Á߉–ˆÕRˆØAy؋ҽ¾^‹¡”fœÙÄ ÀŸRqœÀµ©gH$º®’¾öµ¼õo“þh¶dÛäý„Ñh£iÊr!àÑ\Pý_!¾ø"`?F€þ”l‰ÈˆÛÔ'3¹‡ð;ÆnAfsmJ²6[_#¯¨ý4[bLž´8à[l;°à×pXÞ~»@²Çˆ‡»µPˆŽ`ï¡7j޽ÀÏ"ñ5¿ùÕ†aW,Hßý‹n~Dåö…ÀX¬…óá;ð¿ßçþÙ)pHˆ #Óø—_?ýúë?#4 €pÏó ÀyÝ­â¿×: ’ÃíÍ?ýÓ?iÈ@áÿU ¼åÑwáZNœ(¹GíF>¤êÇì!Õ5ÚÑ£Ìuuɱ¶êÍyEªÈ!¡Ï‹²B×u"”« _®1ˆ E†Ê»rçŠ2´*9I­­9¥Š–…»J/Q¸Øâ´ƒdÊÓ`7w¡¦¡çb‘¾†Ó¿Ð¿Œ);7NãþY@5AZF ž“$UþE­>šo¥¿ °ÅqRØò´ãnÎO7p§?¯A›vr@œ–`dR¨ñœýpæßeÒêÓœøã¬J)J‚-­Ü²ÜBÏË·¨¢’SÏä,i¥”¸œô[&×£®ä×6së -Vá²…ü¸Dªú±o^5T‡ŠR¶³)iÍÀÊ^ByjŸÿG@@¿¹»ÿthn—¾VŸZ{+ú‹ÿ[ ÀÏûo„”š ÷úM&Dø¦uĪ¢­ЦJ»yRù ÔN!©‚Dì¼À¦Y°;ÏAl›‚ÕóÙ´4ßÎöØ”ô¹¢¢3`~Ñ™¤ÇƒQßY~¾Aè|AÐr4D˜)l.á¼0:àîŒ("j:e`</Þûá¼Á€ýïQÄMs8A‰í¾È/öЏ×8² -µ g—EŠ&“õ|·¡ œ/(î+ðp^­†—“Õ„üçëÍj2¸\õ7Ÿ LÀó³!Ì# €þe†S'1º©ŒÀA àzö~ñ^±ÇìRÃε¬¸&4GÀ>,Õ’ þ!›ÒC ¢ÀëoNN`Þ¤€þÌXÞôjsNOŽä?‡H¨¹öɶéÓ_¿¢êô墨¢=ç×éB¼—®:å_£?î­-¥úÇ?Ü\ß\þ k(ßZ†®½ßÓð­<°Ÿëjà/Z à_øÏZnï?ßÿs³Ü^\Ðæ´¨ïkˆÀ²Gø§X95 þ+ ù»|Ì\Ð9<°¤7Œê¿]µ¦¬o…X½,“þ+ƒç¼¢™ÞVè¼¾¶¿oKö?ó÷áâüêöîÓ]^ÂÅoq»è­}µò=¡C7?ßíã? q\iÀ…egÈI¡¿)¥J^H?nÔDõþ&ÌŸøFÀ"°ÉpõÀ0q7`ŠÊÍ]øò»ÐðANš©l¥ -6oF¯Öâ„D… -³ÙF#Ð~Lg(O‡Šþ 'èhÆ!Y|ïüx±øá C`49Ž…ùNÎ'ªüð{®ÕÅýT„\#½„²8`ßPo¼ÍÀ·½ ¨¨r„ZóÜ£mïsàüF -È7ÅÏ À¿ýY =?¿üs,7žk¾¡uHNÈ@Ÿ`_Õß]‡ÿû&'Þüú)/þz þß:8¨ÂŽpûáò¼7¼üp{¯ Âïþ‚&?toÿåþŸîIðM/ëÖ2@dë+okÀ‹áPëg+aGí^> ¼Û•ê$íãâ1l¥ -ÔUx‹bÿ×"Wh¿›3s3ܾ+—âò1OŒmZÕKó×-8à™@1WÀDMtC5dð4auŇGÃ'Nwر½^Å,ñ%'R…¬èExnSj¹%½•3˜Ï=J” -ÝÒö¬]©4“n9;ÆZ¶FѧËL*ÀªâY‹äxWÂ:º}þuk¹×0¿¢ïÕBˆp¹j:uè.²ß^é(žÁÏŽAÓq…\N&úÚǃ±.…P>ü#/&‹‰½ –N¨mÖ1çvž<*᎑J"[¹ã,ßÝ5] ¤NZ$Áá¬ãàÙt§Zÿ’ÿëÛOº´4Àv) ·™X%iö—>:H‹ÁÞ:…ÿû%­¾Pðm+Š*¢zQD€ÈePõÌyGq |ÞÙ8ïÃ,Æ €8è+Nª¨J`Þƒç< Èq¹&Žf¬/'kˆ¹@°/ ´è#M ÁÞGðjÉ -©Ê™_å—` ¾^ü°€­ÈfŠX@5æp=†ë6_¿÷¤Ý¥&×dˆKÎcÒØAJD^Æ+ ü^ï§—S?V´2r%0ý¸áðÜ7ˆ£÷ódØ ²¤ ¹3‰ g…ÈÀø=ÌâÎ=€±T’—Í]#\#¿PJÄ,Ù²ú÷à¹O÷-ùqâÒ‘/%_?ß‚(CU‡sšàO§Ç‡ò¿™Zó< Ÿözäñlò5ÿ©³d­ÝýJŸ‹ö9àæ¨ ½ÐtÿîPPÿ“Ê🽋à—û¾ÿ÷ÿá²ß€¢{u¤Ðáž1 üÓý¿ "˜Ûv -€™ñô¿m«h8yÔ ´»yHøvc@ÍÝ%â)½d1œÓòÊ™AËÕ(Î -ÌßcyÆÿγòñJKެsÒÎï»~.$X")Æ»" &‰å…æ•(îêL§»ºÔöRì¼™Tc.d² Ýû/ U忇«à ÉnÚƒüˆ5^cï–“Æ÷Þ"0™­9’שŸJºê±Êf˜½Ÿ[ùuW_½¢J·"@²’*99mžâÑXÍyK¹¨y´únuêVǨá)Ïw”Ú•.ï–v‘ð3h—>{¥²m1¤dFà0¢·ÚnÆ·Ž­`-ZÂJÝ@qÇs/¤BéçÓ­‹{ùDYDs»Ž¢@—Bçÿ«ÁííÇÛOé®®þ‹6€Æóuh%¤X"øK•¼ -dD¸¢ €ð¾¥PÞœƒøKu9î AÆBÅHôËëi8úÐ7¸(¼¶2ãñ8ïgHõ2ÐÉ™]X™ òGYFP)×Ñ%ÄŸDLjHmþl‰Îa1…J¯ÿ‘”'Î6ÁVÍô}%‚”Ku½øž˜ÁåZ)Æ au¶P‰Ý=¹ Gšä…n0¼˜‹Ãa¿íY>ð/ö×È}µCM67ËÍß´…ü’I¬ÍÅèûïËëEf>ÈSÝ)Å"\O,¢Â¡ñô¿^Ný¢~Ûòç'í^L6¯£s"¬ÎÐÀ¥4å?†Zó|‚Úãÿíˆ?òkœ~˜Œõ¹½½Í:èðW7wW; €¤FÎ-v5þíлjW÷€šAxû©Æ¶€{‡ü#¨Ù#¸H€ûCÄŒ‹ÉÕåøß,Ô±SbðK@¯¹Áõ%@-'¯Yv]ç–Ê·õŠÝ^Çwjiû 6Ý:é39±¤KAïF¸íê&ÕåøUH¯‡Š¡7Ƨ"ÚДN¾ëW/^¹î‚‘§ÇxH;,ì†o '\b›[ÚÕJ(Î}ªèEå±·çPüÑcõ^õÏSr…\L.'ü+tP¬œÙãŽÏö°½â©ñZUZ;GJexñLÚ’~Ù “_NÚ>þ}ÿ仚†P ä"¿®æâé=Íù6©ºZg&STÁù7f” ¹ï(Ö9k.OÌy…/ji'¡:â£{Û´ZcNB[ªëмž+ p5¾F°>+fÎü³3z"$nÒíi;~uë÷ -ÖŸO·7nî³ ÀnÀý·øÿÖ…€@…[¤€OŸ>ÞÓk¼ÍB@OXDÿø¦9¾É'j}Á -°X¸0îÁGf³ÍµŸÿ™ùÂZß` - ÉNÞól<›ŽÑYIuݨï€ö\M樃ŒÈ€å­:ƒã³Ÿë׌¹%NƒzªèÈdOÐâ?@½¸þÁF®¯¯ã;C»¹Ç³Íz¶F½¶`r­`®#ï hgú©mïæÚE°“%¯V~f€"交¨Àùx<—ë”U{ÀV°tüËjÀ1‘¤*Êö Nž -¸|û†àáÿq±¨:®•oRÁà4©æ$ð‡âx« ÝïçÒiO[ÌC @Ôü ÿ ¯6 €cR/ùÙpS¯±ñ×¢ãúÿ# ¿‹«Z@àGøê¢³ø@ß2sSÛ¿D÷z(È_¤øp Àþõ./ù_ÿigelÿüwÎaè÷.&Wvw®@r§¾t(§ÍÐ{ëÀwˆ)èÿCàÿð€P\Q:ñƒ]÷ U·ø³òŸaà fÕõÒu*°ç×Y±êB²‘ô÷zÐÏKøT¿Oeè6*¤ -D&ØÖ•=[RJʉTÇ -Ðñ4(˜Pö24H€#ÑB7»¶çP€²³$Uvjï?µî’Ÿ1s!—=x¡¼Ý‡qã[ IgGÂçá§Q»žò5îâ×G÷IS?ÏØùÉFÝ)‰äbQr)Ò·¢ÕicÏ­#ý©¶0°ÿëxË˃';·C @Ž2¸^  ¯;7ŽfWõbþ(Á#¹”9|^J8wæìERh¾•K‹}`ø.Ÿ­’Õîïá‹î~oX¸þ\ºÿXózî"t_âùªV‘æ¤ÿw7He10‚…üZü.)iDø& €ËͬÀ*C"¨‘æL&Ù,~X^p9Î%4퀒黎I.¨§Ë¯-3r/$ª(»ú¿¸å¹,¾V8V -þä Ùï)*ˆÄõ'júh< î!$c¦ö~ŠK5iÄóÈVÈÕ…` oÙüðƒ– -2ë-ç®ÕÀI ÂC$‰I›ùO^É_ë?™' Š6>×T‘‚³@?;ÇAˆ2› ȬCüN+Ôv‘W œãE¬\ñ€43¡p8™¹$€ù»" 1a?³F‹ÑB‰j¶Ù,·4¶Ìú¾ý÷ -J”TÃþ¥jO ’\_@àmë¡ ãT‡€Ã9ç´Æ}tÎï¸Кç_‹¶Cý¨^”´ÙZj -€$žß7Ý¿¡Cý‡ŇãcW7·wm€Cûõ1€t ªûìÿÎ1€šè$À¿ÃË ÿt…ìeu‰ÿŽNø)`¨·~¹èbˆ@B—B_ùˆê–V_šCúÈxÓÑC²oý¢ýtÂ%¨AļŠêkI¡ísLÊ-t¼âŽÃS"&n<ÝôŒd¶JÀ£éT¸ a§"BéÞ9oiT ÷íÌ­Ü#)vW§ .Ê;ŠráÁž -ðÇsìWp¬¬\¨ë-XÂë~"¸ã³=l¯x*;‹ÓD¨àâÙîféQ[õÛmñ6fÛŸìºàx$4é¶¼[´òŽc›—\ųK˃ˆŠ[¨ç—|&Xzö% @—þ¿m6€„Î0ÀM\·7W[ €_ÀÖÀóÿ:_à÷Ms|þI@ @ÌÛÒVJë÷~N9ëãKX”mPRP4ã㦣ž)£ögÞݸ, ›Xç’Ÿb"Ÿ¨0;5Žpš Æ«aA);Çã Ö.±È¹æýl¼ž‘-\ïWËp=ö{À‘… øJxéÐH{4¼ùõë,õ@æ¸N ¤ðü¿ÃØ=Û0¢ƒxÖöß$̾€Ôöý-¾úqùcû`áÿÍÅÐ\Áö¼à´¼Ã9>?× ‹€#W÷Vøüz5¼Bøç²ÜÞû9ÀXè þüç²Ü\ž÷úþ¯G.ÎÏ_’“ü™ÚB‡Ûw¯PÄ µCO?êiç%¥{tOÏöØH̓C…2¼xÑRHbE:ëÔàÉ­ÎsAÿž^W1 öÆÉâÕwOYìZ¢öóFÔ™¬’º‡`{lWuÕ9ÿÆIડ -rÎ ï,°=@¸Ñ´»´e*¿pQ%®”=ƳÜE^±lá§yUÉ eE-M~•~òõHØœ±ûšÀ}v•PõTÏ:“‹PÁ)ÍÍ}÷Ëiʼn/ƒ¹=¶H*OÃ7··&{¶Tõ"P~¸÷-ì8 ƒ\$j«ä0¥§[€œïÏØ;¶³kç|ŃÖï¡Ññ0‹èÏø þŸ\Ó hPGq™6oX×@{ À׉‡òquõ®^͉ÒO,€&Bd)ÁlþR%/$Ð?F€¯YB{Ã@é¢Ù×±N„©P 0©¹š£ñÀ—¿'m'ìƒWQ{¡c¿–wrvŠ8í$º©3èò~>ñ ²nPŠ4¡'^GÑØ†€ö|ì -ýfçQU±üÉd´-6kθ¸ÈW·\[*¹æˆ¸v DÅ‹ÓÙ°ou(iȵ×,G‡Æ«*4ÁZ$V@¯‘:ˆ½µ!€±Ð¯þ+ 8pÖO³Ó`\(i4×n€ÎOu/G³b‹€±ó,ÉáE®«X^"u-Ãõ#ø$4 ³$ÈgS`ø˜@€¶þ‡EQ-¨¤äðÌ?2ÈCV½Ðš}ãä¯EOXöæe¯´ü¸µü9“·€wÃw~@æw‡ ¼n°}`¿»ÿôùs¾ fPSþnËàk7 JÀ¼ðæÜ—Ùné8Þ Ô@§\·ußä€ó!ýÊq d’N„Î0Ýf6ûBŽôi¸tû®¶Ýf(½\QsJ°t­œuýjís4DB¶¨ºs=§-òﮄ‡©¿àÚLNÒß<[øxµcw^Ü·S·DƒÝ¤›®ŠÍ™\=óŸèE¹ô`_Åïæì,»`üs>÷1éÚç°»bȰ´âÄÔ¥„Jö‰RWº½×+ýnÛù'º€¶!‘4ûT Îî˜ u¨ »¼L¦(ÁÓl:vDQÅ_ ß8œéõ @Ž&šë¹Tv» PåYWtà¥YÕ­‹Vÿ¤‡ëÏÎèeð4C¼¬z©Ý1nöuúò-ý¾Zý³~îÐÿÑyãÂ~o¿î›>soàÝ+ƒÝÝý|{ó³oÚï\½yò6¥ß¸ù€Ï{!“¬Œî·w·¾H…þîA@ë +€8TsŠ›ÍÒÔ;  oCvЏ©ˆ„âÛ 7žÖàÿ0€_ô›ŽVˆZ&ý““S¤é~ìïÏñ—wûj|`´.£éŠým’6Ùh:ç*¹‰Î(ßéÆ§Ì Œ?€–r»˜ø™ÞP:»Vpêbüå"ƒ ß«yÇòï—Éω|€÷d¾ã£°'+?<è×…æ¿!xáH6À2œ×c—ÿ'b–*°HÈêÿŠCÚ!…4#¥!%&%‹õòýìúz9/ Ä–Åfqnuh\ƒÿ‡ð!îȶ¡Œø2 @Á¸sÎÐü/òm-Eûsô M…¾v õ\ÅÚI¬Úº}kž-âýv·Œ ›à{||ËÃZp@³DðØkø2Ñðc^¨Dˆ\ŽÐÍ øÚ;wù¡F?’ÄÖ+»sà†Ã5Œ’œ_`ˆà €,xJv”ðv³gˆË޲:K[cõ…ô•.ÿpW›ÛSC¡Ã (‰%B]'¸ûŠUôOv^«ëDê÷É"öêî -}®3ÌÎ\x¾H¯¶g—Nœ„o]Žü]øy‚K ´q„Sÿœ$1*¾2Ž¿)h£ìÂxkØõÏ#´–í•»8†ʰ-8”"WÒ^(ïÝE#ÅsWµ É9Á›o^ ǃÑ÷N3þÞ™Dƒþè{6\ýQÿû½®®¼Æ\/iúãÑo+úÕþh>_;Vù~<– «ÀÌw8©o~nå¨lÜbV Ý]$tÕå±>âúò€¶ßH‘Ùš°­&W<àæÉl@ä¨O1ø” “WØÇ€êewqÕYy´Ýv;러á9·?Xý,º¿ÿô)S,t|<ÀPn‰ À5?ÞòSè¿ûøóíÙ½!€üj€ ôw2€¥ìÈ¿SE_¡6ЦxG­ÐÖ ïrñ— «[té¸ÔûÞèë ât<î÷F~¥‹Î;%‘_ÀÄ¡ 5 åðϲ¸4ð(ùЈw¬\kA ¦¨ÒÏùu—!ÌAòr.å¬ù6‡ÊPT«g ä:;±NöïÛñú‡M]áR`u2 W¸ÛÆ42€ ipPðöºÖoÕøÉÄmû¡í¼ì Fæ{€›÷X €MA»0f“a yާæùÙd “»sð f³z¿oŒ¸^_s%€*r^_ÃõÒA€åz®-€|“|Æ@ñ|<'1õu¹%óÈÎpíߥãkDËK0?×?žOÖOç‘Kj(äõõ‚ O@X.–Ëp½FX"ly7&2>® 4™Ù* -už‚çQ¬R~fŽ˜-¸5=,ûs^ŠÿDý Û·æùW# ^ÿáïÐpuóc,™à$ߨZj@4HMœPL‰KoN껽!j‘?ð8µ¢ÿ]{[ƒêÌZÔ·ÎŽûs;‘^¿æé†íÓ7ˆe¸ ëôaWÃá;_èúŇTeØQVgYd“¤c|¶ ðB—Ws(§º±.»‹Ú¡×êzóá(TÚWGík€-°Ý/ÏÌÙ© ½½Î8BÁüu‡¨ƒYWÌgßùéû k$-ÂÿYž -Nk²&.̾¯ékêì·€áV8O‘.›%’)ÓŒ+dµx’‡rlòBç‘VUõwß}?úžÎ! ½Š‹ˆ+ œl\€ÚR'4 ÀX_êMÆ¿ý=ÝVYF3ºæ Ûxla¥ÂÉÐÁíiWê .Šr¡Jzð«ÖÑ®àáÍ´.¨_¯äzQKfë™CíZ~Í®¥*ms*f<àŽYÕ‹J³á8͈‹Dí*Y¦ôôJÝ\oCžwÛþ?[w<éŸ!jX -'CçÔP ÿ/G¶9ñnŽÒ;Ÿr¥ræÄ¸žØï'ËV Í{¥äêXZ:Le¬¨xFawPÝy“¹r.Ž{z-Æ“ëbñÿ0ÎiäùÝdꢞùš0P €Ö€iõT¾SÈ/JŽ1ÌW0F†KØÊG{7³Ír=ŸM3T´Ì§«9\Ëc <¯þÿ5@Ãê!B¬'äf¨ñ|m-I~  kùžâúùаM¸ž×Ü -Of ïÖ>)U«j¤q=*öó-rãG-_™€jKvÆ~ u³3+@i qóW£ã&€½9Z2 ð‚1øÿclö7Í`ùúQÿ!ŸÂS 9²ux®zßÑùŸÒ×âÿŸNýÃÍÉóÇw¯p7)Jϼ»™õ˜RŸéO(”TH_ €#oß¹ -@P¥2¡®3ÈѼÜҦό+(y`0t`©¬¶Wn†Hȸâì\†¨<â_—rV~ ÂÖŠ9ú/ ÀY¯ôz(]±OQœÅ}sH"!…|J#b±„Z´¸Kø.bAã·³"IšÈ¡ âr¹tÛvÒq'™P•”D-cUN* ]I†‰.ZqR‘¶c€þQå#ì[è7Ë“ÿW,fëÑB Û$<™Uq“e¼u„¥¸¶Oý[ùR3½Zë#ÁPà+€m‹øU‚©Ê®;ÏÞ|p‡tàÕáy­þI/#ÔŸ¾‰S?UÄQÞ=tG®vîýÍ.¼Þ,çìbúKhgˆà|0àööæ£Ú?=ÍφVxý:!æ7üÏ–®¡ð¿~¹¶#ëcÿ®%`CàoV€/ŠÁK…ôO?ª$ů„ªTt¹š AL¢“J7àl:š+íuŠ"íg—s?‡Ë™Cy ÇõblùÊÈýçk۴ܨ"›æíÜÎþóÓ³ùbí>%‹ÅR ÜøYB¿ý7~3Å×ðÖ‚¡~Àp¶\®@8°LrM ' àA¾~F8ƌȣú¬°;™¬( -Ú?JùÄO"â¥ÉNE.…ìÍpXÆå >µŽd`$á>a5ž"~PÀ \ÌdFﯭY×Yœs/ò9àe¸æõWM€“å"™l)÷f>O³x@][øúÀÑfµ<ñ-ý: @Ù«Öˆè`S}Áf,Ñ¿ÙN_8iñ( ÿø·³¸ÿàB@WWû ¹àþ[ÞÐ5Ñïú$@S"Tzd€¡¦|_èê]{õ—R¿Ž8Y…; ÀΠ—¦ådET:öúmV&‡ó¡ºq+ÝâRA\v”­7íötoϵd§¿»x7JO¼êœ‚H^«ëœ Rý>©—O#zã K¤µw;âÚâ—àU€ŠYz‹@ÿÎygH¤¤Áf}µh¢;ÁŨ¤†• : ”|¼N·O/çbv c¢Ê7…’RäÔ‰ÎÔKUA;‚Uñ¬ÊmDô“ïÐèC‚ÿéH[ØÐ÷Ѥ¶»N-ÃñC €ê¶é¸Ë%ÙI·‡½Wê ¦‹ôìJºÿ ïUø”Þ`n-+}hëY±ËáÖ€m¤íµ0¹â÷ €WðK€–R7 |êy|Ë®w:Ô0È€X¨óìϦX$ûIç;I»NÖÊèxwsû‘NƒÞÂÂ&R‰N4`Ÿ>³ý¼V¿ÚY ÖOjê) -tü#èÒǦöPhh© m~âã×ÞÀå:9 š3ýIAàŸ÷{h¹ã©í×ñû)Mo‰V=wÀx>é!ÙK®óï;ÁIsµÌFs`—4!UýÙd¾Féö[zSgýû}Ò•=çÅæz³a—9×”gãÛŠ¨ñ\Zȵ¶ÿÙbÇ5»tè lþ“Ñj6G@ŒA1׎QáVãÉÊÉ”~ÎE n… GsùýFï|²™ oÇ$áãZƒv)Oe^¢5ñÏ)¬GˆLJZû'£álÒÓe4o&CÄ–È/ÇõßÃÒ!%Èvõ€h õLõwb³Ì@ã=²ŸŽXöÖˆÆù¼$ò§Çpú×~ àÉ¥·sÔØ…òZ ÖþñÁ:´ÜBÿM¯µ8@ü †ÞCLÓ½D`jÍê0ÀOß9!ÀjT…ïúñ¥±r$ˆO¥JŽ(œj#È);ªÙÅAý°« IáO_9i=¦G;·ô‡ö™­kT[ô°"är—3ºÁ„ÖEëÌ>Ç„7t\-~¹ Aää’´¼¤§> Rÿ -±O…Îgôñeý÷[óRöÁkÂbôË Q‚ØŠ3‚ƒàãcÇÅ„OXM÷[§Cå7ì‘¢n?úc‚ ábÞJymél8tUN’(ÖõÀ©ª»ÝZIM³ö9Ä/Wñ% €]q?–|»F%€ç[€üˆ ýé¡ Ô-ÓI˜È •‘ÆküâKåµ¥xZ2 ȵBÔ*º§u?ˆaùÙyö À6j -]—:`/(*Ÿº¢Orw­þ©Ï8’u²ðÏy"ä× $þn{èᎦ Àö-¤:ö¼Åó5ùkz€²ìðÿml«!z˜šsÌáç8} @æþ—À¾3“Ú/ÝiJ°ÒûöoÜcr(Ú¢¿ûøØl["Œg‹ëë\‹FEÕ÷&€—fÀ>z«è •}šb&€OC¼œãN¯Ÿ¯€sÔz-.€„à$@­Ã±¶tR‰­}ä‹r¤@sÔeåÖÉf­0Œ–ã%¸¼DOƒ‹¢ÿZÌ®7?\ÿðƒÌ Ü6rR½7®ââ?"½²‹ -?â@_]Ú9ùŽ[ë“å -©%“ò-Ô`²^Í׫Ùj£ìák|МMç“5’¶‹süÇšà|J)–¨Ÿ§é!EÎÆkK¦ ðžÃåË÷ë%¢Ò{ñ±x BncÅ€E]Nú~ƒ¶‹IÝ;ÉâþçýÔ}êZÂ3~6©Œ'==(Â]ðßÑþ5ù’žC¶T¾ù—Ÿú¿ênkž5âüv€¬ àòÇŸæ\ž·9üƒð6aßœ|€Ÿi¹~—OžHùÒõÁû¿©w 9\]8ÝÃ9O‚è˜GPÇ£LÐd.‰š%Ì–Lš”_¿CØ"|a²#ðW@Üê,Ó=º§‹{ÉceïF‰P—lLì+V]Ð?䵺ÎI1 öÆ]G½ÛìŒ:`À·N3®Ç¼¸\qùÈžß>¶¥ÐísLÊZßì›Ë‰^þuIÏø@Í£BìSƒÝ¤!µHJ©_½ro×õ[ŠŠÌ¾Yìý:²þâ¹HZ¸K¡×ÏëS“@·›ž@¼¿ÑÌ?¼ýÙà HîùNÉÉ_òÉ>) ;Û­!%4Ùª×T€žü tÜ€='[Iv¢å…ŽohãWR€~ºÎèÿêþ¸J -á”8›¬}kÊ€žuŸÈ¨ÙðØºø7nê¶…Å]¡ù‹¢þÒ:ðú,!¬Ë¯ÏP\óoÀx($»]P¨ò¬+:ðjx¾VÿÔgF¨?;}Ëàÿà-ÎÛ±;ìÎü6]†¶Ö³“ÛÛŸ¿¶ü~ÞÏÃÞ@éÿÒžàçBÿ&ü¼o0Rð?cvèJÛß¡`¸&°{’ÁÞŠiÛ©GE`Ê7ÞëkôÎù\mÙ™jÁÞÅbå༆ãé¼ß›¢Ã¦Ó2_«³É k§ãËa¾€ ðÓÆ @&3‘߯îécÿ§ñz¡7ˆÃ9.ú?àGzËÑ|¼t"þæ[\Ï®ýÀ_oœ÷/`FX.6Ðùj»Þ€væš%ü)tÀâ°?Ÿ++Ï|f@òÙd5—ëF›Õr9Fê!{Š'ÞÏWy0%ˆ†”Â-›Ïkz ÊK}#[h0ëùæß‹ñõ2DP©ÅûTêû1B -·iyÀuV^öΉþ[øœïDZGk6†¯‘ËKm¼Vã;²ÛÁ€¢šP³Åÿ–Žçñš ~õ×cˆÎøÛYÜš žEõúXÐüÐÁ¿€8}s’ºA§§J•¤•Ó¥ÿ`µz?õÊ~žî¢¬ãÛË«ÊyE°M­Ð& ·V_6$\’t@€ä-ÒAø)5á)â¢A¹ìª³,²[¤c|d ,W;'nCa/r+J ºž˜]¬ìö‚µ_¼ì†9*eT¿_¼øë¬_Ñj¼p Ù'sîãdô±Ž^W{χh FÌĨ^®]¹½r|ßé‡ræßhñ+cŽ3-Áƒ³á€›aÄ +pUxhØ·¥9u¢3õ¢«ˆ#‘âY5\”¤:’’ì–•ØiÜÇÏ!” ¿  €~% -hUu-Õ -7› Œ†Š¶^8&»OB³Ùewp{ØëYg0]” –ͪé~9­Kqâ•jõ-[2<ÇöO2nMØÖˆm„ “+poÅ@%ˆ¤kÎ^$jypÕ@‰½“WÌé,ß¿On'}$AþZzÃÝ»s -¦yÿ˛ȟýþÔw»;{†fÌÀ>¡{hHE‡XÆUàìõëØbp>ñ%ˆU±»oGm3àgÃû›Po˜¥yôB ÎŒæ3Só™=ý(¡°^ÏÖ4¯1‰¤²¿žÏhÀ#^4Cö ÓzrRŸ|†¨M*3Ø+@lî3a7¦xã˜Úx>@õïæ³¿ß,H•f=™gëÍ:¾œqü·Í›õid¾Íp];K  ³e¸Ø÷Áo®ùýšãx ç$ްšÍ3ô`F19è\ÎÆ+ Z°å2RôJ[ø¿ÒV1N¦óõ’,çˆ#ãXäÕG7¢¹eóùíkf¤=QȼDˆèþËfö,RóáøD)‡–ïg¾ð´Ÿ;¦@¢;®ÇKJ®±ÅºJTâù€2la´û=lOPtJ4Șg¿9ïÚ²KÛ{¦€î¿' (¡Ö<ÿztQxÿ€vsP¹}Ù.€šxõá&sÊ`Ãm"@ö”Ý1¸2õC5J_Ô -…p ¿ºúÈSÍÉÏ!íOÏjÙ8ƒ àU+”‘À0]õ@¦NÏá-9Ïýj}â“”ËéìªW¤w³Ïl]£ýâ“}Òcò·kn)´}ŽIÙÐ-jÇe#šKÒò’žñš‡t…Óå¯EñD¸ï¦äðêì´Ô¿ŠÆ?Ñè;JР˜±¡v9Ê]Þ¯œg`ù‹ÃÄ Àï"tG?]Úžœ©Ö¾rx¢ò¯ôØ›ÈC"IËX•“ ôäOèã€ïè>ìBjçL@çÿûš)Ñòãí¤?M¨Â¾`ïdª&1ô††ôÃþd8ôµ)z Ü£º¡2Žê  GãF¾;Šg -Z Q«üÙ@Ôå ¯¯Yº¿<$¿ºÔ€Ý9ÿ¤N\1¬žJnzwÑêŸúŒ#YËüõ¨6ãïÀÝ‘ ÕŸ›ž9¾x¾{ €ŠVþó‹_ÜJû—Ž[ìFCéj:úèh€ë¤¼¥Ml-éZj¹7w¸ã³£„,ªÚ:F™[¶³´!€މ‹™Ÿ¥ñS5kšp‰f<”®Ñ²}ûn¢ùZ¼Ê-:úrÜï¹PK†½š}†Ÿ<4¢%— ¥tÏ+pë1š8:òtŠÀàj{#Ü@ìr3r~›úl¾žƒÂ«Õ\›9lÿo™­—êçÀå ýVç³÷׳k¿®‡. ~ZÚp¼°º¾ž-×ãåoó„'ÒÒ€èAGSmÀ°ƒÁ#Èq àlH²Ñ`ŒW˜YŒ=rf€…öÙùŠÃhÒ9¥ˆÕ VLHÒ,òoA¨B"ˆÜ°X\“%’O†àz½˜Q<²Ž°µZ,—×ëÅõrûIÁÿ9}U=ÚÃþ ¨Û¾ž!”@3ÆÓs -ù› øßædàëijéù7ëçQgwxSû¿þ@L[Í¿ûZ®ö-5à8¦Åªÿwð_.mð"ÂÉÒ:E´°.V.ó³X¬–$=rRÂ\o ï~ïÈDëî©ëÅz³¹Æw‚Ä€|PðöOõz³ -QPk&Oÿh.´” —Úåñ9¥n>¶+ç¬èŸþT¨þ¥½QñZóü+Ò1Àñu¶€ÝnáåÅ€Œ[äK=VA¬(ébå¾à‹Î…pó#b†©^èç—WœW(X ›ØÔõl§/ï=ô']C-“§ûH¾G¥@—ê,ŠH JôF#µÐCÎ(™Jus`B>p¤<µu”pÍrµò¥Œòî¡þøy|Ö€Š]·&´ѯr‰[ò€[± ÎIK¸Æï¹€Ý:7Éþ˜§Ï>É:»o8 0ÚÇíÏwOnÇ,ö€wuоX¿Bÿ­ oø>TK"o-‰ß‰êuH„ ¥²ŽÒZÌMGd2N‘ fSŽ–  (G¾ šÏW0ç^Í<Ö·éh>™Ž'C~†ÑÐ~½ÙÐÏpÃ@©wˆF ²oVKßσë÷¾- Î¾8…RøÖV l‹ÖÉA0víâÕ|³²<Ó¹“3ÙÉ€‚ÂÕrîÀœª³Š(Ï|²ÜŒÆ›åX®”#Äóˆúú`"2h:6Óž/ðPü”Ê"øðÂ3ïxéÊEspdüþ_×?m¹%ÿõÆ‘P2*0&»Òþ“5lcxHMxŠ”wÎÒ–Ž®€L T AÛoÄpüÛ «yÒJ;=øi*©á!½{w!;‚Ÿ…\Ÿ• -ôÖ’%]7G˜F®à•/‘ÚÙ1jˆ@»9€n·@ÖãRhsŽJSdîkyDà¿á5G˜øˆæûã% úxüW»§§?îcw¸úP -o¨-Ê`  ßÒ‚tg¡oXîôxOS.ÂbºÍléí3[×øÈ`húH:Ó'W¿Zû“rÅÒWgç2D¢—]Ò3>P9Bö®ö„ëºäpWÍ.á3•ž×:w¦Ã7WöþÍ£mß•™_¾Â) µV:ÎK Çû}‹Gê©&‰ÚW§˜cUéÌ¿Z¡[ê­¼îÍ2Ü­Ì™…[Q?r¾#“<àc€ÞÙÉtÃ^Mé<èpPMí,„þ‘3«4ô]¢e†‡üRõã`C€É®6sÐÅ?,ÅkKa1Gg e[ßÜ‹‹o«K\î(9I•D‹šÒ×¥NØ J Ê§®èÀ“ÜãÝE«w'téËüõH„ò/Ö+ÙÇ[D会pJ5¼@7 ÀÉÉž¾ÿxËÇýC{“÷,ÛŽ6]M‡ÿéxö,Ѭؾs%û™]% ì~éù¶ºR*ë(õû"@gØ7ìDg¶vðØÄõÓ -r1[¨Ð0³-Ñî}ô|É C€’.»Ú,}Ã:·æ|@ V-r@tt®©¤}"¡:´ešEýèÔ¢+ ;è€DàO¾¬øÖ ‹".pÂör¼@DYe _@”\(Lq-D“‹·´q×3A}2Dæþ×ëßjž?QÇ«¥8jQí.¹Fºh‰{6™¢“O¨TpQ&Û\zNÝä-õ ìˆdÚ&db†ø²Öâ«ÃaÇu&U£?@Ýiÿ=iMâ!Ñ(žÚN{; €vùØçi@G礱Xvs ãu Ç© ø4•áà‘ÐæÔ¨Âÿ—¸ÿùqìºö|AÏdd>¨Gí7yH2Ÿ;¸Å`À·€¨g4  ´Ýò@PÍH&(#2œ -EŸ.oúV¦3a?¡ý<è¿ Ã53<ÔCƒ ×ý§úóù®}HFdDþl¿Eòœ}öÙ?Ö9Üg×Z{í}$ªïÁZ\éDÀããå -9ßçlìŠ*öª†ë>Ä7 ¿ôÙYvëþ—Àùñá0wæÊÏYü -æÜ2_ t·½)6² ÌZ,O´¯ÿ½xòôâìèðäÜ·ƒžÛÐþ`¨€rÇ RÇÉ‘ÿ£SG b:PHqòÍÎÔç?JÖÜö—ùrÆÎ²Bv”»>5}!­òM}ŠRXQµæìre³—¬}e7Ì^)Ãà‹Tàât<…€z|øUΖß~œÈŠò¤½JWZö©¿ÅVLm“È߉€¯LkeqÈÆÄü¢îÝé¡ûôçÉàs - -Öì]ClÜw? Mѻ”½7¡Âªäé9œkX]ˆO{oéCß \/là|¿²D»@ãÖAߣ£úÈ,ÄÚ³ãÅd¼¢;¶› ÿXZÁU²îT¿÷÷°mœûí¨à´n×ö“ÃÊ“ Q&SP¸l*-”螘 øõ†P]+Õ¨V—a„á+ŽÂ 'ó—TöÔÂÏ3Ä`M×¼  ¾tÖYQŠç¹@÷wÀÖ`pP>pó\Ðß@dËúÞFé¯ × Ãùˆ-bÀ9a{½\mëPÍ @ò똹|:eÄO‘É Ü«ëI#ö V€`+Д’Âk‡»ó%²fðPDиîsˆîk$šqÚ¦:>ßád2Eu(èœOF@G&X ®n»éƒÄ#Øa \Y‹B©+žuìtzIhþ ~æ -œ/º‚Dø–kß°׫‰«÷¢ÊGß–m9ÍîÏLÖ¡hôdùB5,—«ù9ÜZœ# 1‡Žän-Žì“r!<“Ú sЋѶ¥è2ž ¯#µÀu‰¶•Ðm³OzS&”`2…­…ø:edb Jr-‘ËNØ^6©ÓÛ&Öø±Ç%6$©pð SùRQ•“ì d Ÿt•À$áŽÃ9BÄwNà«@oöœ«Ü¦0èM2>ßí/ÅÖÍIfK&“;u’_Ç=ú`|ì–ò”Ó—Ð鍨'Òé éçpÿÀa€²@ô@¾„L«€o“Ä~‚Îb^}ÆöËmø _Ù" KÚRxæšòƒv6u/ÜhoGòzäy €×oÃ2«¤PÕm“BÞKbBˆjx¾ÍV¿ÜϺ’ÈØj~.ÍØûÒU×¢­Ð;·ûÛngÜÙΠÓï,·n;ÔÍWøßZxà¿¿º¾ñíšÍ#þâ^Øú-i0ö¦Q®¾ À®Úñ´5ý츛$À'³±^C˜ÍþùªÐYö„$N¢µFýuÊp̦î±Ãû44Ñ©p6E;´h1oÇ]Tô¬‘ÈXwn û 6Y‚%\%t *‡vŽàeÉTø¢ -[€–ï¡núà=Jób©|â+y ˆ à(Òkuh„píI½è†÷ |ž#Qí´¶Šì¸/Š Î jçæ¥6¹¶udtáÒÆ‘f ŸL. ù1­|õB”‰¦ -: ðDsaÖ-Âûïx<‰våàù ®#ò³Ùè¾RXÝ‹þýƳ`¿¸¿…ÿNÓ¿‰.[Lz½‡‚5álD7NC—,…ˆ s¯ý4§‚bcG[ø™¢ê5º¥ü’;gÉa éžc„ ¿«EP¸÷v®¶´*»zjt5óÓëì“êH}ünûáÝ?÷Σ¿Á -°gˆ@3š-† + „vµcRDB××ø¢À›`©@Í›Å1™™ñ¢ªÍXñú6· aš¨jÃAÉ4ßAC=ÉUAŽò2Z/–'†ãÙ„Jgˬ -($Ã`¸…\OYÁ«‚X™ÌÌ)ô.fÅõš3|ÍB2ÇaàUq"5ATIÌ/V«ÄwàE)ìtè?E„¾¸>„±ô†tÒ6—ˆ@^Ã(ïà¶z,ǹC^Ÿ@¿—`Þ{ݸ¶âÙ®ïÏ>0•9¡&¸!üØž -ûKPÐ.½k—> -‹—,ÆØ|^°DJÕˆ ÈBAX}zâ?ß=­ûæO¹´÷ÈRSx}Rýß»&Fa;àžÄé:Ú™:ùpìª{UÐ Ô0š¶Q¢@ì4@Ú<ˆ¾Ïÿ¼ƒ}¾wváà¿§Pܬù6 ¤@…àé³gOy®Ï?¥[pL@ €3 2ÞpjÊ‹óÓCº›¡ÃÇg§g‘‡±Q(N8<<¡¨ ÈIºt}åµd×.³¾éí3[×ø¢@N'˜˜ô˜üìš[ m›}Jn©©ã„LaFkñtNiL’äà:ò‘GPävTÈVŽEå¼}| RNÂéÙç”±wR¾×JŠV€Ô¥N:1J¾IjÛ!øœÛ©¼ÇÀ£€Ý,€8v>Üè ×²ùÒaÔ6«ˆ~d¨ôh€þ"ø¯úÔ(9êÛ}|á12Ôá>ùßVokD(íg°à¥éF+@38ß})*êC -*Îî£{B¥«À"5Dx°¬3Õlr?eˆhºÜ,ôW!¬p;ÞpÜ9[^ŒA~ï¼>í4Þè‚ 8ìLã8qÚR@Ê¢2¥x›Ï|±ÏB)`â”ýBCrŒ~©`¶¸oYz -¶º(ŒÈÈ.¤+L‚<Ž]mp‘‚<î|²âƒ››µX9H1)ˆÏ©†þí2}u¼; ;‚dSAæI<Í©  Â’Q‘-äB™&\×∠ɤâ„»ÌÕ>ãÈ õyÕü -ûÛ·¨,; Ñ{ZãM>À ðšÆÚatQ|bPM3-"LTiú×þø$p™ôàÛà?¡Òøî.å>ÇgˆFfY}~Õnrý<"@_ZQ—~R>R@÷¹lÈ:ûo<½¬ÿ—PÛ šè Y$+Ãz`Ê‹pÂc­.ðäÙ³'çÇÓ³'O« rÓû‡§<ÿ'§\tº‚“ÓS\8†«pzz(qz”—*¸@›ˆpqŽG>¿ê8«7Ì–NìõW¬ž¶JHaEëÐän+W0>ä¹:ÏA1ð2²Ó¶‡MR|‚JéJðŒ”¨É† Hºå:YÝT×ïi6®HYãÎk‹ CJdIðÖ; mÖôJñ–PØV1ùÞ@]up EÙ—ýŸn¯¾;BÜX¡N &1úkIÕ˜ :Ì«ú¤ J/$RéÈ=ŠÄx0§ÒJIßïêëh8´zƒæéÈ~p§ßã‚oucè¡9G9ƒw”H:&zà,y}#íÅQìƒ[ÄEX"EGVï^J‘Э5¦ô(ÜàTA„šì*é0‡qAX>à̤æFß¹¿‰Hß -‡– -C -äÀÑ ìpSnõHÌuh`!äI«N¹•„Ë÷Qõ)B @Ⱦ¬`ØCû× pÿ]°’tÔs ~ï}Er·>䵿dÐLߺàn@õ5{ m²²˜9€ï~w«kID¤ºL¯Â€Ÿ‹67[Ê ~O¬ãþ§”@P7s€g®“éjôÎøŸ—è²"È©ÜT—0MãUáoO^I´Ñ[¹©iÀδꈣÑa—4N€Er­=4]ü ×ËèðU7œºPÀl6÷=X.`$\æºÔê½ Ò¿sÿƒ "âD1ª²Ç3˜%Dà<‹Æ›_·@ž9N ò|ïωœº0FÊQˆCÚœÏÀ­;J“^ ?W®Ò@‘£Ñ|šH¤)G1fÜ3¸¾ï(·Ñ¯,ŽÑÿ¹Í÷]‘!ë*äR¼dÙçÂöG÷/€˜ŽZ¯…þÊGr)M‰¿£›£k}¾¯ ýR³¡š`.ÈjÊßvgÛ´ ¢Ò_û¹÷}¥Š»Í ûˆäõ«¯¤@˜TÛíÙüo ÂŒÎs°²o-ÇÇJ¸æç÷À ëì| -øéøÈ&—p5p?ŠáŽ,::~Eàñ-ç±<¹ c8{ü$€þ݃£%ÿ“Xú‡'Ô®ïÁE&Dš9½OÎ;îpëƒEy毧·-F‰W‚`C®—Zø™¨ÓÐZ Ý6û”lÊ–µŽ2E²W|221/¥ê_ ÐÓ¦ò–%Eu¹«,÷¦Î&§’€+( €ñ]Ê}J†Ü¨ø'I鈴¬ÎØoP”ãaÎÉTX–fÉÔdm|yT»îW7“uKÂ7Ñ{» -z’ö=È¡1½Þ -Ís@_@/3ö‡}_èœa˜%pØŠ·ìBGN8"Úÿ¦§¯é© ^Cd‰q{Ô3±ÅуQ-X©k ·W ì§fÑÝ •&i -bw‹Þ޳„#TÃ;ýaT¶9ë° >ò4a5Ë¥P™ý%à.!p%›9¼™šã‰°¸ª8®!ÜqDh‹î5*Ôýl‡^z`…ÕÊtÙÀÓ[ÚöÊ /™`‡îuôÚYR˜}!À3Àž@z[5$¨áÿ÷[òí!ž,yŒÓÁªð§Itßö¶—)õ@f¿žÀœ€ÆË|$S€I“M½øÆIsB”гa—sWã”6ËBü¦²çÀ:pŸvàúÀb¥èØï‡ùºmÜTöü/ÄšÞµûþð¡r>!lM¦G.¹£Ÿßxéê;ÎÔGH5Ñö•ìþV³q]Ü! Ë q2í¥©uK¹b‡¥{/¸&RûÈ6ðPkæóÚUÖ'sØ‚«9±F;VŸdúL›Ø¢ƒ@YàÒ¶4Î͘ÎgSYÎýT”¡6s$f“ƒáÆrÁa-wTZÞÜ®ÉDò:ݨT¿ƒÿ»â²¦¦«ÐzûîΠ)\ëº5ä/øoÔ|2’üï,¶Wâ¶hÿâ'Ê¿€åî( ßá´P]¨·L~ߧÃ쒖MXVKöÈÃû—ö~£NGè>; €Û¬н P€üyד׮Äü;µïä,^Ae8Ahyòô±€Ú}çðQ,'gO.Nކ±\ œž?y|Ž42ä>Ty\N/ž}rqzT÷,ÆÑ¥îýu”5ÅøÙ™ŠMW-•ª…=4Um¶”Š’(‡†’±N»ÙKÖ>‰øv§®!zÖ¶µÞB\+O¶Ä\SB²…ÈÕ ±$3i -HÐm·i ‹ ÿFݪ—¥êäaƒ†:P›$RS²gÉÖÊ1˜ïMT÷Âr”möŠß¹bÿ²Ú ý© eÿÒs c™Ú€¶(Â¥»ƒ{„cn¹Õブô=jÔš/´?*)»Ý72d MW¤<‹CƒÞä¿­HQ€wQ€ZÃZÀø¢r+)ì[ÔûÑóÏN@ž iYÔ驃œZÒ54dü]ñ@äµÛ´@ ŽÂ_#©zä÷ûGFX`,?Yj€œS,@ðæ”À9çd£è›‹â‰àÎrºªi”µò¨!žÈ[mÒû.€½Yæì÷âÂó©ûûð_±ÄŸ>“nºIýŽÔ^xP=ãz´öâð*%]n Ð }…@?ÂêØë%À#Íì`0%ð ]ÎÊO—è«NøWå4 D‰†4ßá|:U8@eW²u»ó·ù|îi¶þKƒÑÁ´Í ­O¦\à°ýçøeBz0,òŽäÕxµ˜ñÀýëæ-„J¯ª’…æŠ-„Ò(ÝÍ@ˆ¢)^VJ>ÎHh†®Ó˜Él¾\Žx‡Gò‚àÂ#;Çtî‚=en†.MŽŸ-ÝÖÂbÑ|®.#¨Ê+-QÿFçãI‚€ 3᚟¢szµ¬‹kî¥åÊâPCýüigyÕîåOá?:,migH ôÚ+fв4Š­fçÖRʰõ¿üIêÿ—¨aç>yÿ•YEÐ-€Å÷èÉœ%Ñ=?-ûÕ}QCý-E]‘½­ U^:> ÖßD^¿×JåqýßRJKyöЀg'‡GçÏb`sl—}p0|XMþg µ@çOžœ?<†áFG‡GZ?<:é0nS—ùŸŒô l‰úÇ€;¢È ëñd±ôu€ÚEÂzÆäk=ßqMüÄ5tЫ#¶¬ïäš`:’AIœöuèá}kŽÔÖ'YÑP¨¶ÚÕdåRE½ÐïO·ƒw†ÓÙì>ÒOö -œpÛŸÑ8Õÿyi¼ãÙpäúÂrEy%-qo8\SÉz6—ë¥sþ¹«ÿ‡9®j1X; Àn€Ón%À {Ó‡;Åu gy¡Ö¢jŸò²¸ø®ðôÙ“³££³'O{7ú*üÀÓ‹“ãfP ÓÅÓb¢´úøÙ'OÈë¢ÜçÞíïÒÉêù ®Ûj°7°OHÏ îd|x= »dÎ&Ñ’¡N‘ÜmåªƇì±ì­‡8Dœ•ÖΔÕ©›ÈÛR‰»„ÙßúÎuøßQo" Ò{–`â(@08F€`'î¹WÏW½¦Ž×$s@BJ¾$ì[Btw1ÿ-êBj¼‘Ê€ý¦€nðosgˆêM¡ o®¨, -¨çpEX #÷œŠÜqÐ „âp€êS¼I.ù(ÀÞmd‘ÊY—ÖÓv¯XGŒÒù/h.ú#íï[|‡Ÿ¦”ܽÎàðÞÝÈnæÈ£Ls1œIi=ù—)õ¼ÜP"@3Üh ˜¥ö†“,pÇ{UR€ç¾»öþf©²l™ã‰Ì|L¼‡=­åÀ ­v:žróÀ&Ø®uX-òOõO‘|<Í”2lèlm¢àd³`3‹e{¾-],w¥á¾2IÐБ €+XúWãå-z2!Ýj¾¼?º¿YÏ\¤P‘€JÔÉøþÌ7çJzÜrW†A¼h׿´¼ š³ƒG”zk—àÚ¹ecÅÿáÒ¦Ï5ÛkôFóÕ@†bÀçv‰är1žÏœÐhù}¯Á%Š]™8W4A6ÈU!l€¨®c¶è„ƒý×þ;·OHo¸ß}@ñœvx€¶B¢UE&¥-_ã @ôù+s‚ÀÂHPý¥‚QÕA°ÀðŠˆâ(v°ãuHºÞ;öªÖ} À; åD{ V € š »}Tw -e ›¤qÉ À›»I £*}o¡þo-zߥH®'ÙàÏ#nXó8²¸”ç&VŒp§ôÑß àûŠàöM®T·H€ u¶u”ȲµP“qýkl'âÿyŒ¾Þ?dßüG7‹‰T ]M£zô2PO°_ÚJò¿}÷•€¢üÁ׸ `4ïD€¬`(4_l@Ý•/ÃW -˜‘Æh6Ë 0;^l–“)(†Î}ç/à4ÒÁ ðän©QëÈfÉ­ã¦ùרìC·‡cÞDm°UB(å 1(œÍ'G+íý›¼/:»¯Ññ׫Õj¾X®Æ3_ù'¬Îä>ÌÉ`¬Ùe6Y‘œý‰aµ}7\°ðë‚Wî#¸\À.e,׫Ñęʾ6˜¢ú:Åá@ËàÍÝôç¸ïì~/Äyüx‚Ç<¯4’´^Dƒ•« Þ2‹ÏN)„ýR&fcJ_+ip3½Lä° Îr±^ŒG÷ý›ôlP2(è—¬: z™€ø«€ƒïÓꂼ; €V©›}L¾„çû>\`"Lܽƒï§œæç²÷áåõ•€˜ôyÊ1Þƒ+ Ç ûŽd9 îíân"Z! >; €_ÜX´Ä†/AZÜoÛ­ ±ᤠ;–«“že§tJ±¢@OžK02ð?ÎÔá®'³çèþ^$òÃí_ø¿¾?Zn¼Ñ§%ï[‘Ú-3âÈ'®ük -™ tUà¥ãÊ‚ò[7s:MÇ ' ‡Šu"î¶E[9íÉf4^;ZÁ½¢zC.äÞÚßMžóÇ(ÂŒ•´l,Ñÿ׋Ù;‹Íšû¬û€¬4 À›?º*蘗¯Ÿý‰â¥xsÜùЬcš-²¿d¨Y{ë$kZ[Ky™àûßç<øo­; -6_&PtëPcgÇ!0Š@KX&xü ¹\û‰yÀùtÂ~GMu‡(À7çfj*}K-OÅ€MŽÝ= ^åùΠm­Å[ÜhÐ’þòô—OÎŽO/ž"¥Ç -B@ì :RuP@bȦ¤p†Tqúô“ß:|0¼§@ó Heá}/Ú vaá§A¸j[4Èïª ÉDØŠNþê€×¤â†â†²­òö~l«2Cm›kLÖ$—bGÑ\zÑwnõŠõüZ):ÿKnSwHGº¸Ñ…j!e¨râ¥Ô•ïVVä'-ìfõ{11‚ÏZ4tJZ”`«ý _Ëÿ®^‹È=¼íYl¼ÁÐõØüRµ€¨÷Ͱï @¤ÎìYº!€k|†ÆPÃ%7¦ó -ÉV€É¸q±ô&<9aVŒkTuI0DB¹Ø<ð2 @€=‹Õ…ÛüﯠÆU À± Ð}‰ôt°O @ƒeE]UšÄ;Áƒï—Ájù´|¿^¬@zÕ= @+ -Jß½£tà­'~…@*@8tÅ -æMÖ™_7Y®gN¨;Ù8AÞ€ÙÔ¥@él:#³¼ ÐG!výšÇ\Ñ@|t}þ0¥Iþ'¡sBË`ÇdË1]„W|ߨ4ñ#Tè °ßØj`á[ùçë5ÌÁc~&e·˜…k4hß¾ŒÂ5’鸜Õf1Z€ÂŽÁ;0qÙ -®bù•@×%¡9ÂÇbF¯Æèäº佄°œ«…q§*Èãû\ÏŒfU€ƒcÅa›/ÍÅÁDP€!#ÞpN çó•/X¢4¹Vx!Õfµ¹×\µ6Å…ÔWðtÝ#Z™Sý]ònö‚ۨ߶mpÏÐ{¹Gø2žßä äG¶XjÀaŸî~ß"|ºßÁ]]ø÷?®ë#Þëݹ?”%³Ë / ˜¤KŠþJ_KÝØ€è¼ý\¶ì­8wT!áº}k7<¼W€­@èÒІž>}蟺 ôôâ,ãý3æ¿Î€z^n¸}Ù /èrŠä‘_¶‘; . ×[ög4€ò&ð–6êîf8ª é‘p/Z¸%/Ú4þÕ·YøEír1@ú º½ïû¹ÛàÿTëf‘«Ÿå_¬jð¯øÐ:Zí ‰*Òá+:ù21#àÔ‰×ÎÙËÍf  ®'®¦ v‚üd²&óÕd¶BI]Œ×ëù| -M§ÐŒ(hÌöˆF£;0ãf9£–9ãÞ¤qT°ê²[ÉâþÒW9| j ÝóÙFŒŒÄ©PºB§÷¼B‰<Ž}0¢Ëì9\s -B f4§ÏÖ •X*"—™c; ZŠLx|¡1'äÄÎ(qäuþdC°pöMJ€*ïs}¬( €“n]±XBÐÓö•Î#Œçz8r¿ëš\Äl±˜L¦Ï)}ʵn„©Ùιh½[6‘ÌH¼!PàŸĬ†¯E®]mÂÉ€.ÕÇGýn Ò#WÒh"“~ƒw¤0EŽÒBýy¦,&|Q¸›7û5>v´Eþî©ø×@“\53cNt¯á‚©²@?0¢Å_Ù·b]S§£nÈžì­àå†Äûn»GhÔ{Å´¦´|5ÜÓ ñŸüë“g§GÃ㋈Ožœ9ÞO1½ƒXÿŸœò$=D8?=?ò´ÖÐöŸ.E‘âüâ“ß>þ0Þ†äæ¾iðž¿‚:4W£Õ&ôâ,€ S³ädêªÄràén›½)*¥¡W›Ô±ƒ$öÛð˨ÒYq•!Ud˜p[¼µØVÙ6PQ^D‚µ‘ÌÖ‚!¾%ÊÛa€S|sí>»ö÷—¢o‰~¯|-¥ü*œr,Ù®ðe4µ£Œ.‘Ñÿé,• -8 ?Á°[sÑàÃΫ W°‚Wø¤~}-‚j‚Âk Sök}vN€ˆJjΔª€šÜ/ùy¥kf4¹ô BŒ¬qKÂÝÎÀó¯²ð »gà·õ¸ü.®áºYÔDAt÷×ÙþR7{]oð_Ènðà`ÏÀ@¡í4@³”@«IçºgH„¯Ñßnø5,…¢›#AMì”.YT¢7¿^¯WàTñD{u|ZDžÏÖ³Ñb9‰7ît4w‘S×ÌA—\I°ÑdÚøØ¸ÝÒWÎ&Ž$6Ò­m2] øãÅúÁr0B‡11Ÿãµsú8ëyÐq”×ãêˆ.m.”}Ò-7¿Þ<_-gŵ"À\ýÚTb¹v‹¸Ûïa3j©7<Œ霿pøaÁ¡Ÿªâ»&‘*>Ê÷!ˆKTZ¬×³œváAÎÕ=NtÜ¡%Ýy«‡°^S_ b!ÖÜkØ*^, ôãµV/nÅ×ËÙPS×MkáÄÿË­,ë¨÷G "ê|³Ä@@S)ßR“Üäà@Z)áfþß¼€”¸àåðÑÚ'Nj€ ~õÝ!>Ák‡.Ïðñˆ Fü·ø¾'´ク'MŽÊ°>; €Ûí:Áø|*TÄÞ`;tÀ»`¹¡V`3'×Zòµèè#cœ×ˆÀÓóã£aÕpäûj8×pxüpkp€K€“£“§Ï>¹x¨0, @ @¤®Wp*c+¾`($ë‚„ƒÃÙï&Ñ Ö¡ÉÝV®:a|ÈsuÞ¯¢”%›)h[s׎êSÇf)r_ñ -Þ[l…j_” ³®Ž)â¾ó;Þ–œïò5! v‰ª<žJ¨¢ºRn"“˜%[÷âîKåA[)Hk'é ©àŸŸN`%È¢ŠiÚê º(·Õ÷R¢Ë%›èýWó`·g0I³¼Ê@#ˆÚ,Æ=,X |àîÁîÔXœYâಀX¯£ÊàpN—äÒ:òÑ|öfp‡÷ÖàÆ½h8àrPö‰Gß!¾gÇöŽü|°·ux5]`á_Y@g·`ëVÿv­}k?®´ýíêHj(òõ$fî‰ûF€€ðh ”¢sÎV(µ+ IS»'ĵîår²\Œ–«åh…&+þ7$EyüPgæŒÜOgc=WhšQ€È ÿ• ø?h1hÁÅé„*©v½™ ‡Ga/ìrk -×"ÏÑJëül!˜»P,QrÉx=ÛüúƒOø1Ú9®9Aƈ-³Õrµ=x°GÑH” ×÷á{ጿþX7ä‘…ºŸ‚F¶“Ùx_ŽÒp€€@4\#/L,g÷7¾a€öÊ3Ë-í Î|`nÝôǃát¹˜¯´sPg œ¹úÍfñœ‹™ôG“•/3V4Ñï6­‡ÿe9Ú,VºÊ,;--IŠ÷)†ý­À{ñxk¸´@Yl?¯= `o€HiuiæP,zêôwϘ=ê}?M?Yå¦vÔ©Ý&è|š Ä€L¸ËS‡ÿD‰ófô¨€Ê‘[DÖ8Ûiðb·Ô  ÷K@ØT¡eL€Ø¦0Jó­à ¾›§ç‡'gñxúTs¿õŽj-`_ ÀÁðXÕÉÁ•IóãÀ'ÏŸ”  ÞØîìË©ƒ!‚¾+¡kf˜¬YŒ ö›0@\%Ô6{S$cËZÇ ™‚Ì©%eyª…^N&K6© †êDí-« vñûßœÙBDzÔŽ (üøéÈTLjÍaå™ð‘_åwW¿* ‘¯A&´Ž8¾„D$¾t–ô¤ý‘óabôༀøJ“Ti ˜´97íwx …äu| -åö,Qï›l÷dàü¦°ðxÉ ¶>{cÞ"ãk®@N 8“Çêþt¬QÕ5Àõ€›f8ªRÀŽœ±7 €ò›À[u0\g ¢ËSžtþøÃXµD™üÛÛº‰útp÷L×càßßÙ)=ÁéþJ€É·gÈJ€Þ ÛÒ-{ùtñÑÂB$“ò7_K‹û= X|aFç—ëÿã×jÒëÙp þ‰›±@HFõGãÕr9wb| _èÌïG÷— - «ø`Y·Î«þ†#þ/ à_P3ç;šj8X/|°Y£ä#é‚” -ÁHAßYð®õ³ž€d1ÙAqHô¤¦Õú׿^üáz= ÐʶnQ`;bËýõE;ª¿6x¹wƒñr9Œãå"e»`ψ èÿ6 D R¯F}€ºo‹õ‚¨w>~d -H„Z.¼Üß! É1Ä;ƒá|<ðFZ¢¶\pØøõ´Ÿ,§ý)÷QýÖ´ö§bnóh¶r±À WþGMû÷ØÆ´%šÃÖÙP˜Ú·(…ÒTÊ`s|™D¸Yíù$_Z©D˜(³%»d³Ü£X*g°¿Hh.8OˆÍ¾ß|¶€¬Ð ÀÞ€€Ÿw˜ÅØm9Úß—Œn -{)Ù—Öð’Ü·ýø7êÞ;x;ÈbâI"%£²Ÿ¢ÿ¡'hýÃ#}.žøbWós& þä"°uÛ,€ ÛÜYâ  ì¹Æ×^ ßÿŸˆCÔÙúìfl× Ò[þr|ÙÀ áInª#­Zx˜u´¿ÑÊÊ3+r@H¿£‚ú4=èó: @׫ҾÜÙ—«µuô]»^©Ûwé_ê€Î´ß@Fq)ÑZÕñlýëÍ tíÉбj±v¬Ujôçå °t¼\¬³¤£Ùøþx6|g<LæÓxÙÍ@® ÿÿS7ùaoi€ÃáØ—÷?p*Þ J?Ø,דLੌœü'qÞÀ¸D°\‘Ú!òñd±qÒßx¹ú5ŠòŽûृp½U¤ðR‘a1¸ºg(-¯a)náÀ`5C@XPx$“ÅzùÁ~œ8_M´d}À>7kœÑû‹5RÂB @¿îCæ¹ ´´Èç':¸ ûŸ£%\xÄ­ár¶ù–‰íÏ〠AÉKç8Èêl¾X zêòÇp`ÓØ\*AkNm-µ ŽëPˆKSá×Y\7ð€W|á]%}–° ↚R2nG:8ö•¯"@BMïÏ'!(h~ÉP e•€$° …š*Æ÷4¨?¬wìíÛÏH íùµâ¬È:<äçgxM}Z<ÞÁðÞ=æýù –Ñ,G)LE^õz,À£Þ»ÀÓg¾ XqB@ ÝxOÜá1݆ø¯ ¦î$‚Ož=»8µªæðÚ€Œ@e(°xù,~&Ò@&¸Jè ̈ü -sŒ©ã„L‘ìßN½ª?X¾YÎæhñ›9 /›ÚÞMlQ&*ü½0 ÀO³`á÷* @B v!S˜ÑZRÖR+X4ï‚!öVWQ–½=‘ZÛ‰Ó•O¾] ¡–¢Ñ a?v›²†sü èW¿ûÕ¯~õÇ?&¯$olvI¬ý(©1òÆÜô‡¾·´ÿ¿ê:¤¥0¥ÎìY^æ@÷’@œ¥-mÀU @ªº$xþ -(`GÞº2 àv,θÎÐèòDÀ_ø× p7 °€ß¡YT¤¢S=€Žª.œ¨ÿó¨ïû¤Wõï7üöÛ½K@| -ÒÓßEåó7•”¿úZcµ4_€HÒ#¢;#Xî¬~½Vï]¹¤ÎlŽz.þsvÍN™ h8Ÿ¯]¼ž8güOFGfýá¸ß'¡å9¢°­ï;‘…û¤àO=\…±uPzEÄröàÁƒû€mßé{S@/u­Bkm°¶FöX‘|@'Üdõ_X ˆLýìÞ+È‹ÝéÖðªwëut@Y®óð[€ò¸: €2-àz @@íª@Ùÿ}ö· ÑK¢—¥o¶“l] Š½™2}›ø¿oФjG]²€+¦]´O:x_Èž!_ð®~IË ²ø~¹è¸€`U)—³Ÿ›`…ê½Øüz3^ìà8˜¥Ê¬S`M¶C´GË«®Aµ…h®(ئɓ‘´¨žn4\—ìèÐø€¸6sÈFñÛÀÚz±Ü4—×°¸!£hnPYÌÕÊÒ´Ø>ýyÆê¨«f_¤T¡P!_ù†¿K€F7Y¶>]R•ñˆ нKEtÔ䀌G@tu4 -;? -89=”ói»Ý§¾ÛOYxî¸KMiÂu„€ ¿ÏµÓ ÿu8:n‚Яž lBD…»×óèf E»³ìûl‡ÌriÀµ€Ü•ÁàÒ²¾<òÍYöŽ<€±(l-bÿYLÿôl1Ó]¦U§ª¥s½ìø–èrtÁšJ‹¨ð - €v,.[Žæqtw¨|9™ÏW›Û<_>_¯&ÃÙfÞp*Kê¯\‰ÆAi }€z D­ç£õb®Ç4Žv>ó¥þC0ôRÅO €û¬m©þï9°?êû®!˜›É|¸é\‡2<™£§ƒy³•NËçºÀ–šÜUÜW.ë»YmœÔ—«ù—›[ÿzµÙÌGC~®³Â2’ÂÆ×ðÁõd9¿³AyŸ?XÏUܹü r_¡¶–„Ãøx¾/½ØlнóV¥€åœ„3¤ÙFÈ„½Åð=s‰@A;ƒcnÇŠV–±Ú“K̹a+®Æ›½žé‰(4YÿúƒÑ£þz»Ê_+§¬GT;ãÏf÷Gÿ¼Ys‘ ¸f¯2•ð/þÏf uû@Mï§ULƒÆï5+FP(¥ýð°_±åf´+.Ô|Rt𿓘ÊVKù >®hRÑW¡ä/êÀ¾)ûî»ëb"$” `gnÊÔTþNß϶¾í7<¸;Œa§Û•X?e€øG(Uàèøü±G;€^g8¥§ nX‡ôÎ8žä.h0ëÙÉÑñãß>;oþ’²´ûZ@šÅæ×µdc¼›D7J†:Er·•«N_T~+ê 9[7è"[%û‘ÛT»H7­ sö(g’¬%q#m£wQ߈Þ{ïwàF  %ý[‘P¿@³ˆq/õC¯õ žWY.ùì,)µ€ò¸: RÀ_ã]ñ@ÔájËàÊ,2ðÀÞ`8°nè_Pý×þ·À&+®©í9‹ýSñ ÿŸ><&¼·€=ªøßù ¶ÕUd·ÍWÂÁyÀÓ¿¤Æº þ+,PÛ3ìßl£Hhžs1wõk‘pµ^Ù?—TôAÁJ&ù‚§ ΗkTìdÚdzÅèñzþ;ýhÆ <0·™ ×ãwDt~p¯?ZŒòÒýÙ0½ÝøÁbóÏ`ëd8˜QùjX#Ì7ÚV(ä õàõB&9'¬‚·ˆóÕ|õëõs!v£ØBV=úÁR”깆]àÚS”1Yo–ó¹k/¬ïp“I|0¤ß,G¿^ol6^±oܾ¾GX,Ø Œß_ÌH³X8÷é N¹ÁãÙh‰à%§…ܟ͉pÀrI­£)Õ Á*Ú å#t­ã 0!h‰DC•1uŒGëßXÿjåB†.Y4@¦ý•Uî/·øß‰–!Ñ y Z·›Š¥í[4ã_; <“µD€í»ïhïq'Hûôgy‚âNŒv+¥Ä‘¿¾–Aá`r÷ñ ½Ü€@Òñ»Æ G€V\HÁÙ>:{ÓÝ…ðηì¶Áí·Nôâ þkHôUÿ#ð‰à4€È]ìßµ€•raZPù«¿àzz\ÊÿÙi,ÝB@Ú¸Þó‹‡GÇOž!pJ.òôF“kP ð÷Šuèè: €"€§»möf¨Œ•µŽ2E²çÀߎ®±;¼¦ì.Š}‚ûI o™Þ?шËJüöÔ~øÛÑ»ï¿_ÀnZº¿!iسüýߢ)µ³PÃ%€¨ÞÂñM€ðL‰ -Vî8"ô* ÀM>ûë\ð - @¼!äŽJýwNÏñ÷ÿJ±DØvÓ ¾¾Ç<äÀÿ™rŠÅÛir¥ÌC´Xw/y¢ ùßÖåËŽø-d€·^>  D ý5ªîV‚¤&Ó Úí|>­'°H$-ÑK¥ÍlÒ®6³û±™¸ñXHÖ…ÞWùÝ¿?žº€EOhKÙóå§ãáf9ÔãoìB¹:îõ}9žC÷]ˆ´öáÄ¥´á@!ôw»šL×®þ¿ž­uËÛ¨§ð‚Z¾.³dµVŠ5¥ÃõDY@ÆIÅI- @ûÝ : tlÖúÚ ©‚ø¥ëðŒ$˜9‹Ùüß&£ß|º\lHÇ=Ia0éÄå,}CÀf1R\•)‘'ÄYsÄ u{Þ×Iýi'R|»¾ÿzñO)H·ÿ5rÙH…¬3Ãæz³As¢X fÚ-dA®×K -ÔnQtÿ>rA0·>­iA‰¯ö,m+ÍÀãk}ÈlÁìK€¾·@`ÀßÂh¤ÄɃ9vC`´•j›¸WþoW©°?7¯òu`nñ¤7‹[å_ø·vçÄêý]¬/œ¯@€¿·ßí ªU玶ò"LD¬hø¯ð§'xòäéùÉáÖp¤öïï°fÐaœÓ-gÀÙ‰ïl@Š¡Àó§Ï¸ôó§ÏÊàË›àí×þ@é9ìL¯³€uœí‚„Mez7Œn”D94Ôájn…Dÿ5èšrº(+lÁË´­<ûÝ+¼ îSxßH ]“úMègï½ÿ^ ÿÿø§ RG-ÑߘDÂf\EÌWú|ëw¼Êàê»/"S?û†÷MíVi¿jà¨âà’ðúïHI`‚J^œ@™pÃ,€ ÿÁ i èvþ» £‚ºàß¹é0p|òÐïñÙ‰LJû 4Hö)àò€ÆÿÌŒVúnðÿ%MÜêDwúºÕ@@‰Ü)þ¬C~]±g8Dù ý:ÚÐ-V@«š¿à¹Y£B#Œ–€ŠÓ ÚÆÂ-QñÇBóhŠþëéx¶µ&¾gO™`ÒÇqpD‘kíú‹O'Ó_ÏÇè´‘÷O3%iÁ:³9Œ¯—Ÿ´¨Sa3\*Ï5®‚kGòŸ»Z/ Ð`ú9ê»\/©Ä×¢JƒÔâ82Ä"Z8ïq1ÿt6Þüµ)B¬(©a4C‚¡%\¯]øß(o>^/׋³Q$Oi-YøÄDŠFï‡18ä|žBÚ-•Ôdâx0˜p‰+ ±ØG¸i\sOµÇX)\gJäHSÌ}È ]6 …:=¿á¿Gößpi%@c®÷ø¾nf -`Ï  6$k5P…Ôë-Bt¯w—¯kçFžè¾ILlC?Ò/÷¨Y¡ýu*æðx7pKÝ9N5{€HZ˜ÍïX|o8_ n¿u‚],TÈßÊÚþ?vàßy€Ñ o-åþâìäˆÿj €Áų‹³’N´óÙ''ÇOž<¤t%n¢€ºç¯IŠ—|^ï]ÿÌø6ÔU¸Wñ%rpWWؽ)ÙÓ»ï½×Yô@ØÚZŠ¿Ù/¾¡€ø(@öí¦Õ…×§(ò×úìÎîù ³ö}8"qÎ_µìÏ0Ñ·z@ƒ[ xþêw\oÈmyÁpöÑùG” ø­Ê \Ûuùx×7ÓßC=óßê,>j…ÿW-⿦[ö1Ø©Ó×˯'Àðª0ïVl€Êå¸÷}ö"vjNŽ3娾é(¼„¯€«ÑüAVûA©/ÁüQ„}@xæÌ5àv3›80ïÊñ–ù—Œ×™P?VÝÕ¦ÿiýéf¼^¡Y¸àfREEH{ÿþìþâ¸=W$ º‡kslÉAv¯ýµÔ²>ŽEÝ]Ú¥Œõ«yýùxŒ -³»¨º™¬fÿsèÍröÞ`±Y9T°Xn~³Ù _|:\}ºF*x Œ0ãÑŠMˆ ¤]Øi$<üä£.F[M‹rHÄÆ8з¼XæÒ•J´p£—p½™~­àr1ëõj4×÷ùI0W8 -BAV[Y‚; bhgH£ÆÑ&_ô(„6"›†ÿÍ ŠvÀÖÝ(ò„Õ\ñ8DiWòÄ®k¨Cš¯J>Œ¼Æ "AêŠ[  ÃùœÝ&®xx -¸î,µ4_Ãù -ø[pû­ý= @j/ýÅa[@œQ@}ßïïZ¾™ À]$€^k@±GË,€.H‹x|rttrñÉo)àìüœrå:Ó{üi<ïö¯ñ‹¾.ä& èÇÙöÐTv5»M¢%C"¹ÛÊU'ŒOøÿBj,uSµ ]à ¸àv ~1Ù›ÓÏÞÿ'-¡à?€F€vúïD´ÜΠùŸ®éoÿ.€W­ ˆDm7AäÒÔK(xɵX5¹½yb½Ž\51e¸Ñ@>^õ.€k-5ÁFA£x|t~A¿Gg›>’¾–®·Çæm»Îëúµ»ÈRÀLJ(Xirv§ö©>Kî• .Y2ËËqÈ­à»M@È¿}-iÅ¿Fh«w÷.aãð¼®ý¸V]”2¨‹(€^?^ÿfñ¬ž–ëùäÈWÿf ' ep¾ñjî$¾ 7±î}D³'nZë?¿Íhó)š4PºzuqýW8ÏnpŸíâþ8« pÆ‘bbQ—k¡>\çÈ)³þm¹& -pü}¼ùÍL#ýr²Ìè˜À?ì3  åMFrà•sWJ´àTüïfKG*Ö›ß Ÿÿ&îù~¼]©“òÈpÁÑÞI:YNÿ³É|Z€Eì‚ïò´7-EÝ‘†Òû¦YZ.¯ð.€{ _ËZͳšhY2 `7à8½š{Öü#Ü¢÷©C> ¡_ê‰áþ,D!UûÊÎ>lˆ¨Ä{äá¾@°}xÏ ØšÀA6‡¿+ï×6G÷:å *¢E -á?42@ÍÈ8€ Ÿ?þ8Æ€z@¿W*¿+‡¶k àCú§èQ"À9€«…äþä¿Ç-‡±ý?¶ÈüÍjSÑÍ_6 G -ü¾€'ÿ.d­-x íNµÐMi_RÆ7§ÿ×Ï~ö~,”€ÀÛé¿x/Ý Hü÷yuD¸nc®€Å½`(€š ¯nø¥*XJÔ+}¾Ý»®³XwÈî©#m}bð1õAµ¯õÜ™²p}O³(Ð €½jÐÍò¸û`5ª'߇›M“Œ~éC§Âø¢ЭX¨*n e£¯þº` X -@A"ê@eÔ÷×ϧèÒ°å¹^ÍT@ëSRt]þ‡º“ÑnèFKTúõl¾™fŸnV(êÐsÒq‰!>| ƒN̼ù‰€²ŠÓè²(ŽQ“3äD¤b½~òM½\‚Þ|,+€õdúHçzø_ÍçàjMNß4¢×ïË5'cj±ÝŒF‹˜-ŸsŸëR• YÎ%Ú\½d¯Ù’ÈkÐ /C -9›­)€m|v\SÔxñér««q¸ŽW¦è/üO¦£Q0n‹s÷|[L$€43ƒZs÷-´Ê›| 7ä/øï(>Uô%€ÖÆÍ–êv䃊–ÕàýÚI¹ˆ7óPˆ @"¶'íëþÿ®K!×nÈ&¼ßü݈ñn³ÙnÛw{‚jµPw‰jåJªìl”è}@á?_—DƒWx†.ÐëÅ ð'uŸÇ¢­@½G{p ®èÀ2-P—Ì€Ö 45ÿ¦ŸÝ„"€{z±ù¯·€Û„+W0>qzU5í¼ŒUèfâ¶üÕéÇ?û§÷ùîÏ(àï+„¢kÁæà©8h% Ù%'äÁnÐÝo¥§¦#¯¾\´c£Ý R&ÓmRhœsÈ·zw·´4ðôwZ‘VD·àìi„€jEYc9ª9ß ¹Œ&Gý™‰øb!|—Ð>ð‚ŒÔæ*½Dbr*Å'‹¯šÞ2ÆZâÀ¥„—Ž€˜nõGKˆàˆ½[ÿ”§[· ú‹âð‘ö<;F¾>†t¶å Ш³hp5@û¼»½´Òt¨||ŒÒÃúÕ¾ßEŒè9¢=cñ€òw_K ¼Öû«"Šn­è‘请¿Ã³Éül\Ïo6ŒÊß~2ê“h4ÚÌu¹›Ï§À÷\|Ó³o4ÚöåßáÖÛlÞIãÐLÂ?W0uŸÑt>t•Êšèvˆ*RP¡Ne_ñh¼ZÌÆ*çc§ùåCp59ˆ£¼‚Íth¤>ƒ"|¶|Aˆt|ÀÓmFg€@¹x3–©ŒÜ±BïBÌõ8+†90ÎMq=fÒR’·ÐÿPÖòÎ(À…+n³øU™n°œ*Þ; c[ @¼µÉž¯„~¾ßåQþù§œX€ÞËž:Aþª ºXþ &RŠ•µâe˜„ÆÌ–¾£(¯÷!–ÄÅ\o\Zo²àh…¬¢ûŸ‹É¼Öçë‘3ìfÈ\°v‹µ.z"ûh"lñ:<Ùïϲpåζ÷† -Ù€/3šÎµŒ(tä¿F¢;·{"™ÀO½þ@<Ù‡ó£ÑDï ¥xËåדñÙÊ×eEf'Ž2•`•«Ö‘’›×0$ÅÛ^ " ªúýï·cZ˜M¥ùt}Äêº5p«À%ÒÆP.gÏM8vÝZ0.磙ká ‹ç÷ÓœÄóüÞ¶N&9¼3zgüŽoÈ÷ƒ¢AIÔG¢ˆ$ õgbX¢¶¼!€:‰~áiA4LÀ¨Yïô‘ÅÎ!Êsø\¹¦±xω&J(Ó­Âuªš-2úñcä@XŽ8ÇWág<^|°xðÁƒ– EœE¤JM²à<¿æ ÑŸ" Æþ Íù –P0)(¨å|+PD³(Ep‹)7\÷Д…ŠŽ#‘Œ¦ Æm1ÒÛoƒÖ41ÛŒÇZLËG¿©ÙŠÿf- §HJtJª1gŸê­úÝ”¦úLÜ(ˆ~è˜w°ûZ›ƒÙE/X"l}š@,ô[)J·ß§m̶܎ê„J5×&¼ïÀ¾íÜÛòk$û»wAâØ ¶C±(4 àĵ€>*CÀ‰³2pêðÝ+·ÿøxØ»{à<³óz‹Ð™CM89öÿý­"Aº ÿ_î0wº§‚à°ïÉ/ì£úwIü§Uë_œÜn€‰ý±¼Ü ¡–¿B¦ø»éÿ²ð*êR„Ù—QNoÓ¼ºàWÑ?þ?òÓŸ¼û³÷w³ö|þôçÏþôYKø·§²€é¡ŽÍ¥4ð¡ær*°c#Zóÿ« -ƒvïlœÁ$¼þ±Áy3)(€‡w@}RÜaOVJæ|te1ýÚÝn j>•ˆ»]ZöÖ)H;R¡P‚bN{Ò°O‡Ç¦9¢o¥¤áAúX'î…}brN‹úÃÛÃÛHÜ”E…·ÃQÒɶ|ËŸRˆUÝÉY¢Œ†ômÔ—ÑYˆÓÁ-Å’&‰)Šv€<À>ù®ÿ••ƒå`gØŸpzrªyïð ™g·ša+@AžÎ»H5ŽGí?zX,$ôÛþðkùO—¬Â]YÎ¥æ `ã=TO”VÕVpMÃûd8Yq «<y³i^ªÏce¥ŠP•5;GR¢ÅZ°ž’trHÅD‹òý‚£ñ¥ ·SaL%] DFP]®¥rEwˆÀÇRîÇK´÷ÅÎÅc/‚¢Ö2t¹T°&V#=59æ>©`@™#RÝGøè/À­²CRË&ˆØ¼ƒCänEeW4ðòŒˆ¸JsRÎ ¯ã9WóÉHíE §ùÍh¬¡"ãñŠ •-3^@ZXT¸°6¸¿¯°"üF@#°Œ›x@»$€€qéãÑîœ)R#´¢4ž -ðÌn»ªPŠ0w €FL1…@”)¨ÚNc q,nw$’ægú±ß@ 4×ú´!À¯Ž;TW¼ ½YR–ÚdÀÄÅ âß t;ð¿à]ÚB|‹¬3u¸”|}| —+þç¦w"@ð_ÓþùˆnG@‡÷ž>9;j@âÒpzrvvrtx·?¬—Æ àPüñO#œtö€àþ«Ëç/Ì&š~‚—÷nê¸" Ó‡ýí}ª¤¿]ªéÚjù: ]køæWòÃþø§?ùñ{ÿô³ëfhøÓgþsKû·¦ô ¨ õUg:&}Kc N7ÝM;€]WŽ ¸`§®Ž¯ä@"E¡ZüDm"…ÔPVÓÑš.œòÑ_EE>~…µCXP sä$EÃ'!)¹ %3DíNÉ#p@F¸Ð}kÒ€`Àm½ÉàK<{w†å„|³ÏQUªtZH©áÄñ‡zäd“ ³P­ܯ[·¨oÎ}ñ¦ÜáK -oKIDl|Ú»¯Oüc7±¨¾g¶ŽÃõ—fø4·ozŒSúë÷5¾â%PÊ–2`†Ï|Ö÷äj±r:¢é)Ü çµz +‡ÔnzŠ»OXáéF–õÊJØÿ‹.˜Câ²ü*x$ 'Ê^•Ê,TØ®\|7–öåíâGü «ÂGn5û”é:‹#ô˜¢‹‘/yÂ}Qb0Wø*«‹!ßz ¢cIdtÕăÿ!pDãI³²É¤*’"yßu<[ªÝ~¾Ú¹Ž>;ÒöˆQˆ@šžƒ½LRW^áú½áÉùyäÜë(HÝÀÙ ß`€D¹ -À~A*û{G»-;ªÕ…÷Ä'¢"k“ß^dYÞŽÀ=*Ê|ÿX ““Óó³Ç@9?‘?v€Ð÷c88:¡»8={ÈUõï’] €—©íÐ[AŸ(ĸ þóп¥bñMÈÿÿe+æ°,ßt€ñ - /§–¾+|S–Ëñ7¥z]ú!À¾ {À¾àó/þ>"@4a´¢G.@¿=‚ËwPÊ(^Àõ_šï¨hô£× Š\Ä!”†l~°Ñ|…´®§ç ~èÌÀ,‡$ÐÄî.Õ9ìà!)ÀÝ(Übprõo nQCˆì åB¨!E€ir+'‘졸8B@¼cVDÉŸº8ÞÖ*OwP>`²µüªÄ²¢²H∻rS› —óGè´®ýï„x0h6ÙLœ‘>/Gs⡤XÅ1øþ}LݹÛà“·+¤€æAã:™T¶'£3«ê×"37™ñ…ê[B1ÜÑ‘r€šøx¼È«uÄ}Á„ô®QÔáT}°tJ?9µ¸ï\·šŠ²LE@8 xŠAp¨ýSÐR·d%OJ°ÂÉMYæZ($£M²…"P"Àër:Ï×# ‹é4š#!ù 0Jÿ(‰Ë^ÂàÊ«·òÜÂ.E[„«zǯp¯À@OD£»w#XÒ‚Z;„´L¤ÉXi{X[aÖÒ<²B/‚Ci|h4©“Øíh Ƈz¹Ý(þ'ª®úœ>~u¢õÿ¢é¿ÙжBÃöF;°ß¯Øí9_ýµµx)FÀšBq?ýù4üUmá1êøøÂ…Nµ ²..±ä²œÿÿì·ÏΛ ò]n½@¤¸oB×XÀ;ZE$Ü,…úÙ$º‘Á:4¹ÛÊU'<ü{Ñ«êjܼKU±üÿQ,ïýì½ëfhøà‹ÿÖ2ü-ÉNjƒô § ©<@o-HŠ„ƒ‡*,ÚîÁºBlÏgxM·4^~ø5À€ªJ+Ü)Pc@±Ö°âS8/»IcºÜy‚üiPˆf.‡–ܱB$,ǵZÖ5ˆ*Ë@Ú4H/«ò'Øœå…À-`V3ü@Ô[•Vó†i­¯*·zQßl²Ág ¿"5ÜêO†\4¬xú)P—zoé¾ýþ  öí.v#ôöVºÖ@ÚjI@!B´¯2"ÄÐð×›¾ýã×è1›ý¼é´—­@ˆ(œ¾˜oèëh•ÄP×\-}m}¨ÓQO4R“œP£àÂwÍÉl4¸&èb¢äéø÷+H[à‡œ€n ÀÅlÚwÀ(µ¨ÆøýÔÝÉ1Ô `¶-–‘PVà+¶1ë^®æ”Ç}C´"³"’uXünà þG -gHÈ`Ëû@ÍÔ¤U@áÁ—êX^\aTG‘Ä£ˆU±µBêð6¬²ä‹%$r™>ñ¦@Ç€_“·l-š#ôi OF€Èµ(”Uo£ÄB]®–¾‘vx‚X܉¼/|­¯Ufþ«€/Yà^—["Å%Ðï3Rù þ\@¿0ÝmQ"¶Ïø+J¨×ùpêFDˆ `µe8ÕÎ`kH§ðäâ\ŸúÆÛG$PîëRIÄá¹€”V—uz€ìÓD ÎÀDl/v [þÆÀÎúé8ßmDvÊ/³@êþß|%Àñw¢«•åørd; -³/£ks}3úÞ÷Àÿ²ÿ7ù|þÅç_|ùç/Z¦¿ ùƒ!H©êÌ”g§…|8TÙq9Ó”{á·Pl‘<péÓ=×7 -AÛà¼X -tØ ›eCYïôîÜF(8ý õWSÖAR¿î"”`¬Œð­\±ÜFMåSÄU™T»”ŸÔêGVEü³ æe–¢Çú@¬Id˳ü"näR] ã-±r˜è–w/€ðO•¹#äF<ðŠl÷›€ÛŽèôºþO w,<>Ý@gÈ3å¿-ùl Š W[­¾>Mu¾Š €8«5ØÐ8G~4Œµ`¹Ü¥³EY2`$ÜiBŠÀ%¡Y `žŽ¸û`Ô@Ãz|ÿ½Õ÷Óðÿ$÷p²MÁøÔ;[& 5¨û‚Þâ¸@+ 'v¯ÁQ*7N¶{sÏç¾h˜wñ¬"°G¦@D?Gó…•Qx¡)W‚îœr(¦Î'<½óUêyÍ ¾¹v×H. ï$XÄ}yÈ€öƒ¹Ž"ôÜ-WâU¸ .ÿÖ`¾œO•–(C/öÜÃÉdªÌÔW -™;dAôr…°ò%\$I½×̶å/ˆâ?‡“ITM°ã< JŠ%€ÿ;06ìú~šS3Ø‹&âI¾@wéLÃe ‹‰!M™æ§ AÖ $ª .Î>,‘÷…ïÉ©Mâë}òhY{÷6ÀtxP0GXz‘þìW¨¼ÿ÷RåÒu=û ±­ ›¶Š;çË?r €zºü¿d8q0ÿì1¿ÂÿNxŠZp¨àåx_ΜóÏ0<ò=@‘š nGúä=€ÝÍåš½é½]óºo¶Ç-ÜEäkø }ŠŒn”D94”ŒuºNüéRu×ÖÈÝ™›ùûëYþQý¿Y~öþ ï¸døòÏ_þùoë (b†œòÇŽ>8ø*Š% -å€ETëq .¶nÀT½C¦ü â"¥ óÀ7¨–‡ª­#~›Ï,-©ýZדÂÎà»§9E6s&7ç]H»Aôz*Uˆ`UD¨øC›Ý+±‰-ò¢r!süPßI”-ô4HA& cî3·+€cqH.­T6HIcnLÝáßh‡C:ªG9ßX"öï;6è×  #ÕžöMh÷æ-t+tž[ -Ð~@A1#tÒ@^1(]g¸tÔ-ý_ D€Ålítö N - '}Ÿ…ßèÂ~çK'Ô‰BÁ£-þ«ÏƒUüe(ûã©«ü 2ò]÷‰Èüs´8ÁQÙŸe,5"X8ÊøÑA€0/¸¬ÀjÆÃa|ÿÊÈïÛ‚|cÐl×¾½˜b¸ «­Bd7…óu©ËEˆÑˆâ©¢ÅdÊs!Ê…BíæG>€=¢êZÉ®ˆaYlHìºGµÜ†ÿA®ÎkäÚi?¦øe%Ö g÷%)™‰.ç˼^`½ˆ˜jae«äî(QW|!½[“±ï扠n ® í)$6µàŽ4_Cªÿ/ñ­ ¥l³k=¢YK§¶ÑªtáÈwƒñEUÊÉñC‰ó‡‡G}ËÍC¼–(°Ê„^´¥µˆ-¥Ž ]µíç“f€}™ºôuGº}Sé÷©EìŬÃ*%(…ÜÃXTÛƒÔÎê@F?ÐuþÇ@ÑYÕ÷ROÔ ÿE´×ÿÓ`¢Ëî8}CÃóúVøêq¾ÛˆìÜ þß8 €_ ô¼ên¤ÚfŸô•ÚØÊ_¡Äýýè5ªkI¼”—&¿|î5 -¾‰¾÷¿ü£"@³8 ðºu¶€/¿øóßÒ¬êH>º`GÏuãS壿½[Ã[SA[W}»€<ØkÖ¾ë¢Ò8íŸ\È(ÍByàUǾ^ÀôØ¹Ž®Î@9¤‚%Û4”œ!‚ì4°—â¢ßÃŒ3WzÃáTÕ_»»ÒA~•›1fîH½Ó"9ˆ”âé„öynW>®`àUX\„Qæ0ÆŒHIó9oÊírp .-„õ¹´àÅGyâËÐ$ž¹t“ ÷Ö - èo¿â?}^›Øá¿ÎU‘ òÕ‡¢ÞVžÑÐ-Ÿ2h¸ê`+n?³“v’€"'ðÉ/ïLMæ“![Tðø¿Ò5ÀUv]|´RqLÕœìÂbA£þuâcï±m¨™|‡¤ vò§‘޲ÛÀ,Úµ_Å€q`µQ“%PÌ â‰—CÔãèä2ƒ‚. —r.7Ú-Hš,Ì…};Št0)­½ÌùN}/䀒}Ð|6ˆ ¢ý¡ØÊ€¤À˜X÷‘Fä)5º¥¸öí~œð,9¹´È -Šª´¦’5â3@Ê2—D"î7 ¹j¾\–µaÅEsgqìA®½ÑÆz©\²·ƒLS€Àÿxx `Óš --*prê+§Š\l¢,Ø!àLÕö\ß;¨wIÚJ.µ¸³‡'§G$>ÆËÄ @)€ã¶Î‰ÓÓÓ‡®p¶Ï›8À?<:zúiصúË߈BŸ56`køhëj ® [À˜nô_ªÒ~,”lÂú>¼7ê‚Aûý3 ÝE7¯—i?IÍÀ×.NŸ(F5…Þÿæ1¿„vÕ‚CЛø …Èæû{ãxÿIggG±pKŽŽÏ.~{½ÀWÎÛ´¿¾zlxa¨N¼Ñ:Ù$ºQ2Ô)’»­\þ:TÍ™›Gãyòñ“µ¢ AÚÂ}išžŒ&Õ·¬×AG¥µ3×P;k‚”£蚨WÐ÷þñ‡ÿˆÐYÞu! ëghø² _ü·/[þ¿6¡ì7¨ôýêÿvLF sâe®§ý² ÜFW0¹†ÿA ¹G€2’%X @[”tHy~!+RkvżhÝNµ7¡%³3ûA©-ÈåÕX¹åh¼ˆpÔ¸;§Ùô±ð›Ô"ß+˜8kˆ˜B›7Þ -M”ó9°òàçÅÝ©Bû”•úÓ | Ê‹Á“#"D¢zrCç®ä哾ç‚‹ÝNÜëàg€Üò‹ ­°“š(à“û¶Ù}zÑþ+h¡íÙ†H\y÷È£î瀳ÿˆ!TÑz>Y‰¼óÙ£ÑàÿÁk‰–¼š qz°ºÈØM¢Qùµéiï¨Òt2qN87¡UçNEÖ E\µáLôh³~8š€‹S~ËVAa5 ÀjŽçš*̳r’¬›ã¹c°X—ƒà"ʮԓͼZ¸׊ ¡ø0Ä=¹d†Ü–Z™åme²Mú–"‘Zr#BÚí¹òñx„0UoçdY -øåªifzêsœ²B\Jœ4Ä3¡ø·ïµ*?ÿÀR›E—)\'ìªËñQ]TÌÓMBt;ø5Îañü¡À©Oø¾ €!(>iÎ*iHØnðMÓLŠ)¥ ®:c­›n ŠêHà€ >ÔÕ½e $çÅ“'çGG²…‹Ë¨¿ÿÝböË}ºYb¡ß¤€šD©÷gÀ‘G?ãÝ èÁt;Çݶ¨ÛqÔ"è€ù¬Àµ#@í,‚ÔNß³/ð¥ ÙœˆfÀ•ÅáÈi€ö7 @õ"î¼<Ë¡°³f°`û‰²4 ÝŠ+¨l¡ýãô:&ŒæôíÛÞ‚}°sç°gP(|Ü¢¤ý%—±ÉÑ…þ -¤¬Tôä -qw|w«u[gíºƒ„‹ºN´;ï‰ìö¶ñ &9´+èÍè{¢¿Ô|ÞÿÚw\±|ñÅW_ñmeü5)@ÖHX®˜¤%j™{€àÎ=?ŒÍ½ïäûx»’jÿZü5ÿ+´”nT©…NpÀ¾5¼ƒÊOü­;#hàogCr®O©1î»¶Ôõ-iÈÙ“³,¥swПÙÿ1”ƒo†–”pïöï(( pæ8àRA{ß{Lä‡AZJdEºÕWy +á³MŠ*ò¹Ý~³úGY"° yæ|PC(݄ݡ]l=Û; @µÓï$³ùoë÷Sê~u¾ÊóÌÁÖpµÕzÜ~ Ìn`±ØøÒ\!s=›< -dr~5s°»`DZö ý”|g¾'–h¢@4qZ©¨4uªð/^Úfôßv"”Þ[ò¨M ¾Þ¶\X °ÚÒuÖƒA6úùÌCÔûš; ;‹A 8 spž™~&7lî±™…øl|óhº]hê’.7„ Ðw-þÙÎÆ™(P%è@h5ŒÁxdn‹fGMÊ w ²š‚Ã\$—Ùëi °|Iñ„6îéh>|ÁÏùV×.g8^zI­aÇ·‘w'–èFxÐð<éðÿüÃ&8¯Dò´ÀšÏòÒi—ñ)O>ˆ[1ÐtOO»ž·´bƒÅ%–Ò‰9Uèa@R há”(„•¤¹ìfÉ‘9Ž#|æn S±üçú„\3 €ôf1RÊ®… ¬×l)G Õ/¡;Þî·Ÿú¯@ÓÞí¼÷†(*ø__îJžj—.È à¾üðϱrÚÙÉ!݇V×àüñ¡ÖW-0t®ðÑùö€…?Öèåµ»(pÅïâ»ô'ªúV;ç/‹ö]L-Hžìþ*ë$yÛµãoM¶6››íYÐú䂤¥÷âÀ«oŸç GEµŠj×%Vøuè[^ƒà°³üìÝkßÐYþ›>З_~õåWÿ) •ó×¢†PE"ÈG¯TÐØ¬ö½b¢¯¾à@\n©~¢b†w"¢ÀóŽ l†Ò®o÷œnw§pUˆ4Z$w$]×£,Làî½ñ"'ø”uÑS*(;@CðÛÅ "í[Öj½ù!#ƒe/•Y»™„jƒ¡ÔØvØKoA½}M]Ný¾+˜j“ݯS!+½Õd¡0Cꪉº«©úº¢¼ (Ýån@ŒuÑÙ÷fd`¿±ÎÒgd€ío'VÃ%cróè`«Pøï9%ï˯!º@ÃÕ-‰&Êqš“H1G õ—óGkàÍwѵ“º§»(ÝZ85§¿8ž‚fÑfA%§Ägú`¥ƒܨA¿ÆTª‡¢-Ïן3Þ)á S©¡•-**Œ'ºó» -ïjö|®æ °4±ËûOV“>ûuÌþËÂÏ\£+“ -Qq=TK ¶ìà78–£àsÕ†zûÃà„ò’IQH%MP¾Šs+Fcm PŸxÚ¨–€ròSµÏÄ,d`>éOç±7()ayáZùB®ËSS–¹Jq^¨xYÌÿµ{L$€¨ÞmGº´iòã €–€8ë¯C”¼_@ø±éBAüÊx&þÛO¶i—ô{HÀ’G Fi5qkÓN`ƪÓ,™þÞ,–xò• à¤áôË} à÷×ðŠ®øþ—Öß—Y`G Ô/}»ÝÞa÷ëb.YºYePknKeûÈ‹Á?ʽ`û}wðîm³¹2¢¤ÜÏ¥=Ì4@R˧ -?…?ùío[ïH¹0î’Zn7x^ ¤gÛ¢¶ÇÝ&Ÿ¶iÁmo‘>èÜùÐÑÅð f|kJãSX:¿øXë£hOwß¾Œÿäj µN4£¢ö¨0ÇÇC9U”‹ja©ŠØôô=‡ÿkj>»Y/ñøâ˯¾øú믾úò˯¿úº•öW ¡jKÁª ŸãÜ ¨Y÷]×3ün ý‹ÿ>_"k¦ è‹A¦¤L”‹€¬•;c÷âlæú9ü_¸ëF ëÿÓs$lÀï ø­pJª PR–­ )<}EÖÎV€ŽÀ±dŠL@ð0•t[½¼’¬ã'C™ hñ"9”Š=_Gò“³Ö§ã-bŒPL {ÇEˆ'·:<;>Z¯Ëì Í×ýÿ±d!à“Z Øgû @&ð ˆßÐ_Íÿ6%–þUú—ú¡€! L_ÿ “‹ÚOæ¾åfÔÑxŽ‚ö Þ8ÙÏ%é•€Ò¥cÕj«N[”H0Χ€!”W‘Wdå#4£ˆ“êË!r«S0›ùüh~ =>€x¹\ˆˆñóŸ3•ÎÃm§£ “a´š ÇÑ’¡µ/,–- ”«X׫âø:LcPB˜M–ÚÆË¹ø/¼{7̆t’ -æqÔCˆàî(è³ÙL4B¬Fó¾¦Q|ú- ößÏ<"œ±âÌ óû'ÈqV!=qiû˜ +9‘Z¹Ü6u®ó¯P¿NÈi™} §çt”çO@éGM8ÕߎV•æ( w˜­œ €\AàJ¬úYíx•#ô\³–À$¶t¾vÉç“£²XšoË“t)±žŸž³©§Àƒ–({òá‡ýuŸúÊø¯à²t½@¥Oœ`ïaë´þHˆœ5n‡ê/|oÚû½;ä¶ÅppÏ·8þS ÛŒÔ…l»„èØÆ @¯®ÌY¹(z ×àROIçÍ& -AH ÿ rY,üOu‘0ßYâPÀ^š~·TH¢»ã¸ZHÎÕ©쥋(;øNDiL¢Ý(‰ê<¡dlqß–¸ Û4 €ðŸÍÅ“ˆG7Z ¶‚¶C‰ØøWÒ®Œ7$`_í?迵ü‡WÎpàÿàë/¿üË_þJƒ…i[ -Ôq±Ü9¶=dô[ÄðH¢cг¶ô$wÃιóŽëÛT²†¥ø!@Û¬Ò[Ñý[ö¦J~v–—hšz6_AŽˆrœ,“e¥RÛ àÝQJØW‰ ÔZaÀ¨0s»I³!Y©Hž»4ò‘Ú¹$£|; -¥çH3ˆóWîâY!aK>Ê•"f'ši€Ž” -o§±Gé&Nv€š£½k»%tøß{[_¥ß™‘ô–Hsà ’¦ëý Nù×µn–Ôtwté¸çÍÇ#¨ŠØƒ]"ª«¯  ™Ih×{ÓÑR\šºX*­˜¯ç¦p7šúÚÇ5%©ÃZAaÇÎÑ€‡¾/’ƒ&òªSÄs¤A¤¾Ÿ`¹œlfkä¤U|‡ÎµÄ‹Þ“¹(¾ØX€ŒûòÜYò.å|QÃ:Ýg‡¸2éÃ+ùœc@ª¡«ïjã÷ʸ)Cµu‰‘Àìw€#®ûÈ>\!× QÃUz¼¼Éd§žžƒ²nù£)Æí[¾¯Wg€¤ÌË{“PJ#!Q¶Y±?'½›nh>ܦɞoŠ©`ÅuA«$XìÜá“8YI†Ì ¸¥ _ìî½O“B)Å]ÊÚm"Çúó ÊϹ¤KÆ:†]¶ML ZÑ1¢Š$0TÙrÈ'&ŽŽìòÚ'½%í·Y¢šƒÐ>u`v ¿ˆ§9€d×§~ã*mÞøÊä¡’Üþ ûh‘x–K ß4€ŽrëÚO Þú')øSF1^­ƒüžBvªÿ\:ð«'þÆU÷¹WW³ÁDZ<ËSâÇct:Œ‡+¡ÝôÉl Ô ûCg¬Û?9ˆ®©\œì€;ù–ÛùjÚÍÕ¥R %aƒÁq¨í6Ÿ‹¨Á0½p L8?ôMÁeÌÛ½$/SÌ šªÞ«Xû#³7‰¾0ÀÀ‰ŒX - n)"ÄÆo9.DPú|¾Ô PÉ ïW$.Z§¿+d¢™«-QÀFa ƹOý‘ÌÓŒú†e¹ž¬– /@±¡ÅKBüA€™{ó•»´qô5ÔÈõdžÞ1C¤Ñ3~øáÙ¹ÀÌ!Oµý^Ûì(8>9<ÓÉûáê …€}ï/~a ç'G1ÔhþVpÁ`v5âôïöy žüàøÃ'2õ"•`àÇ|B^| bã ê¯P½pÿ´Þëܽ¼M öwÝ'¶‹gÛÛÎh©³ƒ” ~òPçúsr7tbÈXw°7<<;ÿ²0c0ÞðÊÁmU@Óp|®   :ôêåx‹ÎE@ßûFíÏwwlˆ}•Í6þ¶CQº¶.HØÞЮ.=^6‰nd°Mî¶:™oK4–izüøº±ÑEHë~ò”æÄ£÷³¯Ë§6n»ã¢Ë>v©ßáSôj—€íÕ¼ÁeÅôð÷·µ¼z@ù|ýåW è¿¿¹  hz;M1txج}%ÏM~G\f…ê×]uB‰3r‚'+_åꦷ}‘¤ˆUûúeÛÊÈQ’¹Op—) WŒ§EåðÒ>Ý%%½Á:”’£ÎTÙ–Ñd ÛZŠrº…¥ph%Œ¼õV)![¢"¢Ô§óú´ž3³´”¯ÐÍÖ)üÔ…ê[{ží{¾âKni®‘Š"ëwN½ýy€%Œiï–ÈÔ±¸£º°ì!?xhž^©QÍ¢‘Y-~I™#nªþ‡ãÙT9È{q —]†©Õj½Ìp \/óØ(Þ‡@>ŸþxµBìÒ{ Ý#_;ÈóGnØ6÷=É6 ºúΟT(OŠÿ'G`(­PðR§¤ó‹Aúé…ÜœŸ€?G?§¸󣩺ÿ)÷ø8¾u;ëNã ðä¡>ÛÙˆ—©{ -Æ_´Ÿ[€f€à€±;€ï‚Wb60GíýnÃj϶‹ÕþWA6x”ch$î·=÷5ªz9DJ9°®ÀB•1FÊýÑÐó]‰Â}Û}u8ÁI¿}ö˜¿®$Îd >±ëïýìò—O°)ðP6{»o°@ËÚŽ¿-¥¹üØ þ_@¨XÊ<û°â…ý!;‰]ϧ°çLlö,Ýè]žÛÿïñ +Zh Ù-Rænu$Çí÷V^Û¿À$ƒBeTeÐ}HL6ËàÄf²å@FGÑ…ê ¨.½T•V}W‡'1بE{´RÍ:ÇÁU€Ý"è'.®DGðrJ& éKÍ q¨s -!5Ãèda¡Ô_ M?GDØ o«¼/—ëµXÍ.L.7³•+ Ë’BÉl¬D ó<\#Éè F¹n×åUƒåÀçJ4Ö»±Æ¨?€c>¬e^Eá ŒM€í:FhÝ/e?ß‚þ66ÐjEÀCÀün_ÿ._û -'P{¶],-ÈÉðý€.]J’Êü/–륀ñ”ÎOẏGÇôÎ"øj@„œ¼ Èè= ÀÙÙÓÿó·Ï\- •[žø[úˆäãצ¯a¿ìŽEû½lrŽèH]‡Q` {HGççÆx7‰n” uŠänÓÑ|;Òøµ¿¶Úö,4?ÚácîÏÖÐê.Ö‹“â%Ô0½"<Ø.±þ€*þ Ðßbö»u^ö.€Ï÷-Àý¾ è¿_•ø÷¶MžCÿ„·´¿žð$‚6ÅÍH‰`GzêÅtí„ 7¯»XÖ‰ ° -rwîÐ8k -Ý…ïÞØ¯‹Á¢noÀ°ùTŒÑí9©â'À§C‚i*“ñ޵ÊÎ%V¨È¾’¸|Ë T×âp€¤ó^Ö‚C3Pwê±î‘vN !K'Q~õ 0[\çV˜È -û·n] Xôþ½šé¯_Ýn}ÿnw>v>©—ÆúçKX[þÎÎ`ÛPC1¨û§öñ9æ¯ÖP6€$ݵ~Ÿ†¶iqA$ýù@‘ˆ@f³†{Góõ|= -Tr`쨳’µt6TEE÷ø‰õ½~¹Ò pêø¶>ûëãŒFïŒûºÁ9à¡ÓåF©¼€?è¶ÄÏ'“©2EVt@,ò²º\'ϵŽS'l6®Idb#§ çkRÅK?B‚.l …tÕÉ^^<—ùÅšj7ã>Ь¢# Àðf²\|ð`½ f“9Á0ŲÎ5v`bö|t0ZϧôÚ‡õ²hâúÃG“¡*ÿHÅÚÇÓ7|>A˜:›‘RÒàÂr#””|F ¸FF¡B®‰shüœ›µzÎÝâRÿ¿dëÏ?BIïÜú!}c2®›Àôø+€/ÀýHJZˆýEºà'$‘®Üù:äS·d[±6…Ó‡‘N éxqîRÀð¥Ìð -ºo°¼–@(G‰¹ÝùÐMæ=ôùž nRËA÷Ú«ùW¬¿ -Þí÷áJ ´—&½êBþÚóƒ;©8–âÿŸ[Ë0Ó.•&2pÒ䇼 H%ŽØ‹gŸ|òì±£)–ø`·hèý¶îáê±>{'¶›–7@z °sç@7Ç‘Ýæ›ø|;аËÿîóqÒô²ù˜4§Ü²ÿõÝ…ókÔ ]>¿[‘×XZpŸöŠz5ÕðDþ:€÷ßÿ/ñèœ_ôØR«¡£ïÞ¾[/Ø.*Y&ò<Íævï®í0&ÛäaÜÔCô¾½¬ Ÿ¥µËÒ°¥Ô»=bà¢:$ªqu¡ÐË´;Gq{#çÝ9áŽ|B±Áߤ›pŠO çRšš5ÀQ‘¬À7)’†\BˆœºCY=ß$'˜Gš –H§SÕÜê¾¾e\èÛj'u&Ôqã#E;¹Ðº†ÎûïxQ2EP Q=·'™8t‰!ŠF0Ũ§§ˆÁ%[4›ÌïÊ5óÛ¢?¸ |¶>Ap—@ìÞÙêÿÛâºçK~Õ.Åw%€­µŸ#oa±8ð_ÀÊÞµ¥î‰°Ì&€¾åûßDKk:¿G‚ùõ|íkuDÖŒq×jû€OÓÇ—Cñ´VÚ·ˆ1h$Ö -‘ãÙ¨?XFÁ÷ý@¾øo0zü÷ï>%èZÂÑ5—SD´ M¼?Z¯€amê÷ˆ«®¯¿ßp¾*M¼\‚¦+ä‘¥>ËÉh/ÆÃ´a¦(*LÊ5WY\Íåºw‚eφ ³îyÈ\À¼\gøú( -þK4³Î  €Ÿ>gúWÅ@7 €àùÿŽ0€p @j8©)Y`gShkÒZtŠq€ãá!’€<4œ¿LÁβ0þMר7;¿ÿ-Õ”€îÄ2înw£ù=ORž¨UowÐ߯()ôÐÞõBÏ€× Õ]ÈÖM©êzøeë:?AŠik ièÝ®uLõ+=m7ãèìüñ³ß>»pb@•[CÔ:˵å—e0~m·Ýdç¶‹ü‰6Ølõy邈) @‘Ñ’(‡†ºŒßŠbóåÿcCÙÒ¡š`0?:Ö»0ÜOÝݧv;^ªG¬c{R¸­¨Ë€ëÀ?ôúWU‹ÿEýïö; ÀÏœxÓ,€Ï] ›pÅ è¿·::BØZ b•ær¯ ȆÍpÈCGK0‹FY„ UUD£’M÷œuÅGh)ý#ßÈèóE&Ã!g]묧wÜ ¼Š â_à–_J'‰‘.,v -€óȰäT½HîËaÙ·cSYàA+Õ•Ô‡ÃÁæ8/¢p!ˆ:ª£°NŸòBœf õ|Ÿ;U×`ëÀÅ‚zNiÅG®ÌörªJã]ÇMR#lp©‚ϼï]¾>ï[R<}9½[\ŽÜ¯ƒW#»Ûî×Yâ¨ßv% ÑInuÿ¢,Ó®µM¶}ß°ûhÒ#›Ó‚ߺ}µÍzÌÏ]c -nu!眣Y¯Q/Ažç€ @¦y@€Ô'.ºîd¶Þ¬×C_Á#<k(4L@㜻ö|)ð9‡}l±}q;ù³ü·² ’è8OÉ·vPÑ×ù<øò~ÿáù\½ŸJùÃS5®“ç«Ys œ¬IUño<Ù°.׳À.7˜Ñ‹\º¨á`å A;;KĈ1}üéŠëtŒ€Xj^,,dPÃ[Õg£°3[¼_s)i”Þ‘VÒÿܵ€ê0„™Éò‡?n•}F³èø0:Þ'ZÖ‡~µ[€ k8ÿP¡µOº‡PÊxÃÿ㸜œ>Ô -Nå((vYöI¬k0Êî>؃…J‰Dÿ=;@’¸Ù¦.ªƒ :@¿ ÊgÌO\~n¥ÀûøðûüíBÉZ=Ÿ}tŽÆë³ÍÞI™PËô­ˆŠö/êÓÜ>Ž4ðñEFvD(E§q²ýt›¢-Ú·0i› @¿t3®5@¯{Mmñ¿-öwûfø§—¬ð­-U^¸}·GcÙYÓéKô^û}Õ' MGý¹R€‹Š—pzNÕôÑo ë£þ´ïëΧÃéÀî{:šöI1†ýƒÑ0ZéÜ€Š$¼ ËP­+z›ü5ØÉî€LYØO‘AûB•ÔÈ…U‰<ƒþ¤ßŸ8Ï<6P¾š§élU#‡G5¹,Š/`ÀeôNˆ4|pM -/aÄSÑNÁøþ€t½¼ÄÞ,1™ Æßj ôsÇútÑp+tã‘è|×Ū¤ôîǾ®,%tz¹Tx÷ ý¡B~»ÑöÉkÆ›`ÛxÝ€ï1t†;žZ‰ÞÈ&%^±\"°zK?C¸®ÅJdçÙl´™<ÒíR€ÃHèÇ@áj  -Hj¥›åj54=¹Ë‡Îù:¤QÜ©ÕL~„ò'õ>€±7ÖÉòÜOõ“")EeWVD6]âBÿÛ \ÀM^3øj9GØ(—è¿àaÔýçú¬gz4^£€¯–e²P÷—O€Ùzíìý”oºÑf‰ á’Á`)W5œ<_+²Xg”óÅøÁƒµþz5¾…P¿qYhŸ-(n2; -TÓœ§«ùx8ÏÇÓ¨dóUöN€Pí}àáSX‚ ç¢öO6È ÈJÈ6¥/X8† *جÆZ[䛸Ålòé‘còHqÀi‚Ã1R·“Î1dâù#Íà¯2iQg¸÷¢àè²ÀÇ`?ÈŸiexòäËOjI–æpàž€VíàVM0Ц]h8~M €£Ý/øŽÍàÊÛÙ$E]]m}J&ØYÜÓ§|SÒ `hýÝM;§eÈ̾i8  ëVoüèõ®«ÿËCÛYeÿ/[^êÐ*ÙÒwï¾}ðƒ´°PãÔpgèž& â ß)€ó¬é§.B:÷•-@­ý.ØN˜ø/ZT»Õ”æ¬r^c¹ý(p éˆ 8ªÓ¬?8Ró -±öÀª ë Ú”Èw8úh€¿öÝ·¡ZçhVhðÄú|2EM¥LxR¤‰šš:É­ Bzj&ÿ`„Æž¥Œ¬»*Séçj…zÊÔÅ ÷Åyêb!÷pIÈÓ)•0¤ -tP@¥oº¥êvcØ:ngÿ}æ4ìÈÎÒž²:M»Ó8– Zù‘;c<Ëyl)+3ùèm -­•HWZo jKü<žå+­ý@AÀuõ`E]æff•Ýåd¼˜­|%®Vx@i¾”4¦ûUIÁÝùlVZ˜L¢j4 Hãñ̛ν|ç¾Ò”¸8‚ˆ Í–NP®²xG–&ÃÀ^‰„SBQΣ–µð¸\ÎÊWxèë 5â/4Xlà|ƒÀ×áL;¼Ã"l¡Büjät:|ôêÕ¥#ˆ7stÿሠ-àjf á{õàÁâ‰8¶P@¿5„8ÇA{½^Œ&£ß”IãÑTðã·#€L¬ð¼E¾´h3^ŠâãGVýW¨ë¹žŽ«åf¡ãeÌþ-KšŒIx»Wë8®¸Üíxt€Gi‰ç—-¾à}™žBÚZ²€«ôtº^-çZþ÷X솑Á‹,pÕÀ®,%UذËðP @ª!xhY®}•ÝU ¥œ}Ľ¿I2Þkê?gÿ]ÎBÄ$À&A –—~ßíZ¸íÝòk;©v2… !–ÛèR@–¿Gµþ³ÍTÿ=âÐ+SÄ! ²ÑñÑ«Ž8ÀEžêx|8ÌúB|NžýŸÏòa˵‡èMbÎÓD›7) ‹'TvŽêÄ6`Þ:C/B÷ zî|ÞÜðí(n&mÙ?7gÛöécdƒóãï·~.õ×®X‘­Ž›íæ>/™V —†v³<ðW¶[ü/j·a€ëßÐYnœð¢pƒ€vX€«ÄÛƒÿ‡™ˆ¨Ùœ®BàS±¡³/EvbÀsSd¸z<2ÀmúîƒQo|0œ û$)ûvgƒ¡b4¶U”ÁúaC¹4 M èŠ~8<…÷Š)CŒb7 2J¦'E dÝ(Eûë|­åt’e[ôÈâ*âj.!íðÔÄ€¨ó©½lÿ:„)àXâË5Áž²‚BŠb—šÌ(ø.|ÔLúét°žËÚþ@@ÞïÝ’€ö‹@ÚPÈ¢=_/×9ð@ˆX`<@T©”¢š LŽô£ˆ¯AZTàBá%8(îÍ&kÐShäïŒ)ƒæ%Ð9jâ­FÐòO"-÷MOØÖÑ~¡IÖ¼^‘/œÙ®€< ^¬SþBCÑG)Ë‘³V›Ífú;[oV  ­‡ˆ$ÕV ÂuÏY/IðÜɋŵ›ªOwÝ ¹&¹†—±Q;bè¿XŽ—¹xs€£¢Éñ3´´¥ëx!ã™B5—>Ôøà€2‚ò窯`\‚Ì -í}²Dò¢Q-ázC%«•~—EÔ ?ÀjýoULÄ•ÇÇüL×ýÑrI -Ýâ@+tóèü²àÜF7qïZ ÀQgÈ⫨_`üÎÀ¹­À+,…ÿ”« |œxñ>… 7ú„®S©@)D‰h”ƒ­/ÀîTD„xìÀ=ÀÞm²Ï¶B]p¯?hÈ•ï“7„|³ÌwÌR“NyÒ`WñàáG秇ýÞwâøÐ-½¸ Þ‹ãóÇÏ>yöìY,kÔ›i€±Ð§üÚazâó-°ßålÛx2 œ§ j€=3@¢¬C“»ýVÙ²Øv ôË'ÿZ&Wâw~|ðÆÞjЉŒV‚jÀÍôÊ+ëôþ}ìÏ~kø§×žp@«fGŠžyЊŸàs øåa -‰ÊÒÔakGúuÔ¶ v€_šú.DÙ×ê®ÿ=°‹¢KìÜNÛ…’nPª+4<¸ƒŸ£Ú;: îíáç€ÞßIhÙ1þ 핆“Äižç¬HïH<¬À­é½ápH†yúhûl:R dª™n6 -W.ÃË‹ ¢`’õç’¬%uá"Íh‚œà E² úod £ãát(8I -~ɰjê?d§+þ+”ýŸ_'ÐÆ@fž²øë5øÏ€&»`º6»MÒ tÈM[­»=¼>én|´›o`…«C¶ßÖ†ƒP]4ž|ºz¾^ÿø?ûÔ©«Íêù-ú7+€Å5ÿ€7w±“+¬«ß‡¾fWõ@„Ò.! ¥:ÑñgP“÷õ ºJ‹CœÒ«_ã¿sàV '³GëI_\]u -·‘ó% ¼å—hñýø¹ŽŸÂùòùs@t³öf³ÍzTÚBɈ-Ú2~°YøÁâZÓ†[®k±ïzß'®¶›¯Cȱ/ní$e¸!ã91”ºáêk˜w%nÔÁÐa#6z R$ h–I®šÖ™=ÄGcÇ&6¤¤]!)h8đۀL"×N:Ìú\—³góG³GžElqÀ i+nöœjþÎP¸dW@%-?8Bèht{>â},‘^Ë  ³Î÷g¼Â Mù¡c†N…4j¹^Û 7út³LcÅIÑfp&û«T²ÀV"š3êS_,NˆÕ£ñ»£˜ê› €ª=üç/9>ãʸá!퇠ÙíÞ0ÞgÙ¢¸Ô @YâÈg†DáÿÁÝšü¦Chý݃‘‘ ¢û{TFU×Qѵ%o×í,üÔýÛ,€`ªpÙ¶Ùx[×bÌ·#-LlaÙî¡ÿÌo; - @,2Ñ8uüÝŠ2¶uŸÝ'÷:Ö]‚—X^)\^üÏ­PYÚÛ¾@«gGÀÈ5€}z¡í¤Z‹í¨ÃBGÕǃ¬Wb=J(ÛèòÎbÖ@Íœ†î¸TÀû`:îMÓ“Ù«ËLû= -¡3WÁs$¿ìý¦ôG.ÚAsíÿß;lrNŒ‰6•ñËSàPü×зžéQŠè{·HN«^¹ -ºzcS²|¤0 f‹íÊQé­5Š;‘i¤ý€}ð>5iˆH`nô¸/µ-ÛÈx0þ HÆãO=”hä³ ‰ÿ—-%` -ÎÀtÞ¨¯=eH šAÖ·àAä?®†‹¾{pý­·„÷-QL©ÿZ.™ª‘\GH‘(7qTé Øâ¬æÏQ«—(ù‚T¼é´’ƒ²Ž¢Ofñ–û†^­ùŸÌâ¿óÓ""€EóÉp²âÿ˜Ï™4°än·ú&šŽ@Fòð§yc$âƒ×úÌŸ[jÌn—“‘~èõ`åj9Twæ,BÀlñ\Ͼ5bÌ’Ï–k-*Ô¤p’éä::åz¾Ð67œø—y¸æjú“çÓ˜ VåÚ8›e N´Å+» -/ø\™P>4á@©àYì´/·®Ñ–)X ÁY¾!È—Þ¾‘€û= @Ás€Wâ71Y RÉo˜ÏNk@³t Ë¿5 @nã¾@\ågë@O_¸7Ï”\Æ'Ðc REôÏ@yºA¡]û>A -Bªù{¬ˆìVzöÅwÀéöZ€VÛ À9éSêðræ"·Ë1=w…>ò9™Qþ!þç&¶°çZàšÄ½åFužƒ¸LI*ñp Æj;P—¦†5:6ØÍÒ¬†“çs x´Üüf³^ýù&sN€­¼Hf¹oüë¶?Ý kò¾Ú{߈¸9Ó±ŽzSWOÒ†ºô°Ù„|ªnÛÃGK4$×K+±8G&`LéŠXç<ʉ’„˜o]ë…{Žáz4y¾ü—9Œ!:Ôß:Ë€";ºƒ,7̸ì@ï«)À¹Ípþä5gX¨_Zµ)ö-oàýáž@8|Ñ@e¿œš…¿NìS·`¶&Ò~–QýÚÝpðbÐÐPí@|ãx•Â`Ìû ¾€/ù) ?{oe@Îp%àÛ·ßê–Êâ€; À‘€Ç€+ðÝËTγžaÁt|¢Zˆò‚y¢"”= GD«êggDeàS¹2 -b÷Ú>•ü›S¤ÊÂùk(ÑÁý_*iÐПzÚÌl?;vÒ}v@³ÍÞt­‡mÇ7SJ»†vzÃüð×ù¼÷~¦@(øÙðr€ 7ù|×gç9& ÁvH `x¨ -&µ¡r-6½ÿDÃi>¿CÜt€ž;ì½3(Èì)Ä÷}0kàütà\»Ý`9Ø ”º/|w%rJ1GäÝ©ÁYe¤²˜K @q§„ñ`„h¡·Î¾G/G÷éLÇKº;wÙ€+× =.I.0E+_PWjU©BIÎ'aJÔPiÔðb'íýôîƒÑd€ºÜ#)…ò…êá-*üß³hà9s@€<<|vepsÊF&ŸÊWDN# à‹&R˜ÛHí[$Ûnk¿Ü½}@ÖjñV“ö5ç¥b©ää¶]£7˨ñhó©Ö¥sÉÍýºJÖG {΂X¥ˆ•ìü†#°Ó­ Lzþ7´Ü`™H;ÑÞç¿õý>…( Æ‹À1‚B˜<Ãhø…w§ÚÁ5íX |Ç'ÖCi p=PµÞlæËç;\¯ž¹‘.–ƒQ0Qƒú—ˆB`¼l‚‡L`s=Ûh²XƒòBvqÍ¥;ˆÜ¤)ÖhY`ºbpP°ú²]ÄÞ,Z.¨ß,5 ÀØnß<  óÎà,-ßÀ B@g¸Ù`·Ànìß ¶#þµLehx¾Eöë^ úæ~êjnäp'dJ ¤öÅŸ¿Á>¡2œzEÞޭ·z÷Pö“¬,¾­QÄ?={ü¯OŸê˜{íˆÿ¾ÐŒï ½©útþŸ®&–GÍ„ #Ô+ ósÊoNt~àµf¤{ùf´Uÿù¾øéÈy€¿ÜMÈ«|ÊP$¬ß`È·"ºÓ­•\![0 -«ÀV@µw½–½6mîcßXD…¯=·pU§ p@;yÀ×ò¨¤â(ª`Ÿh LÖ-Î -ÙÊ‘(8t \ÔGX:~nÝ*¸äG àoðÞ*`ñ¯(Dð§)•ýZ\¶¯Ç¥E,ÊBý2&€ +¯ù_'×äÙÀÝrµë®ÐÙ0¸œç3þy›4³€¼g¦/{ÑHßm -Ü/ò#%,r#‘ ×ò\Ãü$÷Jfî`{¸r6qã)Ï–NŨָºçÊ4k áj7Ëõs„ !¹Ï]ºX›‰RÓF3Nª&¤§Ü:* @V¼bpàZ Àåu:€½uœhçûš€æxrz À›®=´µœ>Þ®‘ Có+ëì«úE-&‚AõëÝ~´Î»—¾¹ý^ïJÀ{C^ôŽÚ¼ ˆù§‘òšßÒð•óÃ}‘B€ïl-gÇ`=]x^2àB€ ÿ³ÇÏ;†ÂaË¿§Ñ^ÁnìÉé` òÆèîû„²«˜mD*QÀ´ èØm-éŒj“èFë°²|3Òù¯&ü]Kœ0ÅS'üòÉ¿þ²b/û„µâØÝ%†Zš˜ø=˜7á¶}üK)î*5”¿~ôÃÿèG?þé?½ûî»ï¿‹ð»÷ÿ«ßÿøÿß>þÿÏÿ¤æÿç/þü•_}‰ðõW_~õÕ_þ¦Q«jŸ¾ûöuë@> -µo,Ûq2UóÖmà>ðÝ—>cKM(º¾©†Ôew"hQ®všÛ½£°p‘ü/hèœ) Kî3÷AϽÃdjTMx!BR–­Áû—Ûå=WÂôßq”e8tèG8Ld¡}šHš÷Úÿ5¸ ŒÍÓmSñ'ÎŒàÁ§µ#†Àõxéüÿ²gÈuÚ‡8çß\å(W@[r1Òê%(”Ò¬€6dMaʹ*¯)ÿ¶m„·Æ†ÄEõò4(7Èu²ØZl_|úý*Å<$Ì%Gœ‚“ÉlØ(}¥²H\Ž/xã¹ã.©Ì…"蔀6ñÆÃ¸Ó+Škt_»,[2ëÅš‘û6™”à…YÁHpðò,€æ Þw>ÛuÊ@óÀ.=íõ}"ì|Þl÷„„Q©ž.âÐ,‚¡ß¤ªîƒø¤kÖ€íÖ]ù¶ Âx·m+þÕwïl¶,úfÀ¥1€!µv‰¹¹p|²µ´@æþ¿ö€Xr‘§néZYÈeOÿ'Ïž[×PC½¬>¥úŸþ¦ù—iðmŽK?Æ')grÂ8ÓšŒSÉ¥¡@R÷- À·¡ò-A¯§})\ý©óé¿þò—ŸüÒaéãóã»ösé(ÃB8«ˆщÿr @ºØ—ªÿE×\è÷¾÷½xÉGàG?þÉO~úÓ÷~öÞüÝt øÏ @ÀgŸÿÿ ð‰²ÞñÅ×_ ÿÿeK­®}ºÉ@€½â£wkŸní¤@V¸±›Bøí[ó>ýÓ;ôMŒ{‚\ßu‚ŸêÂ#ýZPÛUðǥܸGl°odg§o÷NN6ê@ö“žoø›#ÂÚR¯+ ’„J¶½1ÌE¶pÎa?/Œ¥û[¢Ã9«Þ´´¿ ªÃ„/×™³ƒ¶OLç»G.ß›lÀ«½ñDaÈ JÏ,ÜkÝ|ªãVñ§GŒï{Çš@v‚h°¹’ÐVÿ/ ÀGçYÿ»ùD;oO(O¤½Š$òÛ°uƒ¶€4jî|*»‘>îÛoY': d¤ÔZI£z:Š4ö­ [ °s©ÏhÙq‡!3€:éägRO*E!í.Á.ï<"·^íÙ¯ÿ¥·FÛŽpVr/=‘‚ÃZez}Z¨÷žmÐÛ¿ ¾+K€/ÁNoNoš`ìÀ5ó=vHƒXDƒŠr]9å:ÿ'eÐÖ­Ùæ¯bÅ>®ùŸk·Mù¥!»Éž×>9´ã²§(Áƒ”@sƒ/ØG‚S€‰Æãé”f¤]A.½^4{k÷vç^C\©ÈÞBÊßz¨†qšr˜ödD:t~úÚ>à×ö]—×h³.è¢ñ‹òxYžø)½óxÃu²ï¶ëHd~õ:m]RÍÁöø„ÛÖEÿwßÝÙÄG0òàðäØõ:ÊÐ ÿÙ¥¶û?% [  É0@¾Q0–‘eâð×U)Îö-Ç':èü× €sHä·ÐÛ÷,î_{Ñë ˜¤‹«m}CeHÊî½|; @™ŠŒnÔº–„¾!¡"ÏŸ|üT˜×¾ù÷ñãÿŸ~òÉ'à¿ÀÓŸ"î–/–‰ÆWZé’àOš¨Âø=ïê\Cõ°¯C)pŸ^ÿÿð?üáü“Ÿò}⦅¾÷þû¿ÿýï~÷‡æøÙŸø~þÙgŸþ9ðÿùWˆ_}ùÅ_}…  £k-@{k=RãOâÙÎ}t¯‡¤ƒ´œj®útª†Üºº -”ÿyé¨{ܧSÑ|óPw;˜i¥«Ÿø.^»(aíª·½| ?¿D° yBÄmAû¾²˜°• 8™j– ù=ëº)ô“" -pÛïÙ-ë2.øƒü¾.Õ‰Ö¹5ÅáäÈ:Ý¡z¤µx”BÜ’­Ü+öÇâ×fÕ®I( XrÃjl&³ÑðþdöŽ£ºýþ;$!#[Yí¨=»jrÀÖ 0‚wän$nþLâ{ì/] ]©ßXö6WR·Üi×,”[›íÀ¢ÖJ:²ñ›™]€¡Ø‚øÂ¹ -¦¯Ë›èèç‹íôE+€$nupqÅ_ŸxH Ýæ -¸@´~OAu¡ þ]ï~þc€Q¿w@lÀŒ“þyÂ`A©³Hki§.L ò€Ø=_Nú#4ü¼XOüàÿdÛD­V+ X®# .˜•lòÉu´cˆ¨ t/Ìêá¨&–šˆ\TŸtqØû#\%‘²Äyv4¸X" )\0D9f&©¹h¡Þ¥?ZÌ–ó­^QÌ»+£Ö=^,H.©¸‘7nŠR37¸?ÔÕ@9®Éí5ø/)Í'@ô£³|®›ÐÖØÎh>WÖØú¼Ôö¡Â»½YßÀàè°YûdxÅ:-:Dبλ@΃êèE}ünŸo³ñW`÷ÝM¼éÍâ«x -÷-Z_3pÏaõt< üwПm8}ˆ¬ßIèÀ¡~JKe°ÈÃãÓ‹§O?áZ2E߃ú-ßUP· (ÞÃÄÙßD¹÷LÛU‚œ5fk0àÃŽÄ„»£Y:Tm[dD~éW¾5[S!|BõÝÛÇ=úÿ³ìžÆð: @˜ ƒ)^âþd韤p˜Ÿ;@bÓ™¾Ž ÒïÑ÷¾÷ÿð½|ÉüÿáòãŸüÓ»ïÆð¿üþ¿ ¨þÿáú¼F>‹ûÿWz|ý%øÿ… ü7õjµíÿÛõM>wÈ”w#l%€ê’i¡d›€ÞÿªÄS‘Ð(ºµZ9òœ](Àð™K·9ÕgáU˜u¿Ìþóº -•@¬‹EÃ'Ðm?!7]!p[¾¾*@P&Ì~b|×Cà¾x3ÏÔªZè}`‡G¯MQÁè]GNÛWÐRŠÏ¥€àvºÔ&ùù¡ŽÈlÂ;ªFr oHMðEù‚~"Œ ü®¹ðÍ2¯ äè‰d\ŽzC!ø¾¯Ôm0©:äá„«4k5ø•“Ô÷¹=io=þ) -³¢ë ÷ð?"6RhJÂ(Õ“Ylû}&Âæ¼¸–8ä»XÊõ:«»BA`òEÀœF:jĸ¼Ð]–ÉÖË"ëÊœ£IÜJ)€#OÃÇÊP®–³àœˆ×–%ÙóX‰Ó´U’Žûˆ^®ÍÒš 5@ «9M,3Ips±›;IÑÊ–r=æ>mïK*5…k¯€¬ÅVêi¼Ì¦ÈHãÉu>ÂÔkøÐÿÖ:ÛYÍðÊ•mÔ±ki¸< àÍ}º)õH ãõ>ÛuŽÚÔÿ—SÞîKÈïà Ï×g¨"ê°ûòKdN{Øvܪ²ðs.þú*»IxGL¨{ÑLÝ¢FIue{z†Ë³äÑ•€µ"<{RKS²[- 5]C€½]gÀ‚r¾ªôF”Š ~Ÿ§Kí7I¼Ë @`)æ°¡»i€f(dMt#ƒ9¬¾åI\¶gߎÑíwÛ§O~ùÉ'ŸÐä>ùÄ÷WÌGöøÔf_UçÙ“Öy»R’º«Ø$è:Ù× *³Ñ÷þáù¾ìó?úÑ¡Ÿ¼ûŸ_I¿ûÃïþ+àÿ§?þáOúì³Ïþ„òƒÿ_|ñç¯ã %à `¿Æÿ¡/[uûtÃ:ÐmÀÒNª™æ{p®G¢NTŽ!‡èÞèyQgƒ©súÀd Äü¥xÉwv[:õ)‰I8UjàœX –j·§Ë"½KäA"ÛÚþØ$˜4*Oª×ZC~O‹¥jîâ?ÚT1ªˆ’þt¢°œ–ã9j¹Àa7¬À–ïL™Á |àt25ƒ¦D4´’ªÐtÃjqËwï¶"O»fIv•"Ô¶­ -‹â¶èáŽÎÏ+8°³øôe+öë¡AïÜψ¦ð~˜ç>+æ1K¶Ê¸+>Yè®Ë5u^€Z+‘®<œxDªÅ/OŸMVÃÞhí¢6?/x)åÒ-ù–X‚Ib©žuõg—²G½ØÝ]¢‘ûíMjwY;Àx†x'²òóÿ¢H¶úòøDȼʇƒ ¿ð¦[þ´û>l¸,p¦°§~jý°¢`³&’XŠ _fÍA#®áÔi‹Š°° ÊoR÷"Zмæ0”D^әǸäãfÓÀjÑr]¥H>)‘?'¾K‰7qà"R?ï¿´? ~®s‚‹yŸÅouùü-\9ì ñã…ëûrRp?b¤`Wb‹¤)%€‹Eå!‰éf9ÑຕoxÀÅÞ,ºáÿsic¯ó.Ú5ð¯À¥YßÀ€%6pì|„ORðSîH˜+'Øø[Ì¿BöˆìE"ý¥ˆK”³-rßÁ]¤ð·ë¸Y\ ‰ -Âû‘#üÜ£f —üò*Õbžu@ @½ X:>RM‹ãã‹ÇÏž>}ü‹øñ¥Òøˆÿêï Ô{?ª¢¹ða€^A¤¯Ôet†€ú~(DH7•ÎbÏ .©m³7E’%õ›’ÃK…î-жݮE³eÇàç'çú8:°µø+6Š„ù]·gÚ6ìÂuR” ù ¼6í]ë÷Ðþÿ=_Sÿ [òãŸBï½ÿÞ¯Þÿ®ðû?þþü›?}öùgþÓ?ûìúÿüµ“¿üâÏšôè¨Uw‰nò3Þ¾ë3¨€ßÀÿn}ì”v˜T¡'BÒ ø -€aî ?à ¸Lò¦ 4ð\–óxvÙY?è¿#ø‹„…–<,¡n“;ûN”0«éj½ €¨ƒ¨•õKJQ×9tŒŽ‹ž½¬}š=Ýd6qÞ¡#/ƒhT.÷­‹U†|ÆÓùtšÉfÓ¤qHÁ^œb]¢Ž¸lA§@¸LúËA.IqAîê6Ph›®èm€G™ÞR)>ÿ; €@{ÚÚÃç¨[/q”B(Áÿž“qm¥i™…ÿÊ>g.´ý*ßåyþ)Ñ¢µVÒ(­¼ýV.ÑÏ]™œaÎ­ìæŽÇ²îvµ>ê\tÄ3j¼$ IÕÊhÞû±Hëë)*`ôëÔŽ0à ÞVî;Å97äÒ lª¦ò§x÷ɪ=¸Æ_ÔŽU‚¡ªnlÜ@ u­g}ß/…°¾˜;jA`iìsÊþ €Ø¸æoV^gKD†û\d_¢å˜ZXíÖË൤DB|–ð‚á%X@ÔgyC¤è .Ë&üNÉꌌÍÂÆ¶OpÚÓn”¨w>‡ëAf:*çÀR’yKªt¸EkDÕÌ} ³‚ç9Í?‘…Œ,Ü^') åŸ×/½¾àÅw¤ûíÞ€òÿš€€ž§(úVëJ‘¥öq2\ó6@Á¿âš  Q‰ 톟ýâ·!MÎÖ¹j@aï‚©°1ë »:ðî Ï~¦ÞºýVï`+ä0¥œ— ùx‘¹‚8(ÙÕ«ú -1DÝòÝ™¤úHã’ ŒŽ€.$½Í%€lÝÈ`ëWÞ˜jð¿ƒ~w mA¿wÛ§Oô@øä“_Æ9Pôépt'ŠùíR‡“Ä¥o‚Ѝü" ýmÔt Jãªþ*Òf)ÄïeǯíÄK!3iÉ¥%‚]œ8Ñʇ§Áð@ƒ³ZÙe•é"AîápQÏÏÞ¡7&èÏ=“î‘ ‹¡5cZæ®<¯ØÌ§®8™Nc ܰÓýM1 ñU÷ÆŸÆéˆ°%¨Ý ¯ÈeUo'ñ 7ÀÅÅÞ@Yòÿè rûÒ!º=9=#«€€½:ÿjH9ÀHƒHý9c9;JÑ­h­¤£4ó -:g_HŠu€E=ŽLŽhkÏsÄwµQNªæ/tÿÐ<,€H®d P…ÊܹÞqÜ«Èr¶šÜÓñ}` ÀJSê”(…€ÐÒ‡cÜ RLÆ&‹ÅJÑc<_Àp¢ûvÌ븩1€ÄZEР”’µZˆ§”¢ € aB4m¹/À/i…x+UJ‰×.k@l'x±^ÁbI΀rÇ5D[±=ºÚ‘éV“Õ´ŸiÊ:41/@Du06øç¥74—Ä}+‹ ×\‡ëV…µÂò#¸Î¸^Þ/á' 2J0ýçný!€ÅÑk±éZúÝ­Èß,å€pð&>|Ъõ­}Sä%Ash€Šéú‹bÈN›@~Õ%~s:<:Õà3¾¶YôFŒ@‚í¦áÃíÖPú¿~|0ëíO”C·¶À É30t4aØ,ˆzê[¸³ÜÊkB ìæ%¨ÉWPxOš@z Â|<—´÷Èé!ž Òaÿ±üõgИވHþË_~òÉÓŸo-Û·ÊEõpè$÷X¢§$ÎîRú§ä!دzÝŠªËƒ²ð_wP´;Ò¸þ­¾‡Zz>Ô<{à¿zaÖï )å4žŠõa-¹ xpèۀߺ}PC‰::èG®è,Oï|(™¡ß>"=°mPR@úE팧ÚÙk’%”ü•˜Ú,vFí6ÁÖ¯¼]Ćïš>¯÷ÙYNµ(ì|ênºà¤=LWYÛhÿ¦4XsÌ‘So@)ø{ÿ½ÿ™ÝÿÌþº­€ýýÿÝwßûÙ{šÞÿÝ~ÿ‡ßÿñ¿þàOŸýÙ9Nt 6`?"ÀW_|ñ—¯ø4ºf@Ô|ñ?>%´§ãã€K£´HšhI¢y„B"¢´›@ßKÿ\ˆ©úgç(ÓA w[¼öÓÝj¦=) ÎɬLÑW/L‘!äGP(éZ>Ø*NPŸPã©Ó©áÙEŒèà,[œçõ*&g/j⫌¸ /‹Š~<ÞWë(ý$ñÈeWGhpœ£]:Là µ|ê‡Fô:é¦$AÕ*IʸA î½`2µ/i#Ô´»¢Euë -”¸ N#wT=€trrv@¦-5íMR&°ùî>Èü%@Pr÷ך‰´}*èZ2Ê¢lS[k^< -NX¯æGƒáâ7ü…+ᤴhq&PºÄÄÕÅß§—¦¤¤©l´ ;€ÓþˆÐ¬³ÝHá_'mÄ[!(€í­.ùq)~%®/7ËŒ¦ç¤Œª¨ç»iWËÙÑ ¿ø¬u ~`Sô×[Äkœmäz$ú#·É)–†³œ­t{¤ ?âïbÄà¦W6²’Éä9@ZÅ!³©¡kà˜Œ7ŽÜ“‚6×Äà‡îŸª}+ ¸>›?ŸöiI¶Ó6êT_ Nõû3„-Z´z½¥sû"aLâ®gëŸAÐá>¨Œ›Ä×NݴΤ[Rf®[ÍŸVÜmþPç@^õ¸< €NW€ýu2 °d_nh°×&*|k‚ˆÒííÏàG[ €ê½³ÉA%Êñ–®âù#8 >Öt·B5}îðߪƒkäÓØ’í¿Ø£b-øáÁ­­À>Ý„Hh‘%jÀãÎ ›ÁN § ¢ÞºëlƒåAuÎT°Û%„ºŸ}Å´M'@góZ€7¤ÒþÞˆôܳ<9?þ__°ÈOà=!ûP:Òt¥µa›H,¡oBþ‹ðjÒðÓ¿ûÓwß× à½ßý—ßýràgüìO¢ÿçÁÑÿË?ÇðÅW|¾þâëÿá\íu!—)@VÈÊñ¿:ÞêÝu]ªNûï„hIð—JK!g¸¥7×Ç*óhÜ ”R.Ó¢½þ$Ò0À¦ÞÁÙàˆ`Ðß:ž°‰¾5Ÿ¬\]™ªý°Óy.ð>éÉ…$r[àæ[ßV(²ö‰õ‹VÚ /B'Âa®€nS݈ú‰å²¯ßd=Ÿ>ZMç«ç|\Euî»ã€@D€çóõr½œû& -È5€N‘ H¡i`…80E«LiªxêhãádðÜ%X#Æ4Jÿ:q - ¿òØYÀfÝrÚ%Ù„\üãXs_¼‹£í§e6 ™+nº‚Øñ¼v&?+i­¤QžŽ -:  €ëŸÏ6€g½ž«;fb…Èþ…Íæ‘º4øœ€Åà 5ÿ§åQœ1¢I/Ѽ%2àŠ»6£=¬À©à¿ÿGÚ -‡Àž~P’MI,7˜›)€JA;³<‹DD£]‰÷7.„ÿ›É`¼YºH>€§)À¯`îÂÐU®Íy¢ùë‚ð¤¤øÑd¡¶ 8“•žcS‰²VGhéq+ˆá€²dÀ!õùd±ø`CfAØ„\År²ÈHA^×zX¡™¸)‚æ`C9óçZ\RxÌsP~'i˜úµˆÓ„(4c¢å‹³vïкQÑ2@|:Çv\ºjúA”õoºUP*ç‰+…ë\ՍЭà^ޤ†ÿRX¯ 5SàøÐ€·nš@²/¸KeôÛ¤øèé3ÕàË>õËD/T -Å~´wT /9Ò³¯a¤®ow Ë|Øònc_àu+¯Oby´úl_ïú…€“ã²<ùWîEóàÖ²M ÝgGé>; €4jýû1[à ·¼¿’þàÇ?y÷g?ÿß{ÿý_ýî÷¿ûÃïþ ð'蟦R€Ê¿2€ƒÿ_ùÅ×_ùÕ_²*Ð “‚ÿÕžl\¶ÀŽl"x‚vÂ6زÿÉV,‹“Q4s¶óþD”ŸÅ$ˆA8´q¡Q=Ñ?Ã~QˆéߣÓÆ£á¿ôjŽŒPž•ì±èµ¯I0èí¬íœ9KOo~¾µAï(åk(©m‰#í$ ¾Ã UåØN›m24î»nv8=ÑG6lA>zæµûi!áóßøn¢G£GÊ)G#ß‹@7Žæ¶‚ýÑÈ“c%‚Ét:K2ÀV¹øÕÑð(Ýu(Êèìüq‰{ï(ÒRßãIíÈ´>® 2’"ˆŠf*jeܾ€J¦t.†KÄ'-#¯ 4D~]Q´üÓ²)­Ù:ÀÁÉj8eÒ²©°ÕG´@m÷=× -—£ÑT#¿ô ¤Ebauãû¢‚=Ÿ¨ut5+Ë(¥øÒFoH!D€ÿåŒTM¸äÒ¼ø.€²´wÄ 9ö³‚`¶i„ñÏ`ø}Ò߉û³ ØÉh<¾ê_Gǵ0à\¸ç^ùo¼=:jžuá¿7õÿÐaû/[m ÌÀ‡v îõôµ¿}pdŠÒOAk‚—æJ€Ÿ>9;3 ™"Óo5 €O>ÛèîÚ>”^!û.~{úr†íA—ìv³Øï4pÝuAFä÷&¤ý¨ýM-¿øÏ&çÏ>ù¤­pP€0g ˜ â'"D -³ßÍÜÿ@üe €×@ïšðÐÿý5é{?Ì:€ï¾÷ÓŸ½û«÷ÿ#Àï~ÿûÿâb€ÿõú<ëé à+7|ñµ£_ù—¿üåü¿ðiW²O%üû47>y%{òSªô9 -ü#ž7jjªý²¨*š§+b+˜j‹§—䃎N÷ÝW0y©å$'gÔóØ¡ƒ¸6‹Ò)GØîÓÿ}q×®^ŠÎ 줟SA¢"‡âWÿ2Û¾tíöœèVe °Ç¡˜#¦‰QÀtâ¡# ®1 ‘9αS˜§ÛðC ›O€ð©úÿv†á‰y¾šn­æŸ>#«¬¸ù mØ? ø£ùhµÞ<ʰAöÍI -=ðÑ”k¤£>Z ]«ØêŽøÖ3.iï, ÀÖ@k]àYe}Gþƒ¡Óžü_3z,·]ÆÐ€ÛoS€‘­„ZE—œ~Z‚+dæ!ÕOþ`FÕW ?DØbÍãÒíÈì(z´ÒJ<7[? —s‡Á‘î´=#¨¸+Ò4ü']=ÁÿV9`±ö4{•dšwSÏ7õôå -©1P*¢‰g¦õƒp Ôðõ|öé¬?[ÉJ.‹oJNqà(9À°¿F 2ùÐòG ¤_—’ƃâZ$à_'»÷^,È#H2H7K0Ùÿ€Ù‹µ‘<2‚UpMB2w‘#„ßm”K± bpm‘J6sôtGž"VÚþ½56Ú­©ßG˜*\çž=~'5ï¯ÑI‡kê/&“%O‰Õ’GÇ;•ù‚ü¯»Ïn €cz‹@ÈU À+Þ€xðڀȴeÿ÷Vü†>„JãyM€¸tÂv^@Û£ÃÝ|ãoçþ¾Ýë•;„…swŠ÷ÆÔÞdÔÐ=z¿ Z’ƒÞ­[·´h”ÐõrŸ”uvöô±c/Z¨ÃŒˆo5êWJÑ.t™nŠ¿áDË>€f^ÝÖNºÒ½’ÄíN÷ÿ–€Ý¢Åa-[¿/XDÿhü¦b³µ¤OÄð†äàÿë||àãðî{?ûÕ¯~õ¾¿ûýþ ÀgNüü‹Ïÿü…nì„4þ¯¾tÀ_¾úåpíJÀÀö®šR˜¿CýãÉ6,DvG¶¬}´GÍv¾hªdàè»~ù@ªx/èó Åöðü& /ýšP •€B„Êõj±w;ù¹kö‹.M?%Z;+ï7ëù&*KŒùÑí³C5´T‚‚~ºN;½ìôI£·‹ žTn zieË´NŠ£)ú¾x`ÀÊ£ùàÑü2u®´úN?ÝŒECà]uÂÝ 0:ìÕsèÓO׫O}µ¼Æ_¹F# GN ›¡Õ <ÐÕu$úC; @ðßñyp:óöåi‡èì=k mÚŒM0n÷è…Z,[ü·žÖL¤+¨[$P¨¥*™Ü|€<ãn¥M0 „Àñr¡t¼X#p/]mA÷ÀNàOòþ#›ÐÙ/ÿ-ìý£AB‘R‹•Î×ãæê±“¬å‘Ä““^¬—6Q÷I9~ÎÞs|[–l4`p;´Òê`¼ãõ¦,£‘gÀƒ¨ûb¹8kœE¦\½ €-Út†ÙIPmHA’ÔHs„¥%â+Æýq|Rœ× ú;€¤<ãÞ$®zÚÀFHš%Â¦ÙæÞõ_ ¼©b&·ØQñýÅèøpô` G³uÉC<¢}ãZƒ‡ñüËš‰Œv=Ù ãnâ­­à†wdÀ“î]oà þ ÿW,€Ùù7óp_C×øºõÿ ²M£­G@v ¤ªc9ø&[¸Ñð¶ø<Ê% è@"’Q6¶ì¤·ÐÞQÒTè@»à[·"X$?¾| ÏÅÿ 6LJ‹3»}Ôëÿ›QgP¨î§ë„ŒÈï5‰  Uæè Ö_›t|v~rt® @æ·»8Ùh;Íœ(*Øï,ÊF$éLÉQõ±o@ÍÂÿjÿôã—  àùý¯þð‡ÿê4ÀÏœò7€ËêðÅW¾ø‹/ÿòõWYøë¿\ó.@‰CkP'¡ú—hY¿v&€`4¤qßþ'ÎyhÚêi -m콇\€HàZÿq駯R8HF·v\ôam~†Ö­0 ÖÆyÀttl£ùêÑp‰Ê f>B‡=G#tµX*4 ×ß»J9Þ¬Ö3«SÙý)'ˆú*K¨B%<_­‘&ê½qóÑz… ¦„ºL§6–m>'´h ‘Œžÿ8Y\`:DºWVóåæÓ±£`þüÑÑÈÑor“D+ùdýhõhóÜóæ§Žü‹sަhþðù|tä AðŸ_òFà??}·OÏ*ß+€ê*ÌæÍ?¨°mÊ;ü/iÕV^Ÿ+K ?@É–*_Q.%¤^ŒÖZ_¸ûn@Õ£i,f³Ÿ‹[ =š±p Ä#4 YÑJ]<˜ºoX wG‹9Q|Êÿ´opT@ûÿ 6Y®š°µÕä¶Ð¶!Ì”)9W€oÉá<—³ÖcnñÀ¬‹È"³É¢‹90¬ðe¡Ê§d1qèDÅ_dCÀÑe\5÷ÌÖ²Àb‰Â¯@n@‘$6°?¦Åƒº%Œ­z{RäjT›ñ´ ¶³˜&úýñRÚ…£Ny‡é„Ù?²”†§Å¹È úèñ€Š÷ªuðÎÜ$Dè🭘¡ùŒ/¾ @G€‹Î°õxå,jqS€ãîm€ßf@bòd —W}‚’?0j{uÝ‹€šúï61!ôü¾Ù7?¸§¾C…ÿ\x¿ÛKY(ãÃtë®9åXŒÄáÑ=_1t[ %ˆànÍä¦2ÐÿìâÉc€234ÀÖ¥Ð?øõsí÷%§®ýîï£ügÓHÄl´ëV^I¶šÅÿÕOG®ë_Ÿ.\±9ÙÅðMæ§OŽŽø¤Þp×Å -ZgØ-¼oóKˆÀ‰€e°[MÂÞŒö”ü—~|Àõüé»ï¿«ýße~ÿû?øBjÀçŸù -çúZ`×úË×ùêÔ뿼n! ÛyÀG4…€&Z†”èyÀØå»g  Ã 5ˆµ›7ZüÖ M=ì}s¹š½Îù‘ôQ`tÏœ ¶'ò71ÁÉ÷ãÕPgжé{Fª‰€¨J›•Ù‰kIT¢€ûi§‡£;žŠüÃþ|¬;áÐFE#z„, -OþeýüºRÀp2 ¬É†ôGöËC{Z¨@¶ŽÖŽ€®Éýh:4™ôçÓÉø‘b…жš?×>°Bð@@PŠðMµZž?"ÿI X¹š®FSÊÑÕmYbõhî›ê ’ª#]žéºu”š°žõÙ÷ú¡äßì,4L[3”ä-·íxï9„Zÿòþï7ªk]÷ó•Ž6lÜ"­N‡Kl¾l[ŠäU. ŽäÓ¨ÁÍFb+ˆÜU—+˜8`œUaU X1ù.EZBÊÑ9} ±îGBôÊ]”‹u´ÿ©~>ÏûŽ9g•ËvÈÖ9ê·fÍß?Çc<ÏxÆ;Æ, À×ÈhRŒXî„q€!AËEРPB€‡€õ©¨ê*€Um¨•r-$íS# -€ŽÑ+³ ¸1¢äiV×;©˜XèŠÐÐEam`~GDŽÄYÁëk  -Àú­›M@t ˆëà}žOGêÑ­èt¨‹ã3lf\𱡌XBQ\yæ¤t˜ë¬Sûı&ú1 -1à–[. oòHºÜ˜ÐÅSB×-_jn¸®[ίÝáR¦1íî·à¾…ƒn÷Î`YäA—SÍ=ˆ ý!9wD(ZwV´íøOlÛŸUpÑg2Iذ -€«"*û0ÖT­#äop[€I -@Óü1M­',¶ðUÀm€N*zAVTjwlQ´çú_päW° -² -€@‚9­@½ˆÀUìx»^]å¢=ªˆ|«9•äc&àþz™þTè&@kERX[kù#D8\X:ôFjš‚(ÁÐºÛ  -ÀàŽÃý/¸§/\Ï?¢ÌîStÓ‡1å à Ð1àVø-€­­ûÔÓ ?o -@£€p4²ï3P3¶?= $Ím‚щ>zžÒ/* `Ÿ`ìÖ°,Ë'˜z¬Q K*ÚÏ+™âQŸN€8ÌG=æ{òXÉÛYuÐVå.Ú‰çÔùNñ9À0+""Z·¹ý5¹É×÷xmÚWDCÉ}vÖøOCNö FòÌJ¦—ejœÝĈœ©Xæ)GÊ¿ ÕŸ¿ŒîümÕºÆÆ´\SV>ðo… ü¿ÿ5>d„Î #KÔyh(QڧܯuþÚuñ ìTàX–ø~¤ ÿ/ÿ«ÐÿÚ5ÚÜ0ÀàÙ/Ï^>ñêÅk?à͛߄ÿ¿þúú¿kúûoÿøõþ - °Å“ŒØÌy"Ð& ÀvÛýÏ’Øð&Sz† ÀXáUW(ãÁ£½Õ¥—>c†·’òvå$-e[ʨµÇàÉ®*ÂYä'GçûýyN2Ç·³ææhö3€hå"~+š -=‡Oº*^cyc®·G…¿ÊYd~Îí´e]ô@Å6eÐê×»V—…¶­eÚus­¶Jê«ËÑôתÉ`¸:lé¼( uP±œÓ¸®~õfC6+`ïkG]© +¢²–v#ÓÔÍ=Yk? …u*Îë„OW„£=X»£3i=ES±ŽÖ¤M“ÂÞÚê|{Ù -ßs­LŸ¦bù nà -zš@¥øÃáv¤ -`’àuuâÓÇWdB3§]ÇÈh2ÁüFlkâ(Ú1 øÀ<©(ºÑI -€O'¢­0ñè4}j -±^»àF¢»‚xÝ‘€õ¢¼µVõ°rAˆ5â \Ûÿ-€hpû¾@ÝÀßp¼VŽþ+=Ô>oÛ@l#‘ì÷ÀýN×ÄÀþ@V6kÎ#3ÍícokË_ÞV:…TUB7€¸ýömå½qëqÿΚã.elc|¢üVÀ Ô »Âí6xÛüu­ÛÒMètƒÎ¿ÚûioøïÊ•ƒ³³nGzJè*j¯ª-ƒ°èHÝá믚ïöTÞ´t\¬¬’Š~Ú’}»Üêí{‡ûçîÀmå’b8úu—TÊS©+U6­ÕCe˜{Cåàwº«Ñ”±×0è -´qº}#iµ=@Y Ÿúv{µµÚZNõßæ/}Ù¨¸çoÔ -€Ò“ÑƽSæÈ »}{SE¤•Ö9åÂE >ü? ‰pä­#ÉÿÎÿiÀ3Ú - vfðߨoØè±QŠ  (Ahw=§‡âG€a'ªF}BÔ/M©èÖ¤èŽÜ - `*½E É>zað˜I -€îð@]÷h€¦Ð. -@í|b‚p¤À¸@Û|úÝðHÀwý>˜[øa¬2à(þé?ñ[Ù€Ô€c(lѯ٠-à]}4(‘Xp9Z·ïërá á°´lÿÏÞÀlb~¬xoÆÕS(ø¯ðléá­˜•3øVY¾îpQØL_>a !x¢ó¬­ªØ9gØî­ú”ïE ´,0Ó1€cO·òÎqGwÚ[lÍëöÛÃöò°«Ü] ¦£<œªq€nUÒíu–çÄŒwÚbTC´;Ëݦ ×¡ìQyféH Éýêgæ^LdA„Aï‰C6æg•}.U -ÇEBöÔÑ×ÑS,Ðñ(þ ÿà?u“€Œ>R2`ª(”ˆÁ$Vîh›ªˆ†°PjšŠ½“€@˜*€C·è1>©Œù<ÁàÖÁ -€«(J¯úpŽîì¸0Á V`ÑkŒ*>›Kû¬òÀú´÷)R( -Ó¢ø‘¸Â[û` (/ Cš -@ú€÷Å`;ûØB   -@´`jÖGVD?×ïÉ€Ðs¼]6AT+++^€ãf1?̳±<ýض²)€&YBæƒø>ÀHœÄûqKɲ ?Ö°9öb#Í -OÔUÚbG20ËØcü?ø[”ÿQ`S¶à¤ñ‹¦ ´ðŽ>”Å iG¿¨«V>,æÚ4þY=`Âñ -¤O=Ö(.d@é9 „Ê,ÀEèÿû£ü·ÒØ àÔ¨ âÀ<®ln}½-ö°õõ½Ü„ÊóJîP€Ón@.™„‡ø•yÊ|Ìx>WŽÍë_Íz­þÀ1r¦´È[&[]ø÷¨Øã‘êÿØðHÓ‚²sÅPì°³»ûøDÕŸv¦–£ø1?ªcß¹eß8+#(L€”ÿ…ÿÑà‹—Bÿtýã×7¿Ñ àï¿ÿOq´êñüt؉Ó€†ÙÀþ¹± Év4ªåW6¿ÊÀ÷PNñUùŽŠqš·—ŸÐm‰JÖZÆ:s€¢ßgNiS °lÓOÊ ß:jU×4ÀU³BÈ®°_9²5öî`}.Ù´¤ŒpOÅzv°ÞªàÿÓ_U˜·äÜU ½GÍ¿rÊÅîÞ@™ò€ÊýÖàÉöÞ õÓp(Î0øö¯Oö†{ß*k]} »{ƒ'ƒ½oß˺¬»úxQàšk‰ã¬­RJuµgןn[\øƒ´‡Ot_½Þ;]=·îÿÞ†:‘JäAÄaµ+B$ä‡X?tÐRÈÉÜzš—o¤ Ø4Û`¿€j ×x{iNÙgø8Îú0]:ÊŒ•f€>T€€àOds*ÓS¥*!IÆ|TVš>48fÀ»øè¯‹ê@+€¸Wd+›µcí`jå~ n0Ö€è@;¦Œû(XÆ€õ1 OGOWû|(Þ;BNã`'@3Ò÷ï S¦@yyr?ãßÈV;öÐÚãõ 0æ஀ßÁ@ƒNŽEõ©€…j­­L뙀ó‹UÓŒ+Ó• Jÿ1¡µ€«r?íXî,m1ƒÀ††±št?BP\›°roûë»›÷¾FBaÑØ@'|×M÷b5ÓæÄ3 “ç½K±·~n˜'ÖÈ3xî{Uæ*ûl«Qø¯ÊñY¦¯–r»ÿ,icY)‹ÿÙ…Àý@ ”±NP¬õËØ`c‰í²(íkêjTØ3fŽÅRà?Ò>¹äï_½zíúõÏ…ÿŸÿân€èàÅsˆ~d/ÝÀï¿þþúÍo¿‹Ð p -µ [õC}ðÁ¹%"“ûÅ áÈ8 0øcÿý~Û½âöÛBpÁT€îuU¶Aã¦C±þ¢òú;mr[˜·*ÜÔóºt0N³8Á¦ò>-*Ã^ki…?²%•ÜÉÚfùrJW²€~¯?$?ßët\³¯¢æ ÿ¤³Öâ#ôÿ×Þ:P=TŽ.L8aזּq@ ùßœZ«{ìÝ ÚU.¯’™ÎÜG6èé`e£óÁ·OD%¾ý÷Ÿ¾<ùioïÎðߟ€o]¾@íõÀœÏàJù®ûSS®üs0øÉù-· t´—âz‚5eý*Û ³'CnotÛs~rY¤ÅÕÿ6Êña·…þ›à¿ 1KÉø§ ~®¡ä{r7JÞ(KVô#¦9=æÔѸa:¼A%¨(–Ñd‚øc›ô8 €,û( -@+HäÑ Uïâ ó¦¿L ôk§kõ ¨‘­ØûX -g]÷ø>º†ÀWÄ3m¥†lLø_É@&¼qÉSèÈ£1ø^_VçÀb€=×ßÓnOKe;“(€ùc"|‚xLcEYò”¹²kbm®«6il€® €Öl‡ A1Gùê P¦[JjhO—«E8Ž%¾mŸ\¼xøÇ € -Úû_¸/À—/ÿþú5ß /QþxŠüJ'q›TDO€®xç~¦h€Ñ - (c>©x·#Zìëàh󤢵ÖþlP)ÇF+€Q0Y8žÀûè Íx†ŒøYö @söÐFše“»Oñ-“ -r#Î?Ú ™S2f‚ùÀ|ÏÅÔsšm ¡”V2ëí¾h´38W/TéèÉc`ßK1  a ßfGïÉ® }Ø=A­¤Ñb œw~ff>t[¡ i…òú¯·Uú·ßd×…J /hsÕ*F¹!FeÆ›b)Ö{×z“§Þ’¥}Ã?< @ÙwÎ_* ù(1;FšxH<¯–b‘QµTVzÖs1Ñ9K+ˆ6©ÈlmT¾Ç½ÈÈC™„±G©ëwöª‰÷ÑcN0•eWÿGÚÅK´¸"ô¿vãÚn<}ñüÙ‹—P€gôL@Lè/ðk|h €3ö;§;ÏÁOunaeóö¦"Å–‘f„@\@Ϳƕ%L »”/ n!ª Pö¤b¿Ö»‹û-Ü´»rÛ>Å.åh«&ÊöL4U™/€€²5+¿7p±zІÜÒ>C¾ 㽕çé`•é C\•qŠ> ܹR€r8üÿETÄ*’ Ú?‰Mô{æ½îO|¬ÿ;åïwž †Oî|«ûøéIwï¯w~ú÷Ÿ†ßÞ;ÐYu/Û!wtûZ%€ @n èêAö„ñw(züùÖ€= è)•ks€ÕNwàO´8ÝÕe­ëªäŸÃf–ÿ‹àV£ -€~ç¢<öôsz—é €Ö¹¦àé¨IJÔLFcoÔæÄþb†þ°ˆ&i±{‰þ²Z(U€¢dŸ@Õ -`Ÿ ¸«ñ‰Z8V?‡*& @ñOå܃úµ.r`+ 3˜Ö@«&*A ¸D.mýƒ|¾xo>º;CŽ €ÁÉøpà·¬hÛ1¾Èð¥¿(>üþZ0ñI îXíP•­Ñ¢ë¿…Xå1Îúºe2ÅXW3ÔG‚ëEL+õYPy}~QCXZùÏqk”Ùr†[·ùEx¬5ó³£UÂxŸqéöݯ·ïmnnßC€p;·@`u™Ä´Ìo4G±–¡Ìäúz>fËàðŸÐoPÀÃïjÀÂrƒy‚xLcEYò”¹²kbm®«6i¼OÈodîVÿŒêÅô8Î2E ì³ìƒ’Ó¦„`:Ëòý‘öÉÅKŸ^º|åj´xJ;À§Ï^<ûûs>H=€/€_½Böéø÷ß4ã1üˆ ¶“§ÐŒ· …ÀÿÖHéYúG/@‘„–ÿ+`5ýðh·Ÿ,SþUYŒr°p3 ÈÑÖ* ìZÛŽ£(§΃´øû"ÑœàÎ~`‘}ºÙ@Å¢¢Ð§ß2 -À`ðÇÿ;"OP~úvxGh¢ûQ9Tå.€;ƒ;¨ÿúÕ V’¤°Z€6_‰éZèìSø,P¥¬ôFjf”Aâù¼ X¦8#\'@š*ǘõ/ ¿WÌ"EÆáŠ£ñþ#ž‡@4ûm±V¢L±D0UJÄ`H€1Á—€$•@×=Rð.>*úê^ŽnàUöP¬x‹~€ÒTF|8‡€vL8Ê€‡QÊé¢À1}ÆzœäP)ïê o.´(KŽû€÷Å€o¸d€*€­cøþ#fïkðn>š­V  !;\`¥Ö4h€lÅMW.gsßÝt¡s³‘,I…ä0T×ÒŽö[ÈÒXlÕîvòO°0?C# žËûÌC-|®lpO¥ Òþ | Ò?9DoObó‘s4G¹9æsŸXUÏÇN1Nø·þ[%þËB(eÿÀp,á[‰çÕR,2ª–ÊJÏz.'÷€è(™s¸ÈîÆø*Û#çe ýÙ¥”ôcÂ>Ù w›Îß¶KbW._½výßÄ@ÿ_ž† JM_¿xE‡€¿¾æÿúW>¤Òÿ›ß„ÿUù~âqÏ™l£ÐÞ\X“ø¯´œU¡%AœŠd S# -€¬ªPöÔ±Ðtuµ¥Ì½¡D@Q´åÀ`‚@Àú@ë ÏçS¸S+B}¶V†¡ôQ² - R¾}²ú-_ö£ -àÎOÿþ×oévˆ³âP+\¨¡(ŸÐ/U(í;B€?ƒ¦Ð €¢Q„{tT¬¡Ûñf€‰ÿéÝY ×CÃÀnM•/;#jzF³ωÄŸ¡2×0„I*s”)Æ}l0Ò@øz Š­þŒ Ün\8žX{°€f×E5lî Pñn¼@Qn¿'*&oÝÀX+z´Ðèã±téãù´ý-ªRt¢1€÷ð-€Ú.¨T<®,MúŒ€ò´Øž¾@QÌ.Þ[O€9Œùˆô몶ÿ²Bbìâ{îïß‘CŽª½Ë²ž1úõ¶otމ¯'ó=æ­mºéæMœ x¯ø -'æMÜ/…ý•M:T.Ï×99×8çOŠWyDŒÊ ¿gôóR=òPæc³§¹²¬Ë]ø°ŸøßTDÄ ‰½'¦'ˆÇ4V”%O™+K±&ÖæºÆÄ -Àò²¿øHQ'À@Cg†1‰ÙF@(âÎMÝPϲE냘Õ&&ÓY*üGZ|ð²Àg×n\¿qƒž€Äž¹+`¾(ðêåKÊÿoìøÛ¯ÿ ø‡%€$µÀ½ÚNÎàë-EŒ{  Xw¢?–©HVÓ /®€oÛ”ïX }¥„€«(÷ émgć*®˜¤à`Ð;Lhu')«:EVˆq |F€îÚrøØ×ïh@·2¢t› -@§¡,¯-w—EUîø7¢l‰  ÎlmÔ -À¹ -ÿÂÿàîØ (?ôÁÍ•E€P£K2äp¤>¯UTpt(=æý Ûñ¿aŽ>‰þ2`ªVC’Œù((G€Æ·JÀ»ùPpT+¯±Àý¡4[¼…€‚e\Pän*yìD€ÃûØßàD?’®òÎ>2#uSPIa¤@úd?Âÿ»| èþôßPFÌ‚ñhO€:¦>¤iʪ2·b.¦žÓ|l‹aÌÀ¯Éú~¶z¶býL¸9wÔ£jï²Ì• NդÀe¤yM5WÔî ç6´ëÍÀ¬ÐvÃí?öç-ÎÂ+´°ùµJ8{%СÊ$ÒÀØí,¢ÌŒŒËšæüä•19ù0Àß°_@“<üwÀ‚æ1Æì¿¯Šßÿ£÷½ÊK^»ÆRÙæuž°$Þ©¢? -€}´.šF®æüP?›—¼š-z ]ÓÜ8¦°c®ˆ=¦²,ßOa—>ýÔüÿpãúS×üòì)ޝ^QøÇàÅëW¯_¾Â €úÿß}ó;ß°qAžÈOO…àþæC¸—è/K ÌÈ©H¨W­PΩRC€ðhwj ¢â$@Å·÷ ¸à -W÷h(ðeVzOPDÿö7=àÐUºû€} -€}R÷p@C üß±–¥lcsKcT¥Ù†øSw§¤‹' ²¿#ýPn¯ÌŸ#+0 >“Á”4Éw?]fG€ÉUa>›§Æ~›ùðVûúد5µýÝúÐE ‡øp¡ŠôUÀc­€‹³€6Ó@pû瀠³¿íR -I›ŒÓû}ÄŠÀ7¡lMÿ-ˆA*u+€÷ä°¼<ê @í ×W–K†Ý÷dºP(hVšÖ¢"ÄÁá/ä½U›æõ*ÿŒä÷Ê>(sœM`ûžÝ½Y[ âçÏãèì¡•Ic¡Þ˜KÍù°²2fË8¡ßfÙ?äÿ ý?Æä;ºç 4÷øA7ßÿ óQ¬õú²–…²Oé! vò:O´š-î`#šúk€‘½9ó‚&˜ÞR|ò€±%Å€xHg‹~Ú?FÀ ðòåkô€ÀÓ§¿<N_€Ïܰ;Pùÿ5¾þ @€*ýöÛxŒxÄê¡N+(A}}þfï)V¦ÄLz,Sfü/ -@+}†‚Ò (´˜ „€Jà @çx'€¬H@›ÞFp+€Áà‰reGŠ?ê¿KDŬ¬@'=LÐS÷Ðu¿ÿ#>ËkÅ€£G€Û4Ð;J@1,ÊèôÔ›Ø@¯È  :*µ(3'ù’@¬g ‘sT -À¹làž2ž„•XcKô—½Û·Ò «ÞÑ@=T €×„`*€àÓôP·x«~Ì“Š Ü Ž} € ­tÖPtÊ÷ï Wø@¶°˜ú[ŠÐ ãÿø×ßÙ` €Tø \Sæò¾ÖiZ}ý—•Æ\r õÜ!Cc’³eI—[ÈV.‡§€©<Ÿ_ìX—„qsÅ @÷£,˜øO}€•SÌ‚3úk€ÊèùUçD8>ó(Õ1ÖÈwÕœä\sÔ˜/lty´ü?þ&ü2s1c{<ÿz>~em®YY/Ä˹X¼ÿhçûðx¬ ž••6:W$_ô"°¯9ÌXY)«ØÃ' ;ù‘Ù:eñþH£€O/}z™f?\ÿüÆÓž>öìÙÓgTÿ¿zõŠ*:xóŠ>A{•üÿñ;Ÿ¤gÀ0.X=b<ý¤pOÑâë» ÿc -€ § ý Uc -@à @À?­€¦o©(ë+>Ó+û}à Ê)ï(÷²™ìþ¼ûèÁ㺩 fDh*ÅàN*öÈV#>©4}Tœ£@jMs¨غ}{iajIY @£Äkã¶ÞÃïssy~vNy -€c¶c¨ÌÇŸ¦ˆODˆè sÎS™6»«a®âX’6‚ÿ€R( -Aöõ0é[Ñ -àÏÂNE¦wõ8Lйó&&žú°Ód@wø>Z5±Àÿnß(¦ 7Î#аÿ[È~Ž÷5@÷ »xŸ=2@[°KÊÐ.ek(ë*«YÂû5](ªðé- -Àß &`„‡A|³µiñ^{³_²»ö³·M{ÍÏê̬Ó!¡Ð -€ëÈÎÍ*/±@ñÇØþçeù‘*ìAtÑ1.@c¬¬õš²ZÓ&ä—iµ“GÄB7$“g;üs08fÎHa>3<=GÉ/cýx8—÷•»’=†pËþ‘vñâ§—ÝÐõûA$€®ž þñxùRÃk¡¿hÀ+ºÒ>~ýõ÷ß~}óÛïþ4€¾ç¸õ´§M¶¾ÞüZ‰t(†nK@O€’QüBH €²°ŠXNå0M+€}* [,à×T:?+~$þ‹(r iÂRe`tú€÷Å`;ûØÊž‘¢€)| œØ ¡öpO€:¦>¤iäT±Åy–§™{å¶Àǃ|š`Ÿ^² -Xß—¹ã>'ËZƒ¸·€} à?ã Ÿ¿0oàŸ]Ëê)TÈw_€VhU„À -¥ü­Ì/Xøƒlÿe5øó'»bœ”—ùø•µ¹žÑ×^ðH³¹²ÞëkØf,*Ö}¿û}V|ÏÊÚ ‚GOÈ9-Éyþež‹§Ó p\ü£F—høÙϯý›ß|úô¹Kþ/_Qðʽ¾ÁðÍë_ßPüÇ ÛÊòÙ ÐßÂнº RÒ1ñ‰Ñò’ò£J(­hY €ôÐnÂ;í~€À»(µ@(Ê;Eýjò 0 -LðçŸÅ–-´CøùÇ݊ภ-mÅP–…7€;¡Ð - øŒô0É ·ß`¹áp‡Ï,ö¬|©LNåžèÞ—ÏV+Îà]kS¹g§Wý+›+hJÞc -€#¦¢¦£±€C À¬ÛêÌSúÒ -àÈo„@O€TâG€cùøc@GôàY€¢".«ÞÆÑ3¨m<Ìàèo˜ðXûÀQ>Zèöþ¨oŒ™3 ÅÖ£¿°]ùL÷-N:¢¼—ž–•ýqD{ŠÓ#>tÿWу¬ HΡž;dhLr¶±¤ … ¾MZ– Ö”äaAþX¦‚ ysiœ=ðþó{× @;Íg€ÈÍæ=êÿ7Ý èo€äTÆñŸŒÔ$ ™À¨ -ÀÇ;¨ 2®]Ï3ÕÿÑÎ}-äúØè5±?æ•ü½+¼ - - Éî¿á(j:Qi¤Ù$VØVm‘ñx…x·"x¯i,á} -ãc@—¯þ›;ȾùÀ‹Ï^ªäÿêÅkÀ«7o^þ¯ßüúø]ÿJøÍ7íÛÌgª|ÜÔìé°HÁ”&õO+©G#KE¨úñ®¡Ìÿ¡>"M@™ãÔ -@_À<|ð#üCvºÎ3ÚK[[ßíþ¼û˜èæKcÎ#åk[[B²ƒ|”Y§°zP+€q€nw¹KÅ -mVÝëI +_ªü¿Á'~5 -@â? -€±ú¶ -ÿ”Sê….Ï(Ž£…šrìá -@8੆$ó®Mô¨[¼‹€JǺ—£|¼ è– -€ÍÚ±VüD“€ºÀX?¢Sø(XÆ€±ž9cßÂ`B+5Κ -€I×x/>µýÕ}À·F¾¨ïú-÷øî>Q`ˆçœ²BF‰ß«]ôOð× -ÝUB÷øÜ!Cc’³eI—[(ýÐ -°à?å}!¿'® -àÖÊ½ÕæµÞŸ¬Á1Ïé¹g]ÀU8ÞSéÀ#]r \dÁªàbûÊÿ¦þ1’%ð°Ë -кÀ¹çÍëò}˜×—•i`þ¾•XÀ¿b](÷Râ7Zæ= -ðkµ3WrÇÀÿƦ#-þ#íâ'/]¾|Íø7z|êÏã@€+\ôõßýÒÐïÿøG£# žcÆæžé šf€¢â e¤e â$M¥ëHHŽTî ( -ä¡”*•·í°hà€÷Ó - ?¼CÀ1|zóËËŠ›&VÄô´¦[þ¹v,æ8K†‰- ,4ÀH+€ûXÞF}ø. }dÎîÈø4˜ƒ¡ll~i Ü À -h­lCpMñH¯sDplu C‡ZÐq‚vG„4Ÿ§2!?ä‚ïÿ`eþ˜ùàVúP€°­ô^©xýÁÚC|¸³2;Òà[ô@ÁY×}gΦ­ÿ›øTöWŒ câ·\' -í§ôpéƒt€ð´Xù Eh]ô«–÷wþ/ PMh•Õs‡XîÄdôHþº¸œÀÿ e?Ý~®Ô÷*î¬aÞ§0„þ þ €½Š`QVèÀUt=øÇ**Ñ _á¿Fû}4жÂg!tàxSÒQ™†Šþż[nŠíÛ¡l àãõh‚àQÎjÁ¦W”›’èyÀ‚öÞ-çGŠW‡Zï´O.]¼téò3€ŸÝøá÷ð\$ïÿ¿ëÿâÕkþƒ¼yÅ÷€¨  €ß¢'`¾è‡ñís·šµp÷k¼©Ø¹ŽŸ Ç胠ô pú‰d¤!€~ÝðX?ÓúÃßP¤R UG*ðù9=V€wþ1$ãÿìPàqåà¸êèªI…ÿ¶ -€®˜ -À¸@€nt4âÐ…„°ñ¥s<ý ›*ælлï—KóŽl‰þ8 ¯ÙÆí•Mèê‚/Ejƒ5dÜÔ ÆÙ¾ÏÒ0@\$¢ –1ól€?önßpù:=º -à|ÂTÑ€W¤€bÅñûh¶xßÐCFŸîúÀâø/;à[(| À=nïÜ=î·Ü1Éx+“‡Œ‰8¶0SÏi>¶ÅÀ÷D—þeÀ­/*ËU²´—µŒb¨ç“œ­—(ŠG€ Þ‚j]oÁ·)ÔÙ=ï¬aÜp…ùvð<§ îÀ}»+Ew²À>Ñ4 tÄóþ›Pþw>êqd©û}bctÇ”¹ÄsÏ{!V{!æê•¹¡Ì(Ö}Wùd?ÿç¸àQþ€}Læ‡Á -ØÛ(iqæÇ6j‰ïG>¸ˆ\¿qýúÓ„ýOŸ>}á~_>{ñÜü£Èÿû¯¿#þÿö_ý•Œ'ñÍç#i)œ•Hï!lÓF$@QH2%”LAÕèH`º~”G½V¥à‘ -ÀÎÎÃݼ{wn~H'{Qtïîà ¸ë(15"«–F €Í -@å -À!ßpG@£>xØÀ! -u²Û¡l„ dJu!fà§Ü@•=¹Ò@¯P媙hØh@úÎ9;4Œó4̘Ìf< «Ó¬VJ (Ùç0é[TdO€zù‚øPÞ¢€UÊÔÇñ8¬x¬p‘c¶ÐÆÃ|´ª©T=@H>ñ>SõðÖ>„ç–ðý-þÓ€SC(+_V -À{i ‹“v¶óøÏ¹eI9Ä£í-ÍjÇŽÍ24&9[–ôŒ©ì‡)‘ ÃÍ y/`:ª.ä½…ÂÛeQþ¯S4XZr=?k ;÷t¤»4ÛPæï  - 3ƒ÷jûËÿ‰ÿÎO¡Nô`è­q w…ñ1õõJÏî[YsS4x¸»³™'¯C/2aŽB>‚ª71Œ½w++¼qK…ÿHs3À+WÿW¯_»~ãÆçŸ?sG@Ïùà‹ç/h øRÅÿWoÞüþ+_PÉ-ÀËÅòaüÜ­X«üÅ”ƒà 4gù_àOs§ŸHFŒ¬YÝÀPY؈P|Žì`šVúT -@ô¸vH+€µå^D À® |®’ö)Ü%¯PÜØÝ}¸»käÏ1Vã øVKí0¹€€¦@gµ[|”Ï‘ÕËQÈûnßÞÔÛ( -€ @túÿÅXû}ÉÞ¨›Ëó§¢ -€¨HTõa79 &‘CŠ•i“ŒÓ¥þk‚%úË€©¢P"C’ìë Z$H·È*€wñÐ_=LiP÷HÄ |›ª¶¤0âÀ9ºÇö€ÍŒ*>›Kÿ¯ñ-€Yí§×’K“,±?miyß·Ü -@T€´#r0½ñAÌÉ¡éð^úPÞæ´‰©`º9Îb£´‡;îoÝ-¸mdµÕs‡Xî”§åUô¢éôDBŽÂ;ø¯4©§×>õè@–Ÿ*–Át,@û4‹:‡ËöT †*ëŸ - `eEÈ¿²òÿ‚,ÿÝйù?¨à¤ò?ìü5ì `ô–5 =‘<Æ1”•±“±•¹¡Ìè½>Üýnkye[ou´'@¢‡åÏÊ?Û þMˇÄ\ÒòN%›Òß4€O/_¹ríòõk×>£' zxþìéß_ðE`Z¾z%î Ê´€×þ2D÷íç -;qzIx±õ5BÍÞ€J`Ñ'0åOÐ2$ -ÇMQúÃQüï öhö8±€_~ÚCÁûÝ»ŠþcÀ;_ù!7¶hA©?÷·EŒ=„`ÍV‡| À -@Ó@ð/ä³…y _nlÞ ’‚¢Œ ;õù@ë´Ûv¤ˆÔTpaq$&Šš?hޝÎÌ(Ë©ºþñ-ºe<™`Æ~èsh+ØÁ߈VBMWŒù\{<Nê-ï ×Äû½ÕYEA¦KÊŠ&zÙ­¹Syo؉§Nœ’ÍÌžš››e˜›k‰M,.Î΂Œp Å´ŽËÔº¦Æš(¶Zëë7AJ]Ö{ùÀ» Q÷¥Ë )àk*lwy˜þâÌbGЫ?\E»­ïõ‡Š Ü½â Ô’½è².Àsòw1´[¤'š šdh'ƒ.×LÁ)t-ÑbRIw­PâqžS+0á™pƒ°ÅŹÙE=ÿ ‡‚av–P¡$P2fggZkðw?.µº¿uZ'ú[ÛÔkAø+«ZŒô@ù@+§oÀz2!ôÈ?ÀÀ˜ÿÍÎ7ž†Á¸7å*„ vD6|k6¦1ÏÍ<øŸ“˜-s±ãuz¡ðàçñ Д€Ô½«F…0µh1BFêP t®¨0·Ð1®еÚK9Á©™sâäïÛ&ã¿B–qà?óÆûÚBx Ê8žÈ]a¼§åPVzÖ;7Vzߨ3X¥|o€ø€A±Œb‘‚ŠÝ!Õ66åƒvÞ‹Š‚cY -üGŸ¼|õ_¯Ä×€ðxúô‡gO-Øà%.øÿ¿y#&ðëë߀ü7| ÈswìGñýc4TêÛùðgl3øòË»0`È5@c$ j -€ …å  ×šÖàhàèoÔ=NP2=‡)V)Yÿ(¯$€ŸwCØÝùм"€"+Q”£˜Q¶vþß×/‚¯Vt+£>M`ä["ËÜ« ר R=Ÿi^Y:‚+®6âÿ9íJš lÞ^š›AQ0áUÂÅFàsiìî„ãçY¶‡E43GžD™ÀáÐV‡  Ñ U•€Ï¸ö•N(ò É: -”š¬uO%X78ÈXmøà”2·SgggÏ‚~ú‹ÈææØ@;@Šúb€PX+à€h¨ítnvn6€žWÛuoýÁúÚÍ&8[€e€áúÞ-¾W=\ÿ‹îÝ@»Á-º¢}Š¿":» ÀP@Pn@(ê ×P7kZlÝÏßS\Pªm™[ëq׎®Ž: «ç2Òïl€FXÍž=»(@€+Rú*HJsë·L¨×8Œ$ìW¦ç­e,ød?Ûø¸ ËbSô sí–Â{÷0àïì|£?³ÅœÚwÀ¡PÚçª ñ{á ±1‰51_–B],È,\8¯Äwb†ê\ûD†0>OAb[`›Ö‚øi´”ù4óp(ÓJù³óó|ä>€ÿ%K~…ó@ÀAåyiŽðPñ+2ÝèÖ? ;‘<—Ò¼2÷ÕÌ}oŒ=YÝØÄXQR`Ô`‚Pá¼²ÎH%þ µ}´®›iÊF ê5SZÂû‘ö1ÍéˆøC@xd%€ À+Q> xýÚß´`k>Y˜5„Î#7”T’ÝÚÆ'`S0—5Š5Šü‘ŠÊH  œ{û€éú düî -ÀA=‘ë$mSüà7%’x<Ò°òÈqDÈ & - ‚lç°~TÖ÷ü |Vo“Ù)ÀCý÷`Q Rˆm™Åy1÷´•Û:67–Ï5ÕJ˜IÀØŸÕý4ûCö÷l2žL0c¿Z[ù-€Pè *Ð, _+û=QXk¢0“ö†ë·ÄÖzM€é€pöÔ쩳*OR ÛµÀ­U@×íPÅï½t‰›°×5*DQñ@B#@T`¶&zãëëý½¾î<€uÊÒ:·ž†3OT ùµÐ_\)Ú—{Ò%{©¬õ+` -¡è¹Ïž8ÁÔÀL(u`i -dC7 -€À:ÓT -@Â~1%G=ð ö ñ¸¯ùé}€’BCxO=ë1áS°éîŒFaš³°¼lì¾5ŠùX8hœ;Õ3ÕJ/áZ˜ -@Ô„ uJ{'‘¢aŸ÷íê_pñ_ƒ–ÅÒG ,È…}ˆn ìd™?Žãs‚Vt½Ù(÷lõû͸ÐO–ºÏàa*¢\*ÌSKϾQâç­Êâ>?-xe)ù{ˆ•±¯ÏâMÞ( `ûûTj˜’6"…°ÀT3Î>½Ú¿àiÎh1ÏÃRá?ÒøàåO¯\¹víÚg×ðüá—gÏøð3> -üüÍÄ^¼~ýÊÍ©À+ð×ß~¯zv?~~q»¡ý U† $ þÿJ{fð€úGj×µƒ6ø«ü¢¡×þø~Æ{TžJ€á>X,#9W €Xñð!u /$€JXùj'Àcœ8„cÒLò¼MÓµÀþûÊÞ4w××;ð[û|(·o+¯Ëì.g”É)ßÛÀY(¦Ñù´¿àqn4Œñ¢üØ\š; Ð~T\éµg¼Ôñà}ñ5#c*ÿg]€ûÆ2VO²ì]¿ÐÏž©°€ìÏú5·Nù_öÕúŸ› -À­µîLCÐT¡ÙžXpêìÙÙ¹J ¾ÐYW¸ÉJèpªQÐÒÙÖ÷nýE7=¦¸ -@<×@g¯@(¡ù× -€îL§l*MPj€`’à§›«€Yñ!€*@8UU¬¦À=†°×; q¿ðT²§lQõ@+RO(Þ6Å·àÄʉÆ|Üà;ùÎË”º¿ÐÜ·E ¥OVÌñÆY8hœ;Õ3ÕÊX -U‘á= zA)>¶"Z€\h*籆 y]@»âé?;``eÀ‡œƒí+9ÿÞ»H¸Ÿd‰ÿválKPÂ\–àí±þ±Ð´\é ձƋ±"g¶ù - -ÀŽ^k*çCð?Òà—4¢UšIï>V“§:7ÆfNž. -À1ƒ1 øG›û¸z~nüpãÆø>Gx!"ð‚_ñ5@MDðöSP»NòØÜ¼'`ô×È -€HÀöð €$(Ûç€ABk@ɪ~ÞS+€QÀˆ_ð?@Ó”®^?ÿ¸«E+î`ƒFî 8bгÄÇû€¤TèrqÈîÃÝ|²@å r+€Y‡JøÀMû*@ h^“Ìk €ƒã·±y»é@dÍØæ©Žµ0fÊ#\ù_×Éx2ÁŒý¶Z˜Ð -`¤€ª@Cˆ~Ü DWÿu@ „Uá_‹Süÿs(ðêÙ† ‘Àâä*€·Sn~±~sDÀ9±› -€}þ|ÐO°,vzkD¨|\`2Qp‘¿ö`¡»_ÀiA.Tªnšÿ6€ÅÙ¹³„€Ö ªT¸VG´¬(˜BHÜOü-0^«}„ú• üŸ¾€ã4"{¼¿žèmß úGe¥x`(ð¿RP}sàq£ž9h¾,—™j>–*€Ô6 _X°+5:£>¥|!ù>¬yävÖú1•9k€#DΊ^ÌÏjž6îú€Šï7sBWUQÂ9Äû3CûDcK…ÿd¬„sÓBx ìVC w€7• ÍCL;Ä\Åš\ü¾®xü`Ÿ@~©ƒq½¤yž‹eŒÏ6€¬8¶ðÑtö¡[\¾|ù -ŸºþÃ>ü?{Æ_¸?Àôˆ/À«—¯>Œ*”Ïeƒî…þi†2We¹±eø‡Ð€&$¤qË*€I -À´ßxOý¤À½;3f¡,;`PËÚ àîCaýî´ØV]ˆ<®€Š¦Pð÷yŠ/³ Pd. -ÀH+€Ê@·X¼÷+*öˆ|ùåÊŠ}(›´+Õ -É+@>Éï¶«üAð튀/©ÅRœ³ÀÔ³ )8¯@^9RO©4}Tø§àÞPÿÀ-{£€B„¢¿Êÿ¥þí+JÛTŒ(¥ -@¬ž ¨°{ö¬Àð÷6>2.qS·• -Ï«{Ò°Ï áHëÄ|&*µ@S`Q§WÄaUÒÀ -ÀÙ§R(UÎîÂΞ)>¢¡„€Âp˜@Z–ýÿuBûlg?[Ù€?,ô78Ê@q"lü/ý”žÉ“ò€QÌæ{.¦žû5v†PL‰ ¹Ê ÒºÁ(LsEX^oÿ õÎØ›óõ¶œ)+s¶(à¿5ÕñÂxR'™ô‰“ZRY=Ø×Ÿ–Š‹ùTùñöĬ‰~Ö¨€˜x?ýq¤ ã×Qv0þ;3e øóÛG*@ásÀŸ^¾zùÚÕëׯÑð/ÏžÿbàÅ ×¼xn -ð÷HÈÿ¯_åw~û=ì~>?^ܬ Àm1€D1ý7 þ+åÙ&*ËËEP)\yD¥ü‡ôÐô '@ØæD\ã¿–yÓµU^s1€B¬@B€m‰¹+®ýo*ŠÄ»Ò£åáÃZÈV•€È­n+CûòöŠ -ý›·õ/3ä€}¨ˆè¥è& 6þÛ×–øÏÞî -¸(ÄØ+= -@Â|±Yšþ3Ï6࿊Փ,Ñ_vd+€C¿P÷ˆ“¤¬ÕÒ¢ëþÿ}—þeRñ°_œQ¢ -à­€Q€)€Ú ðær»w„€âï -a  -€~VXQ€|F€tÌ`´®òè•VvÆ#€þ°~%Mh†TìX€ÊàÈV‘÷@ •ðN­tY£|±o¾÷”iÍ$ : 7ÐÎÓ?ÿ5¦ØÈ:FÕLNr–‡…X€Ö‹,,0ôÏz|—ò…ô´ûןÀaŽCmq¦À|[4 Ö ‡i_úž 'Àÿ’åX†€Y¥sWDñžÌÀ®Ìo’™üÁÿŠŒùÐ À4q‹xàm8…æ!&b®Œb··£ -ÀÍ=LP=MŒqù@f¢ÎOy7.ZÅ:ÙÛ*)ðmŸ\ºxYàÚÕkׯݸvƒ¾€…þî ðî¿@xùúõ«×/_¿z…€8ÀïAd~œx°¸ÛNž^YÜS¦¤xÏ@ÅH -Ÿ˜{Ðd¢°¼ý‚{Ío´ÒàÈ~ÞÉ j0Øë¿Å2"Ø `yn~#áÿÏ?† þï>~ü8 ÈÕt² ë¸ø$ &Ð*ÀMòÐdYà¶29£>õþn©£ü.|Vnëed+€P”¾eJ´0öëg`)^y‰©…èXò˜b®øG`\ܸÐ>ñF–è/U„Wc -H€íoP@ôX¬ÅjWý«˜íÒ?Z@S¸¥Cš -€¦“|²Àæ aŸÀˆ Îv =ÚÐ €µÎÑ>£­ J@d¨R‚Dþf›=[UŒ*·PõHä à70ü‹Î3±@¶°@(øLÕ@(&c­ÞÆ`ã«q°7E±P™Óï -^ JoKö°«f¢¡2]7fÕ‘Þ£($9%>« $NÅe^ÑŒý]’×3ó×QF~F†øý˜`d €;óì§ãuBq‚â ð_´2œ¸îüÂûUŒñ›Â6Áß;ζq€ïjð¾ì‘Þõ#;†€¬(‹1ôá߈@vÊFÌËi -¼æ^Ó[Âûvéâ§—®\¾zõê5Á¿À”þŸÚðå‹¿ üQÿ£àu~fî0‡Šc„¥À×ض­#JvJ~âæî-Ëõ_cæUVú¢M€vOåÛJ8ô[𾻀/cÃ2!šcѯ¿˜¢ØîÏ‚û¹ùî–å~|ÿ›@(q¨‹Qi)¾ÎÎ]®¥2‘x÷q¥Øš­š>Þ2øOX+‡[ñ‡€â'FH œÕŒà§eÌ“`Î(OÞÆ¶OF’ŒUQÍd€8gü7ä—ŸùÄìéìc¨‹ÀK*s¤É¸“è/;²€@ |* @¶Ðæõ?S/F-€Šþ6Ä—=Ž`Ó 8ºD¼Þéö'+ïÐ -`Ÿ€66ZLVN€îÍÃ}´ 䪼 Ý'·hú ŒútPôÜg³€RP™8Aå°Z÷ð—T+üaþ=*ð­­e?oç`’…“A­¼M+Ò‡À(Ø ûõÿ61¯:Ð`¹½¼A¡<-f¢°]¦£ëÆlt¥ž´RÀÿ…… !ÏenmÇXü§÷_öçÿüËHÎVα=¥pª*æ›Ìžœ=w~aþ}*À;Ð~€`ÔOügpnšËLö0þ¿Gðà‘ÞýÎw @” s¶Härþ)ëŒùl¹1†XÁ¸(e·i-ÑýH»x'ÀO¯^ùì*ŸüìÆèÿ¿ð=€¯è@ ÿâÅkÀÍ¿~õšª^&*Q€?®  *”ºèƒš.‚ûñ_ŒP„â€ÿˆ~Š€ -Òä"µeJ. -@,çCïPDε6DŠðU´l(ÄÓ‡Á&®£lÍÓ¸’U†1€RÄ·PÖFþ&ÚuûKPâÅ+ Õ -ÀíJPd ܦ--þµëæíÛ©r[â%Ày¤?„ÿøSû¯3†Í†8@†tP±'Ñ_ön߈V)ÿ§µ–|„ -þ œt}ý8* -@q<º€¿RÞÉà "c -ÀÁ>î` -ÍiQœiyqnÕà`à@€º€J¨ò|¬ð -uã•@‚>Ü ¡ßô—*@¿Â™(€ò·À î`Šo8R»(b"\û»€»_‘¬ cÅýo¼ZPšÒRtºåî– Þ–ñÝ -¯WS›ëÊ(gª#5‚¾Ï+]Ò ô™ý‚Nœˆ?Ðß¿&Ð#ÍÄùe{Æž!Û½MÁHO@§èå#‚ÔM/ˆh'§v]ö}¶X?̸8Ê€Îéâ}¼S™k'š굎´ˆ$»ñùOŸþð2Àóg/^>Þi 芀ç/^óuÀWoÞ¼ôÇÓêG+w+°²µyoûëøíloS°}Ï -@1¡¼"±‚­,gO€Ê#*`ê~Tˆ×V­Vk©E]FÃ"!»Jž%ËkSSé~cyÖ €ÿF3@¥ð7кZx`©ðà '@‹ÿVòJŽÄ´ðL˜7Lü€P›|@ïÛ2…> ¬ã€ÿ·Ás² —àÿ‰†*20ÄÇ€é3@‡-Ù`éÜ9+zßÛ’?„€,Â?ÔåHZÌq¥wopä·è@QaŒ´9GÏmzn@@Ó`¤'@þ€VoåP9¢¼»€Aס·Ö9Ú ®€µØ* êÀ>#NsÑ d£R Ðw} @B?àÏ0T2vBnÚÍN§¡àp ({¼½Ìã+3€q Úìܧ)à7^á‰3‰} -gl//mÜ¿o¨ÆbFXÜ˜Ž®³æJûÌÖ -)ÙÈ}zVkÉ«?ø¿)´_|žØƒÅ$«¨Ëÿc”@,pµJ8·>b^©fé(zëÞààãõ?È ¶kl9ä>Û[_ÞÖ9߇¡è¬µÐì ÆÏúgÍ4¶‘u²ÀZ2Õ`mZáÕ¹>xÂ1, øGøO#Ú¢üpãÙçú?ö,Ààñâï¨|ðõ«Wÿßׯñ|õÛoYð†GŠGó³ÊNþŸtT+_+)† ä©|dtåýý? ¡4}¦îà¿ ô_jÍkNɲ\Œå|JÒ¶ÞþÖF+€æ­@ dÙ -°n ýÿ°  i†¸¤¦å:ŽÄG/Ûß €ìf• d{Zø}^à.rzR¥ùóJóìÝŽVËEp|E,?…ÿHýõC  MT(¨ñ_ûh‰þ2CÃ@…ÿ1€ †0ñ[Å€þ´VKeÿÒ ½î¹ - éÐT„À‡´Hà;ùhãA­*€FO€ïà > Ä’ÂdÌà¨V„†@¥dG@™ÈD´àud¥Pp˜@b?fäøßWüïõÜâÚVõ-€ûÛÊÚ§ô àþ pJÒÜ}€³3çÅúÑü5[€šÃ+Àœz -ÀöÝ-¯ßÙxÐÓ&ò¡õ<{ Гx‰ÆH¢øz– 5þ˜?Ï)\ðØI2¯¥¦ Væq.Š>„Pffhð}ß3#€¿w%œmølêÝû…¼'S®ìVVŒõèVæôH$’ÄùØf‹²}Þ/Lm ïGí…ÿb×n\¿îÏßxÊøßð÷P\À‡ ¯_½¡;€°x y$ ->[Ep£í{Ûè.ˆÒ6!¼“!±ÿÛ×`û?¢• (ü[P²œÄ›ë‚¹MqNiZ`F\þGÀþÇŸþÿ„°äoNR à*˜TÌ"-ÛT×qÖ9 -€×‡ø´»ø2ŠôÖ²€ -*´/,ˆðU ×0+ø·NP+˜iWÓÀN÷ËlÀ Zð7þT€%úËm0ÒÀ¤oèÍVfìk·uˆKÿ…"M€)€wi0ÉàXý¼êt‡Þ­¦ðØß -@aÓ+‘‚I>¬á®ðHì—û)Pü…ÿ~禒­´€LÙ -À ôWÔ>~O€¤;$gQŠìS\ë_Û7¦€®nBZ ðýÎ?¨ -€Ó¥SµFBhÐ)¶ó–fÂóŸ`)È_¬( ó’;õûëTèýYP+4û9©+¾¿o)tKÉþàVþà?ûÎMs™I«k@„'’wþÑ`+ @*ZaBZÿŒ™ç‘œT4ý  Þ(ÏœóÕ’¹²7{ÆÒÔ–ð~¤]„\¢à—ÿ?çc|À_|ù,À Q€î€doÞà -æ‘1yœéøŸb  S’,ø/šmÀÓÉ¿åò‹ZhMÛ@ûú0ü/-ÀZ­eP8-ÓrÔ^ȧ´8ÙR<ð_Qðˆ*bÇî÷ù1€ˆ§f…Œð>y•ˆÔ*ÿ× -€OTYÓ ¡~²…ª¯Q8‚ÿ*³Ÿ^Xøá;ïÐâ"i(s³­¢h[KÝfÕ>¨þåg!pÚ‚ÂbÇ’‰à)Ão(ª1àÐoüÃÀþ0¡0 ACsChCh~ œ ”oüGú4z|> -X͉{p'ÇmÐðéVy\Zöè«4½€|üe@p•þ9 ¸_YÿÓ¶ã[*û‡Àýhu¥(z÷HÖ”Œåþe¾á«tgÈqºìðíÎ7*õ?ìP¯w$öΦ¥W²éÜÓ%~•ùáèP€S³‚kÙíëp±i⿬ùò›æÍ¾D¥üàŸþ„ÉfgOÏúÂçi(ðzçAAÂjd¦…°3áÜ´XÑðл_š÷+y/VÀßF¾@z¨àŸrÖÈ9½52Dç§¶\,ÆþÔ -Œ¯?Âß´?9sùÓO?½rùÚµë7®Qþÿáé7>ÿáÙ/tàΟÑ5Ð àÅó—/ÞÐ+°û| Àòcb«€Gv¾ßù~ûû„€úk€™ Í}'›(€€òˆ¦>Gõ lò­üh¨hµ”,'3€,«Íùþ‰JØ;[ó§–6îì]°K+•,’ ¸èŸ -d€o‚NThx× -» ¡xue÷ï×>‰ô˜áß@ß©P’]¸ ÌMd’Ñ -ü>¬þ´¢Ô?ºÿgÀ(þËrÿ<ùKô—Õ>Çþ€¡c„°5¬ÝªJÿpÒH?#ßxÿ­&ùhã‘­*'À÷ãàVÉý(úd4€ >c -U“Ô†¦À‡ù$ø7Úþ‹ìƒÿFñ?Í­vîã[åó˜ àèžIÒX¤u_€Æ2Ï’î4tE´¡9*V–Gû(>`?Tý‹´æM–Z ­ÖF£ sCp²¶‰ÖßY‡£´ãª&ÙýÒYG!µàÓc¯ÝÝTT 9dþM¬¨œ`ÈVvqúÜ¿,,¤t…‘S’‰~¹’­–ƒ1˜¬jhà(ýYþô›D €‡)€·üÀÄ9&‹h*h‹Ð p\x»o¼ `Ê~Æz|wî¡ôp¼V„ƒû HËžCmH€{Ôšƒ|ýCþÏ*€xÏüað¦ºøo© > `šoD¤Vn¤¼¨Ù -@“I>NmJ¹aš7ä(Éä Mü® H3Œ¤ YÍܽûÍ{`çsÑ -ÀqRãü…•  ÛJ¥J‹Ðpiáø/ò&ÿ…ý6 ÿ\6ê—™”%¶+ùê?_úNEk +ç9·’û‰÷Ø kN4aÞ#2T gÛ!>z„¿”w3JrÛþ¢ -€{  -@ù\AÆÈQGÎ `ˆŸèÎ’—›Æ>~dzìèïH;sñÒEº¾zMFG@×o¸ ÀÓ§Ï?§+€gÌ¡¼xñüÙK€gÏÝ3ð‹|(­<›ÏæV÷îôF¨[XH›š3ÒO6¶(¿¨>†;U?oÛ -@ùD{i~Qõ?9@k9¾ÿgËÔ…õ} -Àƒ•>D¬®X^jo(­+¸{×¢û»ü€rt~%6’¬’ç‚Zü`*Òõ?ËôTöO*ÿۘ |˜Á^¥‚QˆªüÁrÓ™¨G¶é>Þa€8}óM<Ð~€à­¼”Õ ÍoM«Ç€™Ó¼©w³hP€‡vmC -(2`¹R0¬Ë<~Î}ŠfF WÈåi-Ë÷GÚ'g.]ùôÓËW®\½*ü΀cøEÀÿô© *ÀË—øGÃ@Íeù_Æ•çôCÙ@Ééþ×ß§)´cØT¨¢È„ïJkFúÃl¤€Þ”ýLÓ -`¿€®Ö†,›¨ì 0/ -°Q·Ì´œP-€Vw,P<€|µ<7#¸·à. - n` ›OÄò㌕ù -•À^ŽÇ:¾ôàCÃ|KÞNLþ« …ý‰ƒÞýK¾¨4@õ=)Õ‘Ô}˜`™S2) -@TxOå/ÿ̸/`YŒe”ÿ•íþ&2vƒ=h‰þ2—íS&‚W# -ÀÄoÖ«,/?&R€Vû+Á%nûûx»o¼M+—˜î[q"’µüßé`_+€ì WX)‡ú$üWò?ÅoäÛ_üw8¬‘‘¿6±íœ“)©‘Èî'R¦Óv™6‚$ÆQSÒ4ÿ?êçdœÐp3ªŒ€½(¥ÿ¦,çå„õy*`©])ß|S!ù[þ€r:‘9+§ î„' -`°PÊüàÄy€ µàÚ€q›Í~däŽ:€V K¡ÿk\#@QŽ _£&Ötü7Îf†~Þ/¿} VŒû({:ïåííÑc"Ï£ª -À+·V¨J%5(œ0`ÁÈ<½-ŸQŸr¦Z몖ÞBøhJ;sñÒ§—.]¾ÄÇ€® -ÿ?»Á÷€žÞ ;€gÔðÞçè9~F‚4Äü€ÕC¸G3ÀG‚|M/€[ } -À” `T€?¤¡½€¥¥ö’;Õ@@Xˆm™š '*³"*í“ËüüßþùÁÝÖÆÖƒ$# -€Œ®€æ'(Z‹`¹†#0ëGlöJ›oț☈Ѹßíû!ÁÀ´£Ü¹óûɓʊ@–0üçg[EÐn€tÇ8Naä¯H¾FÊ2NϨìS ëØ]{æÉ'X¢¿ìm¾°¸¨×oôÇ@†É ÀŽTŒøü/ú-€Ê ð½ød+ýõ¨G÷p€€€CúÈž¹VÝ -Àßp+€}>þ‚—ýù+yk½q?Mà?¡øÿÅYϘ_ÌpÀ)‡&ÍdôØåÔ(¦PzŒšöKÀ ~öIâ ì"ÛçîGm¿¦šÜí 0E}€h°T|dïÊ€òTH†a’hùÈÀ̉sÒ-@ÕúF›Vpß -óÚÉ|ú¤ô(°p!HfêQûàêþv?ðÿz -Èn;ÈÀo‘qìJ8—×ù­í÷À[™ù.6¦|‡U þ̃æL\³oPH€²Þƒ€?² -ÀO/_½òÙ5>xýÆçÆýÏíø9ßxf-À^ÏŸ¾ø…Ͻ¤k€ÊüˆñLnßÛèg @| è¾þ[VRÈ6GÙÒrC˜¶€·ðˆ«… ÿ¼Uš¸?€Ú “rÁêQ`gçËŸØQöbð_é PD'ûUQÆ'(¶¸Œ3Ž"< @±9”ùnbkØò²½ö£ ‰ƒ E?ª”dÉN¨àa h>1sîÂÒ9€N?ÞPšvŸ]2pÌt¤TRgÂÌ锂Èì€g€ÉÌfÂ@$™l‰þ2åü ¬U ²º@”ÃrýM2æÒ€Y«½ö•\"}÷oüá>ï÷[ -X - (ºÌ¡­ “ú(øïËž}­à -À>€Äÿ&ü{} Øäâÿ:ë8ÁªüŸ¤ÖTîþì¯u†#ÓSP¡tÇÑœe² d;îîkö[€Ëi!Àçå„õyаÔZÎV(÷·²ÖÚßî¢Û@øO2 °°¹E7+ °]+ƪ–ŽøÉ -À”ý»€^WªS€Öü”>+?€H͹ PLqNÈNd•÷&Úíîþ×ÿN?tòµ>€M@)bÏA -€ --úûf°œ@¿4ßL¿¨ÁÃ]ÃyÒ!¦@/@"z þf÷ ®Âç¢÷Ês +AígfüýÂôdóË•À‰ôp„sÁ¾B~“ã>EÚ£(©qFí88´À„~€&` 2ðA–K2ã? tYGLÿßâ[3À·è Z¿€™q€ì €oöð­á®Ç|ðoñ_a†%òÛTú+þón×…ÿ_D@ùmÀµ”f<- -@iMfàáßHM†r#R˜o#e*aM¡8E5$DzÀ¼×kª%Õ8§ÁÀ¥ %•¶î‡pwë¾1ømÿ º@@>î1CbÕ˜& à<ü@¸BWaú©û/–é88%3ÓžÕ:]*íñ¯SêLÿ/° -þ+õs²‰ oós0F‹J¿%¿¼˜Œ™7Æ^±+áÜ4¿5­Þ§hxg?€Gz³øŽ*¥íúk€$ -¥Œ€OyN*6 <ͪFž: ¹\ÏÓòþ4FO€à?¼rõÚ¿]»AÑÿÆÓ?\‡èÿìÙ³_~xvC”-¯jp Løþ<Ñ?žÓæf€°JÿÓ²€¬XRõe$IÒ…††ð‡ô@Ê—-w¡m®( - àŠ÷Pü¬È›°D¡¢Ê2¬lm´æñøûQ9ËC0ÀÖnt–ûëtQç9@Ðõ¸¢öq~ @ða™çd©Â?ÿe(G=üÝÞÜÚ\Y9­Èwú<4àôÂ<ïrfaÅŸ•ü§-·Zzk©D¤¬Éèôy:„ù3@Æv„ëd‰þ²ã}  ˜)@Ö’ç™ µþ*Ða= d+!ÿ;)2]cÊ~Æz|/ß0ÄÒÀ[ àð~²'@_¥¡ˆLðHü7ükXÝ_ü§ð?¹øÿ…~$€0'Œ:对LRQB -8 8=º0oØ(æô,±à -ÀÀŽ -ñZó à¼)ËVÒà.YŒqö-ÿ@:ýÜ*ü7PR×Öó ”}gæWL0ñ†0‘ΠQQþ!ñšÐ§>½¦\!õ~•÷ùþ°ÏRýN àZHþvÆ» ÿ¼§°‰•± ï‘Ñ~+&ùè ßÍÀßy´ûh W/­ØZYp>ð˜ Ãðïµ™ 2õ€Ì7#röX–>~GÚÇBàÿÒ•+Wþâÿ ¡ÿ]ÿüú¾ ¤,ðìD-Óx †|FN€÷6·¾¾/ìÌ97€ZÀTšDÚö3àË@Çêàx=ú-Éu©î’Šû-óQ€9û¨Tß -?Ù©`ÆEÃÅvîohÇ-\AG´h|  6•M1C}“4(€ /€Á¨ÀÿªßxÏýtè`¿Àߨßà¸ÀÄ~”æöûü»ì¯Á7$ ä·õÿ±:M¿'èÿ €S@Ó × 6©B𪂲PœÊ9ØÉc,|ýT û}èôO˜åÙÊR0Õç± «¬N¥²TîÃÞÖ„ÏJq€)ÎI{Áœ^1'_$ípºRÄì;à1ƒm'?ú¹€†<ˆzæ0€D{W+DsB:Òª“ø²¯«ÂJ™þ8?^À7”1?h*“M=ÄHcÂ9Þ^˜ßÚdK¿ó·´‡EØØúîo»ß÷ÝΣíŽ1Á1 ?ðŸ)F"!dâ?ÐtÜÛŸ}ô -sI–Gi.ÞOatð) €\»* - òÿ§ŸßÀàºxMYCAbþTî€ÏŸýòìé/ñã)Ësú¡ŠàÖvV|°YP¨§ ¢¤†,åhT`KËUO€Óõ0M+€â°¼àoóå¸j‹z÷ °¨Õ…õ ÙM¡"”A¶6”…ÖBj-îîò1 ÷¤2GºëŸûë.ÈŸÐV1€­­o|_ƒüBGÂâøÈVœ£d>7e1ÿ`£ñøÿýÊ9¿±”›N/±xn¢Â͸`3¬SÝh Íò ™õ„Jf^ôD’É–è/SþßðPáLÈ2"{5@-`ž˜ hÅ -’BP„Àÿ«| `¬'À÷ô-€ì @QŽjI˜ÔÀ„VÕ瀛 -À¤oþSñoø/o¶6Q¥1ùŸ}qþ§þÿ/ë™Û+ Ô>s¤¶Xz ü%!  £ -€R[&h«8AÞÿ†Ò?G‚ÿZW¾XòNXŸg’€ Á»1°ù´P¸˜› -šÍÄ(÷£Ó¯¬œ?¿pFòËth ÿ$ès€¿áßJ€Òp(\‚òó©hñ¿äÖHýNÙ  VÆ m*#À5jî#̸Ÿ#álË(+&ûð¸~9oghþÛ;» »»ß=ö×CˆQ%Œ`éñ¼LøT6H>2çeYŤ9ƒ@W@W®B®ßPiÿ†YÀu¾ ðôs!¾×àpCË?|þôÙÏ¢u#ýê§d„¡l‰|øÿèÑ×÷··õßú€â§%Á»`Åx5…)ßAxïý„ ·HT#‰újøä,Ùü‡à °¬²=ISI: -ëçH×2E±-•¾Ñ¨ì'›¡ -`c¹% -€S¿÷¶™O€rÒ0­m*úX?|*øüÄÙÜßy!|è@Àí­¿·ãßÌi^^àI7˜YY"³ùÃĬĭP¼(@À~:€JP”]jBáŸDá=|  Ù€áÜПƒþf4àxšÚ€ ðZAÉ^»q h¯ò>N©%À þÂ-ÊÕ#ý&0íà7‰Úñw•x%aÕ0f»ÎMó[Óêý -€˜¯ó­m;z~üHà  ²YH$4û—öXåû£íÌ'ù-¾HW€×ü1\þ_·ð¯¼>üÛ7àó§Oøåù3ªl§ÌÑÉsV¨  -À¶µ­4ñõ–‚@¤¿~]Á -,à ß’ØAY°À”ýLÓ -Ã[ÿ‚âLIŽø¸.`Ù¾€¡´VLHâ.™cåÀˆs÷·6–7á¼if¢+64E€Š 8¤%¸¦hÛÇè R÷t‘³m²®¶h)î¶FaÜ,ð¯ÁÅ8€€(@kvPLº4­»â¦UÎgUí¶ ¥:5Ó¦È-ÔíßÔDZ³m_¸tD•ëÚÎWû×z‹³mŠë”л–Ð~](*°6Ø»µPªy- úº®"ù¢Åß@‰@;ð@ -D7¦;}Z]\Ô5´ØÖxîYMW¹×;ºë[Zê´× ãòÿÜÜ)ªŒÿ³gÏÿ3_ÃΊ ò N…‰ÂF—Õ]¯÷o*¬û{¾ë^À:ðþC -LF0ÞkÚaÅÿ¿ (ã'dBȹþ\¯÷+$Gíðl²œ°< ÀÞç -€€ßèkeybNXŸ§(¸•~îê¨wcéåøâ¶ç]5G -üà䌶jYåt>¼ BC(vZeãYÜþÄ´(wú•Yð¡zíZåÌœà"‚Á« úñ¬zß<¸ÿ`š~â–É>+&ùDÁeaÁ¯çml·VvÞ}ì›W"a0Åô|^¯©çyà:ˆ -äs@ÎÏß´3g.]ôç¯]»võúU”ÿŸ}îÚæéøé M>C°‡€Öóo<{ê–‚¶‘§ä!QnoÅ·l -·–ШRô Ä:ȪÍ"Çé 3`üGPŸèæw_Ev»jýtØpq~n‰Úýq¸l+éZ¦(vÿîòòÝ-§ng3&TÜW–ãÕ6ïíO¸lRÃý¨€³-¼—ƒ<~ à8Œ(í<îAÿu»-çJY]°-þýÂþof ›/¬¸¨>JPô¾\ˆÚ*¤G8êšø¯ÔcîÀ$€K&Z¢¿ìÐVÅ â` 2C"@R_ @eáÁÞ^Ð -”D{«BZµ;BiÊނݶÊÀ§"Zc(@e`F³s‹0¡¨ pu™J®BðoD -'cÁ™Du&NS·Pî¡ÌÐt|C|I¥3bç]ÆMpF Ì×Ì¿XÿaMËPø;Z€Kÿ&óQ@‡³|søTv/à1ü¯å]e¸½ççÀJ €ðæÕ x#»ð*ýB çx{a9ö)î¯Ô9×ù÷êüŸÎÂ… €ß[´ =€Œ1È’ Xà×û9˜Å®o£¤ßÑv€+I®}v @¿Ï>ûÜûÔØEà3Áu¶á*H·o+‡´“§—V„.Vf²øo0ñp˜ ùsF¿÷Ý€ÑÒ>ÿAHÙl¬ˆPЂ›»@$€*€ØaDˆCœ¶ïß]±'¨ p‡üøàî -U©Ø"»ñ$f -ÀˆÁ4дùÅ#h…sª²½éº`úÏ/-eY²‘cÑ -pçѦ=ƒO@N®,i¤ÜBQraÅH}²A–õÒø2 Ý‡C fšÌÊ”3“®)ÿäÊ<Àÿ -þÍl°DÙßЫ-vŒP3€f{`Ã"@P€Á ?`ƒ(†€H ßCXÚ ÷úQáŸp²-ˆ¯D1Z·L¨§ °ê±fE-A_$ÊÒº# -×mtíN§µ„[ªg‘çQ阻âi{†º-àO«njÇŽ ÞÈëë¶Æ~oQDa­;Ô­ß”òl"H¼ëEJò‚s]D—‡üjÄu´®-z£ø««zÎNWÄ¥Ç#kgîË×§&C<Á¡j#(¤ÑæAO»8 þçÎâ!n”ù›íì쩼kÎ,r¤‡Š‘C[ꃵٶ^퀰þ[üçù±|©2_ú€â6@È” ‹l~@åýÕš*|3ªü -€6>2V9çtÊÎè<€Ö­› @ '¬ÏSŠ •pŸO€…‘¤ÞÂÄtD§„yZÀ'q²ÒiP\@HýÁó+¸íe@¥þ§YíWò¥O§ã43ö.hïÿ`) -x@ä|+ ÀX7åŸ"øœýÞ‡š±?Àß{ζä±b’€«ü\õ-ì{(@*ÛÝqËîP ò{ŠñÌÆó`>"çgYÀ?ÒÎ\¼ôÉ%\/_¾ŒàõkŸÓñDÜ«øo`F×®ý ÍŸ'9q—1øieV6·êo8”°m…º ÿ0€i:ª¶Ã–•WNÙÀ­(àøÓ)€“~dº½jóRh­Ö²y¾Ót೬P™¢ -€ÛˆìÒmïÿõç_‘¶ñ ÌjÇŸCû·à|'|Üë_ø½þs¼2+5þ+'hà?¥ÿùåöQ -,à¶XI€™½º™¥s'>Pqò¾´¤k0öóû -ñÖiÝ1NóöPÎR Jþ”<èWÔåX2Ñýeµ0¡€û1àc”Œ«D€R°&°6¼5è û)=k -€A¦’ƒâ:§ðîlDl™ü×pÖÀ"À¢@{~¶¥Ö9Ê€OÀºmU¦Ù›Êõ]ñ ¤!8¥cªùµy¶Õ^3Õ`x]·AÉÛd ßŸc+~x: ÛÂ5BS”‘þÞ@gÉ»ÑöÍ@Ú"JZµ¸ª$°ÎM(Pµ«îJ¥;ÐÆöœøÇºÎ×v!®ê×ýá -È]ë|º+ zJmúS0€E=ú Àÿ¬ÂF4¦hy®¶ š±Þ™7ºGmËP´e84mYWjÅ›Á¥ÿÄÿx¡NÔÿºøÏh-“‚SCxÃx6;³’Ù>@ÉQ›¶*9?| ”øqh+'©ý -ÀŽk¼®çö­Öç± t»$߸o ¸ßåîãþ‰aõ.ÛžþB ÏJ~*±k­’þ¹†0fÀ<íþCúwÚ­(@rWûÌœ=Q -8¥ êÒtH\ ^蟓)þfS @?…7¯N//&cæÍ~)~• æ·fZ7¦œsf(bÍ’ý´¿Ç9£Ês¡è -öȯêrÈ%òýÁwÈ‘–"ÝGØ÷~pˆ¥ß‘væÌ'ÑðÓË üuzô_Èã³ëŸáÀ·/_½rùò§Wà×þíÚ•«W?/0UÅã0; ôÚŽŽ€¿ÿñ߿Ҁ5ƒ -~‡Øˆ°²Òš¶€ÎQý€øþȧàzLcQTúBXÚ¸K ’·W Àئ8w_‰9 R•û¿Â Pd`ŸÀ(N¨”¯¬`”È”g1b£°†E>Rb¸b½ŸÂúÏ»ùBtù{€ùÐÐÎ#»œ;wR/MŒõÄÉyÍžœY𨀠@Á?cm¡¨Ê”’êâ?#˜ØoÈŽ€!D4™d‰þ2AÃ@…ÿ1@»ô&Ò !~Çi&‹*mމB(Àº@o@é_+Õ°íDr]I4SàEQØ%ßÚ̲.=¸ðëêðEAãœðn±3&uŒVøHÝv{`õÜU"7ûC—‹QT$öÜjkFqš»+ýñøc¢Sh¦‡À2,A÷WÎÓ±ÀTt϶ ‹Â}§¿±Lí­¶õœ]1žÅ2ƒNK €‡Jøó÷uŽŽITYè®uUíÎ"P8ëõT‹ÓØ0{âÔY|NÍâ¡P‰ .LkZ&J „‡žl]ìGŒEá-æÒ›m÷† -íuÞÅ‘þ'ü7Ûþû–â¿Ð_ã5ãw¤…è/ä¬ÖŒÜ7¦Ò 펟 =€ [•š ZÊø|‘x«ƒè øèh€«Ñ ÀÆ ëóT -€r™Ú ðþvÅvèDã¸?#1É @)P‰ -ày›? C_ùˆ‘ZeŠÝTÜ«(€˜¼·Ï‹ä[ ¬'eözLK|?Ò\ péâ¥ËØ•ëýxêù¯©üOïÀ*ú_v% – * Ñå«ÿj-ÀæGôÀóa4ÜܼWW>6·úI3í.Ûø«¶»ÍÀòJñx×~{zü)ÖÒŠ ¤z¢ß}1€P¼QÀêðšt-«r ¢Ÿ8 ;9uïPZßÝýï??Ôi6¶M¼Á%Y­˜è\LkãV¸ÈÄ÷dhö`Y±æÒrQ–¥ÜÛK„ðAV€]×þŸ>§ˆFß¡'fNG!)]fwA¿±dbË©8b6í[ˆt ç\ï¨l„‚Y2¦°“# -@Iþ(‡´ V›7H‘ˆŒP€DÒ?úˆ:Ù Ý"Êà¨Ö¬{¯N4¨ë Û}Å–nK±Š²tMH½E ƒD˜›Ÿ#ZiFxßÓÞ‘ ©¿EÑ»ÓkuÝ °Ãèu}º ž<A$h¬;j§õ›:\P¯;mÏ*>«¨¬ãº½Öœ‚E ©mýµ=ݯ«»î‰証ÞP €j{í.îÛB8ЊÕv‡Nx2¨ßžkõºë{†é>ÞŠlGе}׋¢‚aQN‹‡‚¸ÑC«%@àÝ8— £à)=2¡‰S„îzm}Ø_ë(­ö÷öÃ^oVìD0„ØM‚ÿÃjÿõ³ •%1„ÑžÃ4E|Œd¶_€”“Ž0¥4'hßÉÀè•?¯ÓQ3qšªmŒÒ€Î€u"ÿ¾ÙÉds;·°²pÚíÍ„jdgJ_ó€ +Pñ @ÏŒH´Pvú0æs˜Ú€ Úß>xüÃ8´&Ä:„?]˜È@Ò>†eÀ âÕdìÀ›Ô˜7S@¼~,bÆD€zêFÞf|T±ÞÁ“MþN‘N*é;èÂà˜<ÀõûÓØ'v¸D5ÀµkWükW¯C®ýÛg‚ùËWÙ|I4@?шŒAL!Œ‡‰¡ØÉÓK·Ý@ +~V7Ä™b2e9Æ5Í¡u&±¼`ʺ )%„b”&é#r3*1Ƈšë‡")"#B0AlS !á4JPìù1Æ(½8EQ„R„š L0ŠÓ$ŽCß3=„0ºåÜüßüœÀãóÏ c42ÎÆãý;wîlo-wn׆£Îî«Àgg§ŸžÞ’4~Ï4ƼùÅ€oíÌ`³Éóü½–ª·Š€ )Àν…*À·7R€Å*¿Th¯0€æ-ñ/pœ ˆ¢Ä«@ì‰?Ìà瀫o\æk‹€¢(¬“ªÀ–¤ Üä«ñ?ýñøéŒÒßx<?¿`>sùyöÕW_}õÕÅ_þå_þå_~õ—,-XÍ*/c« AE1!˜ ¹Š—gì’Φ¸ðÕeåþkÖ*tMé4£ìâ/4;:¥Ó묨ªf4»žµ€ëì:Ï r@³‚\dÓì:ïš% 4£„Md„¥%žÞ&b„1ŽM+ˆâ¥9# ˜Éú'¥(HplyIŒPú~Š¢(Á "#‚ ! 1ŠQE‘§ù)"ão£Î諯.Ÿ>~<ÊI\çNcûÎÆöí;;w¶WB¿Sˆ€ƒÝ“aóÝ Ã0ÔÞOOOO *•ßSØYªÍÛªí{üNó†°³³ó2po1˜1€o®Ü`ÍñŸ€(J¯ŠbW(‰ ïÔ7ì|ß(›JP¨¶$}¬ + pñÅò¹øê//r6~R4ý°žÀBßûüü|n?Kõƒ'7üÀ^Â0¥…1F˜f„PVï#ÅýY3›•'4£4›N3ÖO a(1f³è¥y«øh!²"“ Ͳì³ÖáiFhF¯ó/.ì9‹b2½fV]ìiŠ)+Ö%,4¥³ƒ Båa’¦§8eQsøaG1-/e?J“0N”bBR„ا ”¢8IÓ8\ÕEã}³øøbÜ1žýââñùyàãñþmv÷ß¹³½3ÿ¯Áð³ãÝÁp1òç0o=;===°2`y6 T{­àßßÔ>ꀷTj¬ +Ð,ªüb€¥<¿Ój·o-æÀÊ€ÍWS€Í…*À½¥*ÀªÀ߸ÿï \<ÿh¢xÿ]®Î)Ìc@ÌÇr°?þX ðjxr <~~~ñù篊þó/–`‘¬œ³iÄ F„âboæt&fY6â)žÒ<¿¦×”Ò)N³)Í®¯sÀ¼Û$š=AŒ#L‹Ê?Ó‹ÎAšé4/$LivM§!yÁ¡Å4»Æ¬)˜¹{S‚qâ[Þµ<ûqR”"[NÄq’"”`#ŒNqŠS„qŠÂ0N#ÓMã¡Øâ8ˆcDRœ¤$Ác”¤iÇiù®æ¦I£äÛ0€æKÆãý­í;ìqgëÎ;³ÎžÎ :ƒ1êì†l-øÞ2œÍæC0Pb  öºk7TÀºïß[®ì¬h U€öŒ,‰€Ý[R€æb +м%ø¶U€öÍû?'¢Äó"ŠÝb—¨ ¼Ë Š¢È @gƒÅªcK’ +X¨¼ªµjµQ­ÖØ”w£ÑXb¯€ó‹/¾ ÜÊp(›Aœ·Ê²Ñ»ì:+nbJ¯³œ†Óë)¥”]÷ r_1.œKÙuž °u[yAŸuÓlŠ™3%Ók¶º“R¶¿3× ¸ÎÇ’¦ÙtJX#aVlîB˜PŠ“À SLoD%FáÀ4}? +“¥I£Å!”Æq®ý…®Eqœ†aŒ¢0œ}%JQ‚Ò8M’4M’$Œ|GuÓ4M¯ž[S㫯.Ÿ_<.ÀØÛZ:ƒeÈߟu¶;lx…,€qj§Ÿž²*@ÎjµZ­Vû=¾ÝþñF ~!¸Q˜kü7U¾¿Øp¯ýª*@ó•U€öû_¸?Ëøî€ÃÃAx÷(Š¢èâÒÌ£ªÚ¶$}¬Þÿ“ðÅK Ú¨ÖªÕ­jµÊx]£Ñh4r£àWÀùÅùÅç_\,WnøïVãŸø‚±=Y³¼;»¦×¹"Çú€ÉŠ"»É)!×YFX ׿ò½.Ôzå•<†%¬0#×Å @–g¤˜Êè´ø¶s—®,›NYÇâ4ËØv’ơ볉Œ1Ƴ¨LÓ$F¡iú~%(Nc„’8e$>N„Rù1Š,/ˆP”F^'AŒp’$(IPŠJ”¦i”&q…ž£:Q’$ir㬆ÿçç,0c¯¼t·"€1lu†ƒýNg°Êš>óžï¨Ô¶jµ­êÖ¿ÿ÷¿?*À,Vv~°ÈîåU€Y+ðBàÞ=þ%)@Ql.—R€ï/5½´ +Ðl¯Üÿ÷á³ €þ„]ÿ‡‡÷…ƒwl[Q”#p¸Ž-} îß?A˜ë/€F£±µµÕhÌ®ÿÆöööööx<.W*¥R©1ÜÛÛÝÝÞ®–¾é,Àê$ÐM?„}Aõ¢S&E€¼ðG²ëœ·Sz=3ñÈÈìÎ.Þä]ÿÙuQê›f׳‚Âu.éÑŒdÓÙÔ!½Î2r]” +sÑa6†ÌTœMIáL–Š)F(t2oÏ@”Ä1 +LËóƒ Š“$‰ã8Åi§ Š£ ŠÇ“8ŽÏ‹#?J’8Iâ4Å1Pœ¤Q†a01âDI'ñ­p¾p?>uŒgÏ.?{|2ßËÁÏàx0üìx{ÈìAV€1c§cc085– ¿*~ÿàû+U€•Y€Y Ðªy'àm@³NÀ•2àïVh5Û7îÿ €ïözbOÅÃÂýƒN·EÑõÃEÔ\8È çÊË ú* ÿ»ïmßÍŸ)W +ííínoo•Jß*³:`yFnMˆßSD0Å8Ëoâ,ËÈ5•ï§„íÔËh6-Êû,KŸ²¸Îýv3š‘iFXàÓë)¦³DbÊ.óœõÏ;(Φë¼Î¦¬Û—ΊL#d¨Âï˜Ò)Î×ðä B³,¯þMi¡æ]g4ÃlY»ñ§YF§ô:Oýi–OðQ<Í +¡cŠIŠÇ#óiÀ°8qGIMÇâ4NPÄ:úâ4‰Ó8F%‘çú‰¯¹AÅQàxiìqÇqš$q‚â(FiÇI†~軚äDQ„’à†° +GãÙWŸ_ûã±14 clì.ÀñM8 Ñp{8dîŸ+ÀØ8ggg§§†±ÿGƒ³Ó½j¹àa«1 ŽbÂÂùzšM§Ù4»fŠ`Þ½_èvÓ,·ñ"ùôP.`B1ÁlóN–Ñi6-Z™E«ì³ܸ¿è)`Œ!˦Y†Ã D$w šæs¹§Q¥Él`v-ûqÅ®¦Z^à~…Q‡QÅqGq‡a9~諦ïû¡ïšnä{~ÄQKˆiÇa…Qä{¾gj²DQäáê¹8??6?ccŸÀ`Æ[Ûß §ÃÑpoko8ÝÝŒçUÖ øš€2€GE£ÜOø "EÂ,4ó°{d›¬•N9RÚ6€ìÓûê6sìn3[på§ð bK¹Ÿ7û*•}‹6ëÇU €6è÷Ù€º~!„ýž·ìæûš?™É×ááa±6Ø¿R3 +ÀÍ W€X€­Û¶¢èpðo@©TÊÿ³i4¶wù£ÁB¿ñÞÝ»{3ð%§\)é¥R.`U\lºu…=3NƘ™ð1-?&!‘\ÅŸ^Óë,cÕøé,‹Ç¬J?üÏMÙ +.F&¥„ftÊ 2B1Î{}¦¹÷XÆŒþò¡VdB4CID0ÁiJétšoûdþÝ(ˆÑ|Fw!þƒ(°{ªåú®ç~†QèA†aaèûžãyVO2-×r5`ú®åaFQàûQAäùﻮ빖¦Šª¡~3¸:£g¿¸8¿0öGFUÆÒ p)ø‡ƒA§3ž{ÕíÎp{µðt™l3 VË•Z£ñzW”9¨,0PÅdp¨æõ/ý(WÏm3Þ£~Ûl퇢¨ëBE™€uGG D¶1@í~QŒƒ6[ÓÑï èìEúmfÙúGð1'Šâ¡¢(ý%ø_öÂ}áþ}.žçy±+ꄃƒ=O”£#pú  ”³õÊË ¿ÒKí»ï5Û¬p·Q«V«F£±]­æ´ ˆö[!`ñT+…CÈø>Æ8Ô°­}¬˜âŒR‚ÒÄL:f€øk ]Õ´×ñ<ß÷|ßCßó|ß÷üÀw,Yó4AúYdÇtÏs=×|ßñ|×÷ßs]×q,SÓ€ :®çº¾·zn€ÎèÙ/Î `œÆ~õíêÛo3xûí·ßfA_œáñ°ÓaU€ýÆöv£º½`¼ +c°}‡¥ùf r¥V«ý·0€>ùÖ°Èð28ìÿYÎÌ€V€¢(Šç5±· 0°ç‡ôËEè³`¿ìãs;Ñxïnã½»yÚßhlße°½Ýhlo7–®üòìý<ògô²² T*%VX2.ßf JV„RD(ÍpF¦ÓÄ(‰“$Æ$F´hðN Í.vödS:õô“Â"lNR#[&qBharÍT@Æþ‹±áél)Q.!2£P‚ü˜’$M0BQŠB(‡~´` >)Žçû®« +‚ +MÇq,ÏwßóüÀw]ß÷<ßõ,µ\ ÍT5¨Êªã˜–e;žãû®ë¸®çùë¹®ë9–©©’ ZŽë8î·aƒÎ8¯ŒrÝ~ëí­·ßÞzûíjuë{ßûÞ÷Žvü³ã!û5Œö¶îl½ýövçø› Êª<[Õr¥Z«Ö^ãÕ`Ê·©¼·0€þË ¯Ì€øjÓ€<»l–0àðÌÓí\°¿ÙÏBrnؽPœWîÞm¼×h¼w·Q©VòG¥R)Wª•JuAæ_¨ü-…z Dþo›Œ0Aù!G¦‡pà¹>¢˜²Ñÿ²çÖ_Y1Ï“M™Õwáð›e$ßᙡ8Íf•|f)Nض_6ÙSô^€yš@s•1qCŠ}Ç ò#Bòæ@‚1IqìÇ$¥³kÙõ<×Ò„®$«–e»î,¦}Ï <×umMæz–ãXŽe9ŽcYžc™ªé¹žë{®cY®åÙž3±,ËÒ4YîµdÇ4-Ǿqnh€F§c\<;¿ø|°72ŒÓ“Sãtÿíïm½ý½­·¿WÝÚúÞ÷¾÷½›"`ç8€ííê÷¶W Sc°{gžTjÕr¥VmÔêëÿߎä€ò/aúÑQ¾Þ7_û·óèÛ¤JÆn€ÿuEapÀƒû÷r PÏE€CPš_ÿ¥[@^»gz~þÜjð½»F£qw½½½JµR®”ËÕJµÂØ›r¹\~»\<“S€ê¢ø_ɇ^ …²#¶J›f”Œ?B$ý³…Û„²dÊzy§Ùlã'™æý»”ddJ§LÄ#”f(H)Á¥IJQ‚è4›flùÈõ\,œ­"›fäº0$žÒi† ž‚˜àÀ÷cJ£˜0Ó@L &˜ (ˆž•⸮ã8² H?Q5Û²,DzMÇu=×÷=×µ,×±$Ž—,DZ,DzlGÓ$h–åL\Ïq,Óq<Ïs\DZ,ë'²Üëò¢m͆æÊË@Fg߸xv~þùÉ~{Õê÷Þ®nUß®V·ªo¿}S Ž;Ãáh´ßØmT«¯€Ñ`÷Î`lÌ[Ëåj£Q{mE@åwù_¡èðh‰¨ËÀË€¢,jÊ71EQžçÿDœõß¿/ˆ¹8ëX¼þK·j9”—Vv¬tò•JåFµT]ªT«ì cúåJ¥ˆüE`XTKùbÐUpc-@ › &ÑŒ-Ó%8A„P‚Î(Á$ÃÌ*ˆæŽ„0=ŽPæó•¯ù!S2ëÈŽUà8IÒ(&ØŽ(%”äˆr5paè7›ùƒÑk:²åù?'J¢˜`‚ f5F.PE +Á¬â˜–e™@Djšiš¦eA˲\×q\Û´,Ç4åÖf½eZŽfš¦ëˆõR½«Z–å8®c™.t\×µ,š¦iÊR¯ËK¦i›¦¥­žgÏÏÏÏ/د‹ c¿c\<;?pzºWݪV·¾·UÝzû{[Õê­0ÃÑ~c»QÝjt†—ŽÛw:cc¯R*—˜%Xy«Ñ¨5^W àw€™øþ¯Ò½¢ +p,h߆(ŠÂ ½Ù(°ðî»â^¤¶¢è Ù©üPº 8ÀöÝ»w;wÕRãîBf_©T«å"ÐËT– ÈÊ˰88P¾Åù²ÃñsÙÆ)Ê2‚0NpJ(š™og”’M)ÒŒàiF2Ö•ÇŒA¦SœÑ)«âO3Š‘š¤E I­c‚§Ås÷™á8™bB¦l"(ßÂÍZ1"¨ðö¥“Œbœ{ Á(ŒQšü6ÿ5Ûìlš–eª\«+«šfj?QMË4MÇr,×¶,ͶLSù:'˲ܓdUîÕ뜠jªé8¦cY–éX–iZ¦ij*Ån‹ëš–M ®ž‹gÌ‹áüüüââÙų‹<xüx'{Õ··ªyðíÛÀp09l½N +(Ï<óýàµ×9þ¿0Oþ 4€ø-S€ßE˜å…p_¸ÿn¡²V Ûå…®»—TnÀL¨åv@w÷Ê7@þ9åU0ëÎU™¸Œ¼"ÙŽPJ[N ŽSš!DŠ®bDp‚IÑÁ™]HF§„N)›Øcn„fôg$£Á˜fLiŠ F„$šƒóx§tšM§SZx ±ÆÌÖQ2Íg‡(ÅNq†¢‘ …)¡g¡³]F( cφ€fÄ\3-hÊ×%YÕTU…šfj–išše9¦iYæOd±ÅµÛ世 ´QT5Í4-‹}šiš¦5SÕdI[›]M³4•ñ‰…£=»¸x–~ŒÎÀ¸¸ÇFÇ8=Í`k«ºUÝÚªV«óVàù1ƒáÀ£Îövcë•pj ¶ïì½ò¬ +Pª6j×Uø—@ÿß‚¨íGß2ø³›}ßÀEéõXÀ}A88ÈmÛÖ•ò,½/•W°¤V«ÕÆÝÆÝZ­VÝªÖæUþ"âËÏ/(ÂbPÉ« 7àö½ù²§c’¯ßÄ1¢%˜àÈ 0Ûœ=s Î(e»ü²|v˜y0u3’O(Í&¡˜‚ õ5á)Óï²Âøƒ-$Ó)ë>Àù”0ͽ0E)&8J%qœf8Aùx0Åã4⛾YXªšM™ãº½ž,ɪ,«ª*›¦¦išišš ¡4¹ËsÇmlr|Kèö$YS5S3MÍÔdhšš©Êªª©²$v~³«©šªÞÈ´™ö7{gt: FƒbOãþÖVuk«ºõ½­jõf+°± +wö_†1ØÞÚE@µZ.m5jµÆë©(Ê¿,øh3ðwª,0€¿P”ëx÷ݼ ‡€<¶Ë˰ÊÊ/€Æ³ýÁ|ðÁ¥™ú¿ +쯷—gÍ¿ P.ßlNQœ±¦?J &8J1Agy¦)¡dJpž·‚§8#ã¼…d”’ g¤ðþÇY–aÌªŠ˜RL3ËL˜×)¾ŠŸ³¥Y¾`œPJ)"ǘ $fáŽQŠY €b‚1Fi§()Ú™ÔâÈ@SµÞ'ôz’(K’$©2P5MÖTMS¡¦©ª*K½®ÐAZ-A”%QÕ4MÕLMUUMUjª²,I¢$v[ÜFKÕTY’äÕ³0”¿7:û£gçãñxd?žNNý­ê÷¶ªÅ,À÷–À0†Cc8žÃᨳ½Ûت¾J0ŒÎöÖ_Œ½jnT-—ªµ­­×”üNP”ÿeU€™˜k;ýo•üK4€" 8<áþLÔm½<§þ¯`å—ÀÜ]<¬­·:»ñ+3¨V^þcƒ3pÃ¥(!DØEL(ŠSL˜Æ~T$ßùå;VÖ•[¬úb»³2BhF!8ÄŠ¦¥Y ¼”5þç.#”BqF a2`¾»“ÒÜrS‚3”`ÂVw“„AÍ2æüÒ8 ¢¥ÅO1KIÖ@·^ç[BO’º¢,J’$©ªüUVª>”{]Aou»]±×{?QUU•eIVeȲ(÷Ä^·'p\eI•e¬œ¸`ï‡ÎèÙÅùx4ÆÉéàôÔØ¯V·¶ªoç<`Iü¹1“ÁÉÉp84h¼’ìooíFn V­UË¥jõu5U~7ð£“NÀß­ +°¤(ßž(ŠÂ2€ûâmÏïÿYà¿‚¼fI@£Öh4j9¥ŸuöÏ@u•—{MÁE R ÔŠ¯MНT+bÛ1ÆQ%˜¤ %1ÆŠ1E8Ë(ÍÕøÙŠ’QBYž’|¢c‚)Â4ÇDi$;ˆÎö‚J É(%Œ`B¬טf˜J² SBÂ#D0EIŒqŠó%Ÿ(Mb”Da”¦¨`Ew†(ɲ,µjuŽç»]¡Û%Qsdè‰bO’¥^·+t…® p|¯×E±×ëu{=vÇ‹²$É’Øëõz‚ W¯s½^OºåÜè8vãgŸGÆÈ8Í`‹Å~ukk«¨3‡ƒÎðÄ8Ç»Û[[ßû¸³µŸ3€µjíµ¬üŽ ÿ›VýŽUñwcŠ¢ +÷ïˆvž”sÿòB#зg¥R©Z­Uk¹®S­Vªøs˜1€j¥ú*w°J%ÏHV`e MÙŒ”"ÖX‡q§§S!AIÊÆ”PLò‘JóÎŒqÑ„ AL1f„‚Œ1a@H–‡<ãó÷ØœaL)¥˜d³/£§1Æ1£±ý¼”bŠQ‚’4ŽÂ8Jg^€½âR¯×mÕk'-¡+½®(‰’$K½ž(ŠROì1“÷/]Aè +Ý^Wè2£G¹×“eYêvAèò-ž«×ߨºBof??ÏVÏù°3=»G†qz:<œFgë6CÅ Ó9T·ö^ [€R¹R©UË¥j­V­m5~ÿ@ü?µ +ð»iyc pÿ@Ôó`±ÇwÞ +ð;2€Wž"éŸxµRyõ¬˜†½ °/›~’bŒ)¡aœF Áa’a?bbê@F¦8w +ØMš‚Y{-L1&8_¨H©N‚)¦9S ”bB)Æ4cÓGQ–Ú³žCÌ^ǘâ$F˜ (Á8Æ”`ŒR6˜F~§qñCñßí +]¡ÅÕK¥ú&Çq×jñ‚ B—}´×ëu»­ßâ9^hµx¾ÅŽ t…®ÐêõÄn¯Ûëu…V‹kq·Q_/ÕY­àÆyv£ØØß7.>Ïàädð3c<Ø^>+àpxÜé ‡¡1ÜÛnÜ##ä0š1€j¯£%˜ò»À¿ª +0‹*@ÿw¬<ø]ª3¸ÿ@ÔY +0»öË+1W)øKùt^…Ùx”J¿CìÓ½ ¶^sqï)@¹¼´´hAZÕp «^£|›6ÆIã4MRD‘#¶W—¹qbJ1!Í!sŸ±•šc6CŒqŠ&˜m椡l¥„d!L Æ3áŸPœQL(aš!³`®¿˜bœ¤ F"„  "8NØ7AÇ¥A¥é,‘iÍßjq›¥R­¾QßÜØØä¸V‹oq­– ´º]AZB‹o1là¸MŽã[-o ­–Ðj±(ï +‚Àµ8žã¸ÍúZ©Tã8Nà[ß +:£‹ñx<§§§§Ç?3ŒÓíÝ¥_«U€áñ`0†Æpo»ºõöÖÞñ*8FÆh42Œý;ÛûÆY•ju–6þàߢðw¯ˆ¿;Páþ¨Û¶­ë3±mnÕ5ÕÊâ^Žñ™@ñÊåo 7 à«@ꋪÇ "!‚0ŠÃ%iŒ1ÅQŠÓg4çäÓŒ"’QB2v‰SÂÒƒ\ðc0A‹­½ŒÆaÏL&EÔÌÒJ2š!ŒÂD fìŠiNü“£$ "Œ¢$Ï(R” 8ý(If `ææÄqÏÕJ¥Ò¿«×ëõúæ&·¹Éñ›Çs­V‹çVþã8®¾¹±¹Q¯or›|Ç·¡Õâ8n“ÛܬoÔëõúz©¾Áq<Çm®ž)À…ÑÙŸGcÃ0NN†? N cwwooþ{w®ùïÁ`8‡ûÛoWo€Ùb ãîÜY€òÿ °ühßrà_£(Š¢ˆ¶®ÛviÞÄ»`ص°ûöð¼)Û¿:þgP^àó¯B€¥`«îÖÈëiA”¤±ùú8òc‚ãG1B)ÊïrŠ &„RÖ2@0Æ„`Œ(¢˜dˆb–,d#„qÌ‚ $3Á3Ê€X­S‚0&aÔƒi˜PÂ* +„Å(RŒqÆ$ÓbõFEQÌû€ââlnp›¹ûêo½U¯olÔ7ê›››Üæ&ÇsÏmnnpÜæˆz}cƒÛÜà8ŽÛdHÀqÜæf½ž‡ÿúZ©Tߨo°¿.—ÀãÑxd''Cc0§»{{{ ¿—ïÿŸÿÜÃáq·j#ÆÿG†±·}‡UfPù…Hÿ§Vü®U¢mÛ¶>ëâ_y_þ69>ëÛý&`UÀâÕGŠ^û¥òªqx« n/ B%œ$iF8NÁ8ñ„“„¹{2±SÌ–ˆPÌ”©Y‘A  QŒ0N‹¥Ü$Á(VŒ Ź›B8C„ÒF Qr/BŒÛ@i˜¤( +Jã0Á8ELHqŠÓ$*öù°³š9¬—J¥Ùs 6⸶¾ð%›ÜÆFÛ¬or³Ï)­××K¥R©^«ßvn€ÑùçŸó>àÁ``œî-Ÿ™ú??ކÃaçxøóáðçÃÎöÖÖVuoØéì/œ%po{{ÿlÜ©2I¨Z-•Ê•ÿAÀ~Of–‹¶nÛ•WŸê̤³„Óœ5 ”`‚Bd¥yÛ!ÓñP!ÿ“ü9B&L5Ì©EŠÓ0&(ŒR„’8A(MS„HŠRœà4I"/ˆã¨ø)Âú­·Ö—þçx«ôVí…~cýõû”·Þ*½U*  –ÿ®×KµÒúz½TŸ½Îzi­¾V«¿µü¸é0Üß>f)ÀIûKççsþ?þÜøùpØ GÃáhØÙÝÞfð²*Àñîíýñx¿Â*ÿ#¥ò¿¢ +p£ðÿ¯³‹Ç¶Ë¯<³Þ¢Swq\wnå=oÖ¹5¦vü,0€—|òìûÞüx^\±¶Œc¿§úQœ&q§qŠPÆiGÇ¡¦8‰1Êõ<ÆÙUO({Ÿ+óá„}B)F8Å$Æ Â)BØÿ‰'¬0@1Ê‹c„0Nq‚ÆaV†L[ãHEI†I‚â8!q”b„S„PÇ8Ž}/ˆ’¸ðç+¢ûß­××oüo®ñüùúúÚâÇÞ(•Jë¥õÒz©´¾^z£¾^*Õ×n…áú¥Úâ£~q£ xÚÙ3>ÏÛ€ƒ“Á`pj,ÇÿþVàaçxh GÃÎÞööö+Ë€'»w¶÷ÇÆ^%ÿâ÷ ®Á#dž™J_Ñ"(Šû u^¨l¬BІ}å§Ìb B]?RìÜ (G:Š% (P×uøÓ™)(„;ù'ÛVÀÇÌT‡êöìü5”?ÓA€Mp_8<—úå¥Ò@*J2„Pz~ŽôÛÎ'j­öÊßµF­V­-Lõ.íì¾yË¿(nh¥U¿¯å=¥Å>ÀÒ¼-p%ˆ"§%y~EIŒJÓ$ö£4âÅ¥(MSŒPŠò8G£Çq’¦I‚’¡ácŒã$Å)N˜U7JJPŠQDZÛÕb”âÇ£¡¼Jcþ¡yè')NqŠ’EQœ (‰QùQ’†N’(Ž'Iú–ùñB +°¾¾þF©ôÆúÚ-ׯëy¸¯­¯D÷Zi½´Vª¿µV_[_¿$ÖsPX_[/•Ös˜¹Ùt²¿oŒGÆg†aœ°½Æè/þbñ1·üc9Àg€Ï†ÎöÝí;·1€ápöçP~} Ù¼W<ºíöN»½Ón·wšÍv«Ùåù&¿ÓÜØØÜl6›ÍM¶ ”íi5ï5›Ív“oîðÍv·Ýæ›<Ï÷Ú½¿ÓâÛí{;|“o·»­žßiîìðí·Ù6±ö½öÎN»Ýn5›|³Ûæ›í.¿Ã·Û­6ßäùv³×íî´[íöÛ8Öló|¾8¨¹Ykò<ßâ›Ívs§ÝâyþÞN“ï.o »yšµo¦‹“¹¥Åì :òË >qaÖë_™cÇ¢Ä87(åÛÁØ©ÕjùàÐM|ÈÁ`ÕÝ:vyÙ Ã8Nbœ Œâ(PìGI’†®Ÿ¢8b#œâ#§) ÅK“$E “ç1NS”¤1ŠQœ&Iš¦q‚pE±×…Aœ¦q’"‚S”¢4Á ŠB(Î}“§$A¥¥)ŠQG~E~§(òƒ$Š¢(Nã8‰bQèÛŽÏœ€ëëõõz©öÖËd”µõµRi}½´^Z+­¿qãc92¬Õ××^ªÄ¬¯¯­­—Jkkkkëëkëk¥•FàgÏÎOö;ÆxdŒŒ¡qZÀþþ`áÑét¹ïç g+wööv·÷:7`häo»w¶÷Æ»w«Ö—Kår¥Z®T^?Ä^ñ˜@ *°!EñcÐz@D~_¢($fé !„šÚ…PmÚvöö÷n€"þÓí;Û{ÆîÝêÜ6o ý 7?… 7@<b«m Qº5(¢(Š ßSYö­€>a[’š¶~ €GP‡˜Àü`OÀ×’$ÁSÙJ.»[dæPàǪ܃ºÊ„<â¯DûJñ¯±¥æ°¦î.AEÚ ²-¿} ©²ôj @=ý& R­ÖjµFcöWv7<`îèÁfúk+0çõ‹‰@¥2û]YZV›Û‚TÊ Âi±=yE}“— â8FI”$QèGqä…q–Ÿ$aÅJ1BI’&£4I1NâÅ(ŠQœÄi’"œ $ÅIÅQ'iœÄQFQ…®¤…(I“#%Q'qš„(E)Jâ8A(F(Žã4ŽS„P³ò^ø‰ïa”øNÄaqQ'QºšáLÉx«¨þÝ¢”Öw/1¦¿ô)ë9¬—J¥µµµÒÚÚZ½t;äïÖÖÖY1cþÏžŸ?{öìâ|°ÏD@ãÄ8 NN;“Ñ 3X|t–ÞŽŒápЇƒáðxÐétönÀÐ0ØØc»ƒí»ÕÙæ§êkÛ Ø{Ø+/òe9ù öD’¢ Ô€ ˆ¢x(*’ f¾Þ"€Ô„ºû@l9×ísçohÃ&c÷€ÔDÀ!8êåK…¢»Òë#BŽ Jò6J( +€à(°m÷%^8P÷€Ã #Dpï4@Ã0fWùâµ>óð«TjF­ZeM<•êÃ.ìÙ=_®ÜÒLP®V—îö—Ô—Ò…E(/À*ðM®kù‘ÅqÅQ…ŽçnDZo¹QäQ( Ò(‰ÒÅqœ 4IŠÓ„‘þ8M’8ŒS” 8‰£(L¢(Žâ8 +ü ƒÐê©AÇa‚PGIÂzxQ’Ä)ÛÈ™ÆI¾–3Mã(ŽÓ(ŠãÐõbßõÃ0ðÝIQÅ%aF±wåj–ÅOqU«^+Õs5oEå/­—Ø5Ÿ«yËŸÄîûõüOëkëµ—¥È¿úÙ°÷ p2œœvög'Ëg0˜ccÇápØvØ’€•Å@‹"àh°}g{ûÎö^uA4z]`ajä{³­  Š5IAÅ>øgÀ|·¶,ª]¹ ᄊÂhÿ ÷Â|‹˜ `¨ìHbWè‰"Š2‘¡¢Q?@Á=г¡®C*Š®CÚ@Ðö8òt% À‹‚À ¢€’­˜—DI’TðŠ_†aûåo8¥R¹R«UkZ­V«6ªÕZ­Æ¦¸ †7Nc«ZÜôöˆŸ¯*Ï`$®TË¥%±`Þ¸"¾Åõl-Ò’(]h¹¾ë…Aàɦïù^Fq%q’&qÂ~ÇŠ£$Žã8ã$.ˆ§aEaàûïM<Ïó½À䀸aÆiÇq’ÄqEqš$I…QÇñoÓ8ŽÂ0Žã8ŒÂ8 +â(°-Ïsm?\Ëõ}ßâ8Žâ ßwMÙ\?¨×ë/ÍÖg$>ýµÒR +_íŒ&¬¿q“F,µ5V)(={öìü<þó:£Ï Ã0NòÀ1Z>Ë0úyÎ:ÃBØ»E4 ÃŽFƒííÝí­í½j©üÚ@w~X“ìç  uÙö=ò¢ tÿTD¼PPXpKì>—lBEQ ÔŸÛ ¨ÜPêN¾$‘­é@™ˆPYàÛ¶!*ð^NàÙ?Ķ?îôxô‡¶(I]Aàñðôué¹2«JŠ2lþo¯8̨m¿úŠ“ïn¬mUó`gÃ[5fþרÖ V)¨Õ ZAuq×Gµ0ž_ïsÀJ¹”'Õ<‡`/ ´’”oaWµ)h¶çïGa¸&Иƒž«©ªe9ŽDq¡8Ž“˜ÝíQFQGQ'Q…QFq”ÄQÊqÇçX¶mZÐ4mÛÓ6zÛ®GQÆQ…~ÅQ‡qEqR0ù(‰Ã8Ž¢( }G³S³l×±TÓu,7pƒ0Œ#ß Bß³dÓ_ØÖã×ëõzí@)Oß×—ó„µµõ¼ +‹€ëkoÜ^+,­HÏXð_œÏ8À †'Ãag0tc弜t†a§³·’äáoÆx´g{wûÎî(r¿×[tŠI(±ë_èvÙÍË\@·'/¤ “ët¨÷°%X(…,Ýg‹D›¶D t»‡€¯Eý¬§È¶Ûl¡ „º®€>€¬AXy› ÝV€ o‹¢ØA"@ºœå*@œèGW¯8LÙÛ3^Þ’[e±]­V·Uö[µZ­‘#@­Q­U«ó…¿3—ÿB(ž¨Íø@e±mˆLµZYšùË7‰-Î'¿Bô=K’-Çò?Œâ(¼òÍrËõ\ϲ,ÏQMÏ¢(Ž£0¢0¢8Š‚(£0Š?Â0ŽÂ(Œ¢0Š£8ŠÂ(=×r\Ïq\DZ\Ï5Ë ‚8 +Ã0ƒ(rÐà ˆc¶“7 £(Œ¢0 ~EQè{l;§ãyžk¹ž%«^àù~à{¡ï{–Ö3=Ï›ÿõúúÿîå©{þÇ‚¬-–ÖÉÀÚí½kkkëkëëëk³šÁùùùyüìçƒ½ÎøsÃ0†ÃNVâ?ëeè,ù€íu:þ¨3« GFgk{wwko¯2“† +sè×Î,g|Jw$0±¡(ˆ¢(Š=ápÒPò‘~©ëÏœ€®Cl0‘úBÐW@~‹C ‚~>HbOv¯Ÿ‹w?Õ¯.áo&Ò$€¯!€¶m CÀU¿@?€Ë6EQò 7Q ðR‡úóW”†30^ÕÅÏîüj­Öh°eîFî÷Q­n5Ê•rµZÝjÔj[,Î+ó»åÅúaµšWØr›.` M‚ß +\ÏqMËñB?ðÃÀó]×uƒÀ÷ý( +ý ´zª“_ßaFa»ˆ#?d\? £(b¿ƒ( £0\Íñ? ÂÀ÷ÂÐ÷Ë ‚( +¢(ý ŠB?Œ£0Š£ Š"†qù‘W{aèù~†^„~x¾Å‹Žïû¡ïyžç:TÏóæ‹º&këo¬•ngïkk¥Òzi•×V´ý7Jëù_«××ÞÈÓýÛÊ€d¬­—އóó/ÏÏŸý5ƒg 矆aÏ`%˜Çù 3è‡ãNçøx:uŽ;Çã\d,`|¶g{{÷Î"ä™ßkÈ~<;]IP5[’ ½#u{’j¶m±ÛíJ¢(‰¢$H’” |:„êG*„ª(A þˆÐ2$`K’$ö¤®£©+й–º@’$Ȳ/mÿê¡ Mh«P…¦ +€|OP%ø5$ @xO’z’ä~l±+ôº’$I’ݶ$©P’eU·uhמἂÔjùåŸÇ93zyØ×ªóM?3ßÿÂ#lë6¹ îííÇÕeò…i#gùxŽçZšf9lVà»®cš¦åú~èiš¥õTÇ÷C?ðƒ ŒÂ0ƒB<Â(ò? +ƒ üˆ­ßŽÂÀ÷<Ç4]ËtÂ(ôC×Ô,Ótý ŠÂ Ì÷tz~†‘ïyQaú~²²^†A臞븖cifúž¦ijK¶\×÷}×u݉cÊ‚ä:îâOR*Õß*­­¿_`ƒ“—0€Åf Ng8\ ÿ<øh8ìt:ÇÆ0'†aìÝÙÞÞÝþ‹NåFqèõ€«« xت­þß¡=yqeN&Ïõ««êĆö¼ÒmÛ¶á#¯BhÛ¾xqeO^Lþ«)Ù/&“¿²_H¿½´¯Ì+BøÚÛ¶íç¶=ùߺöÚW“݆A» ©ðj˜uõ¶'W¶÷ÐþÕdr5y±óbb¿€¶­ýüñ͝^@êðùÕDµ¡=™Øm݆šWÔ í<·ÿ*x1±'±=¹|Épº·g†ñ°R«Õ¶jl…cÔªÕ¢¤_Y +祅?µ5jµùê€âj¹Îo{¯ÑhÔ–.Ú‚ÏÊÖʱ×ÖLËq=ÏóÜÀóL¹ÅmÖe7ôM®¾)ÈIp¾ïlv†Aø¡†¡ùžøAàûïûï{.T»\]r}ßóÔÇKšã¡çûžAàûaø¡ï»žæ_…¡ï~^àûžoYZÛ¨?t½@ãê\KÔ\ßw]Ïs}Çul¹%[ž»°¬wÂZoÄîBsp1´øIëëkkk, X[[ƒÖ^žG”J{Îà¤s2ì<;ÿòüË<8???ÿœ¥#cxb ;ƒÎ`pš[ù¼ +އËÍËÀñp84ŽãáÈØÛÚÞÞÞtªóÂoµ\y»úöëX{È2@–ì\Æ×/Ÿ_þ“ x €\qƒÌqõcáouýë–uØWú°iC€$ A ö!E¿üs» Eñ¨ˆ"€Í™LЇ^ê_-MŽu¯`¿øPÛîÀÁwôËËË>@EÐ?<}€¢š¹ØûÂ+û¥çdk3CFnG€R©¼U­5ªsØjäPÛÚjÔj…}ÀTæMC•jµÆ¸C£Ö¨åOnUÆ\ï«Õ¬Ñ ñÞ{ï½×¨U*Õjåíê|°¼8!\*­ì·pLǵ4 Ú–kY®øžDã$Çs5ºÀr-÷Ês=/زí <ß÷êìu>?7 cxbƒÁ`Ð95FÆÈÎÆÞÞÞÞþÞþÞ> óaçxxÜÉE€–UÀŸ ‡?3†CchŒŒ½;Ûw¶wf+U4…T«¯#@fYHò€@^^þùå 8 +Äyá¯?yo P!„—¶®_Ê*Êe{2ó›HLFTtý¹~Ù»T€ø€-éÅCÈ3[GàxmëºdC~Ý´uKŒ´ÿŠõ‡º~yi_*ñc<8 +€}XT „>É€®ëƒÁ ÏÎ +0NoƹT©U«µjµQ›íýe°U«Vê-PYÐÿóç˜jИƒÓó/(HÅ{÷F£V)W+åJuV\\IeL Zš,«–í:Žãzžë8š*«² $Ušf:¶ÃVk³Èô=oÂVmæ°ë±«Ù÷˜pç9žëZ–*˪¦BÕTUM³LËa«z=ÏuŸ |–Ã{žë¹žçºÞÄq]×÷Ïõ]ײ4Y’$YS%IÖ4Óq&.ÛééXš&¶$Ëv–°Ì®¯Ä­aœgggs%Ý8ÞÞ«VÛ{ÎphÃÁ``gcc÷ì«‹O·w¯þòbd ŸŽY°ïmmÎÑh<eú““aÿççϾ|öìÙùh€1281F£Ÿ/MôïíåóÁÅ ß™¥ÃáñÞÞ*ü?€íýíA§Z.—0°üÀÇ’Ä’$ I6èC _^ê®ÿù肇¢À&Ù«¡Îá#piCø[ BåòÞoà$o @}ŠþçðH׈¢(ÂS€ ÀÇ}!ìO.uÚPÑ%x õY ¡mÿLW]‡ú'Œ<è‹(@õ á„ðR?z‰0¸Ãá )` +í¯€Z­Z­6ªÕ[À|x¸Ze àkŒÌÑ¡h˜@­Ö¨5Þk4Þ{¯VfÂâK=‡V´LSSMU’5hZ–c¹ÎijKÓ4Mþ PUÍ4ÇtËq]ÏwÏu]×qÌ|·ãº–ãZ®;ñ\×õ,×q'¾ç¹ŽãX0ß´5“íÚsYZïz®ë¿|Ûs‰ëº®c{žã°¹®åZ®e™ª¦Êª¦ª²išŽã86[ïå@Sîñ=S3Í¥ÿ[¬7JkëE«¿1Ÿåp<¨c°ß c0Øggccÿœ}õÕÅØ >eUüýý½Ng¯º=8Í`?Г““a'/ä2àx°×ùì|42†ƒ¡1tƒÃ澞£ØÏ/þ¼˜IÛ«°€#cïÎ]ƒ1VìaÿáTʯ%X:ÒB]‡}xy ŽŠôÁƒ>€€( œ€(¨ëºþO] ¼hêðk Ê{¬R +àPQZððþýû‚Àqœpp ˆ"à(J¢È ¨ëºÝ³” <ú2«¶må(‡‡ŠÎÚ AÿPÅC2 =>RìÉ+îÿ9œÀ¸ ˜^_¨ÿµÔ¶j/IŠUŸ³çy–¿°0o)È5ÖSô^•r…•Ë¥•¥`¥ÛR jš,ʪ©i–iÚŽíX¦iZš¦BS35Ó²˱-×r,Ûe+tmÇ´Ó4]×±LËrÓ¶˲lË1-˵‹­Ù³LSU5Ó´LÓ±,ÓrLǵ,ײLË™˜–i;®e9ŽcÙŽe9¦e9®SÀiZ¦å˜¦fªZ¾æ×µ,SsLGƒ¦¦IÂF ˜« »Ìz®à,ôÏÎÎÎÎFÆpp“0,Àéöž1€OƒÁÝ`ƒÎÉI'/.Àè|42ŽÃ§+"à~g?Ï:½œä*ÀñpØÙÞîìíí}x+ŒÝ;wöÇ»û{•üþ¯”+åJµZ~Í;¢üÛ> Ô¨O Þ…t¯äÀ¢ØEûÁw¡®_þ¦ `SWý’)"”ó1~x(þð@à¸ïÖëoÔ¹wA7tEQ”$(°¯Øöå׿E¿Ô!»— ˆ@ú?A >‡¢(°>cõd 67tùõÛÀXÈŒ- T*—*l+dÁãµF[/gyKßü¹"i˜‹ÿµ)@­¶3ãá[\Cnì¸S5¹Û“TM55Í4M¶"SÕT5jlß®©™–m™–ÉÙ2-ÇÔ˲LË´LÓ4ËÔ4ÓÔ í²à×LÓ4US•¡ MSÓLͲ-ËÒ Ó,Ç‚–eZ¦fjš©i–f™¦c3ä0-S3US³ ©jÔTUƒ&C}L•…:/É7j³Læ3ÎÆgg£9'«°¿»g_]üìÿ¶W0Fr¸œt:Îà¸3“ž={vþYg¿3:Æ`0<9vƒÁðÕU€Î°óÿ£îo#Gò স±ãŽÀu{ƒÁ›\žGßì tooî‘Á@^€÷ö{{ÿH{{ooÞ¼‘º^®â~C÷Þìíí ê+õ›7{oèÞÞ`oîíí½¡{{{{d‡öoÞÐ7{o¨tÞ¼¡o*•1Øìí Þ¼‘ë;ß Þ¼Ù£ƒ7ƒ½½Á›Ý äŽßÁÞ›zyß΀øõ–˺žõü ²üedQù(€ÃC'uœÃÑùò©ƒ€Yšf‡£‘“¦Nvg€¼£L†þdÎÿ½€0-íÔ–k%dÛˆì$ûþ`É1#——ÑìÝâßÑ[zѰßöŒ<#»Ä'dr]†ý>!ýËèòòÿùOý×W„Òè2º )!”^þ껥t·ÿìYßw··×Ý×ݪ.È_ÿÁúºûÈ÷ýÒ($„ÐÙ¯//ÿéù„PÑK†„Ð?\FÁ[ÚÿÔ%ä!¡OgQ†!!ýg8‚%³h&»/£ËËoožÿ˜_ÀŠÈrÇÉò²>gg¿=-Ót$Ÿ¯«@†(ŸN§_OÏSÃIùë2=:<ùì³Ï>yÔéxçy[[Þfç³Vgkkkkë'o¼ÞóÀ ¼­­-¯×ë7Ÿ`½*›®^*¤N¾ €³²L¿-KÁr _iÊó2=:LŽŽŽò<Ï_-9üš.û´;‚€•X¸õôðåå ‹B ?ßó:›noÇ—Ûóªy¿;;ÁÞ`'‚¿ÞÙììììì ;Á_Ëu¹$ ;;½`‡ìüõN°3æ+:ë…|ÕÍß vvv;dì;ƒÁN°CA°ì;~@‚ v2ØÙÙ þzGîâí;ƒ Ø ‚`°3ìø½ øÁNà÷|ÏÝ|ôß­»Õ’ÏÕóúõë¢(^ äyúåµ  s; + »W:‡Î¡³ €ZçY–³Ã4?L»NVÞ©§ëŒ$æ.€aÞ,si‰$”FcQBþ=À’`žÍ®¶èþl’/dÏÞÕ»("û„J¾ „B)%Wÿ@h4›…¹töî]4£ÑlvõÍl6›QzùÍÕ (¥¿$ﺭG­u7šE³àjE4¢„|·ZÏõ®h]íîGßßÍöéÕåìrvÍöéìêjön‹ÒÙŒøžKÜG.%³+ºïýÇRò¬JýÍfôjÌfW³wÑ›Ùì?þÿÿãÚ-MóäY^ùÕ?»Ëøío[–å*Ц_)/_—éáazôw5þ®z+ÏÓ4Ï›U¢É=ú’ÐêàÂÜX²´¦¸À5{ñ<×sµ:žëözž×“ër{^ÏóýÀï;ÁNà½Àßñ'žûÕž½^à÷z~ôz¾ç÷dWVÏùÙn¯×ó{½ÞŽ¿ã{½ çõz½_~žï=ÇëõÜ^Ïë½^àû=/èõ‚À‚žßÛñ½ž'Wtö‚^Ïßï¹=·×ó=¯çnºî£õÆzgÓ»y^¿~]’  À +_WÙMP,)€ôÐIë>@áØNq–åùaš¦£QÚMG÷ Šü¹ã8þçέY€y%ÑYntT:GKøþV.ÇÌéþVU´èè¡>õý~¿OüÀ¯G”²ýg-BgßE4Ú ÷Ãý:Ñ¡Ä÷}×u[­V«åòŬGe‡ !ÄÜrÝO]Ÿø~? wwÃÙV5MˆîG”†”FÑþ¥7 û>ñ]×w?vý€ø„lF}¿ïoûó"J=ºÊaDÿpuý€Ô©Pû9^ 8iºL€éMt»ú<-_—££t®ò£¿{]½•Ên²²,K}nÿÍæ-h.e–,]øç¸6Öl³ãn¶Ö×[­ÍÍMwÓÝt½ÍM×sÝÍ^¯×ÛtýMÏs=o³çº®çzÞ¦çnVÞ^ÏÛt{=Ïõ6%Iz=×í¹ž×Û¬6lõ6]×óÜÍj¯çº›®Ûó\ÏõzÕ®žÛ‘ òªÝ~=Ïó<¹´³·)·{ºž×ÛÜt{›ùÈZ­V«µÞh´Z­Íçõë¢X6ÿׯ_çÙup(Sé*º¶SœY6Jå×߯lÛqœÌ±gä8#§Àаª::Ís»ï,ھ爼·´ ðyèÑ*èûŸ“]™…Ÿ²Ýj´ýæ J÷åDaº†ûtŸ†W”ú¾¿ívZë-Ï÷}²Cg½PÆîdÿ^ø¬õ1u·åèa:ÛšUqLjþ2¤4Š¢èoBú¾O|×ó刲¨ï÷ŸUƒÉ$3<9;,¤”Þ€3wæèÚË£3'Í+×ïô´<»Et1DyYÇœ³×y*ß@ÕZ–EY”s /g´y}ÀBþ7”ÛŽ´VϦÛé´­?ú¤åºnÇÝܬö`nºn¯çÎU¶7— ›Þæ\Yoü ù¨uËyýº¸é>D|yStïPΡã¤U-P] Tà8ÏFi–¥©#°°»N×î:Žcw%F™ƒ¤ÿŸ9™¥ PoqYFPä…TvQGfÝä1Ÿ§}¯ƒ€4¤Þ%7ÙJ dû™œÃÿy@é“]ê_‘¾ûQ£Eè¡”Ê@!¡û—4 w£YØÿù¶ûi«ÕrýBv‚YÈ€ð ²CÂÝþÓÖvkÛ÷Ÿ²îo]QJ ¡! Ýß§!%Ô“ üÀ÷}¾ïû›a¿ïû®O(  )%ÑÖŒ„á. )}s½€4­pXò£å<@–;i>Z +Ü@¹ ^ž½.ÒÃÃ/þ®GG«(ËR ,‹²XöVb•¨7Õ» +߀N«Õj=Zÿä“–´ýÍ…oàõ\Ïõ*Kõz›®çy››ž'?Í“èÉÏÚ¬°éI[vçŠÂÝ”æíy››››nÏu7[^õ‘9\<¯×s½^%36½út6+mnv<×ÝÜÜÜì´Z­O~¸Þh®Ò’Û¾–nŸE±êEžgQ‡ïQ§+u‡Žs˜:Ù’˜æ]»›ŸåK + ÍÏÏVμÖßvìJdFÕùëdŽn;Žm/! (Š<—8˰‹"?4+m÷½À’اd+ +wCZÏü"„Ä“…¼r/à[ÒFfÁ·á3÷ãÆÇ}zEé. I('‚D4¤¹ú'Ò¶í¶Ö[•ÏøWÞöuŸ†$ ”îâ>n¹ÛRÎ϶.wå‚êòO#ö¢Ýjð­¾wЙíöŸùn—B.)!ärëmXókö_”`îÔÈó|i:ZÀoËò,¿ÿö«Ó/´<+óôËüðèè(Ï_W1Àü&ʲ,_—¥|Çë¥"ª@*€Æ{Ði­¼t:­Vk}ý“OZ›î¦4]×õ¼M €ž+íÙÝôzÕzÝZÊ{nÏ«?G +üÊj{®ënn.®òr3¯ëɯóz®ëv¤j¨>Ås7kô*ùáyÕ²ÞŽ[‹·€ÛiuZŸüp½±¾þɧ­NçÚ­(^¯ºÅë<}ù€,ÀÑÃc2 è:Yq² @ÖEÝâ<ËGéá¡#ÇÜL.ЭðçU ÐÖ«vÀ +2¶U{ó¼(SØEžgfõ;Uæ#¾‡1€%£ùöÝÌ‹f %ÿðt6 ”þñ>'»$$”R½"Bô¿£äé§?ø4¼œ}ñÍÛ«Y}K/gûÑìòr]zI‰ÿØuŸQ:PJ(tž}üguŸ|C£¾ºœQJú®ïo“+Jé»­Ùìmty9#³Ù,Š®.÷¯þãÌ»Œè¯ª¡¿„RBß­?„!!þ”ÒËw——”Ò?zßíÓÙÕålvEßì/Ÿ|‡µêÇËQÀ<åÝQíHp©Àï¦ÓÔHOÏÊ"=Ì¥Õ¿Î_ÿÝß] eYµ”Ì‹|þ¯9d% ®ëk¸eᘼèÏÿtZsÔêßõ¼…èÕVú—‹÷Wf{¤«_`³ãnº• ð<éx=×Ýìx®Œ4,)¯çz½žüî›^Ï•þÂfå ÔÔØÜÜì´6kð³[Àu xH ¿þzúêá1€ +éaZž”¯‹Iܶ»Åyžfrh:êÊ®àÅq§kKÏÂqÇ9v*@ÃùsÛ®T€mÛ¶}œæy!ç¤t‹üèШÀÒL°ïõD Ïó>{Þó¼Àó¶¶¶<¯÷Ü{þü³Nç“O>é|Öéx[žçm~Öñ~ò“-o«õÃÆ·¶ó<¯çmy[[Õ}x?îÉwmnmmnõ¼-¯÷Y§Óé|öɣΖü†omýxË{þ‹-ùŽ_,½ä׃µÈæ ;Ê—]€k + —8þnzžéo§¯Ë<}Uàèèè(¿áÌçE^EQey&ß7oÚØhÜeY,iÿVgsáT®öÜß÷znÏ•×uÏõþrÓõ<Ͻḕ P]§ç¿Yé ¯Ž+,\·#}‚?ÉèÔ +à~ö:Ïó¢,ʼ(ê‹<;œ×Û]Sºi;éáÑQš:iž—eÞEÅïÎ3h¿þÝô7yþåÂVm»€üäNêttTU‚¤iúºÌó¢8)Ë“ó³Ì¶»ÇgE&õš¦©a7`w»¶ít»ó,€±€.cÛÒC°íl>¤( w‹ü0µ«Qokµø>ºK…€aôm0£¡ŒåïîîGQͶè_¹®ëûýÏ}‡â{4HðW­-B¥oÕämºGwI?Œ‚虿í¶Ü0¢$¤Qèû®_-„k¹®ëJ[”øZ?“~ÉþOêAb³èm}G)!„†!%¤¿K÷)}·I|ßuýj"¡äÿ c•*+–g€ä¯_ëÀ¹Èó•v€,OѼä쫲,óô ôº<=—8Ÿžåùa.­þuþwGGGG¯o 2ÿò8_*•gåtš~ýuSoêÆ@gÅý—.@ØÜ¬=o)°Y+€Êöç.€·¢$*¼MoÉèÜp6kàÞî¸×\€ÍeÀ«b›­O~¸þƒÛð³N^©n9 _ÑFYšçÙáQ~˜ÛNfkšawlt˜¦iz”eÞEùô<…Ýüwçe~XY×±mÛtººáœWÎÓÃÔIÓÃ4Ͳ,;̲Ã×eyR'eqRœå¶mgçEVMMShð&ìn·ëØõä,›Çü]Ìy ›w¹t§È$FCàû_ +†³%!h¸¿†ûQ´E?!O}ß÷=ß“3¼ÞŽï¸­õÆG}BÈ›z p´OÂ0쇤Gým÷ñGÃ( iDŸ}¼în·Z~k}ý£õõõFË'ÁU§ªp}Ÿø„vd¼Ì"B£„t6 „„4$aØïËÅ…[Ä÷}ÿ/]×÷? „Hù~@%d°L²|ôº|HÀIÚlóÛ¯Êò,ÿrùÃy™¨(O§Ó¯¦©‘žNå Ùü(ϪÀ=Àë"å´œfé×_Ý…p¥íÿúrà[‚€ `IÌãõ•q×&ÙëÝtz7PÙõæj|ì²{5 dŸÌè% Iøë„Ä‹|·õØ}¶EÄ÷·Ÿ~üQËm}úXz°ëÿ§u×Ý$Àk­¯·ä¾Ú!>‘CAÃ0ŒBº?#»¤O"BÂ(” =âÿ¥ï»®×óeÃ`’ª©P*ùKžçY^ð¶ Àò÷,O´¶ÒÓ¯¤xµ €"7ì¢<=¯w+寎êtÀ—iºêe9'BYžÉwO§sàÆÊÂÀ¥q · #ÿêÜÈl.À{¸ 0 K.@ç† ï¯ãÉ·nº›• Pló† àÞéü¬ÓúÙmöŸ¦i:JSÇqRdgŽcëºítǶíî(ËòC[wŠ¢ Ðáy™ËÅ]v·kÛ¶¡k¶ƒ@·È²¬(Š"ORy_£Ñh”ŽFiQ'EQÅIq’Ù¶ŸäÙüz€‘eùÒmžß«àd޾p€]»¦c›¦igù(ÏGy>ÊŠ¼ Œ4OWP€ý^ghÉIÀa´Eûͯvé,ôˆïþ•¬óI@|¿Gü^àûîÇ|9ö“„QEt·OÃ0 w=òôqk»†Q´»þƒ>þô±ïº-×uÝŸµZ­ÖGëÆÏ>Ûñ}ßmµÜ§}ß÷É È,¢³($d?ŒB”ø»4 Ã(ú›($aD<Ù–èzµÉ?ÿLß­A»»:úy^~:ýê|Õey™Ý¢(ϧ§§_ÎtšwóüUšåGG2°¬VÿâÅYY–eq~6f_ýu· mÜ—ý)Ë¥?«Q€Îr`Åp7ç"À›Çæ.@ï.ÀÍ,€{ݸ5 à½? à]O^@ëÓÎö?o¿1lDZMM7LÛ¶mÓ¶'ÍØyfÃ)²Ìqºv×¶MÃ4 ¬éŽ Ð|¯ö¿€ãã¢(Ž‹¢8Ù¶eY5û{ä@`¬îŸgø+dΪpÛ4S mÛÌW0ÊÓT–×øP HÙGCB¢èoö£KRBÈl‹l?}êù¾ë“€ßHàïøÛn«ÑzF¡Á$ú›_…d“l·>rÃ(Š¢g?ø³õZ=ßu]wÛw]×u[5­Ïˆ,ânW#B|" £(¢!%4Ü%Q†QDHèû~´Eäf·®T (!Ä¥áîÒ$r’åy–¿*_è¤Îõ @n£å4@7­ðÛóéô7ež.• +gy‘Ý2/ϧ§ÓÔè–Ó¼›ù—÷`%PÎ@YžŸM³¯¿þº ÛîΗ…Î (·g¸¦®‰ò… ð¾,Àm.@gÙèy•iËÀu`ž| À£eü¬ÓúY«ÓÉnžQºV7 Û¶uMÓ Ã´ ×aŽchF5™ß¶ Ã0 ]š¢Û†j,wï:ÕÄy[JñIpVdõþŸÌ ®À™+ +¶óqÇÖŸ8ŽýıMÛ¶u]×Á2€£|áÌ­ÿ{ €_/N]zaÒË(Ú"†„„tk×ê{¾ïûrŸï˛ے1€Ù€üêrŸîG„ø4Š~EÜݧ­õÇaD£èÙGë­ÇO·;îS×w} ·õñZŸ‘€îúú§î¶ßF:U / + ñ£¿¢Ù†4 +wÃ0”/;¤ïûO{n½w„xïB|BvébE!DÎw}U¼.¨Û$Ê<Ï dååR!@íœýv:–åÒ@ŠÊè–y9žž§À.§¹åù—GGGGG¯_ß­®ygeQåùtše_ÝíBhw»]eièý¨9pK`) Øû/s>$ à­d¼;³n €Uàg­ÖÏZVzËqiÐò˜¦¡)JÝDi˜¦i;º¦;Ž®èOÇ4¥íëhš¦44SW€£›ŽóDFðVú޳,“"@ ??©²ŽTÕèÏk +`€Çpê Œ˜ŽiêºÀ5Ø.)€ï7–’çQ4ó(¥á~FQÊâ¼-ºýTöï÷Éî.%þà•;ƒ?ý³IHvÿHiÑ}JÃ]â‡!B—<~Üê‡aöÜj¹Û¾[ ñCßßvÝÖºûÈ'„øŸ¶Zýg¾O:$Š( #JCrÒËhF©ô'Âè—?ï÷ !W[¡Ü @Ù )%$¸ªzhHCòË:qx”çYžåE¹H³L E£"›+€ΦÓiYæùb2ÌH (Ëéô|š®¡bšã4ϯàèà†Kpvv>÷ìn·›. U”Æmè¬ÔÞ–ð\×Ûü¯˜p¯mÞ]4×}Y€Îõ,ÀÏ:Ÿ:·ÛÐu½©äxŵF£žÁ¢ëº®›@ÑtSkh¦©7u°¼¡UÑ5EÑ5Ý47 ]7l{uy_–gYq,Pœ—Y:’ñþCdž3Êî€i;Žs\¹vå8¦ãØóryV /2P^,bвØøýÀr·)¥[„ $ð{½^à“Ágþ¦ü­“ÙŒøçÔ z=¯Õl|äù½ýý A@ü^@zžëýÜßô[®ïû½À]o¬¯⺾çU¥©>¡¾Ûi­¯7yþóÀkµZ›®ëúŸUÁŸì¾ïôd‡ôz=¯çKÑIÀó67ÝMŸ\ÍHô‚_ ‚ ô¼€ èÕs&òãj4ãJ€2ϳb„ÒÅ܉ÔIó¢¾PO§e™åé\TAÀ¼<=ŸžNSÍȧ9J‹ìH`Ù8\@Q–ùÍÀÙ4•@€EöOiÜ€Õ"à +`µè_Hàg­ÖÏZ­NëSûÖcêz5:©ÙÔ¦­5ªz5bY×E××mcc£.³^Sª«º¦4´FsC]1¥B]Û¶¥]gÅIfÛ(?+d@šf£l‘0m»¾™æ’ à8¶ýçŽ-K]â*U O@Y‘¦©ñ/!ðvq®¢«o¯¾{÷nöŽþ#¥W3Ò¡3B(yö9%ä÷›‘o£Yø.$ŸÏòéºK¯è›+:›‘]]¾\]F3J¨ÿ8º¼š‘Kïã]¿éß'{{„PJ=ŸPŸ†¾ÛrÉ`¶3£·Ÿ‘€Î(½"ôjövvµóÝÕìjöÍwß;};£” (‰¨ëBHD(¡„üžÙýö›«ÙÿòƒÁÿkðnvu)×Ìf³Ù,¯V<¼*^:y8Ìó"Ï_¹1*ë-ΕX@ž/vÄFy™#»(ËóéW_å°À¼h€Wiz˜çÙª˜‡Îdb`:¦K@š¦K¨R÷fZwdÜ?9 àÝ›½ï/ú€,@}ùoµ>혷Ã0Œ¥ê× ¯À¼€æšÀ†®ë†nÆ’Ûv–W ÈO²®mŒŠRÀI3Ç1t2ÇU2Àqæ_'#¶ã86XÔÛ±mÓ6–@–Ëåyj”åNšsûÿ—Œèe½ä+!3Ï!Û¾ÿÌ÷ƒŸBfä—ý>éû>í¸ëŸBéî.Ù¥d—îÎHÒøÛ­õmJ)ñÝÖÇ­§|·NÕù²­×ßÞÝþØõ yþ¿¾Þr}WV!J©GiíÓKÒýø®+W ¹¾/wû.¡„F»OI(Çï.„S €,U¼.€–ʉÒéQµ$+¥ȪJÀt^®s~Y–9²‹¢œN¿ú*Gå¡@í¼Îó4M®àu~38M—=€4ÅK¸õ,‡[­ÎæmYï¿aÀ“s÷ö,Àu sg!Ð\Ô—ÿVëgÆmGšxµ™µ@£!®`Co‚kÐÐuÃÐ s ǵ¸?ÎN2Û6²â$sœÔqg”:Ðìð0KÑh4¥éBýÛ¦mÚ¶“9¶.’OÇOjtгy i‘ÀÎò…X›/‚\û~Û§¡4¤]Ò—Ø%ÛþÏ}ÿç¤#m˜ôé3÷©ßúôã–ëÓˆ†d7¤t—õÂ0ì÷Ÿ¶ZŸnÓýÐw[­ÖcòÙ_¹u¶Žøñ‰ÿÔÝv[Ÿº>y>뻟ºî3Ù†»„Rïj?’„þîö§-×m=%®ëùý>!Ï|ßÝÝ“óI£p—’"J •C(¥‡ùáažgyþ*/s 9y‘×Èò<ÏŠC”YÝ,‡AJL¿:[@¥n 8ürÒ‘xu]dK(Ê¢—©:B~Þ¯Üõu}ýSBHH÷ Ù•ŸMfÁ¯Bâûî§.!d—úëë·\¿ã÷üùÌÑ€úÄïûO··××[äùŒRÿñ¶ß¯–R¯óGCÿ±O¶××?Z_oí¤ý¾ïÎäg’0šJ®ÞÐ}JgQT2%%lÍž šûzt„ÒRFø²‘@özIdi5Ù%“Þ ;/Ëéôì4GFvžÛi~”•Ë.@š¦£<ÏE€+˜ë‹4]öxjŸ¾G´Vò€7*W +ðüÄâÅÆœ „†5Ú „,Ì”à‚1Á$ãœaŒ1à€1ÁØ †ù2°qÆ0¶0Æ!¯@0†æ‚3QŸ8®@«óiç.Èej@kjè@®[½ÃXÄÖ®)SŸ‹€%ÿâäD†Ž‹â$³McTœdÕ¸Ÿ4Ùè®T†mضaÛ¶mš¦iÛ²p ¶ýÄ1@Èò,F£,Ï»:èæyš¦fåÈyÒßPJ÷EHH(‘Ð+„ʬŸO>#„„¿ õëˆõ}×}ì~êÿaàº>!}Bü¿rïÒ(º¼œE”\Ño"9JhYeù(Ïs[CÒ>když£n!¯ÿ£JTÁÓß®`¾ &/Êóéù4G =ÏQš}yttTæ«8ÌóLÚ¿Tüe¶è(ª@úõ×EåHpzú0¼¿/D¼¨€Á +Ü ÁæXR†·àcØÂèJ£Ðm¨ ð³V«ÕùYG.P¸qk6µj¬j³ ®+€1€¦v—¨Î +²,;9>ɲL §(²ùúßÌ »² Ð0lÃ4 Ó”¯l» +ý?©b¦cš¦m€ú,ò¹ @7ÏÔ1» ë<À÷½°·µõ“ŸlmÊ™ [Ÿmmýd«óYç“Ï:Ÿuþû­Ng³#ÿ:[oÓÛúlÓ“Ÿ»ÕùIg+øÉV§Óy´Þhv~ÒÙê<úacýÑ£Îÿ(;þ¼N§ÓùIg«Óét67[ÖøÈûñsÏëüð‡}ÖélUŸöãú‘l}öÃGrÖ–û“ΣÏähÒÏ>yÔùñÖO¶¶¼^Ï—]ˆõMž,«Œ;ËóÜVŒÑ26£n‘e£QžeÙò$¯²üíyY棴*8ªö¼Vøª°a:Í´È+äù¢ àè:òíÿárß'ä¯üA@èlFgôêòr6£oÿ¼›IåpEè7ž÷–†——QHÃ’]:£³·ÿéÛú§àrvuõÍÕÕÕ?ïÍfu ŒðˈŒ¡i>ºE¼Ê³Ñ([åWžžŸ–ù«y–ò¼ìÚùQq>=ýª´azž£Q™§GGùGsŒ–<€òuY¨€ðÛé4~]T€¦ijŸžžNß§–pk/€ç]3ÿk +Êg ªª*P u'ðƒ@Á–?BkraÂêMUú¯Ùl65M `΃€w*€Ï£€Y‘Ù†áäÇ 8¶VVýŽa¦-`Û¶mJTs@L`Ú¶mšº4y› O ©ÇTê2€ï1–cdâïBCýxk? /£°ÿÌï‡Ä'„„aôëÿðöÑöS÷±ï÷ÃÈ£þç„jT’g¾ï’ ˆï~¼þØõû$¸ê“_EQî9äk—„¿¾|ëúŸ¶ÖÝFÑça«õT®yîþ2¢aøK²ëÑÀ÷]×ÝvÝíYÇõŸõ£¿ «e#D®!ù§ïJwÃÙ~}Dd€‘ü=äyŽlPà°R2¬7¯ôKÓ£¬.Ù;ýíùiYäY팲,ËË®çùùô«¯JvOGvVæ‹b¡££ü(•§iz˜å£×K8›ëг²,‹ò|Z~9]ñltzúõôß.jïl¾·ã»°¬Ô‡*v?–þÀÓе՛ÜÊÒ ÙljMíº¸%  ß¡–b +¦Q¿ldÇÙq&ÿ*2Ó0œ¼Èª´^æ8ŽV«† Ã4L™¦iHÔŸbÛöǶmW + Àü‰çvó|äT.À÷Ë]4ƒàŠìøÁ!aÑÿôü‹]]†}ÿY¿2½ðo/£ÝÏ|ÿéÓ>!!íø>!”0$„ød·ßßv?õ?w××o÷¯üàÙ%Q†! CBú> £ÿ·ð}·µ¾îGÑŽßút»ß¯B´K!Ô›ÉÁÂÛþvÿ3øý>Â]⓾Ü)]þ‡ÿð. !¥³(ŠèY@–e™þŸ:ÀÉÓk¨V„޲Qž¥éQžJ|uv~^–Y–ËÁNù«,ËòâÈÎ_ç§Ó¯¾*»F÷4[àõ\¥•(äh¡zÈr ð«i™OÏ»Úv×¶Ó4í¢ÓÓ¯§_¯®ÿÐ^ŒoÀÆüÅB|¸ Àùª ßPµ p- Ðx?cŒkÚM4­9߬ò~@¿=0·~ ëK)Æ*x|||\8¦±¥}ÀΜúÅq*U €íÈ ÇÖŒ'2PÙ¿–Uµ#£¬kÐͳ9ªZ/y¾ß ;[©¼CúîŸßt7¤$ê?{æûÒôÂèí7¤C‰ÈnHégDîê%„¾Ò÷ÝVôœÀw×?r·©W„„»D®õ!„ø}þúræ“§­u·FûÚjU•Æ„Ù/eu¯·5 Åûaðö;J ûô—ä羿ퟄá¯ÿÓÛÙ%»—”FÑÌ#u¦Á‘­•ž+Èò<Ï»(Ïó£Q&]€¬@Q–çgÓßy €W£ÑH ”0Œn–fu#ÁßÕÈæû‹²,ËóÕRàªÎp:-Óé4í„À×_O§Ó[Ö €Æì +| ÀÅ{€tú@ÀØ‹/Ó4°zdDOŸ@ˆ pk Pñ¨_ #ËŽ³ã,ËŽ ǘ+€j¬Ÿ­k«‹ Ö°MÛ4Mélý+·µÞh‘pöÖÝÞv«jA*ëÙ¢ÄûÅU†4 +Ã+ZÍ*þÿŒ†ûÑe4 ê^ «¨ÎV¿·nqTUó¥u0­fý£¹‹Ÿ¥i6Êòªøü«éo +9›*¯j‰òâè(/æ¾\šöêÕÑÑ«££k¸9 €s>ÍS €üUjçRLwŸ{{„B<ðà,ú€,@uõgqóëùÿꕦƒÅ;ïwn jJC®g®ïÅXuêsâÌ7ýU +,5:Îh¹'Ñ0LÃtŽíȺMwLÓ4õ9Žë™cè ›g£î +ª@Ï÷_Á?þ8 të2ŠÞ"JwCâ÷/we¹mHé[²ß!»! )¥ûÏ£ýð—;~@H({rû¾Ûò{~àÿY£õî„$ ÉC²K­ú‹wCFo‰ïûO[5“}J»Û¾ë™—!²Eƒ`ðY0˜‘ýˆ¾£4 !»á>yÖ'$¤t?zKß_PºK)¥oƒˆV½€„Ђ°»(è¿^+€Ñá¡lÿ΋²(Êòìtò·YÖ +À€£‘œ’åe)0Ÿbsm&`Qäy^¾^®ÊÓé4w ÝíÚvY:Ýüôëéô}.Àݽ&m‹Ý7³Êƒ,@]€n©¸ÕÕ?ŽãWüà@Èy_!ÐM°‚ ºaèºaèºî8žU·,sŒ®a;Ç‹Ý¿Ž €sìK?Áù‹ìz™²ùÄ1éÈ ÛÔtÓ4 S¨Àñqžå5–€R}ÿþ+€Að¿Ï‚ç{W¸ºŒh—ò²î’>!$$4 ÷Éþ•Á·ýèùå¯ö)¥•îÒw[ÔŸÑfcÝ%Ÿ„a—^†!!aíÓ°Î5„—Ï‚Á³§îÇæ†ûƒð±»MˆR†»„­ßÿ~+øÇ«w³·QFtFwå÷'Ïú$”ûÃÈe@)¥ô›hÿʨÜL¶_¹”¨2»PNšey–):Ìó£ÃQµâÕ(«ÏO¯)€<ÏË9 f£¬T… Ž^½:’u_æuíßo–—ÌǃœMót:=r êvíîéiŠsiÿÓ÷¹·öp1™H …¿%ˆþ¸×Ò€uª«¿4 á•€2X½ñž,À€t'@`X¹çÚ¹?vœìØ12dg'N5m̱'säàLº²?É4 Ó0 £vL ˜¦aš†´ iÇyv|œçYž;†»Y6rºærà_BpçÞ oè€2›=§ƒéíø=ßó¼€ìø„’2ëÁÎÕ»ˆî ¶v¡$ ƒ z~àmºnË}þæyç‡ë­Žø„3Bˆï( HYø×s7}wý1¡Ï½VËýKÏ÷ýßÛñw‚!;ƒ­oJÞÌ¡{ƒ!;=BIà{n@H@ Èày°CÞ½£tl‘ª¸€QeGY* Ò¼Lá¨ÈŽFyz8ÊÒ4½Êä,ù³ÓéW·(€¬ÈOOO¿2 4JW†¿zu”¿ª* Ól©ø·ÈË¢¨çTåA•0ì®mw§çKh<s0. „ ò{ø/ʈ»À]yõã8Ž0–¥iÍ›·¦v7nsVÐЫûÑ*«Ôum±À«ÊzOO§ÅYže£e£QV¹¥ÜeójÙX VU —ââô|úu™–_ç)²»]”KœO’\éàœHTXVC†1ç,N{™`&0ÂB¦UU…(" !„FŒ]€3ÎcÎ9˜s Çql³ýcÛ8αãË +)DÃ0 Ý4MÍpž˜¶i˜¦®¬é¦©›z%1@žåÇyžçyšÙ´³tuIð÷]ü¥„†Ñå7ÑeäÍêËz¿ï»}9Õ“x2ñFi´ý:ŠfWï~…á\H=nÿ`ýq¿†4Ø!ù9!„†Äß ñw|ŸÌ!dûikÝ £(|JüºN|Bèlë’Ò]F—Ñþååg²€ô éo»þÏûAø_x‹‡½E³oþzggggg§²­[)€ÑèËtî–4Š¢8<Ò4Ϫ1K +à¸@åHäβ²ÿyžçY±$Ê9ò²üÍÙÙôërT~]¤v×î¢ük©ÎÏÏÏÏß\*æ¼[€sι˜«€:#0Äø@àX$â3"UQ  -˲,,ÝçŒc̹`Œs±àX`laÆ9ÀücŒaÆb&Œã  Žù#>æ1d`1B +„°-CJbpÀ0æ 3&_1Ëââ@Ä·zü7 xaÈàþJÀµÛCU{Ñ< °€ZئišU°.<Ît½žQ&Gºn›šn›¦i¦®hºiè²HÓ€–gyv||œçY溓g©Ó5Vlÿûº#‡ñÒËÙå,Ú9zßw}—ô}ß÷IèÍè.¥$ iÑ(Š®Þ^F²~?Ü%¾¿íúnHéöÖ·wÃ0 ¼YZ¼ö}BBòsGê|â?u[ëÃh×Ývÿ‘rcW®ÜßšÑ}†Ñå7—Ѭ3 ;>ñIŸøÛ¾ï÷ýÀ'—¥»”*¥Á¿ +‚à_€ºEqtt˜¦Ùèðp”¦Ù¨@Q¬}€ˆ9oÞr¿ø®¢ôª(èª!ÿ¶c›†mÛ¶]… ÿ¢r¤˜ËÙLÓ4U_‰TI€<Ï2Ùj˜9NW_Jãûž ”2øeHhl=ßêA@ªu\=ß‚€<§”È ìBÈ`ç³ÙŒR¾çyV‡Pꮯ·\ŸÁ/¼Í !ÁÎN;ÁN°CA4 z^§Õh„ú­N‡„¿$$È Ø ‚€JTƃ{[AÐ#;¾ïy¾ëy~ Èo6[z dgËÛÚÚúó-]7 hè +]€Q¥ó +à°, X–²,MóQ%V k‹£Ã£Ãüôôé¨ê1Ì‹BÖ-B¯² +§§²ÑÃqŒj­§øeƒÕRàj¦˜nèU%‘aÎ`˜¦¡¬é¦®›`Ìòì8ËŽ‹,s C–êK¿[Y ô=À»Å™ÑË·oß½£³Áw³««wï‚73J)ñ>!3úÝ%ï¾ñÞ}÷íÕì»ÿüÇ?^ÑÙì¥ÿôîíÉÕ¥ôŠúäYØ"WÿùùxÝõ) ¯®ès:£”Ò¡”Ò?¾‹èlvE¿{÷-]×§³«+ÿÑåfïÞ^]ÑÙ›«Ùà ýbvùÝÞ}GgäWWï¾{·õ{JdðùþçÄFÞ]Qz5ûëwWß}óÍÿøÇ¾ÜŸ½û ÞìÓ7oÞ¼©4pŠ2?JÓW£ôËQ–¦r¿l% (Óu Õ>ÀôtyÐh”•5 c$;¾å§æuÎ'¯ÖŽd£¢\iÌó¢Ì«j€ßœO7çE*+¿ž–éèüüüü|z¾|¸Û@#!„œ3Æ8çœH?@"@ˆÉÅ„%b,’‹áKÆ^ „9cPi(P YÂ#ÌùD\À æIó8Ib'0Á,Ž9çq Xœ$‚‰dÂb–L`’  6œ$LˆÌ™`c4Æ!¬"( 4Ô„_€s&b.xóxÌëÈÿ’ù‹‰þ!çþJÀ;¿J¿5 Çqäb?Û¬bËX*%®TÀè¶mÊ +@EY€’Usf³<ˤw³Ì¹ø~¯'¸üUt9›Eß¾Ý%„~Aƒ+BH໾ïú>‘®þæLn¯Îì‹( +C߯æ…úþnk;|KÃ>îoû>!dß'„ì¾Ôû‘œ;J(!ýíÖJýV³ßï÷Ãjv0¥$Üší_Ò«Yô­œÿ÷›3B|?ð}ÿ©ï†3J ¡[4Z<"³Q!Ã0 „@·(ó=MGçÓóéùùÙ=˜÷` aŒ1BpÁ9gLº•P©>™–ŒyÌL0Œ°@PUE° ‘Š eaŒ0OøE|…@œ Îã˜c̳ƒXÄ‚Çq’$ð N’— {)/0I’0|‹¡/°œÉÝ¢»rdÇþ>¥!Ñþ¼ Ü%>mm‡——ý>~ìûψßÌ32@|òÅŒìÊ  Rê·š~_Æù)!tŸîζ¢èò×rOAòÅ%$ ¾ï»¾ïö÷ !dæ}A«þ¤}JC:¨BÈ0j¤i:J¿FË8,Jk ƒyžÉ Àô4_H€<ÏFË.À¨^]‹ž'''åÉÉÉIѵí*ú_y^H0=ÿÝï¦yz^¦ÈqºÝüß•å(=_(·O’öÎ…$€…Eí`\EùÁܘ$Éäå“g! TiÀv» Æ3„ ÂÌBóDÄŠã²æsŽ-haŒ1Ç0ŽñÅK!.&Lˆd'±H^þ=NÇq‹XpYðSüSÛAÕj¹‰ + F˜Á˜ãªœ‹ÆÄÂüÇã$ß ùéwÀ¸«ð¾ã×ðäÉâoûIµü£€î<©½ƒ'«¨§ Ùº¶!÷Ž™ºl<6µy¹Â\H87Àƒ m?X +È¨ÌøOQ½·—ßìÿ*Ú¯{÷+ໞïûýŸÌ¶ªp}HåDà€Òpi?÷3ÿQÿ2Šúýàñ¶ïû~ð. ˯f„|.³„Ògn³ßï‡ýŸ÷ õw)¥tÖùömEѼ9¸S=ÿ/]Ù5ä“Ëê„aRJÃ]HS ÈóôËÕ&ø…p¸¨5^ÏP+€s#'Š¢¨«€óyâ8OÓ”@Ó0mÓ65Ý‘Àî@Õ º©¯54C>yÇqœÃC'Ëó,³áŒþ@p `B`É ‹¦*m ´’cŒ¯›?Æh£„Ð/ª4¼ +Ù'$ CâÒ'}·µîSý£ÇO·}ß'´@ §zû¾ï“` KZëŸÑðÙãæ¶O|Ù.RúcéÚGTÓÎŒøÒ‘¨L°˜Ö,ª`6B –5ªD€¬0`Y.ò\F‹år3TÖh”åU °È›NÊ¢,NŠ¢,Š““““94MZ³È‹¢<+Ï~÷»¯_åùyiÛ<ívóß•e~~vvvvvv„Ãáp8¬T@ÕíƒP­º W•Aœs !8ÃYJAÞ˜@hYÈbCŒ0F˜q.˜ˆc<L$<3.†É &8³,ƘÅdаŠ=Ê)àc„»˜ $ßú)\€¢B„!ǘ .—5„KWÿÉdr4ýlÜ|paýbÛ¦óäÉ<XÍûPuÇ~bÞ 6L°¦›¦„”ÚÐt]ßX€ãfy–eÈEâ +x; uÖ2nôjüêâ‚}h à»p7 ÃTv׫|u×÷û}Y@:ƒÀ÷ýàs^~3 ÃÙ $3?¬šx ñýÖ6 C}ý±ëúÄÿùw5üj¨‡ï2|ßs[Ÿ®?Ž®h¿õÈ÷Ÿõ}94’­Ë„ò‘]B¨TÛ¾O~î“ÙV iBÂËÙ~Ò:•n [@QÐ(–‚rhY–åô4ÏçcAG£LfOOO*åy‘yžå¯^½Ê‹ò¬,Nв¨nEѵíÂÑ*hº¡ëeyvþ»ß}=ÊóiÙívÓn7ÿÝ´œ–gçeYž•÷@ˆáp(–€,«"€à¼Ëºµ€¹àœ Æ‘…1´—ì_òòÿSŒØ1ÌD3ÁcÌ9æLpÎ1ç‚wa"¤±",„ÀŒqƱàœ1B\È€$Ü#ÌâÚþ!„@iÏ Ð€„1—wÀØŠø—çfÕ¯¦oÜa¾ó÷_ €m>1Ÿ˜OlÇ´Í'f Ó6 Ã4MC@–ú›¶­¯¤'u ëºajkºiº®oÔ.€^=rµÞ00ʳQ€ku2Ês¿ýß hYMÕTµ€u?Æãñä‚1þA UP½jï9¥t—×÷¯h5ÐWÚbäSºE”Ìf!!ô’îG é?#®Oh¸½þѧOý>!dð¹l¹ ) CBö{tG–üÀ"ê»¶ýg~ô7!ö) CJ·B¹§¨êøbKÞÇçÿ-ñû$¤Dî1&4ˆö÷/#†ïêâ­Qàõë©ö}?yâTC× ÝÔ5ñ«¢Ó6íõ/7–ꦦêÿê¶œ/(ò,C†íd7 7@ÿè.Àû0wåÃÀÄðÁíÀß~{5‹fÑ,Ыè-½¼Š¢ÙìjöEïí%½"UÂý fWWûï®è¥Ü'¸;óèì—W”Rþá*ì‡3zE[þ£†tîÏf—Ñì ‘·ÑŒÎ":£„ÒA@ftæ»®ö©ßs}ŸÌz3r9ÛfÑ»wøî»+:û=½z>£3zE¯®öiÑ«Ùgÿ< #Bél¶7 ³ÁçW³wôÝzI”T#ÁBJB¨|€Ã4M3é|9Zn€ó“§ižUi€ééù< PŒ 2µ­œž¦u@VÏ )–'þe¹¨hÖЗåEYv»]§kgùTf [þf€Æ=¸éà%?@:\òqŒF¶ÕQTUm„3ˆ™˜p,DÌ>‰ñ˜óXsÁ1 &b.„ ÁqÂñP® å˜ ŒgŒsÆÎÅ»L° €PÖÖÏvUËB¼ºkÎÅÂü1f ¯iʵÛê–`ÞOãZÏ4Í'æÓ|b;¶í˜NU×kèºaºfÚO¤D°MÓ¶ç}ÍfS:ÐMMÕMS×›Rhº¦ßÀqžeH7œ‘cß­n!„ðC\€‡+üì/NÑ0¤”„ìRJiîÓìöÝ/ö) +7? „þ’„tVÍé[ÿ G‡Òï÷ûdw—ø-ÿ‘ï“Ý0$²«—~Ð ål?ø„Ûm="¤ï»O}ÿ¡Dº»aH£KJCJ‰GÉ® JR2#»»Ÿ=‹dp€„„ìÈ•ô™Q²z=ÀÑÜ þO]9 Ëó¬„@WF/P%zò<Ïó×E]\ ˜ßª@\(€ã<ËÏ3£ÛM»ØÎ¦UÉà5pCL&w @`¼äÎ1ër!bÁXÌCP–åÎ=UþÐ3 ‹±ÀLÄq,.b$8ã±Hxœ1æð3.¸àc‘Ä ™à˜‹8œÇä,ŽÆ8®—ƒA¢.¾k£ Th!,˜àñ˜‹„ÏÍŸÉ0‚àŠ¦h+·M© ¦n. þ¾åE+Í|Õ|oSJ}[Žõ4 ]7M]×6ÌåÀJh覶¦›’9M¥¡€Û΃€ö½øÑ‡àzðƒw, º€}úÅux»%up0 „†úö)Ý%Äßà™@î’P.ÿvŸûDv=êßw·å~‘eD4¤á5„»Ÿ=Û_ JvCz5£¤OÂ%˜•x燕 `AØÊV¡[e«ë­PU¥NæyQ'óöß“ÅYÉÌÀI~’åef¨ŠÒhdÙ´š~ö›ò^LîD@U„¿P ‘p!DŒ!G¨êrDàXˆ‰‚yœpüeÌãê>b!b$æŒ &„˜0΄ó8‚‹„¡1ç\Œ…àœÅs<–-Bˆ¡¢.‚€ EU!Â\0!¸`c!âñx<Ž1ÃUƒˆTMÕ4U]Ü4UyÀ©`†aêÆ=g5 h?‘æÿÄ4Ÿ8¦cÚºm¦i®H„ù¹Ö¥ 1 U>JSo* EÓ5]«ܹ{„oÀðÃ\€÷+€W+àø!@*€/Bv÷oÀ.!äóeüœP*€_‘T +@®¡á.¡ÿû=p}¿O(¡„„Ë +`¿\@E"†áå £@‘O.Œa Bõ~@AÛB#„1²*(+PEf‹²<;™àäìD¦ôʲè§t´µµ5MÓ›M]ßÐMsã¸8Ί2Ó+ûPÖÖÖNëÕ¡÷Ä&É=`Õšœ_$œóä†1F‹`CQÔ¶ + „ÂL0ãX ³˜ÅX$c...Æœ³É…Hบ(21gLÄLp&.Á…‰qœÈŸœ GÆ[c„ðÜü‡BeMUuMÞTE]Ӕؿ¢¬)Fº3LÃÔõùôÿÅŸ.€išËnþHÔUæ¹1ß$jê·¸š®)štššÒP´f³YOüoTæßuò,Ë ÛŽcÛ ñ@ø¡.Àûc×] ÚðFa±%÷hÔ Šjîß¡® ¬b ô1€Zìúÿ¾Ûsº»þjIU z€x5^`r!Ø ©À{]怷»ÒG=;999)˳Úñ?;«ßSæ¶1’д¦®ëº©ëÆqq|œg™^@ÆšZSÓîÀpø~Xã.˜HÄDp&&ü`ŒÀröiñ[„|O01‹9Ã3Æç˜A̘e„†sÎX|sÆ’dÂIÌ!"ãXÄ(ü‚ñcŽ„BUU—B†åó“CŒ¹ÿ±ó«ÿp(„PM[[SÖemMÑÖE›ÿ7ß ÅÐMC¯&õæêÓ˜÷ðßÀ +4Ô)Ù7$몕 ú­ÓE4E“» t }ñës¤Э€t´ÆÃá» +à, ZЂÐBûûÑþ2è5ð«»Pgæ@#$£Ãb² «Y0ÆbY‡!0Ú"˲µ¢nìÎH¸ûY?ZR·`üê:†ÿUÀÒÓ¯<)ÏÎÊòää¬<+Ïʳ¢<;9;«@v&c@×õ ÝÔ7r €%@ÆVp[px †·8sžŒÇ<Éd<±&k hU`-!4Ƙ!Æ9f¢š.ÂçœÉg˜.aÆÙ8™°ñp2_ IÂã F! ¡®,:†!h«« M*D²D >_:Z_ý‡C!S5mMS×´µµ5U[SM}P ÝÔ7tÃÔuiÆalèÕkÃ0uC~pyÏX É€ +ºY}RUƒ4oþ½™|PjÈld£±¦iÍùÜ­Ž“åEæ`??z8>8 p‹ P?Ûö/`Yaec‹3CÎ0‹ÂYæ`Œït +aY->¶ “ås k°, þüY€ep« 0¾ €ïXQ󧟪œžœžœžž–§åiyRžœžžž–åIYfÝZ4›5Šâ¤8β“³®”oÎÐlÞ_ðpÌ1„Y‹$a Æ¸Ú Xû2¬< Ì1Æ]Æ8cœ£D&1gBð ಄c¡!"c†9û7]Ž‘œ^?a$@{9Øh(³˜aÎѸZ²tõ +Æ¿>úK}P@Y3tS×—`ꆮW¯ yaŸ_ÛW°±±a𿯯†©éúFåÓƒÕ"Ä ýÚD²5US4]k]ÖhFcMkjÊR @ž9pÇ6Á¿ÚU¼ÿ²¨‹'þÂþ- B ÞÀÁ*a„ñí.À< GÎ~ °,˲îÉ „,„á¼É ÄY<Á1g\n X`| ÞŸ°>D¨ªr~rvrz^–EyZžžŸœŸžœ•g'çefY•uª¦ažœEže'綶ȬÉ:’{ ŠÁ8gV“º9cíU €ê`ÌX÷q.¸( Åp(–Eûb ç].{3Œ±Å…à˜ Ž1>ÀË$B á &„ˆE¼4˨ºúc‚'ñõëìÀ +ôÛ ß@åll躱aêfÝIÔÔš«£ä‚òylrM©tJSS4½©ih®55¹·¤RNåŒNò,­p¼[&ü\€Ž0 ÔåçüÜþ-ygs°;P¯Û@Dñwqô©€¥À« +àVXw(ËBÖO° €58ãUc+®ðê6¼x¯ `-²ï¨ªª”ç''ggggeý?;—y€ò,ëÙé Ý0‹"/Š,?9w4¹ ´@So.pK yù0È¢]6†¸ÚíË9\ÈqEQU ÆaÌ1‹»q c!C!D"†±¼L !8&"±,B0Îå]sÌæBpÇØœ`!!€ÀÍ‹v@EQ c‰¼ë!¨¢ b<žˆD`!ÃËÑ`„ h×#A‹a\­L˜@Ép8¹¨Næ/®ÓÖj©u÷ßj €eý_À¸€ÕnþJ˜•G Có±$Òøô¦Þljk  ¨kkÊÚÚš¦)š>ßXÖP´µy°!C€Ò(2ØïQK¸mœi»]½1ç—r· FÂ`Éæaû}Y€À+XЂ®@Hp ò»bŒð-Y€($«4²0ÆÂa Œ,„1ÂH”?¶ Qߪ,À’À¸€ul Žï@h¿÷*€e(gwœóÌ6³sY (¯%†¡çÇÇÇÇY~2u´F£¡hŠ|25›Mí=.@’$/ïBÀpŽ€d(„`LL€Ƙc!’äB$Cެú¡ZÈ_E,¸À1gÖàs‘$b,Ä ‡]’$’=’$Ɉ¡à‰¡N†É„w%v aÜXöµU™Cœ1Ž_$‚Å"#Qßõªù“‹ëãkWïø{)0¿öË›Q½i‹ÐÀý-BKkõ¦¦ëMÙù£­ikò¦iŠVo'Pä‡Öä•m ©“¦ÜI»N–ÀàÖÓm¨@ØmІ–… „*B " ÄxÉæÛ ­¾' °¬p÷[ó ¼Õ¸®jÁ¡¶UE@mksƒPEQe!„,˲F°’ûHŠ~h! aŒ-€- !KT`K†¨* ­ª¶m@[…ÖÖ +Cë¼'€¦”ÀÎ~[U6›ú†®›úññññqöúL`­©T.€ì4¹{$`#y™$/_&Éð~$6¬üö±óñE’$Iª8„"9³˜sÎâ˜ãXÄc!„àq „N†C‘$‰à‚Áâq’LØp˜1b,øãñÅd2¹˜pÀ‡fîÀ¹€¦ÕI€ ÃÐOм€Òh¬5—Ðlê÷÷¼|y¯ +…&“‰N^Ÿü½˜%Ò-À)j[QU‰| †9?›Äã ñJˆ¡à"‰™@2 À‡IÂÅ8L$Ãar1™ ‡ÉD6¹ +Ì'É‹Ép2á<‰' lÌ9æ CŒ$ÚŠ¢* O˜Bp‘.ïš ‘ ‡œ-›ÿ9Þ\ì7›Õ ‘f­©7µÊÈï€R¹mµêC é(˨Qe™Ûðh4ÚjûæQU /Ù‚¨r¢;B +‚1D#T Wæ`|p0fIŒ0ÄÃ1Ã@òzoaËB!ë/°p c˘YŒc±…å·“GQ +@S$¨"ynUmù0,Œ@„ …«©³È´ +ðœh¯¶A[… %–yH „ã æ1yÌ™<è¼§ð¿º1€fU`èY‘g¹Œ(ÆZs­ÚwÛÔµ%4îè¨UÀðVŒE"’Éd2ÿz(Ÿ$\Îù˜$CŽ0TTEUT´0‚2Œ'¸À8æ '‰H&I2Ãq"Š—L6 +.Æòd,†“Ir!ÄÅ¿€'Lð‰¸N’ñóx|DZ`3Î1ÄØBÁ¶œ ® +ÁÅDÄ1É8|(&L6‚ñeóÅ >(8_(“/MM× èš¶VÕ".'þníJZÓÖUd @c Ü©pv–w¡“gŽ xë"lU™3ŒÚ*°0Âв4„“ÊúˆÂisÔOmóø€aŒc„¡@†Ôi`ËÂR@µ*Ä´,„!BZR @DЂH–W+Kh«70'@ÛBРd!h!TwÜÈ¿åµéã´¥|œÖ + Ý®% +ÄZÈ‚@€1ã<ÆIŒÇqÇqlUãù¼)Œ{!&¬„16æB {b …ÑRð¡ +`) *çwœ Ùùù" ¸¡ë¦y\ÅI–×.@u͑ɧ{+'ãñdò2I^JÜŠ€ñ0^\üOCñ¯_ +À'<á,I’D1VUé@ha XÌ‹Ç8Æ<Žã.ŸˆñDˆaœŒEÂùP Å0I&Bˆ$N ÇÃáÅÅd(†CÅx‡b<^$“Dt'ãIÌcÎä¸0ÈÆÈB©@QTUQ‘ì޹Hℳ¡“XL„‰X˜¿â@ãOŠ<4Øl6õ¦®Ëaºœ@ üJÝ Uß׉TüJ½¯ôÈ3:*OÏËÔHË"sôÀºõÈEÎC9o­­¶- !°r€ #Kà6ªœçjãâ3†0f0†OfVÊí°c«Š ¨Â:æUX˜¨…Dµ™B€ª8²pÀ-Pª«*¨, X¢¹ÉÃ*ëh±ŸZl£è­*P)€Sjý€%e?ÃÇœsΡU¹@©}Æ{c9ÖÊ‚° +À3lU~‡Qàò÷`ZÍhÊAVfQE‘å'¿ÉôF£±Öl6k Ý—`8'“ʸb,†“‹äb8¹ø×11Éäåp’\$œcTUUUhɧç ó±À‚á8fxœŒÇIœ$"󱬘Œ“I2ž _¾Dq2br!.†/'ÿz ÄÅp˜$“Éäb|1ᜋÉEÇ\$²±#„Úª¢ªŠÊeh!q“˜‰¡“ÉË‹$™$“eó²ÿa¥ ¯ù`ÈzÿªèߨßÖå{o鸶‚To6›Zc µµyÜM[Óª]ž (вXB.¥¿r Ò¼<=?ÏQzVæ™ýÀ¾]@T'Ð,Ì`[m[A õB„0d bù4^€œiÆ Ã3‹An laK…L!0Æó°-ï€znLB @ha  ¢º,BUuEh·@­†­…À¶ª2‡Ê–Zå!”—~ °ª *€ªÊŒ¨¼DCp^äpÊ9ÚªÄa,^ÈÇ[– +`]ÏTÿ7Y^p'ʹ‹i7tݬPž9õ>[½©5ïÀc6O&™xù2^G@2b2I..†/Ç'‰y’LÆ!bY`Yc cÌ8ç1f1Nbóx2Ž'Ir1áb,1“‹ÉE2¹H† O&Ãád8¼¸^ €‡‰Å$™L.&If,98C‘° c„–Ž™Ox<ñE,â8‹±¸˜Œÿo/'“DLjëCƘišóS° PÙ¹©ëº±±°÷ ™ ˜O[Þ9T]÷µ*+¯çs ¬.&o,›~õëhÜ€ÓCôåWe‘§Ž ÔªoIUnû½y»°0²…€eAlµÚ¶ DBx`YY[Y–¥B ‚öBÆ8NÂÃ3†1”1Bv€ðR  -m³ @´5´% @«6}µ"PWp«¨5е‘Í çqGhY¶aûN  ªj[m×}L@ÛÀ‚",0®žØpI¨2Öm%X`–`K$x[ Œ€ +!Ä a»Ýn[×ðJÀ÷*€n!@S—i@Ã(OÊò$+Š“ +Í*êÜ|„ ãÉx2™¼L’äe%–pÁ'ãIÂ.^‡I ÄãÉx’$Éd<‰åfj70Âð€a£W<Áx<ŽeΧf)Bñ8‰¹,ðÁ £‹‹d<ž$òÊqÁâx<¹˜L&cŒ±…„Uñä! ‚R@ˆ¶ªÒ„Ä8‰9“k X=ÇhÈb æÃ ×WÿkÃÿV.ûËoƒzþ‚Ìû75M +ziëkk¹m_@CþUÛ{ýÑ[À—_~™¦ùoÊiyˆ¾<-Ë<;ìÍplÓ¶MpÛÏt½iK/,þ€vÛY–…! mµÛjÛ’Ñ@! â¶ÅÚЂª¨,@^*±…cùL†â§*B2©ðBÔõ‡‹:D9á ÔÒTñse2 p 9v¨° AЇ€6@„^ÀZr nQ´Uµ]-¶ªÒx*"¹Á +A‹1('^× +b˲–@?å +Œ³0†¨ˆ1bÌ‚ívZ¢V‚€Êéíç<3ºÅÔÑdp€““,/ÊZÔÐ4½yo7 Ã!Ƭм|™\W˜31™ˆñË‹äþûT{;cqÌÄPm4ŠÒ†²Þ‹óø€ócÌQÕ©+0Œ !ýEŽ1BLp¹Çƒ%“D\ /’¿ÿ{d—Œ -Î8Oe1ÆB–Å1ǨZÖh¨Ð@XXœcVM.Â3„™`Œ½X2ÿáp¸ (p›ÕEÞX2zãºÝW,©¿&ÐÖ¤w¯kU-OeùkkõæîU̧ø.¥hÖ”ÆÚZ£¡Ì ÿvpv~ú%JOË2Ï2ǦcÛ¶må–4Ÿ¦oØ6RÛ7>ª}S¢6›´ThYK TÁ5`ADf" ,†™Õ6²ä+1€vU\1CÈ‚#i”VEÔv[S€¢\WÚíPUµªdTÛÒ?Y°b̶’Dfýt¼æ¬* €ª@RUU,h!•§Q@E…alµ‘%,˶,lY!Z@†Mƪ*€ø°€;³È)ê,€¬;5Íâ¤(‹¬(KG—M¤UPÆ£ß?˜16–±€¤® +¨Àg\`1 Aœ üB0†V•FCQ!´,ë§ A1baÎ9fŒO°àŒ3Á0ç±à8±΄cœ ,d‘D˜1Æ¡ !8ãb(b„0cB`Ƴ d³ª4 ÌØÄŒ ö‚aÌ!p‚ã±07ÿ—sC—/¦inè€a˜æC×½ ô&k•¯ikU*_«.èJC‘ƾÖXS·›‹}k‹5ŽÊm8žM3”ž—ežg©ì× :ZSß°m„n¢Tª jSUT¹! (Ô†[m(sÛ7€@`†,hAÔcf¥ -ù€”Ö!h‘… B#ˆ«H=í¶´òk¸KT?ƒ¼j·ª¶µ +QmX˜cl1„̲~úSëj ªm9nBQ«v((““òÊ]à ­ª²^`€¡eaˆ¡Å,`YPm£6€BˆfmE…7ð +àî4` ­©7uÃ4e àä4ÐïŸWý3 ãd H–>bÈ!b&0ÆLðƒØ<ÆqÌèJCm·!ÆØ’3ü!ÄX0!æ\ˆ ‚W€!êiãÕ]…àŒc̘bŒ‘°a"†œ‹q#ŒC9FF  !jCQÆ\$ˆ½`LîeCžÈ†ãdXõŠápøòåp¸aêò¥.¬ ëî?†±hí{t ëúòÕ]þ4­ÑîüÜ£¯þÛ6µ6”ÆZµÃõ6H¥é—_J œþ¶@–°Çv¬]·ÿ4Õõ¦m#[» Ò·`Âv[QÛ@P +ªeAÕ²TÛÒú¡ +€ªT ¶,Š ÄXÖù«Âb†mEXXN…@ÈÂB@í:Ù‡€, …4‡ˆc  Ê‡¨µ­jÕdåÈØÀõÇ_]¶U ‚6h«mPE¶,‹Y [ÌÂÆC,£@“Ž„–¼w—Š#Õv…h%éX•°€–Ú ¨*Â@ ¬6¶ eµ- c܆¶lC Bk+*´ ”Mí²è‰cŒ,da˲8dH圭¶O,Ÿ»b¹Ý-OdP*€¢(Š“¼,Oœ¦l"]«€®ß[Pwç‰á3é,Õ‡"áBL‹yÂØ‚q&¬DcÎÇ@QªÚ–ͼ ½À CÇ3Áå„oYE,1®6€$B‘ .X’°1O8cX$‚sÁÑ8¬ê<Š! ³a"cˆYªÉåc,>`B0‘ˆ1ç‚a!ïúåp¸dþÃáF­66Ì ]yŸõ7†a¦i<@,Cbs™¿ÐúÕlÏúv¯¹s`:V + @×±m ¨ÚòK7ut ëMÓ6r›¶!€@µTUª@Um¨@ !°-ÃqR~AZЂ²ÀÂUg!Fⶪ(*l[b a[ÖÀC€ªŒ±C´xÆcˆ,¨ ¡ +€¬'²Ð@UUc !² BÐBÈÇ'Z%ùU0@È0€d„ÈÂвõ¡tO1´0‚*P¡T9UAþ„pþÅm Ja[~ü)lK•dˆ ×TCØn#`©lC ÄÐj·!Tá ´Õ6h·e P ° ÂõÖ½ª@UEÆUˆ«äE¶å„¥îQÛ2;Ò†° ÛØ‚@mµ†'¥QaŒ+oCµÚmÛ@«-U%Ý-·;Beft‹³…0ÍÇ'gef(† Ê<)ý`8_ÿ#„ŒÈŒ€lÖO†“!Nª~‚³Xp,ã1ã˜Ç¨@ZŒ%òr,0ŒÇL°Xð‰b‚!9êŸó¿ç”Œ_'b˜Œyל .X"¸ˆ…5fL$\01N8ŒÄãd Ác Ä P +?ˆÇHž$‚ó±|Â'(I’d"†“ñPšÿäââBð%˜ú<"×h(·½6—`› +EY[kÌÀòäÄ[ )`Û¶m;ŽmTC?l Ãh`É£¿ÍH°GÕ—Ì`è ë¤i +šMÓFHfNVŽ"ýgµÝn«¶e}åüÙ¨Ê ¿ACîcŠªh@ò©T™=¯Ëi!€Àj+Š"í¯]E×e†OUÛŠªªª&¿Z]ôæ(Ò ´Õ†¢Î Q~!rDI[~gµ­¨õPªÊÐD¥ªrI,õ—‚¶ªUQ jdíºb_ºªt€€ +Ui¨j»  äe¾ÝõLZ¦¶Û ´¥Xm¥Ý†`µ­ªm hŠÒ–2@ίThC¨²’@U…R)´!”¥ß9¢®¼ý™á'޶¶Ö @qR'ÇåYáèÕ4 µ5eMMMk¾o(hÝô{]$/“„%C!†c6BÄyÌ™ ÆEÌcÂj«PÀ’«x^0!qr s>cq‡ãa’$b"b‘ŒÅØJ’±ŠDðÉp2ÆãDðq1"O!¸˜ > ŒÅ‹Dp&†Â‚6Páq[<‰l 1ó1C!†ÃDð‹áp8™\\\pq ]×uSUî­4MÓ4kÀ|x.@×çyýF%úåÅí®ú¼•ÓíÚ¶ãdŽe™ãd™ 4 C`¾>àNÐív+ iªªjjYºî8i +@s£i×h¬>צ¤´Z… UEU‰Š¶ªÂvUwY¶¢*J[m·ÛU¬^ÖîhÒ”ÚJCQTTcTµ­´UÔª_DU•v-¯e¸­­@ £ +PŠª©mh©PÕ¤nÐV«P[¾¢©jC©Â…mYfŒ¥çß* ­(í¶ŠæRÛ2ɧ*j[N}€ª”Ê·jÊÿ ¨Êt©¢*†ªÖím “j[UÚ*TÛm¤¶å  *í6*hCU•áCÐÖ@[í¶ªÈQ™R:) BªªÖe•µ ÑÏÄòî4àY)PgÍ¢8)N²â¤À¢¨©-¯–¸m,xU3÷o®«€Éd’$"IÆâ"²‹DÄ1â\œ$1Šf˜a4 @h!Žã‚1!ˆþ¯ÎOD"œ$bœÈ¾¢q".P"†"I’q,&/ö÷‰1Žy,p2H>Ž…B\Œã |ÁXœŒ_ +Ár¨ c +Ø[BðøU,ÆqœŒã 4–wˆáËÉäâ₠̰XÀ}Ý@†´ú…xx.`k•e|R¬”ò¬œîÒ±»ŽãtS'sìã,œÌÈК€À‚5NË š>Ws`CÕï‰lÜæÜk÷«.@€®Ý•#¿î‰Œ P­ƒU+˜NóQ^–y^æ]ЭvJ†ÓͲßþÆ0èvS½Ù4mÝ€zµVÔrè’´­ÔR@?Ók’(K_®ÖF!ëäkuÑüÔ˜ ƒ + »–»&ÕöÊÃUçV_gT—Û¨æšdB¥º+ùÈ,–¾¶ÒÒ?ªY÷K÷:¯GTé—Ô²qÌ¿F­mLUVm»’s ±P sU ¬~¿y¾FYm¥VKFµzYŸ£gé~TUY®rmêÿ›ù?µŒX[+ÿkrF^ä«»TW¾UC~]õJ©œ0EQ¤w¥6ÚÊ…@Å'³‹õÎióuQœœäeq& gÌKëo‚ûž™ãÉ5 ãJñr2L(ªÁýq,;€2ô‡ùæLüÿˆûŸÞ¸‘tÿÍÅÅ0‡d] P^ Áñ +`Â>@œëEÁµ™|¦†{Oú F™Ë¢Ó'œÍÃJ©œpºNßú +¨‹y þí `x#xqè¾çMÝE™™RJ–]Õ3TÚ–m)eYŠ¿Ï÷ù‡<`!óÍYÄúñ© +…R„nB= £< ¢û +©mË’8)*•Ë/*$î&ÿ€›ŽV‘ß ¬@iæV„÷ÅãAÀ2@R +KEÊò<ö«|ÿQ]Wûu-OD’ ¨d±ÌfË_:Ñ,»¦iš‚õì iº:áÕ¬îyÅ…¬*Å×·#€¾Üy}lÏ ¸ÛSƒ‚ÞRk„ð§cëÈ®•y¸l>éZ Š%Ü €ð# +`kâBø m¨÷5‚ËàmˆKÀ§‚ÁjX¿.¸à»=€Ÿºn6“QàKýÓëiz}6›Íêz6k<üh©Éäc•€m{D¥&"*Wm[^–%¹Ñ¨ +Q±©ˆz +ZM‡nÄ“B ¨– ‹¾"hŽ„®~ˆÊ²4nËÑêAK†÷‘B¦A¸f$´­±Z¡RÊ ¶@׼ǂ€ƒsˆ´¢Ú•!­ Q™yšùã¯ÔzVÏEˆÙe +`r‘`Q4‰&“èòHëJ +@Êý*ßßðò5¤,äU]×µLd]K)ë$rÕCûc¹”R&AEU%Ñ$žä¹Q°íN|.†`PÁ›pòv/ÜPµëÐy/ý`/Øë°½phõ xè³æ÷ï¶„<Ûãë„EŒœoçÖèr ÙTYüç™Ê¸à¬àZ)º¯v„Áå‚*€õŸ.Ièsg8ôþbÿìa„!\ðÝQ@w<À—_Og³Ç׳njƒ‘Cå1™L&ñ0lfG`mÛÚ-”„ôï„ô`U–Tò²t]: +”BÅ4€n£òÐIgœ +ÕrSTˆQ£@jÑmþY•¥Qß·†J2åƒUY’Éʲ$BC¨4r ‘4 šÖR«µJ·\ ·$P0××ÉI‘ÂiY’z Ñ(2fU–´Ê\»qüÕÆŠÐ8¼`þ‹w ½4ð£?&QôÉç ÷óýGu-¥ D’°˜Åqœ»sDIá +d<™L‚è¿Åqœ&Qy›"¢8šLÆ£(—UU%l§©HEøOÀp7æîºFA°p€²{{á^°8íìímÀ¥ï˜@0`Ó{ùÜÃyœUn®„Âç\e~l5Sÿ.¸V0"ªß%è3g‹­zཾm„ÀxaâÀw`6 ІRàGêzö¸–I0õÀبÞ2µ=°m­mÛVUè–x§DdP(˜*6E4è)8øqÊ)P”F¥è ©D@*­ÚÒÐý²üžK³2%îv • +€ˆ[TH`Ñ¢PÖ´¶%PõªŸ*. @‘Â?—DxßPy_+mV¦¤–SI† º"ÜØºÓž÷ <â3uù†0>3ÔwxD~Èo@!«ý\Ö=x"’Ä ›H)+Y$Ks‘ç¹”ñ$ŽÇ“4ã4‚(võJAÅQ<‰‚(Éó@_0éÐÔM]×õc÷C¥F~d:Ž¢ñŽ>sRªu—ÚVD¾'* w»=§ZjS­ @@e§,dŒðLE  צô[¤Ìk4¢!³Z•ËÕƒïË’¨\QÿÔ„ +‰8j­ +D´º%"޶¥•&…¨[ЭÐJ¹õ ‚³ äÔjúûïï¸ÿàAiJRåŠHNd •ÔÍ×Óøw`¹Q¾—)€³{=ú½Þnøï r¹¿V K’œÅ,Žg“\V•”iøÀ/MÓ2N¤Ls™³0Jdž&y…îˆB‡º`¥…ØôÿY %lý}Ÿ ßÐþð¸2཭€Ú¿ XŽ‚`/dCH¼·Ç}AaŸJ~½PŒ‚`XŒ"χ~QWÀË6ˈ”ž"NQ†£«†ÁG<€‹ÀàëÿŒ0p „\ð0ì2L†f Y]×u]7MßìLÀ¡ŒÜ/¢ÎÉ—þÛ-”¥2­"Mœ •¥%R ¦J3­§-¡RÂOOã )4\ P +¡ÎŒEK ´Y•Ô> Z­Ê’JeVD9šÒ”†ˆ5×Dˆè¶‰)´†  Z­u˧nÆ\gãÊ*mV¥ÒÕƒ¶$2ʬ ’j¿/XkÎ?¬wrf%Wß¶w›•€aœxŒw'zwaôùyÀÞp¨d-sÆ“>Oâ4MS‘Œ·b4•¹”2ÏëZJ)“ˆ¥Ræ©ÌY”È\JG,bnsTšó$ý0Ĺ}’Œí 4Á&½MÏ{@†Á^àv¾º§Bž‰aFhÐWøíÀZ@¿X)7«²,ã‚óŒ»ñ’LJc9õ骇áÇB€ÏV½°}ÿgLpæBÁÂf6;ÿ8 €º¿dGÆ‹&ëM4ÁùÕ`„ä'´f@@ù ½O-j¡”miµШ›ºié +q +€c~ꔀºå¦Z)S4€ÀAk²š¬ý/2Ö ­ˆèÁE+"$¡Zó€Zc5ZÍ5’š¢R„H@ÖjcZ…¶åúÐŒ‡A˜!Ú)jú«"ƒJ•Hª,µd9Zó 4Æ"iÍjs=è¹»øh|&ØèHÃ8‰“Ø úÚ]ðyY€Mœ÷ræ À˜%Ià÷¼DqœÄI’äRÊúq.›ÇRJ)"–×RæR:°–IìŠâT¦qx~ôÈ?)èIn}WëJ:¶Y#¸žðÅúZ¹aì1±·ÇÂá„+€~»8@ÁÝÊ7îŸçq!8˜Œ£RÚà5ƒd.÷‚ @Ð+€MDaȸÈ|, .À8šLb7ê²®9 Ó>è³qoH€³ß ˆ=Ú¶µt¹*[C†P™vµj-©©Ò µÐz*¦0UF«©à\0E"AJYËj­•ÕQ ™[ŸäJr¡\chE¥- ³Zµ†ˆP£&aŒ†)jÐÙç+Xµˆ0mµn[Š@ƒ‚¹i+N A-i­ÍýÒZC­0fµj‰´;þ0Îj¼“3@²­z pY!аާßÍè'Žƒ«Ày®X&“!bÇq’äyšËº®›ÇU1›í»„A¾/eQË„®•0Iò<Ï“DÊœíp=~oŒÎ·mÔëRøpÝà^u:€9HùýÈ›„™póòF^ =)7 @d +2äà{À™Nè0 H¿Š ^-ø°}ÿ¢=Æ{ , £GÍló±€ÈO»þÈ Yñ˜L☭ãß³hq@€F¹\œ¡VÓCkÝsÓÛ25N¦Ú"X£µv‹Ü.(@änY£3•„RB)… D¦ˆ4šreµ% äžZ_¬QhÔ-¢µÚZˆˆ¨Ð=õ0Iš…aÈ2€LR dHi$ZµÖ¢ýSgÜÍpWtîŽÝ?ØlW®0Ž’³×ð¬yß;œJ™²TÊ<—R&Ñu™:Î)‹«°öpͧ0‹b‘$Išç¹,dÓ4³ã:ofµlêœ%y]UÕ¬J’"/Š<ÏëÇ2agðÏ 6À„ÁhÝúnή3h}=¬?}Öo1²Þþß ·"ãÜ)PMQ)P¾)¡ÉfäŸÚ&¿Oׯ÷ÝÃîÞažÿ$ÛY€qº}­ à†4Ir)ó(•ò†”Ræq.ež§I’H™çÛï¼ )÷÷‹Úyu±ÈÅñQ£8Ž“ °92bñ$rOŸçy!eÕ ¯g3€Gõ~ÕU"‘³z¿k¤…”²(fK€ÑöZ²ð÷ v`´îÝü@ÁF7¡+îë[’}%pȇÂ^Ƹ«;„Æ È…<ã f<À­;Ùc,ä! ³=± Œ\nœ³0û}§k¸dY +ᇤz¸I¨}й€qV­¯f6„®}ãÑÈ%ýÇãIÔw¹] :§¨ÔÄ5ùuÛšˆÈLA¹æZåþ³¸@@(üüæL©©1ÀQÓŠKRÎñÓHdˆH»§FC¤‰î—-"**‘”˜B!¦S1%B˵BdL§„À9‚8cAÈ•Ðn5+(®rŸ •åƒ)ºuH´–Œmïùºùf%àà'ûÉœå<Rùÿð7R‰þÇ 6ê×u•lM‡“8v⿟Ò¸‚Т>žÍ|P×Õ±@ÝÍ*Ç )/ëêVœì^ŸÈ‘Ýëà@Ư€Ä ,°V‘Û¿qîv˜î‹\Ô… Û +8ãkÔ³YÓôðßÈk¤> ŒÆQ|(ýÃ6Z"½ÖøSJFSi¦Z‘vç…@F„!癑œs¿ÕuA´"DE–°µÚ¨ÒQK¤m¦ =ŒUÔ"¡q½F…@¥XÔh5q "ÂM#ÂmTgaÀV®Q‰ˆkÔJ“1hM«î·HÊ·7®»¢u7ÿØ®X Šâôzš ËÆ/@³¼–RÖµ”‰ì%€ô¯m<_°Ÿ$<áþÁy’äÎý—~€@%ë٬뺮¨Žg³Ù¾H’¼®ª®J’j…”³e-D’Ä¡ÛÿE¿Îz aýˆQ€p³¹ŸÉºÎèû¦{gŽÖ È£sP ‚3þ9cœg"ã‚AÆãÙÞ^æ‡aî:ÿœ¹èõ<¶sàçÀÝ(ÑmÀà b~ßø†`*²0ò!ß8ãk4@´þN^ 錣+)P¤×@j b˵F"0šÈØÒBM +•R€ 5…©ÐÁÖ ‚p»CßOr wÑY?ãÇwŸ³17>úÙ•:nd(€ˆ±|@¶&@Dã(Š'.¸¿¿¿¿éôI}߸º3 -ž¯cØÚ"±ªà0á¯hÎæ™\»²Òž®€Ã}¢äéò=ǧS€Ì -X¡c ùÖ\!NêÆhYÑ dŠ€bó ¢<€líî(;иxþ™8êr¶ûãU²hh «BЕˆÐÄunÐú·æù:]´ òþßÞÚÝÔ›;yú4ÐOÉþœb­» -ÉÔîw†8@Ä%Jj®à?U}æ%1¡0¢uQ`È3rPÆ™“HÃýeQ¢U_U¡€Õ.ÓO¢~Íi&‹{µ - €neӶιnñý[Z½Úž¥Œ¬Ë¸,ÞQiJÖ-Lÿ-@Z­ -@§·ÞiU­åÐÙñŸÐ -Ju/\Ft?œTõt*ª+îj=@hÍS¢ü¯ëítsmý ô‚[…™@·G°áiOw½:€ J¸-tUâ†[ÕïõZ‹Ô9p$=˜ë(t—0Ží‡½ÕP‚Í_›ÿÝöüœÖv;CŠ>dzþ„->( g©@ ‹³Z\$@ Û>BœMgÔKEgÁƒ±´]èöŒýcøüû«m~w{YüÇýÿ/¬%Õ•*Ìù¼p? ?r}Ù$€Z`ez•šµÓq[ÆWýDáU¿XïU2NXŸ§(´;®}¸ÕŠÜÏ”s ›_X9ž}B¬<\ñ’'¨úwÖiûé¥Ûíà4†ÂϸÏh¶¢ï²tDZ~‘“£,o¢ìòm€ -€ƒ -Ó¢_ °oçˆÉ惙þ§÷øäÌ%¾஀]ÉïñgQ€ÛŸ~—é,˜^bßø|àeÁ7„m~Dz2[ølßû:?øývDýP èYªt¹^#ÈÀ¾¿}bF4ÁkµÂ>GöpX+€–0RI‰?kÿË88@´ 4°“´½F6×PŒØa™¬1Å:À}2Áüîc˜ÀÏ?îlˆÜ¬K!Hgó ¼€ànÀ:7à{ei^$.×óæ¢ô/øÐÓ¡'b›…l=üz–/†ˆ«ž<½àÊ0ÅHñù $ ™_VÏŽ*Ug#šÅ @ÀþÜ¿p$> .JèN€®˜R8 € äVÁs½ä‘z3€& À Ì(BOŠ5½ö€ÊA‰€HEéµnë”ÐShÙøvwD ’ÿøž¥úߦ¢±"–€[÷é ˆ¶9›¹×ˆ¶»ë]Ý€ýû»m#®ÀžBºi(£€ŽT.àû_Àþp}ýfW(ÝA/PôîôV[¢·t·°€½u¼fW]–Þ[Ó"««Á(ÕëÂÂ^]‚Æmþ\@×ÕS‰-¬Ò -@!¬=z½>þ…¢p‡voHë„¶]×BÄDþ¤`AÀŠàv‘²x‡²³ -ŠÎÜŒh‘¼mÚÐ*}¢W(Íî ÿ׺³tÄ];šÑwÁ@Œÿ^æÇ»ÿ)ýÿÅœaÔÈí‹ÿ?†°×„VlÖ"g U±SNeÓ*NR|ÊÏ«eÌFÊm|ìè´´>vü/dBø{¼ßù¥ ç‹`ø?qÒóéç#üܾù}šoøÒnCp‘Xg±™hM,¥…FÀî:©®}ðYìfÆ)c€ë+Nd´hLû)œÂ -ô‹e^lb ë)»ÎMó[Óê1€" -Ùº¥ À[h”ö¬,oìü.à?ˆVÊHAU˜@*Zëlœ 8°<Ç›;Ž¥Â¤9C?Ÿ~zåSë¯àéwõÊõ«ÿzàêu÷tùÓ‹& /}ò .~bBpñ’Û `±&z|ú-Ф=ÔÝp×î‚H)ÉLÈÄa±µÈÐ. ² @q<1÷§ -À¢5ó¨Öj{ €WЯ÷…ùÃ^wV¯v]w­Ëîõy¹Yþþ÷Éÿÿ¿ˆ -Q¯^'éç,Þ¨ï|Þ°?¢P@‡­)´û4­Þò[ÚŒýcú?Æ ëó€¢Gé 0[pˆêÊâÇù ÈΛfŸ< -/ø ñéÝÐ&?sniE;Ì,¬¨Ìné?„: -Ã(þ -ôÑ -°Ù§G6¯T „áñ,Bcó ýµŸ@ÄûÕ“CŒðçÑõs(5æ%a¼[~í'±bR?ñ4 ¿låÂRœfúŸ(€Þ«²óM h÷ñˆà€$ï `bRF&jˆúëFHéÍý -ÀÇBóO\¤Ç³¿«._ÕäÚ\¹vùʧ¨ÿ|4À_¾råòå«×ÿ-~Üe <–=Þ«Z<ÂWò{ýÜ€P„$c8º0ÿÚT´¨ Ý•¶ ÀQ>)ó-1>ü¥ê¿¬Àæ|@.O -Ÿ- -É»Æi'ëÈ=Q’°¨ÉÏ?îìè¤_m(bxõCÎ!Ó²§•íW`º}2@*ð‹¯ÿ£ôO_…Tÿ3°Ö7>Ù - ¸½¹óý -E~w¨÷m”K\8Æ«àeøçÒ ””x¦4îø¦9ç0§OŸãs@ʘ >Ö?ûy¿1'ˆ‡ü±Zi l¨á?Àá"ø/xN -€Á™(ókÃ=¥õE+¨]WùÔš£ ëâ}·ÛThñ&£ø?{6$c\ë”FPnAgÐZNÍ*Ú8ê*OÖUúçšñ»ê!8&RÅÏéU¿Åy×:‹"Ü8ôµUqYT¸Ù˜ªô¾:Ûí Öbz|Eza¨® ŒSAÐ[D){‚[€J؃î@w¨ ò¹¬ÕžŽm÷;ë{!³Ž^@8 Øo­@´…0_ëˆð@ëhp€¹b?(åSh%:I>ubvv‘õo·f{mû×ô×sRë" ›ôö 9ºÑ,ÿë*‡ÿSðêõ‚ÿ‘¹í+È?Ú@‰S›:8MXâ´H…ÒùQ -`¢€{t¡¿˜¹§­ÏÄiªV| À>–ŒÿN·cˆšÞ.„ €€ñãĉy×ù“ÄqÿS<¿¢e+€T*ƒPË?‚øIß–`v†N2Nœò¡2q .¾í€LØŽÕä°?ÁgܧàOø ÐHag{¿ýØkR·Ÿ> KK+KUÑ~ºŸòõG;;ß7€G# -€ŸÌO5ç·B(EN:ÉØügöà½&Ú‡SÚÇ8€ÿW®\½ìúþkÿJ¡^l@óú«×Ü \þ?û·ÏixãéOo<Õ(ÍÏCUøT]W¶µ¹A[rÿŒòÆ–€–}¶–«b^ÿ)ú˜ø-€ŽÊñBɳàÚ]Uý‡Q/$@qìÀn €–^¯bTÀÀ… -gÉRµsv@ Ùþ矵ÃR{ã«r¤ þk/RQ£›ÁÐ< ÀåÜò´:â¾b·Šÿÿ.û þÉCÐÿ5xµQ~²ñD·¿ØzDAà$m‚yq KéÏý =‡Ùè~%ôI3DN¢¤æ2†×Cˆ‘­Bÿ"È` -¾˜Í‘¼ýeB"!œryʇæÀPÿ§¦‹bû°½=´çþZ{@74€ËºJÜB£ö)×”w»îéÆÐv -G€ý>Â6sÙ¼€â“«dxÞkÆ5éÔÇET˜äÞŒúÿ`[Qu ÐE™éuæDn„Þ ¼†½Ž@RÅòÎÍõõ[ð’Ž…uÁp¯Óê n¡²]”VYzUñ|°·EhQa‘€5’€ÂPÜ¢Õéicüï ;ƒ6;¬¶W•pº«í¹6Åí( -„ÀõEz¸„DáYAÊh#sÈõÈAì¨`ÎU¡¤¥TÚ‹íEñ(žÖwÝ*mö Ãp],`5‚{·Qüoà¿á¿*þ»úßë5,¿(• ÷úë3sx?J|üÁpOd$9–Ê ¦PŒó• ˆWæüäp஀û8˜út¾»w3EMk¢ß~'C8qòÜÊkNi“}÷Uö?­ÍçW.ÿ£\¦©(¿S+6ªþ‡QG0Äëu§$À…IÞ¾$û5ľ¦qo“ÿ¤8Ffšsfz¸ñÎüRˆ2ÂÙ– VLò¨Q€ KÄ8ÅÔ?€;vw·ãsÀß§ßV繜.)Tó§Ø/|WÙ\ù¯Œ¡lEžìå˜LaYÀ?ÒÜ ?tfW¯Òæ/”ÿ«Wp ¸ÁןòÀçOŸ={Î^<þìå‹/_ü>€"à°AC€=õÜðH#(ô`æà<£Rîêöò9Z ¿0ó›C:t–¥ñ¦ÀŸÿ›I À11ñÿ|:#ŒiQˆÁ51eJðJHJNäQ )ÐÏ9Š9€ó”¼–Ì‘&Ò„çýe£ -€ €@‰·¢*웸óc·Ýî X„4 -ø»3ÿU\¬…g é¨›5˜©€@ÐU"*æ"¾C¸uqœñÅeÄ.´á[³À›{{îÊÀZßðŠÀa>ÃÎM -ùkk·†ëtXà®þt„˜n¿¯Ûü‹ÃˆÐè””¥Í¨@èÑÉ¥žˆí«Té‹k, -Ãï8TÌîPI<µÇœÒ H´>œºëõu¥Ëµ¹ >º°ÂŠJÞk{LþOø§íhÿnú'ÿ«€Š>Õ˜@$RR‚çE -ý¶é•Øð»øé^M®ásÂúþXí@+åø´Ð7þ$4)@2€šèAƒ=!ååCq§WÉ×­úJ‰¬Ä/.Ξåm¬ÔêÙ³¢‚>þu„BœzñöªàÒ·¨?ü“›RçÞCó¦çÛµþ¡°JðÔ=è–÷öTt_ö×[Ý;¾ oТJÀÃ[·n­ÝÚ»¹¾Ö£ K¯²¯R¿%: » ‰à܆žÚ1è®âu@ ø¢Bw=öÐíê@R‰h !C“À¾˜±nT³ðˆ´ŽÑ -$=ˆøÁZ·áR‚BþÇ‘ŸÀ_S¸ÒFrÑÿY:r@•³( -øKÌÑñ"íö`\zYs³-:PÒùqd@#©0þk·0ûkèEÁí?ñßð_ð_gîFþ¶Êø&ÑLPvk\ÇÜô -À>Z¡¿3‹0BÞj}8ŽÏ°ölà¾ÿV8Å€-'©þ@F$2`C¢/ ­™ñç?˜QZwR5þÓ’×ô!l¤éÊX<•áÔ£]Oé%k‰“ÌRÀ ÐP§Kó1`LjÕ±ƒ¹ý”òó§C 4yK[l%:DŒÈ(ÁÛ ‹ˆ±Op1E·}þ5K*ü ,­ìÐ{Í4ÿÇ| X3ßÓ°€ïvü-€…}­øïy—êáhz_ûÑÝa¢@g–ÿ@ àÌÅ‹—®XÀï>Íÿ/}òéõ§Bÿ—/…þo^kxýëïo~ó›Ð_KadºMÀ·³½½uÿîMúç=ZB ¸lôo¢>3¨mzÉw—ææçü™?'sý•™ÿ‚ir‚­¯6¾R±\±n—® é±ï!^€*¹ó í^~ü1³ ™ë%`¿ñTPFØ èÏ€\÷¿ï"þ/-Ý^Ù<àçðÔ‹¸M·€+¼»™ø(‹ -”ÿÿªàûÝoCCðÔq# +ÀÓT«P@©_&M R×óˆ³Å|¢¿l´€ MÝ r `Œ¬‰àvÞ_ëxBº&ÊPÞJ)ûg¶N!ðŸåÓt߆4aÚ¶Ì=ÍõÚsv °l{]™Ú×ˆÍ zËô;(¡ˆ©gÒuôCH¸*äwUn_ë-**‹Î®¯µ÷ÖÝÏ? -@Ž€†CY=¤b¼¿0t§z{ýv?ª DAÂua®}S×ÑÞk]¢ Œü‹”ôµÞêÚ@xÛi¯ ÛOÄNLT¬Pê÷Ÿ¾h$¨°¦¢@tÄj‘p§Ç…¨O‰dLÔ¾é9ºMœk¡%è‘èþ÷‰ÈN¹ëE¡ïšàkÖþþÁÿ -þÿòEl ü¯k2·W&Ùü¨v€€7‘NIz6ðGÆ9Y8B¸ €›®YÂ/–(Æ ëó(ÁW>Eü+{¤ F å-ƒÁ4ò  q(kzÞžy3çpÔ¤(w*þd“嬌Âÿ©™“r…öÕþ:éIÎ݀깦ýB˜ÖPÿPßè•úÍxIG™ -ð÷Þ„³-9@¬˜äàû6þË8ÀŠöÂcû¨ÿ÷ÚÏ]ÿY  ˜Öè&šýx?ø˜¼$Jþ™4`Ä8NïÀoôÅYVñiÑ·~Á>²ÿ•ÒåÏ¥K?9sñÚç/^¼|õJ¥ÿ—¯Þ¼yùæ·W¿þ**ð+J@±xDéNœ[ºP5¬l{+@ÅcOa&N›‹eE,,÷÷дVRïÞݺ»}ÄÿQøÄ¯pÓýýµ`…“åò²8~k~nvicËÅo§æ8#àL伻ѽ»µc}“´!V©ø/€Çñ-ÿ"[kÛ¯äOƉt ÄÂûZPñŸÁ¥ÿ¼s—ýÛú/·Z_ÒÙßÄ_ø0Ú¦Ç+ €ŒýßiAÖP4f¨X$žYˆøI^“†à pšž@ -¨MGq%ŒH#cœC¢¿¬V’G­ƒ€D°½jKôÇÿe fÐííᨓâ5?^Gš!Š€ûµ9U#¾@ýÌYÛ©S3 j wqvQ×Ð"8gŸ@ZÊã)ïÊ>ÜÒ¥‰ŽÝešõ÷@XzÁT¾M=4—íõo!þ÷÷øæ¿0Pñ¸=³¼öÓP·×ëöVuŽÁÞ΃ºelm`ìlwis§+림 !¬Z"Í(Lúý6ÏÍ] Ú]>Á+z€ÍµupG7Ë- ™™ÑýÏÏuW{®¿ÐÙt~“õE=-Õ%³g -¨* ýµOÌŸ8qvf®%ÂÕéé™|ßÝÑ]r±r×Ôÿó–1½U£?Å+Ùò¿‚ÿ -ÿ•Þœ¹c†tO…ØG¶À)äðß Ëèö®ß0y]1#YãLœ¦Ù - €`B¾¢ÈÈî½Óü•,Kr°(«ójf”ÒOÑe‡ö9)ܵ•tg]¦o˜Î$ޝýu2Ö£rODC+Œ ^¥SďІLe%3´ÈÐrvÀ«“Mî z‹1ª£DšßšVï÷0u9ŸuKP”Ï­è‚ôðwØ.ñXöÝîw[]7#ë=UüËO8>2ï×C8‘£F¦Z™tS -m1[`:•eùþH£/àø€á_$€…K´ü¿tæãÏ\yúLåÿW¯_¼~ýJ àµÊÿ¿ýfÔG HãYrHS¬ZÙTïo°½)ü¡4 †—!¦e¹šzó±XVäÂêa>#­ § 5 -Àöý»Ñ - ‡@=çÈoX[+´Q†^0·¼!àv’VœUîn¬„ôk…¨¡"œbáÑ΀½<þ‘hž%ÆÇ”*›7›ø¯4 +i*"ÏЮ• øÿ]‘!úbׯ¢Ü½[#þØÏ†pû¶ÞyʼnÓ!̸7¯ -ÿkÀÀŠBbI9…#§"d!6'Ã??Í ü“+”lÅSç&\IV" p›ó‰þ²Ú r}™‹ÿðÏÀjüŸ†@Z‚ašÃ¯®êD*›«Ü½Ž®ŽÂ®ø¢R)pÆÙfue>LÉKÐvü¬…a]c"@æ‚í"ðkëXÈuÛË*Fí®¬B' +€µ›ö2ÒÇOqoïIG0¨)ÔVl¶K…zpq^Ýu¯ížÝÀP÷®hîžv(¢wé`Q|Àõ袾ŠÈ…XG÷@o¸:x2x¢ÐéDƒ@{öS0áÂ`6B)_·ª[°ƒž+ªDhÈÌYzn·5 ÷™Í÷˜vböTíá ÜNùðO;ìõŸævîªÔ/ð·ï­Œ(F|Ûˆ@Uæ‡ hT-Û*9ÏÞuV{¤e??GÚGeO@Âd€O/]VÉÿâ'—ô?óñ‡g®~þâÅ+?øÿ†z\Þ¼~ ­<¢ŸËÆÇ€¶6·îÝOد-ûÈAVæ+˜iLË\.Ô+bº1e?$ºÄTÕß½»}w;[ üœmç«&€6Ï!,µ…ÿóË_ݯÒ$©Ðý -À %bFD;€½+†zsM£ºŸƒ9m˜k( h«Jü>ÄÎT&ApFqX4øSúø¿{·‰ù#?›&_ÂNóÎNÒnèßv+!$d•`øçßP”Ô@ !¥Ál* ˜8WHc·ŒÚ˜.)Ó”†DYÕ -`Ä€ÿ$Ç’˜]ž ÜDìàPʬ%ÈÛí©js§`Ù 53Ú“Æ`ß c!d@—証ï‹pv×h™2?Kí–0––ö‰y=šÙáŒ/&0þ×UÌïëÝY×ñû8ß¿•Aa_ŠmÀ+¨™ïôâzÆ?A ÖÖ©}ðMt´r îôÚývwµ+NµJ¿~ý­–°˜[ë·[|ôׂ¶ø‚ìé'#|b À_B×(h2àlQU’ Z™âZ;Èw­{Ö]hŸÓ^$lèA¦×˜Å—þMÿjøoâdîýÅÌUB ìˆt‰§Y|G1ˆpæ 6’n}&NÓl ´oàþ]e-‚½†@® ì@P}äOC]ò¦Ô¨ÀW!×3bèæß3TÔ!ßã z‡Û_X"|&ìä@¿?ò«iÓÈ5Pþâ$^£Uü|lÜÅØÌ·àjS¯î€wÈ ªiD‰|ýXÄŽ -"€‹-.ò„°°²°²²¤(@48ìÏï;çá߾ǀת%úˆ·@XÄÈ–£˜î*‡“‚k á9•ܶQКƲ€¤qOAŠàNÿÎ|ræ#€Ë7¨xõ:†¯^ýúJ à•Àÿ·ºÀÏCÚ‰sK+÷6Æ ûµmo q (Ös¨æÓzeüËŠÜiec½ [`ê–ÞûŽÀ}×»Às¦BÏq €d©è ˜o-ßÝyøØÉ\ÿT²—>‘øP´ÄëßÙy¬çK¬³`/€ÇÑö¯)äD7&ãÃÀiÆÿo´L®!ô\ƒ;вf ¨ÿ*;؇A äçv[ÎF¶š˜?ò³¡ll*šÓ @1Mù?šø/×íÁ1.¯,T>ä UÄt®a' Yp¥+™ÆMàì%€/ëQÄæýe•0fFˆ€&¦‚þ©)øo(ÕT|çx¶Ä¹Ànmɲ,5× wØ0PN z¾Á`Fè—Ò¿"Rœ¿Ó^¤;MAu_ÆEvTŠWa›GñGph]‡Ru`Oí -û¶T^k/'þs׿”ѽo~­°_C¿O‰üOm—¤MžT¨UÀç ƒÛhQA¤ýô_æ´à=•ëݶýtßve`›öj·Å˜ë"]hÙ·IwÀÂÂÀ®~² ¡ÚPg«ÄŸRì„Ëé¶uô€p½=èûBí›7ƒ é -þm®û¯þ†%øcdöåç̽6»à eI  ”ù „x08 Lø@)¦{§wú€pË(&óˆ©Öç) -ÀH+ £ -YÍ]a"€uÄ~ûK +L”2­(Y:í2cp2zﵑP=3Ê,ú+Ÿ¤_*𿳡/ÔæUºYCÜŦЌŒPÁäD?@ù)€éúð8^¥Œp¶%ˆ“|ÀÿÒ -'ZxXù^/éÑ¡ÿÇüÁÿ½T+*ۅྦ@×X!9Vâßg„ 9kZÉj§°¨á?Ú><ó1^€/ý¿/]æ ?ÈÿtûûÉ'gΜùèÃ/ßx.àVÑæï×7¯_ªô/{•5¯¹Íò˜aŠT›þPÂ>¾’aPŒ)M(oÌåbîT 9ŠÅ²Óʆr´€Ò - ¯‹ªˆw·¾aLÉ^j‡74Ú#ÅW¯­ù9ZÜ:£ø_zé½Û]ùjK9›mb©JÜ»;í`öˆXN$³ÈÈRj@sâlyðàGûì>N`ââ -ÄÿR øßÚjbþÈÏåãÿí••wX¡T,ÁUH¨€s*ó+ ÓÌ–”_D&›`J ü÷!%A¥²FÙ€§'O!/q,‘‘H1Ãè/£Î:3ýQ3p2«0ðb”4(@ ¿ Œ º9>ÐÏŒt¸¶®u€Š¹³­§ææÆŠÿ²¸eþný$èü_œU±xQdêÑÛ=ºÐ/üB5ÀXå‰t#k*kwh¤‡ÇݺðÆZè´ñ²·›½n¨Õ¦}¹ëv×wMàG3Ô#à7 Ö 6ÿIôIûÆÓ.MÛ(‹óºI@Ÿæ}<,lÄ7ÙÃ]qØ]ï"`}-oÂhŸÏî]݈¨ÖÂýO@O€dÕvb¶U|(N=‘ÊùÜ“ïZWßÓl» ýÿôúÜÉA8ÿ úQÿÙO–Ðo#Ÿ/¿Ìíñ4äÛJ#Õ^Aƒƒ8€¡œ4\YáÓ*Α&øX3Õ8§Á`´€¿°Oàî9w¤£#¬´éQ^ìÄvRÉ @I4¾ä2{±õ8H,=R©Ó(@žôW-ipòmPíOZhzú8®è¶?NL4^ŠT-BŽ_ 6 ”±Äl’±‘]e”¨ÍoM«÷û¸$ª-.Ô> Li崹̯̹j s3@ç# yJ¡?F©Œ+ÿ•ùà˜+obZËþ‘ö_†|j×?{ÿÁ„ÿŸùðôÇ—¯?¥À‹W/i @]€~¿¾ü¿~I=€­~ºøݨ˜¬Ð€Á;Äå -˽ÖseEcÈQ5‰õúèýð"¸jS²s¯BP¤&Y€_[,µæç—6Pôu¥b’£?à£b:1.óÇãÇ#ÀÃÊ @øÒÀˆYˆò¿9€Î ½@QZ¹…IgQ~  ¸ -wíGA0üïú)+ÄûCXrs ¢š;á>ç+ÿœÂcL€¬´è/Y„ñ_Ãù€ÿý…Y`GÌ±ÄæC†‘(Ñ_¶¶vg@ùp¿ౡªÂÿЏ[¹°„ ˜†‚O¦CDZ8‰Ž•é®|ÛOûâ2àŽuè»_HÚöÓ½õ®ýõýaí¦ð“ÍÂQ«v`îÀãËÚ:—fÖð6th;˜Ö:4Ô-é´F÷ ú  L,ÂIþ$ü‡̉É D%¨L #À+¦AER»Om~øŸnØcBýË|ôŸúŠÿŸœùð± €;ø/ÝÀ—oðÈ*÷édj;yš¯ÞÛÚÞÞþzçkþ;1<ò÷€Ãë‘~ÕPê5rTæs«ðè´y ,¡ñ¾Àý»ßPi‹íT”¦J}ýÅÌQp°ÔãH -6Ö# -@ÄÃïW'IÑ@z¤y_Y-@,é:®Е”k(·ˆŸ÷ÝÔm ÿíÁèòÖý‹‰¦Uˆ?ö+¦9—è+p^øºÒÿe”ùk‹f€ä$Ž¶Šœ1NÞ4üz’y ù†öu,q”‰È±‡y£þˆ9·ßgÆ~PKcàj¿  ü—sv:Ô:< ­9a\­x©‘æ¨P‰v±5'´£„ë[l˜Òâ©5Péß%üá‹.ä‚’ œÔ`Š<ÏÊõ"‰ÿP=¡@Ü×€*(©"¸à7æ ÝîÜ\œ$í±JyÃ7œ¡/RÈÅuM7Ô) ?© Í_¢Ï)õïóè¾2ýnÞ©ö'PéZ ú÷Ï:«®íý£ -€þ -gùÁ’ATÙ‰¹NW;ÎÎjžV:ÖôEwMx‹ÀèNDÖD¡Ê]»‡#Y”ýUúŸXüÈìž_UÜ#ÄßMXÊOPȺµÕ©V§)¦ô&SQñ¾ýèk1Ÿ÷ @eŽZ âo\ K h,p¤ ßãAâ¥I ‚j–•ÖaúJ¾Ót/±ÛF‚ÖȈSNž˜ôîDœ;…ÇM|AgÓ…%¡o  ©x GÖÒƒo¼×¡‘WÇálK+&ù¸ - [,\¨[า2U-€nü{·h*„Nü<ØÌ@|Ó˜ŒûFpÛ&ï4Ù>þø£©†3ÿ?¡-åS‚þùãËן?ù’¾Åžÿ׈ ø—åÿÒ`РÉ0°Ð‡u[­µ!_À“èðFP(Ü¶Í -«@Z`nQå×¼Õ0ä|ÿ 4‰c ½Pxýe.5 VÑí¹ Ljß5¥m]% €ž­R®m´Ó£èÞû¡Žçá~ܼkz÷á9tÆO¦GX{éi³ë :J ƒá]ïCnt["EºÓÞàO-"„€@Mà$ëýŽÐVs€~gºö BC{}Í’_ -üÿôL7(#£Aès+Eº «Š×aJÌ¢P -½Šÿ·ÒõoBñ?V”ìÞ¿:·7àÇ4‹ÿÎÿI—€æ×ÃHn2`ä]}ʼ3Aà´õ™8 -ýÑ - Å·PBد¸Kߟ‘ø£Çßx.l¦)­R@r;é”Ii>Ø 4,Ò3‰;RwœÔæuÞ ƒœz1W®¨#sîPã…` þ‚|fj À[sÇ÷ڀПl«(Kxÿ‹¤@Æ—/ë0ãó»»²+à]zlôFKÍ9ãd ÉöGº7EíÌNÇ`®àŸÂ>:ó1n€2Šþg.iAÔ@OøÑ¥ûåùË/^ˆ<{ù\°o €šÍˆ Øtoñ˜e -UÛãöh[¼‹.jG]¿j( õ 9*ó¹5×(÷X'lGÐ_8{—&þÀ?Õ¡¸M uÿI6\°Q€"& -`ÈýàÁÝ•îW5~¬(8&à0ÑÀø_{ÀøÉ}t&ÚTß Àö·­›öÓ ΈÿVù'üŠY87S>8³ \ÁŸô¬ÌÐoK“f"'™Ã˜@ob†ÿ4\’ÓByÏŒ'Š/žs&±'AÔªLÄ€=Õ Ì"Þò¯¦´šßÇ º8·Ø]Ð&­s§ÇgûTžUîŸmµûkó‹ZŒ×PÐ=…â}bF¥»Ã͵ÚÒŒPÌíÙÌÚ`u‘— ÒéŸvÀE"!³ïdhЃY_ö÷ú¼öukà#dÿô «­9m…˜œCÿgQ˜~O÷¢[Ð ¬)À9Ä/ÿ;t)¨mkƒÞ^þ:c•î‚CXЩu›º6µA>$vX[œ³ 2°(þ3'ü÷`I$ßgm§æÌ!Ú-…¡k8/çô]Ç%׺ýB[ºu×ÿߺ¥WþJÿÿGkôs3äô‡ø_ø€ä€•úaÉ´ônßxÈåu¶<1'¬ÏS%àJøæîýmíïøs2†pæ3x2¼+ ™ÐÔ&@RWÁŸ”®-ö YVÀÉCô¯Hâ1µižeワÎçŠX…^ú@#‡thÖáï'oüÿc¿÷—cïL87-VLð }.ÐpD8šú ÿ üÏkëÎå¿Haµ)gûBù)Ì©#Õz>Ž?H8Ì j± ÛÞgæ„õyŠ€ëQwû®¾¨¤oàcàÎmœDgã„N;“$¨“UiÕs¶PßN˜êkÎU‰úú3 #]ÜW†…å>Xˆy¹PŒUX㺚‚ƒð'4«7Ïý€iÌM¥xÞcìJ8Û’ÄŠC}°(ùG+€TŽbß»Tö0}(ßé[ÂÀ¯„ÁBOáJ¥úfh6Œ¬•Ããøux:ܧ±ü= 3—û4ÿ§  ?ü˜ |(ðôE‚š†óŸÝM0?eüÓhHQëký¶·ï€‘žrÎÐRцz†•ùÜZ­Ùh* -úHhGnú£É7”£+ 5®.ìwßa󭕯ÒPæÔ ÐØyŃ®ò€1€à~/GQs)Ÿ¨ü‡9!P u Ê1RðžIP¬þë¼óà„Ý]õ?ܨ€ ¬ÒíeØXTff•‹˜µÚ0s e"*SäQü!XeƒD^3ÒA(ѵÎZ>0~Æ/¡?­™ý×”0Œ‚¤7`Í* -@Ÿ;Þß ßëÌ-¶û‚B£_ªÑæ~»½×ëðÕ<¾^‡Ò=þ-7`$ÒÃRLêæðB3Oð-ëÑ÷^»g?=]°Ó݃ì Öo©Ä DëáøÜÅ_|ö)!÷õÃALîÞÑó‰p×­9´NÝF³­Óu}?w­à x½.(®ïé(wßBh¯õ¾îQág§D>t;T‰H('(èÈÜR(G@ì(½èí韡d;5·èPÐmµÛ³ˆýκ.G݆.Îíwÿ¬Iæ^ܵ‚à‹õ/€ÿ}ÅÿX–­×d -s -©çjà  | ÐÿHZAØ»~ ~‘Uär‹Æ™8 -€2\6t‡$å}_ Óíû¾|‡÷3÷/A©²¡4µU¤ŸTHÿ ÜϪý8‘&+3|Ù¼=̧.0å5ÕÕŒ|GÁ Á"@³èÏ#†`é@[c¿ê€ÓF34Ë©›æ·¦Õc -¥²½Ò -ÀW­œéÉò…hºs¶6¾„ì⸭ŒÕ¯BOIØišùžƒÈaEM*ûÇ+É}e%ЫP?ÊÞ§0*>¾xF¥1kVð¸tí©ñÿÙK] ðüïÈ/_¾zýüiZŠ7BÌDÔ£,À»wi¡(¸Ò¹^ ÿJ ­¥n6 fFjTÊdVëè¨)Ð?$« 5´Ê1uË­ Mân··Äû£øŸ•ÿ66UÀ„, t%jÿµ¥.þ;€|àNõ¿4‡!>Å/Ÿ0R  °^Z A1‘<'éG®¡C>}è_w%ÆÎØÕWÃHü*[¯ðœL ®0”L4h ôSëö‚€1`^OENqaµ±‘óì'‡;ÌÝ– -»ùx 0·O…Óûܬî²EûûÄA\ýÞéôUHæÆV·ºâPôc€BèõÏí´Ö*ü×éUì_Wá˜þzµªßi¯÷{BhQHÉÓ —5  -ˆjð BþN8-X¤¿Óõ]Ëð( º ½Ð›0Äå+|z(‡|K(M»tä: i¸Î‘ºItU3½U.ÌM¸9b_€Âr=8½ú@ÜEŠ $ÛY¾IàÊ<'Ü_[ï ‘Câ]qõÞÐ7GXSỾõÅþó ýX,Ê4»žù|þJS_á¿à_S/jN©ò›I -›du,œÌP¡…<þG*‘dS0Žéçu6PLÆ ëó(õ7€Ê€ìŇ3pç.pîÉ£’vƲHœ~ ‰7 Ó>âîJÄšgZReelô—ÅY=@Æ–‚Iyê@³X™«°‘ËN´ï ¥C3߀ÃîÏS:ôóŪˆHáQ‰µÅŠ >Yâö‹ÿ£­ÂòM¶Gœ±jÀW‚ôZë~€.^Jüƒâ[îš2z¯½¨ ûëé¾ëîÚùkk@)Da} gú¡`”¦ŽBMáÿz¯=7¯Ä´J·ƒoBo8ä ½~/•1 ]G÷®û÷’Ð2úœ#P8Ö@öEº*œG8Kg@„K’íúˆëAÖu»4^ÔyìsAKLî\¶®µºyœ%ƒµ?ÿÿ¼s›—lšÅÉ×¹|þ¢Xmô7¤3«²ÿÑ -I±Nµ™¶œr˜GV¹¼2sûVëó Ô߀ÈÌ{# -ø rN_,Ãy¢Árv4Á)µ‘VsóŒ«ó°D˜4¥Ä›*…ò3þ—Ä»ÕÂÀ:ͱj*‹ä…`(O!X°ŸÑS…Ý![µWœ¨€xýXÄŒ -"e­„€Fµ€!'_Ù${Œ=ßoX  -€PóP‚/La¯…U%Ø¡Ÿ»Æ òŽ%€¶žÎ>8ý¡;¶þñ¢¿ -@'€Á >üàô¥Ïž>ÿûóÏž… Í´pãúõëŸÿpãZOèŒdÙ€»FØql -öÍMÞ°øÍ¯ÊB½FCŽÊ|n­Ö`Êt…ü"ŠAæÇ¢÷ïŠÊÛ¡Wº¦g=e×@T`cKÄS(Š:9ê¯2ºu›^Š2VI­}øÏý2Ê;éçÉmڤÕTˆY…=Œ(+[Àâ¿ÇGÙ¨ßøa:ý+Àý‡€ÿ`v1‡m±T´ 1RG‰™`œ¨ßo^Wyz׈&$ŠÌNrþƒÚ£ `ºz#kŒ ¿V¡A‚–Õî2ûô¢Ð¯ÙžJ뀫p B€£<%hážv*Í-v„}±ÞºUþçÓ·§ðÿ£Hßh î&Â2Ý<—¡M=ú ïÅD`ü!ƒþPø§"¿¼ßowûx¿ é·oMð'XÔQ=*ƹqÌS< ú"3¢.==®À]Á]kŽ»n!ºkO>r|k}ïF ­÷u¶Ù¹öðÎÁÞp ì§ñ!п§»ë¯Ñ6ØÏU{k}çé -"]Ý„yMÏß„ð°‹ø?X  [ŒÔœ8‹,Bhø¾Úë¢AýuÝðÀ ÜÔUhuç¹k;Cu»â'Å/Ø4¯Á}ý+é‹’̸ i&IzßLRØI–T‹¥eÚé¿` n(™(9a}%ü¨Xj| €€q €ÎáÁçÊ€ž`¹Ð˜ÅLÙÓë1Éã#=f²d\~ZŒ¡2Ài|´®Ã–\5åë!ü Íx~6Ø“?T3Þápãòc$ãÔ¶ä±b’@¥È. ÿïSÀ˜|g“ì{Ψ©rßmM,lÇ·8‡Z01A­±Â,õßsâ]ñŠÖøOg‰àÓ >øÓàâ'š;óñÇ©üÿOºüÿãÒ•§/ž=¥@öRTàï/Ÿýð¹?tåÊÕ4îÓÆ6+_Sâ§-ÀöÖ½JtVDNLáZ~ÕPê5rTæskµÆçêX9GAÔàS™Ž°Ý¿K‹:s•¬çþ•ÀGG[Ÿ¡ä¤ÔˆoÆ$Ù `y¿àû¤¨¯{ðÄê4²¢ŠUü+õàán`Áb~ã>9ŠtPø bMܯ~2‚LÿÛtA^݇©ÁéJˆÀ¶9¬‹ 1XEþŒÉ‡þåÿX º Ÿc‰M‘5&Ž?öh«Ä˜ø/¬IèOCƒº9€þU"À¨ -€_[k((U9—’uO'¬TiÔRô 'pâðu ” tmê»u@|$èÄ,Í!á(P\¥S!ª²*§ëŒ:§+¶£ Þÿº½AG@¥}•÷ûë{Âf!#h¨U{ƒNGË}û%êìöÐêhœÿé½@cÕa\AÛï Å 0CÝõM•×ñáû{ëÿ—`ݤS+Ús³ÝA°÷d(Œ×“ëL½µ!þƒýŸÒ¹{ôÍÇ­êÆù¨¤¥ÝÓOÁAO€¼~7[ ˜óçù~Ò(þpbŽj**tc¢->H »Ö³ QÐN±#‚¢ýî" -€ˆ -@ÿ–îÚø/æ’/¼zç1?ò~un_€ÒŠ ;šÈH“û€@·˜Zp¢›¤·t†ÒÀ¦£gâ4u+€ò-€¿ØH×Àäýo2¤'`‘³fõB¤Ø á342—iP$ó3ÎÍó}z9&l(+Y¡}Yà0Ì8Û6‘°àÍøÑ¢¼ã_Ò/h6^ì€~|Þ¥G(–×Ò‹3þø(‡Ú× -À<@^ÚÆÁ àûÝ]÷°»³b€ðÈN€°ò/̡ذÊÀgnÔ8Ö*k0€?Bøgªè XÅþ‹—Î\ÔØ½@ þéÃÿôÁ?_¼úÃÓ§OŸ={þ ÒÿóÏ^¾xvãÓ3ò%á3—Â.FTñ“å–ž7CØ \’¡lðYqù«†²P¯Ñ£2Ÿ[«5~?F}+0øÜ¿ X0èW^K¸P"tzÔŸ ‚%ˆ‚#  €h8&4,"|ܤoÀÿ`úÅ´Éø_ò ïLf°Ä× »[Úã0qLÚýÉu¶H;†pòôy;F¾€o‡m1€å¢ò5)™ˆ#%ð=Å‚àië3“õ4œ‰`1ýà¿òød ‰ýiûÌð Ö"@¡{ ©˜A«§‚¨ ½Ý.…Ín ×<„¯0ÐZ‡ *½µ½îÜ¢î¢ÝíŒz†0;sJ%ܹ¹¹Vo•ö ?F†®ŽA¨ç\Â6]m÷w`O£ÛQÙWˆgY¾7T™w ØëjN=Üë«X¯{”)ïs‹Ü4ç»™^³Oòœ*±÷»*ékéIÖ¦Ãp. –C¦þ:U³âÞà§ŸöLxæ^@ òƒÿ„Î(–Ä!ÖöþÝ>¯épÒ@A#£3€>s®à Vvâ,ûŠ× Hˆ@9„úîžf€V¨¸èÿ´¬»îwD8´EÌ‡Š ­Nüo¿‹ÿ£ßŠ_$/ð<I莥ZŒ} €äHêvÊ!ɾӷÀØCS¯/é’ÖçQʯ|*`Â×µìWÉ[”ePï7P¥6¥ÎœóÊ—žWR Lqò3 â˜S$Ó‚[åÕjÊΑbu6¯c'Öh¹ða¦"s”Í B3²CžÎO^~n àͱãAÆôد²ä¸µÅŠC}°(ùµÀ66ò­M°G;ˆÎìd3@žƒ¯:#XîñàÐ$¿©Øb.—½kæ™kü§3—í§±>¢Ýh|€&SðÏ” ?¼xõÆÓ§¿üðÃsñýøáé³§×.}ôÁÒ6³9Fd$ãsÀÔöoÝK -A(Z°¹½)2rË¿ùUCY¨×hÈQ™Ï­ÕŸ -¼o*ÆÕcR€­»€}k!*p° ©sC ð›Ô­„ȨL_ˆL#Œ[xøÆuÿÇú0Ÿš¬âÁîß”ox“2‘ŸK?b++[ßÿ†8$Ms“Û„@Àmnà‚| 8ÀÌì¹üE`74ùFò€4«`ßV°?'3¦fŽ%6EVGGÍò£ ðŸ_bX‚BÃR00LÖÀ•{¢A(jk«*„Ä_lÆ N¥m™«ÝÑ呾ç]ÖmöHò:òµT>¦CœE+-$šÎ‰nÄ …Ê=´nýÖz‚µî”[ߺú{k·pÓÇA¿7ÐÐÐÚÍá ¾1‘QÐk á¢:Øxhθ>€M@Ö -*ïÓ£îþÙ ‰M ­b}ÿÉÞ^J -ôýAwHù_û¨ˆÞ£Â„ŽüÂg]£Ûkëò¨"vlS'Àã¶Zgçù¢Bâ”­Ê>øàÔl¶ˆÐUz˾ëvG÷¨E»fÜ™›£ÊCô O+€=)$þõÓXðà¾ù‹äh&ø70 ßWZ€&Œ¤(¯Ól¯*+*-¡@ôp‘½Z¦e’sãLœ¦j€ÈH•‚½•pt­/dÒÖ¸°€ƒ5€Ñrx”#µz+ÓÄI‰ÌÆr®²•¬ÝÓjÇy¨e¦¬9Ò?þï&Mo‡ò“yøõ¤!Þ±ß.€¼D™fŽ‹Ø±Oð·Ê•AU­V\ -@úgV¾Ì×6nßï>~ü`{cc‹å¢”€$x(Âç£óò=hª,Ôo¢ÎJÃØ{L(iQ¾?ÚDÇÝÿ¯à_ÓÜ ð?}øOÿôÁ‡Ÿ\¾ô?Í -ÿë׮߸~í’©_ Ëo‹‰ÀíÍ­¯7 Øk~îµæV釯ìÒLŽV £ð½Þë tÉþ°Ç} `¹º€xo¯ Ô‚ÒÜ_¿t„èÚÐß»µÞ¹µ·Gû=KÛ-óeÂG?_OEimQ©Ñ^÷LKaõ_Ыá 7OY°ÅpO„B‹ --QœÚ|Iâ1ÞrC…È -œ_§¾¡ßm‹5 ú`ÿ` ¾"fÀåÅbüe w@cû<´ZÔˆ‰œ=gD¼EN€Tˆp¯=: ä®Â< Ìk½?\‡ôqÔÍèÖúEÿãðŸÅ dó£?§­Úv)á#0X2‡*J.‘ë䣢â;  .üÛâÄœ°>Ò~(#ßð©8¾(ÐXú÷ÿôIDAT,ÃŒŽå.™d`[)ȧÕIŽÔW¥@´8-:RëÅ99ŽŒÃê¹´Æ.e[,0Þ·÷DS0D8(šå  †R#à=7Þ,ï1öô¹±ä±b’@dRÂ~· ðoøQ„3_~¹¹ïmŸÑ -@øT -a¤`Q GÐxŽ<Ó¯"Âr–½]¬Òüq€Óÿ4Ý€ª$4 ZÒ Ð§?¼tùÆÓ§OŸÿòÃÕË|.ðʧW®^¾tÆø_OvâÜBtLý?íù¼Ö)Ü$èÐ廀úUCY¨×hÈQ™Ï­Õ,ðž¦1ð;Ê* - â½sß?zÈf€x.µ–¿‚x¿ü” /€1 @{?@¦$Wÿ3Ý8 #ïìkÒB˜¤Œ} `’ Ì üçœà¢AÒK[ÚãV½†1#©A@³$¾Y4 ôf>þ"¬¹µ¹ïáG#îSx šý»þ?Ÿõ,áûUŒ;Ä9bT2ÜÊüÖ´z¿žZãU&0Ñ Rî›|¿+Žñu¥:ðañ -ð'ðMãP*k,°UgËMGÙþ§)~ÿtZ8/ÄÄ©Ó?óÑÇâ‰ÿôðÁ‡Ÿ\½qãéóçO¯_êD¿V´7£4¿ò‘׎ â«Šÿn°µø¿±¼BG·)ü¯¬Ð Âfb( õ 9*ó¹µZƒé*€=ÀügîpK`å »÷ïn´ùónÈ—€Ã6„ºŽe0T'è4V1r,<º;Àq€¯mø'W¦m#ø¯Ã}jZ줰ü•w¾ú*÷Ó¬9™CgÜô> `|—©îÀ­URìËý‹±ÿ˜lÀ -€;üiü³œ—]Ø«IoÈ="…È\ì÷H(ÖdGÕÔ$ F5 "@€#dƒ¬v ˆQåÛÂy•Á;ˆåÆ'¸@gT\K XîŠ3ÔµJ…b4{?Ááú«,¬¢ñj‹NõW-%¸¦^ç²¢¹ Qé§Êž}*€÷ÖÚTÙ¯‰oé¢g(ˆä&d7o2Æ®×›k Úu×DwÝë–…ªz‚¾ï¾0„QàK¨"º À°MsúáÞ_‡{ëÅùÏðÞÿâVÐןèÁ…Éëk]Ý—Z{ „ïý^íãŽ{"ÖGôˆ”n»E/@ -6½:XlÍÎÒbQ€ŽÝ@ ©Ss|Ç¡»6\æKEºÎÐâÔ5ûëîèHO»ŠÙXÑ]¯¡èž›ðŸeÁ¿€óøÆ¯$.¥góN/# -€’Ý7$/í›irr+'gÏM§°ô. û66ä‰9a}%þ¨h| @yG¸äË ;çxç ;Ô˜™ î#¬¼P¨"J -ôÞ«ì:•U;W‡OcªÆÿÄs¿=PPþõtžê—¯9mr%@¼ÅUùme±b’@8þÝ -`?˜/WPnOv|œ>Ñ pÌ@ù›B;ÂÇsÎ4ÉE‹G@m¹ÄÞd—ÿþ“ûLc'írþÁ?JòöøÈÞ€g² ÓÿÇÿÇ}xæòµëŸÿð쇫?üàôlòCþE*+͔ÿí°ÑeXÙØT¸Óû܆ - Ù¡ëQ e¡^£!Ge>·Vk0Ô8j×(&šzäÉ!Ö JÂþV¶ ujþ® -% 5ÖæErÙÃ/À~÷p €#¹éª€¸QŸXæÓVù…Ìçàïþüó7•pæPŒYgzð®1±)®€&ÙÀ¹aõ¬àº²Ü?ÂÛ@’¸é)±5‘½q$eÚØ¢'¸;@öÏ‘cIIÃ?FÑ -3è+Ã/ø/¼Iì3¡Q|—ˆk0€µµ'*Ô Áмe=Kò½ŽÀÛW¢!ER`Ó`@wÕ]êtDzýî\‰Úô|JðØ­bïbo¾5×î‹]èr<- -úºî¢®ÏâÛK¸ÙÑo¾ôÅT|§! ®Ha˜’°nŠë¯ßº)òC—€{´¤ø 4vµ•_·¾kPZZ n8íx,›Z8Ð@Èõ-IÑ‚¾Ö½}«õyàãß°0ªÀåuû¾½ÇXPî‘á=­-9‰Ï©‹D3dzÆAÓküWÈâ†Qo†ÇÑC%`ö‡à×|ˆ±ƒÏ'* 81c‚à*ÏZ¤@ŒEô¦óÝ5¬R¶j€èÀÉ!‚¸¡ð -Jy¿¡Ä´2ÅÀù+‡O-œ<ñá ”?à÷¡G€yà?Ez1€ÿ'ÿež¹tùÚÕk×.ù²úã"€»À'g>I‹]GâÀið…ûîÁˆ°µ ¨¯EMpÆŒb( õ 9*ó¹µZƒ?e iŒ`åïpÓ{óÔ¼»Ñ¥À -@ÖÏ©˜íL‚h)²2ÖMòª àÞêX€Ï%ó}ùÎÑë=Ô¦M£ø>i¨B? -@k~ù«û*Ìpš°ÈÈ2¶9«CgÜôl·ý]ÆÚàƒ€oWX ý—›­'#‚þ»¬_~P‰z ›Ù‰=«„àCžSÒH´`„!i¼Š!°?ÍPø6IôB¨Ž²ºŽR©Ýó´€Xùó6öà -ÉU,ªTÊÇxéÃa{¶øäкO²ÀÜâ¬Ð+Žã!xΩ°ìórߺÝLkdž›ë7uAÝ’€$ô Ëܽ¾öó=·;­NçO®ZǬ2ø®»Ýa¯·èû´Á0ØÒ¦ ?Õ {At_w¬‚ö_kk‹{‚öhp¨G¬é{Ã._ÞÓù(ø÷z¢-žÑZz>äŽÁüµ›ÜÎâb{í&³\lqÞ¯A˜/ºØ¯8;;Í"›è)€|ßÕ½*øX[ã®Åt`/­¶îBÅîœXÀ@·”aSŠÿ ÿ‡(Êä#›§ÑŒ ˜Ö²zds$×HU}NÏs0(r|"`]ò‹<3'¬Ï£Ä_µ(ßøfÂ×µìQ}‹õ(Ã{*SºÍ¹"éé okÇ9r›×˜áOhú 8Óó“‡ðè?Í·|~¹«Ï%ˆ“|ȬFZ¨ì?ª˜„°¹é–~£v\—òad¤9?6n*¥ÙÏ4v´þ§Ãÿ¤½v³®Ï×Î|üÑ ïS¦ÕŸ|rñÒ§"˜˜õ²‹Ÿðñ ÛEv}ý(_p€÷@jð?‚“脪…°Í‘Ç1×\3>ÂF¶3ø'üðƒ±ž9Üôæ<Õ9în ¯“,ƒ´—7¾ãm`+óBFÏQ —ru˜+üËM˔Ƚ:Íy•cXš¬PR 0¿Œðón¹$·§C9iÈ -¨1¥áÈš -À̹ó8ëg‚°åþiTŒ) ºb«Á}ŸP~Ù ‘™ƒj€ÜÇÐÏŸÅücdÀ‚Qi„$FØ&Š*Æ»È-b¹Ä¥Và3w¢@ ÆùCwk:·ÚëvÚÐ],>ºSáÜløàÿ¾(”³ #r}ßt¦Î͸'-õ¿øÂ÷KOz&\º%´×¬°ÃxÌÎÍ›y:±ð?îÚ·­§Ðqf7œ&:æç®M9Z«snx°* -Ó® Ú (ÔGÀwu>| -‘ ==‡ -°hw$vÁ°~“ÔÀf-|÷[$ õè„‚ìììY€ËpÂ@q×î)AgÒEã®yJ‡€Ç«sí¾nQ÷Ü_Y×kö]ÛÜ_³ÝXyã™Ñ7~un àÀðW’ qLPÊ× ¶à´RÙ»} àé°°L[HÑ3qÊÊbšß€Ô@¹9JÈe~;|:´ØÊûŠ!³ð\8®ë˜à@² ><ˆïĵàÇÕÖÜñ}÷àú¨Œ$*Pù€3¡¬l(‡Î×Wì-}l(ž/’@eúV -€"̇ø÷OcÂÿ?þˆmû£ ì?ÅÊðp¨þF:äãÁiûß¾¿ ôw+j~Ëúo¬˜;ZHìgÞæ™zTMGV5­¹¤+–°Ÿ3@ªaգÌwsJ“¥@*w‰Sl#Š:%V–+2zÕ€ÖÔæ[Ò| 2m«ñÿ{ò‹]ŸàÇïß- -€³“`r/Ê™0ÍDÚRkiåv´ÇاèWƒ·Â·þ)´é8¨Vˆ“Ž ÿõeˆ“ (ÂþÙ·©8ò8 - -®aÆ5¦k>¸=@„†ŠÀ`i„4Ô,Ò?m,i¬mlæi®iê»Ù·57¿ª9!V·ÕªW„‰¨lã*„FúHG96ð\e}M˜zkÝ -ðqkkº2mú:naÏ®*mk ¿¸OLh«74dï å®»u±¾ïZÛçÚ«Ôsüÿ˜û—9Ž,Ý¥A”H4yîÑ‘îä‚™Dß +2ò´Ù6ir¨Qƒ‚j‘Œ™|³XRǦž„B* -Ôûuö¬¡î¬PƒBÝA£ggpþ§îï÷-óxäƒL=öî½"ÂÃÃÃÝÜÜÜ|}ßZ¶Ìl<œ¥¼€QMíéÈ&Öö¥Ùµ ü‚ ³gŽ­Qzm­à,ý¾Îx]pÜkã4’Ý­Ë[W¶®lÛ&ByHZ)E._qŽdO˜¡’½\HGVô² v-k¯ƒ<9qÎ8¡=3#!¯˜ÿìVw›òó±8ùÊ£Åã!ð×Z<r€üæ©ù€gá<@K²žî’@?=Xœº€ ½æúó@.ECLp•N”:&€Š8s6À¥ ƒt’Õ,>¾ˆ nÍå¯Õs—Z³öTú`.%Ìàûw…RÛ¨§¥Êß{Õ™æ‘ܯÈròcið+;¸´´áÏ•ìa€ $íÿH¡A“ç.›€$,àÌâÿ[+i;æBÛêͽƒŒýøËî'Юð.Ý(…þBJáw¡ËÆ¢ûc¹d‘­…E›lDP i»ÅÓÄ{é7”¥ÂPGÚQµ<–­¸YÍ¢UÐ.êÚ¦  md 2ùpàÖNLÒ,!®6œñtA€]@åÅ 7Å$jñœ”½½ƒ£š•aïæÕËW%Ü‘ÁÿÚ®|Gªx[y§ïÆA„¯ŽXQ•åqŠ>]¾®Ö@€MѤ–(ýîã[@¸”J€?²ùû9Š b+ØÆ7°¸×ADz©»ò£¿mÔ=€**ÅÞ ¼omŒ`v0oë†N€à¾H—ˆ¸$Œ€Ì&-ºß2“œmrg1™ˆíˆ¤Ão7ŒFÓá¶—KÑü–‘x8Èš o®Ì·›ÙÉ”IÃ}zŽió½ßßémo;@?_ýABô#(ZïI¥€8°Ñ†äVêøÊ£x.úýŸM¦w(¤:µ‰äêŠ Ø@lßÐBie¤P@Ò§ú—=ˆûõ -áNØÖ].¹ÞÝÞé‘m½(æÚlå\ânãê^G¿o¾êÑjX¯Äø/'@¶û8žáXŸ °‰º<›õgxžMKQw$««tôœœ àìÙÅð|L*É5ie~R^äÌ÷•z>¯Þ|ç×»t x»¹³ssÜã«ÉrekËÏÕâ·VÒ~,÷Y5®ÉÎÍ-ëÁeNfŸ¢f,ÅÜ~œB=§@Œ.Mðg%_náßÚï¼q\¤2Ô®&]w¯¤jÇ)€ã¨ïš`¯ft±ý·ô|òÉGíF¾o €ßEþåÛ…¿!Z€0€s=—»ªPæëñ<›{€ùîsí¥—NPw“&d¼@ÄÑ‚Eÿ \ânë>¿*0€Ì„ù/8Úo(@‚«hS¸§¥6ŸóçÉ?Dº•û\ˆ€íÇð¿ùvø>v®}ŸÊý£á~ooè0U?SÖ¾ó‰¸u°î(±.®\m[}U®JâäwânÉÐ -þQJ¤Ä•ôØù‹vŒO$Û•l;0×l‚%­ˆÖeo§·÷þ](ÀþZÀ5^žòÄÄ4ä^Þ ¶\z‚ÿPÒõöç˜ÕíCbéW˜€Ⱪ%%<©=ª ¾Tõ˜ QÀùýV°°”æ(äìNÒØÑo°Ý;$I ç$×xBF¾ŒœÃÇùqrT"Pv÷öÊ úkÿ+Wo`×t8"? €ã%ÉmÚþû€üd‚Á p¢{gÄ™Äò-Ô›Á‡·Ù/ðS.šÈ^‰´%¦sËuv»P§ÐˆÏ´þîÛIßK„˜Ä`ü»!)\PÊP× û,r¦âò[BQ¥X͵ñx£[$d™xxB3 €pé7ÂR *ºVLv¼º=¬óyÂ:gríLFYr¸Hýo.uØë¡S#)Ä"LŽ•üÉW5‰`<}6@7¶'ˆOÖØéGÎдqmU’î9€õ¹€õ@÷mÎó8' “i_µLþ[¡/…jÊã¶µsppä¸ -Zï€ó¯½vpÿ`Æ¿sð辊 dï€óG€¼¬¾V ^b¢²Ó{M² øßÞ^Ï¿O‹Îó­«ã~p˜,`íe¦KÆE£˜KsyráwàÏ×Ç‹0eïcíš´•ÆjÃY1eï´‹£Κ õ·ò|ò°Î¾w @Ãr~ Õ‹,¿Ø[µêºØÏ§™¤RQ\T>UXy}pé… ½.½¤‡y);Kêÿ—cûg¶g~óÍ·ßyû²ÿ—€5qÍ%~»ñé<ŽE' Ä ²m¿ÖVò®•å¶Í×ú> ´÷[ø¯˯§Š·“=!Á© rpÔþ.ñOUmOw¾–th¯²éH%f-™Ì[qkRT¨ÉæFøâ¼™zžH qëWìפ€œ­òa2Í¡PR…¼!{;{û÷V€64hÅÛ¡òJʹ»ÆH­4°<’Tþ”ÀY!­ `¹kj RõxM@ÔþH}ƒçõXG†’¥ ²G5oGÃm]ÁL€ä¥É 2‰³ƒÑPšÍXÉ.žPò½Ö°Âÿ4hÿï8 .öðdAC ãIF,åì9Ó}²…¶ýÑâ¶œà–·ÍˆûÕ±ëɵ+ä…¹&Q/¸4ó¬ðH -SXLP<Ùæ¼^u®yÖßJJšóõ8Ëçñ!)UÚ@ÒœÍ\ߺeAHÊsßòpƒøÑßýY#q€œÑpåÆÊCù=¡¼Æ”'LØÔŸ´É†i¯åzÚÛ²ìÊú_3ÿ‘€Áæ«i{á>˜èǾôAÉŸ3<Ýl€ 96墀ŽÔ“»ô|¬.F=ÿ€¹Â8|Ã`ö}ÆÅÅ|ó‡9PÈ~+õ&Aÿ-ìû¾L`G@>¸ÿé#,Ó«;{Ÿ=y¤rÎàì÷ïÝ3"˜¥+ˆÝ„£(ê±·ÛP¤mmù ø(íëèøÑýý=NÝãdX“Êò3<^ …— ¢¹–»¤,Øú7{Õ®&½.¹kl>å¨ÌOõ€ -t1¹jcÐ¥K@ÒŒ|ÿÌù%Ú³æú)ûÞCÏôt&cJÔ5+ª•®QJí¹kO{aæ_é… öóíz ú?C‚þŠó ý|°ÿß‚tÒñš,#/^³ äú³Àö¯:uÿÕ.•Å i«6)Oùë,yà>§D¼÷kµá¡ì¹òñãÏa‡!Cª<ŸÞ©@¿-ó|\fµUЧ»²!›Í“™ \kÿÇï„?«vu -ÇC?Ññ1|õÉãÆ”ÀärT®Uq­¤•Ѻè8’ÏJ^¼Üb^„¯ Ómh Å绞r£8ôݬ{ÂkK<·iÝ@*Íÿ¿$¡vÎÙJ|6VD`ƒÊjd¦ -%.î(xØAtK@¥‘h¤_íÛc¯ŽÇàÑ8Øí™gü]¨El]½‘dwK×xÏɃΕz(§YßÞÒ60˜ÄÙ?ýv1±×Ÿ¹ßõ7+ä/Ë—oÞé¼ ­LÒ˜áÂ$¿³€LÃ7Ù·ør°È ”nVMÀ +‘ðªÙËpEI“¼I ¶$úèÖh:í~Föí—WjÃÿLb“ïò£'@(‡Ó1ð#; -Æ%²o¶C´Â[(]=ÎÃHµ\K,<¹ÈDù6Í;@qôq¶·„ÏñÐyΜ 0*Â4LÆ4“X–^À'› €G§Ð?xô €Çpg‡øîñ“G7·vö}ûDMx|üé§Ñ‰›¢ið0Là¹ÍMΠöªEW%VRΈ(ÀÚ8àþÉ^è¾ €5 ‰vÎ|Âe˜ÿÜÏÕ{a2_\˜dΛÄ.Q»Iª%D•pXW«Ä^ÿ>¦Hî~¤3ù«‚X¹êg‚ÒBZ5x–¼`(€<àüvÑUÑu@]ÈM³¹²5ROŸ[; þ§‚aþ—õÏ·>gÿ•èØé|X ™@K4>±’VFëàqª `åÐü­óDˆâ‚?ÍŽéx—eçè@Öƒî§=šþ2e'€Ú=µDi¤¶šÄx­ÀI -ð÷a®‹%^€‚‡u -'€(‚T -iú†[Ú¢À# íjö‚;B’;Ò^?ÃàÌÙ·¿èsœçê÷v×=å¸qC@1€j°C€‰'óf´@ÖÙ&Nɸ#¾™S;冎÷L;¯Ÿ@·²).®r Jo‘\Œ‡\Á‡£ñ„K˜±³±CçˆúÎéÀ io2iÙ·rÅ'«ìs'øñÌõö¤ˆQƒN&D®)ŸéKÎCãû‡Ü8 yq0ÄAúE®7\¾¼½}…= TÍå`&œ[PºÁ¹gý§^hp?•`¸6 h²e°¥ËÀ\þ›¯’è÷W×€úŒ^ôëbV1Ûp¶à+ôí©¤˜ÊCø €à¼€î•͈«-««tâ@ìÍpöl€Í`â¡[+§fÃ+ú¸•¼’Id$(âOíóÄ^Þ‚z|ïæÎþýßû š!JñSÀpCî þ2¯¬ãqÀÒ%þè>»Þuÿ_ß#ßÇ0Rƒlßì°“¡½ö¼’d¹nÓWßr:à]ð¿ìPèÏÒAXý˜üÛv¾×f¡wpÈ(XxCM¥hâ§–5&²âgÑ~S„­<[ž¯¶€ó¤øûúØý@ÿ›ü€?ò¼ûn¦@Ú®ë’ À5ñbÒ @ØÑÀ¢¡¸“õåJ6Ö–¶ìþ\½Öþà®øÜ´ -¼”~ky-¬îmý)BÕé<ˆ¹7„¤vFªŠº´:¯>˺9€ŸÏ¹Áù×Û»”dgÍü?Ñ` þ— %À¿¾z¢ÀI öz•‹Ü„ÊÅâÜ;â)¦ì*0˜üâ_ƒÚ@u"÷…ÿ. Kñà—êr°Ét§­$Ø/]0iûnL”׋ ˆÂ /ÚùøŒþ´Èê)pž@)´Ó©,ü8¡í~—B6@1—‡6¡°UgÓÑx˜)k¾-ëŒ5%°àÖ<—¯8þ6 ÌþôrëI@<Î3šãþø0`2¹ Oú“ÌrËY'£ÛnAø+œ`W0Ìh=gCüÌÐÄ‚´IM7( :"äZgzßá~È÷d:ü’«õZíaš±èo[¶ºs-¦Ê¹Ð9á?dY—‡Ã qÒñtàðC33sGÚ²ëP‚ìÉ9½2²Án~ˮ؀Wu”YNÓ•íÞ¶“[|ìêIô88V²å®ßb×x‹PÎímâïÑ £"“yh ›¤'nîX%¿ùê´½Àß­ ùy׆˜gœòœ˜ À¥jµSñG͵̫6F*a\¥ƒ -(ÀÚ\g͈ÈÌŸÊ&ÙÌ -B^>Ù>þØñYäñÝÙÙÛ¿ÿø7{7·®¾(8ºÿ8à@¢->JDîæ‘_ú÷âÈP! ë«“æ¸÷ðˆЯ6 Ò;ØÛÞÁ¸{ŒêGÙtøßìÿ*䜀XÍ`~JÐEð?;ý'=R% yÒ໊¸}Õj·X.»¯µO[ãíøHUß é? ê¦k~××Ù"8(ü?0p¿Ú·.yó úuË?Ys¸ø(·¸¹Ü1â¿ËdäD€V#>Z³þI2QŸû‡,ùxL5G-k’r¡œNÈš൛@r# þøg*@–ë¾ Üì`¾ô„ð®é€›lØX€éºOö]zTUÕ ô祿&KÉ8¯?@0bƒ4'€¶°žkÑ ¨÷¶ã!PJr½>„@¬÷çÕ|<õ†Ž[üOÇÃ/£C Üö%P»^¹ÜÝà…í[M°“c ˜Y„ÁEµÊ¦zß-Ã…ÙýÃbtGg[wƒÿíÌ—H©w\<ïo‘טïˆV´PÚs`Ã`x¯7¤g~Æã…˜*\¥Il>Ü&±Œ(Èþ‘Ô)¿ìB "[@Cö°@L?…MÑ vGNÀ1·Š ú·n÷?ëï‚ÿ»Wä>éÿІÈmµý_2´ÕçF)Zþ”Ê~ÿp"ߌⷠœin‰OÅz³;˜—Ùp{šƒÿni2«hO¼VÚ¾@óˆÙµÁÇð´@PP^«;åMšªžÂÂÄøÕIt¿É®R24üæPÊÐITP'EVN ÀVyî>^÷Ø¿ÿmçøôñ§m&Ò&¿â€àϵ5øW ´5=î†Ü‡½k}ÅðÀã㸹 õ¸«êWÙþï‘ÏvO‹ø˜‚ãã+טUÞ’’óÆÈ.¾³«I¯KÕƒSõ“Z«<{N`±€Üãúψ¨&€\Nòà%v>¡‡¹Þ9Þ~i¹wwSág*[’*a XXz ç{Š]˜nñ‹Ž°ÖêÁ–ë¯8CðëÿïÿÆþ¿ûÞ;€ÿ{¿øÅ{¿øy^¿X‡þ’ p](ђĤ*Á‚,naL{·k[–ï“ßËw`N±žªw#|þü´®#?1ÀÞ&ô8÷vC¸sy­ÓÞç¬tUôT#÷¸¹üá–d¡å«y6eÿÿÙ߯O.þ -H,å”@©%‚y‚ t¾¬¿œê@€x^€ºo7wbª_ÛÚ·3ŠoŠWôç½ÏþG«&¤< -KñßÖþåk9€)™n‡ÿ«&*Žöÿ%’ -þŸ Øq¡óü¼þAÏu ²9ôLpm<îm¯}NÊ ý×îSÓ `¸(ôOÙÝþž¨€Ò…$PôOwµt¯ëmíjçúy{J–ã™sñÜÈ'™æ_`Ú:?L~Ë/¯j:ÙŽÀŸz&`ó(.Š€uoË -â\¹"Ó•ëAo˜)þ@pg‚ûpò±£ûòïh6‚ÕÀp §‹H±H x;¾?…c¶$ q•ÕáŒcɦM £; ‰æênÉäcWÀî Ìÿê-)ü¯‚.ß°D¶ú‡Ž-˜{•6K“ìÉòpJ®C[ȯÿ{Zr0/¦5ø@OBþäe6*œá(ªŽ¿¿­å*ÕÐ<çyÜè3‰ø+ó€}+€O 9˜­ëšÃEý&-i\¥ƒ¨&€¹rT4»osîã@Óõ$Ä')šÿF>‘ "ë€O=ÃP~C¿É݇ øŸ•!j`ÃÐ<Ñ -*^ÀñÝ_ÝW¿¢^Ò°ò`KÇþ¯(pýƒÿäΰ‡»pÑv¸öËBP²ÃS¥ -Âûè¢Î±.µAꤠZ<Óp^/Ôß1í6fËðÜV‰"G -*­•žËñò¼µmvˆV%’³UJÜŠ0,déXÓÑÈ'aS ì‡+Zíº?ë1üñâH€6ücøƒþo½Ý¼þ?ÿ»÷ßûÅ{W¯¶ëšÔ8kÒÚÓË öw  · æ‚ï“¿©€Kiux]¨’ý·mÍ•³åÉÇ€ äôCðrøð¬sóXpøÊ½é*éf ß«(€¶#*T¿}¹fR¤6|FMýä£ÐÍú÷›wjÊã‡GP Ç6"Q’òÀFùpûó:ØÛ†ŒQ›â¸üâÍÂdÇH‡_(1 ðöîXÂ"–m€@¹Ì¯óˆÿÇìK«óŽÝúvÄ!'CTUúþíòâÚz@'… Á~ÿïãhøÏ ý•b§(ÐÈh¸»5ÀÌõøxò×@7a&V©÷Ùà@öú ìÙ_sx½ŠèÅkx±ãß¶ni€ ®¢®z ØÑ"³ñi\ß¾³0¤þΜ,9ÕÍ)ÿé»ðÒ\5KúÄe)~ÊÛFù¥ï~—k²–/æÚÉû2vîÜyŽ8¶tÛ¹f£ÅpW(å‘"R ›„z=ৃïI‘È>Db8šßž™kNHöYÃgƒa  -0ؽ’ñ€,¡FGn<é²Ã$;QÐáaîoN$á°¿"Å ?‘lM3!Ôd>w·Oo/È1Ú&^­¹é„›rx¾ z8"æUt 6–j>áð):Ñ rÉ…=eﱞWUß<êå $ -ú”¶G÷^] À³<Y&­.«@½>ù¤8µÏZ‹8Çð1B}Øy à+ùU‹8z¸„DÐÉZ À½òÜ5ã錴õ¶+A[ÿvµ¹4ÏÉrpÒ ê'}AÖüª_²€ºuO íäé@q ¥U„ÿW€hºÓ½´ÿ])¼qqN µÃú‘<@ -é´Àkùp}vˆT‹£KªªÄãcýÎ6 -uð?M•ޝ”¥Óé¹Í -cÒÖsø£åÚuCÿÛÿ9À{ï½û‹Ÿ¿ÿ >ï½_ò‹¶oãþÊé&€²ÿOx´?[ÑÖÚ~[DKI%>!á©ï¾ƒýÖT¾Î’'×ñT ÀþÑÃe'€u©êÌÇûì2/²À‚·ŒH%A<{òƒ4àN(‰ýÚÒ`õXñŸozœ¶PpTM~øh ü;ëßµÇÎÆ¸ñÚïÅhÀ»<<ÿˆ¼øê¥ëÝJ)Ûຠ‚ãÆ|yp~¤ œ_â? ¿ÕF” -TªµkÎÖ$F£J+5H;ñ¤þ¤PY÷üÉñëM%VÌ l óó#П(¼TûM1 €ƒg1Þß>8ÖônÕó„¸ÁûêšëU×@œÞeÍølA%K5pp{½ €ö?õóŸ¼äó¤-E9@yövlËÿ0C¿ëγ´þù<¤b¯ÿyÙQsà¾a6Àº æûÕ-)Zñ4«v›½›¶èº— ûÁÿЧ-éh@-ã ÐuàØ"ª)ˆü~ù¾K|Cì rDÉ䀔õb½†ÿHÀ’€±™Ð^ƒS4õìÈéøÆ,Öüï@WÛ¾uè˜M |èYõìsžÞÊ`@\ÞÍÞÿC €MŽ2Ë¿?8©Àòt1Ÿ,îèáŸç‹;w€~N§kläø% -_¼ã‘Ðçp&[5ôøßÿ‘Ù`H®ÝKgº‘36P'¹Ð«a/ðKmé›=pÈŸ°°:†+Àz|f±=þ7›,Èòd6õ¸“f€ÌF”žŒâBá’íÿËà]¥˜®p£¶oH‚$ R ÝÙ’%ÅáDæš<“ëé”.8é`¥Vð+ -<·’Óã ·ùú×Ëm~'Ÿ?~†?Òižêjð¦¸Á[㢞FeÓ@­óÖÆ†W|2 -ÿã¦÷ñtc‰ÁJšÊÚy’Û?þSSl@öœ 0I62Qæ¿Ö¿'È–Èß½`ûwï{+ök ïžüK‹3x°wÉg 7ë5÷:é@ -ÿYÖÊJ²‰tOzRm‚ýõW„‡ ‘hn.e¬Iº ¸¢! µ+IK¹@cz8ïn‡‡ †é¡Ö®X b/ôŒ#»½á"1Óùl*÷Òƒmºj¨ÀW¶2 -ž#îo÷v¹Þî`wk×CHô÷tãÁ!I ¥‚œA€ ÿíÛB¾P<™Ü¹½ðìÃét``|:8@B^&Ö5¥-:.Â+€N°t:ëÛ¾!ÎFÛ»ÃÅ -0š}9Ÿ±IX¥ó)€:Zô{öl äX>Ä¥ÊF†¶rÌÎ4L‡óì`OBÊi¾¸Íßzã{·$,Å«?ØåfHÀwc#— ý:ü¿te‹"ÙÝêí§œáQ>—’&NïÅpQs™ÖÀ°?Û9ùx:ý‡9—Å©‡½ñÔ\“…±}:;ø?ËP*tS€–g{Θ ÐÉGÏç§´Ðÿ‡Å¬žè&Ñk)™ þä\r€§ŒX)û6§‘Àï:ÿqäcࣴ ©$™†÷áŸþd©•mÔ»=·› \;¯íÅ &ˆ@5«"[f„Óú³ˆ´Í‘.Çä/·GŽ–üFª@ ñs‘A~âŸòÃíO ¿òΠ@ªrÄJ‡«'ñF.êÉoµ”ÞöNœ4Ø<˜ê…þöþõäÉÐyìm>`?Ôö—íBØð)k?r’ ¤K`# ©%Q‰ÿü.7ðI -G‚ö|FËA:p‚$ª8ÌÄZpNh:­|ØßQý`8ÏÀÃìÙÏgóé üŸ± i;Ä`«²K6 v·àÖ•À^58ívŸµÃ&ö@[ºŸfw Cz>µKýÔÖ€¹Cÿð LïL~{‡]µûòe»ût®·­éK@¾É•ƒâèN‡ò»†#‘ÒKz£Ù^Ìæó9&¿ÇÕð{¡å?öF‡˜ÞéW+¥0ÑÁxhŸ„^Ü1üNÄ|óÉœÿ§ãÃ4ÌmÈ][ BºÝ¶3Pð{ûFЦ41NBÄŽˆ1ä~Ø7fÑ8ƒY_k}.ù8œrÖäe4D142… jøÿ@¼þYûËfÏͳÄ>öõ e׳c:ˆÊN?r.€âÈ2æ;b‚«tŒ4`î­xz6À¨ Óàm•Qæ“,=Ÿ«„cUAÔL ©Ž]2€Hý8éƒ‹ê¯ØÏõ*ÒãH±R ÃH^K¡µ|6©õîvÙIþ½‹µûäúêâõø+;"ïmãi}HV|'sl,æíùÿ„ú•ÿ>%)›>ÿ8cXS*PPS¬< -xT ÀÕǧ€€ò®{tíwb/>Ã÷S¾9$¥qT#A -ÿ×<6œô4ìg6Q€øRKR÷ÿµ,ˆ/¬Y“U;@}ú£þ¼W 1Pk2Á°=ÒrmܶôÛ™è¶õ~÷±ÙË]‡€’ÝéJ \œcïe r¥B½¬Â,<ð‘Ìr(ß Ùâÿœ`Aß¹ÄõÁØÅâ6· €]à§:é9õtØ×ÀfØc÷-sÆQÛFó‹è*ΦÆ6ÿ–•~ ã¸úÑÐîâ4†µG_Bl ápC!ràßTÓrrTÛ€!žØž„ÓÅï»Ú2íæÓù;&rOôý»›åÝü;@µäÆ^¹á=¹±‡r~â4@AÆcXWÊš€\“ã4>ð¿2^üÆü/»Üo•9þwwx[ ¿ñ*ª°?‹Âkôò3<Ýl€ 9ò-Ÿí‹zÔ?g{>° @éü&-««tä<…Èj.€³g4û]æ²â«É àwÿ<´Lá? )“?¢}‚@ótAK€ `çµ}þXzަ ³Ì§ ôwø_çjb®ó»Æ°ð[~#ÞÿÂcübiA|쯺uÈyãäFf¿”È É]có J.þÎê°wþ\gÆØð•ýr©]À @Máõ¬*—矬gôØð¤HLªR®•lI½c§ïð ¿Æ\ù®¿aüÿ»1ý߃¼ûîÏñþ7ÿôÍwß|÷Åïñ˼ՋH-#çÇ=úìø.v§£ÿ[Ñþ(IqŸAšõ»&b!ÅëJZż]¾[ío‚¡Þzè8Úï<@äÎEòàu?Ö¤{ ­‰ÈZ@ÖA]©\t1€¾ºçEüÿÌGáã8ûå y}ü9??‡tòɇlÊ/¦OÃäÿ Ërœ$ûoÑÝuÀ‹ë`Ëx=€ÿ™ G–p×ü— !ÿW×%Éþ_¼*اÂÔ ¼íh·B=š™ÂÚ)þJÜC'€Né%è¢1,éùóxfèº&3H&°}=P_`jÃ3˜è*Í~5ÕDb÷èš vÓÐë™ë0@i¸a#€é‡|íní -Ïý±óÀÞr1v¸„¬€®‹;‹ÉP#0¸5Ma5ñ=Àx€AñdŸ\ÙˆóÒ­æ~Áôã^à‹³bE “FÏceƒ»: d^‡Û 'ɱcyâEcÎv‚Ð?L|Á ¦0Š)& f_ÿÖ Ï&‹ñ´k:½÷²Öûv{ØÞºÒ+ -´½{cûÆÕU À•-òÔËH€–ÄHŽ5´["¬ˆŒJIôx­”>¼bÀ®Ž^4ÌÆäz—*×üü·Û»»»íññú˜ºßzs)ZóAјSáÊ¥iU²M|dUÏkhªðà~òq ê5µN2w^gh'm„¨¨Õº'¶_M\Æ©—DßG…ŸÒÂϯ٠쥥ÌUýƒ–‚AU"^ÿ:Üqu¹ÄžyøSP?ðöTF­÷ÑŽ´ÞÚ÷¡÷òÔ ÿ{ºÿ°uÓYÄ)þi$À‹¯l”x;|Ÿ/S#æ5˜Ã²ÅßÙE©â²³²þJQ¤ôLÅ >KZ[iÒôªïÙJ)fïE wpgÖz­tÖRBu"Æ> )åž-¹ó­”ØdJI°jÄúx/5‚šçµAàR²ÈË ]Þ:.³9Œ–V’"Kæ‘J€ûçñ‘/me¹Tó~/yáù矿î´ÏËš\ÿaû¿ýŽÐŸ¡|¿ÿÍß|÷O€ú"€¸c=öœï8úôÓã»úÿƒ%w«h¬Pà‘Ó€û ]~¿ùbIKRàK - à†r“j*€£oÓÚ­[­—ägnn«.€|ñP>þÔŒõ“9˱ˆæ¿ðþ ÿ5ý?~âR èî€5 -P ³Ð÷Ax „±¯ûö¶ArÁûÍ–Ž9ª:z#cQP ,öä'‡X¹˜º[W¶t{om{zýÑöH{Ø´sIs¬Ó&0û×¼c1›p†þè¶õœppg$¦Žô½˜Ã5Á[îL&ó~å:ž~r=îmýªr8ìï³7›½JæÉµÙ&©©‘ R»ÿM†€)'R,º CÒ‡qØL0š,z .Š-ƒ½p™-Æ‹ýíðFóÙôph €€Òèßܲ ¹1ÖÛÝÝ2 N€Ýò\iŠàŠ-ìqÁmº;2² cn,Å™éÈ5y–qØ$póábh+̨gÆ\ó_¯z{sÐëÌݼ °oŽW$ -Èwª¬N@.ì†õ|ùLªV#QÏ‹ïÙæ¦'žšá@Ï.X±Ø±åÊNŠ S†×¦?ò\ëdÅ3³¡jS¤¥Xo#Á’Cžè•ÒG–xÒ®*Ò6¡ÞZbœýÀÕñ') €µ³³>í?ëW¯\ÝçQß1ÎÄÁD¤ àµEÁ DÑ -üŒ–Ýä!£)U Ii9ãjŽöMPó¥qqö#±_„kÀ¿$gÉ•æ}Ö+ø­J<î[u@Ëu Çšày‘mm ƒ½4{FG!içØÙ)Æ#Ø G÷îÛ{;Óý?|Ôß³'v°‚‚BlØ J,kĉ*Ñ­R#¼'gÞ¡î.u5ÃϨ©EVY„\_®ðÊF$Sᥳøþ×ý±ô¼iÛÿ{¶þïýü½÷±ùYÀßÖ›:yJ/€GŸÚðÌd(ÀŸ@Ú]FNSáð„tøŸ·OO~¯{j=kÌÑ  ïL±¢ò:ØÕÃ&U1ùäÆ#kQÁq]UdÉJÝ:WJøÏ#ž8àŸfŽKs€€5ùê“ãX5å(ƒ†ƒIóïfý7±ZQu£¿w §/ÝË)}‰!ûe½[>=š )iŽÝð¢#Wž~§ð+ 4&pµë`ªPÕ‰ùO:¾Bš€·@Ñ`¿IÚö%“ -01zlÉŠ€¡ó;wæSLþ$3”ˆÈƒííÙ¯þþ°?ía_ΰ¥Þ©6õáèWÀãüË–*H:Ư³MYïW®˜Ç­«7®Šþ¸[ý·†CÖ°xG‡|zœ´µ©[?Äm22ŸsÊÉ‚ìöõxËP°ôçPZ3þÀ—@ì;€âDˆÆÖBgã!¹¶~Üß?Ô0˜ Ì5¨0ƒÌúÑ'`¶dp§-+›ÍÛã1àEØ^kïOgÛó9E½ÍóápÚŸ“ 9Ö 1·®~D1¦áÞqKø¿uìön¨HÀ­+WÁÿbB¿¸Øëö”&åy8œM$0bзW„ v»%v0qˆþ!׳ÙbÎ"®à¿£x“SÝ×$ÏÙ†Ï7]ôil@jèvËÿ버Q¥AÌf’%lúª)6ÑÔ<²®çפ†Pîƒþ˜X ->Ò@>Z m*q·˜|à5ß*õ™e÷b+Š_ùqÄÁú¹I6Jl€TÔ>G[[7E~$Ï$ ÉìÁª -( þßÜ;È„ÁP­zûQÇÊZBI–RÛ`\dý†ò ½Ab–ð©»F ×$½É‚é‰ÿ!gÉ«¥»ºêÓ i7¨„»Cù?j´èÌ3ªY×ryó¯¥@ñÚ)‹!r, RD—Œ¥ÆÝw¦vkA¾J¬V1ÎY•b³j¤ª­qò/kDþ‹Cxë…äŽCK«Ÿõ­™§ðâ‚Í/ ¸þüõç/]k€çØöê›XþïýÜæÿwß{ÿï¾0øï›/þðÍ7ÿÄçM²·º¼=ü|;àz )]Ú?zôXdzÈï=øi$w´ÉY`‰„K)P¸Ÿ§‡.]ÌaO·74²ÄتԮÔצ$µèd# -@¡nøeäÁF¶ØÇ…£ÙÿÓT:4Ö¿‘zVË,@šÿœ;iØ<uŠ”B+ªN–1ÎØÀ -ÿ]Ã,³·ì3ÐàòoQïíý5¶ü2 yÊ ™Àüâ‘ê(@yv¬³)Aþæþ‡J°XyxƒgP€`íПŒcQŸ¢À—ÍíàËX9Ä‚c³ò7çø°ï uÓŽ9Ëó1û€3€/çÿ~>ëÏæÂdKš _»ý-»pkWÄãã %ÁÃ60¾Œ ò—h€¡yvaœÝb:°…azÇi€&‹Ù„ì¿ÛŸ&³Û•ëé‚-äˆ×–‡;ôæ3v‡ãØ€ÅÌîÇUõ§‹/‹Yà^`ë{Ð!*²rú18l%Æ×'sCûœÚ¼²Áúx» r -¶F»Pê,™èÿ£Ê7¶ú^s¿Í`ëH)+[}~{|i è𠹿rl¹°¼ûÓ/[®gsÃýƶØ`†ùpªãö ×eýW[ÛÏ’zÞêÙáYòk¾¹´5çOŸÆZé64©u0m»61ŽÂ¶¨]ø -'àÅß b2éG)~R§¢̃™X»Ä㣽8(\ŠRþ2m#ZÉ­ÆñÞÁ‘~udöò:ÌÇ)uùøããS¯‹ºM‹}Ôã«°m¹ÖrsPˆÿÙ’k-&°”³OÛ$w¼V»›V1Æ:¼¦VÚª9LvnþõkÝp@Š…0€Z±à -°ÙsÜÒ†e=8zØêRõá¼*Áåyû>¢½9¾›äî€ –BÝ­eH€>¶{xJÖ·r¬áäáÒó,¯]¿þ‹øš à•· ?×ÿÿ^7ðŸ¦ÿwß}ó‡ïþ¨û_Y‡þ’S€BKñø7: -úÃÃ~¼T]ZÊ) -=]ÃZİ„—õ'd`)ÜÑ™Ši¸š XG`„›•¶þÙƒÔdÉr0 žKV<—g'_>—õô(î“C|?ì8€ZÿöýûøóÖçÑ3ùÉ'€øûM£Ä‰…Úßá -­žXo -÷ xqÍÄD -ú—(lÍ{2š¤@„ΖàÖûd1]ˆÓ¡ÑwÃü«áÛÚU~6š2<ž{ô sIïÁxö+wü% `<üNÍû½ÙhÐ ¶t:K -p+Øg bX ‚uãÐ@J¨€²ÜÜš.&óél¼X8îÎ-øÀtÂÏùh:îõÈ,°gß=¬ÚHÑ×wa#?{Ù2q¨`€•è“k.TjrrEXñv˜HÇ@þÁp1Õné¥ï¥|,<OüíƒÃaÏvAUƒÌ¿w9ûYøým³Þë S28š cVùN èrÁ=;AX1€RÚvjŸÙá˜\›ºTeŸ¬:þÿˆ«é;wì†,.y Wøµñ f{´C²)?rí€íÏ,fÀš‘ :¨QWZ^±éTUqVô¢˜¥¾õO1uõÚqˆïJ#{pžÅ&®—Ô¿kR;·´lÚ­¬u+n4U7d—§Ê‰]>€Ì«àèyÄ·ol“Í™Úþ-'Éié ¥Ó['Ä«yüÈ–˜àꑃ£ûÇ÷Œ‰$Bm7]q`{xÀkèõè•5øo ž-¹h…Ò!oµ®¬¯»—¨Ï;—bÃMm G -•Ûœ’Ì,·²±¸A{¹‰acjÄšx,I·_޵}Ðe¯Å—©^ÒåéíéüþÆ,‹ûP—çE>Z½XÞ&-‘UÈwÊ… úuònŸ)ÙgCê1¼˜ñ ÿ»~íúµ^° Àþóê¿{÷ç¿ýÓøÿK;`ýñO€|×`]NͯÌçî£O ¾l.€ŸÆà­Üg7t€/—yäΞž‹x¤(!kZÅ{æ YÿlÊ’¬¹Ò´ùÛ yîÎM϶ԋìðÊ15°¬ÿxÚØÈô ´¡^ À‘¡©È‡³fM¯„—nÅã\ÊòÀ±“T÷l`À^ÆdiW ’ÒEdj¿æàé üw €>ËŒœ×j2w/Oc i4ðþ_ZkÒ÷}P„…&-€Ý<€…±ºÚü; -£ øPtõ#ßÀùþaüþchaÐÏFu½èF?Óþ¨‡¾½tÓõ‘HÀÌ· 0à*ë00Øß33¼†qOˆ¨üšÛPøô–ÓÞqÏ"þpe8à8ß},2GÙm¹vT![ÈÀ¯CßïÙb6œõKÑ›ì`€¶ûû¿o`àÔ®Þ¯X†’1‹{b¼fÍ*gO`¤œ#8Ô«AæÍ2›¸Š[ JTÈÙÖ Ýÿ­õéÿWâ!éõ‡`ÿ˜ˆ\{äªÂÇSÂN§ÿ?+ÓÑ|0'ËÓñÈ ïrMžI°èG­tmê}ŒD5¾æ¿ °Ü€$Ž:£ëçQu+ÏÉ~™º<?³»€ž¿+×5I.H¸€\·ÿ¯ ¢×c0žJaÄQÝ Àè«Ë |ßÍ…°kÒe0JÊé϶ÞÀ„Û‰lèéÿþS˜¤Uù £©† ¶ÞØÁ°¼>È㪓#WÈJ.C…v$È|oïx?aTä´gäŸe=¶Aƒ\IrÀšyÖyB®=Ïp\·‘Í’ɇ%äFĺÞð:— -˜ìÂãQ­j|‚ÉnYJ­×@ö„V´0ø‘Í.’j;$¯T´ Êò·»">Â<Ëuè’ƒØùhG_»ñ„Â/Opu¤¡‹l/1*üÇî2ž'œ5' 3ÉÓz¦ÃNÈ“Oö=½¨˜ö𚈺¶™ íà øëÎ î³·zÅÏJÈHµs’l¹RìLÂB™«ú¢û÷ʆÄY†ákÝVÍ} â`·=¨>iI¯{ÏË|üg5#ÐÜHwh -Í„p…wïÚ °l—j´ÔýmesÇ&ˆàÈÒiMŸ¤g·Wµb)\W²GNüÌ*ÁWfOâv{KüÚIuP#™;• -u¿2ãεçðb ÐMxéÒõ—.½)Ð+ð«o½ûþûï9øÿó]¾ùÎÏ/èøµokvj·€ûñ- ÿ? ȳ|RÎðt XRCñÆî—XSÖbÀÖ×È.ø¶.7ÈÍ­¬\UÏ]tŸMñÞvâo颇RÜÀ•£T«o€D’nwWðÿÉÇëÑÂÿ·éÕÃF“ì?xü¡vòFníÜ%Ü®\± VŸšøØâ³Ù&¶¹r>­oZH§ €SÞÍà×2øÚþ”`Mx˜H«^yÂÜ7  j‰²lhkÚ¬§å;Øàß”îÿDÄ®îüz·“ImqI2AÍë ¤QRÙrÇ},ÿ¾MÔù[CvG^ÃÁ?øâ4‚!µ†®˜¼ÚÍ·$ âyü ü“«ƒÔĜӖþé,M˜ß£[\…A‚-×ݵ&×â1Gšë6ÌN¯GVµùÒ3f -Ã/0ØUó“Wñ~¹$cç… »¦?@Ü `:’”¯È² iŒðŸIDÂDz}ýÛΉàDqä¦ê0QÛb½ïrâÊW—ëÝþáÏÀ½«\'gìǹ6g•ë¥õïÑ£u¼ˆ³ÏK½ƒ1Š`ÁW÷³ÉÊÍ1m=RXÑ~DL·$ÏþúçØcM2xătûÔêó‘Ëm"fK±X;ý}ÙâŽ>ú°ÙÐà ɕZët|ÕÉÖÄ ¦èH¢RÀWß~›Ž"ä½­5ùÖ9F?²7û÷úì3ñÿÑ#Ðý~8†nµM* -PT¯ý=ÍFìuiWŒ¤ˆªÄÔEÕ…LfÉhÞ÷ÖwØßRZ¬Žâºý]œ€²’ÅI“ëî+õ[Ïý x?zL‘'c¦ó$ -`%;7ÿÚ€Àb|‚ÿ÷œ?Å鎸©ŸØ>k5HÔEî2§ÊMÎ]!ςIJF¬ª„ûV®Ò3U‚¿õ”äê¨Už T åkÈÑг_ß# žÿÌ–i¨6€k¯¾ùîûï9ïßßý¼†6à›ïþðÍüÃÒPé¬ËútÀ‡OhrPã ÿý<ʳ¼Ôâüf¡ñŸE Ül…{ íóTÖ_Ö謔Ôý\ÿ¬K*à‰F?.½­•›˜ÿÕÀn~þíÿäqæü× õ¿ŠþãaýªÌÿ\byhÏ´Ì?,¶’´›:jkëðp°¿À}ÒØ»DæXb¸M€·q¿ÐŸ%FÁ½xØA€·ZôWÎ`FÔK_B“ìVÕ$¢ã7ðŸE á'æ-ßn8›t‚<(Pä!¡êöܽu{r‡ ÙWxÕDSʨÕpÖìÍê.Ög`Ë|¦#' -Ò†AWºiéðž`i™øPÄ\ÏKW`Î5t“a;öù-æõƒ[Æ38Fz€ v ÝÁh2ww·ÔHxLC>X­±Þ¤Ëµíò£Ù,W*P6ÀÕÄ̱þêï{A¤l±Û§lŸ@“~8%™É°JÒS¤ „#=ÂÛ»?c=¶ý¸.çáúy —=½0O€ñ…›¨¬˜/„ÈuŸ\syz.B[ÌQ8‹«Éµ·=Û!‘Sdi+F2aþ¥ì¬iÏÅÇÐ(€ó#èI]º"pOÎÜëB‹vaT\“’¡ƒò’'å´£iå:Ùôs]«ûîÚïs š4À|\0ôð“LZsŠèI¯ÍIÆ\(€¨ýÞe£žüù‰wÙÁ;6¡@Ö‰?—§KÁL/Ó\.–ïz¼?|#²3“ùƒ—nøÙàGEӊŬõ•د|öä#ä³ü²#Î`È{) °¯9àŽ†WžÒ(¡ê -_m¢ZoÇ׸îw™òÄ”QŠ›Oèðëÿöµ&ü•‹+ñR²²qkÛ ´ñ¿9 :@Ø/U¢ ßaɸxì8ÀÎv° ¬P¥“òÚN €áäµçö·Eïâ‹•!N²Í3 ÆÜ¾\‚ÂÞÚJ…xÍbªA•جfÝ‚BòÓcõ‹´"¸ˆ<ªÇðòÂ¥çt4'À |^j.À«oþfÿß}ñ ;:ôŸè›ïV  ¥´&5@×ÐáÿÁýGݽ»ÄþŸ‚XÏ“3(À:`Õ–•ú”|òñ#k@oxäT<²Ù;ÿ­3«cÕ3?.7ÄZ°tÀÅh{ì…o˜¢T-´YûŸZÄ¿à?Ö¿}þµýõ4Ñ÷ï‚}si>rñø;Åã‡{=Ú|ƬTž¤«\UÚí÷¦€/„ü! ö5c:/ÛÀl0 OÚ~9@ó,qá ZкãZ€mÿÁ’ragµ@ð±|»a“`<ó.ôIÖœîoö)æð­ÑŸÝþ–!€‡ÃpÍñ6¶‹ B’`¨ -1ãYy­PÑH¸ëÌÛ8ÿm°@¸úeú‘J(Å ¿Åy ¿ý¥C€« Ôn÷§ºû½„\£»DÌõ4¹®TZ¾ÙIj!L’?ÎدóqEl°˜È5?Eͼ±¨Yì’¹ì>fêB6IÌ$®‹‘$È©$2èïDô‡ñÎPžübŸím‹çg6ÔKy€M[—o8P‘Àb÷Θ?Þ6(Ñ$l¹ç0Ý.׿Øï¼¹V¯y{§w88ôÓ•Q¥|(§Òû˜ù•äqXŸU^KñY=ªè·â¸Þ™ÜdÛêºälžOœò¡æyæ÷=Ð щ`‡sÃbg7ñ¿=žu_Fþë OÂÂZæ+ÔIôƒ¼E4Àã#/ÖýªyìX¢­ßž¨i‡,ìöV€(×È^ ˆçÙ @þøE.dg§h/'¥Ìî=<Î$ÁA{ËÆâ©R*½i¶(“*"²W/f©.ä[ØœõYâÆlbãGûCûc6®ÛÿC›»¶¬uk:±T9Q<êA šî:Ñ pÅ2Ä=Åê›;XèZSüòž ’kìÄ üÇÿuU^©‹ª'b¸)ì—½VÛÝQØ7C%«RX%.&ÈÆþçûJ±€—®=­xýÕ7îü¿ïÿ -`äß7ßü!öüãÿ§½’Ò¦Àï6À¯%‚ìß?þͲ=Àh…Ÿ@‡çÊI -`é|KËâõSÌVþСªxþ©è¨£iµsÿ=IjÑ~mHªF¤m]ËÇq Æ~Ö?€þñü ÿ[Íÿ›ó?âpVZü<“´± vYHÚu±íº>\ƒži8ú‘MPH°€%üǰÀÖM¯¿óPÔ÷îÝ c؈(@Ebý˧7ƒÝ€d×uPèÏK>¡ùN€¢Hœ±U•L4?õGA¨iÿØ“=ªKY+7ð‡ð³Vø×H{Á!ˆÇ[tíw½ -@‹÷r"ÝwUƒÛÖÌ2ñÃa“Žó«‘KƦ:Ü:,Ì€b™†®‚\…ì vÏF»•kà“í0aÉ^beË5%²Ìµ ö¯0¨·kéHBÞ–âÈúcÔ¶‡MÁ×|€=¤%ä•‚3‹ÏÍ{êˆÈ5r»öíÀÖltÙNq€È Ñ ¿°ŸœúP—Áî4ã*óv‘%% ÍÈǺ ÌõÙäÏd¥Wš\»£ýŠWŒF¥iW²aŸ×3§øLlJ÷Œ - ‡|µ½³$Ÿ8SÑö¦ä “ 2¥O¯¶œ9©"Ë —±òÜšH)%ãýnö«d•¬NÚžcÐH- `îcù:x`Áyið­è°Äø„ĹˆNFAœPÌ]x¿a…)r»X¤X¦5Ç]àý‘Åêt’…ØI+$rø -Š h±ûr‘+Í]òéÛ•%%âÕöŒ™¬ÑÔR^+ÂFeˆ$?–9å’€xœÖ$IÍ3EÐŒ–HBš –‹å¹¶L×ÞI;Q‰Waþ—®]º@“W\À¥ëo¿—è¿æ¨Ð¬ÿ/¾ûßþð§?ÖËdN€JTJ‡ÿw)¿—v>€/)©§È&àVþ6yœö,W–-¶ÁëØ‹3jÛ@GòUb}övfyò¾¦jDüQ€âr ªðÅM]kÿÿøs-ÿ¥ $¾dþmØÞéÃõîï·Ì?ØÛ9¨UmÎÑ®šggs$޵9oå4û»õØ{ÿÚVIôç Lf»Ù ˆ}ér@=oN÷ þÚµjȃTß¾Û¾ë á'!ˆ ¤Õ»|gÃy ‰àï*e ¼ú·¾^ÜÒÏŸ÷ |C8B„dvˆ9Ÿº¨jŠ€ñ«¤;4øLH¢¨ Ý‚ÿ¼W.cø¶®´Á+J@`¨¦ÎiÉzÀÕ9x퇟3§"Û¹^äicÇQ @[n-æ Ž—"T¿AòvòþÈ\ ‡æ7@ɾþÖNÀÒØéé[°@±c£À>îëK·¯ HÏ Èÿ’€,ÅTûãY†ç7Ãü Õ«a ,£mKÎôÅg[ø-ƒjprDЍnå Ûl£‘°ÖÛÞ;Sbä,;Ü“üÏyg3sí¹½.-GW̪³4ð÷ wx(Q,ŽŒò“R -¿–ÝÓö‰¶w»½•MM¾|âüq¾4ËS¼«ü¬7pR;xL%R?»•“.í3ºðmH¨þh¿Ö¤ ¿-žõ½±Yuèù@CÕ¤¢fV7ëÒ/üËþ¿jÀ½»þ£ã‡„fu„0¿¾Á‰ŽOa¤ˆ×Ä+ªâ2‡oAÒ…Q ~>8äòóƒG¬5â²Z²¥Býª Ö¥%ubýε:NéiœÂFŽÂŸ×n‚¤îB7©«šÊZ~exÀ¿†T€V­A`€N€ôˆ´S­®ÑE»Ò“R€±Y#jÏe-Èz~$K²½.(úöŸþRø¶ÀR^~åú+/ó})ãóÿ«oP´ÿ¿ùæ»?äûüãþÿ)ImÊ5K«5@~ݪÒüñÑýSóÇI«¸O‘^€¹‹&@p8À’|òÉ£‡(r€/X âi{ä«IÇ6oi¤ÝŽÜÄ&$Ñ@“:&Öÿã'Ÿ?ÁêgÿxJZÛÿ“¯Ž×œÿèÏk`_¡ªB÷öv†åˆg£]qäÃ{} qšR›W/_ -„G -ÿa[|ß¼YÄMÿísðÚ– 0^àŬ/5 -pX@Ãýz”¶nÊ-ÜiÕDiQ4 yóœ§)@`‹¿Á‹Ia<ØdÍG³Q"”¤¾3¾nÒY˜»ýq5"ô†Nߺ˜”ÉÖßÚ>„xìCÁÀåKvÿC.¦½º¿;Iˆ¼¬3øà>ý ö+¾ÓYòµ¶ƒh&úûfrLGó[æzJ†CEº\-×bÝo;^^r æ»r˜Ü‹¤ÃÙt´½íhÄ¡-,KÇfÎ?nñç`!y°gB•î¼ï…zO8ÛŽByŒçœ6ÜßâlŽ,@{Õ»@¹|£ó\¾|£ZFG68„S¶ägŸü’]Iã4ÜëmþöÏd=i»Or=ÂØbe¢%K•¸f5žÿ:Á}¢¾ª 8$Að‘ú« Ï•|…dYnªm>˜•nTu‡ng‹¶m0uô/Ï•·È¡øô4ò§û‘JKó„$•§ITâð`ih@ö›èŸ¼<¼ü¯¢ ÕM7‡ñ7)cø5Çÿì ÷Ÿ‘ŸjT½NrõZÅÜ–,ϺŒüÕا•Ü Qc6Û¤î:K+A;SU“]K:¸ýø‘Áiè².peóoàß¾-¿¡,À§V¨\µBøöÉï©UU/ܲvú§W‰ÜjCŠ¥5bO+ÂØ¡¾ÔežS#Αßû>]‚ðÏîw-¾ÿ—y]ùeñßQž·à%{üòýo~ù>Ûþ¿0ú MLhS._s"åê4YA€Üÿõ#É—µí'’ª»O—§SÐÿC¼®À:|l˜\óìíõކ§(@–MŠp£ªb®KÕ$?rXK¦™ÿœÛ¿óTİòDRŸ\|µ ý‹ rÅÿ‡x  gx¸¿½_®DOÑ.WùðÃc‹ÊÜ’ßô¼–‡Gn¨“©l¸{|ÿîÁk+ü·çÖ/`o¿bØûE%²%OX‡ÿ¥ÌF¥à?=ÿt'€#¬Q€áð @{z4Zݸ ÐhN ¥ °¾tÀt0ÚŸö·„RAi'I ®–ó8 ?À,þÛElEwê»ä°5þëò6øM#Û§Õù°‰÷ɉØ:ëÌ&ÙŒgXþl駆¼ÆóÑh'Îvñ®á”8œ{ÎOHÁîd±&×}§$ÁÁ­[á}e‡1tˆ°Ü;÷íq¨µî(ÀÉuŒha4@JÒòƒ;”Mëd?æÄcàyôÛ‰dB,6‚p6ïfó4À:f¾ÓÌä\Á ÿ@`·ÈΟ¾0%d Ô‡Ù”s#øOÖsspp Q€§ ‡6þ›k¸–¹f'-„¶8®@Ëuù&ÉõDþÃ’ℸÇóP)'õ}6ð¸äÁ9Ká|ch­cþGï(÷†ú›ÒÀ_èNîžÅšD)hßò°Û[§YÖÕh__ùI¹Ä©žÇ eQîã2ðù~øЬθÏÚIÑ]üƒ¹q€îU ]è²¥æÌCEv>EÅ`îâÐpµÍxtÏH€R„BΪä6¥ò6•õB:"ÓŸÑã»Ë]Õ¥¯&(NÓìª@'¹)îÊßíÚíR}š?¯ýµêH­ç&i½,.à²ÖJ2U0åqÿ׿~ôiåÊ>¿ÿýªnü[ªs×…™…Ês$5"Á ÖˆF«d‘ï½Þk™m’*‘KC<©Ï–c ýé/àÝ®~ŽÿûWb¾ à•W^½þÊ«P€—jJ K/¼òÖ{ïñÅ/¿xßáâøî;9ÀZà9½RXK±Eî?úÍ‘s"?  l."›Àê»AÄáUÀ²@yúÜîÓ’œArOÛ;Ÿ¥¤B"íg<kç–yP?lÿÿüI`¿óTM¢BÙöÿäÛ ç?øôßYz’§%{‰Œ ]íC+Ûñ±åÍ'ï½€t„Ú/ô/Ik}"®à ñèòðï’¬5„”€·\À…¯ø* -ÀÓœ&+i௔Àväå;Ît:• "ô~ ̰¥ùk4ÄnJÁ[· Ж¶ €£œýþL(uÐZLQ ô¬ìO…#ÃÝx(A;í[/Yg7tàŠÀ÷¿X<ÉÈ8‚.'á=ϸÇ÷ òð' f¾™·‡Óùx2t -?g÷ysÑ¡-6üƒÑ-(‹¹¶YD¦á‚Ôd)ƒëÚD?v:=.|<ÒAÐ?,( Z[>–Ìh’F=ú†3Ëe>ƒ ð‹­pñ¼?\ÌæS(†ŸèÂp²€ó‰ÿÆØšÂŠÅF‘Ø6’ÞþΖxÃ’ñg­OLwò³kïJó¡¬å,HŸ<0À\׈…ÞH÷4×äa2Ùƒ*mi}9R{Bx\:³}eØoˆ;ùÜjô¢Q?f÷<_KÍ݉FüþÛßËg3ö(ƒ¯E~oÖuýEåClã‡mT¥¥Áƒë/Ð!/›ö6ág‡’̺LJ êY¶qóJjbèK Æ!ñàhƒD±.%áCnJÐîÓL_FaÉܘåew½u×BTV„ù÷¸ŠÊE^jÈ“E§ dáçÞTkOb2ª¸Vü77È;Þ6¯I -&Z4Ç}<0€_t€˜?Š*°!¿Z,| ÔÀko.ìEÇdþÅÿ'¿oÕA1¡-+ú@~`•xD™RL×èŸ;Õõ˜|¦ßëpþË®ÿ:tý¿ü -߯pí¹kåxë½_8å?Àп/¾ýÿðGcÚ(@Hiîu¹|UÀÙàøø~U!÷øÑÒêÔEä| -@¶G`'™xÕ°¿è­·¬v]JǺ¯¥XV+rÔÃ+¨ƒë±û?¶í_Øo€ÔW+uêîWOr ÉŒëßÀÞ~ïèñÇüѺ>Ü¿i·+ÙôJí±Ø; -°¿³—÷Vì;Ö‹Wí„¿tãÃl¶·¢{|k€ÿ"ÈcÓb$þî<[Y\KgBSŠð³B”VMÎ’ÌY³”(û@I{gÃX:À qN«[Hƒ>Ìoõç‹i€¾tá‘X‹mêtõµ‡9y J¢&é”ëüßíÿ¬¦€qïYò–ðŽ]Œ­j}!›sÚ8ø'œ‘°È ”&Rìï G_ȹÝíäs€2ÜêOwN°='×ö'`ã¨ë–7ÓýÁjCÒ$žÇÓY>ÀÁÒeF©¶fb>º3¤P^7€e˜ØBBêöIœPbýÁÂi‡È0Wá,EœÞe™i¬I’®eß‚Ýê ÚºqùÆö ÃB.ߨÊ-¡o‰ä}ÌþáîVÜ‚ÿƒäúðÐB¦È³Ìzp1=)k¹‘ÓþhrG -àEIdI¹N$Hdizõë wmZɆ]Ôd¿ šÀîgÐ’ùÖsœ£©ùN'1ú"H€à èµäKDR~òy]×’ÉÂÚ‰+Ušm£e¨ `7½ÀOð¿µé#Mµ*¥´›ýoß =¾P§I'ÞÆ•éÄ·ºÑ™Ø>JT×FówÄå¡ì=üðdSM²âLË¡g¿ÿö¯\WÌ·_¹57cyÑùâp–ËûYÿ/%쀛øÙgaŸ}¶ôü¿o:þH4Y_ÈwÙùJ–.€"M¬íV!U¢®Ä*‘ïï'd"z.2¨ÓR¬íÏ–fߟû*ô¿ÔE\³àåWJ²å¹üýê›ïþâ}ðÿ‹o¾øâ}‚üvø›àL€Lñîý%¨Š„ܽÿëßÜåŸHÀBó” -P•I6=Oé|†a R~­Àrß5iðïgX¬ %Ÿxì*€ ¾Ÿ|þ9–ÿçéü¯ÀJ –÷WÉ~Ë -øg±ß#Wެ€8‹áÖëé14y/T_SÎEu @ÀþÝtÜ‘€æ>+pU‡oîÙ¾oy8^÷d&_qU -P €'Æ…q„kÂc¢½òøŸ’†üMÎuL1k"…RþÆÞžMç Ô†oðQÄ#!ÁNÚ±7OkÖ0øÑ¡íѼ°Tù$œîÐÆêÝÞîÏø¾-0÷W€ÿ -zƒè¸NŒÈ ÀîùÌ€œàçJÀÝ@*6‡^üj6žœXŒñál>^¹0egÁ—}‹˜i»,jÛ§ÀÆø~ßPñXɺégÓu8ÈÀ}K3\ˆ7˜Ð½z=KÓÂJy†(¨Z0ð­Ù`4ŸSîåÍxƒñzla ¶v‡ãC•chþëÙÝÞéo÷) -Èã80%C©ö ¨H†ØnªùñfMûœ‹âŠ* ú³#'¤ø¦Î› mÙµ]£eºðÜéÃöi ¼·¬ë_ëÇ X.j/üJJ¿hmJ’JédöÊ9–æ^;-Â>ðê盧Ï÷JÇRë*¢É‰Œ¯DU°ÊʺÕOâ:€Êój¦`0.‡TJyT{ð»“Ö†8 -£4Ö3öO‰ -b%*íT ‘ÑŠ­&ݤû¢Sx\¶¥@¾*¿â¡Í®µÏ#[Z?nó——PBU`]QÕH†OÀý`w‘~}ûíc®ôC.F‰¸^h¹sUýóO?­V{sVö?ø¯"ãêÐ}—¢¾¢À\.…ÕþÖþ¿÷7¹ò¸>² I}æˆmŸ“zhˆ9Xrωî_]žYYŠ.ûóªDkþþ’©ýŸõz!C]Šó_ÿÿ«¯¼Ralw€·~þþ/ÿÿâ—‰øîÿä€k ¥¹×åòµM ¸@‘xî9ó––æÅÀù |d@×ûëN€3(@î Ÿz/%ø_ €EG:Ê ŠÐáß<¬ñíL5bá·YoÙ@lý—ô÷ÀÿÞQÀ >ÚÛêxž…7\¿ Y¿A€730Ïûk7¯f8¾0€F»­÷Ît5×íû`Èa'=èûöà R€€¼‹L ¸&aÒOñR¾UíþMJå í]Ö)@œBy°èƒ`r€Ñ`¾À -[DbþT€Ô)õñƒ1â5à3ÓÜo¦“0€ñ|¸½kÿ´oÇw@õ†™¼rY¤ã\6ø}«:A tm×€Ü-r£˜óÖÄ& Xº£á`:râþÙèËáN È -fä6hÉÏœÆpgá¬þ•kÞšþÆÃÛFıH®ç1íÉõ4ÎJk6WžºÂ’xLïLnOG»=hC¯må3—gxŠ!ip¤1 -®$;¬BLBnK5’¢q.ü‡ø´@Ûn@ˆ®¤Flí†QÀÜÝÈÀì1ž 8?Üîpž¹é·\s¹6(ƒ!Eh®ÙËö¸î~/®Ä:25¯üGßõB|pNKSÇë¿| ƒ´Ë§½'CF}tïX{r)0•ð¸r$j¼bÀ\´ýêw“Ž+ «ãׯ¥tjéÊ?KÄÁ³å?þ—oõ ¦5Y˜ß¯p̃¥ì³Je½iËÕMþཧN)e†*\â}7°ßÁõЗ§aizð– oIÀRy~…'j¥QˆØµþ+mϳ$”,{wÒŠÕ[k"|µëÿÏÿá?ü—’ÿðínÛ”ÿà¢Û€íÿ™Óö‹Úàö§ÿ2€êÓ¥TSIT‘ƒ£¤5ôE˜ÀN-òëå•®äó,W9¯ËDÖ×W²4¹oÕZ».%%ø%Ãø¬aý9/ð¿õ|åÕ—ÿW_yÙ(€ã^ºþêÛï¾ïð?¿ü"~€Òãÿ]‹XJ+­uIEY9Ö›~s|¿Õ².Zÿ¾¿ؤ­¼ÁÉG˜ÿ€Ì`fanp¸Æ.L| V÷\ãŸw”Š$!ÍÐÿYÏSÛy›í–¥|ÿ;}‡Þ(ÿá‘ „Ntü¿Ó ÀŠ…¬ã¿Q€Ý{gkÇn¤ìXòq„«‘¸ðí¸ô¤Ä›MÐyÈgùè´ƒáî°)ri(EÛ³jÉR:ôgi+þ†œï8áI-PKU{V`ìß™°Y§>x üT«ß™C0&ƒU:ÍGÓÆ6Óÿkw4<ØßýgXŸãÃÝŠq«þ»ÆØ°ëXA6ÇgÄÁ$€3±I”Ò¦J=9)p®étñÛÅ—3ð}·¯Ë©Óo¾‹ÄãéŒ\Ïwóí_AZÀÔî…æz ÜÌõܤI+YÜþL±ÓAnF@,‰²¬b1'°ŠÁÅl¸È -ÛtøÛÄ@.A×™ýn1£Ñâ·sRš9G?åÄÕ¦m¤oã“­+ÛW®\ÑC²¥¿Do |M ,J¿çq\„[üAF-ôø-&œ b±;å|:¼•·Ìµù›Œî,æ“ù`•k$ð?š”jo ÿíÊÒßjþß+eß/¥‹›1jǮڦ‰(¼oJí».üúö÷ú Xï×¶‡û¶ÇÝð"¤%žMÍ>4Di†NÂ*‰ˆf´õŸ¾mwBþ¯úú¯ÿÕ%%P§p’_I ¬Fß}‘UÆv¼ñÕ¿>¼÷Q‡j˜ ñQçy¯‰€ä2ékÜ¥*@««S>rÒ¾G¡K\l—ÎW]U¬__¿ùyž,YS+€“RÛ-’‹H8@I7ê!òvûãG~PÖO@§ÇüŠ:z1Ûºÿ­ÉýGŸÆ èhé–üþ÷dÏÊ:ÁgU%Ê ÚçЋU‰5"UâÙ¯ßÿ#àžáüŸþ¶1ð<àÿUíÿW_†TW€.]ýÍwþ _øÿ柾ùÃ7ü#Ÿït¬¢¢»7åêI’×ÝûÇ6c¤›?èUp©Z{AY£Öà0Éi7yòä” R&w;Hiû¯‰÷pùî¤î¥kŸ4÷¿Àüá1÷?ÿ¬{r—S…²b–ÛÙ•¥õOi²HêÇG{zŒ<ÚÛÚI7€\Oåi4€R þíAVÀ_n帬ƒÿö8°£‰ŸgE_>•äZEþ…;¯‰ ´®Õ’©AòSN€hüÓN`°àB0Bë~:œNú“ù´?¸Ä±†Ä¬H t/À>±5Ã+ÜÇq V;Ôp8¸u8õô8 °ö/` 3¸M+Л„»žš˜ëK/ÑotÁ|²øíí/áƒ^4×úM–µ³%0†Ngý;ó™(_. }ïµÓ`rxèXÀè ×NÇΠ3]˜Žæº5 ¶ßÝñXÛÏGÓñ|´˜&‹É|Ÿ™M•â+p‹ÔYÉw£ÅY n0-“…­Û†í\0§×Ãl ¸ìØHr¹4XU‘. £!øï]€ -Ç]®)íá`–\›æ6ÙqDn.Ùºc®oÏçƒÞ6ÿÖ½“ý°×Y¡¾ÿóê«ÚIy„DhŸ£3%HÓ€ÇEϲ!ÊýÕ¾ëâ/ÎmhçðtÍ'P;çy÷É[¥¾dQõHäç¼”Ï?¼>ñwgøÿ—ÿ¤?Sþ+ø/yÞÇ6g€= |ÉÙÎVH@9ÿ{F˜cîß{{(Ãõ[ÚLAñÿµôã½zuç54AZuå¢R}ðè‘GSYj<.=¨ï›+÷W, «§$¥ñL)RtžTX ,àWà3}€vçø›Œ¨45ÆW”òâµ×þfïàoàA iëä7ÇŸ>Îì Ÿ°øäñGŸ¥WÀgŸ?ù”ä`{…Ub“¦TPcÏ6OÇ’T…¨*AM@ªJœ¨©ÔÏ~}õx?ög½Ÿ¯åeðÿuÀõDú¹tí¹Wß~ÏQ€ùþû¿(ÀwÀúÿâ ìþ†þˆ…uBʰ’ÿ›€éHÀëwfËvÙ*ïEeE -5ÈóZrØ'=¾çøšC²˜“tÂ%ðÈ´£"íˆ5±&ó©wïfWí[ ÌLįŠð«Oº²ÚNñ!ÞÖúïT“äH‰?rèã'±GëøáÒáØ}W€Ïw<Ž|W /Ãx;•ÿz @ ï_÷ î—Nð_)äwɆåÛˆš´(­štÜL„è8A„"ð®yxç7¶à† LCPÔ²Û!uf³ù b@šÀ%€{ Ë`dç€]öòÙ^mÿ&z¥IK«”3锯nM[[浂ÿ·w·/_ÙÞµ`°ËfLëœd6³ä˜ðœ×üò1/~k ÿ|Ô̾ø5Î7jÙSh‹ø+a‹~tÞüÁ?™’ëÁ¢âh†'Ì1ÿï̧öÙg ëÛ"š¤wF/†üüÖâþarg1tÌÝ:gä [ s -¥'± ?:þãp—· ¦ÓÅ‚,ôÀŒ°ëåîîfäÈ•ŽŒ8 - ¥fÁ…Œ P"æ4óß.$'Óá¶íý¢ð+zCÈ~~\2”Øhqû¾4^ )xphó ø¿¸37× XÂ|N¦ï w·‡»R¥ˆäüëßýîw¥Ûƒú¼±€kð•¯R…yŽÎu2ÚµPù´`ÿõ&šxµ•_êúx>`öm#|þ’zÓöí\Qõ«Ú{Ïöüçó= ?ðŽuaÍÖöM–*=™‰ÆæP Àšà讋R²›€0€eSøÒðÐáõlXR€%Ìpý™ àb€*ü§{ÖË¿û>Àퟥ¼þ³äÍ€èø_Éoé0Ó¹aù›²€êÀ};ßà´ôv¢  *D -ú T•8Q#.î¸þ‚ƒü$ÌïÌ%³ˆñ¼ú¿Æþç­¼òJƼ~íú›o½÷¾ãÿ2³¾ÿÝÿôÍßýöÿ7öh’ÒÚ”«;T ¿ÑŠÜÛ¿_€5Ñ …m~¿7•»ÌÿÈN/U÷{IGÄEÒ»²r ŽœÐJ²;<ѰØ÷¸¥´£6…{YÁ%ÞÏZ«:þŸ›Ý<u‹UYšß’ÅvÊÿmMÿžsl&©øg¾¢ýèˆçÚ~È£tþ÷Dõ…ȹV8Úñ9€£l]kø¿·ŸC°c”ž“XííÉéŽ- -‰àëÊòmðߥVM"@À5ö ˜ çÓ9æÿü"áÛý9§Ùôn\·Fým=—¯\¶ÐÃÒ•ÄìïcÊ;h@VÉÈ”òO´ñX@ÛïÑèÿÔ˜†¡lgF€iÎsôóÍuo4[p´Á\ë¸H®õüóÚš­šð‹Ñ; `rš>{`lo°¸5Jû“ `:sZŸÑìö­Ûÿ°àgzªäFÜ| -ù yv“¡@>ÄDw ×7H B[,Þ!G;g0Œ§g—@ýÿ…ÿm )À8Àæü\ޤG°©æŸñî,F"^ÜW.‘söØõ‡ì—nÐ÷œAÍþáöíùb¶»Ý(Ÿ×ÞŸcÿÿîë¯ûèöfîuߪý¥Àçè< Ò¬<]¤xœ»çÄœðð¤6€ýÑÿ@kȦ脦íc<Ãpv À)À9`ÌL†-]€“6€M*Ä&G™°› -P°æÀ°CÇ@«{m9¼î#¾®!%/ÖëÞ¸ “ŸÂЄjðËÈ%$àØQ6cšd5Š ufé°™®÷™ÂG?v\!ªK,ÿMU!jœÏZ•ÿ—5b“X'ªJ°%¥ÖÉFa\Øð­­û×/½”@ÿ“Ëç\ɯçÓ‰ÿÿ7^}ãÍW_//À+¯^¿þÒõ7Þù…€öüιôÿ;@Ù—…uB®íìç_è¤àCŒøqRx( èq¶ï/Œÿv_JìÀãs0Ü?2àTC@o/vÒÛzЗÀ»éwóÿõ×韻¬h÷Wqù-æ;]‰²mÿ°ÃÿI©º÷}x€6ÞðØê—n€û÷ŽuQqâœhM>\ó\ÝÞã!æ÷k[W5Ãà -ºyÐÛ(7o6ü¸=RÀÞ @sðÜ(×ÒáŸÿã1lðÏGø¿æ,Ñyµj¢¼(ìû -hè8ÅÊ  kZÀ†`EÆÃáŒ?¤ Í´9-óþÈ‘}ƒ,0PLà 7€û`0ïc$Ã8î=ÝÛÀ ó#Ãím3hÀ.¨·¥À€4ý½iž–³t‰ÛúÎuz ƒ=²9šýëí¯9;÷f±fÙÖỦ·Ãñ™r!^ÁœÌ›¨ö>;Û÷¿Ë5‡ “ëÅtaGÀÙÌ‘†‡=݃Þ`xëŽ-¶6 0›XÈn€f­ÿÙtƒß‘)ƒÉÆt1*±ý\C0ô §¿|IÇ þpÌUÚåÑà[œØfÊ#³^¾Òe4BØ„¥}k²Û;¤0)VS§äZÞrÃF®’]g'²{`®'”Òmvâ÷Ôé,,‰Ïx´€ÿÆ”roÈß<‰ÿ‘€¸²öÛÎm½„_ž¼ó`v=Åxn¶æÇº¹÷Éc¨ÿ³<ÿñôgKbøöê=oyÒ¹÷ì¿©íÐ<…û®è 8é@% °²P³gÅHáÓÐÅÍpn @ð|`3e¾óË=€Âþ¿é\²_/=ÒÆòPU>­—3U3îÙ€4u‘­FÔ”AŠÿü€ku KŸ÷K§—×^xéà΢º¼,þ¿ñƯ þ°€×ãÐ ðÊëo¿÷þû¿ø¹cð‰ß_äwp ú²°NÈÕ›).ʸÄ_‘û­fDðC¸U{Íþÿ{ý¬ô€L¾%XÅè›?‚ASÓ÷CNzà›N€s(@÷H(y0€ãã'ŸƒûŸ/=íçz£OÀÿ~à_ãÏ’)hÿðXwÞžyüp/ƒ§z–£a)ÒA¼ynÜÌH@gyÒ0Wmð0ÞiÈ0¿>2yPâðÝlÿ,3àö ÿ¬Å°w@a#UK"yà–²$ƒ¡ôYN£ÅO8ŠhéNDPÅPv´Ï*·ÓéƒÀ ì1?uè¹þ.ôPo†‹!òé|bC³=Æcö…3˜>ƒíEnlïÞ0êÝN1ÿ‘ÁÌÓ@®Š€`ñNÇó™ãW¯„ExžÎ‹¯ÁêYÍȃ´ íxîOör°b ž#Ù{@®RòmÀÜ­ùhˆÞe¯©&É5†ôü¶H:¹íi{! &‹;siÈXºÅ?,îܾÃi ¦ó²Eù‰ÍáR²ˆÝ§s{²Ç‹ÃÙ64ýíB.c €„Ä6€\îîÀ±’u2߸ì IW`qWz·(Ž”J¸ÍØ©ÿ·e5¨Lc1˜“k‹ÛNM¼£qr-·ŽnÏæ‹ñba»Åm¯Û{m¦§P©ÑøË/Åÿ%@–€¨ýŸÂ°ÿmçulF³ÇÆë<öUß IÖG0ßkÚ>:¡´½!ñðüã `ÃP ½ï)Ž5À^ë€< ó8Ðl¨ÀÉ|å( -p:S@@ç8>ÛÐðþ{xJQþ$€%úŸðñgŸ>~tü› ù2àZƒþ¨µ¥Àîÿ¯-[~]_ Àëúè£MnúÖ»§Æ¬jÄZ•ˆ¬W‰•lÆ…=¿¿ôœ~ŒüÓ /ðŸþÿçxÁW_ú_Çüð× `8 àåWß|çÝwß}çÝwÞy÷çï¼ýöÛüz⦅¿ûó÷~ñ>Û›XX'¤u¼šªÕäþñoº‰˜~¨ø/Íÿ¡cö›ÿD ‹;"Uo5XðÙ“Gβ…œá8éXÖÿM‘4ÀídÉžb1F?¸ßîöòîZk\;ÿ<½Fý ÿ’mÉÿ ÞƒïR.€d«¤Ö—€½­­ôìÞ½1ÜN|,2 -ÀÍkâ¿t'Eßu„êP>LßB=ÉÜ`Lž&‹ß~1;n³UD“°6ó"8µn r=Ÿg ÀîΜ”˜À|ÞÒo=H®Åìñb8_4gýûv!˜`^O{ÃÑ­Ä `2/&cƒé@ÓùÜ,:B¡sþÙŠ0þ’Ô“‹aÚ×ûù€¶°7θäšá³üàÃ¥sýv Hn\Þv2 ›úî†#þ‘0·‘²ÑÚó n $>ü„|sWa?çÛŒäžãî°Çt„ýoÑoѰW·H'Å)ø¯‹b>Ÿ£îð7 -ðùþIb6äì¡¥ó|²;Ê}7=ù‡­ù¡¹[Ú>mÏôüÇoŸâø¿:ˆW G€÷°£ `ép«äÀµ“½š ð¿ƒÿ1ªÃŸ8àb€*ü§{ -þ7ä„àSNÊÐá¿âôèH<þ ào]üæø³ò|”~å†à÷ï"ø©1TŠ\r«Y_ÖˆT‰ŸÀðÕKuí9ì{Gú=¹äŸkÏýÕKî¡û_À¯‹û.Þ|ãÍ·^£…°å7x+oúýæ[o¿Éç-€ÿ½&)­M)ZTzt¸^rÿ7èGˆ{MÄÿ>•Úû½åžMúÊ}jðÒð  ½hzû0IÇi/€À8[J;xMôw†5¿ scþW€ÜÚ’Šýo§húgÔ?Ûÿ×àið_½âH @ªÕº€ËÀ5Ëöw03»oC«þRœÍ×xÀ$ŽHxݵ @bY@;Ôc¯m9 @¬ÿ|iÿ_Î{éøÍñ1ïVM”vt“K‹Âþ­b°}Mš z™û®ß…ž1l¥` k³Á`wªv³áâ¶ Äkê8»¡½&Sq`ޱϘÉâÎ| -Ô§ƒþdîH@½Ì¢rõ·$)Nlà¶MŽÿG6†0z¾k¸†©1 žCÌç3ƒÿÆ ¯þ}®eñ¯‹¯ç_~IºžÛ!‹0ö´yE0ŽÍõÏ챎ó;pYÅd5¿¾õ€{c²tkmI®ï,SÇÆS{>ŽÙqäÆÚÍЊÉäÎâömöé †œ×ñÂãßõ©F$j„S -ü±óÿjO ׇµhãþ¶}\&×l‡‡–lcýë‘Ç]éqÔ ?$ ƒÙáv¿¿»}‹»¾ßâ®.ÈøÄx Ðß\sO’ë1¹¾I\ÆÉíÅí;iK¦Û$Þ vü’2¶æó¾‘È20‹çh½6¤ö]ÃæMßó=ë1Ñ¥íQªyu½r~ Àé ÀÍ€ÿÊï®Àñ‡c®Qñ`=İæHt€n€“½ qœé¸vó5‡‘”ë©õXyOÁ÷ÿÁ1g€>²æX9ÄÇŸ~úø7Ç¿NL‹@›u.€ ÀÞß¼öÚÒÐìþ£O+ &?þäSHE1€xÌÞˆ¨*±’¸°àÉsÚûϽ”p¿Ëë—þê%ðŸ=žk À>€ÕþÌÆ¿ùF‚_ÉÂ@»¤³à«á 0wô ¼óîÛÑã›b/€”U -m„7j„Öçû‹`Tþÿ® ·£5þ @¦Ýª[²Vƒ¹;Ÿ?„}Pzÿå8Á?öú'ÚΤK@1öúð81ÿ€ûå=“/Fa€Ìÿ6êÖ¸}ÿücþ/áÿaGô}øÑ¦ ;+…âH<ûw%;[Ï8M¶ò¾zµxÎþ^îr/« Æý¦ œ¤× ¸ò¢¶?Ë+ì ü[+’óÀ¥/Í`Ó€tN»º­œA|lk]ÕˆÓú¿M|Ö%0¨YÞŒÁÚÁ-½ÍýíÑäŽIêíþzä¾S`;È#©í[Î (ìÁêöKØ·Wn”ÓûÊ•4ô´ 1£gã]PÉNfÙ ¡=›ÇŽùc—À1yüíâKGû™ïŽ_ÎÇ ,÷¼e\–-ÇÎÉ5Æz—k¶ëY˜Îɵ>ŒCiKÊünÚÿí‚\ö2 •t%/ûýcãC%~Ûw‚Éo“;wFýݱ™’ÌÇóÑ— )‘¬g‹k÷¿‘ÄÅ^™h8m1¿eŸ_g³mŒ÷épFžÒÃ_'@#7Ð0ØéÁ? _è È5Ö¿˜¼¿õ¾ž;*ŒÃûD’»ƒùtæØÓÛæš¼üÖÎ#r}gAafT²EÉA -¾à_)è<ÿ…õŸÂ€±˜ÝJjßuá—ÐÒyžüÞ¹iÚ_Ȧ`= ƒͽÏ?¾H À9ã•´@/»bºAQ`/€r”Ø·õŸµ×P+§<¨ˆBÿ³bŒRNŽ `©ýÌóÅe¹¾Æþ»Ç(Ö‡B—gyte®ybÏ Žošz­ÅT b·AÅ‘ãànR[:€/$€ï°î 2Ä(¬*q¢F\Ôðí¥K×±ó/½pípÿù—®¯-/]þ]³#€þQô÷õºàÍ7ß~ó­7^/'€¨¯\»þ<Ÿ¾ |ãí·ßzÛOôø¦t¡?%Î%GGwïWÿ‹ -ÿâï:ü³´ƒQû?¬@À3šA€–0Í þèÉ#»˜ü ûÿˆ“ê4¤-¥¥qBŠ´]Ž?I¯ÿòä¶P¾=ÿé÷¯åÏ»¿—!þ„óàö°7C#G{Û;Ã{V4ζ:_ãŒÀ÷ªä÷w®lí” ÅDã%XóT÷Í8ý8̸CbB–WÑ÷_æ?Ú‚ÃÁÌ–,Äÿ"¿>¾ßª‰â±,êýâ%°lÓ €m¿I:'€h¾t GÀ‚íæ¯ r½ØÆ£ÝéBܘNç yè‹;Slñm l[Ǻ¡y`à¿û˜æ#åiJ6÷z¢–Žù¾ãÝ_IÀî®íݨVyDÅȹHö€ùzgÖÉFÈÌáXÿ|ýŒ4½ùpó·` ÌO‡˜¼à›føÏÀ} qÒ ×v»×)ÎQÜ6èã—‘ŒGäúëäz1’œà¸{‹ÔôLoêƒt¶g‹×÷$B<Â7Æó¾¬štÁsóŸŒÇå?ì9€¡A‹ ÂëoïBhtxpqötØN0@oÛÉ’ÃôìˆØlD`ÚK䀻B²$3ø×þàë¯gØü ·˜ë9ÒàøÂya÷F›¦¸g'יΜ þ9 J~éø.~Š€M©}×°yÓð‰4àÂ1è‚ÒölPÍ«ë•ó=ψXzº^{±ó»€¥À@^Õ°Ù @Š0àœ€Ö°ŒàòÎðpa¢ý÷ð”òý€uI“P[ƒJŠÀèŒøôÓÇ~]0ÔÅ€ú5¶YcÑLN@ ìýMæhøpðè³Ä<þ¨¦¨ñ–€àå¯W‰•lÆE=ß>¦/ Ù¶ü_{é¹k—®½ÀÇuãý¼pMÎü -$àUð¾úP ÈàÀò/ååW^I“@Iôø¦PQRT÷ÿöþ¯-¹eÙÝÿ5%ßÖ€ˆE'dG`Œ­^uø{J‚Ï@mŒé‡cþò@RëÂáÉÖùþ(@Õîö·ÂC_€Šýï>Vœ–l'<¿åŸwAù)øhÜ"ºì^ß&€“1œ:gÌßãÙî<<Å€š  j“ ç« w å;à€G -`o£ÿVøï¸Ùèˆÿ,åö¨nâ¿ ào€ -¼U¥ïä’QrNQu“,v—„èÏs€0à X`ƒðiKÛ·`4øÌ>lX¦vðs4ýéì·Ãáü_§‹¯A^}Ìãñ|¼{Kã]Àd~g0¸uk±½%ØÚÞ2ð*8@°‚A˜‚цž›3"ØÇ;/×Ûu¸<·¹‘O¯7Í )˜ÖÝKŸ/¾œBE’ëŸ?Õús™"`jj#NÃÅOíç?ý?‡ƒù¿¦Äà\Ìûý€â è‡LÌç„ßÎ4³ÿasèuýËONàdÂòjý/yL®µíõå÷\a®"ŒÌІáØÞÛvƒpwʣ甀ºHvíd¡`þúw„#ã[d~ü»AŸ\{B)Ì€ÿý[óÙœ›‰ÍñÍÿ:èÿv -GÈ^ð–*¼~i‰žœþÏr’J·y²ò#=­Àš\$€W;Ê}7=ù‡­ùÑt½æ[.ðŸ éÏ’õ€5@õÐæôëèbÊúïbžâ83@c@{ óØ<¥æV0Ï—åú3ÀÅ<Uøð”t-g{‚耈¸äw¹P´F€B®ß4œ‘k9áˆàGŰãö<ùöÒ¥çŸs˜-þ üóÂs—^ðSèFè@Møêëÿ»=lxõÍ7ßzó­7^Õ @®w3Õ<×_yåõþJJkS-䯷¾€H–cX¤Åù}D¼ÓôùÏB€&:¿¤²?@€­¼áÿGžztíöø5¯VMÆJ.½x k0`Tè_üŸãHû8ú¿ UTzz}Å|#¡Ô踹-üã!ÈŽ%‰©=ìocøcOÏ'ã´,Oüó¯$­­o—ÒÝÀ(œ],èÅöá¬èƒú¨Õ­+[7²n?x?²pkpkk¯ ØYÖ2ã;ïD,°»þ Áp4°ùÞxN9Ÿõ§00Ú+Þ† $ NKY€Þ@)|Á0¾P¢]Çì¥LÀd2]ü®7û×…`aOˆ–­è{¡%›É-,oèæø­hêóK2à·-ÿ¬noe;×¶» ¸Q½vyƒ[XŽÎ^@aîB½¼sãéØA¾æBõˆëAåzn«Îôös=¿óu,G€$×zZ,©ä¥r½ÿÈ~ÿ?Ù8+¨Wjß§y<×:H²>‚~­ÇüÀ3bZ/€:öxyÐåÈ0@¾ -ô+À§cºŽHGV1'zp–àß~k  ã”àך¦«€ú(ùV5u#¾v¢ÀýGŸ%€+ÉHÕ pÃðcÆH•XÉFa|€¶ýuçõÏ7ÒLÿxð˦ÿ+·èXù€¼.€4¼n´o0žŸià#°= Æ -†%¼õV"‘(òMiMpúŸzÝÿMá1€ï)A¼H@ƒW3ݨÖâx°ôorLè‚VOb$€ù5ÐÖ€“^úSN€S m^I<¹¡©)j‘oÏ€lŸV#[kCƒÿuëÿáÃÔŽ'O>~tÔ»©jÈJ|HÍÏ7 -°·sÞñl]¥²ÄŽê/TGâð‹ ¥ÀÁG÷îë<¸ªÒ`@‡àÿüu ôç»øÄÁÁñ£sü”n€€ÄLCxà 0> ¸rˆèÿж™OܱSàt:˜ÿÖ~mƒñP7û!ø?ìÛâ=œõÛrƒÙ 8ÂÒ‹0²IGx²@0‰ö2vìdé¹XìÎæ»qdœ2ÿ§ç‡=EÈÝŸÕù…«¡±êd0oŠnêõlŠðG{9Ú p𣆠ÿ`ñµýãœCXÚ‚É=ê{ÑÃqïp<ܰ>že6‹±­÷ŽÙ`N°Ù6s#é!‹Å×ýÅïä¬C‰8…‘ùÆðq”9Š€ 49 ×XÚþ%›BÜj±æ—WÉ:ý}¥ \n]qFÀj˜Út0<Ô^÷„ý>eí ãDi޶|Ø¿Ñ\7†a®{½QœЕÅo{äŠ`U˜;ô@åšL™‘$º)½^£ú}Š€uk¿íÜÖKø%´4_OólŒ°´÷8ÏOüçê=¯Š ͦzèÜñ8 øßyBê}j$ÀæÿÏ‹@²ßiÀRë5˜ç‹Ër}üw° €¢h@yŠ`P-¿º-š©<HËn€¿~ôÈ@QªL¹rú^?>€ý~¼à¥K/E»¦«_>—œÜ¯6åÃû%Û4ç…ÿ×_îÿŸÅÞ -xóM ‘ëì|€ÿ˯HÞzû­&¦zB O•`/ÞóÝäØÅÝ‚þ…ÿí‰ÛÏ÷Þqÿ©…•¹%vcåq‡dÛQÈÈ)ðt -Ð6mJÝÑh¨¢-¥¥ÿÚýðÀ^ÿa›Ø_üÏ-ü?yòé‡G(Ôƒ‡­ã€Èãc=<¼w÷w®Þ¸»éXcAì›ÙwÍrtïø óp—õpœ Oеk[®¬Ið¿HÀVç€n­7lxŠœ¦Ã¡N€ñTèk²rèè×ø÷¬œcÂaÏFôÙ N³!ÀAìÆ; Þ6 'tôwÅüíí¤T¶³ä/¾c˜Î†Ã8`ö~ `°Ë_Ê‘³j[ÃDß–ï ©p‘ †`,0ÇÖd -"pSq„=r=Ò7îdü6Ž¿œ‰ösý€³MÙÝ‘xå*9[à9pËû¼ŸHÂÅhú5g[|i_H#ími9iÚ2ÄN<^jà_æš/sí¶ÝÞðP¦Ð4vä`Hñ{lmm]©ö‹ô˜ÎúûŽshØÀ°Hiò¹UC›gJ®NÙåÚ;V\@÷åýåŒB0Ãd{:7Lƒœp%Ür3˜Ly|RPT=ÿrñã<ß»ú>ƒŸïXPß/ͽ¨yÊŽØD®^zùã° mýrìÙ¶ÈÏÓãèèܳ'<WOö8þÿ[ÇïÏìÿæ(£ã½éèbº&€úR5éØ;H'€ÆJî?úŒ¬Ú @OÇ*às¿3à‰ÀtK©u²QÅÿ,hgqé¹k~^¸æ´—®¿àâùë—^¸ö’›ÙÉ©ÿ4è±ä5ø èM ½àÿWß|ýÍ´¬¼Y{óÍ·ßyëß½Y¯(òM©`‘”–ð¿bå Y‡j‹J0oüj±-©ÒßûÞÒZ¼+YmòQ¹ÔÀàx¾á°€}Ìø½} úõ€5ü¾‰ù¿ÅÛ’÷FÙ?õpïþ==<.²†5€îAø€ÍKú¿¯¤iàÚÍ×î: УGéú_R‡wR`ZÍáë@ï('€óü#G¿€mn^ÆîaÆÿ¥³ñl1ÿ•ÿð™Ú7»w8ÔxÇ8Çäƒ[ˆ–¯À-(ƒu¶÷‡P¸ è³íèm (‡éÏ”À -²ÓÝ:ƒ‹ôV7‹cÅGcmcsj†uÜ i¯‘}䃡ÍàÆŒæ_/ÆFaú zãy­¡÷ô:l÷à“[^¸ì&fT¢Ûû}ÜSXðOé ,¨kœñ 1 ’ög£–£8HiÌg%œŽ-@í© žÉCÈàÆ¶óKúsNsÈ^\ yg<°¤ª¬×r͵&4À'k¡09 ÙÎG½áLÑE `Ì5e`I™kï§(üý°à§ 0ÚyÝþF €èÿäÛß×þ…lzò[]GËG×Ç܃«ÿt1EÖÇòÁý-G8Ñ À7Ÿ3ÆXzÎŒhz½óøŸ(`Iþñ"1'{Ę)ü_zxwþìø~süi&ìfô†‘³6/îÛ¿ñ8O4îÓÚo€ó?džÌý“ß×°ÿ»¹ìÛ÷Êöþ7Ûÿ­7ßðæ7< Áÿ+|]‡Ä]Gxçí§y´õ,´*åƒûÆ\Þwyls€›¾·X¡;ô_®P‡ÓΗÝã=øž¯‡Çz®øøÌ<äÎäÎFRà÷ÈÖÙ€þ{pþá)/ÀÙN€¶~–ä j(jKKc)>šöý+÷¿ø¯ù@þoùZ¿5ãÉcÀÖÞ GÈRóŠã#{½­«Û{©éœ^šÿ¼5û¥â¿`åöÇ„÷¡©ù6 ÀÒà+©éPBÚ‰;i ‘P´|04í k'qÌB¦³€t‰«Š&öÀA¿œög3wœÏí ßƒýˆ¨1n -¿Ápg2qȱ”ƒÁ& äЏ%†r7®,½ß‚•PÔo€_ŽÂ”±89çkEx,âèèy!}»Æež Î9ÓͼO¦Dœg«Óürýž£ÐüÖÏõ ·&·'_ȹ¸xË Ù6v10MvÌÇ`àÀÄc[ dJlº¢Ể„©ç±\¾@kP¢3ë¾ ä9ÖÁ}½$’{™ pW¡®èØêÁìr£¯w_¡˜)Kð¾wh€ÌŲrëȃä¤ç¬Ü×”œÎ‡°†m§€a 3›bØÉ²°,CÆB\Nà?Õ¡<¿?ÎÈÊ.+©}Ÿæ€œïXˆ4m¯–ÿ bàkã¬õôw¶w*`½@ÆÐð=ÇhM+Àÿ¤1‘ެ€ ãhŠr«€ÕP€èbìÀUg å>—j —i'Ç áæxò£ç Öe£0.Šÿß¾píùr`úóÒæîÚ v -ŒàÒslóýõ ½Ž}ßÎ}ïÆààüñJ"ì/¨³Àmo¿õö»Ž ¨ü; ë„t½¤L¿¦ šâ)öû©BßO‚z‘þbðʰ×ëI£¬’ßS èÞÔþãGi;G>ãæ†4˜}Xw8kó_ìŸ9ƒ´•³%7ËZÒŽ_ŠÁÿÄþ¯Ìr›ÿ[¦Ô‹T6–?Âð‡í`€¬‡išôçÝ=@[ßt :àÇ>Òð_ËÀ•Ĥ±ÖÑûs`k:HèKkoªuͤ…úˆàøqªä¬+é<6@6œzt,)@œ³™†õ"ð Ô²"à÷{¢ë| -ƒƒþ­I€Hdôå0þÆ‘åO tîðrˆÝQ"ï&·ìæøÝv°»+—¥à3ýI³þUHñPLÛøN€ÔCÐ2{ãž½ëÈáÈöÙdYö‚ ú³aßÁñØBR˜ÉåÏv[®=è(NÀÿÛé;7õDO7BeENˆîù½­ _ø/Ç ÖÝ œçãÆÌ>H^|“kÏÇ ÆÃ]ÒñwóZüÇB±‚ý2"—.]Ù¸çÏ]™Ònÿg”!Ù ÛœËìÞ–¸ ~,s-óâ||¼%æ ¿c ç6Ã!&fÈü»¯¹ð&)l’9jþH@ë°²öÛÎm½„_BËÊpñq¢ê±ò½~È8­¯@ÿVʰ6 àt R#ž3@4àY€ºT¤Á¼÷?> ¢:€Ÿïáh4 ÊiÕ  Ú0\å ÎxÈUQYrÖ#æ4åÙýa1© ?Ö yÿüóâ},~¡ÿÒ ÏÇèç›Ímõ…Dõ¿ìø¿ˆãþ½õæÛo‚êï¼ýŽ7Þxã-±?1‚¯¾â ö|ë­ý 넼(S„5U)‹þ¿N3@XÀÁýò¨|õ‚ü þKôbùÍW›ÿ¨¹ö/*a:kßòãÉÒ`CeÞœ÷ŠÇ 8ƒlWb³ÂÓ¤îi;v%ö÷ÿß•Àÿºù?¬ )o -ªŠ¯Œ[<èmï=|œ€u@ðÿ¡4§šìhÀ† á8bW¾-»óüW€£ûûûµ‡¤Mu ¼”.ÿÝû²ƒ¹àeP“%K5@8۠رÿt;@œK - ÔÏf«<+`™Ïùãù-„ÅÄלÜ.­þ. xƸÞoݞܑÀçžeSuO-vJ½´v_¶+€ ”ëClrϾƒ4`Æ­·ÌòÜ„À{RˆiË/C†SPÙ©úÌ£®{sát¢Vz˵=#ï1€Ùd®+C¾Í?‰Ü¾3ÒÀq£žˆ:ѽ‘ ÐUдë\å2f½`êNZ¯Œ‚°ìMîL ¨÷Ò=•€ÃþðËWÀþOAf.DJAøß¦XŠÕ]ÖÚßÒIAþ¹Š-÷ÚÕq¡è^!Ç·ÿ£i?rß4é+oÊŽä:— ºç‚Ü$+`_ß³ÿ‘Ùü§ñ¬ÃÛy›Ozx¿÷\>‰µwÀ÷`½@yl”€ÏkörÅy* Ìÿ3=W3 ÒyJ±üO5ÀJNz¸¥]/€G€—qj×ëq7à?Éà[ÓÃÃ_òxXu'šÿθ9@<VÔ«IÄ‹âÒ‘eX«¹üÔˆÇúx´üõø;#pü¬ÚÀ"_ü|‰×õK×°ÿLÃÿoéÿ#ØþÎÛo½ùæëo¾ñ:4ÿƒÿ ä\ÁF9ƒbau€¬Iìøwc0O ,.Á?Æ¿B5./Šðøñ=[¹¿tmÜçW©<-½ lÞ«†€€H€±O§Ï"ÆœÂÿnП^±€½`¸Ræ?ùè¤U -5ò1»ì@Ž«¦Å°îy;ÁŽ·àG” $àÏc¾ôËù¯m þ*û @r$P® òu`ƒ>KW®öÝû2oñ¤E¡µ Õ¡ÊI`·ðNf‹“‘K'@GÏFÐ2¾\”fµȱÛ\뜡sACÈJ]ŸÜ5A1VéÄaÿmŠÌîÀ»ôXe7{»yIÎ}/èz² PN€ä×Ô6Ïòª‘ŽYn“9-Y¬mКäI(6×#QX›#8/®²0åÿU®½P2Dãÿ¿=Š¥±ÎYá_qÚü»N¬3¤‘sôšh$Æ6‰õÇÃŒw²´9€¢æ[Òâñƒñá.'ôø2ÌRÚ v‡Ñþï<?K“¿\c—ãx±3…Eé o¾þ:_¯ÿq` Úý5Z ¢?!àoÀþÿ¿n1Jþù>`Œ4ðo_Öân €£¶qýuQIàpp Úô›,½…¸â ²8=,PQîçE@µé/Å Ê»>¿óÉž-‘ª›ðO™¤   ›êÐðN(@»öþëmöˆþŽ˜ ýJÿHyŽîß;Ѐ2(¼ÁÃ(Çþ³Ô `pA qðëæÍ†þJN¼”K>Q¥Ê#‰X§kN€Î Àó,jÍÙšaûc :®Nb”@LW¿¦Vž÷±á(q$ tktë–‡š°WfÐïÇøemÔôw·ßøòðß‘€W äÞ:01ÆóÌI|±£QJÎ  Ýø•v(Ÿ†»ñþÓÑœ“¢€Ìµ–¿dÀœ&×!0(ªäZ%e–‘äš|Ûl¡’ÓoAÊìèv’aáOt^‹ŠCôByÓÎŽ-=ÛL€úùX j·ŠŒ‰ä±dñp°;>Ô"w®"3X½—« ôßÚºá0ÉÖ @ÚE*ÝÃÞ–„  ,`ƒ-ɨz™\CNÈȤÏÕšs¯ÞŒÖHŒź¿ÝÌÎr‰œ /vø/üOy>ü z¬¬ý¶s[/á—àÓy~@û Ùôœ |þ¸@/€>€6¿Þ™íÍq–1|öðœú_d.€ÿ~1¹­u×¹í*rjyÀÉÄÕ|…êºûu6}}§<)ü‘‡)`½a“C«G¨ @vž«fÞ!lصÝP ffbÝ@Z“¹ÕþàGà1?Ö€eAù_Ò¬¾äo¿óvóëwþ7øÑðê+/CjÔéAøBä,ð"L15Eðÿ9@9Ф¼ˆP“ƒøKÓ?2´z;P‹  Óq¿þ½¨¤ÝìíeNÝ•í_ßåæ–ä@6(@âm6…D¹™"  ƒÞ Œù_€Ûù#U:øþ'Xþã“é6ú ‡KÒ&üqƒÄ À} @ ÕŽ`þ¯yÄÿƒ{€¬B؃_ðç^sèÕ¯Ù$Ð~8 P¦ø¯`ükÿ_N`ƶ·@vuqÊ0àÕg$‘¼ƒø‘5'@£_N1ß§ÌRm¡/†Ç Pˆ\+ýñp(ŽÒL€y¸ô¼‘‹@„+ -¹ Û[\Ó•«7ôzÛ@‹?¢ö]íþ¶=°AâVÖ¯Xfš~-jLÞ~kÜAÿ“T³d6›ØÇlŸ9‘¿`P4W{u¹æònà[ÐT5€^|Ôû’G ‡3mš)lçB†ÿ31{±\¢I¨ÎÆSBJ,ÏœY}éô·‡cc6$¯žß°Å€Â{HÜà+R”ÞPŠÀEÊ($ošW‘Û*[Ò@´’#s=]æš[1v(Äv€™6×Qé°©æÿÔ!¸B¤”áù"Р]Kóœ·m?´€4`¥íŸ€|oÀ÷ ³ª“4ŒôèÐþ?p:`€œðÔ8(¿ð8•¢ß;ß·\OœwØ;Ê­×g”mý/¥çñ8ñ†*Nø¶ºZå\ CæTé3uòŸ - @8±d<©.> ¤´F&E¨–V5þC5ÄPð¯ ÏL<·ãh›ð𑃓³´Š-´j¤vXM"V ñ­F¬W ÙOU‰¦5Ù¨Ãÿ¯ªá_c%[ž‹'ѧÿ -ÐþºíúØÉ~µîà„@Ò;`þ»÷uÆA › E¾) °1ßþÆîëø>"®­üþ«uÔáz@9G']Ttû{(€¤ŽQÈŸæw‹Î Øm’Óküë888År[/JV ½þ»÷þ^?ÿ†èýoç.Ie8 ÿ>é{ÃÓ€G¾>t -¬NÐogpÔzÂD|ÆEé•@Û@ë`Íàæò,ƒ<®€¶? ?@¿Q/¾htØÖµ¿†¸Ÿ² èμüžÏy¢þÞqî;©QÙ¿Iœ™€vËX DK½1žB¢?üåšÊ׳õÃáõèMíj(hÌ@‹»òÔ»¦ØÝWEbÑ å´›)Ž3%ðÖ¶‘m1j1Fù_/7¿Ð^óCôÌX ÊÌzóÑ<ÉË]˜\‹²3[ýýG#x8 m‰–JÞóñÚPˆÆ’Nlb®ÅC*Ûh ÷ÝvìB¯À,õ™06’“¿÷·÷M´š´ó¥5G¢ü°¤ˆLÍ‘æ™#˜-(Ôa¯@X× Å;ì< ‚ŒÀi’e)ˆQ•ÅÞ±Õë ! þ–„E7érM¶ù;ã.“Á™YP»ò7WëŸÎ?±D8ŒËtÎÃØÿ©&Íÿé\;Q™ù|ø˜œ-êä%Xy¬a¯%‡Œ¥©ˆÓÚ aá‹[ãd†` -uáÛ"ýªÈçh¸O)yßHc:3%у/6ô¶ùϦ«â¢’Ê”5NLÉP4Že)YxK²Ù/àœ1Àú\m6ÀsbxŸãþwðr€4è cÊh?Å´½ÕïO­½íak×B~õ¥•qu̵ ?ÙOÙQzEÆ€þá!{øí´¥^Ög ¾È9€™4{I¬ïI›<®I·²æàÆxÏW€Lu¡€;.øÛØvžÀ ]/€x~D |)€ãxÉÿ¯½p½¡|äÒõ—®½Æ€ˆãðº~ýecûôê¿áؾiúgñö›ï¼m8€hçM€8[^wö &M•¯Ëš€wbˆ À:‘N>U¨Èä¯|¬Qƒ7#À[ÄQò/þ¢ú(¾ñ#¨jg÷—ˆÿþ:M _'b½­ÜÌ €ÆÈ€ãþ-=ü‘¸?O…ñ?)„çßìw€ÇËÃÿ¾ -ü•»û€žâŠXwd,ÿ&â¿ ‚Ç÷ïiÀÝÒP¿¼zÍßbºÝ¯L>¦ˆù϶„èÈp×Nx -ýY:02‚tZ] ˜/Êﯤˆ.¹ÁèÎ4:Rë2c© m!4[ÔŠÀ ­?<Ô®D ‚¢®øÏ¿ê×xxÒªšÂÒ5-༃ÝmLÜU€pÇZ -Ä’žc‚…˜™ºOíå‚M@Ö0¹FAéN¯<&Æ+ú%7Ä3×2³G®QxÃ]2’ýÝL‚]þe*î¯åÂÂõ©ê³ÒÇÔ·PÇ@ÒѸ2o^Aí›$ž×Ñ“ùîýýSÍdC=nÛç/nfiQ0LzÒÌ}Jc{wpx¨Ã^åiI¢ˆM VÂ… õ[xÚ`®™¨^MöɵؑL¤)ë÷Š1Òâp¶¨Ô’fþ -ÛA"á#ržÿKÀ3Î& Ä5Òs.–ü°öG‡‡€q Âq».„\"cè‚ø%^“e“qè©P -î&Û¸Ï!¬³%fñ •®ú%jˆÆ[*:¦pku~D ȲÔÊÔ,X¼R­Áèî8¿tÚ½î‹ *HG¢-»Û© Ã4‡åy˜<д‹§ºÛ’ªÅî™ÒýÒËXxKï/g†¿½—¯Å+á‚–ÔÑ@zÃ>´Á §kgÃ=¥H|¹½ÛKÑzZ/J̵[õÅßÊE=X ÞI²^ UÓÀÂ3{‡:À-JÝB§z÷ûº#ç{\~^mF?r€ŸÀð¤aõ©IüÎ#ûÓ¹/ü‚üoä÷æÛoÆõŸ 3!™8¨&ä}ˆ RÆ~9ŸÆB0kõ| ´!§HÀNÉù´€GÇz(Þòz]L0äùôÛÐÛ?í?þÔ0€ÕkÍ PèÛ„´€D¬(@ï(àâ€À7ˆ¿é(ô> þÁÿóà?€?Ç# ÒãË?:Òã±Å®÷u1Åšl-øݳ ¹ÿ«òð•‚p{ÿ/_îíh4àeÛ„¯8%0Û·þ:‡­š"—þýÂÓ´áÈœp|– Jì“§É烎rJSMÍÁW‚úü܉BéƒÎå0j?ÆÈ­ß Ú5¿•Ž²Ú¶EÍ rPgjíÚ €Íßêl´GìÇ&õí”ͤGŠSÌjuuÎTGöõŸ¨XÑÑ-×ÃÁL•îZòšË -…á@1M Jíÿ°fѮ݋ûXé“8þó ºjw€ËC¶ÛÄïÆÆ0¢Õ»*›U‘á,cƒ¦D_ŠvJ®Ñ~-/ F羚]¸j S#•::EÎàÅÖvo@™VšdnâIl«1Q°ÉrvÝÿMÆCgl"5.%ý;Vd¶! LÃl:}ÿö–¨ÿ-b>yDÎuò’<þ蓆D+‘.忝ë#Oë6îX° ÜõW€\Ò>wºv´PæÖ ÊŽŽ©Ì­¶$V )ß–¨)uè<P0kXþÊéÀ°¿ÕïM=†"²€tŠYmr ù¹S€ªf¡²¥F¸@¬z”5r;±#+Š5™/Vá¹( tDíÜÐÕhhDkI€Î°, ÷õR<¤êBdé ,Hq¿•ûš`«çTÉMgynõoë8@:‹0§y$0@pûüð.€Uëß6 ûÅäåW`Ê›o¼nÄÿÛo¿ö¿õÖ;Fºýöˆ”Ç -àFÿé¤éòuYzìÀ§°¿ÞÝP€ûiMjýJÏme÷wë.õ_mFT Rž® ½{ûÓiîÃxîÙRå-è°á«~ù;£NnöøÄßVÞ€‡û½ƒ¿§Çæß×Pú{™öð?þ­]ü»ÿÛ;É€_}Â!ø< -àþUràõÜ?¾_ãÆ;Àµ•àÞ} Àý{ztÐ~€€uŒø‰aŸ ›’H}€¹Ë6ÐÊPö?ßÁý¥Ð àÃÕžjŒ». (zbÒ_h0eçæêæÁG— b}‹tgçŸÂ$xÊó°òG3gêc¥F`ÉS­ÎŒÕ„n‡Ä|²÷Ú‹í$é¿Pƒ-ìÿ+ú.ÞîŒ1À@dW{½öv©'êX0)uœ’SÎBrük®“iµ-æÌt0µÉž?ÇQpF3fQ3þœ©iõКÚÒ)W¨®f©¢â·= Â…©ôG0ŠÙ£hZ©ŸµÍ±’^R´ª`€úeï8ýͼèi&ÆÎà3¤Dw)N"èš¾˜ev´z@¿¾‹JEŠb‚'A‡&ÀÝ·Zˆy^æz87bÂu,z.H÷ÄL} €«ª±ñ‹p°çB½s ‘k Ê ÿ+í2ÿK ç‰ð¿"Ö«M^…~Î~ÂÐ?é°¶D<û¸¿{4<ä‹ÒYz¸¸%äº&€ÂôM€R€}@È¡ÅÍ‘ÙY±¢IÖ<žrK,§ò„€r©ƒn±áÄ7÷ܺ ‹b0bgѬˆüa$ËÜý1ÔeŸûÍ«\r/šÓ¹nÎæw¿>ËÐ@9ÉRšÀþzö?yüpoø½=ÇDZÿ—þA»y><þ[åúêÉq5FäZ¸$V÷rE%Av t¾ÃXñÊý¸ò!vnbµ#ë“û#Ùû^bl&¬‘Ïö¸®á¿¤Âÿeð’勉ˆ@iՉ߿y507àï—jœG»‹ˆê×59Z |ÐVÆâ›çÚÇ>•>–H‘§‚F<ÖN#€ÂQ¡¨ÝÜi8Å>§Ûz¢¬Ð]iîæ…±€¯^¶µ´«!†j?5§„6Šs1ÕyŠ5‚R‚ŸL툮q€‘õõ™§F1 ÿ ¼YEsU¶Éµ*0¹ÅÎÓ3×ÚÉ>qP2{ÏvmWÓ…°Gó飤 ó÷¢Ü^jÓ“§ðúfGŒsÌËu2rƾٸÓávfR2y»éÄ€{زíìÈz8¯ÿ–hìîn ÜIÙkŒÚ­\÷v’AîéX$ Gþï~ì%m1×iÐà sm<¥·8›ÌõbAɉÿ–i!1ÿKH3ºó´¨“;à½;%gyzØübܦ ö÷Ò!6Œ‡(sPèlÀ <çÊ Vºžo©ÃiÀ -F7<¡ÜØÜòæ_ÍPçÐë7¶#[þË6=Èr/Š8sh(€9á\¶è ÷Œ 2Ø?$çL9“áb ì<1>e{û/`3¡£^¯€¬œ -¢œŽè<·¦ã[V;kxó ·žîàCµú±ã<ùÑ1×ñݲ^v\¾¿r“Ä@¿ý¿é €†þg–?ñÿ-›úÁwvzéÒ ×œXð…ç@¸IÃÿó<Ý8‘ØþÍþ<蚪õÿé X_Ò¾ùrÍXCVÁGñîøxçÏ}ó±'\ˆÙÈkã9iä–´¶ÿ% àW~ž¢HÑ”£ýáGŸ|üÃ<0ìÿ%þ?Z"÷ øoÞÿ%XYÿ^ ¥A6j@Ã\‚©4Û? À¡€Kìÿ¿½µ³ïÐA«q"€ôÍÕPÀuÏ2‰C<Ç'brhõ(°&Žà ‰›—T舴j‚x^ñ¿É’ÌSçñj6²Œ(/À`@KÇ_Ÿg%úTtc¦Ð`®5³øŽ<7»òXCƒ¶TÛ¯P À&z€ç{h €xm‡¦µÍSMD° ` À÷ö®s²OÆ3)Užº\JU•VXG ësÀ¡—§4ÍM'Fñ ‹|Ûãþ|( 0…qtÖ4Æ´¢J¨ùCHÝÁÀ­+—ov Ö¯n7™ŠÞ£z‡ %Hý¥À4œæ¨¤™'ÐÀšõmÁ‰QJÓE¹üá. öC­™M7U®Yzu"ÞpD®§CvÌÁS´Wè?ĈY"â«Tð¨:t#—6îï€[Á.\Q„žv<ÔÛ/™Úxê¬ -sßèRT&0µÓvûºä)2.m‰¥eŽ:§€œ£@€MªMþ ƈh½þ–!ƒýCgaC ·¸"¨‹×D®)yóèq¶ÙÈ–ø²Ð“ëáØ™ý™¬F“c6%׃錼Îbý› ²iþ§$tΞu² v:CÎ÷pÎó`-Ô…ží°eyûCÔìÿõäðg -è À¤óXèEþŽy}¨€âÞŒ°éŒ! °ž¦•àÅpKß_%ƒ”)î÷Á[÷fO’Ѱ°á¨‡79:Pz‚j» o‰ %KàS^àŒv—1¬yÐ2rRå1ÙP?ËþbÊÄoË’fö¯K· &GNßÿÖðÍ7*Èykÿañ¿þ?øTó?‹Wªç Òtùº¼¸ 0ÒC|5Ù;´ÚúY¾­ ÿN\µõü?+@Þw/ðÞ©qó€v€[@†~à‚­a ÿó“w~mDTCðo&>ùä‡zl°õ¿ÿËÐÒï$÷ŸÜ}¥0:wæÛRXz¬l¤XøÏÈW ·`àÞ–!8Ð,¨q€vòjûCŒì<‰úÿ‹Ä—@¦ÿë„ Ð%Ä€$18Òª ²ÿ’KÆþ‘IÌ >Â+þ—=6ÜùË‚Ælž.lJf»¸P8¾L|w<¢ˆÊB}¡rcJú3t¦Ê‹MÙW¥Ž1‚&À°U'  ¢YYñ'¿TR:ÿ ŒÛ;{½¡ZÄ·,íÃÌYú REïPŽ÷£é‚•ªóK³÷ Ûp¿ÍlÅA|›k¶™kíÝèJ`Èëvgã -õ©£ÍÆä6™—xùP»Û|ŸkÖJšÍ 4˜A+Ûinûñ -)vÆ&Mç?à _ªѧäZ`d”ª})ˆšÔæz[=çL³ˆ‘‘d±ïäÿ)¼ÃþV7OÚ²¡Q¶ô{1¢”3çZ|=u£´äæƒm \ÿãÀäzhL)IU ä\xÎ6ÿ£¢Ï`Âzý#Âë÷÷X½ôðõÀ2 $ÉŠ%VfÕ/Qóp¸ðL@¯y8=µ½òà!fj²îH6OÆ™³< -Üø£ j÷O)èbX(E¾G @rcùŽ÷!CÙ›š'mQö~“Î@.Ìrns°ö„ÀÊ{¶ ß ÆßJΈÈ€ôðŒóLFÿÆ1OZG¿&eü?×~-å9^Ð^†<ð€Ÿ˜ÿˆýýß|÷wÞ–¼cË€³¼ýö;ï¾û®“¾óäuÖd@Nûp÷o}wãÿBÉ’ýJ…è¥éߤáÿÝãàÿѽûw÷ì\.ÿu@5‹èøñr–Í`A½­š —;ðoð†þŠfÈdŸþî üßéW€3"”‡&|éeܼrÝ' ðq)]C@–Yo«›^€º‰ÞÔì8†:4ï~ÜüööÃÅc!hú³¨CVòøÓò˜5î¡Ì×*@€Ó¸@6<ÿ[5PI9þþ{FÞ»w|´÷Pƒ?ŸcË# H"M ì^Ý@]/€ND~iK×.  ý#ñŒËï¯ÔúÓ§xŠà¾£20ªx¸'=ç÷E9Ds ¥œyh. ÞãÃÄÍPæÊþ<òTÒ!ZS·½zG^æ¯AÒïí: P&„8N‰L ¯2éõhU-·1„%ò£‚¦ãùhŽÒQG¹é¿˜qÄ„\ë÷žM{æƒK‰ <¶Ÿ¨ŒÂBG/Ðÿ£9)sõ‹ñ?Žœ (E¥Â<ØÑ¢¨kÅnQÕM§4…€õç›UÂYñÜ<6àÂÕ®{Xxfïl‰ýψXðœ]Ð0™ü›Æ8ùÿóÏ]Ãìg‰õï´ÿϳⶶ5ËÌ hsóyÕá€âxý ‡zù•Wßy÷‹ï¾ûîüã7üîø†•?þáþóŸþø§?ÿáßÁjª|]®:ðšÜ èÐ_€a³™à´ëO‰$ ·£Á~^€Atµï3¥ç¸yzóœ5›`<ݛũþHìÍûÁ1BÿÃB—-á¥äÞ·7÷øÉ…øoà¿:Ò—„&NýþŠÿퟓ€«;½½í›[¢Ðvಿšîµ×]Ž* `ÍP½Îô¤ û¸,ÀÍk×¶ k - ò—€‚ÊëSd2CšnSÃæ@©–5ÊÌŽ~AþUj³Ù|ÔÞÆÂW™"ú€":¸ç€a¹ÝAõŠc:¹§Ð9Ž–‹Ö‡”©¥Ö@¨°s·t „9€Mí«¥U -£‡(:¨ ¨Ÿ>mhš9J³§ 5l^ØÄ~Ào2(mÑ=Ê%¡I*J>Lcœ\/ÐÔX=üTaqMóÉ.^Ûx9Ê\Svü«GƒrŒA‡º³C? ‘˹¬D%-º¦hLõ6ÏzÃ/Ù†QÌèÒy 0.Æ»p Ï¡«D(,Dª‹ïmñP6Üê+©åÆöóë‡fgbFßš’k¹€Ö-´Åܪړk‡ÿÓÙOVQä^³{E÷ªëÍt”¸åT´ÅI—s1§ð?w=ï6ªDÔh“gÀ¿°q¶`Ð'gy’‡æ°Ê€B€FÎöäÍ*…pA@ư–zþïPjY<<©Ã˜øO9Ò¸k€µ³Éþ!k€Ž4Àz €5‹ò8ì!œ?{{ÑØ2 Hòi@~ذ頌Y^, 5œ5e8Ù Dûb1nú7Œҟ׶/y¡-œøÿéű«ßÙšùÿòõ—_}ëýoþâÿñ/üÓ_þôç?!ùÓ?ÿóŸÿåŸÿùŸÿâ¯HSäë²ô8±_ðkûÞo£9 ;OhѾÌ~–µ‚8„e9ÎŒî֞ϒæøèñ½¶ZøxRlû—&d×8ø -4Îß6Àë‡÷èD ?ÿþÂÿÖøoãö6L'ЮH-K`"åÛtCìÿuÀñ}Gº²µƒÒÖœ/´·ìP€0€ÿïwQ€GÄúo€«¼â(äob€ðïòêµÔâäâZ«&HCþæxñϹ0¶N&Xv?þré…¥˜Ì³ø)§Ó¹6"ßB ›vÀóC€¿l×VcˆdÃmuÆ& bŒ ”í4Ž—ðE9%ФÊÔ¸¼¥fÓ  âu'£JýÒ/±JY‡Qx -²‰ê€»ó!ÌË%ªV^àVò–\£:¦=­ Íè6¾Ó’@®Q\@8DG£…‹@`-·oOPkêBHé¹ÞÙF -žÉz;Ü£yÕ×ü'cHÀT7 ú°?úh‹³`.¬¡_g G˜õg±7Û¯} -øˆZ.X¢°{¡F™+q{7%•òƒ~Û½ñtÎŽ‡Bº %פ«œT®½~u+¬‡,dèd[Ì57íž¹ÝÕ”kädÜK®_A©ú¨ô‹´½k;û”"UÚNçŠðz¦€Ë?Û@.¨«] À…<`zJQЯU¾]àã”ÀÉ õ¾±‹Œ-§cÒžâδÏöÿo±¥ðîæ:ö:E@âOè@] ×uÒ`‚²{œáH µÐªA8¹0ËVÛ&·.ì¨Ä)ÄFò8QVþ£°¼°^’3<ó[€Üðg{&0€Neÿö|¥¹__×ÛÚõë,žç«6w»Ø€Ý¯ãß‘ÿßÿ_µ!ÀÞvÿ{õ­_|÷ >`àþÿíŸÿå_–  ©òuq  †ìi8ø5°ïÇ—@÷û~|OÅÿ&òw$À!€â8; ’™-žùŽÙ/´ëèÏò4ô‹°\ëðäÛŽ“PÂ!g™ÿÖ%•êm>Ë#²ô»ÙùËq€ -ÿ?ÌÄ„µ½aø½£ûÇ÷ö¶Àû­­ ŠÇ°¥ð÷}ó¾1‰Ûà(£¹w¯½¶á€ð³~oxØF²˜@ÇçëÚÕk+À1±ü—ZŸÒNž+)@Yxvý^“=~º¿p5š«°8ͳÙît2Û|À}±€´°¥ûãñ}ôå\õ%op'Àø`wt8žÚ*‰ZBç«¢šÖnkW˜³Ñ»†®€ò¨Ð3Ûƒ/ö“_Œ†h”¸A Ø‚CÌU¡M-Ä/T `&ÓÝyiǸï§@ûÙ6O®ÁåÝþïæØ cÏ^Œ£é;Ó;p˜jÄÕ–¶‹(oì¥î"\øx{Ò‹†v5˜ 4̆óÞðw(Q$8dÁPÝ*ú°7ž“4×*$ú#=@Èò° MhÚ@€Kð¥?s$\Õ²$ˆK¹3ÞQ)»ñ0ñæ·cAf™·€·ÙI4³”8œr¥*ÚÁ¿ƒYoø5W3Kù­ìϽÿj³û ¥KŸ‰ÿfð<€÷ã åÉû{ÆX‚Ô¶`¥?²ö}c„å`ÿÓ<äü<ûoÆè 2Ÿ°69°Æ„<Ö¢è¨ Úà¤nUY¼h -l`%Ø Òã6€Qb å?'<›1P€³b$gÄH¬¡ƒ“1w$Œp©¢þ·ˆ(«þ{È+ixõõ·´ûÅ~Ýâÿ+¯\»þÊÛï÷‡?èöÿ#æÿŸÿüÇ?ýñúËŸÿå/ÿòÏÿò—î¤éòu99@<Ü~GDÿóáÿ„Y®ôœÈ*ßçDD -¶Ÿ!Øëéô§ë~gˆ‚ol5†C‚4˜§½¡^ -î›;ü¯³…ÃónÛÙ¥DMÚvzªpB?9?ážïà„] Àë !œŠu±£n€4ÀS<©”¹"…RàÉ}~d € ZI ãÞñ¸m°òlÄè¸uºÀy}æq8 -÷ôÌ›Îê@)–7ÁÂñûY¢®öó?Ø Q_¯úý&¿ë5&PùZ ~½@Ä8mÿŒþ“Ù.]ë—ßýé"?Ðÿ§¿üé/È?óþo€a%òç¦Ê×åêÊ©Æߎ -€èýŸÆ‚õ,ÁßU‡ðO€³#š4Ì~º@$ÒðñÞ\àGû`ú?þl^y~L @I0]:Üo®¿ýñ–T7ñýõ¸ÃÀ‘Ôõ2@ÌÖú·àêÒÐI1€£‡'<1û_ÌHÀ®_5Ê¿½H×qøŸà¯€#y·j‚ü O‚KZ1Î@ Ùðå¿//Ú~.¦PýŠ« DtÙlº˜i!pø.üÙk|6müÍñàÙ\vü*Híï;’èŸ(j”ÜXݯVRë¡þ~@ÎðҽƗýûÔÔ¤>ÞÕ7”%{†) ‹ÑìË…¡ SàC“^»#~µMBD3×ÕTÁE¡MÎ~î$Ÿ\jo0Ûœ®âžˆ=Ó;ú-À$ÎMN9€„TQZÓ‰À6ÁÚ4‚€?lTPr=œ¿¯*D'Î{C -$M†(ÈPFshËb>›ÛëB݈b=,4F5 - †ûC™@³^ºÄpcK4²l}k`b5£Mµî@C²mI{ý(R–óõškì2Û‹ðV 0Oa%І°n$ûÈø¸ -s=˜Ct³á’Ò¿\t÷®?’^“Þ…ðŸÛþý<°#¥‹Ü7=<3@Øü~ãpä³=üK&“U„¿Ÿ@eѤõÐuÀZ Ùd‘{Ã@Ͱn4ÀÏÍ€`¸_#ðúÙÆÅt1'ÆÉ7c!3ùÙÉqVîÉZ €¸ -¿">9'<©™Íý*ÿ°“]l ´L8 [Ûí~†ü›ÄĨWÎoó?!¯: ˜ÿÆ›¯kýëÈì?ÿÛ+×/]û_ßþâ»?ýùþó_þøgÐÿŸÿòg þ?ÿù_þåÿþHÀÿݤ©òuyñæ&°ßÿ[ ä.ŸŠ -@Â\œ; @°~õQøæ½ð쀒µqoŸ"°gj€scN‰­Gépo±àõãc‚àKÉ-ooÎóÀm<àã7Ÿ3^€Ö@U«Wì²´†ÿ€ÌüË¢ðÿ¤ r ò׫zÜã®<ùplçpÚ¿-‡ÈËÖÿ+]ÀVyx]½v³j‰ò"†H„\î€Ï¹°Ðð†ËšÃ/hé‘Xù¼OìD³ÐIYCë¢YE ´Œ#àtÜG DM°6Ç“&Ü6O{” J‡^­€A%·½µ½uy+c¡†µÄœ.ˆìê€àœ‡À´( }'Æ–þR{Z ‘Ï™ƒWI@å\/¾6"!¹®<±œðÏXÊ2ž.À#.Ëߨ# ªðN°PÃÓKn?8ž³‘®‰ñ»âéY¥3t%ù=ϹYÎG3”)‡ØÑbj‰_’Æl¦bÖ›.PȲ”ÜJF]ŽJÄXÚ ÐþO€ØFñ©ÕG‡¨Ý-ý)"9¬ iSÈ™ Âõû;É5Yä'E”\kº›k2¨óߎ@MHJЉ·´efXõîZ.‘ Ën_‰8[{=]„׳=çôð^"] À…F,Ì×Ô*ù±pÁq(×HOy~è8ztüó‡7Ê-zEñqøb¿7bRÀþs]'<ɬz´ï%˜ €I/c MT63²ÀÖ3Æ 8y¢Îðl›5Ê0ŸC>y¬U¹ÙÜɉüQ¨B@,Ô¸j$UíÉ!¿Û…(ëëMºM¥¼ÿ‡zž\[¶þ?ßú»¥¯ -è^ñ¼œÉ}ß|õÍ×_ýß ÿÃþÝ‘¯ÇðÊ;ï÷§?ýé/Ö ðÏæU®ÿÿûÿ_þ[üÿÿüÏÿߦÊ×Å&¾“€ÿßÞ¿›€ÿZœ# ô;éHÀ¿ƒé¯à)ÎóøèÁ3_ûë€ý&HïÈ!÷6<Üá°IrÇ—ïvÚ È±øßz«e ະ_&ÛÖšàZðÿfÆÔþß¹Ù¡ÿñqú.›´øW íý®spCR30¢àZyÒÇ`c€Øþ‚¿ø¿$<¨²õ5 -P³“ôÿý—ÿÃt8›|9ëgª_.xìQcaâXA}µ¡¿˜F>ÂN`Fo4ÇH.P"QxF  ?U© y©°Ù¦>“Äó¿u㟯Ýhï¨6É ±ÕÇ€ù¨ÿåðÿÝ—èヒ/9½5 N†Ñh¢Y…úcT’rm;;ÿªº¢¾à+“YØE8 rîÒS=(ä`\…Ð’ØËxF[‡èFàåX„ÆÓcòó·:O8EmáOèB‘œ\¿´¤µúç‹/gó¯óßý -Êb{Éx‘¨}±×¢Qetjî~kw×NÖ¥W¶¶5‘òæj`ŠPQž±d`NÇš\šk•\>Áy/Kô2`*äÚ«é¢(3£l·áoMèÙ‚sˆ€R…,áß÷ió_K3ê3åûö°XAÎ?€Y¼¸À^I-àêž9À÷ˆ µ•€+é<kã˜ö÷Ö>Ë–¢³bÙ €Ã“b€\tyZ †?ÆÉOzl£hNz¬7§c84_Êþ°…<©õ»ÆÛò'wÙÆ1êö‚ð÷Õ“½Ýÿ)‚P/ħîÔ^Þ»“¯nå|  ýB^õ.7ÀóYóõ|ÛÚ½ãýÓëÏ~ŽÈïWx]OàÛ_üðÇ?ÿå/þËŸþôç¿€ÿ|þüçùoÿ¿%8' ð¾”_ó¾k`£íß§ ÒwÆ÷©/|ê%ë:ÒŸóÒP€t̆¡Ï–Þ)€7õÇzV ·»ÃÿvÒ‹‰Ù2G2qÿì€ûz°ÿ·ó"R€›ÿK@³ÿÙ½bŽ âø*à yº^â?$ÀVŽ@2°c­ÅýßR)à#Ú‰Ï:_EGZ/N^Ø« cQiž^=B §«}ÒCKèJV[ g*‡p¥ïèw‡˜ ‹¹^r·éOˆ½Æºš7ø~f †.Ê…‰²²ÀÖ•ía¯fBøÀ“QÍ1&¶H­×›õ1€:}9ÕøŸÃx‘k¬}ùŠ>ÀL?;‘qs-#0×¥½TUîì6hö.úk6ì/ÄbãЂÕêÁJo×%¶a‚yQ ò"7N‡;ãÅÿŸ¹{q3KÓ}Ñlh*³l°×šžö¾iRò®-ƒA¥°bb6‰“}‘PÌfRTþ"t…¶£Ý¥•¥tevwRŠNï„EÁú&¹îO0^Æ’¼ÈbþSû÷{Æ'…¡Gø»‡NŸ¾ÃøÞqøÆó¼ïxÇ4gGi;[Î៣&S0c -å̦³þè`4ùV¡"à”›™®ì'ÅÛÆ†¶?‚µ¥Î¤`{‹¢#_xItÚPˆQw‹6ßÙŒÁ5øÇd éz,ªˆFæ¨ú#žFÜÁ ÑƒiãŠÔ¤AŸÚûI»7é¥SEo1oÿÉÉ®ša—ó^,Ôµ€F˜·„¹À›€cÔ<×ZÆñ®}V,ÃŽ€ø¤7lî@j8ßßÄñÁ()!]sêÀÓ@Ô^ʹñˆ<œš<_ø ª° «>€µŸb÷èêR€Î=çn#X³Õˆ6¥Ihèê79l$I†ìß^8ÀŸFÀ¤:UÝâ%b“9CÐÆ@Ëý³Z~ùKÇöÀO¶.9éödÞv–n—£YÜ÷jºý3³ï'w®Ý¾v“ÙAÀ÷Ï´ÿ^ÆàÅË—¯?T¯WU[¾ìX±è˜±s@Ñü3Pþ ð—CÅœð”9JxüØœ^2ŒŸðBï_²ìžÝ€Ç-oï@úWÿ”é9Áß €Øb(ÿsüßÓ3 á:@½À@â@âÿþþî~ðÿÞæ öQÜæÚK.(D¹—™K4îZöd" «3VŸDõÁ>Žó`Ë—Ö¨"Å@«Õ åä‘T±v^ i¶œ!jÐfÇì@(Ñ&¨ÖÄÓZLâó†R56Ñ¥'Ît0£¡á@+á-Àq?žzn¬þAKsñCÓƒâ_€­~[<4Z½h›Žx‹Oœí€š-’joI+ˆF;!3Þ±Ñke1à4 ;|H”=âˆÁ'£zBOizÕ –}HŸLdmÈ}Ù–“Š ¿æƒ´€Ó^sp0™= ¥BD(u#¤ð·¥¶ ©D -ÛdZE}I¦í ,ÈãüÑ¢Ž?Í$D´xµ/|ì<v§$ùa½=aÀó­‘*3J¾nš¡1ÖŒ`Ë­Ôm ®Rð‘Ú†wÖ«àz\Ï S[z_®],“4·¨å¤þ²D­9þg³‹¬µážùºpN€bÃ(«žcSõ×wIŽåðÀi-€ìܰìàƒ²ÎP@Ò’K*€€… >h^!ÚBØÇ £Ïq º@wlíÕ -”êM|Ú‹d©S䤤ó $+&eU 8?SO}¡ßÌÓ…(d·÷&´$ÉçÄ!r×QÜ•sê)«D½Þ<á5Õ$-õeðþ}¢ÒŸ3\»zUô'ܼé@e×ú½rùÒ•O÷ÝóçNî¿|¡ùÿ…Öÿ—±üT…4ä«á¨@û?_÷øªö¤ úZöÁü%ÁÖÿ´9ì¼6l¶6:…œÏ`NÞ¹@%tÊš˜EÿÞæ9_$£bÑûŸ fy?žã¿€Ì$(.é°ຜ`1àþ+€b¸4_  èîÅ@±ø)ÞÅP»Å+úÿ²`KðÿÃVlÚÞ<üâ% ÞÁúB)-i2¸LLØ<Õ“ÈÚoO2@HÄGrµ0ÿ¿6G-—Þ™ÎÚýƒ§ 0š®šø`BÛÑ¥±¦áG—¶™W” â<ýNwÇã}!í­maÀ™ "Ö„^œlÕmØ¢µKEjXñ-¨’šp¾{IIÛvI|"’ÓX´m‚|£Vÿ€ §íA‘Z]ÆëIØ@¿–'§¥ÓZË,Á íõNu ɯ~o -â¼BhÞ«BWÓ&-\AÄ–³TRÓ0ƒƒÉQAMØ Ùš A3šú ü˜*;ϲDù Pñ]ÿ¸½Ñ™NfÐ/­5¢¾Ä£ß2e6öãi§¨gº@êÃ8¨«0 -ƒ°ò-RsS²AÞ$"÷n’ÏxÞ–:ÁzTAÖH*â¼&T‰ã+e\yrÒ(€Ì*i†W>§YN º Àºyü¬Xæ£ð˜àˆ›g÷0p€¼4pÁºyø™€€R"yNLÛœº„HÞ¸qåzT,[[£˲@‰=5£bø'õ‚‰ gÛC¨²ŒÄ1bªã“íB’a¤œè;PËÃäµüŒdjƒ!Û0·€óùá™î'Ǫ @/@áÉà#µþe ¦ê<|øSQ%ã¶¶3†´4åritPY¿UKŽf£!útðÔYyyêE¨?ŠåtäÔºÃîe`¡hD€V¾¥·hdÓ@Öõºº+×Qÿë­º>-ï­©PP±¨«æ/ ?-VÒ@3Æå+RtYjâk“0g×?ÒMäÊÌÞf¯¯SR“5¢Õ*@›Úä7À iÑãÐl A€ÞØÕ ïñÔA€ì·›M4Zv¹ ZÄæZq›ÈƒÈJ혼ÈKPL= ùÖЩ՟w9æÌˆµ?®ƒ,SàBÏ}Ù ôÌž ;KHlŒüJMªºOrI#Ø…Ô¤t4C¼ð5Wúk€NNJL‚Ñüä/´ñͦ ì²S6Ú/¢+3qÈ -ú/×%²(j4ÄÿP†×…óYø§6ŠNýÖ>nžÕP@WÀ³¸Þá<=ØÀÜ`|&ûq«åy”s­ ø_ïþÎ Â^€ú„zÿ¿úAðã?N à0Dõüï9`GoÜð”@…ù%,q à÷T;ÈçÎkÀî¡`#€jÿéáÉþ.³X¨ooØß·œcfØ”ÄÀÆÙ_$Ã™Š’; -R*áó9þßÐ; ݶÀü‚þÅ`pgПP‰´ÿÏû€ÿƒÝû :^Jß}t÷%/ÖƒàR Ps€ùËQe K VÕ„(±ÿ?üMO÷ÃÀ³nØ0Ñê^÷™W_à‰·x„iåÒâ¦=¡5äQEAQtçñ§½Ef61>Î<óiY «ƒûhµÚ[¨6„èK´Ql§q2»\ñÖùØú\Øæ @WŋʠòM›c@·Ê¤v¦'-¤Ó˜y"·eR·H¨½òýfª§Ù©'³>B7‘ÚQˆ\­CDàÆl·hZ93æ`+èØš`ÁV„Íùd¼±!í3w¶qææ¶|EÞ„.m숛v6hâU(®ÞKµjŠþäí¿Ý#ü1[Ä6q€ l¹î‚.“b–_Ç¥.fÙ8Ü¥n2˜iãTRóöUJ‹}”^¤Ió\®L¾ý+ø_ªH^N›;- 3ÉymœÖZÖŽptEî4÷x³QÉ.3æ-[ì(€³ù¤ @úCK]o>Hb8Pe(È"-‰XøXÎ…¬ú¤¬JJHס cQ -á #ŒÈ¢¤~åDvA©-æ‘R†¤ÄŒç£ã­u˜ñ„e.-X!)†ñzWsEÍ#K <ôì ÐçÉçÇ4¿[ †§¼A3:)qDZ³æ'‡vÛ[Ö\ -³ýo5ä1´N–ÀÖ!Ò—àÖá?· rÿ€‚êç ¨ûŽÔ€ï›z\YÌðÙ?:À÷/že‡¼²à§~€T£ÿ¿US¾B–¡=sø™÷8 €§œÔ°@ü%ð7´Õ$€§Î@óÕÞ¨¯O Nòد,åòÓ§¿G€2ƒA…ùZôý 8û{áIS¹ª0ÇÀÞf+Ns À!ÈPý9øgÁß°·¿»·»+ƒÓ7@į €KB>*NþZøTc.–Qš.]?Å |­¶Ü<µšæ@h ©š{›€v‚f‡¿<þµMOxNð‘Ï©£ §‰öÕÛDÙ·çùFa,¶Z™ÖžÖà08ÀÍÆظpAYÿ <ÙìàX]E8.ðž[kÔÓÀ¦±çös@RÓ:”Ú&“[*wNtÉ~lTU -n»%¼)µ¦MÌ<ûšJpR«OÒ‚p(M®mªróBÒìât$“~\®(gÙÉ_öWRsk'Íp&µîÜòAöGÞ îPþ3n“y>¾pác…i5K#<.W $_ŒÅ8jÛšÌΙJŸ6Ÿod–V¹_½Œ}ˆÃ1»vRk0 É6 ¹­"f7*kêÐR%r`¯ÄZo”¸_ʽJŽp%õ \ôò„­øÌ(d À»˜À7@·ÖS”haxÝ(€7Z `ÈH»4 -À °&R"gñ(%jUÈŸ ÕÚ´j 39÷0Šs8†R—“ý§+ÞN>I½”XA†CDeŸC¯?žm;p,IVÍ ‡’îl*ÃÔ Ñ¦Dú_ž%NôlrÉŸQ:l·arã@>åÖmw4þ#yÆ<*‹ .©á“'ݪäWÂ! ¨8ÀbG û˜ ûZ Àú ¡#Yi‡yÑÔz×H­V‰ÔìTjCd¤•™ö´®Ê‡\æé3ïFÂzЖÜ©seÑú£Q‘ø^ #1Þ‰±E$3ûNª”ßlŽˆ´¸¶¥HÙji7—Šd‰Õ/"qAI³( ]àßP“qÛz­…¿d&2˜ÉAF“!ó0~[%µ °›JMQPr‘Úã9K©à#+Í9kƒÀïx»‚ÿ“@,T¨ôÔgÄóÚPd’¿XÝþÍŽæ²)å‚þySñ€þÀÉ*¨mlƒ‰äÙnªô[à2òWlsI«?ñ(Q&‚.ì-{H­¥N¬£R…Ë)7×Yã˜àçðlæu8€!g– ÊG™x*kŠÒõ¥PÝp{þ¤žë²Oþwósø)Á¼j÷ 5¦:bæÞåc.{Âp:Îj€é¿GÐn} nï. -|G4LT²• -„œd¿6hkÒ2àW[KUÈ1‘Ï€ž¿A¸R”g2ÿì¹f÷ÁWîþî»gß?çõìù³—ÏAý8þ íÿõàï+,7úEýü66–°– ¿l仇޽®Ÿîà*øfs§}±vñ5³æîÃ?ç À€g?^ox7>HµðÙy¶÷~Õ 'AÜäS sü×pO ­ö…‹™ËçâÜ _P:ìÏ€þ¿»û ,´d¾¯é˧:!!@€áР𸀗¯e - DÚ,ѾÑH9tÌ‘¿Aª^µr¼ÍUšÝaÁ•´[´x¶<ÿ>ø´8}°ÐRÔu8!xDÛPÍêp¬ÚÔÚbZ‚š&€‹í¿éâw’š…¦&#A,š'#²Ã´4£"uGŽ|§=WèH6ÓÔ¼"ý’Ô¶z¶@l¨ÙÄðêE<»4dÚS”Zö`R£Ž%É46÷@=—Òˆ•>TΡa4Bùo[xš[^÷(³#!4@õo2%Gªh–i޹·IcIûH&Ø:’?Å@ -à>!Ó‚œ=Ž() ®·)ŽÔЖD—´ºQ|¯h©•iûݦhWµÑAý,ç$lÿS[¤ˆF¹ -ÿ£Qšo]lÃVfg!6(ÝÂ_Hçž] E½œ;T="[¡Ð4{#ö@¨Šš”ZE–ü4ŠÈhkÕ(2Z*pi7T.ÙQ×/~k«]oôÂ-TÎ#{<™TªùaŒµíLËâm¥ý&(ôg3˜œº=»­LÖ ã1« ž - !(™ž‘TYʼ­2^ÇË¿ 'iör?jôZJQªòC$dƒbiÒS%TæàÖ‘×·¹,ñ˜Ü¹Áüê‘åÝ2r´à¹ŒKÙ5œ‘+;ë¸\œj&ñvÕIaf㫤'o¢)Äîa»©‡P.6OGÝß©‹æô€º"Ù -óâA'ÈJM2,?P¸±økºÁñ÷ìPÁù¹ƒÿR€C÷ƒG~ùÁúôwyñâÙ‹ïö÷™àÕË—¯~úéÇzõJ€„Ò”¯„c] à_à¿Êlè%żœ6Àܰþ¿Žt\ Èó‹Àë €'?ùü½úœ}2‚õ^¢@È €ŽUXàÿîÞÞ½Îðߨi¨?„ÃõåQÐ)Þÿ¼¿¿w_ -p¯XÀyµö£€à¼]ùäà†qKî`¹Â[.ù6FšŒ0|I©‘L©¹Ì{r&ȋԚÛ=Æ}›„Èï¼l.%Øl*»RÅ¥¼KAÉ]Æÿ‘ë ·ÚQ”yp:ý]—Ötï(€IR#fúþ³'Åa1EÖµéá­ÿôIDATRrÝp¹9]!&³Ÿoâ |Ê>À~«Óè)!ÏZÀ—€%Á*åÍF“‰s>WµšXTäf,w£R9CWÒ @ª-Ÿng8ÞæÇgÄÜ#"b— ñOJ$«çlBGe¿J`tb0¥äŠ»£7мìð¶a“ì PÞs¤À"M n ó-ΪëØbYZæ'k(#÷äÙéëF+ÁqÛÔŠ¤©½=ûÛ>^Täö,â<›d‡@Ýóû¬‘ íü;«‚JÊÚa ¨1SØÐ†ØˆT³?2XþÚÈòÀ¿èß -¶/ ~ë%”C øž-__vÀs¿ðOÍÿfÖÌ,€üeÇU'úàòÝß~W†ê(úÐýÿ_ýµÂÿ}*,OˆïßÜÐÀÑF °þ—|W9@k>à€Çó¶¿ßî ÊÖ²÷„©ÑnûLïz¢àù¼=XT+)¥•« -Kø_|hÁ/k:T  v©V Y øÿ.üÿ"=†ÜOì`|É`׿Óþßà¿ïòZÀ!ŽpaÞU5)¨ à“å?ø 0g‹VœçÔ6¶zv§´&³©³ä1Îs­a6G‡Cÿ…RNH+ÙKß{.oלז¶¦ºÄæO{€¸à4[v4Z#›ƒÒÈÄðø_B³õ±­hZN!>pØûÄÍj”‡¸Õ½ü*u{6EddÈÓÒM§¨øƒ¯ ¶4ÊüO³e]ImäJJ`?èìÃʽÐÄÚD{Œ“+Í69\âêéA( Ñîõ\diJsëšÊ¦¹ä7;ËF€”ìTá"¤¦MMb Ä·Ñöi»Ý_K´\ø˜lI{šž šúmN"JBµÞ#5[‘Ú…•º$•ß™FlO—¶˜F£¤ì :<çq™!µÕ#¹ÁY© üw*×åŠÃfÁ"mÿÅøßræ…éÁ,ý¸§ý "z±{/~$1lÜçÝ…2~6y ²¨7›Ôç­_BÕ)iÓ^QÔâ+|xܵ2{c´\*Œe•+‘ËØòüä0LLmÙvZ‡æœÑßÙ+­rCrZ=ìéžÏ¾n]É¥"9%e*ÌqóߣíFîŽü›óRéØÑn’œZC³†i.pŸ Õð -žïQ‡ÀWÉ<Û¦±IUÝ.ŽÒRò‹r¶JóöŸâ•§_N -ƒ°ÝèÙSgMAVRoAY -^F z!ÚÏõ S‘÷5 @5iÏ]“ƒH¡Mk«®#¯f)v°³Ñh4]‘ÝÀï%”CÍF븠ûZ À›øüû¥_üÂUÿÏûÖàHÀk× ÅÀ  àƒÿõ»ý÷?^<Ï$ŽøáÇŸ~|õßU(MùJøèÒÆp$ìAn@Nš pŽø‡_ŸŒ×ÎüÀƺ¶Yí\>¯W,2‡Ó‚§zöýм€·ds)µ(Õâÿ“{»› ¿Ÿ{ú4* ð[áæð½^ôÿ0€‚ÿÿ,Ø»¿—‰€âp=*±|¸dXòXé¨:n€þP/-àj€@a<›ë"­«€:™öj•°J+§ò4Ó¨ˆa§ñÑ »“6}žF3à\bm½í²ü± pŒ12F?óCN³½±MO‹™«Õµ”€ ØjÒtä“n­;8 3“ÙxÒB%öÁhÒ Æÿ¡HmÔë”äqDœ 5¢n#2m·ÒŒµ=ÓÛ#5ç¦Áãð6& Rw¦–:¸‡ÃÜÚ¯(Ä»+ƒ&ŒÆÆÐ¦WÕÉ^T²bÒ¯;怖Ўj¼‘ã Gƒ €¡" ÞUKˆ3Må¯!Íâ@C¢I½aZh¢ùO`ÌÕ½Þxg*Ù:”Ú;xÜ=6ÔÜ-À𥦱vÇhj/®R;Щ) …Ešºå†}b /53JͰÿÀù— -<¸dPL@<’.f† ˆE*©–¿ ä,áù­›fŒ·b„0Ut@ H°Ô*Ùã7AR)i²*dIÐüÎh«I–¾—œíuÁRUéÈ™/¬O¿NÞ¦2qs4 ÿ”•ìß?³ö¥) ˜š0q“3J¹XECL ·5Ñ\¬tÒ'ûü9ߊÏQ3qÙƒ€¤ÞCŠëHj‚é°R¦VzgNI’ª®µDVr"ƒ27òȵz‘ŠÀAÏ7I:4v·w›óHçŒJîUUÖªD­^Ý®û yûÄ\oð<“ÐEIuáV) ;›-°Ü sMÀåíåP©fãïÑðï_;¦ïoÎÿ¾|ÕÕnþÝÍÛ®ì<€¼¯\¹üË_^¹ôûýìçÛNÇþø×Ÿò:ÉàV…å'†FÍEƒ3!À± Ü/pÁÀÿëæx\&ÜïtPnëÍ^§¬…¿öµÿ ²Ä­ïõÏ4¼×y’¿a8bX -»÷îý|öîíïí: - ^»(/ÔõÿÚ%@#ø=Ýÿ†½ý=—ÐÐÂÓéŸ`q;’ ²,Â¥#À^.Ì¡RKŠ⿰ðdVF€â°hÌA†4H`·jˆ“Ø—lAøæñGåßÐågýI|Ù¤%³ÅÌF4‹lkþÓ” „' wFš¥5Ós”Ó«–ɰ%ºAÊ3®W -Õ¼µðòÊ2¢PDGEƒ˜Ö›´èÒHÍå»8¹çéÕáA/"©sËbÚî‘äZ{–_S"k8”z8œŽ%é\àMœÆl^ÅÛÉæ/À替ŽWc[Gîç=BirÝ« íÉÄ5"ÚX[P«i=syÕ¢Ú>öhÛDs tÔjº(šh»Öt®#ÁÏŸ’ãþÃñ4´e1ã ÇI´ºì§u‹Ô Zé–¿²ùN‘¸ÞŸ¹ ÉU²’ø¬ -YÉR ^µ:¿Ò5(2µÿ/¦_ÌRŒ§JZÏ÷Io Rï ¼l‹R‚CQYÉ 2ÅŠBÊJÅ"¿9˜&òQ€‹7§I DýËD¼0c’‰V'Ä ”v›dƒ±{¨ÝrDÝcf”5ҖòÝiP–Óû‹qú%šrNo0›ÌFS¨!I:Á6™Èɹ΋H“éIš¶--¤ã¥àÚê‰ÇžÅOùSVFo‚lZ|(1³bz„ÃüM\ä§÷!ÎÉt2ðåÂÐò*¶Mlq‰@Þ0€"[¾è %È`#™@K'…Ét–§€`7²yÓr®’’s>¤Ê›¤:›C܉{¥ rrîgú*RÆÞÍî–3Íï}žð~}Ô×ß,\½,ÞÛ píæ;·aú”qü§O~ûûÿ_¾xäùêÅóç/È<@?¶À‡—ô8Í   :²°úì—0çâCü€Ù« uñ"ÚÙ¼¿Ú¿&ˆ×°oáÑ“?VNžixÏ>ïØpHîq´|ööö73ðu-1âû)Sø˜.€bà½Gؽ?·\:´äêÊà ÿò&Ì×HXa^Z…?ð¯!€W…™±#Àüq¦yO¯rÝh g£á0«Í3âp€¢íÔ¡ÛYBØËT –ð ÍBt´BiÙ hÚ’ŽátŠVÚ)#†ÁØÖVtRÇî9­  váƒÊ&!m5­„M M±2⃧w'D¹À¢|¸õÖάlÑ8ž]˜€ Ý h“t¨IÀüHo¤m“c·p/­vɈK[{^Ñ#™$¨? Ù ¥6ß"GÈÒdVL!ÓQ½;á9E©¹¤d9™ß· ¯µ¦Î¤DdÆÀ™_©@‰-òb‹Æò×íö¯…-òæc'Jð˜üÉn ) §˜ ©-³þx¸£¢L¼‘Z=¬_MÜæ÷h€Î<§-¾©àT£¶íûpæš‹³œË[©9nv3Aø·a·i ú5›¡ÿϦÓ3xr¡Uáûm11GS±4Q&‚O±È‹+ÁK#Hª~òœ¹=¿ÎDQ_º[`Š8#èôúÀ{·?i¦SëÐkªûÎFû3á`Dê{Ï Ó]j’H3Ý¢ ,`ò,KÌa<þãBo-M1+yx‚|ñgäDYC­&^l±GÈà›i -±µØI1;DĤwš\ÓkánËMû¹_“úìÃy!j&½ ‹›P}mÊÖl“öÃA_ÐnõœðŠ‹Úí-’÷rB¾ž€h“ Üƒ¸-Ø’íÖ™790˜È’]ÌÒ‚rø?Ïñ”º -±ÊÓÊ_)?+"×ñIA¡…Ùl÷t?5pw´'(ŽÿœÃþz}k ºB+ŒØ°Ø(¡:ÊW·û^-™ñç ^W.»ð_Ö¸s“×íÛÎtõŠ+]¹|éê§¿ýî{ _ À˱<õâ…Ã_¾øñ‡òZëx鯵šý"lØPkÀÖ[ -ì/ÛÐ)C^¿ -x¸5êÄ´»+ç:áýh³Õ¹ÊàŒ»O¾*‘¬a - ïÙàm @å(öŸhØËzÀ4ÙÝ~±Ø.ÅÀy|ß‹‰€{ûñÈL€±h¿ÙCÜ$š‚ü†E€vó²øûyUÕ„k> -ðË‚ÿ äðD?â,ŒÁC¦úÓšÍ§à”“áñ°Wi7Á‰)í 0Ô¾]ð%-—A³ÝªwiÉmö¼v”shü¼ßt¸3D+ j;\:MžmžP T«ö±Ú ›¿BÊó>çúêÒí>x»EŒNàÊÝòf"5œúð[§$ -ò…• -ÉL @ìßÑÈŠ €Û•t¤Nyl1•Ô%Ù½ñp¬Ô¹„w´§|Ïlt9¡M*¡,mËM^"|cÜ}؃hØd†64êÏøŪ7†O-Òû_¶jzŸÕl4Ñ Ì[èš’f† HÚÎøË-ÉLó—•´V£þxÜw@†9Ä™Ü?Ã@7¥#Ûû½à©a-d2¸óLÔBê¾§z4ÂEêÉpŽÿû/­F†ýkºméü7ûB  'žtêDû×-­¿åòl̓-…(Ã1ÉÔ~Áý´òQ({u´‚Rõ’MàгÌá¢Ñ{‚PÆ õé&ÖɤÛÖv?ÜÏ)sÀõcê ùOnØ™D6¶IâCÍG02GÖs½«[¸ˆE JÄ· ¬%»!£ýÑ„ö5©ø‹–ä‘N§žš ºÎ“=†Îyj4KªHSeÊSóW…Ú4¡n{: îdvÃy,IՔĻ -•Òóå”V$îBQ9“H;ɽDÀÙüyÀaBmOD´F&²×Ç„PÚ‰Ê"qŸ‘ÌÛZE‚¨Aä`vxÀS% Ayî•N¬GÐ*Q|×¥q¦B“‚‚|tØ×‘'#7•ØP¨Þ­T¥¿Uš§s†÷è ÿ\áç—çü¾|è÷c÷ÿm—r>à+°‚k™ àîo¿Ë,À ¯žÁ^½zá,e2€²PiËW‡—„ö3YÖŸÀŸ¿í3yT«ll´‹ óh÷þ4}ö­ùÞ× Xz±|µÔ?pôU­hxß>oÇb"µR­±ÜßÛß¿çT€ »Š 0ý÷b° Ñ@}õØß{tÿþb€9þ‹û#Ìß K]€ -ûóSY -C¨ª‰!Š¿Ùø€ç?Òs#@8€[ûëm½x"gßh¾ìÑäӨϺÍíH]€EF.儉Þpêõ%B[-ͨt Zvì c–f;7äéiüÕ*š‰ßµ?øXÕJ­€&–ƒvÄ6d¦›õŒ‹õpQš¼DÃÍi~¨vóO¿™T‰P$[,€r„Š™¦¤Têé˜cqMà$ ŒR·P¡P”åD“ΉÃé (å´@'±NÎff¤gÊPwàZ Q<Ù1¥= ½=í“#Â¥Kh5 ¦áp‚Ô¦`‚`͇\ôt¬ÀÙ6ªëò;'1È¢ÓÒD~l¯€0H¾ÔšŠdNzgò z¼ §lÌ.$LRŒ¯;G6°âŸv‹R[zUOCŽ! ?ˆÔ¶ÿÐ)¿©0­d¹kz„¨Âeì¿®¾f_”o|z )Ð"²K¼Døíþh<ŠºMü3ê¸SÁ$ľø/Øpó*ˆ;ÝuC:“ Í -ˆiO•³ëõZ­E@Q‹¦‚"låY_…QÔãÙ ‚Ť“,’Ge¢;r¶·åŠ:D+ŒöšöX’ÞÜ?èö²Jâθ…lq÷É2ê‡KA›D<íOgO3ÂN$<$¸!{ù5MÁwQ[º-©&Y³È(2ÅÚBîSZâþdͦÅÌ ü™Às¦jê$Š;#O?áípéµzÞ<ûðýAͧZØø oY œC:ëh×d4ðdÅt$Øsd¬5O&jCôYÐí’Šš4•$e„_E²xž´¾Åͺúñx†ä/EbaZ ÔÆ7½÷ex‹€ÌþûuóæíOªé€œ ˆc¿¼r÷O.üB€—tÀ¯ÐúÁ}8€Ë½\»à¥Ækâ‚IØ8bý÷½è÷4@ø­@µ -@»ã:7Îî&ø»~ð~åÛ_-Ìj@à×DpÂk·Z5Àð¾}Þ’È?"R„Z -»šñ‹)¿Z°²Ìçp!?ôÿ% ðÿO€À €û‹Ñ¿Ê»¢Þça þ •y@@©%^±ð¨6€ µ~Z_Iz±Ki¬Ä­‚;¶5ž!¸øìÓüJµˆa118)èÍÀ˜QévÕÙ *çœÆ75Ó”th‹¼ÌV›V”6‚fÇÇ·[¯‘Wƒx1(Ò8V–xŽÓÓ-Gˆ6Æê5C!Ô%‰æRQN@e© -Wq-²õF´œJÍ}F4]’Ô;ÁÓ¨Ÿ{¨ùØÊ–„Ûº™¬qœ£$zqúºMZáDƒtÄ-³(AÜmt‡Ð”Ñ´×D×ò­µh(Çt2äß$T©'½‡hY\¬*¸Õæ6ü @é<Öu«V¯\ËL€™˜ÖY„¥Nê‡ÆoZzª;æt²å$Àܯ$«×r™·™©ª€>“f°.Iqä¥oúKgRì^H#r*Œ¨JÛÕß>õ–ÎÿqÿçU~¼å©\±ùWÛìö@ÉB„Ú¥#êNkç”Í…xä²LºOEè;`Ôk5Ñ$3YbªF–ìBÉÞY&¸‘T²…$NÚ¤ÀE@Ew¥Ê‘+&Œf“–ÄÁ'ꬂܰö z®ÎOF«s/JJƒ˜š\p‰ -RЕ޽PÔ)˜ašÁ‘·ÇÓJ†ÛQ*³1x+"“ÑcŠË2 ˜ò ÆxâŠrNd§¦ªñˆÄq'(%p%KbrŒ' €=èÐ.q4»œ$7êx®mk(µ^†t?zü—SyùÒ Aæ gcA‰P9()êípþC£9F9}œ9ûf6­g›…¼Q)7rOZÆM;½ÞA»¥ÑeËõ+4_‘ϵN0vÿ7·`Îv§¬ Ûy-6ƒ–Ù¹àúü;ê¿ý7 ×Ê€„›P€;wØü_\ûìÏß?ñòùóçð€gp{œà§~rM€Jk¾>¼xãØDGÂ’À¯#/ðþˆþ ûÛâÿç¨w:à!{_G(@ÙàV»7¸ xðäkWÎYÿY&ïÛàíÀô -8r̓sùäsÿþþã½VýúõÊ07\„8§«P ÿ”逹*€ÝÕZ„ð€ -Ë/,;ÆP^勃•à²`~mÙø€v|æÿ¹%OÌgÕžÿ zÝV¯vÍó¬í¯¼Fé|vZÒûÛ£?виµiSP‰zÔ«eø1YŸ'{Ú›þ¦ÀÔ©»”~ðVýY?!ZW×’©×>ü0CÒ}«îÀ94T= •†ðÀNmþ¹æ=­®xåí8“ZM¤ˆT $ñ{ih;‡â˜~X€úºØ©ÌjX5õGöÈIÌÕ55| Ó™Vü>‰%x”Àš“ÆÐª7Þ0ø›'ò0Œz#’¼ö¯˜-Z^䕌…¶è$èa©cËæ…švÑ•Áÿ_Ç  .Ÿ„¨7Å>@þDæ–¤O-<WX‡¹R&e‘7ZdGx_Ì vó;àÐD´é¤ÞT¥@»%WÍæü°¿åTüªþÚ%„•þ/¢úçgVN ”‰÷ˆÅ×:ØÝ¶Iؽ1t‚3ìùqiÆþ˜ÓbÚFí$3ýÝ¡‰ð‡i:&Á*º¹è†–ßög -¸kpr]òš -g¿½ã3d®SI$¥»+!Ïä…*ζÌ(4²<äÃiC/Gc4âr À!ˆ†šcêgá|>@P`h -œq2;xútZlƒôNÄÏÃáJ<ÜzÓY³=µŸR E†É=@Z.i÷¨£–òÛ‰fŠÂàDojš¼†Gˆú¡Œ&F³•rÃËt¼D»5áyÖ¶Á£RC¥8LÒAyˆ; -:9XU¬4\>Ç4žÁ»%Išh+È z:ÛéNŸ’ŸŠ8qÙɃܛÍ-‡g´¡0Ío)‰®]6ƒ-­Á–©Ê%<+ZØýFÁ6˜†4mñ»³äè{£ü· cîܾÍÏ•+W2 ðÒåOÿäTÀ:ÿ½x¦àǯ^ÿ™(KÖ[ŽNp<áMì à«ÕÿOö¨ÍáN§v±Ö¨ÑîîŸü1û å7eP6\¸²l„óú°¹ñóùì?Ø}‹×’À™€ž<ùc¾:bpi´XâÇøGµWQ/&>ª>’sÿþ£X.•yÔùË„@ޝàÿõ9þë<ÆÇ txE öù­6Ôuš[L[›[_Ñ~ˆ"ÆÃÚ–ÐÞi T?§Í˜¢ê>Úw‚gwŒNàD'³y M¨ƒ‚b\tÇ!çÔum?ÕJ·4 sg;Û¢ù±M¤õ©,ñÒÐkC€ÏÇÆ‰vµ¦@¶´\4ý$mÒø²ñèÔ•r¨{w)=cè|¬ÜgŒÀC@‚2EjíHD¬âiò‡ÖÓIG·?€”»RžlA£* ¥}Ô4²\ ;ͣ׊Ç\_@ i0ã8Ä÷YVå邉k À¥,ÈceÚÒî$ ìÇæC±tµpî43½"~ñ£;ƒ… -Ýàb F— =úÍSjíÙ4¨¤Žk ¹\Bá·Tºí°˜H ’uâˆÜÜA%Z âØœëþ¾¾˜9ð@ÝV†yògݳ·e¦ƒ!@¬ˆÜÁz`eدYÚ“áh¶3œþOôyª'’[²*œî‘ÞdÖž å‡0‘º¬Ñ¸Ð$Bî¤{8³·L³—kÓHiQݵ'˜ë@u-+(Q{½–8€wFO·rrƒö¨`W8ŸÁ¤Õ"!¤ -%Ãá65ΛQ©ãñi!a1±O¿ù†:¤­^Œ´_ˆ yõ{pÚ¬û ¼¹sËd->˜Ü¨ Ø©ø<Œ3 0ÊÕ *™ä>˜ÍÀy‘µ%@8Ö›ñÄ) ]{k`‘Ã\Cè{!ÚÜ8³;áj“}>ÉŸi ªœ49ª=Û&J®6à4¸ætXhô˜A†³ÿI}™NCÓ‹Hà1zR1µfw§Émh‹"…޶š=¢ÑÀuì5‡[ GNx>é¬Ópå2°ŸáÂÿÍÛN L¸,¸tùÚÝß=s  ç/¾þá¨ý?ýð£??¾úщ ¥%_ ±,?)h(S® 毄X6ò€Û=N-Y ìȾE˜Ãö×YC5 0åq<@zK€÷ï°„çç~I™Bª`¼ùİ ›rÊkîpɉ€‚Þ„túÿiÿ_$àÕPÖÕ£½ƒaÕ9(/6ÊjŽôH®(!À¿jð¥€'Ù–˜'|N|öiÅhÚKç?Çh&hkµ8ª\åmZ€jè úØ—Ó:rªÂ(¥9 | Û¥yMÃÖ“Æñ—CÉ”p¸½ÕsõcèOœ èÃØ¼›Í2©eóg³åwôµÕ¼H' !i”|I­d.µ[.’ô -\2:’,ýÞS§€m;>ôÜr—HIó®žëªP:*ÕD"Ï4WÀJ!…›ÔËNY‡¿ÕxJK`ö€>ÙMš ²Ô3û#—CëÍF©D@-4ýĤàƒVM4ê:pÛžðàÍEÉ>§}„È¥-¤F)¤¥Q³H Ͳ](ü6Øæ5*È!!K‡°%µ$5[no‚Âz@껑ÐD.ªF„•~éÅ0˜8B=ØßÌX²%ô//¿ôH’Oü Ð=©‡1EC•Û”Çx{´í<ÀƒálL±Õ:†’4í‹+&’1{gä,QPCìÜi£7φ”JÀÌT Ĭh:ÜDiìgå1)ÐRöÙA¯i‘%=]ëÛx”ÜŠZbTÜÁg n—ÄDÚ"/%"îG††Â¡ÏQ«®¤x¯Á‰ŸxÌP¤@¾@»$l6ùƒ*C©µ&”@Šn·nå§H·ŸB‹LR™`ŠÚ/•ôy´ÚÜSdv!H)Ž›?ð4( 7àÒòZG¤:V&]·ô¾Kì8 Ž!¤³/EQä±öMÇC -°Ô‹Q¿Nr¬¿·ca7–&Cú?`jf.ˆàž{‹¨Eä¡i#A{ @oðmo6ŠñA‘ ÜTƒÖHNÒmvg'¬ð¿'À_ý¾öëx¿X<\Y.~TV8^0>o¾æ€‹¼e‰÷äáp-€ -öåeCì °¡ÈCmèñGÿ‘=j4¯B'‡ø¡Bl³5xKTkÔÀ¿´$ý®VCà ,שCqÜv›Æ PšŽõNï 6D®²§¾Û²•RÒ¼Î}ÊÄ >Ѷæ@ G;bWü”öÀ^ÕYžæŽV8îÔë@wA5{‚b…{\%­©‡;‘Jz EjíŽjô\Q塯}ÑN¯8ƒœ1‰+?&;}bzð^ùQ6¹_´ž`‰ÿ\BCŒÔ£az]=`¶U¢u"B46›Ç´‘vØ’Îlþ3ÀI2£Çµ[6ë葎sº4:m ÀH"5·&Ö¡öaJBŸI™NÊ’‚ÖD©ÁÉÖDDEb¥kÔ… -«×»^yþ£ØcË^å'%uZ LÄÖîFÛ0þnF(Ö£Ú€ŒGÌéÎÎì›äCkê°?™MF¨¯nKqŽ>Ö ¢Ì•vÝù (–&O£ù´q_M$Æ„L¾pl¡§Èwà`”5ÕÊüí¿ös}Ó!dEê^3 `Ò¶÷š²AãþˆJ¨Vny¡0c~ fñxÆF†¼LØ¡Þ<û†‚pQhk ÷=ÙÂÍ €%Å4ý&œS‹F’æóª˜H° -µÉÊZB(çAn¤™R!á5hÝ·²„;ðlXœ¤«fõa+f Ò«…‰„ñ¦tv¦;Ã!©æÐxÔß?ý¦p?Hw›Ä“ÎAAõZÔS^íÁV‹4xCKBóÿ[½–µ×oºhšÓ8Ÿlˆà̀ž7z]¾ð—áÿð€¿» H‡@À®øüáÅs»ÿ_½üáÅ+0ÿ¯Yx±@iÉWCíµ>*’éXoØ(Æþò›Í ñ߀Ö}òlÿ‘c*¸œ‡…ÀE=87ÛW'Ìf×£N£±ùZ @­µùäÉæÏé°ÿèÁ¿J’gnø7Eƒ[’ÊÝ÷øìÝßÕ«ÿ>ɨEƒŸ[®—Y€J@Óoþe.@R“a¥  ZügnàËÀõ77Ê›¯>ü肟âÈÁ_•Q€g±øŠå¿Ølßax»PŠV¥ÍKT±—æ%§@k¡MZ¥áxÍ -Øl8 gñãdZ00 Ëgž¥§WßB±ä^´k4.Ü -ÈØöÐHb°dQ籑¥U›‰€º¹ç«ñJk§Ju£'€Ò½qò±•GnČÜÍ2ÙÁÕ£iˆÇÓŽ@c*%ÍܬHÝéâ5NŽäs ©…H0 =:OŽ#Ô–Ã(õKŒ@0*øÂ ìޤ%B) Qj5r¥æÍ™“N½ÑûƒÖÚ‡¶Ò*bêEä¨àƒvæ<+Ýö¯ù²gÄau³Ý×Tضûó-å1²Ù&gÙ@jòNk³'ò]î麴Ù%§<ñiàQôÐ'‘ #½éá.™lys6EÁ·cTÿÕþ—{ÿ§³/ª?ùAªSß= ü6÷íe`!¡Ôê)J-´rñ]GµvÀå€×?0Fû%Èn¸F"±ŒZf-"ûø µãì. ‹š¬Î­)–ç"—T²ÉÞÑLゥSw¬µ=R¢Ñ -‡Ï‹õ¢~¯ù¥RsÅJËÀi!ô‡‰^l™¶Zä­X ÚOnÎö··©$m8Ý´`§}¶)ªo|Íbî¥3Å‚‚ÞµÏÉDAÀo¶åªJX"±ˆ -/±0¨ÜhÝžÝUjIe†Ôú ZÎáëUÈR¬yŽ­aNŒÉV€°cSY½€v%=©ÔWGÓ7Û{£ÙŽÞ΀Ȩʔ‚+"ë j(©Ieæ2hŠ–©ÝT>4"g25nÅQr•ºÞÊðÏÞ–6¾Þ”«Ö†bèž¿üZ -þé¶iGÓ@¿ À¯X‚Kèügß& -pG.}pùÎï¾ûîûï¸,¬ë?Jÿ_…ÿ9X»À¥ëëF°ëpïÜPüþV¿ôõk«î—·k·ë ¶áèÞ¯õ¨éЙ{TûWCá»-W Èb@)Ž#¡uìÿ|wãgôØß½ÿƯGÖ¦RÉ* ÀW_“ ±Ü[òˆ  U‹ "ÎãSŒô ÜôLñÙCªÊÐñhHä¯ßX -ÿ/øùHPæÊm.– ö½¸løD/šžíϪ»Û|hHë­îަDÀŽ`«Ø£enÔŽj-š¨?èÎWºüi8  1ÎÛh¸åÃá7(QzEõEZMç6yŽ£%¤i\ûö‡ëí^ÛXZZÀîƘNSZ>¤qQ2!Àæ“&¥«Þr,";`nOh«·ˆƒHÍ®"ª%‡@5GgŠÔ½§¤ •É‹†36K‡†©Ç³~º~œh\Ü"Ö¸†·áCZYDÉ ïËGš£;Wñ˜êé€XÆŸ0tþ×îAËI4‘Z½l0§ â´@z5ÜÒ¸ih×]4ñÐ?B´«Üù©”BîBéJÍ-‡HM‹m—ŽM.ð0QBÀ½VD€®ˆw=Âw½7LÅRαà9ć[hVê: -Ãÿç¯àÙ`ÿÖ`kpê»&0‘àžžd£íµ ¥žØWƒö\Àh -XjXV•–µ¦cC‚!¡=‚]z;ªÆR¦üDÃåj€¥ß×0u$FÀù@¦$-þòvXëaŒU&PzaÍ9ЦÖ뀮…tQ&Û;¶Éƒ”*¸Ü“¦ªŠ̱¿€ŠÖxg”àÑ`H9 —ú227ùÔ½æà·ª¸£;Ð^_QA‚¤5P~)ÂNéã˜ñ(š¸Šý/<ð‡¶>J€Ü3JJÀ¨áQH!¡"K5´¨A9Ìq_‹òZ -yLxy€·Ôÿ W®^u €¿sÅþÏÏå+Õj€y†æÿüÅ3'z Ú;ûÏ?@NøÑEðiŠ¿[Õïr¨| -àW¸_ýfà<Èò©7nðÝ€ÙÇŸ‹ÿ«øºìP«eÀâ`ÇÀI @ @EûûkÀ£Ý -O:?¯À£7zíÊ%•¦µòÈ6Ác¸¯!€ÛÝh,Ybý`aøgòåÿóϸÿ`·êˆ@pnÈö ÀÜ @ðÑE—:fø«ïlØNôO“Å{T:iÜUmã§½­‹m­í -PZT•®s£¦7]€áÙ7š5Ûm¡´ < —G4 6uÑt؇.AãĖͧÑpµhiih|êÍt¤ mT ›u9[ÕŽ‰vMÕ+H %R·l¥æÁ¶Ÿ¦Ç~Pû›û5KÍ@l¤FO5¦M”OàMÙGÓÙx6†bMªø&Šûp×dV¯GóÄùá”Ãv¶J³œ³G r¯æUhŽÆ• &@^@V²bÒIí2ÚÐÈ;TêBêm õGK©í3yÒlÚOBhª¦ @(a>Ñ£¡Å¾÷jŽ*£I8j3 :Œ#‰Ej©Šw$h®ùk‰£@zDÕ®¼ ŽpT©GÐÄ?«Þÿ/2ûßêë‹’¢SÞ5n‹*¹mÑYÔ"ÃLëB©÷دb9³§\ïqµ¡ ‹jƒ´ ‰Qµ_D;5^ˆñE[F±ôŽ)Z €÷ 5Öî$ Ýf®t•~p«;ÑÞ`ŽQec «óÜ ¹*‹„Ó%Ηe]&«¹C“ûPëý¹ÉÃܪ<ŽÆã?̶-Q˜êò ‘›š ô'u»5ˆÔrQ” ?_\-C2k/ž1ê—F©œL†j»£ÊÖ!Ö;òÍ'Ȩtöð™ÊseR&­šÅ_r>‰"Mäçå7”&#‹á‰m‡^ M“ˆ?Ãrå39‰²l^bþLìt‘gK ¥Ï‚ùmÊ,# ŒA”ž0oÒŸlˆàL€K¿¸ô·—œÑïÍ^¿ÌTÀ ×ìÿŸ/È^ØÁ/¯ÞýÓwÏŸ½xñìÙ³çÎü -½ÿ'€€ ÀZ€8VHB¨|ùÏçV.¸åÿ ‡.Í þ7x9 Óªw\¿ow÷t€ëÞý…€¡:éH3àÜðõ -£¾€Ç?ë<û˨~Ö—RÌC¿b_ýkvJAÖôÙ+ ³ (õ±ÄðŸ[Tÿ“{÷íÞŸwÄ€j¿dø°Ö¨°?!{KÈ €¿Bÿ× `É ° ÿuß1€¤¶©(Óêëm¨¶&49<ý @»ÞÒ'˜¶t\ÜéÐÎ<¥Û¥I›vë49Mºƒm„óÆ@g²ÔA1…c£§QÞ´Æ„Ë]íL €¡è(4GþØ©CÙŒ¸Ä…´ ý‡b©èf*´[ã´-6lÞ=Rs -`©izh޵ÃzÁtg7PêápÖ†—Õ_¾ö[7ÙeႺÚÃííä‹„r?Z,¥Ý”šbÑ 5Miü2Ô…¾íÕ'3 }2Sp]¨"5"F[ÍRwÒ?T#¢±6ë%½ÖÇÒnÈ -™D¨·»Ct·¶žœ¶·Ü{ÊÍi}i‘Œö˜h*éÀ¥Ë>eõ3ÿÙË?²ÁWjSÆ“!“Ùt2*R¨#~ùص‚‚ÆÊw£‰ú?櫱ÿeö¿å@à"Ûú7l$ï:±±]@™ -2ì„’ 7º ‘–ä.Ðå´5q1Ÿ’=-—–Gz®¦@ °#ý)xû£t¯sRC‹Mü—@×ö¹ÃºlЍäÁ^èI(¨_ÂbÏ9˜ì²¨@W”…KòÙï‰Á2f79PÆ`(È9Õ&·#­àæÎPw#ñˆø¹;ª»™Fí5o‘8N3u•¬€:Ò²»~$ï~ê¢ìUÃG¥ Pÿ¢ÕLV™#}L4?Ij87™¥Q¡®@øCjYrÇ^#ë„#m»M’ÁÝxn§*ù¤X¹G´ þt4t Å”¦bš«Ð¤;i¢b™gèÙr_R€P¼Èi_“N{¢WLC|÷hˆ¾o¶¯¼–ÏôO9n[üö€ÿýmG®–y€~ôÿ te€«W¯\¹|ÉQþþÙ÷ßKtøáÕÏ_90†vþ¯ª%_¹Эô'…Å<óPmÝò7¸X°8@½Ñ£AlàøËýG@^ÁÊyXö¨5:‹9 -4ŸÀvá €½÷K¤ -`ûÜðóúœ—(¡2ú;Pþò÷¿‚ÿ÷ïßw& û€ûs þúÿ5®‹ä2ñŸ„Ä@¡îWkd&@=«Aþ ä/…âüW¾>üˆ¸Cø˜ ¡0BÁü# `2@u€:4«éL(¥i¡u£1Ü9½õøèÅd8oÛŸ9t  f£µÍïØác´«Ûý€Ä£N;O£7Û¼ÓDôê ÌtÒF#F•l϶zí-šòš].‡Fà«<ájf`Òr1Ð’L¾} -±kÆG©ÑJgèÒ€÷ä.6>È BêϮԽº âÚ‚‰8¶Íí®óšvã^ˆrìP2Ôø :iß%9u:q€)ZEpÝ)󣲉‰ÎPÈ_¹Ž€‹ÜkŠ.ÝŸ|;@ù>8˜};=Pj´t¸4ëÈëÖd°…pq¤  2˦¸UKftÛNz&Ö‘;õ _¸PcçRÃm8wÚm›=–Òtl« ®IãÐï¢â >g¶]ß‘VÓµGåUn€ÞlA{¦À`úè˜>CŸ³(µb£ñõ•Ú túÿòçy}ñÚ™€ì„U#“ÉmˆŒEG±é®ÇÈxX×÷d4…"ÌLBº¦iæe=V[°ÉŠ"†˜ßä™—ƒpl‹žA3€»éØTÑÏŽ2Ykÿõ—€»‘¬A×µêCÃøô¶ V"¤ðiÙ W«Û;À‘FÀ©<@FF®[¯¦õíîH¯8$:5*¾Xç³2Ú†VnSœhf(Ë<¤Âtlw–ëZñôy€;øâAÝ zkÈœ<©‰çNúíá€RžLõ`Źϋ‰¨ì8­é MÇǰS -@ îí–1!‰@>½¦éñ©Ì1ÃP÷C -FM.’²I¯y,BWJ^2gNæ±%ð Bf -ô@Þ‘;’ã=Zí©ÌÍsOfüRXù럲Cü?ÑpV€,ô‹%—þs¾¼Øu -öß¶àÚMñ_Àÿ ;øàÚ§¿ƒ¼x®ÀËçN¬`™à§jàO?¥á^ e5@Pþ¿ðÞ+€r¤²Ìqÿ$,ÊVKpÝïeÀãc€€zm³X‰ÿñ0Tç­†X -hð!†rÉ×ÿ~hXðþ}ÎÞŽ…¹€ï/ÁÿR»>¯,YÔç>yùø~§4VA‡øþW€¢ÿï?þç0€{v÷´ Å ßúdÛHŽ[æ@ @Œ©$‹P ¿žE‘?¯>™nFº‰M¢w&@i<Ë£¥ªôÒ4;Ìœa¢.Ínl[žaoºãL§*4 ‰›)°‰jLCà©àœÈ)NÃl'ãëÄÿÔŸ_à*O®óܵ4°-ð¹ÜêöƒÙA»É´•1kªÇÒ~!“R«N¸ Ù2=ùBÞxïM'4©ƒ-pÚΚ 5²ÙбK ‚ŽQiÒÀ:ÁI:”:P -!Y‘2½°5Ô,=ñY.Ïö•†:êÏýYæ3™}ÛCê "r r·Š‘Ž„x÷A£Õš ÉV$ަ‡®ªc¿òéP#êCôŒ,㜠œ«!*T ÁÅ*3’ÄN>7€€imÑcцܤ Óö(§ AZ'e”qC IËø ÜdH'ÿS›.em_‘x–Å -ü:(.R?,óýœðšTn'È¢ƒèÆÀ»c‰_@9P}ÚÂò´ßD ßæŒí¡ösÙ±äf Fln9€Ü’µûEþtŠ8ÔrÞ(n¨)Á}Z'¤ †€Nz# -ÉCãÈ#¥±ÿßZ†‚^õf»çÒ”€(Õ“oŸ þ¦j„Œš:Zj¼˜¢óS×Í3N`C£Øx:†t¶àdœ·†ÔÀ‰þ{ˆ<˜8Kå^‡q(Cä4~Þªìn»#@}㩃œ+µ°K4>|NÌKö‘7<„^ÖíwSA<Ä,òv·‘ËdYdL&´äBY9†áÀí¦y´p ‡05ê<'ó2yÐÕræè±&Ø0„\KŒ)+§pJR@Ä$I®bª`ü”nîØ’€hg }§hJ· hB.Hš¿¦õ„pÖ NˆYD"þ™ë.L'ä¶tkä`s2r6F²Ì±—¡ s©iËÑÕœÎÒäëöù¥bZ îÈ òšØ%[D$ÐÏi @^¯_  íØ1"£Ð,ͶÀ1‘F¬ùÃxØ$¬¦·bæ=m“ÝŠCPAõ V—Â4.Z½aV±C<À¹ëa*àD·Hê>õmæà°õ„h«Dȼ¬ºº}-Iµô¬v>;ÞO„WÆ&¨G汊²¬ØzŸJk$ÍܾE¡ŒÆÓÙÎt`e¡Ø½K±$øÈ‘3ÓdbÉ’J"ÀÊ{ÔÛ>`NþwOM&XRÔóÉŒ7°ÌS’=É*DæbrªÐõ}ÈQ­ÅI¤*G¬’œ5-i¼IJП¥ «°¶‡£ÙxsRZ-¹T– -MþB¥¨¾€$Á°¥JX(‡ö‡A`ômà -XµÄðz J¼³õ½ñKÛAÔý›ºŠÿzj¸yóʵ+W.ð‹ËwÿüÌU€Ÿ‰þšü_½t _A~xYÖY>¸.Žƒü%T_…èÿ„×/Ö<톸_a?à/âøÏ·_z£ÑyôÕ×ì°wﯚVçÿ.à0t6öî}'@²]Âä¯Â“¯–,+3¾€Ó,ÞíuaÉ tò#^Å`õx³å”~ú\÷UðßÑüºqnlû~ =û)ÊX.]Œ¨ï±þçûbíWö'dw\'P€åyŽŸçÅ«¼ó\ƒCxºÍ'èUY„Rš\Ài´ÆþÙª €&wØ¿‹Íl* ·ÒŠ Q,i¨†@·ã=F €Ë†‹ÿ!î«,µhÙ” ÜCd#ndŠ€½XhJkùê©QbcpbÞñbÐ%›Ÿ4t• J¿=ÓæÙPNC¸ˆj ¸•ú‹»ÄÌyMp9¢b;¡.™¸™õ‘Z©ïH·>qƣѶÔÃêÇ‘tLYP`ÏEïÜTˆ¡õWLÑ~îäþv¨H3Žš_-÷W_´Š-!Sí¸MT+’1Q/Å#ªÀ”´ÉyN\"©¶ì@ŸÕ^`_¿ÿé7ö|q’û_éÏ6œÜ‘?º ¡Ûaî&T"=Ï€L(÷QW— hÐA1¹\„…0šøõõ9Œ=C^C­âAòŒ|4Â+r°Ÿ/IÜ#꘣(t­å–¼¸¥OQ¹(߇èÔÀm†;MYÈh|[P£ñxJ²Ù„]9u˜WI#:F‹`$¡Õ2Écn¬@Ž#þ‡uôÔü!Ü\ùÞ:¼­ -ü[‡ÂnÞ¾ùÉ^Ÿ\»}õªײðWîþîÙË—ÿ£,äT€®üï^ý˜¥«P5ÝËá£KPàŸ0X¾`ÿ…Ÿõb(¡ ý£¡òÕÙÿzNÀ°°ìà*84ÿ‹ÿ­–CÙWÞv´]G,”Ä¡àñÏ»ÀZ €w9cp`ƒ?_iÈëqÁÿØÿ}q›Ýš¦…þ’>€Lÿ£"¿‘7°ÿØi†ÜpâVKW~ÁuŒ@@yRŠ·,J=9.~ø‘S|ä;Ói0÷XLÚêUÞ| ¥4ƒš’C ­G6Ô+€^ÌåZüºÓ,vF[L q& Àïi!Tc8”.Y Ž(m¬iœ,6]Ç-r•£dI(?anØ:´Ìô]œÄP@eЪq¢IÉ(³bhÏhÖc˜H¤‰J ¿ç˜@(µ Íõ1 ‚Ì-½% @Àˆ\k¸¸dHV-¦‚ø!5Ç„Ç@ŽW€‘kÇéP?s” b(]Z¤j¯§vôH½ÀY‹ÔÔ•b1c8Úé¤K ì”ЭC‘¬©À𴞬D–n=e1Ú¦ÆD”3§ÂZþ€2u[À$è¬dÃ+¤†mkÀJÝNUb<óÌ›"ÀH6 q½G* ¨üç'|ÌŠæ!o'Âe›2z¬ùÛÙ—Üìœí°§G5¢.¸‡w|ZT¥ñpº=&ñ -™a€ÜQ¬Ýv«ÞDÀA² šÎíM“èì<À'ç"¯YÐëñÔqQLÔ0*Dn˜”dó¨¸'Ri”=Ñš;µpd*ûyä)Ù`W;N€2wXË7ì"P¿dòþßóI49Ý‚ª -ÞgœMa^„I™%kMKŠª§5‚"‚)´{­z×Z£toÿ:Ñp&Ñ%~nÊÃpÅa€„;7í¸ët^ÎtéùôOß?öòÕóç/Ÿ€óÿüøÃ?¾r`ª¦{%\ì3ÙL^þ3ÿåëžšd¼+Ì'ÜZ*Ì_ -ÇÿAvѽl—(XYù¸4@†ü«À_=áúŽá(X¶ºáË/—,›(ýK€ŸÓ 7—PŠ·nlº4Ç -àÂGŽÐ@ôç´èPèÓ,<ýG-è6ãe €Í8 `,N°=·Ø¼ñ`+PÊÿÍ™÷C@ü?Z&½mÀdÉ ö?(^ÍÈ @hË’ ô WZF3',íO´T]G-ËÙ µÒ`ŒK2 ²ÐêÚˆ’-æÜd6&ÅPº€ÙC ™ÚrhˆÄ•`À6 €?¾PŸ[†ÝÁàˆ€¤¥²ôÀPs—xcèkp´èn‰°s €SѹNñt²Ü°Æ0M€e×пšЗ›3Aí´@y"݈º‚ÆüMÛ:AY†ÖÊñÎ °E8Ú4¸"(;ÚYÖd¹•¥:TV­üIN û¸QS,ÙØØA¶q·‡÷d!c.ðD)–9ƒ©†âbÛ‰kÚ5ÔnïÄYÝ!˜æ °^6«›\˜^”áÎÎÊM{ýêgðqþ_â¢îì8†a4¦ëËèåDÅGÿž1{¸•iÎò¥jÌYDÀ±º–{äè÷o4Rm䡚ÎU˜\áL»G²àÓ {¹[>[þhm (´~,äWAį¶k7VÿE¨0%4P¾$66Ð…]0÷Xžà~ñ°cÀLv:ð½ý•71¸ç¥»«]àÿ²àg÷XÜëB "„€¯ç š_nT¾ÙóhNj2€bÐûÏ)@¹N àÑý½ÝÊ °r¸xñà ÑÿÓ €ï å@ó¿À'³÷›XTkýJ×Y„[’u>N÷³° ËÑD¬±pêÂ0.]•@ï÷ƒU€sY€S™¹€Í‡Ë€Êz+jåx6ÞnŽ\‰¾t™7”i„‡Ã¢Xr]ÀÄüE…TThv \5ig€a†¦Äm’,LnGötíÑxÄz[ ”J*¬^äÄDB ›{R,9KYѹsب=xg¼3}óM°×a²&ŠÝÃÙqºpƒl™ªäU¯%än×›$Ná½³„%iÊ¡DÒCN5zã®Ò -Ìó‹\„îÈÑ N•Ôz7!Ê~¯YX »¶ÚN,è{ÏÓSßkŒY“¿zß"ìŽóþÿ?1Æô4÷'UVsçpÜ«•­ -'ï -ƒIDü—©‰õôîÜ,§v';¨Ìv±p˜ï$œ`ˆàt @ÑßßApÈÿUÇÞ¹s;.vè ˜Å®B^ þgú¿3¢øÿì?u" šÿ÷ÿù‰Þã+`î@Øh±† -óWBfzüõ×÷;öîîðU-¾r¯æàè²êüÇNg£m>÷˜ÏÐá ;Dxtù §hÛ¯þ>‡¢œ?|ɽ•§¼¦Š²òüó½·ÿx¯SÀG•à ÅP….}íÙÀÉ @Æ–?'rÈ\›·6?ºpᣋØïŒÀ ÀsXl:ü5œd°²  X„²B–,¶ÏKmƒÄw²€Ói‰õpÀÜ`½@0·(¢>ʆÈtÜ`ŠlHø>f;¿ÉŽ¡ gôHNÍ-¨”K>«ï»â0š¸.ñŠ€éóÌ…€ó§Ÿâ°°Ä pÅàÈ(€þÜ wÄ`kÙÐ_ãÀù£ßñ(ÙlÝç]ƒ¦>öóŠþ¿øWö̪føÄÐ,QÊ‘:1Sùõ6ÚfØO¤!#Ç—™÷#2ÐÅ<ŠQ™â»uq…ØÅ-þ“a*Ìj•:ï.MÏÙVLyPG Ü„L†‘kä.5Rx !9äNÄGĨ²~ÊÊ–sÊôºÊØ.OQ·ß$£¸Í¡/™Û¡üç(GvŠ`:£’t4hŸ¯´9Ug™¨/æ—Dp°€¥L _hUÃõ‹ÙÏÝô± ž’*$“˜¯Ô¡VK²œJN¦U¼Àø fU ŽàtÞŒCmFŠ0üGjç )€Gù[%ÙGi:„åf³4)&ÃI»ÌêÜÝÛZgCi ¦ÈR³¸·Ým"BJëƒT®xáM-Áîw®\€‹ܸšYô¸tõî?~çR€~bxõÃK'ü±Ã:péè¿a BõæËJÊT€ÇB§Õ>òÞhC:»Ÿýõ~O ~$Ä»  èTX€¬ Sw@¯£`É ã¬Â€¢ÆÉ‹w±ßþ£ÍV}ã°›ýß×Zªƒ?‹ÉA‚òU^g ž Õɶëë/‘¤„û‹Pú–,Å0æÿÊ@¸± äž„YXw4¿¨ñ‚Ë Ë 0Ÿ·/¸ØE B>N`x—>´Q<ÍG-G|ƶ[4gg÷°µ£€áÒ(€óX¸Ï‰>«€édKW§ÊÀ¡òÅ tœÅ ï¹Ö ¢'*-ÊUYŠ1½t Ñ1 »æ›aòˆ»ú´×ù¬ZÖŒ8n¨Fô>Ã2 ©•ç˜`²ÚpÄ` úÿÊë‹ÙAZúS‚Ýî XBÞ~c*°à÷‚ªuã[êˆ+°#ö‹Là†j°r¸pW -ÑA6v‚,œ¼-€W¸":ªMI[D oô†Ð8 f%½@A7@å%‰]³{R$ãd y¢+—Ǩ߬þd–ü™ÝÔQž±{Æ,ïT|Ä«8…›ç½kH6âç¾Z8JšL•wCZð”;qa²0‚$Á¦ÙDèL1QéžpªÑ›ð }r©:Î# 3 -ã‰s®%Àó]°/N€À{?‰Š&Ó‹Ø=žílG˜ª JF òcò*WòéÛ%OMOù2É_g¶PŽwÖZ^ë0÷ã¯ÊÌ'ܹsûÚÍòÿÚÕËW/_¾ö韾{öý³ç/_<•é€3@÷¿Ÿ~úáÇŠ¬piCtMÚ  à—PÄl5j— Ì|Àrè}w6àT}OîÓŸk°  àì“Ìl[»à=2@4à¯:D@æ‹û÷ŽX*Àoc£7'ÿþõ1 ÀÊL€?ƒäÂX—pÿ -œþ2,[¾^²†Gr }óúÜÀògA?„TV>D©€ñ2 Йþ‹àâ…šk;XÂÕû£‹]¬Þq8· ¼ù"œf6ZNó°¥[øjGG’lz €><¯gðPć÷pÕ€6åÐà -‡iØç>K£P€‘¥ø”vï >!žº°´gð…e ‡È±#€ÉtiÀŠ€L }ž¹ðX²Ì}ZëFÄ °² üA[ŽŽ°»a0·¡\Z Àƒbˆ^¼°,ûp1—¬X¬+Å@= ¯ ´_§ÿLgˆT[€`'ñµÙÑyßÄЫÃÐ+g°DÏ|sÜ´ ³O¤â¨±Ï|~E¯ê=À?ÙFUª7!¨"¡oN(3 d¬dŠ] m -Ÿ‰p‰Ôëø–`P5Å[áŒûG–¼CÁ=G(9³Ó ¿™e0<÷Œ5mggê.Š$ïVê`~¹¯^Ý^t7‹ Ê›àCáßmRÁ%V“ Ôž6ZaˆO…´¯Ÿ”(r‰‹è«s“&#t›5GˆÑD>aú"–‰¢fÙ{¯ÄÙCA!gð?’ëð0ë7Û“ ±–d…[YÐðnãW`îžì´^,'‘l6<¥Ùxg¡›é³[Šê^¼ÿÞÎP€„Û7p5s\±àêgzö⥺ÿ‹ç/Ÿg&€W/Xûÿ_ÿ¿þø×µ€½ÇzŽÛ OxT€òÎ0€ÊÊ”ƒ†j T>òÖûÿwÐL]¿ÂÿýG ¸{½ñFíb}ãÈ*1´dWABN^¼—ñoV+éü;À̰ùÿ/€³ëþUøJYÊõ¦ùë/«W,ø˜F!‚ºøõ_ø/R®‹€r] ¡ |Ôÿ‹àÿ¡ÿÿ­Í;Åýyÿç€wh á¨]oêÀÖ²P:÷àÈûp-1ÈU-ñ ®âN§ü„5óü!N€§ŒXî i!€>¥ÔÅ@2V}ÊíŽúT€³ŒÎÈ#d:ôXkøø5£N´ } ýZ,†…`> -`¹  8–ä‘ä5ù[,s­þ_³a·×}Ý…h‹€¬Õ´ºñÏ\ g˜‚+nزE~½^  IMq—À^Ï1¢NJp«VU&±’ÛrȬt§qrO¢juI¦˜fV -‡Õ}8àIÄpÈ¡hV^žD­‘Ï“(vnöÃþ‰*i2pòpÇ3-Ø$Aßr ™„HH“gŒ¢CF˜Š•À„ðQ¢Eš -©×`ƒûä–à ‰âáFP©­„ÀT)¾Wó×™+ª %7È!M¬aØÎdIzÙ3þábN1ùâšrË’&.&óê¨÷­ ¿‘ð£ÀMöš¶RPUÂÞM¨šé ?A}-€“-¸ßQ@Ñ×íOÇ¿Û7o»` W²ðµÏþô“½r* WŒÀ?¼üñ•#Ò#°vÀ¡ fø?ó« Ä—ÆÅ•¹€Ù¿0¬³Ô³^/:9aÿÑfÀþ}0v¯ôh€Ô2að’À;Ìå@Ùj¸¿ÙØC6€ôŒ—#ŸûüÌóì“u_ÙŸ÷ù^Þ½J¿O¶ìj8Bææ ¿eîúª,÷(.'B•¯!‹ ïFé(+ $× þ;Ð-Gg\kª§Ñ9|2 - "'øpÜ$£üe+Ïý}´ŒÐóùF¦XB[ZÐÅ6=ùZ3 - šà£fÓA5 -@±—,K>1¦›-аêpÜÀ‡ôqê©ó,[>µ¥Qœ|lÀÉ>‡€á: ÙsÜ š(bWG×óQÇõÿ¼b85Ä€>KÌsAKÊÜà^ãñxû×]*“ãëÈü(£Ô¾ÂÚ¡ -ß*¸Bu±Öˆj~¯YÖ+,+(rRÔwõ䊸ô$ï˦øçMØ‘ZÎ,<€Ð´88CTCàmè¶¿Ňø<O©.,À,œ[H]Í—“ Jï樂ÈJ²’V~)u ž-EJço àgÜñ±¢Ò9jÁäEX8:r$!É21ïå鹄NS,iáôm³œªç Íy¤DXÒb9™Ú’¦!å4î7i$¨c;\ßd¿S± Zn™‚rHbBIS]Væo•¦êà; bGi¬C^kxû—Õà|ÿnßdN€/]ûôOß¿xîôÿ/^¼zžA!±þÿø×*TM÷r¸¾Y,⿚xAü#¡X:¿`‡…å :÷þ|µžXª.€Â àñ¥ä+pX ¢wN[°ÿÈQ…^‰4‡@&ù|ÌðøñÏíP¡ùà¿€$·T¬õ>øÒ²éT€à÷bô õ¿˜f6Bä …ìíÊ×tüUM@ ßpábFú5d ·R¸¼ ø—P»~£b„3Z -¤åK(]g†8ú6>r…%€2 - èÒâÕ[Ì Æ|lqi· nåŸ[&Ó#>ç Y¥Ô粜cÀºyŽXÊ(€å™Ï= - ò¨¦–¶(Ãq€Á¼ ÀQs€j—-û×ÿóúÂÂ;5Ô›A† øä¾ìàVÛÑ• ’:*„å -!©Âpò£î:ÉnºOtVPk“…á¢Ñ`òPÜßÈ×¾sý¶–*×b_«](™·PKBðã¹ K$ÊmUÓ-AŽM7úÛFBíå:塼Æelž2Ô~»ûk7å4f+Gd?œñ}ï%Qâ|ä!ÁÑDYP±IÙ¦âv‰.È]8c/§¹S»‚ª»œ>™–´qC¢«»à†4BVÐm‘ÜÛ †Jžó JOŒ¢¸£·¢@¤Pê\ÖÌœƒ)¦”ö„$½”‡ß%žb -ÿÈÇ<˜$Çrª -JçÅwÒLý êk§û·ß]¸zµŒ¼iÀÂpõª€¿¹öÙ?~_†ÿe@™ - ®€?þõ§b0Tm÷RX±À„ùKópÂbfÊ¡„²ÙÞXyƒÿúî'ȯBªN€èÿⱄ샱>ˆÿ«€‡‹·BîjðÊ:×=8?ÿü?jØ|òäg^ Àø*ïó½¼;ÒToò«ŠrÙؽ¿÷x·!@ÿêpô)ü@67'X® rÿÿ?r<|Å̓÷¡@À)€D”×›ÎplÀ)>pÚ<2ŸöÌÅõœ>Ž(à¥L+öm>ÈËG,™à£æ>ɧsø ç8> -L.Mì©óœd8âpdr|Õ€xc8ðûõ>œò<R‰ @úõúÿÁlFãþº@âRÐ)ð|kžaâŠ`eT@›E33Ê î*è°gÌŸ9†nD&N¨(dkÐÒ ’Cäm_šö¯Þk¼ aj P,á¾ìíEW–vµh÷êM¿ 1í6´l»€£èHÅ…yÙöx·¥`±Œ¾Añy Ÿî;SBºÜÃYNxq> p–û™[œÏ-O,Ð_‚Ó-,«ËÛ±>¢süg3F~…Òu¡Ã'öÍç° Xõø=[k}Î5 -ÀȹrÍ(€ð–U ÀŠ@éxËQG,Ò‘D¥@¹Î? -€\@ïþ€#3p–yvn0³œ0ÀÜ`> -àÐP¡þÊ«ÛyÍ‹”©ül:›Y»F">ý©˜àŠæ°áØO9¬Æ™ƒÎVb'¹bŸ3DO{ÄÕ[L·JÈfB¯àït0„r Úõ-½!Èó=ˆEHåã×]²œ*e6õ¶(…ÊPOË%ÈÕÛvؽ™4™yŽ$Mp\{¹³?]1kPž¼ç@kº¨ž¯@ƒVÛô “Ô4 Ý ²6›å!ädÒ5å]vX§{S€t4¨u9ÔŸJ7ô@ˆ¸N0Ïa)yFL—"ëE±`ž—læ tŠÅþËÓ6íMNðlAq ¦ÃíRPd.LM3CáÖ¸‰F@ž˜Q{`¢¼VþM·ÐÒ^´iw gœ‚ä”×Ál` ðÍtП ¾À €eþwñBûýo^»y;3\»}çæíÛWfNÀ_¾{ùìÙ+'ˆêÿòåÎøã_øéUµк‰.mìýÓª  -E7Œ™¸ò¨0¿„¹@{£Õi-}otZzçAÕ ÔT6€²*ø´è¨¼ùÔ[Oò(øÏ%hö [»QÓÄ@ø÷5€]!:$?‹@°!ÞÈ 8~¥F-’ž €ø5ó?ÙÛp ÿ…tÿWøoGþ"˜M~þ%]ú8 -,_±| @|(Z­·6oUØŸPüªŽ[ŸUü¯þNŸ`tÚ9â«,žºd(£–œW×8€P­L±€—+3*·’ ÀÒ(€j€sŒˆ.Mû”ì:ÁÀt -HË}NÀ‡ôyæió¬'ÀChËJÀ)óú¬µ=Ç}B <‹ ™@b_¶¬LX^38ÁÖk9í4N hú‘§Ž²MÉG‡»ó·àÑJèÚ+Az¸Fp¡Z³ƒpÒ{Š\µ„Ï‘:¾‡ÂÍ$5X©ÒC4êiã -7S+»¥b:ÉÍX"ìKhÿÌx'}ÁšÃyƒ6·¥–Œå$]x/Em=§H”å—Ü…-±˜g„mµˆ×$eÜ‘4Yßa’ÎàO9M§n8™Ì¦ßR‹Häààé ØlÕŸˆZÉ}óÌMF“§½¶)›™!¤êÖü/BêÌVRÄ©ñ¯(UˆÂžeÈÇ ªòÍ6܉'ÊáýœW+4 ì”3‘g’aÉ¥KcÖëzQvP -Š?…Ɇjƒ”N·ÈHîÈ|P¨ŠKyzµnkЦN’O -‹“‡Twú¶™.àt À×—.ÿí;}]ÉêÿšÿÕýíÐàÎí8J~§ àÐÿ"=¯2ÀO?¾Ê» -?¤_ ×Á€âv«`C€å¿h¸x]•ñx¨ÿ¥÷F'kª’gÅ@Ð`@±<~ø¸ÑîèØï‰HpÌ@¶ˆÝÙ<·•ø¯€°°tö÷! -FWWmôv÷?_ãÐèìÛoODr°û+c=ï+U)BñYðh÷~&P0HíCjÀøÅZ€¿ -«€„¥.-7®_,€¹@,t¸¸*è‹×kk¾/QÐ×ÕXkXÿ7žà5kœk€¹@ï÷4Ëó¼³Q¹Á¬¹`i-±añ¨Ì¬ïd@îV,ü±œi-€% àv²àÈ<GG(8ñÓ¤ž2À >fŽ€3ÎÅÿ‹5N¸¥eþÔ€Œà%d¾h£§~84©Úà— æyS!Fœ™ª”T8jpÜBÏ©ùKa(ýoI"×n :Ñ<:à,°@ЕÍ]K^“ºYN)S­©ßˆoÁ`@qÚ•ç GÝV*Ǩ;Àqðw¦H.(ß!(íZÅ"‡«N©3ðF^N†L.ºP¡–qn=$-$ ‚‰*s'°ÐN¶¬PTˆ)¡Š æN -GÓ™âÇp2};ì÷&ŠšI½uiê8tef‹¦³Áì)b“+VK+{»NŽÁg¤Dc…€¹4Ó`B•çÏl ˜>M¢¤à·l†¬;É,` cš¸âïPÓžò(@H±66÷‹¶ Ö,rè¹íT*Û™(ï:ñlèçY -Ëu´Ìœw -úÔ×NöP-·Áþÿx¢þ; ×nßÑ ²‘yž}ÿÌq™}_ð“‹yÖLpicïŸ×Z -°Ù¸ˆâYaΑPtÿ¥w§ÕhÄ\ÿ|î°û`Wý¿€Ïíš/>‡ çìJDÂà!ð¿·/Ÿ€M®Ü-€Gþ·G  Xä»KYA£s_ €Ž™¨§¶ÍÙžvH=Z˜ßÏ‚äš!4œëU‰ôO:´€ªš$€ûy—W…øåUÞ6H<¬ïn€×­`CAûoC5È,èÅÄ?Ç<'¬€øýC€¹`Ù`y&À3@_9¾À1€ð‘b0ç* ÀyÖxÍ<Ë3Ö—|Ž !«>Ú\HÀë}hçÏ>À¤(þ3\@ÿü]+jþ)RA”HŽÀíid(kÍì[èÛhôTSJÀaÏ´ °‚+¢` â’2ö;ßÂ'À-Å£ÔÀ¼þ˜ËŸj‘J¥‰]ÀÝ)„(9‡ÆV5¢©«OGÓî`vàÍú-xB䀹Åí'SðŸXEEâã;b¦L±¹S=á‡ÔÂ鈳©yЖ>ôAÅÚ˼Zx#oj¢•ôLÀï‰õ·BI1Mz­šÍt¸=Ç9@‘ѪêVTMö£!€¼“#UâÃËý8ñÆ5#²PLå0%žÇ[6 þHébˆˆ^žýܼä,tw -jõÉj8çÀ3¦rÇ\”’êO‰IÉcn:Ù"®'+IUê)'IX$P)ŠÊ’!M3†Ñ;|óÚT‡œf¨@û†«W2óoFdA {nC®: àÒµÏ~ûgàÿųçÅàZÀ/øñÕ?¾ú+š¿+9ð¸ 1£ø8àVõ\øMØ€d"€CÕsŠÖß^úÞèÔ[ @¨,‚hðE¾c·B§³¹»¯ €ý€ — Ži˼~6!jh´W-èÞÅШ·6Z]еDª·Ÿ#ÐÿñwÙ[@g_v<¡±nò¡”ÿëRd -Xò€7Í-éx´/¸PBUÏ?mîÝs')ÓÜ`1 -àÆ’@Bñ¸®õà–7\5¸v]#¿_7–(@UM„}ßù·<ȯPºÎ@‹ÄQ»V-Ñ–ÏäÀ©Ë>K£@ÜU€sÐ -@úv€gäW^¤¦‰ZöXÌ(Ø{êÛ°¥OTG,ç ä¶–€“|Ê(€×­€ÌÄ‚à¬>H­îŠÔª‘!7‡k,F䟭1|ñÚ‰€»rJ t >Š áÑç{ԉ錢’¶Åùm8í¡usœò*ð‚TnˆÈdÐëhÇ:·'Ó‡[RžA§Öj=$Ú°6¯,}¨·°R £¾óÓáçA0X[¼†”oUå)zK&õŠb57„bΦ¨J³o‡²ø¯ŽÜ›€‡¾äéXÐ’V’ï`V"µ9MÊ„HbãJž`i‘Œ¦[®èKe›¡aW€Ò«×!;¥pŸ>"{J’¨kTÔàn–Úd œhOˆeÃt¹#™+ññ1'­¥È¢ M¡Â¸À?kú”¬¶F„CžKäˆCJ!æÓ‡©9ÜÜÂÑà`IptJ–q1ðÎÝ'E6Ä@¦ ûJ@¾¸gxÕ â†Pe€B^3 - º4mzrìD‘c±xßb8yÒç™çž`y&@N–¶¬ZÞÜ€óOž 00Ë¢k‡œÿ£åSu¸Qï€v_œj7ÕF).•_é©t]Äæî$ÎŽ©W`Ú.Qìp2:˜¨ŒZõF[pJݦ`¹•„hàÖèód"e´)´QOÉBè,ÉÊ@͘ÅÍ«ª0êA»Ô8Àìé¸F>… p³ÁbÅAv"âT¯[<ˆˆ^/ã!óHwºLÅ¢€çÀÿŠÆÞ¶¦~n!—$‰Táš’eœMeLy¨¦K?Ȥ®·]“n´G=Žp²i!·¦ª"Û\hFKÈ/¤ëšhšÔˤ !ë|†s ù6iS‡V ùˆH.¢×À$ý -)«XR^ -ŠÊ¢æ@¸Ù”‡–|äŽÜÈ'Ó£BÞö´;§¤Æ|ì«ðÆï<¼Ö¸~çáÚ•« ÿí›wnf1=Ê’€—/ÿÍå«w~ó—ô<{þüÅs×~é,@.¨#À"T-ùa˜[*ü¯ Ÿ>b@äÛ-‡¨ø.cÿ£û·c p-Mð‡>YïǼg·}}jÍÝŽ]è· @qß/gì=ÑÝX|Û »y™D¸ÑÙ|@¨,\òåWvp¨Q—Wì>êëk¹†.ƒZâ—(â‡ØP,O>¯Ð¿ -¹ÛÙCUÞ Ä 2…|ýå!x _zïÉC à;·$”qš`ÿ½{üšTº´lÞ8bXp=D/s=ol^Ïò†KlÄÇÐy}WÕÄPpŽÿðˆ ûÕ«¼Å5ïu`ˆ£Ç-o¹@Ñ¥m{ßxÍ;1,ûŽÈý•_ymVÖXš ðЀœ¨´(We8Ç(€3ÌP|ŽÌxöQΘæõMç.’×\VY„ÿ¦@ú×…ääG­AFQJË2E*<ö‘qH‚ÁÇpJR" …@ ‰A[9ea¢NOêÓö ÀœZDzA úÇ3µÕ©0KµfŸp"sf0R²>  Ýo³‹ EíA»!æ‰`öÐx)‰oµ¶,Ëm(Àx2ìBfÔpªHڥʄ"/ßÂz ĉ< 5%¦Ð²™L¨UœM§æÈ ¼Gœñä `hoòM˜Ëh²Uw L¹g®Š ãXF+UáÑ-€™Ï‡‹ö˜T#$å¾ä5x ÃùpXH:?#DdøÅp6â0)0òN%P"S½àW€Ëú„ïk[ö;ŽÑæ‘#Y¯‹'šŒ©ñs£¸9ødÌØ Åmµy†‡!¥¼9¢Ýþ]‡a!'úT€ýŽÃ•+€½Èî~âªÀö\Ëb€—¯|òÛ¿|÷ýs€«É2 ð§W¼–ñq«>Áƒª­ ̦N€±”ÑçËïjÀ–ße€«ö·1Â*ô¯¶^AåÍÊP|„¿bXR‚÷qúý Z&àzŽ:~ Þê=‚ÙËµÝØýÜäÅš[Å=+])½/¹]k—ñ¿x'jX&g¶üÛ—¼¬¾Ïõš[Š òÒbRÌ&Ë>à·L¬¼ùX8 @ܞр¢½åu·6oú¡ 2øUõªªI ‡øÏÏYÁ~_åí£GCqê<£óø¨œœ¾·´±µÍâñÍ}hþ£Žû b/|–f¬º^ëP€§žä(5E«´³F ÒÎ<ë<‹QÇçX] ™—-–àÙ,Ë>ЖÊxU´…š²l˜¯°Nÿ‡­½> ç°KÖ²éw·)Bñ»H.pß‹ó €ä&JGÅý€¶jóPØBd=íá³€–Á5f«IƒJaŽÞ«CB“§zïP}Õú9´’‘¼®p£¦ÅÊÙš“_ý(Ëæù5Ç”áâÅä5LA3‚ÙFfò¬$6xC·ç8?+ˆ6taßd!?x•%G¹«WS¨]¢ŒfßB`6½Ú=…²MäÜ’ÂàÉ‚ƒF_–(“5:>Ú÷éK•NÕ(µoÒ…$‚±„g+oË?dÝpÌÓj3¼q6BëÊÁeÔ-2ºk¢ìRè>µ\´ÅH_¸#Ï6'†$Œz Ü{½o¢ò@q[(É:O Ñ&h -"×£ Fc_ïê]Å•^€-‹{ïöUóoÞùü¿É&ov_Íb@¿ûó÷/ž½|ñìùs8ÚÿË^½zùÃOhý?,æ  -`> - >A}Q-ôÿ£s;ÄóW¿Qøº¿ß-^õ€èà„G•4{`·vÀç±´:›»÷~ŰÀÝ{ûeê {û{!Ÿóÿq! gÚÝþuþÆ h7ìX¶üë×Oi9ØçŒX€ÛÏ9òå“ZøÔÈ_"Êé{Kÿür믯a#&Ÿàï² ô˜ø•Ž€ÃQhè2³²Zãܰ·I#+€z|ãÄQ·ªâÕ°ÿþ/€ -ú+pîQB€iÕmùL>l-û¥´ÆKÃßt€í8mÐÚQB©ò€U€w? - ÜN@†µ¼ÓµVg<6 -àmæÑ´œu€÷k_¯Ö’É4™XÝ@Y€ºLP/¼­ü€Œ¡~š,Ò¦ö©#¼r¨Xº¢¾ 7 &Àao4i×jƒž#ÚªjNí~;tøYbÓ¥Û¢XÃn),§¤2( $J^§]¨¡™«Ž -³ -Àª7‚ †]mìd:(6˜¶‰Ÿºà¯*1„£”³WúŒ ûÔ›®Pç“Àýù€•dþ õH—šq70U‡¹Ùì€ôšZ±¨ :Ì™&J~úÍS¹7•P9[5ž”nµ2¥©?+°ŸÄz“âä"êsxà“ïÙÔ|b$‰ÒW\õåÔb»PAç^ÄÑÁ€çO~áuyè$Ûœ(Á·¤ J`Yö¨t©à>BÔuJž¢€JÌ9äš©’ÕL¦ßT¾ûï:T€ŽX.ýâÒß\þàò/ßñÇaÕ\@·ÓpSÀÍkÿ™½¼ú›?}÷Ì•€Aÿ—Ï_ÿY ð'RÃÆü0è°°*haK·?qeóVº -ìûå÷|;ZÿáTàÿF <øœ=:´¨ÑÂÄTa<€ÍbˆñÖËE†{ *³ùp>°‚ÚP‡:T{¤bÀi¸sY7ZÅŽ{:ó™€"T5õÎn§ã½ùW|^*Ö…¯¾äEàË­s¼V,Ö(dž¿ôXgXõ €€bX±€ç¿:a.ÿom^*¸?1TøÄ`,þ¯Ž8ÓZ¼i4Fç™àõkРrŸ¥™εhÕHöÙGœe-Óé­cP„×àÚröyκÀ)ó¼fÙCI}€µ3–×Y “øGݰ[»t@u&#öÏPÌEgóŠ"ä¼*8Gåé©X:NJ7‰H=EF•ÉsX¡GâØË5Å9™|3AÁL’­ÔÃ̬'<Éj‘߇IMHt”f®ívëÁ°’þ²w>÷ ÇÉ#ˆH›T ]èw$rK™Ÿ|€„‘YÝ5€XÌÔo®WîÊ<”Îx¨X¤‰|&xȨ;áfœbE™};û–bèÒ€y¸Ãü°£~h™r]7õ¶]£øxŒg<~ÜÀNw¨KªõÔŠDR*H}™*X -^!×ö[]`Ï‚PNÊÊûøhJ‚©,  ÷4KÛvC¤„>-d†è‘ o6шÞÞ»¥ À ˆUC e@Øï<œhˆAþýÑÿÚMgºó @ø¯¦†8 ðÊ¿€—¾^½øáÇ—¯~Ðà°àø\Ëósȯ,þøÕ¸øaízœù«ÚŽ  þç—w;Šü×Úà%s°L @¦6c˜wÉ æø¯?›§>ˆ `jh€** àËBZ mÝÇé€0fÀ žmM[-ï •‹máÌ¡·¢Í[üon(ߦaž¨ü3ÀZ€|¯úlÞÓR²âpƒü¸´n@™ 0 þy¨@ÁÿCc(ªõãÃéã–Gίlù䯵°Ÿ£oã@ Ë>eÀÜ@[ó¦£-¢X? - ÷O{VYVGÐFÓÊüGôÐþ‚駯°:à±Q -Nü+€³Îaˆà„y棸ÉÜà„×Bäk• YÑý¸oLƽn3®}|ŠÒ:CfÁ@‘O½Îè>$™b˜ÌTx)H)'“§³)õ£C:€ÕŒ%ˆ£íbøFO8"#šv¯ëJøRÂ]\µO.`n—ÙÅrÏÑñn¦xsœÝmࢠ-Áa€•æ9ge{Ãé‘:4³´µüò†8 -Ð8—,j±ö¤ à±Xí0ÀMóB5ù©À1÷÷õ¨ð6]B´èÿ!_z¨Q,[œ/è8 üŒA|~íà_´ís€y¨$2D›'¼ ÀWû$¿¼ZÒ€ -¿d P:+€å©€c8:àáZvÿs}…û‹Pð?SñªªI -ö—7-Nye-Þ*"çð8ÃZJù^ãï¹}Šl4g6ðìZpúZK3¦¹í(€€Xg™€ à¼kœu€å™×­@Â’e¹ž€×úpþÉóH%Š€z àèü‹×lÖí´Û×½¨Ô>QEzÅ/X¡Ñ¸G…ÑÀ=Í/P[l*12MÕÔœµ·‚Þú^rx:ûb -+„9µ¹n[`±Šs5Š%`Td•eœyÈ”t¾sm^„¡Ê¹||èva¬Äm¹Ë S_zƒ.BbBÆÍúÝ6q;7ŸCÙÚœ FÂAg]Û† D¡hY €‘L¨(ÔPÓ„|\ç4AÓ‘IBÀÙ´Ô^’$ñü–$kÚm õ pºmrÛa‹Ö|d5%ÛÝVž°6é±> ›ºP÷L¨OK -*ü¬×¶g†ÝÓ^!gÊi’”PM= ÂN“÷G¦k-—/ýâÒûùèXÖºsûö'Ÿdàí0€ ”<{þý³gŽ 8!ðó¯*gÀÕ°âp8€¸êÿ½À.È6od€>ÅùlzÊ6xÏW^þ–wïÑ!¸_Yîï:³¾í‚çÜ €¢’g¦¿ -ÿ÷îÿ#á!:Ô\m€ öCµ|-hé¨ÀÎýà<à‘Ã* @Ìÿavðøÿ<þfü6oñ¿` þ‘ð+å)o„ª,•ÀñQlX:Kû4ç,|\  òýýªFT£ïp€•åZõ8ÑÀ®¹€\°)äî¯ñ82à±QÈLü'XÞj5Vòšü=Ýp–ID]j#¿Á"Þ-rº;ùÈÕaƒ¶æRIÁœ“ Ò¨ sÙêõìÀ{HÍdÿ⡸Òl?$º.Ú²ØmÖ À1J`ÔdÔm5zm¨LΪ~J”¢÷.Cç­ëBh¿@BÉü€kD‹¡b:tö?XmF Â&¬ÝT%†aƵ‘eÈoùª4CD×RɪÑî=¥Ã”Âp0¸-›QÏmËĽ^eÎpƒ*¡Ösž V#ÍÉ!eà-rb8@{_ +I˜‡x>’é9°¿ ¤«Ï£FU@2» $»ÄRÆ75³ß$ˆe'JBbtË*œœ×ærioçf÷¨;Íd>s(G»ÞyhÕº21À:Œëý„ဢ«ÿâ=}€úJý¿}çÇÞáŸëÅ ðOAùþܹ€„ÿçà¿,€°âPšô„Å<•Ê/°%|Ýò« -(‘k§¼!òæ¿%ì.l7S=¸8+NNëWœ½7ølß›* äWøZþ”à©Z2áŸc¡"â¿khß"æ—'œ[ƃ±äVoŠÞOxk ÀW_: - ¼5K¬õ˜È4 Î’@W‰Ò°4Àz€²ð±€j€ë›`•¤ý˜¿Ê›/ÂIžHš¥Ñy|J3QY*aŽ&˜,i„{ˆ·ü‰^æ9›Í¨8ƒv»ÑõàÜ>gRWJ4ýůÉ?€ •‘l•o˜ØNÁÒ&4òÊ 7¶š“’ $‡@`Ëa¦ ­BÛÄ(¸eÑú£n€h6 ÞL ÇÍ”’,3c2Ñ%’äÂ/Ú6/n‘É<çBìI°êT>¤µ2äj²ï}9`QüaŽÿï'\¹|åªþ.ðÉ»w%Ž„€ÿ.¤úÿàû, øâå³g?¸&à| /«ݰ°…0ˆçrþÞcô3/ À-±Ç/ÑÇΖz·À߀øY&»»•€C+C€»Ù¸x]pÓæ€ Ýò -ÔK n=ÌÿÀM5ß‘~oQ…e @½ãL€û¼ÀÖ¯+à8ÀWÞ3€ýGg›å^oÞ™€*„XÕ›¯U€ÃQUÖó]Æ.[–g,«Î}æ^Õ(ÉÞýÿúõ_In@òªª aüyŸ-€b8: -à-×(Çü¼ÍL€|/[κ€£Š-RN}ûQs]:~XδÀYçxÍZ§8Ý@ "Ÿq€õ£¾˜Íù AUYéÈvbæ5”ÉTDò§p¥y^вköSÈç*s‰j‰êAtlˆäLg>„4zjŸÃ8€é×^!€àPSI§Ú§ž» ÿ0U9 VöÈ3*…Mì3jbqxÔ-nGÅ£ú"˜⢊¨ï‚0CºÆ ã"$‡¬¦®5Õ7—–èü­“~›G„S„Jš¸JHøËÝ%V†licáÑíÎ’ÍÃþì›ÉCÈE†5v̹Fî˜Üô}†#>T¿·põšêÿ'w?ùäîÝ»Ÿh øä{ì¸öÙï¾Ó  $/ž½|öB€~äÏ‘PštÃÜ àÁÆæßù±€~a6¯«5–asð©¶ÁÛ¼µ¼ç‹ÓùÄpnHP•­,Àzep™Ïµˆ} ÷®éX·ýûéheµ—}S©khm¢0³7Üæñ}#Ö×àÊsÛB !—B¹ÿÂÛZæŠòå—é¸ðíWakF,‚…³l°`u&Àõ>Zb82€ àW'XŒfÎh9|–Ë«¼Ó˜€'[@•óÌðúµ¥Ð -}²ày×@¶ÕyB[ªQ§®€^£îU|Î4 -•ò kpÈ[k0ç^7 -m9û<Ë3žº2Óö.ûo,ïv€“Gœm ¥7ÜÖ§lL~#³õ‚LŦ¢¶LœN`B8o2M”Àbø^×á@ e fΜ¨ÕnRÚH,'ö‰~ñ‚¥º2˜lݪwz“/8)³Ü§‰:hIz;îÔ¬Û͘,âåÎü÷ÙàÉ oì'‘â‚Ì"+øL µd ebçæ=]à¥:UU§„¯éH™g‚P -FŸP‘´døÞp‡8•×ûÁ ´_B”òVÍ®~NCuO\ -DeBÒ6´[‰úÝz«¤Xr<:|Œ"©¢ §:°DH‹¢‡ýúXµÏ…¦šX½Ð¬ªü„[˜= f=Ùöé˃Áeœ§õß›X’T5¢¦5Ñm‚4 ó0¢LÇO©¥ï1DóŸ‡Åˆý÷óºþß¾©úþò)èÀßݾéd€güîù3:ÊÐý_¾øá•”`5üªIŸx,\ó·àB¸&°°,‡¡itò.€ê#Ð _¼}°»Yº`fîÖÀøÆ¼ Ë ;àZÍXlÀ§©æ×‹@àK`kooO9³¨]cc3“ãØØ€“Œ½½ýùÎÍÍû\¢\ùsQwDŠSÃþ¥hóohX2è¥pè¹&b8æ@¶öul€}¥ `>ˆ~èPH¯1\×ùÀ!ò—÷µæ£ŠÀÌ@›£|‡6ϺÀáL€Uþjx£Q6†‰êˆà£”eÀêL€Ç×8Ñ€.wf€µóœuŸ%3D3~ɵà - "%Ÿ¬‹V¿‚(ø"Ä4káÈ+{w (˜TKk6aWº8ÙÄ_ŸÒ‚₤ä01‘¥9‡d“x£#ñ.N’„2úMëÉ7~îË9•‚‰Ûä2Sæ0\+5Õ{q×.õƒHV™€Â§FšS5³aÄþÐêUã ÄÎiÙ$" VŸBÊ@y ží#k)“^ž¹ÏŠn­tƒK] -`'[Y­—Èfwý>I{’êܬl”çaâ| Pˆ1iõRPìM ›1\8KÕ² ?¹¬‚à^’½%nrÇ1Ê’ÄOWF·Íר—‚"Mÿ Æ!½ ½ðò÷K€JMáJ<ïþwïÞýô“ObpF ›×8öé?üåÙ_þò—ï¿ûðâÅÿõòÙ³¸êð¬‚ý¥ð¼4êóy¢ì«ù ú¼o ˜|ù-²è°˜ ïݸ¶*ÿs À°® öíL€±D­¯ýа¯‚W• àsO[¶(²´«]¸ £[­xÊ»Ûãë™ÇЄä‚7 Ešuáê¥ËjóïÆðµ> -åMØÿ\£Éi£LÓ ÀŠ@™ -ø¸@ºŽMPBòS7_U5I˜ƒù=÷Z>àvœÝ€¦(O·ØàpD €­#[Xk8ƒB.Fp$rû}̰<`šô׎˜û$Ç–-K>BiR¤Àû À¹Ö8Ç<§­pÊ<¯±„œ<€TbÞpÊ(€Ù™Ö0¾¬ ©€Åh¨/¹X¡HQB´Y0Š\âŒ;,©Gî˜Ær”Ò¡Æ,]Pj\ÅMYQ|”zø „ŠZ$ pQ{ò4ù r¨Ð‘ZÙk‚OÙ&d'g•ªG@øA&ÒåÏÌAâB¨ò¥ÇbÂþ65€#ÆrÁµ¦‘nV¤îÍœøßXa¤i‹âçlÅ™#”|ª„Kðކ;$Eú”4…@iÉOªJ/ć8©{å @:j7¿5) f·f·Fú4JžêûÀm‹(Z(&Z¨1jöÖ[¢¢öKÆ V„qâ¥$:Yç)HþÍsÐN®s“.L®§£g!º{3gs¯WG%H*Š€ÌKµð~ïãeè÷£û*”~oáʵ+Žû»yûÓO?ÿïÞ†Ä#àεkW._»û»?÷—ï¾ûþûïŸ}ÿì¨ÿ?{ö ìŸ=cïÑðVz,úú‹&|þTç7DÀõ„‰…€ÿ·6Ü+újóËwù!NÃ3·ÌñuV€¢^,€;ßV@±C}àß¡qûÿeÙ¼º¤B{‰ª®š©hw±æÿKùÎþø½‹jUÈT÷Z»ýÍgìÕ(ßek5©–ÂÝk—._F›C @œ|õoñ (ï}Ž Vg ðª¥yHìºQ_Q¬%/Ž„ñ¨æ8Í›¿Ê›/¡”']t ”úø·¼åZs íü’ÀÏ´ÀÒL€¥ à¨À: @!Þóõå:ÿ($Gïþ€#3 àÄ¿b@±:“ÀÜpÂ<"y}ºà‹3z@ÆÛ´ûDkϯ™¢õ䱯°Û}%¤”Üíóå%óËñ‚gÊNù÷´,–ªåîµjòƒÖI9z:©èµ¨iäs¿7þÆcþÊ—EAà\Îá0‹‹ -Vz&±'lNÝë -ÞCx&¶¹”$ms2¦alr,©·ìŸôb¤÷A7¹@'•;ýñl›Êê8 ­e¶M -∕liÕàöa5Ýn£Ö¦²!9bäBy±˜f~© T±ZËYÜ›ÌpËœŒ[ÛCÄlu³ª"pˆÿ%2ÿ+—‰¶Î£ò{Á¼òûÉvþs‘ÎùGÌrÜØÂ{-F™²´'ýmµˆ\eÕ-÷zŸAÀÏÿe ÀMUþ»ŸýŸ|òÉÝOoÂÿ›®tåÚÝßüù/úî/ÿý/ÿý;ƒ ~ÿ=$àûgß=ûî/kÂ/ͺ>“hýÀh€ÀœE$`È…Z:zùÎ.¾×È|óO†á;©0VYz¢uV·!ˆš@9z|Ýé|ì¾G·çl}woŽÿ €¥¢ðø¾«þ @PþâÅ@´p.áÃ\ᾄKl {0µáëþð@¸Ñ°£ o¶ç¬À­ÅþêhŠx~w÷*àò;²|µj ZŽŽ(e@é¬XîÉ‘–FæÕÕk]`‚ü§YŒì |ÄžûóøHàO_ €†ˆûd&@ÚVþŸ-€‡o¼€úÒyFÌ €§žÉ€0÷8ÏZ¯™`1 -àukذ~€×ŒXöàb.Y±XWŠ€z@^Ÿ8 -ÀArg T“bHÔ~¤0;,Çi¥XαŒDJ¬@± ø[*q9 Ö Ð„›uxãûƒj`¥'’4nè½ÉQ@‡:ú2˜Bãxg2ÒKxeÉ`â1°+£ÿÊ9 -fM!oHHhŒiÉnF]j@ÜnÓÊâQÿ›Nu0 CÙ0Ñ0ÎvR„ÄÞu “e°»ÝnÀ$8k¸­üd]¹k†ë)š¬Æ. Í À·O°2ÂL&}(I.Ħ IHZsóŒ‹H‚ФѶí8&É4HjüëËŒ‚Jô7ÊŸjW•¦êi`§c-BÖC0?Úëô¶y.[<)4Èg† s'7ÞË+ŸŸEÿ'Äà -€`¿^€w>uE€Ûwd7¯Ý¼û›ßþão ¿ùÍï~ûÛ?ÿãïþñw¿ûÓÿÓŸþüç¿üùÏìYþ!úõͽÀHÀ¤Úú{>NãŸ[A—j#€ý7b Ü„67Àbñ?ßñ¿ã; Ø À¡@¡vQgãÐ øœÓtz_™`ÅPzí£ý}ò`³Ë8´T8/ø(È@ ÷p°¿œqÌ€” ˾WþT[Õþòžó€êЋï À•Ëoe(A°Â>+£Öùl®ú$ÁkF\‡Í•Y‚޳IÝ¿¼RI–àß÷ȵ¸ø¼>\K r•C À™×HÀ¸Qi¾×Ͱ:àñQÈLü'XκRW]£€’›äyMþž6 -`‹“Ïô¢‹,¹X$Oš‰³ZpWzÈŽ²%„#hÖ›®þ½¶¸Tˆ³Rp -2w´î7[½®º²uˆª9„ÈÒ1CùÔÛ#rYÿ43‚胶ööóþ½FO @‘@%¶ÔÈvO»zõ¢ZtûÓœQPIL„ƒÿeg³à-aæORAº²‡üGNñЉ\8–d¿ÀIŠe¹¤‰Ìõ)?¬ÃÄP\c«\X òÖP¨É:'î-yb¢Jp¿ª#Å¡‚­‘Ϲ¢p;ï' `gp"¹ÑmYÖ9›zɵ¶Õ%ÔäA¿ÕŒÜm*–—8 <-i²JºnQ"Þâ$’ 2#=ž©‹P'hjÕ4 ‡;ý3„Á¿ý,øÀí;×´ù‹ÿG†ð}÷îgŸÝ½û ÿîf€Cï~úÙ§¿ùì³Ïþá7ëƒÍú¥`>¯âÿïV1ö²€1¤v=ˆ#<@*›¢¾m£Þ” À†w÷¿,£?_ñ(ø?>€bð<нXô+áÐ`ÞQpF_xЛ±…¬ -å 1ã¸j_:/c#Âg…œyHÀB_ "{aîˆþ¿¼Ú_yÀK @,aonpR)À—zy=Y7 -`Á„ýU Àæ“ÕQ'øPˆKZ¼*ý¿ôXGæa•¤É¨^gZ ÀFÄ.€³ûœm-â°yóHÿçX `y&ÀÒðÚyβ@iô¢ó(ÂëFð m9û<Ë3Â¥E…µkœ2Àk}€þ³Ï°~Àì¬ÅXK°åo7Ë/ÁR`Ev£þ¦“–>s9#š«x,Q_¸€ ëµÚµÔ!*¿AÏ—ñãÍ=­N&‰XÍ;P¸*[¡½×GvFM¶—*A&`$œƒ$°¤áP!ÙcjÐa© œ0‚•?œ"²;!7t{Øî:y¿ nWkóS§MŸ¸Þoqy1ÿÝáw ƫْ¦n«–ѧ$þvɱLVÌá™JIq‘ªpó¯mBì v6eW\»]ôò‘¡Ý:,¸Ðá½4«ót|0ïeË"ŸóN¤8ä››×-3S~cšæ±¾§0oïúÿréo/½÷·Ë_»iŸ?Z?Ð.ØþoÌçuû¶s²DàÕ+ldö G×þzfø/úü‘pKð/*æf£n8w Ø#°Ü -Ðà€z|ür[pþüߊnkÀƒÎnG@±eÏW®F8”¯ŒÅòäþÊ0À @‡úÿhscÅP»»cì'¨àΕ}À̱ì1!UÚ -ò¯ H/·ü.à/ÐWoá± -¡/_=«,†·´pÜ@‚×øùù6Q+€{‡øN\Ö¸NŠ@y!޼BŒÈ¾2°@–Àù×(€7÷°Õ]òXÐû½k³m½á(€Q:j×ÈýK#´f WùØ(zê»`DDuÄpŽQg˜ ŒXà£Îã°v€j—ìUlñ_ÿ±ê¥VpAˆ||wGbZ½\P H„œ´»ÓbÑV ªS¨4É+¾[T¢f½ÙÌrã×–34€Hù¨[œf$fÔÿ=1 HœæÓà½TP‘€j Œ^Ó&û[R2B†m|T "ô3OT*–i4Žöò=‘‰j–&ŒTòÑ´üKyúî"FgØVÒ´M±8]ÛioØÞFŪwQºs/o@ö°95Qb½9 V×$&ò’¼ª87õ‹HtÃèBŒ0ü 7²”É"äl7!ÇùCà¬p$ö¨·rw¯/S³ø¼ wl-*S¦FàÖÛn{»MAe|)ñê÷lýñþßÿ¹ôûvÜùä.è¯1àÎ'Ÿ~ªOÀíkW/ÿòƒ¿ýàÒß|pùƒ¿ùà—|ð‹_^úå/Îeƒn}ßvøÀˆ$ªüU˜#dÙ -Æþ¾²äÙÔ·>>€è­">¹Ú_lópJ›{,¥ àþÜ 4Ûßïm\±°>§ãzôXNQ|^zepÇ‚£ð3¸Q™&‘/a¾Û4=ÞFH­Ò¤Ðd‡ŽC–žt†{oy¿¦ÉDå“$Á$(%P•Šd'ðOÑl“›DšC £´sÌülu¨ÜÛŒ4·Ý:wP–DÌ -×ì Lç†ÝfNtî!b@B;égŠIÛ}’c»}“$a’×,¨6 -ŠúçKÌž£¢_nAÞòc¯uÌGsêœI&ÊRxïAðþƒÞq.ÀØû?èïû w>¹yíÊepèò+$ýâ—ÿ2ÀIᚈ>1ûg ²åHñ2 -àà hÈ‚~@a_@ô+ÛÎjoˆ òÐPMP¸¸ö߃ì•às×þ/€bàìM @Ë( biÝJ@×½P¹+üŠ«˜ Ç&KÐ?»:l -𫟄95púÿËC €+2^ºü–¸ž<9f¨ÒUyh¬Z6¹ X<-&€ã£jÉ:´ýª«éU‚žöVá½Ð&”®³|ŽY¢-¿¡Àb-àöÍ×0r®\; -@(üs À±Q•À; ITZ”ëü£´]GÜý-×8ÕðVóÌ}N`‘5câ-¨"æ ›ŠTÂQ`øs½;ð¡~lùf¹\àá¬ê+¿’Ø£û[Ô›Áà êëd´e]2ApLj7»Ô²bŽ÷íÝ€zÎá°qùªôN…äËŽ*ÙCò<“ÎÖ“9p¨¯ -Û¿HÕ¶i0^J¥ŠŒÓ4š&ï›ÓºZzâŸIð’žš%’JêDž%n6™=õ1ôáànÄã“l !Öùhycñ¿Ùlšlo\¥ŠZ„vF^êSÝjϘI:ž=ÅÜ%6‹<‚2~ÅUhB\ -j2êœcº<,³0Í J+D¹·1%B¥ñ æñðZïӞɉy¥°zßA˜}ÿÁÿnª»ßFñÿì3)€¨ÿ ø_œ>¹ã¤À—ÿVpéoø*—#b¿V1½XØ‹þOh\D­ž¯:øã–3üGó/_¼çÀûZ¢­ÛùÿÐðh—ÊS&Ò °XœÃ¿€ý À“Ç®Pz¥¨ -Ѓåðo'·ËDAöƒô NuèÉá'(À±°Q~õKZÿ<Üh”5—ž-|Èö«ïÉ À¡@)†¶þˆàÞ飊@ö&äØËðŒþ%¬R€ þüUÞ|NŸ`tvšßØ Ð_û@ 0F\´¥Yôh@Å«:é*òQö~üqýB­váãk×hŸê’ÂÍ©§ñòâIÛáKš|½öÄãH"Û¨…S!bk -à‚C“‡´/CqZ -2u!v™H4 Žœ}@ti@²ëD€ˆ±b8uÚOÏœ[^7@Ñ7i°ã¸2ÀêrÀïÖ ´À³’ Ä!öX–`ñ"Ég¡_ê§Ûd°— 6+Ë> -¥À@) ÑÖ \WP±f$©©0–‰ =1PŽfç¤T¢  _åÊVÓ\ñE´ŒÖ±*e eJ™_ª[WþØu=S¨e6ƒ,»:zPÉó9´m[×C´nêR)1¥V!©!lByò8pßÈ£®hLÔÛZ­Y+™lë,‚’ÒNä%%2#+­ Q#´VðGd« ¥:œò¤Bì¬vÏ,õš·³×ËdüÒCºH8ìäÿ®(ÕÑÄAò‹À;"&Q-ÓTÓašªbòÖ2S‘¿ò§{ xl“”‡0OWmD¨¡DRÊê=‡ íû®xíöÿíæM§.ìü¿s÷¶=ú^»"¨ÂÎŒþïú'„;¼ãþA¿Ã-tèX¢%kHÇzPäá«lëÐl´tptM @ð¨S1€åyömn8P| -¾þ@'ÀÊ@(`¯ò$hèì>Ùï@ ­ÝÞn/’*†’Èj€Ûñ-ðç1¥ßÜ¿åg þâÅŸðƒÂ$›€‘0güyöü…€ï} ·3$䡨IÀ ÀÉ€'OŽŒ(oBä?f¨|8é„QBüI¢7hàäOH‡ïóÎÈ~ŽÒ îà¬OA­ïm 4(·zšöÀ.n›©žšîd°Õ“„|páà)üƒÿ„z­ÎžkÝf  vF †IËiY[]0²MÔ_Ð"ÓV€ÖY ºm4n'B)d¯ÀH06ud¶ÁmwIŒé#n“`#ÔÌôÞãö4z´b4±´Nd•+£Z”åVRX¥Ê_AÕ=Ò \@mÓyTfmãçÁ$;ÐgÓ‡d eGjÍ,ã)шÏmÛÕSè/±C3MÀt4¶çMçBqÉè–u±W«Q_áxÎf8Ç]2Iï:']w¤c€ÏA -Ê|¯ÒäNþT²äŒ -ôyÞNjEÝ6#ÚpFK$€¢yO›—>"Ú:Lù¥ ì°[åý¿®ü,Aw>±˜¿ûég¿ùóFùÿX&pçfÖÖýO£4t@¿Û×nê°ö B¢í0Y„Ê'L­ ²ø¨FÔ?„ bùãØÌ†«ú dñèw-€â°Y¶ïíßs-Nu-¢ýû»Nù»»±Ñáßž‚œeô'£`ÏQõÞæîœ³(ˆbnÜhÐÌe¥›ˆ½£ÑÚØ•T € \~2pìó XzeO§úòOøÞÙ–—,.ÈtùÚíÛ(õç -A÷…àdðduÀ"(ÕQ À濜6 -@€Ò—“ð+ß«¯ìÖÀ?V$,À?ï7š ÍèDÕæ9ô B¶·[Z [ßÒàİ%ˆú ºÓ±€ÁœF®v¡y¡ ,µ W£) ý( ÛÝê €žÔ…аZT{$[4.44®Á¾ c‚[&s€Ìh²\TÌ\(àÐÐ>œ´¶f4ÿÑ„°e_-oZåBÐé3¸›qr‹Ö%[{p ­9a&­Ae‹Ôú-ÕEZö°ÏB­ª½å0oýûk¦_$ ª€  ”&ù%p»¾ÑÀŠÎ@J€æ±€bñÿà ¿§_|ñ-¿Çßé<Ç, §©%ÑëfäõºQ˘ïûx@ýç­  ÂŠ kþê}Þ™i?9z’môý„ŠU嘠 @À²àÃ?þðÂÇõ-ª¾µÒY˜%€>à »©XÒ ÀVLî‚÷‘.H Mw¿€ˆl/1ö%`2àÐ T§¡ýûÝmš°X @mZÖß—iØlûS@,õçF"Ûò…€6Žwe $“¾v#¼@ð¿þ±àŸl(ø?Ï*Â’ ÕÚ"S…¥)æÐõÿ  újºßÚwÏáÐ[t,Í0_ èXgàVÂÊ™_Ý6Ôl8œ )#Û}€j(’ŠºH2j›P2Š{K;„׸¥nŠNOµt“ö–‹Ù›œ\ˆ5$èBÁö¢·o;òÿg ü_»ê¹n„3œ2pÝûŽûAO{ÿÙ ª*³@th°uC%ò‚žtÀ¿l /Cà¿Y÷µtxˆWå9ƒ²£*»ꪄ ºAB9¸À—6.ÉF‹-Sº|´ð‡\¨]¬µ:÷XÏÖîF£ÅÙûû{{÷Š]¡ >{‹?‡ÁÏÑ¿ÄÍß Ùøó_þXãà¼L´Ÿ1ÛÑÿ«.€;™<92 -€À†ò·œ6 -àà UæžD ÀšÕï -ñà?áôyÖ¬PÁ}BµÍ£Ìïøç  ÀM q©rØpÄP仸øBÕ_ -0·\ø0€9@ß*ä.àa»ºÞ z€» -…;ÁÐ_²´Z‡€î¼ €¨"LþVqÔ £XhÚÉ…V!f¢—.¡<€€üá@%>¼²4ZÈ•… Aœ´øÿ¬(ÿb²†»b`Ï©>Èvò<êÿ…Ðl·H€õs„6@¥6¢~:VM|ÁMø˜6uòÐ|Ö~ÍAXÁàÒ>¯3F·OB(vÚ=‡¨|\6á´þ zÍ‚Ý\â Å´:¢Û›õ”Êó ç¨ ‹´˜@¢pL¥(ìdêJ;=ÄÜÏÆC€p6»ðΈœêE*Qj—ÑŸCûˆfÙÌZþL8b0\º - TÐ~¶dà«×X -XX - (.G-›§øÈR[„õ=e‚À€ -+«ðî™i|8zÜ Þ¸O¨¶ ˆ@~ зdÐàÃë4Í[€4g°ˆn|z£¹€“{®±ÐôT€ß`ãj‹ºÔ°ä€p'XBlP+ À‚ ³Þ -I¥"Ù3Š9B@8¶\ý}H4Mbäjj2å&QMRÄ ~é´Q÷N¿Uþj6ëo¥›œ72ͦÝv­ÕNç?±ãJüã~W1ì ëŽzC‘Œú$èO»ÃÙSA=ÐëõLNO',ʱTDáù…4 q8;KòŸjŸÔiör8ͤ7kS‡8‹TqÝ€ª†‚žî×@N>‚®:ý¥ÈxXG£V‹Š8˜¨ÙëhB f¢ÌA׉é0ާ¾å<Θ8CjõwŸ x­!ˆè¡'³o´i˜@vhLãNÄ>ì’lw®ãÞv)œ¦spÝí5È” t€'Z¯H“œdÚk´c¥Ke{ÏáòÕŸãþß¼};K„|êª@±è˜ß½“þèþqýÓ -póöÍÌxr¨”ý@=Ûù/º€1…ÜÚ¼uã:ÍXÌX Ë€üV]–C÷!¨ì›»àÿ ÔÑëÎÚkpÎÛk6/•:«‡äß<Dí¶6ÚúhØÔ `®¼ïô÷:€‹p€Ö¦æþÝÝû›»÷Ý¿ÙÊxž€ä{¨_†%ÌÃýDÊ/áÙÓ‰%€]Îÿ[ü?jˆ€]·oßTÐs¨@À¿}UÌk_OŠÀÊ(¥:f¸wÚ(€UÄ_ßå¿L\aEBAþù»Bü¼Î< Ïô²@”⻑Pmgç`ª€ˆ×Úzʳ Àk}>þ¸Y¡ÿ|Àq @º-8Í0z@ûXºV|ú€Á’±×[žœ9Å R €>4rÇ}h<Ú{¡: -NU>fà í9ò#|e¨Lÿá@¾ 8ÁÀAÔ[–T™Å0èŽÆài”ÿbàÍi1¸õZððÐ °X¬+§XЛÕOÏbp`( -âICp“›ÌØ1‘¦ý¦•@ëu…C†TªšŽPQ9ìE#GCRJÒ.UEV>œg–Ï(Îhi -ÈÊ?N!@*8Ê]Έß|¨¿Æ"Xàæ|®wUšÄ  î^kõÆãñÎxg¶3ímЂ‰Ôʈ·»¢ úèp1Òú$JË+Ò#@²ÍU ÍÆ•“^[Øå9ô9¡–-päsʬ-ÞZð/û# -ð¯ç’m@.Òð´ZIFýFË"1£Œš›8>ϲȡ&£Z½Ã{ h -†C8M×óÏoø¼3DòRDÃm™{ØK#í#(²¥ô{JRxIršû’fΠ]GzÉy4p´¢c GeM%ÇÍNmM5¹ô½‡IQßs¸"¸vç¶]þ.èÔ¿ndvŠóúT! Bp'CiþåýÉ;“[Ú2`™ä¿úUGÔ$agnX þ… vg6!÷þ#€SAú0È€|Ï߸4·Kæ"Â]FˆZ½ÍžË V @üóZšj×!¨À{›»÷4ìßÛÔ°)‘ìÍu~ç$¨Ló!h/òW¯Jó¯|6ÿñÁÿ£€¹€ àæ9lQøÕÿ€C¼?þúãÒ<æH0ñ'Z8Ï \PÛëW ÿgµÄ [6š´&Ç-<™Eo:´”ç* ÕvvƤLÎl(]õbÿ÷Kô#õs@”@ •Êû™,4”4WK€A†õ ñŸûãy,K>Å0÷u7?â@sv ÀJÀŠ`žU„e ´Aý¿ß×9<Űd¨Ô~þä#ÐPý]ëàµÅàLóñ ÎóW(µç™½(ê üE¥<èŽÆÚÕGÝfOöYø'¿ K:±îÅ6È/–Lq‡Ã>w,Űž¬ZÜ’jŸh".H$ˆÊ4@œºX¢)rNºÃ°ÔP}…İ¿»ü¯×[¢r…ÙQç?.€ÚÅú ÀÞî=H»÷÷:-PR½XÀ_@=Ž4¼¿«U ŽT¿úküI¥0vüîwéXçð¿ïRÔóÐ]@Ñþèë+^$Ë–F°¡TÇ-›‡€#£ŽjüŰúr—Ýÿç°¸òK8ÉÀ›6*-° F@M÷åi*ÛÙ9˜lñ«VŸÕ 86k/û óЫFœÙ`«u&€ À±Që-vZÌÁuq}Åà ÛÇf(z 3”€%€b2 -8ÉÀÁÜú,,ÀZå ÆGï/, pmþucªßµx²° 79ú¦óÌ$Jç -Îû«7ÛGGc§_Ó´p·É\éñ  êò(ˆJ¤ÜïŒb'(ç KÝŸªà„ -Y¨–Òƒl=Ôm%B³Ÿ -bu¦P)oïMLjÓÕZ‰0ЦÉ{2éÁ ˆS“õI Àl:ÞÙ™FWÎ0¨Hr†*/øBô“c ä÷® ¥.‘V-œêŒHkfûp)õ0Èù$WVÓ“/uƒsŒº7í‘Ã–×€Š†NõŠÒÍ›Ý0-LÀiª$Ï…¤¦å°{oƒøì@`¶Û¡  ¾BMúõz©f0‰Ê˜{ê‘Tbâykš2LEFNãTëÇS9!§îC|z”\_wÄ*psÝ ¤5^ÔÔš§ùß4[£¬åN¤ý[ŠJ'@ˆhv¼ïà ½÷bÖÀ ºƒÜêÿ¿Qõÿô³Ï~ãÛ®€;7ü›ÿ+×®Þ¼yÆ ÀÉ!È$¡Ùßô*àNTàV,€ë 4Jû•Ë[72&îhè<Š üìßlªDËâ˜Ùgʬ}ªüü+PöîoûåÇ™iŒ…ð˜(÷wÛœVoq¤ÓéuPï !ýã=‡Æà‘Ý{»ÚöІíؽ_,i¸_ 2\ðCfÀž„|Ti€f³óß~§`­ÀåKWoÿ?u€T -þëÃÿ9 Âô$kKŸb=K8ÁàÞI£Rdg -ag¶,1Z˜µösT¦± -sÄ·uH¨¶ (>h\g·8 °~áè(€£>e€sù„ /§Òò¨úÑt¦ `ÙÀ冀¥yŽ˜€íe ÙBé¸Îà<€¹@ø?ÑÚ`çÊ aŸ/XX±”·€rˆ²±äɦã>½å.€¹À|ÀZ €xz¾àÒ*Á# -‚ŽÐ’eB‚«@ -R¥Z-úy<æÒ]^·ˆ@’ž * œ‹É®NOÉoM&[­&Bös1Õ‰oH†¼ŒÂÙàbÏŸ&Z!ˆIǵ™Ú‘-èY! ¶ô´Rd©ýqÖÀ 6K‹nào¯×Ô¯°=0Uý\;†³á¬ê<ʱ½Dô­´_âû幆ÊãX9ÄãQâß“Ey ¦úHÈÑ4"ðR‡ 3’€ê>h ÀPÛÆ£†ÑtCXxHB2§G¿KžGãjpyÙN¥ê·ë¡,äÃtÛÄÁÔt Ĭ‚{sÅÅyfiKIqÏ<¹:ÝyÒ¦’Š/Â`øT³‰k/úÿQ¼çOÕþ¿ç¨;£O\úﺖŸsÅ.æð§ö_üÿnòºvûæ'é!8)FìÿõÕøÅ7Ø•7¢Ç 0ûŸPC¢´x\BÙ‚|XûÒíNìDÕHsIÅŒó‚‘QÀªÚœóŠTPÚè´Ðnr@€N5?ý&н·ÿøÞæF q±'@Õÿœv¸X`1ùGÕßÝsò½GAÐ{÷ÀüíÝ{ò}ï`Z,ÿíbøË¾çS.“ùö3🷀ϟ|õo_žöúòË€-ÄÅ®tº,[’ñg ¥ à˜`é›Ê?G7ˬ†Ó,4]tÄ„,P!¾pŸPmg'm“>ü;û<èû; -@ô_Ðuµ…`>ÀÜ`8Ͱ2 -`@´µ€Á`ë»LçŠàd€ÖªÀ‡>K£~a˜w±¬€CÃ! U1@æ£Túç*¿pϦÿ»€Ó/ˆ†¶|î 99q€tZ¨G-N‹wÞ€ê®n<ÒÅOKØ;ngZi;¦‡M󇔉ï¹?Iq£{*X:Èä­^G@. ¨ˆF\pe -ÇBËmQºæ˜Td'Ž‹/@ †’¨€ËQ…ÅNçàö$ü%¢¡FõQ¯]«wõ–$û²€á´ ®‹­å!âNV(!’I ‘Y±Me鈷 €±/¨z•0u¶ZG4™irÞ'°¯úÇq0t~gÍèvèaÏ™pKPüGšf‹¼‚ÍòµjHœZ>žíÁHCG_@ –¬˜íc2U ¥’™!)µ–Ê ¿à*i*ÍÆTf46§nS•ó%u¤‰sejî¤(GS蓹\ˆOÔÖ:ÈÝ0‘Î&“‰“jëï0pùûýüLó\¹°¸P€»L¬-€7ê¿SÞzª>€ôøÏ§uþ ‰½ÿAý˜ü/)€-®¨ë ¸å»Ñô5ýg‹ïfEÐh£sï ÕjÒÔ×eÖ>ÔYõYð^Ì òg[Š ò_N-0]úv;†€zÃHÁ÷9ÿ£éÇ ¡`È à±“op†ø¿—†Ãî-,NQø@Jâ/¶î?¬8Àƒ˜?øÿíN°ÄàRºþ.ÄëjÔú×¾æð¿êX^)àøë믾,]åsÂ<›÷H¨>f£&€Êì=kýáV”t 5øÜ–Ç7ðüQÎc¹Æ`sc«£k5O)ðŸõ -îªíì¬|Î5À… <: - Ö^ñÐ!+ À‰ó±ØD @º2À²Àª õðõ£¶»éxkÁÇWe˜ûd€à}¾ûƒó€³Èï¨uÿ¿/$?f8ašþXhâZ¾(õâ0„(žø@^£ÆR ‚`(üÇã~ÝúFNåDBQ³IâSpF\bŒ¦mß3Бò’¸‘[9-ÔVLá£é1GO¢‡( 4È,ºŒªÍvôgÄK¶D„Ñ %Ü®„épgìšõ`öx,B"*äzV¯[oª@#—*vÒÂ^ϱ¯€ú7¶;ÔîÕ%Id¨xÇ-8®R¡Fê<œìm™;°SCõ˜LâÄi4ib'=>©D‚b@ÛÈ2ãÀd6ê9/`éΘ˜´BtÁ3—¸ídÔëÕk’šÑvÌ ¹€fú¤€ZKk<3ÛØ_Ò¤Xn¦ Fý¦ÞûƒÈjv íå'nÝhXØžM´PÕµºHçHkÝœF„óÐ>„¼÷Pú}@z>¹ó)Ê~™ ³ó}7#u@+ØÏK࿬ 8!ˆ#ä'Tt€`@è±™+ì)[|ƒþM€¿YÞ"s£¾ùHLû\ Àãýû±þ„Š$ÜhdÒÞ2Ô¿ìJ{òsø)(-þÿëþnÇ ‡½‹œC¥°ïIîwâ¿ó õr/|¼ÏmaY& y@Ÿ gí¡õßEwÑýù¾÷Ðùö‚ÿìáÐ(À?üæþk±œà Ûª,WÏÆ|»ñ哯¾ü\ Ú ~ðeX 4k,0vé°4 - ûÃq €q,ÞÄÈSî#\½ª†ÓFØš–ö4[Ùày Ü'TÛÙ™y`÷£óÍðqýÂ’€È €àÈ<™ ðµ€(°è˜ûñôg¿ €Rr*ᙳ!¿c¹”gœx½VS¯V/>˜:Qn+í´ë ¹† õ F!éœPiÃpŒ@zûCbL”âQÍaŠ&ZM¢¤XÉQ&½2ÂDQ’Í88rëþtrPYú3By%]•Ýû =»èß{° ÑùAÿ :là3ù„À¿ÿ¯\-£‹À‹àëÃÄy—þd*䆯 0kìN(ö×ý[ÀÜ ø¶fð\<èøÚˆ+!‹÷ÖŠU!{糂uAi‚ʲkÇPººXîÇpßa€×%EÝGÓ/€ÝVJ€Dfi?¨õ`¼ñ>ry"A×÷ùæÏÃ{Åà`BO|¸ûÿõ7s À±Q†ù0Àð®«0€×‡Bwÿ–õýÕW ÿöõW‹b€-°Õ°I¶KŠ"_,²Ÿ1Øu `…†%ü7ø`ŠùåUÞ|dà‰çh`¿ú&dCÄîªíBŠ€à\ó4£ü¯Œh7×Íp Àê<j)#Z»b8ƒÀ: €]çõû×[È—% À€Âƒ -þWYE8f°õ_ã0Eëç'Ê¿ÅPùÿyÏ-^[|Î7À1ýÿLÁ‰êMÅ¢å$ô,v/ëi>ê×[”¯‰ÝÀVB ù©jð¸ÔQ,áCZ%0„éHO4•cJ¦2\¡ ~Xž{²~O†••úTëõµW;ÖΕw"N¯#!& -‡×Ù Àx¼cyowŒ_·9$VA&§[¤¦M•óN H’G ª Ë:H ÐÒkTx²Ùu"srÏ¼Ž“!l#Mz󕌷Ú÷Þ;Ù_Èš è/}±€ìòž¥ ž xD­I@\òí0˜¶B[kºæ›é -`Û2Sp-5NŠDµGa79Ijk–qèô?‘¨&ú=ÙI‘ly&…Àcæ|H&qJí#k`\oT—Î|RC¿Wàý•y'‚èî'Þ», dì–>*ÿW5Gà a79Mµt}¨ Äæóµ0€ÿüç£)ÙQ™·7†BÊ·ï°|»åЀPù¤=øŸ¾€ ½€ZÃHsœÈ ÕÝ—ƒ MxòX @Ö–k„}ñëÉÛ? àz£³ õØÛ×á'û0Š`ÿ!çÚw°{ooï‘?z´ÿ ,;Ýÿ^Ôýû»ÚŠAà¿ýÃÿëþkåpÂ<•Àß…z‰ @\ü¿:Ѱ€~__󉈙eë,(ý+g±ð©°‚ä/ðÜPÞ|N±–ÛÅF÷ Õ¶„jþœm€ù0À#kèxÄ.޳ù,æ¨|.]oçPYVGœæ Mx|¦G|T[W}ÂÎ>À‰>Eãâ_m¤ ì8ú¦ÖfÃïÍpþòŠØ‰· Ú·ÇzÈ^€)—¯c£.:äæœW*,(À¢Ì -À5Š¥D•ëÌ«H4.ôƒø–¿(‰¾a`ÊØƧæHµŽnòR‡¬[m>ô< @…\Œ†ƒX,4˜‘b4' ˜ò !²îK’€v2Ω‚†;&M6"À¢çé*Ú²S8&»µ$Ô匕›Ó±">¯Ó.q›lwA¿ ¿Õ@rÈÌp•îZ££Ó@¬+eI=ä‘"ƒl*} -­7"œv;å€èIŽžº e‚¥#bsøÿcîß~¤ºÒvO¯Fø3¨2—®,2;­²:*ù²Jä½Ìjl˲°ä-EDÆÁ™äq³+ÊE¾b/ø¼šºØ’Å¢/-!_¸´þ©ýû=cFdd’‰1vÖê7"æœ1ã4Çó¼ïxÇÄŒWùwฑš}I„I -`¦HÑ4qê `>ä:G‰õš†åÎðSŠ•.ÍŽŸEJA«$)5ù¶ÿ)m ù¿:ð…ËN|mù -LÀA–/gÀKïÅò|útð?¢% ×р0Ä.ÿ`¹¬²C.àx€q I°~Ë®‡Ë¿F €ö+@ôÿÚâZå hoìÜ(ªé±Ï¶àêàÈâ¿ÂͲÎxåÿÔV 4+æöÒ;µóeÂÄöüÒ¤¿eÀù8@ãµøûq ÀàŠüÜI -°¹ƒ®_€5~›È¶ÛÂ?¿õ- à/Ÿ|òþ'×>Öà@@‡ð,Lü8]÷Ÿ#Á’Jü—@fuþ}Ð_mÿ©dïDþã!€}½'~•?,!o:Л³³NÁß/beSÐßßͬ© -ó(oRV{x…ûˆ+ñ'•iñxáqà%Ü^U_{<À‹ö@ƒªš* @ÕðÌ\PŠƒ}^¨µ­585Þ¡>m;`°µdÆ0ñHÀ À„+!û,Džœª,†³k€ è  8G¾êï!¿§ÎæzŽi8d€C{´–Ú/ñ©-’ì ‘(Ìc+ƒ¸“|R9ŽÀáè9BáŠÀ/Î!‹OÈÓ௔€¡4ˆ|Bi头ѿÛý …ÞÌՀݒÊvÀ)A(bÔ\pP€þ ~¢ä)!Ž{‹>Þ†t±tG£æX0_) ûèõQÊ9I A–´‡ž@”Êýá -Zð\Ýž½#›1ìŸàä51%¶×^l¶ „ÃHØŠždòDh@P)j r.%>-7ÊBæaói¨;‚"Ä&Ú?wãæK=› ôRäAZ54–ÌݧâîÕ¼b$í¥ ×¢P{½Ö3‰ô5ÜËѪ¡ºár¼pŽÁ£­N8ƒó¹-ÓùÀ#}ƒ©µ&ö -‚ïNÎ…Y¢ÉËÏ—»û™ùš<»ßŠÀ™}.œ}¬¿veù* `ù²ÓØôPýçðýçtJ–^OïAM‚°•F©Æ? ¸Ðàø×Za7¯Öðÿ¢°o#@¬ÑÎÓ þ  mpŸEùNmï¼³pÊi{ -Üg±ìÈI¥çà›x†f† p¨uüæ­øø]ZçÙq÷c·`I›Àä$ÿ‹àÆÎæghûV®Y@ÖÖ×v8§®Œ| €Mû”¡€‹ òú¼Éð ÀÅ}½&¸þRÆ{Tûßk@þeñêŸ P™hýèÔ³ûHýbÐÔàEÇ `¯.è€ê?3¨ €:Xeøéãìú¼ü8ö09žçТN'Î{Ƙ±ÌŽP€´¼€Àžq$ €º~ø•À­ýíÿåë¶v Âvø8Á €íÃS Àø÷ãq •`·õ=)øR>éȧ²ì› @øa€©Àöÿ4úÛù/¾2´ LQ¿| ú»l†T>íÙ&€}>{,Ü>c¼„ÔìëükiMWa&'£XFyî÷[5[„ÍÔ¢&'SZMvÀ¥àJ+ù :-6ÁÐb'¨ N[dëØÂÜ£(,tÈÒA¼ -P‚ñ”.Ñe^TÓž?ÒÀrÀ4¬È›ÊƒÓŒÀôâa¢©OápŽÂhD=`ÐHÙŒÁI-”id«à7ø—è$iLzžQOã{X9§ÃexâJ °‡ÔtìCÞˆîào¿ááíÁp©F`ìÏ(MµMCì¶g-çºö’è‰Ù¥LwWr¿ aì õšQ+ýöm0ÑóêkŸÿÍ© Ùè¥iVÉV!ÅUjÙ0Ç@4ê5KNRŽXçtóŠïaÛ{½àwW&»„÷=¿ê›C“µ ô¿#ÿ”Ö|uù+0€«×–—/èüwíZ<tô»TÆt€³Õt@r† –k±çÊÁúÊŸ¨ø6õAÇì+ÝòŠÀ¡±Ø0~yjÿº,¡Û ° í†cöGDö‚ïk°‚wjÓ™ûËÎ]É™ìþ_,÷ÿµ4Ã2¦>ˆ.ü€XôÜÒàQ‚RÀ.)‰z°ŽŽ/Øþ·vø¬þ¬¶·ÂØf‹íÏÀÿ?¾öñ' ÀA>,yyÆpfîØ±çíŸþÿ¬nÿéÌé£ûOú'ÛAúçÈœø“†Ó^@9Àžaþ~ðS ‡ZªK^¸ úg³¬‘ƒ,T°ÄúbNHëùe#6*¿HýbÈþ½Ø82€spGý÷ö ¶šX&ãL|®çY¦ãØ `¿ÀÞ^‡øx#y À^ À û쀄"üþ€^’à@’ -ÙµÄ`Ï\3Ñ^ˆŸlBÈf°¿ú–…i,©ª|À¼/àa×`<£|ý8i,qÀ…LxS ¿­ÈV‡-ÊaQç9¡@I*pOÖ<°ËRë, Õ6Š6Ò×ÃŽœí6ô0dc³»¢܇Z´(B~Zføõ¸?ø+° N¶bE×%´a@º‹ÒÈ€w£¿2è¯rß Œ€/X6¤žyEZ¶”€ Ü5Ê2¤¦Ñv¬BÈseI[‚B€ˆ›!æ>‰Óe‡3bÐJÌ%¦Äi(è8«¼É6Ñ…Þ ¾&YØ?Ô P>¨iCI?ÇVO–ï"yšµ™_²È~Ô7Òç~ðˆ&L­ÄÈþŒ -†^ \-M#R€½ó1”PT±)•ŠD¥üñM…ÆûU_žÇ‰<‡ø·o¿ \£ìõN/öݕɮ\<û«–ÕÑÝuUõ©œ9¬ÈPü¯\½–i–åú^¸pùòòµ«_¹šy‚•+W®\Ë×?þøú§öðC*Ü÷OYʲýkÀuèyýg-¡@qð¸‚å|.V`[î Çé©DXŸ,Þ¡NZ´ƒ~Ù]µ¸Qæñ›Hó7wnýÙÙ€´ðôˆ@ýÿàæÍí%Ç –¬?/sÁ¥¥ ›&ÿjþ6ûßXÛº‘΄;[¶'Øæ¿±u£Œ1°¾þkøäýkU€gzÄ`.½Þ˜Z^ýø±°¸ø$`@,Býð‹ÌÒ€Rž/šJ€@. pfÿÌñûî¨ôÿP€ -+”]øø2Zc•Où² ‚}Æü+@Q½Vð> …¼ÙÔ¼‘ -úSeþØqJ7À»Šþ.À¾I/tß8»½@+žùcÆaãýs„Rìpà™^GâðRã„Ä.öùÙ €l… Ì~«ÿ,J -›y±ü˜qréK ˜K‘áÎ$ѲŒ:¬BicµšepŠ‚mA ”€ÝL­1kÌ,«c^ | úÁÅ™u(ÏgŠQ”Œ‰÷ÐÖ,š:>Ïh5$d]ÝÕ -‘fʼn ÊÈŠ`9¤àØ °Hp)$‘ò`I±.ƒ>ºEø)”AÖ€Ú ÀÀáx&לM´º[é–àGšþ%¼à¹o$„ˆ•F‚V@qQœåóRRn)âìï—H¡mÈÛ(ïj¨;ü—}%^ð¢Êu°;â”N’Ü‹ÿC´7RKÅäDÝ -ÅDXéC#œ‡!1àÌrÜ J©cºÜ%s1»Ü@Ö¤×ñ2xÛj<³ªzž•äáÌ×ÇUß=&;²ÎÒÿ.ËÚE©vXNŸ} -pÉ>}Žÿ+È_¾ríê§¼ôö…åkŸÝýT¤º~ç³;Ÿ]ÿô³;×ïÞsâúû÷îß‹Õú¹s7`½_°/Ø?ÙÈì `ÕÿÜ/ßrPØŽÅþ°> ñȸ{ÂðÐ^àѳ¾w° `ébñ_›•/¤ ÌŽà/;;K€|>|€9Çm8Oµ·øÎF: è Ê> r½}Mï?66w¸ÁÎÚŽƒþl³±¹sc“-ÿ­í¬Ý%9Áÿk×èÚõëλ\ÎúÌYËäûTíÿ»àöŸõÀŸ…þl—²ðb €½4æ«Ý¿ˆ, À´½ H1 câ°×ðüÙ«W‘Ô=Çú¥hþ.²I5‰TÐ/‚ÀôÜ8¬X@ÿ€z¼ì8€Á!#Zhxñ^&Ç‹û MªY Às„ üH€4L|ìî'@‡ðßÍ=ðï—ËÀ±y§.ü£ÆICBÿRR#)Ià耈˜ÈsúÝáêx…4o™gÄ@¨$² *HÖî%á‡vô=Ó¹·K¤ˆ‚Œ yi@´V+¥£l Óú€1…ÜC3TµjÙV[æ$Š[hPS@p¢¦Fù’I CP·Cœ`ÙêK„\e8¨-µ - -Èj¸Ù ¶~Æpç2—¡‰ËDOkD¦ú9@ ð(MXÿ4t—H!¸tùm‡×­»7áCá1ða«f€Ù@7M 6žîÖ ÆY£¤>/E²Â`@fˆÿfT_Ÿ§µf"†Zª£» ËÌoàûjŸ‘aìzäDÖ}Ül8ÝíÏ~ ו4˜.g¾YMöòó_¶Ë¿É²ú²Pÿ;òßýùϾ Æ8@íÿ——KW>½÷m÷ßÞ½wÿ[äáÃÿóÑÃ=zpïP™{Ñ?“ÿo]¬&„,žÒð­·.–ÖYÀEW,cøúË*}jKë‚mÆTBnØí^äÏB|oœ_8y¾±tq…ß=ü¦€0€Š”› ZÖ×ÔY©@ -/@-ï,Ô`iíæDÛ' ع¡"°KPý7€÷õmÀÖ xÀ&PðÛ5"°ŽþÏšßÚÝ»ŸïZ>ù~%u:Ðà}>¯Ÿ°šÁûg>¶þß¾ ¨À_âx¸Ì¿^=ëŤôæCœWÅ |TýsE%AŠ"‚lõsåÛ;a¼uÕ?^ˆ}€ ÿD¨ª!Šy©7«úLI«â)ž ý"H±P¿üH€sÍpÐ8»>/:õLe˜ix!€Ÿk.°ÿ` @ôÿg|bpõ>6®L,Ô¡• ÿ{Á¿R÷÷+øo˜f$X@ êÀ)Å¿Q_V ©–½µÓ^(”#Àý/P˜µ,ë!ø‚@CýÖ¹À3u®ƒzYTs¹ÇX¤Éªü°šwÙÛ*.uŠÄ—ÀŒžî«Éâ! ‹B!ý°d9aÝo I”ÿ\«}¿1±¹‡7†}\ë‡ðq#N)H©ÖJŒlûÀþ¸Û_͈;š&ÒÛ›auûvtÕ Þ¥Èöíx×!>ÜX #GÍsŸb¬mÖ(‡å2#žCMYõ[ÃŒ¸ITÈÁvìCA¸Zµ¦#!Êô)06kÓ0°þ<±ˆ}ôIñ¦ež3¼;µg |¿m÷þU¥çYç¤ÜÌùÜ( ¼s\Ϋ,ó!+|@ì U/ -ÊZŸ˜ôÌïêA»bœvÉ7 Žû&ÿ¦ß={óÇ­rlºovGUÝ­Ø ¹¤ïÿe¸rU@Ǽ1¸zýÞƒ‡ß~ûàKÊ“‡>ù¿C!~ý»Âÿ·.:$@ÿú-‡’I'€²7€p€·.‚ûzÿó™~«q2ÐÍôר¨ð¹‘¹û¹ÿ¢Cí‡T€o·¶ -ÿ³'ppËÛ±Cƒ€½7cÐpóæúÅÅÚùÚ©ťS¬·àæÚ;œêFv霰µ¡`}m{Sþ°M€¶Š`‡Í¢ûo®m­}s÷îgw¦>?w.€3.¼7ë0_êÙ?Ì þÞþÇ[€?ÍXž#?ÿ½êðæ‹u˜œUáÿ3€] -Úqò9t.€Àþ¬lõE½Ž¬.Õü¹²ê—½€âÀŸàU{œ¬S°Dÿ}½f,i xÀñ[àà^G<À €b x€ÙqB¦ãL‡ÿŸð€ýØŸoÿ ‘éòàqY €DIÚáA×?Zô-£ü˜|BQÁ²HŠŽ»¶Ó9Ó/Y³8’` (©þ—ËñhÔ{QÜ(Ðá?RÕí6ùbÒ‹+ü#±Rõû$)ßÁj7e²ÕX€G’•”'PÉ6sžIÚÊ=})äÇŽ0ð:mrÁhÕ°8î<¢,7ú2‚¾­<Ç Ã=ûý1`¹*]l,:unSÎ×Í“–J¬n‰ ¡îìT¯°ÀÈ%£”“ckh¸ä8hnÔ¼8ÍhjÀœ‘wš¸ ý§ƒƒhÌ äa^(ÛŒ¤aä=bQ³”š>>^%Ù‹©&b¢óê8f±í±Z2Ïy‡¹Ž»ÈÐͯu‚af18‰%¼C“ØÍà__¢XÄH[M59:#þe§‹rp²Þ=æÒÿÓÓ¦&g”{vT•í‘Êé3g/¼ý¶Ó_¶ `9Ú0*ç•ë÷>(ÐÿíÃGúéc´ÔGO¾{ü0»” -î«¥À?ÝB2"@iø}½ÿ×o]t¦-ß è—É€o5ü/ݧ*¸ƒÒŠø›±èÿ¹øŽÓÿ-.]Ì´}Ù¯ÀñÊ)⿟ê.;_jXs>`ðÿ|£]Àö6z< ô´€þÂâ;kSm%ûÏvÔ°Û°¡`smm{{kÀ:ó¨óoëõÝ_'µý»S ÀµOž7€`À|,‡Ùвòpð%{m8ìþ—~?BÞZ|óÍ7Ï¿i[€ž?øãÜ2 -À3`þßL«Ûò±^Íz¯€2°?+dÒÄ -+‹Òô(‚ Å®½ø8ÂÛa½$‡ðCÍÂ{|2 “—ÿ€Ê°Û €º-ÕÝÏç€=€ WBžã°kˆÖ_@?$À¯ ¶ÿ“²Â¿™g -”¬ìî€ÙqÔã$=xÎ’©ó’²hçñR+°dµ¹J9*Ú*I2,ÏŽuܘ²è“ý ¤ƒŒÈÔìͰñó®ZØËV´|fÐ^,®ô"¤G½£–/¤Áù„O9M¯åt¥ `pRãDNÄ•!d<ùH¤ì¸f -r5Cø%‰Oòg1ƒUÏ®f/4&i È ¤c×ñ)³ã>TƒgæÎÃsAΡL4ä…ÓÚKÎphüâ×ÐLѯÖ.!÷†E´Û¼ Iïf¹$ju6Œ‰ê½qj®háE¯b†äBB%àrö® ®Òø1诠óäÔ ¹8©8¼"Ï48ÚÞüK™äÑ<—* œiâa¾Ù/ï·aOOñk°Ù¨Ö3›,r¼,ý_ŽÍüÉæÌ6¿jñO±Ø W? ³û8ÉŸŽÿó÷ö™Óg®^¿_iþ¾½»?…– -&é ÜWÀ_¾1 8,ÿ¯Á}ªIhJó¿’1ûù5ò­V0€wœ  Ò¶]ܨ´þX[Öí€ßXò/z~ޏ.Aż¦ßÞÙi¿ÓXÐí a?AwÇàÄ~7Áùâ؈¾_!ùË—7ìJðç?ïr’)q(£Ç†àr ÜGýßq€­õµÍàÿgÓ^Ÿ|üÑás¤ `Ÿ€r€ èÌ€Ò"p˜ð„m˜/¨þÖ®àü&ÝÀþp€*Ef(À‹È‚ÜßÛlëµz0¢þOÇ(Ð/v€Œ?~€Œ8ë ò6À‹ùÌŒ°;@šBf{?µ€Éð³ŒÅ¿²H -xŽ@GL{Ö0™ @µ¿lýgÁbü/Ö¿f$R´;ˆû}8#>_I•P~/ñW i¥ÂòŒ”H´ïh–Õ.TE“Ê9’0¥™b®pí°K2‹i–``,•|æÞuvý¨Üì()'‰Q9¬ŸóT˜€ÃØl’¼!@æ+ÝÞŠå¤Lî4Ó‘ %¥Où a­w% ”§:Ư)ˆ®e{’±éËGÚ# -¸Ë‘f ¾›(ø¥A"8ý²Õh@²¹>w1”¼T>Æ–)ÝÖÈ×ÙÕÛâó¼Õ¨óªSÑòû‘…Mn.èÇbs ¤f¡9†ªUé¯]‚Ëö ßo9'r¿OxµXä ƒ[…±9‚A‡’ÆUÞ 'p‚W„ò#¿¹1÷XnT6'Ûå"~Õ®™Ý“ûþÌžš,¬íZÒ±ïíKo ù€¬ÿ—–/¼-àœ€®\¿›±ÿ!ª?«'Ÿ>yœÏÃCå-ûŠ—E–ÂúdKxgQ:áµ_à`@|¢ô«÷—• `qic¢mqóµ¼#Â*7ÄÛ%Û ÞYºx£²Ø½b ˜ZnU>€|mqñ|c©=!R -Tú›;7–ç©êÎ7Â@ÊÃU´o­qªmS @Àö¦>\/ (\€]ÙÚÔ°½~ÿîÝoî~¾k°àásT³Îô¨,ûm³ ý!šXì0«óÏ~xÄë/ÁÿÅïoº~þ%°ÿæ›×|ªLd -ÿ/Ö €—#ïnþ]±²€pÄÚ., ¶÷ Abøñ㜫 þÏôxv€ŸÔ  €_ý”q~ιžï ˜àÿs,æV,…L,šbˆ1 èŸåô;ÿ‚ýaâ¿îu¡œ6L|ö[ñ’­ü^â«ñ9 äÜVg­ì(0mÝçuªG±¬™ï†Hx‰ •qô{íEê@#Àß»š"ã-]TW -8H+cžƒAdæ¨wÉ$&‘2‹%È[É(."*Ux¿ü+»üVGÊÎÉî=ÿwÿì®¶wUU{¤rö´cú9·ƒÙ àÊòeùøvþµ3ËŸÞ¿ÿíÃð@­Ÿ%4à©Íê©.€¾èñÕ’_ùò»ˆòo+À[o.ü uÅyþZ ;øuÖ^þŒ`Ñ€ÒÒ^4n¡ÑäîʯŽK9]n „p4Êxµ3÷@Ào}&}Ý…`cjX|'.ÿ<œ/˜zûV±LŒ‘€ýÚšcÿɤ,aÕ À?2µÄà°¹Xîë0_ùç3c¨¿’}M‡[xÈËàÿü´àŒšèÏåÄP¾% -E -ÈN6x['èŸÍ²F* oN^Þ0$•à®PiÈJC@þ¥ @¿‚bþ½ø8ñ@ý- ª/˜÷s°Ï ›&€—ö¨,{{¼°À îÿ`Æ 4L}ŠÞ?Qÿùš`ûùš¦þ öûeŠøŸŽ>c 6×`¦þ¡>yr°ü —O‰J®Y|ËÊ þªTg´í&AMûàéLršèeJÊE %lõºÅ•Àríõù¢Tg»q’ô@á§°•’ÎDJmPŠ÷®-PyŽÿ» ¶X†6ðÝ )>–[ö}„ʹ¾t%ðí>!^¬‘pžQBcJTª°{t°°Ξ$g´É˜ŠÕøñ°Þbâë ^æ<°z[; -ÔÄg·cÁwÀˆ¹€‡¢»)Ñj¶ûlñÌDÝ[òTçrFð¬îR– 5Ùüƒ¶º„o“ý‰S½ÄŠxÕ‰”!ä¬öä ‰lqþÛꟆ¢a„4úRP´{h20“ru+Ö)UøöbHYSó*Q)þX6šRØŽ\ªªöH%ó;*æÛ—C`ÅpæôÜéåë÷|«·ßÃ`?"˜ÚÀA¯¾üU·W÷φ˜¯ €°ö—uXÂ[oÃû¥Ñg,‘àì.Ü ¸èþEÕg?76Pê'g"¹ÉÔÐhœ/½Ú18ÐÀµë¿ @™ ”‡ƒ¹·oî¸çÏ|ÿÕü3ÀÚv–âÙÚ®ðÿ  ²8ÐG?f.€‰€&€¹ãûuÿ"{-·þrˆ eà¥,o¾ùV¾P­ÿ)¥ÀyÇÞçä`QÀöys”jyBªwò` -°X|J•ìf$ÂHå0øq>çê 'š `×0`Ò @H;ÜpÀ8nêð?t.€çŽP€à¯1 €çøP“®„½|¯@_øw]¡ÙHE È̱*óˆ) £)ð/h’6 €ú!(©õ -@~ŠO°³Ró ;ÜÜ ì ”èÿú–Õ‚dÌ -k¹³x)©–Èà -’Ûz»,€2é;lSŽRg -µÏåq‚à_µs܇½¿5Å.HŸŸlŽÌ­Éª=yšñt£ñ¼Ý<Õh¦…ß°Bvh(¶îó:Pþ•¥ç„r3ž˜ý”#›¦L ?`nô¡)å"3ä âo# 'òd ¨Á'jÜŽ ˆS'³mœHB”Hµêõ¼U°NMÙN´ ‡mòx)¯ò ÅmîŠaʆK˽{˜ZްLtV‰ÂÔ.›åd¯j/ò"šFkºP&ÿÊw*“Ý»²çO¤ìa¹{rN½sÔŸùÓ§–·/8¹_<(=u˜?}õÓ{=R/}ˆî¯zúè êÿ“§OÔTÁžê~ªøKXþ"}H€3÷kð4ÁÄ8àç·ÖÖ–Ö.¶Yì®TÀÁÿ‰ €õUà€GÓ¿¸¶±1Ý[ˆÀú¶Æ‚]{AÅÒ `{×Pö":@nîl\lT‚ûÕAiíu÷üñÏèf' -êí å¿,ýdK5¿2LGüx2à3eÎqf}Ê8±H^« ¯¼˜ <áå€ê¼ƒðÕúðŸRÖÅ`Ÿà™øý—Où²Ð` R‰ïGÞ’¼ÊÕΉPM¨œê P$o~‘äåÆp:`Ñß•ÒAsìˆú! @Ƙñ „ãîOó¨,»½€Ë€Ÿ}.IÀÿµºg-ªÿã €)ú»Yêúbý/9æ1åFÃ!„ÆÈþù™bû}8w¸X†Ÿ" Ÿ¸"äŠc}Am³OÆ×P }°âŠ})—äA°Rr`s¹Êtb¯ž,. -ö£ƒˆq™pÏ~¡Ñ"î-T~Ûèò$È‚ˆÚm¯h§/%Ž2×Q’x.ÛõZƒs'Jx)üŸ¤ô¡OeˆèX‡ûX#ïJyymK5Pí­Dó¡™iCÀîx‘äåÆÐ p×@ä;l€î0`2A;°À?s.€ ¸”^~ xŽÀÌ\³€â'À µØÕþÅYƒ9Æ7յʴøçŠª {))S @¥3þ$¡Á‰¸µf Gʳ1þrJ… -lxž Â/B@³À¥,\s’%Æ{RljbšYèi-òÄP§/øJþ¤ € öHŽÈV\$UåC¬|tƒ×ò¥ÑXÌå ›À›»|—R>`/H‘Ìc¡,®µ‹UàÓœhľìÍ1î=àJø@³¹äûÆ9 -ág'èûèF"I,E¿EÊÆ]‚8Ò7R»G}5­Yó_+³Î£Æ² ‡A ²™]‰&ÀxgÓ ¬ˆ'pN-á^ÎŽjV Ö!”gÏDÁgw½Þ¨78­Õ\Yíuë½Á˜‚í\õa\ðj,õ™År n`8ÒeaQRÓNÓFBj¨Bb}LÂËEñÌ3E,½œP1a™²ÆQÃð/ï€O[â.¶ @ :º ¸ßo¥œÆ=…×ì³'vöÇãz“ü´2ÖIÓƒèP}ä")€²kõ]"MÉqB¡@¨@)ías¡`{ˆ •ÈYQ$Fœ™-3ŠøhÚi'3­>.s(±³K¡ÂÔò/>r©jÚ#– ð;@ºÿ½-Ò6óóÇÎ._ÿöæÿ‡ø¢ýëø]È€<àP©à>À_6üÊ€•æ~”AÀBœw¿“• ûŒ|‰Èõ|µL¬76À7Êô;0üc±Í-œü¯ÀÔÀWÆ›ÛÌpsgcýÆ`þ%tÀ † 5ç*`miíË[™À¼Æ0M@Öý?7&½®Å ð` €>ö˜õ˜é€Ìç¼ÇnWÀ?‘´›å§Y`KŽðÿŸj. óççü–(<+{ÇØ  Ó)½žöHÞÊRù*ÕÞJR±ÔêÕÐ@ÕxEŸ¬æøqãœ+wã4pÚMO”<ØXlê7è^ög'àÏE‚@ ¥‰£^]îÜ‚“îfJB ‰Á¥› ^/ÿÈûаg…7”žR…ÓºÎ]`1Ê%ž‘sÍ&2‘ì!q$Ä¥±àVW–ŒJªÃG*UM{´rfþÌ™KPµ±ýû;sö¬°péÎ}=ÐKµùŸÆ àéwϱ<ò÷ÿÝðoþð+8¿xJê|ðÞ…ë²â¬?£—ïý(€ÿ—;_þ -àëüƺ:}qÞNEÃ׋Àß‘„ ÎÇÀNiAÄûxï‰Èà—®ë›Nê«~¿ÖX\X8µøÎÅ ñ? àÖ­¿üåfiðŒÀ?àÆæÆ&ë @÷/Ë|„ý˜*;ÀÄðÑÇŽ˜]ù8à¬À™ÉH€‘Ç^™;>üر -ù+y¾À¿Í½6ìÇË^Þ 0#½è'Ó©üÏñ9U…þ™`¾Ÿ¸ðµ­ñÝÜ+¾Ðå½Ný_í-â;JÍP¯ÕìH;€–RjΗ`aÏH€ª¾éÐ|v€]€²Lá’Pªõ£ûÃ>ÿcçLðÿP €ºä³{ü~üûà¾,¬[KÍ*]ª±Ù¨ã§mÿEûßc0aJ˜ôÈ~ºÔk`Xe¢FñL.ó*J _[ ÜYñ?¯@Œ‘',Ò&BzX.M1ìI VýV­-@š{dN«Ýûª½”"C]ÏD©, T¤‡ƒäP’!V¡Ô€’mÒ„¤–ØÖÎ#Ø„³NùH$x¢Q*·ÏS8“¡)€»Ÿ~ƒí›aÈ#DžeÒl¹4pÃfZTúÝçý‹0þpÇÞp‹árVÃvƒ!„ÖP7#Š“—ÃßwÑÃyÝÛíÁîÉ{Ô6Z¾FƒN|-‹:îh Ér“CV[#° H ÖïÚ±„JF%™Ïörâ"IÉÒ|2Ölú#‹HroÉ ñ+]ƒðT|æÈ¥ªiXl¸`/€Ë€L (øŸ9}æôéùcg–?ƒ8€š)ÚÿÃ'ß±æóý“ï+´?H -öû©Vú”¿Äÿú­ó e2ÀeÒ»}æ#Î~y tÖØØ -øë›zØ;pep¬½ ¶olƒÄ7¶d -¨ýœ¶±òË ¶6üÀ}§>¢û—Ážµ}ù9^Yj‹Òƒâí÷gÀ—k×n°bà·Ip¶6v `Ý1€õÿ/_>Süg­`ê&ÀAsĀܙíÜ+Å`îÄÜ 6Y+À^ €M3rlþø+Ǹ»Í@ÈËYæQéÏÏØøàã¸oÿ§ææNío¨&Tfð¿ÚñB6›º€õëÉ+š1ÕÁ> -`EcûaÍC¥W€°R|P¡~Ì8'OÖf|&½f-“q&½”çYàà^ÿ̹~x€Bä@%& I…ìóØ`¯@忘ýƒþ³ðIôÛ -ü(ó¯4þï±ä\RßÂRõÈ­~A'h£&Té¬åÂ¥KliP¶L£YŠ\VÝV@ˆü@8bÈ)Ê¢š07"WTÍ»­~¹&aæ1R ‡[½1¥†XëÎÝ;äA”\™„l(Z’;C2`í5‡#Ê;9·%1€dq›Á ßhuìßî›âÚíð·EX@âR©æ5‘"°íf}±Af«`èÌú¯œöùRZÿÏ÷i…öHýҽ߹þƒüÓ!dï,Æ€XÞ/¹4HÖ7Qç·×6wíÿkèü*àhù;k;bþì@Û?רüoÁÂÜbgz€¢û—-ù›{,çZ¦#Þ¾}k{i}¯`çÆ: ¤„­êúï7ø¿Véý[0€ªÀÿó£k_ÿø` €>d‚`Æ@}?½Xgƒs 1 Tð€`¢üßæ¬ùcó'ææ½æÝ•—ò˜Ô§èþÈ‚“™Žf¼G!Ø/¾­/VWóÚõžKü)ÕîH”ªqj^È0Ó àgð¨,G<À `ÞÄ 5ãè?õü/ÖEªFÚqµAb ©êd–¯?Îî™LÖÏFQÛü"ë/½#q'Zà’Ħ ‘›ì]ER -¼­8OÖ†îI`Æð/R”/ñï©´ræ -wêkë.,gøÕhkÄú¤ÐhPko‡½¥^Ó9ð{œgH4WÀ¯'%kvz[MG*ÒO¤Tu‚¤dÚÐ÷EÉxÑ"´þÚ©Äi¡w‘—0nùÏ9ÐO/žðˆ -Eí*Dm¬áIí<¾ã-r”°!2<Éà-ì¢À{)Œazï <ñã"îD¶Q0H§JðþuۼܕJ]½ÓkŽå~M¨üÇh÷ºZ &΂džð,¾›Q@Âêþ``æïgÉ(sEêVÄMÿu[ðQƒÙ˜PŠ(sc^²Áð«ÉCŒVd¼­¤r2ó«£ÿTí röBéxùÒ…XÀ™Ó¶5Ï¿vöÊo>(cþ þKÿOàÉsÀÿ#àùE!_½?{ùÏÆù…¡ --sÊ=#ü½¢V^¾E‚øQ¶oÀ*pÀ]ßpF>{òoÀôîs‰Êÿze@Øò~ ÀMð~W6Ö=Zœa+‹¼7Kú@¢Tßþó—›K›·¦>2ÂÂsY‡Lð¿ü)À/ (.•à“ßÿdb8È€å!#ü×0/Р̀g}ŽSõ?ÁçX值¤@PŸEøøL,ù¾ _àÖï^ˆP1%ªÝ‘ ¨/j¨ÆøñãœÕ8‘íp ÀÌ8»sìúü à9ã€FÿÅÇèíX¬jg,q üϸþ5HŸ]–^8ÓöoÅÜ—LƒIJ“Ñ\_oP^ bÚÏôñ[,‚ -( -¼›¶ÙÍcÓÎÍÃÍ]¿Y ƒô€ˆhá$þx@äÉBtL ½á,ôœáïëq¿;;¾A1æG‹‡> j  ÑDËÞb `©žŽth˲6b­’j*“óò5ŸDì5e K÷ˆÅu¦Š•Ô NÜLú(ìKú~!^Ü­ÕÔ5ïkm°"°i 9¥ó«!|„°+bKÌ¡º‰÷ ·E˜´IªÃ‘í£A Cš-(ô\k OA‡D°4FÄÓ@dHìdŸ‡’Qˆ–±" ²í'3 -ÂRSåÑDØæéÝf‹X˜Qv11bP±öxLœ8:î§VŸ×tЗ ûf'¬Î¢yğ׎\æÍ9òöeGŒ àìéhŸg—ïd Gú‚LOž<´÷_Ðp˜å'’Mµþ,BdNì\@Jú³°ÖR€©`mÓ©õvǸáüNÂoS€Íÿ[;|×¶Tý½ -°^Zb ð7íã3¢‡ñĵÆ;K…ó '#˜úܾ}kóâ¶øo˜nÚ `#âh¶Wý• ô,€kŸÄ °àÿÁãì› pÆ@Ð?q ’p<͘‘9>’„c¯¨s¿rLÅÿ„—¼âFõ„—dUN½°œ¯úFJðŠe§ú#•x…ý|âÊêïVóêH¬ €ê -Ðí¦ ¦Ic˜ø/ìPzì P–}>e€5ÀÞqJ7ÀŸ8À?o.db8ÜÀÐi …öùTêÿŒöâ¢îï’ˆEûׂBEœBø -p¥0p½ê9±tÅŸéÇ=Y\,6o2•’â 2“ã~‹EÀðç›ÐâÄ:môIò PÕ }oe–‘û’˶|rÀ á[ h¶;…ïX(&¾™ŽêÃcB^*âÄ?™µiÓmõ–:Ã-H!‰“Šºw1qHl8(™—€‡L¢™nbYtáZcccF Z£//ÅË7¯[k ÇûÛø¿›—ƒ¯Ç¼Î8:j©*Ú#” €pÿ¶3ÿ»€yÇš?{õ³o>|XöŸÆóÿé“ïPÿ¿^õ}P¾ú–EüiÈdÀÿR†>H@Utï=?ñ?ÐëUÑý× -ÚÛ×ø_¿±¾½÷;ÿ`¾ß5 -þ«÷¯mTñ ÜÔÓ ÷Ü• Ç–m@–ÖÖÞ)>¶õì½}ûËíö6K -bpH¢õõ-7[Bæ/_'¬à?úÿÿQYtxŽ >éŸñ¬@A|]ùO¸£ÀÜ„xmÇO v86|îĉù¹¯œx¾pbž=¯˜¿‘—µL÷yaøÕþ•Ä`Wf8À þ§nŸÈêó¬Õs ÀIjê‰XxË\(T/<ÀÉÌ@=#úÞ `ß8Ï·ÌŒðóúØ àg (Ƶ`â`ü÷[L¢äjÁÈj®?acö_à_è/4@í_’„p½É\›Bbü ¿vƒ `C45u Fí ¤´/óEGPìˆÙ̧ P´Ñá“Ð äÔ‡Ñ5ÉL"ÙW£¯ÿ/€•.Šf¤GxŒeø+!hÜmtl èö¶º6Y™AhË“¢J6/hi,çµAyïj_×eôN=hø5ÌJ7IÕ¬“•fg«Õiò2u$5CQÑ.€Æ‰øLd -–­a;Ò]Ðlù.(gƒŽ†Þ§Z{øèÿWX[½Ö -s³-¦¤6á~ƒ6¤Ù8£6ÄHD˜¹GgX«µ´`Huß&F8ÚùOʆ ­mmg 4ÀÜJð‡AñðÁÒ4NDÁfcÀI¿ÉYîÀíZ‹JAOáRØÆÃ–ï@f@F5û£ñ_É)² ZÓq D០¿˜?êÔŸÑ Pýÿò…K—D8{Ÿ³—ï~íÿ‘E|àß±Íú0矑²O¤è_uÜÿ™ˆ¿XŠ-{˜Ž`]ÖP† X‡Axt|€ž…léüó³?€7Ò À£{åF”yžÆ-öúOÿt¼½³}qûÖ¿ý!Ü$ `› €Í2ôÀþ+€?]Lƈà!½ >•œPÅÜÁýÿ èG -(‹Ð„ãèüz ¸zå•cÇ_Ñð "/é°;Ì…þ´ìõ˜Â¿?«²½Ú%«/kàOÞ­ˆ×w‹ê‰ -Š{9 XƒJ’jY-­c›fw„ÂÑ©UZ­€…“BßIôY@ÀÌ[ Ž@©|´SÛuPÁ¸¼›†}ð™š*JH°*5œTÏV–¶ÖR§ r„SGTå£(„à>õ¤ K5X«¡:Á#‚Œ„º=\ZTî¼R²>`$L»®ž~j¡Ùk´ˆÎh ½éÿmÄf*¬AŸÛH¨½usje|5ÂÕ±¥•Ûë;f¨´4Kú]MV¬¤¢Š`ƒ$ˆj\«õŸ­W_=°k8vŽšwÐô@O=Ï6)´k@Ü=…-Hp©éwµ!?ZµV“® -×þcȰñA“ŸåT‰0I“–ÅnØ\öt.'P£˜ßE¡꺌ÒþYL«Ð±rÈaY ›… ´%гñªhKðbŠŠ6(”ÝÁ°E4ÍFo‰‡s–PÀ6— ¶„° huàœ$*ùý‹Û¼%Ì\ã”6Y (n¾9ÍNÝþÉîNÀÌ­MŠ›šíRû÷‰“Q銥”j9|Täw¾Ü”%BB¸‰û`4üÊæ£^oèŽþ¶J&ÚD(€—‚d”DñPðÞ  Ç=a”A¢xÄXà&êâNFÈ>Ø-€TÆpð3‚›Èr¨®¥Hû¬ŒXa4 ê°Yëµy¥È=ß8ű Ñ÷ÍŸB®–VŽËn-0 û<@É…`æ§i0þ+@úÆ›Höµ'ŠŽXæìä}Ä*rU~UL~Z.œ}ûÌ™4 ?g—?ƒ ûk™ž>--ÿß}÷ý÷€CE¸ê£õíAþ²ÍNüú­ÅLð£šÀº"šý Úo¯on¬]\Zÿ762Ÿ»Jv¶ `Çö|ûú§(ÿHœ6vþ’cûdÃFß'oì¬5Î/¼sq:`EÚÛÎ -œþxòz|¶×Ú!Ù,~Ê Œðɵ?ú䣯_ÿ\À³>€CÆ×ÿv‰ñlÀ±(ús'Žsž;  ÿ{eäŸqxY ÀbFxa!£uxÖ`‚üÕF…ÿ{Õÿ"«Ï³X…DTòþTþD¯Ñºh(2ó“P6-ý†gªl`*±©Rj_E§ÕË­Vð¿¶`7ÀôÐÆˆ"CuŽB­ -ë em=$¤‘ØÄWÜr[+è#€µ ÈÆ©Âñ<2ê7!oEël—+Ák–й7ØnÅ¢• ÂQÒñ\wéÆÉXÚÆ$Ò×Öi±28 ZŒô>[Òr¡i•û4¢öÃ~8Êç™7H¢¸´ÿŠÀyl(ÈÏÒtp_’'i±£™A(3 Õo›+rO…Ð{ÚþIü€¿¹ºXï öÉÈ¡Fç¢ù“L®=i -ÿü¯›ªu)¹ÏOû/6y‹DÁò\pE§C;`Ža,  µP¾2€Af®' -!# ŒˆðW3Œ­ X‚þ¿ûB–åÆ1ýƒÜƒ:|Åí(Á‹äÉVÜà@±‹„)Ak(FàÔJñ}ä NkP£ 柔‹ˆˆ -ùkó Ø®éêƒîIûN§UsÚá¦Í-à¨ê}oK¦ è[(Üá6¬vh‚È (æÚ|ш¼ô¬& ì¯®;„œ}€/Aå£ö Ï𙈺ãno‰d2ÒЄGöuØ÷æö±¬õà­0ßð‹Œí¯ç¨Í¹tɆ §@˜nÀÔLL -Úœû -*«Efì@ÎqZ„}}eFZð+ïZ´ÿ>”¡¯¥gʺµøzô…/œaœPXÓ±tªŠöˆåŒc‚.ÞÖÕ,“ gΜ=ãWîó¤¿àÇ€4œâ»w€ üg-øóERÁï•Õß­þîP+@õÞXEZƒÌÞÁ?Tv¶êÊÅaÞà-T¡Í†N©è¡‡óÓüÝ>Y9¶ q ¨§pbÔàB@Ý:©Z¨e"Uê‡4u*¨4·Ök'YÆï;¯*•''º-Ñ–£„¶0a6[Œ¯¡¶¶–PS*ĉŸ¶jÔ¯:!èµl“Ñ¿úÄhØ -–AmH¢§·×ÐÚ[îQÔÄ;Ñwý¹‹a¶]ý -t5ÎÄ\&#:IøLd/8ÆYH=A7દúvM$¡&>e»‚ÿþ¬HŒÀ™ò‡-xRQÿ+ @N3T{࿲H"¼ÕOÿô`.Ø@ˆ4ÝËÂZíšZ"˜* w˜ªüƒLqWrH¯6 Y­ž$€;ÉCµÿR2‡ÃZsôõ¸¯bàyžSãR$Æ*Ÿ¢q>³µeáu¶L–¶~¬Å"L‘nÖK¯‰tDA͆§H¤u¦¹I_ãeÑoßÀèÌ.šªÜw(é¬Z(¹½QKgJsÀ[‹ Åi<è$=#Ëø¨a*@FIbD!nx|K H³F„¾ÐSÞ@RÆ´‰ñ2òxÎgjMHӜŭeF&ÑÑÚEø?ˆ‚ v@C©é'aßmÛXI­u @C±9L'°«S3©90"èp-î]ƒQ¼#®ƒkk[ÒDуu$ðœÅ#ÓÃv­¹:¯Ž-H^Ÿ·ÈI$´G/3¶ú£ú¼6qD.9Pq°Q€ßéù³WïÜË(Àe(à'@ÿãÇß?yòÝ“ï‘(ûÉ“}eH»P=«rèXNžZðßRuŸh‘ËÇöëAÝmzm©±´¶±¹±9Áð^Ök7¶‚ÿþÎfqÿ·õŸ­âPî¸ssPýìÀ. 2€µÆÂBf#*g²°¶¶U@µ×'W$v%Ø>5Dÿ¯,Ÿ|üñÇ}òɵë×ÝuØ8{,ÓÙíéS¿râØ([¡Eó‡  €€ZŽÏÏg€J^ÿçó¸ö½ØÇ“Y͇õ=ëPáfäTõ[ ÷ËËZü£r›‘ÅÁVº…o*HïÆ‘2æW†Nsɾ °ŒSÓ= ò[8¥ü©“_®U£¶Ú\ÌPh®ônv£b[iþÊ{êyµ²bØl1=ÅKD2Û,EÝ&T ^ÿ•¾X…n(Ù(ÿ -`rc•¶Â¬4cd(,PI[û’<£î®$µ$Õ -`ÍvùÎPsŸÂ‰ÊØvÜRõLd°¸†°®.!%&:I„,SF©*ò*øOx |!bš>‚Íc’âÆßè™$ZQ»ëùYø§â.¸_¾ÿ´EžT«L¹ÝOûñÕúƒ’&Ðl+ª¶e,8©ä$à)Lȃ‹Z®å¥ Jà -Û`àh“«Ý½@Wß–æRÞËIî¢ê¾†¸$l‚…²Á  ã4=@´ÏhìI‘êhÃò:šuм‹cˆZzÓ‰ŽhÝíœ^ßfw–-XKgò’À]2ÂS\QÌ8%5lÏÑ“%8 "˜@4q6AÅOíµêµÁx„¦LÉ´D¯ò1æŒFšB©l7t<€Œ—2¸‘à?7á‡V€Â˜Üç›dDzA©cá–4Ú„77%$R‡d”ID -‡µc»G‡c­$=gü'i! Ü3™ÎúFmÙ²ÙD²ˆÿƒA¿Ïs¬„(|M-«Cö÷rÐ@URTš­ÙYûŽæ£÷€K5@(Ðï@ó'æN/߉N*,ÙüÿØÿô;Áÿ»§r€C¤‚ñgå ñxÓ&€C-ÔgäæÎ­/¿Ü¹¼µ¡ß™€‚ºkëïÀ6ol¢~ë`€ª#@†. `cK@Ûÿ òë p|Ÿ[ù”?ÎŽÀ-; ìì\lœ¯=Ïàù2‡@6×2ƒñÅòÛg¸{Ï¿ŸÇn€× ð³p„g}`@™ °‚|Qž!'2€íÇ^‰A GO¨þW€ãÿm`÷üO÷˜þÏ ê/ôã0wþü©¹ @…üY»á[ÚÝ<œ¬þnõp+ïf%¾¦Ö"p$Ä;çT©¤@’BpÄ1ùD4oÖv{¶…ÈÔ4”a´ß“Á'¢Ò®ƒµ·‡Np³‚ÿÑÈÀêWÝ•¸ãÐ<Íz‹€r}*È*#„'RÜ÷;³ -ø—P1Ï·Š×¹Î!뚀®vƒÅ5lÛÎãâ€Ê%=´ÿ¶—À n™{ʰ¡.±O"$°U¨É±‚´l0ÞŠk˜L ¤ R%Ô±“zHx'ž°pjAÖ`¸Lƒ-»¨fd/º -þ©}©åÁÒc/ü£ˆ÷¥j¨ÂQÂhx½ñ®1è[.Œ”ðÒkk˜ÊŸân6h·KiGÏ~ÊA»ª%_Uàm1lë6–Ò †µí H¼<Šn‰f«bùÅŠ“¨F/u{±•{/(© ó\Û hoy'þ«¥“í„:"X± ›sÜŠ`j 0}Èm™«Z‡t®bA4‚‚"5QÐB I ÆBQ‚ 6,€â¢ž[‚à /´tD•Þp¾€ shÁÉ´è÷ÚDŠ1z¿-@mÛ"â á @»±”„Á„4|œNàS>ØC>B0x|Mk‰óüË1_žÖ f&0Z9 "œ{ÄëSÞy𽝏 G`jÐ`IÅ MàˆvžDœ 5ä‰=lˆ6YÓŒþß³}J·@.èµk­Õ1´Æ¦˵¥:9b©êÙ#^ß‘ô¸ÄfPsznþµùåëß>|ðàÑÑÿÉã‡:¨á?yòýwßÊþñ -Æ’w*àTÅ j$Þ#Ñý¢ÞM-ÂmF÷Íä{t ñÎŵk쇬«àW-ÿÚŠ–ÏqÇRûßÚñH4 °?Ãøx—Ûð·Ô¨'ÓFnÝüÃíÓð‡öò•Š8§Wóé Ào ×À"6€Ò à“÷?’b˜Œ0k83 0è¯ø^ñaŸŸøFÛ÷G œùe€ô¨äå-f#ŸÅ7øwÞém˜[Øç0þ@È«ÇRô­6G㕾ÈóŒÀ·øò±.Èͪ#å¥ÎÔï Ø±ÆÌn6Ø£  £xSåêO߬/$x•$”„“ŸÆ€b -…0Ô•˜*¼q'viB@DÚܺÝï¯PKQiÖµfÍÜ®,T4hÝÔ3ÄX·eïÀMK0Â%{¹³Ê˜õ2±t‹(ÔÔï-p<㻀ñ‹†¬ÖÔwOúP¸CÓRØ+1ðîÅÐÁ>nê½¼·ÉEÀ†•֊ßüªN0Kh* -à€uÛ'&&€*‘H£s²‰Û4kçj\†jîÕ%¹‰x©úV× ¹`QÉ4×÷Âÿ åjÈY^QR¡þ‰¨;NÆT<ù'¬v?Ûçò4LP~ªzYJ˜àV’m…ˆ[@®Æ -µþìg®":DE¥Ìèü°ò - Æ9….yÃaû÷í-’h«ÿ`w‹_³ô¼ɨßÁ‰‘—ü#Ûº­Žéím¹·3wÞ×K‰“˜Gȸ -Ò¡º}¬ät|±4®„ %ƒÌêµÇ€& DÙF}MQ [Ð"Nà’Z÷€"lî·Û(ÛN‡•Ø“ob}º¡³K'¯¥ÿv¼-òL$à^ %*”„ǧx‚½úžMhºí‚ïI$r›ÐÂc(p=Ð^GLû¸ß‘‹=%©G4ˆH 7}nar³x~Åv³¦³mk\ ¯W½ -è—nþñ|å?TŠ¥ügkb°#Àq{œp4xÀ‰c¿ø©>äS Ð~è'Uˆ€6€çZ*¡²£‚<˜¼¤À?¨^±¿{ZДº†Š'hMýÙ)UlÔG𠻏V)º'_=¦á[+À¹s'Ò'% hDã·Wv­c-ÌøRYñò]Yé¦2"O€_íËžaÖ=ù_ão³èü4z:¡LxjõŽ#³‰„:ñÓáË -ßHé¯T'0íz UDOPÚÎ$‹X3{C(øÊ-Gå!ž 9¯š”Æ\¨¸ aôzn*iBwoêÄj}H“Ï|œ‚°4ÁjÞ°Ï“­„°kѵÈsqkÖS¥þ£ KíëgJA ¸gÛ8¢ùB¾R˜Sùùʱ£½DA”øõ)î¶”Qîò,O‚è -@äÌ!Ì,ÁЇ‚'+à¾v×à-]åj7{ìðϪž=ZqÀ XMÓm§àØ/ŽÍ_¹~ïáƒßVMÿwOâüÿøé÷ÿ8œ|?Xt °% “Æ Rú÷H`ö)cËø£@§ÿ€µwÞYÚúwp]W¼âÇ¿\¬8RÀ°¯q ˜XÜØ*¨ >ï‚“·¸Z ÀŸoA*µóKÛó6œðg ¡"ÁÿʰóåM-Ñü«˜o×PXÀt$À÷«^ì9d.€ôÑ8l$ÀöÈV%‚¾ŸcÇ_öuð¬cZ48ÀÔPŒ/mÕÅÿ}PðïMͱ„TTЉ ŠŽ¯3õþ!àyV€ÔŽE¬ ¼5TŽø‹•KÖŒÖâ#@¥P³4[ò^q`ïÜ´ wòä¹´ûqÏKÓvCý?½ÐÓEWïÍ¢.©”·ˆ„woFo04Ö‹V°Ýq¨~‹Ô‹ìê£skHÝmEnU¨Î³à=j޲Ni„¨5(K[<â14ûly9@¯áÕ<×z€µZ¢¾ÜÎãNoî.kã¤LKà'Ôu­^WoþJø_¨9ÍbÝ¡t, J¥“µb³0Þ`ÿÊ ‹w÷ž`£9’€kqióTËà éA%<…IA*≄™iûþcëˆ9ãg“„Äæ{ -#0‡ -ߤøØˆ?PÓô…ƒÛ åtüuš‘í›×'ä@?ÜAï>•Hî5l/64¹#¤¶6õ”W #¦c×ìkØŸKbhozzšñy'/Ö! -„4IB!WÕ„È6øv·&ÈP9LQQ™'`Y["RÄŠðŒ Á–6õ±¯`ÒžXìíö)r¡Ÿ¼ªÍ«0¤‰Kç®çÕìçíA^1ý$- -Ð5Ü[€¡åeÑ$åÎ>É’Or.‰½ñª•\¤ôhÐò¯mtâ†Þ’`»»iwÓFÓ.¾ðHxuOvã9 €/7·Øòlð_ïXÊ[¸Yøy†7fOŸìñæé“á“Ì3…š Gþ­êÙ£g8Ã"& æíÒýÏ -`=R oR©³ÊÞ]-€dЕŸX –Z´ît&?5ÐdJÄ94ÿWû ´„ƒ7QÿK#ºPÊCÄfïlÕI}EmFúT“Ô4_”tpfMÐÆãþh@-MHášš…肚­ÞŠuW3œØ4PdËQk2viÝùVXÀÊørk®@‡u¬Rüï9ÏÉéÄiC$Òv 沆éî÷I]õb„å,@àýÿÉS(@ÉÓçH ãM¨H R¯Bm¬Ê£÷ýhÓhüâ?u39Σ?*îÕ`¾kpfÚþ›í‚ù32 ñgSÅÒcG1‘h“”%ŒÃÙA2‘¡Cq¥”5 lã ×tbð.Ìi`¾†eyh>¡«²µ$4/•Ök¡Îž…Ξ°àÙ} Öp¨zur«ýN¤ÄÒ%7¥Z-v½$©‰©íH€\àØ—¾‘"{l €Ã‡: gT†¡ 3™ -ýÞ#hð—•4 ÒôãðÇ[·Ö¶/¾S[¼8±Ü„üùöŸf,âþzeˆ€Ð\ý/ò[ -´WŸ"2€ÉH€òÑ'Åp`ŸÀÞ‘õ8¡¾o+õ?®€n”™µ°d[ @”ÿ™Nÿ$ À¢ -ð\ €¯lŒU‡€ÑÁ¾2€Ã¬Õ±^ön4> 4 •êIZ€nk…DÝÊiƒz½jˆž«à«§ôK_ua5á`\EÊZôeå¨tÔ½ö -ouÚìëån º-™@Û&€ÕV ÓW7[†žˆ­F‚ÍŽX¤• ?öïO…ØìQóAj6v9~`KÅ«Õig…ô,;*Ó`D¼VÓN`|$\Ä–ÈZ°€Vh Õ -ÙŠ—úêþÇY;7Â9 ÀÄðê9îŸ> Ó+´ˆ^ÒÚ¢ÑRžc¬†ÍEñ,1Òð -Ø!Ñþ£ùO,ž4£ý›K{¥‚ÿÅÊnrýgµÊÜIað0íˆç…:´èÌÚM‘AT¼©Zm"<ÅA•zýnߦò𔀤[~´I g‰§ –ÀR¹@»·´Ð’ÿ@N1nwS:«ñ7š(WµÒ*úyÒ¤-K’ -åÞÜ zh÷CÛ¡ði+°DøÚ´;µfckˆj«Éœ'K³a0 ìŠ¥<ÈÆx½+Vy% CBNLa7¶^pÊ`ÐP>«á¯™»³=ê€Ò> bÒꥉ`/nO6Péᆄ0³¿ÓyÚrkS¢ë÷¾ì‘8B4 fK—N:õ¡nö³°?kœ5›ºhw®ãL´ˆ˜ÍáØ ú}4~ë äœ"¨"ÄÛÑ މ–5 訥ªgVœöOô¿ ü£dj`Ì `ùS°_@*9Ð÷ÿøþ9N?LÞ©šÎ£VVÿ=S|DHÊì?@,ÿó—5¼ÎvzãUšÿ¶4 ª9\`}}•?ãÆà†«‚û1”%¸_®&ZÖÛKµFš¸ €½¤ü€½·vÖ7!#^á³´Dûwyqø³q¯ŒPø~5àA½-{Ç(>ëX (ãNL*ùž¤í?&€ã2Wdó¯°° à5þ—'¼,€¨]ƒÅýàÏ߉”p*»Ð?±(…¸|I+@yÇ‹”:‘¾†™æÌÙÎS ö4só,DWÃÙ b’Œš…˜‚qzý¿z,è/ø«ý‡PEQƒz4^6Šb]n’ZC2øÛ­ «1>Ö"£ß¥‘Y©Qﺙ@ðN(¨ô€J"Wµâ»S@E¯×»š¯Z{Æ *µ¶êŠàÏ Cø2j†ôhÖ(·î4‘B]©ƒ^h½Í>žD³"”—& -º9”ž µô¨«;y²$ÉD:öªú¿HoX­¸§ÄeÑ tN¨©™IWn­fI²iý'Ø„q¯ötÿëgá_«ËŒTðöÏõ}£üóˆM6©ò)ˆi5j$P–²É@?¥åÜr&…t‚&:™>Âö HAôÖZÔÿ»MÕŽSLDZRßtå=h³‹Â^V -rJ47–dQ’†RH1$“»” ®\q¤É–Ív¶‘5–¼*èë&)Ç“>n$Ï1 -œ˜èQbm×p§ É•±Õ°G´5BîØ’å¬Ã c‚ìYlîŽíèÓ([ðY¨¥`Øb~{ÉS´zJ3ÖÔóÕݾÂþNIŒXvsÓò:÷Ì’Œ±6oŒôÙwNëE{Ñö{ÓÖ£ð'~iÈÙÆ¶E)dH¸¹.ŒÝvß^ìàŒ!¡@ã¼On´—´=P6\€à£ÿØþÿ¶ø3@±œf÷é³`Ï+g®\¿ÿðÁ£2#}øþßýã @g€ƒ¥ÂùCåדqÝÄŸùˆ©~ .‹©•4󀿱k˜wlÄ ¥ß‹JßüŒ$tÃAƒµèh›âX>~‹ @¾ð§[kkN¸fÛ¿wÑð—Ûä‘€Ûÿw6oÿ5Üt”¢X.ºœ@ÿ P*€kt¸ >ûƼ‹ñÅ€z_@ÿرÿ¡ªýhûœOpR€c'^áÌùr@‰Àë?¹@øàçêübV ÿD*èˆìúTUle8Ð -°pˆ µÆDx©SX'.P[ Ì ÊGéz ͨ@U£ ®‹. UàFÇîJôœ+}ÿŠþ¯¨xyeÝ·ê•TiáVìZÓ©«š}”}*èkBÔZ!bš‘ ZK'@™»ùRwmà‰Ó *ìˆÏ"°VÝFЂGõÞÔÚ"eg¤W*]½;Ô°Ôð¶äRåbQ&Éd@¹:ÛÔ½r¡„]f©,åJ&ýŒÐ÷ú¼zÒî„QáQ;Y‹) éÃÝÕÛN?U:u+ú-qvSeÙ *Ú?êÑüµ©=Æÿ¶g-üGûïÆ¥âçPT¸—4¶O=!­P]G<Ü'QÓÕI4Õ|Kލ|{§k8€’‘=úeJ+LpÊ;™(÷HÆœ”¶Ñp ö·»£-aØMnÇsÙt,'ËpÉKÒØ²GæÃýÌ?ÂÝtd¡ôˆ+ "ÍÂ?Yœ•†ùn½ÖZÊ öfÐüoå‘–Kãï-½r»Áu¡,Ü ¢cÄ`™a.í@/7'<íæÐ¦‰M«¡á//¥¶ybhûÒAËZo‰³’·”qÝm…¥ Cæ«0Ó}¾!Þ)=eDÕH²%ÙK¸|óíѧ }'¹“©–ø½ Y…ì a½Z„}ûxúþµ‡½6LÃþGXà>dgHý~ßÕ¶ÆÍ¸äˆ¿ÿ”^§K?ÀXÄA˜q6ÀÓós¯Í/zïÑC(À£‡¶è˜€ßÿäÉ?þñý¡ŸÅó‡} -@Î/œ:ùê©óol(ð/ü"úä‹äÀ,ß Ð àÿöæöúš³÷0µlÎà=\.ßÐCP7 íÿ €>€þ¢þ‡ðìÈ—âÿMt}ªù%ƒ3kˆ@± <™ƒž¼„ò?±ðß•{÷ïß¿÷Í7ñøùøãÊ\@øV—‹î^»tVÍ^0à 2ÊÌ®çgîød(-Ô/òJè‹XX͘cËÆÿ㯰 ‰°?`uµ6€—ëp°=ÂÜ æô]HÙvÄ{Þ‰g­P€C­©&Rj“Zr5Šõ -{ÑÙSý€"hü Ýûê0€úd6€cÇìöW@ƶþB¼$ @R5¥.æfÁUq\%¦7Xå…^ÑVﬢÔkÔ.Ö—D¬?¦5p½ž#—^¢4ïRcê¨GU¥“bc¡Õq•pÚfa½®q”X«½×ZCÕ*hÁß!Þ¢ÿŒRkéɯV¦­8ú6m«aë°[jèV¢&ˆ ) ”äæ!™_'Ïm‹òm/€4ƒèprv 0@ì¯ɱ)­o€!-Ï"–dÆ¢U4ð?«ýWêÿÄ0õÒ¦QB é<½ýý -·ŸÑþ#*ª?Ç$= - /A„QS¿Û'¬¢u¬Ò*lG‰w£°ˆ1 ÇPÄ$×ÍæøPüšƒ!寿ýÒ&ÏÚ>÷†Ÿ?m}ÞT?‡”%¢O¶]omQ)ø‡þLÞsXÉ֓Ƥ4m™ãc‘4I8é¡ÁK&ƒ^,5óx&Øî)àOczž‘xK@â/\KšºÚªNHöÉ[‚žœÇ­{Íúœ”\Þ]!ŽsBQâõ:%˜`)9HÀ-òœ%%àô&Zu²—¸q#±ÝbK¦[t(¨ÆÙ÷…%„pveåà´CÀ“ò‡Gõd³¹¨³†Ãë ÉAÐÎY•Ü:ò÷þÞ|ÓF€Ã,ÓÕ«ÇD^½X*SÀó¬­ßnàµß++@TT;l¥ÂA?¢r« B‰çç@x{ù£å6뻽£åž< #H@ÀÍQDá§žzŠo†¦R¡&¶}&ËÕ¨‚°{÷{Ýt&ël¢µ2î[ZÙÖ¬‘¬L¥ .ŠÖmµ‰çø~lLí6Õiõ¨^©B©&;]çÑ×Úì”)#ªr.¡Ò„^€/½ö˜*•š¾àBÃ;²&xìóLêOÕÕ'ȉØ$ÈRtíŒÔl®´Ðý‰""( êX%“£“ - ¤Éè¨I$K=IÓ€s¹}½Lja-iëߣýõ¿XDÿBˆx¾ðÙ"é¡ÿ´ÿþýŸ« @œ1¨|)8˜ƒù/8èQ¡eK$cT, » 5ä.°±0+‚kbØ©Ûám¼­7(Žl1·nûvÃQkB˜ªð ,7+›8ë5€¹t ¤lÆéÃaîê¿AY9I;ó„Ã4‡[¨ãû\ØMÇ "¥'ønÀU\N¨Ã ¼Eª ¤R me ÷ñìþ€\co¯Ó“ çååH -¦¸©8@»ã®> -tMâÂÖz¿Ä–BÒ\Ò‡Ûæžc®³×¸òõqH¢‘oRRÙcÃâ¨èC=D¡!õ%gR$‚ô<Œâdvº„ zfÔ}R+T”43 %¹8/,fy¯Ù`d0þ)Ãüs,è”oÛ c‚2¥-@ ­yþÊõûöÐûÏGzúýSð9|2 ï©êß:ðgkpä¼€ô8¾Rû‹xNýê÷%Ÿ˜ÞV•n.Ð_SÀƆÁÖö ¾Œd7?8ÔÚsÑÆšƒÞ°Àްæ ú~ -ø’§z6BØÜ¾¼˜ð(7‹`cbÿc@Òüû½¸õý>`ñ­@ï®»±|òÉõO>· ÀÓª×.~%S5ÁlÐ à7.˜7ú˜ka»á Ðï8ÓN•1 ´ -  æÓ€âÿ‹yn~ìØÜkÎUJÂQ=|í`ÈßûãKþO%œ -ø!„FÆAðóÍT&“ÕaVÐÿP+€•ÅŒP1 ¬^¨Yì­¦7R[*7°\µÞŽíBˆ2;€ ÷êÉWuâñ½à¯j.I«J³h7@ïmAÍÒ]MYˆgOÓ^A6ÿIzá aÁ=â$&5è¥\ÄàuT(«.ZEŠ€±6½«ã&ÄS -P«µ¾ê1´#+…zÐâ}DK(䯭ÂŒ‚ÏóÝg‰Ð0´œ7>JnÄånz'Ex´/«×²p´ #ų&¤#–å&†.ÄDîŸs5Ëp¡Ñ£ÙÁCðW&Q#)|…”šáh $°c¤£NóÈe¶©þÈ>NTäRÐåí o]óÌéù¹Wæ/_¿÷àÑ·E~ðÞn€¨ÿO¿òý÷ì±¹ú`yS?ÿùo]|ë>¿ð/:çð(’Õ'.Úà ü¾ñÿ,m˜àÿööúÚöšVñØ·•_ Àèï7í¨ô\º¹ €:l³Ï„5(ÀÆ û#´x—kTÓþ:òÀ¬€MÎÕCñ/·oßJ@|r‡Y‘”Ñ×ÖÄõ]æÜGËG* 3 Mߨ6à wïÞùðÝ×_{íXÐY€åË…™5o8oSDÎvyyù’&€ãö(~ö…þ¬³9§KÀ܉׎%'æÏ½ò² “’§o-Bã~è‡öÏj*U•` ×üœL4 u¦¯xV›Åp `õp+@jŽ]A}iPƒ#T,Î:ÐQyP·Q9Û ˜í5*þìPÀ’‚“çjšâXQ‘ˆ*BG7{Ó×dAVêᆓ RïµG«cõ¤N·¹²ªvѬ {XQwû¿³]X³ý¨F¨©ªb»Cõ×°zÎ}lÕ­CÚÛøZÛ‚Ÿ­¦£¾[‘£O¦ÏYøOÇf'²§fuÎ6jÁqܯl7àR=þ‰? ßiÆ"³ÍöÖ~<­ÝtJaPªIXÿfS%¸Lë{Õ`aá\­ô¨R 9ÉÍ2m#%ó°ùÂ\Ò½;Ç¢.ZP¥SÓ:êŸ `¢þÐößÉ£ÕþµìÓþ…ÿ/TÿNCTRó›ZYlF¯tü8±(‡¥ýÌYω¬€o•^¸°Úšž=BÄ…Õlö7rŠ! -<î)(%_¬CûüýoìW×›êÿæ‘Û¢¢ó™9šbÆ*®rf¯ä…%¨LR:b\rÕ¾=h³=EËÂE0LÆ1q¢°˜æéÚçSè ¹Õš‹¤/l{°?‡³(w5»øŸÒ%—Ë)r#ï)ý4 rÏ Ã? ¶ØïoIÛåŸò²Ô[ÒB$CLY)?¹)Áluul,®´<Û]KÒ2nËãy‹`—¥´±ÄèÏ<ÈÂù|+ôy¼ÞšIð¬K.pˆ&H{°DñZ5ñø -ýNÝùO’ªž=Z™Œ ˜\ºtéí·C4Øýا¶ à±ã=…|÷ÝwOž~ÿÝ“SøŸX´N R€‹û€V€"`ŸþÉçŸ)¶Ø`àÚ¥3`´þiX~¼Ýÿ‚7”ü²­†L[^^¾pöõù×ÏžýOÿéDHÀ¬€üé(Uº -B^{mþÄÜq§Ž]€½¥,üH!çPîeu¸ú¹ªÀ_©‚W¤‚þüŽ¿š¡»­ù§àÇZ|ë+q^c¡ʨsÜ@I8ï¾½þÅüW@™…s3°6±Ô4ð ü‚ꢺÿiW·³€UõÕ5ˆ(ï¤oƒÕŒ0Z]unjá…*flõ­ jT¶nPÇz¼Ñk­X=BTºö ´c¼“®b¨ð`61A{¤©¢ôŒ¥ˆ©.è@iÓ·êvÂnùo’•)HõN 3˜XÀ­E©hG+$ukEŒ±Þ%Ée9"¿€$Ř¦Õ«²‰ Àô’ a6UhŒzw¾š´¢ý“á ÆTýý÷ÿÕþE}î €·<@û Hnÿ Rtia‚ëcCRÎå6Aráibvƒ?,`à9/.;Y²€žqGÁ²¹as±ùÐîE„4kä|4ƒnæŒtðJKLB<«Ñ\"!!í¥€á0MËœÂi¤›€‰h ª¡§ë/’jNÈh8K³éIzKÊ“ë†Ú9 €¦BÈ~ísòÒ%[rìE@)͘9\‚ʼ҃Î$fߨÙú¢ÚRÇñ”ÄG1/ý§Ø:âèƒÆ9¯¯§„5¢ €´ÚõòÞÖRÞ¸üÏû£’OX,ßåù,=nÔ¬2Ê<´-P.££`~þìòÝû=†ÄèÿôÉÓÇZþ¿Ó°¬ü|§^¸_ó/?•|Çzëü©yõ_œ  4 L âÿÔ`F¬±åg (O-èõÛÛ뛕àÆÍ@3R|Xù’K×Ö7o¬m8bð­ ´æ89¼W&˜.æ£öo/½S«,<[ ÀŸoÿ·ÛùßþlØv-òZR , ìïJAÿGÉ>ûìóÏ?ÿìóë|î~#¨À»óÞ‡ÂþzÀåKšÿ/\8€æ¯5@À¥ËË|ãÒ{—Þxãl5OP%ºÌš í¥1ð‹cóÇõ(…áG‰z},j÷,ž»æWa¤ -áTvÁ¶ÕšP€âoTÞWrÀAVÀÿ0+@j„j„Š-EWcŸ¦øÏ ¨Ó¨z®f„àÕs`;cÿG -˜:ÚB¥æòGíÖ¨eF^haMc…Æ·ÿ…“¾­¡€þªµiê /F®¨ªš6K„S…wšõ¥bËïÔ >!¶¥2´Â%ÐCbÇeÞY†Ãöð+°´…Èõç€ovzíQËù~‰+±- *þ²©Íº¡ a ÎP³ºi]Ûí;QmKÖâXÀPîÃzj$O„)€Ý´z•€‚2Θ¿2€bhúˆ®ÓÊ“¯©µvìþÑþ³¡ãŸ_ÑVû'ËÄþà?(Œbö¿GJ†ÿt؃̂¥0=„?Ú.¯•⮘n°p y øð¯¸î•»ˆCY‘Ÿv+æÍA‚ -˜“†€,§›Š!¸SšýEvÒD¢iY°€~÷¸GpfIÚçœäU•|ül'˜wØ/Ÿ ØJ‘Ðù…¨ã¼-DEŽi)ä=*/}•,ÄZ‹ŒÆŠa$R6xQ~Ú%èH¬;1ÁPf,Ð61Ù0±àz¸¬a‰ÈHüå¶G€þ.”`/4Dì^IyöCâ‰â²að¸½n«œàÙ¤.)9H7‹(õ“$%~æÆÛú’Éléç0Ð •¬Ûiû'cÞYht{ñ à>à/·€8 -àc@†zòý?¾ÿîßgN€ƒ>O+?èWI&<©À›èÿ³&Ï‹ñï·k‘Œ¼ºnú73€J÷æ¶£ÿ®ÝˆÛß®@ -.;ðæÆæ‹uðcmkCó~…û>U O. ²üq§ úÃÞÛ¹µ¶ÆÁ?Ú\¡A$„„ÕPá~äÛ»îêæ'xòäÁ·wÅÿ»w?ÿüúg×ïÜ ø+±Ö:ꀖ/æËÍ~Y,6Ó&€KËW¯\Y^¾rí -à?íe¥ `îØk,í"gÀc󯹞{í5=¡/Ñ ‰+ö›h÷n=gÍoF¦3ÏBÙ¶î(@­Ð÷ 2TÐ8:Ä@#€à+@Þdkj6ê¶Ð©TSSÆ I -þŸ+îì¯ÚdÚØ3ЄpÈwêÜ9T\绯gšðPó¹zq½“Auü…;[=BZ¾@¡°  Ý\¬®¢Ü­èvŒFŒÎûWÛ—í° ¤š]íu¤N® Ôð©²×íÉ€¡–ˆûÃÖkUÇ•;Yöì¨ä,1íÑ(ãÕ·‡­:59gÅÐ,™ú­õ:€šÊ%¡é;Eí,  ƒ®ôÔñ€¨ÿ­_eF@ðvÌdç^ ¨I‘(µÊ1àU§L¯k%ôòxŠ-ÎZÚ¢ýïcûúÏ?âè4ÉÄZx±Xÿù=«ýOðÿ‹|•rÝO!Ló‡9DN:o?ê)ÜGš`¶°ÃyêÆÎ<'ˆ#[¶Øö >,å@­…$ë‹2Æ àS,ÐB ÷6—¸«½6¸®ÙÕG>ƒWD -^B0ÙkÇ»RPöä¿¥ivä¤Öн8©Šì%V 6hÌoÕ›K ¾8.1ˆ¸¢˜{ÇXdAc§Á´¬²×Î|vÒ0NÍ®¹ V~1ÖaÀëeªýî»ï3 -À¡BÅñgvú ÞW€ ~é4P>òE_ïÿÙoÕˆJö—iØÜŽ%@ @ДŸµlT1zk} Ô_³ @&ÀÆ&›³È_}&ÏóÙ±¼Sk ïÿ1¦ö¥€€Ûúì†nÿ#†ïÞ®|£_±<¸oÿÿ0€ëŸ]‡ TrçÚ…ya™,˜›;SLoœ¹pæ ñ_‚FžI.]¾¼|õÚÇ|íãO®-¿wé³úœ81ÏW÷Á×ççTü (-0Çž °C`± -¼2wü¸Ã „u¼Ø‡œ‹ çîâ9k)ß®ÌXöKy­w j\Qÿ]H±#ÀAVë;k5Ð¥QèÔ†; jâ¸ðÆ[ ¦Àòo«1ãˆåÒ ìÕÎ… ð€6ÒFÿõ¨_©ÜQçÔ_ØDÙÍpÿŠm«¥? (hlT«äâ1µ›#Øu½N(€‘`IÜX¤h †ä -g%Õø«ÀžTv¨8]çZƒ‰L3Ðí ì¼îØrp¢fåkšù~wÔjè•Õ±ÇÖ`¨Ÿ¢ã³ ã¿Z£.µáÔã&¨]üQ©p‰·¦Ø~pŒTª¥Þ¬ÙŠ"ÐgÐdÉЄP§ -¶WCÌçÏÐiUÿ‡6 ìuý#~v±ðÁ±DökÿA}PÎúÉB.Xªˆ#-K6lÜ6á£væ ðAðnCõ 4 cè÷<¡£@¸3=Ú>ÐM0b€{Q•2‘ba_;ŠCLŽôÀ3–Z1d:d’¶NMYœÒ@.zs޾|—Ë 3'›xæ;e:œ• Ì|Á^,åÒ&9½dO9¯ãqþç2 7 'ç:w"œÛ‘¢f|?:Ø6(Ú++:äVü8[ø_ñ¯MJtÂÛðFd¨Ï¾E2q*t€¤áÎ7Q89$VD=8®‹%á„@òlƒkNðMcM¥Ã)Ï'h%AŒQH?’wØjdœE÷dåy:9‹ô¥¾•R¦³†L‹¼/âÈ¥ ôÑÊ™y±Ä.â?RÆråìòõ´<|Zù<þîÉwÿ°¡ÿ9# -äVøÏþÀ€Œü/ ‚Cö–Æd‘ÂÍàèÞoѹ’Ê诔–€XÐÃAö¢ôÏÊÍØ xmçÆšseL€;…[ÛÏ|*PÖߺµ®`íKÁÞ{±÷và·ÿÌΰ‹]Ù5Wò[•â?‘…èSñ$@üŸØÿÈÕ sb´6šyÀ{–£á G<óË‚ÿ€K——¯\½öéÇòñõO>~ÿ½4 9M»Î…³X1nX`ß}ðÿý³~åØœ~'^yå7x[É´²˜6°–âEbT(Ö@Eö¹V&pˆ»´b²‰Ÿ²A†³PQéTNdµ”K ˆ ,ÞÃŒãt"C,o1‘õ1–Ÿ§[@îcç?K¹¼ï%›yZî'8J¾·á>ÎpÜ]¥e ÛB¸!ù·ÒÿU³•n.d;/…k2³×cÄVÖBYüO"H7%Á´0~€öÿH@z<)6€C…Ú^Uÿ€Ÿºþ[oýTp*€Sþuo… 6÷ꮈ¬]K@&àû+ €M[;À=’®ý7vÖ×@ýÍ À?€ÜãÆÚ î—·¯S,ëkK€[)X/+@õßÙ^û²Xv!¿Ð“Òsñ±ÛðWr÷nÆú|¸ûùçà¿üìÎdÈÀk—^Oßý¹ù¹9Û.¼wáÂ/ß>óK>ÈÛgÞþWÀ¥Ë¨ÿŸ~úÉuúøý+W.9V€êQØÁò…3(þÇþ§‰¡ÿ8j> §äø€Ý nŸ8~Â^/ø³Ùæ-í:Ó…ËC×»ãŸ?¿·}øÎOdJDý‰+@µu°àkÁÿ_€êåf»VÆx@¢ƒ‰¶ p&•£0r¡ÍÛí½ ²y¯.œ«×ê aÍnÿªbT ƒ›T€ÖËÑUÆ©ÒÑ^ƒÑˆú¤/hf qk/Ízûm€˜ì±€ˆ±¤ZuðÖVmÁæÈ•vs UžzyÀ'˜M ë·¡ÿ<{H–0K”›½ºŠ¬bdóÂp0ìØ¿×«{«àÊæhD5\CUšú“‰CÞ&Ü"Ä*Õu¬öã_‰ÄZn¹²ìsЀ¶ëîÕ@*{1µA4ªg«ÛÞ°!ŽúÝa?ø¯A#S˦Φ–Ý éÝÿíÿ{Á!1. FYÚ"ÞUa,ÀAPtì繊žþÍÒ«?ÌÕlœfr:@bl&n%RçÂ=¿îu-É-ûytÔëG¼Ã&™Íú¯c8$Èè»Ð]5˜Ü•|vJéÀZ†´åB¬lÕeÚisפ°$$®ÿ“·D7†S *Å®”ôòÅ4%HÚï*¦q®Ö.äÝîÞx°Rw -)îÔv\€¼¦Í†%) ú>Ö¬¤”æMFÍÊÿuÜ„k0úDÊ’×n5俆‡î×i`/=OÖÙ° 婿‰‘fa$‰ [ü%hDªkßýûKî˜Oì2‹¸QÎ=’(™Èkµj$m8ÃÉ!?œ”¼:r Bµ (j¸àGÿ¿ws@ƃ6|ûÀé=~òô‘^ü¾—”ž‡ @nuÀÏ~þ B±œZÐ"€ø¿bÙ Œ(3¸¹óe ß±€§€Íøll­g½Gn‰Æ:¢þo‰ÿöpTÀXn΢¿ò¤Ê°-¸ø¥î¹øÿ¿Ýþ’»ýÙa`¹åÓ"ð‡í[šýw¿t÷Áýú À½oîÊî‚ÿS €½2’ÿ\†û»pÁŠ@ À¿^º¼|íãë×?µ píý+ïéP‰זߘ;>7÷šDùE‡°Ýr’ôK~PCP--8¶=5d÷«ÑpØ)“M€CÓ=7 Ðfp@‰ºAŸ*DC!5Kª5õTö¨J¥ -²":Þu©Á‡6DPÝûÝxôjo×Ђ! AßmžÔc3/h€Úà¶!î8~Q·–Ã$H -p|È9_~?6¹ý¨×tZzŽˆDÙÓ¿c"ÚœÒirXƒµ)P5*q(õ\Ý -0'užmùF*À¶äç>&ö2øÐ«çÄÿO¦òj-¶‹^,$˜ ã¨NÔnõFÖ¹D§ÝÜ2{G„ü×ö¯]ÙÄB¢ý{BePžÑþ§è¿K`SVö?ý£Í#ÈÔ0\š>’Pn[†<Ö.½ì2FC@W½›¼s4_@FÔT\CLF¿móC¢u³AÈÉìKŽT'sÌô÷JÂÐî-ö(3*ã1\ï+Ñ2}KÍVM 7ÉÕ$³ó‰uƒÑJëWu»šD Ð$Vx @fà³|ZžHxÄEÁw¤ÛÕm¶ÕI|‰‘§p3„[)~Ê6éZ”dæ4Ô;s -Uí-Ypo¬rŠÏk1‚Ž¥Í0ñžbÒíÁ eO×Á¨Ë;2èŽõ¦AI§A×É(îm¼ª¸Iv¤ÆÉ$÷M7"›Á-‰§ -½3ÍrjB¶Âº¤%9´ãÁ¸Iþ¿Á ØEâRë¹ÁG-gN§7ù…K¶¤Uù‚sž=“nNüàÑ#§xüô‰óÔ=~üô»ÇßKž|x/€'ë ¨ï]#@„”†÷Î4ó·BÒgDP®Tómÿ›âÿÄ íF`*7c/ÞX_Ïwc»XŠÀo§ÈÏ'J|QêÙümÔýµ‹Zþd—Èûnßúr{â0ÛD¡ôüöÖo‹æ?üCÏ/m¾±óàÿMÀu@1\»tZeýÄÜë:¼/[¾páí7´€ˆÿ~zýãk×`×Äÿ+ïU à2bëÀµ+—t8{ö7Îfãõ×çŸ(v$C–ŸÿáÚ2gÀ~æ‘Q‚z•·,ìæqøzv$Àð˜H(€ˆ™ÖÍ -û+sÀV€¯µìó°*£ÐÙÇÚdröÚ%Ôi´èAÇêA¿¶T<«»Õ¬í1R€d¶x/,Ph;»¢½ø‹‚JìOÓ€´ ¡µÜÊï ânÕ@Ò±ê µ¶Žà€Ïsú7 š<{¤,%g,´qÖærp‚$Øêt¶Œ¢KÎÂj ^3ì5E|ÔqÎSÓ×ÎH‹Å†ÊŠìF -Þ‘…†p -µQ¾9ýÖˆ° Ç!õê<µºN€#"àÛl 9N¦  J§JH jÑÒ@*TîX¨J“*|¯êheœ%21ÏÿUÇjÿŠÃ7«ýïZÿ…þé@1'z·Ÿ.<Îxž’*†LJ@92ÆI2†L^òõ"ž»F_LÂû–µT›°Ç”bn®çéž­¥”wâOYðxÒ£ì“>ügÄ…q[ö„FãWãÑ*9Ý·(%ýa4c Z+èͪOše»¹ £JÄÖn+zy½š­N‰&BhÏ -NB.ËÝLòz³•ˆ§õƒâÊ‚ îªC Ê­~Å—‘­¾ $&~±¼Ó +:8°K‰,ØÄ-¢ëìˆs–±÷Km‰gU;ŒWg_}}aÌ(ƒë·_bF “K‡Æ$ùÓ&oˆT‚!'/ÞF’,Á•º#¤vF6©‘ÁxøÕ×£Òb °ñ_ïÿÒP¼È(ÔÒZ>,s<ö§à÷OÇAþTõü¼i+À›VÎ\íWÀŠêï´¡ÿ©(€'€ÿëÛëëëÓ^ÅöùÐÑÝ=½HÀúİG85Ä~ø×ù­¡ î#þß¾}sÍ&O¸éÎ"nÜœZ ¿½uï›{»_m"|?¸o'ÀÿøÿÙgw¯§-ùðò¼z:Û À»fÒ/µØP @TüO?ÿß÷wE‘è ùÿ;,Wryù‚¿ gæ_ÓóOû…û…ÕY¥¡ «çÿXÔ¡r|Ê‚ÏYûEæò&–¼|{dbȸ{[&`jh¨6"Ö :<·Õ¯­pÛv=³j5;öèR£ µâÀ6#ú€u ]VZ¿OÚ þä©ÂXjf¦$S©™ØÃª^*jL*žü…::ë `ÆJ÷§"¨½‹ÁY¯KË3t¥Fñrl -~5lþÃaži£: -6гs«;Bº]ÖQö;„,µ"áNË=SQÖt³¢öCz¨ô^·TÕÔëŒVÂãp‡~h|ì\¨¬×èØÒï ·½ÞW` P“ÔÀ bòÎ'©ýDq9Œz2«ýïªÿ»Š¤«``ógøGƒc0QüAôTd8¶IgL4 XäI3RÝØx.;q%QÇÇú|²kÉÁ1°BžwH¢œ$r0÷Ç­La ¶ÇÖ?úŠ|:YÄHŸN‡¯A'rð«[⊔v4nQ‚IQÛb6Xid¾ÝÕþªJ-áìµÒK£2^Õ‰SÌcp³j»ƒ³Þò@¸- †ß¦bÉM‹ÿ¥i<,´šcÍä”aö^Ë W¯ˆÃ+«Iæ¥%RÀQ§ÖÐ0%“µíL<v4ZŒˆ|_çÐñ€’³*ò—‹ÉâqŸR>¯ò!9 ³[d¡´œh»·ªÓ“Ê&…#î—¤=&l€€·dj-;ñ’¨¹´Åû(¹H+_Ó‹FÖÞ~5’Ês]w`ÝrÔRaôÑÊÿÃqeÐÕ(Ùü/8ÀYýÍ_¾þ탟8P!ºø=ÎÀÀß=©ìýHp\¬?` h>uêØ« ö;H -˜,ÁZGõù×6×ùÿw-;kû q.)gNe]OÂ5!}ö»­I_ÂӾЬg/ë?ÞþÃΦve|àêA ^Áþ‰€ç÷&_ü¢ãëðàÁ7Ÿÿ0ƒX¤•\»tFý\æÐr&ˆÀ/ÓÈáòÕï\ÿôÚÕå+WÞG–ßÿÏ2€ðêUðÿÃk×>ºöÑõ>’ \åܳ޶øŠþ®ò îï~üW¾¯]¼¹(²OÀÝÅ"»lêîïÿ_Î>þÔù…¹ÝYvž‘T¨û¤Xl फ़`¿D€Wñ +À×P€´TVê…©ˆ]j ê8çCsÛTiÔÒA(ë·½Fm%ºÿB¡?è¯àœ7Š:\/fªVîЄèKc¢·Ü™:†ÛÛxL݃šîXj£-ôCÅa¯.#óÌ»„ÚzÛjʪr E@·ÀU¡_°±N>ÃŒžþßîk.æn쌭7Á(·à'Ï%¬B c°Ý‰¨{sNxƒöøXãQ#Ù¹PÛ3Z⮈ùܱ(’J«s#SÓªŒÁ[¢ÕšîÔº$醗'Z5k~Íã"¦ŒØ¯ýïÿ¢ý/ª9«¿ÿt‚žäSod8Îbxèè&á{]b•”$à.þ @rœÈð/*ähØn Fój‡líTOÕwA£ 6ZôÇc(\´`˜†ÎÄÌœ0X±Ä›«{r9¸ Q]¡PžkMíýqg#öÀùx Ù`Åž);6ø*ÒIìxwÐß8ž2tˆÞÅR‚-&FD.`áHT³)¥ _wˆE•ù&ŠÝú§RÜ€×^w²¦)À õG0\a¤ÝÃqÚƒ7혜RZ†lf5y×|®åjÍ$èšfîj<[Æ#;ÔZ¢ZíĉÚ*õИ¼ÇÚ¢Ð-ys¬ª²ˆ m7DÉ)²JFÙ¾2L'5 ³¹çÀBºª¢~ô†uâæîᣖ‚ÐG,¨“z–F¶Þ..æàÿiÀ™åOíµöð±CÙ à)Øÿ½Vþ§ÏsÐÌ?p  ž?EÕ 6$Nð9Àµ^€köå/^€›k“ùøÖ'€)ÈP¬+àŸŠSø­{‚°?Yæþàüö—°aÿO•à/q üùö-€^!{€WìúHf$sÞ½ûm@ý?¶àÿ§ -C¸v žsÞ_}]þÈ¥³0€7 -þ_Z¾úéõë_Q¿ö¿üþ•+ÿ¹´hÿGd×?º~ýú](@dù‚s V’ÊzêXp¿|²]þê*ðÌ:E³Ÿ]”Oì¬öý3Í=s§ÎŸš[øME&î€Å -°ÇWu¿@ -P8,53oyAQe%FEGhIO5‘]&õDó h“È„]à6[Oú5¡”Þçp‡€¼ß@3 UŒ÷æjŸ‚Íœos<õ»5.'ÉjPšºŽS^N<5]«jì,“¸ï”ðÚg[½ râE]Dy 5!hÔé¡|Ë[> Ñå”Tí¨H¤Õ=µ§_îSNá.ª‹Þ,>G”‰hZA$ÈžÁœWÏÕ¯~ÎÔò4R¼nx4T¡æA½„š4"Ôfš#‹ì…–\ -טÂÿ®ö_ð‚þS@šyfùSü'Jm° -éT­¥ð‘Q‹Íî‚ïÐ`’xšMöŠ¥é™MbZk¢D‚ÛÜið•-Þ(Ý™„&™Ýá›h÷ÃE\`$ð°!¨ -³“8ôP—)ª£±\DíŽW튦VjÚõÁCÙ£Q»Ne‚–+ƒ¼¬Õ[:‘dÊ^¢#œ’Ãmn-Ö¢5ƒ†€1Ù[¥:Á·ÐÙþB!±Ü°‡•kõö´w›¤MÆ7–Kh)QÉÖàDÀ&üDøîŽêì& jžGzz#âã{‘‰˜:ŽÃç5þ Œ"õ$†< 2AP}ÈRÚ Ä‹µT ZVÈÝÝ-’nS“B²šªˆM$„(Y¡Œ¶¾‚Àºxi>6”- ‚wƒµ Íš4°äÓ‘KUM­DÙwYxû’±0k˜;6¿|ç›ú<~øX€2 ê?ò½‹ƒ%(Èõ÷¯c8êä±Ìx TpúŒ|å\ -ƒùÎç³® `bØ®ðÚ §_ßLÀ®Þ€ßÜæ“š |XóÛ·ÖÞŠ€s„LÆøSa -a•ï­X - ¸PŸ‘ø°þðÍÿ=mö˜ŒpíÒ™4ÇÇpFËÿ.½ûî… oÀ„{|øé§Ÿ^]^~O -Àêý+ï¿¿ü^ÚsÀÿå«¥ àÚ‡üÎ7Äò£k)Xäì™ùã» ÕûÀ9G>>çL„ÇìëÏ*cÌ®ÙàØñ×të‹ÀtQ>ÑøYíÿïÞwjaîÔs,Å üY) X&Ø"p°0õà/o:gG/^À#7ø'SÙ³-Õ Äñ½½Š”†0-Ÿ“§Îq4j«ÆZƒ -ÜS€£6ਮ2ˆ®Ïd©Q€z—À{ÉÅ–©ùÎÐm£†wG†ÏS¡ZY'ÔÞ» -!;Ÿ\…Ú‹Cb -Ì¢•è,z{\I#\Ô´FcÈIÀ!‡yˆ^bP*QŽO€MÐ S€(çÎUm!â?R¥ÏDÐßZá ÜPqaÊ'°Î?R¢…‚\8š‘huìò®£X<Ï„jÿ3ÿÈ üÿƸR -"åv?Q«xhTËþSòÔ -Sêzºæ[i¯ý^”RYùØ-º¶í¯uÖÛås¨Æ­Þ:8m¤ì‚+ê›c”Öþ¤W¤š¿®üc·Q ½JÒmÅ$¤7BÓ—ì_ßî·†­-ýøñÛo±¼•.ìnvÚ‹ö·ÅÞdw4hƒC€$¡«P´Ž+2Ç{"h~Z0F–âЪՈ԰7êKO‡^‰ú וo aÓvAHI„î˜L·TYšÙiß„Á°vß…ð%,$È Ãz޹·â¤ÀÃn­Ñ[M‡ -/$8¤”¼@@ñç%4¤ÓÖxk8"-Æf—÷êi]€2‘¾¾#+y¾œ‘ŒÊŒ™ØKZµö—vì 0î’CDLÓL*3Ldæ¹¢V&öéGÏ0‡˜µÿŸC9À¥³ÿzöÌÐcg¯\¿ÿðÛ2nÝ㌤êÿı¿ÿGzü,Æû…¿u~á_bˆWø3Ràô0™Xl¨†`þ;íß~ _‹µéH -ügüñ?^€üÀðßâà”kwâ¹ÝíÛ´OA,»MÅÀ¿Í=ö,þ—ŸßÞ½+þßÿoÅp÷3ÇŒ—Àµ «gnþø¼ø?÷ÆÜ¿¼ðÞåL -X&¼¬À‡W—ü÷Þƒ\yùý© Àò•®^ùàŠýJ@>wîÜùèÃkËŽÌþe¡Hb8þ„ð €…Pï˜ÿìÚ-¦M? üoNåÃvVûþ‡þ¡ýCûžC@xÁã™XRQÌx;Ëû¸× -PQƒ÷[Ô ¶¦æ³¾¦&ˆ*$ŠÀ8À‘Mï 0¨Óç £^«{»ú4U¢ü¡‰Š -\®Á±Vƒà ªìÀ¾­6”RÅEƒ$ð>\ÚàC5cRo¡¿õWJ¨N -$çwæaö¼æ”LW<¶áæ`Gè€`ÏŠàåÊ_ö,rî’µz7øà:àÏ!ËCÐxL*jò’Lå±÷à9¶ “Nú@È…"ÏZôÉ6ò\ú` ‹z È24E„H%Ôü+Ú¿ "økHПÕþ+ÜŸiPû_lh .’ ÿTÏÙ9QÅ_ÇP[Ut”¦{4BÍè-ÝÒ,„¨ì*ˆªˆvÎÏAw›ðmßhXÓ4¸¢K_o„bYÜ5möGeî7D€ÞóÅEðrˆµ8SŽtòDŸÙ±xõVM}_„æÂ¨v -ûy=(Fd«Ý î±áÄÒ5Ê á·%).öšŽP»Í -[gaѶv@VxàÀµíhÕCˆÅn­®ýÎ2”¶†!@ÉMr‘,”¶:ÁOÕï+šƒ)aMHÌÈÁ§(—•[`wà$¼ûÍIBƒØmŠF³c3B?$ùÊÀ Ba¦½£cçL‚BjjG{™](ê,œv²áûàž»¾õ+–dõH»=üz8h-vÿF¦AÔä¶bîtè4ü$DÚaHˆaÿŸCR×íçôiû”Ù péÒÙ þlÉ0ó€ùWæ2ðÃGmˆ `~¢õ?^€‡IñE;€½ô8ð?€TpúŒ^«µ Ô_OW@YÀԠ応aS —8oà3R¶Oìh8µüigíI/iøK±Ø `ÒpPð?|£ˆ$@dß+–÷¿½ÿÍgÿû7ÿþÍý¿W¼ÿ&ƒ:à‰c¯½B½® ’¹ß5wÈ¥ôøðÊr†o~ïÒ{ˆ>ï9š£îÎðÁòû|(¨þ¿Ü"ðaìׯ]:“Æü‰Çò"óp®žй‚ñÐûÉö„Ìükñüâyà_©žy€¨ã¿¨ªˆB|AŸµÈÒàU͉ÔàÅÀ‘µ}Ñ=VdˆþdBàZí` J‰üB¤øÂ9”i³TöèF> ·~íBµõ£Ç=18«šåê¯VseU5Î{°ÏÚ‡ÿxF»]BÍ… ly¨gR3£²QE¹¿ 'sB%¿ãhpОN/U4×" °~u¶`ÐÀ½~W¼ƒƒÜX>¹4×B"I‘} àÕZ-Uµç„§Ó†64(©Ül&Ôì#MÄZží?ì…GÉa=ÚÿŒú¿ëø/‚Ózõ¯©ñ“?‹ŽmOÍÏýmÛN àöî#ä¨Ç„mqz­ ‡Ãñ0šéÍ1ZÒŸ ¶ûuÏ!!a ©×]·ã½¸#éÄ…!ô¢CÇÔ¿€{ô…cŸ£4Ô4ÿk4è¶ÀåÕ®³JÃ3—Í…fÏÔp‡wfŸÙØ_±y( ÝXàœ(½¶Ö+ ·CKšÉ‹X¾‚j@b)¨ê;IÐí|Ðt4­q¿V‡Åh¾ç*Þ‚YnвÁéÔê-}(ýÛZ4(lgÞß½ "ǰµî`€û$çí—›`º×0ÿÓ­µÆÒº[9xëæ­¿Ü†L-yŠRY~_D¿]¹WûGʈwØ÷÷4ðýì³»gü@ À+¯¡k¿þú\Ù/àýËaÞÿ¯£ÍëðŸVÀ~.]F÷ç³ü>ß®A>º&äßùüîÀD–ÏÚšü؉WŽÛÞ/ì¿>úôéù×]œž?SY‰ògf=Ï&g¾¾(ú‹ûàšÏdL§jUýÓñžmøÀ›&°Þ:@f­³ž¾¡aÍ{¬…µòˆè¶LíGÍù†³, &‰Jnïï€ü‹  ¾ °14WW64z5œüïu(DÖºGS%¥–5ÄÀ°×^ä¹VÓ -k«¯µ!þ‘ãÜg0êØ°ß‚êµZA ¼ðáU¹FX ñ“(Ç÷€ÀB&‰H¼ß×l“®µ{wåh/²'CmÖQ~![¡a_iD'›Èož’XúµÎw9Åëͧ£—‚ÐG,º@þõmÀ%6…Y€>€¯]¾sÿáƒG=´`±<}âŒÀOÿâðwˆéKåèÖð÷ÊÜsÀÄ €Í5õþ"›kë3ÎÿE¯6Š!ÿË 1ªP!%1þ?óñIZ -Šï¬--mO-î¹ý§/ãøG¹Eš$M ,ÝåW‘^€»E?¸_,ÿþïÅàÿu÷óëq¼ýÚ…×{íµ×æ_—++ÀÞý/6öCÞ]þàÚ‡^»z0Åÿ0¶ÓÀgyùòûÿåýå÷cøèC1ô·Eàúç×ï|öé• gOŸ™?–ÏŸþOlÈ-ÙóçQ·E'Æ}1>[!YÍü÷Ÿg“¹¶<—äí<€&È.¨°â ÀKúŒ  ÉâÛ±zÕ­‹:]jë@”P*'ª0!³Ù\r6jŒýÑuA;à4ö¢¿HÆå^* ±¨7:*`§`@ ÈyÙÑ2²h$käŒn“¸•·Ës££ó¢êØlõZÙ±>€ÝÕAoÜcW§é¬;Æ–D¦LêØ°B!´¥E7qLfû@=jK†\âåq+Oå,Þ¤.¡Hò=/¥Ä ˆ‘m„BæÖþŠH)LFåi>á>}ãák©äîH_€ŠT}Äb5ÏÏÖÿ o_Ò»üRq<=?7zù³oÜökxòØYìÓÀY¿s(›ƒ%¸0ýîýÃâÍY À3ø8=@„teb˜àÿæ¶Þ€ÏŽ\Dæ³³sckc Àeø+ϸÍÙúp*<(kîvó&ûþø¿ýi‡çU€©L|"eýÍý -û#Á~äÞýû÷ÿ~ÿþÝϾ¹÷ï¿÷ߊÀ矧# '9Àü/æ½o€Ž @/€ÿrÅþÝåâß÷Áòåw/WËÿùÊ^¸`À‰\^~ÿƒBâ HsÀ6¯-o$n…“?/*fTЯýÎOFuâË»vÿW‹àÿÂÜó||×xq´ì¥(F³Fk•b`=¡Ýî_C¨sØôÈ‹ó´~RÉÔXxÔ'®³D Åß­ïgBNž*MÿµÚI§žBl£Ïµàg}6¢$Œ„®RøÄx»Z[ÅSÁ¶kíÞ–ÃøDµò›³¨œ†+¿êÇÖÑ܉«´rz©íò(9%Öß µkž­´×uØ@¶Áo‘ k ÇsC:VmÍò]©=©õp\!¡›Ç%-t^DÍ¢~Œ!ÎÁ2‚  J åU5H‘«€C{©CRq[îÇÕÄiêèm‹„šNœ 'ð?«ýüß‹þEû_ܯý#<ý'JgI +%s,G6Ï'nÝÕ.L¨×ÖÁÜ¿4H2ûcÝ߸…Ü+\i·ÑÞGà¸ÐžûñŸ¸NÝ3íÞ2nï9K[d7Ï&ý8ä Ý·9“ò2 pÉ3ôhéB' öVد• EVÉ:¹[på<@dƒbÑ­-ÔÈêÂèfÐ- åí²0õ‡p<0~Э¦ÒñE‹œ­ìœÛlønB3 -qÒ‘ÎÖ|K‹í»Æ]¹´½P·Àº‡ÂײϤ%%Þ®~Fõ÷#nãœØÜ= XTþXDmxŒ€\Å 0/´L@툴X–©Q ¤)²—¼lfËW´k‹[ЕėUÉnl¬áŽºP ümØkƒóÜAÞC¤¹>^EÍbWFõòõèåô?Aæþ¾£Ä ã²Ã‘àþƒ‡<p*€ï2ðÓ'ÏÅÀ®¦R,o.Î…þJ§J8@Û;ÚýC¶××hw q(0½¶¹±µ(ä¡މö{>qä BsæÊÁ -Àßþƒ“€ÀXBòPé§HFšò(À7ŸÝÑðïéXyܽûͽë×.Í¿vìÅ.?ç|sgæÎ¼ñöÛ—?øðêà?Z=+üþÅÿ÷ÞŸŒè(ÿß_þ/Ëï¿ÿÁûòTE‡ðÿÎÏ>½–.„ÊeN¾|IÃ!JW¾ä©[ýÍVYæ[Á?â0@§žÓ °zo_À -àåÜ©'×VVµee<¢ -å|s­-¨m_·f *´®i6­§@×j(µ º)•Õ>@4ÝLçˆ@`†»‘@í ;_»ÑrðáÞÀÓÑ ‚bäþÄ©E…ÇÚ‹¢,!¶±Ñ:jÈ£9‹j¼Õ\Ûâ4Õ3{¨™S«Å5‡ h‹®ÏíÆ¢Ã4:BU'ZÕÛ°Ò -ýLа%’íîˆ*S‚"àžr«÷×¾>ìi`c}}Ö`¦iÿfÁc¶nìl­¯¯m¬mÅ %ÀþYìχgܺ ‚üûƒÿ1<8 Ýš±L(@±(žì±/5ûß/°_<îý7m÷ÿþíßïß½ûÙ7ÿþ÷Xløæ›Ï«¡€®^š?6÷  ßi}ççmxã_žùõ…«×>ü¯ ÿÕ>X~÷Ýw…m›n.-;Àûï•q€*TWþ‹}ƒÿH‰%àNL×®\¹š6 \ð#ÄŒª2ÙÝ:X&Çá||+´8@|åRû¥F{†XU » {Œ¾°S -+@ß™}Tø­|£«aR»Í%€CÆRUÆ:9¤«üX£5ªql&"üŸL³÷ÉszÂë GU ¾AU”Ú-‹šW¿*u}¿­Í ¡o{¤Å›Ê¾×®;55¶—§.Tiv!í(úF© Eÿ%ÔüGË·«97^Á ]ÎyŽu*hÕÑyDl.w¸eK{é@ qog!l~“Û[cŠÄÜÎ>çŠõ¸µ«õ.5¸ý ›Mpß6ŽÒp2­6‹ìÚ^=Y_”cøÜTâjŸ:Æn¡ßií” OIÞ˜r±â+8ÿgµÿJýŸ*íÿ øG‰Ÿ&àŠ¹u0÷dC\QÈÇñˆR°P‚::íó‰fiõÀÙÑ=§b"ŸU,-¢I¹‰k—dŒá:Š©½ÕÊ º¤"ØÇî •€bmƵVV¿èkõ'{zÁGÁ×jO€A7 ®bXÉ—ÜNÐhÕÏ¡-“ú¶!å7|ã’ÙíþÈVÊjøŸoˆ‰Š_×û±µÐ0(p"ÛZ «8ïËNa?D'æõÕÊA‘'D¥m†8üÃvÝÉöÕ²[Bñȉ0íÓ ?Þå† Èµæï[T»ó° yY'Àå¤kÂ`6ɶ• r¨¡¾Ä«¨§ ª¡Á{óÊš]æî°õ!Nd#Èœ(§r/‡Gt£?’Ø0bçL2ü¨?©úXÎØò«õÔýßÑ€ÄÇv  ;ß>xôàÁã8<~ü½èÎÖ“ïôÚ(Ue_!þŒäO€ì;@*8=P¢ü«hK~; ÀÿÄPõ@2`ì%ð…5ޝmlíÀŠ- `þlûÿM÷hàÂâ €õ°½Dö ˜X2 -‘È_–E<dÿ&ƒFüwï¾ïûíý{ŸÝùæïÿþ÷¿÷Í}À7÷b¸w÷εKóvËÅ&½ò‹à—Þýà¿^ûèÃUÿß}÷2?yï½÷ 8ûù]rÿÁû,ÞÿÀÊ€}øÑ‡úÿw>ƒ|pU[Ëkp„K&9;ÉcÕvYÍ~‹Äâ³à P‡J*Çòòòj`°–AfÝ•bàJ®Éü·Ò )UÙ§2 <µm1¥ê±bJ[U«P -(¹¯UßkÚ–v6~Ac®õ…j®’M¨8Q©4»ÞÚ\–{ˆ€@¼Žzµv÷oTõ" ç¢&âT‹„¨?^]Š¥žšÓ½†:SÄ¡B7¬°h"¡¦kœ½ÜÖÔáÐçËJ´õ§ñ>CÿÛÝ|Ô×µ¨ª³q u#µ·ÇÏuGÍÖhÐIØüçrâGíŽ -Ǫ‚ßÉàGµši¡G„)S%’@†@âšGDŒߦž =ÂáÄö,ÑËROK]·×±Œ õÿ÷iÿÖÉ•ì¢ñü? þ‰ÔO–A,ËÜ+YH’t[º— Ú öhHBè/øx^Šb?Îr²IË@½æˆ>{Ý™—~8NʳvªÓÀù>IeTÍÜY6*ŸCзÖ&%Zâ}Š0Oq`@[÷L™¹Wù¬˜¡f=瘖³ Y@kÍú‚ • âÏR×ÀïÑlõ¹%‡ÅB5d‘øXGòál-9ZØã­GSîä‹™`{ŽE'vùóÖ’ù±‡dÚý@·9%}ÜÓ»™r¬á¼&µcñBb#”ª\ig)-š.djzÿ%É-Ί ×%7u;¤³•òže²’󲿦šýqžf&ÅãmsúhL¤’î…§µØî{ÔrÚÖ~õÿ‚#j“Žœ&€³ó¯]v(à'>ô -ØÑž>|ìHN -Pùüíöï­ö÷À€»ANÆ0 `úEÄíEŸüGÿ)&€µÍµ‰? 2* €]´xÀ¸øì¬Ý€¬­¹% Å9Mlßý…È&×NÄsH ÀŸf->°0€,fÄ& }â -ò£ý³çþß¿ýÿ}ûïúüýï(ç À7w®]8}lþ•×~1wBÀ¤#À…·/,_ýè£>Eý¿ðn¾“Œ“ða+Ó]]¾²|õgx_(_4 øH>¼ö¾} øŸ«/þ1?§ÙZ¤ÚžÝUIi æüUpq€øÂù^–wàE¬1žv{È;?õh®rF*…ÔV9¦ ˜Ôì5¨½©‚©œÔ>ˆuĦi+¿½MqDáµå;C¥ÕÎ9®$ º -u*õœê mÆÏˆ'ô°âã08MÒí~e7@ªM¨Ôa\ö½Ñ -¡Ú¯e¡6öF©X uc` €-ͦÒ¨$­*²–FÊø0ÜÕUÞ¹ üSåÙ‡€k¬)ÙÌgˆÿ@”Fk*fÃHÂp"‘*ª?ôÇÆÉ…I€€Ò@f4M+ÇçrnÐo¦!F›ƒ­åŽDçMµªS-[ÇB½L¤¤ ‘}Úÿ@ÿÏ„iTÿ¦’ëÌðŸAÀ•Tõf“I-×l*èêµE}âü?Ü=küE¹4[Yo,®Ø Ôµ,©jž¦}!ƒ,ôÞ'[ʵÝÁ¸#ƒÅDýÔx š p)£J”¯‚êà{òNrÜ3µ³ôÓÄÕª‹ë”·ªÜç›–­S1™k §¬š¹„©ž3(-èÁöX”eŠÜ€`¼äµê rÏÆûܱ­MåÜÐúâHxÄdŠ‹úMIµ)Ì©„ޘ𨾯\¼WR"ƃ¹K½Ãs-µw#>¹!áoŸ’kDBÔëil šð([féDˤ6i0þL4ôð°m#·(©¯¢\En’†¶‚˜–ÖÊᨙ?˜ÙÀ¥G/©óXâê­ãß²Ÿ´)_°/€†4ÏLôàÁÃG<Œ €ßS§ûSÊò@I]¨Ä)|×P0"!"êÁb€«,A]§* €G¿dßÚŽòÑÄ‹íkscmëFì²o Ÿù©éWeJ|lðß^S @“'ÆE`/øÌ¸»Ôp÷î»og{|sçÎ7÷ïß¿wï›ûžÂÞ;Ÿ9%ðõ«—œ‹éµ×Žýù™Y¿œtÿ¿†êi{÷BFzOþöž}þ–Ks@ô«b¿›NTFº.øôÓàÿõëŸ~|íêU¯Bt*€!È^ôw½Ê°‚÷üö¢Ù1ý*6ÿW[Z ¼råͫꃃ¬ÔOYO|b«óœšBt¥_w‡ÔÙò²£,x_*{Ù©wQ›QÏpB;ã‹®òž÷l ¥FËtöS‰ ú¿ãÿ;Š]âClA°Ö–`Ú!, w³–[¡Ò. -Îóv3îu¿î. -.Ö%pê~«a‚H58B‡Œ×XjëKÕ-¿vM'@-Ùi|¬Ft–NBP]òðªt€»$ˆ˜~¿šSŸ7“1£éóxBÓ4=©@ƒ:}Ç‚jèe½ú) @a&G±ÿk¨ëÕsŽƒ`õ,»P€n¯®ÀñYy ®*,mY%kyZ 5±!)ŸÑþwñ*‹çÿ!ð/òš~?Yjµ˜¡Åm˜¢aNähô—Ú°ÉË‚ -®ÌIoÀ_Nj÷Ýñ ïMâùQÄtgAì†JouÒÂ!ƒÇ¤¹PI$’¥PÙ ´*e"Q)ï“^j#rˆì4*æ ØEÕ`!æþ+y5r®$®Xx6Jv … [¶Ì*cçyèÀÆÈ!<…ÓƒÊPófØ\ˆÉÈM‹ˆ%1ÇË“K€M%¡–G žÅƒ(`ÝŽC—Qþäì‰~^^£º$Ñ®µ/°:¹a-U„†?œIáHÝІ‡q?_fSÌÄçŽ>ƒb/÷òšÚ»0Ç|2’²Â\ÒÌy€q‡pL¡To™ÛR€õ +¥Ö5Gû+Fú#ÀÞn:“üSÒ.`ÀÙåÏî=xðàуo!Žh À“,XB BUÏ$ñxëM}Nî:ö§øð| €pëIÛÿÿEà‚Ä’‚œsü Ap¾ñPïû·m`½³¹É b}tþê÷¥­•x?!ü᦬nÞº}ûO_`(Û#Åÿoâ -¨_g–ÿÈ÷Nú„$ÜÿæîàÚ…ùãÇæOÌ× ðô™3|Ïè¹üÁýðë”Á.¼{I€ŸC¿wéÂ{—X @fø øäú'Ÿ\¿þÉõkP,×!W¯^‰ àý„ëŸ}~ÝO“OùîYguýÌ™)²O7*°¯V³’ÿÉâЀ‚I^Þ²ð¥C²P¹f½ÏpR¹æz@¿î”ž¼ÂT/å¶¹' D=ª?ZÀÇJ6ªŒ½@RѰÕí±€ÿ¨»çÒ÷/€fíÜB½Æ-*™ú[«ªU75‘=ðÔ8¬Ðy¨O-æ`0þëø+!¥®mUu"Xë„.©izC€3Æ:§K+;.eEtÜ*¡ÖÅLN¨ þ``%á«f­Nà‰[ôÿî@Ï?"ι¢ÕJv»aê$Y¨ÇIm·;*›ôtiÅÝwâBTôsZ. =ÃD>ý”£±¼ôÿðÓ2Á‹Š& ³lì÷c~u¨:Á_z.œ:uê_ -Z$ýT-©&ù)?l Ìû^ÈóDýfdf;]{O]»=Ф2Ö1 €¬.ão—“ѵŠN®Q›mÚŽàܹ…4Üš“â6ë2\ ¬óҩʺÏJY €œš„g£Bš¨w]"*D5»˜Œ½‚K¨¿¨eƒ¡¡æ6\(@τģb#Ôwt›<@wh0ˆ}ÀŒHëdº(•íö -Ê#º#Ç7ÃG'NU öt!ÔÆ¶$s±Ý À6‘(¡¥.ï¶Æ¿S©+sÉÕI…šÎU 3MñõnuìÔGÀ ¾XHŠÙÂTÆ„löEL¨¹Â‰›³ÿþÏ -Ǥ Î,Pí™H®`©êÁÿF¯óSÅfMÛö–y¡ÐáRg=Â!fA«kt¤ÿ& -x¸©þÜínõÁßÄ•áX⓬ܲ, -#"ìhÐ ®ÿ–c®ê&Á‰$9𡆻„v÷‹>9EAÉ•o%ö(»Rv¡úŸÇ§iŸ¤À´áŽk'c¢p’7€,\V¹m”……âÃaSXW„…³,èÚ1*@Ñ)æ4| ǽ!wOwBÄYb¶^€±Xœi&ÙÞhÛ”Ïk)Pëƒð(®”7ökmw ÛŠF»˜ËrçÆ\¬±J¦  -³ ºe°Ew G5Š}Ç´%I¹[èX˜õ¡'ïc2“—uðî%”Þ"ɇf;º}_Ó£þÍâô‘}Ðõü¥ÛØe킊n€0€3W®ßðèá£â¿RšÔüUô•Ôÿ‡‰€ós§¨Tw òOEð>P‚¯ü -þƒº3û¿tÛ ‚‚þ…Ìæº©ï$amk}Ç‘=äñYÉ«R.÷+ÈÞ»}ëŒg *àæo"÷&_ÏlÉ‚ÿ÷í(ðÍÝ;Ÿ}z -'ÀcÇ_K'À¶ÿ§“¾þËÿÿË… :n°´)À… -=ðÏWÜgãŠ}üñ'ð«½Ç -ðé‡×þWÀ•÷¯rüºî‡/.’’À.ÊïÙÚ'dñ©Sss§æ*´8@R­øŠ»Q½ëÖ3 <µÇŒP3í£¬òáê!ú§#j¨b´¨½¢ÝujÕížsߦq‡u‹í­±Êéà^mwJ`áÿ`g«·âÿ­ÚÉ“ lþþ £O¶ÎVÏF5ciP‡RÆ|5èþ¾ÝhQÕ8€YjRµLêI4<”y €¡²Ö¥r¶®6F+ŽB¨R´g9µ©6Œ¾¨rJoÔâp5ÜŽ¨hE¦ýºß]ýbÜ_w©N­Ð“PDXÀÿTÊÃ6´ÄöØ^I$÷±Îíh´'QðMŒ”q ò3औHt‰t™1­UÍbîmvHþмìÌ tǺ±ÅæPÐaþ÷IFýË,üÕŽ‰ä>¤dÁQÈõO“Ÿø•;'—XÐØê·c ÃqñXS€P›• XäTG?ÿëF½;†gކý!¥V“s)|‚Õìð>êɦ °&úííõµµÍÍõ°ð:^€Ao§t†@-ÿ @×A¶ö}¢áùíMǪè€Âs«­Ûùr};sÄ^`P¶w8›3ª{TRÿUü³Ö -P6çüuDv-—ÿÓÜ çÜ# ÎPàþÝË—¥j0ËïVýö§ >œÁPßVý\Iî‚üÜ^ì¿þá§Ÿ^ûT#M×5Ü)}_H– 6€g‘~²£°€éw2Às-¾]¾Y•ÈVßÎlL)@^ì]#À +ìX‡[›¥ò°b³]wd€ý~5Ÿsb\·‡#4ŠAó:]µ¶›2>põ«bpZ;ë8ë>,¸g]\éÔššue&•Áð¯c¢ØèrLÍC˜†ñÿ2ªêv„zM„¸Xo&ÐÔjŠ&ß±f´!§õ©–¨ -(÷@)U%³àZ–J¸;XÆòN÷ûã/Æ£Q»^ǹ³Íñ7”šµñB‘`…Ž.Ñøyx£×;¸~c©qJO=ñ¿v®v.þ§Iõª>õImoÒtWt}:@Ê`‘âFÿ‹/F 3 U¯€?CýøçXÕöÿÚ¿ ¦¥û'ŠÐ#y¤(òÏü¨J#e¨ß|\ÑßSÖŽzDA/^‹¹A£Ñýª7è“KöI+ mû€÷¸uk,´:BµmU#б¨Ò›w hÛ>+I=y¢¯ƒáñ((Üêý׫‹Ë\ -³´¤K7|Šãè²×ŽþíÆ¹BŠç -"…±µ©P,6X D[_iΛÖ&Q=«­@#WV -¢{fîbQ‚ë¹Y—+¦x†d§º'?I¶ªysQμ›FŠD3¹) -œE4ÝÙŒ''>ÂÉ](mq I“Q$ž}y$Ðf’k2µÅÅ´ŒÜ0¡È§^ï7¼å²;PËœ5¾N—”/Ø[qò|³!h545ð׊ãÈ%}ä"¶ùÀŠíÿ¢¿¸b?ÀÓó¯ÌCôDžÇ BÃá_L­°ˆA³šWOwsaõ\}±‰¾e/€ÚAãœ\à4Q'f/ê·ÍF‡PSíª©=ÃGtÓ¤š³Yƒ»·P»|À`°þg}ÿ£ý7êöâ¨öT’غ•öïm”ÊÿÒÒ«Õ‰7w•Lž<„'¹ÈÿI†v‡ÿö¤L…L"ÐËŸ:”HB<"šŽí" Qâá‰ÞWÌWØÅÝð¥B1»¢,{…ƒ;.‚¤%3 ,Ä‘¸f g ©¶Í )ý`µEÊëKYa%øÚ À<Í4h%k<ÄE{ÐoÖ@BÀ9yÃ|>…”S9EÓ|«3€$ðfÏiØ<äÄçŽe9´14{%þ¸Ã‹Ì1=UÈ>_é¹åœ`’Öìih!i[œ“´â€qWÀl_òµµNÄ…a=,Xð^sêøwµºS²MøsB^^I -º5‹™Vo´¿*SÚݳ'MTf‚uQo°qŒWÑcG-Õ`}G*zûIÐþŽôXR$g2Àg÷îëøðñÿùè1èÿm™@üÿþ%{ÌNÅÀÆÂ©ósZ…ùq¬õ±›¿-ôngìú(èü·à`ŸÀèæNÖ_á{ÑÿýYËx@›EÛg1û-—üöÖ—ÒîÀn -nܺ}«Ìà©Þ,Ï/¥BDÿ>?Õøœêÿ±ÿEÕ»ßþ À8;—.€0Ð?"Xþ¿ûDàÒ»¶û_¸ð†ðog€ååÞ§0å굊LÜO?üðÚ§²«²Øï=yqp‚4°03§R1€‚þ»&»^È ðŽùÖU«l*ÏZrv¶B|¹ónnjɆé[ƒ¤C]w´JÍ ý1-N¶ÛnÖÕùmF¤â5¥ÕU›!UËuw~u:ð«ÂÜ©tDíõ©× °Tu*0AsœºÔJÖá·‘MXy¨ôhX¤òÿÛ_[Ûpå0&ÏD×j6PÎH•îýmÎëéIÅžþ -µ†ZhËІS+tBíìqcýÃŵÉîÈó¨aW«vkä¹Üú‹ÑêØ‘VPÏRtTôÐqëoÔ™ÖrT¾Ã!‘i;:_“%¬¥7zߨ;2ªu}ü¬×€´ˆ°ÿ'àÕØn'€°Òm­vWÑQ U“uWeZIë¿ênûLod¨‰<ˆÃþÀa»íÿDw¢ýÿܤhÿþóÓç짉MÞ¼¯€ -R Ìã{_ÑNɶâv†2Ø´… ¨×Rts¿îx8 OÂäùÁ;aÏäh,¤£ÅÆ$” ð–'ó›rtÐ"’›XÐòPnÑÔ7ŽÓ (æÔ s îaÊ P—W(†í9È3x"–±æ -IXœ0ÏàžpæCp·>zðÚ ´´Ø|s$Õç€eĈµr‡ÜÔ„×Ù@þ±Q^B|λ@‹î2¢ehàBÞÐ÷Ä‘î -—UÛ$,çdÈÐÑë} «i´·|"ÿ½• §•$©•d‡@xÆz\Ž`Ý-XÎ*'™ådeG²–ÂöOÕ¿£–Ó ÚP¯ ý_@J@œÎ^½ƒÚŸ±?ÖÐ`ž¾‚‘g­yU²U¬œ ´Q?ƒs+Íþp0¦†æ@ú³^Ç襣Aj¢ö€øk»™Œð”8°è4ON ÀIÇìT{Áÿ_µÒ £ÖòìÔj½f,ÔÏZhãô6dk1ñíDÿëøkv»5ØAàÀ€) }*•š=óëý–àA»Û_M·h4(é•Q·Ö‘h´ðì„z4F³7#í’þ…½.5õʘ¨#ýaÜî“6ãþê [SÄ,û¤‘HZŠM6¤Q`”ðZÉ7Í ìDµêÖ³«tÈP€¼×ð¤Ç­]ÅÒW{U×Âf(d¼2gÜ6ÔÒ“„ºç”vÝñJ¯‡Êè4Ħ÷)Ú?êõ¿oh©ðþ”Ÿ*µÅtc+…Œ.Šk·ýŸ:£º·¾b‹ŒŽ<×fcÏR‡|vÛP=þQ°F_©ÓJª¸ X¨ß[¶lZýÔ+u -s¥|AT!ÛšôöÅŒt@ü`hΙ+MŠ[ŸûÚ 0Cå&´&€ÀK˜$½œ=d›L5l÷÷|H-ïBŽtìðÏsT¡-žbÒ¶êœÃuíú‚×"I–À’=¤Æ-®^¨ñ’°Í̓£<#ñgB`,‹€ëm^0qM=ö´WxºÖ»?ÈÁŒ©ÔÕAšDVäRŽ9$Gà¢ÂULAf7>.)³KÃ%Nößíþ†Òn˜ÌK¾)ñà -A’7q„Ûä‘ ) ¯UÍ0Úñ㟠©þXN; -Ð¥³q@÷ÏràI†š? øôAú’ÁFh U?J?•VÔºÃikæ¿¡ÖÇÀ‹:¢Êól ÎÀªì÷{ÝÕñRTíVsÏéùíõÛ½¯ÔI 4´E;5•©CSµŠZ¬Gã‘•tó(ܨé°ù€ì9k8Y£&×C±§9VÀo­8_N€èû›h»Do•¸I Œ¹VØ@¯N?Ô ¸OôB7Õþ÷âB>Eÿ‰õ? ¤ì|y!ƒƒÿä -èÊ:ÈÞw mLNbXë|ÈÿæÿÏÛßöJuey¾(¾² «ØÆ;߸ØQº¢UHAd쾨än’¤¡é Lå¡AÇW'VìXlÚ‰áXI¯&íêö!v¥Û­n¤ú©v»^ qtoßY~‘¥üR÷÷ûϱcÃÞø¡z׈ˆëa®9Ç|Xã?Ƙ˧þ¢Å Yá  ±ô{ªVèh°ÇIK›lØl NÐ\ÀV¦ZÓªiJ~)~j¢0©àIU$¡nЖQ)ˆ -\&í¬hDb ôHî£ä8YußhÓ`1q*±å#“±ó8E ïå—ÿžDݲ² a!O"šáõ÷“B´äšQH•Ô(Ô¡8çÜhßt-®.ЇÂAcä„oòÓ°¯ò~ƒÜ­ê@HË‘Îã1L_S|Àñ*ΆAúøê'Íí~×i€eô_*Ríæ£¢{»%&LC}SäèbæÎdŠšZQè÷k„Î>S+b÷™N½‹QY<Îpsöü™S«((}ùôÉÓçÏÿWzúÄUŸ=òìÅsýÿö ìJ/ù»~[úƒûó1o½µö–Sε蹃 -¦ƒ¯®Ýèá}¹_°?J|ïÞG~xÿCŽî,l‡õmÀýË–+Ë*ÀÇ!jsÜW•h;>ùì“xT“Úö”óýW¿~üþÞ‘šÿ®øóû¬ 5@Eà‘®ÒÿèæW„4²Cªq à/þâÔ™â8Ãÿ¿=çÛ·ÉŽœK4úÛWôçTYè'–¿+^»zãúÕº -nåàB²Î,NT òB m@ÆXI‘袺\ƒn–kÅ鬲¬Ç(v Èuf>NjíAÔ¡}Ùù?Ÿ÷ÿ²ùok°y,ð?ȿظæá?ê{²W€u*$†áŸöˆ -6ÙDXw­^1ÄF$ª„uÇ~T#_ÐÑ5 ²ã2Z$Å'º€8åg9§É‹z*!‡ñ„ƒV† I }1YV‰ryD‘ÕP“T¼ñè…i‘ÒED“à”O3=¡$õaЏz¸…kARN»åÐ;D[›:ìXÖª‰1µ.©°ËN‘ CÆ`v½T†ýg¦XH=EBùöRàòÓ_ë®[ÀÞð6LÚ ™§:]?퀢3Io&š(uc@âcå´DõÔÜ´Ð9¬›®õ3ÓÒU$R×üQÒîQ|Ü¢F£ê’²ßŸVôï+Í—ÎÀ2àÊÀÙvÀê•G_=}ò䙟L6‰q–KAhE0)„}C{ó»Ùï¼Ù¨;ÞÚjÿ)F·]¿H!“c £8>Žõ]€ÁQ“¥‚H±ßÍš¾)ˆÁ£þïÄìOß$4qÒ6%LaKžÏ ïxü»ÿ°)[y/굈™Ž·f)‘1à¬5ŽÚâ`}8Ÿ°§~Êôѣݲ«û'’À• -@܇O¼üŸ+‡¢L6Igˆ@Ýl€ìº‡êÅɰ UáÆf¨($FMºƒpÊàp†À{¡¼ñ¯ÌûÇX\¦6²9úS6‘ù¶§¥ö#{øËû£í7 ÍÐs´”ŽKÛÕ“ÜÕ¶$Z. ‹+ú ×Õcÿ%è‹{„eß«7B܇^å ¸.Ç´O>Ž! D -°ôE?Þn8ï$Ö„“h[â¦Ëü‰×Þ’óÙá‡æäÐWNvN¨¶ªT -ל(ØÝY(o%TÔ!¼ÄUâ®Ae“hîó•ØÑ CHƒ¾ -òš©$VÎm®x†üv\·€³a‚ë­®L©÷ÖºhÖÜÇÏUNGV^ ¤Þ€º‘3DÓ*P3í¯¹²fRlÒ$]§ÑÃL×à‘ a‘˜¿u W¤Ozê\EÃî ™ÜwZÌÕßÇ/7ÎêüG8áüE¾üçÍÀ«g.¢<} -ô?ãÿ‰o~þ"/¾~þ¢¨»Ð“9Ò¿úÓ[H ßî»]ã{N0\÷tïn€ûwÖ+ѹU^ö P]!CmQ;@„ÿ_/kKÀÿéÃßjÒ‡¢7<(c@õ=ALD’kŸ:€$vx¢¼ähÇÍ-ŒÇüüs¤Ñ`®|ùØWõF(sÜ+ß¿àsjá8÷—ç¨1‘Nþ àR»ütéâÕ+—.Æ+påÊe½þúnÞ¼qóÆë7®;ðúÕ›7õSm'€H¿M‹ƒvGØ?ªjR:%VÞ9&sÁöï"U»Ÿ´@ »P¿à?äcǃ™ŸO¨›Vê·@4@»Ø½‚]U9QB¤ÌþRcê*%M*»ÚNAésìÒf²9˜bÎñäÏQ­ô>|¢¬ýƒaã@Œ_»n•EˆB纭à€J*È`à,¿ø•.d£_M&ã˜Öš£îÀ·‘ƒÙMSÏÆ#¾ï=«¾œ†Wƒ1ÐS‚nŽ6êºÓwò¢}çOÿXõ?ÿ>2Œ¦c^{@é¨×O6v0söו ¦ ÛhU.GŒÒá…é´Oªh>àpMÁÀµc£}¥(`„­†#E;e²¶–U†‘Ü|툠ռ+¹@ äZôÎL$Ý M{µŒQõÇjð¹ÚVC¾É'yRÓ ŠÊͤ}÷ŸÄ-úþ‘ï´þ…±å/…?¬}ìþÖ¼ûÍvgÓ?hG$[¯'vô’P™.s¢Kó:¸ÜÛTc+šbâZ¼lPëœO -Ï*[Ô4§…IBÎÁ’| ”¸c%¤l=+žA÷³ÎoÚ u‡6`Þ~ajÔñuÀÒ ³±µ~z7ZþèupIÃVA°_Âtø©2÷PŽÞFE€ è_ßO˜+~€¬EƱxj9˜Œi‡Áx([Or±ËAÈ¢O^ˆ'!(¯F*y¨ÚŠè;Xƒò,n 'îKñGàÑʲ„è·r †xÁnÔskÍqšäC_§v$}RŒ6bó]> F÷“ޝìÿ\Y]Ív8 ¡`Qž:~ö* -€/üŸ@® - øgHà Ž<· =]†ü_>8R<œÒà÷­·Öœ à:1{xþ½°þ Œðèe€Ý*€|Œö ¹=­0§_£D àŠÀï'TôVg˜{€òÓý?.wèø°Ä@: Øÿ<5üéË_ìÿ[XùüyËzÛ ÐŽˆàÊÙwò*À2 ÀjR¡èêwÖŸÓ°ù©ªw[ü?{Ε€/`ñÏÇØÀ÷ò¥¼é'ðŸ€7o\»q=Coüêñ—E•{Œ©¿°ýóÍoi'ÈVÛµ@€ÿôk-ÎÑb7âáûŠ - ùpòoæô^€Æaf˜ú¿kÆõ'3çС܀»Ñhˆtõvù+¦_`Ãÿq:ûÜ7€Ú<÷Ý£óY€ýÇÝ^·Û?Ýs)¼¢ (öø—[pÔÔ‘xÚ5¹‚htä\ñ¶Ã¤Ûmq È âH–Õàžw7™5ˆ!r57cä•ÓÅzv’Ú-Íæ‹j ׿ãFt -,û­iÏÑŒ$$æ7£¦ùcÕû¼8ë®iÆ•]ø¦oyÁ¯F·?é’öf1£aN©ŽÈÖÏßE¾ú3¯iq¹ÓÓPÖF p,&'ЛÎ^Tž#VûMÄiw0Q¢Gð~AÿÑQ·äzÒ4}Ô–iÝÈ5ˆ:y­—Wú.ëÿeó_øÝ nÿ#è¤c¾1Qi€„Nœ´B Çš¦Tz.3áWù×ù\J–3d˜sXy T𸌒·!´ømgÞѪ¹‡„,h{¨&˜‰ã ½ 4?St— -QWò>ÿ -™.±ª€¡ÃÔ†j™rG5tÖ’`"Æ´þØÊ:™€(šŒm;-œ}WÊŽ¼¬ùÎ=´6*‰'q+ѨäT{ŪÎÀÚ¤I84GۜʗeFÁ†´š4¦À²š¸Œz‹ÙË.5`ÚH'½É°¶ -¦(|u…Õ•þ -šVXIà/;Äáã|M¹”·ý'm¿ý¦ã®pÊU€ój/^¸’¹€gϬž:{áÆ—Ÿ߯ˆðô«'N ÔðäÉWA¬Ýèq±òw!_Ê«²PpØW3@X³#`×1Áõ€W€ß´éþýßí|ƒÓ `Ûø‡>º?~¨µÿUJOÿo^öäm?žúÔ1.<s`À|p_û½þ‹þ®üûDZªþèßj7/œYyóà‘ƒàl V3-Èý ûl@ú3Åð?{.ïojÉ~5€K—œÝýé⥫—®ø¶ß+—.]¾|5¯ûyôøQ¦Þ¸~õúõ¬ ðìÿ÷Ôþé—¶Ùkw|K¤f’••UYC(†ýë¨Øþ‡~r€Ïk4€<Üÿ¡<† -×íM«ö [{{0+5­G} Æ~¾i:› \idÜŒÆXÿ˜ ˆ›ÆÅòìõžõ±BAV•öö:€? ×éêDô)ÔP äÊén,ìúŽ\ÏU›¨ ÕYŠ”Ìng¡ÒšI!…‹r<9 Gý-l|¸¶“-@}d›àY‡ìï¤qÜ9ˆér$¯.£Á=Vûô1ý!ìú/z³?êÚØDႤSÌJm'k÷áy´1‚ë2“ÁbHŠ‚£Ò€4÷ dÎ¥'Š `[©Ë»»µ³,àÜ~WÔ–j×@;lòû¼šŽ~‡æ³©úEæÉToÁõ&\· ÿ}­ÿ…ù?çS˜©“ä&«"þð­DNdzpSPÞ7íoÃÒ3ÀOÎpR¶àKp&aÜü{„†`«!ð?Žg6,p( •ƒKJ'‹!RQ"hU޵àiw_1CSV“±¸ß÷þ«WP9çSk~ä‘[öbõí3eÖ?ßÿ/\<ÑwÉ^ðÕgÎ\¼rëñÍGnbÆ­GÝüýc”s´Ú^TLý]> * -@V†á=`íˆN€8Z]¦¬õ÷ª`© àþ=1ú7å@0½ÅkiÌÐ’Ü—Ÿä¯ ÐÞõ x@òà¿éÞÿ˜ÿO] èN«,(A ô² ¶I÷ÿ­Gιk=âj4—ôÍ£G7.žY9pðÀA—<ª»]@0wuõ/|-Àõ3l#ó=p==.]Éú?—®–—èÿ¿‚pùÚÕ›ÿ—©¡ܸqí†ZÂÕ«7?H€cæTþÿ3[¨Ý è ûj&í~<|ï߃°_ÿñð±ëýì?=øðnv Ü'MÔ„ò6)çoí¤²âNÈnñ¿=Dø½øïz×.œZ9°ò摃GêXÀÿqÐß%¬Œ‚ùÙ,Ê@q \8‡G%:À?>(O•]¾víý÷Û7þ dÜh× ¸zóñWŽëØ¡ìF¤@Ƹã,€â8~ôX ð¯%û}¾CÈS̾hEPþçûÝ^ìÙÞ °÷Ö­}Â`C¥çyè³®©šç_‰«HR@Æ•7þn{2ðpf½#ØJÄú}Üâ¡5èÀh+è®û^TÍÐ#ýˆØéö4"´ES+p1ä/1F®Hæ¨|§ëéGðÝ̦Þ;eõT“D&*ãÂ$Ã®æš p‘X:€ÙÏÇÕ`¶ål{‚R¢XÜâTÉ´\íü”×IAµ2òà4Å'ÆB hË :(Ž4v‘|!º©Ã vA̰Ô x7Â(©Ýp­híûÎBjj¼mýï6ñÞ—ñß -‘;yuQx­ÿIÛnJ~Ó"¾ï¶´!~Úú£ØsÅÿüq*uÙë×#{dd‰å^6ç?õ ¡Ø8Âdì]Ám ðyʘb)Û˜ ¤aßæE²€,{Š=€rAB]ôˆ“n©.ÚUoà€—Q;_]Æœ˜Â­p9ËöÅÖ6.£ö“´9ßtÑ~?ü§A´û»A¼ƒ6`-®¹&”Œs`cô9âÁIL(#êQ  –ßqµ*,ä¼P +ªBé’·Ø1ÇÕG.BÍR½#e׬ÅêïÛ!Á¿HÍÏꢠå:ŒWлӳ¥—OKÔ+W U˜[ë¨ -6rRÎ}@¯7R/ˆ¶“J1æ}þûÓ}ÿ¬ú:`4—’Qü2ü¢s¥à èâ²@ÊzÿØpXº .\¾xá⮿Àÿ¶Ý¿ý™Ó¼ @Äç ѾÛð¸»ä˜+\,(ï€àîÔþW‰PûÛßbÑ»m?Û£êTPÈ´@GrÏÇ·€?jÇ´‰ŠÿsÀ¢+ 5ýçÔü €âWåÙS€VÀæÑÍ «+¼qà líƒGôÿ—€, -ìj€®ÙŠu­`ÿg)€Köä8ùÿÀYu­ÝÎñŸ4nåm€âÿÍðÿ<}ú÷¯¥€ÿ»üŽ.ƨ™ÀÑ•c±_KÄwáë೤ |•g~Øuû]^€¢œDžù~¯©=ͳ&p˵Ép4íŸìU#-‹À™6 4ol( gˆ ÎÚ6£ðÖ‰Ã'”Ô‚.rJËD¤ ñ×îI®2è0½(RW¨j]Æ•ÓÃÌI°Wˆq¥?äW®›jV5ŸÏÀ:5ç™9Z(•kØF mŒÇn[|"T,¬ÁÅSM¸-h2©Q'fS¥™©éê.åŽHB—u œ³Ä¹*úð§€$!m: Á€'Ô‹û> ¶œôÔ½c¾?¬†vºZ½^=Ò>µ¬5áº[¸&9%¬I"c‹](gNüÿ^Ö¿æ[öùqÆÁsµ‘SˆÛ²ÿ}¶†<âT®q1¥a+“ËAï¤ÜŽ­:2ã9wÚ H×"+ŠlÇ/pÍ­€% S–ýU5uX:rˆ«¶\¿~}‰|l©ÞÆŸ96r*ƒý‘w»~•<‚uyGY¡%û˜Ü»Jï½zêV˜òÂâ¿êuNJ[äŰÆÈ5¿ÖìG Ô4·JÉMÚ#{ÖrÇ7JÕõtËe’—‘ïÁÃ5O˜¡M–r··épK c<ÉèWèÉQC&@¹+k†êÉÖ¬™gôš¢s,¨}*a:ìÓ¼TlgÖL¾Ôh‰½]„kgQ"Q(6š0*¹vk‡ÎV(˜ûþÙ«¿oð?ˆ.vØë¾, 0dV@Ydnù~då§‘úù Gj "øóꯠÿ.ÔªGþÜqà‡~"æoc¿Ðïb1kG„ðð BpÀÃûÕÏ+]ï­°íþÇGŸ£2P„ž{ì¾ß…¼TüþépÏAéÝ'¡ß°˜…Ò à³ûw>¼ÿ1EzÙ‘5€eºÿ ÅÛ%è à8ìj5€Ðb&ÀãÇ7/œ:ràà•++™ `]ao¹ÚÿöõŸó­ ~©à¿~šŒtàÿÅ W/AÂ>JÀåË—®½ÿ/ßGñøÊaš¤ñè¦õÌÕë(_‰ÿOŠ¡¿‰øâÿÒ4Àv@úVV ¼†æ@ñ: @Y“BlÙ [6EÌ¾Æ  ¸päÙ´)ÝwáýQíò^"/¡ˆõ©¯|Ö?E^ ©PÈNö»'|F{q“Å‘Z±|J -Q"2ÂG¯«Ù¶‚aXœCêÙ°§œ÷ªˆz€‚¡Í?[¸žT£/š~¡Ý4­ -1…ëº?Df×°&ž˜ &+(ïPÿHHã%>ERÚ¬(á;)qW–„Sí/r»‘b"ŽÜAtÜŒÈ :Ú ²´ÌJþ” 9wÀ|€ec)ñ;Œù«$+;ÃÁ°ö×)¹x°¯àÝÈ > -¡?êm }pÊþ àĸøÖ¿Zò¯WOîøŸ›ÿFùãé%X‰·º¤d‰ª]uœ£._ANî*Xç ÅŽžÐu²è vm@g©¹VMZF¿3thy‰…£4ÑÑ\ÉÆ?ê|…„ΔQEYúÖ¨h>)‰¸“¦®–g O(‘šWjÎ…]dÑ9ŠÕ„t©À¢/ˆ¯s¨s_ò"Vv}\ÉGþÓ ®£¸`4mˆ¸¢lØåÂ1a|…m`Z7.»Ï?ÊGÝdn‰¡Ä~ØçD+­§Ž‡€e›/@LÃsU„¾w“fWÝÅÚVs Ô! -}"£õ£aÌf¥UµŽ„<‚É -;óŸÙˆ@*6vK­d¬u6¬FÏÈcŠ"U£t8.xJijB‘#?h[Ó™âÈ\Ù÷æ@ßýýüÓ¬xìø)ûýÏŸ7Ê"òWŽœd–E¥€?ò^™Ò«ÓÍ«¿æ_!ÏFxkÇ ÀWHÝ- Ý»÷áG*÷Þ[_—õ¹{zÛÀМ åZ;”N­Iþ‰ö Û¿|ʨÀlï•n~·Ñûfþ?}øŸ>{àB@j×Móü‡ù¿ü™“#œø•Žýÿœ‹à[n^üÙÊñ¿¼ôçS\º_Šºvö̹hÔSépçÙx}ãÿåkW¯\»‚ùÿ>‰|œWଵ}íæ­Ç_ýýÓÿûï_õ±È 'õ(¤‰c¡™_D„s‹„&!»Ô ̦SìE%_šßë,Æð?|HÈsô[6jˆvB\·—¦¦ØGî8l³c~ÃØ¶ð•Løv¿6+ó¿ß'£äf›k؈\ƒ\'àÛ4äúvVÍáî¼#ö½œ˜ú®©Ž8­0b*J†)È¢ÑVí¨(–»¼'™"BÙ °…Öz2J":€*@K‡t‹ wt²b¢%ÝqW˵DVaT’kóœñ ¤Ì‘vT ±à;­°bÎžÄ Ì‹T‚ýHŒðÌòL÷gÒÍô¨ËNº;ô4S¬4K-–u·3¨gÔ%7s.Ó4ëa\2¡¬Ù7 6'@àdàêUSàG¥0Ô;¤Z1žDÊÂJ¥e`‰ -RS@EÁAOÒj§³»jƒ•h#´À¸ëصëˆS šQê-¿Ù·5Sek:î éÿá¬îê…¨Ó•Ó¬I¥,¸ÂnÕµYÇ—±Ö2妚̈؉¯Ô9¨ŸäPY(½N’ ´ë¯ú¯úæç¬Í=»“Š…ºwï·¾àç^ñÌ€r)Awz|a€ø,\2ø«$˜ó]þÌ7¾xÿ„Áˆçc¡^”çêgŸ=tIÂE¼…ƒW5€òÏ?~õˆÿ™[1Çÿ¢äûèʰ?£,uÀä=ææÔ©SjjY”ôëU»8¶Ïž+gËŠ€—\À5€®¼?ïÿOO?ÿ·n\×;à4€GUEþ¾]aî hÏHí©e){«¶ þ¢J®¾Vøž¤Ä‰ÔÉf§@*’¥læëá,{0!ûÎ¥ÇnRrIŒžxÀ ùÆ3Ž„Ñ%XÄ@ÀùÚL67n÷¤‡¶³ kâÿ¡ô8ùÀ‘ð¢Z-¢Olì ×{¾o™Ë§ýG¹“_-6á¶®TFMêT…t5€'HÁpÍeðÚ×$ƒºšëì‹6jãÛM ¥ã1‚,É©:+ä1Ç8‚žc„¸…¡@¥À(=Y@JO‹ÀW¶R«xçH6Ó2qrgÙ‰ç_l¶Ö¥,¢X¨7Ø’¯ÑŒ¶Jó¢J±ÕoǬ˜-øíéª ‰T9P§&c.¦o¶ Ìö~VÜêÇBó\tRm¡J°;l&Ý×Ѥ³$Ò 7@0'FªÆTO>w—r8<›—yŒ³£Y£”Ñ*²ÑÍ<¶’5•Y3Å3¦&Ûõu~¦ŠÇ­Ò¸**hBÔhM³5Ážh|]‡Ÿ)ºœ™ø_BäÅü”ŸT^fî6rv¿I(wL™+åEò®ìzòñæŸ¿è ‚‹°Šˆ×ø_]ñP3‹sO°?H¿üõlûÕ0° á¡e@é¸÷^ýÞÃO¢`Óïð´p|Eá#ÐXÿ{6d4¯ÐÃÏvÁýÿŸ~Âæ^™²ûZAvÕ<õð?}öñ‡wŠRðñÜÀ¥ö·iùËgþçÀ,ÜwQ@)û_¢œ]9ˆpð€ã틱Ýb®…ï<?Ã6%txÿ3}ó¹ùb/]¼pé -_ìðßÑ_=ÞÁéÌáÿúõ7Ñ2î …þ'ù,vž|EÐýŸ.€cñ¹§ñ_6-{þ1ÁáUþêsÀç_YV6¡¹°í@J¥• -Á9ÖŸÞñ€½˜)âgÊíbZ$¥2ÑÜ«ˆò\Þöÿ1uלõö¿¥&к"TD ¦R é2Õ¤!éöËHß}_.Ó‘/0hv-³ˆke`¥Ta×ÞRÎ*ù̘Q뉄U¹–Ìf¸'@ÑLV÷Ðñ’Ö–‡šè”˜ë®ýJ\…”HþR \‡Sdª@XŠ­àZÃÞšùcÏçíÿÛ‚:p¸ŒÇrˆ$ÁàĮ̈́Œ‡kUû-\9oÔ¾ØË~HTó¿à¿nÉ0·„þzŠmÙ ê]TI²œ$Xÿhš ’ÙÓ,4Œ&h1ÞÑ\2iäøâ@Š“J4ﯾW~h—ìcX‚Dèªè`À°\#G` 8Ï}D²MPg£áh„uº®NM]jWc-c›¢dY5éY$(Ý5JÀ–O Jo{Q¨J äœd)î-£@`H[V_Ä”x-PT1kÁU‡à)û4ØH\œvm  Ø9Q¿78]@ýÑöJƒ'gp…`~¦6I2‘?!:ÍJp挠±Û-ÐwÚHß­uʰksä1 ú8êã”(I.¹ã[¨ÊÀ®4ê€bL{¨«™*ÕïÄ­›! òi!rR"' ºj—–„ -x¯ûpÈKuT'Q*ô¿D[%ÁÿedTó_^1±ØÆÔÞgO0&õþƒùW.^=ÏæÂYÕ€2ÐÅìX=æŒï˜ @Ξ$àïD|¿íw‹Ànn€éÐýÝ¥;÷ïaÕß[ï½·4àÞݬû¡Ìü±ÿk¡ú˜»ü— þ*Å׿äÿçãW`{@Æ>D°!Ž…ÿ¼ðdhÁÇ­ð(;|3  …ÿe%ZxÔÑŽEYË(€Rþл1ú[üŸ¤&Ïž=ç’À`¿Ã/^º þ_ÕþÏôƒà;ÿܼy=tãÆüUÀèÿ3ŸÿñÕÿpó?¿r/@Ó=²r°à¿³ÔôÀ' - ü#Hüò“Mv–UÅGhÁªø^ñ€\|„Êgö¶#5ø÷ÃipÌÈÃ’†ïÛ5Z€¥@à]kçˆp˜¶¾Ð`ß[Ž*pV!Å2¬Ì"´<Â- î³"˵B»Ó³÷ò~ås T| ¦ƒnüÆÉ=‚5rÒ¸Y -KûRÁ¤´·@YÇ»Ìuô[åêL.*¾, —øic%R+cÑŒÊíq_™^zD`Ý1lJöå:êÇxb¯…Õ>a/ʃWRÛ®YÓ#ïÀ‹ÿ2jVÆ -ì' 6r^¬ÿðï ºMàv3êO§[ì*›fì°z0\H©§ØŸÕhÚl5õÖ •à MéÆ6¨3Ù(À\Iw5x¦u £áïGîuÈ’]ÿOÆâV(p^ëõN—äE~´ɼ-¬©ê. ¸ÒWª¤èGâ¯zƒ -g¿ã\”@ßKœµŠ¹n[#Þ¾{Av6%ß3”§Ù¬!­›¾(¢®Ö üa¡;~ÁІª6íÖUëÁI9R! j.¬¹´¦ m“$ƒªØdíÓû‹²b»!´ŠÒ\¦Uw ÐõyæIµòù¸¡•Œ1þ}j@c”†É•Œ¼ q†©¶¦Éx«ßԳʦü“ÙçU±öUÈ uÓïo±‡àRØ 9FÅAšP0´ZLÞɪv.ް(>Z?ä³'iìÇìwCÄ‹íöX½ýû µO9Èkí_¸põŠ“ÈÊ@;PÆÿ’2>;±>[k—Ïùà|ð~ùÛžá÷– À®ÝÒ¡»kKwî8Ѿõhrë¸{g—.€Åäÿnò_Ê€_¿ôq ]ÆÄð©³ø±Š@YM¨ø“‡ÿ鳇–W »8à÷öèð/߯Àþ‚þËô(o<ˆH­}Ô‘÷® Ê¶­dìfY³Éþý8é8çbúr®¸@üü×\èæ'ê¯òyüüwà ¨™(S»çM´˜ÿþÔJʈÇøç¹ì[ ü#HD@ȆO@!Îňe%@Ä›X¤ÈÝÒY²¸Ô}kÛ -sN{C8Ùy+‹œ­éF4\¡–çà¤âj41)ͳ@­Ö”cº«ê¤¢è+.Rü)Êd6b0L"u˜*>9§'×f©¤Ç œ¦$4gR0j"Üí"‡b¶ˆÊÉ9 \sÜØï¯Û£+‡^‡kd`Dµ^‹c©kªÝN·Ÿ>»CÊ8@ŸeÊèP&Iþt¸ZyúºoÌ™Náz™H|"#¤¡Ú"öYWò\ð¿Ûþ"XÁ+@¹œyÿ¯ÀZÊ'¬@°£Þ²Ý®_è#ôL΃T“FÇ1ð?£q6Õô‹)âLËZg1ˆã2ºSö¬ZrJVÎDOÅoÐ5Òîsl¬¡X%6=u„ÚתاR È ªúbJÀÕû:ʦ€ëúÇþ/Ë?º|¦ tÀQ4€Å+þ4N›Ð»«ï¦'àL&¦Gæ<È@­ÙpõR™ÓqMÿ³þéü¿ù+ýÿ:\ÕÉK{’IªüE €ƒ³2‹ðZóGSAtžò ¿;?‡È÷ž«"~® l9¨ïà¡yþxºy¼ .*ê¿úø1yxâ!äH´á`ôÀŽK”F9ÀÖÉî"Ýš/Z[;ñVÐÁL,Tvɲo½:ý¸""XÃÀ,â˜Ôû‘rhXÃY D^Ád#2ÝÊ ŸÒs‰kôƒpmbB…¡ZBÒ#aMP™¯ÌÆì$õôéëäÇ>R"‚¬qÈ“ -ñ‘ `f*ót5ÍxÓ÷õoƪaßÞ£d`€¨I‡O(­1+.ŒW#°_®*˺€Úœ¬«j÷•Û]㇤¼£9øŸ€°³Œÿ$`ÑⓌµi¼D)¸ÿ©5ƒƒç˜Ÿ§`í(@ß7˜°*ßgŒIX,~ Vð´ƒê`ñÃ`Ïæ^ËÍpTÕÒÐ85á¢5Ë- ²J¥HXY–Ÿ¯Ã³QX¤ŒånÈ¿Mo„V¦“ ×â³ ÙB j«¾ŒÐGÐàE0çF.yÙf㲘êF„Ö:Xë—Ö ÏIõ“[¨0j ¦8Œ‹ÇT«³KT°4 !~$¿% Lkq{4„©¡ìà (ÓTTIa!9ñ’3ø :;$?Ï, -åJ"iÖkÔfx¤]¡±¨ÝË—ÃlÔ Ad|gY{¦s«ùœzl(ðéÐÎJc0¡¢¢pSˆ »qÈ„øo¦&u—=sx¡˜#²ñ’8Úƒ,Ï—h ô¨ï¯¥ùî"ˆ^÷ýþ(ÚOi>bùŸñë}{ìõ+.ä‚3g˜˜þgšÒýOxÌÍ…Éÿò'æ?æ}Vù/ßÅ&—怷~"þóÛù-. ¬-Ým=½Å,€âh/ƒ»-/Žî¬ßyðëûÚûKÖ?¿ -ú†ƒ -èÇ À=Áÿ¬X޸ˣ.{»Ìù]8šÀ2-Þ  àè¼™5÷€ÿ£+*ÅäV þ¥3óÿ¸À}ª/ë:‚ÿWPòà¼ðÚÍ÷Pèðße€¯\½á€[e…‚[,Óã[~¡[lC(€ìé’(ëÌOÀ«XðãÉG±?æé[úD˜;”Ç>áJ­®% ;Šk¡”pi7Z-"âo]ðF××V¶ ]òŽ‘üÇè"YäÐZÆ´øÁ êu]ÇAEEPLDF†I{ÕtH¢( Äï`¢v•_„>ÿcìÙ˜› -¸²œ É52‹»`qYÛh=¹È£öPXmî3ZŒL(Y••FZìyPÈÛ}Ç‹–Ø4zçˆÚ;]Í* 5 1B²ßZÏträÉnüªÊx‡vx; í8¬ßbÓNð¡"Ö-kå·U`FeLd× áT7YfcGÝ—œ…v ÿþÝôDÿ¹4&{;ˆz±ó¹a¶ÿ¨ß ‘ê}ä°2À\ …Q5f~ƒy‰-©3™ -îSÍõT”ËuCI©:À»¯Š‚›õ~V££€˜ØùêjJæÊË—l@élN4î«ëÌ« ö=»a©‘¶‘ž«ù°úY=S‘î£ÚÈ<ÇÜ4Áév&Öz’³Õ§ˆˆÅ–’“4®fÀ¶Ôµõ¨Î–&εXMHH­Ú²uŒÝõôh½ýªëÅò7}µ0Œtž¾ÇÿKéÓÏœ˜ÝÀ}«@¿ÝY ÿüã% ìç·DÏ“`>@ð·«ýO—zVϼ[àõÔ»é8Wfœ=Ñ.€XÿW¯ÞÔø÷ý?‹5€þûï¿ÿþÕ_ù¢ û -þßt‘—>åïV’äÀg(`¦ßÿü]ÁþxŽ=4ø±ÐDÊKG@ùøå,B~[€xX‘3 O(Ïp5ƆPNäôçUM.†ÈŸ¸‘N%¦jc°‘#dˆ†—²,Xðÿ„øàË‹;v´¶O¦…@qÐ#I¹‚oÒ—™H­ððUcøG¾¶Œ++¯hÐH‘¦½ Öó%ÒW9ÝE°æ¼]žfÉPÜNºII$÷›¼Y'1‰´e›¬©äFY%0«ÜK—ˆâ±6À„ÉNY&¡s¸à¿€Cz,¥5­ºIìWrS†ðÒé ê2¡ôÖD+¤ÑÚDM!<‘§È(˜¶2!Â/ã¿lH 8³˜÷¿;üÛGí}?œ>"šj¦õ¬þ5E«T;$/ñ¢šz”ŸºN­P€”œèÞ û]•w - P*5åÔƒ”ÄÁ¸>V11Xÿ, ÷¨,뱪‡=Ù!¿ÉÜ8}ÍR7‚ecÕhì€û¨^Üë¦"4×ÁŠ Q€C…8< ¡ :Q-/ñŠ¢D¡÷2èññ…t+Ãç@¸ütn{@Hq„ŠDâŽ!·e@}©} -]Àa+~T}TeÔûœ%³¦ŠHÅ&'XÉÕ\$˜+².š†kN#“uh‰S™\c¿“ ”Ím,’0“TÖƒ!ƒ±Z‰ÈI–›4ºˆ&înÑ[œRvDq—óQó)Ë'Ú²èðq>áú1?[qG¤tX° Ncƒ±0SµÅ#êfŸË²Öv¢8²ÌËì¶#ÿ_Á’ON-M x©yo•`ç[:ÄH²éÑ™võŒìü:Âë&SSŠa:èõ8E¥ŠÌ‰.6›ö,íl®¤]lCâz¼ëâd°Î‰sä@_ -Çy¾nš…¡€uЇˆ5ÌȾ }„ÊBa -vÄVHΛHÜÂ,:sêÁqøV«Æ ð„z·†)n;ç”ðMúüɯz‹N~_—ed€,Ó"Vr•WLs» uZPý“Ä`SŒig$"Óí÷'“L$) έ%È÷’!ÝÕtÔÐhiü\ñU“¥ÐH—  ¡³Öåb VU]_xtDS©¨Ü¡&õ'èaØ¥—* -“sŒº@ÑlKÛ܃ñ9¦û e'ð^.{<ïõoÿæ÷̃ÍQz?y𑉀 ÆÙ¸ÿ+W¯8!À·œú³lb†Naæ/¹ü_þ´8¾)³*ø?×ò¸ò-þÀ]lz ¾uôoO@9È”=7øÛ*ë(’Ýíù”«»‘³Ûëíß²àWLÔ-àÃoÿs’m ø‹”¿ó3í0€v @Æè]Õ¥ß\¬¾èÌ£eífmíVÈ«€ß úƒÿ~ÄAU¢\¿~ýê5ˆ¿ùXÀ˜ÿÿû¯ÄÿÖp«·|ÝÓžDb¦¨ÐvøšÂì8  xØ™{ޝþc|¶ý‘ÓÃé‘A -–|½‚¬_x”.J,¤h` -À;Ñ©­h@Xj‚ד±¯—á©­xıJ¿tD”±™˜bÊMÀpM€ó2ÂíÐ`nmÍÉ|óA:iø ›h‚¤Á‰È7·÷Òï«­ c-Ôë?H Çcþ"’±ÎÛ0“ƒºÏ!2°dd:žjVIãÛ‹€Bmi²e¢ŠÕÖŒ67ÓŒó£RR­›òqU6òª„Fe­ ²ÙŽÀCk1<ñk‡Œ¶\]V‹ÍFô÷Ì{уN¤,¢ðC°ƒ4¸ Q ö¦ áZóªpMtåjþÚÈuŽ1÷äzPùnC È ;ðŸòÝ ÿsëOø'‰öÔ%MÖéG5æþü| ‰hñd‚À´ÍËw¾ç. -@¤jÎjò—Ïö·@è2¯ñøùúÉ5dþòX‚ÁQú³‰ò³_ºo§ ôéãA—NUf(-Ì -?‘"b–¢9›oÀœ ßhùBé×àê8Üã¦m­i®ÑÑêSÓhüƒìU3ê‚ßöjŒ€òä‘pp­™‰ üóŽ919Ñ%hÂ=p†pó,™Ç’åÀB"‡EEæ †a/sY!+Ô¸ïŸbTãð¿-YÅ·Jqʍ1™A ¡ÜA Xëœè9’¢‰ph­«L7rR0» Õ`¨ ’YãÞUPø„ñe ®Ý•kËÊ@p¡Š,•Jâ´¿¨VíÈÿ—ñ_@óvÉ¥~,‘—½%çìÈi<NËÏ´žÕƒ™&uå°Ê¦ž‘l¬ÊdýûòûÂ¸Í }Ê2àÈ!ñdΆö/ZB› áÒÉéZê»°N¸,I•†“ZÆ‹/JT§“Eyˆ†‹jÍR+ÃæAùÖ£î Q«uÓÛnRTÄjä8¡áNT¡iýnʺˆ_Aæ BÑÚUUÚ÷ ’|>\ç-úƒµ^½N‰:Ï”Šé mo8¬ü êÃÆÂèéÓpÝÇ2`¯rd?Qu·£{D7i@aÁÙ»$E ~<³qÞsÉ’CC!ÃÑ=R`fr$€8K°â"?dJ¦=q§4úùÎYò‡ÊŽ8¿mÿÇð%¾àˬäR€:ÿù¥ Œ¸zÆYÀÿ›<𦓲(P<XØ«+o¯¼³ºú§ í»ï¦ǵ€ ñ¿øÿÅ‘I~7E÷Þ\f¼ÿøæûÅJô}?¡]×oÌÑŸÝùcGèOõGˆFÜÙž  -3!où±@Ûø¥ÊuâŠ@‰ 0ä/—”ûE@fø¼òçB!PsÒÓÚëiœäÁB šG¼SG×窉Ԉ‘ƒz]#ÅE”ríûÊ:ÀY(ô–ˆðÎ æálÜ=D÷°-ÄÙhôÑÔEàŒˆš8 ‘£¯¥édVk¥ÊÜ–¨1jƨ"O¸6o9H>áEb2Ëi»l#ÑÍ’˜£ oLG< ÈDìr3©+d˜—¸Ž¨SQPâ™ -¥¨‡¸ŒVlêHcªG™L‘kºT¤Í9ÕéÛ«Úõ×ÖNžh² )Ã!ËŠíþ Sõ„òƤ-k±ÕÂ,q®Iq+FèÖM`¡Ä— -¼XÒnvXÿ¯…Ë©½ðcháGr ¬LÇ“ô)[9ÇU2U¨ÿÈ®e‘­®› €GÙ‰O–4œù P¦„DQß%@nô‰Óà€/Ø5(†qX°Ó¥.væö c¢: P\Œ·¼¿X”™òõQ‘€ùR Ôl^kðƒóÂ}ðÔÀªÕm~»Zûº(ˆ¹Êлâb¦‰ GXÂf@-ÀPùm„Ó=ûÌ ßÄ—D ºìO©¸r‘ªg0ÿ7|Ò¹`¨mØjÈ“}Gåã^ïN˜9±^-'2“¼uþ´dV„]}<¶"š˜WTZ”¿OÅtÒïT®PC‰¢ÎƒA1ýD‹­©("gO´<šÁpå<ÎÙ´Èžý”½Å¿§Ú›ÒÿŸð…^:t¿•¦ûJêS?;sÆþÀ^óßõ€/\¼ª©*€p8¶º±/eù îs<àßÜÏ¿ÜùºsäÏç -GC,¾{¼Ø¥€ïß[_w>Oäì£ýj0ýk1`{%À92ï$ïá»üñ+}¡h |('$ÇdØaü°Àn9!O€¨/ÐÏ¿q´ðø—õ÷w¸âp €øß:0¸ß<¢ @ ÀßÕÕ·­èÝwƒýqãœS‰ke•ŸàÿÍ÷¡¿{W/¡ã]Š“ !·€kׯßàÔõ«¿b÷†?ÛHšIÁþB˳¢FŠþ/y$±ó‡RÛþ -¼J|üæÒ¢$aXú^ÄyƒQî“ 95Ï ë4›£ÝB]¾Y†ºÅÆjê´L’Ñ“m¡Ò2¬ËÃXœÞûè*.Fd#µV¹n+×ßCåTYæWÝÀ¡&r—iz(¿?îq=‰PºÿÃ&ß²kl“p"Þ7¯»'ì\OnëZÀ¼‰0N¦å•&mJ&ÜÉ›‹Ã€¤6kP¢&¾^×AÆ"ǽŒ¥$ÊãØª†ª¬š#­QÐXÐ*Ê>õuÖ -€aîåò«$°ät¬¸œ%©QˆÑ$P”5í´»Å¿ëžjOççÚÃùÝJØý'‡‘·ßè?ÞåÅ1Duà|^xLoÒÞnè#â¿·[B„—)˜_ÿË´ChÿÊ~¶BîKtïÞ‡€ùýûwÖ^-€‡/) w< œŽàº>zvÕ~ËÕeô_à<(÷¼mÞ°­<üø‹àþ² ØÏF7À¾ý¶ÿóÏ—OÐâ˜Ûÿz¾z|õlß1€¼ù¦í›ChלּðN€VÀ¹³ÎÿmNð4Ï èýï·ëðwõÊ¥¼$èâÅK¨€0¿JÈrƒÛüˆº¦Jùéÿ_Œ(.7òä^Ô†­ÕwÞy' þCÈ`‰Z/Àöº~1­¡éòº<ÀÆÂÉ%„´cí|òÑÊÓ -º[°:¾¬Äq -x¤…ÃÞ <ì×QB Åü£¼Ôÿkk½µÃ ŒR*Æ”²H‹‘Ã^+ËH¨ÊÆzü‰×¡ä•¯ìÑÚæT±¹ ,cß(cGÇk'K.Ø®=UG£”T¸=ð†ijÊ„ðzHP´rœp1ûhÞ¸6ãTðÙû1h ®ÉªDl" ¾"Í¢qÖ[ºBxÊÄ4€ô 8Ðy[¾LºS‡Ü:™¤Ï®µ£‰Yý³¢RB9[Ôš§Ét ÿå¬üݶþwâªÀÛ %ø/ÛC:FR¢ðÉžKù¢p™Æ8rŸìQë¾íÆ©MÎÙÙlªÝüCq -eJÐã‹ÒCÎÉNµîK'¸E“Søµ.±®»O4K›{ÀÝŠ(ÍßêV÷¥õÅôë-ñÔ× Ñ Œ $„‰« M|¤•Ó¬áÀ˜h¦‹jd#U‚qÈ9aÍͺöË&?êǼo›‚§b”`m÷!5Aƒ¤~á€ô@æÙ¡J—°zéÿ¡ö¿œÍ»Û´}äÅ:çÜOˆ,ÝorRßÙ3`Æ…«šûYзd ²`Þœ!hŽþκ^£ _úúÉW€_ŒâCoÙà9BÐíÿ륯xǵ€QúïÇQìØÙà»û}'ØG}±ÒA;DäW(`¾ƒ–ƘL"ã˹ÜAÔ¿ýä“÷rN;ß!‰° .à‰œŽ྿LÂô€Xÿdþ6 B€ép @æ: î¥ì%ñÿíwÞÿß9ê€âÿ?sŽŠ” -úëÇ÷+ _»ÊF%ãÿÀ¿/ ¼p ÀH÷ÖîӬ̨{Ûj€c–gÀOÔ€]<¡Ÿ׿7•¶¿DñŒùúPûØûmU€“­£ÀÀÍž ɉ¬Ž*ƒ²€ŸK»çŠáõªu𴦨ôûˆ¸èwN„+.ÜöØ€¤!Ü2$üø`÷úö +-&Sß 3©ÆYL™:„»#ñt°f÷¼ø¢hO×ËÓ= b X̓²žaÃ×S;0ñw]w¦Á&—šãS„pW¹%}ÖlÔÈ7àÇûéb6Ù¯§p Ž ÀzÕÂʹðïé~‡ì!àÿ¶)='Ÿ@Ir Àa<§²¥A7lp=!c±ûµñg(DãÍ 8 ¢Ö? #â•yõœ:‰üæ…«8¢…¡¼ñoaý¿þÓ$Ê÷GåFy(¿ Í&ÃÌ¢×ÌAGV”(·šÀ*uj,ª`”©,\ôOô–9š'¡Üò•;âÊPäÄ 'HiEÜG^Ínl~¹/¼eò_~àžØg냓- ó.÷ZpÖ~=V!-Ç,˳êªÎèÉ ![, ‘zRe ¥ª–uÑ î@}’³ŽÓă¿žñZoÍõ<‘_ô_‚—Ly´Î3£ªQ8E±`7{nÍ£‹pD¬è-œAòÝ>”—«¼NF†Â“L8Ér¤O€fcG=ÅÐE?¡°!´*ŠFeÈ’JGOÏÉ"RïM Q@T—J -*¥À­¡SµÖ–žŒá…ŠVì·‚SÑ»ÓKOpú£²Y:ni±³MÕEØï/! Ï®ú.GŽA鸠2 Àù³gO9ÌkcôÈ1Jÿ¤¸¢°'‰ò‚þ6þû[`î8°O°eô‡Í;È!yÀõŸcÔ@Ã{YˆÍÎ¥mCý~éר“âxÀÇÔ¡¥;¢rÄ`·C˂ڀ›„çD‹ô{‘øŸ™ÿ ûßñzŽÚðæƒEéŠýßzÞæwôí•·QÞ‰àÝ3gÀþsg/üeàÿ҅˾øÆ5Àÿêµï¿ÿþÍk7o^ÍJÀâÿ¥Ëšÿ¾0P€.¯ÜÜU0ú%è/.æ³ò·s€…`õg«?ûÙŸA¿8{–ïœþ,˜ºåÝIñ Õ5N" øÎ^Q„qÃed]g·gOú´AE`±¤AYLÜé SÉ@\åqæ²#µ° ºŠ­“ ,ø/ÚuTô ì:Jfm‚!(4Ø"ÄÔëƒ - -›ªþhðgG YEÒ¦šU=_Tª-"ûü(WÄå)\cüËl†®ÑFÓY¿;(¯¨…G j|{³­Ž:EØ$»B‰KYÄî-Sd¢&}ìOd“,°IÖFjEÚg`šzƒ«UŸP"yɨ3¡ýïR¥ àD—ÚtÊPU¡°Þ"݉q)·HQ®‹ãA®É¢f æ•\'œU£x¦lµûª‹yÿßÿT¶?’"˜…ãX£ZM´¼‹éºè Ò&„¤°Sºƒ)×DË`jö×”X˜N‹÷9] -ƒÞ†pchÁ40_²Ýs%÷K¿;›®Nowùó}@S@×&h­[ý2WEjºVtM9‡ENióRG±åU¼ cØøQ[¹dë‡× âéWƒÝòå‹b€⎷!»Cìq±##™‘ׄ_˜…=ý&('{ޝOB .lq- w -êò#~Óçö’Bž1ÂÃaØõ!õdÃ8²GªÆŠ²(H*e6òf9aÿ"U9ÄÚ÷&ud7Ø_ wC»N‡Ï7ûɵßÔJÓý¥Uöƒ}þŽs0€«^@-p àé’‘Ð~zà›¹x7*@?Çõv'{9jñÛ/@»-˜¾“òâßxæ -À½2ö®PàøÓO¸¢±>Çéh€ÿk€O_¦OÚ>€¹ Ýùó>ï(ôiq -ö*²ÀAÎÌÏó×ýNr@qèîßáÈÉÇ·ìÐü³Ð‘•Å‚€Ò;ïˆýo£¨”‰€g/œÒ/]¾ðoÏ_þßH@Qæ®Ì*öÜùsR븎pëà?‹ÿ9I€ÿrtËÊúÁò¹`À«³øìîø™ïüÅ/~yñ—¿üå²`ýïJˆ®W)#…ý(MÚï+*€²ô@Ž`‰MF=`@`@BFçà‚¿®‹ŠØå”VÇÀ0N¿ÓiË1òTÑ„€i:à-‡à-ßg/xDc -@Fšô†3€k²!œÄ0„GÒE´¸XLÏáþ$ˆ®cò’‰p rÝØÅw¬l-b'Øsµÿ›Fi­FƒL®°¤oo:‡@ A@ãÅÐ ’?·Ó÷eD%›Õ÷0h&ÀõzÚ¯¾À9]8UK×ÑÒC`×ÁcÈeur -l8<‹Ìw;Øÿk‡ßšÏ8ì¢.BŠ5A‘ RÓgÚLšÂ36½_¸ßÖ1ƒœ-\Sp.9Geâ ¨0ˆÿóöûþCŽþZÁ-Á6ÿ¢vÀr =ª¹LcA]#‹£^w(ÔÛv̘ˆ 8Œ\ß?îo>pZ©ÃèZf7“‰" /þ -–ê8ä_ÄÍ,bÎ@üÅÌ· À<–³mƒ+G 3ævÓï®Áè_ŒWJM-C†9´6øZΖ¯ý2¶Zn†%ÿ ¡i+¿°M¦WGÁÿNÜ>I&`T,Š/ÔŸ7."*Ó}Ë!ü¶‹…Ëà€[¨žG2ö}˜)NøàP0 +ÂlQeÅû.ë6yv‰’z›<-QEÕh]$ú‘Üæ.$ðB~ˆÓÒ÷Ùv—ýVUãÛ È¤C,¥”â 2„ºäÛ‘]Ì8Ù±—&ë‹í?9Äz¿ Y þvŸ¿xõÂÕ‹|3úÏWË9{ÊaÿÁ"¿oTR8päõž¿ùŽÿ!€ÖЖï¡Å¶`ú2iÿ—.€ÞÂp¯t½C¿q”ê?¢·qz›‚÷¯P öËÔž*‘}Lš(-þ/G¼Ày‡ìêà/0¿LBÿãÇ_ú&@éI–þiÑŸ_^øû¶  ý¬<ü/zÞ^9 -ð¯¼ýöJëÐpî/ôË—µÿ/]¾z̀׮ܸzýúµ÷³Ð-Ìü›—ôþýÏŸ;{îÂETAÀý…ý²iñߨçп p‘=›€ÿÒ:Û€ŸýLàg/^üÅ/ÏþÒ¤yö,¿_^ü7ÿæúõëÿæß\T7héâň¯'ÛŽ€ö;›ÍD”… -€x°ÃÛ¹™§½É¸‰ áv6cPrŠHØÝ^³¥`ph:2…ÆÊm¥ÞÉa+¶–ºêͨ×ív#·íGÔÿ¨‹I xSít­©]0VÅá~ £^Ö -Àó¯¨s@>‡vwõ˜[¹¶O7p¨cÞ^ÊN«™I´S&››“ÛÊlB#—ÝÑi>MY‘(ÇõGp G·'ÓjÖ«¾âRÉü¿˜Œ*DBTåt° 9G˜ÏXöd)`о‚Cf¿p=d¾yjäz´¹¹y{ƒÀìW#»[£sׄc5,µ–QSðÿ%ëß\.HYoùIÂ?ú“§ÝÈD¢üqdc -­ÙbS …k Ë ¨Lâ:q(I2áÚwŒú`ei°o©P(àæT½T“ˆ(V"·pÕ°^Çøó±g¿×§”K ­>±Ùðixl`J ¤F P6û4H’‰`ãЯ?q!ba¹îÉŠê‘]r˳r£¡­»‡Èõnõiªwò °ív‹%^°™""VòD4I™{smÎ*D’#³Ëºo -„ŠvôEOquTÁÝ?†ÌÖ¬z92ÂÒ8ÔG(«ûÜÐsðŸÎƒT‚i’Ã~*Ã&šö‰¾æbS°Ý³*x`i° aó²øP´-D=È"E›ë×ÞU˜ÙWŠœÝgÿAæ[äÁü«¯\ÄDLw@–R58¥ÀG x'–ÞñUp¿5ñZcn -¢h/{órÀVüwàîT`}™îè( -@ï8Ä}¸ðd‰5€O¸²Pâù/ÿ{y€ûß‚ø/BŸúà{¾êçãî—€ÄÌF°W <[‚§AŒýeÊ4@gfr€æ=þ„6·2 ð¿¢`Þ PHü{õ•Õ£©k0”¸s—/_¾ô/1ë±ÿ¡«×o\ãžß|ôøö¿¾ÿ ÍXSD7ÚƒåWÜÿöÛ%’WÀ @€•þL8w„Ëz6êÈ­ `‚$[no¢œÁdÔ‹.i¨p‚r4c²“ m¸ÎÈÿ»KÖ:[æYéÝPÿùË_¢ýqdfàíPÛœäÏ‚“(kµ}‚–ÜNц•nÿAƒ’À•ÚñÞäm€9n-i~%§hG4·t‚/ÐJC{;kíà‚lmmâ`ª‚Ò#õ^^ÖØwu)ð •C5SOØ+Žbˆ!^š&g9 axpUíÝaËo†ûÛ)†â67K:$ê)yS{+©Ö¢Í åSH«EY^‰§eÒVãø}ÑV5‚ðlö1ù˜(YY„×'Q”$ƒ IäŒAÉ£J’A-’âºë_“˜?K†ú4)kÄÇ…£$ÔC[§­Öˆ¢´žOQÌ87Yí6ïý§8V÷ùƒÔn§e-€ W?nïæÿŸ:sæüÅ«/:°Ü &P†˜ów½ ÇnT`Ëÿ=ãGŠþª®Èçâ»Û€ƒ:`{  opXY]Q dß}÷Ý3g0éÏŸ»ð/.ý Ìÿ÷¯Þ¼~íÆ«¾ïŸßõó?øGÀ¿À¹vƒýÉQ×¥ÕïB@ЯÜdïz¼@tB…‹vÏu ŸùûÙÙ_œÅø¿xÜÿʳTΣÿ_ý›ÒªZr À^*€ctDPä;Ûj^€ú®DÚ­s· ŒNí<À¬†¸ vúÓ-]9m9WœÝØD»7qgh(èÅu øvó?³Êè‘9È›ˆ'6Š“Vè’§ -W1èï鬙Lg¨#}øhù´ŸÈõ+}V¸ödp› >Ë\¾)ù@06ˆ*X«3¶qŠ-=ÚtÁcËK€˜ï¾h;ͪg¨dqŒHî¸d­ÎÐÕæP›Pœz”ßÌ‹¾bÇàÖ¸†0»3d^7£Ïm S*NJÉ¥€õfhŠà2ãš+Ýþp2á^Ø3´ €]…¬Ã³æ\ËQÕLd:+ï;#°ßY‡Í»cNúNø§dmAÙó|Âü"AÓ(\¾A\'§¶3Ç~d&Sø-mX·¿'ÍÒa Ôs‡ŒçÅò^äʈÓ~ÑÄi€jF)Yõ‚í V|Lâ4z–.õ Y²]²aG¬˜ÙGIÀøµF°ìóA8Ńý®ŽnûvôÛnm0Î5;µy’™¢_˜º[㫦ºw¿ Ch€Ä¥ß!n ‚XþD“G#ÍŸì$;‹•“\Ã'¡Õý:Þü®Êa­ø÷ À!?ïM¦â"@ˆÀaËdøðš˜¹AfÄsió°±b½eö¨%{¨P¾–ŠÐožú£a&öDP•ãžâ9ÛZÂé}ûdÀ©³çϸ~Lþ—?´έžºx忣›7ø¹ÍŠ1ÁÚÅcv§Gb}àÞÍbg¡ð÷zàî+@Æôzw@Ö îNàAQ‚Õ÷?.<·Ó÷Vúeì/ŸPñhÞs°­”s‹ÿÑG€¼“€­óíÏ6ýþ±óÿæ–¿ôåüò—?XtèÈ€ÅÀ•£oþ‹E$ß€ÎæØ>ŒúkWoú -`(ªÚõ÷©/¿zŒý¯ù?'ðÿœC$ªìÖãǯVg‡ ¨¯¾ ôßÃð34É_ü«_\üå/ÕÀÿs¼ðË‚ÿÿîúuÌþ…ýñ_·ƒZeoi F Plä9ßj½€ ’e k#TËXðqÕï=nÀÒ<¼\ÝÀê>€ÂEîÛðÅDâRGa™i€¾ 0CºhÊ€â$U¢(G‰‰è„Ò©/ׯ§³i6˜ö[Í i0ò]~.AYXŠÔ‘MMgŸ@Ãp]²\ôJ]ƒß®_Š- 0#ŸÈE4Õ›c5pIÄÁ*M^‹$«¦–Œ9vxÇ9åd×±h±NØ…eTJÄ%˜…U ®Ñ®TäfÝ!„˜c©;ú«k/ÀšÃÖ:Xÿé@Èl` Òá 9 ÀU¸‘bˆHkžS-v’Äo!`ʵ6Ù‘kض­ÂÎU©ÿK½ÿ¢ôø/½ÿ|!wB µ Wž/Ÿrõ5T«ŒDГ¯ûȾêÉ¥‰ª“Ø€Jö X¦„$I]‰8…>ˆœ;vBI”Æ«‘›Ž€ÒœJãÔâ-ðÅ^›”íß­pYÌó´WÐîwÊ --Ã+ĘØ,$*›°¹õrO)õ4Û€¶¹tÇ)jqÛ+\”Jºä–pXÂ]+XÞ¹!Œ¨µ€_ ÖQjL±ÔŽ×5þ%—…yWDDˆÃ ð4iç2{CJ`=w‚Ñ0M^’y¡*•¤Õ“ 6Ž{N̉äÁ3}Š‚óèbQEò!›äIwLY ¹³ÜRɪg)`Ø¢õÆÃfãú' dî¾”ÕàÖn;þ9(€S§ŽŸ½xóË'_ùùêË/Ÿ<…¾zúäùógÏùËú5{P‹ã{jÀBØ1pN-ê/Ѷ ÷ó»­à%<ްd¢¥ÿmØôÛ]𿘛4ùQ6æø_:ʵœšãÿ¶@ø/[•€eôu_È]{Z¿&ˆòÿ{Šÿ­à ìÿôÿnÞ9¶rìx–†N¥àÜùËþí%ûÿçèïïâ•«Yélj™ýÛ¿tœ»àË$W¼uëñ­—© ùú³0>æ³Ú·¶€WǬÆà“ÅpnÉðWñü…ÒPˆgl×§,°ëÛuâØòUSPTD -_ÍÌEu'€#‚Û„U+®¹jÛ´©º£&2Kyè£>q‰5»»I»FßWØððwœúg @Y¨×ó#2°e‰ ]-¦ u«™ýÇæ‹-€/>Rg³Ïó7jš¾»2îÿôIDATدQªÖÀ¾A3E?7D‚ üåÁ|-Ð3™6؇r¹„Ÿ£‘]ê8Š‚ýÒv a€Ý(ôp$¯:Ÿ(ÜŠR€ÐÓu@ 8F`VU(, ŠªbnÍš/ªi£MÛsÚ²^Á‹Ðq%€LŒÌJ€Ñ’²` ̹ÒZœšÔÓAEC÷1èÙäOFªQ³î›™Ë”x²Û„Ê@S ë½èØ0'|ZFH¼xþMµl^J¨Pý@ª“)i Çé|¬8½ÉàŠ˜á¨0{Q(J -³Mµ‡¬ëæ^/Ë.À* …X¸æ4/!šRȳ E§ø”éw!,å\[dDYæì®v–s…J½m–Å–%V9JáÆø‚Àœ€Wgp?ì¢Xª‰XõÅG Ôír²Íú“ö\´ÌË{Î䣂Mд4–[N!•‡<.É¡À«zàF,%)9„pÙÌqÒJôxØ2À–«9õ~"÷F±?ïãN4m1†Ø£jÌ& vÓb`‘#ãPK‹&‘}c£)90éyqÍ+ªÖǃ2×Y¦E¶óþý¦ÈÙ}¦¢ÿÿù³g.œ9ï+~œN~öÌ.^xôäéÿÙÓ'OŸ={ñõóOŸ?}ñâé³çÏQö¤Ç_CK€]4€õwP똿 Äo ŠGÀúVø¤…ê—(hÞ^&à÷1Ç7ðÍÿ¹Ño,­M©U²À}=åã•ü‰öÛ´íø=Ð_f|åKìúÏUw­7Ÿpà Cè˜{@þ•?ýÓ·wŽÁAôcòs¸°Ð -qù7ôÛ¿Püü(öGðBh [·×p9à7Þ,¯ -;æ«€VåU@…ÔÄõ N¼víê•+— -þ_Á¼¿Ž}ÿèæÍ€¨ç.\½tI!€2û/äR.¼‡`—wðÙÃ0pö—ç…þ]ÇÌÉ.W)Ò*Ò|‰æ‚½]ÀuF|1Xµö4Ð:ê——í¡¸f\œ›ÚÎ ú# rR÷0mú5Ê(œÎlݱ=ÆêI_~÷;ÑT] ðìÎü$QÌè íðGj€Ý[àºc”)­<BFHi,dm ’ÅQ¬Ô1¸,*CÚ÷ú#`"1Á5æxœ“ž¹ÐŰ®íê0´h5mªž!í®VH‰¶dÙÌSn¾s SkKG‚`mF1 *Êís¸V¨*ç -Á¸Õák@Y¯•²!¡ù7@JÀš:;…t"ÓÍ­,«-X_Õ¨Kf)íþH¦§³)•¤„KªbUGµEÃŒú‚]ëÍ2Œ>jªŽJÿ…ù¯hÞþý† ´1v¥Äìå×Âþü`û³DånIãOo†˜ >F€Æ˜Ö^YÒ1Óh}Ë<7¡)qI.ºðÓƒG~º¤¬¬üéêÊÂà ß ¤ÿËâ¸võò•Ò½ÀuLûGÜöøç:e@&þݼõÁ·>ˆñóƒü -ò/<;Ç@œÿlö\àŸ—1Îp% €2 `É  -í¥äÌ·ˆŸÓòäòÓ*áXŸNg#½ÍàISÎ>ÖtlïQÏñé bó¿ž ë¡&·3õDÌÒnV s\T–¹Í$@Á_±Ë³X1U„a\ú‘‡±0uáBQAdÈÓÂk%§Žg‹h)¼ns­D7ãðFÚý>™éÃËÖ‚ëÙ¤‹IŒàúE.R[ ,§bS¡þÌ€r¦¡–nÀÉIF!š+ì›ObSúòvݘⰦý"$ƒ{Qô FÎkÎÍ ñ|ر>¯‹A€ª4É¡FÙûÄ:ýú?’…ò"EîTíM®ÉÖ¬î£hâÃŒS%¨´­pMÉKÝAM¨'Á%=áMTÒþ[è—Ê•„þo³[~yû -í8]"¢ZuûZkiŠj’%5ÓŸRs©ìà¨êJÀÒ¨X–0NÅb†Jæ °Ë©ûñŒû§;Y*GTë®éà¶¶ØCmÕÀãh¼±F5…U·DÀ-m˜Â”ퟘ<嚬†(pNÝ&Z®«ªxõQí¶¨\ -˜SrAœÖ6|$,J5 -ÀdT”Ýœâ²8,X» â›4Ô=ÍB׈J‚X½æóâ%9ìY¼]•˜#•Ó} ?’Oùë­½e!‘¿’µ´È’A"2פØ[·ñ»¤ŠuC $³Ùã! $(e@Ý Õ+E“.Hg[ -‡- üS¡¥¤ÔnL.C,¬è¼`àŸ€ŠœÝgBTû:`É?}ÿ~NBàsõ­¯ž>{òüÙÓ¯¾zŠ -€ñ¯€Í‹ß¼†ô{€ïŸã†âþÿž0öî ѿðp  ÿŸ¾Ü ÍîŽnŒ¿ŒýåxçžæuÀ—ðYeh»  hèwóHö߃üþ¶ñúRð÷LΖ`sZ  À—0œ/xôø1ÐÉðnñ\8ïÊ~—¯ÿv8°à(À›7Û)€ÑæšÀ¥+¨Åpká(«ñ#îçâùB p À+ïØc€Ÿ­þ¬ŒøÅE´€WÆüÕ¿{y À¿ŽЛÖ!.½¬ÌÚwd, À#ñŠ€‰´u0 ë‚¿†eºiF˜Óf,œ®ˆ^L4dÙÉ Å$ó—Äù„ë“N‹DQ@ãÞI¯Î‘@;Ù2×pÝòÙâdc -vÿsóJiC„ÙÜߦÜÛ[¶i àÕó”†cûI®Œ7• ƒ ÅY~Ô¥£ûåI2åe)Â3P!ÿþ´.aež}Š‘ ÙÚú¨…ʆ+>¡9Øù-’[Á]ÎÉ ±Ž7|q¤ÁŠ*f…Øà‚ÓZ¨>ñ9$IZƒ!­¯;¬†v#xÅ:‚ÿv]=ç‡ ˆ•#X3ÆF« º½u MÒæ;>;>0ÐiõƒJ^,ôÄâe¹„Sôº0ŽI­Ÿ½ÑŸÅiža£ãž7ÛÛZÉm3aŠrClþÖ‚çiy󇿱7CZOHC}þæñ¤i º'T©ˆÓ*7œûKOº^‘¯,÷•ì`ÝoRX;Û_£?}ÿÂ?öÿ¤7¢}õÂ#>}Ïý¯ãú÷ÿ›xûw¥Çw!Œ~ ÿ€¿æÐà€ -À¶ À`Ù~ߦ¼%èeâü§„õÊŸ ýzô·»Züoßú›ù¯:<œC»>o€“ÿã(zÁÜÐzthÐoûÙßý·ÿöàÎ{ëwîüúÃ{Áÿ½Û€Ì8—\ºz©íÐþÀÍG×·gž‹YÀ;@ã_Ûß±þZ$_‚þâ(,doþ.U÷ --y–fü«ï5 @‘\íH€I‹¥…æó± ÅjEï·ŸR£m4[ô%ä¿nÐ -n`XÄS¤uˆ”‡®kweÿ¤,(ƒ:'ÒNÛf¨÷Zg’WÁ?]¡öuM$¡¢N,]# œÁ)!HS;®0¿ˆ îŒÿ9Û¡Â5Ljòw;Ìm!å,I¥$ºwìøGÔ2c‘C;, ÎF#,ÚCÂÅuQJÞCz‰¾² ópâ†ùdÓ*®Pœ–’³’+ÇôF¾ìŽè¦SJ´” WKq›’šš™dZFÜp•mô³%®3žK2öWá¿´ò•Jëœ+¹«øù[ç¯|wüÜîèð]5Žü—20AsFþ†dÅ^ËO`¶>ØSÙŠDf¶~-… kÄܦVP5ŽÓÙϾwZ„ ¸ñMir‚/ eß0¦]½ â,-:oæÌ €N ªáÔ:0BSQaåtü嶸6—`$!ÈÜ9ó(ØË<Š9“‰-U$lü:x$”)sëFlZ\s%#ø0lå¾U˜ôOŸ.9#@î œJåãS&y –Ã}j¤•8e’<Ñ¢ÚXù«Ëç¨%KÛe|²cQH¹XW ¡žärrÆ#JXÝÆ!‹æ kSµÆS@ðºÈǾRäì~“]« >°ï8ÿ;ÅG `eå§Ç/ÞøêÙ³ŽD ûý–îÿo” É¯å?Ÿp耾€—?-èï â¸³ûqºU^íp³«û½,ÿÿŠà¥òç{~€vÁB;=p’½—hÛª—¶Ø›/”þøÏï÷Aÿ’ЧŸýíßÞ¿{ äÓ*sÀŽ1§â8¬cùë¸zùò•Ìñ@xy @¨x.-xì¿*€£^ñÌq´wD¢—Vê(”…J¸âøçXüÿêìE`‰.ˆÿÎ4¼…pñ_·„0Wz½ÉG‘å¡—T€ÅA €úŠÅQ¼¬ BòÔú†ó"^´ ÙC!AñB$òø¤s®JŠ „ÐN´‹í«ÜSô)‹p!•aw”ÿ",NF0(üé³GŠèŠ(üÂ.r—œÁ(Ÿ‰\ç@Ù™&×aR~é9P(™?¾13ÍŒ6Ìhƒ›‚sŠ¥È9䮊 —粫D•D`†©Ë²‚áÛ­Gƒq†}|o[^—x-¥s°A öŸðUÒÃk -KD¦%›qlÜ™›±à­"6-×ýµ,Ê"×%˜$–Jr­!FÀàSðßãïÿéû{ÁkË ¾Lsäùò\  ´ü'˜ו¶59Ò :˜KEQîRÞ¤Í 2Ï„tX¶¦Y¹k!äÈ[A&n"Q -€¨IŽ&{TŒMic\À²À{´ÐT_A -`gÍ‚÷Íô4Qi -ëî0n-u`ð¹ðq†|úýá:…Ë``*:ü™¹) -@Ýï®swšO¿¸ld$@Ýúç%ÿØAÑdP k¹/E½ôÍGèôÆÆ†Yb×ÛºÝÓ†õµÃ‡}ÒüšKJÏÖg6‰‹S.MáðJ*ƒÃåFDf, ‘¯ämÄo 2Eਣ0˜*J>‚¿´;žF‚Få°$ŠòJhï3µÂt_)¯ý5üxe ˆâ€#ǯÜ|òüÉ“'/ž>öý»Ï>]V¢ š-yÞÍæÌÙs¥ àêÕkz–gd ÀõÅß­³âÈ€[7}!èŸê -HôKÔ"¼ -@V&Äúç8à¯JpüÝ3¨¶ªeÀÏþù/Îþ€_Ú :çk°ÿÿÿzëÖ_¹p¡ëÿͶÐs–Ú‚Š_Ðö€…\DƳßê aë>@,(’ºÅúÞš7bU¯£ñp^1´Ddˆ:Jˆò„w/‚v‡ÊbÀŠF6EÒEÌ‘B=JJ`r{¤r2žLAÚÌî“ß±ï×lý¶\Ë·Üx;|©$¨œp+æ—=œæbRPÓH–-%Z’V¼ÞæÑ…úнrKL¯ÈK÷I†;}ç -ÖüŒ2aˆtÙ"~s†isóLÊ€v@*-Ü»!(†f§;M‘›òci§j…¿’eös-0_B±‰Ñ)ï§÷¾Ì2ã|a šÃ¿qšé²‘Jô¿MÜ "¢RÎùÍ÷¼eñkÏçSn°3/”²q…¦a T—ÁòCг8)6ƒÑD$¢¢”â>/%bÁ-Árƒ¤íLA -pb-‘ÇMÈHÅ¢|PæiÃ…0(,BP/kkQÆøgOà‡;`c¡†©ÑÉä³ãº-–ú+ÔBÿ‚€ðëß Þ"0ó/qsÙMô¸B#ðp›´é·?êÓðå—ÿ‡ËÍÀ÷D`k…HäÓÏþn§€p|åØŸîœ€Âö®+8\ºpù -è¿íÈ,€í1ó>èÒ9«Wcò2 bû£°£à%*¸®Þ½@v¨<]$gŽg Àœ¿´®9ú‡â¸þÿïŰMK -€*@1˜CE,Ï)B=ä ¼ü)€Ù™`Xº2P@B3åèöµ#‹ìöß‹†Prô«!7#b”#…4r Šû_qÀ%äEÄŸ²Ù4åBh­92V£çdwUÛ~³”¡öº°¼B8æšvkòš«@™bc¹¬ý£`f ‚…lù/™òš _€¨Õ%"ï\›ÍØ<Óåªq*FÑGPVT‡œž$n£÷„ds ¹)hk1Α딌…âöÄ í}R4˜¡1׺µ)y.˜hªÉ³€3оä9¿rm0Èÿ.Rôƒ’ݸÁK–¡×ÂÛ÷Ÿs-•›(‰'iŽñëlm'zƒÉè_ äÙr…kàÆ´ûœézc.°Ï5_½ì¤?âEÍlu$ލ¶*Â;9 ÷ƒ’ã ¥‘‚'²2õ‰Ã€c,bª >ƒR O›øÆÝIUϦÄ5¬»`´–ÒÃ(hç¨8Adi6j€6 {®•„碠øŠþ4… :›¤ÆO}Æ¡3'ÔºòS^çc#ц7¸úêõDÛß¾îœ>M†K±•)vNÇÈ÷ÑòfWA° ƒÈ›fƒ'µµÃNèëÖ>®r@úòUø¥ÎÕÅ©¥äÔè­ªÔ‡q§’L?_RÑEèÕVŽøXûÜO) jŠÒ‰­cy¤öúÀ>R™]µ¯4Ðãì©3Á}%3¿3àÉ)dýñ•#Ç/>úê9ôôÙó,´=ðÿøöñöïJ -ÌÝÉiÁxöË_¾/}Z°["—|`îxUÈ:»xU€æ+¿ª†Æ¸ -' -.KñxÃMAG“ïœv®Tð_ô] xÞåï÷FØÒÃß¾ê¸w½ííe€½5§p¾¬põÚÕ÷Û~Ç€¶`ç,€«—Ú1n9PÛ_=€£6úû^?p$/„n{Àÿ¬ tÅÀ•‹¬øÞè7ÊÅ•·ß.ZÀŸý™¾Š³g3àüý¾Õþ*Ÿ—€×zìíž‚iôH€[¡t |Š®«¼ã2`Ð:5,¸àíüE4‹4*ü·"ƒ“ˆØþ~^;´V<ÿŠH»!‚ÓÈ=W­ã^0u4¯u§;» ðÙ ôgLå€Л&¿µžç´\'€È(;"¼êÁDGgáZQ.׌'JÕw -j›'§še\±!Ë=‡Ôú#¸ÍàÚùBp -Û ü‰Ï`=‚×ÂÂì9m†5 þwÖ\!É¢9áÈõt4DtºA¯uõ[LL·±S`fa‚¾TO, ¹n™u=b3fÏ{§äÓÏ -€‡Ðþ½b–MÁ@¥ïŸkËd%ýp*x@®D+”“ØŽ!AvâØqo~ù°£²”9Ô¼o{CD!M¢“´ß»¨K”6Í1’Ãþa(ÙÞIRã ¡ifþÁ×,u -?oa¦=®uNÐOb¦<‰z¨oM³âáqõýjV:Žï³ï« ¥Xl¾ˆÓ`Ã4'ÑqºlJ’áÙ”|9ž{âɆO€yžRÈ£\â¢ÎZ—Óñi=—¶RL7hMEÓq€Ïµl½5®uxÀ2 û.s<ݪ³zZ; ¯ß?áÓGìwxÐØ'1/†)S*o>N–l“þ—- &wYs°ÔVT{;䃫jŒ\ÜÙ!¹•‹qYcûO­ôÜ_è÷—1€Åà -@‘ôÇV¢d€¨Ïž=×þ× ðí7*_·æþ.Ìïñ îûmä[6K¿ë–É1/y\¦¿\,x)þïåZL^¦ÏÀØW(¦? €Vxøiñ4äw{Rf Îßÿï¥[`))­úbæÇÔ—2ð±“ìpwî'xLV~ÌH$ó™€{;4;v¬ À×9^Šàš¯_@ “ÀYí(€øœðÁñÒ–háÙoÿÇ\:òæ‘7\¯èÍ#ŽX›/ÑÞX™¿ºàݼ¸à¬]ŽøßùÜúw·nܺžÏ­wÀ‡p‰0&D¾9)îÛÝ"â³£ ³… °¾t±ûÒ‘,H (ÚÏg\rù\‚£ÉFÀ ÁÀ *Ø'­°ˆ°ÔÓ-Æ­zëð‰CعEVõºÄÄ‹÷¾šVkƒsJvH ð&¾±ÅÔÞB÷È÷:­CÔ£ ï%`zZƒX® ®AFû<$Ø×ÒŒ7›jMƒß š*rZ¼[r±‹,‘$€ÂVª(®Œ¦F:r¦½ñùŽ`.Z”™‘Qµ…öe)"¡ ©¯¨ìÚÓŒ`€¥c?j›±ØŽu¹ÖÃh$A&‘ZrM¹o6ƒÎ:§à::ŽéËÓxJ}‚4¨ÞFåm]¿ÿ|Ý䊹nûþsz‰ÂØ'@ÇéâÄM*€J†»éÚOi’å6Û;å[¨m(4]Y‚3¢EФ©'ÍÜÔŒÐâ&“± B{‡Áxz\ZûÆOÏñ?°%‘54‡qPÜSß¹0¢› ÷×Ð(ÙÉJŸ1œ”'™“)p2Ÿ j'u —‘ö@Ü´ø&ZâQ dÛÌ)&½gøUÕénßé¦3¾®ø0U=ž<ˆCí¦FAÊÍÓòbBEI˧f»ÊÝÎ‡Ž¯¢ü‡®/0iêVxïß;q8¹(ä½DH¼°;ð´u„éNúƒ¡ãcóœ’ã9µÍY-È> v’#™LÙ$B®ÓÞQõªÆÉ¹Íl:Æ*ÐÐjêûJ‘­ûL±"íú]Ð5€\hõ2þÈêÅGO^<{‚ùÿ Àþÿ¯Ÿ}ý"£ÿZ¨ßbèïþàµñpÀŽT¶;¨…ºeºk'@™èà¿¢|?€ÄÙOþæ?ÿͼó¿ý<ø›ówÐgå–¢ìô—K -ñ¨,<°ÿ=,çŠ'à!è^À=+?¤2e¾ÔÐHf>ü%@5>ûÛ¿ýôÁNÀ½ûÇÿtç:­àÂ…q©x®Ù `1 ë”wèüü/fd @¦þ«Àn›ÅñãzP/'Àü_9pÐe _Go¬äͅл*çìPø¯ü–é@yò–`Ù °÷]Aµ¡Ê¿vx¯ð„ÒÀ©h„Ñû[ƒ[ôÜÈ>úK^ Ì×§šÂQHX:Ñú.Ï4JúŒÌÕ]Xu*ñþS™¨·¿¤ Oö¼¤ÀƒˆxÇPxöìéó¬ÿÿY (#¾Ý›v˜ó;¢¾_Ús¯R uË”Y÷ç€(¿Ù¡h0 =ÿ7 òÇ‹Ïg-æï ß¶AÕ~CÔE>Y¬µ® ô2”ϸ‰À_û–¶ñÿ÷Žt&`Q²)øúõýßzþÛgÈô²pïCgß/¯PÆ8¶¯x.éPˆà¥uBK€ù,Íþbûgûx{ ß‚@ÿ–æ®ÿБƒotÉ‚×ÒÊÛ /À™?;{öâÅKׯ£f”aÛ¤À³·ƒvz”çEä°èØä4œ€ã †vÍÿ†/nÁEÌ•ÄC@:HÄmw•ƒÔzõpÈåÜll\D( 7eÀá5_„` ²&Y_&âW£! ŽÉ«P2]àÝ&¦°!¯ÝÞm$âx*Ì¥ù +r1ã@çÊO(yµ¯ËA|¦wÃKR_­{­FÝ¡dVï¾yö=€\ž  J)*qÙܵÝ%ªrQÞÎ`:ó­€j =›LîªLêI¥à]ëgÜ[®µ koÍ=ÓƒXYAx#Suº[Ȩã³åhLâ\1“ñí1\³W¸ÖªÖƒAI˜sû‹~`ép‡ç’ňƜ—J~ äù.}ÿ…àÇã'3.ƘyjÞéAˆÖ» pø5˜ä•`¸ ÄIkš—*Þ\ïÛA¾uSõ°˜ÑÇf ÍÎ\âˆ1£#“Ùl0¬gMMÔ*"—/îÙä›ÁÄ—* PÆ¡ ³»?hлkíâ“iIû„l‡/ò–²ñ̵3ÊEÈb§V óU<R©rÂŒäÆE¶f._1"gÝÞ k³· Gk#¬·èA±úØmúñµ?˜ÿöû¿yñâëoù?¼f@œü»ÿ -ü—¿=©Eºtçîû­ (KHÀ§¯í¶~ò7ÃŎùݨ¢üíðE#äÝ9Ž©ßî-ð¿üó÷1ؾ{@Y@÷Îÿ¾à›#ó¤ð·ûÙ×€û÷ÁÒêð̹í1™Û~y ÀÅùÀ—g´ï˜{g{Ó~»‘©¥ àÈOß<7€/*xó;ð òÞwÏ8 àŠGѹþÀâ{ u×*x„ôÚÝ ª"x0µå ˆâðIÀ7þØ€¨Ç _§J{ÈÏqÕCZ¨ãÑ@€²$ER)ìù'2Öm àÐ|•6d2ÄÄ榮y皪°”Åi*÷H®z:Áà\V“3fƒcõ¹Vm#\dyÁõX”cÃo¥&$©—˜]Íñ¦vs[ñ£ë(PKýZ¤%AË œ- -„ÊÏï(…ÉlÔUeg4Ȥ:—´hG ) y;Ñ, žª™ƒŠÐ‰C‡OP2‡uºŠQÕ&Å»+4p3yš)Ïp]Ê4ÊÊmázBqq“JW5—>œd<­`T­e湪Úf1AðonÊWJ5¨:™¿LÜ5g}¥úAŸ¡LêiUkA«ÆXeè@3?{Â!z‘¸Ü-«0ŽÇÜR¬R\~i9ª f̱-{½¾I5Q0 ¼ -Àˆ–8õ]ý±A?ø‚¦Ú8û-h¤výagmèjOj|:½I’û¸`*Å~šf:šM·T~ûؾãÈ’M²³–<†k­jN•ëQ‶ñ_¤Î)»à»ýÆ+‰!é5=_¶ATÉs5íUJ¥!ŸÁ%ΦŒ£mK%u Þ] ŠLÙ.lÙÃf!»Œ ª%÷Ú£7!Sê‡y`|ñg³…ÚšÙ…H,… <›°®«*ØŸ.+'¯E¬0ßŒì¬Ø—‰Ÿs•Ç«VV1š‘Ó¶£éV¿ÇàøØRbî7!ίž:uöL^tæüW°¯Iä§?=~áæ—Â†¼È4Ào¾ýúë`ûí·ÿ°'µ27zî/¨Eºt ¼ÿч H¹­˜Eÿ=<óöçBŸ<,ýŸé4x•Ê]þýæÞÜào>Ð+Ñà ,,CüÅ&øÏ^ëÝÏg®@¨_ýìxÎY%'’\öîÀßE¨vh÷î¿â8ã2NY °Œ¸¼= `·1¡2 `{ñ¿x‹ÿ­“h›VŽ=¶¢à8À£++è÷¦€#úêâ×ÑAǾ]úΜ± @”€ù÷€<%âœTŠà-D¿V!;(ç•‹•$.ßËà`ô×ãÉmÃxââ³ -¢9˜“ûuþc†¹)†™›ž“ˆ§§ àÐá·â7=¡0ÇDˆÂAÔÃz«´ª‡ ý‘cÝØÕØCìO>ÂØj~ç«÷ -O2¥ÌáX'±_—¾ž‚˜³š«;îÁöñ®Üï27FuÑÑ“°ƒ5¸¬T;¸N¬v *)´œ+h¼£"[£Ž+ -1‘Ÿ“¸2Ê8€É<™DÀ GÂ#êEe$e@qôÖZà°ó (£ âo®ª¡£üDoô)¥æ„jRô‡ëM‹‹¬%Ÿ„õÇ‚ìØEйpè8¡2ÁÓsÜâNh/m ð¿Gß?7yÒèMæ‡ý,Ë‘K1“ »C(_ôDIèJž €Uà±'& -UØh–¶8ò­*™«©;FALµ•6œ ´ÞòTõجª¾o•tÁj`’–^V»Šófý…ÚA"í®õ:•K5¨9Â2©Ù À¬T£^Œî.e_ƒ•ÆiêÚ À)7~aÎýí@ý©ž ‡4Ó-ZÖ¼«ªRÓúšò¾¢®ä]%w6£r¿H‰»œÇÄ9ćåÍj @CÔ0JFÀp°ÑW@Ïp¡OÙòWJšÍì÷zÕ èèêÒ.ݨ66Ï®ýgU½i6ÙlØ ê•Z4˜:¹J™Gÿàa™lÂ*Ïöô¤žxM{Û_j1z)â|µ,ìÀ³«|ÅÿÕ•#+Ž]¸ùÕÓ'¾è9øÿì…¾ýæxñ5›×Læ÷úøýNjqn'ݹ{·õ´ -€ [.~Á˽<™ÿ9±÷Éßø¿+-Â@K€OˈKZýQÄÿV˜ã~~?wôlwÄ^€¢8þïÃ?ü??tŠði<w] -pY¸sÿ•1gοpyî¸âˤí1×}`ëùOÀ|”Y¢?¿ù€£¾àoÇç´—•£âÿ\8ˆí0/*vÿµä”€–ÝwÿLàÒ%4€EX -€B<©²gNŸ—¼~C<—Êk/bi" 4‡Ûg(FðXÔ!Ô ‘<V¼)~xî@ -×]Žó"dãÍì¨ š&ˆ º>Ñé´ ´þaª+$Ú‰TEø6ÃŽ€ ˆo!Ó¾…²; êœ¼ ‘L!©hˆûŠþvè"6 ×Q[Dl°K¾ªy뤔Y¾. †ûæm¡”Dɬ(0•”ÝøÚÒøuàãxZ5lP QALÑ6Asô |½ÎITªÄùâÕ¡¥p.ë  áÇJ^¥&ßT#Ò#ÑhÄ&2À'©4(ÑR ª%fR–)%2÷ëdÃvÿf*?Iøß³ïߨ£ŽÒØ~È/Ù|qµ8¥”f‚÷{´&U7˜µÁÖ˜“òZO«îh°Žù‰—\¾(_! #™Rj›Q3ìÔÛÔt0àÇ”Ææ&ø 9ð|æê0ɯ¯vžÍ†Õç¾K`Z´›Î°×©‡ãÆÖå»ëúÑÉNk˜4}š#m`Š6(¢¾uÑme_Pÿhä»x¤Ö öX KQJ.ÉWÈØï:üí°ÃPÖØñ.§.f?öÊ'ïü-ëÿé ¢…ØñðàO<Âÿwô¼ñ†jÂÑÂqú ¨7ÝÌ¿”êŠ÷šH¡–¢´ ùÎS©1[È ¶´ù‘ßÎpÛØÌ8ä¡ŸŠ†z–½ “ƒÁ«‰±9nÄ, q`¶HÐØ °v¸³ÆŽ²S—®ìE2©ôõÜW[yq>vÄPI”Äy=ļº|(_Â5|À¿j‹k mÊ5jË‘“«V -ŒÂ¿Èƽ"—LÙÑ`H3‰ §X|Ó†êÞšîÕ¹Ô*°(Ä5c¬ž™c&úP9“7'ƒŠ‰#)ëz8è¬![…ñB9ßÑ¿Z¼£kvH(º»Ñž -œ P,Ѧ¼O_¯Y"ßrI†7ã˜Ôcõd -B!§LJ˜ÀµBÝj2€|…(®ðÿš¾2º€ÿAÔ­˜â‹ kxsˆíP §ØfNÈÄô'³U=ľttž<¢ª9ž=@ƒ0ÀJ—Â¥¢GM½…å þE¹PùÙmø†¿¡ÊÈ:æ3k짪+ÆÑ¬>É‚õÝ̾è>QÖú´Ëšy\¶Ÿ{Ã1´Z2ÎoƒpÕ‹–Ñ'fÖ€eµ'·Y£ù¥Æ ³’o‰6nC9T(#½«ÀÿR@fzjwÍ讼²K Ð2AÝìÙän“ñ-™Ð$óÝnÈ,ÕÅñd0¥í;0íÃx´%'ÔJ¢¢äGÝþÆjjŸ‡ÏjÅžn/éqÙ¦¨Þ"3óÑ㩦`†÷*¥¾Ô7gõh] ÏB - ÞwƒM©KâE5ïw²ˆÆæxs€Âs\ã$¼ï7!/÷Žg!~gÏ_@*Ûà‹€4ñV~ºr`åâÍ'Ï0ÿ} Ð ×ÖûÿÍ7øæë?|ó½h—¾ÿùï{Q‹ëKø¡´€o -@Þ=»<3Xö³Én ù;É+wïEØáþÇüOÏ>’—\0gæøÏßÃÖýïÇoKîÍ_>þ} ú;Hö>û»¿ûìáB€’aiy%ÀÖ·ú*€ù€Å,Ç8 @ziÀ|€¶ õ?ºË§¬ø?~tUß¿~ÿ7býûî¢ïpD8ýÁ… ] ºz=Ÿù÷@7bûU@äËcD -ÑèÒ‹Û½p öþvìD~c,[ ÝI|Ö:N5L1 *ÓÌPÒã‰mÆ wN¨¬­è8ÐþO=¸b¡ŽnýËØ † qcÔ+—*§_§§! ÃyÓ¬w:Å%Á©òš¹D cuHÃ5@lYÉŒ…ë1Ö0ʱŽAT®K¼hŸ™6+4~,¿ñ&@t¸ëªÄÈÏ(õƒ·¨=̺zHªÑ–†&…‘Ø ®fÒ!sêBðØC×9îX¡‡Þr ]ý±¥!8FÀŒ\uÑŠ´{¿rÂe:C((22ÞÜ´ @¨D¸ e³HY»äÚ®WbÑ«#Ohl6sÂm’%&Òsr™,7 PV Î?èçäšœJ%ÈA3™ú2Ô* Ù†%p œÔÕ°vN€ðª•èà;á…7q%rZÈòÔbõ%È( V”cQ¸”¹©ÀŸånÇ€@˜Ï˜³=´­h zµ&ãÙ ž¥*ì‹r4»rÿ¤oÔq MK—Jà*õÑëO&—Ë!^€9@UÊ6lB>e),OPÍöäÑó8 -@™`ì-qä‰ô§÷O ûͨ¶+ -@Õ*¨§‰.f·©UÓ<¦Ê›Ÿ÷+œ”Gý£K¨|ôOÓÆ\a¢7vs¼o¨Œêî¡6Íû¿êw‡èi6?¹îiºw÷P׳ñïþ蘃)9gcéXgèçÓ)šV—B³Â¨•’~¯¡¨S¯<Çüé³id¤O÷y®mr»ÏT zŸIƒN™œ€àÈ©¬X\2 ðÙógÏ¿þÚ€Îÿs -à‹¯£”ÿ»Ò®ÐŸ_ ßAwÚõÿ· äì‹ q·¬H⥀]hþ µ{»{ŒãNQL)í}Ž“Ž{ÁÿÂHëà—…€2* èÑ–:–ñ?þþZÈ_"2L2Ÿþm;àNÕ~¶µ€íu2àÒ…K—ß/+^ÚöÌÇÜpáh×(#æ³–PûSð_§Éd(ð¯p`å»F¨&¾}Sà»e5 )JÀ©(Øð°J‘@…Š - èŠlçQÔNÄ:4<±†ìÆŽVbÿ2 olNƘ•vZß› 6 V"F¡ 8Î*F8pZ—ÓßZóídQâg[ØCb +D -_÷Wœÿ؈`\¤Y&ÕxRcÉ`kuáZ,”kîÛíÉTOon¯z¼*3AÈ2|i§SÁD\¦: -l:g¼â:H“îÝþ¥PµLÝ‘‚bÓQ§¢`9Cå4IL»Û¶Ó8vÈ®p‘®Ù;q@ÿ¿½àìÆŽS8·í0OIfµ;}è¢áZîÂõX?·’wŒ¸QÕd„#5ªÒ“Ls‰ œ”=¤´-C6Mo©ïŸï‰¬œ1^wÁN2MÒjƒäŠ˜ýàÊæf·ÿ ¦<¨^BÖ ‡¤6Q—öëØÚ-AWŒhÏÔ-¥´ÁU<Ì´*«>ÊWºRˆÕÈ‘uö×Ó>bNgM¿!Ùn××S ãY¢ã zš»V¬ ö7°Ñ]ÁÑö5îw,7 -•tÒ7¸¶€Œ}ãÌBØÙû{I²zS2¹ÎAÑ4U¬……àˆ‚ÞÍ BGp°Ÿ­D¥r0ù]Ÿ£†¨ä¼ëý7›k'£PÒ¶—ï¢ZQb&z(#¾¨Â6ŒÄ]ÀƒÛí¡¦°ÿÿø;Í{ŒA]íÇ÷úØ7B} ShüèoÔn¿ï< -Ž”‚éªÅ-“ó|xîеìãÚïvß)ë¹cø«œ?{êì*z€öÿ*²~åÀÊùO\øwà7àÿ‹ß~ûÍ·_ÿᛯðßó·Û¯,ÿóT`n™Öï|¤ (Û ¿ƒ8í•2  ÃN‹ø;I ¿s§,ðñÂàM{™¨ Z`ÒæzxÏÉ‚-þ{,Ú/w”Y¿ßž þßá“ Áÿ?ü8ƒUîêxÏß’pO$†¢²9ó—ç/\p Àµ¼ p—1ô—<KïH'€Øï,-ü]>âyÿŸïýµù´Óÿô|—‘A0×|+¿ >"]ɲ¤ ƒ^òÀ„’7 \½(<°‚§ìfõ;êë`¯:ÈR¥3g2cOPÑ?j¢bÊ"¸¬ìl€µ¬Kî’¦'ip9 BQㆈ¼(ú´³Ò\vÀ6m7ð‡Üű(£È$­ùç”3QA”ãÐTup퀢d]¬E1 OF3léJä,c…¡ -á8FNU2¾ÀÛ£ïÕÄÌ6™(€½:˜ŽôÀZ,|ázlOwüÑ^òØs‘*‰®d·o¤L\s FHŠF`Ãè°2ª†ÃøÏ'öÂŽ£²êÑl×\—b 8ª\SÁ( (ñ[Ä–*ÀT¡ k¹œ¾ïÝ&ï°p­uÈF“êú4Õ‹ÜXË»+²ïäzoäBYy–‚ñ”ú£I|¥õªûSú”i 6Sêµv ºÙè4QœF?˜L11Q—Èð`<±o½jš g³û&'j4r|Æ5ý¡Û9DßZ§?ĸ&VÚåKN©¢jÐ]ëÀkFFEH«‡iª«šw%ù̎Ϙæ‰Ô3uì9‹àkþ `:¤¾—ñhöÓü©¨V¨fª„;}ú4Ñ€ÿ³Ûh% õá$ }ë¾'¾¾Ø‹:ó̸ܨÐÉÊ[ÀwHîH„â¯îêt«¡†ýÄùµ(«”;¥j•Ï¥3†´³ñáq·s MÄœ8”e€Þ;™N3È¢Qù¥9é7¿í†rDsS*&¬Žû><ÜÒ¾“òrß q|ê¸Ã²ÏŸÇú?sêl¦ó³òÓ#o_¸õô©¾(ß<×ðõ‹oUö$¡~ú^€ø¶“Ö×ïŠÄ*{x€c {WÐ]@ßßœrfï1*ü›’Ãñâ€8dK"ÁÿÖ È•¿¹ fÄ·]­ -¡äU@:D~¡¿àòëÁ€Òð^ô¯WèëwÞ{ï=>ÈuΞ;]éòûh;g¼f ÀÒ,€xþýè8~t÷—?+ïĉÿNY -ÐÉ@ÿËè¿WG@€Üü.øÿgEx…æ -€Ïdþy} çÔªs/€Kí ôŠüÏMSW¾çn¡TЄ¸ØÁŒu¦¥$E˜ØýÇÙÁl (mnrsd5R µ€pâbS±£¬S&º4L‚ÀJE=©x¬uÔ9e¿êE vNäºz,ŠAèºüu€ÈpðI¯å‚jÊæl³YW˜Æ¸"—õL³<ƒk£¾ÝÔ!m*Àê - ‚Òàˆ«Ênv¤º ìØ‚S ΦñD®¦rí$kèÐ~nÌ´É„{-añ?™G.S(Î~;| -Àáþ0¡ ’ë#èùn„ñcLzi©ÏI‹ßîZä讵§6Ù(2ÖSgÒ°shFÇ^ -©l-61,ûÜRß¿žïmýe·hÿåè×d*/¯a_®:dëOÿa&²s)ƒEh–à´sK-'ª@ áš4@;2ô¤Ðö´ÙÉ–žåÄ¡º‡^0Àº$s4tþ&£®˜† Ž"8¨66ÍØdÖ§@OsšÖ(ꢑV½ÎpÃØP”à?äjÇNt{1h zNôÉS¬Ü#,Ë–œ)>aYN ùêˆ÷\Ž£@ úCd®ÜÝïîf  k^ÿ‹À”â+ DÔons…x¶…ÊLãvŽÁdFs+Šñdƒ:ŸEŸàiIéfà74m}k¢?² €[tR¹ú±^¢‚[ÚëÒ›:Ñ Ïx´¹Œj©CD}>ñÙÊ&hm<){J‚ªgøihïÀ¾9¥ õ†úìxT}ªjCé²Ï»ß”×—•"’ÑήÿyЕ³¾zúìé³Ï¿v%ào¾yñõ·ß‚üß|û-šÀÞ´vä­·^þ-Ó¡P‹ »°Š ¾Ds ïT¥mÀ`ºËø.ƒüœ8W¾eŸ_joÀ{w¤+€ˆc²àƒö]b{ë@p8àœ«ìýÃéÇÛïØîˆ÷¿ÌxÜf±hÛZÀ‡÷³@€u0_@þWÙzô—pþ/Åõ+WŠà•w´+BK€2  € -9ù8`øËŸãÇßY=þvºŽÆµxÿýÿö¼ášx¦(¡Àþ6µ -ä3©¸IЙ{¦Žå% Ò–§?€Üô×zH;`}´9v( çbz)—nÏT²¦ž¯F±×œ/„”÷1µ¸®dŠñ”m§»–1x8ŽÉp2pz²IÉã4æÆ uºÒåyw<‰û1VÌâh¬à€Á™PÊߨÓÔËÚ¿™<gŠöH½iµfÄÞ)ÒÈ…f Úñœ•GþkÈ%åI1̰LÓ€x&£@y°-;Ð|)àÇ‘ºQWœ]®øÆ1Æ“†Œa(wŠý]kB&\ MŽ ×™w“f°ÃMÙ¶"ð_¬¸µþÓ`Z J€µµdBCîùaTÅ|'ÛdyÔ`ù£LíE·%¾Åcµ - „Kâò ryû”æ9©†"ˆXǽî`úƒØ¾°—FàH¶p¼±w…ÚOÛÀ#Šmas4@PçÐ4Žj€2Võº”«;ÉD½Rë¬9Þ—LO8tÅ ªt]†NØ•»B¦ç¿Í:³{ïãAþ¥.€v@Þ€ðë_Çéߺâ -ˆðáÇ?m=÷E}}w(Šè½w'èŸQ€ï:ðÒeß|Å•‹àûŒØ^ ‹óÕÿŒûóMEþ;N”®8òï à€JÀÞŠÀí<€ãyL¿»úghè-ö‡–€€gv|èwQ€,Â.|½x>É¢&+ 6ŒÇ“ÛBéx¦ýS 66ÎþIç5›çÞÄ]Ä‚ª€bÆp YŹé"Š`m­‹€øˆ<ŒXVÆc'ö¾VuV9cK«þÈžnÅŠpE¢ºƒër¹æ@cå?ߺ ¨ÁD‹Õ³é$þb¥Á–F5h°Y0Ö‰1;žmfÆ•>ŒQcâô„€ˆ jI‡¤ëAÇPISG)! Òs†]º5†k,©©]¸†´þQbÀŒ!lÛ"ý•¡s%;úÐC¾)¡x"µ¸ùJFöz 5¢—fà<5 ‡‡£fqhÍáΕ ÃÓ1òœÛÉuŠë ®Ýµb\[’&³Ô÷o5,Hô&bÀÿ»£±Xg?ŒÀ pH+¢D˜’:Ü-ˆÑm—é#õ"œó±m€¸äMøäÛc=&œ:ìØñ 5½Nµ‰Þ¹¹¡]´ÈªâƒÈN=öÈ@.ë!GSBï!2@ÞÖºÝt˜-I>SI"¯h?òç`»N›¶îLUö$3èž/ËÍÜïÓü¥ÈÒé2 –9ô­`BNVH§¾]Ím¸˜¶f[ñ¸`HªW*#(xh[èD`^ÙÓ=Oãð‰¤ †5Z¹j–ŒQì.×ÜA–Ἡ{½!m¨šÜžÑÈm!®:@ö›¤<“X×i@>dQÍÐ&fèK(j-ù²§N§r Û²«óÀ´çý÷üÓt¬´¯|Ñ+«@ØÿÇVWWŽX¹ðø«§Ï_<óE€Žøæë üöëo¾ùÚÍ^ôÏNîùù9ôÏNJþçkè­7`'Wç—wè.{/+íxdï¢ä ›|ËÇoþZÄßI\¸¿Þz>6ñ^à/€t3ˆúm(s?ïz°ØøùÍÃ|”÷¤»N*qÿ±ÿïÜù÷ùòû÷w~Í¿f` -!îÿ÷°ÿ×ËÑú¼ Ì@¸¤À§]`1 À1ó•—<΀Tn•% ¸ºúŽß—?«Øÿj+XÿYà k,÷þ¿Þ p0‹êPe‘ü÷]4ÏmÚV¤<… -®È˜ˆ'H @ÁŽh‹ÐÀàãY'Fƒéx:XCØóèbü–%ÄÕ&Ùë‚•ÁŒuäÎŒ ¬lM3ˆ›±²yÖùSÔ!q:½. -À[(žÅL$>H¨pB&aà ´´Yo "‹¦Z½Þt„HDl/¤÷Ñ5æ4Úk¹ìáz<â+q»Hk6›¦µÅü8°oì¤qrµ¹é@Cýl ,E¨êcX—}'F)ÅIa–¸r‰Õݱv¯ë!uè# ›\¹ü:–>â\¤½"¹Wéèv×ÊÛ×|p«lŽFÂ风RBéf¬…—\Q±Ô£¶Ð’ì æÀ2[­E3kNè0Iu'déûßÿFÆIPøG«¡lã÷FT®ý€J9®úSôž!8¡9Þ °9w;ãø½<µÑÓ©CÚ8í½4/ÃÐ8 ®8(b<è: À{Ô-•ÚêbÑÿÔQP@½pìÙÌÊŒ\éG]tÍÊàrÕ–¾.’h91QÓ2ÂúNA¦*¯ñïnˆeߤ‘·„v ˜{þœóá2 _i=äc[0 WùdyE¨ë0=¢ø$P¤Ô.O$:á„‹©N -§I±vè>%F)(˜ë¨T®æaËD{(2µù³‹E‡KŽÅ“‘rRa–iÃT“]ÕLßH4§8å„Y9"˜¶ÆI¢²¯†¼éP¢(púô1tµ}¥À•@dõÔÙwÑΟ=•¥Wí8~áæ“§€öÿ7šþØþß|‹.WÀôÏö$ñ_Bøó·Šàe -¢oæîÏ× Îß[ï½Àf_E Ubƒ—Kßáß’Hßî¶4?Üs À½VøMÒ>©æömÿ­ÀÞoø¶›|äÕõ€ Í]™ðefÿ¿.Ä¿» ¿Ÿï-<Ÿê YÏ(€ xïNõž»œ ŒÎWœ¿ àÊåË—¯.</ˆÍŽuýzn9Å;ÍÎO:‹Ð 1ÿ3àÈÁ#o¸ °ÿ]CèJ%žÐ»ñ,QVܦˆµìåñŽH‚¢ðcVUsÓô/ø ò"ú’XÌÚˆ:ÌgQó˜ ³sõA™Éd“§|c2剟L6¬m¡Æ©ëúXu¦jõ²éUÛÃyûº -€ØÄ‹LT ñ#|°œ¸gS§²ƒB1®BØF';}Àc´h÷‚ ðL(ET7åZ¨5·gñ n£žô;ÜÁ_‰ñxs6Ó¦J§ØÒµ/Ò5)„©:EÆ1 nNxílÈ€9qÝw·n:õÌ¡ùà·:Fˆg€í<¬cê{EìRDbeÞ´DóIY" ® -°Aj)]ê¡M!ƒ‰Œt«é©8ÿ¤ÉÌÇh<D€>\gж×€A0‚ŸEITØ^;úþ‘ä 2¢Ö‹ýÑÚ¦óÈ㼉0èVUOËÓ -ïMF·göp@º–Ë §_óÎ{}5°’VBL@3¼¢R‰+ÁPíW” .\¡º.ÑÄŠU¨ìë—‡¶¬ÊArèV6H®ë“¨\é'y¶3š­XùÉD=:mµ…åÀÞ’(ÀžƒÒз=hù#XÐJ9 uãð‰ÿ—€Ó„ôSNªø_<VgÒ¦Œ RU£) ê±A9"5aÛª¦Ü6ì@ÝQq8.íuÈjPìðì,€šªãñ¢YÍ~7³Wß!°AP®È·"BºiW0â¡p”ÞÒ×ïÍ]½µî Ým›ýisu?mvÿiåÈ?ÁgE°?uvU÷?ZÖ˜Næï+ço=yžuŸ=}ž‰ýûÃ?üÁu ÖïJ-ÌïFïñùù?ûùÉ(ÐŽ\&qu‰îÝ›{º·Pvxfá_ë|Wâ‚×J/@»ó鞀ûñ<4€ÜºäPÿ(Ÿû÷ϧµþýÞ€éhíÿ2 àñÿá,€?üpÑÀ¿»¿ÎçÃ;÷Ê À ÐÞÇüÏ×€ðh½ô¨ÃÍß àýË—.Ķß°s%@ÿÚYí:”a€n‰Ïüœ ²óSèøJ&êÿ_9ðÆ‘7ßüéA×øë_:xàÍ#.>ÕÆÔþIÔâs &Ü)Žòàù+L \hâq*@Tlž]{ ¾Ï67yP}Œ4a´éˆßš¾öRƒ '0¬ZŒ`+¬‘RÛN±¢ -€\ÓÑ­ÌdÛCš¹Îsñ‹LošºA¹¨ÅÒ~½õEó¹kꈧ?"­Ñzèi@a€iRóuÀ vï¨pôƒkØåÄæm‚É„šÌÀ‘ú€8:âÉiM€?2‚3ö¦W±™j±“2‡133MMz»&TPœ'µˆ6Gùëeh>¯:“é¦ÔlÞ‚kµ~Ïͤ©âÝtÏkû¤úUWË”’ `¯9ð0¸h5ħL@ºû~õ¿}³¦ ‰ÏÑLyhóÊ3+€df¨sp ލð¬Ó)ÉÑ%fê"{9‘oÃ(d ÚIA•Xÿ ì0iAëû™  b†êû55у¼€³ *Ò\ÒêâØÈD³Á˜§p…E3á˜"0÷©XBØí“Mp€| z¹š`ø¾Lý/Ú -€IÛ,\Ç®êè>´vBÕ„F5ô9 liÓTâ¤Ðkm¡‘pDrÒ:‘’¾.€NØð2ÿ}´R|ž°ªwè¯'ìö€DAþ<Ñßibã(Inî8­AüŸ5>Ê ø?3¹(œQÃô™pEêQÕØå á`08íÀFu𡹢&ËÍ Ãq¹Å+"·Žv£´œu<€±ýËGɆ>êÖ‡sÔ£íÙ’ˆCƒPÿ5íÈ5 -55}(.¥°1Û4›èÞVBåŸ‚ŠœÝw:^†"‰àjüe ÀO¬^|œè/ž9Ð1€ÿàjÀÿðM™ð·;é©ÞZ ü€ -ð“W5€€êZŸwÜ»£ –¸ -€ø¿ðè»ôÌßÿ²ë6{߈®ìæˆqÿã…@@|þß×ð/€¢DS¸oø¿ípàWÿÏý»Ð×.³TÊ€vûžÝQ8³ -@Ûpåª}{¾  Õœ0_À€¨–_C­€öxðHÞ ²ü?¨Î•y„(Ø… ÆwªóÐñ€îTµÏ84ÌdPg齺™®Ç–¶«¼™‘ƒæ?l‚’ Àá,€&Žž|,q€ØWñpŒU8"]œ\Ü];¼Öq!ÀþÚ!äagîÎ0GwÁõG³™k®7˜IZþ€‰h†‚eHÝ‘Üë$¹6“^¹,ªÚ‹/1Ê\kF!žÆSG.³?q`ƒQ‚@ÓRÖGá¤?LH3(N¦vµ+ð=qÈtDЊbl”ä5~ƒ©‹k²}íJ©)I¨ ×¥{żUuÝ9ÙzK÷1_H3´Ôƒ -€}.Ì.ò#Ñ£&(¿œîÄs_qƒ9\cã9 À± j=³Âµ~ 0¾Su¥G–ÂpT8—U[$½´Èi˜R£*ð¯E½„ÿi%Âɦðàö ÿmëù!d^½ÍŽžAÞ ©ßÃEzƒÛ¾&f½¸#èž¶HŸé*ðÕvÜ„áKûƒãþwiІ»º**Ü&¦ªqxÝúåbéÆòíB©̯bä –(Ýáp2pHï§Zëô|-.ñ$heI;E]UÕA=Ü௕ZŠqÓ–Ésþ§RMǶ|ãáÔÊŸ¬¬¼qÿ ø‚¿TʨøOõÜåæ -@TYu“s­Àä’#yÊÛ¢òˆÚþ¦„†°Õí;N솬Úá‚P3èweéLï'¬°LNÍ -À¨?b‹:\×Íïþ‹n¤•ÈŠ+y²{nA˜ÛÍl“gV?€ÑW‚òÌWÜC”£ÛÎŒVo#Zè¨ì—±@ËA5‘Îý,äç„côÏ*øÆ}ئ}gX›)Q‰£DQŠñ§}ÌêÕ3Ô4-w`Š éo¹v4ôt¼ øÉõít× -@ì±Ç~dT®QëŽþ]þ¾`$­zLìM;ÜÑô˜ÊtDAMœ0iàc€ý]O¹,×¢ÂÕN|äÜ º¿¹]Åè"&)ý`›³ËRÀk~œ×F<ÎÊí 6¶Ù[b#I/\GQk2ÇÞl4óÝ ÎÊŠ°Õ T ¢—}©erl¿…–$ØDJCþI‡ öS U:°£f8­Ë²4„´M -½Æe•,¯Ú7)YÅj6À™ê¹ -·#ÆAá¬'äô|X›´¨ºÛ«6i– U†ÙYbÄ«áj‹ÑÈL¯’«cAí'P‡å[¡Ø‘Ï}oa-÷‡ú¢`YÎ|¡\&>’L#N)Ø•AfÊz.á³ë“e!oF?&?[Þ7Vf÷mf§ôðпÁDZ=oвó*`TÁÿe .@W€ðh6û<øŸg.Ö½ìA§ÿûþ?Šït—ò§jc”Ó`ÔÀõ¨{âÐa²Di×µïaÄ£ø¸l ̺}\ƒšBk]zÖ–:¬¨2¡ÒàJgžVR!Ñ2d±žë;¼­Û‰2µó;(&Úƒ"`¿)Òr¿ÉåüY²€ý¬õzäø•ÇObý»QøÓÿëo}ÀØìEß¶X¿ ýœßºó–=/i¯ó¸*®öv¡e€Ówóƒ] -üÏw÷ÿPëÀð/ -À¶€ÿO?Ñáo÷~8ášß¢dã7‹1¾4 à÷®ÿó:ºÓvÌ=Xþ›v šÕ€ŒÐ•¯^ºvõý«—‹ `1 À1Y 0¸ `{À| øÿn†âïA«ï–#ÁîBo<¨àÍ7}'`ú½)A!n>6_P0.ÑÄH‚—UEö -"bBOÁ,›ŸEtÖ€â©ã6]éÎ[šÍ"©½é(ÀÒ -  q Rp•xšz¸¦ C®D'΀{lþÇO”én‡ÑÀàކŠÚjâÀ‚ŠÈ‘ˆÒ²Xø–÷+Nœ - &™†ÛrR®¾Ò]çCìßIÕ£¶Èý†]ýö*«5Lâ¸ÏÎ4†E[@|ÖLOŽ>ßâ6 •zÜ|1”Z¨â”‹ƒ€ÅY³¥Ó$“òùe‚X×qËu)q.yJî€,q-4Ž•’.èˆkC‡Ntìp@Öx„U«;Ã(Ñ7FÎ?'9—‚/ ;Àß.€’²§ -NÖ_Ìš™+ÿMòÕÑb³F‰£×ëç -űóT¹BŒ\¨esëßa„K€„âlFýBøëK&5²N‚>*oPR °¿>¨2¯¢4è;'CX‰ ®½éºZ˜ª)Dã,7t9rƒ-‹ ê“#—H›ÅjÔíT@C{vwÆBÏÐ!mµønô‡5õ1”Òá€ç ©CE©H9èÂ1sV áÜ—L×ÿ¾Ö“g4êúQíÓχ.ðøœÒà?Jn0 ŠÀÕ•ƒoX. üß ìzšŽ¦ÀÄ Ü*p’#Iëºõ8E‚zW¨ª ×ç£y$×@z¹ÖúWèWmÝ.ªû-kˆ:F¤èT—uÄQVwIŽg¢‡Z9&n{sÔz]ƒJ"A6ÖÈú`²é<"ó¡HA¥fŸ)Âr¿ ™‹T×íç¿äHÀ3yÀOW/ÝÒðâùó/ž}óõó.èz€ß|óÿðmëïß… -ØïA8÷¼´B´»ཹd~`W\÷ä«Ðÿ:àÁŸ¯ßwº_’PØéðzH‹óöýÏ¡?›|sPÈ;–ð?óÿ^Cw>¼÷ðãO>ûÛ%€ÎûÿãH@Žîܹ³zêÌ™ ¸tùZf\Yòì6 ô²àƒ[m Ø‹Î8P´¥ömº޼ùÓüÿWùÛÞT¤,¨U^q˜ËhYhOm«½Ö¥û¾™VÁ!ø°Ù´«±ÇάXÍãÑ&¸Sw& ©N=°gZ¯7„¨'S¨‘¦\Ç7†µú„»",ÐÂaׇODTByÕ8É"Y•(HÚ"A‘üd©Å7âÇ?Ùj¹¶Ã˜£íùÕD¨íw²³®½:ü‡Ùæ&9-cü7TK|Ñ0jÊ1¤‹¼©+‡- ç26}G¬›dÁ‘JÌB‚¢zS}ÀÍt -ÊfD~ÉKÄ+'3À)c±…‰ðLd7¦x Ú è+Óщ¤‡©>t¸ §¦%ð§Ћ¦@85A ”— V ª §}óêd:žÀµ~ Ž+—úEÙ*EHžËÈt Ä|ÞëÒFãl®Àt¡(†^(-Døý-JKðwË%k”}lIWû’Ô¨ô-¢`f“DÆ~4(™\†/‡ê#•AØd.}µÍµ`ìk—l 'm@Ý~Æîe5;R¡ÁÔ–Ÿen[¹}kàÐÙXºÞàÄÉŽ°Ê$UýHNÓ@˜~…%¾©6KÖáRUП`Ö¯8š8û5ôWÞñý,à €7T2òG@N½y®³Ü—×’’©”!˜Ýe •ѹ•1€©²”“I¹!€Ó À'É=T è6»kΰ—Û ß8:“â¤Ê|çñ ¡ö*WüDA ¨ÎžKûÚ\°FÝ1V5EZ´z -ê¯g ŽFÉ”*o·?ØÈs…‚Aü¥u2JcŸéÍ#ûÿY9†ýö˜ï»ÎŸ×Å€ËX¯Õ+ž>{öàw-àoÊÒ?ÎøúÛøæµcö¤ŸëÈ,€¹`‡ñïoo†6°ç_¡¹P€×€‚ÎËÄ_|ÛS;w¡ûwÑ3PHéÃ{¾¬” ÷ê⿎~wçj@ÊÑâàþÇó.€2 àõøÿ¡¯>È4À¼è^lþÀ¾€_²Ão @À_^ú·èàÿûöhÛ/¸ºX PàwÛÎ€æ—æÿj…Žt€7•¯¥7Û‰€’“vÃÿ( `‡ =ÇÃé6M ‡Ló/6p¤Än‡Põ1¢AK­mm6,.%ƒž€Ï1—€‡Aþ»ØÖØu­WIpF¼Ôð.@—u€N ŒÅlðlm-’Št3È*ÜèÅ×XC À8‡þ/Å{a?¦\kE÷zNĆë–4\¸Ø`ðê鯮?UÅ`"ל˜5›Íœ™ŽšßÍ0æ}Ï™ -Ó^O3xCÓ±,H< ÃÒhzz”eÕ—ÎD” -v s<Áš‚µ áq°$(&j¼EŽÍ=–“ãÿ C‡:„ÖâÚLì( ‚pÙé\Ù7Ô:÷U»êz‹1®õq;Åm£oXí…ë¼Z©åšpdc‹–_KäïeëßÉ ùÄüO¨ÿ“‰ùC¾Z|B“­Êrr::ÅGv5°v»Â³32ÐÂô,ÛeÂfO”îSä’¬ .8†€ ½Zª+öaÊk"Çîïqw rÔÓ~§î»ø¤@ŽºéH6b±[Іµ¦}ŒÃhz*Áõ\-íxDýæþ9Y=\[3\@ÿ@P;ž£xZ-@¯ž~~.s€*ðf;`q`G€€ƒ<ûo¼³Â_îÑS@DyÔyFN“·LH@¥Ò‘<çHò±’ÇÚžnê;g-ên×P¢y©RÜÔ´<@X]É/š%7£€ÛÄÀÏRIÙÉ¥xÔãÁ°?á£Bf¤»HÛ3T ÕlDvaJW&÷™R|ûM«ÇWÏø _?{3ïìꩼ heõâã'Ïž=}öüYF<ÿó. ¯ Ø¢ý.Ô‚ý.þ—Y?w% 2à æ2­»@°ôÎúú|È íˆ`7`ŽôK˜ÿì/¤£Aœ¿°‹à€rvõå?Ðjø[žð]ø_Þ耿Eع.ò.TÆ\ÎÛ[*ÀŽwô_¼ HEÀY‹uná_Gg^" ‚;³eåˆàÿú>€ƒ;]~ùV¡¥Ïe?¤ þº<‡’‡‚š&–¢z<£“ç\;Vܯ:k*ãͱýÞœmwÍþ)0ÀL@dÝ©ëöc?è!õM>';½51ÙÙÁhêúÆ»,ymˆ¢ pÝ^]È—°FŽ!<øö]åÆŒä…÷E€ upÍ.\Ão¦%?X¿s®Å¿Â5zÀtÜlÚ?nBíŒm !ŒiûÓ…˜É[NœŽ„ׯoõÆìö ÂZ5cÔ߀=KYpÒrèûŒ‘˜ŠÍ0¤ÈËÍ”ÓpT¶ºÜ:@ñ¨>Q^ó™’lý)] \x -–ɯà–ÿºè\°è ÄÏÃuOÏjáÚ8ÁßáîDaCà Y¬`¹FŽÛl”T ™Zø/f¿þjÿzW~-)õ(‹‚Bª‡U§[Mª…Êþñ_‡‰ý´jÚ!ÍtÐR€“ÑPü -|W-Vmå´ - -°R“{¬øedy‹@¿ç b€“a5tE\vŒ×^xKÈÃNa%›–¸‘ÙRÙÔYz°”Ú:F]ˆûV~÷­Ú—/œ ûñ|æ#0c"³GR€Èdîdq+•[j±ª‡Š']à£ê®Â*‹ó…[çRµ–ë^‡ ÖZÉ”¶Í‚ë¼!kN®Ñ$¸½iÖ•PÜŽD'99,Œ‚N€Ncg„!ˆ²7ÚäF°ß¤‹ÀòÑí½\9úYè0Gueh­ŒÄ(öyYI`®/[EÙ’%xr¹~…˜5mŠc ½ø§x(%”L7ÝÍ” -5äê{òU bÝ.ÊÚJë) -‚ñšØhó¶>‡*އ¨Lö_8n Œq‚¢«ÆD [ð»‹õ÷Áÿ—¬€Ú2ýAD*ÅC©¨éÓTJßžœ6)¸´#@¬Éú$Õïr¨Q -ʦ„uH#qNHû£Iô`ª—É"ÕRݹÁ«)íV礘ü§StÞIÇt:Õpˆ^±ÃPú }䪨Ð>Œo¼9Gç€øÊvé`õ€½àÍÆ§:^Âiæcôë&ˆ`ÿ?²ÀwNþIñeªoItŠhòSô‚³­­Å - J‹)‡àgœîvO{¢(3É—âö œÛBLŽ­ \wѧ26€ O'”µÕ£pð s¥ÂS3@Ìø|õÊÜMâìQ->L³ñhØGM"=[Ц¶'Ú54ð=ŒZÿ¾s¿)2r¿éXÙ­@ï¿¿³gV] Ù|dõ⣧Ͽ~Î÷ë߀þ_óâë?€ü_£¼n!€éw£²ÀŽ1 ë¿Àÿ®€Þ{÷ÄÑ÷ïü|É0WB"ó®¸^ÎzaqqÞ/°'Í€8À~12\ðÕ -ÄwÎ… @}ùÏ¥P{àa ÿ´ÿ:ÊJ€­ðwŸ=¸{·d•ÿ»P»_È“÷îœÖÁýWf¼2à\€t\Y¬€¾ƒŽÚíìøÒ*Ë®ùÎåߘ$pûüë?Xö”AÈ>¬E" R·½9ÃsqÄãÈ“ì0@ÏŠYêêšॖ„¢Ry‰"¯¤HDZ“˜XkåJìý“JK¨•Ξ” ÍÞŽtíuåN¿{S|ÑԭQ@®; Ùè9Ž;ž --”êèÕ„É6\w:"nDJ®•m£È?…"l¨!oä`¤³².È 7üÿÙûß߸®3ߤ‚Ù×¢"Z¥7‘È\€9æ„) B0PjÒ,…'„Õ·d*®(ÄTQU,“íØŒ”}ªÕö½m˜vÝhî™3o¥-ôðÈç -p¿8s Ï wî?5ŸÏ³Ö.V‘¥_‰¥sô³«öï½ö³×Þ{}¿Ï³žµvƒdýG1‡6a¼{"û.C€¥võ–>6WeR”uìÄXo'‰GÖHíQv|0r “ -u<¨<=—¬e™*¬Ð0MÎ`{YniÀ†â” j€ÄÓåVs™®K9Í>–ü¡µê¨±gWÁ”ÌÙzkw Ú¢Ö­ -àZ›)lþCñÿýý ÿU|þ9ÓcŠzÙÿ»Ð`‚íÎ&ÏÈgµ¶!F°@õ¸Ã¬–H¬ -)ÏÏÎLφ +ó¦¸Y6ˆ¯¬é·¦5Ô­ˆ†•>})Ÿäì8ýÜô,gä£<*îyü½ˆ[#dŽë‹k W’`Þ‹€í¨£K÷b8oÞ‰Vñí'õh·k«‹øzDnì ÊëÀ®·€«âïB;I¿À¸çèânðo:‘¨Ip¦‰L"7øñ>…Æi1áÿÀ0ïštÉcŸ}7Á‰xÀbµïPÅÜ–˜JÊP4^ ?;ÍÛȫǑFn%ä—„Œüå>AÃMØÂtg ñ¿Œðv0ßÚ¬t¢jÍn˜9œÒÄZÒ­=q™²¦ô Ñ`T -^^H€¦à‹Ï¥µO>¿{ïvØþ÷DÆ_}õǯ¿ùæü“ƒíàþ­ü'à–aÀµÜÏ!À ðƒhzŸdéc.Ûÿ“k-x†Uý‘>ÓÀ‡rJ8@ðW=’àƒëÙ1þÁÂyGÀCäÚÛ©'@` -p°€ý­²ì·ˆ€Áçý_˜|p  ò‚O\’‰àùÈ!¤È¾ -nÃ# Lô ý-¿ƒÃFËÍø@ÎöÕ«,üèPý ZBn/,½Ò!±`Iœ×pv'VÅsÿá÷³4‡´æ§§±©<EÅ$Á-à#aK'}½ö‘sx ­¶Œ›±µfc¬æÄ•²Jj uAE[3´ö¬¡lˆxV‹Ç&LlF_À¾Ý†l]}k«‡-AÃ>v³YÈ^iý6Ø3{‘.xgn¡…~˜¥x²sîˆÿ3?•Dy,îcÒ'r)vÝÌœf³š±ü!‹IŠþ䘵«œˆ÷Ôè’”¶Cá­·ÞêB[°ò¼2´–¤G¢xBþ ü³Ü †!&.ú±õTW7‹¨° °E_¯ÙŒþŠee:vØÄ߯ô¢‹^éfo£¤2ø qýæ¦÷•,"sŒ\›yîy¤È1k¯9f~ÞÆx‚‘˜BÀ}H(4XvN굉Ä&¯–|u“€—N»žضž¾Â·<ÚóÖnatÂîì¾±¬·1ÃŽá8vRWÆQ6œ<ÁªT`¡³G¥A¢H9ÏBÜJ$·6@òĈLÞŒKc ¯ÏÌìïÓ¾zúê¤G¬Ÿ)ÏsG°Û{Ñ;ˆ®~Ù˜™m¶Ø.“)\É6>É­ÄáÖ.xKSC ~›ð>nŸ_Zêð“×à?G?ø/—S‰ødûMW®æ¦¿½v˜ƒ—joÞ¾s÷¶.?”(À½ÔàWèàÿ“¡þ°hþ‡`8`H‚dÀcÄÑä(À5Ís:8þ(ƒ½‹N“D½À0ì§yǶÏ;< ×^M ¥Ÿ ~$N§øS<ÉþĹ -±Àc€k×R @ôÈp¸€Â‚ @jŸ‡Ç“}C9ÎKý á¥Ï{zàñÔ~ðx˜Àh³ˆî–>ûwªcêú(kÛ[­« ºg% ±…HÀsŒº€ÒB”ò©ÈõåÎB)mñË&uc(ˆ)˜(@¬h”bÌ@8’dÙ¹CñO9VýÿÌV"I{QŸfsÉÊ¡ˆVkkÛ -öŠ~G‚L°µÙÖä–,xU”CΊ•úë™ëi<&‰’Ìó ~"N¹¹åiÍ‹ÔúÑS{b—0¥»®ìDËHr2A®_a3ë*}ví¶° A[£FžÅ€¡€HgI>ÌUŠQÊÚhÀ;’¤FBž™ù‰ê ÓÌlhª™g1kÞ Ù;”Íj‹­È.­cÙ9[¶§ú}¶è[Â\T¶þ‹à=žçü{£<éãˆ÷^T@ÛtŸÉ‹ù²f¿y-ö¼›ž·Ö;>`±JXݵ4>E‘ÞŠ€f;=a¨b7·ÑºÂØ4ŽÒ(?qF`ñtJì꺈zº*j¿}Je¨± ÃðhîO|Y?\^j†W&Ɇ¡ Í‹U÷„àCx„å ÑØÛ?™î -G éÙÀ²€‘‡”³#ÜzAáðDà¿ø`©'à1Œrïç€ÿC€¸©¬M#YÂã#€Œû -š>•äÜI@„x$ï‡÷4Â2|’G¥bACª¬Ò*‡·GžÀî~~(‚'££¥ô0§‹Ö×Ämx¢¿T">Y955ºQlh­@4ò:~jåÍßù1 »÷î~õÍW°€?Úà×Ö íÇI†ûñ­öcFŒÿ”£òjy!#é° zéA2¸‚Ìæc) + ‡ÞŠkî+ד&`ú®(€üà£ÂàòÄlZ?×–‹¥÷`î"¿€ܸñè@ -ýüõÅ¿þ뵋?ÿGc†=9 µ¨× ÿG\ø¶þ³ üI …Wùb¥`–}.p@2ÀkíË]È;© }›™ècïJ•,^@,ÝLÕß–Œ&ãñ¼Û¦À¾ªÆüµfæíWä,=—œ³¤h5­Ðz¥§Öü`§ùUæEÁiŠ A¨ÞŠÖÖÿs&»6 ¬í‹C„,Ñ.i-IèaÓŠ³|ÃZcû†ã¹µôǦÀ0„:ìJ9…Ô‚_¤ê2XØnÍG 4W°u+Ô·¶Õ¦­!ËØ3œ·c<¬0&ˆÉO(N{v‰jj”ž¬pÌOÝ®´1‡"ÀþçÍJax‘ZìjÄb‚¥ü£S\bŽT8¶‚I•ÄM¤ŠŽLÛ˜ÓM?£ -^njÀÀé·úA¶ºÝ@Kãíl+ÕH øÆÿñð¯N^Å㈙¿\3ä -wÝúåN+õPh#Ì”YÑV!îl K½•1™™žµkxdølÉBé·W³ôl ñåYÌWV{Œ¹·`“N bE@(âE·±ƒâÉÏ”7;›¶¯$¢=ô"ŠÒÂ,¸› _ë<ûç} ÝÈPZ32>0¶ê8Ö§© <ì•<ŒMaÂZ„H+˜ÍŠH86þ¡PZãtBE˜3ÿçô£ùô(§QËÏ §»HÖÌT6¹»¬wÑc¦ÌÀ.Ëø<ûmžqÞ›ˆÐáps:Õ´q×x‘ãqdC*x[nÓª8᮳;÷-å42“f, 8דý¥¢õÉP€S€=`±ÝEÀŠýLžZ±à]@4ü¿ÿÿøÇ¯¾úæëìî+êÇHŠ˜ýÁËCý  /GdÔ`«;dŸ„蛤óìæ§!‹Uc„-×_=àŽ°¹¡ç Ã?X@ý}$(@ÞQø‡Ë° xÈÃeåÇ?ùŸDþð­ÆÅä©­ôp«EŽL­GÆ[åGbCŸ+Q DògG¤ ‡(ÀV|&DÃÜríG¯<Ã;n‹Ý('Û¬MØÀÂŽ>ØÀ7‡¢™G ìö’_™õ]ß\зțÍûo1€‰*V—§ã䬰¢ÛB:ùtÞ -õÓlg·ˆÖ³vœ¡c¯„ÖªƒåqZ¿‚éÔ#*¸ãí9[Ïà°h‹3q½ÿZ›¤%‹\ ‚ÛœONŠÙ¾nvlìy ¨~’ /”šN÷û½€R+Dûh­Ò -åh¦=rÆ\6T¡Û~·]îl¶¬ åÔ¤"ˆÏDq)÷â–๳~–ÆðëD¢öÅ¢Ù˜@»øÍB8òð>Dòš øÅžþ[ ïH -çó8uq3…Ùo]@&’ì ÈðþP‰Ó>&¸öãµµ¿Fyâ[ûgŠVH~A¢8‚ñÏôØÑÉãβâSŽ}PÀ_êãÇŽ·Û€”\ÈØ'åCçk›K|q!Š\‹õ´ªg>ؼ~‡_ØKPj/-¼ùýV“²€CRD¼£ˆÚâ}g×f»×·‘¯)ò†ÃøË¾ûÚ¤ò¦ÅV - 0î9C¦gYçjѬàœ;µí$˜‡V*zˆ~óAtX¦(mÛÂqXƒÝïˆxTø4•ß-cÆ(°¾v­ö#f–Ìéºð·Yâ)…»^{+•˜ß ÐmiWó£dQŸí¯>q{ÚiCU¸h“‡ho»›½Ÿ!‰Ž $(F¥uÔ?K„¸éðR§ên„<Œr“$›˜Í=l©…ŽžÕÐ:²=´æêtˆ4»öµÆÅs^Û+dq²„Su¤UíþVè'ÌføÁS…óMòäñd^Àõ"¹çÑ -³ÃåyK}UžÇ£µ€ŠArBÐ|‹‡UÍ.‚(å¬H9„ˆ ÆûÏL?÷ìY?4™ Åçž=ôÈf8…h3ñÔq©»ÞHá½: ˆªVÒaP#A‚ª¬®#¬ Î0ðLÙÔÞ ýÙ;¼ü‡b<+¿01¤›6HB|£%‘’4-€ÐMm’R$åBèÉf@ œÁ>ÔÌüŽ÷4 -³ëGÞávÂ=3³ó?bõY3» 1†„WлÇ1"ãØ%ñ^5­aˆðØ63ëÛÌL<70ɶ7ÊZ/˜ËðÔÌò\<ѱ¹÷ä%¾ÎŠÙŸò+±”Bž9UûäöÛüîܶ  à÷¾þ*šþñvxÉPX1ã¾þ/Gd¤À;c<’€õ@j·N+ÿü˜83X3VH)ÇÈ”0^¿þ^ º˜ÎqÓC…½2¾?L¢'Àè (À£2€Ÿ\üëÛp\ @’Ô€ã" ? »þç%åÝô£é?˜ÎèØ‘‰ãGöE@^bÒ8r4>"t4ùrªC2DS!,@K˜`®Óéö0yçÃaí.lEĈN˜ÒmÊë(9¶RÛrÂ"öÀ»ÞáýO!Taéæ"š2šâƒÒv^—r%zÐô+m €@]iî -² ­˜›ÀÞï•ÒTËoË6~è¡áhìXâëõã뮼¡³ÕovÐZuà#†81V=@8à°ÑŸÇå„ãc@:ýý ¶>L2¾?T¢Àðs@!q±c×~ò“è ðQúH.øˆç{à;ÅëÊsÿÈñðø3“~€|¼Õãäȃý“cË„”ì°@|o2†ÄT¨”t{@©‹¼Ó­Áli»dáÄ„bÁ!¡^p§8Ü(>fõèYdlk/JCìÈ;Œ‚=噳Ó¬ ß‹nc´ÙLâ~úÓ'Àù@Š]ÌùrKÜEYŠ)ÖaØ'Ì®AZ,u°%Žò]å×iÏ“ -fwƒ_f!Ê„ +šwíwÈãBë°Î!&ÝÚ -vàiÁ§éÎz605!˜IÅ0?ãíz»68ЫNu&»[}Ρy]ÙŒ|„Îtô˜w$d‹ cduˆ%áôÙ¨е -/¨ü(ŠÓ(p•˜k¢Å©'j.ˆëÅôwäÉPæÐY§@/*Õ­ÔÆÑºËÁÁ°P©EBEã*ÿ3ú³#2 -ÿQêsî˜xŸ¹Ç#P¿y;ú©È@ìJÒ‡°Ë (—'òIHLƒqÜ­ŠMþ]ùà$}t’U´IŒmûyc( Œ®||`áÚ˜Ú¢¦Éã Þhˆ# ûµ»#ÂN¸w5ãµÃÝ*´kagL:EÎLÒoqáðØýŽIÓô=ÖÓÊË-ØnJã±ÍM&D¢Ñ uÉ“o¸Î‰Áô˜dj0Š9rNuU$bÜ5]Z¤ÂÉCi €—ÇY‚‰x&î -¹6›,çè »ðŽs£¬ä9eÙÝå,yœß›øÊï‘w;úlˆûÄmw2)ü±.žxÖs‹á ¾ýO\r‘ød%:²íð¿È/Wœ‚LM;µöëÏ¿ü£+à$˜÷ß|ßÌñ~ceçÕ øcdl+€Á?ãØ¨¼Z^x´Û“@¬Í›ø éi'‘V¼V"€-éçbžòƒSŒ€ûk­…wð,¦•dBòÏp•û²FüX@W>XvÞI=÷åI–wbÈâlòU™ é‚(ú.úÀH €’[ð øâqâ>¹Âÿ( Ïÿ™ aÿ³!x#ï+zÿù“ÐHÀHod’~ߺq1aêGmRU;ˆ0Ñ*ŽTÖŠºÚk)Æ®£3Ü/Î5@F~ìb”XñXs–âR€_[Õ›BEš•MK9?CÛnhÃâ0ÅÁ¦5èÈÆûY•õ8)K¤¬ãšY3€O”&Z7{>i ­ ‰÷ç, "°X bçe¬‡x9`ZS[tv±Ñ!“è…™æ§òr‹ËóØÌÄFÒX÷lÒã/èöº½ö§í­^¯ ПÐ%Ú}.ÀŠíð”y­ÖBefÓ¸CkC-S)Á¶™0a+Óš¨áà¶¥”!nz«u ˜ç»›ÒÅuF¼êz¿TÞ† °–Ön\ZCtØÄ×ö{»4ðËp¾¨¸ð£‚ý~þðßXë€ýÁb‡ÜQΣJ§9?VêßnÁ4ôè5ÙdK÷ªœIŸˆÀÂ9Â9èø˜v Iž”̈€hÃWŽç*ÄeŸmT¦–›~“’¬ÁúÌÛœWx1ÅR1V´Nð™^Øc»ÛsE )¬:x¼o±g:$`Ûµ&ãîšøü"ñA ¸€Bv¸EhOÞ`‰Dœ1Ñ ÐíÀ³kÙ>䈔ÝP€ýŸGá8É$ô(<f«H;y¼<5äˆ<µšè3˜ôå´OJðÿGW¥|Ü0î7*ºZfðVW½Y­™žLŽ›A^Ç­ôéöáõ6ø¼ã:_ -æ6?3ÛlíúD@ÓfŸô/Åé?Ùá”A€ÕE?¸Œíf±º¸œÚć^¦VüÀ=Ì[ú9€þ ÀƒšîÄ·j2â æÿÂp+À(È06*­YÀ{ î; å°aõa³ã=Îį˜EÒÁ`÷[þÚ« o »÷="þP×€kbßì0PGÀÃ8À/~q=†<)—Gr Àg€þg¿ùO ý ½ï/½Vôxà[™Ø@ЏxühªpæþCÔ`ôæyÛ´ô}oëHCþÝGüdp” -Ïp€QãÚd¯c(€ˆQPýÀÀ†¾cÀÁr}F J‹þ0ÔD^PÍü²A÷-4_d³Œ@Þ° -¥6×·‹™Àò˜Do­ÔÅ*ãË-h3=Ý1S¡í/´ÓÝìtÀQ‘>ü­nÔàƒä~ ÛyÃþVý20ÉPH%À¸,?ú'mI,F[Å="’Ä8Ñ +é TB[¿dó»¿4©\; fG†p¹6‡®èouËæçhÅgø8(mþA™º° JKNe¦°Š9Ý öƒg>êÕAÞÐD4,T -ÈÞq-%o!™iY ÍN§<£*Yk/¸ÖqÑ6Nd½aœž¹õ®Z«ºWÏ.]´ö™¶üô!`+>*ØÍøï€ÿ°Éýç5<é€G¸[™ùM@?ˆg‡;øwû2È€eÜínõ߯/àGxç¤óùüÎ]=wïfß~ôôÕÿxï¿tþý~­ß¯;,c[<Р@¤bß$‹Å’Bk¸¡áÂ[ËcáKÆýšºÀÞ,w "Ï –7½mÖÈm ÊóMÊò(ž¬PJ{Â[.–æ  /@þ&`éTIü‡¬¼ùù_ÜýBó@¾¹wÏ~¾zÀ×­ðSµñ±zIÀìóEL@pè[ù/‚½hhÍ.ìª72HPš%9ó@ú a¬I‡‘ë~x‡½Š”ãÜ.§©Ì€U¶ `æ€`_Üû ^ yR ./üMô”Àg¿ù|êï‰$QÝCò¨1¾`¼41~°¸K2õö~Æü”Ã[ã•ç¬çĘ÷f®×o„ðÎmòÃÁqˆñ‹€ð¾“Ÿà¿|þ ìgk,ÉÍêG5èp¯½o$€:Ýnç*Tr›G !»»ýöŒ—ñi·ëWšûh×ãÖ¢~·ÇÝ'G¡M3g?fX²XÁa–r­ðE=#>V­þßöI÷ Ùry9lÁ]|#™æ…ÂpÌz|Vh_‹ÈΊ´IDMÖˆiL -€à:Ò - ½ìÖÙ³‰Q$ÖDÒ) RˆäÜ{†@üÕKÏX²É›¿¸+'‚x|$Cìž´õŠN¸Fí<x7Àc$7‰H/ÌNZ䇿ɓž`b²tòD©ämçF }=‰(ðKn‘Ï_·½ËãÏûÂs„•»2³Û†úËY7µö­äó©ã°Î&4ŽR@à“3ý‰Ë)Á?‰1€‹ÖÀ "ðèñ©Ú›¿»sûöm›þßø ¯î}}ïÞýÿá(¾^︵3óüóÓß?þüw¾ã×C&ž}ö;aõ¾€öc$b‰ÅðÁ/®_O¼V’ Íù+f‘tø8¹~m§,°¡) æ:p4Ó°ýÓoŒ`XÜy ¿¸þ71 üýCCÚâ¶¿ñ+Ä\B&…ퟆa¼yÀõì´h|rñâ|0À ¼x“,ñ.‚×ÉüOps)ì/1€…Æ>¦â ë»m’)þ0N%: ü ɯB0½[°!Ë•.Å~³ LðRRHS¾GP[€@àhÈ%oP l|î -èG&ý%%ªÊûS €µ3Zróv ØÓ`Ó>¶‡¬Û@³Ê¦<%Œ€iaÒ$ÑnÐg•‘xMtRk¶¢Ï–Žn|kºÕ”Ck®Jê`E¼û{Q/ÑÖáLaæÀÊ>PË˜Ïæ:»¶ÚïbY -åe’騡`¸¼´N_#YTÂdÝkL¤Û郳XÒR“Ø“Œ¤°,«ApŒSMnÙE'à—«î,ÌÀ[Ìñ -€­/0k˜pm8wm¾ÒÂ@Ž=›W»–š"¢`š´F83Öv¯OÞlÙ{SRƒXïw­Ôuve dkw«ãÝf¿±ðŸ°ÿ üÛ+⣊,ª3]Þ„BÙί½ þËM¶Ññ*6b» þou§µèw·Úý·Ú»ÿçno~'mu¸«+¬øHôoïÎìò0¨²Õ*°#Òïô¤‚d¨ Ó¬Vã„WµrHâ/PŸ·s @ êÀPàk -Ë€ ²®g-o GšÇ舣AÐx×¼I5.¨3ìǰ:Κ <êal‰wœô#-„ã‚—ÕP¤ˆº¸«â0a¿–Ô#;sB’ç0ÜÛ”ÓÎ$©àäÉ`ñTlu··Áî ð×õÿ±ßñ6íö(&l‡"·ëqK|¬º»åÝ.|´ÒÞäÑݬT:ö_©'Ͼ7f*0Y˜ï_L`I´Ÿ³ûÿ\`€ >ÛRZiüî¶ýÝ»ýï}íÇî~õõƒ¾øÇÂö—8~ugö¹ç¦1øŸÿÐïðìDÆû þLœs’rTvŠ Àƒ邳ï2'`vò‹Àô•jYXØ!!çã´¤ë1¦‡:ƒ¸>!ÿ8À¾ø‰tD®îèŸs¢ QPXÿÃØ¿?(JðÁý$&ÀãH´0ò??Ñ!?ýËéý> ϰÅwÚêÿŽÃ%ŽæØä‘ãV/ää• êûR h€Í>)Œý¾“2¶2ÓìíF=¿&/ïrEG|OÏ6E·€¢ŸhgÜÝýGˆgç-?csáw4DEh‹ pÒ¾ê* •Ù™Ž½üýf‹˜'´ å–½â @@k¢Ù{àÐeNq² ÑÔÀÀèwv¥˜ëJž>£Nk¦Ýû••dì_´î­e%`Ÿ@ˆMB õ)Zs6; -r»8DõÞ3îxÉmP“kÃÀѸO;´:ïê\`£¦Ðv¿RîJOz=óK¾^‘B«ÙC{²fW›ÔºÛª6[å\Å6ú½Š#õõY§ßüüt8¢rd:ªÃÅ^ò ’DŽx ›R -çˆ@|q[­;íwYô¤d˜€¯{]ñ6èKáÖè¾íomïVfzî`‚=%³\bð„ñðŸ=±fþGâyàjIV¡CÅ~çm#iÏÏÜuXÙÖÖL¯£ñØÞâÁü?w¹…=®ˆ ÝÕ©ÓiÙ¤®£V¯‰aÙöþèˆÚ4Q¼QPnþ- @ø?sæôÉŒr ƒH›,\Þ¢„×¾G øAÓg4%Õ¢ºëiˆ¯Ç3ác«bµ|´Ž·ã}”D¬ÍWÏKR.ós ëp™E!ÙaÈ&á™´I þêbR)Y6ñk HRš"c‘f˜5l!!Tâ€Ð9+©@÷Ĥð_’x×’`3{|µ{ÿÈóàÖí’ýñÐ5)(ktoµwË¿ê¶6¹K˜ rƒ‚$±ð[º <ê¬|Â?o×Sss6XüžÍC–—a%°µöæçö|çÞÝ»_åüC?þÑæ€cå«oÂö €p@fŸ~zöûÏðÿ‡<ÏÃÿwÆöt=ºÿko\{€À*p¶€é$Þøû‚$À9çÓáã­mçHòˆÖ†ò‘?Ô€¸sÈ·IúaF\gÓ#ೡ!aþð¼û$ùì³?ûøŸÿyÌ·jCfÿ*=!– )Þ?}žÉs‰Üþ·úÚFôÀ¤M Žñöúqσmz,S€Š>€æ.ø)ÚaCAܱæ-¦eZàp°[¡L1›­!§ÀÆ ºXôënéü&qv-!ù«¢ÊfT_û®S‚D »ÝˆreûàCP‘bÃ/ãa‚ø –âý@–øßëRÖw*¨" écïbl¸(Ó°…ʶf:=Í •Fën­{»}J¦~­;a$Üðˆ—R1XOËÚâ1üß‘[°ó  ×ÑáØNT—ÀF[…ßÞÕ$www·Ëz¢ÉÆ[}Ý&à"¹B}À?ü*Ú°ü#¯;‰O¦O·šÀ~äBRgA~»J„€s®N¦sÇv”¦ßïnÚÑÛâ-‰Ö yÖ?YÖ[Í-1ÓÕ^q«³Eæuw·wûö¤4oö¬â!#¬/àÈñð€XSÀ¿æ¿“X~4i7§½ -Ê}4ÚÒ³ÏÜÖU2–üñ·ßÚîBúR€î[[rKi #ò«ÿ)LÛQ~.€~ó-K§iªéhò±Ôøp—Áp 9qRè=1YhÐÏÅÉ\_ÙáD&±ƒ}ðž<‘A4€T¬ÌÍæXÖ¿Ç -«'’ÓÀZDëYlM)œpÓ‰ðÙC1NfE^ôŒŽ4•é|.²ŽôKšà)iÉf¤»àjç¤#Š ð‘Jº]UØÕÒ€Ã$žÙ”Xë~Îî+Â"™Æ•H;¼ðÿg^Ø÷Àc“€çpUÀ íU¶ZO­‘áOA~j«“V§ húùAáÆWì4 0}âºñ<ÁŸ—ù¤%>X@¿!€+€e{Öp¼´rùóÛ·ïÜ‹@À»ßýßø9€{÷´óïG¾ó[XÐýinö¹ééïÿûÿxüïOÆ2€Ê¾àe=ànà´³n—ù õ$áÙ$éð±rî;kʦë9á…þ˜çŸ=ÖÜWô„\ßyûÕGvÞþEø0‚|®g{Øêžß÷°æŸÙÿŸíãçßÈOÀc v»ˆ?à…°Jà>baƒ0%¡‰IÀ3VØ)€¿†‹¼(@’•d -GÐÝÿwûóØó¯hª×ßîI¡Ûe?íBƒ8ÚvѸ&C¸½èÁGЪ`ÿP’ -—ÖÓ¡°5¸ì2þÑ5Öø4_Hù…ÄšG“Ngš‹¯+m—8˜‰JnsÊ-F[Ó*j -ý­ø‡¨¡á.ˆÇÉH‘³¤2Ztw­OæG‚z¬ °² ¹þ¶Ÿß““oM’`»¿mëïdåG•>Ó6ÏZ'º•î~Úíú–×ÇΖþ®/(Š‹>ç<ÏÜ4èAŽÑ°Yà–Tæ>aIøèWWV–#_I›×¿»ýeôp÷Njðñ_ßûæ„ Œ•otükþcýg@ŠØ÷ Çd -'ü´ŽJ+{nܰ`‚øjeß;Q!À>ô'6pÿ*€·ß~û:ب»Ê'‹Ÿ£®ÿ”ý”€µiƒž‰÷àp×4s#ÇB>TÞN—¤ïü -ëßêžòüæãh:øñˆÀ~†¾È 77èù@$ü÷Š]¢žŸ!s€´à ‹÷cG$çGŽ ýD’>ydR/d Ÿåèq€{Ž¥©pw$eZÖÉÛIœ†7å½M§xß0 +`¦Õޱ+Ã¤ŽÆ±åù.fõL$±$Þ`¤÷ñ–·Ê33°‡¦í´ƒýðñúWšÛ˜Ÿ[€(Ë5dû.%zÀ¥~§I‚ž©üà€¬98 aÏöü~0@ ŠÝBk0—ùù’OA8¸ƒ… :ƒê–OírY­Í!±²ÕâØ·‚YÝkajFlҬׂI-ÑÇþÿ‡Ý]›zP§§¥)¹òn®ìÂ-TTuÒ_8ÇàÚã—Vg¦+›¶,NÙCâÌÌsàÿ³Ï>{–ë‹)dÖf‹\ÑlCʳ½ðx/B7˜Iû]/êSŽÙíïZÿÏõÈ;|è£uµ»©€‡RnGð‚ÄŒ5E¬`ádøà¿=ºL§xžG´ã`ÒÞjw ؾŠ]ÙïnÍÀ°¶úÛ½þVÿú)ÒCéÃÐÛjó•§§Ïj/n¶Ûo¡Y&kÂSÒõÙî1_¼eé%ÒSt™uÅHŒgl%2¥¸3ìâK41΂awúÎeà§I?»<€MÛÏL“‚Ç߸ÿÁ›lLæ}°Æƒ“8=iýƒúNž<9UI‘Ø÷h ݽ<+Ü‘tHuJ‘Æ$­H%С¨…×¢JRÄl2±,Î=aaÞ®ÄÑ=ÒûæUN)—nV÷Sndxl€qÀgÈ'9 -^QŠ€.åƒAO^òE¼Ãž$\€‰Uúë2 k[Ôëó¥'”2hsꉌÄDë?z^2å\G3úWü·³B€ê´w1K1¡#bÂJ hDR:lø¤tÙžUU1+¹>‘ýü“‹!›Ór—HGÓ¿ÙÕ@ÔÐïn_½º hÏ—Ý]àk÷z]£?¹iÉñ²ËÉ äá©”Õf‹¿Ày=ÁtNÄØŠlð‹—DÙ­`×KnMYÔù³Åp=ßE&.º?°èœ{9‰Ð€Áñpí3 <_N”&Ž–¬`Åɉ#ºÕ?3y☭ -³£ŽU$D‹Ú‘z>…Þø£Ï”b-„ 4}“2iÖ&yŒy³Ý)ôÏ3òµSA+.ÐOÅb‰óÊ1Nùì -¦ú~W¥DŠ´¢€Ó”¢¶€ƒ¬•`µý"þë°]_ÜÈù`#ÝÚâ â Š·C¢½Åêp£:É `´2m?¼ªQ¸š¢)¤~³/öŸ·éyg×’ËQíõ+ú·íZP/Ì·AIëñ#ز¹½YyãÌ(=Û~§Oëÿ7AcàQ ©¿¼—]tl÷7ûØÙýþßv{Ÿö?eŒGÓQI­IB—z%ñ÷¬µ½“ÌÌ<Ÿ†›æAýDqY€Zc]FãxAe³5Óѯςî‡j÷ƒXÒý¿í•;Ý_íFýf%¢±ú–kØ5Û€ÖKØïôØÜÝmïö{=ãúÿ¸»«¯¡·¯u‘Á!^´š™Ãh¢gà‰àÙ³åJÏ+ wìDes³ÜiÐ2!( 3á¤xW&¦Fˆç:»°¦ -(ºËuvû¶•ïaöð+¬h´Þ–‡±o7VÖúÓή1 »³þ‘ðÞ$¶>¢L[˜¨û–7¢YñÉ$Ùí­«íþöv·m~úÿ!d N‰_Skµ»é«Ef™"àë…nfª@ - »âµààÿ‚_ÕñÅ(¬eÃ; )4²ë¤éQ3.„º ±n=ð1¿uaP§{ÅKç$`¸f`ç"xУ@Oãíd $j À„ö;›Ù_]Ð"N5P„I)d˜G’bîÿZÚµ³ž)ŸÏ'mAGf -ÑzΙ,…i·“¡I¾ fNdFà?I³7;œÌ9²/€-IVòívl ƒcß5}2Þs)Ÿ•S:ßôxÇ ”mx€eM™»Åz~²C¾„'+¥©’=ýö3Z„ -øYàS“SÇ_˜J1·ïÞ½cSÀ»~èk£ÿ€CÆ -¿[䀿ye+ˉQÀÐ<þã\à"‚ó¦xÂ`ß÷|dÏ}Å"Ä i9sãýHpˆÀbE–ð$ü‡\ç Ø÷|ÿ‘döûßÿÁËo¿÷gy>ûçûö ØÚ<€¿ý0}°·{Wþ§‰¿ôê‚ïòõ‰E\z¥|gcðÕµŒâ}çU¶„MÀ—Q€BD~^a^âlM¶k\& >#"=¾ÒÇž¾·•ù>ï¾FZÛÆNG½µÈ}ÞùÍ&(ßë,PS `ÇA­ry³ÕYì{M“› ç·ß›îŽ8vú·v-mꤰ¯j¡+Z Ÿ¤Zsš"}¡µS’ZX9³ÍŽjMb=5ÕÞOáˆgV`¥ZЭ¶uþºÉ=oÇúû^ï]¸Ë§½ö¯ÚŸ~ú+î\Ná§9?S°”^«oȺµ¶¶_ìfœ­d¡¥Ö.²Úþ¡jòVðãÆú/ÈÀ³Ïr âð¸Mؼ-»67"û[Íc$PšûB"[ïvz¡5¨ßÛíwþ±Ûÿt·…ñïM3¾Ãš…lÇÞ‡ÜÉ@±nÆæµ€®rÅß܇ëþGàßì{dñ‹î—y𼷳ݾj0Æv[‚lõw·ºíÝÈÇΖýEФœÌ(Òùé²@–™<ë]Vº¶ùæ%+€íäñ ,°ºxÿ’$tƒ2;ÆÞ=iˆ^,°GAb„ݶï–o›ÐJZGt`4Ÿœ|ˆ=qô1=ÙÌǰ yÎ@Ú8ÈÕ¥cǪ.Š»)í}Œ˜œ<1PDÕOž”ˆÄ¾:28<.D‰Ó)º°Ná¬\_‰dLN÷À°øùéàœ ·±GJËS噸8w8ÉP(’¤»Í;*þs_Ìóx”¹¡ƒ×µ+?¤¨á½“´ú²¸Ÿ.Žˆ­óÿeJYðS©§ §¦¦¢ÀœŸ°3@á?>pŠ|<6U»ÿïÞ¾›¾øÍ×F‚ý_ÃÆKòÿG¼Úš=ûüôì¬HŸñ¿ˆ`Uaþp2ÜPl”W€Vx€äÔˆõõ«Ÿ:èušìôo|<‚ÿ& -€¤£ï'âzá8@2þ‡]ïT@Âÿ‚D}@‚ü÷ ¹ z”ßóÏ?ÿò«û€?Q Àn€WŽÆgü-W%9ò@@ìÍLûûC~uí—ûKÚjå1ø-a^õ(ŽSÈ@æA¢„ÿã(€Ðž€™¼nwF'¹³¢ikfš·6Üܔܼ÷›BÑŒÕÛïí6›X‘ K×÷{s¦¥1l%9q¥½˜í7yÍ[ö^w6}¯íù³ü…:0°¢S(,GYß²¿àì:O&¼iÌGA/\øGSöœwƹ8‹LCã0¸@s†¢Å"G°Vk€EÀxµïXˆpÀª!:ïÙ±•ªžûCÀ$jµÜÙCÚˆµ×ä`¹Ò7Uv-ÃD,“ÖQ6àî;£9 H¾ ^`O|% $àÙ³ò?–ôì³ð#O§¹‹¹Ôju+6·hvŒ¸âŒäuÒúoSØQ½Ý -d lÍ…ÙŒ±=0“N¹Ç)¥f'äM´~Får^ˤ¢X/þæúüÁÿØøHeá䜱bXËÐÃ[Í­«Ö²lõ»[óí¨ÙöU€!eq'ÐË[Ò³eª@^¤–i”Tù ÿŽøŸ+ä$¸ûÂéacVt•ÅÆÉc“Ç„»hðžvxµ€“ØÖŽ×Í*…0¤¥¾eÝ ¥ b€•GŸy¡t,ðÿ™¨ ÌÚ°Ãé@ð„°ÂpÀ»3 Ý!0„hxŸƒ™MŠpü±RÉ"’ðþëÙ·ÕÞ…n¨-”&ØÈı3ì2P„Ã'&GrĶ™ ú 6OLžáÌæŠ< ¥Rw{kü·O³=¾Èý$×Àl¥Þ!¸#Œ%ì–8šëã}µŽ`fÚ¦Ÿã©ÏfúâÚž°PZ\´7àÜ 2·Xš3`âärý×_ÈîܹŽ | Þ|õµß#ÿé4ÀÊ€ÙìÄî{ù X@BàaygÇrƒ¼º0Îb•Æ {þNì÷÷wÌåÃï'&âDÛùà ‹ðuûƒàýa/À¾dùÎÄó³¯Â^4ê3š?¾Hæ¼ÁÑ×£í=ç¾·¸ø½ï}¯t\ - Aï(cü„^û iï#Ñ `ú¥0ÀdÕƒÿáxPú'ð/–޼ÀË‹Á¢ñ1a=Ì¢HM Ên_DH8#@W@uCbÿö¨Ê«âq€µ®ÁCÞymb+›µ‚1$w[ómŒÑV” (¨â›øý,‹3Vs+pm]`š]@ÁBÊv¿ ÆB*Û ö¶ÜŠÊFú[̇.èè§è²Öh -z©q¡5…‹ZǾqµó±[Ôì[åÜî|ÚëmõºhÝíívÊÐÖËZà1¡w`¦b¼}¹¼à'åCØX±K#ö -Ú±¿gTL£B¹`Kl6¤!2Yh²­âº)lód‹ÖŸ´“&Ípìa(T‚‹5±Ôå.h7~m1I¹ÐFÚ"7):Xu}¥2cV¦ÂW½/j µJ£6ÛBsv ­Ýœáÿ ú“¿ ÏM*ÓM{ÿ JšRŠ'Ž•Æ÷u1.ÛöѲۅ­¨wánméE1ÔP y¢n… TDç‚$@MÂì €kX-ð\pHõT£œÂùØÄùhïž±VdFN„\tR®_-ÁhÆïpyâLéıdÁ§µ¬:ö"»½ÅHvºGþ±É3Q±’IËS/~'¦AB‡DB‘“'N—&θsÚä(èƒuÈQ‰JµŇ#×eEtóG€Pf$iûþH çGL\ššŠ+ª”J§O{þ!Ñ þw¼‹ÀtÈ_<²MÖÅ#â*ßž5ï àÿ\„¾ÎD\ç“–¡oö>ÁÁ¯Û€èÑ; Ù©•7üßN🾠òkçßû0NâûD¤Vƒdà(€d&ðˆ¼ãäh €ý€!ÀøðÆÇøŸÀÿÆßéøè!S$áð&{?°ïHÈŸÐ_¿Á¾Bš¹ùð é€Õüš¬Ïáú¿çˆ¹ïÙé¤ü¸ö<4@Ó>Áyß¹±CXÿG1Ö‹F»!…ë^ñ\S$’1ªàˆüÁCB("Pñ4ÞSFvÒÇ[ -ÈhLÇëi™JÉÌÆ~9likbÝ_\ÑqM1ŒÉÛï Aúý-à´SÙÝe'Ò]*ömkG·FâÅ‹>}6Ð_üO¬ @ JÈ•Âãü©zÙÕ  -óêDü^Ìñ?î` •ã‚öµ€Ù«%Öf­›m¿Ü^ú~€­»¡õ‚¢.üæ­¼0EW9&_8]¹ “`ÆKÅò·HbÙˆn¥¨Á©muš›µ! åYlxOå ¯Sê¦+Š\  w„Ù烔+½¦>áÑÏ#ïÚ‰Cäukó3Ár"±,1c¶¨õ¬m$°À»Ò 3+vŒK -­Í-¯@åü‡Âfp†ÿѺÄGÉŸùð¿& -F3IÝO&°æ*g½mo·ç; ìÒ[)À)ØÆî6qèv¯&¡¡VH¡¥ëèt°Ý÷儸~zrr©äj1NÜ>3üA(›'NàN@ -‚5ÄO€“¥3¾JêTó_˜ÑücöÄ@›I§JêœGJ CâYÑdòEöÌ=\ÜI2öK/ ÈÔñÉZét^÷Ó쎟-Ìàöà9J „³ÓwMKMŽN>3QzfÒÂ@ªr”‹Q¯.WL°—„ᄜ挗7YŠlÈê”à,ȉc(?ul&r:ÎZˆÌ¤»e'@ - d‘ñ‡€ç»Éíö1dÂ÷sëx@ãácMÓÚ:ïø4Øô´OâþÅ¥=i‰Ž¢@ð¿VËøu§¸ÃµÆw¬¸p|ï«{wïFŸ€Ñ7ð8± ýEÀ«;³ÏŸÝo`#À¡~øÅ&#ðazw^Þqš"ôßìO£Q€0ä£?bÇï#Fóp† - €´Òä@#€ØžQ˜$Èx4îåGý¹;à ôÏÍfà÷JU"PJ5ñÚÜþ‹ÉC5Ä},I°ûÃò¦YÐÅõHìQ ìé1ù8}Å–(º 3_KÞÑ¢ø®ˆ‡¹pg…]ÔûÒ‚®é”§í€÷ר9AMÀ»«ujÕ={wÿ^Ûžnxë¥ -”ÚÈ`º&¾{úmpälsËø?3mRü‹æ1íâeµì ôÈ„2š jDÚ(" ªu%7ßOëm#ÚH­­­åÕN$ ¸ê…/:M½Ú·¶Xëi¹dfôÒ«Z€¨¥Vr?0™1Ì™DcÄÚ(íWµ9"©MJ¡9(††m?ųYÙ,—-(9ñ‘f%"Er8k©H¹IÒ/_LTœŸ™žÎô±¡Ûý^M ¯Ú ­)R­¶ñœ¦H²h­ÎlUtÀ§šµb—Ð:-¡ã°Ö3ÖþSV ›ãºØýQ3‘š!*‚²v@F#¶âö¶q œI`·žÛ2²PÇÇ;É@2¤–e_Ïä‰x÷%YÓµ©k±pZ£9Y×6ٲ̞šúNiJAìèHÀõ¸ÓgΤ¥êÄIcëüÁУ æÀŒ7½Écç=îø1]ÀAŽ1ëÖL„ØÐ¤6Y"Í $8Æ"=;•¦¾3%X:]:s¦*ôª;Ÿ98LÂÕc®ˆµ º6˜/4!…c%]a°ˆLÔ_˜LÝ„#jb -KÇkN¤ãS±‚}Â'R‚Õ3£ Tê Õ 1ÓíÄÝBâf"nªt¸cÞ6_[f677½y~+ŒGn†‚ÀÒàì|¸ÿžì/]ÿ–©’ŸZ ÿÿÊÊZMÐ5À?TºøæçwîJnkýß½sïŽq€€?£ð–lüGììÌ<7ÔÀˆ@)ŸÿqljàkŸ@A’ €‘ Ì8<!A†¾ðñG~œ9Øÿw€…HóþòÁ¦ºß/ ð¨Ÿý ñ“ <ù¸Öýôü >ð:ü§†×¬,íµüÓ7¬`¯H” Gb<£ñƒÕ‚zޱ†ÜB6„øÁ"ÍgÇ|ˆ‰í$b¹ýËx1G(†˜{´}ã˾·Q³˜cÆ¿ËÚÒõêàµ"&Oã<½þ Uôd•A%_v“Ò„N¾„P]ÝViÏ<­ÜÎFC@CˆòBßöû¸z‚¼@@ êÀ€Œó|œ9@2ÿaДèÉõ ña¾°ðS¤•'# {’å_D2$ÄO²0*©ÂŒ<;ñü~‘<Éžÿù'Ù_þ{/õ“äŸ;=wÚU¾Ñ*ŸrÂ?CLù ¬öå˜þþÈ,9`ŸŽ²_ ÏïB¢ÿz|%Ó(3ÞEJÌ(¾ ÒgÊ]·±å½ok×h1Û]uz¶Õå=la_ñÃ}»A•]@œ%1#õXx²H¾ƒáý\9{¨£¿[¬[Ð?Ut'ÀQl™ý‘LH€›¾e_‘€d)íhpzÍÀ8BkQ‚3²§ƒ¿n_ ¤=R¸B¢ØëZÍžŽ‹ÖhæŽYë(Í“ÝÙš;Æ "½VsÖèÉŠÐ)Eæ› Y >ÐÖ6¾°)zEޛפ¿‰öÒf2 ¿ùšÍëDÉ-þçž=;Y c#È\cbÞ§R[Ì.}èˆZGp"¬£;ÚE :¹j¦©Ge,~͈´!‘TÏ#mÉ‚²‘ßjë£áI -a³ê³¶§Óçeþ¬§UA&»Ì¨V·µu5¥µ½ÝoÎhðwûA8®¡öLÀ‰¸JÿWê)e9ÃaüÔ´§kÀêÞÒ“¬É›®›§îcÕzõ˜€˜!.tæÌù¥¥%(Ùz>üêÿaä7{ïƒ{ H(M~g²ZúŽÇ”ô+$÷;v½‡èù©)žF‘*k„^UD^”9T¯W'Ï£ªºœmNŸTQ$v;v*é—$t#ô°RáÄ™I¿fl!C9ð™jx ‘´Ä%¶UϨ³,žˆK -9ur’¢mòüú©«hàïŒ* ~gŒˆoj)û9t<nÓðÀã³ÅÙ`Ä -¼ßV/z§§íªï K܈',€wÆz‚Zñu €i PZ¼¿ÂÉ=,ÕjiñBõøyÍý€[G¼ë¥3KÉJ®VymáèÑì`7'h¥ÕZéØ\6Ó_Œ‘¡_‰1”.M•jV,œæ4©žYŸª®V§–’"gü˜“ógJÕ%æÜcàPÒÙcì>Rœ(%ü—¯L±·G…"'QãÞ9þ§a"Uá¡-"×¾œ9½t¼^?u -&bNèúUO<…€û4äàn%ü‡„{s5˜XåQ>¼&å²ß´ ѳõÄ%ݹ',§N•æxœÈ¥e¤–<v -(Q½øIôpûvtäGoßûêν¯ï}ýÑô÷…=€û¢@°Ó*¾(ô; µx^žÿøÇBðají……w0ö ä]-õ°ü‘äÔèø0y>¾ñ‘ó‰|l±’ À×n¼Mº$÷@ÀFvÉ–ÿp=@‚üûy†evX¦¿ÿ²€Â ~ü04ûŸÒ~¿ùOÒ8ð9ÝÆìXL1Q  |`0è«ao=¾ŽCÖ±E*` >daÒö{ÉvÈN£‡ -{¥ƒèÅ"óŒƒNĆx% ¡—®§ò6ÞN_×l¼»m‘ °µ¼Í[)tËÓVгp)nÕxCº`¥º˜Ô”€l¢.o¸P ¤ÍlFéfÛæ'*·yç+³`í·…z«Ül.D“·Êf™ã$~7O|hæ --ßÐZOqªÍ;Ÿ+k¶·lÓÞZt cß»<ž·š$§Ö¢_Ö:j8bû1.G+9$|"ù¤lµ­™zI²?\Äå‡)+¦º›|BAkèT¤h~¥<†g"ZŠC, ç99Ì)šçSíJþ]w´7CÖ0o^…ŽÛ†=ùeÜ—ÑÕW¦’)XÎ/¯?^?ü¼ÀKQ-ò2þp ñjõ„Þ*óç Iõ•c©ª tºZ[>v¬áINèØ÷ºnýÓµKK2…Q‰5µóh0U/MÖP$i¢ZKv‘ ÔXá œÊ¦‡Ðt¥Œ™ªï ™R‘8Ù™ÚdEB¼ýi‹ŠTëÕêj©´ -'R‚‹ ~üõDާÀfW¦ž‘xnã;nç©ñíäf…€#õÌÏ?û¬•X£Ÿ¨ä¦úOVâc@%»ÿ‰Ï ÿËÕ•ÚÊbààw€ÿí;_ø1 ÿE-À×Ñ%Ð=¶=á°àýûÈ£þ]– Éšî¿Ô»¦ç -XN {üðï@Sçûû?Œ4ÇÉ€8Óêà—,ÿÂúwšmþ{öååBfË;°Â0ò†ÿ˜ªüd€»“Ë€¾ßwÐPâ—KÞüOÚÇ1§;+5ñýµá¿+Åë© ¢öÝ̆ÃÀx͸±°õƒ=0u.'4`b"ÖHø”–=É!:m?³JÝn‡bëTî·`ɺÁPîI¬(`™> !Lø¢PYy.53s«&®`ú¬¯¼Þìr4Ä–M€ã†M¿¸@úewfÐ -(E¡,PeƒÂÚj] ­¥&îåÐݲu\¡uqù^'@+>Ð:>:•Z'à ¯‡ŒhÚX»$qàþ,üˆ/ÌÑX—ÂN}.Z£¦š¨5k\k¥ÒéÌD/¼”°kɲ¦YÖ½€&3ÏÙ)ª4Éöó¶^46€ÜÁºmA -Ofgd•)³ÌõF´ŽrXÖZ·ÕÚjÉ‚G´Ês¬W ÖM´ò•ñ(òÔG ƒB8ÂCX›á¿ÝNðþ2ýœ¬6üN‚(.IdÒ*€v{3n©çFlK28bbÝ È‘`'‹ù© ¿ŠÑ€²jÀZ5à­@_ÆÕZmé h{¾¶^ª½¼ìž_Âþw±¿%°uà+ûhØþIÖ%Ç5ï]Ãù–§"€O‘ºa‚ œÕ3 «R]CfÎÔjµj•³ÿÕúêTmnªî©“"çу¥êùïé‹8³T=†}é\Böâ¬IN–Œf89½ÿM=1çe§í1†¨øé3ê²:U¸†¤¶Êº \w£6ɱÈq2xµyÕØË¸9ŠÝ$s_S ^™xÕ¢ǸïQ­tüÅxJ¹À2ÏÖòJmMÛem èˆ0€êÅËŸßúüó_ÿúw_|þD@ŒæÃøÿâwcE@2ý‹€=Žïàù¡ÔŒ‰’ù½áØï`¨áÈó£ý{ñÿïÿþïoüýw^’#‰¼m ±íßÏ.ÒrbC§C’<û¶â òCÅPH€òË׬ºöìýðPð‡Â࿲2ˆÈ€¹Ò+áˆê$øvÄ/‹ÿ©À‰#ÇÀeþ¬”¼Àdâèq1+ ÿ/ü€<ÿ“xœ¸¯ í~ô™TpdÂW/¿˜¹ Á”ï¦ØL:›Q›¾µ½µkì5›8F *»€å<¸¢;™?E3óÂ…te:º§TšåBi…µ `ºýúÚƒf þÙTçgÕv]lpÐ; ÔÙZMÜZ(W6AUYŠíßq®n3J¡´ jìúÙxNg×»ì„@­¶­3qIäÆQ"‚%•¶´>p;ÄcÕVô?3]éšæyMÐëܧD£hKVmI{Z•ž;QÄ‹( ‚ã蘠4ÎçñïÚŸß™™×Cغ zQšC‹•™g£c„ËéiÁ2­/W®BˆÊhÍ¥“<”¨ggy~αߟi7N¾âIÉD¿„ -ª†Ö¨ívÝj@âÔºË9P®ß#³Ö¡6ÿðÏ^LÖ¿;Gþ(Bq??_ý»€Æ®ñ -02n šM[ýþUó11€Àƒÿ’À[fCÀÀÀÀº -`@xwù×J§êá -¸FÀAA~p~i½^/ÍM]¸°tôDÜ¥%Ñ– œ?aư½ þkˆ:…óÕÉZvTkÕ+ÇkÕÓºø«¯ø:™ñ¿ZÝ›‚‰0ïqò*ÂÉ.yò¥zíü\iï‚Àïi––ä%$G¨.-?]ê‰àÈÄlRçäÒ‰ãKVXÄœœ¬Nq*öçè! —ñ¯MU/¨‡Ër¿@VÔê\89²Z]ž›“‘#¡ÇèP€¢`ßà½ãIh/ŽÀ#žžšØ³ðˆÿåçÂð—D¦4 -£ Aã+²€ÀÅåeÖ•—kkŸ¼Ÿ“i¼ùÉ'¿þõ›{¿¾ÌÌ'{¿ûõï>ÿݯÇITù‡écfï0 -ÿÅÿþÀ|! ƒÁ猙c=Ñá¿ûý ùèÃòÐúÑÃ<׮ˬ -|7¦#8ÁùûÖ¿ !~’Gõ$YXX(/\»ñÑà?¦@€ƒ ?²Àø7ÿñ}Gx]ïä8='&0ƒûÃÒ?~$l±ÙWN KÕ¥ú…ó«{¥R3ûüymí¥zíB­º¾T«­n4Öë«Fcujyª^¯_â¿Z_Å®_Z‡T—ªµzýB£jk¾@5x .³=Ð\ñµêÔku`ñ5R_ª½6Å -Ûj¯ˆÜ —ΓRmiµQšÛ«ÕÚ0ú/,õ(¶º¾ÞX]]o46jÇ_CIýª8=ŠþÕ µZ£zü޼paýRäVëz(!¨žÏ''-¢àTÕ U®ƒÑ+§_‘Q¬¢§º­Ö§ª(Â,ü‚ü¸ ~µÕÆúÆ*É®ïq¦Rƒ\ˆ1S†‡Õº¹ÍýûQd{sÄàsâ½MÀ;ãc“(ÁÀ þG`ÊSÁÿ§ã]ÆËµ••ÚŠkš~° -X[“,ó_«]dÉÚe8ÂExÁ àϦÿ«Å `zòkÿÅ€÷ñž;!ð¾`Ä!zYH‹‡<C2¼Ó>,AÞOÃ5l÷÷óYHkdZˆŸ Œ!!~’Çñ(¯–ÞIÀv€!Àûÿ=~xìj'üƒ èÎÈßw¶"'ê÷_)A¯YHüZGŸ þ -ÂÙ²70 ÏÆ–ÃèÏ[Ó÷“‡†È™þ‰¾ÀôF¦ry‡€døøÓ˜…´·vßÚÞÞJ]´Ë,ý5,#¸uQˆ‹·8Ú@0Ú>™Î¼õzÐí]/Pêv[›Ï p¼ó ú‚ é×ë?3­ß;¬`~ÝpüSì‡EnéN ætqêæüßÜê:ïñ+ïT«µºº -¼ÇÕ¹ãsËxmT„#€×ç«Ë¯-Ïޔߙ´YÝäI›ÔMU±ó£Î¼Ž„¥Õª‘ €Í•êÕ¹5qÙRbŽÂ#&6Ue»ËU8ƒ¨ð -CuéðyàüsSËà„°“Ú2ç¬Î‘Àq ± ’b„¥’žçj­4uÌç&'Ž›<6¹<·|‰ƒ5PæôdDst—Øu½zœ„­ÁD)!UÔàL«R(ÃksY‘×`fÑðÀŒ@´ÐIâ½ónxxfs@$Źßã=Õæ§t &…|ŸB~†„ö‡%òPÙy¹ ‚|âÂ{2ô³åÏL1ucß -ïƒí9âõ €ïŽR´HV?°ž~y"ÎÇl¬“ -òàìŸ&‡À?õ"H¯¥ÅwÌu([BX‰:ÅkôÞË»½«U -Ì‹ºÁ·XŠûœy«}µ ÞZ´&óDY–ÙÍ$L%Ä«‹}Ö¿žä¹G ¾³Àw@· Ç«GÚ[¿”\½øŸEôò¤S=æqÂðÒ©—Nz‰òtèOi[*-þ/ÍÅ—ZøG+m!˜·€6:KaÛœ%·[ÁS³þ?8Ã!üÅ uüر©ïL²g ,S7²;þߙ㰹)Ž2 J{ΩÍyêS/MšƒfL½tjêÅ—Ð˳2QGgí@)ý»©ã¯¡ˆÇ™ô©Ru z¡îÊñ<‚ -ˆúÅzõyѾh™›š˜þàÚÂìÂÎõ¿³#€!©pÓ€(ñH‚ùÃ’Èèà˜¼ë”eë²@2¾#£–ÿŸ*;å—w>|4Ú0v?PÖ¿‹…; æþ“ô_jÌ݌ƾIñ²œftR&úR^L>€0òÆÿÀ«ÒTÐw{¬I#eœ%ÿ§Já;È/%’ {‹pF­"“˽ÔzvÅDìWÀ%ûÅp×S,ƒÅv˜#”šJOPê[×Þlw›À”©{mm¥Ýöf&Í~³IÁoÓß@ÿlÄÍ`ýoVº€?Àa½‡­Œ­ç·ù9KSX ôRáN|Æ]m¼ØÞzkk—q@´¥»¥ Ör'a°ž µÖHD `‡Ö\§öÓ@r0yw—9 ”Lâ¨ìõìƒtÓR3@SÙ( û¡8Oygøa+:ëÛ³r™h¸ŸŸäãPr @ÂHŒ"¢/XˆÅ)ÙóÜ4Y4½ÿªnJÏ«–²/FGI«Ü®`úoseÝö[Ö¨5ó\ɯ8™'v1å•UPy Æš¤Ù1–£S™/sh ­PÏ”¥‘}Šì'’Xÿùâ’¼?‚<+û‹Ï!ÚðßWXOìèŒÓœ®·4(€zyRŸ¶½ºˆ’ @Ûu¼Ô÷N]©½f¯lµZ£~©ÑÀÜ®íí}Ò¨¯ÖêõK{ÕÕz]cµ¾×¸téB£V¿°·7µÒØ«#{¯¿FÑ}Ò¶Èñ©óåµ:vóyÇ)‘Õõ½×OUëµ×9[½~¥Ñ¸tkýŠU -ë$Íét.Ôj—Ë æÏgE®ÔYwáŸ>A‘ ØyOçz}ù¥PŠdÖH¾ÞhG+縆åúëµð¼V=W%)ÏVkèâwn)ÜýµÒñ£Hj„õ›õõ ${‰?ç&bßµúrmë¾özƒK¼°ÆºOöþi]½d'kUiì­^ºôÓúð‹—.7ï€@®Xž/ÄgÎG_Éñ?y|Ô3B?a=ñAnïÓ\¬úµµ‹k†ˆ+ܸ€h§ìÛÌþàcq2u |X2âòÌ÷Ëáú‡=À?£!ìwx><£’«>¾qãZk¶\Ô`y;âÈvz ’ úÃ"À“ ï_»öA„`ÏGz‘ZžÆ¤ñ?#£÷· ;åJ"#ðŸá^;_ȇ <©û?uëœb -Ð1ЀWJÕQ@©î‡D?#$FHZÂÞgÆùÄUx¨·ÿO“x-SQN n!®±ñÚVZ5Âyu·±%Ã\f ¬{µ©ž.öäL§¤ÓÔ‘xt²gM f-À^­ðF5‰0ƒÎ.ðÛ1T >‚,É .¿,xûØ/—…À: -KÙAój·ó©ZGå‚H 9âŠZ¿ÅÅLW@H’þÕVK~cûº¨.A1Vs‚l§¡u¿©×öƒÚÞ½¦Z÷¸štoãN'a/5cá¿Ý¶z$9]@¦>¡dö€¸ ðÿrë—€ƒ"öëPQN xÇ®€òQY‚´"œ]bbÕvþ[ñ}¡6¥_?‹¨€…l¿°^_½P[Àçªà¯žx{Ý©5æ¦öØÉ€7CõlµÅô Q5çƒ -.ÔkVAÎÆKÅiãdi¤µì!KõÚ\íµ¼€°³1vîbõ{ýªÕúSµuŽ‹4н>5Âçê€,¯pÌÜÚèº3$ŸC'" A1‘¥¬…žýóÕ%ÏÏžsCzd ²\ðìP†z©fÞ¨ýÒÈFÕÜðªÝ/¤'›æ½üÀžúyŠ5€øÏó€™§å¿û“¬‰ÑÅ$°ÀÚÅ‹SKk€Ež;Vì9>Éc¥D]óAI€Pôü@П8@à?’ D¾ó<|@™Þo\[(û¡\ðMNuF€¡.{‹±{åX@$ãþ@"Í1’OwC0Ä1L-Od?à߾ɀ€$Éןð?(ÁÿꊌÿY–s+€@û}@öž…$À©S öðöýd^f&æànqslÈ€o] ¾„!ñnú*&Ó4ÌÚnëS× -cévÂPÌ -ê®¶©ø8Ý4ÞMpì°Ò‚ š²uPêt{»`BPo·½kµôî.f2 Ôô[`™aÿÑÍ]êX0Ðð0èRð§Ý\Є[YnõHù—¤¬A6»p ¦sÄh£Š›£;Cý)úPŸZ;QkqÅ_·¯ßàƒ³¶ ·ÝßíuQºßï´EZˆ\&Zz:J2Mc³§‚bP×’z/ÒCÂà‘¤Œx€›8ŒP­Òšazº‘õ€´}„„ÄgÂK"ðS~2B‰N7}à(âü¶àn[nÙ2«û»}i gíõvm9'Ž?C¯ý®@ðNëíðÇþ [››hÙ鸱K&pÛ%/âö&4dýØabBF÷pûÃó“@Lö yß -e§ ýY*úqû‡ƒLeÈ€†HÓ×\ -àÜÿ'ëxª€r·Ù ¬79 ï+sµK,bBoµÚ©ãØÑ)¥îu,ª•lNx:LìÓ%ξ®®¯¯cìÏ- ¸$p4è)öFƒ -—.Tç -(mù¼0úZuÙØ{AJ(²ñ’¦º-"•©©Ú. ôªz -¤AJgªFç—–¸Nv&ÚN¯èÖ¸$Ng™âú£UA9‰­!ëÑê¥úKë¶’ä†<òæyÇôäûÅ­ãN ðŒ™€.¡gµžÂé'6DhÈ\iÑ ÃüÀÿ‹kµ•H§Qö'[NC ‡øù€9ÉFÿˆdÄ? z^.< L3@dÇó?èK sòìÌ–£€ÍþF=ÂqLáØÍâ~ÆÔ,ü•œô8ád¼CðÞ• p‰\0\ðÁuðßóÄ™ŠéŸ'7vRà}@H¸ÒÑÿ=~Q'¸èg @ôk"€ÿÜÜgöÅ -6 Ý!‚ÿÅzŒý´&ùÿ]Ÿ\nw'××ßàá’_L„B•Ÿè/Œ—ö—€ÒØÊdPr[T*ý:{«ÓaF(µÉœŽnA¾ÛìwßÚëÙ㻨#Ü‘zY‹Ûy㥭Ns:|Ð-­Xí=½ÛAº\`¡ ½ öW:&x̴߫z­Þ?ptG¶hǃ«á ”±ñâ6—‚jìàŒ&±˜±¥ÖñÝ™ŒãܶhËL¯‹ÖâÉV»­»\§UòIë·ú½Î´D†í$øîÅéwW=à?V¾JpÝQ1’ÑïP¯U^èv D¬˜xDTºûÁakÐÚÝY³Íá\O“¡/˜Qd–Ÿöý†¢Ù4_&× -Qm›üsamr Y@ÏþîöÖn¯7]ñ&Ú ¢ÁÙÔ &ÔI­õApý–ǪþKf3× @¿ê¬ÂÜ5Æ^‹2ÆúOWUÐËc¦ƒÿabíÿ`|úb¹Ú¼ZxFƒÂÀ¨€tê2Ñ~Î A2|…¦¸–s¬€€WXÜ…l¬_ -ཹX=ãˆzíÔTÛ—â-j='^|EþEG}ßÿAîKë %£Rý<à-æŠêÕúª %yÁR­¾|ª~ÐÏ[ÕVÙmd~Œ&{%Ò°õ?ÊÔkÇç "^ÇÒrABjs¹@4G=Î/]¸À\XºpúøùÒääIÛ+‡Ô.\HM½"ÎW70r ûà¯d&²Zo”ÌÙGbLƒ!Îg¦“&nLzhxd„Ikð‰sè/q‹{?ð<%üJ=CaOÀ‹Œ# -ä·Wà3=7N2l#ÄÐð2 Ȉ@ÊÓû€˜Áôç<þü;þv†á! ¼~l€AÞ -ÿr2ÕÃ@/Æò÷H˜:"BÞ· I ö Ö@4âÄùöKþ<Øùà£Ï>ú¨hp_É ÖØ,f'ÀJrŽz¤¯*…àÔ©#ÇÂò?ÊL{á/ðƒûñOî€?"²|ûõQxgñõ”ÞÀPÚs¹Ü4(ý­îU€àhëUs3…ÓXÄb²ïÛWÁ™m¦2ݬt{ÛXˆ˜Ë¬Åø“0¦a•éV³ÕiU°8yéçµk­ù4`“%âRk´ 'hÃfâ|’T+q¤ñ»°…ÖâŠr¬l_@¶°†\ôO §žíÝÝf¿]¹ŠšÛÛjÍ5iàøiL[!oÁ˜–é@¸ÖήàÇlgÁ©a“˜Áf™|aJª“Ýï‘k”rB<Öë¾%Ek‡´îøm&å²Î²Þ~ -ïjûªm$´â[?x >H€‰eÞpd6vÐQ¶“è:o¼…Z÷úm=^|_¾F’ũպcG@~§å÷L­g…¤¥Ë¿Z”C=Ú«b:lý'çB‘7ž³dã?P¦S¿Ïˆ€Xæê–?D »KTð—$ õië )D-„©$ÌŠ¿»¾6õzí|à.€h5ù¾,Ý Wýêê—‹ÕQ¯O-†ÒcsX˜Ôv¤_=6wÃp-‰¼XÝ«—V×îõú©Õ=lgSDSÝ‹÷u`ÛY$êßÓŽY~öFr¬¿d*!{µãÕKÑN¸Íd$ )qAÉM€šÒì)Ìê™ãKgNûÅ_ÏÀ.:"¸?Ò„‡,ÕnVçêùØåˆH¨ÅÅYq=€—êâ"üÅȦˆ”;nJ´8à3{êðyÿ“@{ áó—©¡ºú'6€‹Ñ €Q€5)@´\»x1¨ròÔÔ©’ñšÐ€øz`X˜c%5ý?8ÌNÏê(¬&øOÀÀÿxÀàúNy¦üêµìÚ7PÑzbòœ*9å±âÙ>¸ÁyœÆ8K€ùjSL‹¹?‘<‚`TþWx€ÙïÍ4ª3Å0#Ò~¯ÀÚz¦¦¦4é5ô?ÃϹíùï߱Ó‘AYŽŽR¦ -Š,muý8 èÚÒã1±–;„ûµ×nÎTZýV{ V“ä’*€ô»šš‚R -z!”ö¬–ÆvvÔO›+J¿•Á7?XBf¦-+ÀFÆBÍ»›ÂàfEo{§&ñœÉÀ=ÏAá؇ÿ \÷“zí¥zmëÈLÀ‹kõ¶€·pW_Ý[¬ÕÁs·Ôm‡Un°†wµÊ+þÌ30€­8¾uƒ<ü—¬¯_Z=U'%R$6ûBÍõ× œÿük¯/!«Ü/¬n\J–wãTíB—ÚúêÔ2WWÝs¥Vý+Î[Èù0áuß;Öôg¿KØùKJ“Kg ,¥3¡ˆÉsYêssäË(’<\ Ê“HmµqɆÿüæöiÃ}„Ì¿:â€ð8‡¸Â_ìñ«õ/Ï€i?W¸5˵5ñßÚoÖ?ãeEƒÑ&€“z‹Ö­`aʯŽ^¨ò˳ÏñÃ?°?&‡C‘µÁ?–|ûøÃÄD|~Úê×R¢Ñ Ïá!§û9„Êøg`d‹T´ûÙW³‡:-À.§r›»à•ZG§ Ížmøí’Ÿ¼Ú†00 óˆ‘p¨Ì?=$“/H¹Ò† h:ù}å äh9Ò©ì†Ç‚?« 3ЫŒ–T§ž}^@¶†“Äþ SßHÜõ^³g¨c|A«c`hÍö](†»Y”3±þ‡ñ?à?;ÐùArvzzŸ€ÂÀþe‹ €Â%Ð_€ñèq<Œ¬Ö_²£›åZí5)€«.ÔìÐû|xë—æªõ@éÕõêKõ›Ðƒu!v9Ìä3–îñɼãsUûàÓó&÷@Þ¨’ ì#­ÈiÐ Zöð¼fgXÝ9‘C£ñ}EVÌ¢À Ö!"õ ׬Vÿ*9B;+¬V_Z¾À¬a„°¹ ÷ŸaiéÌñÚé“z+L$1,œÇ6þ(RµܰeÔȽ÷Qs¤Q;åiÃ}$B|UB|Ö}$Ò-.Bâ)ò^Yì{žÓ þÿeU€ÀÆâbXük~0Z -v„¤^Óׄ’ŹÅè6h¬¬-´Z¯Æ?ÓÜLò1p€úóϸRŒÂC"þ‘€—§gv®ÿ/g(› €rþï+9é±büߤÀ"¶ð!cÀð9ÜeæÓ÷ó\A²d|˜píÆÇŸ}ôÑ£€Ïj%Pöc\Š»VxJ§çì8­K«{qêÅÒdBúô‹†ùø‰¤iÌì/24ûmˆ¨o`æ]î@»}ìôìd7P kÝýn3<”º–À6Üõ›‰ÄÑVñCÞ²|ÞÚÛå™V ˜:šá Ì.€Äã»­ÊYûß)x÷ç§!Ñl^ ÌLW@ú¾e†°•ò‚’½oPÚkÿ2 ^JN©^»öÍ·w›à´—¨õNyvé4gšì8ümõ¯‚‘[WÉŒþÚW¦QU€[up õö.lckw6ÓšŽÊ¨g1õ«›Uzå™n¿·»k>(.”šÁÂ*è$&™rÔ© f"p«¿Ûë´èv¯ö›]²†ãìëîÀæÏFt›ÀÞQZån4’¯\5]"jÝ·rÎÐoþ2€î[zК­Ü?ë:v»Ô{B¾÷䈑 ½]»Ûç×iöÑõlÑxAØÈ¬}Ú\²xj†­ÿ1ð?Àÿ‡û¦Ïú5ÀÀ9$;ü¸ÂaÀH;€°þý£§:Ĺ»rq9^.ˆ»ayv¯Üî^°¡VF;ð³?láFmªÞ€¬¯‚¹µXж[ßå?V=_8ÎCÌn0sýBò„ˆáz­H\_ƒdx–×j¯-°œŽ©gE.Ôë§’I~a"‚°ž%»ôã¼Ë ò™1®B`r*Пä̱¨²(ID¢vÊs0"Í~^†Ts•Hæ.*ò†.‘´ÉhÀ ˆ¹=‹ÛbÑ2ì(BxNŒÒpÐðôÚ@¦žü þ/‚èÖ/Ûú¥VÅú¿¸jy±ÊV»V˜ +ÚȬZÛfn0§Qš4Q‰€ j¥@¥¶Ç9€ ÝÂÐ’¦@ª5n,‘”j4‘UHÊY­,ù§¶J“±ÔjP¨I‘2@†Z¢²T†þÊI˜’AKe€œ‡Aæ +ï·­¶œŒ~ˆØ*Dj©5D Hk5ä'QÌXGqz=IâI¼³àL/À–¤é ÏS7ðzÈå¿ú ®m(€Üÿýð#u+½Îx›‰Bžð$IÒ8NÓÜÀÍmœݬ;–"I’jvPͪ$?˜Õu×ô(Ž—yž'±s~ví4fálµŸÀ–lX?÷F[Ïzì×hkT×¹Ù&gοLdÐßE3î¹íE€³+*þÉ + d‚'Üm"Üßí8°+ ÀY–eûg@4L¹ïïïïï×ûûÛp!€«í“gðQ/ú@ÌÿÓR+,j"B2DÊè)Ÿ¿B!ˆ=–q!€M 2¨Ú«¹F$2Š¡´-!Tˆ„dÿÓèVXÒˆÎ0å}£I PIf +ª$S* ²\!’åFPkõS–Še +(! ÃLgDJ( Hÿ©Èð5YD$kHkR¤h­†BO¢˜EQœÄ› + º\leâ4Mû:àõ´ w–s™ßÿš3éPoàÆpüóþGžú±€k`ûü'I’$é$Nó|Vɺ™Íf³cYt]×¹6áY]u’çuS×]#{oññ²ºÑï€óc•ƒañÒhkO0è÷þïFk7os@Ïö;„ëq„;`AˆíÓ/„p«Á8Ï80ÎCÆÜÚÓÌâ=~ƒÀ/ð¢5>®þ§Í,€÷² °îwˆÆÑd2‰Ý†`¹¿¿¿/e]çq0¹¢ßñ¸ÿ³‹@%¹±\ Ý×Ñ­¬dI¡¶ + é>¶ + ¨û€D%(Î!Ë2`¥à‚è¾RØ–+£3@2D-¢RdŒj[£Ýàú¯•Õ\i‹JYtIÕCRDˆH%RÆ"U>hW¦-ZЖF)Õ–mI\ •à|/ä­%r倸ŸDÈ]%¡E¢RSÙZ¤½h6@<‰“$½Ä8“تH®§iêúÔâ4Žg&æù m)€ÚÛÿùÚyžç7rÙ`] ’óWÇI>(YUu3›Íšã}9›ÍŽ{ì÷˜5E!eUâD¿î5 FÃúÃáèú7ý ÃØš¤¬Ÿâc+w¼ß¹†Ì÷Ówû|o‡ˆ>UD;w¯à8ðl!Цàûfï˜Lœ(ëj¿®ö=ÆãhŒÆcæ¿Ä®]m§€XÒät¶sËTkÿse,'m”›©aH‘ÖÍ)EÂõñ*¸Ÿe™œ€+j•²h<0ˆ8ÕÆ"¢5@ÔhÔ`Íê¹±ÜA$Â’ Þ'k[Õ’"2ô€J"lÛï­.ÉBKW-)kÛvU*ïÁ9@k—PHe‹”"D4~®‘±h$2̆ 8‰ãKìš´¤i²€3ã|ðê +@ÞLÀù™ozb„÷òB~zxÓÌf³®.šÇ³Nò$Iä¬©× + È yPÉ¢˜-åÅ + 'Àgàã½ýŒÜÑ0TtMˆ`½¤y¸»k°É‘K®g''¯ÎÿOiÇkü^ +€mx^œÍ\œ)Z€¯%@³ÑÇ. +¨¤”RÖû2ﻃ`<î;TÝ\Y¶ˆTzhMZmÿëùs+V¤ÉzO]­ µP‚dàÂÉ}„e @e¤8Q»Ò¥)[Dk ÙÖiRD`íjEd­Ñæ¿þs¥…Õ[2`ÜSëV= jï#€i‰H«ÿ\•Æhµ –ÊreLiJD + 9Bk[ƒHþçÊ×Ö¢%†,Ýÿs«KÕj2< ÍE?I|6˜\¥`ø( Nã¤ÀÚ¨Ïz®È¡@nœ~·lí$I²&€Ø@âÞ¶…¬¤» ÌꢙÍËÄ`&“Âs)¤¬‹Ç?õØ=Ëä7àªGlÀFh0ÌïËg·7§›ó /»î>;9yõêsÿh4bo·ø Y¶H®šˆ|Àî ɲŒ÷=¿ Æ“¸€¬dUÉ})å¦èGqO|p¶±, (ˆ­^iÝf­6­±†ÈÚÕýÖZ£Z…™*ïO3PD ŒZ €L)äVeJ•ŠÈ–æA«2¤ÉN¡mÛreü¤qÔØšê–·ÚX»"$Û¶´jm«VJ j A*5þŬVØÚ6[‘pË~[2¦… Ñ*TÀW¤¨)Xj5·ZS»"E¶5jÕšVõSOï›tM€t €Éœ¯ŒÎ…išÇ“8Î×wêþüïP2ÏÓü†£ƒ—7üéwwvç‘$"I„"p1@%åþlÖ4]“7³Ùã‡u#y^7U=kd.eU4?Éæ±ô!@t1þi.üm°yâ7Oú|äü;¼ú¼Ã? ü}³l; \5 À¶²;B€d €º–‘3zPɃJÖÕ`A04ž Òw¾m+  Kíì@È2ß% @!ÛKmi h­”!@†Ðe™à­Vª]QËÿª¬YQ~d¿R÷ï?XùßA&`})¶¦¥UiIµÆ**IiÖ1Hmk•ÊVÊÕŠZñW2ÆYæF…óŒƒ!„È8ÏYâÛUf­ié?)Ukµ¢ûd asOÒ4q!À +†y›i@wÉ8N6«û=ÒÝ +ÀUåës?¹WÉNð!ÈsÈz6kšnVÔgLx«Y]×s˜9ÌþVÕ,ò<‰Y8žì¼¢ÏÀè7][ñÀÆIÿ¤ç½w÷îÉÉÉ«W¯^½æŸùïbóè÷ͰÏÌD;²›àYR÷x4““qEÑ„¹Âöý})+YWuÞo‚ 0‰#'bÏ}åŒP‘B@R­R +(% 3­USŸ\› + ²Œs×$çPZÁ_­i[ €J‘R 2…t_¡BE@J)A@èë @ d[Ä>´¦µµò»È}l¥D«=Çç¦mÛJà>:gÂ-̵ ¥²á©…(M«Õ +µm!œÂ` ˆ?¤›ˆÖ@š¦R&éffÿrà=€mà_Üy!¥H„HÏÀ…éÒ`ÖÌfE=›ýT%,á²9¨ªœåuS7MSäRVòñr¿•Ìó$aa4aÑ™—IE“èóðY‡~ÇïHþxïß¼xõúÕçžÁ8g‚ "ãÌPwæBÎ…+ßÏ„à<äœñ½ŒñLìq–qÆXàö’ºÍàaÁ†:ßÂêVfpιû Ü/YçŒ ÆÃ0pX2μd®*2 Ã0 × + É'~"ØdÀ¾¬«ÞƒÀM¬£1‹cO&»@Ô#±ü¢ÆV‘¡4)$"ð4QYjÀLϲ,‘©Ìçå 2P ´åE¿ N +ÑB"\•d•uåúñ9h£[Dl•3ÈÑÊ@àÊŒ´p-Fe‘ TZ‘›£Á"mÈm0\i"ÝS´ +§¼×èyÒ‡iÇ“(Ø@:Ô$g&¹[ë Oå`ño`ÓxT?>çÜÈe¾QèPä…ì£~‘l"IDOÒ<õÁ‚WMÓÌf²žÍ~ª–°¢®<öë¦.r)«ê§¿U…¬dž& "·$fëbQ4™DÿWà·]ß|{÷îݯ_²¾¿”‹Lˆ½>‰ÁÝáçYÆA02ž±0cœg{Œg|Ïí YØo%wFù CÆ3Îà à"É8ç"a‚ñ¾(™ñe{î7<y誅CÎx…QúµåŒ3!X„¬ïs®ëfð&ã~æßr?Ç®ïÃ)ß Ç,Ž&.$8€ß@)@BDM@†,!*…!‘e „à™`"Ë@@Æ÷xöW§”BEt + •BPQ#)l •"…ˆ¤ •ÆUçµ(´¸ } ¾÷{ËIB׎€( s Èœ +•Ò +€€©"…¤H)‹@Ú-ê¾RO꺖Ryš$I§Éu·û×­SÝ +Ò$qÈÓ4Š?U%ãd[ÈFž½6À£sÀúèK™Ky#ÿObãÈŸÉäy§y²Ñ °_7³¦q“àkÁVÔûu•ó ÏeUíÿô·Jʪ*œ 8‰ü¢ÿ#ŠÜ€´I|:F¿‚ߌ[·¿½ûÇuðúõ›ÓÏø'Ï.Y&¸ŸnÇ ÆCÁ]÷^Æ3!Xȸ³ œk¸×x²ˆï1ÆÂ< +caÈ{À¹à÷=ó‚q–‰=!BÁ…àŒN°1Îx†l1Æ8Ï8a¦Yîyùqßô?{<›ÉI4O&}okU9oh?wþ€~äE?ðÜlpŸ.3Ö•Ó+£È‘H!®ÁIiDmÑRiJRʥȀN¤û ?ŠÊ’ )Tè&)EˆS¡¢W‚' ¦ªU¨5xN(mÑ€%¥)@šs€º®ëºrI¹$q­{iƒÀ9)Œ¥2Ïsé[õR¬³ØÍç¢(ˆ|,îN­”¢šUç°Vû»<€såÀRæy~殿¾2îæn‘pQH)÷›¦if³YÓÌŽkÁ“³º–‚M]׳:Ï¥¬êŸ~ª¤S›€nàÀ§`ô{à·ø·nÝþöîÿmC¼}÷î3Ï2îÎ"pθàØ ƒÐB÷ÂDÆXÈ9ÙÞãágQºº²ï±½ù—¹ ž…AÄ9!88O¸oX`!Œs7Ýš±€srÎXÈ#ÆœžàØIU¹™>qò Ú?¨ëƒƒê žÍŠƒÙAUÉõCæ—לïr8[Ì7fŽåùdÒ /‚÷}ÐÔͬÎ#Æä£º.VÔÍ€úog±õ6£(ŠX4™D>ø½à†VtÝl6kš*¶7úŽF£`¼]H<6u}œ×nݼuëö·wïn†oß½?}wúîý'œΓ$ñS‚üÚYιàA†AПÌ=Î÷þ„ºƒÉüQf¡‰ç£ôÐÿ コ0 ÂÌߺ"sïæ£{ÎcQÈW'È8sÎxÆö8ç cŒM½·Ày–eYæ†þÔ=ÆQ»ÉÀqÕ Ñ|260‰'“Øs~² èûýé߉Ü88¨ê¦iê‘WMUyž¦q"«áMšfÖÉÃî°Úº.VÎØ(~•yîšÿ8OxÂ}0çîã\N¢tˆò¢rÏìþ³Y³<)êºÉ—u³_?:Ès)‹æo?íçRº`M¢(vŠpâ~L&ñ$f“É$ŠâßnjUç¯ÆÅ¥=úM n^ê®ë#áæ­›w¶C€ÿÏéééû>¼»òùç~–œ3ž¹ÓÍEèfsÆø^Æ]f@pÆ¢0âbñ$t7r¶ç,@Æ3&Ø^ÈYÈCîöpΠEÈûé>‚s.\¼ÏCל芕z•XÈ™g‘<ãáC·Íˆ±¦Ï¸Ràñxâ¾8®ö÷Ýí,6õ‹ë|3à :ðƒëý',¡BÒ¤,)Ý1"…0rE€2á €ŒÑZë"A@Bm@"M‚ÈXêkÀÝ‘I"…-qfŸvË„ÒÊðQD„QYkˆ4p„©B€û +8dèò.MHH¤ a«ZBëžÚjÍA5ó¦™5Us eÝÔMSK)ó$qEvIÑ4u3›5õ¬išf¿iºÙ¬)òª©¥,ò<Ó¢ª÷üX¦¦ëŠf²ª.TCÀf2°¸k^·íÀI\ÈI”¤¹Ø4꺩5uóÈ--d]ׂ%òQS×M•çRÊfPΘøCßþ(š¸eK ®€«ÿY3ï0›5õz0àrܺyó¦ þ·³!À»Ó÷¿þúáý?~ýp…óφñ²Ì›p! Ã0p“ˆÝ¬r¶ÇÃ0d, ¹S! ƒhÏo9ðW–ƒ0 X…aDŒ±0F>A° >kÀB÷~ªÛ‘ÆB?< £ˆq2ð~½JŸ¨ëºžÍšÙLNÆÑ8ŠúéVU%¥PJiBÒ†+Je¤4p`5)E+7€µÒD– š–À”DT"¡"Í-!ꮛ͚¦98lªÊMX”Iš§I.«ªªò¢™6³n6›ÍšYs0ë~캦UwXÉ·ôÖuã^š¦ëŠÃÙáöù¯ª«z¾@æyžsÎÿˆÎãÄ…‚qÂcçùÄ™…¯¨¤lœxT?ª›‚åu½_×9K䬩ëFn Iâ(Šü äµps†Ÿ¯€ŸÿY3kæ³YãÏÿ±@°U|™ðõêÁÅçÿ‚àôôý¯>¼ÿǯ¿þú뇋 GQžE‘{Fúýeýßazú?êSŸÃÂÄÑvd¸Æc0L÷ŸÃz¿éfÕÐñ0”Cn8pcU€ùÿµ0ØÛÛÛÛÛÀx¹Æ¶8Ž*é&@äl>öŸDñd7  M¦%2V£6@šiEÊ€)­0† ‘VHD¨9‚B@ ¥¬RjJ†Œ&Ò5º7&ý¬Œ%ÓkZ"CŠŒB¤Ö` †ú§F"*¶‰I·T–d4YDg <$ÒµsÜÅ´Pµ5¤ÑBÔJi"« ˆŒ0%Y²@D¤µZƒÖ]×ßÛ+—NÝ/Ò4O’\VV¹œ5‡‡³n>kf³nv8›ÿ8ëf…¨ºCéæÕ~}PÔÕASÏfùasp>xy/€ï–îøK°„ÇqÂÎ☳˜',á‰k_.d%i:À)€}7 þQÝäq1««ú ‰ù¨®›Ú=ýÿú©. +)ó$aQÅq4‰£x2éÄQMâ(rÕ¤“ßͬ™Ïšù|Ö+€¹Àh—*€s+gä¿în‡¿züúë ¢XJ)G£ Hó¼ÊóIžE!r/8g.õÆ|! Ã Ü ]Ê/ä|…{lXx¼w敽0Œ†Mˆ,÷‚½1ÆÃ0…,ðq¯XÈ8ÛcáÞÞÞ°¹>7ª0d{{!sÎ@(XÿÄϸ÷Üj°É8r€ëçÀØ­­žL&Q÷SÏTYü@ˆ®[·¤‡¤A¡5„¤ ‘QH$ )ã¢RDÜ(¥A‰ìŽJ€»ûºédy« È´ÊX­ÅŠ4 ²-@²Æ2¤‰•ʸˆ@“Õ¢mI+B,ˬ³þ‘ÐX"²Üj¨ H‘àV@¦Q·ˆ€ÚhChÐR©ˆHXƒ†´6DV ½"íÀæiª¦išÆ•ñ$I.e%«¼èºY×Ìf‡ÍüÇ®›å¢j<ò$—ÒÝí÷ª¦ûµt²¼(Š¢È‹¼(\p©Ð_ÿ’çÿ’çùœq–0ÇŒ%Œ¹…`1ã,f,f¬È£(N’›»kÖ &€ŒÖæÁY°1¬4ø(nÞ¼ysüñîà݆øõ×_G[ãñ8Ïó*ÏË‹BæÎóåAÅA€àÀ8c‚ åNŒ;Û^ÎD?Ùú¢>.2_á B0.x&Ä2ÎCQ#‚@!„›p nc©óÀ?a– È2‘eÜ…Õ 8® cYÆÑà´çl6›ùB a¾¬ü(£5&=ü—:ãh[¸Û)iDk‰ˆV­ÓÛÈ‘¢•DhJÒZk´¼…L2È@ ˜(å¦ü¡%äšI#‘iÉêlEÚX2†ž›–£È’m}ÂŒ5FÓJ<· Ñ€QHõ*±DcHñ©J! jRÌ +È4aK•V¤­¡ÒÍ\)7µA­i%l ¤fݬkšæaí@-ó<]À)€ùlæÐ.ç]Wl Í¥”²:ûu#äÅ¥À n ©@véUäQ”$b«âpß•…Õu-“¼®d]%—M]×M!ò¢³¿Íœè«ÿãh“q¹»È$šüvt]7ŸwÇÇݼëMÀãîXF >k + ¸¢¸uËŸÿ›·Î½}÷î¬èß-NzŒó´ªò8rœÎ€˜j…J)­ºqsà¼@1L§rP<ã\¸„îR{\$Üí÷“ëýN %¦*ãbƒ@Ýj¥q +¨”㌯cÉ5D&„k’É2‘)Å@!(&¦ÙJ .€g§ÓétÚÔµ€¢É&*YUy¼þ¼ï ˆÆÑù½n—’µfÕ¶Ôb‹Új­ !’ÑhÚYT[­©ÍZD­!)J€+ÈÕnò·æV+T¤L©1V¦%»j[Z•mK­!²š¨$Ó>ä@dµ6«¬ÕHZ!= c4BB²„†È®µ@ B… +¸Š+k ­ŒmUkÅý‹sýeWÜLjÝÍfMÝ4û`…À|ÖtÍlv8k~ìºÙyȪ:¨öêÙNPò#ÀöX<ïïùýOnÚX¿´Qäê–†Þ!9Ì€«÷ë‚I)å£}>b²®ê:Oò"——?9¸J@—0Šú%©±[iÜ —ü­ðwýY×ÍýáïŽ? +€Ñ8>N€µü÷!À¿í +Ö +`t^Œó¼ªòœåBˆ© +P િw3BÀ„à‚p‘<á"á…È$nIN’9›? ¸P¨dƒ~3e4ö “É„9Ï'ŠÎ„Z{(Eˆ­Ri,Ym`e,im¬¡)ñ•nÁ* € (@¥µÑš ¡å­&²ZÙçDíóÖÿ'‚"ÿÔ†ˆLiÈ’…ÖZ2DmKh ‰çmkþÒþÅšÖj²nŠ˜6Î%pO=µ8Å€ZÝ/YÀh´†´-‰¬¶Ê«-¡m µ%xþÚ¬ˆˆœƒ™˜¹–æÙ¸Œ‹ÀþÈ/è8W,óÉãþÞû¨¿1c1KdÅ›sÇû¥º®÷뺮Üàáº`Ñ6÷ˆãÈ'Œ"_2‰X;s(^—žÄ“߀Yì»AüwÝ¢ëºc9î-òu'ñ¶ ØËž0x&üßþ·»$ ðëÿw—§yUål’Ë<Ï…RÊ¼Á³?ÀTq–1&8ƒ©€L%S>fÀû¥.Cï‹ûüº1àb€LpÎ…¡ c ÀhƒH +”€¿ý»Ã,˲Ì/¹Íøg@…ñ [Èxæën”À¦ˆ#M&“(–ò ’RîWy<^+€`ä'WF‹¢óFF;¨¾lFòcBA‘RÀAQk­5ƶDmˇ¾­™3Á•F­•+øÓh…èÜ,ãÀu–¤ RÊõù*H¶µÖ2–´nŸ È\0B»{xKšÈ¢B¸?YÆD–)‘‰,…D 4øÅ倠2ϵFQ«µ¶+רPÁRyΘÀ³¨>¦ò‹{¶MÀ\æ2N8ã<æ<Ò¯'2¢$ñ +@¸@î˺®kY×û•«Y®¥€¬óDäy}üÓãÇ2/ÆÞˆ#攀7þ¶,Á(šL.Àåî7Ÿoÿ¦;^tÝÓµ&{_€ 5À­íë›Ûß|wçÎ{'/^¸V ·§§§§§ï?¼ûðáÃ?Þø°™œ$gNâŠçB0á¾¥¹3¸”2nð.ŠÂÝ£„pߺ®ø8Ë2.2È2ÈQ¨ 2¸O*ãÈüvîºÜj0ßãO;pÖ”ÜÀ¸@<™Ä¬¯ßЭi]Âôuû +É0K÷K?zK)ÅH¡Èü4@ +Ýj_ ¥¸BBå‚*‘[BÒÊצ¤Ò÷ ’åšî—äÖú ·%¡B,•k+"åÚ•PQ FRœúðIY‘iDW4„D†ë’ʲo3$n •ò­EHñ`pÀó]&à<¸< Pø…çënœ+ÊóÄ×ÿº-}!°_ À¹¨Ó(Š]nºu]ïï»Ó/¥¬óÍ Ï÷»™@õ)aNØ$šLâ s š0Ç×ôé˜u³®ëfþ—!xºlšåØò;‚`<ÆA¿¹h7®ÝüzûºùÍíÛwîÜyöìääåëW¯ß¼yýúÝ»Ów¿ž¾?ýðîÎ(€M$2/Æâ8I’ÞJpà<›N…Ê|Ï^¦ 1!²i¦d¼ÀO|‹/w·g\p.8wˆ¹&Eh@)rÊÔ€ P¡¿ÎÐ} !\¯Ï2‘y$pÐG ÃrÐޜı¬*)÷÷å`n+·o—°HHÚºýY†ÈØŒ«úEBE†•e©”"¥¦Ì(BȼYA •V†€#‘B„¨Ú²å+cÑéÒ1„uµ}èN)•%•Ê7íoý,_B@úJ"2„ÊrO Ц†ˆ[BW$2E2‹èþ›ÉåX–ä=o•"}]¹< à<€Y·¾àRÀ—ëœón áÿ¿ø€ ùÈ•n@ˆÑ#®iißÿƒ5dšäy.;¯’ ¸{ß Å“¾R|¨‰vàRó¯söß¶Ð/—M³|Úur¼nèKÑzë/ÆA°Q»²‹×þçk×®ÝúŸ7_sûÛïîÞ{vrròêå«×oßž¾~súþݯ§ï?¼ÿõÃ?>|ø°Ñ4¹.¥üW€QÇI’‹uiÀ WüèÊÑ8]€q¯ÿ¿Þ||ýÍíïîܽûìÞÉ‹ÿýõ«7oÞ¾9=}wúîÝû÷ïþñüãÿX{€Aœ×ûûRz?,N_T™»·ý¤yàÜ-¦æÂuí w¢…áu;V[¯2áîùÎó¶X–eÎŽJq@÷<` + 6Z·¨Aim¬ÑFÑTOAd\i­´FM>g˜e™ã‰PUUU4u×ãë<)eUR®Ó€Ñà©úQÄ"v&h[Ûjݶ%YEd´+²ÖÒHŽª, )ÄV³¥â™!€JŠ4¡Ñnǧ憈œHÉVÔºª*µ1 þ“ RdÑ æ¨Êò)ã¶qk}®±TºüÚ’È”@­&$®Ñßòeè9o5YtÃFjà+_l¨•娈JRÚ &ãÚ"K%*m´6ÆãïÈ4kœWÕÁÁdzEQäg<€RÊAÄßè}?zä’GFãIœ$iÒÏÛLÈ\ʼȥ̣ Êk)¥‰ÈsyÜÍz rkä¢ c}3ð¤ï‰'Ãp€ˆEnRàÕÐuÇ [.«fù´{,ÇÍÀkŒÇ£QàŠ†¶ó×µ××·nßùîîÝ{Ï^¼|ùêÕë×oß½{óöý»wï?¼ÿëûüº©Æ©¬ëZÊÍ®…ìëœP>Ç9ÈÁ‘ îοvÞÁ•5Z?DDBÔ-(ÎyKäúÑÁW5$¸›„Ë! ~r(ÐjkµÕZÛiÛÚ¿ µð§Pê©Ö`µÖ85¨„ˆˆèÀã¾ Š¢˜1ß\UÕ~-Š|â<€3ð +À ¼3 +ÀZ2} Ù"Yi"|ˆ¢VĈJ*ѱJiF"‘P%€* •[Çe-ñuñ –ú¯Ü¢&²†Ê²Td¯œÓ +5i÷Ô¤¬BMÊ0CJ)]µF•ß#Ò"2T’5Ä4ùE¿I¯¸·¬HdˆŠ—¨Ýô².pAe¢BÃûé@¦%cŒ1Ž. ^œ¸ÕìM@ùìRRnŽNó\¤—=ò:G–$IšæyšæÅ:èG—ä¹”Iz$Ižçõq7{,S·ÀO™lŒš\:#èjèºã+ [{î†ïL@ƒ·|½ãºyëö;wþøìÞ‹/^¾~õúÍÛ·ïNOOOß}xÿþ×þñüã,꾈ª(Š¢À¢( +—×Ë2Μ%.úf}iŸkw€‚"!@kk´Öd´&ÊÄÚµ5jBí:ÓÁ;X~b‘¹ªA‘‰©ÖÖZý0Ó µµö¯ÊZý0Ðöùó¿Ú¶µµÖZ‡©@¿Ðw:b³^T²Nré{¢`@k²T:L“ÕC"4J!š5Œ@©„8kÒ¸ ,©|øWZ­é¹¡Ò”d[Ð9{ŠL©™¦ïÝGE$2¼lbI†H#=@([KdÊÒX$Ž„HJ¹}¥-k5¬¦îëc€ÿ; )"k¹¦?—¥"š*¤Òpc!™Ò ×9ÐmyÝ!@µV— ¸°Pæ[-ÁââGžçuŒ]%@šæIšÀãZÖRºª6)SÆB÷Iœ‹\ÎoÀ¹lÑðˆ¢hó·ë?£h|¸H±X,ž>}úôéâéÓ§‹ÅS÷ÛE×u‹åOE³\ËhÝB×WŽƒ`¸~€`<.rw+€[·oݹsçÎÉ‹“/N^¾~ýæÍÛ·ï>œ¾wúþÃ?þñÿÛ2£\>ªkéÌÒBV.b*Š¢è³D"Ù0kÚ¯pŽgî ÚZm­&2`‰H€&D*‰HkMSœ¢æ +µ°hé¡ÑØ>DD½ÂÝL»¬Ð¦µ5ò©B$mŸk«¹ýÜ¢k­}ø°µ¨õtúpê*=êµðãâJJ¹P'¹t½}` qMÎf6€€JV‘ÐÀ&Ô䋙΀,¶½•Wš¿ÒJk­=ÌNÐt+KdI”¥±t Ð/×xh¸¦ïKÀz˜mÐÅY€f~¡pWÕ¥ÈÏeÒ³€;å‘çù~2ŽâØ‚yÒïÊ¥¬ëa ažË×ÖZkZ½j e@@¶lÐS­‹©6`§V[$´S1…d´A´¸²–TÚ´VkTµ%²ÏÁ>D­Q€@û¢µZkmNõ¦§îûÜ ýÌ×rùÕ`uäù¢5\Ïà$ºB ÄJÓyèb'Ðl KKç@ûI +À`­è2Ð@!Ù³¸Híô†:€ åGK=òµÈóRÊ"Ïÿ¥ß ´k<Ø®‰ar€ÂؾøÇGN$QâæI={TÏd’ç©Ûˆ¼ë”{$lýùß\ +€®;>Þ,ù[¬ÏýñP¼X>•ͲóY€±Àx£ÇqïWû²ªë$‘Ûp_¾~6hŸæÝl`— ¯Ì•@IŸ €MP@(Í ôÇ€ú@ti/À|gPmôTW€Ÿ 7ŠåU€”É8šÄ}RP$ëf¹9h\Ê$L êÇëÇRäyš Ø:èÑå_€Y×­0œù®{Ú=íºã§‹®;~êp\4˧³ÙCSÐFÕï8G—à믯{|ýÍí;wîÝ»{òòåË/^¿~ûúíÛÓÓwï~=ýõý‡|øõ×_Ý€sKªƒƒBÒÀc„ÖViDx•1h”1‚J­±BkB!X¶k°T,­4`Ùâ_­µµÖ…Ñ-jûp%Ú¿ÚÿxÞþ‡ž¢nWÏW¶-Úç­%­x†S­µÖ¨Ñ’µðœôCÆÚ´ÑS8EZ{ «JzàTܪª®óD®ë&Ñvà›¶z²v‡ƒÐ;<€‹€=£¨4D+m¶Cú`œø@»³]_ +¼» ÷fUr½°î rç_ä⢻¿ÈE.eì&I’o„>®í „dÞ+€8¢ž=®Ë<ÏÓ$ŽÖÛ7°…„hÓÇãÅb±pê~qtÔmÿãõMÞ™}g”ÿ@‡åSÙ,Ÿv[ðY7˜"piÀñ8úÄàÚÍÛßݽs÷ÙÉÉËW¯^¾~ýß8}{úîôï>|øðëP¼I×7Ý@ÊþË¥µÖµEk&«@#]h­­ÖFa«¬%ЖŒÕÑ´­!4¶V™Ö«ÑZ|¨§0Õš4jR+¥[cÛ¿jšÙÿx¾²Åç}ÞZ!ð!ZmŒÖ€h ¬%«AhÛ’‹Öଞ +¨.Ö!@#'~ás?¼ªäþ‘ï0‰ã‰s~·²í6ÀŽ,À•=, ÑÊl ½ªPžÀÕ=€OT´ €3Y€Ys®ù¶ýí?õ)€4ÏóÔí!Û~$iš¦yž§¹ŒÇÑ„%q’$"I{Èm¤i.s¶VÉþãGõ#™§i’°øúdÑDÆÃéÆãh±X,:Ç€ÅÑÑÑѽïwüˆ6K7²€ã>ˆ‚Ñ'¦o}{çg'/^¼|ñêõ«·¯ß¾{{zzúî×ÓwN½Ð+€ý¦yÔ8TU%e!«¢Èó<÷˜Zk Y PhTBƒÖÚjcµÊX£.€­ ï[«­Æ‡ôí ÈÚçÏí_ñù_ÿÚZrxøPoÀÑ ôlK†6€›xT7M#£`EŒ1ÅŒ17î,úù_ñ@€M\ìöÌ'z%•D´ÒëÀ|rÀ…¢WWˬ@y@´»`(Þ™8¸j° €~5Øz˜Oì¥i~æáWŽº!d2G,f.Ч²¥”Rþ«ßFêR™yΙçR&Q"’zö¨~,“$Mâ(¾÷çýÎ…ãqäïÿ^,ŽŽŽŽŽ~ìü?Å9kÎhð.ÀW;®k7¿¹ýÝïÝ{vròòåËW¯_½~óúíéÛÓÓwïÞ¿ûµŸ Ü+€ý¦i=ªdU.°´¶5^Lh£¦­2Ö€9 ØÀƒVoÏÈZ¯þÚZ,. +€-@øp €fÿ‘@<ñI§êZ8À§T&c£ûA;J¯–øtÀMòÛôÌçyÎüP^I¼p"Ps‰WUÅ ß +r0GcñzUXžæ~ј”.Ó—¤išçIž$rö¸~,“$IX_ŸlDúãÍs¿ç¿ëÀÏGGGË-tkl5»W]wÜgf2 +6æÁŒƒ> Œ‚èSpëÖí;÷îÞ;9yùâ勯_¿~õöí»Ó÷ïNß¿zzzzz:`"ÝðäƒAœÀÔZ;„› +@;|Lž°ç²;ð›<€F€ˆˆvõ\æHyuàø^€«ŸûMŒcq’¤Iš$IšçI:x€y¿É0I…[\&Æ’TÎ×&=®zm¯ŽŽŽ–kx°À 6˜°|Z4Ëe×­à‚þÁ c/j¼7¿ùæöwÿvç/^¾|ýúí›7¯NOOOß¾{Ú‡ÁuÓ4‡‡‡‡U!¥¬œ +À‡0ݡ·ç€ýˆP]WEÑ,^>íÿwðáC³Kì +húP뇽°¿¿_ËÈ-ÿŒû4`µ¿_×"ö#ÁÞ'ÑvÀ„±èó²øéuú7{xEàß?Óð2`Wà‚vપ®V ¸SÜv§®Ô÷|í¯ûÓ´ÿEÆãq¹¶T8½ŸÈÓ4n“±ƒC€Gåc™ÇIÂØ'`ãüo*€£åÑq×=îwÝã®ëºãy÷ø¸ŸöxPû¾ eW4[n*€ ÁxHŽ\°ž ì¸vš€·¾¹ýon"ÐÉËW¯_½yûæôôõÛÓÓ÷ïß½÷Þ¥ýÇtx4À­ÐrKVÎz0ý<`µÅ0mûóÏ?ÿòË/4?þòôi_;±èuÞØ j­õÁëCÝß?8ðpuŒíËý}Y×I¼µà<â+„âó²æ\€Î›€ð·(ü')"úË_þr¾à¢và+Wn@Þ8Û|Á•žWÑ$ö þŽ?¤óð +à_r™çËãfó.©Èe¸i*Ó\æÎôÀ ßPœæi¾ €ú‘¬ëïü¬üy×-—ËåQ×TÛ·üGz΂hÇq*e4‘2M’d] 4Lp + ÉS™2ÇR>–R¦,‰£(M£OÖÿ>ØVŽk,ºãÅEè:€ãa/@_Yäb¿m§ÏW}ZÀ7ß}{÷î½g'ÎxõúõÛÓÓÓ·ïÞ¿{wúþý4ÝlÖyT•”²ò_¢¼@mѶæ²,ÀÇ=³íÌ}ôòçC^‹Ÿ—ËŸ~ñX¸` €ù|Ö4粸®˜ê ´Ñx=ÎÑõ îsžO†JÀñd2ûFÐ8ŽcÆ&“ߘp›„ËRSiÛUùÀhÚÀÛÛ€Ú•¨ûZ;”ei=˜@iLÙ–¦Etâ` D­V4=è~9€óÀ-\ Ä"ű,w ?ÿmÛne.l¾z%`áÎý“këb€íGšn©”qDQ'¹Œ£Q,Ó$I]!k0N·Æ‡¤©LY”Ä®N eIÌ¢4Ž>ãü{¡º¥Ž\øºèŽ‹îéb#pÜuÇO‹E÷´/ b¶|:LõÓŃt W£‹»v§o{çλÏþþâå«g¾}óöôÍéÛÓwz`Àñqw|³Qƒ¢~“÷%•¦]•»À(Š.Àý^üû9yÀl(DUž@ÆGÛ +€‘!"€òúãomkm»Ñ pa;°¼j%àpãïEÀ&ŠéP0äÿó¼Ç@€(No¤Q0É +€Ù²+f˧GÇ2ê€a)fÐ}»³·oß¹sçν““/_¼xõòÕëW¯^¿}óúÍéÛwïN‡n@g6Ý€ºö;\7PLmÛ—¶è•üÜI?!ùè—Ã"Pu¿,{Ð%Ö óïut´\á6¤”µ¬¤”û~È8'qOÆiš¦kÄ®ºj<ÆQ¿ + _»U|J/€BDDQºvÿò‡3 + ÄÏ 6:\I^¦¸óÖÉMw ¿ý·¶m["­µ¦¾à"°ºB%`UýÐßõ»O¶TišºÊ_÷ÿvæòHÓ8Š‚Q0’Ò·§išø€d@œ¤yÅÌu§“8fìzrÅóß=þçÀ]¿ùûòkÑÍB€~ˆïþñŽŸâ+/ +¶Ó¸yû›o¿»{ïÞßOþ~òòÍëW¯\9ð«×oÞ9°@¼ß̺®ëöý÷õMÊbíL?ÏÕYÌ=ºB4¿, øÃҠ뎎Î*€³8ê6C€ªÚ¯«ƒÚí –=â8žŒÇq𦕬ªz¿b‰Œ£±û¿Çn0‹†,À™Í@ÁU³Æ #‘.Iÿ@äÀïDWW„ê +Àõ8 ·ÛZÝ_÷Õ¥Y€ªúX%`wøÃó®ëžtOæóîŒPTó+ ÏY€d‚Ñè’Cèû÷ޓē$õø×•7dÊâ8b×ã±Âwù£[ì¸v(€fÿJè~ÜöúÖÂMËÜÁèSLÀ[ßܾýÝÝ»÷îýéÞË/_¾zí׃¼yûöÝ›÷¾Ð]ÿK½ €Úw뜋b €ÏɈ<9OwΗXàpéC€®;:ïøóß ëºnÀþæ%÷+€(žÄQ0Ç×ãýJÊý.£øº?ø±Eç.]¥À ÑBDDøô%ÑÅÀå!}Ìø¸Àí,À%Àž÷½0Ý•è£Û¶Z“;þê>]Ö,/¯<êº3˜ï0±(Šj~˜|ôÊsŒÇQœÆ©ÌcF7ò!ùïàÏ~ìë…Ó4bq*¥‹âôJ€OOoþ + Îg½Ž›§~$X—ósy€Ñ8ø,ÜüúÖíÛßÞ½÷§g'ÏNþþòõË—.øòÍ›7§oßn ‰ëºéº®s¹À'ÿåfPò7Ô!R!D±K-!f¿,þøiÑW5‡çÀâèhéà1êPo]Õ~µ_åÑ8ŠãIšF£Qr¿ªö÷+.d}uõFþ17î\–°mÛn $"}Ƹrpÿ’€]Y¨OõØE +`ˆþ[Ûsßí1 KJ/¬\.—Ë£³xÒ=yòžÛ@5?ü8Ò4 +ÆQœÆ)Ó4Ž£Qä;€RŸ&>Å,Nâ$MÓ(êCÆ¢€] OºEw5 ©óè +躮èÜTà wÇnب_6ö«AF£OS7o}ëÀÉÉÉË“—/^¼|ùâõËׯ߼~õæõ›7oÞ¼:Þÿ—ºiÖ€3ÑΠ(>×ÈE"’\ä©×ÛàèèPÝ/ËŸÿ÷_ŽªbþóÏ˧ËE¯60ïÏ¿€{›ù|©§›ºÞ|ô˜L&ãÉKƒ`4IYUNŒƒ`ìꪇ•onøs4‰ÆQ4þ´^kŒé `ú(€~øÜ,}Üü==€`ÓÜ€uô¯ióöODÔ¶å…íÀÕV%`·XÌË£ŸÝÙÞ€! p& X5‡'€Àõ8ŠRùßÒ8ŽF©ëHÓtCüÇqÌâ8Nâ4O£ˆ%®QEQ]ýA»äñ¤{rzuM>w]WÌ–GÝLnTý¸@·hüFÁøSðõ­onûݽ»wŸ=;yö÷—'/N^¾xùÚ —oÞ¼yóf˜y×Íü§Ÿ~ú©ifMÓÔUUUEqöüÅÅu—ôE^Y’Š\!7Ð+€Å¼è~Y.ÿ÷_Žª¢ûe¹|º\îRó>xÚuÝ|>?::Z +·lyMÆã Çi€Jè{DñÄ[‚Ÿ–È̳O€µð{f«)|’°en„ÃùÔÿýþöOí÷>:suóy·X,Ž~ùe¹\.Ž}|±è拟~Ù ·2kÞu;B€¼š>¹âhEQš¦1‹b™¦i'›€ùqœÈ4Ž¢8•2õ¸Bp>ߥ*€8º"~<>îàûFÁhä·l ø„f k·¾¹}ûÛ;wïÞ;99yöìÙÉ‹/ON^žœüýå«WÿýÕ«W¯^õ•£x¿ž +À@ž@ñ +À×$Y’>À@êðª[-ù¥“ÕrÀ¢Û€^,ÖÇÿèè¨Øß¯ë­‡”õ~Çã4¢q†~[…Ÿ +ìç; …Ân´>¡ Ëܽ¿Ý@€ÐTþ3²Ñ•À§zkp îø·- ç¸ý_~t´üy£Ïç[.‹n£ æÌçݼ÷Îdœ8œ'ñe/“(¢`4ŽÓ4Ž—ˆï?î× Ç,N’É¢( +¹H²$OEÕÌ›f£ð¨«òn¹\-éŠêèbïº +‹¼(ò$K’¢éºnSÌåár¹ìË_rC,ºÅÙ`Þ /ðÇ?Iò³÷ÿªêê`ŒGr4NÇcEc÷ITûn;°Ÿ¯ÅîüÇ,f·Kü*!€Xùr<‹€¶m[¥Œ1[»2mk¦@Ô(…íùdoî1Æ(•r+ÑÑ"¡FDC€„ ‘°$¥è>d4 ,É’±î©µPJ)P +1Ó5D @%‘FBÔÊ-xÄ~›"Øca€0DU&HÆšöA‹`L[¶¸>ÿª7ÿÛvõý÷.Ë’6ðóYü¼üy±%.@·Ñ¸ˆª9œûð€]x%i<Mâx<Žâ4ŠFqqžžå„ÛüèVŤq“4M60ºpÁ×€'Ý'x“IÇé%xúc×-ªå²{ÚÉh£ ÀUÿ[÷üK°ÓüúÖ­onwçÎÝ;wïÜ»w÷îÝooßþöö·wîþÛ·ßÝùãÝ»wïÍ'²i~úé§Ÿœì>¨v+ÿë•z\¹G^@Q¸> + ÈóD$UwEã°,ª§ËupÔuÍá¼Û@@×=uèGGG‹®?þy~¦  ªªú8Åã ãQ´áH™Çã5&“øz_¿îf\Ò ´]d9ƒ€l#¸¿$À¶$S£¨5nA8ß@"8ç A€EŠãýR)cŒRD ˆ¨5¥RTÛ +,Iµ%¢Ö­Q„-‘Ò¡š*$@R p…ÚhrË×Wê>¸MNY&²€q¶× à¡ %°4ʘU«Q›¶Ü8þgnÿ.KêºÅÑ‘¿õÿ¼< €_~î‡f»/ôG<€u1ðV \`þäÉ“'Ý…{úb9â8òí]Ñ8M‚X^w¥?“8fñdÅÌ>b“I'qQšÆIAM&—¬÷}òäIçîÿÝŽ4àå + ÍŸ^xýÔuþ¸ì޼ è§~ðxC\2ì"póÖ­Ûw¾½sç»»{÷wþxçö­on}óÍ7·osëö;wîÜY`ßàq×=nª¾§~óª†Qòã + ß6œ×Q… ߀»3XÕòçåògçñw‹®ó>˜w½XlÿDù°¿ ‚IÅã8 +â4Š¢JúÐ&ÆÃP`Ÿ¸Çþµ(ŠÆq!@kŒy`Œ=#²,[õ A$miU¶ÆDãï¼k0Î8ç 8¥‚B@r›{"M¤P#C"B2ô=©¶D¦ŒQjÚ’!C%ÁT›•14ET¨5 +MÊmW€¨„%­WZk Òˆ@Š”<˲€q†®xO©H(%ZÓ–Æ´µ5«Öúó¯6Ì¿Uùý÷.ÿLTv—)€å²|ÓÇG@€ ²Ožnºó> 0?<|òdþäÉ“ù|Þ]à¤éx4šŒƒ I‚Q|=Ž"D2½û.ïÉÄü¸— ¡‹ ‚ ¢hÉw.þŸ?qǼÛ\’ˆ'qœ¦iž_,»ŸŽ7¦úYÀ[§Ý¥/À;®¯¾¾yëö··ïܾsçηßÝþæÛ;üãÝ»wÿø§»wONNžœœœ 1ÞwiÀãããããz¿@%×/ÒYÉJ^–(Dž +!DQ䀢(<á0ošfÞ-º'Ý¢©ºåò¨[,é:ø¡óßËÁ?²ó¦ëËårÑÍ?ø»î>Š8 €ƒýFŽÆÑh4΃ñK¯_¿¾ ã(ŠýVÀÉd2ñu@‚f u€Jã0`@ÀÊ!€tk˶]D@TgaÀÕZp¾Ç9qP¨Q!"RDJYk±dŒÐÆC-ó@3j!ݶÚveÕhµ²Z“iI“:´VMFÐÚÒšH“ÒH  RDè0|×1Æ2dþ½m-"Òêyk¬ÖJ)üMÛ®ÊïËï¿/‰Ê²ë.WB€+¥]7¿( à@7ŸwOâÉΗh4EAÄi0НGÁXã4½Þ×þœXGA0ŽãI€~CÄ9 s@×-º]&à%ui~¡è–[ +`ýðë€Î`ìLîÀµ[·oß¾ýÝ·ß}ûÝ··o{÷勯Ü\°·ïO_¿yóæÍ†xÔ?}êÐìûC¿+ +ð×ÅunþR1Œ)ò<Ï‹b>ïš*Ͳ›8<ì]s´üé¨[8 PuËÅ¢[<ÝØ¨Ú+€yÓuËîøC.rQy.Î+€¦âÑh4Ç7®{TRVU7v,L\ c+á‡Uíç·#!íèÃÝ®JKÖjÓ¶íÊös7‚=¾6÷\ @(""KÔZЖ,²­Y³2¥ÕÔ–Ô> U©ÑÆy`ÚUk5€ÊN‰˜V[-âTkƒˆJÔZ·-éVë¶tÓIÂV)„ BîÒ€Cßc„Œs"2¦5še@ªERàå¿q·ÿ?—ßQy;À\I¬€!ÀüI€¦ÙéøÚ£qì¼€Q”F£ôz<™Äq4‰&,òÛ¾Ý[{ŒÂ(ŽÙÄ`<ÞqöݦŸùüÉ“'OžÌÝgó)€ Ò<—ÇÝù—§?vÝOÇU·üq+ ëAv(€«à‹k7oݾ}ûÛÛßÞ¾}ûÖ­¯ï¾zýúõéÛ·§o?|xúÖuö +@6ÍñOþª÷+é‹?1ÃoªxMÓÌæi.D’¤¢àz¿Ö^@žó]×ýðÃbqôËÑÑò¨[tGNü¼Ø‡ÍaãpÔÍ…H„€B¸Íïy¾¿eʪگë`E£Q߸ž¦iÚÒÀÿ(¾_¯Ç›D“Àå× Q)Õ‹3À#W+²¶µ«Ö¶mkuÆÝ)ã{'-ä<ã ç‚ ž‰ @‘ik5iB + mµÑˆV¦4FGÔ¢ÖÖ®ZÓ®V+ B ÎÝØOI°­ÕжZ¸}í „€Ld|j@(‘q¾ +Á }-XòÑhìq"]¶þ©EqŸˆÈ›Ï…"B¸‘oý%Š"IŠnÙÍ Ðu]õÃb±Xv‹îèhÑýÒ?TOèÎàð‰´ä¢(D^äyžž3÷e4 +ÒÑ(ºžn ÈÙ8#€Éõøúõëñ$Š/€Ö}{Ì%"]ÎlWH ΂Ñh²p(ŠãÌå\•… ”B‘R.àЭ¥U¹2«çSæŸ!ÈÈ2EDÖ´VDš*!„`"(Dw \ÁyÆ9cŒ±0èÿUa8FA‚ B† +тȔºOdL»j¿/˲,ýù°ìc€ÝiÀ+fæ‹®ëÇîè0oºnrîŠÇ½yƒÑõh4šL¢Q”ƾ¶£_óÛ¿ê‘0Ç“I4‰Ö +àüµXlµïŸºîÒJÀùQwæåèèÇ»£ŸªnyÔoov[ƒñx|²pí«¯oÝúæöíÛ7oÞüúë/¿¸ýêÍ›7oß¼zóæÝ›Ó÷ýbõ;?æÃOý+²G¬ªê¼Ø8¬‰¹H„ÈAl¤òB$E÷Ô+€y×-ªüðѲ[9 ðtS̺ná#€'ͼ[,—ËåÓ®[ E^‘çâð°9€ZÆ£Ñ8Ç×ã4¾îLÀJE‘F[ðI€É$æƒù”ì6Ö2‘è€(¥'…@¤”€Œ£ ¿ÿ{w1ˆ"ÎË„àB€ÎœÔV€J‚J*Ý@p|”RÈ]a¢B"Òþ@ª$E„ K8‘¥°ÍÈh¹Ê2‘AÆY†{+©ÅÞh4 +9dŠêuŸŒ;ÿÞ8þe×m‡G;Ó€[½—+€ÅNPœQófÞíÈÆ~¥æ8žQ‚xÆ×ã(Š&Î×\õwŒÇ“hxy°^Äuþü/ºùðiì.õ˜ nä¹Üíu˧•ëëu´.8ÞÊü2¾¼vëæÍ[ß|sëÖÍ›__»6¹}òúõ›W¯ß¾yóæÍéÛ7Àæ¹ïïþÕ:XUUuÆغ_Ï…"Ir‘yEïФ:ZxtNuÝ¢ëžu‹…—› éM3Ÿ7ͼyÒÌ‹åò¸€#J.D~x¸lv G£`⸠¾™ ü^€ë½ èf‚Ž#/Ø€µ¶Ü@)ïn#À…ÌZj C¤€³0 ! ×pƒ€1Î…€L(ЀJ)P¤A©Ò‰~y E¤,’B7+œÈ +Z‘! + i€Xsÿ{BE$‚×)Z!µà`EZ)@PÀúÂ%Î÷öö‚õ¿ +`/…™RhˆQIZcWmùý÷.WÃù§n;pQÀ9àêY€¡ àÉÙB m0Ÿwóî\‘ìÄß¾ƒh2ÇÁ(ˆ£É(òÞ¢(ˆ"¿U/ + Œ£ñ(˜8øÜ;Ïÿ¢÷ð©ué ·åP.Ï]O»åOØ «Á¼õã¾H÷ .š öÅÿý‹ó¯¯]»yíÖí›7o]ûúË/¿¸}òêõ›ÿãÍ›×oÞž¾}ãÚו€M3{üøñã®{|ÜÔ}ôïÏý ä@ƒªªªj3 pF²Ïgó'>è'@¹(@.»m8 ðÔI€£®ƒºn¹ýt‡óywä«„–K™@Qä"âðpÙ4;PåQ4E~$è€Bæ€Èï ™L6jÅú 8[–8#¬/ F׉G(ZCH@¨0޲¬×a†ãYÆy&„ýèÒ€dI¡CT’) ’2FY4ˆJ¹‹Âº|?"鵡°m‰JÂ’ rýÐêP*B"EÚepdã{{l˜ 1 +A)> +($MDºE )Õš¶ý¾Ü:þDç€;çÒ€]×Í?ݹB æððÉ“5ºn>ïÎÆÀNžÁhGQp=îÅþ8r7Ïõ;ô¥5ÎtK8wŸÿÁÄxâÛš¯îøJÀ\zœ'À¢[›Wè&ü6ðÕW׮ݺuëÖµk×¾üâ‹/nýýõ«—¯_¿~ýöíÛׯ߼~ýúuÐï›ÈÇÍzNÉÁ;ñ€@y¦Å¡ifó¦É…È“Tˆ¢È (ò¢(¤Í€y×-ä} °XK€-`Ñ4óù¼éænÀ¢@•ˆ"Ïóâðp¹t v FiäëÁ‡rFW 8`3Ÿi¸}þGÁuŒF£`2 +Æ“IÄQ4Ž\Óg¿i»¯³ÇãqèàÆmîÊùã½NvŸ4h2™l†ò<~ì~ê°[þÔÏù= £ÀmÀQ,¸*¾¸öõµ¯¯Ýºuëæ×_}ñÅdôÍß_¾xýúõ«W¯Þ¼~ûæÍ«W¯^ë:€GͰhVø¬ÿÇ ½ØÑåÔ4Íál–$I*„(r€Š¢(| gù¢+z °XK/kàÐuÝò©ÀÏ•y‘.Ÿºã_u;0Fãþö¾Y +<^`ãô;øáKk€RJí®*H)ã0E­±D¢’ŒÊ …´Öœ„è³á &€sP( á’Q+a샶,˲5mKhQkƒÑQÜÀ(4H¤9"’Y•†ˆ´€Ó¬‰[ 2ÊýS!i@®|&€³0èó€\ "`„J;¶  +EŠLûý÷ÛÇ›íÀ„WÌt;Ò€ùv° ÜÍG[ƒ[ƒh´VñîÎ>Çýzïñùìùºº>¸°èÈÀ ,yòäI·èv¶_Z ¸ì @·ìªn¹ü±ë‡‚º½ÀÞ“ÜUtu|uí«k·®Ýºuë믾øâ‹Ñ­“—¯^¼|õêÕËׯ_¿yyrrrôÍñþãºi=ªëº®gõ¼šÒ¨i;ïºf7šæ0M…p©z`w´1ûi±¨~øa±èŽŽ pÔO·Î×4{—®[,[8\ºÛUÍ»³¨\0Nø“qD‘דøz?ÔWŸý†(•R +à ´÷I)%¼€S$BMhˆ„qRZ‘. Z¦Ô ‚p/ x¢x–¥´ …Zâ +WÂXC-•¥5¥!0ˆDSBMHFg- $åÖ€qB*WmÛZCeYB¢íŠ-ê–´i³ P0\)•epÎ×IJ•Ä[TD®v°E䤈Zûï«ÖŸ¿ö¤ëÎxË£ Ò€WͬÀÎB MðÉ9ŒFãh3ŒGÑhEã¾Öc ïFýÜí¾ãöB,{ úÿÉ“';G‚}¬pPÕ<ý±[.{ôÿ4÷‰Œ× l70¾ÿãŽkòÅW׮ݺùõ­[×<þû«¯^¿zõúŽ»ºçK âè™Ë£_ RùÓsá.€j±èÐÍÝâÈI€7%Àò,FšfÀÑ&¤;ÿU5ïº3=‚‰ß¾©¢qEÛC‡Á`ÑØWß3¥Rk°á:à€J $­Q8•NT¶Dd¹Ň .Pd0 +ÑfH¤µ[ëg,ZaŒ¡’L‰mÙZe ! +$Kd +ƒT"¤–Jlù}…Ôš²mKjfísMdVdL+LI†H¨5åB&Øë@ PiBa‰JKÉ–-šŒPkÊ–È”eI;àsgLÀŸ?±àÉ“ù\1 àŽä6‚ àÎËÄUÒ»Ìù¨ŸºßŸ±~æFp–kø>@'>¥ ^‡y¿§p?-»åRΖË·6ù1àýäú~ÈäÓðÅ—_}ýõµ[7½0ºùìäÅË—/_¾xuïÚW_]»uëÖÍ  išGꪪªýY³_Éêàjp÷èK0?ÌÝ8À¼(Š"?ß&Àx󗺹uM÷FŒ¿®¸ F£ êÿŽ~þyÀ|Þus_ +Ô}’àB€Á¬*)6ðt±\VÍò'€~ØÈOÖæsð…ë ¼víË/¿øþ‡Ñ×wO^<»sçÎ{w¾øâ‹/¯]»vmÃhê¦nšª’UÕÔûUµ/¯'Ñ›çЊ\$¹O6GùÞù¢[,¼ p4H€£i)Ã0Ð àJ†*!’j±>þóùülÕr>ŽF£ Ž}œ?ü]ß àkIâ‰ý<€õÝ”(a#Ø}M€˜•dÉ’ÑšV+Ûºú¶Õ–«L)ÅÖ€àx 5"´V·Æ®4µÖ¬l †ÈÓZ2íªU«UÛZ K–¬µ´j[²†HSÛRËI‘mÛ¶m • ðçV?G"zÞ’!mkZmVšŒ6ÖX>U$ÀUÌ #Ô-®ìŠZ€–lBŠŒYµmÛßý©tm@g=€Ÿý^ÌÏOÎçfÎÀ}omïoYÃÀ•ýxÍÏºŽ¶à$À|PWœ +¼Y”ö +à > €Ùrùããm`7¢h|u`2¹öŵk_]ûò˯¾øbòÅhôõ½“—w¯}ñŵk_~ùÕ—_}õÕW_•€š¦i¤,*9kd%ë+†®]·kšÎ÷÷m]KgâUEîC€¢Û@7ï‹Å… qt™¯€ûÆXø ùá¨ûÁo•êæM³Ý·pàB€q|6¨¶ÀPM6xëJ@wëEÇØ‹zލ‘ÖVs@HƘ¶¥vÅ ´6¾ˆ…Ae ×JhÔhD&@)à÷ïßWB¸YãÆ¶dM[Þ§¶\!’±Æ.HKÚ¶dWœÀ˜•U­1¦lIpk4®ZcuÛ¶e Â}À•RÀ™@¥@ãÎð +@kk5ÏP“ÕZ? j9)ÿÔåpúUyK?hy¾ðêº]•€}`lšy7w +`›£³Xßÿ/¹.âMÍó>xÎì>2p+¨¤¬êj‡Ø6Gë` *€/þ‡³×“É_|õå—_~uí‹/¿F£/nݹsë‹/¾øò‹/¿¸víÚ×_ýõð?0‘MóèQÓH)+9««jhýû(ú­}lCs¨<òb£éëŒØt¶‹Šà¿y]÷óò!’Žz»`>o¶WNŒÜ4ØM²klÍð!¨³q@¹mºZBdœqÆ9$¥€‚k™S Æ2ž‰¾Ž_¸š;"0ß»ª^P p¡ÜWÅË8ã\d°ñÔ ¸¥©Ö–Pk´È­FDˆˆÚUÜ'ʨ¼ïÌÁ9ga¸·®Ó€!gœg¹ºCàFkm ¬ËyPIª,KZœU‹õ²† º?–Xô«ºK{æÝ“nÞuÝìôñÛí}»…ÃfýÿÑ–èºnî¦z\Õ`ñPÉê –MwE0Úö.@÷ÅîëË/¿üꫯ¾úâ‹ÿÛh4úÿóö7¿q\Ùº7˜Jš‰bfO^("aDòì\Ñæâ€x!P“kÀ/jPð™­E>{/1Ä”3ÌS[y·BdÙ Uî +toÝ>ýÎ.`¸g†0ô 0<¨ƒóOõ`G&“_úpÕémVùCrRJçþų¾žÕÙêßݾ;l;»{÷÷öööV¿ýá£iUM¿¨Ê¢,"Ê•}Æ%ƒÀòÊ_-×vÖíî®ë©€Å¢®ëª4±¸¬Oëz~9 pM¬µÆÀZàËø){þ|Ж«ºªæk0Åôц[k9€GQl¬°µŽs£«$à2zäåup·Æˆ€L Pd“ca0ˆÀD&M“$]&ºÝÍÍ{iš¦ã41c""a‚:k\[¸w M™Ñv ƒ˜ÒÈjçÈÌdÒ4V“Ô“""¦TH˜b–â wÄÌ+K Í$YëènF¥Àm¯ Lã,KSНÝÍ[/Í,ZWà+!À{Tæ·VÖÊ€Õ¼ž×aÀúµv:½^¯7u;[Å0Ëâ>°h >l­Cz½öy¬9 +&ݵ¶Á^¯¾ +€ÓzÞš¼Àh4YWÅñ´¨bCÛí + …@ç-!@wY½ ý~çƒÎÖ‡íôa«¿½³³³»³wÿÁƒ.VƒÓªšVÓ¼(òüdZ>º¼å´?t±µ/þ¯¾A,u]š<Ï…Z¬vÁG pzE¬–Tk)Àºn¯}¶¨ë³³Ù$3³hCg‹/I€,ŸNÛ*ÀÊë§¼ +€Þ…ÀÖp˜ {ë9€‹gó +—â€UY¬­¶w©03˜{õ™|¬¼SÛ +ÔŽ IšfcccˆÈ03ÃÁqxØf9K|Â,H…¢}D@¤Ìܶ3|"@ì+$ÆÁ"@™‰Lÿd6Ó$M×<MJ,D»ˆ!Ì‘ÀЄW×ÿ2–E€k!@4=}ÇY€Óº®ß¥ +0Ÿ×óöù_×õi½*ü%YQôzY6)þXô²/O¦Óªš—ÑǦ,Êèm³ú ·Rö$O†“iQ´‚óúºXu¿×f ­á•F ¢(«¢ªÏggoRîsËBH»Oáɵ©~ÿN¿ÿaëκ®é÷ƒÁîÞîÞîýýxViЭb:­¦ÓižçEq2-‹òQyÓ}¿v.-î[x]Ää’Kž?^¶†Fp³Xö´¯Öþg_^ÿú쬮gMÛV¼|ü_ÀRŒÖPEY¶ˆÍ ½^²TÉðÊnÀe›¯à7Ç˶ (€„H˜Xb.©—!@wssó^’DC€Ä´n§pGí 6Á9MEìn_šÅ0D,3‰Umûü‚8M£fMâC=¨2Žâ¯‡ÓØl¦i@·õ4$D,VÈŠÀ p YÝ\Ë,‹³ÖËí†iÀwÌÔõ»ÍÔõ“e{ñéÙi;ÐfÅó^7Ë«j’M_TUU·{.ªª:.gåú™NËr:{TW³Ù´:)²a1Æeâ“Öqöùâ +b'Ðé{»_.–­h߈g§§§õ|V–e=ÝFOêz>Ÿ?™ÏŸÔ«=˜õqžçùüÉìÉj‘Z]/]’žÌŸÌë›™î\ºÿíÁ`g÷þý½ýûü×O>ýôÓO×Àt:Nó<*€²|Ôº­ÆÿŠëFeYT—÷w×Kpu ²˜<Ïˉ̖’p¾üã’ˆC;bÖ'Þÿ/‹vŒrQ׋ÅccLµh=Ãæíâ5°Ñé|w~,P<ŠØèvÛ¹Ðá* Ø:F-ÊÚ–Ñ€ˆ¾\Llb‰ÉXd!Bâ-Tøà€MÊÍÍ{1§”Qü✸‡¯^s c´ß@˜!H,1‘ˆQQ¯Þ +€’ÄQE˜`8z@àà,CCb¢‡Lc³9¯ƒl&_Zˆ™œH >X*ð)‹™{ƒh%ÀMeÀyý÷Î\À¥ïß +€aVÔ—ðÇ?Ö8>~¼€Ge9UÕ¬š=®ª“b˜å-&õ¼¾ª. A¯ïxÃvàK€­8¾¤ÏÏNOOëy|#ÖIø&İ(^ÿ'ów©ll{÷÷ö÷÷?ýô“ßú»ßýî÷«ÀV €Éd2™œL‹¢|T\Ø€]ò[ý¯,Šr6›]^à]¯Q`ù$/òr’W§Qb,7¯O#.$Àúв°ørñ¬®ë³ú쫳Ӻ^œÍVhïÿl6;YgùôQ;‡[½^²5nÅ_sþ(&7ºÝÞÆFoc£ÞZÍl¬Ðîdå剹±?\.eD$Qf¢81ȯ +ËdÆt€Í$M÷€¢‰g£P~Ø(«;jÐÔ9D!$,’Z"ÄC‰arøf,«%$Â"†Å– JÎ1ј7ÇѪh³ÓétS“ ‹µ`¶$^=‚fmØûT¨•9ÖÚk9€ÅrAØ5G w.ÞÚ4¿ íŸâ½ëv7z½ë¨×0›_UÇU5«feU”iÚ*€hCyOž<™·3ïÓpS#Ð%ðâÅÙééi]­ ö8\@Ù`6«Zw¢øäÒfNgïpÿ·vöîßßß°ÿé'¿ûýï>ýì³Ï~¿¶¨UxtÙðæ¯Ùì +VÉ€ê䊀r~m1Ò% ð¬>kNêj‹/§ÏêÓzQŸ-ê%æ‹z~²|úϪª¾€˜LâÄO¯e×£²È"6¶Öú’d¸u¥xYE¢Àz°â`-‰@+ÄFÀ* +IP«rÀÆDtâf 4MÇã1%ÄBÄ"Ä¡Qœ{ˆÓÆ9` ÀÅXÂ"ñBDö¢Q\hÀ$úMt@Lv,Ö1‹@¤ |èpÈBÌŽˆh3'IÇ»D=+däÄ ¶z® „ Ø&Áìõ—{€¯/¹< øÖY€e#ÐMU€õiÀùêRŸ.¼ñ¢D˰j­[°®ONêú¤Š®“Éh” ‡“Ȁ㋧ÔÕ©®ÏžŸ½¸ÜÐOÞ«`xSÀº¸@Ìæ«jèM +`6¯Úçþ¼~2FEóyýNèïÝ¿ÿà“ûŸþþ÷¿ÿì÷ÿÇ×_ýõ5O&“I=-ÊŠ7æg³+X ªçkqÀi]Lò¢Éã‹ÆÐ•X“g§õéÙ2X¯•_ÖÏÎNëÓzq½Bg³Ö]luýgU4 +Îó<9€Q@|Àoõ.Ü͆½NÛiÝë­ÍGoà^wãJ' .#€È^–€HĦËÆâUƒ‘‘q§ÓílnnÞK6Ó4MÇb8‘övئŠkŽ:vÑË"±6³ˆxX¤¢ç^¢µ1Þrô +aQˆ±ÐàETl rèÙ¥´™^˜n +%9b/VŒXåB ¢Q˰€µÞûÎÞb +Z¿c#ÐÛfæóV=®ÿæu{—O.prrRMË"ŸLF£,ŽZ̪º½ô«<Ó:Î.·×Ož<™¿÷f ásÏŸ_Só'kÕ›0[JÿåpBÄÀ¯~Ìôïïïòé'ûŸ~öÙgŸ}öY\ ¶À£u”Å£GÅ[PÅqyËö½ØÊ·REžG\UkàÙ³º^–ö×K‹E}º8‹«ëE}zúåâlf¢»Ø¬ªªÙ¬šÍfU}‘L'Ói@«ð“­^ì(ʲȶ6º+ôV“€W†º+DCmfæCfbâ‹8À´Pç<f+6õ€!·ñ°Ö‚iC€$‰}2”0H„ÈÚÆ¹#µsp¬ ’Bœ¶/ÔBˆDD­…€Å+ùäÓO|ò»Ïþ×wß}ýõgÿòõ¥*ÀEPMËÕ8à›5@Y®PÕÕzS@]Õõ*8«‹Ižç¥yÜÿk¬Ïë p÷ÕAæóù|Q×§§_E0|UuºX,g[T󓪚͞ÌfU]W«`²TÃÖ¾Ý ”çEYdÃÕ¬UtˆßZµ­—£'S§CL—DãDLd"Ô*Ä#…@HD VÄ’õ^UÈéøÞ½ng3 Í ¥&MŒˆà@¬ýVo£#FŒ§.Xex›XÉ…Y,ˆ/­Äbƒ 4ÆbâŒa x oÿCàäP!txH "3ÞLMLt:M‘Är´!` ^U=‹X/¼Q+b¼÷iºüìŸÍ?.˲Ìóýô÷¿ÿôÓÏþåÛï¾ýúЏœ(‹âÑ;€ÒòZ& ÆóU2ð¬.Lž%ÍV]ë˜/ßÊúY½”QüWUkPÿñì´@l¡ˆ8«ëy]TOâw¿(˜I5-.$ía»ì¼¼€UðÖp8ì%U€Õ 1_Ž˜ˆ,&bc¼wMâÅŠ±z` +6 +ͱQ"Úìt7ïµ^ ”˜q:§&šú +‚ªÕÆ9ïBðM"¢ñ¥…¬Ä˜_¬èyCMრ!«ª^Ô:bbba2Ñ)DÈP’¶Æ€Ng“(=°tp D ˆ/DȨ©@ÕxŸ¦Æ˜K)ÞÓº>==km—ݱg§WŸõ꺜ճÇgíÏ]¾Îž<™UÕ|ù˜·ærOæ³y5²\4»xdŸž.óUÙ¨®ëº.3cÒ4GgY6)&£Q6œ”ÇÇdzվÉK¿•r¹»,Ë'³Y;xTÍf³ù¼M´È‹LÄÕsvvö¬>9©Š­^ÒÆq7@ÑvM«¥|©gåéõ7¢žÏžÌOª6Ø©£ÆÅ;±ªŒÏW)²ªºíþß¹Óÿp+†ÛŸü>n +ýìÛ¯¿ûþ‡èpS š®µ¾k˜µ*à$ Æu]ŸÕ¹Éó2Ïgqé×ÕTà|­p%@ €ù|^·oϳ€/[”&ËëÙ¼®ë2–fÕl y5-²^§M ‡½yYí5ô¢h»Cv­ ¸ìÅj°N€˜ +À@ÌdŒp;`—¦Æ DÖ{¼õ1–8ÞnCi·Ó–6ï%ij’4MDZ§WˆˆaˆjãUá ClLël-ÈŠ V¼÷Þ²$—Šh€ÓhL<ŽKŒ€ˆ$3X˜½%Jͽh ÚÚ¤F¬±bƒ÷Öì¬ÖÆ—NÇ)c¨^æ÷ž<©OOëh˜SÏ£«ëz–·»`®àìJò¬õÛ›/3ßOæOêú´ÌËŠâ£Ñ(›OWÓj>¯fOæqý`ý¤^SOª'QwDøÌ£ÆX—Ë¿ªOëù“YÛÌXUU]Íʸ¦×ëmt{½ä£a–F“ILL«öÓ|¶ÖK¿ç“Øû¤=<Å7b¶JWÎfWZ;“›Åÿý~¿ó›þoît:¿élúÙï?ýýï¿þúÛϾýöÛï¾ûî»ïÖ·· + Ÿäï €T@;0¯/@Yæ“Ù¢mô½Š€µ7âÙYìhK§ggg§§‹ºþª®Oããÿùâù¼*M–×å¼®ë|VÏW…€ Ä 5ùÛÚJ†yÛv ½5c°›€¨õù +˜È:±Ù8tñ'1¥”eã1ûü)²D&M²4ÝŒ{Ú( ¡$1&¶ 0G§_™ˆDý˜â®°Xv`J)54fc"2"bLÆddÆÆ˜hü›zaÆD 1b{°¡ÔŒMJ†î%÷Ò{Ë>CãÔ¤cJ)¾4 ÷ +Œ1c2&vÑŶö"?¹ø/ÚÎÍœ®%z.îÿÙòC_WeY>~<›Gá#Áº®ge^–UU׳ÙÉIUUícx^×óÙãÙl¶VÍü8Jþº>[<[¥[,^<‹Ý¶_Ö''Õt:=žN—N¦ÕÉÉI=»Ø8[×§§gg§u5+Ërö8WNü–Ë*ÏžÔõ|þd™¿8]-A‰Aðñññ¤·±¬.Ç æ£Éh2)ŽM«º>{Ö Ž]嬎OøjÞ¾yÕã2/gÕ“z6›ÏãÇ{'];·ŒEmõûý?ìÇ¿|òé§Ÿý. +€oø>àJ#PQEÑæÞ×pr²6tVç&—²È«º^¶úϯ=¯Ë ˆ‘ùütqÖ¦¿:Ó/‹YU–U]×yYÇû_UÕ¬Ýc–åÕ´œlltZ[Èd˜ ‹"/м(‹á°·ò[Y`™*¸Ø¼±Ñív66:ê£Ö§Xd_W±Àñ‡|ÄspLd͘…ˆÈ¤DÄÖ¦†ÒÔ¤éfëÒMÒ4:ôCë÷" f(‹v`"CñŽCˆ)¶÷Æc2Ä&Ú{c(#J1ÆÑ8%‚ˆ0™(JƒØ ÀaN™iœ¦q3Áf[ b2æ`1fbLfr)g³Ù¼>þä³'ËoÕÞOâéɪX¯ü“eëÎê]8©ë““êø¸õ6z½äbä ˲Ѩ(Š|’—ggg§uâÙÙó³øFTóÙìÉl–%YôÐɲ¼}#–mROÚTȵsãTÔßôûý~ÿNÿÃ;wît:ƒÿã³ÿã÷Ÿ}öÙ¿|÷í×ß}÷ý?üðõ*@ÀÉ£²x\j®¼žm“‹Åóż,Ë<7YYçU]ד²žÏ«X ˜µ› ³|:-G½Nëû™ ·zÃ<.8/§E¶µ€­ °uÉd9PÚ®ø¼*„ˆˆ­ +Ž$¶à;&!c¤]ÆA±6x@Æ'¸#¤›¦cc26D†äÀµLË–b¶caŽwÖGÂ$☈Œn÷|°lvÐNü"b±)Ãd 0[IÂc2&é½Í{ÝN§³É2Dã1CƈÀš8:DbH„A&N2.¹_I`µOÄÓå-9=;[,NOŸŸ]=­ÛÆ|^U³ë"u}V•gq‰LìŽm[WIû¶f\?©ê'ÕìIŒÔŸ<™ÏãÓàøøøbnu)†£²š˜Ì˜,ŸUmc½¤¿w“‚qÉ‘1í¯ã¢º¸0F¿ò““êø¸õ–³f1É” ‡ÃѤ(ŠéIý¬®ŸÕ§Kœ-£€j^ÍnêY]–åi]ÍgUì½z®µÿ¦Óélõ·–#A;w:ýO?ûìëϾþúûï¾ûîëï/`X”Ó/–˜ž¼Ûóÿ +V¨ª(ê““U¯E €2†g×þS¯'s땎hŸÿ_E,‹ç‹E{ýó,] XÚ]$²I@oc£ÿJ¶b—ÇÅ0Ùèv;Ý^; ”$½Ø-¼5n ×ªí œÆ-¿×E€ÄÖà¶Øa8ˆl¬ˆ98`ÂOxlȤI§ÓÝL’¤›˜ÔrD4fÁZB`€MUE .V/ÍDD–ȈÐÁDSP»ÿ‹ÅÂJ+E[ K°L’À™8œÞ»×ítº)3ˆ Í“ÉH¬Äg–Úõb$80Ä \àô¬’¿d¼xñâÅ‹¢üùóÅ‹/ž?ñüùóç«¿Z\ÏÕõ|6«f³ÇežçÆL&ùã**ô³µKv%…4ŸÏæ³'ñ–>‰Oíùlv|.Š¢ªÏž=«ëú«ÅÙÙÙb)V‘ÔézÌÅ;qºxù!Ðïwúýþv°}·ßïw:ƒßýË×_ÿË·_÷¿¾ÿîûï¾»”Üší4`žçÓª8~ô×ÿF\AÀU>)–û¯ `­³«%Àê_=]´X´ò¿Etš¥Ù$7eW§gõÄœÔUU·GSÈLY•£¸¬×Kz[½Þ0Ï'“\Vèv[0ìõ¶’­eµà’ˆ­rA€ °D€x¶P¸#+íZ° +Ç^ÏÖž'80æŸÈŽ»n7M“Í$£ïacãR ²Ð¦ñvl@Ö»`©Má9V"‚ÂqÀ‰âÏ)˜ ±*ܨ’åò"‚g²€ò,Œ&¨OEˆÌ˜Ò4MÓ$Ýìt“È5¶Æ±öâ2‡&U"Ã|¨Ð86íý‡{qéüå/—UÀbqÖ&oÏbáç⯮ïâÅÚO>é³³e-o>_ëh£ˆ/þç¿]œÿ׿ýÛ¿ýŸÿöo/gõɬÌs“eY–¦Y–™ø‡É/ž•EYL&“É(nõ†“¢(¦Ó¨NNÖæüÏÚ¶žkuý«zqÛùKëZ{òEÑæzKOïQ1YÞé뺮Ÿ}¹”Fí[ /Oë“XØ8[ÑpõNÜzÿÿûw>èt®|uúôïn¶Ûý~ÿƒÎÎ'¿ÿú³¯¿ýöÛ¾ý»¬.à]r«v‰[û,N® 7“²ºŠ€µ( ®Ïf³j^ÍÏêÓËäߥëO“º®&Õ颞d³º:Yú‡VÙݶ pI 766ºè]@¶VÕÀÞFgã²_‹Ú–h³l‹»ô8ô¢ÄP'$@`°M• Yç’Ng3IÓtsœŽÉ°¡1ñÁˆ…qÅG0V–¶Âj!ˆ›Ý±ƒ:&8ð©2“;:"AhþÛ‘¤(<ƒ„‚`™±Ú>µ$464n³€Ýî&G™"±ÄÖ¹F€0¹£ÀGáaÔ€òÍò#ÿ×}ŸŽÏoÀbqvö¬®_^ÀóUŠ ^º*þôº~²þ¹_^¿/^üõñ¯þÏû·¿FùÄdY–¦i–™‘1—PÇE1™L&Ù°×Nò¼˜N«““ÙlÖ~òΖY€ÓëJüð?Vø2àŸ‹ÑÆuLŠé¿Å´M|µX,¾úrñ—ö½[ºª] ÎG-ÞNçÎå¯:þV0ØÙ îöïö;;Ÿþþ믿þöëo¿ÿîÛï~øþÛo¿ývM™L꺚Wf¶XÔ“´¬cÞ6J€5t»ÝÞp«×&ÃÉ$mEoØÛØh/®­˜ïu{ÃáÖp4Ê:kÃq¸€Ú5`mÔÆžâÔ}s†°e8%‚:u"ܘlhlH;Í{é8ÝLƆˆm¸”TÕŠDðÿh¼MÙ*{n_Úƒ!" UbVUp«i`¨QeÁÇMðiT(<¯Ë€öO€¤DbLJqEø½d³»“&ö7 +Ð4‚‚ 0täŽpîa|iV’o¾¡ýkÀ‹¿F¼x#®)€@?ÿË%<[,ÎÚ‘zq /nÀJDdiT“̘Éì"P® + >™Íf'ÕgþûU0mÀj«Çh2E1Å´®Ÿ>{öì«/o@}¡æõ|>?«ß +€Kÿ;ý:N¿ßß vw»ƒÁvÿÃÝßÿËg_ûõ×ß~÷Ýwß}ûígŸ}öÙ:ŠUðpñ0Ö’ÏJSäy¹B@^]EÀr‡äi]Ϫªª¿ŠXý—×?Í&”›I=ŸWsc/už/® -§-b`¿5Nòɤ(‹i5i°ìŽý?›½Þfo8ÜM§ÓÎÚ8`€èR¬‹kYàTT­2DÊ‘óPÑ£à`Å’¤ä§ÝÎæ½qš$阈ØÐ˜ˆ`ÉZoÙBÉkó÷©* °b¡Â°Þs°D‡`‚Â9‘ª:ë)Àp\Ó<„D÷ &Àƒ¼zeÀÀj¤6ŽÍ8MîÝK6»›‡BÄÂÖ+Àà‚ªC_Ú¾išæ!8Æöœ€¥xñâW ú¿øË + àì:þû¿€ÿóß^ýäÓÏ>ùä“O>YŠÕµÃÓo{üË›P–å¬>YM,ÊÌäyQ¬`&7  ­ÊT¸rýó,£Édbêy5Ÿ›‰É[œÕí\ð| €¤˜·Øj ò<ŸÄ>€d¸±Ñëvº± `8Üö’Öh8œTmgu»Q¦µc±v%¤b-<¬¨Âsãm‡B¤ ‹óʰÔ4AD)XP·»™¤ã4"±<&õ¡ Vÿã›sk¼Z Pö°žEà#¹!B°8´Ü4GKÁ8×xwô0€½Â‡`Û¶jBìçÞãÀþGl*VHˆScÒ4I“ngbŒ8> ñ¡2³pœW þª84zôð¡ò>¨% !ÐýÕh;ø®(€hwzƒøŸWð?ÿº8««YY,f™Éb"ð"8>>¾¤ò Pÿ=øëZ ð?.Àéÿõ‹-F½­ÞF±  (¦¬Ÿ>«ŸýñËÅW|#æï€E¿ÿ›þ;íWÿ·¿ý°ÿ›­þÝþöîî`0ع¿·7ØÞlo÷ûÛwïýÁîýì¯'/)€7Öó\b`r“¿ UµJ´~UæÆ˜¼(ŠU'3U7#à´®ªê«ú«ÅEÚóâúOr“Ód^Í«jbò|6[,ê<+Ÿ­ ,Š²Ì’¼*³¸K±×ëõ’^¯—Oò¼lÐ[ ·5ö¶¶†›½Þf¯×n­°4dî4Mí¯e$Šñ÷¼o ê½á– +•&4½ê¸ìLɽÍ$'›©aC £ª8²laDDDm#ã Ö‡‚à‚úÀA˜p!ŽóÁòMh ÁvÚàèa 4€Z +!5* +{Õ†¦^˜¬RjÈŒ“4Ùìl‚̘&¬eúƇ‹—v;úo Ú(8"¢xþÇ_ÿðü&0_ ‰^ÀuÐ ¿!0¹ÀeÐ&«¿-þúâÅ‹ÿÏK +`ÀÚb¿ÑhR|üq|Î~Y?«ßgï€N¿ß︵µµÕÿ06þ¶¿Ýì ;wwöööövƒ»[«½¡»»{{{{ +`TÓi ðÅô]äžç&Ïy#.Ѝ³Yžg¦(Š"—òJP]Ûv+íY]“ÓdBU5¯æÆäùl6«‹š²r¥êª*Ëâ¸Ì’|ZŽzÝ6ÊOz½^‘Ç +Á´¶kã– +`8Üjƒ€ápëãª:¹ B‹]­÷7±Ñ PcÕ¢Q²LÁ«…ª23ƒe 4õ›IjÒÍ{I:NÇiJÄìšöÅhlèâ°ðØ{ hœ7^ +&¯P„ "ÂãäšÆ5æ?š€qœV4†øððâ¥Mlÿ‰óBƘ„ÌØ¤æÞfw–â<¡ÖZµÂtÜn02ư0[K 減@ V¨ˆ³%0 3Çãqº™$&évîY"bcÆãÔ!8Ç ²1"3&‚Ç]¨ÂÄ¥ü¯O>~s ~ï@¾žc²É­9€eðV—rÿ:½È¬À¤m˜ÖÏž>{ö®xpçƒ~§³µµÕ¿³uçÎ~ÿ7[wîtúw·ãzðûûû÷÷v{{Û;ƒÁv0ØÛß°¿¿ÿ¿_@ñÅr$hš¿ýù/ÙÄäsùÖ^=uY–K °˜Íf³ã<Ïò¢ˆ“ùWpåß}ñbíú›É$ŸLLü‘‹ëÿ|±x~’™Ù +u]?zTLb•“5 ‡ÃÖ°œN†[½n§Û‰?ÔÝèõ6z½îF·Ûíö†[“““ªÝÑ|ÕU`ÕÆª à]°0y Šn"E‹6‡ÎqÝW|onv“$IÇw‰„ÁD„…!Q8Ä–ÈÆÈ0¥&*|â‡xèçœ,Ü*0iW•1s4'ÖØÂÄÌál¤I’nv;îx<6†Mklð `â8߈!2 @(î1Ƙ¸Âô×àæÀ-}·åfK$ËF sµ x|½ øPë:ಘ~qCàã©|~ p¨[üñíx‡$`gëƒv Óé÷?ø óá‡ý­»ýíݽû÷w÷ìïïïíìÞß vwïnööîß Ši1~q1øæçÿRTÇ·…u]×e^®z·#fy¹®"`v•ÏW÷bò M&“ªªªy{ýg‹ÅóŋŢª²IuV×óe0ö4÷²²šô–…þ$&[ewžFt»ÞF·³¹ÑÛÜèm.0*Š¢­´ÿñÿK"€—a«A  8D;°ô@ˆ"u +"b5¹ÙÜÜL“ÔÄ"b² – 4ˆ—xùÌP²C„EéAòe÷ÐAãRhW"€Q»ò(…QXE#€Ô“a&CÌÆŒ)'½Íng3&c Ã!f„):¡b b‹!¢eØòú«÷þ×+€ÛûNß'C€¶`t¥àj06ýÀ__¨÷€Âæ>Ž\ÃEá½'Û¦Š™ù€AdR‚sŽ­p»hýP¿nõ?ìøÛ?üíVëÃûöûý­þàî`ïþþîýû»»{;»;1¸»½½³Ï%üó£Gź-ÀŸÿQ“OL]׳Y~ó™Õu]æE½x¶– +ŒÈå¢+("`~Õ*×81dLˉK×ÿyUUy6™-꺪ãï Y@ÒKâb²œ–ey<{Ýn·ÓÝèõºN[®ímlt»­/Hl\àqüœ_ÄVmÛäÔ©‚Ùš¶XØŒd ¦¸.ÀPL€‰…’ÍÍ{ij ‘°‘be‚|UÀ +êSñN„`„DŽ#>6#1 a†s€C˜X¼Šsbij"80ÀCâ ðø$  Æ“¤÷6777“6å˜3–Øo¸\E"cf¨¨sT,¾]T$íý÷!¨¿g7ånÀ›úb/ð…È&·–ß j"² 0 "¡ÔXBqp޼BÁVU…%߯o,Þ{BÛ9~È|ÀÂ|À;%ßÞ +Üï÷?Œ§ý‹­?ü°¿½óÿû{{{û{;»ƒÁ`{{Ðßî»{{×’€Å£¢ø" +€Go,H[ÈÏ1u}<›™›OyR×¥ÉO_ÖKC¯ ”ež²ÀY}ª8;`&¹iŸþóöúÏâõ_TUžgk8999™N§Ói™ee5º €ãããut–èmt{ÝÞææÆÆf7ùhØëõz—C€Zh‚¶"À1y±C4ï·ÜF8HŶKöD Kıšñ½{Ý4MÓtLlb +Q,ˆ³¿Ì€y"`–SÁèlÇ ‰{Gââ/f& ~¬RA`'›Ø  ÄŠÄ5A,c&“’IÒ$MRC$$Ì”òÁ˜„™q" ÓÒ˜ü⥨¤¢ªê5àýmXÍN"Y™X+ ’ø+·ã+d[K3f‘¸4‘ˆ1$)T$®=%) Q\š€qRâHâ` À^Hàœ³ÞZÄ­ÉÔ©‰È2Ëf[‘õ’ƒfC,&5V¢ “C¾‡‡Ð%d €Ã[àðÕ?7.ÞÞÞÙÝÙÛÛß½¿·7ìloßíouúw·ƒÁ`gg0¸€éô‹/¾ˆXú˜ßX\–êúäxVUÙ'?©ër’×õ¯ 9Ïf³YÞN^æyž›êT¹1-ÖŸþë×?MWhÛ#óMZž¬…ëøü²èƉîf·»Ùí}4Üêmõ.'Cp.ŠÝÐ4Ê,b@€PË ‚S8U炦DD €Å3ÉÀ0Iw3MÒñ؉mÅ&(¨<‚ˆ(‰¸Q›©Ý<‰DèxïU<¥`·û™÷^¡V=³XQ‰L“š{iš$c†ˆ“¤D阨%ŠÄ«S±’‚(.˜Ø¨*¼ª# oÀ…Ò:h ر\€¥1C ]€½ ×®NÅX°ÆUk°$°¬ö‚DW`y¹5y €ÄæƒjÐÚ6½E¨Ø5˜øØ¤„‡×¼=ðvüö·ýßþö·¿ýíåû?Øì öîïïïýï{÷wƒ»ý­N¿ÓÙêo÷ûÛƒÁ`ûŠ/¦ÿº@QLnN,Àl6«ª4K¯}eY^E\îôùr…€)˲,M†ÅIÖÛhû€†1 C€éU´£Ýn¯›|4ÜZZ‚m´è„Bp+ ÌlÄkŒSB©SçâcœaMôïÿ\Â"K ŸHƒd³›$iš‰™‰ ¬Æ‡¼FOoUÖŒæâ¥Ø”Aq1"$¢"LΫs°’ +Ya @,LìÜàEâÖàø$kؤƤɘE¢ÉabØ€°#ð&¨ƒƒH*b…@< ¯,¼Æn¾^;à+°jÄ^€3V +@Þ¤×pØ€oÖÀkHÞ^*È +7vMææ<¼÷wà¦5@ý­þÝííÁîîÞÞýû÷ïïîîý¥UÈVëî`pEüsñÏÅÓ/¾hC€ÉU\ºÿ¦-œÄ™Ÿ,Í®~eÙ¤ªëY–×—í–†€g(˼>›™· Zš"®jÏ/ª<ϲ4Mó¼|\µä² ,§“$ŸfKßï€G=Šøh¸Ñí\ÀÆæÆÆæFox€uBp]³ÊÂð€W/ÊlƒñP·’ñdˆX ÆC,[13ï,Äl’¤ÀxÜŠO 4Þºà‚@™^à%À ¬7p(,b˜²+*f™z°!b!«B‚W@ÏE,‰²€,ñ˜Ä$ã4IÒÔDÃâƒÄ‹,—±K…¡EH-‘‚Š40^•E–f†sëX¿þë +€¯)s³0oQæ’p+´ +@Öàâ¹)x;ÈÒºÀ›`qI®ààÜß €Uüßÿ͇§? ÷c¶ïþîî`÷“û{îßßßßÿä“Oöÿëý¯k­À£¢(þùQÌ7g׫ @;ôws zVÏ&y½, +<{‡ ¿\ų¼ž×oTóÉdRÍçó‹ëÿ< ϳ4KÓ¶‚¸L!ÍçóyY–eYåɤö66Öl™=zô¨*Ër: {×+½á°·Õ†U‰xìl£ªÚ4 G‡A+yçspˆá±E0q®ÏZ8Ç^è€= [˜hÝBYbkÅ6ð Ë"ð^)¼ƒÆç.¼m ¬e p®–ø]õ1`Sk-X!ñß0 <;ïƒñ–£)Ø2¥D”ŒÓ$¹·™D7›JÜTˆ%Ä äV}´/Uö!Äo¿züÎ9]€/Ÿ5Øü,ß èÍ + y‹Xð‡u¼UHì­)^ϼxƒ¸îïÀßt:¿é÷·¶¶:¿‰†€¿é÷ûýݽݽÁÞîÞýÝÁ`ûÁ×ßýðÃßûÃ?üôÃOßûí·ÿër (Ú>€é´˜\K¬Åÿ’›ü’X%ì/{•Ï. ,Ëg±r,êzþf7½Ígëê±Xy–¦YûƒóùªÒ¸€l2\Z~mm ³,‹ÙÁÛÐÝÜìnnö†ÃáÖå@§‘ˆ‡?œ7ªŠ¦Quµ€²¨#¨€×4XñsŽÔR[ˆ}IÚ%“¦†8náià¡ø%Ÿ*…²&òã°·&QÃ=tìc’‘!ˆ%M½¨(T¡ô <”ßÀRì_`ˆ ‘IÌ8I77SfÃl%µ$N]¼ ,,„…¦6ãà-æÁÚãpPU,‹UêïF`×€DÀ·‡·)€„Äܤ,½ï–àuP €¨o °¦°€Ãàþ.ÜùàÎwîÜépçNkk«¿Õžþ`wwogow°³;Øî÷ï÷ã?þøò§úéÕϯ_þøã?®°»/²ÿ“kX¿ÿq +À¬ÙwVeì²[ÿ2³gõlRÖ—›ž]Ä/ZLÞ€j~Uý/žçY`µ<¸®ëª]©P$½$[Z~mõ†Ãl¸Àq±ÀÖÆEÐÝè¶eÀ­­Õ^€ðR¸?à¼QE€¨%«$`¢U„q +âIÙ)YḴê'LiÒMÓØ*Db6m¬µÞZ§ DªOŠŸR…Áœ+Y(Y~MDDU±@*qE1Tñ9<¼ZEPÖ¸ý±‘_Òqš¦ÉfÂBÌìSk‰¬eqDJñbá•á + ,‹i  ñø´Me\¿ÿ—€\€}CpkÀˆyg€5ð®9"fCtMß`M\˜×ß¿mÎï·wúý·¶î܉cwúýÁîîîÞîî`0ؾÛïÜÿîûŸ~øñÇ_¾|ùêõëW/_¾üéJ#PUœþó“[*²*\l¹¡È”u=3E}ížÅ8`ñâ]@uEý/ùµ¥ Õb-ËseÒÛ^Ø~¯0-ËY €nw£·Ñív#.767ºÝÞð£á°·Õµ»Û +\$€âü¼Qñê½…@­xßçEPEc¬÷©µmQ™$v¥iwlÒñ˜b8¬Â7!àÁ#(à5Vï¼ÿ†–Í7ðVmcÔŠU(ެIô"ô€Ö¦Ö²ˆŠz¨( À‡ì¹÷ {eX…0 kjÆi’l¦ÄÌ|à“¶ÃªEÑøÒNm +Dϳø½L6% ËûoÌõO8ÝঀyÇ*€yÇÐæ rpC€nV´¦øí +À]„" +°9f–&NÉܺ/®&¢_€­îܹóÁñëƒúw>øàƒ>¸s§¿½3ìüß÷ö;Ûƒ»ý΃ï~|ùãO¯^½zýêÕëW?¿zõêÿºªŠµ. + +à’¸Ï&WÀI}òúÆ6Aóø“w@ûð¿ñÅ"Z'ÉøOÊ4I’å´Ï°7̆Ùt:VÇQ,“€ÝN··µµµÕënÆNÀ†½­ t—DЖ(ŠU…zïoÈAáñ°POA</6šz¤D"lÌ,”¤›2ÃÄBµ¤Æª=PÎU¼ZÕ _mžzØ“U¼Âzà ˆWµV YÓÒB +%Ol]Ó¨þ9¯V­«ˆ,iJã4M6“f"‘ÔéH£â=1bm¤6 °í³Ôª(’ØÄ@,’Äïlèðm!nϼ½ +ðî + @~s`ö"@k9^Sº ¨ò±,£^Õ…6PHˆÔ‹XK–R†ãvmÓ•“¦iúkða¿ÿaçÃþÖ‡±ýïÃûý­~ëÃþÝÁ`g°·w0Ø úýýöñÿòå«W¯_ÿüóÏ?¿¾Àd€è 2)ŠüVMÌUpRW¯ž7 _À[@µšû¹­é¸ŠŽ@k˜–Y’ —Ž_qGë´šVUY–Ó"[)€^·³±µ5ì ·ºÝÚ*@7j€NGW@!XG†˜¼…W@5À«Rp +hì U56ø¦ùsÐà…UˆIXÂDã$Ý4qaL4a†!&¯Ö+àÕë'ïjD-Ìyö›æÏA½ÂúØèˈ +ñiP XA‡óÀñÃÌ CDj`–‰„8%3N“^ÂJÄ"i8hB¼Wë}{ݽÂz'âÓà­ j„|˜È0Sý¯=þM:N߬ÖBX½–x×*À»+€6à›sW°R—€ƒÄºC +>BYaE=‘—Uj¡¾m +§îà€,Ó˜@264Ž;YV'kÿüë°VøßÚê·ƒÀñÿ;«Àí~ÿÁ÷?þøÓO/_¾zùóë×?¿þÛßþöó øbúÏ+¬ßYË\U]Uׄù¤Àìú9ÉßCTÕlñ|GynùáÇ~üñÇW/_¿~õóëW¿üòËÿw-˜\Ž®æòµ" ¹.ªº¢äòº®L~ø`]¿—ˆÆRä†LcY”eQ­P_@» 7«ê_«jZ–ŠlØÛè.°1ö†½áæJl ‡—p!nqA y8Ç,`²©@b;­!"J™ÆD1Ù#,Æp´ÿÇÉfç^r/36™!–DË) £Ì 0Ç—f&Ž]Ã)1“,,lŒPû±‘¡„…-z€ƒG™˜©¢¸$414NÓäÞæææ8›$jSŽQ.“EûQÂlĻӶ7¹-Q¶ï'ÊMšÓôºÊe"36Ì&v)3X ö1 ÚßG¬30ƒ5c˜)ËyKà­ +`™`™Ä’ZÃ2Æ›Š“qZ›‰ÚŽ0,$Á‘@”IX ãÅÂrì”öP‚´¹VD˜Óv%Ûj/[vIdiú+ЃÁ`0ؾ;èouö¿ÿá‡~zõúõëW?ÿüóÏ¿üòË/×P,›&Ùä¦1 ¹ÞÐ +JÒ+×öVÔõ{*€JÖ÷rý«ú²]'r€G&I6»íú飯/ªêdZ–‹Q@§Ûëu;½aoØö– + ]Ö pů] ê80âãARm‡ðcÛ|N@›éa¢t³»™¦ãq7ð0±m§†` y‡ +!MÛ. @X€Ä·ÓíµY)@ §Œh &ç$…ˆh3xca&"IˆÆ4NÓô^JDœØè\bHô5gÄ—fs*€ÈXX„œ“± +ààøî(™4MÓ¬9o/îúWš¦©afŠ”/'L;cL b"Jˆ¤]vµÌX=ƒÈ˜ÌИHit3Gó¸Cv±×ŸRC`bÀ + ÐJ¢6H Pk“D&5FR«,$ÆCcCÂ6ÿõ¢±Óá(êcƆ˜…Áp+m“„A„‰Ç)ˆù€)MÉÐxíö_@š¥é{ ¿µõÁ-_ýþ`°³³7ØÙÞÙô?èìÿãËW?þôúÕ«ŸþÛëÿùçŸÿ¿7`Ùœ\K,{€®öT'U]QÒË®òÔuE×P_À[@U¾ùTgkÖâk + uØêm ³,«N¾¨N¦Çey qþ§Õ ‡-ß–¸!mÃ'1ç£Ë' 04µx' '°i€„„Y‚ÀL`"%›Ý$§ibˆÈ@|â­²í÷Ö+b»| +¸¸Š ‚øÒ8„³<rN^˜ J“@@Þù4¨/P¼Z2 +vܦ$!âñ8Mîm¦Ä$)8F",,òãKƒÁÎ97€ÕÛ48/ª>6 ê‰(KÇišžŸ7͵¶°Ô‚…À4޳ &öE@H%ÆcY.9M£oYšÆʆˆ<„…bm}lŒ1㸮œ—ášÕ[!21@†™IˆKR¥ ËÚ8'm锥fl(5DÅŒ14ã†d"a&2ä ñ˜ –qH̤Â"Â@íÓ2Š¿)æ4MÇË•ŒíV–‹ÿ‘¼7ú[¿¹å+öûÿo»ƒÁö`p·ÿáÞ÷/_¾zùòåÏ/_½~ýË/ûÛßÖÀÇWÿ’5 £K!Àõ€“ºªò$-òK K#òk¨ë÷Wï€Gå£òÑÔ$i¯³Ñëõ’­^’ ³,û¢ªªª:.Ë"nEÇßÞF·Óîî. ðQ«ºÝ%bÙŠx1óŽ»·mbq/0@êã, 8· ƒ”t’dlZy+@j­²'߈i 0ÄjêÁ±ÃPÔihS{(­q,ÒX¸‡cKNCTáIÕ–L SÂÌrÐ?¥Ir/eaI<·«GDpÔ¾4“¨ÀJ +„áÄ“Cc‚ +@ýImÿfœ6çÍùys=ÑW¤)4ŠæqJK©#B†Lj8¥¸2}œ¦ÔH° `A"lÉcÎ=Ù`Éž«J ‘ÔPjÆië¯Ä"ï=4(TD‰q§£,“ˆ†RcÆfX: kÓq«cRcˆHÀdá¡r˜Æ†˜(¦7¢ñ‚14&cÆ&MfˆLz`W™ÑV¶„ b~?ôï¼!Øîß vvv÷ÛÛý»[¾ÿéÕ«—/_¾üéåëׯ~ùå—_Ö’€£Ñåë?™$Ù:dÍ +xrC O’´(ë¸  ý*òª®&WPÖÿ + ¾€j’¤›nè%Ãa6l_ë8 Óévº½îÃnwY\`c ëÛϸ¢­'‘ù‚W°õ ¶©°sG€HpHE|ÞxÁà $ +°Z"…˜¤“¦ccRbf7©·^ÛÒº:%ó'("ž•}*ì\€hŒ=ÒàAœÀ ª$A­ µì!ˆ…Ç7i£TçááeÜD£ ø MLÜK‰ã#ž!Náw$¤ +0‹÷V*;‰×Õ|“6*^ÅÂ(T•(OÓlœ6!„æüüWOBV¯‡ªlU5†ÆKÿÒø¼'æÔC –¡Ñ Í‹ã†,±œ7ŠÐÄBA¢`¡\¬µc±öMÓ4‡°W\4Ný&À°1K`ÌØCʤ Ë«¥•&ˆXØ&HÓ¨±ðêÅzoEŒU¶"‚×$µ‡æÈ«Á7ÆÞ„åÅ6Ƥt€Ël‰ÖZkLcùö#ï€~ÿÍ)€íÁ`gwwgg°½ÝÿpÿÇŸ^þøÓ«—¯_ýüËÏ?¿zýúõZ0»:ú7I²Éä㢈_kV ×@UWUž$yqüìÒ­-òª®ò¼>Y?eùk@õ6¬mQ,§å´œVùÑh˜ «ê‹éIU¯ªn·»Ñ`3`«íì®)§~) Îçi£¬Ä;sPˆ’¨BXþA`+†! ¤›¦ã¶ðGÀyjY<Ô9†Ê¸±À$PØP8°gQ0fAÅþÁY¯Hì²a@áô<õ (`Uœ•4 õÛ#¢ú§qšn¦D$ ×ië‘ÆA{²N=l­ ,¬*4¤"¬¶ Ä䔦ijšÐ„Ð<=oì5b¡Êª*ö¨AbÑü)ïµ×Æ’D ÖZË$ÖK+…ÄÚ 6xae(D`a‰AŠh¸£ðP-!‚)þWÁQÃâÏ¿išÆBðhlJÒ%k ÖjPª ±¯^ °b²,âk™…,Ô¹‚Xöœ:4*jC£hô›‡!x‚žÃzKB~ KÖ2X«!õm¯ò-ç€íÁ`0ØìíîÞí÷·üðã«×/_¾üåõßþöóÏ¿\îÞ€br£¸É͵@ž$IQ>{V·+«ºªªbÀ¥Sü*ð®xöìÙ³%²t³ÓémôzÃÞp8̆ÙÕUUUdz"Ûêmt»ÝNç"ï·¹¹¹¹Ùív‡ ·†ë{:8çÔ/3–řԉ€!±Dà]χΧ,`…w*.ˆhãÀ8 &é¦ãñxLB$bSo­µ"Pu"jRA„ª‰Ä,7„õÐiª†õ^AH…(Þ)4mG€@Ð……—jLCq&abÓxœ&‰!–”! ^} ù `x+ÎÁúÕK«p£> Ú¶Áy(¼¡4§¦ í¹IXeµ¬‡‡*îHSxïð<£ ÖR*Ô4a±ÌDÀÖhðµB¬qh‘„Rï%:³Æ¡?k¼…À98vMsD€6ÿ­Q¨H€Šrj8Z¶<&±b-,9µ.€ÈŒgXOð–ˆ@6ˆ™ÂGMÌÙª*b (šÆ«z¯"b…ˆ¬h¬>CÉŽÐÓ; ÿ6ììîììîvwûýüðò§6üýËß~¾œÈ&ÿå*Fë IžÓ$'¢Ì1óúøŠHóâ8`åîW˜¨ÖŽ©ÿSÀ<ŽFã©òQù¨¬ª2Ï6;^/&1_YÏŠá°·Ñínl,ðQ €^·Û®ú.À9ÕÇ^ÕSàuÙ+I´‰Š ú&¤ª¡i¬9ð +X+¡´›ŽÍØö¾¤AñP…ª¤aÙv(’hè­š 4šÆ{gÅ{x!àµM +¼XßX—X‰sAðyöß, l…À„‰ÿ‰Æ&M67SÖ üÙéQ°ê,ûà㔇‡¦mD!.X¤Þ/3"𒦩‰ÿðôüüiš6Á¿úJ¬%j‚#uAÕ©¦p!„?‰l-,Ȉ im XXB¬²aaFMP‘œáÅŠ2¬!!H"j-1k Ï*@£ƒ; +GRõ` –Sa4*¦hÛdÉ+»F˜­@¼5V`­+2 ñ ¬¢Ñ^¡ÁGÁYçþd?‰• i`Ù‚líMƒ½zçyiÏ;à-÷ÿn°³·»3 ;ƒ»ýÎÞ÷?¼|õÓËW¯_ÿí—ׯ__®¬)€—IÀbRÅ$þ™É„ÌÄÊŒÉÌ  /Ÿ=«/¬}gUUfW`LUþg(€ <[,ZP•f €áp˜²ì䋪ª«iÐénnt;N·7F£Q·»ÙÝÜèö†€—{, 6Xãl¢íÃMœSõ,Ü„,談ºÐ@Ýòg ±LÚ5ã]"h’ j}°ÑàÇ·/í¿ ‰eç€@@Òà¢+¹ pëZ÷Oç›zmW³oôÏic½EˆiDx;ö°„„zl˜Ø˜4ÝÜLá…»È(8¦%…à‹Të‘!øoÒ¦±*mNÔªdÆ„6ú§±výë Uµ +*wx¤)\hÇ·ˆÈÚX‚„0ÃÊ(„Î}ðB–a™¬„HNa­±PŒ]PàOAçÜQÓ=µG⡎Ҁ£#0[uN5@Š uç©ÏØÿóX=yëkA k¼XX°X±6!’¡4ÙL ì‘2GjuTm4©Æ¹@«ÁÃÿGj=©8%¶Ö|¾ŠÿC!4ÍÕ@ªz8 8hc><:l¬…#± +2íÔ½´÷LÄ‚Ý2ÔRU!Aˆ $D°4b¨Ä9Œ¡®qNÎéÑÕÐ(dÏbÓho*@ì¶B^áB,¡8X 0q?3LQ'¤QwÄ5íppäàà8 ލ9ŠömÌ +ë… X"sA`±ã`-½í¼ý~ÿÎN¿ß¿;ØÙÝÛÛÛÙ ¶ûýï÷ÃËW¯^½úùÕ«¶ð" Ø]š,Šb’ ‹øðŸL&ë9À4¯Ë¬ž?ž]Ê”EùìY]Ÿ=Ë×À´ÀÙÙÙY½¸“_€úڙ׋*ú—Çå´*#†£Q5¯ªºªOóØ +Ü YW—gZ\|ja¡°º€6ŠMU±k€ÀZŽÕòÍñ>oð9D—`[  ÚÃ;§ÚD¸ v €v5¸6hüŸõ¤ð.ààh ¶À‘mÀêl €ÇMd‹…Õàÿþ#…’êj?ož®½r¢hpι£”êGPXeƒ!^Ñ'ÀF;t˜ ^!Là¶Iˆˆ”Úe§3œsspÎýI|ü^d´àˆ!°Â)(öiǵib…8£:¼˜„‘1‰°ØÄZi[ áœ#@áUvp€ÝCÁµß ÊF ²­ï*Y;à·€Þ€þÛÏ`°³{ÿþýÁö`wp·ßÙÿñÕ¯~zùúÕëŸ_ÿòúJp €‹¢ø¸˜E‘W + â$`š/f¦®ÊÙ•@kù71U5­ªiUU¥)×pº8›MÌIñ÷*€úÆ3o°ö3«2étzÃÞ0ˆÙh2œœœÔ'Õñq1özÝn¯×ét»ÝádROz½îFoøÑZ+p{Z<¾½ÀÑuàŠ`èê®àÏýùX•>‡}4¬)€uˆ:ÜÛ¸ÆÿÙ¨'¿€Ü Cé½Í”¸•Pµ $@aƒbM¨…µÁ{ÿ)”ì +Þfþi|òŸ?=???oB#WÎ +u:¼ŠsGMz€åÓR  ÷ + 1ÀÎAØŠŠâL%œDOe¡èŠHˆ¸`,.„‡@:ÜQ Ò‡G ‰†çlRXá¶'‚ dÅD_õÖóD e'àØ{ÈDÄ©À‚˜v`çœsàØJˆÕ ±ÑPI HX œçÄ$œªð;œ7 ßïßYYÿÜ|úƒ»ƒÝ½û{ƒÁîö ßÙÿñå?½|õêõ«¿ýüó«+U€¢˜VÕÉÉòñ_E–Å(³I]•Ë Ž€òÙ³“ú¬Î'UU=ªªGUU•æQ]M&§§Ÿ¨ßå,p\–Çe5K:ÞVo˜eY6šŒFUUU''ÕlZ ·¶zÝn î '“bRLºÝîæà®) k­ª½€pbÕJTkàs>VO^.ÀÝ äfà¢h®×Àç7`ójpÔÀÙ -.€®+§1ðËû¿ ®~ Su®Yn)xèSHpNÅ:“fŽ‹ ‰‰…D±£,<ÈXq4=o‡ƒ‰Ó€S<†ƒsMÛ2 ˆ‚;r.nlX–Tˆ‰¤Ý  +ŽßÛÅVŒ—6ø`!2”.ÍÁÛïrñ³ÑN$¹#ÄOB´næ4/cý1Qªx§ó&ôßåܽ; ööƒíÁàîÖþ÷?½Œ…ÀW?ÿí—¿]ÀÖô_ãó;ÎFLÖ@&~M²¬\Te=+ËöÆÖeÚæÇÑñ37“êd]ÌL4í#ÞEÔ×66ÝpN«ªªŽW[LFÕ²X ·z½n··Ùév7{Ùäã¢(Џ´7ݪn€ê¸8Ä¥ÛG—pØàó+!ÀãnVÀ%¬åŸ}¥½¥°9€/½´ +À] ìåûÞЕn—1ëÃ?Åy à¨1pÁióY¡ÔJÑ!"Â!“ƒ˜-<¬Jƶh»îÉ@Úˆq9R +‡ððOއæx7¹éIãÇA‡.RˆëØ ÀÃ#ÂCAëûG”¶æ +Ñö‡Ò4MÚ*лàfôßÛƒÁ`wwwgw0è÷·üðÓë×/zýúÕëŸÿö·_þýßÿýßWñáô¤®—ˆ'K&ÿeMÄ/3ÉLµXÔuY–³YUͪª.³Þ¤¼õ‚T8ztRk@†Æi’Ž“4MÍẋDÌ c’•# +³{ø0"'Êpx[+ŒØš,©µ–@±6µÖÑ:QÈÐ8MÓ´—¦f<6¼ôEˆ¶ímf°{xHp.ú?^nRkÅBÄ¿£ ›Ðï¿ØÛÝÝÙÙî÷·özùêõë—¯_¿zýúoû÷KIÀa«&ë­çâ—™dù|ñ¬š?.g³Y5;Ž0E|B·  ªIQ—™)«êó_›8;;«ß³»|&£¶ÈY}þ¨®Oª¢ ‡køxòñ¤(~…°oQr= xKàóËøU€rïÜ»© +pIüáÖÀ² èÏÏÏ›U)ðispõ¨BÉzk16äøÓtUgõÖ[üyðâÏ­±6@ƒó …àÒà4°ƒ˜Rc/h,¬¶Ýì\ÐUø4@ScÀÌtñÈÛ4XïCo¿Q›Š8ÀÁ{ñMã•lâ›°ê¡*LLãTš¬¬Pu`×hP”÷>GÄ1­Œ Ôß‚ú`µñ61Ô@Õipæ¿„›¾nÀÖïvîÞììîîîíììí îö·|ûêÇ×/ãóÿõ/»ÔtIÄÛ’õnÀd’æõ¢®æË²,g³YUÕ³ìåÕY}!ªÏ§­!ÀI™™r6»@ÛTç“r¾@V¾ï€ÙqÜ;«'Ýî2މ¸PÃ^;ÐëeEññÇEÑK’^’ ?úè—¸š¼­ +àéóËI@<~· Øk +@ÞÜžt—úV9€[ÀÕ€z~þt­è|ÐÖŠ„À¯ê‚Þ{%oY­· +ïsïÉØ8Êã›&4ª–9+®±bƒê7Áž{o¼Uˆ÷$hBhð°iÔÚ‚ßXÄf<šÐ4Á7ÎûÖ%xŸÌ•$. !4¡ `¸„Õyx+Íù9¯ÖB¼·ä5„¦qM!XÕÆA}ão”5œ«žÇß“,üÆ>ïo‰áà BÐ#}—¯#wýw;;»»{{Ѽ¿õÉ·?¾üéÕëW¯_ÿüú—ÿåõºN«úYý¬.>.Š[lŽŠÑ(ŸÐ +ÕªÇY’G°ÌTÕ´šVUU'e–µ¨ÏÎf“t’•guU×¥Y€©êè)øœ¾ñ¬ jBÏN&›Ýáòþ1¶ +`€V '“I1šl ‡½a2\Ov»ñÏ—­À×sïÀÚ7)€ËeÀƒw,ÞPÀÛª7…½·æþpk`4OÏ› \/kiP„sX%ïƒ4qÓ™:UxZV,T|ð&óp€Bƒ÷V©Âà ¢hÒFcÇDY›£oàÂQ@ðªPm-[½DáÕzåh]f-Þ«$§ §Ú„,‹&¢ª 4Z¯A½¦¢-¬@ƒçšÔûàUD½÷Æj õP%À€«` øs !>r8‚·—›¦Þx® ÿîg°½·»·»··»·³=è÷÷¾ûáå?ýôúõϯ~þÛ/×P×)€IQd›£ÉhÒ~åd(*€¬\WeUU³,™äU=¯ë|RÕUUMUÇÕ窪,OÊ,+?^,Îêúìl6É’¬\ÔU½¨ò²Š˜Ÿ=6U]¯Vþœ]ÀãÇÝ£¢xôèÑJ\†±z8‡Ép4²l­ ð@ï\ˆûÞP°o¨Ü\¯è[«·7]T.åì›sË$ ½< ׎úª`ÔÇ §¸IÉ{¶˜­’uç^)õ>š.ï½À‰g2vpqÛ1)044 =:BP‚úàTÄZ/€‡Šª*¤ª¢Á,¶i/‰„ÃÀ + MHÈÃ9 ˆ{^|+Kæ#uhêœ +¬µÖ3T­·ðp>®b¯ 4!qê¼oŽŽŽô¾ŽŽT/à=îÌìÝßÝÝܽ»ÝðíËW?þôòçW?¿þùõëýúõë×ÿ×å@±ÞÐË.@ÔæLZÖ‹ºªfeYÏf嬪fY²Ôõy=_Mc0Ëò²|PQ–E|Y—euöbQ×óêôñ¤ªëÙeWá“€‹Û"€Åz *ËÙl G­xôèQQ|>­ë“i‘²õàãâãÉdØžÑG£Ñh´&º¿>pCð×UÂ;W,~M¼µàrO/uß§ÔeVm¼^=¬4ÂPi¼7©‡*àÔ{õDR+*Ä æ!Ç–AE`§îH}€ ê‚S6ê[xn÷xSÊhÛŠþügˉ=w`@ãÒWf$dqû€Û)¬¤u7àèÞêܧ¢ªNUaŨD­Ä.á8&ÁªÄÁP¶ ðÎy߸÷8ëè¿× vvwîï vÛwûýß¿üñ§_½zõò—×?¿zý·¿­c ¸¤–òy2™Lh2É'“In&YY?««Ù㔳ÙeTUUMg³Çm ÀbqV×§gUžemP?Ϋz±¨ëyU—e=Ÿß`+~ K¸¦ŠéRdÙ¥$àR ‡£Ñè£%:Wðø†À»‡ËNÀ›À•à]s¸=àÞ£èÞ›röÍ9§màÒýgº¶*R ª^ ^àãZQ  nÄz4ÁSæã¦ !x3§b9@DDœ@Ôs<”K¬^Övcª ±<Öðl£9UÖ&§hð*© q ShBPB" '­æ'u‰@œâ)i°uÊA¡AâÐXĉdQ¨Õ8Ãm!¡íh‚ˆ €:ïÿÞç\ ç=þèß½;ØÙÛ½¿;ØÄÅ ?ýøÓO¯^½zõòU4º†Óª~6YÿŽ>.Ь›L&ñù9š˜f2™-êe9+Ëëø¼œ-@U—&ËÛöÝÓEÀ鼪ëz–Wõb1¯ëª~ü¸^[ÿ{óy Výój>Ÿ_Àh©Š€üjP|<¼Àp€å<à¯í_Ý øŸX¸)Ø|SààÍ9€õ`uÿÏo(i¹hÒ£ÊP´úâœÆEÞÁAD}ÛK©uNªªA!NAÒ8±h¬Œýj’¼÷ ΉsPu +©:aUŽ›[á A!X_7”©‹ßÊ7MP° â–f(#¶ Xu€uêGà1‹‡8‘vÑ/‚½“ M#œJˆ–ú'÷^g €÷{þß½;ØÝݽ¿¿·»»··ÓßzðÃßÿôëŸ^þøóëW?/ðê*þKQ|<š´˜L>&£IfL–31ÐÞÿãdzù,^V³Ù¬ª>_ ™\@ZžUÕ¼®gù¬^œÍëyUWÕ­àâ¼ N[;µõà’(b° ³µ`2YÝÿáG£Ñ0ksÝ·àÝ«mð¶*ÞT¸}ÀÞÞð>@½7õ¼càRpC zèÀP§ÌЏQKÅ·~®uô…2Ô[oÆ6¾ÝþH›&¦Tž¢‰n¨*€zJ=¢=«jh–D¶Âð±3ȽØhÞë(Ž^ Ùª„6)–0ƘêeY–³jf²¼¬ë“˨>¯ª“ª.M:)Ë¢(в˜Y/I&Š¢(¦“lÒ® 8.âOhOYEñ¾ +  í¶à50šL&£Ñ›@v ‡}t¡V¸­ +ð³€ï¢ðkg¿f ùuU€fZC°›†[4Úª21¼¶.½Ãøø´V'@PO©åø³àÁL”ž }Aç*iXîl³C@N8¥•Øo]à âÃ…eÁ‘UáBPf’Ô + ptVQÕÄ·. dEÚô¾FB×:²DUXXm-¡`¶"’ +\pËiÈ÷9ø5÷ÿîÝÁîƒýûöww÷ýýo¿ûþ‡|õÓ¯^¾|ùãËóÿŽø¸˜“ÿ2‰]“‹¬›LbUp4™Œ33ÎLf²ì:*“e]Wuk¨ªªªþ0nõ†ñÒuzÃáÖp8ìu{mÉ-ˆ£lyFY6Ê.þv€Aÿ]B€¯–¦Wr« h@v « àp8úè"ðVð>³í8ð¯š8úÏžHÞ4 ðŽ}—B€›àZq!ÎÓJ|J*ÑTKÓ‘qLï;'ÌlR ~ÙXi,r´Dbì\\Þä qo +, Nb0»èç—† L2;‡ø"‚ØqcK&i‘›CDøða\Œ†±¬ÏñÄnH8ŠòƒRwHäÜ!Þó8¼ÿýï÷ƒÝ½û÷÷÷ÜßÝ»¿7Øÿýïÿég¿ÿ—ùì}ýí·Ÿý~u~×é §Ë§ý™Ä‰à"ë&£ÉhCè¸Æ$KÍeÌʲŒ +`^WÕePUÕÉìËÇ-â~®n·÷p\ÀÚõ¿À(ËFY6ɲ,Ë^~6èß}—ÀÅŽðõàBë +`Ä Àe`ôÎxY€¥!Èö,ÀÛnþu}7„7Þv®½+„•ça €`BÂ`fA\$ʆØ9 Ýfž.'ó°œÑK…Ebw03ñ0;jûÀ†R,.W+Q#Š–HÄ0bŒqŒ˜™8ñ‚Ö1`‘ijĖà¸í¯].8¨oQ7õd£52>úè£wMêûŽÿºY€dÀ¾C'௚o@ë£é.=°¢_†Fƒv‰Gj Ykƒ p0“·wš¢œ'2iÜ0$‚ÖaƒAflŒ€XhŒ™Á‰F@ËUІŒ!ÑøÚYbÇ&U@ÈrÜCD)µ»Œ ,DdX˜ ™¥0À†ÚÝŒíö6"!S»t̪B‰Áxïóþ ¿½3ØÝÛÛpwïþƒýûƒþVÿƒ~ÿ·ýþö`wí &—N[L²QÛ <ʲÌdY–e&¯Ï–U€Ùñq9›U•æªê*ªªªËª2©)Ëxµ&£¤»ÙËŠQ6M&ɨ(Š˜u(Š¢È/ÚŽãã?˲IÔ¯^ýøÙ ·¿õ>¨—&“W(b'àz0E%²R½{p‹Pk|»eÖ† èv;Îf÷Þfr/IÒt³Kd,‘ˆ÷bÙRê!žHA}çTƒ‡)Þ½ +ðwŒÿý³í¹¹˜Å8äCafâv 'ÅèÑþƒØbÁ¡ØW›³1cĽ~ª!(Ô#® +& ÚÀ¹¬ƒúÃC‚ã¼_»“Ú­À ¸¨Üˆµ6x Þ6^ã÷xL©0„yl54 + ˆk%µ^Chœ' !ëÁ‡ f2ß)NŠPûÏE,¬÷^‚Wë½7ÄLï}Þÿþß þo;{{Ÿìß¿¿·¿¿¿o°½šÜ[ÀÞdmöÿãe@/F“Ñd4eÙØdYšÇy}Z×Õl¶–œ$yYUU5ÏËe0mÛ€ÊʤF¤Õá“ds3NE1œÓÕàAQäí/ _ò Eýø²U[Û·vÖu]Ÿ^@݆£K + ¸6 0ºt&7àö$àå€:UµÖª?Pk‚·ö@X؆ ¶Àæfrï^’&››í*ÌïE¯Àò-¬©;ef#ÊÞzïÎ}oã?² kCÞ;§”žë7dŒ·bÅï­Z4"> ³™&é½$M“ÍÍÍØì´iRÀˆVÕZ=»=ž†§Í[û.,ÁV^`rã‰a(`)xoÌr‡±1fllðð^åsx=x16zvŒÓÔÄG¶!œ7B°bEο!ã½êQ‚Sø€DÇbëƒ,·übcŒIåßXë/câ¤pšÊ˜ˆÆâϛЄୠ"Ö›X@C5P£-Dä<o.v}™uÞ7l!Æ‹ ÖUüÿCÜ ööîï}²ÿéƒýûöîïï ¶ïnúý»ƒ½Ý½õ3‰®8ÅÇ->þ¸@ìcÒ,K³4] ½´y‘g½v¯™<ŠÏò<ÿ¼À,KäE{é³Þf2i³|z²ô ,Ërµ{dµˆ$þ¯ø¾ÀÝþÖöÞ›0¿ìrrÖC€ÑG}ôÑGk?úèÝû.BU«Ú Xo­}ê­µÂX@·»y¯@—È€ˆoTþB¼ v ²BðÁ°Ky+*ÖøàÕÚËH“€Î +t€&„§OÏŸ> áéùÓpþn³ËûìÍŸ`R hÂQ<¼ÑØ7ÍÒ_Xñç +ÞŠñVCÌ¡Ya2ãÔ6Þë¹Q Á˜ŽŽŽBàð*„\šÐ4VC ‹sAA}^ƒ-¼ ˆz5VCà˜½!2)!4Îk õ6„ Z1sî}ú´yÞ1 ·1 |èpäÔ5îh,Îrã¬UhðçpÖ°(DÁ± ÇNF£‹,4x+A¢Mð*™æè!Üч'¢0çª8r8Rh€ÓÀVb›^¬+TDbÂÀ¢íÒFÕk4øÐ%¯¤Ž‚‹Ã=°PËÖkðêÊÁÀI«bãÀ³A\)jápAŒý5!ÀÝ÷>ÛÛƒÝݽûûŸ<øôþþ'Ÿ~òÉþýÝíÁÝí½ÝOö/'“I1*–6 £%&£Éh4YË’¯ È'“,˲QÒλY2̆Y– ³,ËâÒ`¦Y–çÓé´(¦ÕÔ$É0Ÿ–åtz25ùñIu<;.Ëò8ní.Ëã²,ËGEÀgÿ²¦úÛÿûm¨ëÓÓ³z^_ýçí0а +nºÿ£nS7Ï´»Ã¯*ûflv9*€ƒ·„°ï€›€YWk!@²¬+±—B€æiˆwÿi´úzúæY€6¸õœB•£IŽƒs.Œ*Þņ9X4¶MC€=°!nçˆ%¶ "ꨆ²MPJÃÑÑ‘sŽ )TÕÃi\ß¡!6ðûϧ".°x‰Ý@€ Æú¸'µ ïš A„4¤Á³PÀšvE˜ëQˆ~%ÖÚ¨ŒˆÂ³ZX'h¼OÕú÷üã×åv÷ö÷÷÷ìßßßÿôÁ'û»ƒÁ`°=ììíÝ¿€¢˜L>ž|\Ä$àd4*ФÛË.Ês&3&3Y6Î뺞ŸTÓ*÷»Ï®)€ÁMf u}ZŸÕÕUÇÅéÕ2`QT!Àèæ³fÒ][ ânÊ ví.«Àí +`sðEpCÐø·)€psàFà/)€Ûrk9€ðôi!D<}ÂÓBxSÀ[î?¨Bᜇ p€( N‚Q«€op°l "Äf°+„¬ +1lÑ5¦yœ;ÂaPà%e)£â§GÄÐØ¤ +‚5ä-DÚmo6¨M­2XÀBþà½5hš´ Õ ’6`§¡µ^íç&æ4q¤çŒ@êÞ‹‹‹ ¼(Ùv8õFTÞ[Èû+€þ`wooÿþþÞÞýö÷÷÷öƒííþöÎ`{°»wíì&£Ñh²ÊÉ&E1ìö.Jôã˜ÌŒÉ뺮OªGE^ämæ~ØK²I›FlÄ:Lž?ªŽËãéÉñ$I²ò¤šOO*STõIUUUõ¨œVÕlv\>ž–§åç>4-Ëòóß}ú»K +`k{ow0l×7#àl~‹Å⫳+@1À­÷Õнe3Ð +ñ<€K!Àm9€îª +Ð} Þž¸1¸¬–¸A$oUíµÚ eÀ[rrûI­‚Ô†ª:§iÛ/ûpᑸÞÇ@” €¶–¬¨¨õ’‡£Þ âããžDøX§‘„UÙÃ9; F`â`!‚Æ‹X„(7ç‚Z#ö!)4 ®išT…<à­¤‡J꫇7”¡âœÄù ‘˜â8hP4^¬þÿxû»Þ¸®-K ×%H;ˆË8:ºõâÒ^„šDØ^š¼'`ð"R‡LÕ5/BV¹ 0ÐsÇÜË ~Ånv®¹Gʘ€YZŠ/KkÃa~œçk½^¯w÷$KÆï¯•‹}«yžç?ì-cWWûýü`/?î/Å χÃÕƒãÒHt¿Ÿ÷û{Gûû½ƒƒÞ~ï`ï`¿×ÛÚúæ›p·¶PoE¸Sy'äùðÙó?Ý€·¿+¿©åk–—ï_Ïþ¦Îâýååå_$ +Ýn  ±ˆæ•œŒys¿¸ ÿš)@™ø÷6ßÎ\YÄÔ +¢Ø¿:Õw÷ +þY†›ÈØÝ—¥‰†8ɲ¸u+ŠØ]AéæKOœ©:¹° §fÈ*”E•8HBp@l×ïfÎ* È¢¡ qj©\Ó•¼w6Äh£xOÉ…‚‡Ó€óœE4ûÓͼ¡r•Èœû>ÛÂ$þ@€zDCA@¼Ø¸¨0~'ùãxŸlHÜ€»µ_ýh¬Äm õöF{½¹²qzzvz::{õêõÅùÅùéô¹¶~ðàÁÚïoŽà Ÿ>úôYžÿéVð}ظ¼¸¼¼8µtx],¾å ôî)À˜ànÍÒ>Àx“ ¹ÑÔô>v +ðQ=.K€"æÿS)@ §êÞ±  …* ï?Æ!Ë¢ŸøÁ(\p–!d°RÊ{@b-}º æ]Ö`»È<2µDâ½µÌ9ª€O,q8Ö¬Ø Þ–ò# +… ‘‚IJ²‘Z, 8 OV‚ !¸ BL¬^ŒS³hÜöÓpN£/X–Y‰¼`\*©ƒ@XË g'·}€Ék e€ñF‘|t °²·Ûë­V³±qz~~~þúââòòââÇ×çÓçÁu÷®Ñ^žÿtéÁÚÚƒåß­­ýnÍ.Ykí²µvux|œçy¾ÖÛ;ìõÖöz½ÞƒÅdõ`¯·¶·¶¶ºQ!Rƒ'@Þïï÷òá¾5e0|š¯Äbâ ?èõúý~ÿðp¯×;ÚëõòýÑÛ§±¨Ü@€á³gOŸ?}ö<<}ö§éóþïÍòýûåêï­Çâòýû¿@<¶‹"ëۘà |¸P½w]ÐÏ7ÿGLÞÙ0ïéÄ)OMÆ£€ðCDd]ÞæÄÀê{_âò.@æeΔK³Q•[´Üë€I „\LË!ÂÂRU›‡‹ˆƒ@¡šX8€È@È2gWËxË „B‰\4$E”±*¡±I ÀV¢ Ù‘qJªd4. ÅLÆ'•2ñpÙ÷»‘Ž—£a(ºÖ—ÑM""*j╲Ã7¹ããŸÆÀ€ëZ@ ú¯>µF£Õj­·7×[ÍæJ£¶1zu~~ñúõùÅåÕÕÕÕëéó`š ¿üàÁƒµ¥êüâòòZä/ÛÖZûÀZ»:æùqÌö¢÷ª]ZÝÛë­¬õbaP@,–¬¬æy¿·—ïY“Øþ0Ïóá³áj^Jˆ÷û‡ûý¨/Øïõú‡½Þþèä»wd¸S¹F€ai=üôÙó|0|öËâ¿V[^Z\\\ºýXZ\¼?=xŸ(hü€L÷wì¼£øèÀ¿n +`>”üðCø¡€qø«‹ â½Ë\>pŒöwáÊ&`)´KNàa`f©G -€KA.KÔ-½zmlš+,$`!%@6¹U3¿Ôß¶‘÷ƒÈ+Ša)ª¶Œ<ßÃd»"«åY"2F™ ",F&ÎG6Éø3d´(œs¥&D?1(`ÇY¾\GøøS“é&à$%ø¸)@­Þ(s€V«±Rÿ¬}zöêüõååÅåÅ›«Ë‹Ëéó6,ÎÍ/=X{°Àz÷îý2"Ðu@M ð‹§ïߘd/ÇT "²V#@Bð@ðÁ?Õüð>«Q‹Û¿™!ÈØ\SH„ÄÆu{+DÂÂ$Äãýa7x%ZxÌ”:8kÒÔ$–ˆ„!¢²šÄ¶!Xâ†/ìu\•“¶h4ºjIˆ˜DD, ‘µ–„DÈZ&Êœ°UØ9±‰I±Ö’ÄÖ¬° p]Xû¯êüš)À¯àÐ4üÖªSUu“Û¿|è¸0öÏ}ï±´fᔉ‰EÀbd<äf‹¤`†µÖÅè´ÖÚ%""K6%K¨Sêº"s¢‚S§B©%(Y#uâ¨8 vU„£¶óv©Üà/½@㟖V%f”T»Gª‚sJ…SÒ(W$"€±± (ŸPØÒøc0„I D(åÒèG®¶”)øu§öQ5ÀJ³ÙŒ@wj­³ó‹‹‹Ë‹Ë«‹Ë«oÀ›¸ 4n./?XžŸK&ÁòòßÏp8Èóÿgžç½ýƒýýƒý^¯···¿·—ìíìíõzùÞÁ^~ fùqžçùa?æ6™p0Ìó|ø§ãÕã¿ê‡‡ùT0F£˜|ýÍÍ `º X©T* µÊ»3€ø¬2óAx' `é­)À€ˆºú K&-ùæ$Õ1tÍ:ðÿ¸)À{{t]üðÃ8üUªŠø? –Zô‹ô-Œ˜(b, “H +áÒèi´â²L‚Á[bf"&S¯Þ“÷U¯õ–”‚ +<{uêÄv™XD$1KÆk­%KÂ"©%ƪD·ß/,‘Àƒ‚„àŒ 4x r¤««¢"N|W†à `…ª*«:DÄØ4~âefa­sLsˆlq"pÞ‡ÔŽ¥‹ä/¢Pk¬4[­Vke¥^oÔ6ÏÎ__\^^^]^^þt­ ~uuuuµ¼¼¼ü»k1åð»åKósÓRלÛ|˜çƒ<ï÷ö÷öz½^o¯·w°ß;È󃃽ƒ|/ßÛ;ÚÛ;Ø;Ú+K€R´W€ð|8€|¿—÷{‡ý¨0ØF£Ñèt´µõÍìlÝÈjc@­LjµÊl¥rž?þ¼R©ÌÖ>ûÀwç½ÀÒû cæÝAÀ¼¿PžÜÌ~ø7ÙxgàgwÆÀxðg-«ÓØúsþFø+1‘Í™_r’$IŒ1)ÙÔ1³½øB½F²à|á}ñ뀟ýÚS[¸Ûh¬¬¯·Z+Fãn­Ö>¿¸¸x}yyuuyqyuùfú\gû×Àû`˜Gk°½ƒýý~o?zåy~°¿w°w´w´—ÿý°·4ÖîíåÃÜ®&X‡ùñ Ï{½)‘á³ÑÙh4:-Ç€ŸÉfffkµ™™™™©Hý¤R©,T*•Oj³€å÷¯½³(cþ&È ÀüûõªÉ{J€þu<€ÿQ»4€Øù·äœ:·þ¦ÃŸ™(M­IYk‰EUÔ‹µù˜¢äsW¸à¼CÁ^†"„¸º¼ ]/Š#·ÌÔ2a¤‚(C­UbJS"ânWÉX?RY†‘w*ê=Žà5tUÕøÿ^8õªâ¢pAHÄ‹ˆ‰ª7Ä ÇcGÀy"° ‰ªsÆšñdB8Â<³Oï5sb²¢ðEÀGÀÿükO\\o­·õF£Q[XuñúââêêêêÍå±09·e±ÖÊàÝ»úûû«½ƒ{GùÁÁÁAžìå{G?ìM¬½zy>Ì{½ÄæÃAžŸçkÃ?ó|ï÷zy­×;ìõ{£ÑT ð¤óž@Ìfff§‚&¾ÎÎÖ>©|²P©Ô>ª °¼¸¸¸0•Ì•cÀÉØŸw?©qêÕ«IÉ2CC@ÕJ¥R©ÎÍ• xuΑ÷ - {K~rhX©-,¼ºþÃsߟ™y9úüwàrè7€s…‡$€ìX€Mì\Oû¾Z 0 ã(ÀÀèrÒã…Ó}`@X÷9Í V D¢Y -€‘€à¼“þinŸÄðˆrm§¼ã· ðîVøÛ‡b‚¾x^™+½bO¬àÅìàYÈüOV~‚v-ýü¤gˆ=žŒ”Sß®¼‚J?:íSÀ -à<Â÷)Å›à¢ð@iØêPØL¦Ö¥­]¼ýUßÈ;£Å¶1ñ§[˜¶ ˜ÑÆ5I·€Ò.u¯§¯hÆZ°ÖÄøµm“ó ó³4}ýþzý·6I ÓÜ„°º3³`œ›Z‡ß;´ŠZà¯u÷haÜoÿ -”R5Š{–Y»A[ØIʲe”ÜÕ_õߊnß]ÐZÚbRí~«Üô@Pë4@Tmimzã$²k !ÅP}ýõ:ŸZͯQÚ²€ì¢–«fšd!Æ4Z'¼²=¾AMÀ»Ò -J‰É•˜0žQ«éç‘)£€­åæãKyÈÕöUpÏ– h-J÷;eØçéïÊQ¬ƒiMÃé¸hn¢Úç*5ßòf—˽~çW¨]ZÑCë -<ɾ…%[j­ë?´ò4jýáÿCøÿÀl´ÿd(„‡ ž¯¿¸?päó ·`ß>p( ë>6×ëV½×ìšÐ,wUû\œ·àzP7r¯QŠ €õ›«˜Ëv È1AN”&K¯…ň¯ÜÌ^Lëõ—ÀÌ@Q]éuèC>‰¶^À¨^V‘*jŠë’°¹^ß°Ëå¥åÕ*;_™;•ÙˆŠa:S”e”ªgÕy®Eׂ -D{=?a°T=~þôI´µ • (â…%ªa.Ô—Qd%*!ª¯¥$êDêë?¿$©_Y{iE@£Q¿ßpéòeñ?=çÿ‘¸»®ðÞ¤²GŠ«l2 üOŠÏO^NM=…áàÀ³áw ü«-Û#°þÁ%¾˜¢ÆôÿKl`í²uã$ðþ<Ðp @ìÿ˜Ï <$‰Ø’O03 øXà:dˆ|;€w² à½HÓ…Q+ÂPÈ0ܲO „ï•;/Kݰ²”<€?Œ-n¨>D¨òs?~x´€0…±á?ûúÓBÆý´a`øÿI5ùØÃòÌÄ3Ï â &€’-(@¶ç,Ì5nYw-S6P@ÿxÏNdá  †äV¯ (Ŷzø·4ÞÚ½ÚÇLfïè‚Ç(?èPD‘hI·Ë6îoN×Ü[•yÀsÏiÚé¦gÊ››méô[½Jœ´s ¾ÊŒÕÜ["5ž(ZwwEW´*¡5*éë·/_Í_~œØŽr$3aš‘À®X¶hí'ô¸›¦n{+ Ôà¿]㸒N{ºÔ`ä÷±mÈ­?6D6ôºTïõ%b,)c—³ÝJ N”¢5@Lúꥣ‡à¼m*•«€p³{’"‰2ž’ݬŒi“!ŒÀ¿½22QŠMváZÝÉBÌ DcV˜×œdº 3b%'G +\.‡›i`}¹¼Ùïÿʯ°¾×êÛz#i-™š©DÞÅâ´†·˜NÿìXw«øç‡.ɹø7c' -ð-ü'†\Áò©’ ~‰Œ H¦kà¨ÿ<ÉLêF}nÍdPó´ Ë÷ú—D¼õ¹5öfu -ðN ,f€úµLl¯=9W3úÏ¿5ëìþþØ8€úœð×§ó‰»Ó1¼7ÖÌ‘×$!¬x¿P_­‡ëë{§¢=âÞÜÜE©¯oøU€ݲ†¿Z²A€ ’ý_­-y!"ÿ@­:¹t}€¤“+’„PéB½!@¬ˆ¨V_ =3euu#éѨŸrŸÕ©—¦ìcqdp f¡ÛCá>ÝT—[ñèÆºa@áˆÁ§çx -b­>h!bhý¯Õ.ŠG($@¬,.Úk4d!µÿÎÝ}¬dÄ? ÏÎÌ{&†;ó…ý3„‡$€ðܼüêõ?ûøïÂGg_ýx -°oùC¤9Nò c°îó'nÜøÈ/÷d”Iè”ç2È4 áûC’³síCNö|ö!ß³IØ[áøo ÀÁž!/Ê&§°xò43<ÏäO–8þ™£È‘#iê?pÀ,eålxlŸ«‘ú¤"â´õn½t3µÂbÖríbQƒOXñm?}Ãzqi¿¹µ»û–}ðîB:åiŒtP ¹ -fD@pÔßú@ÆNiÁÚV·c+÷gŸ; øÏcè†ï óÓú ‹hÒ¯ô7›ðBB™Ò”!°¨ß:U ´î5ÁÓZ·°§¹®­Þö6€s_mw·9õ|Ôâƒ$H£eÔqoo¿…] ´6b®¢Öƒ¥$ægu€×Þ¯8¤=²‡€-”ê¨ôú»Ÿ¢3€¹ÛêƒLÌvS{¨Ö4vÒÚV„j4çZÐz[bÐÜÖË¡jä²|Àš̤ò¥‰å¯ëèì XL´Â…¼†ò@‡ú½Ý.9Ÿ{-@G)g‚Ø+ð?îîrÃô¡$'ù…’¶ô{ÿø)jx5jÅ6‹ämkÚ3‰Ê‹(ÏõHâY°Ý9$A¿“øÿ  `¼àG^qqß‹uÜEI௠ü-p“ÃA`¨ŒúÏ“ü¯½ŽM[ŸKáx+ òjëõ€\ñ{=ÁÿúÞâZü[ÿkµ‹ÖÀy˜Õ@d|bo’qýøyp65ȼð.N¯ÏÝJ 6°bW߀«é†Ý÷Dæ÷òrm ëÚ]t¸»~óœìU±ÿ¹hÁF´Ì© ÝûÔ_²#À¥‚Dèß·¶â¼Ÿ3œlD Àé¼±Vµ‹@ñrbE½Q• £`u›ü£éjcµþÛPãJ£ñ’”èÖÖσ„{“n·ÌRæP˜€¨xtè|zUfOZìCÀ W°ê »ö«k+k:‘] ;Ð`ÕÑ“48²¸¸,GgÊâBeÜ0âPˆ@²ü p&0DÄåð|tãú; ³Óå…ë7>þøÆµä(ÔÇiŽ“8áÀ°_ã†äå!@æûÅ\šì³€GÀáx¤*€ê_€ˆ,b¸©z4ü‹~`zLÃAO– -Û>0>ý¥•A b”¦)üÂþ‘øû™rÿÎd9Âr"ÚÞ‡€·SÌ ¯.%»E©Ô‹Lv'”ú}` ØÇ ÞlÃjÖ`¨€ˆL6·€~d·u{«WxÂ;ÛÛlYÓ œr&¬n0†ÍœˆR S‰NíÇuÞ^4áü:0#˜ô*½ÍJÛþ€ì ¸×iÍë3¼E_U†«°ˆÖoÖš5 žv»Z ‡-”GÁøÄZë#ècïîþ´†Ÿ¼µÕ-£–¬tATr ÕÐß}‹$;ïºY& ³$˜p¾ÝEWNÝ·%К¬Rî·Ú{nФíÖ ¨‘ßHZ“C\GÔfÓtãb’` ø+…0°bg€á˜~nT¼ -4z¡©Ï…pfp¡r) WïwUÚ’µöÞö;Vêïö»MS»-kJ˜—&4{-ÏìAÉNkÆ{Lpßx4‚@H÷„Üqð¯0É㾌ýÿˆØ÷˜¦ Í"C€¢@PΟE 2äà¤i÷“¨ž¯½T=–,šWQ7y`w?_¿²h=Á­©ËnÔ°¾±်zlðÝRcêµ – (@ -”H`¨Ïíe¤.€S°ÝW_¨_ZžËÌE˜ÜJ¸Îuý£ÆÏ?ß[\†}4þݯ“"õ7Öÿo?Ë®˜—”4Ø)ÃyL¬¯8fr~uiª1%Û4ÄéRÂjª‰ˆ¹Å䊈r óÓN¡=¬ãÖþ³Ÿÿlãç·Ü¸ÐX›Û{ˆD]"ióÁˆ{:à«ÊíÖpÀ0óñÿ©Ä@t„©ãßn€×.2¬¥T…ù qbòEF.p„ác¤_³?$ÓÓå}€£Àÿ,Éø?^T>ñAi?üè¾ñÎÂÌô¬_˽q}g'¾ ˆ l&ô0(ìÿGð„¹ ÁHþÁ*´¸~ýÝ_ UÞ0‰ùL² S‚ýÏ>P$×o|6 ?PR}xlÏ‘š¸ŽWåP?®É à àÔ©")(@Zb[Â#ð' -i‰ñ¹‡²“¥ï~÷»§¾ûÝÉïº4‰ðvFü„fÐs·Ýÿx×ljO¦ @@‚]ºì°»û+ow·­g|«]n¾&š†¼µ»½û ² UZ¢ºÊ@Q YJ -låÍïLG›¿J»Üª”§Ÿ{îìs`›‡P8LÏôÎG#ÀJ¯Ré@4’±BA8 L#EN€ГOQ©ÙŠkÀn­USoýîî?ª>‹¿òs8•fGËÐ.·š’™þ[[oí¶·³Öh Âs X&gÙ­¹ˆv¸"ãšÚüÑÍgâüä€Ô)WÞý uC§Õ³$—Ý„íVâr8÷IqËÚ Pí< ·«[Äì“G¾ÂyÀNo[³ Y®ÌDCÀr‹¬hÚ.£IÙ:ÿ|¹b'þ†@qÙ†¥©”a—}X…)Y ´‡Ó¡ƒÖÞ/6йÐ3à’œnõ -ìc?AÐÖÏ·vmÚ'ƒyNÈ^ëÊÞ©þ'ÜŒó£8,Bý8™µÀ~ 8øÏõ”‚œË ‰è½?ÒL„‡(Ÿ.$Pø>rb¸¾öR­` ß^#âîRë«olw"ïòKÕúÞTÔp–÷Ï×o^ù½¶s­zÆ× -£ÚÏèCl:—;ÏcWRº |/H˜Î‰ÚbÃÛÜ€,4¢€¹ðûb!‘ ôX¿òûe,ï½ãvD`ê—Ö×7Ó~ -§_­ï-_ru0@IMÐorýLéäÉìÈ!ˆjuC~š«eTüí`C-º4øÙ•ÆÏ6össµÆåSr“ÊÀ—¢ <Îâ¿Ïs‰®…@üO€§Y0Šòñ áÓÇž.ÂÿÝÇ·¬ð'`§©;Û @ô=¬dÌ•!³h˜ñðËØè@†‹¦öG~pÖf,¤/¼ -Ñ©àÑVÉ©Žñÿþ€‘*–¯'C¿`é_Ì¥Q&ÁTöÈý‡ë; ï|ðágV<´' ìÿaæ óf(À¯–Né ø— Ú"$Чâ˼Y||ã?âpdâHBùžœåÔ˜°˜M LéŽa'„ÅÛ -0Qâc÷±€1®)óÛŽŒ`Ä0R¯ö·¶"ò¬Ý¸X‹…ØÚÚÛl%ßÝîW¦[M÷äÍ7RÀ¨=Ìl›n¯ÕžåÕKðüs<©€„ÿ"]ƒÿζعÓÛÔÙ+†b™¿kO>¶gëƒä[þœ$p­£îݽžG 5Zˆµ°N½ÝÆJ—•·€vl߀ð[T p E¶ëå÷“Öš¿­®ýúÑ9ÈËLó•Ò¬ol†ÓÙ¥Ž(ØP!âºÈÞï|Úk•­ž§Ðä¶¿_2X£ D=rÒ0²7¼®£eo‡–Œìs.T©Ì”ýÀÌÙ³Ïõÿ«íö67Ê3s{Bëv:'HZë¨`µZ#fwÊq’ôFqz´†`ßW!Ka#leÞ¬ÓA1/u1"­+F²Zsw(ºUMñ’Ó?ýò³8*£†ÿà—<Ã.€`Ç– ÿôIDATÖH‚è(êD“­ÿ𤾀òYF%GÏð¯~ñ¥×Å;à¹~©qÓp{mr Ö/ïcèÿìgÿÛòOæêË+ÚÂBå:vðÆÍõÅš¯=oSµzæ‚UïÑÍ_!óºês·¢G`8€Ž«XÏY8Ý»ù •—¬¨Å·6öêöAÈ’[ÖÁÝŸ_ény®a³Á{uõu”ûýzâ+È—ÂL¿Uk)µŠö?úñ?æxýtédéÌy+âJC̤4gù†š=tæ2.èfh ïMçÜ[~iyïÔåøæÐeßàc‘î­+R«lçš<2?ŸÒp<ÕÀ§:X`è?Ö¿áÿ­Ý_[hÙÐŵåêâÜO“ƒ±€êšJ6ùÈôtya?`ÿ[€J}Gá `fG|X.k‚ô÷€›“Ñ%àG¹3'1óh’+žðýë˜ûŒÂ– ø£5™Í|ÄiAò\ÿ™À+ø=|دMý±BžsŸ²‰N" ø@Ô䀹W÷ø€Ò‰\@è§_åÿŸˆþ!Øÿù©K±$ùî@‚µV/ó^fó›wq¶Ãf0uºƒ¤”Ä¢’X;{Øbžå^wK°Á°ÜÝÝŽ(¿­^ÔKÿCß`9Ìõž_‰»ÝÝÐ$ïov²Á?o÷RÕçΞ=‹¥Š:ž_Ð✔½N¥õng6;€´·ÛVáre~¡,&ÆU(ízlðœ=“h©µ˜‘µÆh•ÀºòÊ ;úAg=V\tÿ±²"œô @PYiöÄaÒȽ¢¥K‘®ÅZt©#úƒÿ½Šf5ü©Óo¢õn?94$YëP6i]ÆBŸi -g‘שóƒ¨ÌÀ­òpöc¬·+·€Œé ðÅðÄ=™K¨B‚ ÉŸ^ $ - Ðç³’‰(aýç o í®óÛ±®Un-X 3/D¥½yu¡ïÑH]Ÿ~„œƒÿ¿bµxcó»~o·Õ²Aï=¸ViõzÛV­c—b­a´ J¤ (O?ç¯Áå*n¤ìGiÀŽ× û:ì¥ào[º„Ö,¡µ­î¤ìCˆÃ#¡¤6Z_m_µwÝ&ÚFu†ÚÊ!Ögl'}Ýà¶NÄä†Ûhm§º†Dýy¯Ë™9£d©¥Õ §µ“zs(tÂ’We´ezZþúXÑo'PCϲ¶Oh lº²Ìuh ÙÖ!{’Þ~0©ÍÕuâìóóåç¦gÊä%$AÚÕªLW6Û~;Y - Ö\¡^vÛ*š!­Aû¬u;´f5§AÝfhMóÛmÚe -í‚è‡àÏn­õËå©p÷øFù!#ÉêŸßÇÚO¿z±…˜·¡XœMÀ8“|ˆäÚèqòÅooýËÚ\mïVã·n6ÿyïæïoþÜÏä‚Ù·þðû/ûû›7oÝÜ«/_^^¾üI|x·ÞØØør½¾±q+AfÝ÷ëúü…½¹×jõ¥ð\º…圠Þ6|ß/yóæ­ÿüûßù_66ön6°æ9ý— (GãÖ—{·níÝúdyq­q«ñ_ †¹Á6zôOÿå­ßï%E6êçsË·~úÓP$þ}}ýVýK,ó××êÚç Ò¾ùåÚÚ¥K¯×{ú¥//Y ¡¢Õ –jëS«Ð€ZcïŠ\¹µ¾‡œ¼Á¾W~«¡" @ãÖÞ½¹ÑØ@µ/Q„¤¹nô¸yó÷ðyéò܇¹á!Hx!2îp8{2:?y SéI‹æ¡íúì8ºfZû ö¤_^Y»ˆY³Âoa&j)¦²ZâpX^.g£DÂ]õû…õïLÂüqòPÐÀ]ó#Bñk7†|Àr²÷“÷?¸À¾‘Ü÷’`?í¿  ŸX@†ÿ}?@ÂýbMNúáUV|8ûc$ò|Ä0þz`÷é ûzB.pˆ|{räˆõÿAŠ'è°ä*€(dÐðd,Ý)Ú'Ô/v‰ÝÒnaZ†G58ˆÓî~ºû«_õ»ŸÂ€Áé°;ƒ<nå$o¼ÎÀ°óY¶ðÜsØÿÀ?`>Î:ï©ÄýöfÅæè­n³¹©µªB eP SÚdËtÑÚ6µŽrd_mµ«šÖk:Ïù»6ÔƒŠË[Àÿmµ–„bXڦœi7[hÍåšV.ºÞØþ#@É"Ž dö¬2霕N³µé‡þüD@há/¬ ôJÅ~SçBë¤všÆÎ‘e–‹‘2«#…ðäc0ƒô»-x WQ©„ÖåfÊvæŽjMfA·c2$x5Л™H_­õ‹ôº mòôÝ^o³o¤Væƒß˜×eÒ0iú r‚ÕâþÐ8?†ãEr3ÑŸÑÙ鑆€ŠÙÏ•û„8“zTÑ‚+?ttî|synyey™ÿâ"ÓÅEW¯±jœ[^¾øÒååË+®–Õ³‹3/Íñ3²_ü|kéXP{vI›óÈ/Àþûã5“Z>wÎÃcÎÍ£ÂIRTýÊò9L -õ`¯ŸäB.¾ôÉòeVFâ‹: JÊ -ÿº$«+/¥ÔcS.t -ùNÉoÍ–J‹çÏ-W‹kÉû†,¾4wyy±æu“#ƒÎ9?µ—>ùÉ@‘ÊK>#¹ ðø–ðß'©ô½ï•ö‡ ß;_?ÑNèç%¥x·\OX!*±•b˜ÅÀ©À¶¹?«ya±Gã-n5u \õS6†šµüz}”áe½ÎÌDr‘4–$›8 ?OpVü,ðu4IÞÀ¾uæ‚zð…8“¸° ½ÐºµÕ𷢑SgÍH=£¬>tV¡Zh-uÑZÔºhh¼_'ˆ£A~™ ­…l©[ØÏzf»ëR¥*…AÊ™¯²h|´€£§‚”‚K¤tô©h=à9e&á M[9Y)-àд2­ùYF¡hÁ&I—ø:×Q·ÕŠÔLوǵËséCŠ\¾µ¶¢o¡qko A|LxÒx0âæàaºê+Å“Ä#<ððÐý¥†¤/ûú% üyû£ûŸà@¿ -f¤á$Êq†cNÂ>"tHÆ{xý£@¸ÿâ?6ÿqìÿbüüñŒÁ$yþ.<3Ó³³åòììË ×>¸ñQ`ô{Á¾=À¶x?{w¡‡-ÿMZõ‹w‘Ô4ˆi, yŠíäÿiÈx?*;ü‚|lÀƒ=Ü $¬ý¢À~ €Œ ™û¾fzææ^×`jà·NúîwŸˆ>„×ðÝÉSQ ð½ï}oqñ{CÃDMBFÀÒVKtse¥¥Éó뛊9ŽýÚÝb K¼ÑÖÅ6(6+Î’0„”çgf™ [Q,š1’$­¾hí®  - X‰­ð;;=sÖ°Ê|7–Ëm? •ŠY¡Íƒœ4ËX©•Ê‚Ž -Làf@©Ú¢³>‰¸˜J -@nªu3´f ë_2{e¨…(Š%„â'ÐS­YÝ -­ãÚ>UŸÒ«Ù¶­c¥Û‹Km²º½ÕmçÎÀ¨N ‹²0Êõ»«5‡ÖfBh=¯R^ Ë˜_e!ðõj¥Ù­Ì7;q/®šŒ~äÇîÌùyñò9ØI ‹+ó%q‹"ÄÏ;VvêusVµFÏf„îW~Ý¢µî‹Ö~v€=´æ2#³9ЫGi® =ûÒ–@yÒMÚ§Åøçq~$^FÈ|â=œ’+‹ @òA²Ø/í8ytº\o|Òø§z}o¯ÑøíÚÚ•/õ†7önÞâœÛ¸µü‡/­ ¯¯7ö68HøºCª¤ßØ»´T5¨nêxɈzS‡{T汦¾lßÚkllì-_ü/¤p…A”ÍõëRÝBãëLo¥¾nùÆz©È•+{·–ÿ÷[¬ -Eö66 ¤çÞ¬aÝÍ ŽÙ»¹·¼X¿äN¬OÕúç«Ñ;@Õ6ÿÕÕÕ¥ZéLíRc®qsã{EÇz ¼Ú„"—Q.²áò"Xol˜<Š˜œdíÿ»§"êqóQ„'ml/i¼¤þ€¨ÔOü€ Vç¦&ýÆb‘x¤ñÜ'àûáó_ÀŽ€küßß``xffg§ù øö{€ÿ×ÞË€GÀ~%§z?‘D {~®þë×vÀÿ\ÿ¯¸GáØP}çG<òïH|0yT 6~6¨¸Ÿ`ûÆèkÛH¿4w†à´à° ˆˆ8'èÐðL0éFÖà{üe$ÁJôˆþˆä„€(ÖFž%10ßÕHj‰x@‰Pº•wá=N;5ð£%ÃHùؽÝã$ñ;P8ñÏ>'`ÛÎÿÈ^æ-ùËíN ó󘈀6ô|JÝP8Î…–bNßOöE‘AóBit€vy˜¤IxBkôI´…¿bí;gPe±z&h‹À ˆŽyãRÛ6®ovdìÛ–TtÛ½ \­!¿Ê³ó¦]4ÌzSÜê7„ÖÎË‹ -æ{`¶ ߟ& -,Óo蓪§‰µžÁö €>„¤RÒºõ)WÞì¨4¯^å~wí)öíw;b>i™ùƒdrÓ&†d+Ìãînò[˜¨™ú+1IóX3?ä`rÀ€ s¹œ÷ý³eíõ±ƒ#/„¹;b`àzÀ³BÎÝbÝ%ñ~u}ýgVð‹”«Ñ‚ß0¾Õ¥ÒÉR©Z:~¾fãz¿ÕW¯ê@(ƒµ©£mAc„OI'IQzµ°° Ù;w9ïôó¤È%¨Àåå/ û»t‰snÛô¶Õƒ6C–9F mf€QVùÂÇ{_;SBÝj­þRÝN„B8ïjýu]h’säu3äÒÞâ-¬üÕ‹«u)‡F&\Îý‘Y*òpñYñÑH·vÀËå«˜ÚØ0ç óÓÉÑj’'$Ü0cqÃ1L Ü^~™VW°%õÚT§&Oä¿8 ^”&KoÒ†ô”,ýòáav&Å„ûœ À?ì€ì”¿Ï *›yyaçúG}(F¿‡ý8€œêýÄ$˜ð|p ô¿ñ‹ëo§u¿d@ò$ -P@¢iMöÄ7 ð÷÷~€4Ào}ô±UòTÁ~…7.npÈ` €k”­^” èÈ­¿u1€ÐÎþ¢#€“ƒ¦€€L$X)"€èCá/Î¥Íᪧto‡ #”Rü‡`ë ðN`ßïzòp buÊ^'ä¶ïþò·²@»7{D<M’²T)<ÉâRáê\›=1‡Ê#µ&Ð7„âG Æ$P¾¿€k×à1…ÀOéxmé­HjŒ€ã‡<î¼(Ós%y -à:=Ž}…Ê4ð-H—4ìh…@õ8+§I€h½WÉ;dˆ}£ ¥wÍ›æÞ†Uˆûê2»+ììUQñ öÞÁØzEú 8\y‡oMö1dx}àØNp»±–ÝâwÏŒm4lÂÏ ¤Š€«Ñ-o̧åÚy ÀùÓ“ ô¸‡„ÕÍòy;öó—âò¹‹æÇXàõIÿ¢9`îÖ¾"®âŒëË 6 -­·/ÿåK)N?è»ï­-7üz° ËGªçíšÀxäˆH† -œœ< Á>éŠ8ój4E”‰$wD¡Ú*â}š66.zÖÁŠG‚F<<>ˆ«xj³¤—¦ð<Å€§ã°{û@üÐàžT—1&WÖ.^^ƒÄ BŸ=UÔ/_¼øæ8y¹<„ûƒ!5,<P€ ÿJ˜þþ þä¸1ðÌÎZ>—wvô€ÑÚÿBõ·çm À*€·¯ßxïÝwP& {D À>Øç¿“Ñ¿Âù`œx@p€4s­µ“‡ Àg€ûwøÏaûzx¥öcôcNî`Ð - µô8yòt.£¾m‘x&€Àý‡yRÀˆ`&"þ -Ж¨½Z{ȆL@ÞªÒí1“ù“õ‡=jj É KÓ¡€T }·3máÖ<n${Ñ!p?Šn™€y|È ú ø‹Izú]„ÿÂW=YÕ =Y:]«NÕ.,ØPõµÀ˯-ûKŽ€zýæ¹µ À–¤Âû¯ÛÑú÷ñ@Õ/1ö]f“Xö5Ýîî§Öü^¿’ôäç.áØ[«a¤ƒíåé1*_«E‡ÅYlbn§E€u›)zRýáy=êúùÉ3<ñ]4Cäëëo$}·ê—or^æÔñ…ǨpøPò`ñøñÀ°nÈàÜ"N`óSkÚŸü`)lˆ¦$ Bª`2‘¤vñ“O.¿¹V³^¿Xo¼ùfãן|òëOÞüõç¿þÝç¿ûõ8¹Ÿàå…—úø³<€ë;åðþó†B+v>¸ñчvˆ™èÿˆøÿp€ýŒê¸vý½œWIR €6Bù¼Ó¬ñè—¬Ž‘e˜û1M»¦ `+À!À|%<Ú½àx®àIì=uî0ê@ÝÀ¬C1¤¡¾IH}ßÀyà1… U$@Af™>À1æsQÀæä¨<Ô00êhUÉ`êfÕ=­~Öz•ѱ +|."!™€€!`ƨ=—’ ?þaÿ?U1:îððc!9?áìÖ~‹ˆ€·Ñ˜Û»â¼ž÷d¹Ç?NøŠ.é8½$¨%ü·Ç=»äE^KUI0µ÷ÎÕI-8"ð‚ÿßž‚”cõÿ{9¸… -Ä™m’¿wùÜ­†çf•š¨œ€ïéÐFã -ÿúÊÞºý!Õ¥ÚR|ã¥RQ4é0yÒïÔK¸àÑhã\x²&ùõúÆ—sÿ¯ú…:§Quá47×–¿ôÄIÕG”x8|´ûôÀSéK“O™<™Š¾ýaà¿¶¿¸‘œ"I©ºö&Hÿëß}Øþùïnßþâöí»·¿¸sûîÝÛãEÛü°€×ãc‚dÛ?ù’a03;KIÝDG¢uö|Kà  $7ü›}ÀÛ̽Ý÷³·³i\ÔþËÒ\Bþ þýyi°R°°³órë¡Ñ_ûÿ@+€‘fâ Ë=ª¥1ýì·À©ÒÉÓO€<“{° º|17(sf  ÁOö BìÇfL„1Ì—•Ÿ€ÎX€ ›=‰„`„D‚…<‡šØÕàoxÎê8;ì˜OÛÌf@ ‰¦*€y@¯Ñ/ ­ïð@Àp È7ðD{»ÂÐÇXötáЖ6À³à>1ìLn€Èì¨@yZöH[àYzÞ‰òtÉ0TÀ_&“¸ñôý÷(²Í?:$¸C.²êX¹x¥–«Æà¹0¬Óºd1#Ïâ&;¬ÖΟ„T«SÌE°ò‹ÿK©ßz­dŸäÖ¹µäT7ÁÕÚZª·î=ÖŠõ¬Ú;çN*â9â”û¹=ÌòÀâ´a}ýgWœ‡ -¬ªÓºõ½úŠýD€>H@èÄÛoèøâD©Z?ÅQ\ްn>¬† ‚»RÀ÷Zã–U$Ê2ª± -Eöj+_ÆÙd&,>ñäÝ·_æä˜™ö9ZýÄÅfXÿ ¢…¦dÍ8ÀEÛr.–/6~÷ù_üŽá fnß½wçîÝ»÷îݾs÷«¯îÞ'çþQ¼úòÆÅÈÝðáG'@$jh¡àÃÿá€G‘œêý$ï²OÞ!å v< ×Þ¾~ý½w±ß±³i«‚ -¤EûH>€4¾fjNùå5™d€­Ò³Ñ?,ÿ=šÿƒ«F=¥WæªgRX2ð¤VE @ÔÍ?ÉÖ€ö xĶ$œqþ!¾…!á 3XÈ+«(̎ؤEì«*ã£%€cdfôdU€°2Îð#£ÿ¢€ MËt£ -€´£ -@À ÐÀ‰îˆ‹½¿à` €=óf@Šˆc´ñe)À}bÌç‚pžäذ½^Œx9@S_Zw¢ --Æôs @ºy(Sxâ+î21ýºìƒq~èþ;” C$;ÞÜܽåµè{g_‚ÔEcw²k½@^ð•¹õÕKë7ë«Kv®_:S›ZÍ]îcvÛ'ÿùø>Ïùb{:`—t -úRðÝ:°ÿzcon@Cέ"Ë ñ_mƒÀbs ñ†‹,¯ï]¬ýžÔL’˜*üÏW_K‘ É™ôã…«.ŒW2¤H]§j„óa£þRxö…3]Y[±A@Vä‘…G$ž-I©z<¡Î¦× ‰wfßÁù)HÂç'.ÁÑQƒ–cÄÿEí±1°³Ssko~qû Ÿ3|qûÎ{ü`÷¾ú -0Nç1?Lõ±ÍÿÇóH^Ö£ð2éÎdæÿ“öäG€ø? oG8` |þÉöOãX؟ߘú1*ÁŸÈ^ @€ûuñÿP+€á—}½€þÜ ¿E¦CèF Àˆy¢ `bâ}œÍ³ž˜ÚF[Ô<P!EÈÍîºÇˆI´0Ýýöa}Ñ Pü?àøQjPI=ßf@†ÒÍïãxâ1÷÷¨g"iº$zŸ€”ÛE+€d`3»ß °Gñ ;!ˆÄBknħÞ/«A €wš}€ØâsêÀýÐQ&`o`9ÉÏÛŸ"b”ñ=@mƒ™Á®Ööoìkü6c=ç'ï{Úª¬®.UK'O”JµÉðFü7øO¿»¸®Ä±I¾{o:Á«nŽ€òx$9`~Þ:(Ó½j3@ãw¾µ«/+ ŽJ€í@Ñ -`ÖÜ+Àc -@ -Ä  -¶?ëy0Ú -@­å?V Åa@ö[Ä5íǨá¾`L+€¸üÿ;¶þCRöÑ૯߸²÷6–ë~´oXÀÝÅÆMWòoâ €ˆ‹¬ T:Xõ{;çÏÛ0¹Þ±gþ‚Ž­ü•ÚZcn [=DÔ”Œ½¯ÝÚÈ}­¾ÑøaýfÚ4 ÀƘë^A)<8bìW6"jQ/Á%]{4!ø_«SN©R(¡+åO©zùÔêºøoÄ 1DÌü¾0ú×ê{Öpšt½±²¾þŸëkò$Ϲñ(R¼g#½ð€Çƒ¯Ä;3p<ÕFOcÐÜ›ÓÛ/rˆ@ `˜PZùäs¡ÿöÝ;wïÞ¹mÕ?øæÿW÷îÀË!ï¿?Mõ…W‡<Èæ?"ø'øPO€7þ.<†,À+fg+;oG À ñÿ±$§z?Ö<˜¸§Ûn±_;??Æ ûóbÀ;â(fKÚ%{>ÿodø? þjÀ],b¬ÔáÝðs €Q€ãú8Ð - ÕÌŸ<ùçõûÿ@IM¦NYùpâääþbBR @ŠO‡b¢ ¿¿ ð¥ð À|˜ò ¥C€PãïöcK‡PF(Õà4Ðç¾­žn ÀØ~˜Î¬5-Ö¯îaÃçúøzã·sz¾O‚ñ½×XÞk4~nD*bĈ΃„õŸÀúú­‹këoøóû«8«Þ£ÎT¼Rÿwµ=Ò·A‚û¹ OäÖFÖ¯V»ÔØ›»åB€Õ {u¹b#„´þQ%ž-Ã\£Hð9÷ýËmF=OÕð”<ñuðAäÇ^û5ÿçA†ÉÉc§Vá÷¿Ëøøûîm €àÞ½ñ.²ëþó€!À `œd0< …དྷ|Ù¦ðŠWß¹ñáÞ¯ÇþÐò±õ¼cÌ_ÞýºÞ7øE¬}›eOÍŸÃÄúø1vHØŸMü‘¤ðXp¨' p ð_ñìÇò,–^™;=¶€C1¥ïúå‡\N=yÆÞ€ÿŒ†ð¿h€³`Ï< ÃcÄ€J¥ã=‘rœ8‰žŸ?Ô - ÷0p•=M>5Tcñç‘úëPë!@ öàñb†ûÈà1bŠVÙ0àúC€‡ÇŒ´ð4áxH @\Òp @À»Lྭü¤ýw-âØacïÿýͽ›W¢?ÆÝ[® Ø;¿ws»z¯±w§q®¾··÷¯ÿzÓ®õ0µÿËjÝžøæn€æ ëiÛÙMýHºzÁï…ˆyÉþìY±.þ.û][칪q¥¡Ïacï¿þë­èÖσöþÐXn|yÅNÿ[7íuáKVnìíýþæMô‚lüoõÆÆÍ=›þìÊÆooq4 ¹Ñ€É° n;ÿà Öë×j,«ÎGEe©T]™Zù’KÌ\ĆW˜ÝØûß¾$MûD—[_ÖÏݺå7×7ìù—Sp’[Ÿ¬1wóK? œv|T‰gˇñÑaÈ%Ox -üo0?Eaüä€Âr$ –ã\àÂdiíÍÏïÞ¾ìþá¿ü¿ú&HÀ8yùEÛ¿<ÉP½°óêô c=Ã’að€„à£SÀlåeiÅì˯¾ûÞÇ®ÖÍKâ¹8¦ø;À}A‚0†¤b-{ä#ˆƒÔA -0Ηñ(òj9<¿Ü×`êÀáP+€¡€¸›¾XÉpš!>¬@b'Oœ˜|B>?189a §ÁÿäÔö…`(€7ÕŸ€ñ­Æö0 (퀰u x&°@Tœ¾`G[ý ·`m€‡z@¯?'à–’rðßä/CnÆ=‘/ÿ5 ãmíòÚÊåËsˆ·êõ‹/F„àZýòÜ'î冈¸¬Mÿz­n×¾õ¿^㵟<>y¢4u¬d;Vü³·%Äë” ,EûkN—k+ËsÌ­è}°«F—á·¾¼U½Ñ¸ JÛßÚåúKklEØ5aí2Jä. -Qär£¶ö†Ûoݺé:Ïúÿp‘¥Õ‹?BMrg€Èœ&ITAÎÍ_£Øª½¾¢")2>ý×Z×—ë—Š"žŽÕ…"^ÌOm—xÉn”! !¾b¼…¼ 0â¿”8;xÓ‘äø‹ô¤=Þ°D÷uqQ€7?»_ÓÿÎíû÷ÕW_ßãà°hñ;ü OÃðòÌly'<À?øÿìØ‘ ƒ$<‚ö; ³óå—Ê/Û`gçÆßY`ðß{–ÿ\Iø/æï y -ç?'Û'o³Ç¼K×¢k€` ûóbtò÷N ÎØë,¥/¤õ±i¡üêµ?ú]ýðÿztß™‹nèV€Åûµ‰8€'æ8züW üÂ=Y†ëHF12âà×u¬  ÔÃF<B)öúàY†`8ð)b{ýŒñÄP>à 5Aþ1ZPiŠ„¾!”@ á_nýîÖÍœÿ&O?,6ßY^^üáâ¹ÿñܹsË?ü!£ååŸ,³Pˆ_ÅûÉK±ŠM,ÎÍ[œû¡½³ƒ¨/*šœxaâø±ï ^ï§L÷ z~‰ïÿ1:wnqù‡/{‰CcÃ9§?d=)«rîÜKçþ¯/Íq¦—’"®*ÄÝþýr(Âz?玜myå'+~²=HlùÜK/y G§³èqê%ty #tªdés|râØ±ÿan*oAþü`€þŒ°àˆÀ€WÆö(Ûà3’ -ªoYŽNõ‹S“ß8€ýáÑ[øª€?ù[£‰® xƒ>‘ªzÆ÷0€Z£€?;ò"îS.þ›à/PÖ‰˜*š3Y>—?àWp³K¼ž;»öÎýS̾n,4Ø}¼Ü3Ø~éLéÄÉÓÕÕ©¨X²ù]úHP"Çáë?—¬¹¶üëðÕ‡¤¯øêò$åë”5»ö‹<—H"Ö4—pk>ÆÏEÁ.47oýd¨åžr©a@àkçkKµ¥óKKgΔNV!h€Iž>Z„I¥×Š\ü¡=]4CÖjé[—ŒI)\‚¬íœäQ%B*P˜Ó  üÿo¥ï“—# -°4h°\]ŒN€˜n¸O Àh?B À#y’JÀ¿„ñï(ÿæøËí[¿<ô/pwíÖÊ }s1P>^¶¶u¶†Ä¦Fýʕƺ-è`çK'y™Jçë8_­EûûÕ p4´”Ƭm:Ö¬ -ÐÊš˜›f÷¨­í-/7.²¼†õŸ·yÞB‘5x]ìÇ$¯Õ°È766Ø©'°ÞðkÀ!,$/Ä¥ÀÿZméüùógª§Ož<35u‘Çp¿;ç7éCB‘úÞÜO®x\ - b¬ßZ^K &×.>Ö°vñb¼¨6"áÕ75 oö›€§FN ‹ü#öÏ:c@ö³ùÔÚ›ŸÛí¿=ÛகÿW_ýñÌNÿQ±öã<°Ÿ1K†d€!Zÿ:2(ðø€yHøðc@Ž(;õ{À¬¯à$}ïß þwÞ)ºTƒ" F±Îµ€òã‡$1÷þã€äðcÿ¼þcZpý”k†ú€ ‰¨è[!a‘Ê¥“O 5Àщ£~0<ôgÈ­ümÀD”‰YxƵÐg&yxH?C­‚5Žùÿœ~þ„€°úÃäóœÿ&¢PÄX¿·6§á üeøgÛB—ç4wÓ&Ê7~»¾þ†f¾Ýœæõ=Yº0YŠ~ÃpAÀ%» 27nÄ?_¿â—ûÖö¤‘Nš.Û;Ó€Wæö–ÏÝJÛó˜Iè \Ú[;wYó<6Õ7ê~#0µÆß€¤¾ ¿üS×$„\D€û_XZ…¢œ9ºtâôdª¯ò$*²–4«bœ«E²Käk? –ÛS,®ZœðöŽïàÙ¿DÀä$˜Pª–0£ #æR°0yäTí“Ïoß¹‹ñoë?+¾º øêkä(Àðg#ò/E2)ÿ ~5{xè‡Br;€ ü… ÃæÉ€n\5{"¸p罈¤Î€e¦XÁŸZì|=ºúo| )ñ 9DûÃÿà·Ózṵ³&Å C&ì×àÿo> ¿ƒ²ïð&bd#€¢€ƒ=¦VbDc ‚ßœ<:"Ï8:2qÔö|‡ädÕö7Þˆ×ò †uçø‚™¢üÜúÇŸ7~ÍÐxsÿ½@"ëlëàa#€¢AÝX€­<ÉUßz?l|Ì€}ðwúo€¿8©¿ŽY Žÿ4NÒøÉ¹/ÅÚ5­oa÷õ‹áiOòOõ¹Ÿvâ #FöÞ†Ý -®«K§Oò/-þW#ŽãËÁ {ðÿ`ýR}Åä~¬õžë&žÎAkš3¬,7DÉØÈ߇ûÒ° -Àþ‹PÄÎÿ®ÜL¦?ï;s¾õ…àB|¸€m*°zÁØ„êùóÕ3g04&ç˜-üœéb5+r±8]ãÜZx’ùri½þ‡å ÀÅÆŸ ¾ö¼yÎ"þÿ%‡`ã—€†ì8Æ€Œâ?ª kŸ|qû‹»·aúýõ|môŸøŸ(À@ý€ÿè®_øÐx Cõ ÿÅþÀÿXrŽ‘D>úøC¿Ò÷cAý¿%@[¼Íþ‘·ßAƒûx2 -ý韅Ù÷¯-¼º0NkóÌ«­Ù€Ï†‡!ôw8Ð -`8 yÿ1¯Œé Püò$0ð¼¨/è€ÝgÏØ³ï¾/-^¼øæ@Þxó kP_´Ÿ7~ž¤Ñø$ã}x˜…øû´Ä$²Îûú1¶x@?£ßø“úHUòñ'õPn—)<¾Í€„ûy”\¿Í¹üoò—! J÷ÿ X“|²r®±yFÙ» °l áçy ÈN÷!áwÇÂ6 zZ~òôd©v:Š»àwuÈþ?‹>ÿœ_¯_\¾Ìaµè€wÍ`À@׋¬Ô×°_«ÿtùÜ^Z[špŠì­¥ª÷K—ìØÔëáýÛøÙúúÏô¬7çPÎüÕ8©èšèré\eIü/<:¥¯E@Aˆgˆè¹Ñå._޵lÜÏ‚|ò“‹_:õŒ-0€T¤Ä‹BY Š%ÀSö{J‚á:Ø3ƒ½6æW€ ý㥵O>¿sûîí;_ø @ëþ¼§ñÿÍW÷¾'ú?(Ï& ü =âÿ¶¿Œ*À?A¾~ÿ<ㄤ%ëvHò  ÷ø-zÀùwÞ¹–=V0Ç8ÚÆV Œ LØŸƒÿµ°ï&²„äøè³Ï ‡>8„þZ ÅŒëÀ¾€Ö -`$à»ö'6ÀüfŽNNLN<3‰ý_x àÈ©êÅÿéâ›?pÈðëÆÏ¾ñsHÀà!ð°VLDI€6½®òºÙPÐ|„D‚=)à ôÀöLjäôÿÍð,«£ ÁáúÅ‹·Ö~Ø0üO¼Oæn!ÑOþïÎE7ï• ¨óšÅçÖ/…`âÄÉÒ±Ò*ðZ=þ|ÛVÈÿl}ãæÆ0ùVcµ¾Ê»Y[Ž®„Õp@ò&P}]E­ÖX>W¸†àIð¼¶’bï a_¦"ò’42L@’ü„ä¿t ]V—XU=]:Iqs¼T«.%ÀI6Q²Ã3†"kskŸ¨H„3@aùÊÊå´Â‚æñ…W1 -•}@Ь§8|òé È)ñ `%Z–NYpj -`+€;·oß»}çÞ»wî~e/Àýÿß|kýGTùm¨¯+ DuÀNòxÀ Å X–Âðñ¬ÿì0àÃðܸV4ø=ï€èõÿƒ÷B…¼=ÿ÷e„¼Ÿþdàÿu8Ú -PñìÇHF<Æä‘~Ø0. Ìþ“ÿD6 0˜?(ÀÄ‘(Ì”£GJÕµT0ì D@£ð0[xÞH x@jøíòßß^ØÇˆ8Ü -€cdሔƒä*€?¡€C­þô~¾¸õE þ¿Þºõû˜IrÓž”Gƒ2.ÇšžñÌ8‘=­Áa³Ç?sôèɨÏÉ›ÈÁŒ‘¨È¡tžqÍaÍcõìk~pÓÈ‘¡°Ùô˜Û×Üä§iIùXMë‘4ÏsRâaZº¹—†ßÞŒéÍßþK Ö! §÷ÞÚ¹ðñ'P áÑ©›ü‹ayŸ¡GwCǾu€< ¾ziÉv¥ª³úüÒëu¬Ê“×è¯ï­,ߌY¬nŽJ ü÷Ô k•åËF%`¦{Šòsgk*ÒîëW+?o\ s?‚­˜@íú¹èÀï²ë ÈÒ’.óŒhìGœ¦3Þ¹3þ˜ÉûÉäI’÷ ȸ³éö7™Òù‡][HÔIaA÷ÇD%ž™8ÉN'¿ë¶bç¬q¤™dXó|–¤¹2˜ñ2N¢öÉGLZÝ|sjªg†ù+´|ÄQJN_­âBM1t7!óx_òAà -)¡2{¦ÓÆuý.÷¥”Îé­ÛÙv(Ϭ̊sX¼k±É·Ž1Íl`}üGÿkúÙý¿ëœ9}lÎ~â;€Ýiv[ †‡@®7V÷<«[3[&À‚ +žýâåeÃü¬$`[ø"ìQ°ÔwQ$Uø_±^S ÉQ DSÃ$€€~ôùñÒÒyûPÎÔ§æ$I¤ Êà«ÀªVÿéÜOþ)Œó#1 €„l¬èX¿tI/ÄãÊ•+W’IÁ+8ðˆÿÉþÊýbœ} -†©IÃ`…ðQ³ûfîÅ©„ ““§ª «îÜ»mÀWP€»÷"þÏñ7Æúãþý2P -õŒtPAîçø@;ÿÆÇŸÝ¸ö*Ø x9<×ýð ;ˆî3þÿÙ$àƒhä¿“ ÀŽHÿÁ8êxû¡Â.þ®-¼ kÞøÙqyáÚ kÂq òÉ1ˆ$s?{æJ§Çõ8î[#1Ê~@²ÿ'&_ 0 -0\¬êÈA€Ã€"`àŠxÀ®þS @HÂðûµøÂ>ÖPêa#€Ã=’Há°»¸áÏè@ŸÅ}cØø¨1¸¿ˆMbJÊu€2 .1ëN ¼eµðÀêž'ÜG‡dòèI#;Y¶J$ì±i>Î$¨Ezn,¶ —'IŒ§ÝDÆÁVG GQfTõHÃÃB]F±þ™£Òó‰Cƒðw"KÓ™üDÉ‘ÿ´œÓ÷ÐbRLGÅäâܪí¤Ð<Ô7i«†²EmKŒ¼üx+N²ÒŸGø/_þç;™ÆÙù.£ÿ•Ö£Âk’f.KÖÖ.Ö_×À^s1½Ó&äÒÿŸ¼¿ûãJÓ|QjCP™åq&Í4“7æv¹²™íd鄤3Å ²•0A'­(:»Úƒs–­–ާu¡’«ÊP7FÁ@ý)ºœ»J»=bÛ°g—ዚ6Ü35s×wý'ôÌåì¹™®¹8ÏïyWä?$ùKæ¼±bEÄŠ¹žç}×»Öz¯!Ü-zÅàÕbU,t=;Õ ak³²¶Ôȶ„ÿ](ø?Á"òÞ°Í8=º‚ UÀ/dí tuÁ’‰t_´ÛîøÔð "Ú©_Ê =Â…®J³Bç³ì"È -ü~‚q<^výs©¹¸X_øtB9˜×è”éXb»‘Ñò!*EJ“HoëeÚˆu»ž^Œñó%å¶~.TF.* ¥à¡VPÔ~Û¿XT…öà…4Iq€ö -ê ;³Ëïp7,‰Ð tþÿÃòÆôôÙg¨ÿšËIâ…«ÒXû¥ûå:…÷‡¤´üâæÕב`åÙ3?pŸyá¿Ù-¿6ø[\  ¤!×^çú·–×ww_ßM8_²‡Ä“IÏizý<¼æLXÞ~ûmní `ýcZŸ´Hýoœ·€X¶AsŒÿÆñуúy"Ä&¼Mо ËÜÂQ¦ê©“Q¸²ÉÂzÂÿí|;ך`ä0(Šä ` %R”J÷kÐ!¾KÿVÍÇù ‹+€ TÜ£€é±¾R?÷oð`> ë”߃т—E^†B¼ øc4m³Ö!ØÂ'°ÈoL˜Å©C˜àÎ[‡@Â>Nœ~'ôú½› ßÁ©¥òÚøX]ÆTÕas†ZïI»ÍAÈGZÈ9 à”Ԋ㹚ïbÞ7ìë?63³HÀçûÊé,®égF„ŸBÜÛ±ùÄçú2å•å3ÉÝbÍ“×2Ó¤xêT]UòA–üðu`µN€S•û3¿KopR¤’O ð)á¿ Õúÿ)BýZÕ-9ÀŽ€úýr` ±bÒÀE¤¯¯5g3ÖK¢à– '¼-c?°¹•ïµW”ŽpV°*ý3ëö½“ ®eφX€âк%¾TÈV‘ƒîÆúQ¥¿EDäU·úU‡H9Ï©ƒ KMW66’`q‰îŠ{¦ˆ„¯Ò-ÈfТDÏuîXD$bô¤xb/뢅@?/·ø«IXJÀ~6?©VÓ‡ýíþ´ÔLW€+tÿ}Ç&q0@˜P©®oð‘ÀÇ© ðÙ§ŸÿáGw5úÙ ÀÝë'E=Yx˜ó#A¿ž÷‡$ð_xxóÚ®RGÏž>ý|i0øúÇ‹¯%nªó ûw„àõ]í|0Ið?žëÄÎ]½ñ¶›i8(ëí„þRÿÏ7Dè`ëŠk§÷) hœ§"`ÂÀbÔG͇`J2¯(|Xé[0` *ݪUJ½WýJÓRš›Ûø0Yô²îü‘Ñö¡a¸¼ÍFydHÙ - Iy´À´àÇhg0o€ˆODÀ—íà¨V_Íàóß+_üþßÿ=î—‚cuµŠÞ‰wŽ=Å+KìÍrjNŠ4ƒ;G ŽÓBÞ¡¹y½pö“F)~³~¼q¿kMÖ|¹ü‰“œë$Aaíì ¥’‘¤Còsº!çl–ÑÂЪ8O,ZÎÍ+ɹS'ÈdÊ÷é½Ú¯tçtw>Mûæêaè ½ƒ3“rëõxšþtgâ8Oñ4Ù`è•??9ÞiëâÚÉèÙñÔ#ï -’s…â:§fx}Ÿê÷™–Ÿ|æÕ§¿Äœš{·l®ÁÍ‘àU„ÇÖ°!ðÛ)Âû/„èN&é;Ífµ¾AÏ:bhÿa0¤v6܆þót²B +|…~ø±-»y±n~A´t‡¾¥9¢·½>Ø*vú;c&âŒd™˜„Â4,Úã>‡ÃD6pì(_ôT_heý†X#ˆj„òOµAÂÎÌòaªl(…G…} özî²>HXþÕÄåÁHÀÿÿÕ]¬ï5c @L8ŠÓ°àA˜P_¿üÞÝ»wéØ ü?ÿâsÌÿ_ÿÃíÿ€¿˜ý+Ãá8²LölÈ÷Tâÿ=EÞº¶©Ë?8»{ýÆMꮽé^{Áë¯þ]qlؽ²ûºë œ/,ððÿ8@‚ýƒâGω™ði€ðÿm8²”›/š¼ ÿ…ýf£a|ý&á?íÿÅêQåf‰*êþõ%Ø -€÷g]ÿHv2`)*ÈRi¨²÷?$Ä©,¼HÄ‹/¾•ú'«Òí±x‡“r¿V¥€µ¦c-@é!ö”À)´„ÀW뀜kÐþòøûû¯Ãz眰Ȉ5)ÚªóêìÂáåÜ|u椷ÌÜ@>¿H‰ —WËq8hÿc¼×$ñz”š@Q!#<×JÚäÄÌIÐw­¾˜LÞ´pY (ãÔʹc"V@š­;×bÈ”nQ[Î6LCÀl{9öÉŸì-’UèTõ䩳œÛ2ç)¤w6¹L²´´FÇ—‚îQŠ,ôsºœË%”mƾòȺ(€ö)­yæ"#°gí3ÿ8¥÷ûßÿÀ¿×òïÿ½W÷ûRiI1ƒ½¡ í×ïµ?ùDÅ`8Ø.3Ü †{Ÿ}âÃöo¶ÿƒ½ÁPKý„~:®øX{ÎÚl¶•mlj» þÓûõ{CM·~3PP¬,gÅ;´ágä?)ýã÷ùŽö#[Åp»ûÉ~Q¼£=©Ø¬Êâ~ddøn¾O7Dƒ½þ¢¿7à㔠씋bïöþ^Ñþ¦(”l¯ß{y›€æNŽƒ€p½ÙRáÐÏ–ù€Ûe?Tû"ßèŽò” {)ÿwÊÈ ¸µ¯Ýƒ¢¿¯ç1Üß/;Ãb¸¿=Pèö޳_eB¦,˜ÕÉCv˜e>õ­®Yœ¬Yãs?4ÀµÈh‰Ú·m¿þÓGG@vÿÿâÓ?DÃÿb´—ú.+íÂÇY„ø^2y&¸?,Æÿë7Þ -pÖu8\c„@íA?‹¯Ã|.WÜÝݽò:Í Ã@äâ° 6×ÜŸ$À?ZôœŒýÁÎ]½ù6 à­#[L -ï ?@´ÿæ“Òò”†€/ò6ÿ6飸—l`Bl€” ìÿIŒ™ QQÅç$Ëãõ••'ŸŒ„êõ'=[––šõ'Ë ¯Ÿ¤Ê''¦²@ÂpAå1€„ÿ_Ê€Ž€¤¯O3²(þJ¾b?GµPj€ü—±üåþÿù?3±G/c¦º43S‘×lÎ-ÍKª^H=žŸ[¬>&mÔ;5¡lÓˆS:¬âŒµŠ™ö¢ÉJÒ{´õÆO‚ô¼üÀE(µ|¦:{bV[(º$­Wî+ÊVkÇ:Ž}áª4ÒM– -ðɲàÓ¢mÎPÅïÄtu´p›2 ·œ,™Ÿ÷J‹ÇºJ[!5{mfàŠ}˜t_X&…,ÌaûrÎy,S¬ Òö Yp¡ Ž8°èœ#ºã³ÿêöþæ2ø÷†IÐué ¾{i»»ºÓ]w½»©8‘e7„2·ÛëÝ|y Qɳv¦µè³èt×¾?"ÿYöâÒʬÔJ Ju*)^\waÈæº4í|µÑf¾×^ÇÍzt]çCEm¯¶•, kŸÔiÎG ݧ¨A×¶«ŒD>”R“VÙº—·ñ.èæ:ù‘~ Ui}j®gË:½Ì…DIäù-¡¿îΉÛínþ×ï^RJ››Y÷’‚h‚{SÖÑÛ¾ÍÀ^Š_UþõóQ6X ¥àaVüÀ_Í·+å—íÑWVLð ÓºÝèµTêë—ß¿û£ü™Ç²à³Ï¿ø\èdG@Ÿ-û¤.Àáèx÷ê¤`r4@IºO?oýêmaäÙçµ<}FÀ€ëà³~% øšÂ¯ÚwIíê•+¯Y f`äŸ\+ êð?XÀ.É[7oÜžêe+ÍG¶Ð -” €Ç·t§|wìh Öð•ú`ý5}þ„¿—üÇø‡àY -‹ê3ÕVR„%åZV_4 ŽhÆ!=zvVaTCØøX£,+×¼ö=@§×˜5_нHs`6ú¾¾'V&€”Æ/$ y È-h&ç3©ŽI‡i»}‰¹°GÁ¹™YÌ@¸®`‚Âø‡'@p¤l+2ÑÑÎQ\²¼¬uÿ€óY½ñë†t¯“·‡—§—÷‰ž˜l¦^7IWIGéãåöCça*S3É ¡ÜzÌïnLíRð?ãª3-Àžµ»íKíÕöêêjû_­þùº?c£ -èU!d>†KB˜ý¢++«*TŠCáU¾S`×U™¾Œ “)7Â‘Þæð•¥‘7V77¹Ð -¸ª5²ÒXJ´óåK -¯ -¹âºN2l;#ZH“Çð¨ånDQV8¹aˆvf•…Æ‚¯¶^G,¨¨-,ëòºÝÈ -[{sYB§¬6`=\‚´V˜/m/_RNô@DM²õM’Èem]3øJ“yÄ_–€ƒý&p~(â/ꡈ]¾ôe@ÊŒþ¼>‡ -ú›fÅûw£àÓÏ>úŒŽ>“þÿùŸýáóÿä*ÿƒòŸxhà²Ä ¡ës»×Æ=SP²cª®ÿ!o¾þBXžWÚ/˜Hÿ§W€¯ÿ>_4þêm ¸ªaÐNb%`>õW5Qø%Áü½CÀY€d8b<`}Jlÿ?/õyeIÿ^ üZóB0Ã:bŒñ¤çÇÊÉ܈¨ø )¨ŠLxìDyL@ -Ì£å¤dä ¢@»“âÈ”t’n ¸{XÀè£}Ží€Vœ(IU_²OØ,ŽõÐÎû[ï÷–üÇü§Чµ43Ó'QJÁy×á‘¢ùù¥ùÊ,NGx)Âó|Óˆ`æ—Tb#³^º+û­UÏZë=Q¶™ñ("]ØÞcؼg*éJå/%;ZX«Ì,…zÌ!#M[zs™ç±Ð™9€ÄæHíJ\Tt±¥rOÝÙA| b꩜ó¥ùžM$tºCÍÓTÖà22_n”®/:ýÉÃDU–MaM`xú‹úç,‰¢ø¢Õû/GÁÁû¦ÁÛ½;Þì ƒ}jŠËù`ØÍßîûÃá`8(†ù6uØÉ÷P[±Øþv°Óß_§ª@2nåͬ•odA/ïô:ý<ëÐ]¿NÐy{yu»¸íNöløÏµ¾UäÛy1¼Do?º‚‚wn÷I}Ÿ38q¸šö÷2¢«`‡W p|kP¼¢LïúƒOÚʦûÁížN÷ûý=öEo@7?TôgÙF–5kú4›]LÊ×–2ÐÍ eD4p;P*Y¡§AGýÈÈv1Ø¿”?ùh@[Êá`ç½bøkòÔìë±l_i²xT$\ÿ—ïõ¯ÑÔ¼Ž ¹ ³ŒXn½÷ƒ0F #`¼ÿ>s'GÉiË™Ñ"ÖgÎ]ˆ~hx´À-Œ÷‡$Yè èõ×  åA ÀµqMÀW•8™+ -Ó_ øî 8c èk»×~ü†–?¾Æò+šÂpˆàï/gŸ/ €ä @€û„„ý©ñ䓼>Éys9v¼þ“@2„ÂÏë"âá‰Ô#ÀPs'ØMž…P@úüÁró€„Å€‚·(û¤+è4ää 3‹Ç¼š¦Ç  æwd+€¯å@+€{ô0=ÀWêàëðOÂ÷cåŸþ្œ²õ~qv¶9‚ÑÀ#­>KB#&ph¯j…j›ŒX>˜s4Á€Ü°øè•èúýz¦ÒŸÚo«ÿÞ-ü| e™DéŸl`XðµÈkas˜Õœ™B’yD -Ôɹ>¾`äi¾ -u)ï®Ûÿ} IÎÉ[½2Sm8 K=aE÷€‰량N)ÊþDÉyÒ£‰ÖS 6«ä<$vp€2±´ødgž2¾¸Dß¶Ê™úω½ýÇøÿÈrü¡ÛïML—yBÐA¯ÿªÐ.ánûÖ`›~-E7ÛØ Ã?[Éuú¸ýåý¦èÑíNÖj¶ô8×ðÌâ§R!uµ¯Ý FÚ!ÈFÞ}IZöcåE=ê½” ú;¯ -w郊¢AŽÊŒäÊ~~iKlCiy{ÿÒ€NŒÊ}JB9z•^~.¥²lMËVVŸ­UŸ )šsuQŒÅyÒaÃÆ€ÌA\ì*ñªRK ŠÕÁ-‡^)^‘;;Ü6ÏìkIi0ýÿ!»Ôžàñ… áVèôÐ0&`È. þé˜Q’à¾øü‹c -? æï…×ç®Ø í_OÓhb`ä/Ñ_ø–Àÿ?ýÕÛ7®¾@£yÌå%pG@áhÿ:@4ÂC& €6©æôÀq¤8Âë»oìî^yCÈÐZÓX¦ü¥$€¿¿`/¹ù {>@o.ì7ÞR(Õè4<ÊS}#37•®ÁÇ @²€5HâNxû|.º0Õ?æ”BVl@¸· @X>ŠPK¤`™†”  úxÙ - Äð#|”núë‡àKŒpl?ð[Ä'¾R?ßÄXg¾ßGþëù'ÃN}veßa?gs¢¥E¦À#\/–ªÕ TBAEâ¥Ì‰Ó,M’„Ðz… ~€$d&wꤠÝÊt‚ý™ÙÇNÀ u -ɶKA~¤ºdäÆ8ÏCüè3 ¬Õ"0:_WÈ}0ºØ$ïvTužëÕÙ5Òã¨X“i'>烨o/³#],89»EuV7Py챓ú|A¸¬î68€–zšJ±Ì¸¯a®!ñå´o­‚I‚Ý££"k~ä=óùÅúÂl³iî2wJxÿÿðOÿ -§I -ýã?ücB‘àhÕO½{R—iÛ¿%]¸½=Ÿ{P´_|§#ÆS>­™ïà7¯ó·D–š¢!t„žöÛÂYÈÀV.€Úe8Ú+IzîsígJcA‡aýb'HFQ<ç–I|ÕÔ;¡D u6t†‚ƒöP+PÛ{|­Ý!DD< Õ˜­WkõóP“ _%ò"4„PÁ(#<hpë¹Täýœ¡^áÑD8êëÈeƒv_¾ÿP«ü½= "ê=¬Ó°q„®Ì ›ï¾ÿéSýÏÀŸ~úê>ÿì‹ÿô‡?|Nø°”:ÿ´`x#,ÀÿD%@˜þ'÷ñ¸ñ €×Î>/U ÀÙׂä_¿~ -À¹\qd¸¢õîë¢7®™L!ÿ¯ýXz?€òÿ8xÀ$ ó’$t9»{ýæÛôð Ð{[ -@ ÎùæyªÑÎשÝêþ#.£&¼—øƒ0+Ô\¯>ñÄ=RÛ;s2)õhQÒÜYP|ŒTj RæéShT”*Ž‘´£ÁþÂãu]ŽIQ+€ç'}„ªšF>Âka¬ 3ª¾D?óI@Ê-áðÕúàªÇZ´ÿ>>%Àócñ_ÿ+ó?ýÐX4¡m[½ç‰7—×`E¥ÿ¢ài±¹V­j[x«s8Â/ØBÛ5ˆøÂPZÐùCíÿì'vVª¥ -w_= ®o~é‘´ÈW3P†p½¹¹úìŒvÿçcäi`t^Y÷Øpõ€RÈ‹õh%Ðg&‹¬u³JÜwzNû >$ƒ²®ª{šìÇRc–îJ÷—ð𿚜´…ïN[÷YßârúFY8ÕÈñÊyœ‹rAlX5çgë-׆ÌUywIþ1­Sè‡? à ­ïs[ÆÿMõ…mÃõî`x“¥/ -»Vš;ECÑô¶ËªÕTöŨZ­ÈÞr§èß-@YŠ]ï^$ C¹Q7ïîµt ¦ƒ@zîÙòEtNQ4ºV·-P‚­­Ô1qƒö@Y'#=Ÿ«}𵳪?®ÿzdZÌVkstG«¬q:T‡ ºKr!I·ÅUò¼_¬nß.ò-ž˜HÀvQìô‹žžžß×”#,ÕðP«Œ Bý6îáXoTTþ *õî»4Äñ¶ÿZöÿðÅgöÙG;~~úšÆ‹˜NŸy*|¾7Õ `¾~¢ã ñþþ_ûéÛ¿JÜåH9Y@j3ðûk -ôæ”`W€ž/×>‹I ÀuœðÿÊ®XÀ5q€ï^¡@“¨Àµ¿zCièˆ+» Ü@Μ۽þÖ/è/@W¼=¦FüñoZ‡ãüJã|cIÌÎ á"|Çgaì×D5€4oX¼}²‚ËÓIï2УPŠÆt@N9Í•ëOH…S™*0ðb>:Ö%™¯³å²õñz´àg €ðùˆVø÷…@ó—ò8è8i e€ðøòýÕ -àKõð—ÿå¿"‚ù#§É (­5EtQ©¥ –ÐW0´XwW°!ðqýŠ7Zj@ŽýäÅ; Äz‡À¿&Þnøý”о…Ù’¸ÓH©™òÜ -¼“‹¥ÉI:„ š‚Ìø¢É€"¼aM„¥•¥lÛ†±Xœ›¿÷v¥ìúÂx+åsÕš€îŽC¹Eˆƒ]KÑÀdDÌÄâMNéd±&%j’ÂÚiÃAzmŠ’à”À•¹ž3­KÔ[ÊîR½KGÀö1}}L3À/:8J΀÷šõ;súô¿´5@ÁÒ€ ÀÌ´ÔŸ–üƒRZ¨Ø=PF@L×}Î_Ûà+ -º¯bPð†’‡LX}…Úá?v€Ò ÓœvE,àÇšß0¶? ˆ„à­7ÓxÀ#Z~ù;J@=ª¤åñIÀñRÌûDT°©Lu wÂý½UfÂPú“ÄVþ#ìUº*/£â'S $ÜCÊV’#[Ø Àˆß -àȱîÑÀôX_©ÖÇ[îç \ÿ/F÷£eb$à”P¦‚€™wH‡Ý”&ºÔé¨H5")B{©:2λh -žüJ…²lûÁ¼»ß.Òpþdéî¿)™-›‡(ñä9RoÖL £Ï’PƒÁ~‡ã¥Ør.LB9„®¼Î/fùZ`é¼~XÒ'$©ª\ÒB3í ‰Ó]Ô›ÕÙ -k6!7æAj4Yfggª…K`õDõ1l†øŽ€H‰='ühH À†i…¯¢ )?š•B²™pÃÊj½žmµ”sÂlê@øïbzi~ƒ‰Ç•kÀ´ôÆÆ´¥Pì­{°}wÌ“K‚Šš$‰ ù2vÿp–gÄ3Æ$°&À)^dÙ2õ]pÿ¢mîô߯Ԇ¶¼ëNÛ*7À›o䃆”íb+8Mžq„ì:Âî}b$E¾Ì^ÿÅÄT:뛌èÇç(ƈñQ/¯¹6 (n)oÄè@*ÒZ -(±èÃ"20æÅ+ù`g‡AÈ“ûRÜùšþÛ#€ÿUkTÔÛE7œÿÄD„5#ÁL={÷.5ÿ}úN‚}<>ÿÃgÇø‡ý†ÿ šÿ¥ôô7Gý -è€}'äuã1Ö}ÉMx.óÏž{þìÈî_û)ë‘ÀW”7oˆjÐy¿-W„õ6åi  ú=xo;Àî_íJå¿ ×€k?Ö~zº’°ýäÌY[Ä~1¶`@û 9àþ“úo„O›ñÒK@”» -ø—Ôj*iÃZ_íOžÀµÿ”‡ÿSñ)`8i+ÈÉ_>„ ¹0”¸øu - ¡O€'µ˜˜¨ÀÈÀt¤(?lpWÀ`ôˆèœÒ@+ÃŽ¯Ö€'lÇúhç½, %î#a@TzV+ÖÝãù†HèÌQ´¶zY²4kÕdZG3åEÔPl­¼JÀ@“õñ޳»‡•f0Ô’VS¢Ï'’A 6IZ"0W}œŽ‹¥¢.Käc"ç"ÌðKÊyF-ÆÒZ³^Y„ÆØ ƒuŽ3.Ô)uýt„û´½€:¯9Ìè?ò6¬ŠÎz…QËÞŒ¸èŽOÍÌrN¼P>øxYVq¦uò¨M“Ü,5›…Ö9oÕ+uBcü÷››üI­)UQe_îíô÷è€OÅ`Ý.õq «€0ͤÔ"ôú¼.øµE@ðºÀÏHC)Þkm¬¢Y«ºÒ` Õ¯£'ªw·hƒÿ6ˆHó~¹×O{ó¢Qì$½^švÏ@»tœ.Êu9'Áå|pqChÍ@Ä‘«Ö‹ÎèÚš+üÙ6=… *†«E* ~^k¶Ú¾A( €º˜®½"üg’ì ú4=zÅ](2>À×™¶ì0axÈ€¦çáLõ€ÁJøŒã ÐÄ Ð}÷îÇŸÞýàãÜ @êØ>ÇX¾ø”þ0Œà_ó¹°@¦¤ÿ?ÂlÁìØp值þWŒ—žø$øØžþ<€³¯]½Î˜y~D¨LØðüUåº!~÷up_ãš×»WßH`Ú  -v€×ùW~|m7,v©ø1&cûŠ-où7oÚ0þ9Ç >Í•æÒÊ“fú­,<Т¸ríæ q¨‡#^H}áq{ ðã ™’Óu¨Uiÿ0ª¢þtR*ðÈæŠVùùjzÌï –Qü´`ˆÙAõ´0aÐêøV€î”€{ô0=ÀWêà대ðe¤Þ´€žë"Ï×2_3Þ•ºÓiz<˜'jMáO=j×з­¥jr®t—DæÜGŽ¿ ø™R®±¨t(Ù"CG“@°)tu±Û‹V¦(ö¡¸û4gªöµOÊ:ÇFGzâR«S¯‚s‹À‹‘ŒKÁfkIZå¬}¸7‹²=W¯ÕžuÝ’Ì6ðë3¨¦ÇC¾ îÎÖ©…e_;Ó£Ô¥ü„êºñ¦(K+âZÅê’`li)½­£EpvPzE‡êí½½½~¿w¼®§æ}Ú­¢Vœ~ÓNk]Pè™/d®d§‹]eŒûpý?]ÿ[kŒº_,œð*‘žž°·Xõ -E»‡öÞ¡c¿—óR–õ¯àÃóüÉLBì‘àPP,`¥àlï¥b­ækÊ,“æ%e ÀL *ËÈŒf‚YM l¤©ÛëàH:0€vê PB'ˆ³#==¡üõdë  aóÃø2š ëIÎc.nÚ µ°Vã^9QË -:”úïÁí  ßT|ñYÂüiÞcuÝÿx>³[Zì06”³€xô¯Þ˜ž®^ƒÂß`<`zÂp.|B¼ÿÚ{|eycÂÕÝk¯£· ÷•˜×# Àµk?fI|x²×$`÷Êëöx#Y®Ù h’JØþröù‘àí7îGÏŸWùoA‰ô‡À² 67)VùGÒPŸ§ |ÔPÇÇçÿˆ›õK÷÷Êe¥Ô&½I³Épj¾¹þ¢2 œ¥l…pÀ}ÑÑ2öƒÂÀìÑ­ØWÖè‡àÇ8Ø -@ç”óWD3À/ÝÀ× à¿ýט˜‘Ø3Þ߬W+6SÿL¥¹ {¸eMÑ­µ^k©ŒR¦®OÂæ×t®Îœˆà ™P @ ¿€’N‚pFOPQ¿*Hâ#úDhíä‰[¬5fkÒM16àÌÅa"u®ÄÖâ$Œr‘cȆ…´Z½ŽÔèü|­Õ Ñ9´FËt*Òj.µD"UÓ› Vk5ª æêO”VIê1@„v®zJè?SŸbë9–)êr<‡R å¼EK¿²ÃóŸÈ9q¶:[͵V/«4E¿Zÿí¿ùµ#GTô -†ÐéíÝ1èƒ|ëÓKÛ»‡6 ¨Jç³Öë’XÕךNOø«W /Ô› -‰î‚¿ÜšpD5ìï4º†a-k–Q«x»Ñp8qÝÑŒâ˜/å{œgð¿Cë?r$Pš–ób‹mn¤¸¬y!øŠfä€úb>³h/7¬Íóuå:ÌY†!(ÏoðçÅm{þI^¥‡s{|ÍVÈÖwçðƒÊɇ8U1Û€Ãø¿¾âþc‚ÙÙÚú-º¤àÇŸ~þ#öù§80'ÈŸá=*?ø_ªÿšÏžƒ$ À”¤þJG^¿:=íº - YÞòh@à¤-gÎ]½þÖØ (&üµÀ M¯¿‘ª^×uµÂ à ‘ƒ × Méè -ø_.~üÆ•#,_Þ y>¸@/éI‚O “6a¾bmÁ¿êãe—€Õœó-§*¶þÛàO ‚•]ÿ‡ 3•ú‹åØD’Ö‹ØüÛ—¸¼J¢2KïÉé~­øÜÓðåû i]Ôà«õ õñí?Ö@0ñÀ"<Ѥ¹^©Ö¶šôˆ…ð‹aГ¥9B­æ†ô&áõFþ'=„ -QÈu*Œ˜Uï ¹ä!t¼gõZ:;–té -Rj‰°0²´¿!N¢Ð(uê•'ÖriÀÜ~×Î`¨åÊ•.æ¸êl=ü4ÅU^µÄjT×muZ~§ÓoÖòæ¢ÜÂ1HÑyÔ*È 0­ÍózY^ÑÝùZ¨5 -Äèãæ.RΟ€¿Ÿ Mæ{È3²­[Áâ`R¤¡œóýŠcTgkä@ÕN±’¸7g‰œo,mµ²~ÞÙ˪y¯µV¾°˜M¯¼²==tñS î ïìÝùÛ½;ƒÁþÞþ èÞÚ¹íÎÀ8ìòÒ‚iÒO€Wn.4ëYaÿxàk-VÊe–IųY]Çeù —÷²ÆKù`®v:½N‘oÑOWØÎöPaq·ì?¢3 zþÏ9KÀò.B²…•À?¸­üh_HšY“A :×EoØw¬ÍôÊE…õz¸ÜÄZŽ€–ôÄØôL9W?ÝfÖ¬èv”i7_³ÑÔ+püW.»NwŃáðöpOm½ÃŽ¡£¿¾ð×þÎ\°²>œI¢/¤ÁÿXÿd©Ž.–¿-|õõí»›¸€>ÿ‚–îà‹/>õà?ExOÑþ—ê¿‚gv©¸‡@ ÿ£ßs¸Ÿlî#,דÀ>W<P0íØeë¾>o+v" ½¿põͰàðfòx#höˆ)Ì -% °+ð÷m'l±ð@Š}¯ÏÅèŠ_©;þeýúKˆÑ2#™÷öã£z­ÄÊúkÿ€>'̪)§êÔ#XøóÏÏ@Ä[„™±DjPlð%|ì8eP"# €B:„_±€£Z(5@þ¾û—¡ RS¹x^xzž'še‹üŠñ³nIŸìgZe­F½¹…¾– .ŒTçþ…X*…³–'Je}J¬®·X¯žìW+Vú…¡.åUs „öC¾ -K'µ«Y¯,(& 3•ö|¢~éJœ-´;åÜÛoÉZæD…³ñ)+O;ý9·Ú‡Ù›½‹JRÙ×-.f¹ðÏ9w¡¥l4«µ¡ —R”Ò˜ls_¢V‹?Š)€ôxV&²Rx8Üêšž¨0 }•k\ØKשÍÖkõE=Fªü×ò&·}ž1¸‘,_¼ŠŽéa-4ó^¼'Izc¥ñÜÊô´ºJ‡·ëxàeë«Ñ;þŸ¯þÙê¥K««ôÜÛПØu+š+zC´Å¬h«¢ÈÆ,š›¶fýWÔ-…Tfc¿Åm}kº(NÔÒ¨Ô–µR‚5€Y®¤€‚Ë^.,èà…eM5Í5fÙÖq$«â‡•â"mòÍ@4ZTÈYEfñ+}Œ›ªÔ®?ÂᮩÆTMjúÑ—±}·ý¬ô´Öé‡x•^“µðêkË„à¡Z¤pù >œIo ìçïã&c´ôßÃcÀÏV×/¿ÿÁÇw!b}öÅgþöê?DàQ‹Êþ—ê¿æ³¯¹ -@è?3Ý PbÀ÷ô‹Y¿@ß±\™´ÜxûW7®]D+iËøxßOµc×MîÇ®+¸úãÀuMÿ…é¥À8iè¯i´(ã´Ö‚6÷“I @ê°”(g&Ä/5ï­Þx #ìxS—°ð7´û…hÃ*QõWåßæú®Ù,å$,À6Vÿöœ©Ö ðÅõ6zÊ„Gb"Vààõ¹_+­€k£¿šk€.®À´À! ¶…#Z˜5öò;cü·ÿžð D[ž,¼Ç«‘Ì -Т`­SöºtOïU%g³Y©ñO¥°JÓ‘¨´Ñ©œD­>ûª%òÌ mý=„˜Š JŒ'|¬6}¬W¾`™æ‚0¨ñDYà÷jYž]¦«1Â)R€ª•¢ì*cfe–œ§ÈÑe8KaîˆTFѱç ݦJ¾ -*æ1Ýä$ô s3³m=E%éËq‚ZÁs§ §ò»˜†o¤8‰þ¦”ûy˜À}0CdèÜj^—´6Z³u´ÃüŽÈí½~¿+Ф msšüMÈÈðPk¶Ð@/­ÑÐæs†8ÏÔ»—à ðã>ûœ6€¢°€Ïp8Z„÷à©þk–^^Z¦jhx` €ð6`þí·ßºžªÎ©Æà-âß¼ñó·nìž=çVØòï#n2xø'ø¿î>ÿ%ྮü† Ê]Ä!q­Rc€2¬_‚ý±´?ˆŒ-¿|ûXyrJÿ+Kôö›þ­¨h<™@J€æé=×êk~\l ÀÈж> -¥4Uô³)À茜ZYð¯_ı8µqryºÂH°€ÿ I>ž¨À! À qŠèœÒo°@|bÊ×ÕÒp¯~¾òX -¾”ŒÁÄ`%ñ -bµFE).:P4xìÉ%-6t,8»hÕq‰2\²vAüLÊfe÷ã«ò§@¥´„¿«¼‘– ³É;U)'zñzßÂ~ZŒ«„ŽöZÔüWêÂÀ.‘Y¤«"œ­ÔòE´”lЬ‘sœò8~Ip«ý¡I††(qæ¤|¶²­ÌDD9 O|_°ÎÈ`z:º™Úìym‚rK”{>ï9ã©êÈ–÷<ÈLµY­½¢CÂ1’Öhé!Òo}JQÏ'¸›µV4k ç$ÞÄ”­|c#@€^û'¥×+èà·ÿç÷»ßçë8·o½’÷ -÷uÓïmÍj³.dglƒèÓX¸IgFþŸ‚òŠçïšþŒšì³ë½º]î|½…-Ãýù´ÚôëÅAÓ¾ùhç¾s=Ùòîháˆäz¯ÅÓ>ÿ¥ðdy-á¡2+’EC’'l³Ð¼]™›k*k'æ•GÝ }2!dTë>B¸?^Ñ<µ³ÒWõf!&D’aw{ ®KAƒÀoD’þÿP]NU%Ýc¥û“m[z=°küš·EMMô SÏÞýà#¦Ž€ôc4@˜€æ¤óO‹ŠXT~ð¿Tÿ5Ÿ }Nt€ˆÏK ï„\»úúhŸ´œÃ°UoÞ¸qÓàÊŸ?€ 9ú§¥ÈC\H¿¢«³ÞÝÅ Á§:„CÆðÏ€GBˆ3ü@òü¹+¶üLxSw5)?yCÍ„¸ÉÿŠþtI\Ð\yr‰Î #´á¾#`û¨~¸|jòÎqo@¡)-´P¹¢ß±UÕ'×»ÝMKü资bÙ…q -XKìM÷k pý@@wÊàp+'xÐð¯ÿßÿÚ_æ÷¾÷}}°ßóoBHú› Àà«‹Šßóõæù6ž€*|×üv… c³¹×¨KqV£ž€V¨²éÀņ lkÍf'«…K¶÷?éo*ÇSAÎѬÍÄô.§•‘] -Z¾µ6:7ÜœK0ZÉ^ÒµtAŸÊeø¹ëó*Ðu¸Ø“5--kk½¶¨KÚ,aÀXÂf‡è³n> üDr|Y fžnSç·”é²Í}ˆè¦µ©mé ô-LÇ@=² ï¢N\[“â_inàÚéó„|±QµËæåD9gÉn“¿TÓ™’ÿþßÿ‡¦@úìOKüE&D  ßÿí½ßþÍßôòKB[zvEOä"KÿJ‹iŽ%\øÝŠè 8EçO os¦>C»Hú XZÃlà´‘škHàF Õ¹ÈgÃmëøîý`뵸{= ç­»³®Ï“Ž7èoJ`Tp®LÂê3µ™ÊœûbTfùñ¡lè@ezqi^9×ë[Me€„x"’õíÁKQÔÐL’å›’ô˜.³³'›©Î>ö0¦ðQ9O@¼¬ý›Hù[¨Ì,¬ß`4À>úìS¬Ÿ}öÅŸêÇpÀGŠð•üwÀói\ó8Œ«Ì ¾òW¸àòö¸"”œ=sF€O¥¿%œv ÞÏ`¨'ÅCk|&-"î¶Aè K²öY%¨?ZŒí$gu"7~þö/©{KПä€àÉ•'aoe>T Ku·ž€ë“Qeõ¨x9øŸâ¦hq‡õÕßóäI:ö)^ŒþGR€êJðFv±ÔJ&jJñÿlBfP°p`öØV-èpï~œòó9MO-Q LɃ¶¸?ƈ/1±‹Â.“ë+Í%ýq›çbâBR>„µæ@À¹ö$àêPí©£ô³X&’f÷“­‰0*…£%¼ÐÙšÞRÃ'*4(ºjWq[ooDtkÃUÀ­V?«4i5'1„­ëõóW¤ÛKËt¾ÌÍ‚ºf¦ Ó¹jž<Ÿ² ÜÔŸÔs³¶‘-Ôô‰)ÄnÈIà”>^ @jN(„¢¥<½þ2O¼”ã‹[6”s=Š ¦¹-ÄØ¢‚Òšïy=ª¶!Ñ 'çZóvâuƒþ’ôÝ¥'ÝvoïÿüíÞo?ÜÉ»Å+EO ·7°ƒ˜mÄk²õèÇÐ?ÆbÝ=œ˜»ñè쾚[›ò¢ˆC„Ò‚[xɤÐËÅô–5gµtQ}ðKÕCQ;Zú=Épž­Æ7Ò<ÆÒ0²¡ŒÌ×7f³ÅÇ” -=1œ:5•€còñrOæl|xÊUVVÓûľԣµ_<’¢½®Ç¤@… &;)|S²$p~"XžÅíöaÈcÕpä1èKm¬7>6l"*ú+öø8Üø3«þŸ~úÅXàð$¼GåÿKõ_³-§u#€©J€GÌÀXûXà ó‡-o5¸ùÖ×J×À}òù£5 [ŒÙÀ»€„¿˜´¼©ßÕ«tT¸ëŸO¸—8Ã(XÞxû—7nü$!¿ž©É醬<‰ÿ¿ÊI”‘:QÌ9¥Ò/©ÿü)­Ùƒÿ5ÆÚ?R«Îy”©ý3§*ø¤¶à¶”fÆRm&þ¿ì?eÉ[†Kq‘7)÷kp´ÀQ­Žð8b4@ÒµHcU’ôY™™¯Ò -à €¿q(¶J9b_â^ÿÿ&œ‹B”ªôó(¤¨àùÂB;ôèRZ­ Èt¸JWýç\ÐÜVYßÏ…zÖ0=ÖÞ<Ö`>,/0 ƒó5½ã°â æÜ®¡ï·6¤ùø¥9Šd­€µa]Ð ¬œëÊ*uV„œRëÑMK3ÜE€Q6õEkµ‚™@g‘y/% -õV¶S4¤µ+uç¨lwÊeíWàÍL÷m.fV6õUK!õØùeÖs=Š0èJWV¶ë žKã|£‰Ý%<$½f¥ÙYÿG¯ -!|hJßý„Ðôÿ½½;ƒ¼»¿µ… ¿Ã¼ÓßéÙò–)ùU˜ÔôäݨSH}sBÿ¹™ùõ‘Ž»¤eÛÌ^§¥®n7jtó ¦Åz·»5ΪµEWÉ»Ï> tuÆ]øŠ&† ‹R´A‚z]R‡€ åK’½ÿÄ©ù¼¢Û­‰äÕm¨/ò"¡–æ•kÔ5pWºÃN§÷Ãöz¼*~Q õDp—ÐâÒú@‘*lzÑ1Á$‚Í)þéÿ+»è±›è‡@£A»OmÑ °r‚f€wñdDÀ¨ø{À/4Ñ7ð! íßjRÿ™£ -@ào'Àð”Œ{š’û#yýÚµÝkP#X®î& N€×o$€³º”ÁƒXîçáð0ø›`ˆà*­’àÞš)Föª1°På¯Ûê¿ý“Ñ$•_óhrU¿^`é°D@LÚu”`´íñžÇòqQç)01`„ Â'bÌ´*6€pH’¬ÓòøØ ü—P1§ÿmH‰ÿäp@¾¡V:æ À1£òe2PՑ¾C’îö>­tÀ1­^û×çÆ‰Q(¶Êéྠñ-(ò›B#aú*.v®˜_Z^hJsòuD0¨P•½k[Š«Õ7mˆ snÀÂGY­RÏ 4P  Ö…µÊí¬ã˜$B¨¬³V9_”×–L 3jž‹€_,–l²‹è"¤ÑìˆPÇJ¸7*+‚XUí°ÕÊužçöUƒAŒ¯ã‡¢ 7…dô?¤3]ÏmUÍÕpujN 9/²ZCÇNKJÓ9ÞóTÎû‰jÇ“¸'(ÎWšykCoÍèràE¶z½þÞÞ¿ûí½ávw°c[±oïÀWÅyc(žÜ™.sºÌó <ŠŽVÖ°âÌ  kp+}óãÿiuæDõÄÜÌÌ\RÆÆŒûäµctGc- â}iižU(ƒ.Š3ÍÏ-¡ÖëpÂyž §ëlqJŒÀù´8¢¤hV{ùÆ–¾$q1,‹K*Z$  ¹Vº»Þû?úíözŸ¬FaÒóP€â¢EwÖ»"<•5ìôÅßÌdÀÃì()çMôê¤ûá*T¬`Ó•V ÁÌÂzñþÝ»Rý?úôã»+à:€Ï?ÿô_üá?ÀòOÀÿišR R3œFr¤µzR^ÿ«°åo¼ý €×Tb¸vóç±Ç>§Ï½®à}-SZÿdX[:ùu¿Ñ½´¸à$`É1W þ¿¤pó§öø‰`ÿgo1ý„IðO±SÊ“èÿ ¿€ ƒ@lI¡à6Ü—ÂAŽÒk÷?7ÉDý¸†„i@‚‘þÑðøYÆ  «ÿüòäyªpÉÅßRâ?u0sHî× -ð`>èâ -LúØ pÚ€wÁ£O? øómÍÒg9-én-# À— à50á«J`Š— óÂ9飆'ZQ£ÛÛÉ¿†+U)Ë¢¾ ãWSPÔ±‚R0öåµFgI¥=úœ@h|!èÁkKkï8ÙðÏjªà¶:ž„ëv. É ;×ÚÂô›¥ò+G@zÄF†.¬e½†Î4(V¼Ñõ\##Þ±‘Ó~£8¸Õ1áì¦òÕlæµÙleâ¦3°íĉj=q”NZ3Pò3Õ‰(ÿD $º _ ÇŽ[Ë›•F¶ïGoHpŸÂS«X¦ï~JzEïÎÞööòl <£ù#ð îŠb°½ºŸâ$¤›¢Ñ™ñO´`#k2@QV¹ÐœmÐÊâ<&±py~f~¾ªeµ:¿p;ï }^'Ñø¿!ÐJÊ‚¡__…žØÅ,lÀÑç¥/I9Ù0PÕo¿EâNÌ,Í(«|9ÛГÔËÀLôxöL–P¢¿Ùû‹ÁoV‰ -•d)ö»Ý¢GÏìÐC`ý͉þéÿk\‰Cõ?ƒ¯ûißb„¨œš©¯op× àÓO?øøã»¸2 þ 1àaƒþþ''À @HjèuB&Ç`ºþOY®í¦Ž€Îœ=·ûf´`À„žt0}9lð:|lý`{À!'ÀëÂÿû›þK h)-øÿÿôæ›S•z]˜ùÇM ,Ì@ž e ûHˆ‰Šþ‰Ú~‰€·*RòÃGÔш”á?NDüs',#KÀ”̯tÿ¨ÐòrÂWð—×êhõ_ò­l˜¶j` Ó€Ã£¾¦ü>*ð4à ðgyPÒg9-q³cQ6¿ôX À7!À`Ȫ(Va°’êè5!Ù‚-™ËÖztè‘ÀÔjáu_§5jõÞ’Ëojü!IX.†sx^«£ÆÛög·ÿÞÈ:JÅWÜ®m´¬ËUšaðÕ××,FídVŒÿ‘óÐ×aXlHÜ!U +eÎ%PAse¥Y«‹˜ép|J\¶’®ãšÍ­Ú#(9#ø»Ò[Ø7sª¾ÈeƒÀˆIàé*ˆQJÊɨ)…¿‰3ŒÒ­-¢×š99›Ì¡ñ)é»KOØÿ‹Ýù‹~1Üìú¿#¨“n+ÈÃè·»0È_®ôOS^ªÕfµ‘‰‹4iH9W?uJ¾Qe¬¦¥5±5^kùfe·}IÄhuïõJ›ÝoŸÛã%ð(³z­µØ|Œ/ê¥ÃÈìRS$`3Âü)=nшì1½ÝüåNCe©Ïë} 0ôPÜG)ØDú{ö½A{(v Ýœq<îoQ ×õ€zÇ)_Sª ÿ»‡-¡ -ÿm‰[Á’Hµqu^JàBóòû"w…ÿ¢}úñÇŸ~ìî€?Ç🎒1èñ?Uœ~5 ÀØ ÐS*RK™™€é ÿ¤À£T† €·~vãõ3§íx? @hûÆüÑ:â´…àJŒ(¹=‡ÉzÁ±Ñ -àA%rü`°À/t/o'è#3±Õy¢Qt¨Ôç©4ësõ%h×VO8o@9ä`¿£òÛ=ñŸdx%Æý· º¸úè|-=˜ñ7'³€ÿxWt°-Lr¸ÖjÍ<ÞÎßýà.Í>F<&À§ŸS ðÙŽkPbþþG€h0ÿÁм¦&êý§äÚ5FâIN€@ãõ’œY~öö›# €ôî!šÀ~gªFwø˜¶ˆ€ÿìz ‰?ˆœ™°è^Þ:hxra4Q >ɼoQœ]9ŒöÂ}A»ÁÄæ´™¢G$À/*'+À¾(€{^“Ò_ëÃä_-Á€àßÕ{Sò¸«ì°ù2Ë$IõŽ:KK]±þÆIh,€‘öÏô%}Ü - }|úò -&}vž·8’øÄIùÞ#Jäé -‹c}¦-¯ýÿñÏ ¾¤üóøÄ2HO9Íót -¤¢Veo”¼Âê¬Ñèô6T:Sp'è‹P!x·ÓÃ?_hæ‹ÕU|»ôùŒI@ü@ü¥¢Vm®%õ¿ù" ¥°(vçÂ]žÕ +B€ - 5ÂuN<€Ó²„' ÆB^t6¤Z›¾pøè¶‹Qz:©cÓE3¯¯ Ä-9Qy)}RGÖ—èúH²˜-Ì6° ÝÚ¡mÎÝÒT©÷fDzeÞÌu Î 7-Z `TÍH´‡+Oò$Æù–@î¥õO -&ï"5¯ `ó’ñNÒFéÕÎî~¿ßt'vÚúÝRÒ]¢Ü,á³7KÖÚ 1€|ßè òšR2{íüŽƒùùÊDİ/TÌû?¼ÓË W³ÛÕ€#t©\ì¤{§èI癯—ƒrÚ»! -³ÜͳnwùÙ,ßUéÐO`Mø¯¤: q<¼Xa¨ñhûŒ7¨KD2dìÕ~ÿG{ºÜ`õ–;û‘¼ 3@†Ý[¢:‰â `|ü§‡gàS|È HôwKK@úpûqCA½}ù½>2`DÀÏDè€/þÓ ò§% Ú|þôQÃ»ŠØQ!€Žž˜ìEPK?7ÞÄÙ_àfIÄðúOàæOoì>€ÀèãeŒ÷e(&Ít9|MêÿëÉ ”g9A¼Ä põê±­þ˹çÓto9û|Y€À/uk ù“L¢¿Ð\Ê¿DAÐQ$¯±‰†£píñ@õ…*Cýñ?ƒ¸Í_½úÄþ%nøQ­ÐçŸÀžå‰S§p¡?¦Ö ùIuå6€Tt˜zZI¨Ç+.OL÷kÀ )-oèNù¸€§Ÿ–ÊïÏN<Ô~ô)›‚vI}@€à)ðßòÿ½¿€Á[Ó?¹ˆ¯°#Å9œlh|-¦±íÎzt ¸tX Ì}F®`u§ Y,7{u½øpú>(‚QX4*²fÃZµ€Ù:`,t=Í®ˆZ™©¤O­ÂhŸuÚm׌Ȉýþ—¢"›v+Ðysa£ŸpbPçS­½ ›c4qÎÍÁ† Ái˜-Ú·’r¾VŸÕ=ô<@í\ª´L|1â¬Õ‡èœEù_ä¦(&ç‹‹ä\1­Q¿ƒ:²Æ+™¿©4—?Íñ?˜ý!hÜöwòb·÷··_ñ÷à?jþðÖúï¤ ý¢·™ wüc#pó7@S,›Zß< -x; Šþpg9—~ýâØß,>p—Cûöèfˆt­W;Fkâön+#]w<ÊHo°iœPìÐõÓDï;NAØœð[òJÞØÎ»Ýí¢½,&!u}o/¯‘VÞéÍŽ£K¢bKkÜŽS•ô&ì?a_ @ á~Ypê(ýŸVÝí`¢Ïc¡[@(€‚þ“Zèÿ¶$1† *…à¨òHX¼M@p€#-:õ( €ðm÷˜pÜ&}—ÌÖ©‘¤sBâ¼8Á2a°<úè÷¾§ìÝc,Šã@ðe~:'$6ÿÿ—Ï$~Ê® ÙúBãÇjp2+±Zt«•w¬ŠçR¥ o®Jå8R*ÿ*RW}ÃFí†5÷”PB>†ä¶S¾‘uЬEE -|òèI:ιÉß…p?ËVkY~‘””àHÖ&ÌÁt§&>Tø<ÑÌÚ¥Õ@›ïsQ(ÓÌ›³úq/ÿ¸.ý?üÕ°Ô—âJ<)¥3ˆÊ–2L²‘qgÓBs1ñ žCk£ƒ_¾î²É+±ðrxm~×å*~1¥ï~,ÂÏþ`¸ß+Þé¶·±toõð´Ç[1(Ú{ µ›¼ xýã-¤,»õâ×óõ¹æ,\ç|s;k/´¥çE#óúÅ~·ø4! Œ×«¸áž.`ôtcw§·Ýþ;Zï¯w•:GGFعŸw?TF¤‚Ãî7”º3âôc.ë%òbû9ŽÉºƒíK«>°X΋­N¯#Ðèäx“òyÙ°œƒý[Nڀ߈ÃUe„” U¹ž¶.ùøf%Áó·.?ð§øP¥† @`ðíQ‹Ð Eîz@àÏÜ À§ŸÙðšëx”@jºûÔSôNYðHŨåH €‡ß¹.øO€rpÝ3g o¸ùóW¡XþújÌÁüÖ ‡ÀýŒ, ü•i €ýtØý->P’r|HÆ&³ônà®BÜ -à­·0€„üzU¶¬À¼ *Zù#ôSB± è?þxÕ!ðK–€5ôþ C€«'ÑõÑøgÑú­ø;í?Пù¨6´èÒv  ?%*´< Ûÿû-ÒX¶Ôk4ݯ@é€@ÈÀYƒìµ(qÞÑ6”4ô||Ú¤Ø0‰ÿÎp­Ó§ZJà ¡ø—þ!%ifBÏ­°˜kµÑÉ6ð¤ÎxðêXCà,1)ЊJì,[ndKR‰…ÿñ!%Ñ·D´õÖ°)hVؽ`ðCPý“!Ø}Ã;:;ùˆÐ•¾ ”Üe¦!eÎÉKèô¤ÐÁžr´"‘ Œp—´¹‘ã¦&às‹XE‰,(S\m,9µÑQÕ¤&}õU:­ùLÝ9ïåµÃ„ØÂú»† âp6þk×âtß¹Q¿|Oéý”›ç87–­-ClÑßû Vöö;ÞBPѵº]´ýÙÏ{/çcKZþrıð뺺=„Qm7–³õÍl}{uÏHÙ{µ/µ>ÔìI=U ("‘:%Ê·öÛÝ2#ÔÇGFòîÀø¯ï4ó‡QYANY$#¾•on$€IIýmKúªè?=jýư¡ˆ0¡B+,¹€´ÿϵÈñùçÇ h ÀéÓÿr´ˆ%vz,¸*?' öHeo) öÇ’ Ô½ýØÙ? xîl´HÍip.,÷õêË)0=ýÄ1„îº(@ÈŸ–ÇZŽ•tÈH@úPúË$ ìBn†€ẍ́ؠé_D€àÿä˜𠰗¦Ÿ©"àq× „`ŒÿÉûŸ>ÿ¼©à‰êI›þ=•Ê¿)€û@¦‰ÀãÍÍËþ8››Ý W&cšiÀ”Û6Z–¿Þƒ¶ˆ‰ùÈV:}lHùBôéÙ`C?L4¢Ã 6üYNKú,Çâ'å(€Ài˜€ä°@ƒo@ $Zü3ˆy¬Ú/ׄ¥Â³h[].„r‹%^z;E1õÆBæv­ža˜½_²H%m£l3˜í5—9Ý^ÒÈÃô½Ön ‹7tS,úÝV¾÷Ò³ é|)ÇLkÍÁç’ƒ(!çÜYÇÌ’¯,g=e•¬‰Ìp)ÿœ'¼¥O+”n. -·.Ýw-.!qæ’d·é¢'ð?dþ Œ˜;ªs4C£ÁD«gòTä5ß¡„4p Œ-‹"‘u‰®ëìeùÿ‘Iø/W£9 nB@clÞÃ<n®ìèŽì`;ßÙæëZüõt±±©È¥T×çêçg›Y7o/TVÚy1èßÙËWn‹€¨ƒn±g«9°¦hÛÆ[d"#íë‚R•¼‡ýµ$£èÿ® ‚À& DÑ\`˜Â–- šYûbF”Zžuz³Ž.°¦œç[>a $#¡Ç“Ç¡;éݘôúµÑ‡OG4KýJÁR`y%¨‹ò$²²N"/mF¹O\ Ñ<_wöõÈÉŒDÞÈ2E $Âöí ~³3èïow?ì ûCá]¿¿wç7{ƒÁ~wµød004°(Áï÷‡‚Véî¨ÝƒÁVOqÀãV¦×•UòæBåB7Ý|ƒèÉ÷;ýßmîì nkSWŽß¾½·¿? uµb°×ó½Áþ`Gí21'ïô{wî ”“õK}Eö«Œì}rÇI“òÐ×!E1¾£ ì¯~p«½z«Ø¾UŽÚÛòïýØÓKë‚GeíQbû"ŒïKÖ”:wFž~£à‡ëú÷6w‘2²_´»{ûzdDËßíñ¸¾aIýíJÁW\Ðp @ÄÿBú·Ò¦pa¦Þ¾üÁÝÿw?fHà?øøczŽq#>J¿±¿\† šH’,*AGø¬àM*$Å뻯YU¶àÚMZËK~þö«j`wü8’޽eÄsU÷ÁÄOM€[– `B®ˆLHŠ=RÈoˆ ~,#V0â–ÐýÃ0ixë¦_Ô„ìP€'VžÄ4P2€±(Âøï5DÆx¿}èì7€´à x¤?Å8@UãþØdÒ ÚÞ¼¬ÿ 6€ÍM•ˆî¨l$ÅöÖv‘¿â˜)y ±Ríð€ã|þÕ°z¯Ç&€  i_i`rü”$ØKœ¤c“Ø0ÖÿŸ~„N¯}ô™Ó†ÿ XJ @*ü¿¢üÑó„$PáÏ+bÄ==ö¨GÏóFªܤL £ ôƆ -]”mŸ$ÜÝ(hÓµN³ÁVK87jhÓ?z.mïÀÀA{YiÄ -¯[kmQl£´g{?Ô’V݃‚c ÿÊŽ‰FH7’*m§¾öl"*€x^pÜ"çâÎ9ïƒ tŠNa>±ÐÈûº­$NÞ,»àÚ‡µµlp¡Òl7ü‹ Ó°¾qÝëüâZ‹Ž+Ò¡|@J’2IÓ­½mrÖWȺw(2ž¹ßȃJ÷ äÅðÎ1Ûúuÿl©×À…:—q€„. §*µìòÁÜÐg_ø?úôÓÏ©ý?–蛌—“ÛF€0¨(Ò—é #õ# ’{ãõ±@Üâçnh–>†ó{KIÊåhkd˜ððPIù·¤sœ½ˆ8^œ_»øM Z€¿CÔˆü -èÿN€’Ÿ{ÆpóÆÈØïºšø ñÞb=_qÆ…Üì£ÎP¿hþZÚ z$•êŒ~;h­íÇàà½? i¶í_ÐÀ°€Â&W -³žtŠœb²‘`’ûµ˜ðH6€#[üo%xgÈ” €0vEC€øþ›üÑNˆO‘ŒxŒ€.a€§ŸþÀ%uEúè£ÿ¯¯‡ÿÓØ?%¨¦XÉ1¦lI×VæÚh}=¡'åvØH·†~Áå°ž Ì„£:µ³±3h47ZM¢‹óŒm€›ÉÎ×{ƒ®Êo³ -Jž¹ÌÖ‹^ýgï·ŸüV -µÍý½OŠå¼ì©UGmÐŽL稨Þ0dúÂ\ÃÂÇ‘ïDgùJ¤êtz{Îù«Ôxÿº÷˜¯¬Þ ÙÚpµ!MÛq/ß/ØE£µ œénf$2Èk\·…ì€ÇÃüZ§÷ô¿×WÎóÞ^o§‘ H&²N^éÃÂ7®ì*Û -)‘õ ¢ëˆ  6òNzÈ'ßÖÑ/nõ´%~éϺíÕÕç–‰è¶Û—ºÝõõKëìÒ‚øME_ÒÖ¥KëŠô¯Ä‰ìkëÀf£Ö˜­TêO5ºéý;¢]|¨CŒóó K?¡ô·'.s¾# cõ,|qbýVê µÙj•*€»ßýô“OéPjÿgŸÝ¥À§Ÿ‰$Z’Êo‰5 @:-¹„5þk%As#€Iø?Ú€‰¤büW?¿!`ÀW·øöØ'‚\õÊÕ+@¿–Z˜D+KJÿõ”½³{˹3üÆ Oã?ˆ€&qNóîµÃàÆ oÝí| =q€a ¯…ç±5Þ¡È…4F§Vµê<û´ˆOu€™ÙêÌì© -Á *UwþS `í?êJ™6Ð -àòå[®¼ÄßÚÆ¼Rô/~EÿÓ­0;b?O÷kpÕɦ|_àÚJwÈÓ•G+O¥œ!S&$`¼ì €#„Øi_{B|‚dú'=uWùÓÀ_PÙà…EŒHÁ—‘ñ%šŒ65KuZ^~vyy¡± Å²¶•?A¡²J%Y&zA› ËõEÖ¥€¿ )b˕ʳ ÝÓììlE‹ -}AiÇXtÖʳ§¤dkË)Ú‚¦éÅþù‚Íåʲ áô·&Áßx8`úÖ—ãóçÅ'€Á€²í÷éè#f ú9í>M^$š˜NK§uO€@=ý•u.‡ãï7*Nut#À°@Îi€À±€¿Šùp+Áp@R+,Q  Y`9Núä𠂦o€úké"l&H€7ßzË5“rÓeµ$0_2"ðQ#¿Ç«(ùøü‡”è• èçÑ}€šŒ,ìÞSóêd…q½¤çŸœ©èg&G–þOp€ù•Ímáÿ-€Íü¥—J ÀØzH*ʲ™€~Ð - YÊ©l û™gP´AßI hžø¸àaÐ×ß`Ä'/¼£'$¢K‰ã'ñ?<fdäp:lÉäàsm¨Œl1™)VãÐhòv¸»©ø‡%lh¡ènûYôT¦ÅŠUW -ÜÕvØÿPcpB¤†‹èl­-jÀ§%14b]ˆ$”BC°'\ °V -ë*ºÛëÒ›ã_n”-iøÚ^igËÏnëªëù¦•é ùJì¼ö*•qÎ%džœw+Ï9¡¸öŠÒ -¬`cUÇoá -,.T–»Ü™L˜ŽƒœÝTµ"P›y¤*®+Ú»PçT§ˆ´9^<¦ÍƒÓsr”æZέÌ:GšôÛMÞÄèuL¼-Y˜x&R«ü¥nwêÇ$µ·¸ S¶Óÿ ßÜôi!éHwî»^BO¯•¹¢µ¦žN’­¥Å%ý‹ñäÀÙa‰q ›Y祀¸ß€.cwˆ‡;ew, "|%[E —Æ>‘‘Û{{8óñGÞ\ÜÙ»ÝOæÔô_‡úO.Üìïݹ³JÇW¢H OC³%­*MwÅFÒ[!ƒÍÆTOKÖhУ4&–| ÿļ•‘ <âGí½;ø²ùíHêoIüºXIÄýŸ?†>eæ†Þ‚þ14XX¿ü®‡FÄR·p›€Ã2‰û£‰ž“FW,.Y)…à ÐiZA€Üp´ã†à0˜éRúGàë ÑqšG*°ÀJ€ôG€¤3ÈÜÊÙ3Ï‹¯@YΠô»À +Ð_KöŽ-?™´„¸ >(vþCw;?iDFs£>ۼ豿 €Ñü“¤áÀâ€S'EÜéº= JÇè Dÿ óÿIµÙ½\·F&¤È·T„(€ª‚îOñà=ä~­ð°`dÀÀe¿ÿè÷ÿôOüN2ÀwºÀ‘Zô|Ž–{™€î±øpÉ8`À¨@Rö5žÑâûɰDWa(@…ÒÿëNåj2øÇw\ê÷’×Ö"épÛRIJ•íÁ>ŽÝ<þb€wçÇŒ¶X“ö¨/ -*(£ Xå)zq/ï ÷Ýîï—œåívm{}ðÒFÎåéÃE@áŸváýáÌd9¾ãR:¿Î‡ë+ùïþnï²×ß§g›Áà¤È.4³B -7ŠÁN»‘û¿¹‡¹’íßÁ?üÃOöïÜ~°?,~=¼3îï+!:ÃëI[γÕFÏW#ß°RúuQÜ* í¬½¶Ø¬UgëÕæ\u~éÉ¥fFÎ{ñ¸,[;ƒ=Îê(ç·©ÓØ惗žëîÿÞ9¿Ó¿s§¯ì ´“ßç¶—áˆK±ñÊj•mæ›ÝñÏ´f›A-üQúˆ—ÒÁõ.Zkô×Ôé´ZŒß#± -( ˆÅ¥Åùêã Í{ÂÖ=ì|2üáî˜u—Ó£Ž:¸Ré¥ÑåS^ :°Ým›÷Ç3ßsQ »{³·×O=E£Þ0[`ã+”í;ƒU=!^ øë›hÆ`Ss*~fÖáY$QQwAýSý ¯=Fµ–ñMò’”¾;. Ñ•u­Ûíßܤ[û$!õ·$<ˆï@j8÷¸þ5›ënìG5*õõ èc€@šÿÝÏ>ÿìSš) ñKäOë3»×®a ,ã?¢‚1J],5ƒ¾S~–>€a¸¶{î…‘ä—ü<€«‡[L"È$äÇ\ò‘ *ÿ¯Jÿ§#7î‹q€&ÌQ5ð@"„âñ¨ü°j0ûG0–Ú;®8d8š„<*?¼îqÍz½¶hŠÿÔñ; ¿žþS4d#ɨI@Eðï>gª¸ÿ óOž _´~ý&Íÿ–)à~n‰—U Œ ÛÒk’ùÿ <ÈXc ¡tUÀÕ&>¨É:3€1ZM°O$íJÝâÓžRYJM:eà€ yœ~†Kèúß«ù\ÿ+ _uJRn$8ñ:Á®ð¶Slld8ÝÑÚ:Íq°¾œíç a%5­õXÒ”>£íû†`ºÓ’‚Ƹ þÛZdèÿV–£d: ·’ËwP¼|šTNÁé­J;ÔÛ¯×ÛŒbìµÆ§¥J嬳Å6½Üïô†Û QTl {·ï8)¬× -óî–Ûþ+¸I_¶ÈjÙPŒœZ–tò—èp0îdËÚ`®íåý~·Ñtü,h>ÈÑʰ’n¥AÑ2³æÌl•Þ~«óôD‡ªš÷t¬3E3;Js=•èn!¦ Öò¡òLNtTºN^¾†rÅ:ÀDÊUì<ÿ›9¦…ÍâV©¤À¨ÁW7†®¯ÿ®4ç ¡¿}ŽÑxATÑu·Ú¡£î†h9×Ì–ß  æ•HxÒ±Vˆ.d€œäƒp´û·4•2ê°òØ­u•OºèS@N¿9‡ øŠÂ—ò³êûÙáÔ!7ðÝAkƒžÖÄo  Y›­6ç¢ó‹RªMoâayÙÉà’^O(Ǹ6Íå¶rÞ*:{ygo°…k¥o¶‡§£a>½‹xú•ËQ|DÄœùqNüü.ŠWžB”õ&ñu Õ›U!ú"ð¯.U«RÿQ¢Cø;ò‡|©ÕªXš@/<[‡¬4!µJ½¹ùÞ]zÄÖTÜ¥àŸ× -àO ôŸü½ˆí³çÂ0YÿBɘdT¤&Ä‹±6:H !€ À„àš À„`B÷äO“óˆ”ýD€€€ À„\½â >HÁ:fDhï)"ïitKoýäp€8›'pcü„þOX“mÿ,ô+ã&DÄÌ×'bQBDªhû'E ÷ú;²‰U@[0„ þ­¸Í‹[ï„ `$©EͽäK´xTÀžä£þéŸá*Û/‰@•{‰€rêët (â|Óº2&f†‘ëåŇycEQ[< f$îD§E_BM:8ªÏTРçL|4=•4 Óp2]Ô+« 4ù_ïäýžžã§l±Ð¾,`>ÞÑÔ[¯½c¼ø£‡É›ømÒ6"+¶Rª%Xú;°£LH…®7«õÎÚR}^âÿ-yº•Ss§Œ­ú[ê¿)Jp ›G§Ö/[«dôp¡%$m< F¸ð\âÙà/Qo¾Ô^À$ùÑ6BrQ?À\ÏZϳhtÿÜ}œÖn­+MzsÈÜ¥C¦c´Håùðýp!åðÄ©'æ#ƒþ! -Kýàt'¾-O¨pš9i €øŽî<êð@ÄI†í½ÿÓ#Oéß°$´þæÅ7ûÈîÀ»[o¯óöð|¡'=ïõËï?øˆÑÌ>Æð.f€Ï>ÿCòú; Öù…ûO8ýƒ§b;YTªô…Œ%ùDyÊòè±Ì€GXõSí½ùö/FÍAò{˱ W¶8:,“UWœÁ{Jêðõ¤êÇŒ”€Ž÷f²¼ùæ[7°„€ðiøÉ!0EÞü{cÜÓŸý’] Dÿýâ¯6%@¿Œ’Zad ™*½Ä@€ÚÇ@¬” ¶ŒLåŸ2síb)¼üòÄt¿V¥ÀS×§ÜË_ùé|_°{´ÀTC€‘ `4"@Ч;@Á4`Ú`äOÇ–•$€± y` -P2Nøé¸Ó /·.·&C[€ŠPskG%­Êl¬!*€ÌvàÕH¢Ó[‹ósóÆÿ¥f!àÁé+ ªÃ@Gó W3dE¶ü’TIP_phã@ž )lQ ²×g…Í™3ó.Mü.\ÈšÃÁž²s›£È& -ÚŠ¬“FWhû6€¾$™ÊLGk?Úf¯7(m¬Î:€#…ç ,ÔñøA-zŸÅ °8K[XþõØFz:ŽçpNôÛ‚ÁHŠ'¶[Ía_÷9ä ®œuúYù¼: )öàž~)Ë_‰_Js¬7»byñÜP™ÿ‹WmÚ½ºƒÞÍý´6Zõ%½hH'F1¨±°“ê~\êB½A7ü#ÕSób*Ó—%P·Žg E\l. ¾yáTþÔñ ^—–ЬW6šŠàýU´^ô'ÑjmtŠZ¶#>õ"ŒQS'H–Z‡»çHÑ€ª¿ 5Åè©+Ô\œ#;sóÊ! ‘€x-VÅhx -"!ºÁ5¥¼¨ô¨.ÂaÀíÁ`O4àÎp¸þáßü{ýøïã[’„×߸¤»|è‚`½N@¡ÿú:fŸÀœ=0]}t÷}ëÿݽ øì‹/þðÅç ò§äóÐú-f1•>¡ÿS¸–@E£ÊÒþ4 j¸yS8o ÀkpW˜' €}ZŽ“)È÷zUä«ÐÖ{Ra±“É:[ùJ×/4$}½æ¤Bk¿tyëŠßÑA:1o4Ú¶=K×ßË7Tj¼³ÂYÑIäqKê;kŸùR­½Vä8ÀÔB×u€”øX¡ÃV?k4{;æ"º-×èX¥žÓ«¿”TáÑ®è€9ýææ›v˜ˆ§aáhã4÷:ØèsQ¨QÎû½öfg ÛÉZñ¼• ‰“6€?þÑ&ýº\Ø5ïÈ+Û÷ú[0Ã?B@wf7×ú¼“Õü6Cæt? á-Âà_­Î ýççEìæ´ª×g柨.Ð">øÕdzˆyàv¹§N¨X+š[àe `ö¬Šçfu~‰@:“•ð< s ²Ó\šmyèEű„fèZuÍ*M°˜§@Ttn«F95‰jk®^«m,ºW*^–úþï߯,â¿oß¹³§`OŸÍ·&Å·ÅRiþ°§jÝãcþo4Eº4ß¡%€žäõuº¾ûÁ/äÿõŸŽ>ÿì³/Ü6à ïì;àd0ÂÐÿq   âÔ¿˜HÂYdÚpå…v±L8ju³tœÀècäýtiÚî^¹âlì&_¿hÈ`ÃÉ€QÂB¦)ȉ8,Bù@}KZI·Äi®ßxûçºÊÏn¶ ½˜p$Uß-;´N ?Õ׿e„þ•“U)ìœLæDØÉýÁÆÃÊI!hÿ+àIþ²zSGâê °¸õnQ¼Œ el—C¡Ëó‹ùæÅD¦ä~­þòtର_,"®ŠpöPÔDC€‘ öÉǘÀ<¼€ö&€?Ié¯8ŽñxZ×' PdYtœˆŠÑà›c  ‚²´EŸüz´B³N! …¬àˆ°¼„;ƒ˜ N±R⤇…ÀZ}¶ú3kA§N”TVõ¹ÔFÞ]6 â„þ:Z±¢}@§p”Šò³æFÖ`8!í_ouòBHº…Y"Î ‰<ØMT…€·‡‹?LŒŽ‰‹s¨àŒÀk˜Âz£M½³oãÈZ-îÂ&)”ÒXgkF,œžŽµ;¤¯/ØY91[ošJ pt’+ZÿOÏ«’Ïûnæ™Nn©?Ïrý3ƒ¢ï€ý-Mx²zʳտ¨û@#G›·,–pÓÀèoàü¼h÷K¶ûÄwohÇò—Vþ¶Eý) ǯ<Ñþˆð5‹L, -ÎRlì8Â2W_ªÏ‚épF\ÐwµF&ëó‹a€pQ"’ÂGçüÏÕuÐ"·êÍZÍÃO¬Eù˜ð³@ú?RÎ ß–(鄨߬ijú.DØAÏú3¬¼¸ÞÍÖ©  ë ÃîRû/ -ð>Ï> øøcú%%8)=_Kºý¥›~ -¡å[ÓFªRû¯ÿü¥åÿ˜z|ÙøÿnqY؃`[Åv0ÿ}U^^Ô´‰PØMȽÇ|‚§ÌèÿÔ`ÛÇlo9Æ €>zL>CPÇÃÀH;\9¦0ø«µ¤ž®|¯´$€ÓîÐ5Š, ©Ài™ßœ€-ü€/€ èÒmjÒQÞAˆ;äMÇ: x[”î†ò†Õ·6»(Ô\ê8X ¾pW2Fí|½–mùdah¤Ü®zsQ¯7ïI¿Æu—í¾ØÜ(ò½`$£Œûp2ø’óN?_Îrôí—A@öDZZâæ—yÉ[Q‚­¼h.Ó -@GBҞֆ؈èŒrO€€e±>ËP€`W}Méºf„Þ‚u{š-\¿Ó£n^YÇ{A!Í/6ÝŒ!=Kð?žÿÄ—$`ÿ‡¤»É?!»ÈJ œt;ýBàE˜£·çÖ ´~«‰©4³>·& - úY#—óº!Ã<=Ä´¡Cìö zÁ-ìÑÌ Ðݪ - -D¤ªGØ’lþ@õµŠ°\`GI¬Ã#Œ³ˆ¿Ôœu¥BIN–Z/FV«³‘®ô‰S*itLj׈Œo†/1[¨ëÅéÄŽ…l‰Ñ -À¾E¿ø}{ïý=Z”bø%aö7*~r߉P`@wg ͺî[£ÑZÙØ¼üþû|p÷ƒ>Ðòý»ôÁÝ?þècÆúüS: >$Æ{æ2àà™]äb“:€²€E •¥£…Є= ¶xŒÜ_ýâÆµ+çv±œ³àîà'oÿêæµ¾1 €àŸF€–Ô BsD a`Ä@£ÿ듨ŸÎJRFº_äûÏZаá'oÞ¸ö³TLKzqRwï¾!z¡µ½Œaþ^rꤴzá;n6'NUª3 èŽ<à)ZþÑΰ TðÐ5¶Ž6D@ñ*=v¾üòËùåmzþœrÍÙÌ)õ.šLËñ­àQpH~€|9Çz¤np àѧ„ÍÆvöiª±ßÇûeà{(øOc@tZxP@àÑﳿ4”D ÷_çôc)„øay4l3ŒYçvöl6D²ˆÄ/>1ív€‘dõiàÐ\kÖ+ ÒaÌìÖr£7[(ÛfyVËEÂ#2°§+¦úËëù‹má¿H@³ÓÛØ—×× -c{GZ¯“×¼ òåîŽÈ Õ¤ăã8$ëDûùR09­7V -îS‡`é@oVÞ;ͨŠ^[j -mšõÙz7\o¶FAäåB9˜ ³ÞÉ=àZh‚Bd´j`oÖñƒŸ‰÷âõÄKš˜1S¹x9 Ã;Å¥Á‡îkwŸ °·ÿ!ýí2Šo¿—ÍÞi×ë¬éé(£z,Î.C6P‘}}I¼@ Ú¬³¿ÕÁ×O²X›­ _…«Míæ¦àB@t³ù„°V»Â– '´V¯­eÍ–ÖšD/Õ[-í[¬ëþq ©jK„>lz&ڱ摒H¨¹ÖiV[­µ º/X[Ó;1Ó ÕYÐ=J¢óMÑ3òâÑ)u(\À¸y§Ñ„u -ÆEÖsà‰|HƒÁý;ûÇíÁïüíp±¿UI ý -fÚïdòа -°¾¾É Ù:-Ü%fsóÖ{ï½ú¿/øÿƒ>úàÓà.m’ià×ÏÁQ‚ ,])SY:–Ç$ù”€^ #€ÒpS{pœUÜÏ$ ßóQ€+áWSG€©æ,}Üu ßè)`$ ò“”‘zãYr`D·ò¿ÉÛÆ¤àMÿ]\`ÅÕ|Ù@ðïåãGŽôw”œ‚ØP9qR<¼ -°ãò/˜w3m¤#@­`êÔÄ[:Î`P¼;° €öÿvf -“.¢Ò¹ƒÎ#'~“rL+€üüÓBPÍĘL û=¼&L›r‘þH§LDXÒa •§Gt}¥‚€ÈÈ÷]àH{$ € ð”2<Àz<ëÇZ¿’P4¸($h‚ÈTaK×^.†¸éÃjÿGxJ l<Ä:¨r¡6Û”ÎlÄLû6±Bïaµ]É -+ý\×€8BRDùÀ'°ŒË£PJôMt˜g˜tzdZKP^ú¾RŠÈN¿XÎ?‘þßĨ§¦bb!‚ ÚËmzõ'Gä‹£…;äTI>¨GªR`¹ã%7>(ó( f„ vÆÖv»ÖÎÃ^¢œ÷Å]t^>½ÉwTn-Xþ§…›+¶W·5Ñ?¾½ÙÝÎU6³Ç¾Ùî.¬(H£IÝJFŸ…zŒ2˜«÷Q ~¾) P‡ÒÕë³OÔjÏ;(¨×Å 0 hƒ.bµ·Viç7KˆÔ¹O ÙÇiõŠRXÒÃ¥rþ¼2@KrÒWø|c–¾åàÖ긥P&ª•ÙY=ûÇ”[oâ æy†§¡[úÆù¦#:¯7¨rÙ‰g¤‡±íéc<:Ùü³Bd€ˆ§toClsâ¿Ûw# Æ÷êa/6»9-QôYùl¿ûžô‰HÀGÔ|à…þô x”” ?M&,hj*_G6ŠÌbœ=$Ó>»çvÓp»×~þ 3w,@+£ø=åx ñWEð4t_S0ܸ~ãúU:%HÛ4ˆi,>k$)òuk÷iú—‡–1)¬•žÖ[TÐý¿@J„ë {ùC´6W‰kÆ®~øŒÃ#IQaÀØ»·Ã±ÒdàD¸ÿC -Õ‚w,n ô ÀeÍBÿ°ÿD¥XiõTy?)G¶xêé§Ð­%¦É ômëšå'tŒÀ#héÇ6`ŽϘóµ¡ýé•ü$yPÍSSgÀÓO $@úý×ã9P…°ð£üMËÿꂾ^ê’G&t+ÅÐup€-ÆÏ "âàˆ_ªÏZcnñÓ‘Æ{Ìä&l¡÷Y#}ÀV?@”ÜâC6²Íœþ³õ¦´óeº´ËZmZ¡Z«©Åç îl+Vø-”/|¨{áó¡r@GÙ$Àpq@RØédÙ²(ж´P|m3G?mâä(Xšút»s´0çøÈ¸TTo DçY[ -)¶ =Y1€ /šHdbXd9^K¼¿ñ›‰÷5Ž™úE÷Å“²ºÚf=£W0´í¿ò½W»WVqØ®<ÇÅé·µÑp?ÍZ/kIǵÝ‹Ð3”N@cY€s„Ÿ]ˆQ’Tj:V³‚t §a•)p]×Ñ5!i'Òðnâ”®ŠŒ‘œ¶ÀAõJC'âj¦È vép-ëµGª³³3 ÈÀõØÃitP‡eÚ†h%FQk7Ûë›9*ªž„ÀßÃþêYµ=à*#C“ñ[–„Ûß”øßö݈óJ³úëkÂ1›ŠY}yøÀ6/¿{÷½÷ß÷ý÷Þ{ïý÷´zÿ½!áðâKýüå|æ…4ªËT—¬ÇXWP'PZÞþE"# À[oÿâæ›oýÌàt€c-©7€Ô”¯„|£þhÁñ/Õ(<¶(×v…Ð0€ë7®ýøÚ_%üc- ñ“¤È«ÉÅï~rúôÙD~òæ›Wrãp%€ßØ?-5/LÔ`xœæ à“ˆkãõ'Aãw” úJÕýQõŠN±ùãüÀ ­Sî \MÈñUÅ»¯öß}µ(^~ùòËGà¿TÿÍ‹©Þ3AÈÁVÖý™ž¯‹°;:ø_Qì¤ àø¾*GšÌ—{|¤>Qkì±Kö#é }Á)xŒÀ3áÀå™ a°›=Ø€÷ZÇj "‰8¦ÜIA·Ï;])MC©ÍÂK £3ÈW©ØÚ¤vh0 -nIøiP£úV‚N—5fk. -¨7$º\Ž&Ðq«+½X—ŒTˆ¢Í!9€Ÿ%évc5cqS H'ý[ -uöR>tŸ|Jç>ªúTÁr#xù%Þ¢Cužfñ3¥ªÔÄ(ЋSŽ’§g€ÿkM) Pš¥z½…ÍôwÀàãRÚZÆÚ’;ÜnÔ„ÿYóB[×YW±YÐÅÁXÿ÷kˆw[žK?•'…÷ƒ{©¸óûOþö“O~ýÎ`øÉßÿþïÿþ÷¿RÐûEÑm¿´¿¿¿×îß)ÖŠüwçûR^ÜÎ_òèziÔRú±üwZ[¼>‘•pd”†Üí5k[‰$H˜~xú †¢ì¼>¢—¤xÓ¢‚â:ƒB9ìwHK›;¢Cµá ß£ƒ§¬™_ÈÛá! ’ÿÔ)-8hNÑÇPÿ¨ü§‚ öÃŒøÉ Š:º €‹/¯¾:x÷]}6ýum¸ÕŸ¸4ÎIÿ*ÿMá -…L·ñ…ð‚ʧzpÚø¯X"±pY[è&+V)˜JF;i¢ÀÉ%K5úKâôþQÿéà@}òH€¸îÈ`ü‡Ø@.ŸFÃ<0·&èU¹iÜp$¡˜¦ÄQ…œ¨ý¥ aSp#œ´3âT¼‚’ ø¤‹·’`®úD½¾˜Q>[cÆ@ÃoeÌG6H‡*è¡«³Q#`…<©Ó\vt¼ˆGóòò6ô¨ Á”>(íé<oÑ`.›å¬Ø¡9w_CÔ¹È9b:#„/¥èâ¯/áæ´×ÉšÄH÷é$KÜà#µ%nø>J*Žò™I²È“r¾Þx¶›¯ÛÚ¶6ä±N<ôñûˆiô2Ò4>jü£t’­B/¨(Vè?0òr·zsÀÑwt®§Ç ‡!.Ò.iœ2ª¯»m6gæ—q¸ç.E×:ú -R_=¸rækµó™T?GXlh?Ï‚ÆzNMŒ%:ñÓKŽ<¡µµ¼^`^a³å“%Pºà^×xx-ú“¦®'ëèFxë!kb˜õdr‚èFtѶnI§ã4ùh·‡þ˜'}ü_¥eäÎŽžÎpØþ°ÿý¾ö¦‘/¾]IÐýH-êã¿‹ ×þƒÿm: z¥ÝÍD·ž­w··77סbgø(J¡Í®¢!š–#-e€ -B•†.S]²Ú ðþÏüµ‘uB®€¸É ðËTþŸõÐy¿z‹¡s!g ˆ›OTü ¼?FJÈóÇ×HgüàÚµ‰VÎIEwÀD—@÷÷þw”œKë$§Ï(ù·IŸ>l€к?~¥,<Ž@o"ðøBí @"Åÿ®ÿ¸ý+™ÔuÐIÅ û Õ½°¦ÞoœOj?SÉÒ[:N\P¼ú®þ–´˜ á¿àáb.°ÏY‰±Ð§’Þ/m…¿´HÆ ÅDw@IŽö¡'û›ô òA–{ÜF/Àþ rÀp¤@8~ÏW\£¿ 0®·f‡<[t"SZ¥`”XøI{t?vð¿C×î"æc¬(Ò€ˆ5uðm1écÒ‡ŸÐ×T¯¯Õgë…Kjf•ùFñT(+`neï´kz«®z§ÄNp¬€”H]Ö[: R*` £€.×¾Ðò¾^ARœK×þ!ŽÊœð_ø.êÒUiY—У9·¤ëMŠ0´ÑØq<øoã–ÝÓ––ÖZ­%zÃòØ“† -rŽü`ê ÝElt³Õe]OÇ* DNÂpü.ÒÄb´åÒ<ñ3M‰îG$àÏP÷S}¯Ýùï_Ò(^Õ†SGâ’Ä}"¢dg3¨ÕKkKM=„5€Š;ÏÜ•9Y­™»·žI1 X㙃è:T_„X„(a>+‹ÂzYÖÐõ[Aϯ?'°–5ÛA¨Ü©Ùý2/ZY¿³¥|ô{v$#ZgÍš€À¼//èW¤®Nƒ?º”¾· L[= ‚ èy ¶×é`ž4úܾMIàýMÈú„ ã]ŠPÐìî]å !æ¯36ÀŠ=:ìã^Í•v“*˜Cr Å2šZ*ZŠÇ©é°@Xh(yKøÿS¬ð»»4ÄpóWXìxåy,á§wœ„%` -ñ}Iºqýú.UñW¯»S`Ñ€) €.àKáÿµBÈó=å téíŸ)ñ‡ ?5þ—“ | ózŸ±Â€½˜&X€@µ¾"À?Éy4Ä€ 7[ðñ ´O@S GIý?Î Ð)ðÐT¼ìV€T6kI–¥¶/—ÓfúÆxú©§þðfR÷ú# ? ¡ó±^â ã¾FuõZÄ·˜PZ©3 NN4ô—Ä "Œ eª¸¶|Ÿ‹k÷¤@?âšÌ…£×žÇ!f#Â^§‰Ù¿øŸ‚Íb]a57jæ·»«·RŸõ2ЭTÒkc—úæu.ŽŸˆŽW³ŠÀÚZ Çn ;ృ£^©ã òõ -Ýãè*ÂJ|ˆ)].âK"íÆ2Fb‚eSÁVç !:/šØ+ºCåÅB>Ø¡ø÷­èãñÑÂe­ùg´ä•)‰²éÅ:4o”Øó½ þOU—–oPIó+3#¡5É4—1dþÓ‘8ðĘâ5E¨\hbö’Mˆÿy4õCýï~§AD<àf‹'ègÉ«Ô^oθO?z7¦ÂÆ]6Ø©}r^¡I.4s…±éHNÂg?ë4~véAŒî˜j ¶: ˆZË»#ØÅÚ‹é@V $&ÅËõ9½W•k&ÖÌÎÏÂ8ùäÜ„ }!kçM[1è8’—„:ù:%ÂC -Jôô`Äôƒ¢½Óßëc"(PP¿õ)÷7 ”ÃßÕd -çT á»+J<)Õ[‘ø”†ªÈ¨ñö*qãÁ•^Ì!I«þübY¨ˆR5‰U5ãþhú^̱HÝ· ùúKÓ @rúé!Pñ»gE¨¦O``žþO󥿩ӻWIÈU%þc†Ð¾sWo¼}_ 辑€%ü–±à€ÿŸ…ªûÿ5±8(µÇ_ &@A†ý úµÂÀÚ=c¢»‡íßö…p‰Ä” ±×r4x¼I÷%4ÍþOˆJî² -ÀÅT~ÁË¢/¿¼ý²ùe·xæ™§ì®ã/kþ…ÿÖøÙÔŠ:ô‘  ¢˜tmÉÑ^ÖÕ'y‚}ì@ÃÔ$†è8Îß'ø?‚ý)Àq}øÊŠœ0¸`ì`)áàà:mx» ¥¹Ü7^8º°á@'9´P‰N'Œy?_ù)ŽÍÈ´RQ®â61•ô.çï·8ÉÕÆKøZY³Þf÷?w«HõCWËjÑ?^‰$êÚy¡æ´n7(üV$%±êy9]ð‚Œcçïùrf&“¨¤0.âzÍÁ#Tl1œ‰Ré«+ -$É­[þsÅЃ¥ý.Q÷l {¥ö'àLŒr’Ä9_il»&;„Ü^ôóŽßhŠ—ã¨ØšÞNøãÿ 0›n.¿U4nQ`ägˆb¦èùæóÛ¼ßë+ GÐnû1êíjiŒž{k À ¥Íû9v¶tp9tüZ¯€ØôáõBé°*Hx9zÕy`,¶§ø¤hÏa„ÿfx2‰V.èõ+-Îéô~Ñ‹ÖÕ´1&kÚL½J =jÓcÿÀQ§1@&úÐŽT0ò “ßû^Š0Fk‡#b¼s9Å<Ž*C1ÿÏ?ªÜd4à±daîûà_€MÇ0 -”Ñ© w€„þW:õJÝÚ¥H€‘sMh¿žr^ÖJª^Þ~68$q .:r¹aU•â<__^ ·DÁzá*uÙÑ_•lÞÁAøØ)¶—×9ü&5s>ã ’†Î±íØe–.“烼±ß™¶|€~‚")¶ÿÅú"-ÑàtžO3i ÂH.îƒÇuåùJ£ÄÞ„¶ñ#OþÀ+sü82&oJ°sLOz"j†ãÛVŒl'­¿ÒNÑÃìo -00xY&êß•?e$Iöb6KŸ»Kÿ‹&1pñ¢…»¼Lºf@É?!D‡³Â·G€wî¾G¢È¼Ã%â`2‘˜¤ј.³ß~£WÝÅËœ)î `­^Y£“`¾7å whÖ†G :…Èò¢ÝÞ×g2JúFòºl¯"<$ÓÄo{B€M µú»šj '£)Æþ®ñ¿»™‰Ð)%Níuú¦íˆ(€^“ƒPàæ°ÿ˜K UÓ£bˆv,µ ÀÏ“à5ðSIÓ.àm°{F°­CK(¿Ÿ”nÀŽb €©Ä_‡ö?Ypà YC×|hJ""áéÆ =þQÈŸäÌÙÞÐ)o^{ü?ÈÓ1÷'“ÿa €£¦£OÑ线fúõ¡ÀrÏMÔ ˆ$ô?0Ç û€å¸:€ùf¾ÿË"/2øÇ<þBöÔ"†Š)a$`l@I$ãÞ ..9Þ `¢/ÓƒdˆÏ1í(½µ½'¾Ï´û ài}Î^[×·€Bô0m@ûw À„ÎFÉÁµ$¡DŠÑŠ·=Nj؈=Z$QÁÙ²ª”=éÑjlç(›ŒÎ£b:GOÿàT€þ¸(ð¯ÔU"æUZ#(ïuqÒáŒXœ®Ê•%ZY5*%«?Ç;•ìÂFÙ·®@Ë«X&á2iä äËí0½kS( à”œ‘æ´n¶×Ú#ôŒ*^ŒÖÙ)Z§êPêhü¾è¦ëÍÆlµÉÿcæ„Àœ txœ2¹QÎaBÄè^@[–,žw¼‚4•ïgâÅpˆ_Îx'‹Hã ì+ïq [eû›@ðM›Ë¹È¦gD¢|豦ÚþŒûÕîn´¨€õqó>XÊÿ…еÿt_z|4è¬E‚kï*²F_«ÒBäé¥èÈ^ÖÈ^ û¹FjÉŽÃsçˆ<_¦&‡‹Z­^Ca"AB,U1Nº~‚mM4nœ‘­ÄYt{;ëíiï¾¢×ÇÅ Î-"xFNY¿]IþõÄ¥ðw'À9€ÞnÓŒ?éÿxømÚåo}]{<63%>šž××W’Î?-§Ÿb@Ï -DøO—>Àÿ#*BmÐÅëéÄ!7o¾ý«_¾õ¦-n8²ü Àëvÿ~€Æˆ?ÆýRÐòÏ>ýԹݿVèêU©ú€›WwÏœ{öù×° ¼)pO)›¬Ê'ysª -à^rVüâMÿ†Só´”Àn--Tµ±T*•É^ýK¡{?šûšÅÍŸ¾þ„ã>îä,àÄWfNà~£üÄl…?_ÁcºLRm¾ÔË·^1°lå¦(N—Mâi)8!%H6¡h²àÜÇ$làøtuéðGz<òˆÄÄ €cûø*®“^Eð®I(î/ÔeìÕŽ2€Šœ)ê“&U' ¶è¸IRÁA¹Ž•ƒþ¥=) G°‘1•»ÊmJN -k~a;.òåõ‘“e1–•µ…í¬x}Kë.ÒÑ òÅf³r^{ðò²òÌQ*e'Rê$t‹Q·&µ›ZD4;[ã þRšLÓ"Th4LØ)ÑB¯´×‡ƒÄ+ï|9r.h½è#¸nF‡âX¢“×\Ò£eØâ<*ÇÅÖ–5Õµ%wsL¶k‹³UZ=Μ° -Šz L‡Ž8€n[Qz^E{YOKÛb ‰çyLå*­§·X[¼R¢6‰&6óA±ê¦o¯ø -1öäUÞ¢þ\½¼‘ïÀ€Â€£\ò 0¤ V³Ùzsi.øèû ƒ d ¼åf^=ï·h+Áø¡»ô ×Cè 2×ÕŒD¯Ä)Žë2 ý«Åóh$É>\»4ëèaÞØ’ZÞ¹¸4ßÚ°þÏx‘t@ øŸo67*ç!bî‡Á ¤–„ÜL™žÈúúÐ%¼ÿ^N @\ìÕ>Œ Žy(’0üë…ðw(5}ÏÑÿÿ´¤3€.,4±4ìè6u¼›í±ƒ£mÂÿÓOi¡ùiÏœ¾‡ Ù`'$aíXp»O÷”š†€’þ• ?zü€Ia¬§žm¹I¼~% VþM€]ZBcÀ E_’°~WÍOQ÷²”rî…s»çΞyAÉ‹u`8DÒ›;R¤ÂŸÂ¡¿ä zHjÊG?® -è»ÉŸ£„ðlžÔ¶£&låª\ -þ#p¼Ì¡þ©Xx¥0 €£3VþJª½KQˆ¼¬‚|<À vüŸ°=ŸrÛÿ´•ÜÌØ `Ü`l(¿¿´#™ ôiÏþ0|¯4$:Ô5éP‘c€°L{î£ JT˜ÀŠÀŒQ ýbÓæ´Unk•þˆÊKI­Ç/øÐódË]Á—Ú-êõÂTlƒñ -·šõùê<…²¤y¾V§lû¯ãN_‰QŽsºΠ»Œ¡ü‚Ü]ÿà4’ êŠ-Š•†`T€]Š™ˆ×Bm¾JcGW(„È{pQ©¨y/¼õ¹’KMØ¿¼R*q.Óïô¶¸¹$ð[k6[ÍÙŠÐçÄì ©ÌÔAÃjœ)é[ S•ßÁz£Mªñ-ëùñÀ­Þ—S¼å»ð¦—Èè/IeJÈy1ȃþ=$–<‘Fíõô8õÌôßáLþcä¬Óœ™C‹§ó#QM¼ ½!÷°+ -°UåèACz$tÊ ÉéyÐäfk]Ï h7H½äA$§]–UéLQâR´²8$ lÇ’ÞÓà¦À/‚ì2À¹×ÂðÖÛ7$ ÀUáîýð¿Ôè9N}îôSJÊÀLÁò¦öüäM±Œ°¼ þ@ëGúkå;ßd·Ž €¿¯œÓ-ì¾€*€C’^ÜQ‚ÂO“~êõm÷×–¿ª/-}MDbÇЇ¥?¢í˜À^s…|Pˆöß_NÈ·^y¥ØÙyç䨢øØÖÊCvcpÖí¦-&¿ÇX•ÐÖÀ=ú7›‚0ÒÇžIü?h˜‰µuý0ÐWM‘|ñߣúÿÑ}Ø Ì'$xpIðRBL—´J¡´õÇáþþþ'{4$§—ô­—ÚË+m!sW¯Aïv#f¹vzyCûGðÏÜz¢Ro1øÌÀôQ‹¥oíõû;Ú.zû„·‹4AÙà ö÷¢ÕVtâ–gÅ@|Pþ²æò‚à…áî{ƒÁåUÈ«ŸJtá‡ÜìßÙÿpØßÙÁ¾[äÊy£u_R®9 +t ½½,ß{;{}Òæìíë|aÙN»±’‡ý;ŒSܹƒ£a§÷ª€Û}vú·Ý¡]+KÃS@6:œüÈ:9/ò.=Ës’Ï»mQ—n^ìm ŠáÞßE<èò‘Ç4½rX.yP^ÊEâ¹I´ ýݦӰ÷\¸ö >;Á¡õä½¶ÐÓ’+:Ö ¬-ÛfZ0ûÂeðŸñ‚2œÚÝ—"|BÒR¡>+Åfƒh+åìRê†þX)ŸÒÓõµAÏŠ…°†ÛoeÍœF´è‰!¾D³–áŒÓ‰?IɈq”/Ú+|JµˆÍZX4 7W?á1ä¬ÿ*_ÙC}X οœ¨0ÆV{â„ÇU¯ï»ëôÂúŽÆš»Â~=zѽœDt& Â÷âúá©í²öœ>cX¯*-—¯‡$¡íXvϽ&Tw+,‰¼.ðÚq€tæa¡g$m-×E~ðè°±?„\Û={BúÔM@‚\-ßF~x` À gé XàÿÆo¼éfÓ’ÞÜa± ÿìì¬q+¿=þ*Rù…à⎌T(’ûø]ࣽ™ð¾„ÿ{ÕûOJu)UFÚ0¼sk"< ʪãeLžyÁ6à1À+ÀŒÀ‹§“ :~/?:ŠˆdHF¨æ•Èn²*Ÿ&ŠL0¤N”Z2(Pð}(À€(€Ž›ð Yq‚¯ÀŒ$ M¸^Ô¤O¢Ýœò]š%uzÏO‡ñãû+”l7…¬.{¥ûÆ=}QOTÉeÁ=¼5Îó¯ÇH¹ìEB+@&Ú{‘ÿIw;:±(ùõ¶tå¶Êçøvqy‰–+«Ï.+ÀÈ£Ú§"fE“%Å9knÜÒæq6qmkµR¦£Ü,È¡”Ytg£6»ò\º4Mš¥Îu·t 4cˆ·hJõ¯V銞vh¾Ié;ÎMvAOOI­Ó3]ÈÊjãY%çGªk®û‘À¦4§Å(ê°Ãƒè/»ïÿn7Ov”ôÇ£k§b5<â¨Aã§ŠÍ7 Á¢p÷‘¹æâ"žk-ºþêb¿á… w[ÝózD’— ŸõYÙr>ÙÑ ˜@'+$Ÿ 2"t×.['„ÿa9ÁÓÛêôÚË65ÁÈAà]]Œ¤’1.МcŠ,x9â °qÏöê­ØNý[²ÕR®ôóö¾âòq·ÎðaJÂô¤ŒÓ$Ýÿ©hqêñjí»š€ôFÃÿl}Ýá÷§¿Ž d@+¸c;ÕêOÄx -7Vpˆ¿Ä´¬ïûšÊ÷¥nèâ°ÔûÅŠâwB&TîÒýüêW¥€f/$ð6Ì@àlxèO˜íKIÈŸ$E-TœþßOŸ¹b0ÎMû°àÓhð¼MÈò ¾Ûxœ={ö™ãç‘ÐsÒ¹×ÿoü8ÝſєàÿXP±B¯õ‰YÔÿŠ‚aà?%–Yõ€þL•‘‚áõ -ÄLð?ÓR #Åÿ,ÕEý_Å\ðÎ@È¿ ðÎ})ÀŒtèR^pK€dô7êšc›piˆî€&ÀQ^Õã†VÏàonFl í˜làïqÿÊN’ÀégX)O¨þô€ÿ‹ï ÿ+_‰& P¸¤ÅhGÚX^^nXPpùÙg——kÏ.hõ'¢ˆÚò³µgŸ]XÐAZÄX,úxœE\Ò‹Q«0VŒeaY³t¥÷l…![j¤NÊJ¶¡É× 5ÉŸT\Ê{Ÿ¥¨©érËœõl­âImy¡R«ü‰._Xæ4Dù!1˳5%õ'Ê)açÜÉ’žŠ/rnp«ëb\C;•rÆõmÁ¬Ìê~*Ufî‘¡h,³ÀÔ¨T–¹c_MwYS -µ…gkÂŒ”——ã!—SzòŽ9mx}¤ }ONoýí傺€¼.ˆ*XôØ:ô*ÚÑ'"¼çUAaø:X%—âÝÛÚhe3ö℈´PÿƒdÙ1€L@AtpûZPÒ“ 'Dɹ€D¹ˆHi¾¶åùvC¸ÛÙði=÷Æß[ÛZF¦–{ºŒv¤ -$;¿Dyke5eP'#‰Pe£¥7$›y>l¯ÞV(ŒZ’|¯»ßç‰ôzEÞøÁ(Çùàöí½‡"·u¥/3:0_™tþy&®öÝšh‰¾€Sk4þ®ðßmC´«!üg(Hs‚1¬ˆ&¬O(þizq½é¿Ò!9À…ž‹SJÕƒ}ÐtGS´YD¬W?Úì^ÃÿŸV€áøZØÞ§%¡þ„¤G N€?xôgÝÀA Àõݳgè -MðŸ(Ïõ–qÄX^xæ…³ú¹œÓB¹g^þ¿°û†.ñÿñuúKÒ‹; ôàwª"íX'LÀÉ -$@Ú¿bÅó¯ ýĤ),Ú?í1ÚO¡ÿƒÊ”ÀÎÎ@¨¿ÃyÇnI¢`Zfžš`¨ü 0¶P ¤ôÒ†‚Ét¬ÀdC€±Ò®E2I¥=Ô5DJÚ%Ðâ"€T@ -NKø¯5W’”`;š¯Øð0š|þWmxnðK,"gÏЯà6ù -ð/ À¾röư×ÉÃHHûJ´`ËÛ(`ü±“¹À3šÏ>2)ô;Äkÿ`Ÿ˜@˯êcª–Kßwä© -ß]ÿ ðCáÇ&€£FͼŸwö¿yþò ÀJ2ð@!ðë_~}û×@‘þÙ9!QROÈŒ°<Á¿ä©û†÷dÐü4fx:YÔѤ‰JY¸—À¸!€bJÕP¶J¥=ðŒ -ßSŽCÊý#Àÿuj™’…+‘¦NÐ<µsÂÀÿ¢Ÿ~Tœ$Á×?^ÅéÉJ¤²ÓbÍNËnΦ¢Ýåµ c<´„Kósóú«K¢Y0B52goЯn'Ë7ŠÆJ¾‡Ím‘Xöú{w´úw:tÄCM½ ‰.€Õ éZ]ÐGbW 6StÛÏb¤ÐB[²ÎÆK褙N !ç¹. MQÎ=: vk‚ÒŒáÈy±(„¹96R½s§•7žh2º\¬/-J„=ósô|°Ä¡" ÙÊå«K¢|9Ïî† ¬ŠiÇóŽ‰Ù¿/)6ŒMÊÁp§¸Õ^îŠplç·†Ãß²?ŠÚÜùð7{{¿ƒ¬ ƒî¾8—Òþ@t OÏß}ò{vû;t¬Ð,ݵÖp 'Ãâg€²/dßéeÙŠ«xžü»Z -D‹;wöŠþѦbпÿ5o?g*¿S ?ùd0؇‡Ü¿ÛßãøÍ Xòýèº}X~d„|ô‡}Ü&o‡A¦œˆÎõ²ùj½Y w†d:õ‘‹:öX]ôB)ìƒþ‡¢v{ŸÄXˆw uùÊ*¼U„bðÑ'¿êÆûÃï Ÿü­r\ì¿sëäµì|‚²ñ%!ýaqaaµ_ ‡ ¸ -`Âq)þH­VþëSǦZF[Àî&Ú?^{,Ô0ük®F«·qÀ9$:Ø·|HžJ>¡UQøY7;ºàQ)àŒç?ž“à­äðöÛ¥`÷ÜkáðK:üÕ/ñÀ p ýKÉ_ó»çN?e €Ò‘ Ü`ÌáÒ`ÕþAÅú=hxùÌ ÿ…,BÓ6 ¼ðóÔ4ÝÍ Þÿôòj£ÕK‰O¬ ÂWdžC º=c„@À=;Í*Šœ¯`˜£+`t™Wè Ý-éþTˆÿÅ6Ææÿ `†Úüÿz àñ™1ã¨lœ~:õí&À±^㆘ë¡ xúòbǨ!€Ð{ úÚ(ÂØ É€>¬ÿO hƒ€ØÂ!݈-_±`B%8òÊéÑRóPù,&PIñ-ØÛèØFŒ—vk­>/0ÿÆrÿAP¥‘]Cj NÍ‘WéHµ÷?¡á]²l4B{ã§—€ü‹¹1èi¼C*¶Š¢½ÜvC2å2Ei#­ó­|¥‘÷”ci|‚nÌ—¦­Y®‹‹ÖðM±€± Yò…/µNî c‡îv®ZÍêK-Ò¡猊 -gPš² Ÿ|*)%Af›†*_R¨Ÿ™ Ýîr÷Òêêj{~ÙºÒäùR•bÓl–o/oëÿTHMÃ2=<Ô6 %Ñm7QPK-·’™W©T_i,4º•uºÆJŠÆJré¢x£Ôíîêòz{Uˆ•mrÓm8ƒrá -›n¾ýìö»ƒwrÎVDÔè¨1Y×[“B¿ý'íF€Œ”ÈJ­¾âätV—nÿ‹¦ôÐje¶ZÓÆªn½³Q‚™Œàû¹½úÜ¥¶Hû’Ø -1 AKI®¶¾™oþÙ»z"úÀ¹òC—„÷c¡lVá)¼ÇÑÝ_¬0P0ò ÖM\b?|ñ`Æìý¼U}O|s|)ŒЦ@}A9ˆ„¢)`ÆpHôÆ\@’§ÎíÚ`ì§…ŒÕ•¿“sn ¯ç+ ¿wsdøÕMºJáT`€?X¦%}ÌtUW¼áVOŸa\¡ €¥ -@Àñe7uø¬° :ðÂÙÓO¡¾FTÒûÇò#÷•‚@ }kÑœå¡ý©ï§òÿ„'8 ímÙ"ÑZ§cˆí¯*Õf>îÿ¿w·RþaaÈ_ -ü?þÈŒtï§Æ6€¤"ãû?a(mHòDØÐ"¾¬c¼ô¥Á&½Ê†Þ)|OhOb"b„½>`ì` ³Ã€ËÅ8€ ®˜ðà_ð(ëdRHhðµ$aÐiÃ1éÙ†D;[ý‚öì n%.Œ1…ÌKóóîH^"Õ  À®äɃk#4›½¡À’-Á&MÀ¨æýöz?ì÷z¿X7„ª_[×@Q ç0ü\¦2„ `)%o×Ö ðÚÙ„W¾¿‘:Ø*Šv#+hŽFÞ9’5`këe7 뉸×Ù -á‘oîbЬw -÷v`Žƒñ¹>?7_Ÿ‡€ÿYc¡é1Ý @ ‹=o¼å°¬gÍ„÷é¡û¹O<ü vjÊ»—@ÀKBÔKë—„‡ÆÀ¼»=X~wÛhwiNÛÃÛÅf¾,6=P™-0̺·¶»ù«E/«£±QWÛl¬HÚÕ® 7“.Ø+ð忤ìéˆF{óOn©ôF¢PA?X²©h²—mo?Gm¼az“½h€pxy•¶Ê9ºoQc í\Ir9,Æ`M{¹»ÞÔàI‚Kú¥¥6þ¯·»›Ë¿2©L@l”-B.@3"u]¶ènÞ2ÉÖ/eºÿ<ß¾µ¹}IOäáKÂ}¼8õÝ{ÛYÑò“ý_là䜴$GiÁ/Ä=í>t1˜cÒ§  ß ( šÞ]‘ÞlÕBðJ%”‡å©sW®Ñ ÀNšÇ[`U—Ëëv¬Ÿ˜ÃàFã?€›¿üÕ¯ÞzûgápÖÆƒµ$ý—vC—Ý`†£ßNÑÛÁp¯”²â•Fþ$ ’ÒWŠzÚÛ¯(R¬svãw©°#D¾E v¸ØÞÏŸË -½7Î -Ñ;î ï ïüfOÿzÞÛ;ÿ¼ÑÖv')ò úg—Ó{i¶tÜÿsƒ¿ìñz·¨•رWˆ[Ê]0 ûƒýa8üäòe=]j[7Ρê†];­ÿôIDATb¿»Šqäa ú=—då `ÝßÑ[`šÆv& Àwe€ˆ#bZ_§÷¿n÷’9€Ö"ÍJí¯úc€f­?Žþ¿p¯ƒ“KÈC2¶Dõ¿ñ_eoÂÿxŽ÷sXl +à_Ý€¼>¶H÷ Àõs®ž¿YZ®^9VÚ!º"€3ßêô ™¹ñ3€×uÌ=ðàO¸†‹?y`@?Z¹ -àHs/§Êù´Â@<­Ø£æˆB©îs–7ÌN½ûcfúz£bü§ ý9n‡ ?®X. XrmÁ; 3 ü”tåR^BNZ0º -pº´h x¤€>®É†§c€®cL ñR蟖‚@F;GÉP¦ÂŒ(ú€@ø?öH }Z|1ÚO"áX©´ÅYÊO¸Ž -ª±Pö%±þ [­€¾d Àš¦–8€kšÔ¢:*Ðé ÛÍÛ`¬Ïµé$îtÜimO[ÙrC‡¯ ñ…›‚Ìu\ÎŒ©`=ZtËuŒŠ%ÉÁ©u,Ý!$t}ÓËw:ùÀgdÚóVo¸Ò†ÈÅÌ]´T´]ж4ýð‡?ô y¶N8×f.º1å…&ñƒf#ïÿMDu\áAq €´ššNrVµVÈÖÎØ²ÉCÒþãiÇcæIÑû80á¨|µqY÷/p®ÚEÓ’VE>Xé¾ë¿[¿!&ëÎÅ»{\ÜÒº•µv+øUp®§n§Å–+ZtD¾ üê#) pÞ‚®­ÝÜì‹Þ ½?y€¤×«¹h‰BÉÏÞ¢Ú´—ÄûDD4Ë–•Ñ7íõ×£wă^ªÓ`«AØÎUL(ø1¶Äinw3•EÎ ÁºÐ ïî•O„%±ù ¿xè‚Oš¼3õ™êœ(@Bw4~*ØcôךVîxEþµIcÓ‡,˜¡Ïëß×mw×7³M×ÅôÝÛ¼á~3$a2 *ÇÖ»››ÿêмEäAyêìØàR‘õ @I}äúö{60¤–c”€] -¼ñ 3À À½ À_ýKU§}*õ¬¹%À}Z®]½*lOXo!<ÚzK;SàA €ØÅk»oDXˆÆãIøì>üâG½=€/ÝÞ1¥?A~1qÛZ1±ëx9)6É×Åÿr4ÀÁ-_rû7¿ùͯwv^qg;ÚCɰQrDZ¹=Á¿ä,# Ÿ}X\ >0n  `Üà^£†“&¾>}±C@žÂ¥˜¾²N€Ò<NÓ UÓFz -cb©ÿ‡&¤¨ß„J ›4ÅŠRÀ3wÑ«2¶ÑFýŠúÿÅŒƒà<€F͵ €#ÀTPUåw“}Cµ–€ÂFä—mŒv õ Ï'èëFçT'þëÿö>R`]I(®™¯/_p{2Í;µ¡¬‹ix"ã½ÞívC`¾2»è†Fº¿ä‡ý: C|òG:ÖÝGÑ\èÙÐöÿTP=%溨ƒE²¬Qkç µ᫘Ñ1P £ÖO7žz -|I´¦§„v]šü¸ö î¶þÝêïvŽç Ýâ ޾5 -F²ø =;p7n×¶¾}¡âÄ">´–‰­é=é6ײl{¹ÈvÌy†JNWåkÙ /¢ôoEßtíù¯gê(I/ßËWi¢?w:P+¿}w$ª7O˳b¡)@’JA/e ’Ó“†ÊÜj¼“Kë×}kƒŒèÎðVÍ_¢~bA{çòÝíŸ ;ƒ½—‹ýnwðÊÃÐokcyUÐ.€ ´þ~([Š,-Þ­)Yêa @¾²ÒÆ|O+ lÿvˆÒ¹Ií€HÁæfƒäÛ—o]>bvyHF -Ù ˆË\IÂsÍ×…ÀSóA €›NY~1a¸~ã¦R0^߃üþÙ`3?_°\þŠüp–öˆ2qíæ[ >uæ5ºü/ €’Äírðƒ3¥ Œ“ 0þ°ÝÂâfü÷—ko\»¡Å?ÞeD€3}Ú¿1x þË9MX˜GŠ~€ÿè@åEL‰>èã3ôcè/9µ¤27@Ðÿ¶À¿ý·¿¹ýÎÎ+ôXÚÿ%*J õ©Ä+3R£Ÿ¢y\‚É O°€ö‰JqCª˜AÊÇQ^úÞ8¶lðÌ3¦¥ Àn©%ìÿÚc¾a2KaœlÂJ‘ap@1íà‰¸À žIxð5ä þB¢´@3¸¨Ü…0\>Î •{M ÓêtÖè·e£µÕZzQ0‚„9™£(±µÚ(:+xbJÈÕˆJâ¾òB£Ž˜ö †p¤Çßë|C)½ˆ7]K -µÂèØ¨Ùe]Dž-g}éðýAO¹Ã>±!hWÉ®„ÀÑ`¥‘ Cüµ¶ëbv±7¼óÛ;þþï~wçΞL Ú»$Èê1P¦^ëÿ›4pÀ¹9´5}¸óЃÖN€K s· T"Tÿ_œè(_]ŠSÏ*ÈÖv`Ÿ–E¾ß û…RtƒÅŽ^ãsîÔ!Pál²A‡ñ_ì‡W´±²âýz:JG°Ö©­:c>‹ô,wõp{¹ÐšE©[÷>$z®ïÑënž_ô6<„$¶W¯`¯ +|`d[o‹ ïÂGRÓ‘„÷¹áa'ô€Eêõæ†r¯ï’›¤ÛÃbê "Cç§G‚ã -Šlwµ/¶$:t#”»¤˜?Ùòà*ÀwXýçE%1ÀLÂ}ŸÒVáQ?Tèœdà줘?4Aÿ€u4|Ìú´ÂMø¿²¾]¼ûÁûï¿ÿÁ»|Àú=­îÞõ¬I‡ä½TH ÆHÀÓ&T3”´À·~j6¸) €;zýõ`¾ñ?WümHh?%¯ï2áêwœ@^?óƒï?uú…¿6t;-/´ñÓ×Φ ä­ë»ç¢ÎýM?”þ„ù#🰠<˜¼yíÚëoˆ ›7„Üæ%ÁËÉê¿'‹ú•{åz¯R8DI|y_¿cÅ]«,ü¿÷ëÁíÛÃ},"ï¼ €°™3˜@fž>-€Šè/9ƒ„Öà)ýÓî?¦QgB]bK+þ±^ÂÝI/€©¾7©÷Os€ñ–޶€ €RDž6ô ;©ºªät„oH&°IKÑ -Ȥ.>[},à"°nMQK¡ÝÚR -ñêÒ-1#cG–š&tÜ0`!lå‘à¤D¯"Þº^–·—61? ¡Ífýüy†èŽÀøZv3F{ø˜lúÑžNÁ½Kt`4ÖAC²NâÇoô¨f´¹^ïö‚B*BÁ–.¨K¶šõZŽÆI#Àú\Uê¿æ°S‹8ä­¬Y_`D\~h @-E\M,e¤þû)qù¤àSWBï6F2=AèVï×xñ! N‹þ«y¾³âðŒVÉ1ë莨ïlm-nld +Þu ¬ó„¯€%š9˜Dºíù«Žò¡\Øî®z÷jã¥É ‘èj:T:»o=ÿ 8/h­çO}}ÿÕ*C:7ÒXnû³ ˆ!‹›kõµ-]·ûÍtpáŒ83:+åä•’)rÐÍÞuØûÄWöYl·K7ć$³Öàê ͹ Nœã=Û@ÿT?é$ä„Jö™T7ÿÐd¡F@›Žý4Al -Èpÿ×'Ÿ¿ûÁGÂ|æ»ݽ{÷£?þôÓïÞýôã>fû°DyPµ€Šæ@ÿ± ÀŨQbÒMS€«ç^xü[‚œƒürdxáÌ9÷JýŠÁ~zºr•i7q”´»g&îVX›)þšÔsö];ÍêuÂÍ߬ˆ\ýÿ±÷7¿q]iš/J¶%u‘*1:¸]º²JE¥Â¤”Mj„Ša†’f´™š!î¤y -žª‚trP(¥ªäÄ(Èÿ`‹LÅuó€IÚ,2O29P–Z¶)Í<óŸà®aÝšT÷Üç÷¼kG?$K²uÎ…ß±?×^{Åææ~ž÷YïZëƒË?Ûfhð¶ïšýX HgW:ÄsÅi"ü}c–(À_ìøö쥕ƒúϰþ¿¸øÑêo‰˜¡`f†*£ÿ¥Kz×챞Áƒ§@ê®þ€ÎR `ÝÌä!Œ­ÁÁvol¶ã÷‰  ÝàÔ®(­{¿ÌZ•ŸÕ˜ÚzÌ&^¡KK²Jô }uÈy‘¸àß»Úì|ÙÞáÿŸ[k›ë[› òwš_‘{,)z)ú%oT™ñ_fäç ìÏ.ø§¢}‡p›~’à À®€¼í¢`ŸéêeOéûW¼~ùÌ«E·ÂšØí†tèö Ñ Úè2t=øªJÐ'XÄ<Íã(øý´¦Ó>¸Ì`»)@ -àë–Ú+UË!h…O7ØÇ‚¹o}{ÖW²0'ð›ÖVë£WQf>Ì?$`é$^ø¯·‰Y=Óv¦}*üE¿þÓ€à€¤ë`«¬]gÀ €'l¿(ž¸®† èQï²ôˆvY:àÐU}…béÔˆÐe´ÆUº¶wD„@!}Í0XÏɄߒüÇšà_³xS‚&‹zíæåŠÛÛÛ­· œpQ x¸¯4vìXmD@p™úˆ^¤?‘Ú[©N9U´2ú -•£ŽÈ N þ‘° ÏÃF*ò°½¦|/hÃf1k”Ÿ.,¼«q2u-h…ýMs½…JYp@rã×5Ǧf[ì ”cMåS "i;s]s ·F/@‰ÐPŸI@é˜à’ØøêÀ;Í]GAý¥F죆;SºÑÏoiX™nkµZ8±´€£M4šö´9"½×!z@LúèaâyjÞmûîü6¬Kh-ê_÷·ÿ¶•_ºÄˆÀY®oÂÿK“n,Í1\`ûKÀ ±yÈÿI°œÎÜ íiK½´[y±ñŽ:^~T-€¢…U錞=ú2ÊPCÔAÄCf§”«¶'M)ú'I¢×V+åÆ×3¸ð@ñïZ$pñÂ~Ü ㇩ø.ðã*¥>yœò}éñXॾ>~+$̼@3À(©,Ö„ÿ•¿v_c©  X‰<§ñ/°ÇôOð5e›®¶šõæéñÑiíâPÓCø7æêÓ?×Îç²h4P¯7ë£À3…F¹ñÏ—5²árMthÞ8ŠN?!VB1jY9oÖtô‡[½£ º(Ùk+_m5êã§Çé¨4ºb¨ð¬^­IA” ýÉôH™ô0ÕϦ•\?çtµÊ’=YmVO&ú;8±ò8½¨E½Z›vhƒ“qb–5±rÐi-Qáq†1pôÕ£J5ñvu"»ô'›pè…á†o­29 Mxx³žº‹;KêüŸÄè0ÌÝHò©Š Tèÿo 441wwm…iYÞÿÊòÆÊ¦p_`së>`ã·×íTLxAÿüøóéÆ~>7®žG¸õw`# -½S àW¿¾M½Ë×o‚àÀ¥üý÷]SZ„«¾ß¤ë]¡'àã‡Úê¾ÁWsJ£«¿?H_À·©ë¿röÕÁó×®íêdà~gêFùÇO2(ÇÕógåûžÿÙµÿ½3ýìç?‹hÿ˜±|)mÇÿýDÅSµAI¿ë#Pÿ“î@öñÇ¿ýÍz@ 5UÙ¥Iú$Éæä-ìRNœ:¡{/'½W7 ìüyDÿþ€0@7°y»`ûEðȉ \ßÀJ7‚;žËö*ÛÿÞxùFó×c¬,ÐtÕXíÿÛ”$ZP‰‘ì”~ó©“ß² h*ðÿâM}ä{ái£U®4?E.”_¾®7Ÿše[¯ä#Œ%#ü–'™ •fRΚ^Êò¬t,#ÇMp{‘@,Y<ñ@qΧ>j5ªôøÒ¨76GH“¨ö–«ý] á礑M -"p6g§ä©Î•åÙ*C\»pwñff…ï´ 3˜zON—´TÌxróÙYm«*’½LÝdŒÀË.Ž\)÷š}x˜ƒ£Äè·-U7P6–-Ôhg¨Õ‘ZcÆ;™w‘Kº¡ÜÚàÏÿÿ×ÿå†Ö;l¼J—·Ã¯Õ‡‡†±Ø«•ׇËÚz{¼YÕááaÁ°v¿^&^Ú$}™lôíÞ²õ]YÙžÃ%{ŒæÓô -X­ýe•€:FzVÎ\ôí៟µBǾ.ÈøëÃãÝÑz¹¬‹ª ÓuNVI;ñI´Ÿ+TOOЬL;ÙŽkžŽÁ›Y­”{ËŒµÜÛ×ûg}e]‡ 4†(¸ 鎌Ÿ~Û¿Q—Ñ%⎼>G¯ÉÃÕ×^¯ëÐðkNó§1Äÿ€o;s}8à°cúìäý™1`¡è%½SÐNþt"ûcèŽÒ!7$€þ«†í+Õ¦—×pý…þ° }kk}óþý­­ûö3^p{ì`O€¤h_,½]üaZîhA€· -àï~yû W.S½þ3௃üú&]ô\¾~ãV(W öß3¥…Pý1“«μúꡃ¯ž¹b -hÞQÎ šè’4 <'ü—¯^|¼pÂhОºYÆã']…‡?;/Ì`XàÿÒ5ýìgzbìö3 ¼o<>=Fÿ4ÙŸÔ^:Z›Ì(ÿMë£VW?ÞX¥#ÀìÃìÙ9^èYãR6)ÎÎêÌœ&æéÛžÄïøüqÿ]É -óvq€…àQ’¿Oœ0·h ¬9ªÇNøßñ{žL(k²b-¤Eô ëÿ])vôÀÎ-NªD(I‚„oÑ VÂMåùÆ'««Ÿ¬¶ÊÕÆÅ™€KA>€ýAǾ1>®¬äðY4ÙÇo7 -¾Ukäå2=㽃_(6:2ˆG–{gì]mž.W3:€Õ~ügjѵAFnP×¶ Ì•K£vzH™„¸O^¶jmêǵ©liµµ´ºú=ÎfS®&ö…uÍÊ„ÞZ÷ïPVT 2³çBå-SÉk“•ÞÊÑÒQ~#æê§êMLßfp¹JítÿP£Bl´~!ÝíWéשæÜɸ«,ø¤ÙsYùõ4§ÿ“¬1×®[ ›a¬ñ#×vË÷“«ÝœhÊ寮ÎËó×g>ßÈY»£ä®/Èç§+™~  }äBÄô‡ZÌÞi´V—WW[óCJöaS?çBå‚þNÊ;kÌçMÁnîÿU‡œÕÇÇC©cHÏÜ™  ¯¹ê°æ*Èx繸»*´@”Õ‡Ÿ"„?cRÉkääymÈý%(jãÃ5ó¾¹¹fýôhkUH™ÎêÃãM$_¸ÓÚÐ|.·<’5ß®*]6×üI³•-NGõÀŸÆú@opÞðÍŠÐþH(|àcÞÅX{¢O€’ý‰,µ"¦ÆÿhuH?øß?TŸ[Y¡ò“?"™6µúïOì¢í¶C"4Þ€ú‰~‡ø_€¿–^e( võ}€Ûwóæ[(tP4슸Mã½sW¨œ¿~»òàúÕûO øÌàñWQ®ŽS_ðs!3¸1017 <÷ÁÕ®¶?qÆ/ømäO“˜Á㤂fÊñÁ99§8¿;MOT»þ?-b21°ÛÏŒG)íùSÛáÊEôþüÎo>úè·¼±±±Ú’óÿá‡9ÿÉ…5¦`3s¹@Î2¾(€¥€8ÿ¦=œ~'+ÌØo3sÀ×ôØ(Áop„—¿öüý(zW˜°›=œ€®¿ƒÏpZ¼r×ÞÀ+‡îPT ;[PV™Š­ßçß"(P)!ÌÿçÿÄë’ˆïU.÷öž8í -Çxü¹a}øƒZ8àÚs@Ö{€½:b_1f½ýÿá€v¤}ýÊ#å¢eZÓbÅébÞ™œjà4'ª§µ-ÏðôéþÓ½ý§ã<¤Ð’ƒ”¹äyo¯H½¸äG¦ÒŸø¡çJš.ZX¸¸Þ³¾þ¯ð³d=LÉô;uÈ%íø‡RaãT—·ÿ‡šúøÃÓé^& nrqËŸÝb(Ý_·Ðl4rWÙcDü5²wõÍÄ›WçØß,S×®Dþg"J@6-³ú@evcJC=ÍÚñ]ZZ­f-%Ô±²Ç ð€Çìê`××Ek'óFk¸(W7Tù†«ï^ÿÏbñJ:Ε•)É«]4êQ†Œr‹22ÓM!Äl¬^žœbX¼ÍJ%ºúQ&¾þzÍ<¤1Q›Hu¯Ó©1¦Ÿ‹ìS ë§›bFfµÎûåiÿ4&g^@Î(‡ÖåßpZi¿?û±¦÷¡ˆ) -@À¿ÌÀàˆù÷ŸÀ<²˜ø¥;4Tbx½úûJµ¹»\Ó‡~$j¶¶¶îo%Èßiü=ÖsæƒkçOéËk™ga¼dyÏ&ègÆX»ìŠ$€[ŒC|`àŽ€"àö¯E^={åÆMbŒÿOR®_¿ñ·ûN&¯¾:xüøà®vûæÆv+×èxp°ÀÑ~VŒú]Óµÿ¢ àëˆ]þ|pV Ò{‚^»íÃ}| ñLñÔØÿ/¿ËýÿöZø=•½taRøçÎG¿ýío?þÝþx ^.Eßn3¡'ºÇûý%pPþ4j -ø—?ûOo@2»ÿn JÖ–t@û’°OÏÈ ^9áæû²€tÖ0ð?€¿`]Çh+ØÞR½‚qg¢ì•3iã)…&*SÀ¾--Qœp À·Ü`›ÿ¦ÿãŠá3¢ V@õÏBÈ -ÌUŽòOXÝ}÷üoZ !VŽF,ü@o¹Fúò]‚úå!Êb^ó–÷â1gå~9Ñe]ÌŽëÉ·ªZŒf¹ð:ôî©Õšý›ÔÔtœql«ÆÙÉg!礪V•Ûéþº2ñÈ2*$B3‡0çY©¼¡ÕjY%DZ ~ÒÛ7à_‰éßÄ-¢•­2(¿Q~ƒö´‚:ƒ1 SÖו7²Ë¸Ãév?—é¯1Ñõ¥NÐ¬Ž æÙÀhåg #òî/Q-?^Îï!ïuBòdQ)Ò˜lTŒªDY¤Ð‹nÖȇ‡šJ‰ëm˜Û¤\N7r@øÇµÚ¡ Ê<®/ -…},Õ÷h-«ŸÖ¢Þ¬V[3³³3q˜c.LùE`V×IGµïǵèIIäc¤ÖxëtQHE=ÜWÕχ5L4Nf™Ÿ„?¦ :RžÖÏîd$›4%jdãÃóèÃõ–.Vä»7ܬpû…á¸òvâ_r+;õÀ}1YЊ>Vpþ¡ œ·Cpò?][€ýÇ?‹þ£´æ@ÿGßÿ¥ñ,*ÖEÿ£þßßûû!Ü{§. Þ´|yCÖÿ¯J0رËî@à–P÷W·o] àJGë€å‰`üïÄþw¦´ZwûýíIŽ>àø«¯?„ŸOµt€ðs+—Ï0Ðí_üýíœÔºúmðßOHø_ÐLH¿û£œ®kqùì ðé/OýÕ)}˜N½)$ì(ü^‰ðõyàx¾´ÃûÒÊŸÚ_˜üðÎoäþüñ?þîw÷þ`‘0â -@#~˜ÏÍú‹¯û àÄ Ûôã‡}“0@t€¤è£íÿŽH@P‚`ûDø¡S>Ñà  yþ:ÐÆu­'ø/¬›8¥³ ê;B ºÞip¢ÐÔ†Ú%àw%€€oKhcRà~‚ÙÿÐK3I5²É¬V½@÷¶•·jï\¨ˆô—,€ƒ}@»Þš_¨)¹_ùÂòw*ýåsÜMÐCxç|êŽöh]îšìÎB«åpp!ÂŒ’ÕÞªÑÿß;AjjYžs^m¶Õº39V{GøÆ{>oœ.¿¥w«Ê·*:øŽSruÎÚo|ÓF10_F)D“³“*|C.fQ©ÐÈf~ƒÊü›lªVËÇHæ°I€¿~™8~£Þwô|È/%vAWªÒ³ž<Õ¬^.ú)hÍÒ¨ÕëÜŸ™¦VÅm.nú3[ãÇ;¬öc߇F^­v#™›ÑéOF×¼ÍñªG,ï Æïì -òÝ€p²Ñ_iȧ>&p¶5â4ãO¥ß26›.žöÀ€ÜþØúCfõ×êËT -€¼ºÇQÅáQ\q­‡/&ÂãN‹ò7^ÞÏQ©ÜŸ‘[pèfKþû%€–"câ¡DT¦ôLôV.Ž€ÿ”¡þŽ€¼Yýa“{M¼eqå¬1÷º{ Ö&¹5eÑÍ\ÃAÆzc¨¶¹Ãpcz€¾ë‰NW@ñPó£ž' zŽóË™]€¶À[›ó±‚`GúJ}ÞÇð»ßí(AÙ+£¹þ²²œ=ó§Ö¼»¼¾îfÿÂþµ5ðŸè?¹ÿû×<°·Ë^¸ê^²bÉ»T–¿˜j»?€›·oßú¥k~ÝîP àÜåË×oüïÿ ÀÕ·ì 7òíÂýöD×?T ¾zü¸›îR~ŽpÆA€ûï~ùÜ«Zסð÷û½öx [Èÿ¿û“쿜Õíê9$XCÜ1`½üüëY öC þìÈ[ÙoZáþÿîøãÿ pGo~^þ;ÌÀ.ëüS ‹^}þ]â ò ð;Â@ÔC°Kt&¬Q˜'Dœ`è?¸@Jª± -@üwÕ¤gVoÚñŠœ| Æÿn …ì‹úÿ$œÔOUñ˜¾e8J¨p%ûÿóü¿w .8:ÿ Aô;ýú¸ÚEg@öB(OO­`ÉH£!¢ZÈ]¯pŒ´#*ÊHîrzäLƒ½±1úœ©ô§šÿ° ÌÞòRIÉïúy¬=Å'Sº‘·ÞJÎdA;>eŸP­¼u©Ú_Η²1|VÊàt])ÑÈÈ…ÚÈXVSÉó8P*û$£À¾#}}=/õ# ÄgfŽMVJ.ù[1²ªþAâÎr›¿ÑjBxV|ıÕqDtC§•ò>"äo5O7šµFµìvüÓpN6Ũ;0€,Ó-×OòOñÓMþkæccY}øN^.Oˆ*•ø S߬ÿe½õNJY”%›Ê‡ë"ºDXaàáÓ qµº -ÒsÀÉUˆI=ÍFyÆ®|ǨpI¸ÇzžZµÞ~2Ýk]üÿË:ã c.‡ïÁT£ Œ=âgÐ]Bék»õ×›µ‰áwÄU!“S÷î9à-4àˆ6'<7 •æÀ»>A -À‰Ú -€ÒÉÌ þD@?u–Òü·üo÷__í[v ò?mÿ#`ksëþöƒíù;lÛïî=Ösöò(i(àb–Þ¥m`ø×¬ û…×óÀúí[7oº€[ׄü;€›à´'ðdpízê(/,¿’ªÎ¾¯ šXpy"à”cDI®]¦W@Ãéø§­Î´ÿwÑ_!là2| yy‡ýU}|ñi -à'ç¶R8ÀŸXü+]Èò„þrÿ…þ¸·±j`Nøßf;«º,b¢%ÀÞ5(À›øûú´ÀJ§ùn ÿ‘€ôý¢üÔ‘ÌN;Ï›‹­çQû¨ã¨cÝ |jlà¹÷°áð§Ðiþj mï:)rþŸþõ*|33êSÇÀÿÿ)˜ -'q ÆÇŽÒL¥|à@éØ=ÈÑ@^ Ø×-ä…LÚݨ\¨õ÷šDøÒ:\‚½dG[:ðŸûÞmˆ)gp‚ñ?¬pã­MS#cµþ¡Ð@ã¾€ü¿ŽRê"žƒç¾€·é×§úN¿àNá\º²øó%¯•(9@Sˆü:™GÓ)~¦Ïp ÆD]Ü N»ÞriGýI°ùnóñÍ~wšnrj¦>J'ÿ…¹ñFfÃo ÷ª¯o@ÐüIÈ?ÏÔ{‚à)Ä€ -¿(n77F­(•öN9ÏÕr‹QŽêþÕ8Þ쎢Ïí)ˆð¾:áêüd‚Ôækud¼Šò®‚èʤP9`" - ¹íÌÁn¿‰ð˜\èï£&B€ã—êUÏw¤1ö® -òzÃI×ï*ÈÄd0‘áúRP¢8ðÝ^–¦¾€rÜÿ¤f,€ÃøúšBxÑïf3‚¸­0þeþ‡¥Çó;6 žÚ´Ê•jZj”†İ¿¥Zvwe `j€MaàÿÖýÛûKgö³ÁžAÜÙº_µ€¿Œðëý,`0ìÆ5P>À/oÐà¯o]¿rù<à/àVÄ -ÀûWoÞºù@I:‘÷]Óõ뀳¯¾úêñèðWÛ.ˆNpu€ÿ.vä­Kyë·üÿøðÿ«ËÄÈ>ì~Öö‘Ü€E€SÔñë§'øw¢Hü|„ÿEoÌ!€UwiöFðܽB»ðüám6Z€¼÷.ÓVB{SƒàªÐXLótüçÞ¯DÚÚàmRw - Ÿ†x…O°ðM 82@źd~ï2“Ÿòâ©,–8PÑ‹xRNðQ‡€ŒÚC–å%º¬òU‡'àB>wøÒV@ÐÁs&'Ëýr eG½Á˦Ëì¢S£¿NoÔúË œV×0`UZ©¿åN|eî°‚ÜAEa¿HII§ŒÑ¥©Ð+’'ïl½5Sî+Ëá ÓoJ=ö•h°¥Ÿª½þ‘¤¶Ü16ÖéI×ÖŪÜA˜”ïhû§›þ\–ðd—Måòô§èâW0lÜ £å~}nâ5*#Ê-WWÄ@€xæúý¨'Èûkþ=bcLí?¹cc¹py¬‘UXmèOrT”Fí/Ç›h/ôƒ,“.:•6Tù¬ÍI(•ïõщñÑ ËþĿ鄸?v À˜ðyÅ@â„*€þtúãŒÔ.V1€Þ’þ2"—yý‡uˆHÍñ#‰4ȲŒ>ã†`\˦´æðÛu€ÃÐqàwn‚ïEçŒþcðÆ£ï(úÿ±"¾3 ¿[àHRÒ+œ|þ$mˆñ‘×O¯2Ä6­—ÊåRŸö”Æ'‰ øO­ÿ!¶·¶&Èßizïµ3ÀTÅ›ó1ø/œÐÿyúE`¡ü‰Dè´€œ=s^àé£ýÓEoÐ ÐqMçDŒû 2‚¤VW8ƒNCwO¿ðgçôXü÷ªYŸ°ËÄL¢/ï2p=Á¿×Òi4>¡Ë¦Œ®ŒÜénr†'êõFót³ÑÎAüUþkìuk9 wNWù-”þ¢¿†;oâóã‹BîšûÛmT{ÝÜKéj½Õþc\‹îu7êy.ðnFÆÝ(È™x­ÙhŽŽ» Ä–P(‚ÀÌ”ò»˜—=˜¦ëÒÄþ¡nØ…™²€¬ï@¿€¬)ü¿DED*G 9$àÏV««Œ*¨Ük?þ±ñ?FDAê§õæpƒ‚ì®hüN,€œÏ?õ¨§H¤€ýiSÙ´ -îhP(/¼¨=ñÖŽ´ÁP¿S+õèÒ⿃oõ˜‹‹UÐt´·otn~ Û\Aû_»_`ó>€´ºŸ%Ÿ—…@§)È£~ßÊ´ž—Q;/ ¼8¯Yà¡Ü À9öËÎAè0@(øì':‚Áö1€«çν:øêqǶG¼~íç¡0äÐ qƒÛ·ÿ1àñÝ8S|vLôcšØ ]ðƒóƒF°=w(Á€~B~Ëþñè`zŽ|@öïP pt$Cþ@ÀGIèjð¸:¼hsF3jú{ÛMΞ?+ØŒÞø¦Z‰Þøú,S€ˆpqöFèÉ3¯JX¦;ËÑ„å¢ -蘯qHÀ~0¥g]f À:ëCð†Ð¡ð0@)À ©ÿŽâ -‘ˆ‹)€æ ¾™”L0þ' -@XÛȤkË †ÿ”€”Ž\d³À"¤e£e@ç±J©@,UþBï ð™a„Í& -üÝgHÝô7¦J)à/œ…à¸l@r`DùˆMÔDÜq`:^0[{CGí¾~@ôÖhË<¥=¸û: Ÿc°~!Nn¥÷1—€ÞÅqøYî˜÷xT€ê%5µ¡hÙ;£âþéF¶Í €ÛüÜ ¶Ãä`f«úxÚAþÂêïÔ³úpó·sóhý ®Ãá•X°» xÍK®V‘‰‚ûna¦Ba¦<éwòÆÈþ;~¿~¯ ÛÝN~OVxU¿ÐÓ s”ERx e¤HÆ?àwkÂ1 f"n¯#ëëïëÍî2Ð -îÿÚñëÂÿ-ÁÿööþÍÏœ=³ë£Ù!€A|/ºXÕë1^¼¼B÷3¡­Ü~O¶¤ˆܺý«_ÿêÆ5áÿNÀøëzG #€8¹Ëù“ þ“Ó¿Ó¬œ#À½ýýÈÂå -€xÆ™Ë×nÿÃíWÏŸ¡+à.”OS|º§›?䟀ÿÚøÙÏ~ö%€Ÿ‰/%TI÷¤°€vÊûyIþzzÄÚGþÔVª\ºóÑoÿðÇ{‰°íxðåƒöÿ |Œ¦þ¦çßÄõON¿¹; @[m Õè)Û' -€§bÅÕ-M¢ðš‡Óðëž4€ã‚q9í‰Ñ°)gç¹ú'K%Ò…»"(ŒÅ6(¿ÿÔ ŽRü›¿$\øVÀ~ýwàÿ¿ýÛ¿!ôQÑŽ— Ì -Û…ˆ¥ž¥¾{.­CУ£×Sßaaâ‘øèp´tA`„æ‚oTˆ Ô«[/õ)FtK°8­œå×1lÀÍQTÞ7Ê‚â²NwJ;§”ÃŽ¼2¸p¡Ú‡l:‹žJ Pzã7*GÁ4d䯵ûBm ×~¬¶À~r÷u)¢¥:v”©Få…’…Ÿ¯¬õc4ðKY¿9@À‚ÇÑ£h .í_æØ…ÿÜßþÏMIv˜æw§¦Zz‹Av„¬m§›¨ËïÍV‡ó $q1€)“€$ÿgùÂG«œÔ8ÍÏÓ3¸†¢ÐhÐÕ!ù],¿ÒWkô÷¾e-}ÂãÁ*´w9Þ uºåWÜÁ@oÞ1}µzc"[-ç÷.1üžŠ¥0ü3ÀÂ'(õÓuŸHndyQ 쯙ˆô£è¡(õ½RÉ[Ãå&cÕEê!FD1ɵ:G—*Ç,y‘i´VpÃÉÅj¾Zw?ÁоSës…?Î?8D€ãir €þ¿"Àh“ÑÛ/m/ÂßõD#ß!þÏÜvÖ5þèïëí+6 ¤æe=5ÜÚ¢ -Mû€jçGœàø™óŽÐë¶íÿë¹×¿ KxݱPhhà*Íÿ1¨AG¸ 2+å­›û(ú]fG{?ƒüˆF ÔÝWoüœf¿¸MÅÿÙË?w À¹ÁÁ³û)7ýiOïvÔóÓŸ_Ûvl±qí$€kWÅ—¡Nï²ÿÈoôoÍGÛNÚò÷ßÁŽ ¬Z¸÷Ç?ÜûÃïö‹  àý¬çåƒ/ƒŒ‚BðP*ÄLøêl§7àäïð°€øÑâvªèŽ0z·ãù±t[- ÈâÐËqÝ­0P­E‚ À#m‡È|^Ûx¸;üƒç=Zý÷8ÿˆÆÿ¶ð%AQñép€¶û/û7þÇå.ãx Üù;"@ìëé¡áϾ>½p‹õjÒ¶°RoðßÁ€("øÔG1„×èíýÚ ÀF¸8rñâűL0jÓþÒ€ëQe¾©ëô­CxKpÛ?Àš¹…Ø…Ù Á†%š*¼gr¬¡‹qUYªÃøA¯\HY¥áþ£##“,´ƒ~ÿ+•±¨¼H¿åÏôaăÃGLôOü'ƒèú#*¹ã“¥û'‹›š8–osÌžÃÀ°]&˜X•«9)äÆÖ_‡É¯Î7§Wç†sùæÚAfå&Ó`²‘]êwÙzûˆ¾ÿ1F3šš(ÓhÓ _:PCsƒKÚ\êZ^šohsj¡ž·ÿvA -ËyöI=û¤9Ê`DàQ•*Bñ”út¤n\¬ƒü´ˆrÀãj#Ye€ˆÆe¨”þCãõqVÄå *þ'³|ô΂˜‘ -2-ö1Zô -¤"2zÁRuuu¢~îñ›ó`E ~°B8Ò5€>&VÒÇ 0ß%€422öKOäwgt€Ï?„ïþéyèç WB¥¹(àßÚ\Ù\Ùrø¿µiýÿÁöÃ=ÓöC;ü;?gÏÊK>wÙ -€^Œú$ ½<÷XÂìŽ1@X‡Žàꮀ¦¯£|„½à/»lX×lÏG^¿pýUMIpã€ë^XøyR~Í_=Ãøƒ;§Û$ÓÖÒ±ÿø…ò;ðçÿEàç× -0𖇥û"ü—i[Øn -ð¿òIðï<5ÚL‚À¿‡•.\Ê àbûÆ<ÎP^ø7 ê;ƒœÓmAüPX)Â0C© Ç=@' - Àñ®û -žä>Ùõüñd¾‚›î¾¯hF· >Ág&! ›TøñÖ¾ŽÐ5[ØI9é6øú’€áù (ÒT,0ª®ºþ 0á‚Gäj Š}=Âþ¾5>r´O/(»&ÚH¡¾Ü®3`{Qø¦n±¼$&úÎYñ!¿c‚`Z¨3‚ ä‡èt` à¨QôÓ"«ô*c!¾2F -@9à¼þmÜuäNê -’°Ëýhçøß,Ì xi§%p~‡“[ü3 ]`…ÿÏ_ƒšþ>v^füß5Ú:üo“aîãÿomÓp×´ýàì^;wö,ñt®ÔN-¤xÇÆg_Kݱ¢ -àV¡œ;w°à~n\{ÿÌà¹ë¡\£ÏßÇ¿Ìp¯Y„tÏ!¯õ¸Èà:ø!7n_¶·èX€‘»Ñß“ -ºÛo,Ðþqf@ø¶›È|cR|}4óÀ—ù™ñcfüÿw²#µv @RèŽÅ¶+`¿V€a - Äj&pêÍóç‰@(x@„ÈN¶% øÑ!`Š\óèíÂj¡´QÜ2¯ã4ºOôéiy€àcq¨7Eprb;2ÅhH <"ÀÔ×W _ÙÉÁÿ“§è Úât€„ Ïim×?ˆÕ–„ÿfrÛõî¿ ü—CÎK tàÀŠ–q¥Ã‡ýÑŸ‰ œtù‘’ÀV¯ìÞ—ðÔC +¼vs€h€Æè{zƒ£Eµ\2A8j·œTöÿÊ^¬ôö¿§“¹Lé}(Žz -‚˜F.D½Ã…þÞ7èMžÅPþ”.JÄn‘«{QN¿+ÄhýPD\þoø•„P ã4+Î%*jÿfð·ù®béVÓóX±.›š”Ï»0QkµcïmÆ©¼µ$´›™]ú¤±Ø¬®v€lðËclšêwû® -ÿÿF\¿ßkdsVju*YJµ~ÇÄeèÌ2lçÔ½QZßuD [XXˆ‚´ê­æè'mb?#&0CA6áÀÅL@¸•g w*Œ-…ðÒŸ¨–5i3˜,FÁ{²2 #gb£ Œ!µ Îñû¼Úš¨ßû(~Vì¸ÓůIrªжœx÷¨¡èÈïJþ©´úµ -€¦¶½Ôû]NVJDþÿÍèØ1€b£óËkkëË›ëîPßMA¿(Àƒ¶"ì±sg´ÏÇ@¯A·ûÃ? -À›s?KÝ1Æ„ÿ“@À®VôË+`FˮӞÿ"†{ÍŒúXZ/ò²p VÀBÿ=à?@^U²ë·~Ñ5Q”ý,¡·-¡ý>öÁ×® -ÿÏŸJãÕuY:WöÿKB~fFû€üôàD“€¯~*—òVCøã½ÇÄ<¦à?Z zÜÀøßfgÏ¿ -{ãÓ € [oë5)— `6Šci%9 À^~ØÁ ®aPÆÞ /]èõí3u®VŠlc!#œ²øÐKžn@N{‘ÿ“ÿߥ|p•V -ü7üÿÛ¿þ« €!ò‚Ðö¨ØÞšém ü—èH“^nFÄ#‡ôùs(@Eì æ”¯·7¢<ÀŸšÐ Ù]{øÈµm•ïï—½0I8µÒ€â ®+cG{@ƒ=b:³ÂHd¾¡¬}Tiú{+8Ö'& §”Ê3˜ƒrë?ÐOÖ‡;Ñ}}G!ü×¼dzÓ6(fRë?ðÆÑòQ®V©´ñß7´cq»ŸÛ˜u ©}JŽw}ujòÝpy }ãÈÌìÂÒÂÂl6»º´Qo 3HþŒkÜYÌF_|uý“Mfùi½ÓK¨0*9øßÒwLOú Ñ©Ž¬z¡Vj¥JøÏX¾ì×&Êþitb)zɽö"+ -²´ÔšhŽßÓª`?ŒÙ Éܙߓ¹m6K̘å•r6âg¢t¬Vi Óë²±‚‰¤‚, 7E‰Ò +>™.æ‚ÌäKK D %jä»±zÂï¼ÇØ‘¼y@?Æ€#îì†&8¦è@»÷W´ÏÆÂ«<§ß ë‡\ÏE=‘€tD?ýý}½/”ês‹ ÿ¿²Lð¿åÀmHÀfTúï²³?:»Ïçøñ³m€—(F‹Àø»-AtÇÎG«»ÛpÎUÄ\AðÁxæ] -À“üCzZäc] ùÜ«ƒÇíÚ÷5ö_/_‡®Û -ÀÍÂ(Çã,wÇäï´®^ûàê9öÔ. §çÿ•N ô[@ûðµêç%36½ñ§·®V÷îýáüÇÕß>¦€¿*€ƒÆÂø‚›Ý-àS(ia7p¯¯5ûÙ½Q@œ; -  œ üwwýá:ëСƒñp†`aA -.9p3ð Ð8Ûsr#¿Xb¢†øÄ+”Máÿ[ÿ׆H“)@€ ÏcD€’'>¡ÿ­ÿƒÿ€©‹ÁdäÇ.TúûµGJ?(õõöõ¼@”/«D€KùÌGŽö FATá+è -8:6b0kÝCy†ƒŠÖú{ß‚ðõ›ž¯ Ž D>]È}¬Vêí¯¡Hø#ž ³"yaGE],^´+0ŽÖŠ™Ð=­êWE.ÉD€~¾`=¿è%~}0ya®Hó€—ô‰ñƒä!sãŒÿp)n(–îqçŽ?» »wN4dÛÈ7꣫³ùêÆÆêLžµVï­2’Þ…ÖÿùÉ'ÿôû¥¥{ùðÜp¾DÿÄ«Ÿ|¼”ßYmµ>!J~™N7³Ú(—ÕÆF.ºoó–„Ú ¦>úGl5ªÕ™æ%d€ÒÅJå¢`‚¾ÂQýo¶VáêyþI¾:>±1»°ºñɪ<í…{-v·–>¡ «KŸfÃsoSŒVëãO>nå « ʨ±ª|”´^®g*ùRþI–ßÑO¹× Ÿe:õiÉEYÍ­D+odÓY¾º”-¨ «Tyø‚ùÖêj^mü^åÚød)»“·6î‰îäù‚ʱqï“OV?m¾Ö_UÁZÚõ™ý/ÜéÞ神¾ÛÞ¼v¦€èÀ¨Ï¿νæ~Ò¢€tÁþ=¦Uÿß™1Ö À$€á4<:Hi G g 6wwm}®€¨þ§àþöƒû[¶··4ígçΞÛçsâøÎŸm+x €ÌàýnàzRÉ{iþ–[ï-H˜ßý±®³¯œþïTøÒDð†‰†»† œ±PðµàÄí²ûûàêÏ®^µÐW²tÂ.û‹´dåÕìMë] öýÉ>ßÐzÍ@rÚãÝ-Þ´Ú|ÐðÔ±ÁÁ¿ (ÅtÌ8¯ÃbÝ2}Q@~:³[ ú’¿·\ƒàCT -@:f}@Ö è@q€„ÿÊÈùèÜ@ûÇ(ßX‡ -€J– «À1âóq×RnO»ßMÇú~Ðدà× €þ€˜8ÏýŒàÈø€«vùäÇ.àú¸È $›qkb5°\Þ? Ìja¡ò iu’éA£ÒûƒF:ˆ-À2uÝ+;vld¬6åŠo¬îï=:±’^[NeãLJ¤… ÿØ^ñ±Ã‡èwôþsý®úŽ -€~_q -º…ªÐ&eü×ýð_V¿gÏc£o3ð~×wtt´Vo6«ogõúøh½^Ïuu$o`µ1=Õțï)73/&2Íkõj]§Õ›½åxx#„€!¹Ñµ¡j¥:TÖ Ÿº^=ÍþCÕry@2{ëŒÈp2Ä#ÃÓÔ¸>͵Çõnvd–n͹é·_c0>ô –¡tÕº.1ÚøË:ç(÷ú°¶š:=1Ê“;ú©–û«Œ=ånçÊsÕ¹lºÑgTZ—£>:N&ʪÎ0Ès\[ÑOåˆVÅ$f¹#ºètsø?QŠiä;2=(òÒûÀmqFáµ€œ9PŽKߎ0¦'À÷1€Þ€® š:yGi³éÿë:ó0€ú;2·d †¼Š€ +êãohšš$%fkÈ{ç‚ Uˆ@j ¢Þ;¯ÆDé ¨2‘V‰œ/”=2ç2µÆ»U ÇdCpêíø4L”&sUc’Ä$&™g ± +u*‰!‚Sxû«sê ÞÀ«¿þijMªªîƒ¥à!`URG^Y½xçBAeìâczLÅî÷Žô—¬^Ä«A8 —EØbK "QQ'ªÖ©ª’í2 /Î+Ä‘Wï©wNÅ1>tjB‘í¨zH·+p"™W¨F3Ÿ‰8õñ*…HðÊü’¼×—pEA¡(€P:A½w€3¡Ô×}þ_~>¦Po4šÍf«ÑhÔµÚÆùùååÅÕÕåå囫7o~œ:?-?X^þÝï–Wv—,'s‹S0˜œ|˜òÏ×†ÏÆP’÷×z½^ï°×;++€Ø|Ç6àÔ`af¡ïüÙÙ ÌÎÖj•Jeá³e‹Ëïì,/./.,ÎO+•C`çA@dc–ŒM D”RÙ«F¿Ñ¹jõ^’Ü3óÕÄDYË,ó˜ˆRÞX²DLÌd,lúEjcŒILbŒµŽÿØ˜ÔØDE» +ò"PñbD¼X"cX„•ˆˆØIw˜¬Iªå™›ûŸWIM5æ³66¬mþªÎA¼÷€×àý­ðOSkÌ/€ÉµÇPöÀêà¢( <â€ÓC¬R‘9@5|œW%Q©‡z'£¤Ë‘&Ôf°‹Rþ 0KWÞËzv¤¬NI©Tf+•ÊÌìÌÌLev¦Vû¤R©}0X\~`qyyyqaqaÊ|®Ragç} ·!ÀH)TOBDLL”Œ!e®2W™€¥ÔZkÊš‘ àI%¢Ÿ\&p†;lKIJ¢¾%EÑ{&ËlmjÌR|²ÄX»dlÌ&ÈŽŸ3˜/DÖ$J’1Ìņù=²éXN“!d‰Ù©ê8ü]ðÁûIø—ñŸZcUË.áϽ–28Ž„Ås(ôPb‡(\úiy ÞS‘Pôç8â9Q&G.‘ K$J6Z~¨#…”UiÕyx§qØH`¡˜ä+'ªj\bÑnNEºÌÝ.³t!åÇL™+‹s峈 +¼WGñóaÏVRRÄ[Ø9)õ‡<œˆq¡Pº®f¿ú|DÐhÜm´š­f£~·vwá³öéÅëË««Ë7?þxuõÓtðã›Û%Àƒ¥ù¹Å©$ù:þÇÃÁ0?î÷zý~¯wh×òƒx+üÓÔZc~ѯJEòpÑÓì„`Õ;ñŠ â ñP±²WUU/¢P-Ù} +•TËå#!r"tUTÍeU=öPab(iô]QeuŽ1.«hWY‘’ ++À,IŸbMd*JäPQ— Âj»€>B®ôvŽœ@\á3 œ‹ü?z÷6àϽ| ¬ÔWVš+z£QkÔ*íW¯__\]^¾¹úñÍÍøÿñÇÛÚØ1¸ÿŽ `Ó€ƒ^¯ßïöW{‘”ä½½<Ï÷ööŽööòãã ìÇ  ¥ ôJèçƒ<_•ÕÕÕÕµë +àíàv ,f?¹îÌ,ÌÎTj3•J¥Vùä#àþup*ˆkkÓYÀî ˜¢p3‰Xé3Ù4Q¦4)»€sɽ{IbLj¬µD¥KHÊÉ œ9Äp)v38M4º '’Øibb!J ,ÌÌ]æÀ‚„Ë䃈™Å0 Ybá Þ!JMj §æ^R™››«Tæ(Ü(±–ÄZ%f?™û{u>„ðÖퟦ֚%óË*Z”¶@Ê çbÁ¯âÞ)ƒ÷A¹,çHl€ÄÕÚÕ¸bpÄ"‚X9È(ˆÈX‘H¡r£WUDH¹KG^¼BpP… +©F½eU…sÆÒU銩ucˆH„EºL†!ŠLe‹0ì!^#•W­:: |Ißõ޳Âp°˜,ƒDÑ_Àän½Ñh4š•F½V«UÚ¯.ÎÏ/..®ÞüøÓO?ýô3°¼ü`q~nñþõ–ÜqTœ:½^¿_røòýÞ~žïåy?Ïóü ·Aà(‡Ããáðx˜ïåÃá0· ‡ÏóµáÓhà“#ÈêÚ à›GïëÄ&`Ì*³•Jå“Ù™XÌÎ~2;óIe¶öÙ‡ Nýß.߇å²O˜‚€÷A€j¢$dU!–ÉÚÄØÔšjI˜«Þ‹½µÖ¦ñšæX§ó8sÊ`)®Lt¿ÓÈ]“¤Kd­³…¤¤P×eá.k·ë 1"ûE˜IÒ8ަ=ˆw˜ÈXcؘ{e0g,Y“[eKÖ +ÙLJN¼w¡ BPu‘u›šéðŸLH>8 ìê@bS@2•¿¬ƒËPöÿ ªÖ*DT•*B gõH€£8€XkUâÜM¹Ëu…HíªB”Y5eæ ÊââgU zÇP2ªL,^I D$J¤Ò…0­u»bÄ ‹%Š{ ""¤;€–Þ_â=r%ÌqT‡GÀ‹w„Dœ€ðC—È~åËG ‚”ñߨ7îÖ>kŸ¾>¿¸º¼zsõÓO?]ýËs³¶¼¼| òè»}µ~'p¸_rxöóü Ï÷Žóã½Ã^ï ÀQ¼ý‡Ã.ýC%‹+»Q¥ÿèÈe@CÅúŒ%Šú€ `ü­R¤ëG®¾ ‚¸‰·ÊÌÈ@,ÂPf&ŒU…I!ÂìY-çó"^˜c‹0‘XR™XÙ®ˆY]í‚âº!Çø¦RËcU!âͪ—,®5•z`B¾ÔŠoÄdÈð‘磚€ÆJäÕïÖ*íW¯/.¯®®ÞüxõÓÕÕ›S€Å›QðY^¬Vï{—ÆCÀ1 òý^¿ßëïç½ÞAÞ;<Ê£X>ÈóýÃ^ž÷z½ýÞa>Èù`bêðÇ|-é ‡ùñ`ø|`RPôÖzkg域_œ}÷Íööööèäl4uê³3 õæÃæçf½Ñh¬¬4šív£Öøí¤ 03S©Tffg>™ýlv¦R©Ôfî/ÞC¿[û‹o3ùeáÔcìxó^ˆs#QâÜf!1IµR¹'vnœPT“¹$¹g¬I­µ–­Ä[-+Šeìî:€ß &zÔ +wSbí&±À¬]/Ê)«——ŽIXi0*Ì~H7¨1»Ž™hÌ”CIr¯Z™L¬5ÕJ¥{ìbNœóΩ >xu1ü»ÝÔ¤±{ÿ<¿´ xk]´ù‚CæÀ ™ "Ú]µšeÑbƒã2 €U‘1ÛÆ’ñÊSd 3 â˜D…H™ 4îãt¢{yJãM[Èj€DËNfV"”ë–Hd•%†I$ù [ˆ“PT•¤LaT¢§ààÄ"®ô(ã.¾¿¸Þh4VZÍæÊÊJãn­VÛ<}yqùæÍ›«¯þåÇŸnìÜŸ.„————çª×ÀÒbÉ·üwØïöúýÞáÁA¯7Õ"Ü;<<Ü;èõz‡×4 ã<χÃgùZÒæƒ<>ö†O‡ƒ<σ<Ïû½µ^/†ÿ«óWççWç£ï¾}·ýb4FúÌÌÂB½Ùn6+Õh4šÍ•fks£ÝyøùÊŒÏg•Êgµ™OÞ? X^¼¿¸¸|ÿþ­×Û=€Je®Raæ—…S‡C"»wXEç®]‰tÉT+•ª3Žÿ¹93W½—ÙêLdXI@üàœÛÙ-v2vIÈD¡y°0uY’®t-uY4–ù䜳8-¬ ³‰8¡TÁ*Ñ÷–D;`Jɤd’d•$%›T+s‰I—XX˽xàÔ‡0éüw»&MãBÜ8ü¿ðKvÊíöc3b«\ ŽÆ«ÂdÙìûï³LJol†A„dÕ’-™„ âÆ .£5e"“‰0+@FéLUˆ"±^P¢ÔÈÎÎC &Ѹ´CÖÚ4r8’.±°Hpd#þ0sš–tpÀ™¸Ú¯e€íbÉ@Aö=„3‡__¸š¬¬¬·šÍV«q·¶°°qv~yyõæòòÍO?þô/ÿr+¸µWÀýh•³4âKÐü×ï÷ûýÞa~Ð;œ€ƒýÃ^~pxØë]ãB>@©*\–ƒ<ÏóÁ`P®Gy²³Ñ«óóó«Ë³Ñèd´µõÝh4uj•ÊìB½ÙnÖë1h6×Û'oÚ­Æìììl­V¯}6ÓüÀ…™™ÙwžåÅåÅ¥åååÅÛ¯ïÊxx; ØÎð0Qe‚˜­½7W©’ffB,LÌ\’Œ¯Q6d ‰º¢úßN`X‚°ìÔªÜUq]£„nWˆ„”Y)ŽØ‰¸ë˜CHµ Uî’pf…Œ¨Švø'"!ËL”c3•*±š˜‘B”Äé÷ÁMÂ?µ&MÍ8ùßÍ®à—ìÂ`˜¸$'qÖ餥@†DÝ”±ÃqÑžc¼PÜ…ŠBÈYf¦n± õ`sFi’Xâ¸ôŸZŽ +"Ua€H˜¹BBIÙ1aËàl'l´íz§Â +µ¶ÜëÑ +-à lŒ%.=Œ \š( +Å]G‚E¡CŒÈùK™ƒ®¬4›Vk¥Þ¸[«mž_œ_^^¾¹¼zóã?Ý€¥åëG€ùÅÅ¥åÅÒ+ëæ Ïóü°×ë÷ûý^??:Ü¿þûáÞþaï`ïð°wX +úý~¤ÿŸå½¥ÞŸ†ùòAÌÊúb\¼:?¿úéjôÝÉÉÉh{{4:wf* w>o6ÿª^¯×WVVVZ›O¾ÝúæÉ£Ï›•••õæLåªT*•™ÚÌl¥R™­U*•Êlmv¶ö®G©0¸~}0¿,œ‹ªïz &Y€ˆïªXU¡.‰¥äÞ=ƒà“ Ü3sÕ$æÿDl¬5dS˶,ÜW Á{u2çbÅ…s*"N”SÕ.uE˜ÈƒU4*w¹>Rç´å²¹\ÑM‰…‰É¦ä˜ˆ8MS›$Õ¹¹¹jùiq·€nWˆ8@TŽŠ‚ +?nýu»d§kÿÝòfú>˲¬\¸ÿù“beš3‚ ã& Cܪ•Øo·ÎACÉ_`!Y"ˆj¡â}¡ÜnpŽ»’E'±8%N¬‘Xk'Û@Ì A—˜„É’µÌÖ¥`À‘0ÅiJLå-ï‚z8 +¯äc v‹ŒTŒá²+aÒ±¬w©äI|ü¢ˆˆ dɪ:þ‰ˆ°ó«ÏG©7[F³Ùl6êå2Ðë7——o.ßütu£¸Z\\^¼~½_ÀâââRäǾÿy<ìçy¯w4¾éÃü`ÿ ÌþPÆ>æÇù`8ì-õž ó|ÜxœFçWW'£Ñèäd´5::wg* Ÿ·ÚÍÏ#´Ú·:'Omc Î…"x/à„Õû—¬»pX²L²ãDvw…H“”LJ)ªŽ½y”LÄ–ÆÛþe) .8ˆ!&`G !]뜈:„¹àº»qPQˆE¡]5†¬%bq€wA­%&ÏaaÉ1+|ÐP„àÔc»¿ú|T°ÕZi­4ÍF£Q«¬¿:¿º¸¸¸¼|óæêÍ›«›ÀâýÅë×ÅûËó•dz.p;üùþáao¿€¼7‰ÿü8/oýý~¯—ó|˜çÃá`˜ùp˜/õâ@ñyÞ+§Šù`PÀ îŽFg£ÑùùùÉÉÉéÉÉ(fõJ¥V«Þl5›õWõÆÊÊúã­N{ãÑ£G­Öz»½ÙyÜél}ÝétÚµÚõŽàìLYÄÁøµ2÷~–——–"¸|×Þ\¶Ë$àüÝîîn}a2d—Ò”¬IÈ+L|oj®87WOªI™›„, [€£2}ìr¥Dd»êÓHã9«M)MmJÖ&QK”Ad­!klì+Œ¯=”k·©JɲÖZ“ÞKLRM’dnÿs)q:7—$† ¥&!!R0b矉ŒI¯oÿÝþåío³,ÓŸÄ;(DÕ¹—êcd¼§ÇDLÆkpxTâ¸=ú¢!ˆðÞipÔ âPœ22еp Î2Çœ9&¢D!,,^Õ Ƥ©%²6µÆØ¸s%¡”QäO,¼s)©Æ=+²p™sN%òˆœÝuNŠ,À -)/!Àû âm”¡qáADÄÞ#ªðÎ9£¾ø‹Øƒ7+ÍFse¥ÑXYiÔ*í“‹‹ËË‹ËË7o~üñÇ›D wÀüû Nîú‡½Þ~ÿ0ÀÁ8ÿ ‡ùþäDZ`??·ƒá ‡Ë½gÇùñ°dÊA2^¯œ^½:ù/'§§'£íïJXX¨^ÿ¼õeó¯þj¥ÙÚüöÛöÃv»ýèQ»Õlm´ÛNçñ×[[_oušÍf³YŸßÿq3bvv¦2~Y˜‰›ÿÑötqùúíòòâ|2ß‚7±˜@ÀŸÿ¼»»ËD˜X¬e!K”""3Õ¹ù$IªÆXK–Lj- ÛØDdaGÂi°³Qé;åS  ¥ñ©­!·–Œ%c­µ¶Kd–h5 +Õ¤l‰…tJ¯ßZJÒÔL¯U*s†£lPJL)‘M˧&&kìTí¿;Õ›‚]ú¥]@ÔG‡\8eñÆ*Àp!ø¢(‚§Â›—>\Õ«Hœ+‚ ¨ƒzâÀà.t—v ´ª˜12bÛMLDJLHŒªxuâ(”¼3N} bÝ|±žTñ'¯.ê÷;Ö83¤à2f C†]8°õðqp"JF=œwÞW@¼g„H|xœzShö—€»õ•F«Õh®4›ÍF½¶Ð>{}ùúòòòêÍå?ýxƒðæ¦7Îâr€…÷fyž÷{û˜$ƒá ïO`z…(@þ ÷lŠ Bƒ¼\5®!`ôêä¿üóÙéÉh´›€ŸÔîÔëõzs½Ýl®4Û·[­‡>ÚxØl®on´Û_mv:[[[£[·¶¶Zãà½ëÀ‹Ë‹‹Ë˱°¼¼X¾]^\œŸ¿p2 ¸Â$²ºQÃ6*D˜¹©  ZML’Xc‰,,qJ¢– ›EP]f‘¸!¤Àn¤²H¶CDÖ +—èÀ"Ð%±qé=µ««kU ] +%HT4Êf2SJUkL’Ü«^—Ua‹(M»$q0îÜK”:²7Âÿûëä?Í~á€bZ!NYœ±àã¥Ð™Â;ï½×Ò« (¼Ç.y¨¨SÉ.«Îíº ; YΘYwÁ Çl»‰•Hè‹<,1¢>¨ +TªÖk¹b¡¤±?"b™âl¹:Y(ÙLE\‘… Êœ°»±Û98ÇjØA=kœbª#säƒsΩCðꉢ(©¨ƒqÎÿúóq<€ÿu¥Ùª7›­•»µÏÚgç¯//Ê}À[<€Ûç—@¯ßï÷¯Ëÿ|0 ‡ƒƒÞޝOžóÕþ³ØÜ€Áp8Oâ BÀÙÉùç>9¶F£³ÎÊgµ…Úzýó/Ûí/›íÎãÍæz«õðáÇ­æúÆF{ýoov:·¶¶¾þzkk{£Q¯ß©ý¶VŠhñÛñ¹¿¼x?Ö‹‹“ñßòòâòââÂÂmÀ» àðz"—…„ÁÈÏ’¬t­(Y;•ÌcMb(%¢Œˆ¬ RVdÌ~ƒUžøäíd…ˆ02uÉ +“!Q!ˆ3ÊTNÇD3K"]‘B¤Q1q´]€5&I’±@%1Ä0Óªµ*dåSû%%êÚÉàowœý—·:É>ÔìŠ)Uðê ØMϱ¯ZxˆŸ*BüÿT\ˆõ3‚¬¬êIC .‹BI˜XJ‹¶HâH ,”Y#® ªñ$Ö9'âÕQ $…H”;ÿ[çp™ór&deâ–ŸÀqâJ,ÅÜÅ9 x§>x/!ŠÈ0pî×gá\o¬4­f£Ñl6îÖ*ëg¯Ï/////ßüôæê¦"ØÕ[Òx?SŒÇz½^¿ßßïÝøëá0Ï{yž÷ûûûû×2"ƒa> †Ãaχ"Ð`"Íðäääääôttz:mŸüó?ŸžœŒFÛ£ÓN­RY¨-,Ü©×WÖÕÞì´××[­Vûᣇ­õöWív»Ý~ô¨Óé|ýuçñÖÖ‹o7Úív{½Ýj¾û,ÞåÎÒýû‹‹÷ïß_¼?š¼ äÈu Ó…R|ž™±JV…¬x‘n·+4ŪV數IŒ!K” ‘…*;§Ž P ð^Ó#-2Å©§x‡Ä΄¬0[ò¢¢ðF)]"b&!ÎÀUõ§œ*Å‘93QbS“$ÕdœÌ¥&².Y‘®'Ä*`”$µÓ៽#ü³Ÿµ÷ÕkL‘PtSƒ‹ ;Á8x¨/}3O¬ +Ð*„Ù.Ž(v¾w` LQi/ªñ [¾Gå@Á +"”ÿ—æT%z„™XÉ8V!X"ˆÄ'œe»¸Ë„La3±($Ë2—uÕP\LR@XaV½Š‹~‘*ÞYxd +§å—`<Ü_"¨×­f³¹€wã2ÐÅÕåååÕÕå—W7ÇÕÿøí‡ :yìN5ŽÃá ïõóü ?ŠâßÇ“e€áàÃápøl8<ÎèO5‡£“xûŸœF¯Î¶OþùŸONF'£íÈX¨Õjwêõ¿úòÿøúñWí/Û_¶Z­‡76¶Ú››íöW±øúëÇ¿ÞÚz±ÕÙüª½Ùél¶ß}'=ûå»÷'ß‚dñ­ àÝ0žBv]é@…YR&¡Œ˜dn2¨&I€ñˆÊB•<UÁK£Ê +r*ðº³ë ݸhÊLÖv‰ºä#£ñd­’öØ…X¡ÒU/ä",qQØrÕ¦Æ$Õ{Õ¹Œeg;ÌBFˆ„¼h…À8ºþãëßÚ”¯Ã¼³û³àÊ-¾È˜ËÒ%pÃ=ƒ +ã¥'K~d!¸.•þ ŽºŽ¹ôõ&ÈF&²”¾ÜLóŽ‹;k"mŸK¶oªcú%ƚĎ ”ˆ%«c±™ÓriY8e0 2D¨ÌκšcÓ’qìþÖSñ>Æâ48àÚêËÁ”Ãä_w~½3P£Ñh¶Z­õõV«^oÔj¯Î_¿~}uyuùæÍÕ­àgK€…wg¥•Ožçý¼ß/‹€á ïåGGy~ï óÉã8/©DÃáð:Æád +pr2:99ÎNFgg/NÎNOFq°Y«|6S[¨-ÔëÍõη/›Íæzóa³Õn·›­v»½Ùn·Û:_ýõÖ×o·¶¶¾íl¶Ûí¯:¿~÷Yœ†»[ð–(h¹„þþ,@! *¥™v\´©q$Ëœ‡¹qüß«s“(Y§" À…×4ê³BKC:;!‚jÆ¡\9yi@d™]ɸØkP”|>±êàˆ”ˆ8s,÷¬5ÆT“qpÎÄÙvAÈI0PM%ÿß_ßþ7Â_”>È0 +EüeZËckP(TT¼)Äg +Hµ–Ià2ŽjûêÔv3%•ø}ç®dÁ â(1²ÃDÕÈÙübPBÄ–Ç.Bâ’Ò›+rˆ‰„ŒˆQÊúªŠXW"º wEÕ@™»"pˆÙHB*"Þ Åz-,Å%ƒÒ•ˆ”aDK.`üòb úk¿¾¸ÛXi6[ÍV«ÕjÄ&àåë‹Ë×—W—o.¯.¯Þß\\\\ü´2¿¸ðK`¿|/öÃáQžçGyžå×BbÃ< Ãáp˜†ÃçÃýáÓá ï÷óáN✞œžŒFgg£ÑÉèÅ‹£ÎÝÏj³wêwë+Í/¿üêÿhùes½Ùl5[íV«Ùjollnnv6u:[ãómg³ÝÞè<Þ½óÔë‹“«q +î/.,¼Ý4MA€Œ!àhâå¾ã=$£’¼O 80 àXH¢HõÞ\õ^šRjª6¥È‹a¬ˆ + Dà +ç~°*"uYæqRu‰âSY` ¤Žˆ²Ì‘h¶[ìÂP,9A xoË1 HÆ,UJS“$¨FÂ3»ò³&Ö, )ˆØÝÝÅTòoí­ðWKÌ&Î@1 +k½s.óÎyçJÀŸÓÂ…Œ2æÿG©Ý˜ø¼Ún–±t3H¤ø²ÐØCXY‘AvHæiâÆ–D)!a-]HXàaì3G’³M”â. Ä)Ya@Ìb£ &e88Gl¬v£g!A÷wv5¶úQúCÀù "ÈbÅáÄx‰¥Ï¯:Ål5×Ûë­öz«Q¯}Ö>;õúâòâòòêÍ­øæ*ó‹ ‹‹Q_ìvø_@?Ïó~ïp?<ŽG‚ýÃü†Q  †ÃA>ŸúçQd8˜€ÑÉÉÉèdtr2ÅÍÀÓÓ/^Œ:¿©Ý©¯4›Íæz»ýeûËf³ÙŠ×non|Õét:Γ­ÑÖ‹ÑÖãÇß~»ÙyÔy²õâô]§V«×oÌ=®s€…ù·`âßöNð9àÂ`#sÄp™Ë„]Èœ0qu\T“ÙĤÄÄ·õ©:öwøÇàÕ°:&v%¶PP&" çˆ9.·gáû-4¥b7c Û-B0V'.’Ñ=y@Ëñt ¢{KÆš©@•,w™x's–9’ï³".£@,¹þßO:ÿ;|3üãÚüÏMCÉ–W€áÿÉ$]xŸ98 (X½Oƒ A£ â,AAYb®e€bÆ 8R@a¹¼«Á4ùNLÑuÀQbY,‹D +°0»„Y‹ebfk-“±)19²ÂÄQ-æû°ƒ-D(Í€ lJe‰!p—Š+W %@ààRq!°Dãr”‹wį;¿>¨7Íöz»ÕZo5õZ¥}úêõëÿßåÅ««ËË7?[Ü,.Ì/Ì/Þ€^>Leý~ž÷÷{‡ûù ^íÒðQ/Nvˆ†" Ê)Àp—PBÅh4ŒF§§''%àôtôâÅ‹£N}¦V»s§¾²²²²Òl¶Ûë_~ùå—ÍV³Ùl>lµ±±ÙéDx²µµµµõ¸ó¸³ÙyÔÙÚ¼ãÔîÖ§ ¼üï/.¾ üøþľïNæ%ëxÇ1e.s™À¹t£*ð½j51&åÔ¤Ör\fµLP¼²Â‘sÿøgïóq©$SuØU"Ç;èR驊98OA-à‹¬(vËL±eXÕèjÍ$™'JÈcSëX 6шP Ånæ  +µTL-¯X›òíð·‘®ð³•4˜#”2/QÎ×E ì,\ö\¶3…%apÙðca°¥ @Wbêî$J.Š0‰²ìB’°e :HÀI—…⊴“°$–"c³2DdÁBàÈ×§ÒÆƒa°qÛ)ÄvÀ†&°pÆ@aWW£ 9X P……f!f 7… ‹ÿËì4­özk£Ýj6µÚæùë‹‹×ç—¯/.®~ºx« øV 0¿¸˜Ì߀~žóá ú‡½H÷ä“u¡£<Ïógå àx ùqÙïú|pxò<Ï/â9=•+£8|ñ¢S«Ôjwjµ»õú_ÕëÍ/ÛÍæ—ë[ÍÏ›ÍæÃöæ£66:';·¾~ÜÙÜüêQg{töŽS¯-ÔëõúݲÀYˆÍŽ…ØôHÞ.¼kÈ”MìÛ ê¸ð.`Wˆ\±#báÃqQ8x¹Îk }ùA,^¬ìÉ…P( +õÿýåKM½W)àÄg\ø,ð.ˆ bá8.ŠÝ¥Â +dYá±Ø;xʵW¡Â{/êUHþ”¢Ô˜ÄŒmªd¡DÈ ŸR!x@)8‹ À.¥¼s3ü£-¨%û!Q;ë£ HÚtŽŒf1ǠʲêGE ÆÅܸוfì”!:û`‡,3ÁÆ‹ž8â]†nB2ö°ñ¾ï–ªËÑŒH¢ñ +á˜w&8îë0ØÚHŽbKD“´Üø‰ˆÔp$pÐÌÐNy»«@¡©" qñ) +а™ò ÿ7^j®¯·[ív«Ýj6ê›g¯^_\¼:?ýúüõÅÕùô™Žý…q 0¿¸°0Ÿ,.,ÌÏ߀ÁêÁ0šý”°ßëçñúpTbÀpøìÙ³áÔ‰¿á`øl +J¹ñ<bàdôÝèÅØ!h4½xñ¢S[ˆp·þWõúÊ—ífóË/Û­f³Õl>l·766:ÍNçQ,:¿~ü¸Óé|½uz~~vz:~9;;=;;=­×kµz½~÷îÝ…XåLÀÂüüü§Ÿ~úx?1r~'W`7x'A„ðwðDÈœÀã‹Â±•Î`Õ{ÑJÆ$F˜È‰u.s…cÕ8K§AÒàÕ‡B ÁÁ{Þ"ìî(2çùsQÁÛBm¶v²¿-²°ØŠ +ï)„ŸÒ%&%J(µÆÚ¤Z:UMš1‘¸!ÞAœÈŸC(ÄŸg³l÷ºö¿þcS@…võç^Æ=€ñ÷БÑÌI©¬A°’9á±¹³KÄÓ˜â +Od@1“eæè¯7xy‡FRB‚5ÑXŠâDÌÉØupìb &Y)½J¬ÇR‚Ç‚ï†É’’ìÄÁÔ„Y††„œ–¢NÄAœ%øú¥Æ!6¿^œýàîÝÆz»Õn¯·Ûív«Y>??õêüüââòòÕù«ës^^å%xq!ÀüÂ|²pöúy¾šóþ†ý~¿® /ç€ÃgüãoÀ`0óá³çƒýápçûý|˜—p:Žÿí£ÑI9ŒUÀæo?©Õîܩݽ{7Ò6~ù°Ýü¼Ùl¶ÚíöÆf§ÓÙhw=êl>þzkkkëñ“NçÛÑ«óóÑNOOÏNÏNOëõzm¡V¯ß½[¯Í¿ã|:Å‘‡È{ïýø—WÞÁ.€ +§Š‘2‡ ÞÁ¹Rq£R©&U3' ™$1_¤6M ïìãdÔZ"Z-ݯœzï^f\xÖLNãâ°÷0à¬(\aÿ{ŠKý(‰wvv‹±k§‰Ë¼c›®{sI™eÒe±¿à‚S¶8Û-Þþq3ŸTá>쥷ÊLÊ‘ÑqVµKIŒƒX¢ni JlÒ4µ4½2`–JÕSKiüÂâ%žÆõ "æî˜TNY…“Xj—ýÎù‰(‘MÓr‹¦\y©dósJD”[[®1rœ%0ØX²L°0;-owï@ ,²Ä’ ­–r"BB†RúõðD ÆJ«Õn¯oll´Ûë­æÆöÖ‹­o·¾}±µ5ÚzñbkúL +Œ›€ ó óóóÉüÂâô{·  ÿÐï÷Ê €˜ Ÿ={öt8,³€qÿo˜Ÿ=/)Aý~>ge0ÚÞþn4:99==5ÀéèÅFmvv¡V»[»[«×•õV³ÙŒ,ŸV{½Ý~ô¨³ÑÙÜÜÜüêÑW·F£ÑÖ·ßnv:ßýŸççggggg§ggÿ<ÎÿÇP¿[¯Õ>}Ç©Ü>D)9—i K6ó^¤€*ŠÐö¶65)˜­)%ÁæªUS%c‰£ ¥d˜¢£K·*Ñ›¬µpT4x!0ˆÒÔ”;ÄL–‹–"Es´'&a”Ž÷“ °Ö&Æ$ɽ1ÐÝ##$NU»8¦ÔštgÜB‹O kííÚ?^ÿeøûXÞ3½ë…ED,ƃ8a‚X“÷J%C2¥!JV(n@ò8–­¥iËD)3Á:„ÕY¢D˨–¼œÎ“Šèfk’¸’m#§ÆÜ°47Œ­M­aÀݸoÄ%¦h¢@$dì8¶¥T[N8µcda² k옩økÎG1›Íf³ÕÞìt6Ö›Íõõf£q·Þ¨7VÍVû«éǸÛ?€…¹ÊüÂüâüüüüÂÂüûà0@ž÷ûGyÙè»ÎŽò?þñÙÿøÇqÐÃk8ƒ¼ßÜ€Û/FßNJRðÉht:zÑ®U*µ……Zín½Þh¬4Kh·šÍÖz«Ýnoll<ÚüªÓùªÓùz4^|ÛÙìl}÷êüü¿Ý<útP«ÍÝ>•Ê;€1Φôœ®!€­ÐKRhQIššÔq¶ÃišÒ½±+È\’$&µ&µ¶\<'+ÌÑN†™âGb[‘"u.ˆˆí’¦ÖX˲Åø¦”@©MY˜T-#ªdÉ +@ÂÊ(‘ҸןܫV«s•¹Ê\¥Jbêv»«¤)KB;YÆŒ8²–ý‹Þ +ÿzï£3îÏŸqd'm©d`޽Ð4@`‰™½²²Æ;U„à +ïÈ;ø`=º]/fˆXñl„UI@ì\ð^¼Ú´-¥4µ–ÒÔZNL‰1å’§†˜4Ù@ÅG¯%v**¢Ý¨‹BÌJ*BâD„8x8ç|‘’IÆB)¥D c£¤1Û”Hf£Aá•XÒ"xPüE–š+­Öz«½¹ùpÍF½´ ¾[kܤÈ.,ÜD€ù¹J ÿòôûýþažçy¿Ÿ÷Wûo@^À¤£—çùpøÇ?Þ€rN0>û‡Ááp88¾€kÀÉh4œœœœžžŽNOOG£Z¥RY¨Ý­×ïÖëÑôøáúz»Ýl6[íV;"Àfû«ÎãÎÖhôêìl´ÕÙÜ|¼}v;þÿ[£Þ¨×Æp§V¿ëïŠÿÊØ¸g: ˜n‚,@d­eK6bÿLBÂÙî÷˜ìÎÍUïÝ3÷’ªILjˋͮ²( ?”‚÷"*ÁûdŽ8Àª?5YfcK1þ>û>ªL +±ˆJ&( Ðh?%B” ãÅÒô^µ,æCÆZÚ!+^¡ì{|Ÿe.C²÷„¿„¿HñóÇ£€ÎyïCpDll\зd­I"x§ +Õ >„ FY”¶"¢jî:À+9(Á©ñŒ˜é0Á9#žÔ©÷âó@šR’ŒA(M1,X!§Þ«‰Ufaeˆ¤ä”TD™Ä½LIBªDÄbˆ:„ ¤EpÊ¢Î+Rbc‰(µåêqÊÎ9ÇΩú<ÂKÒ(³ú u”#wè8ü(QÐVk}½½±±Ñno¶×ÛíV£Q¿[¿[«EŽàÔYX\XXXŒ0°ÍñæÞ ½~Þ§þÓ¼?(`8Ìóý¸0¼é0>‹g8|:|:쇃A~QàŽ{ÃãããëàœžœœŽFg±¸ ^%@c¥ÙŒ­Öz»Ýj?|ØÞØØxÔÞ|üøë£ÑÙ«Ñ‹­NçÉ·[£Ó³ÿvvvvöêÕ«X4>¯^¯×jµz½^¯×êµz½òÁƒ²DÓYÀt!@€ZVÓK‘Ë2X"[ÚÜKŒ1÷È”bÀ`’®UQFDµ ‰ÒÒ$YÆ,ˆk³’EG +5ÊDqö}çbC9Šg9ÖGùý ÂjêQ°¨F6°µ”¦‰1¦Z­V+Ñ@b·«kº%§>û>CæbÏ*²è³L¦Ã?6ÿH?Žùy.» ä½S†óâ_jQüSÎi°ÊÁ{§$ŽÔ±H×9£]p—£)@©e–®†²1 âHÄ9%R‰â (‹§"TEU…‰†˜”™@ªKÒ•h†ÂDŽEØrœ²Qg‰|*Ê$,NDX 340؉rT5r/Cá}ø§BœsNY‰”ÕQ`Uu ‚·r¤Püœ}ÊsôãxÍõõöF{³½ÑÞìln´[­ÉZ\sýFü¯OÀÂÂÂÂü\e~áÓ[P* Þ Ãá ÷þ àéðé°ÿ‡§Çc*ðÓö†Ãü=é@§SĽN­R©ÔjwêµÚÝ»õø%´Ö[­f«µÞjµZ766;››Ç¯ÿ¿£³³³ÑÖ“'o¿ÝÝ¢Ô1ðË\¢V¯Õëw? @yçåD`j fo†Ò8jˆ-ˆ˜vq-˜Ò{•Ju®ZMŒIækhìØ%"Ç;Ë •6™â!XÀ˜~êh‡"Äâ9ˆ%áhñG±iÀ +"¡ØLmbLR­V+•J56Ù„jˆ,hLS‰m‰”*äFøGé]…›„ÿÉ-^4ˆ¨¨(‚0|èõNU +ÑÍKTwUTŒ°#*SIjVÁÂ@äõ‘%%e3qÉdŽÔÛø)  @WQA¢FšM‰ÁÚ54¦lR—º ¡RH‰…,‹Xk5¥nLêbÛO”IáU9¦ )ŠPxý³ç½*œJ.ú ¸”aÉAಷðq*àqXò§OãWŸzc¥Õj¯o¶×ÛÎæF{½¹Ò¬7ZÍÆJ³Õn¯OŸÅÅùùù…Åù……Åùùæ?ÿt¾|éOÎaзýaÞ”MÀÒÝc8ÌWo&NUO‡Ã? óápp<ÌÃgχ‡Ãáuç7à$R¦àÎìÌÌBíNIh4>o4šŸÇD¦ÝnµÚ›Ç_w:¿.ÍÅŸt:O¶¶_¼Øþ.žíÑwßm7&P÷êõ»w~ .œ>Œ ¹V²Î¬ˆ›ß2ºQI:n ˆ%f2s•è lLÕšÔ¤Äcݘx‰¸ ƒ„zEÅ<‹ñS 1ª)Oæ"Ë\"I8` $£`‹¬œµ+˸–šªI’˜$,D, íŠaMéšõ$¬`0åì¯oÿIòþÌÚŒn9N”ÕÙ9§]8QíB4PÔ!–®t»ÂB¦ËÊ H"VCB–¤$ÑòÌ„aF&pA§sˆWÔ[JY”¾IQœP˜¤kº1+ˆŽ*,BV`Éîì€,)‘š’í0ñf%U–h$qÁ…( VíZ‰‚m,Vêªé*Tü;ÜÆa?õ7ÞùõcÀZ£Ñj·Zëëíöf§ÓÙØhµVVêf£±²ÒÚØ˜ŽÿöÂÂÂÂüuÒ¿ðé\åÓù[%À†‡ÓÐ/cþmȧ€ÃgÃüã"a0|útp8Ž©À¥8øT ßžNÔA:wff>«Õjµz´=o”ÞÍV«½¾¾ÞÞØÜì|»µõõÖè»ÑhôÝV§Óé|»õâÅöô¬£~ ã)@,~ dYôÜ™‚€ñD[‰!s™s.Ë‘ª!¡R³ `±LDÕ¹JÔ1Õª5Ö³ea²NKÛ 8x(28e‚Õ,Ë2ï2 ¨a±Õ°È.–Xžˆ'f°‚ë¼ÃvéRdZ“s/À=3W¤k–ƺ¶ *ÄÞ;'ã•?žJþýTø?_ΑD8&ˆSçÁâ™YÕYaÊ»+,’¨€¢¼oô³a!+Œ`‰ Y.­•)J±°:ˆ*+‰ ®z§Ä†â¬ÑŽe:mT=!JLQ–˜ˆ„»bEˆxgDŒ&µ”’I‰‰EØ•^#"34¢Â)IJ8Äíànlü‰–6"ÜMIU…Òßøz3ðµ¬>f¨Ùl¯¯·ÖÛíÍÍÎÆf;:…×õF½ÙjߨnÂ>­T>ðéüü§SS€~Ø‹Ð?ì÷ûy¿Ìú‡Ã|5š}½ú¥(@>>}š÷n@žO•§§§'§§§g¯Æ@}vf¡R)Í~î4wïÖŸ7›ÍV³µÞz¸¾±±ÙùöÛ­ÿ¯­Ñwß}÷ÝÖ×cØú&Æþ7ß|óÍ7õF½Ñ¸.b°~·^oÔ>;Ȳ,RD0€² ޲Ìe1‚Á¢V…‰X%2Ï,‘P™€IbLÕ$ƦÄ6:M¤Ðÿ­œ@4 ƒzdŒ"bKyg¨a&ᨭHœœ b„D1DîeÌ/]µEÑ[kŒ­šêÜ\%)gØ îš(ßkE¬ˆpÉ<‡?Åðw·ÃÿçÝAXD$.NÄ~{¡ì5 Q¨³Ýè³fs¤*B0 ‘™ÈÂÍÀ6ò¬á’"Tvù˜v%Jˆ°29§1ÓŠÀ–,Ç9!‹0­Š$ŠèI·µ™‘qìéYcÅÆy^Üd±c£_#F! ðB`V&ƒX£Áa·«QrÐO…þÛýÓÀð1Æ +­õv{}½µÑîln¶Û­V³^oÔîÞ­Õë­æ-ˆ©~ùŸ…O+•O?þtþÓO?=ÊóøÒ?ì{6¿€Áp8ˆÂŸÑî3G Àúƒ)ƒá`Bž€Óg§g£³˜tîÌÎÖfggfÇð›ß6ÏËmÇöÆÆf§óíÖÖÖÖ×_F_o}óu§Óé<Ù~ñbëÉ7[ßlm}ûäÉ“'© ^oNJ ²˜n:fëbš“õ˜p +SPVÖ¸‰b¢1P’[5KÖ²Vãˆ\… , Ã3œd,¶´“Éà@"–IÂJP8±¥Ô9(‚‘®9°sˆVÜ*,(bKlÉkL5I’Ê\¥J¥q—eM!∠²ˆëû™º +W†¿}gøã—´´EÙ+C•HÔuY€wn½Dš=•J¤–(qÂB@Ù`&3ž¸sTáJˆIYÊfe"/]–8Aœ°ÄG™@c>D$±%6\®ÇvаŽÒUHLÖš8Þ!)±„8í +1‘F*`ÜÔòÂLâXUàÔŠÄ– +•¹Kj‰¡1={Gà߈zý×–õFs½½Ù^_oonnl¶ÛëëÍ»µZm¡¶Pß„“3±ò¯T>ÿôÓO?ý4"Àu°ßË{òaÞÏ߀ޭà×S€áðÙX´œäýkˆÿh¯ý“ÓÓÓ( ôßJ¯ÐÑÙY§6[«ÕffÆV?¿ýÍo~Ûh4›Û­õv{cs³óäÉÖÖÖ×_=m}½ù¨ÝÞè<)3€o·¶¾ÝúvëÛÆ­ |[6ûÛ°ƒ Ù¸ˆYäÈ{o³l,éE°±0TE–±vl*•J™Ì[Eq……ÚBÁ®€Ë¼ÀUY$ó^@. 6âŠ0§…Q( \@–IPTºtFU•$àÔpï<)JQ0Jɘjrï^e®Re€"Ð`T…YæJ±((%ï˜ YÒÃ(hs;ü?„åo´ ÖTXNÕ;§ª€£%YŸ¨K¦[:›Ë˜p¹z™A–Sá$ö3pl‹8(Gƒ?€šŠ’¤”š¨tsK¥„7[b9Oñ"'fk‰"g)€xÌ_ˆ}„ÈE¶!JãÇ#0ˆÁ:ÎΠVºqˈ•Œ"¨ÞP9ºñ‡£wü¥}”$àúz{c£½Ùn·77Ö×[wkµÊB)”y÷FÃðÓ2ðÇ@P–rÜ´`Þ{®àÙòŸïLVò²0 J †Ã|pke÷lÿ£Ó³ÎJ¥²°P‹ñÿ›ÚZ ÍÖ—íö£¯:ÇO:ß~½µÕùnô]çÑ£GíöF§³õÝhëº Ð˜€r +P›dFãßÿ‡ÿÐúëV«ÕjUn¯#Ë2"&*®!À±8gž´v2Mƒ’/û餑ØjÊ1`bì—äbJ¸Ë`q`—º ¢Ñ4ˆJ­0‰i•}±VlJÑG ª$ÝdÌŽôGˆZ!!D›4ˆ¡.q¹ dS""c-SZbS”@5¶dIºLVY ˆMVîÚ®%êŠâ/´Üj¶Ö×7Úv»Ýn5jc¿ŒÙÙÊ-ø´¼ùcÔÏÏU*S÷ÿü§“`o +âàép˜¯£} +nì=çSåAòkL`\ŒG§''Z”÷/àÎo#|Þüòaû«G_}õøÛo7;O¾þvk{´Õy´þðáÇu¶¶¶¶·¶¶¾ÛÞÚÞÞ¾õ›=€­¿þë¿n=|øûÖïÿŸ<ù¿ÿýïÿûÊôxv%;¦„GFáÒ¨Gpêoü}ëáÆ“ÿôŸžüÍÆÆÆÆßlTÊYÿÔO#CÆDT.xïP„—6ƒñ€¨ÑAž½#C†ˆ¹äcì¼ÆÁ€€^ÉÓ‘Ã?8^z‡àCp>8„ì%ep¥‰à‚ äŽÁÁy+ˆº ÎAà–Š²“ä>S +$Ð"¨Þk,-[kMb37W©’0+‹@]Z ¤pâ= . +öº¼÷ÞÚwÞþøà¥FÌ«ˆXQ²Šª†ãˈ«4lMìÌ¥$Ö’µDiBD€c²†,‘Mº-ÒxÛØ”K9%DÉ‚@édGŠr72ʉÈ2C˜¬5D`î +ÒrSBÌvÕ&ÖXÛ¥qb¬5‘LDDŽÙŠÚ„Ñꌘ%bGŨâN¸yü[ڃכëëíV«µÞZo5µÎÙùëóóWWW¯//_ßÐx×FܧsŸN6d§ _[òþ ÀÓ[ý;àY©þ´Ìb `¢0–ªàcÐYɈ|tgvfffvv¦R«ÕjwjwïÞm4Ÿ¯4[ÿÛ£G:ÍÍNg#J>j·¶µnlntžlm÷b{ûÅ4Þ"]÷Z­ß—%@ ó7ó7 ×Üè8b +Ðà +xç(8ç}pGÞÙ A_vÎ+±21Kc U…¬e±äÁþeˆŽRÌÂ,–˜½Wç>óðÞ“÷êPÀ9ؼ¾,þœw¢>’Ô{8H0ÁC¼c ðç@cy,"±–B"–(5Æ$ÉÜ\å‹0‚ iŠ"… +JmÍnLðžn†ÔÖŽ·ÿN–1ïðÄ8ýúÄÉ+—myÏ$BP†·î¼7i\«#kR2ÖÆüԦƤ–Ä”KÿLdŒISk{íxd‰ØZR!J)Rvœ‚£A SJ)I‡ñr´±Ö‹¥®!¦$5c‹O.÷ŒãüÁFÅr_0®š”¬ˆ(˜ÊrÁ’%Ÿ¦,× ¶dm-Šc‘bÕZeÞaKöמÚÇÌ[Q¸¹ÞjÔkíÓóóóW—W—WW—ç—7nFÿÜܧ± ð~ü ŒAà­ χÃáÇÀ MÀ‰nà-ÝÎÓ³Rpt2êÜ™™™™©Tf?‹_ÚÿR61?oµÛuÕ‰°Ýyô¨Ý~Øn·nl<ê<ÙÚÚþî»Û[Û[·2€r +pçVðûßàÉ5Xëÿvd2¸öiˆ8x™xij⦹µ´d¬aØJ¥Z½—k¨š$Æ›¦©IMšZ)Ee‰°£ÉÜ‹Äs1¼TCA©aârÇ’uÞ‹+ p‚µãMxkMì¡ù…da-¥Æ“D&àÜ\% ”¦Ñ83je,^¸púRƒ%²öfø¿'Ìœe"ã`*ø§ÞG­b&²‘k‡ $¬M-YJmìó¥Ö&Ö¦ÖH)ÝA”23°“¬1Æš” i¹ÿ”‘°H· ŽzK"$LÔ"m<½8¤«6nS§©-ubçD‚R„„c‘Ȥ&‰‚Q|ˆ(µÜf[¦(;Ëy±0[[~b%áÓv%fðµ+â¿á:p½¾Òl•\ùfãn­}þúüüÕùÅåÕåÕmYðÛ0÷>èõzùê­ àÙ-ͱèí `<g·औŠ €˜ôóüÏÿ?ƒµÞA¼ÐØh4+‡6KØzÒ‰!í‡Γ­­íííí­Û/®àó[»õ%Àÿõ%€µÖ:܆Ž"ñR#ba‰R´†ã¯£€‰‰–L ¨¤tKLͶ¬%é&Ròö² ìa­b¡ fW>5qü¥7§f¶vgüË"K¥N¤üFã'ŠH޳Bq>5‰™»W«TªiJ©Mm9c#”îL6^\ "J˜‰ÙÞºýÇÍ¿hÄ7"gý;;ÌÉ™°¸ñ> úyÊ|º˜‚”´¢ ôk¿‰Ðl4®?zôèñ×_}5<¼€­íï¶·¾ÛÞھѭ×*ŸÕêµZmv¶V¿S[XX¨T>©Õj¿i´ZÿáßÞjmlüß¶_lo?yòäÉ“'%Xu €©F޼2D•Š PS”Ä&âŒl\Y§4©ÎUçªs&MM¬^-à“-•²Î¹qÈ‹ÀMžšãS‡(ù²»BY& ÇLBd“ ùÌ™°#x€bHÔ +Kmšš¹¤:WM˺–4qËÞåÕ¸FÄBÀ’ÄÝC¹ÿ†“Û_dÌÚ÷±L­ʶ9O†ïD1'7†ÒÔ²%k ;&¨Ë22ùiúÅƤ&MLJ [êv=u•TÙ¡ŒêÔ¤Dä Q—-©Mb +ŸÚ”‰I¾ ¡(¬ÄL>NËò̤d™‘2Y¢„”ºNƒˆ¥{e»ÀZ&Ë‘øIÝ{ì^¦ã\ƒRK¡(2dJgùžóhµZíÖzk¥q·¶°ñêõÅÅÅë««×—WW?Ý<7€Q¿rZãV0x/ ŸþiÿÿlžMຠX6Ææ`7K€³Ó88é÷÷ó<ÏŸ=ÿσòÿeÜhΊDX»ÈbQ™“©V«I2gŒµÖ§D’Á¨:ñä˲ NlÏQ=OàŒgѦ'S…ñ–8Ðì{d‘È'P˜r"—8sÁxçà­s‡ +%[ˆ¥)YkÒt.©Î•Ë4ÖÄǺ#š“”OÍ” CÅa¸¨tXNþ¦nù@oÛ”R$1cbmF.vÖ̸4J ÀêT²"&_¥†pE·P66¥„,1Ñ®¸Ô: +Yêð65ñ%¶¶‹RÔË‘÷Z@š21!¥|(,—´£À¥±(ñÁ‹wH‰mjŒµÄB¨²¨s±È/Û ”²µS +f“ Â’µ65Œ +þŠ@õF£Õj­·š­f£~·V[uq~~~quuuyõã7K€·2€[çV0øÙàéß? ƒá5Lzù \ŒpJ…Gvµ¥„bL”ˆã½ÌdÉ~A!!¼boù¢P¨ˆ~?`"'ÜU'¦*9ç‰/”!Û+*l‰c)q…  1ˆlbc†gþ‹dµ¨ÐZi´õÆB¥}öêâââõåÕ›7?]ýôã àCªxSpx³0|OàépøôúLÀ³8  &jÀc=€üöàt4õ÷ÿýýýýý|øì?WÇp _=zôøqgÒh·ÇcÀ%Àñùm$I×k³³ ³³µÙÙw@ãóÖÆ£'“ \C€Ÿ@@¸8”FdØ!ï=`¼°Ûeɺę0 [[­&ÆÌ¥i©É¼4žœhððÈ$sb +÷É'š2d`ÇP‰C¹8œdœ¤ÎÕD¯WL2WOª(œ‚ œx!f²&µÖعjµjbÖKÄ’ÄI> âv…4º’Ëœ‡KbÔ»‰•ÇíÛ?Šü¿ÿÔC‰‚õ^¥`bµ$ÐÀ3¥` /5x!çvwv˜ç\ ‘" +¢!¸‚þLdÌdlÊ;XDvˆ@(R0Ëcà4©hµ€RY4øpˆ0é)YUf¦”‚°ó;§Æ&8baT­ÆŽFÔýaòª!ʰ(TXCæH»N%ˆCØÝÝqRÀýzUàá¬ÔWÖ›­•æJ£^ÿ¬²ñêõÅÕåÅÕÕOo~ºzóãÏô~z‡ý˜äq†ÿ>xútøt:8ŒL  Ly>—ùT p2:;žžìOÎðÙ}Þ_íõÊ,`íG_óž<ºÕøîÜ©ÕjzýNm¡Rùä­ð¯TfkwêFóáÆÆF§Óé<étžTâ&Ûm` Ê(X°ã‚ ÊȈÄ,”Ú2KdŠB½ñª^Eà2ˆ8k²XYªÈbyÁº“9ã†xç—,¹Â«d‘‚,ÞÄE€Âyã]IOR0«5„‰mjRcmå^µz/Jà F+ì½ó^à„\p`x•,¼‘ñS»éÛ7ÃÿýâàLШTbœÇ÷…*EÃRj¶i>¢ªd”A$ìX20‘†8—G–!NïK‰%Ë™YÙI-™qâ…™Œa*ûó%ØRÜ{"bN¿HÓØãKCÌ0iš¦V Ô sÊÿ†ÛImšRzÏXed !Wµ +aâ.¢µˆU„ÿî¸"b…#ñ*Ê ݉,EÄô;¿úÔ>r¸Õjµšõz­VYõúâõÅå›7—?¾¹zs3¨|zýøôЛœþÏÀÓ)˜€^T ŸùðYd•&ƒùð8ÀðäV 0Úïõbø÷ö‡Ïÿëó|µ·Ö[‹ŸGl6×ãp’tÝjno7Ú®OÀÝȘ}çæßl™´Z­ÖÃx*qÚ5É| nÜ àD8‹žzÂÁ 8B¡ºÉi"’Újõž1siJ–¬RW¨3ÁA=ÄÁ98/&LæŒp1¹ˆÕŒ"˜à p¡(¼û^»Þg€!À9o¢²¼h(43ÁCU$ƒªÀ±ÉDØYcMj*Iµš”æx gV‘?;¼ºLÅï:-· s¦lúRÉŸ§Â?‡¿þŒ;€…0‰3*ÄEL‹ÉA`ãÜX<ÂLÖ!‹ºFêkáÒ(à± Nɘ”î‘í:€Eº”J¡äÄ‹Œ`g +Ê] ¢Ò4e&¢/R2„Æ|‘¦d‹ @„wˆ‹òÇB)™²iÀŽ˜s +e!a›’%[¨LÊ,Ý € +%³ål‡•²ƒ¿@ Po4Zcw໵Jëìõë‹×o.¼ºúñ& àja~üˆçvçeü¯æoÀ³wÀÍ `mð¬äŒ›€ñò‹Àep<]œžF½^¯×Ûï•ðŸÿëpµ×[“žH¯×+3€/Û6;7ÇS€ÛMÀ­í­ííïêSPÿm½VoÜy|òI­Öh4£ØHy*ã+î(Ü„¨d™‹:š;…[ +n—ý®Pd¥K5“5Õê½$­Ž=«ÈR@a +ñG¥(œÀ«Í4äIÀâjPQ˜9vðÈv‹¸/ź™Ôĺû¿4…z…óEh×d= RkL€™aY0Ü p! Î#C& ï jœ;Nnºþ^ØJ\²×„˜1SôªÖ¡tÛpÊ`²dv³Ý”ID²G–a£tqôä"cRJR«àÈ$0ÆÕhQ€&@LÒ4¦×íRƒG‚ˆ“¦)Q"(BIÅ Ày|A6Ö —“ÔÌY§j¹+”¦–¬ZUW€„Á0d v€r1æJÉÀl ×JÿÐh¶VZ­Vãn£ViŸ]¼¾¼¸¸¼zsõ㛫›öÀKÓçÁƒå¥¥Åd~þº*ˆº¶¶¶šçùÚêp y>|úìéÛ¥ÿ[°:x6<îK€gÃÁ TÈûýA$þa0Üœì÷z½^o¯··wÐÛ>{þ_‡½µÞêÚšôÖz««“ 3ÝظYloommo7¿ŸÆowjw~[«-”ñ?ûVPk|Þh4>o|^J§W&=î xïAp^D¯FË2 ( +ã«ãÌ–h° bIªÕÄVÇì\&8S°zïááx™y +ˆSìf +gÁø, ÅnbÍ9'.2g“u…¿4¼óÁy8açW£±)…IÍ\R­fÞqD¼ã§qЊçbdB…wL˜Ò@ +ÿqòïS§îý®©JJ”J”-„#9‘ \©bY2b"ÉÜ.È!%c,ï쀅…î%)%%³žDÈkcHŒ)`ª kˆ-&"òe€"D@Yd§1öy‡ÈR:—"JAG²4ü£’2‘µ¤^ÆŸZð¬ì ”0²Ý ʲ¿H°±ÒXYi´š­F½^«¬¿º¸¸8óão®þå§ožÓgmíÁƒå¥Åùk9€±@m5χ·àVàÙ°ìùÝ€üÙp8€§O¯ ï‡Ã~ÿý?äÃÁpBú¿N÷ö÷÷÷÷ööûÃçÏÿëóÞjom­×“µÞÚÚêd +Ðé|Õ÷Úí[cÀ­­íÆ”üI£Ñ¨ß­ÕjµÊÂÌììÛM€Ù™ˆœ±Âh4Fe¬vß#¨ +TàÔ9õðY‘ñße²`BÓƒX*0E{!J’jBsc‹)r(ŽŠÔyòp€w Vg–ó4uÞEÈŠ !cÎLp.@!Ëœ ".s@ðÝàP@‘‚ÿ'«ž¼ €F ž%”ÛDÖÚ¹¤šDA"æÌ¨Ûu¬,¸BÄe.Óà¥p¡@0.Ž>Áe2Ö®Ã_#Èû{B–9%2–í÷€©« -@‰¡€zúF³Eêÿ—õ ü'p{ó1ƒÈß?sîL8þ•ãÇÏž?Gß¶…Àxgx{·%ˆîØyà6:ûùõ¯n^¿,€´ÿïþ¬Üºý+€³ŽÈ{& M -€“ïf€V®+ÝSÕ€^ÚTBhï×Z¸½– ?ìʶ°Óÿjk„ÿgXÏ 3€ƒ¯€Œn ¿kP€óh»Da2UÁ  ²úhŸ5»÷]÷ÓÜ3€ëùeœrܱz:˜07ÿ„«òO FGdEB$LÖ«,Ì4­s ‡È•UòÁ„üôÿG€ÿ»€ç— —¼j€’X@—ãÿ¿ü ^û”(€|bBÞŽëëúñRh¿|ôžÂ=ñ›Œ,€„¬vç™J6…–€˜ûé‰}»œyº€ÎUVÎSú)_à´úù$12aeLØœMQÀõ¸Œpš*q—`Œogkç„ è«9¢Ã‡ðg ¯"À;X?V»,è4Š-é;àë=ZûW@' ‘ßÝâ¶ÇüYm|tœO×·>>>‘Ÿo -ß r͹&˜.ûÉÄ„a¨ÑœhÖëÿiX Èm‚ùÍ|õtJ8>^+Óˆ‹ŽÞ˽§S"ê «Bzêù…ε¦À¹âˆïrEP*ì&Î<¡L£¹êø„ÀvœÍ&”Äö“ P–¤‚â* À;||®5wÚ£érŒüÈeE<ª§‡!Ô0°Cè_oÈå¬Êá¬(«Ó¿ÉDhôûø]ü®<^­7ÂÍõ¦ -¢ßË¥(Hqéfým„R}W#ÖÓ"æÈšÖíµ¿ð¢Á[ì‰=ZÚ©ÄÁ|TŸ8¿;€cIà|Äô XOFÇ_²_7p€ð?@Äx<àŸ_>{Æ ~‘ -÷DK÷Kø`O @Jôÿ÷Ö3x -@ÑCâÿ£%€#°?ÂiñˆÆyîz7€«î‰óë@³1ž~ ‘H¦ô»ŒK -€ÚŽÏä3Aö ;Wé5#öÿ¢·ýïøÿ†~«$lx^’›Ò¼[ü8VðWjÇ#„Ë/õþ™°±Ïï 0^\z'%@5ÀªÞiÐû¡¨\—UÀ¿rÐ2vF^¥¨[h£1 AfæÀJ¨¥ÞÒ%ïï6y#rT5W¥=¦ìŽL5¶p¬Ÿè!ÿŸÓŽKç…!ø›åôhÔ‚*—úz´Î‹V¯Z~¬ÏõÉhú5}œ"«pÓ: @·3ÝWƒ~ÌžýeÔ~í±ÕjË•d—²åüîÌoW[ù• -«­Õ¹!äøJéÂÈÅɱFkéÞ½;­ÕÖB+_m}åÐÚOZ¹3·4×ú°µº¨Ó[ùa½­Öïuñ…Vkn¸¹°ª‚Ìf­]~£uZ¹çÙœ.F ½FãRž[PÏõ{œÙLFAfò†r™ÉktNU©éÚ«Ù¥ÿé÷ Ÿ´~£,é^ÓŸnM{+_Ëua -0Ÿ1Òxkuƒ‚(ñÛúa KKíê”oyâ÷3b‡ -àf,Ù“bÀtíqBA<0ÏSfJðÂáîÍ8‘ôž óƒ)‹'ó»1"lÊU:Pêw @_ïáѹŕåååu(€°Ÿ8Àûòþ‘öÚVBü]6xüìù³Ž ñ¿^¤¼JŸAp+€¤ôçß?ÿ/PÄܺý+wpöò +ןKý©ë÷xÀví¯+¡àÿç‰`®ú?sîšœÑK¡ÀEûK÷k€] -À7—ÖÿŸb=CG¼,p  Ü=(ÀùSH¡|ð®M°ã@j[:ðë˜ï¬~ôFpz%Ž£IÏÐQçäƒ:[Ð*•2±•Ì!#( ß©Û`bº»üÿð¤ãÛø¿Cxn ÀhÔY&Â_ý;5ÿò/ÿòÏBa×S¾DÃ8ùÑÞ Ë ®ËðJÒ‹B¯Š¾Þö±îx9ÖŽâ.‡ÒãFƒ¢rÐé©7ùKMuð¤rú8;úFDêçküà°6à"¦ºøf»1ºB¡PSæ§üãñk›T´ú# ÝÇku½rµïwC%!:â@»H*ýË¿p×:€Û™n®¹VÜmÏŸÕ.]šÔ§ë+'|rfîõŒ•°ef–rÚæ ¿§‹žèú7˦òüõQºFƒo4êE=K¥Ö_sà=mïê÷îÔÂÌìÂB>µPm4<:Ê‹H‚òÕ1tBm%Ì›Õ i@¦y» Ê{VQIî|´ZÍ(È”RhwÞ:ÝR«T€º=¢  ]­þΘ¶T‹ÎrjvŠðÀÉZ¿ ý=ÇRhßeL(!ÉòFÝǰI.Ó±™|!îÈj«J‹@"¿‹iJχž=.zppÝCx©/­óÏ’b¬(‰“9!i½E(‹E+˜OÂnãiý.LÔšÑHM €çf`1ðÀ@­¹¸âÀu$‡ù£lßððAªôße—¦gÏgðø™sçh %è€×,ïá}ÍÈÝm‚ù„±©#Àn€€_ë0 -À™s—oüê9€þÌ#npÀë×S`Äþ¡0ö€ì[#{ì[©Wÿ’õ8hÎ $¤1€¾B]}"g‹Þ@|$€ÓNÒÉ® m>ýÁ:üÿ}$ÂýeZž<Ub!ûc¾ô:êÌ X£iŸx šþu_/ûIL‘tž{òØï©[x^  û •:jE@Àÿ¿üó?ÿ³þÁýÆéI½âöü™þç]ÞÂüò '/ý™R£ŒÕª{ -¬?rä¨#¸7À¦U¥€$4Ò¶ö!RºCøm•Ò¾²°žVz¥#–'åù—ôám儱}´4† ÚrÀ |!ì0é•‹Ì”àÏub¥ÔC†#„` -zýÆ mm ­ƒ(AŸZÒ‹zôϺaˆ;Ù ÿFþ˜žÃ¨í°,û°œÜÀ+¼mf—š†Ý,[Þx«õ|!›¥Á½Àv&®~¤ƒ®_¯ê®À³DªèÀD0ûÞìß`É7Œ$]M˜­}yŒëvi¦YK-(‰.péR»õnQ«*ˆÎV1è—èt}Cs¥§ÿG¤~¬R«7Šæÿ© c³S?˜œ¢¢Ê0BádúM¹ø…󮁤&gê£EAjtßÛÂÂý´‘*!ƒ"ß”oyâùà°Ý~ƒ¾QÛèÊo&Ðg´@7àsˆà4íèê °=³¥ž» ¿ëÑô“ùØ@‰Á¨¬C^“û?T&(ÃA}¥ÑyÁ¿(ÀúúÊJô¸¶~sûþ–¦ý¢Rþý=ŸWŸ=w–®í -ÿ·¨€·£ÞaF÷nÛ¡@¸Là¡ü‚Ø@áò•Pn<“®èÏÊ•÷ϼz"U\öÛÿ ÁMÀÙ3—¯üǰðئÝ–0î{{‚õ;€¡ÑƒÜxS Àÿ - x€Üqà_æaöµÖíÃ&Œg¹_»Ïíñáz´L¨o · *éÍ’‰Rë~³[á|׋5.s(1ƒ¿ÑŸöŠÆ~O¦…ðM´! s…5 ÕðÕ‹©¶ßþ•Žôö5wúÿíw–߀/qqqX”Á*À¬t¬ä1„i ó¬ã½ãz÷tÓäxñc|J`u¤¿OYÔà]#/—~ÌÔ W‚#%Çþ…Êôµ…ûoûA¿¶uuJ­ 9\éï9ì–þE?z㺵–ÞÈñcù¥©ºƒ±íãgÿsÁ -XTøæbíÛý<ön‚µŽeÀèk†Ð:Û†».ûÜàý-þpwåF·²×F[´tv‚|ó«w» =ï\Œ®ÆÆ¦»ÙO²·<›_Œ6(XF[BÌn7Ž÷ð‡>à’ìÒ">^È)I¾Z¥C‚)ú%ÎòæéÆ'ïNÛºÚ£;`Z4†3OƒÐÁ¤Ê¡bÈjStìðß6úMÑ€Ð7kÕÇ£ Ñ\¨ÝåïÌBº#Ñ)1CØcÿ6§©w…ÿzLxBx&×f/ø2‚ëXì àp¡““kEŸB€@h“ä‘ÿ}q/Ó,Ìæw`Ðî!ÇèK%Dÿ€&€åu1€Íõõ-·¸¯Ùýí[Œ°o Àã5nÿŽ9]žž…ü¼…õv|¼àóº- ¿/KÎ9ïð‹_ÿúW7oýšŽù¥ïW·Àj3€@û}, ~újæÅÕ˃¯Rp -@' -0z1ŽùdÍÚ -;´¶àü,:M{Ñe~&¿mCp+3Hw¹4äïȺhÁ@?u剹»kÑ`Œ¸¹µ¶%°}{ûá“€ÝvæÕ3çè ÞÚ›Ø[ðÊû—wN‚ù.àú•óï§ ™à—‚`å9÷ÁMÇ@>øà²¦Âõ»,0ß^¿™8 ]»|æø«n@¸Ñé Èu‚ýÿpãJ´¸¾Ÿ@Ò7ÜCÀÍ›·nüò{à) ÇØ8œzpUA.»ÐÞT í`uq#xÁðÍàœ ¿ýûêVôÖCÜáå—êâÿ_uˆ=øýÉŸgÎÇõ:˜.áÿÞ™h(æ§" -ИߞL‚` žÝ DÝ -@ÂYàøÿÂÿ/?ÿ,•­çÈøßs¸¤wWÚÕ¶^ˆ~%ýºÐ{­çŠð\o °¾D@PÞ%õì¸ö‡åGÿÀ=Ü[_·Ûé6w ýÊN™õô®$6ÐmVŒi®Ð+ÊÛ}¥±cK}~ Óá -;Îá(Vœ71Êàða~î–ßÉ…íD<8ó…’ö½ôé#3€®(ÝSîm |¼ö¬&Üi—„¿3‹;È,2Þ5wt¼—e­qa"`—çÕñ<Ÿ%þÍ©imÇ߇û_©ô¾eÕJ€ÆãÐ6u±¿!@°äQ³ƒë®A·M²²w9ÞKæ"©¯=ÊîŠxà`íÉ_oä³3 ³Æjã¿û!d܉·ª§k”à¢6'UQ¿àÿâØˆ€  T @#\ÓD¬e ­Š\š$"‚ ¥IQau×¢$ß¶ÅóÁ³¢'¦‡¸!7àm/þEx$œ èàˆUý„÷}Gशà{'ŸuÌñä¸þÉhŽpá-Q‚ ±wC†øS–‘þ‹n`'?YÔDø’y}¢P&4M6‹€©FžS'’ÍBtâT6Gú6íÿÒû?Âøm@×ÓÃcä5¼÷ØG?ˆeÆ}?^ž€wÿO½À`@Ñ -€ÑÌCÃÈÛi˜užÊŽñÜ»&Þ\vèo¦"ôŸD ÀÄü2ú?CÄ@€[ë[÷7·é `Ÿ‰Öy{¦’ ÷¢-U<–¼î29ú±¼|¶C~uóúá¡øË_™»SøÕ­›A®^½¢é±–€ô‰)7„ì¯Ò°c®þáÿ -Ày:€œ„ -t)$0ðãó'äOS¸ïí  -€PßuÔÄ ‚_û÷ÂO:|Èþvÿ¡Ú0ÀœË+Oÿ9éI;$Lü­XÒ7ž€2˜È´PH:ÈÑà) ÛBP®®ú'!W“  =8ø® =™ °%|xv+8€IVøÿ]!Æÿ/>ÿì“Öl”­§çÏbH?ÁŸ?àŠ,ôÄŒ*ÐögŒ(\ØÁ¹üèä¯k«°8«+eØeÍ'²ÖØø³8¥m?ÐëÜ4Ó -)}*EbÖ××K³ççt=½/@v6rxœé%¯|RÚ¥?~þEÔÀžÄR@·Ð==£¨u™a-ÎÅÍFýˆ´æ-·\8G}·ì7£õÀz©:LäþìÂïß3ÀjU$± 7*½"î®V£íøÿãL@øÛï¾.\¹(ÿ?zÙ§òÞWúê’yÖ©z§@ÈÈ+W<ŸmE9ò|&2¥å¨`x†A T‚FMÜM,±æp@ÙC8v´¢‚pýÆX¢ŒÕDމ«¸Ž‚kÛé‘·¯yÞ( -"&‰¼¤BëzQ– @#[âÈ·i„ÿÇ ¾ËqêÁq·¦ÅÝÁµži]Ò,Á?üÁA€IÐ.”¬Ý - àþÆ,™êoÓú=[ÚªÑ @}zKõ¹•á?Ú?1[k÷ÀÒ @Ôùï6ùÜ{§+gž%€^Ú -€Þ‰¡çééïœæiyîL ,ûõm+"²®€Ò‰Ü¼Ý&Oްë^¿>1yvãÆµ+gNˆ³\Ñ–RùÍiwyþ"×v*´ß¿ ùÓ”0î{{‚õ] Z#µ-Ô´Ø_T¼ùæÙóhïôÿ_Œà=$4·?Ÿþo’`ä7 ‡QŠ^ƒN -­b—¬@zÄ -€¡¿»UXAB !-}Õ¢¯¼Ò«ŸÆ‡À„ùíÉ›AÂ@<“Ùe€›ì$÷VóF*Û·b µÃ€bÃq@rìé²[½N”¼m;·vgP˜ö&š·ÿñofykõŸþÕ·$€®:›¥–âæ?« ÇÐÕ›þNMy…»Ã—eŽxŸ(ðÎò» -qi|—·Æ‹©ÕjU°;55;»Ä0|a(¡®pÁ3ãå¿;6¦õ3Øÿl6Ö[)#NŸ˜<+í²€]ohÙʡߩ7Þa'å 2¢‚ÜÑ'ÏW‡Å/[®QlöoÈ@`ˆ±ýºxã´¸ÅEÚûUF.:alì¢ñ¿Qh D €ÿúÍ¢ Z§> kÑÿoº#q?t;œBöÑßp?òÑ&dƒüô·kɇÄ1 $ã!á±ú@.sNa Hë!Ai’ #zâÀûâ[Ì;–pûÛ3*J©àªà¿R®”ú霹¯ï…Þú<-×¼O€çÛ÷ï»#@:þÙc­»íŒÜé³1(ºà_ÿ±¬ÆëÑó]öþ¹÷íüËŽ _߭ϧ8À÷QnA nßò(½ç¯ÝjÇ|-P2¾…ã_¬ß`ÄÿWMÜZ0¥€ç/Ø¿vNø_(öüÃïïBý®)aÜ÷öë‰1ò€mVÊ_Þ52ðÙóçOQùè൤JŸ:õWE8žÑß¿ÛíIHø/ŽÑ&VØ ÚPª8s? —G[ÙA+ôŒ™œ}ÕWç+¥œþ^­÷àñãásµž—”å…Èå?^à¶´ºûõÊ¡ö¿D -Ú>Lå«÷>M -À¿üëÿwG€Õn3Àðÿì À¬Ûš,o7…wõ¶»»Ä:‚:¾ùÂìÂß,,,´FÁÝV}(§%à{r„f…ÊΣVù ý|,ë¯]ø_ÿ -øÇ) _@Ýè¿ sîs’9þGÚXÚ¬ -‹U’‰‰ JÓøH#Ÿ‚,ÜÑ%e«ãŒí³Q­2n° 2;£LLúJʽ6Q¯ÕæÊ¹IÁa‘Ž‹ (ȼàÇP€ÒHT*b@.‡è¬O«0y½>—¹uX@ÖRA\ÐÜÃ$¹$³§›s*ÈiÝÂoqê~ZðÛS+9õzD´– ÁíæÃP¢ 6Á| oŸ-}Q"ƒ˜ÿ•°÷©Üa<Êߦy8`Qý« Æh@´èïƒ(έ¬¬G ‡ÞîomÞp_kûK \wÙ¹ã'ÎXÀÓ{Ô¸¯ïcüy ¥—å¹ð÷¿r#ºHUç!(1ÐwË{ë‚ñçVðó¯^>s‚3A¿tµøà¶€~–ûþÅ~O ã¾·'XÏ`QKžÀ+€£œrŸÀE[@:@p@`>_‡²"ëÖã“ç/d–ÅT Ïa²¿Ü¥$,.^Ø -nr°Ãt*çÊÉ?N´ kÓíþõ øÆüöäÍ ÉB<‹µQÈ Ipµ'à«GŸÞ[må´o:LC{½çô";,HÒî2½•öG€H},wõ—Ž™Ó;¤ïÈÑ£´pÏ{Øs€¦‡y^6@>VŠ“´Ã0û8K0®Ãóøè‘DDRýìÔ†Þ˜V ð ’I"%ÆÛ™W/oìÇ£ ^ºü<Îç(jk×ëö%e£üɳçí -zZÂÿϾp@RR€ïªÁ?hwÞwÿY)€±n‡Éãi˜àþOÔxòüµÎ8úNvç£ñ×Á¾Ó‹ZšD ðÖî·,ˆ~wlr¹kµ‘‘ 59ÛS3ScFØS«\HMevÂiˆGÈ_>a)B©Õëõ‰K«Þ 0€ï‚‰ÈÂÒø¸hÉôPK‡ëQyûÝs“0.ÑÈÇcµ; -2¦ ŒMŽŒü¸6YÈ9bÁ¤G0dIAøÍHyµžÁ„ÿNCÊ\\È]ŽüõzžmÔëk«ßÞ´d' ÁõøðPáí'@kZz»€‘¨˜x9_  H›ùZîP|-§l_t‡ù9þöŒVCåòƒEÅÐ  (5¶-Õç—×bêÿaÛt¸­õû˜Àu—´àn£þ?±€}M~ý9"ñOó~a¼céàý" ­Ü20ÿº» - ®¿¯ÙÝçëOLþ˜ @.+¤D `¡œ»vãÚùÁ³gÎüÀ¾Úï3%ŒûÞž`=À#ÕþE+©€B]¢ü„¢Ãÿ¤à™‹$àmã¿|ozûí6$üPxÞS§þÒ‘|º¨òE@Ph# Šh®° ÿtžGz¸¥ñÛ -€v!ÈžJøÝEmK`å*€nüÿê«Ï?»·! - w°ÝÓ÷í—Ïnó.f¼¡l¬è…¦qs4|–ÅLo·¢5}OO‚d»^¶s•§Æ`– 4WM§Ój@¯D.ç÷)ó4饩|8oP¼(½¤zzKÚk¼·ÛîâÅéžÈBv™Óí²â"‡;P𥠹ÿ>ôeÑP Åýä¶š_aq˹õÏŠÿÿW&¼£çšøN þÀµæë‚¨3ùïÝ×¼$ô’|üÿÀ»TÍòÓÔù&Øý›…¥… Ÿ…Ò..s¤2r±”ÀEâï/ŠŒ02Ã…±©Ù¬œ ˆËnªçó Ipí»¢"Ù|I¥R)à*Ȱ»°p¯>¬Bžæ¤Tüñ%»ûât|o¦Uo]P9€'Ð>p4u\YÉhëàêm‰d¤6DDD·D;š(yd)½Ñš~='Âñ[š&=ÔºŸ9ž#?òz:yLx”yxCÍçH»€åH”)Žû¹eËU$g‹o2€âÉ,žÏ=Ï)ÿ%ߢ@'€•ÑÊhu¨J¯À´$ ·¯\›[^[1@Î?ó­íMñ€Ôðo§Ñ¯Þ^;7øj(øF¼­<^8þ}yþrôÏËÅ(Zÿéð·(¦ -€ ÀÙ3´Éï1Cýþ-ÿôõ'¦ô¹zyÐ1€×¯›DÀ Ú -ÀM7¸võÜ™³)^ÐöûL ã¾·'XÀ¹»%F€GÖ'PT àìy€NC€‚ ¥wvÉ/¼ßÉÀo·°Ö ”O¤bÙ¡C'iIˆ ÂU¯¸ fVÚF‘_y³pÆÆ]W›‚—ƒZÐH˜ßžø}ʈ_YX‚ˆg¶À!#(U0,€ÿ. - ðèу{«Kriˆ×ÓsDo¤ÇXqÀÀf†V¡¸^xz{ÙãÁq´Qå©ã>È©~úÇq@Þ+Þ¡ŒÈTïT¢¢pÄ;}&)|2§ÄïC^§‘“g±è$N{t’Í‹ö›6í,Œ‹ñRìïé“ ýèÓ?~öèó¯¾Ðä¾€þµ0ü3ë÷ÛðÿŒ @­Û„y"‚{-ie·pgö=­LNÙñÞÚ-ÝÿÉð\Õqö»Ы¹€“F*Ô²\¨T%w»ç±€€cº»GkÂùòÒ¬Ûlv€»ºèŒÛÞ¼Y}8ð¼_ÈÝ*y$*þëÒRõ?ç§óvAþfvaéc%!â'`—›¾Zo\è{áHÿA=R'Å™Xɱ cÊ9 R™h8þ« àüGãU÷Š˜·r7œlêø;ùLb"ÿõ÷­ñáêbùŽ.ýmÙd<zJŠ'†ÇPOˆ)³SOv°ïˆ6Ý·›q¬Z&7,bxÎÛÀžÇ3ŒÊ¯oiêíï  "`HÏ5è}©·4:½²²²¶¶F `Ht ïÿþöv´ -Øm…–¾s^ -À“¼~ܾ¬ŸïRn\êk'ݸ -àò5BM~Dã¼[Ñ -€|žLìîóõ'&n\¿zþÌqúØ­`‡@€â çΞƒt ÜìÆú}§„qßÛ¬GðH@@¾@’Ø'€ƒŠº/€7ÏËw­?ðOWm @8ß/ ¶Ó ¿… k#à¸ÀÛPïØ¼€ïƒ¯hÓ;»}Ú†  vÀNè…ØÚšâ"2pÍhŠ S_!ÀQø =;bŠ™/ZX‚ˆg3PÈhT@% øï(b_|ñùç¼·ºñB-0ʽ*prk”/OHÛ¼ýbH4¯k/¼È[²ç%aM -†â —NHIœO{3½_¤&¾šW}Q‰H޵_§”:kZ•Å:›Þ•ök¡óù‘Ý{Û¦•åá#‡{ú+¥¯¾øüÓG¾úêË/ROí(À°¸½Ì|Ç æõl–¦cÆÝæpsAè–µ·åRçôt#kÞY’{½´´°ôü~atîõá¹ß"ñ»^ϺyH• #•‘©r» ÛÅ1׫MÝÉ«ršg³IÒ^ # ã÷ÔÔ¬àU)­Lл®ÜìÖ< B”J²°t‡‚ü×?ùýìxóõáEÆþkd)k¼;Å•hpyl’1‹>®OÖ¨k -÷¿!ü—Õ.ŠšL]hŒUމƒ¸)€ûä4㣱QwAî,ä«wfïérd­V®‚ˆ†üŸ¿Ï†" öò­™ž=–˜::tÜ` éÅG ëÇ•ÝÀÐCÁ0?àp ¸ˆ÷ƒÿTDprü@~?°=Å б„ÏfF¡ ]þÀ5ÿüÕ—}º¹±ñ)5O²½o#ð¼ýZóûÎëþêÕfWŸÈoQöÄ"¦Î‚O\<íUz/ÚÆ{²]:âiËË´íõî‹­ûönwŒ¼‰è;vô«G>ÿü €Ï Àì0€n )LÏd«»m!k6QÞ[ùÆ=†ú]ÍW?ÉóìC¡_3[ÐÞO>YÐb!ŸŸkþ„X8‘†l¦µ°$ôm¹B@ ¢Jÿ €êL¹VmÔåÈó";Ò¼<þ,_ªÞ[È[­…ÉÆØEa÷êêï7–Z äˈ¿êÚÍ,ç?© ÷î}”Ïä «¿3ú« yÞZØØXMy{q¸¹ê*z±´Ðt¿—ÍèBD`ö•*c‚ô¼%³T::’¡ 0(`MÓT^Î/ÖFÄ–Zrï76îm|ÔŠ¡[y¾:§‚ÌÕG³Oµsfá£|õ^>;Ñiª­ßY¸£»ÖŸÞˆXoÅxNxòôxÅãçGY Ü Øµ)c§À› ÖBQLRsä/žU’ìRzvÄhÛßÇ?¢ß.  ýÿþ'P)—‰Dèí;PªOߕ￲¹¾¶¶¶µ¹µB4À}ùÿ÷·DÂåße’îœÎC…÷¼ý:ô‹2áýè[ûçh+i,Àóî"€a† ×ipf€pý)€¨—°»Ïן˜ü¹qã2 -ÀºcDŠ@sÁÁ3úèòí¼u£ë÷™n\K÷½=ÁPO8õ­,zÔ^x0â{ÅáôÄ·l¤ü¬ó‚Víå›Ì;Pq=@Üáyy.xðPÔ tÅx0 —•ž=»€“‰„à -'à1‘Ð -@@=hoØ÷įåÛm #žÅ€ƒQ².øü0`&tûãïE9L§wÏb~=Å;Šw\ZIë†c;:æÞç=Fn¯ëÛ>Óê‹ÌÒÎH&ó®ÂvœaÛqxKŸ˜f·é*€‹ÿüÕŸþè‹/¿ú\Æ £ H7¸[xf{— —«¯~}¸Y¯×B¼ÛOªÃ£Õ¡aÙë¯kÏÄOêÃã£ÿ4÷ú{O—‡Çµ»>>:>þöëåÓå×_/Т¿4Ð[éíè?}út¹¬Z ÓÉk¿^úÕê_ÊÝ.—ûû‡«ããuMZ„½=þzyø5]R™ ð®.ïºJ1tI})È„Ž Ž6ÿÓÜÛõááòk§‡U%ÖéÕêë§Oœèïíë/—«Õr¹þÃ~6\ŠÓJZ>=ØÐù\/Ïô•ÊÊÙ—RÕ·‹rŒ—_>ýúko« ÜÝÝ(F*;ß®Rÿ\ÕÎh½÷ÍÍOCAZ½0H¿$÷]«8ìTå÷ôy@ïéRˆˆÉÐï,R&‡§$à”ígv¿‡×Ðý­5(u(ÓJi` z¬O/ -ùéPÉûßzpÿ2À~fŒÜcm€~ÒËðñøÿŠPŸÐ?ë^ž91´d( ºt'&7ƒ\}¿Kp>{ @@˜Ý}¾áõ{ŠÏµ«ïžxõÌå«×n( ˆxÂ<è€;8{V×GÐÕou£}×Tœyíû*€§°¤%Û-ôq}@À$ßÀ½ŽéI€ d äø;¡1HL5€“°¼ÊÛ· |Üpð¯N¹;?=˜:ŒPHŸ€—ƒt+ƒD |9Æ1æ ·R TD ¸zä™[àòc87M±Á±ŽxÞ¾2…€%‹Ú|zÝÞ?³éÕo§öJ—½ÐSÒ>sbßx½Å>ͽ[{-íß}8ö¸³öµgJ,—¬§O÷G@Ð àË„DÁ’ù>Ë|×ãΧ?ÃÓZ6·kZœ¦Ó½ºÜÖâ\³ÙDHj·1êz÷F½F…¿|ø<«6ïP©®ëéô¦,—_'·,wè[d¢®¹#t˜0÷vS©\ºÖ‡ùj£‰fÐÚ¸·g3º%ßü;«‡FM›ÈÒãÛ'—=›Há8à-cgêÀ]lj1wLäðd€+u¾qÝæ]ïoÁèh¨ú•ÊŒÌh@¸ §tî.uëëk+›k›["[[´  @ýí6Cä8{fñÑìý‡G”Ð>Kï0Á<€,åw‚…¾ð¾ðÿýsgÏ_¹þ÷î xýö ‹$Üo[ŠOˆO÷ú ²:~âÌyú¸l+ЄùJBM‚+×öUî·§„qßÛ,€SÂÛI1 •uvhðÝ -ÀŽ:ÀžHÀq·÷ó³–ð£_ŸC_äÒFÏá¡ÁS'ÿ' ÐÓ>+ÇCè ³ €|ÿA²«Ó!Ô­ëDNî(Ê -€žjŠâ8€„ý,Ò”6º²” >‡ Ô±= -€c¿Â£µð™À=:ìúÿolíוWôfôÛ¯½ƒ¹W˜u^nÅò)í“?½Ô×óèK±¤Ï?Sþ‹:€6þ›¤Ì‚Ûþ\ -@B¹®éRsZXþa–5'³|æÃÖžÈ<üO–/±˜¡Ë›Æ?]𙡲~&÷`¸®ŸW’TC?›U*F.–ú׋®ú¯ÕùRÐX¤@K¥¤'óáÆ*˜2 ÚˆAè'RA†ùªH‰/"~áA€ò;yk±þèά -¢ -BüÉ&g蛈J‡YB ²¬\öÓø_¬‰ß ý¿5ª‚ÐAAEûb, ál#WVº„¾p’掂4/ šé'ùCÁ<—¤Ý#…%j|šë~p.õß‚¹[LÁuÇyMÇØ÷Ì7 ð>}ú@ç—ôh7‰Š:-ý;h›Îô9{€¸Ú“Í¡ªßŠ•¨(—ÀÿR¹,@ÀPyˆ~‰È—Ý h ÇŸ‘Äî¸×Œ‘{ìòÙWÏÈ¿êᵜh@ªØþ­á£ÀßBøµ»ûyÿýóvÿ­¼U>?26ïYz致€Dæï°äõÇgÇú«ïÓàe€@RR€\}:ÿþw€®€6æ3¹#aÖÆ}oO°BÏ-N ¤þ€ÐN™´ÃÞ<^8¸®©—5¡°ž!ÑLùòv»…ºÅŽ´±qP‡è()rú­ã[€„Ø2» -À£«]Ô€‘‡U\qŽƒ/¿râ*!lCF—mʵMeÌbÒOö58Ì› %žÅº(€ýÿ`;ÀW_} -ÀçV~ÿÇO?=ì÷Ê3[÷»ŠuoÇ -ï¶xkÆÞöî´+Évl<‹=÷‰O´—^øì³Ï¿?’¹Ód1€ý€. @OÏfv”w››à5'/MNfÙ½&H¨í)¡|6å@ù<^Õॠ@PPØøâ ˆ7Y;vôh¥Rî¯ùÇl/Äw£ÿÚ¨\îʨxÀ¤7E†wˆºWfS“t8èB`*­ð)G–„pA·œ¹“~¬%;\•V)••3ˆe^jdcâ!Fp‡]tÿ#ìõ쎳ÖÄØQîÍ g–‡7"{ó÷\4³ÐÌîaþÍ êÊÓKÁ¶Ÿe?Õ‚wvƒõ@»æß@þ /)€D|2A±ùRW?È{zLéâ»×âHðoh ¨‚àH@kî €†=¥Ñ¹åõå7tSÀõ­ûèhkÛ#îc@ä^sƒû…ë÷¥ý‹>ü±pëïÜàÚ1ƒËÄ„ Ÿÿ€Ç"V`g € €ñ~íðú»×C8®Ì®Ý@P†`8v‹hý÷#ãÿ΀_ìðû9G'Å÷{à),)A¨œ´[]ô@­€à[@žq€J•`=‚L/¿{ƒè€ùé;P÷Ï]óø§ÞŒûr‡’Р +}t„´Ÿ ÚFbÇ2Ž_¦t'…þ:»Êp-'Ço2èÇËÂ|$¡ÄS[B •Ú -À®^¾´€‡ûù?‰`ñny‹·ÔÞwUzuÐj¼¼º6víÝaûìú“Ø /Ý»wO o€Š€Ï>{”bR€ojÀ!pÛŸÃÀí27wÃx|NŒ ËÞ3¾ÒO|쪜ð÷ð•cä\žýïEŠ©1ÚÕ«Uúµz±Ó寬mïÒ†¾c±w³jÝCp¢`·èsd¿mr£º*´UA„Ži_¶Õ…Øøÿ:1„Ê=ÉY½ªyލÀÙ+R0ÔhˆcÀÌSŽÿOæŽùý“b" ³­æœ6\8Ç77? Ï2DÍñù…ïî»ÂÇ òŽÐá %WèË.í,>ÎD +í~œ$Ù æ1Šf6߆¹€º€ß=‰”J„ôô Ô¦W–¡€Ö7éÐËÿwƒÀ½fŒÜc—Ͻª—Û¡ 0^„é ½¯ úÃýwú Ðß~(Ž -@Iäó_»åV¡\Eà’ à~¯Ùço{ýÝëî p0zþ‹€çI¸ÍÏ¡@[ø@ÐßñüÛ^,¡ß+Oc…@-‚Vä“'AI¼øvoçß<Ï“Eà?†§-ó“„àˆüdNUÇf­"ý¼ðŽã†ñPŒ pR$ã <;8ÛΗ&´ Ô™²ƒ2+ÚfF…Ióñåùþɼ!K0ñT%üìý ÿMP‚@dŸ[pÀêJ«µ°e{&Ó;jÇ˪ýΊ•¶?Ó ÖºöýßÑDˆ~÷»?B¾à3†èV:@²tߟÙÞvXÝ0+xÓl²qonz––~S–·ÿò|«­€‚Ü Ð À\¥˜¬+«4. ŒŒŒýGòéðÅ[ò¿k p±Ñh ÕÝTŸ¶À;øÏ…Å îÕ7ÜÙGAffZó*ˆ®L„F} -x‡Í¼G‹ý©©¼1šÍÂ=lÅ21Æ¢alè ¬Üà%Ný(l’ñ(HóRãQ5!>à‚Ìf«ÓÍUdF<ã]ð ¿E÷?Bg˜l°žY@º/öåQÐú¾íÄ»'@(xîÓqÿ½Á:»ºc8˜Ö} ’ù›VwYq4üÚ€‡¢€deF*y<àÞ¾jsqyeyyy…nÜ €>Û[ÛÔìDçÔë8FY¡}œYù·÷ÏŠ>gßø¥€@/AÔüŸ?Bó¨*Ø­öûÙ¯¿{=€WϹ G dÏhDòûþ'€#ÄïšÂûg-aÜ÷ök+0¾¹€Ð˜|P H"À+ÞΞ:ÞÒ}˜ƒgyŽÂùn£qo¥іʣ?å|e¬ÌP8Ḷ8#Á?õþ¡ÿu‘ã1Œpµåe‡úy…€^*¸Ž²Tq~‘¡îóšP:¼ ‹#ÏZ ò'’¡?ð¿[¤}iüÿüK+«­|.ÏÛ>¯¥7V2^•Úho³ÃóXï>Âj×ÖSY'ý³žùöÉÇÿ¸ö±{¤€nÒgÿ”K[xÿ¶¨xÞì¶:Þ-ææø«èî ì w„ Cض¿k:Âe³ÙØÈ1€Ú€`V @øŸÆ–ÿ ðÇêZ^¥• !>þ¿[Ò1 -³“iíQU€ünQ$»“U[Ðí¥ “í‚Xû.´9“gµÙ©ìÇ ù“PQ¡°7ÊG{–¦‰åì—'{׃PAm´M6ò¥òªÊÚFlv¡1ú;&ø&|cã±*à:­Ùíæ©îé± Š #(˜­b,íò^§ñª>¬àýÕ,àÿ¥b4ÀŽ=öÙŽ+% ÿfFÇ¿Ñ@¥:ªA€Úánèhqeem™ærù=÷@@òþ‰ØÇŒ‘{Lج·Û!¡¿^ɼ•‘BŸ¨8ÌïüyÆÖú™ó×nÜ´ ç@*}^¾Nl`T@n#Ç?úçþìXË # Ë:õêåËT蘾0€[nH@[¸Š`üï`?k±¥¹fZK÷½=ÁÚ1‚û¨Ðõê/¿LD„@Û`xŠ8uê¼Õ“p°M]m8ô^&ìN‰ÃÜ­Ž;úÃè`¯ -QÖ\‡`„¦@ƒ…À§­8S™Yˆ -ã¥K¶KpÞÐ7¬÷³1€@ÿ˜’TíV¾ü³xôù§÷6Eò<Ëg|ÛžÅv¿Ÿvm‡àŸÍk±éoì/ŽþßÇRƒü{Ö¬|þù—;(@¢Wé>§ÛþÌf„Ûa5f Ø„Ç÷êÍ;࿽j;à`ê0UÞÆ@í¥ÿ~ïÉÐÎgff¨_7R`ô? ?Áß*x^«×ßi´†ò©u²®’÷Ñá Öë.H^Íéž7¹÷ì›% ¯`"ì„põðá•@éÈ3kMÔÑöøÇWMêÈÐÿ÷—*ÕËs–1œEpoDÚ„Vœ!Ôb¶UV^Z¥öC¥žÉòúøGé†'úFfÈÈñ^@φWPì»[@0~ƒÉšuÆð‰ž"½óÐVGm!)‘À—Õ…ÿÁ}•ø¥Þo:Åh€¥òG¬V -Hk¥2ÍÝàÝÌÐÏÌUÛÛZ@ö1FÃÝk„ÍŸqO€z1ÛÉ’ë÷÷õ_þ¿pþüÙ÷¯Ýø% -€Mu(ꇀPì—§*€¤Á÷Xp㪧ëþt¯›œx•è~+Z’aR<±®ä6çΉ \¹qó@o¼)@ßè_l}¯<…íTÜ!@„D  €™9  71€7Ï3Ž¿@°€Cþ/ñÓU(½†Ó^¢÷°ž9ý k—P’ãnïï“5wzS1-)ÓI¸ -٥ᆠ\B9À<܃ öª<Á"$³}:¿‰m­èÖ^yÖ0@ (AR;@fÌ*€ÿ.HsWÀÔröß~ÿq‹¶[ϧø]+Ó:ûõêÜs´“,á?ÖYÛiÛÿÝÚÒR"¿c €¯¬|ö(Z´ €ïjºÍÏþ2Ãܛ𸻱—ÙêýæÕûµÐîÙ|8s³;™0ò]a " -ÑàÇ.;rähåbÿdmÄ– W€+ÕÅ~,°:\ŸqìDøÁ€uïR\P‡tÍæÌ¥UìÑi {g³ñhwÀÉ„ FA(ýL63»`4W±ï4ê«Ú Ð5m#EàÑRé}¥£•K§M$ðóe1:°K$›´¼ í…¬Ì؈„*D¤ »ï4j9ðïs݉ßóøÈÌ#¨e¬xÛİ“z|xã¡ì3'é ”±„ úÜt³°`é¹÷ìq¦Ì xéßÌè -˜~ÊåJɰ±r™Ž¬¸ÀÚrT܇¸ÿ¿‡÷Åè `¯#÷ØÕËgä½…ðrôÑâö1áÿûúž/ºüy bÜ -F ðWB 8 ¨à’(òÿŸ¨êǧ{=ª -@“@Ĥ6ï»â:¢ƒž\ùë^¦µ„qßÛ¬£˜áF+ÈT @íDPuH -.·07bBµz`>ÞŽ8õWç‹î|º€y]UǬPèGì=¡âò-:×µðŠ7;€ýœI¼¢H‚ƒ®  1‡uÍÁ¶y´Ïä¹4IÙð -‡béEЧ5s€ÂvÀ[ø…gòl?ÿì¿ÿÝFë7~Ñbܹ‡²G>út{ûÓ­­õõÖ|£öã|uûÑFÞk¼;ÍçùÝÖÊÊݼ1rläbmr¶µñ{9Ë÷ɾ`†}úèáêJ€BkãSíPžBRŽõèKþôÞÆÝYùp þé6§|ÉçK}œÍ§ŸÞ[ͧkÖ'JŽ}Æì+fŸ®Î\8rld¬V¹ptdúî§‘ì+%¢qc+«¹ØÈאַ -Ì5»+OuþÝw€wW6®¶¦³üîÊÊê:êg>¸‡ûÒÓó¿åùâß,þf±ÕZ‹ÁiÐÝp‡¤»lð÷3ætp·´€#ëŠxa}³%@åV -Q (Ú°ËœÝîf³òûiXw´^š -ïÿbÒÞɧڠ*«Õ\wxÂ:~â2¬ÃDV…Þ\¨Ñ¸£k.°¡F€õ´ÏsJ5CAÞµø¯Ýúº 33Z£nB9,¸¨:Q‰¬\lÔjÕ f4:]™?íÆ|ÊÅIÉGgRÖßk%t~<í!SRA6šõt©<—­Ì_Vdæ³&©€ôÇX¤0¦·Çp -ï·P¬wÅØÚ@(Æv_ò F>/ö0ÜVÀø70a=a€0úf,@@DP°FÀÚ¦Ì -€ _0¿ý?Öûí Z/7+p#€Ç× Ð uxþý3¨ð¡\ÁñF ðÜÝõ€¯qör˜€'Çêëó󂤀³—¯_¿ÆXTÅÛ1ôH9¬Bœ»zÝUñ -à©{]Ó÷ àëm‡Ø[HýÙsöæà!4¯Ì1DßÙ½‡[b¸ÜT» pqÇ#$?tÜ’€«ÔÎDP{òÄù³ƒE €1½Ë`VŽs}eb@¹žL -À‰ã¯¨€â)0}t±¸þðáæâôÄÄôôt¾xè¼+b@sòæü²Þ Û¶€“m?z¸²<ÝhNLgw×àŒòÊ|{kSbºÑ˜k­osЇ¾PÊãËG_lßßZ[œ¦¿º»kÛÂ÷/¿øbû‹/é#~°½<_)UF=àÜèôòÃíOB¾x¨K|±ýðáÖò\­R­MÏ/®¬Ý]f4“»ó²élbb¢µ²µ½²’Í/Þ]¥³­•­û[›z­}úéƒO?5²åy«µô»ß}&£# =1²ý€gäéÎï°ÜýòEk¼|µÞ\ƽ+ Šåk»€lnÀgðoØpx…å“GÜ@e`l¬« F౬…5‡jéŠHû6Ã.¶²º×ó¥á,ÚºqþTŠ7låUz!*Úr"»©¢F‹p ­·ÙYAcllŒ*1h ’\¨”ŽŠ”*Õ¬ÜhQzx!WqA "d6ù.{³|uø#]&±T¼Y[˜a| zFøFøÚ/g¥pÝÛ€Ì~$~ûû¡ÐÝuÀwˆG¬P¯¯Ô>ß+‘ŸÑ½­p\ûwÄÆ©Xi_·ÛØÇtâ7dýý¥:eþ#Ð'à¿¿¿¯w`tÚUÔøsŸ^é §ÙIÞcA¬h3ØßP ü^ ¸£Ü‚\¿B`âmà×Ñ€îûo¸ ¤Èÿ@À,¯ÿo»ÖiP(ĸ -@v+gϸ( -€³ùùZñcGÛÈ}o· -€fE+}àÕc"a†Yœzó,Îy‚ÿ6þd!PÍ6íÞ#ú&àe€°WžÊëÄ ?šŽ0t¢¶⩇¸; -€… N 1€X–‘í`IðïIL ÀßkÌ#óg"`?Ÿ0ãT¡ÿ·€¯¾À¯ýãïîбۥ†0›šXüèá¶@0X{øhc¾ 9——WV–監•j}4ÀC€‡†ñG¿PÛkËÓÓÍéå ÎBé/ååj0?1ÝüÉÜÝuÞà ‘}æ_>¸¿µ:?Ýœ¨OÜ]¨ã_øRA`e®Z¨UªA”;û¡_@.D†FGëÍù»+«ËËkk+Ëwççææ3Q˜‰åÕ­‡*ÛÜâòš ÀšÜWnno)m€ÍÖÒÇ¿÷˜€Ýøÿ¯Ñ°Àÿ¸éA¿žÕ\ÝÐmK«¿ÿx5ÿ^& Ï>ÍG›‚ú;YþÑÂR>“·òÖ'KY5kÝiÝûdÁpòÕ;*jë“Ù\Û)Á’üàc¥ÊH­Ô_›Ê³±1eÍ@žµaÚÄ/keóYc¸¾¤KÒíÐüùøw­òUúÜÓ ­ ]“‚,(á*Ýý-å­V6žÝYhÝûX…PÉ–îÜkdwZ«Ê ÿ装YFj©dy>^ÏZ­O„Õ*𮫛K×Ä*7ºR9Z¹p´Ö¨Ÿ®oˆÁÐÉ'ª Ü‘6îéG.݉‚¬~ÒÎWEsrA9ÏhC™«ó·º·šç>éy—‡;A0 q½&È}ép 7ÈŽûï >áÔï €)EŠü´H­Ò'YA¸^Ûvl¦4œG$AO_ï7˜ú@{£~…Þbƒá­ü 6M@þOäý#Øû·öµ„u;ú^EÐËÕoA^½¬>†Ð -À ô_(o€ @:áü/ûð9jý­X8sÆ -Có&@ðÿ5 -@ЀPÚ” €s—¡W\ÐQnÞ¾ñsS’³DPšDëw þûÅ÷àëm‡6²"§‚] €X;À ý‡õ{½~ÒðòK• Cô¢ì{pŸžž.àÄàÙSI̧}ìæ,cЭ€kz"8ŽÀQÍB༗@t\?3€Rx8Bn3ÇÊ“µÌb#.Ù±gê Èdû‹+V&ê&w…ÛAÄ1¶¿L -€€€•B˜†Üµ p×/¶¶`·æA¢Bº+•а)û°õñ£ `Ý1m‹›®émz· ›ñyëuñ—zµÞ¨¿^mLÔëY½>ßh«ùZ’mêµ:5Mw«šŸé̉Úèþ¦ý}¥Þúanù_­º~}¹‚rÔŽ·_cQS^"\õF³9‘» ´$ 2qzœF³®„ìÚË®©Ð>WYt -¢?A†º,Å. ò½YoÔFÝquHs?#Sîfÿ@¹zº®CÊ|B—j4ò&£þÇ%¢ ÍÓ\Ã{F©Â)ñxN?ÊN&¢ð¼fÀö,pXóXM8ìØ@ôÐóbx󚛡R¿k,'ÕG3'‹BxéEÎ޳^(qÕøîoq”yŸ³Nÿ»Ïg¨ Uåÿ—Ý ˆè(cðϳ¾îŽˆØtW÷…ÿä!ìÚí²ë Ÿ·SÐ;ú± -€åÿú3]¾vKÐû«_ߺ~%á.Ü€ù"P„ÊÂl€¨xœ@«ÿ€{ãR˜%àÌ«Vn \¾Ú‰¸ñw¡D€k -à±ö Oß+Oa{±ž¶Fjß!wØêÔY+t$Kþ¿ø/Ÿ¦‰7®Œ„¥ Ís\ð@Èìk‘­ò:I(ŸÎ°,°‡“€´¿K Àåyà‡XðYX(h˜hà_Å×aC_¯¤]ÉT<µ%€0|TpŠ ðß ‚>ÿìwåøþ„_µm·à*€BØ\lNüD@Ì›ã•jm|º« -àá—Bhe`€МhÎíQäã+oª~"¾e@Ðo”· lÜßZ³ð“P‚p\ëm`h§àK„0ZI -ÀúÝŽà*€å€l@xÓƒm^€XßS$ç{¾ìÂà_@@Ÿ¸åšžGïc£ÕQatõµzõõòëåáêh}´YÖ>¡éhu|tvðÚOªÃJªUí×Bç‰/¡BV¸þþ½ýrèôZ¯6Ànµ:¬7ý°¨€€:P¼ùöë£Ú3Ìgt\ HÕ62­Ö_¯¿^Ž‚LT‡)€Î–imb\!)%ÖbœÒLˆ9P"¥¯)éøé×ùM:<ÑlÒq•þfiy†Q Ý×_î/SOd´³ õªÊVím¤|ZéTÝ‘q]l\?F—oèæð;8ù9- ZÎugÅ홳†·ŽdïìGp;>ïÁ^hÀñHH €VÒà0©½ÎÌ A1órqž™¬â›DéE¢€æŒ -400ÐÏŸ¤¯¯TÏûV<0A÷×èþÖ¶¾þ—Ùcy{ }þ8ýºƒdPÙãa»ƒèpדc~ÙQ,È„ù¡8x†æ‚¿ê"Œå»‹¸ÃŸX À÷»×™‹œ›P6V®¢ˆ1@’ÀÅ)äûš?‰øÁ~¯%ûÞo;ÍN -í¡'£¸ -^ðë²7»oü‡V&À¢ØŸø¶†–C~[HXÏhPĘ[¢!ƒöäY•õ&I")z˜: -Ð$€Âʼn…p¢—(A=Ý©|=yèWbú®ÂR–°âi,!‘fÉ쨶CR€À#bì&µ‘ʱÒáxÈ ÿ²] -ÀÄÄ¢¼t+͹l±ˆhÖä„wbä™?ž»ù’ÓÓ» ~¯ÀÙð(Bû°Wꈤ<,_b·°ÜQ¨øIkíq -q ÿ1ãÖú$Å[_ß÷ô—xJ³sÛmÍK­|.›ûp.Ÿ«OÌႸ˜}8'_ù?'6.‚óV½ÕÊ´¯µˆ2Ž-æ««µZ³:6Õ¸PºP«ô—*Y­6–ecšåÙ‚ÎÔ/šÊZ-*òï´êÃÓ«ºbsŽZ*dæ¤û­ÖòLwí?×u´!·¾•Íe¹¦’-fù¼Ë=Ïç&VU•#¿47ÇÙ:LlÉotïTâÖŒÊés?¨Ñ˜Ôi*£~êTc’؎Ί.”Ë ÷×Ð%¦õ£ Ø.HÞ¬Ž^š“÷ßÔEUÂ\·*ÏgçI¬Tysqc®™-kçâs}ô Ì8íü£ˆ l½áCV´«PÜ0ðMª4€k š<§ m˜ú°l°{,_Ãßý#äɉ.À7ÑxΘN€+š—ËîX“dï@Œ "7ï¯m¢0à~`·Çp5 -@T„b÷{LÎÿe¹ØÚþÿè2™X€\–ïm€ùäóÿú׿úeR˜¯K  ÐkC¿×Rìÿ5f^ózjpæUgv#}ìVκ9"4àŠ€®¹Çì÷·áÿ{à)l·<@θð²3€€îBØÿv¹ññõœálŠÿü½–ðÌQ çބÈzg:Ç }âÔÉPØýh+¦#d ëýmÝ€a‚Nœ¤Ì -¥|’¾KXñ5V Oüe¸©®ø·Mu²ÿþÕ—„l´r±*•Rßá4=F¨E @Gˆ€Æè<¯PD8/^@Š€l§ ”Â+ï01ßöð!ÂÿP‚„Ð!$ °ûˆðß@×ßÖU¬1;ª–W6Q'æw)BŒ€´øT.€ÿùòï>u@QßN„`ks¯g4•g§ â¯Qì†iw -Üzña6üahã©é L¥m, à'ôt¬26P«] Ø;Œ†ri%s}³Ùj£J7€5®[Zçx‡†‚Ê^ð«l«Õ¹v»×ß7£·b¶tÉñTQØpÍøBŽå›š]XR.¬ë;xo’xCÚ%\3ü£D5JCd£‚PQPO©ëǽƒ´ïK ×…ÿ¬(]jÊxI¿š¬ÅZêî1áùGÂ^ÖxÓï^è«O¡èk0÷†1¿ÔÕ ' ¿àZ¼ðB_Og4@'HfP˜“§ùãj:³³U¨oÐ!‘»$ P‰!$€š®,¯èÿÄÀñßrÿáýý€‘rŸéʹ3'húæøÿXà—“ý#Á?Avš„Åî €óÄX~÷ï.‚Ï20_ -@§`þ†þX+ÊŸb]ó×pEÛK`(qèÖm*4Ú -¥¸ríV7ë Õ?,­'ûÞo{ÍNê &¢¼Bí½RN¿ 1ÂÖãàôß!KøO ÀËQŠŽùŸ /Vi0Ø­ ž*Z¼þ{×5Hëk)_× ”rÐ -`ð¤JH U†>(mD4 !©b=ÝzúŸ¨°l›%°ø}…4šø`†,;¯Á¾úJ ûéVõ°»k3üËöQöÄ,[¨w+"‚è.€€¯Qš©ÀN À|R:Uû*Ë…ð¥9FR*ûÄÌQp× -@¶GÐçÓ0€c|Œÿl±µúûÏ>ÿ²PŠJ€ÀY0€P|ß5{‹þøºL˜—°6¦FßëÂf7á“¥Öp6‡…Àiz¾ p!Ÿ£é݈é¯Éµ®]¼ø®@wL'N½Z -„‰÷‚­ Î…ÂÔ'ü©Õ¨„›«VåÂx]ÿŸ 8Bõ…»ÕìRDĹ -Ò.›mˆ(Ìfã­­º!vz``Z&ŽÁFF.TŽ•jCÕv¾(ˆ‹ÑuCšÙpýÃô“ÙK²I®¢ëÌŒ×óTç2}‚Ô@f̘ïC˜÷F Lðe²/ŸVÛ= -êcŸ3ã””×h€Ú' -ú·§&!ŸýŒÝ"š£Äœ?³õ÷—Ê%†¥@™yÀPÉUJ£ó‚ÿ5¢è -`î€äýïßíooì7 …Ï®‘M -@Aöµ@×n»€ -# xµv6ZþÿŠQßÿàúÍ] -À€ø‡ÅÚul÷<ðê¼qM$‚ €v U—¯ßº•ê껡¿½õ}ÀSØ^ø·7.pBëJxœþÆÇ -ÀñCÄt{Ø ðæim­@Ùj%€ßqN:ð®ï:„låí @ý0qbÜà ÄÃç1,€Ž¡pÙ(Ÿ³ŽŒœ+ßöÌ;´HhñDKÀc0j›€"P–Ü[GgmÔ.t@¡hÚ~øàÁC‘ýõåù‰J}^ ½~W/æiª tm%Ÿ- e§ï®­,ü˜„‘Öï6õŸ˜[^»¯=þñp¥RÞëËÓ?‘Ë9½,öÀëûå—_’æKeôÅöVkºY¯þDÇa$‚9øT2ˆ^¬Ì•ûJµÆÄøP©2¿²ý¥PßÜÁB‚ÈÅÊÜèPu´®‹¯¬¯¬­ë ¶¼xwqq¾©+Þôç§›‹‹vläÓln>èôkÊ[Ðþç­ÕÿvUè(ÅÄçL¾öΩ®Ëbõ‰Öh9›Ð šþ»À¶p¼ù¥aÁ¦ƒúÌdæÁquX¨Þ¨+9z¬Ö_qK»Úؘw’¹ìÓ{ÞÔOI9;“7FÜî>“óÍÕ‚’@|=]µUÎ}•FýÔéªP'Ä峉ñ`øäu];Ëggu¹ z!’ ª1›‡›.æ1æ5A¿ì"]6މ­”j‘O6ú×Ý@œ×éE-òáÑŒÚ -jà‚4#ëÆj½ø¤g¶xs€®áàëË<ùéÈx롼d §ö¿ÏîCX'Àçi7þ?ÇÉ€éEW(¹òMf°Ó¸ð>¦3uÄUAWž›Ð§_È?Jd&s†¦'ÀÞúF›‹‚k›+ùÓ@ÿ1Ô˜=f8ànÜoOBÏkç­ ·ò“\kÖsAìûçÁ] -» -€¾ÿnÿêW7®š ¸ -@h›€¼w€Á>?Ë´À¼Ÿ]{ÿ, -kŽ#°6éoEO€\ ÄQAàVÆy÷0ˆ6 R¡²HGôÔ›–°Ë— ‹Üüåz…ű„_g“"H ±‚„àaÊÓn ¯{ðpûѶf"kwç›C•¦Pse±9Z§êü®ã‚D ä5ŒŽÖçWôBà¾Ba@!`{ån“øôòº ØŒsÌó‡D¦õ¯5ï.ßçˆ^…ÿp€GÊëÑrÚ룣"›Vð·> ×ç‡úÊÕ‰Fuh`hzE9“»Ž¹ÂÃ÷׿èh~´9‡û/ -°²²¸rwy~nZ05·¸¶¶8/f¢w››Íuޝ»~ ô¯¸ oývãwx² ëºùÏb>Ý–p~bâÃúð‚8»XÙ´?ÜÝ©©ÙæpÒ»uŒJõ™¼]˜š©˜ '@ê»ScïNÅh{S³J3C§3Y³ l -JÚ‰F­ÉHAºbáè×ÙxuÑ„ Nqäw‚}u]-¯W£ 2[­Ð—=Sb( ³SÙj5'D€VÆ´6IWHµ²]Ä}]Ê åƒý>” ×3Ê »Ä~„2:cŽjËê'<…'3ãtZK ØËJ(ZÕÌn¾œyÏ5{)b3BPáÍ{ò‘IW |¢œ§sœx‹l‚‰$àùãè¨L à¨[f˜¤ŽúúzûkMþ××Q6H]í«àGï5íÏÏÒ›¹­Øàï²—/ø>=ý0“»/”—¡\£# Ë$èRh(§½PÀÿ§Qî—>B÷Î,e&à¿q½ˆ(èB—àHŠ£ºhÀ|ømØïìI ÷½=Þö‰þŒÁEÀñ“†IA, RG@0€npˆ:Äwþ| ©€ÛQ€v¿tkú¾ P{ê,(…ÆuOâÍÛ“ß« 2šE莈lO¸¨>œzÝ5ñ_ÿ½ðZäÌ·0ó– -¾Æ€CPÛŒP;ñßU‚ãÏ?ÿ'1€Šü¯°ôOL_Ÿ ö®ß›¨M4ççš z `íîÚò\s”¾Ãš"ä¤ËèÇž?Ü^CMßµ‡/ç6þˆøî&èáÃõåéú(’üæƒûJJKø’5åµ½¾(‚Pªß]Ó«\¿øò+•]¿’•ûJ•‰ñJi 2·¼m@%€~ÁµQ&¦ç+äÀÐÙòÝ»‹ùtS;çïN ;šwï®Ü…Ê˜Ñ Ø;ŸO¬nÜ÷@]ÀwSwuøçólX·czg¢¨åÎÆ‡ÿQ{@;0/v¶-w€ Ÿ[Ð?+`y}jjᛪ](•þ`,<†ÀÁÙ©Ÿû•ö§î6(u6\ †œ@j™=ú0€ìQ woA2W°’7”[–›ˆ¨$b"\…²ÍŽFYeĈŠÀýAP #%ûó¸û5Ý®%&âË¥ȹˆH爎56ÇM´ú&µÿmÞS¬¯]pÌnA»÷=E?À701á{Â|†¾ìëêÀ{ƒ ȸPÛæ‹Ù.‹3]Œr< D/€ú?úýÿ\a@ ™{t?úY×ä@@ZÜ×ÿ»˜Àþ€¿Û@ÜŽàW L+ü=æ.€õ‘ƒÍìÜå÷ÅVn_¿ìæÚ‰pöÌ)€_Þþ•ûJA€TÇïTc¤+>Ý3€sTÀ:Ì"º€Û1 Àua¼a¾ËÚÐoûE¹ïíñ¶ÀÇ8´‚•Q°ƒt+€k[ÀÕ¿m¡à*®uâäÉó§‚DÞ$w´µÄöENŽEµ5ã|xðåÔð üüÈ€,íîcî @?¦DÎ#,åæ»,Kpñ5Và&ðd/µÃHA›«­$–þ‰ï‹XïÛ’ß/Ç¿RòðqMB£+Ë«këËsÓÕ¡ÊÐèD.ðHñϽþÅýÍÅ:ÁôâÐüÅ®éC‚› ¬ß gsqýþ£¨Þç4’:ñÁúÝ鉡J¹¾¸ö€àBúøA! ƒëó¥¾rµ>*oehzS©¡õ³¾"ó‡[kóõJEþá¼¼}90ë4[Xœ›þ εàntyÀ `ñî¼ÃÂÒ÷<@QÝѸ³m  Û‚g±÷;SÛ²úðÝzý@°Ë!/,o ã¹gÉž¶À–ù»ÂøÙ©Ù÷ ¨t¬ÒW& -°6"ü“ûã èÏÎÌÎÞaõÎììäÜ(>4دÛB  ÏjÛDZìÔ‡YÚ[˜ ™‚L6¦–LDf‰B€kxd(ÇlV%rІ)†.RaCxoJD º*¹p´Všpxƒ<²EPàŠÝiærD²ŽmèQÔ‚Ïláú k™¥ <6Îâ`³ðNppw€8ýDÈHª¹cèÈ>'NLðÎú.Àã"‘‹Î|§9Bü¬jþ¼}š”+‚ÿšþ[y ¸ þR_o_Iÿ½ú@¯¯¬m®kò{:€ûÒËb§àï±kׯžïŠ€0O€¿Ûèç_ÓùË—µÐúåó€õM€œs¹Ü(ö¾ñÓ=à+I¸¹Sx,(àkÿ¿WÎ 20¸u—`b‡ÐV„õž~á¯AÚ¾áum%ûÞoû*¨ìŠôè €îŒŒ=ÿæ©“®uO°jÌZH­úÛ˜ÚVÀõ.À¾úIh@½‰³t¾R@Âk'!v³îRÀ6Pˆ8È¢P\u€¤ ë¥o‚Ô;‘ -²@Q4–ü0/½Çà+O_`Ž JR†ÿ -€»üìwm  0Ã~˜þÕ×7­ÏOT0|T¨0=?'wДMOUL‹+÷×Ñéÿ8ã¶åáßÕ[zúsÍI` ã›øš€Ø]‹#•_lË…ðèþæÝl¢6ZiÌono?²ü/ûòˇ_lo?\™® ”+0€ÊâÚö—¨ rþÓEDæò¶9=w}s“^L„ì*öÝ»4ÐEGG«µŸÌ»5Ãʲæ«m`-Á­6•-~´zïÓÏE`;Àw3î¬@²¸ùíÏS[`×¾öáh9þßAœ/Ìw¶¹áES F6¬S½>Ù¼OMMŽ9zôX¥¿Ô¨ŒT` ôv.pì´ÔÐó_Ö¯Ûä/U‡s„±‚NAÀx›@‹%BD„îxµƒAރ̅sNôuIÞû©fcb(•‘ • ¥ú +KA(Mã®°‚‰ŒËvS"瘭!b#&MIî²£¹ªáª%0Á11Å}iRL”ºÕˆû?ÿsm¶òI¥2é’ ~¬ ADŠ‚`"‡ Hm|*ta‰æ,À–c¹BdÉkø;î–¤b‚cL¬0eNµ)gYæàãWø+ÏÇÀJs¥Õl4Z­f½QûlóõùÅùùë7o®®~úñ§Ÿþeú¬­ýnêeíÁƒåÅdJ#p²â¿¶šçÞ ó<ôûý<ÏÓ«OßQ ijš?¦2€ãÁ TÉãsýá oììß8ú½^¯×[ëõz«kkÒXi<\ô¨óxBÞ¾Ýün{këíEÉZ-Òf*o—µÚÝüàF£r-x‡Ià|(œ÷ž82*ø¾p\d@–[8ì|ïê"±F¡Üubm’$IR%CD]a€\WK"o䨲© …sÞ‰ãøÔYá¹Y°ÞgÀp™ª.„ +gŠ l;¨ó;õ“§ŽJ7Ä".03Y2”Ì%ÕªÙ&bÀÀ9rL^=2çT\QoŠ—žc…sÞÿvø{ âß÷ , òÄLb¬PÜò"5‘îË¢b­ÚÝ,˜ÈÕ·lmW`ÈbÎÀlachÞ’ *3Y"SzœŒ V«}R«}R›­Õ*³³•Ê'³³Ÿ|R©}3€‚ˆ1éiš†Á` iJÂVÒtÎ +Ô3u­!¦U͢π%J ÑBŒ„m€Ê$†CæXíx“ãß+­ÖJ³Ùj¶Vêµ…ÍWççç—¯/¼ºúé§ŸÞL÷\»y,Gøô¶&h€Þ°Ô½ “àë/Wógƒ|º†y”ŒÝÀ<ÿC> ‡“)Àþ»`Mz²¶Ö“ÕÕ^oµÑx¸Þ~Ô¹Á|tc øÝöÖç7<šŸ7z½V«ÍÌÖj3o§ µZ4¸3Æ0†@$5iü-3Þq<Іs¦p.¿êáº]€»c›´Z½WMîE9;K”Zk‰Ù1@±¶f!‚§¦T¬2Îñßí:;Á—¹Ä9(œ‹[ƒÌbwÀBd —9/¥ü'‰xv .ywÂD&1&M¹7g’¹tGÈ™ãÈÀ9/Þ3‚˼zè<È;`¢àœ÷RŠçÝ +U§Î‰Lé„¿ãu…‰ uQ T‚‡ ¬±–œ%VØn7Í2¤ÆR*Ñ»›Ôx“m€ºÖZcïbœ+¯÷SM€¿©ÔfkµÙZí7¿™ýd¶R›­Ì~R©Ôf+•ÙOjµZ¥V«,Ôf+"Æ|‘¦i[óä ¤©eþâ Š›L]&NçR¯ª¬” ©PáH%K$È4ƒùoÂÊ)+˜•˜Ùüj˜ùÕ§ÖXYi­·Ö[­f³Q¿[Û<}quyqyuõæêê_ngÓá?ÎÆ:oÀ` +n÷Ÿ£ÐÍ=À1 b P2†Ãkˆœ€üøô]÷€çÏû=‘µ2èõz½ ø°=+‘X{'(ªÞ½;•TZÿöší&D, Õ߈Œá,s@Œ|m Å©FC›ÿ?yÿ÷ÜÆ•¦ ƒ‰ D’¶p À8¸1ŒdwPÅœb%“ +„BÎ4^(»fï 'íS,ìä‘N"[(™´¿æbQTu3ĪíGGE(¢¶¯aºÌ¨ñ††êV¨b›Á‹ŠQ¸çsÏ^Í]ÿ µuYë[¾Ø‹“ €¿dI®ñÄÆRI‰I‚äûäóþzžŠeYF`Ák—^«Ã0,«bÛ°l[¶ ¥´‡25qi¢£–Ô #èt¤”{ƒÁpo¨fçe0„BÊ¡Zη;Üë(¹ûÀ+P•1ˆ I{ š +±õ°eXÁŠaYÆksssFØö@Šp8H6׆ÃA|i)…ݱ;Õ¹%cM{%¤R›†…a…B ƒè·JEÜ4„°£h #ÕUì ƒIË2,kXAÚ–mÈN`V°¢Äm;4ìKË7oÞ´…eY¶ae ;ì ŠlÛ² öÃ0ÞV¶5œ®ª]×uBt’ÒuMKÅJ¥t=ERºFˆ®]OéD':!©áPÈŸï +ìWfÛìKv$ApS +[À@È N_,;¢A$¤T‰^Gi“Ø–-miYÄö…/r^ŠTÍ*sY•™´X ëvüégŸž¬œf«KÓ`>3•ìNS€ú£»ggÎdÛ§ ¿½˜Õ +¸sç|èwO×Ý¿˜m&“€ÓA ó|­J‹EZ D×ÎN%cÉkš%g!@!@ ;Ò^‘!… ¤µÜ +Ô,i…Ê“&6½³âå#ì•×^«++öÊ­À6„mÛöZH):áÀ&²à¶-;Ò6dH!a­Á­•À,[HÊ éžY–e[BØRÚQìWÉέ½Ž4âAäć;êÈp C!Vì@V%° {Å2*—ææ*+†Zn„ˆKæñ*±[J[ +ÙéH!#È¿êCŠ(P>ÿaEa˜„¿.t¾N¤’Õ@R‰ŸÐ Z d¬Kj<ß¾iY†vŰlUd·lÛ6‚JÅPß–˰P‹’a¨i)MK¥4M'$—Jéyè)’"D'ºžÒR:ѵ”®i)=¥ë)¤4¢ë)¢§躮§ô¼öMÉ@€•xÜì`Å¡’ül«bIÛ†¢£,€T·1R†j-p „°ÅÍвå­À¶n¾¸€eY/å\¬šŒ±jµJ_!¤ù±Ò8>>~òégŸ^ÌN§3 @ÀÚööîîŒF£ííiê®@€èÝU»ÿIPíŸýñyñ¯àþöÖ©ÓsoÜX_ÿË$Ps3 àòסä™Àw +„$5‚¬Ó Æôl£#ƒ #¥´mѹ¥Dee¼X–ºçªmÛ°i¼v©b¬Ø+++¶]vˆ0P62ÒVþRJ[Ê(°TR¿–-#i+‹o)l!¤P[ù–âôR†vÐQ ºø/+RJ‘”Ñ@Í+…”ÁMåuõš´W,K¹¶a¯Ø¶rµƒÀ6,!”¾ŒÍ5b[ HH)CkÈaGŠÎLøG“»¢¾wnPÆÆd7WÂ0‘ü‰”rKRFÃp%¶¥TÒ¬x7P +ãÒ%#þ±bÃnå·¬ªnö’eXÁ-;ˆ";Hiš¦é)õ"¥¥ôÉM@ŸÀ„TJÓu’Ji9]O È«+ME¡WV‚àû +”ËW`"’·5$lØ7m;RF±íŠeah+O8˲¥-„mVe%Q$6Ôß/òü2]À"-PV­V)¥’­txxt|üø³'ÇŸ}öéÉA ó@¢z2ØVЋ`ggªó·³3³0êõú£þd°>lo¿w^ü¿{lõê7Ö×ÿrýÆl `ÊÎù¶¨ÐŽ=ÏÝ"„èäX2†€xö5”2Š£Ê™Kv2öê b‘=Û7ã¥WaÛA%lëÒ%Ã0VlÖA%v¤‚|0Ò„ £­&ñ#Ûê„J#$¡ºt •fˆKˆP[ +)…ˆ¬PÈ0P ɬ0 †RÄ”B]3ú‰uÓ„eˆÀZY± £RymÅ^™-ÔÙ¡­.(þZQ ´F¥”²3ZQG cQÛÁ`¨â? <l{ÅZY±d Vd¯Úa,¸"d`ð Ë^»iÛ¶!l«’©,+JNÁ¶—¤Q1VV¦`Y–•"Úwt’")-¥iºžÒ´¸ª“Ê‘œ®@Óµ $ @×Sš®ë$¥åÐ' ëy-•J¥Rº¦i)MÓt-§kD#ò4A`ÛÆÊŠ±¢ö±#ÜA`+v ¶ c råDÜ4 ;&/†a­X/öü’sÔdUZ¤”’…úÇ?~|t|üä³ãOŸ%BÖívßíîîîÞßÝÝÝÝ=ÖÏS:Må'Öõtì5˜Nkg†ˆ¦“ôìÿ«bPƒR#TÆ»A$# +iGÒ–"¡B)¬2Œ²+lkÍV¥R1V*†eË ")¤-£(DQhI„RF" +¥Â*U+1ƒ( +bq!J!2´"¥'.dð¿Ki ª˜ l!‡‘FQ42ÊAEVG2”2C[HÛ6Bõ i¬•Ø"GYæ¡N¤NRZÂŽM¶…-ä 2Ä „Œb0þª4®çZG¡qSR¢ Š‚po¸×±‡ ÕµŒKË® [(§˨Á0 ,Û2T…nBËUì¦rzФR)=Eâ9k³ @×t=§@K%5]×Rª@ˆžÒ&E@¢“”ž×âÏ¢€E׈¦‘”b©„*¨+§ˆN‰F¾ÿý@È êDaÙFe"h–!„°ã ض½d ^| ȶõ>„V°*¥E¢ÁÇ=>>>~rôä³£=Q]Ñç¥ó™ù™øï% €^¿¿³½½ý^vþggÆ êµîN¿×ïoO`»ßW Y +ìϺugºÝÞ 8‹ÿçõæY OSýéÑ Iké´¦ëi=­iš–N§OÏgÓ©lVŸb‡&©'k8Ld€‚HBK ‰íD + ì@ù„‹Ž°BÜR¨À +„°ŒJŰ Ã¢›Æf^IiËØl4A$;¡Š@ÚB +Ùé )C©K )¢ÀФá@¹mEA(Q$¥ˆ@vö+2 ‡j;)’Ò’‘)¤Ø‘ l#T»-†¢¤m+–mËÀD, ¤r ãÞ¡Ñ +¤ …£½%¥FRJœ ÿÀŽÃÿ¢màаe ä0º%oGA4Ür ‡Ãá ŠÄ@FR••àf$nÊ0Ñ@¡e‰ÿ[”ËyZ|§×4•·/ätMÀ ˆëwS Ú{:Ié)M'q ¡ª ÒS)m6P÷ÿT*†•œú×TN×R)BR)]'Dûަé)MÏä©2ІQŠ ÂPFí…b ma yÓÜ l!#9È6¾U`jRJ«ºÕ*%$ úéñÑÑÉàgÝ®×»âº02‹™y¥xŽ+ÈYÀvÿ½)Àhgt’«÷»ÝÑövú§`ÞýñüîäüøÇ?þñ»?¾sNâÀúÙ9€ nÿzV1-ÖÓZZÓô“Ö⦰>­Hy†ÃŽ ƒá0 +É`ÙC©*cÜ‹„Q'°¢-eÚ#BaÛÆÍ`e嵊QQR€CaG„2 +~"B;´;Q$åpO +a«K" ¤´‡2’Jvb)Ý +Þá` B1ˆÔ¾Ï@JÝZB");ƒPŠA mÉHáMËDÒ®(ý•Š5‘ºµ¬@†ÁÍPJÛ’uó—r ¤B!ÂA åíΞ!Â0êh(N†`?3ü¥”BFòVGv‚°3ìážìtþßRF!÷RT.YÖ`Ï…Þ D„¶ ‡år9¯îº©TR×u=G´Ñ5’JéºFT¤žÏRºNH.f1PM’ŠÛ€)MÓNuRZJÓRzJK¥4¢iDÏÅ €ÑuB4¢§4-¥çsÉÓ¼€›¡l{HFáPÊPÚ¶-­è¦-ËVCáFd¯$uÌç~ 0)Umn• =>züäèøèèøø³Og*Çâz¼f»”Yšµ 03 Š€½ 8üèLà$KïvG½ØîooŸªнsæ©Ûívvwïïþâ¿øÅ/~±»»«^îÞ¿ÿþ/vwÿþÆé9€ ¿+z ‰MÚÙ…`]×I:;Å-f Àâ¶Ý —B[ÈA$m9 …”øn…2èt†ÒHÞ …°-aÛ+ÁÊk—*òVl[JiØÂ!e ?·#[FQ„‘PíÂí›r0v8”¡-¤ ¤-:ÃPˆŽŒ¤‘ø‹p Cª`8Q´·7´l)ä@D)£=ué(åhmÛ±bÛ¶0 èT.Uâ>eÚö­@†”rKÚRÊáO„Ã@t¤Q„ý½¡%¥ƒNg F€Î ÿs‹€a%ˆ{ØQŠQt;ª¹7ìüß…”RDܬ¼frÏ"n"QhYCíÿ_ŽŒ¢a†A`Hd©O9”ÒƒÀ¶ÛíŠõ­ ™Ìeuæ2F«”æG=~||üéÑÑÑg³Û€Ÿv»¢Û×»gÀ©" Xë÷c{ð ôU\'2 ñ$àÎløß¹³Ý‹`{Ôïîªj´Ý럀ëçœ;ýÑh÷þ…°»{jàâëé œtJKÇe"BT3 «·1Û¶eö`V(„mF¥bY†!ÂP†"ŒRR7 97…eÛ–%mË–Ö¥Êk†aÙVÔHaˆ@„ƒa¸7”ÃË%ж,£R±¬C„a$ÃHFB²ØF85ä?B£hhÂH†{{{{‘HÉ åp('§e¬Ø–eTŒ›V<4wiN«¨ä]ihIaá@†[¶¡ø‰ å0Šv$#)“K‡ÃHDƒ Ά'i•s”âP')‡·oECCFÃáÞ ÄJb¡Q±E &ov†¡m‘T*¥B5]!³ž#$§éºFt¢-¦÷yuãOºš¦Q]Oé$"©œ–×u-þÿª–#:ÕQ®OÄzŠè„è:ÑRñÕ4MKi$•‹‡‡O|LNÍç’ (ß·ƒ@†¡ª ‹Ø«È7mû¦m¶]‘+†õm‹ÕjÝu«.cUJÉ‚{ðàÑãß>:zòÙñ“££Ù>Àõîõ®¸ÞívÅ,˜.N«Ýµ~Ô[ýØÙvN2€ÉòPf¨?Ú~¿×›Å€~{{ûÊ9gõzç™ð÷'æôt<Öuæ¤u=Nü'Ï''µ4IéD×S„,¤0g„ b™îØÂö0^F2è ÅMCy@Ka K¬£bTŒ%keÅ2VV C‡Ca‡Jç[y50ÈÀŠ/½V±…ö0 ¥ È¡†-¥Tv¢öà'áÏ¥ü¹„¡+vg8Š ŠÔp,Že öíÀRw~#S™«T*—æ,µè&„°í +…ÈŸÈh0?؃0Ü £Ÿ‹A‚À +Ë’{ÔQ$#i_DþÏCvd0T¦·nG22Dg/Ú“2 5ò°RIă@€•„g^# +É©þ\>ŸTyuBTÜëzŠèzJ#”hTOBÈ‚¶@4¤4–,$Ü.—§„\žäNå‹)¤Òjm(¥¢QMÓ‰žÊ刖ä–ùx“€RÐíax3T H2 +•h¤°í›ñwÄV62vE¼xøÆKƒLfšÕ*s3‹d>>|üøñÑñÑ“ã'GOfAºÝ®"×O¥‰Eø¬$è,l÷ÔBOâKß=åÚëõzÛç€úÇ÷{ýþ³‹gž3«ýÝûÏ<3]]OOãýTøgµdY"nûÚÖÔ‡¤ Éjº®§Ñ:2¸¥ª}RÉY+H‘´²× 5Ö²bBDá t:ÃÁÞÊpF¡m[ÆŠa¶•¹47w©R©T,ÃR `YvXjZ@ +a KÄ#¯Ø+¶b £pЉ†Ñž5ÈA˜è“ÈÀZ[²,¥2¤|t,Ë +a )•7P—la¯¬(lY¹d•K—.)×­@ù ‡{¶’:Q^ºvXše6¤ªk'—–R^û_àP‘RÞRÛ‘Á-F‘!ÄPî…rбƒh ¥\‰…¼&‘Ø>Oò9BH.Ÿ#9¢Ó²PËSJÉçó¹<¡ñ-; cªÑØCŠ,ä½t¡œ#„<%9B +ó„,ä)Íårù|>Or9ZVŸ-GH.EÑXJÓ´!T{%o‰å)ÉÇáŸËR Dc´kMÜÞ¼Þ +lû–€XC&Œ5Zl!ìÀ¶ìKV\yùì T(šŒU•(˜I ¤þÑááãG=9>>:ž1ë^Wë5B³IH@æD(ŸfJÚk4F»1üô,ôû½Xÿë¼ß{¿÷þû½˜˜’Ï¿Ô25«¬.«š”õ>~|[ƒÍz^ï +Eº§j18ýQßîâU€I + ºwwwïÞÝýô<ÐëmoŸ—¼ÿþû￟8„%ÁçÀhçÏŠ×e&¥&5©i2JõIÆrÕ7«gÓé´®&€fãý 8UP¹í­ ˜èÞQ§#›[*±eF [Ê=C*MPn>JèÞ¶K¯UbPŽQ¶mÇ·é06Ü’B²Ó‘"RoÉaEmÌa¶C)YªO +e°¡D…b)ɼBX"”RIïHV¨èD\˸d•Ê\Ų••ÀK™V‰H©ZqxÛ)D Œ›Ù"BXRÊPLÿ3 ÿÎùš¯Ù2‚½@ˆ¨#¥¼=4Â`¨:•‘Q$åÊJ‡‡Iàtp>“¼˜ä»£µîh4€þlðoÿvgwwçowvÿvç,ôÏ+¾ß{_΀~¿ßﯮ®®®ZÛwÏÀ¯~õ«_ýêÿg.3MÓ¤Uj^5)¥”¤Ói,Äý¾´¦ëi¢ëDÓÓi¤/læèZZÍéz:­+ „”òŸ*!;·÷†Q,Ñ/+jjFmßʨbK!‚5¡<»CÅ¢WlCMX•خ¶E ƒ5[t’KG‘”†”·÷†QVå1§‘²oFƒÁ@v¤°£Ž”AGŠ´UˆwD`ã}`[õ +eGþ$ …0"y{¨ÔAÛ¶ç,Ë0.Uâ= °„B +!¢A4T“>)l)E()…%dG +{(¥H¡z[É’ÐÉðdå¼siŲ£[{v :2dgÄFQ(¢h åÊD`Ûåä0Æ X.•KŒ1ÊjÔ|4N­ÆjÌqeŒ-ÉJAáE0J)lB©T¾ª0„1V€2+—ËŒ–jN£æ`6j5V«9ÀJ”1·Tb¬LËeZ*å)Íçœù!V*MØFX™•ʬ\¢ŽƒNÍg&:µéa·‚ïÛ1t:±¢ˆ"A àÒÜk•—€—±3«¬^¯C½Þt«¬ +÷ÞÙxç{¿oÜ»7£¾kï*­­¥Ó5€8 ˜äs ÙÞ¹{wggçîÎièÍÀD Xuzï÷ÞûBè÷ûkkk£~59ÿ0›ÿ»Œ1JM“–LÓT?-]×tÉ:ÑÓZ–¤ I5–>µtԋɬ ¦ÅF€[2RK÷BZ²óW·oK©$óÃJÊN eGÚV¤r†ÃagÝ´•pÜÊk¯ò+¶!Û–"”A …F²£îÿ)C«Ó¹=Œ:jp“‹ÎPJaÑ^Ev:RZ2Š¢¡¥ˆTøÊ.À +í¡”rË +[Q b!CKÞº}»#…ZO³.Y–QI€Vd(¥´ä0ІÛC!"µH)¤X¡J)‡±8ªEƒHÊÎ9á/å¹0g+ñ²`²3¼•0€( +…rT9Ó›±i²»jš>»zÕdžç8`šo€ Ìa5×e¬:¯)Ïx ”Ò’Ã(-š&šÈLÓd”R“šP@“šo0Æsà€[`Àc ˜KÙU¦ltbŠP „,b¶˜IMÆ(5•ÙÞU“!cWóÀ©½aº.0âãÁ÷í$èÄ‚A N@åeÀ‹»(«²zÖ›ëÍ:«šŒU‹Åb±P¤Å"5ëÍÉ™Ñ×°Œ¥Œ6ÃM­­8’ïL YãÙŽc9€äœ€÷ÏÀ{q +ðþÙqÀSë +~qÿþ¯þáW¿ú‡_ýÃýû÷ÿa&þc®ú1_5Mój¬ä£ëšžÖÒšžÖÓz:­¥ÓILëégLtè§«‚³·ºPFR,“2Š:”²"¥ìDÑ0èH)åÀèHD–ˆ†‘€PÁJ`©]`ÛvRO2”¶ênªØ„%å_íÉŽ”Q¤.-¤ìDC•.ïU:RØ‘DÃhØÙ +1ˆ†ƒ Ó‰‹ÖPÊH"©jжì(]RÉP– +lµ¦vÉ2V*#°ƒ[A ‡)eYvt{ýÕp(D "‰oi B)Å #¤ #i[²ŠPtbµ€á/å¥sÎÜk#P‹}AÈNçV@…¡Êb„l˜9Xp·8À˜{Øâš€¼Åq\àˆã7XžPš­1†XCD@ÿM€È[>¢¯ŒÞ9‡Üøà6Zc]À169r@pßdÀ@¨1@j-Qмµï{è!¼á6]—ÇàØo "4—‘{-e#‹o¿Ý²íIÐ9Q‚›A`YÖ¥¹—¨¼L +P¤Ìt]€f³¹^¯ƒË%$K4BèŒJÞ,,N s’õû^w$¬þiHÊÀû½÷{Ûѩ¥Á‹Oמ¦*íÿÕªUÆ\æÆ €š4šN§ÓD~<ü«.š¼pÆ+®èªT:ú¹Tb¼ÊHÚ2Rþ]‘ìD‘ìÈ(¬Èh/Šl1ÜÛ‹†{aKѱWl«R©–m¶;" DÞÑ^©[m´'…èt:2’¡Ê@FaEÊŽÈNÔ‘N40D4Œ"[Ü{á´£H©¨ò¤5¥”)¤°£¡º´áPm‘”AGضm]2V,Ã0‚ °+"ŠddËÎp8Üî…v ”T¡BJk 4FDGÜŒBÛŽ:h¶ò/ƒ(‰¡[X±y” : ˜¦¡Œ"ZIPÁ˜“h¸Õ ÆcŽã@ š-p€A‘ƒÃ£ºNÈ+•(-1Çóüº5uw÷ «9ÆØ5Æ˜ãøž‡m§ÆG]Ÿ1ceÆXÍñg!O(ce¨9à¸À€ª/¨æø^kكɗê8›9mPpéÒ\åeàe¥”¹õõõfÝ…zÝef‘¢iYR¬VÙ°:ËTÍdN@×êžYäõ'±¬à¤lGïý^ï½í~¿ßßéÿ¤?©ÄbB_“`Z¸ÿW¿ºÿÿq¿ªÌO\FMÓ¤WéU3–+ã‰5ý«Âž¤5EþÝ‹Àôw=ÒŠ¢¿º5ˆèv$ä ªIííER‡²bö")ä°³E{C[IkÅ0*†a¶qSùŋоb-Ú“‘*óEáš´:HFR £Žƒ¨bËAGF{ÃÛRvnËŠ ;R„Ã(÷†RÈho˜øõ Bk bQ„ÛŽöd'ÞBZ²RØذ/–µRY‘Á­ dXá”"£ápoÚ2* )d(¬a,  Ñ‘¶ eþBÓÎ"@ÅšHáZ +nÝêtÔÂ’bƒi@p¦¿o0–0mÑóª p ŽÃjŒ’£ eZbeVsZ¾ç£‡à€Ð 0æ2PWù!zžÀ¼)²šÂÏs¼l9G°Z­¦>±³oÖjŒÕXÌL|ÏÃå8ÉW LàT à›ÀË«Œ¹.¬C³^¯××ën•‹R$*•™œ™i­¥¥ÕÌÜœ6§ÍÇ ¸l&›™Ïlãzlö9ËNžSº=½í^?€ÉÖ_œ8L„_ˆ;aWMjV(è:Ñ•ÞKjºïFàk@Ä:¥°!„ê77ˆd$£HRFƒN4¥ü«Û²"‡‘”á°³w{ ;VÀª\ª†e–!D )… ìè¦m+s¯NGÈ(”RÈÎí@Ê #;²u !£N4‡9ÊŠ Cíu†·‡·‡ÒÃh/ ¤” Â’RH1ˆHØR{¯É=Ùé‘„RHy;2´ag,Û2 K2°;·£JíIî)7êH Ñp0„2DI+”RŠÁ ˆD E\z&üíÉ v¼VIÂßþ¾=)¥ Ã0ŒûS8q¼åÀÌÏkø>zh¢ãx =æ2V&„Ò,£å2kxžçyx^Àð æàêàû7< dm3`¬Æ˜Ã˜ËjPÏsÇq²¥Ga†S4ÙÌ…4<€ûèñ¢àÍž[A0CÎ@å¥àå|ªõúz½^_‡º[w£êÞX­2wæ»»¶v}íúõµëkׯKŠ$ “Édæ³³ ·½;êVÖú»J×ëyàýí÷ûJt4ùˆ^ÿ<[áÑð‹»çŽÿÕYlÆ’@éjiTO뚦§tÕÝS½ÿtúÅâ_‹ïrƒ”r ‘âér0†E¡Fƒ¨3Üû»Û9¼-*Áp :Bì ;ÃèöÀ¶¥ÂP›@–m" ‚@vlƒ0\“C9*oh z~rй-;rE†Œ¢A'Úû»¿êÈ¿êÈŠDBŠpou:ÃHˆ(F¡ªôE‘°?—JÛ[ˆ¡ª½@E¡ºô­Pªyü ¨XöŠe¬Ø‘ ‚[·dE")Ãpo8”Ñža4Ø‹âÛz'’Öðï¤ÃH D0ÂV•Fµ•x2ü…ú®Œÿ¥JebhÙÁ­ 3Í¢( # ¤4’I€Sñ&¸*x<Mt€¡çíƒSF ¡4 Œ1p<ï†ãyèa¼†¢ØðÄ7ol{ˆè²Æf&à25XÍq²%B¯Ñ`54Ð…7Þ`Ðh€ßòqsÙ޳gã¼ JÎôÒ¥—*¼D +P¤”¹uhB Y‡:s™I‹Å"¥&s¡>=kÓ“9IüŸ€ÑΨkXýÝ»½„<l½¿ý~OøFý^¿ÿ“€îùP‡z’$]J“"`±X(\ÖôD$&=-𥟯/„k+KRvä`8”QEà ”A§£SvnËÛk ¤Œ†½Îí½¿ ++ÁpxK†áðçC +1†Ö¥K±B°!„-äp„ÂŽBa‹(RóõÑ@ ¤èt„ ·;¡¼­„Ñ ’Ãag¯ÝF9¥ oï ÷†R +¹÷wÃA$ÃHʰ{Bö†BÈ +ÕŽz'î´d ;A0ˆ¢ÛRF" +°-èòV o‡9¢p°7÷†RJ¹÷÷ƒp0ŒÂhZÃÿ(å`8TÞÖÃh(CÉhEQlÒ%„Lâÿ4ÌÀ÷gr€ È(’¡Sh4Яá5¼†à›Ìˆ´|߯rhÜ@Ž ‡1J%Y§Ì˜ÐòÀCÿ +@<šàºu8‚^Û÷ý}€qèûìu¨1äà¨c¬æRŽ2`Ìñ<î‚ À|ð£ïû|ÁtOžðT @Hi —.]z™&àˤԬ2—¹õf½^o6ëõzQZ,Š”VÝf}š\*ý?‘(ØZ²ú»£n4RÆžçÀ‰1Àú œdïO^ŒF£÷_XꌙìD  D§@ +y%ÿ1­í§Óϵ0 Ìˆzƒh¶mXÎp8ö†{Ã`¨Vm‡{ƒ½h¸íu¬Ÿ †R#¹·×Ù†»É( +åÞpoo(Ccμôš±bÛvÛ¶¥ØA`G¡¡îEÃÁ`¸·'†uB¹·7ÜëD{QÙápu†hoØÙ»VlEHD{·÷ööDdXv$BFÃÁžŒBûçBÈp0”2Q$D$‡{Á@î ‡r/’‘ Ãá0Ú“Q$iØm¯¯2¢ŽÈØ2Šd$öö¢áp(ËÈ”Ñ0Ú“Qh B!å`8¶”ƒP äðçá ÚF‘Ìîiç!ÀÒkÊE Ù'ª€2ŒÂHu,WÔGž Ô^£‰ËàqÀkÿÈç.7<ôýMæ@™ +À€çy ôÇè€×h 6<@`ð‰"~Û÷?YÆ,‚çù¼½5oÜŠ³}‡±r¾¤à ¡àmEÕ¾×ÞüáØ„ <}f“1À` +ß ´êÖëÍu€úzêuF)%…bV)«O‹€3ãš35ÀSš`½Þöh§·dtG½µþΨ¿=z.è€íþ¹)À¶ÂsÛ€[;»wqvü¿uÆ®ž®˜SP ô¼Aÿgµ !D¹]N$Á,Û6Ô/n\È2¢pŠ Ó‰d`¶=ÊAg{·;NX‘ÃPÑÞ0ÚÛÛ†+öÊŠmÌͽöZÅ0lÛE öOn†7ퟤeÛk±ìC`ÙÖJ8 DÐétÔ¥‡ÃÁ s[ʽN'ê *ÑPŠp nÓ{{Û¶­ÄÇ–Â)‡ö`8ƒŸï…êË/mYF BaK!{eeŸ)„µbTVT"ž EréáÞϪh7sé ;Bùóÿ* ÁIW?¾ûËÙø? ³`ÛApK@R<õs8‘  ‰œsŽˆèóµÛÿä.7¼·|¯ Àr¬Æ(4âøGÞNˆ¹ç!zà"÷¹ˆÜo·÷yó{<ô}=ÀoüÆCϧVs¤L"¢‡"À¯Ý"oû-DĶßn·k^ãoÂé£`vø›ÀKM²z½ ëÍ:¬×ëÐlº´H Å")©iN`íÈÌÏdžá'`g§gUÖº××úwŸzgà'gàýØ\àý÷Ïê~Š­Ý3»LÀÄÇ›RjÒ-M‹€¯ +…"}AaË—ggBµD4[ÚA`K!åkÛ–-b“ŒPFáŒöþ.e Û²ì HÚ†mVP¹té5ceeeÅZ2 o†¡n +KÉ[ iB]:qæ°زsKF"äÞÞßÉøÒ–eÙ±çRD–e·ÔrÞ@a(B9Hij…´%= t?U#ÞNÔµWŒ×ìpOFC»¢P–ÓKËȶì@éÛ9FRüd0´m˶V[HKŠ@4Å™ûÿIXzíµ X¶·T࢟‚9s¾gš溮ëVݪi6]×u¯¹ËnÝ4ͪkšËÅ¢YоCÈB¡hVMÓ4—ͪùàº×ª®ë^›\gÃtÝúµzÕ¼fV]×uÝõ{æ²iºÌ4ÍesÙ¬²jýšiVM³¨BhždiµêV]ÓTW®š.\s]·jš ï_þÁ5óÌ9Q˜€eY/›¼\ ÊêÍf³ Ðt¡^¯W Éš¡3_ìÚ­ÕŒ6§`ÙÐßÞ¹Û³–¬5k­·£Ü½ž úSØMmgoþñéõÞÿ´úÿÚÖΙ.Àß³ó@‰R³4“Š$ÿBñŸN§ !yJ)}5€@Ynul‚ °l)ÅÀŠD ;²Ó±[€[¶ò…Ûˆí>”Õ—U©¼¦T­ë¦Rˆ¶Û²)ì@ˆ¡%eRB„Rñ¥ou”'Hìé­.m Cù‡-e§Y¶Ý‘yKJ +Û² Û’ +œì õÍ#a‡RÚÑJ·;ø¾±b+¯U*J¼rEi¨Y¤@ÚÊŸÀþ~2ë¶µd¨MC¡v[‡–B“»¿<ÿ ,F±1æ×ýøÌy78Ç1ÿ°ùóñrÞv¶}¬þÙGl·X²Èys|ÀÛî?ñÍMŽñœçÈy½ÍÇ|Ìùxóà¿pŽ|ÜÞo·9GÎ÷Û|ßEßç¬ÆcžCó¶Ï9úˆ-äÇ|ÇÜ‘·šã±ÏÇûgÎÉ)o‘¿<x™.€i2ÆêÍzÝuÁ­³ºk’…lVÓ´t–™ºÅ,ˆ@KºÙ30Ú¹Û³–*K†ug4ê¿÷Þ¨îðÞéeÀÞío÷»£Ÿ¨ÿ²}nðýä(AÐn·Ûí®õv~qz˜%P­P³4[,Š…bþ9@66Ux•–h‰R-`íXrTã±'@I½M ˜;€ïǰbØV`ÅQªàÖI2˜@Á ¤ Â`RŠ@Y‡R¡€ XQðZEIœ!e'²ÆLÀ¶E'°m%@.÷lÕ ¹èþŸ`À’a¯½¦ÏûC˜Nª6ßDäˆí{ˆÈ}įú¾"ú¾‡"PZ#Œ1`5¨¸€-sŒˆØ@lÆ É}¿…¾ï·Ñ÷Ñk¡ÏýV ÑçÜoòVÌÿY•RÊ(aˆ "zo4€-Äñ}Ñosß÷ý³GMÄ%©î!ß.PZu«CÝuÝzÝeõõ&¸õzêÐÄõw&gu*=À´ pŒîö¬¥¥JÅêŽFý÷FÛÏÛ ôûwF?ébŠlF£íQ¼<ÜëõzXëݽ»s÷ôý?NÎ0óD +P(¾ gRe4DϘû¦½bX†mݲO@pˆ“ð p>tfÀ> •Y†Z"œ0€ ˆóÀJ@ÙfŠ?¡ÄNਘýíÛèûˆØòÛæf|[÷ñ†‡è;”:…c¬›táÚ&z +ÞÄ–ßBt±…-ã@]}ßÇVË÷¹ÏqÜÇq©%ÀZb‹#>üÏ îû-lùû.W×8{”`ÌLðm@RƘë²zÝ­³*mþòã~ùË_~txøøÁáãÃéYšã9Àènß2–ŒÊRwôü5€íI  ßï~Ü‹¶·ßmoo'Þ‚ + z½íí÷··{½ííº«g€±³ €R“^-QZ=‘ŠEZzîß;¥,“&¤@)UÕÔ)̤ây vÌ0€ïÖM{eÅŠS!^˜LàVðôS|°ƒÀ~&¸%m)exšØ1tN@ç™÷ÿ—F€éiªP'wqŸ›clµ¢z>:4_.85Æj“9=€*÷Zˆ€ˆM•˜ª6Øjù¼Ýòc4@ôý¶ï£¿þ Þçu§ö†**åEô<ô°~ËGLê‹þfûI†qúÈS%5pé[ËH¬Ìe¬J‹ÍìÄYíÝÝÝÙ9ÿ³5€É€9Sˆ¥/ÊÒ¤P,Ä• Í>‡¨Àó¤JÚk +¶uÓ^YYJ€øæ àëà P%é‹À´ à àt +ð§¾ýkš¦á›Éðý"¶1¹ÙŽ«ûˆ /¹;”RÂj5'™ýkbêM³í£hBÛG„ö÷ö[ Š´}uÁ–ïû›ÜGŸ#ŽÑkxà@ ºáyØPø‰ÑGÄl¶Ñ;ŸLKñ/Í7 /£V4Íj2%gHýãÃÃÇ=z|tt|tüh* hYKɳ±v]çâ1 ³°=Úí¯.Å0]íÿèÇŠ@½~¿ßSj"qaàè)‘€i±·Ú»û‹Ñù0í¨9sZxe/ˆzŠ^)ä&²àçÀó13ëD @1€[ÖŸ”"0Mdô5`MkzíI$µÿËþx“#ã¸|“óGׯãßðq›{|ìû~Û¬ÐP4«‚ß¿÷I›sŽœû8þM{Ìë>ûü`<9²Ï}þÏ|ìÿ°}0Þßo7Ûm=@À4Ôëãv ‘óMlÿóþ˜s~€œû|Üæü ÙÞßoù¹gZ¾iðe€P“V㛣Y,æÇ‡=zôèèèÓ££)¬Z–e)Ù cízFÓfàÌ@{´»m/ÙÖÒÒõ÷”+Ø×Ÿ^¿¿ÝÛRžÂýQ[Û1Rœ€ÞyÇêݽ? ì,Hj%sf€L G^àW/¥R(¼BNÀL + åó¦çÖfÀzpðëöµÿ5δL]wÝjõÏ®¹ß»æþàš:î²{Íu]óšiºÌ,5ma¡P4ÍjÕ\6M³ê^«^s——¿·lšß[þ^Õ½æºîµåo^[¾æºn| ÷ñ¦û×TWu«×ܪ¹¼¼¼\, +YmÁ4———ÍeÓ¼vÍu]÷{ßûÞ÷®]sÿ½víÚµª{í×Ükîçd ð[g±/«2V¥RÿøñáãÃÇGÇŸÍÀ¤¸º´´v=€ye š™ÏdN)‚ín¯-­­.-­v.àÿçœm¥ Üë&pg‚ý^/6 ßÞŽ=§Š[Ýn×zÿ`'àd €š'¦ðb ›£SoÀs€B¼Tàû߀üú!˜7ÞF¼Æ›€M޹zóMÄ6{PΕ<ÆxêŸù8è"@³‰Mh6Ý1"6°…‘¯±ÙDDŽÜGäû?ˆ³û–oÔœr¾€àºÐ€7×›¸ŽMDŸo`ë^ó‚"¢ý§*¼L જÜjU9=x|øèèðÑãGGGŸÌh®®^±¬¥+W¬UkI1€¹‰ z>£¶ïn÷ß{Ø>çÞì»çµí‹ z¦P='È‘B=›»\ ÏH„xÞàˆk/Ã~}ppð¿ +À›Íä ¾‡ÐÄ&€ªòï©Ñ<Üäz@óùc5hxžêÏýÐoûc‘#@³ÐÄfÓåj X¥ ؿٟ·9¶}ô|ßåqƒ¯N­\Ê Ô\h Âøo¾ +‰šˆ¸~þi®Ë b¶pÉøÖ @MµP5MJ i~üøðÑãGöÙ,XµV-kÕºÀÜüdà<Ø­-­­ZKký»£ç‹þŸôûÛ½-Û#eÔïuÏ‹ÿ÷Ï€Ñ,üý ©”ÎI”¦û‹tÏ€Ù@Èêü jñù_0Žþæ›MDäךЀæ: "~`"¨J^ =Ï+‘£eVÏóZ¾ïó–ïû­:"@³ ušÍ&®c«îÀ›qw7÷÷}ý}ßWày¾çy^ ÆÊ„°Z`½®€yž¨RâoëˆüÂ3-|³ àešJõ'ž‘-Ò|ðàðñññãÃ'OŽŸ|úäd +°º´ºd]±–ÄõŒ¦ióZ,0ÜÝé.­­®¾ô'°uÞŸ<©7×Nëkkkâ$0öŒUªÀ§SBHþ•Y0}ª@ÕPÄ[oùþ[È9ÿÑ~Äïýò—I¯çð¼ƒ@§º§kÏ=ð냃ƒƒ_ôë>ü_ÖÕÓ:""Þ»¶ÐTLš€×ðMls¿Í=l0]/Ñc +ÚmÎÑo£«ÚwÐTu|w ¤Ø<@lù~»í#¶ýú>¿æ{¾÷–ç·ZžÃÊT_P*aMµ”Íæ†;@¼·~îPrþD5À…—8¤`VMZ­»UJ)!ÙæÇ‡‡Ž=>>þôèÓɱ,˺rÅZ²V­%q=37§ÍÏMT3™ùÓmÀÑÝ®•Àöèù ·Ýïßém÷c¸s’$uÿµsÏèî/F@õt €šç¤„˹Bâ£kQfÒš¦iÅõõ½óÖ³àì$ xÁ.À3jÖó0€~S€Äàzò·z%•:¡i¨ì´gpî‚õÇ“kR©éÅS³×ιøD‰úëkU.¼¸>{ññx<Þ÷}"_Cl"¬£ï#®^Ã&¶¹ï·}¹çÐ<£¬VsÐó<ß÷Ñ€±‹è©„±YßXo"ú\ú›íMαÝö}~­… Ï÷[-ß÷<§Li©€ `  ˆëÍ&l6›€ñ›ø,àðm—)PÆ«3J)-æ²Í>~|ôèèøÉã£ýì_'géŠeY«W¬¥Õ¥¥®€éÉdÎG»=kmÕ²ÖúwGÛï]¨pºÐím÷{ÝÞhÔë_”¼!ìÜÝÝ%³À¯³ïBòÓºžžšÕ)®ÿe o€·ð­Y0M¤xÙ.ÀÙÀó0€ßž8qé©T¼À˜Ò´TjæA¥&fh$?‹)-vОDl*–@Ö•¯fJÓôT*¥ç´8Â5è1Žä'1ªÞ¡ë$¯§4M£©XrA×S©óW¬SzjêÜ­kº¦§RšžJ]O)7öÉÅ>zøðáo>|øpü7®a›­V ±e"ç?â>çè´ý†Òßó<µÜ‡xPEDð°é GÄ7݃€*{o!âúý¶¿ésŽí¶ïs[ˆ¾ïyžç°r‰20¹§Ò†u@l!67¡‰>oµÔt?ëüO*èD)¹¬J)- •9àñññññ¿NÍÁ­dxÕ²º×3sÚ,œã 2úEommuÕZÛ¾;ê?/ô¶º½Q¿×½3€;ÝîsÎÚÚÚšúZ’?k–uN¥&»ÊX½Î(5«%JÍ*Kr€B”U®3)ÀŒ7@qýwÞB|ÇŸa¿¼w"8Íä‹v.¬<×.À“ß8ÿ’Òu-¥‘”Š-mâl™Ór:Ñã%$¥ë¹<Ñ'·æT*¥,oSšžÒÒºcF*OâÛ¹Nt=•JiÊŒ3¥éúÄSÏ¥ˆNRñ˜!ºžË刮å´\JÓ“gMKë§–¯óq”ë„TŠè)]˧R:ÑS„¤rñÕs„èDÓRúï~wô»ã£ßþîw¿û]rEÎ7p|-þy¨é{4q³ýCß÷}DoŒè7eŽãxž×ò=Ä"\ãÍ79zªbW?@Dh¢ßB7ƼÝVŸ}ÿG¾ë·|ô=ÏkyNQZV€¨ }á`#$ò¹þA“·Ÿ}fKßâ !EÅ\Ó¬Rå øøèøèøèÉ“'Ÿ~öÙ‰`5¶¥´™Ûæ Üﯭ­ÚÖêöÎhôÞ¨¿ýüÐíö¶g {>Ä'€UËZíîÞ=Ü:cì*3™ëºªö•^MŠ€ŠÅ^É%¡O!š®Ïˆd_¯×_gõ:¼žŒ‘Ö¡ž¨&i²×= /Ûx‰9ùßNBˆVVÞØD':)çóù<ÉçK߉½rI*¥“!z>GR„Ìh隦ë$ERÚÂÉ©DH#$OR„¤tè)]O)#m”¹|>Gr¹\슩Œ¹õ\Žè„ä Ñc¿ÜIi)¢§Rºº¹OóB(I‘‰ ·ž"Úô>•Ïçó9’Ï«‹§Rÿõ_þå³ÿú/ŸýËý—Ïþ%©zrl6›ךÍf›°ŽM¨»Íåæ:€»u€ºë2x½jšL僯»u×uëˆ&¨×š87›àº×šõºÛt]À&€ Í1BÓ¨4]—Õ9.c³ .«Ö_g¦I)¡õe·îº®ëÞ¯€‹M·Ùl®7ëÈ×›MØØÀÉ¢Ñ#Áÿ“j€„ҪɪÕ*3«¦I³õ=~|üøèøèøÉ“'ÇSwðÕÕ¥Õ¥+ÖêÒ•¥ææÏ·Ÿ€µºfYý‘ +ÿ¯€^o«ÛÝîoÝéõ§EÀîõ|¬)6°jYÝë0ö:cUZ-3“¹ªÔ™¤ÿ”Rú +-Ò"!¤ öz”“g Éê:!ie@­“¬®ë„(ÏWz~ +ð'ØxÞ.À?}þí÷„²–›]ÇŽvùr–æs ËÂòT•<4-¥i)-•ÒIj!ùÉ]ÿ%Ù|ŽäÔM8ŽËš–'‰ûvžÆß’Ë’ššcRÖ•Gö\u±úLš÷Ô•›j%õFŽäó%Jó$OiüÏ1Âýÿí¿ýÿíãøŒ7>ùdüówÆÍ¶8ŽÇœï#Žù?ŽÛõÎÇ­ lúž‡räܽƱ‰ï!¬ãxÌ?i9çˆøp|0æcÎpÓÇñÛã‡íßrÎù‡ÚûÛ|¬z…l6]à­&çÈM@ûã6ÈqcüƒƒG›ü×ãñøm¾±±L´¾Ý@‘2³^eUåš™­üàññãããã'Ÿ}vüÙl `iÉŠ—¬ÞõÌÜÜÜ,dΦ»#±º6€Ñ×Åÿv¿ßëu»Ýí~·ÛëzñðO·ûãn·ßínmÝéNaàœÀêjwgww÷Àªæ«Œ±«UVefÕ¤´jRZœnò j+JyDªð&zút],Kˆ®ë¹\LxÖÉåË—/_¾|΀mK!¾Ù.À t~öüá÷¹](Ó\N¹á–K¥R©”/3yJÕý4ŸSÀ@R„hº–ÒSš®ë:!ºF! )I©Ìçó¹ÉÇ1š#%­DóT9r—ÊŠR•H-—Ë’Ë‘\>GH>¯lt5Frñç#„ÔÉ~G¥! +tÊù|üQ9Br¹\¾¦ÑQ¯SZ.SJóåR‘Ñ\Nÿïÿöûûýïÿûÿ·ßÿþßþ-‰!Ÿûþþ>çØâî8YÃQKº€&¢ï·€•ÊŽã8c @—Ä+<À9ø€žbúÉ&OÜÇGô<Çñf` =DÏcŒcΡ  : &ŒÁksÇßãø6rDÞæ¹ÿìó?c +€J«”ÕëUV­ÒB¡HÖ?~pttôäè³ã'Çÿ:;0³ hõÞÍÌÍÍ« søÅHØkkÖjgÔï÷··G_WØžÀÑ(^êu·ú[[ýn·Ûýq·Ûí) 8¿ØÝ¹{Ô_gÊäêU³J«ÕªIMªÔÐ&I!¤P(òJèšÒûÒu]?Y±./’£”äÉç/ÏØ«Rz¶TmÀ?É.À×tþ?øÃ‰ØWç÷”.Pš#¹ÉÑr‰:år¹\*'\€$¢&”æI.§¥R©”6­L†ÅÉBI’4Å7vJ©VÊçiŽä ¥¥2”ËåR©¤®Sö|>O)ÍåÑhžær„Nnñºê-¤TŸe¡\¢ù|Žæ)Íçr¹<Í—5õÒ<-•ÊN¹LóT}'a.)®sÕðçˆ-wìsDÀ–çÅòÞà™›ˆ0š§ÌaN 8 ²øñ¼ Œ7ᆒñä1øˆø&¢‡^ü.σàycc%g¼¢.°¬´=# ¿6ö9窃°Á¿îüO)jšUæVMf‹”d›?9züäɧǟ~úÙäXÆÒÒÒÒÒÊÒ’aõÞÍÌi d.(Þu×ÖV-«·“øz<'ôºÝ;p§Ûíomõ·ºÝî·¶¶Þ½Óí÷üã àîÝÝÝÑÝû÷ïïÞ¿Ÿ¹Ìeî ¸Ê®šñp±XT6ϦIi±˜3ÍBRzJÓcÏp}¶k¥2u/Êçé©sN +`¿@ +ðµ5€g3€?œ=¿ÿýþðJ³”*ËÜ<¥¹ór¹\(—ËåUö”–hŽRZ¢š–JÅügÊÄ ‰ ± D]§Diî•8ÊÊ“LŠZö¡\®ÑR¹\¦eJ ¥4Ÿ/Qš£årY£Êq;O(!¹!DË’&ßÑRº¦é eª>bzæËñW–£,_bÜ)—k”–ËêÑÅOøÃ´ À[omî#"¯9GäˆpÀq€¢P+ç(-QÆX­NÍAt]nð&xèx¾7@íòqßG¥y7=ô^wœZ±2eó„PÆ+ÄîÞ<àÕÍÍMÎǼí#Gl}ÝùŸJØduFi‘hÍãŽŽŽž?9þ×Y0–Œ%ÃXZ2––ÖbŒÇ'Qæºs§×ß~¡`µ·£üAF_? лÓívGÝÙàN·Ûívû[wº[ý­­­÷»ýþûÀ/vwîîªÃNžjµZ~•NÖ÷‹* 0é«jJýª_&DW¾ßÙ,!z:žV³UV¥´\އ¦Xl•œsv^$øš]€¯éüñüãÎ=4[¦¥r96®¥µ’ã— +¬Vsh‰RZ¦å‰©­–×ÑI.—£„¨x,W(¥¥2+Q³eZ.%ÿ½D)¥ ŒÒR™–Tè²’ã—«N­Æ:ñÇVNÜΣ4¯ì²IAM]Oj)(+7íR)þÒ‚Ci©\*ǧÌc0æœz¤ð7Ûþ'ûíö¸õƒ1çèaeãá0ÆLF)Í—h©Tf5`ŒÁf“Õ”(¸ìC=Ÿû-„q’x¨îî Ä4ð†Òb”–4ÊÔg¡¦ Á”È_|ÈÛœ·“$åëÎ7š0Ò/u¥Ô4«”Õ¥²P?|t¤nÿGO>ûôɹ°Ú»žI\AÈÌgæç“ü¼Ûëõ·G£Ý˜ÜF£QwôµU€þ»½n÷N¿ÛíÞé¿×ë÷ïôûýw»[½­­n·»µõîsÀîîÝs@•_¥S ”iR$ôr‘R¼LQž@ét–ô¬=`öõzbìÆØÔ5©–ÀÙ@ÊçúF»¼àüáüc®ÂUÆ€Ró*crpÀdˆè1V®1V¦È£Œi¡$›£”"J)53+•(-2‡1(9Œ±£À£YF¡ÄÄ€ˆ›À<“ùèyŒ•»ÊJÈÔÅ=Rd5V Œ1ä ”rŠ‚”Ii ŒÕ®ÖcP+1§Äè‚I¡\fHéÕ«Œ1#CÆüä%ç{ñ¹æºu€º[wÿâßÿàÚ5Ó, +¤%Y•ß-YÐ4maaaaA-ÂN6âÕ4¨Y(Ä›‚Ô4ÍeS ‡šÅåÂòr¡X(‹®Y,Òåø¿“’Í.d4MÓ´B²$»@æ YUY+Òªym9YS¼víZ²]ø¬ó@ö%‹€¦IiµÊ˜I)% õ?RK€ŸöÙñE0?P=À™Qà­F[«k«–ÕÝmFýµþY8¡ê?Š»ýn·»Õõ’É ­­­­­nwk«»µµÕÝêöÜ}&윀j•±*¥f•U_¥*äc(RJi1&óBÈå8ˆ ‚Oά‘×믻±ïc8 Ì«sN + ^`è›ìüÿøùçŸþùçüüó?þñóé‹?þñüc–d …l¶P(d³ Ùl¡¸PÈ’B![(d³Ù,)l,É’y¢i$›Z Ùl–B + ¤PÈ.dã`)RJ …BdH6[(²@Ôÿ$…l6›-ŠÙ,ɲ„’ͪO£þy¡@&!G! ÙìÂÂBvÚz,P“ +…ÂÿI}t!KÈBv!K²¤_œ²…BáóÏÕãúãçñs’A÷ÿË?ÿ¿>Ù<|øp|°ß(-B£¬ä°2¥D'šbW0 +´åAËk8 pŽÈÛíö¾‰ØÂFË÷Þh `¬¦}'ö ` (>£A^'9š/—1ÊeeÏó xpð»ñþ'Ÿl<|È•øÀןo? ª@-xðèÑã£'O>ýìÉgÇŸÎÌÌ€Õ¿>?™<[ØJº[«kk«ÖÖh4ílÛý3ÁÛ³O£í)Ü9 ½n·çÏ,Þ½»»»sÊU%ÜVeìUú*¥æ ‹EB.+$ „\&—ó„èzZ!@Z×Óú,À4€©LÏ©M ßÎIÄ Ítææ^làó Ï?ÿüóÏcšʲ–¡É€9À+ÕcÔd”1ö†ƒ…«4ŸÏQZcåR¹Äs(pƒ_MºÔe¥’ºä„*ß` j Xù 3a/3N‹2‡k€Ã”–ná*«±2U=½ìx~ `F©²ÝdTÑ«24h̵L€ÓîóÏý8öýöú䟱Í[È7ÛícºFHJÓˆžRI]×4M× IBi>ïd Í—kN¹\.—£¥cÌñ|®<|kŽƒÔ¡´¬tÿh™²r\óÈB%¥|>§iy=¥izÜQUmÑ|(k çív»9†gÌž—€¬Nô?q0nj àøÉgOŽŸ\™ym’ÌÅgÆâ£ßŸ@w4vF«[{†ŒfŸFÛý^¯×íözÝnwb Üëv»]UxÆÀÚÚÚÚš½u÷îßìîìܽ{÷îÝ»?±6§¨&€8 (HBŠÅbAU¶“Ä4>eNêÍuµrÀ¦š’xñ2/² 0Ÿ|Cç“oèÜsu.Šþ/¾P}^b”ÅnèŒ1f²WceFY™•Y‰²R©ÌÊ +,.í—JŒ–ËeÆ^aµšã°2sXMùï‚ã8Àc%VV5z•–™ÉØÄJ¶Ì+•KìUÊ+ÓWËeÆX£Œ1VsâT¹ÌÊÊâx"„¤òŽÓÇqj4þºÊŒÑr‰™,.$$å–/ÎúìɧÓ9€S071ô»ý÷NÀ{£‘un`ÿé÷G£íþ;wºÝ^¯»Õ›@\W|ö:[wwÿvwôSw'¦¯¾J)­V_e¯ViuZ,Ò8è )’×È+„dUyZ?e F`}}}=vˆƒÓñß$Ð&F«'`NÓ4íÙ]ñÅŸñùç_|þÅçql$o%çóÏ»jRÊØÕ*c5g™956)cPÊ-;N‹¹\.?©Û•+P‡±šSc5Çq¼Zìm]»»Ü×”¨i–c&«9Ìd਋SÆJŒ–Ë¥²ã Sô§ÆjIŤV+ÊÊ´T¢”æs„äj±q¶yº¶¢`ëÕ2«±«Ì‰æ_|‘<Ð/&?¿½ÿŸö7ÆŠkoâ¢èyØÞFò¤À¨k>œ¦'+ ºž")MÓI¾\¦ª#”ËçËÑÔ¤“¦‘”OHÏ̇0¿AR>_/öFðð‡ÿá?ø×P‘þ6¯”aÀó€ñ­m.,,,R Õ*­2jš´@´úLJG?~ôäøÓ'³cÇʸÁX2Œ¥ÕþõÌ„L`Òèwû£Ñh÷nommmÕêî(°6:‡ôO@·×ív{½î;³ àÎ3'OÀÝŸíîüt÷oþæo~úӟƆ¯¾ú*¥”¾Z}Uª§]Z,Äåÿb±X YU/"š¦id!›Mki}Ö!˜À:®¯£rž‚XþyzΦös¥š–YÔ´g€¦iÚÅ]€/žã0©ÀèUVƒ"s æÌ@¹ì£_íÄÅûrT›#q´¯AÍix ˆ«Õ˜°*3`Œ1Læ«1–4KÔ{YµÀ%ñõ*c+ÄÅþ<ÍçˆF™SsœMBßQ*•ŒRÊ Æ(cÌd ±™}t“ø÷ÛÿáÿÂ×9"úÈÛ9Îü€|DDF ,c”è¹½~26Ô»pè"0Š@ Õju2òó*-•ŠÅbQíþ©ÁŸ˜² ¢iº®éé´¦§Orrc׹ϕEÜi87xæÀüüüüœ¦egœg`ò¹çÏc_|ùuÑÿå—_|ÁLvµß›¦×`Žz=¾“×jàSVDŇ)¥%Z¢eV.°«Œ±×cµp`ŽÓŒ±šÉ=Úd¬ªª + zÀfnõ¬æ8^›2:µøeÊX©h–(-—iŽBR”9PsS]<þŸÀLV½Ê )5œ }u¦;µíö'¸>NönùÃö¸ÿŒüo!ËÑÆL“£ríÝÇ–rôóÕ úMDÿ‡?ôyØB7ù&@, Þ€F›Ðü.r¿à¡ozŒRè·9¶bíðÿð‰mßjù¾ßÜçm<ùËòÌSùvã¿X,2ƪԤUZ ÄýèÑÑÑÑÑñÑ£ãOŸœ˜0–––f€6™>›lõG£ÑÝÝíµµµµ¤`¯?¼s´½ÝïÝéu»½n·×ëây~°W·îÞýÙîÝâûü«Õê«*í7MV*Ñ!¤HŠ”Ò")U€ $›N«u¶d]ö´70YǸ€€ÊLgJ»gS[9aœs™ÅÅÐæ/€¹ÅÅìâââbfîøò‹/¾¼øéË/¿üâË/¿øâ‹/MuOD + •Ì;àÔTˆ:È£8 ¤´Ä3ßPžÊ5ƪªg£á¶SKîÒj°àÜ€¸S¢‚8¾¸ÙV$‚Õ«2VJ*„%Js„PBPg&‘WiI}íž5öÅêñ~?¶/¾üòË/§£À›ã‡¼¹ás_µÞ÷ÛÜGh"ò–‚íF-Ÿ[¸J¡ÉóöCÎ9GŸóöþ¦Ïy«åóÍö'üa“sÞâœó‡Í6÷MDιÏy qÆ?h".sÏóLdŒ2[Ÿp}9çíß ¿ÆyËçœsÞÜoû>¾@!ð[€¥Ô¬š”š&£Bê>ztt|üøø³O?›M&°Ö¿žI~c3ó™ø÷tÞíoO`k´3íŒÖÖF£ó¥G¸@7€íó ßïŸhÚj`mm­·; ¯*׾ꫯª|ŸRÊÌ-/“B±X,^VT “€l6‡<ÑÓºžÖôôÉN in ®cl :¿µ¡Îy)€8W(þve3óóÚ¼¦iÙÅÅÛÕç€ÅÅÅÌ\f)“ÉLàËç9_|ùå—_*Ÿ «z €8ÀX¡çcP€JeU¼gÀ®2æc5 ÏsÀóðMEë özÌ(c55ÿR…xÐPs3Œ1ØE5Lç0ˆ?$ÔW3È””ÁÇkxx•1VcjVB#â¯ü‹ø}‘<ª/¾üò‹/'€ûí\orÎ7ÇíM·9os˜¬åúèPºX¬âøüÐoùcÞÞ䈜·7U|sŸó6¨hÿ°½ymÎÛ*—x'{ÄÆãõßÇußó¼«^­LËJ*ÄW΂~›û×69ç~{ÌùÚ›Ó/ä¼<(ÄÚ8j±‘¸?><::>>::þôøxvx)1XMk™ùùä7u +ýþè½ÑînÿúÚÚªÕíŒF?­­]4 §Û#Õ¼“@ÿÌ|ˆŠúY°×ìµþîÎhwwô³ÑÏvF£x‚õÕbñÕWÕÔ}•–'c@…"¥ô2¹g:ÉfÉBZ' ÙYÐ)Ößyg×g¹Çii繺A&³æÜüâbFK(ÀÔg阋ã~NË,Ígæ2‹‹Jù5‘ÿtæõ8¥E4Àó<ð¹×p˜ +SŽ ŠN>ŽÕ¬5\V5òоïûû¾ßò9€º[']?Æ®²ÚÊkÃ…†ãyž‡ÜóÀdÌÎT ¿ÁX Þ`W)-© Í×ÞòÇ-ô¼1S×vÔÅÔÔ¤ýs¢ +|€Ml6rÎ°Ž¨oºM· .ºJLÆÀåÀys}ÌïqαÎ9âF³¹Áqý¾Ífó탇cþNó⛈¸±ŽÍ&@sšˆØt7~à69¢‰€h+Q +JHx›ˆü{MXxpÀ9¿¶Ž±‰Íç=ßfü“B‘ÒªY­VY•‹YxpøøððèÓ£GGŸ?ùtº<³ ¤ q<¶G£Ñîß®«.ÀÝÑh÷|Øîo«\;€˜ô'ÐO åÄY[[`€=yÑ¿?íþt4ýíèg£QñÕ8ú_@<H‹EZ,¨.À¤üOô´®ëiòBô´¦ézZe©i +ðÎ;ï$1l¼õŒ.€2Â@fNÙ',.ª¨V`>¦³eÀ™øŸS ;€+êóss™LæL˜ŸOã¨#¸. ˜®U# [‡kHsDÝf¾€8`Ux¶Ú?â|Œ¸‰.€4ß` ¡þ&‚ËÖ1@0]€·1ð± ¸ÉýO° àŽ9GpñMTêÙo cŒÒ%DÏ}Ÿ{žßd± §ëV`s\à2ÀäÅë©zåËļrük>>¸·qÀÇ>äÇëûÉï8çùÁ6 +ø9_»‡÷Æ9"¸9ߨøè£þòà—üƒ_òñÁÁçÇãæïÆc>>xÈÇ|<²0Þàm>n·ïñ ¥9 øC<䈈qãáÁ½¿ßÛßãŽù;?s>>àû|›P¤Ô4«&«Ò*¥â>8<üí££ã'ÇŽŽgÀZŠ­ÁÖ’.À\üûªÍis³°½=íìÞu¯¯­=úI®¯þ:Î! «öêꪵj­®Z««kköÚš½ººÖßîÆÞ;£WU©ÿÕW‹¯Æ}ÿb‘dþ§XTÃ!´˜ì·ë š¾ eI6­©ØW〠Íw3«¢oóÖÆ3º±îÀ +EæÊ•Å Ä cn^Uæ˜ÑX{˜Ëdæ3ss™.!ê|ùôi<mšÊ ÊuÕ¦Tµà^«V«®kÆC{n¡X,MÓu]ÆX•.›×LÓ¬Ö]ÀeL½Û×u—7Üúº o¸Œ]uM³jš¦iV«Ìm~Ïe®Ëª.¸ìZ5¶À`,Û¬V™IM“™¦Ii±%…ùM+2n\P¬²:0—™èºM5uÇXÕdO'êéÓ/¿üò©zäO¿LDÁ›MÜ#¾ÍÛœ·Çc|T&¾ 8Ì)i$Oi¹\.QÆ:ztttt|tüéÉ6`rf‹€êø$ØîbX»~rB`»ßï÷·OÀ» ôÏku"–­õwG£ŸNìC‹“£Š€—‹EB)^.r™øÅDþ‡¤uèš®M˦Oú€ÆÀïñwU)[œ?« …Bª”?se13Ÿ €JNQ€™Q€³@K*‹ñæ´žENßç¼Ñ@ÏC¨6¼x± á!:´T.3'‹ð}Š0Ï‹i« ÄB– €Fh‰–˘pT•¯ž§âÙm€‡>‚çxž˜.¸^ x *Ìó<ôšq%<ÀFìÃác ÿÉDDðÀóh8Œ•(%”’ç×hxà=Ï÷=¸ÆX}Øô<Ïó`’ÑÌ>¨/Ÿ>}ú›ê ê°1æy»Ýæíö&6(£µXõ@'$Grz¬x¨iy]×!û†Ã€1æ8à0Gí Ò7‹ X<àè˜û¾,ˆ®A#©o8ÉÍü†Ä²kJËlÊ9çíýýý}ÿàÅàE9À7ˆòŠš´ª×cUZ$õ_>8<<<|ôèèðhvøSÃ0ŒÅ¥0asš67ÛP5€vv·/N¦ÐŸ€~Ôí„¶ÎDÿ;wîL N,ËR°3BH1itg6}¦­ÿÓGÓˆNR YMWìÿÔ$à:¿wï¸ö7•|Sг)Àb6SÉd*Úi +°¸¸x‚Ì%@; § À•¥Ì%Eæ2™LfñŠ +ísÿL#?I—€‡-à#‚ç©HõÖ(-—Y#ÛP#Ž×ðð<›xèc<ìæyž‡›à é0Ljð€‡Øò=|Óõ ‘"zèûmÓ÷=€†×ðà8Pcå2#9Bò LÀÈkx¸Ðu˜çsô—§Ú+Åɓ˄&3¾Sí²~ôñãÇŽŽ?Zƒ†±´´´”ÀLßzV°uýúÚjwgw4ÚÝY»`` +Ûý^·ÛÝêõº½¸(0ê÷û‰íÏ;wNÀªuò¬mïŽú£Y˜žP¥ˆ¦z›å"8ÐÄ–ßþo·Û¿Ûßßoû/x¾ EZ­²:4›M—™´¸þñƒÃG>~|üäèÑ䆱dL@‹2™É­j¦\—@w +ן¶ºÝ^¯·Õ›™Øš®M ·4ãV?/YýÝ÷ÎRL¦ÿ&iÿ ñÏBÒ©¬¦B²š¦¥Ó„躖ÕÓº~bøò:ç÷ø[o½Ã76wcÆám6Pqž]\Ìd'0K²gª™ +pa `éRæXZ\ü*‰S¾šÊLÀ€€¼…ž ä*V!Í–#„2¶€Ž +Ä$¼Æ4c@õ*šPã `¸7=ßWÚyØp”œNÜD\æx p æ¨-Û2¥„æHyzq®Ë€`»Þ9q?9³î ã‡ˆëëMDÖ¬B ˜Rƒe¦iR¢Š€WKŒ2F +Y5N‹”(¥´@)˪ .ÐÂ+”RJ³¬\.QZ¤Wi•Rz•š&+Å‚05Z(dÈw4Ê5¯VM“]5MÆ(ø›Íf³¹ÑDä|×ùxÌ_0xþ,àÅ?¡”U«n½Ùl°ª¹ñÑáƒ>:|ôøh&þÏ€¦Z×™Iµz6ª“`mm­û·»;q +Ðÿš ßënõzý­X,@AÀth†,=–Õ¿;zïg£÷&5r™\&„\&ŸðY‰Nà€žÖôØ#vP€tJ?ð_ò·Þy‡OHÀú ¸¡N’ˆL&“©ÄõþÅJ&''(@vJ2q%³8—”˜?Kæ˜Ëd²ÙÅ¥Åóà«§O¿úêéÓ¯¾úê«§_}õÕ,x€M<ðMG¿åy­Ö$ê{……¦3½FÃqÐh*] jqOßÄ:{½Æú*5À7Ðó áaÓ÷Ñó|pÔÔQê al2…& F‡Z ”y +rbE-Àl2æ²:ãí$þ¿úê«À¦ž’Öÿ3ÿÝ?þöƒƒù—ßp>~È݇Û9ÿ ‰orÐh¯ÅÆ8úd®n~k ÁDäœÛ³6öù˜½áÀYÇ>ÔÔP-PJ(@8<#ŒùoÆ|ÿ_~û»ßŒÇ¿½·ñßþùáo¼Øyn(|“CÌ*sY½^o®7ë®Ëšïpþgãwø/O#޳xPÓæãÖYèª"à/b¸»{w~’<ŸSXÛêõbC€Ñ¨×õûýþ¹öÀWV¯¬^YUÏWV¯¬.Y–µÚÿ›Qÿg?EHár±xyúÙlV×ÉåË—Õ ®g5MWÒØ3wþEÀüG¿ä3Lr{U @Å~e1“Éd2K‹‹ÙÌ×W´ÓU€„Ì&sgÀ⢊ò韧êÅ$ø¿Ra£â¦k©*@P…;hŽb¾¶Àc5¨ÅÄÀl NÊûo@ÓäŒ1×ð=ð è{ˆÍ4¹¨.Ž3Û“ÜÜð Ç©1VvÊ¥jŠq¨ôÍkçèÅ"€™ÇóôéÓ§“allñ1ßäœorΕ-È|ÏÃ7På`¥µrßSë dÓ…`,€£f¥¨1ð¼†Ó`”±¸à8 <Çáà9¾ï0æ8ŒQJHž17&9¸ˆØÚä¾Ï9ç­q½ÝæüÄéóoÍj•¹Œ¹Íõ&¸nênµÏͰ*›N'€¹yík`wÔ튵µîÎîÝûçíüälw—ºÛýÞv ݵ‹e¯_¿~fàd +ð3%×]œö;./_ž”5-«§ !—I6›%i]Od€4-þK?ebG<Î9kÚ€õ„à:¢W*•J¦’Éd+ÙL¥RÉ,..f3™ì +0’(®ŸYL¦/&™ È(°¸˜ÜïŸ&ðtO§¿û)‚‡-ôÐCD[F£Ì)BeäMV«cŽžßêÝ 9o$I€ÉÕØ€ŸˆïzžçÝh" ×j!úÐhx€ P‡:óük¼á5<Ç©ÅÛC娋2œiT7bÀ¹¡@mf2€¯&Î@ˆü÷Õì Ôn#€ë€‡Ð@l8šÚöó¼Vƒ1p ë°šš4P_98 ÍÉCmxÀ=Ïóâ]GõМ†çýÐóT“QªÆ”xx<8˜ømrÎùµö>GXáÿã @©Ye šõf³u`USÕÌHšÉ‡ëº®añ.€*ÎÍÏij(™\Îé©9€_ŒºÝîÚZwtÿoÿöþ…Ë@ÛSµðÑõÊÚè½^²Ø]úÛ'…ÃTp÷ß»žœðÓ~ÿ½÷&5€Ë—/_¾œ?ý€¤µtZ×’B`:­¥§&`i]%§—PM޶fÛo½óÖ[qàÊ•+‹1d+•i ’$gªóss™ÅŒ¦rE2óÉluL5-&“•(07÷Õìy:ûWr÷Sƒ¯ž>}útº“^ÃÇ6€«iBh¹Y¬ÆÀ÷PóÀ`u€ïA‚àg3‘ÛPÍ|êàù-¸ຠ@ä&4âá9jeF¥&!º–c.›Þ!ã…˯fÀW œM@í«™¤™„¸û‚µ|Äåù-Ec Ýŵ÷G=Õþít×Fïõgëú3o\?çX½Q¿ÿ^ÿ½øœT·ŽeîÔëi’^ÐuU\ÐÒš¦eÉ´õ—ÌÿŸ2!oâÛ1Õl)|‡sþ–:Ú•+W®,fâÈ_\¬¨$ »˜©|-˜Vf &‹ó ˜?[X\œ›{:ûiT$wËI¤Äñÿ<[-¿Õ‚&ºž*€åó”RVÀ˜þ¶}Ïð=Ïkºñ?ÜðÑS!âñ* ‡Ói Õflºjì}lÄóA.sу¶ï9Œ+•X–¤R”Å*k܈ë€u×Ç¢÷tb榃<'† >ú~Ë7Ç>ú à€­V =-–¹á`ì'€à9¬ÜlÀ¤×é¡èÝð㺧‡ˆžëù-Çñ<•4BÑ<)(qï {·T0¾ç$zдo f•¹õf³¹¾¾¾^¯CÝe´X(RjVYÕ'g±²TY4+Æb%fóÊ |¢ 8€­‘Úèv»b­;º¿»ûL˜ŒoÖvì$ÚÝíZÓˆOîý£Ñh4êÞ;'þ׬îÿÖ÷½÷N@|ËÏf³ÉÆEÿ¬®ëé”N²š®¸À„÷«)àô¹®ÕDmÿnnrÎã½ÐÙY íÊ•+WV+ d²™³0K2S +0?¥š–$U ˜›?S˜›Vææ*™¯.8'€ ©~uðð·m>æ-· +j¯¹q€íñ96À¡%êdìã¸|ÜÞDþ°í8Fä¸È9"Œù9‡eœÔ-ÇŸüS{“#º&¼‰ „&îãxŸ}¾?FÄM>Ùo‚èý¨í5m!ÀS·¼9Æ1rÞ4]Üü#Ÿ>)¶ÍR‚u¦&Oâ¿…>úü{-Dð6Õ¼"ÂB™–kqÞ`°ÌQ¦–VcjY +<ðñd"÷n€§d…£%K $`nJÎVæææ³_]ˆO§YÀ4„–MÓ\^^^þîòw¿»ügË…ï~·¸l‹…‰E³ …l¡PX.©ùÝb¡`šËËËêCLóÏÌBqyù»…âòr±ðÝl¡°\\Îf …B¡°œ]^^..›ËËË…å?ûîòòòŸ-////›UsÙ\^../ +ß-¨Ë,—)Ͳ$›]XXÐ4m¡P,³ËÙÂòr¡X,– ßý³åÂòòòòL‹kgqƒ7ך€¾ßÞç-t}Uéð=ôZ-Gc´¬,vHF˜Ñ×u]À6÷7bOîßú5ð€±¸·É ÆhN-Zz*½YG÷Chª/¤ÝÞç>w}äˆî¿øùðÃñw~=¥U¯þ¦U@ÆsݺÛåtËÌBÆàõäÔgBaIyN ĉúÚdx«{}­û3btv¼÷ÔbP×0¶f aÛ +0A€+«WfžWWWWW—2WÞ}·Ûï÷ûý3ΦÓ:I=Mˆ¦ôþbů´€t:NëgòþóÀ|üáxüÁi…7­råÊ•+W²*ý¯d*‹™ŠêL`†ÌÇ€Ì) + iqEà XœŸ;,f/¤'xsÒøê«1çãqkÌ9Çæ>¾9n«%v¯LK¬ÌÐâ[8æ.Žùæ˜s|Àö÷Ûÿ\u90øÎÇø6c“™||€œoð6ª½ywŒ8>àíöøÃñxÌ}Žø£–|<ÆV‹£ ¯ÆÊ¬œsøØÈ\D·îº€cÎÇ9à“Zß©ûþô$vˆƸŽ9o·79¶ëˆ-loúþ&o!¶Z°@˱q€50ÁQZÇÞo[ˆ[x Ðîc»í#ŽÇˆoÇÞc-Ĥ¬Ár¥dH‚1Fó ±‰>}¹;n®#Ç Î?l·}ä.÷÷Û/yNÅ~ìÞžÒSDÀëߨX¤&cõ:0XoºPwë̤R¤EJ«³ÎZ3¡`$0wš¨¥¾µI°×½~=f«‰(hï¢ÓmKÝÑv[Ö‰ +À‰sêæ¿ºzåÊ¢–¹rýú»ÉùߦºÇDÝÞÓjÜ_Ï*ïMS[¿ê¨ýŸ§]Œ°…œóÍÍñ¯ýë1¦¹—¨T*™L%³˜]\¬d+™ó«K§(@ùš6?€ù„ÌeæNWææ²ÙìââW_‡qsðDÕ¬ "2ô|ô€çÕòù-•ËåšKz`•ûÜð¼†ç·}ßosd±Jc¬®xñè_"˜bú¸èûžçûzžç5Ós˜ÔÍêx¾gcU—1å¸àAØ4üŸ^ôè&}*p›Ík×êͦ[Çwp½YÇåñ¸®[hÖëÐDwžŠ”MÓu¡ÎL3[¤¦[5«àºPoÖ›Íu·¹ìšfsp½Yw›c·ͦ Í ·@%…ªë0fº¬@ +æµfÝu›Mhºîµ\sÐlºÀ7°Ù¬ã¿Á…úËži½OÓR)-¥ÅÆÕD×u5Üü k¬^¯»n³ õªÚ *PBŠEzÂøbz*Ýë™øu.QÉÌÏo'½µþÎh4Ú½¿Ýíu» XÝÑööéøæôú£ž±8€Ÿö¬þdªçkàú•ÕëK—–®Ï@6›N§ÓºžÎ¤IZ׈®ë)’Jë©´žN§Ó$Ö4=Vi¿~Aê?ÛPñÜ bc&þQËdã$ SÉd*™Lvq2´˜tNP€ì Ðb +IV€ÏTæÏVæææ³™Å¯¥Iø$±„¸³Ù1SΘ´n4Êù|¹Vfår¹–j6V2@žç£ïû-¾¬zfàÖœZÝ·î0Pw"úG5ý`ª½?Ǿïµ~ôö¯ ^£á80%JózÞix^1Æe»n _hž9cÎùG÷Öù'>?trŽ oµ>rðÃ1oßãŸüc» ¸É‘ûãÏoy‹›ÿõ`<æùñí{Øó~Àù˜#GŸãÃïqäcÎyÛßÿä“ýMÄZˆ.ßDŽ Ðaê÷‚}>·9ò{¼ÉÆ¿}ç¡úÒ|ÞÜ¿ìQ²Å!DY)§âD×u}ÆÏñ%5Y•A½^Wcju.K +„ÒúÅ ÍÏM€€÷¦ `çîhg÷þv÷ζWô¶fÏ)г*Sø›žuç<¸{A`uéúõÕ)LÃYOeu¢îóš¦éiõGS¯'Â鯋 ç››ŒÇ¿ÞÜL&;gô2E®'ìQÍ--...V*•ó)À•¤Ñ4m.;?'@FKÀ\&“™€ÅÌâ×S€Sm¯0)apW­ï:à8N9—W¦¡e標<§Ý}Ï÷=,‚LmØ3¦”{°ú¾ßòo@Ã÷=ÏCÏÿÐT냢ßú¡ï·}ßO:N9̯©±ú<шÓpÀtc)0ÆÜ7àLªÏ€Ù<¬‰Èýú­k<éàœûŠªù^­Ìj5pÀh ¢ç@ËCVƒehsô}¿_}>ÇÅCÿZ+.ûzˆ¼í{à!p¦ZšµšS¦ ù½ÆmŸs%/ÚDä>¢ï«±ñú¼9~û%®§tM×5]'qgJ¥ê––J麮}£ ÏB½ÎêëŠOÕ×a}ßyç^ò|æg “ÉÌÏoo÷GÛýÑöKÀNϪtGq©`ô³ÞRw4õº;?ÝýéO§{¾wïŽî¾{öt»ýëׯO -ü‡ëD9¢ `4ƒˆtJ±ˆ²l¼±Ê’¼ŸÑôß{QÀ«7ñ­‹6ÖÒÍ?pëµýÒ‹±Á\(N À‘¾hÀO¢à\böà…µÇ—I³Ç›Î|Q纀³¡4ÏÅúûiòWv SµB v•°\Ÿ£À:ÙuiÑà>R€+öZàýnÚ^M - 5Zy ê#ÐÜÿò9ºý_àýè…û‚ï«®èˆöË+O -€ ˜K&àI}÷ÅTÌ0úxÕ}(Á¿²äÐ-:~¿ÀŒ`A€+˜’ׯYÂÿ´ãv¹ïíñ¶¿À’yR„­8ý½¡¼ ʦÿAk`k€¹ct6{„Üâÿôíïæx¾ {òü›îÐ/)œ‘†ýU ÷×눌؃ώ´Ô‹Èÿ/,„¹ÿ‰8´$+`Ø+‰OØ”—²"÷â¶tìi$œÏö„µ%CÖ.ðè³Л¹CøÇ¶­[ñë׿ýüDy „ ÞlNÏÍß%$Q]üDm¢.?z}‹v~Â}Ký_~±ýˆ(¾í5%˜˜ž›y^À/„¦–@x½ý†ÓTÅ˃Wz‘×ÈÙð·®é¸rhÞ]»/Jð‡] <\˪ý¥Q^«LÌoÞùPæÚû`¹¹Ü¬OL ÿUPš/¹ž_øwqžÈÂZuh¨:1W‡a9ŽL̃@ w~»±ùß>·Ð-è^¶c; -@qëŸÍ4ýë6 o¿^_¬_jLØ× -‡qU£ê nU/y}rv6ŸýÜúYˆÀØHR&Ó@à.Ð(4^Xú›Yyÿ ¤VŽõ*øî¦kqy¯½õúÜhµIA -DŽ‚Ø¸Mã¿¡uþù eÉ¢ TþO½ÕȲ*£Ù2F-CÑwvajì¢xÉHåh©r´Rª8†¯]ó n©2ø3'°žÃBDØ«šB (H>ú“(þLÆ?cá­ó)(AÚoçœC i®ˆrÃ{»ŸG"ƒÇ*Î;Rxß½G4'xÀkº’æÏÅ %€ŠÛº€@ªè-Õ§þën ™þUlk› ¸Ÿï÷ÚU€®h@üÝvþòûô÷/Ï_3„àÑÁ³/ÿ"¿¾}›v†(QåH -€ ï÷X‚{›Wcû¦À^Ü@SMÁöÃõùê@¥>M?ÍåM]L):@ª‡¶7uêôœãü òW‘1W–i  “FG+¥¡z¶xw}}{K®Ìöƒûí¡MŒ!X–·–Wï}úèQŠlW˜$3ËÂÂñVü‚PÏëE˜_xÞ ù+¼ó AïÈónPõ>5)ÈEÓ·çMbV§FhËXé«4*LƦÞu:3û^ ^ ~Ö -0V+¼jªÿmFuY€´náÝ#ðjÎŽ b.±:iiÁ1=˜¢ ÿÛì{ +*œÒe3bŒº/‹€Ê1G¡Ž”ÜQ—O©§ÖEA&ês"±®dJq¾¶l4RŠo<›wRY®FXöÄzŒÅÍOcÈ­QkÂ]Л(ÄhG¡DJàĆÐYp§å\@ ^ÜMº—;L;ÉÏ -@äÂÕˆ˜ˆc ¢ µÆì‚…‰,¿ƒÓÏ0ºtÿÔÿ_ ²âhéb92ü±;hÐ `wAÜ€¢Fh›‹êR©#FBˆ:ާ7§þÐw 59ð±bhN‡ -€^@oÇ ó“‘c H»"šc)‹®~È§Ó -€«D¢øÆl·ù¨óÖ‰ÎßÌ^êï{¶iàp”Êå!ú - ÅP¥4@`Sÿ#Ë+k«z¬‹`Tl ¸¯…ÿÛþVhœbD¼ôKÐp¿×B`ÀM޼vãE ÀûļO,`R®ßüÕí›t5H3Àë¯Àü€›ésó&Ã_¿|îÕAz´påjW À­Û7o0@AB·¸"¤¿õ‹ÿA%Dù1‹é{àëm (€ÑQO õ -ó“ àzÝ&ÏÄ  ŒçäÿïMƒ„î ©Áñ“§Î§fnXtþ*·óÃaO!ì;5x2JqìÇ’pÒ_+ºŠc\HŽº -LWñ솰ßËo¦ Xþþ{”û{ÿè:êwÃ@Èd@½góÍ*ƒ×§…ö"bËèæëëË‹óÚ³,Ýn··møÿµÜÞÚÐù¢ë[ÛBxƒ·çÂømÁîÃûë+Êýîòúý­û÷=à¹ÿZhÚ~ððáý­чyÆîá¤ÈˆþâуÍʼnÚÄôt>/4_YWê/8í¾Ê@.·E\X‹•2«˜–îÎÍÏM7k4}ªgËëÛœéȃ &2úÜ]ÝH -ðߨE‚gö3=£¥‹uì]|R¯5ëÃs†»Tõî঑wªE î…Ù¨{×d ¬ÕîXUúÀÿ‘ÚÅ‹€¶mV“ÌÎ8È9ÙBß7°ë/ØMp[tõGeCu&¢£šÉç—’sÁÙÆ(ãúÍæ ¸ÿ""Yôú' F  ˪Y3N™š‰ë‹ˆ$`䂇ŽûËrZ*ˆ+"lxô±vi˜8ö×~Ì6ä7|G¦òzý7*ÎÌz4~zz¢²ô—)¡±ýôØËœÆ¹×š\ø€uà>ÎP^ÄÆ7.GÂb,gö ‡í»Ç9NLeÀHÖYÛe: ³Û -@šÑôP˜þL33× 1"ÂP›”<0Àšã >MÀƒ®®3º-aë.„&@oѧWb4À¤ª"ò¿iŸ†â¥ÚÿúÛ¿þå5ÖÝc ’:èàkêø  €sâ×¼°£@Š”n¸G¸q+ðÿÖN¿ßÈö½ðõö@(«)¹á€ëŽºéOÿaJR(Z};­ÕáÁ@s¦ -àkYýO"@â¦ù‚NÀL~]dØIX\‡e\VÆJ:ö”]¥‰:Ù€¬‚ËÜ€ƒè>Á­Vbî÷kùîâüüüÜO&hk7Zc\Ÿ À—áK¯,/Ê{¿»¸¬—U‚ú0DèýûÛ4!ؾ¿µ¾¾B”ÝÚŠŽ2Ξö>Ð -:!ë÷ïs‰åÅ•eºµ¤¸¹Edñ%•—±½¥óïÞŒoê,媣©‚@DfØÖB1¹оñ_Œ6®@…˜þ_$P àØÑR­¿Lo\F¢KÅE•RÄŽÂé ÙÁ$yêŽcÐíÉó¿1çxZ3ôê?Ñ( -´¶'íÑ"ük>ÁÀ]¾÷ê«•h ø&#ÇÐ €À8€Ù)íéßu~w —Ù­ø"ú<ÆR --(GJ¬‰ tÙÞ¾Ÿáëп=l$Õ´,•úôóïs×ÌßÿüÇné|s û=“@˜½ó@ˆ¶÷{̾„ˆ„€¨^€óÄ`n­5Ðná?114ÿSňØç—ݺQ|€ðë—Ý«`(WCýe·nÓQ»ÿ2º"¢+@š >€ÿïü¿WžÞ§¸!€œèã‡@tÖ˜Ûè -po€×Þ<‹ ¢ôšÈü8 -ªÉ$°÷ÔÙè -ð ò>+ìÆŒÌº”só¥ €–wOW¿.FRŠ3…ŽpÎ -°Cp -ÐÞËâ ,õI€ñ}ºñ?àŸo7þ›|E?ŸzoóSwÀÉð¯1FØZɧ A­Ê[­×›ÓÓ„Õø/¥E¡ó ¾¶‚ÔŽLÈ{b}“XÁ Þä ¸âkèñ¼BäPP1¯Iï NÐ>Ÿ¿±IäÞÚ¦ø(â#)ô%®¥sï¢`‹Ë‹Ê†}È QAåК¨…V9o •åóÙ\³Ù¨WGåãˆ,»“!G™€gç)o-¼ùÇÏÑù7­Àî%A€qw üøfví¶„wsÍj˸—ŒÝÂ\ã¨|ÞÕá<£÷?ììÌÌìŒ z'²Éɱ -ÀH_u²&ÿ ï»“S?ù©ðY J†òÿEêÕÜH+ÏžE]?ÜZ} ;ûˆóßSæN—Ͷ²™Ta¾ ¡Æ,4a@ÎÆsñ´&oÚþXøÏ8Ž=ZÊr3‡°‰FÎ úCØ`­j³»QJ©Ÿ35Õš`¢ŸÁpÞ `fîxЇÍZ@=új'ˆÏ _àÍXÑχ„È¥ž>ªB&ˆœ°ÄXÙÑ -@3ÿ, -¢¹¬½ÒeΩhÀ"g˜Ä³Ž H#$á~¹R¸/L´`b"Í?9 f̨õ_Ê?±hx¿Ç®^Eîßým+Â|ZØx ï÷O€ÝyùÿšÎŸ @€>ÿ…¼|Þ¤üJ¨l ÅPð4 -ÀÍ›¤¶ß±  -€Œ£1€dâ48ènà!ˆuÖ­_´ÁŸOØ÷ -À3Ùãb´xÜÒ7¸¶cÞ$ðx›èxÀºŒ¸}@Þ@Šëß+ïÝUø:LJ|y ’w€6újÒ–­Ê‘… -”Ààࡃ²€[ÒtHEæ‹@]ü»È]1iÆ'+ű§©Ò”¬-˜€ÿmÐ%t€äSþðÁÚ~2Z9„ëµ ½‚§çæçç¦çèè® eiý.ÝîÓHè—oÏKC‡yoˆ(hÿŠÞ%‹ò#ˆ13Ðë5Qïø„ ÑE)D-x×°Ïø/²Í&tC¯#éöë+ŽQ"/ª\¥Êø¾Ž‹.h‘k·Ê=ŸãýÏM7'ˆ¤ÁS-_{(ÿŸ¶‰ˆ6PÅ5€TЩ0ú·€9Ÿg²¤Cw¬µ! »“ÏÉÅŸg´;`¾•e¿É³|õ“٥߱'ןm±ú{Òf ÷äd/,è' "pq¤¦O­,N¶äã¿+èÍ–”·Ž: 'Ï6²á¡zÖÒÔ˜û°©­V¦Ë(2Ï?œQš¹Öt“‚pKòK>ñ“|uõŽòšùd¡5×Üh}"àoý~a&_à° "̦(ÙÂêB«Uo-)ÏÖRKÅô¿·0;ewŸPÄ‹c4Ci”úËuÎâ´&ÃæÙïWgîÌ.ÜYÍsŒ,û°5®‚ÜÉupÑ…ÉóÕ|c©%ØO%j궬æ3³«Oo¼oÛà&\MK\kM˜–J$ØôÁ¾t¸ðæÉÈ1/¹+Àt^Ìu´È¢k4À¸È.€‰e¬ïµâhÄ8O"®Àþ´æf€CC£¢ÄbUØÊC¥¡ zä?nMÿL"PwZomn™øïµ}àÿo™ -@4ô"8À>ö2Ê?ø/ì?Ow{©€À?üÒ=u+W¯Ý¸ /H - Žê`põòûþ˜U€Ž]gháP®ëü‚Ü pír; p›….øo»ý]« ä¾·Ç[˜¾×  4 MTki »€}íd;9gÚÜ¢€¾ìžCþÍ#€Û“ƒtx0ö™´‰/Ø'ü× -eгu-¿;ŠëÛ¬Dq - €d~ú)ªŽ„Ú{ɪ ì÷RŸ7£Oþ.ª ÈjAŒðèŸ`H6OÉ &ïáýå¹!ÚÓ1Ý© UßüôüÝünT±ßÅ#—ÞÚøÚ…—qý·6×gö,Îiîœ,Þ°¥·Èæ–Î×±ÖòÝ\0­Pö„óAnˆkžãúËËG@> BÙYÎùûp݃L.‹²[\œ37˜“MgÓ"µú¨\œêÝ@la˜Q s À§Ü @€„ÿT´)@Âÿâö?«Ù“í¶z}t¼:>^¥[Ö×êÕáQŒÿ¶¶ßÖ‹÷ëõÓÓõcáŽj‹1ö«££ãuά—õ‡y;PfØ}zwbÀ†Ø¯i£:\© û¼úøðkœÁ$#ì†X9s©jýõו«V‡«*›ŠR#*‘r°[eœÖó¡½t®PWþDsªN©7&êÍ×´]ã¦WÁ˜Ôâ¼\.«Œýt;#$ê-û\…9™è†p¥¸TµþZuÜãýëàÛUíÑݘЅ”-wdxœž¥¸úÓB½ íÀ®½r!søãÚˆöè€R¶OO à_ô(ÜGp?VÚ'è Ç#SÍÚ -@{fðTÜ ï­¤ËøB‘ɧ7À€}zW«e×ÿS€B†01½¸Üâÿén‹*¿ùEýÃéßQ3ýoáì1¡å.ü·ýíkç @s ¨ÄßmrïƒÐ#0øïV¿D¸uíj(fvúQn\Óú«&‚iBB¸0Øïg ï÷˜;8wåÆÍB0þ;N€nÎýˆŠmè¡èˆQ¾ý K$û^øz{ Àÿ×[ÏðûdGà PÆs¬:q2Æï5èèïTx$ô 'AµÝlVØK½÷9™€\ ¸ÅPNìÅ=ÇÓç4ôÿŽPW B¨n (üGp›˜4&×¢þú²2V¸‚÷%Àø:ëæþ¶‚t)_¶{äÁÂÿGnçõ’; -£·ü3 <·ƒŽoqÿ\ˆ/´å€PºÅ–³C¦ß]ÑqËËÔl¹¾ž*u@”gøq½aä·“·LHo -ÀYöö©UPæ:ì:ƒM]}mÕÁåb¦«€üt]I cÚ¡÷Q Óͦ¨Œ bth¨Ú\\!ªiÓÚ¾Hð/·û·kÑ`g0ÀÄdº§vþÛî¿ìy@zmvLH)"PoÐcQ½.TÎÖµÚœ'8H¬Ë[Îç'HV§æžµ‰FsàY*•úûûߨTjT³ËFk®Êußé·«t¤ 8†Í ¿ÏeÓºHS¾¸Ûÿ«¤>1÷ºÊ§ÍišÔ›ÚÙ˜˜“w.˜V±"@/ -2'Ö„Ð5ý é,›æ Aèáj•O÷–Kð•¾ò¯Õˆ‚4_¯/6çšõÚ¸ÊÑ #¸€ Ò˜;]WA&”³RÎqBc>Ï)îž®káz'Ü5˜ -MÔÆÓUæ€y‰#ÀS9ÄAg‚ÿ­ÅXÆvOäiÊ %«…àlu'n+q÷Z:BA Å©ú>K-@ô0TFæ³ Š ‰£T*õæÜ\szzZ-ôo“Í‹ÇK@|{ŸÉx¹×ä’Ÿ?qH¯<½tQ€½œï÷54ö?wYþ?r@[¸}ëû°…Óû×ë‚éëíwã÷ì Á>A€”Þ—70h+ç‰ ð÷ÈO¶rßÛãíI -*W?Üø8vö¯N1õ@ªŸ±ð«å•ó¤Á¼-Üþ …c‹*€žnÀ×@òJ»}€q‚Ö‰¸ƒ kœÌiTøOOœ:Ô@9B”›>P‚,˜¸~€ë@\ ?…5úû˜> 0žd—þþ' -þGÀ—D|&°ÜšÜÔⓜà‡¬1ÀÀ¹‘CynMZäÏÍÏÉ—ˆ…àTR¨u#¶a×õòÍ×î÷·¶¬oE5öŠ2àœ ±P¼õÀMŠÈGùAHÅùZŠ:ˆ"PKŒslƒ*ýu%ßTî÷ïC/دœ-¸2@ٯхG4² Bà.JÀœ8}ÞVÊ£Qǹxw“®‡Â²|îCMÑÀÚøï€ðÏ,!ÿ³+‰mt |é“O–Z*AžÍ üZ«õ¹Öݛڙ¯ÂNòL7‹íæ*rkuuuia£®y~g)«U*.ô?É@A³„W4t‚NʳÑáºò†ü]Ê”¯÷1Ÿk®Šëe—¼¹úÉÇ­¥…üΪ’4)Huz5§óˆlYWâ¼–2oª ³MI>³¤‚´Z÷\…;*ÍÂB¶ºôÉÂìÒR‹qî螸IÚ4&k¥ÞJõΕwüã!±Ùj5oðçÊô“%]V¿]IDTæ† â¬‹„¦Äo>ÿVxuņßXmƒpì×ìa—öàù‹:‚ ¡°ŒÓ€GŒL‚BdÀ' h%ÎñIaQ¸lÌgαçê Xg"'„~ ÜŸÎh0¤ÿrd˜™(ä Ó²&ž$î8Z«Â"«5‘@àQo4Í¡v[¼ÜÇn„`à7ô›sEºz65µ5ÞrAâ7Ðã°LyE‡€”#ÙÅF¥×ýΉ¸¢3 [nùçê*ÁýäâRæÙpî"iC×!µ®+J‘‹Oe©Ç~Lÿ…Fh/ÚÊ&lõzúô¼xÛPê¼ðï€Ô ³$#ò0‘ð…Ü -@Gƒh*†²JÀ¼ ÁÓ®ôI -çh“ /iRø¿Ö¨á“ •Ø•E‹ê–gªzÚ® •ûé/±€¯O( A öx¹×®¹ -@Ÿ§ˆ ö_æ‘Y -ce·nÿø 5 À1€¡Ð°^”Ú üv¡».K#€'€äðï1Æ8KµC¡\‡|põúM÷¬ëvàùÎ',qÛ­„rßÛcíqÀUíBBÐ÷–~²·¨0ö«t¼ƒ» þ“¼Íäûk+€’p Ÿt€wF½v;×>®k;ÀY×Ö2MÛàß"€]~öË(†Ëú—:Oôø?.¾Àsnü×òuLbÁ6fô·=Ýp@¡„Hؾ -1€B¶Ïîm¬9 °äoo­ÌÕË¥¾{úõ^•ÿŸÍÍ-ÎÍ·å/ËÁv°0t–“ï˜`¾Bd@×Ü@;Üwó½û¤AñÇ›§?QÁ¿z°-f@ÂûâÀøææÍÉ[÷·0ôØç ÊÓÚæƒ¤Ð\YÓÉ©h°NàZMq -³¹;𡵵U(„E}ææ§çh H5pm‚ºðÅuú° }çòƒÜûôS÷ØVÀ3ßÖt›ã¶sÿŸþ÷#îÊ—09/áúSSùh¼k -cv: ƒStýoß~ÔöFUN9HÛ¨` ÚÝýÝ1¿¡µtCŒ¸Çnr3ÌúbÆâ8ºÀÌT£Å‰*FNŸ¾ìMÍfÃÂÞFó’Û#F§À©”b¬DPþÔQ -B˜½[ AˆÐ)eQAÜ?õ·zé@V©‘'éü ÷t@;‘ -"6™œÊóaà^Îþ%wˆ¬‚ÐbJë“$~ -sóýPÓÀÔôÉ;íÈÇ~vÒøÙ±ýÈD3á?1Ú>ì‘úÒ×ÂyÑV"¶`—)Vc>­­˜KÖúÀQPú—+0C¾ü{Qð_ÿCCåò@_OoÏ‹=ÄvúzõA6p‚Tãì1ªý÷Nׯ‹œØ©°öD€º~"¨ï‡Ü²@W€ïŸO -ÀÙü¦y(Wˆ(BBxÒh@ôú³wBü‘«Ú -±FúŽ@ÉÞ§ -àš¼ÿ[*Ýã¬ÈøfB¹ïí±öX`£ÞxIL~€ô‰ÞÞ®3^¿€8‘ÿåËÿ?žÆÀÙw €ñ==Uö…`46`CÙÈóÙí«ÛÕ?n~tÕÇÿŠ8CÇOªÈ(¡÷§J€Ä: -€—¾¨,ÊÈÅÙýT Á: -!k‰ €¾7Ý _·˜°Ö#õéŸ½Ä @rÿçæsGð㽃°B}áïvt -ðÔ&‚y`Ü~ë!:?R¿¼ùÀj±­!мðp_4€½‚oçGFV¶YÑ}xî”%ð¿-† 2hN× -ü‚늑8RÙ:„Z"€9±LóÓY³) ŸÆÐiF ´­ác¿Y À/?‡€ÿ îæÖžÉv»,ý)fï,ñϳ¬U­;¼ß ØÍÌÿ´AK>›`Oó¼ -ÒÊSnŒ;Z¢à‘‘š„Œx µHüô)°}_D`skE_Zß§»ÄÊlߺÿO6òëµ xÀi}»òš”žÀý÷ ¨,´|·¸ÌsU,× œB\…•zs}Uå' p~~®É˜2ÍééFc¢97çØ,ážäV€î° »ñ?ÝçfÏŠÿ{[Äc¬1õ^6%‡—Í)AáõÜaB8crÒŽH,æÃò–å -3uö³åe¿‹Ó?F‡ÿ±"pö˜ûœhHeEYkÞª;,”URÊíŸÊã"ÃYQ5ÁŒ®ÿX'¹LèÂg1ÑÁ?ü€½®4ˆccþ¨‘¨eµþÊ`UdcªâlV«®ñ`£Ã¥®‚Üá’`¾¨€YJ§ _oBb㤾» ©¬À`¦bÅë^Á¶0<9÷€_¬|¬xg‰ž# }+)­ö‰Ch¯rJa.ÈS™3DH%‰«tbøY «Ÿhxóý„ù†áó2XfmÔë5†è¸0Z¹Ù¯¡ýìÚ5ø®/Mò®ßH­ô¾ã½WÇ)ÂZÌcH -À?¤ž€âÓnúÏœ¿ríVt”jdôä÷ëFý® àÕsïÓM€€ë×ñ¢ïÿœ@Ć@~«"×! ò Ÿ_ /ä/2þ^øZ{²˜Žp’စ©½íú Ô€ˆž€½AòðÙm´à¸¬–|½À‰ã/ÓÙ``¾q`½ÀýÀ>Àföˆ0G„÷éüóäšÑÀÃÀFtºÓ˜«àûÆD1ãêúžz: AQ" Í@1@4üt7ˆ@tã\sz´&æ¯wCm¢Ië·ë#öO¾´ | pÝÞµ+Ž9¹p×ýùmm?d±û‡íÝ+¼ríÐ)ð’ Ó77µË¯véÉ@ìúƒmíå,z „p@n?Ô‡\¶èxÊݽ h…2 0ÚAE„ËECئ( FL@u´ ȦçóEO…µ–W7þði!ìT|OÍ‚Ä ÷­FK7¾cYÑ/è/ÈcUuóN4ñ¾­Î -„g,ÿ <deÔ=‚³©‹•£à DM{aï¦eÖnÒt½¡ó&œs’­Ö?ÄÏèXh<õž -’ oÙ%¢ ÅìI¥ –#\¦áTïoÓÉÁ E èX`¬Ö[ÅË,•FD”®"S‚f^ML¤æ‚(Ÿl… Ñ˜¦ ú“šîÌ´ ¢ù$êÈ×L!Þ˜6ý‚Ý€ªÖ §±™„CµŒ(œNxöà¾qW«lµcÈ@SäDzƒ¶¦¢€Ò;T _›•Ä×áËb—y%éµbrÁ(>e[Z”Àÿ 5}j/GAùÒ@¿9À@ ½ ‚tÒþfù}—ýÿØûŸß¸®<Ë¥Cåk†J4C“d¥.eFº Z6[ *†J–£ÍD(I3Jf74åsë»Ï‰2‚¤dgu5 ï9q~î³Ï>‡ŒXë»öwï­c¡ðƒ·à¥@ÿNK -Uà¥ÐV>š<ùÚ_lU>úè£umO s}”€yë䯗.]…Ћ¡kNZX¾¸D]¸î€Ø„„ü2Ôþpúݹàòµ+1=Wvµ>´•%È– -À±ãmù«`ÍÞ -€ð5cG È¡ø6¥¦ÿ­ïrØS¾of‡F…Ž€g§< -ïL’r·Éˆi”¬Ô¯GÀ.°pÈw ns2ÀV‡æž½€\ö¢2Q"íÂecpa$ÓUl8{í UÊ…­0€déž}ÌWYŠˆL<›N‰–*½¦—Ê¥£è»n£ñ©Vr¹ÌØÀJDÚúÔxK¨RþsWXHižN5~!*od±Q£hÍéæZz®±‘ZiÙqš<LdÊ ¤ å5i ð&æòÓúEüoðÖ -€Ñ—Íl,€6¾³ÄÈŠ©CpQ mR¸Æ·êc:£$dF]„Skáë"£Äj -C;Û UÃtUd ãµV‹6+ÓzÔg¤PúÛ÷ 5ÐÃz+—“þ‡ïO‡À4èiî.3øE^À`Ø›£'cüŸ¥S'_Ëbâ¦@}P€Ž:€ü™Y¦ß>]ÁÉWVWà2½$@ Jà™~LBçÿËkxýW´ÒD쀞+»Úà·Ý2 :†ð·O<^(ücñOe @)€r»óÆlÌeË„ÂÚ"ëà€zÔ èŽŽ1ÈñÍÁiAj’êøÑ—÷{Ü@« ÆtL^€7ËPYÿWn0*þ1¤Ì" Ê ì1n™ÊÇ.”€›%ÀØÑþ3ü—þ±,tº€ß}ååzšO迲º²¾ºR+ëÇQ€VÖ××ÿDÑÑ~?aª_ŽN=¼¶b°˜3‚`Fô}ðà‰Ph:ßAÎøPTÐü† á‹7èzP€»žò£ - ¼?ÑíDðò:ÞÀz„J¥cTè{f)”VÜ@k*h‹@,àõõÕ…Ú,ÒÑ 6cÎV¿s+Þè@ÔØÒkæú?µà·m‚K†øk -vsósA­Û7ßm4[‹‹FÜEw»ŸŸL¾?{BÎ÷›ïþêfsí†À¸Z&ÐÚ? °U™k)Z轉¾®Ã‘f~¶VÛ¬Tóó8òºOä7Qñï*€–½i€ãØð2 wQN7U:þµ“.ˆÖyžŽr°ž3þÏÞ[ÃïÑ @±\É -“ -Òxu‚ºÜ¹¹¶øÁd¤Ñ|÷ÓVS/Ê‚¾^ˆk>ln*°ã$L±“úîH·):'ô ÆTb瀰¯`Å=®ÜuO€– Œþa‘™u*dª«l.Hܵ{¹ÍÒ•î P[Ù*)*saà -w˜lrïË %$ pV‹i÷Q€##ÃE×”Àº îíþËvPˆðµ{4ø?`/›áø©}7}séÒe?–n°UXZú°øcdÚË.r‹r€C—ûºÇq +´F´1°àÿŠð^Žÿ/YÉégPî¹õµànûdŒÎ¥wúQ*^þ§t°“Øëmc;k`PõzÌûÊL7ÐS u>¨ 6€ûîX>’r\öòK(qQÒ’¥+q®¨ÊšËdn4ž€j€¸+Ì$%öm 0v³-  Cèd„µýñ»o¿y@Àz^Ö «^ÛõÕÖB}úàÀüOWš« ˃ç,0EMw”Ýí; 0p+‡\Ðl÷<ßh6Wí%ðÝl -¯µæÚZó„…­E€#Õ)á­üa~3âýjï •e«uccþÝz«I“>ú››n¶V+ÂÖw熰Ñ×[7é’h­yãÆ&]ü•Îkֿ̯tù§ ÍÿBÍÖ§*ˆ -£Ef–áÝuns¡2R(•넺ñd½#à¶w 1r¿ ^P ¤Ò÷ø‰ëåužJ~pþî· X ã½£Òߨ ÕÜz'Ÿ}rÓ€;bh -¡†}¢ -ˆûc¦RV¡|•9AT‘úp^¾é-: TžwÜ-Pke•!…© ð -lnÞ½ÿ»¯¿@+™h ²äþ?5+•ƺ¦7J§O3,{m¶þîi÷§û¿ûïé©ßæ>ûù!{ãÒéÓoðÓ}Zו´óc§8=Q¢×–±‘±áá±±×Ç2Ó•ºúô§ÇÞ{C¿1¡KßÐ!•„<´ûñé±Ò£ §)ȼ{ݧàÊkÝá" -]¢DJ¬+ÙÉ -öîé¿R9I˜ -±í#C¯éŽ~2•H©U@å5æü¥`vvþ4ýSÓ?þ÷5ç­Œã¼ñ†2#­>;™ÀÌÖ¡>°Òˆš€56 °ì€ÐÞ`Ë /|MÄÀq÷Âr€8ŽÈ„»á`;ç”+º^»(:¨ôN‘`[y@"]¾êmd¨«“àÉ·‰L´¤\…C*õ›UÒBa„f˜hútÿk÷_ÿtÑu´cKe¹ýYèŸÜÿ7Xü€Áí¶'À?Ìûaø[͸Ýe!\n+§&'Íä÷ŸºpñÒ•—ÆG_Ód #©`iéÄ÷ÛŒÁ~zLË'£ƒ_+ÝLôÂàãL 5¢5€\PÿÆ^eÍÖUfŽ xe9¡Üsëk}@ÒÓ3@˜xT¾7~´Tÿ0Fý ¶©+¯ÚF ¾6gGÁýÔY°›k àÇ̸ýฉˆÒq<ø…2§\:i³´ÏšÞ"´€SPu )Y0l@é0#`Oyì©@Ÿ„Ha  + -Ð1tÐE’ÿ/T¤»œêHa¢2»0/hÜxê`ªž -YC°âÁÔâ ðëayæDø°CÍG©ç’‡wtîŽ+é…ôºT`­T·-ú£$¾½Ýü+ïûÊöhª~äqO§óls@3×’% rJ~G¡â0Ä\_õØA J”F1 Kð/øöݯ¾îŽHèu…`ÁžÖÒ‹ï°ÖæææÚÍ/åýÏŸžoÐÓ~£¹Þ²¿»ÖÜœW«ÍVë^³V·=_ë^©/¬|*Wø<Ãýép½\ž*MÔ«u:p•Õõ›þÞzHêóó§ktÝ»y`±Õú’~{ìܯ7‰<$QëËÍÖÚÚæf³Õü÷ïÎ7>m®«0ºÌ>vë§³öÆ[wê³ÍO›+M“•ú:×ê¼>ä¡.ñÝÕLœÖÔ 4® 8W¯W^WéÎÖ‰ôŸ©+ù] -¢kÎ7ZŸS¤ :^¼ùåÍf«QA -Q†+tCìQˆ[ÍÚBKd­ÕÚœ¯ÏÓccvvö§}>³uúî˼e£Ž»Liå‰ÃZÅžÓhÍFA˜¸m$v^)G¡°ÇH À×rÊwÔ®sDÈКsQŒ,)âVi±Õâ K3OiÅsY8hG¿¯éQ@öC~–þ ` -äÿ2Uývým%: öðR¢Œá¸Ý}»M$ ­dA€ÿgQ>¡£~9ßÑ€!5íöBȪý鈎>ê'ÐJ±—}tÊ9]û¥Ø„Hàäèk¯™@Nüg U‡À¨‚ËW®:À.¿ ô§@‹_>'»ÚÀÑž–üi®þsŽ\ < òó£ÿ+àXþ>‡°¿)aÀ?ˆ -®ÊýNÃ%C8n¨?ñvÔ0æËg7ûÖEÚ2+ > __HÏÉèH†2é © €+þuà†´;²¡€Ñð@åó­(‚ÊcG ç¿‹ÿa`Wüãy0€ßÞÝè ˆäþþõÆ4£„Í2ðú:‚ÊW¦   çß àmü§…¼áÀáÖ!9ô°.»ds¹ôøæw¾r^:í¬êþƒ;xýäï‹´mTGC€Lð!Û‡Ü)ùüÎ\‹$ à”/¸£ÂXÁ =ÉÆêõë« U‘DÈ ðÇÖ7ÿá«Ô ”)Á?øß¥xôýŸš¤ßa‹ ÿ—_þÓoÿþ÷ó5hs±Ñl‰4×Ç¿ÙlÖ~Û\kÌ‚ÑóÑy/€¼ÂþùæÚ ‘¥Ÿ›©N™i”êj-ó0פuáÚùÅÅEq›w\»{“¨‚µÅ5zØ[l0š°öM4ŸÏ -òO*ÈÝzí¶ -r^ù²ÙZT9Ön~ÝhüCsÿ4UìëºhRª+[º²¥‚,:—ÍMBö 0³hQ ðùÜÜÜ¢ ¼4T][Tqg¦ªTîS: -ÂSGAçÏSùÿÛ¿ÿ§úòË»ïÖy#çÏ7[›5ݦuãÆ?Ì7¾\4Wàæã'ôù¬ÀÃwלÔGØ,< ‚©ñ‰ÉAh%H[Fsá®3éêÃ÷&€Á€”Èørß„¬µ™û(¤ÐÌ›íÅãVš³–62éˆ8D®ƒC/ ¶-‡öird¿ÝCã×»gLˆþ}Œ@C€hùï:"Ä*⓽ìbÛñoO¹Ž?zfÏð·€½Ì -ÀI·¸¸ìv{Âh7 h‡D £$ÀßjNÙÖNžúèrR`K'_; -€û×ýiHA2€½íjZ/?'»Úmä¶Íò§mxçŽÀÿ~ò]ˆ¡ô¢¿@ˆ$Wƒq'ª*»—‰ˆ=/Cã— ÌçUŽƒuÚþGd€ã•¡³O1`~X’"¥ ÔwEðmŽ¥€v€ÌqfŠÀ¯›» 0úØúôb˜á+S¾{ôí×b@àÌ„¡¶;·nÝÞX©•†'ªÊ3 ¯\dw÷ñƒ«ÜÆ'üOº‘_›rð»Jb‘¦í]D Rq V@ë7Ò•J# —ŽqPPeÏÅœÑD§Cd þ§Š |”nDuæ<)̓;ÜÀ ¸€žåþ» -€ƒbˆàÕÕÆ -U:å~“@XôlÀo,€_%f`ôÇxóZ>½é¥—Öžˆb[ûÍonþÝßÿÓo›ýiν_?'\l?oÞ¬Oß\lÐ“ÕØø¸Øåi5W¯N)–ë#òÿù)÷/ó{øØt,07w~eìßÏ*k×õ µ.#¨nîã -€ÔÄ"ª ÿ÷ÿts¾¦Ôï£Pazsñ«úüWk*] Ú\¢÷x¢9gêæÿ´Olž†$ÌÊñ×4³(—Ÿ2*q³úúDu®:ó“©©™™:-‰j5ÐåJ ëíÀoDåøûß~Yîè(Ý¢f -óÝÅÖç3n/`sAúˆh06X‚Ü6}û  ¨ TÍ ºrÊ»à3®3yàÅkê bÌ tÌ×{#sÖ5÷Q¸˜{8•?½-Î’S[H‡"Ÿ<ÿ_{XDt.ÃÚ'ÿßÝ óÝþ.7þÓL¦€¶‰"1ðƒw ¶M»*Éa{Và³kòϾQ`aþ"1ãIÐÚ -@0†ìmí¾Š»§¥“'/|tYž< -U(¤‘C4 `gÿiúÏË¿H›1«<#$$”{n}màeùûs6ÊÊB°£lôäë ÿ!W€ûû_z™ÿªðn`4ð\¥Í/öô¬åŸ'"0¤ë@l÷ “ έ­˜(;ÂÑOL2@À?‡]kAׂ¾PWqCR®¢ !@”Ib<÷k[Ü=– 0úš±?¦ “dÀTHy Àÿñ߉üãwV~×:û½u}¥:121]›G'`|?4ºë7Ø‚ØFaÐXH.j ž‰4”ƒz;è0ƒÀ„Û·u)qœ.üoq Ž?‡Å+HN‚Û-‘ó-Èœ´"‘û'R.p­ãÞ*Я璻ϖÀõëë4wp÷F·…A -mòýƒl@}ûm§Ð_ø ~ëùàiìÜVè-.þG€/ÿéËÚ»þ«Ôëç€vÛf½Òl:¢OP{ξ½ñŸ†€Ú2ìjËQuÕá>#»@ÇèK”½[›­Òé<`ñ? -CérÐg¸œÌt†¾…¼7ów¿û§› ¬rœÓqBï±V½z}C‹È BC;äÊ¡¹Äº¸FσÕê¬ -¢#$œ›»YªUÎWËÕ©©*C¨ç» b:B)õFþñ·­Óóºmÿy+­Ú|ógUÆ"v¶µœ’ô0ºÎ3T³Ìa¥¾}6ˆÊŒ¥±®>[bsÿ[6°Ïýæœ& ï 0.aŽœ} —ð‹:â{bi•¯»,]ÙÑ î Œ\ -¡ Z8[×ô -ƒ[—¯hr@áŠì¯˜TÊZ¢îGàÄÈH1F–ÁÊ¡l7Ãý–)SÜ0¿Øþ•ŽžfÜî²KY €°›èh=¹åtØ¡€ÿy @_ ó»&9ùŒH*û2q€«y#HDÆE:PT:8@Þ—@¬(‹íâåKŸ€]m€ð8aæ–9ùÓ£G‘úq”q¦3ðòÐþÀúýøîüc½ttHðiÝ`ltÒ{¥ 10 aç\e0€\ôÊàx®Ð's÷ "ø€’[¾I-`|A0]¦ÓæäHŸ„ܲ§Q\,’ëit'Æ+ÖDÕþ¾f‚V××7®¯_wÀÛJc½ÕüÕú¯Ö?·À`€] -@j`@ï6½äôîŸÁ2µMèwþ?üææ¯×þþKf£þ~c¿L ®YÀ£îõ:}ûRz5÷9ø_¯ÏT§Êå3å‘Jø×Çø_Ÿk§ÅViåÝz“†~s,®-~ÀÞ:7òõLdí7¿ö›¿[kÖf?e¼ÍyAkµÍºñŸn]¤¸Ò, ¨†÷ud¾Äø‚”Âá¸D½U?ý^©zŽ£SS³£,2·WÄ´«‚üÝÚo¾\kžÖqË$í‚4¦çgÍ?ò+úŽw‚jã¤ÑÈ”µ!:ÇWoÓlÙ´m@'9ÿ"ûÞ±'ï±è€*€¸9y­»Æ”c>Çt.ŠŠû¾(ÝÍë-–RPÈ4åËVää Qà!û¨éïgŒéƒ@ `‰Ø~p]kMQ F #ŠPgu=­¯ðñä‰ÀÎø§'ÀÉîyéãLøÄ -@ÖÀø¨€«—&Ç_û‹Œ€º€Tða߀‹—/^þù¶I/Œ;WŠ~ù£IjÆ?ºt úqò$Ðï@­ßŒ~” `ÿbñèÝ–Pî¹õµ9ü9ìçsW ÀÜimà(9ÒüO¥:®„¬ZHÞ¾kß­+䇶*òÓcØ?ã?·=ºßáVåU¥‹`èHvm%l‘+U|‡;ì'¸@7Ò‹¡t0Sw œð? ß?áÿ^c¼h›á?‚ÿS@p÷Ë^€˜¿[ µ’¼ÈŸ -%å 9QtbC€jä&á­ †æ‡âÕ`´|l€oÛ»(ú¸òý–°Xg¡œPVhqðŠÛÊÓ¸.¶ ¾€H¯C¸öÆx²G·¿¥M}Èœ¹!b¾V> }åã³ìQÍgƒÌÉí–ðŸV×Wé -xv65Ûý)qek͵õ4à·ðPí€ ñbS@zóÏb šÚ&t[l®ýýo~½&0à 0»í?Ö¬•’»M¯·öÉ…{¾À>ünðP®ŽUò®ÿR[`éââÝÒææ»Í5] ÖŠÈëÖÌ­¹<¡è9”ˆ_ÿÝoÖ~Ýú’xÃÀݼ Úé[YAÎÕ«ºZ×e/_<ßT¶õÓz®þdö'\c¤ÿ`mìn£Düß”&ªd‚´±ÜJ„˜ÈÚÍÿج4> y_ Ú©Tÿ- ÐAò\ˆ)[íœeÝSt×#€ÓAQ+0Ÿ…÷â‚Øòñl¥'™×†[h…ç­â6NG2òcÿrYž ŒÖ‰‘¦½ìc¾Ê=FÉâ§ô5»€KÚŸ ¿N=úòWž.O þ3PÀ?“(ÂÈ0} 3@q¤D Ýn·Ç /€¾  óH@K&Qö;€è ðäøIÇ\½ta о—]\Öôñ–I®º@>€\ÓxW?P h8>¾1NN-€¶(A/K(÷ÜúÚ®ï¶9yÞÄÐ_Á¾ûÐÚ„Æ‚ÿ—ð¥á®}ÍVM8ß(:.¿@PÞfm$üýqG°÷Hþø˜ÀQw4èÑpòÁÿÜLè ÐùÁLà Ü&ðýe3!Œ2€èXFIÙ†~Ä*F_ËÀŸ‰9³@ªœ àÏ2À·_ÆÎ Æ„—·EŠÃåêl}eU@‡n]g4@m1ãSƒìq’ ²Z¼rö É€1 -ä%Ó;T¸»¾Þøäã•“\iu^9¦O~ÊÙF 0%Ì@'Í>t”¤Ü‰¬uç£βÂ(Â*€'¥ÐIßX)àFÿZuz¢21a·GÓ¯ZÍÖ:­å!îàÿ,üß™ÄKOЧ1C\§ÉŸîÞüÍoDækŒv‹}þ¹¯)pZî6þ¶À\•Àº*åâƒãuÆÚ¨VŠåFU¿æÿ3ÕúÏØó&µf‹u`qí|èîαM`"k¿¾ùëµß¬Ý­Í6Il&’Êј¸1cÇßL„+ž0SŸ!C2‰ú€ù‰OÏ'౉”êÜœ¸ÊõÀ CV§¦(ƒÍYa¡|ù›µ› ¬'¶R¡"˜Îú¢¸óvèf -€½æä)c|ý8Ðê…Ó°¸¯m'ÒqÁ)h+¼Íå@2–1€€oÂäûqž\4›ø¾>“)$ðyß‹…7¶™B5@zrxQ‡( %ÀÚ1®‰àñ<ö_+ PÖÿ¿ƒûåØÿe¥RùË@Wÿ;¶jÜ ‚¶X þÓ=Qž+´àgÚË>À˜¯©-d -|ö/Y€st\ìâäknø8 Y àŽ -ÀÅK?ïž–Å–Æ ø»JC>…å%eï>‰±—"püMQ€pÿËÂÿ„õ=-¡Üsëk½›Úõ–Ù©G@€v†0$€—i råygÛ`ª!õè±—- Ã>ÆG€® ÀAvãµs4`Ý5eîí&@²~(„DðEõ•ÇŽé -åȨ£pÚ\¾€¨Ôɨ `.º¯H€±“‚Š2 ˜Ê$(@¦x4ÀßoQ¨Ç®ÓñÏBµTœ˜­¯®__¿¾±n°Ž ,N¯Ç ¶²tœH/ä ÈFbƒ´1ø–°Z—(?W¿é: “W´àYíK‰Ø3˜;S²Ü¸~]iTŒ”Äå x'¹+õuv7nµœƒŠÅ>7”‘›(V"ë«Y!ä›úÿJàA - )¥÷šµx6ðÇ8µMèf`míËóõwõ§yŸÞõÛ -À, -€•ñ²–ØsN -ÀT`ñ¯ÿq  ¥]!~£i s¼Ûài€‚üæ -ÀûIXKiÔNo¤‚ˆZÓ\bÿôIDAT$ 1€¤¤¼º€ÙÙª‡Äþz-SÐÎÎÁ ò‚˜:جüZ¹ù¹€s®ÈXü<+H¥¢¿a$Ô%?ƒÔç~¶ÍöýY8Þ1iÃøX ¢ÚzÓ€¬À;ÞôF’ìÓ–œm¨™°fÎÆ@^H R³E~ºŽ.K'lkß÷IérëØÌìt{ -B–1E4!År‰ÜÈ/Ð)þêZzeü·ª/ÿ?—ö«Ó‚rú* þ•¤¤”²aÁ¿.k(EwÛMp߉ýž’p"†6ä»7@~ùØÙf!ûgà϶c®¸èºwëã'Ë"á¢ÇÀy @¦ øá¶ÉqYñ:>4cXzSà -@;Êð#‚ Np広»"T (ƒ›!~&ü§€p¿,¡Üsëk»td€ºqÀ]ÿ>ÐIÁf’",O¥A`KÉ„¾†ÐŒ¼üòÐÑcÐažƒØcçzŠJ›n-"Á™ñ‰»9smf@T(åÛ©ë‚  œÈˆïWðOU…Å Êàœ‡~àýóÙK @¢À¿)€Ñ)ªÿÁò~î¸âVR̹5VjÓe:YY]ßX§<øï! Ý𘠪S °ñUx+ô¨uD—ÕBdØûÞñ9c6vý6ƒ p$B§¼'Þ¼I¥rÐÕb ôÜgø÷ –⺅ˆÒ×YR ë·[ºoœÕ!òPA8O‰nS °²P§áÌQµú¹ýÿ_¹ -à÷D“"0ÀF`œ‹w€§0C\§áïæ -@u‘ªwÙçîv)Z]”Û€wº/¨+·ùnéæf­¹–+ÊbW%ˆÜBø;€µ/kµ¦@wNeɘH³1[¹Yí­Ôgêmàg[€+X£•€3(UÃ\ŒJ¶K8çPºÿ% P©L§J_Dh£KÒ=Í ¼p¼N@ 'ôO¸ œ§mHõ~¬âÉX‚«ZËùÎY*¶¨ˆgM&ßOŸ”KTšô:Å ‘owâ“-»-ΪÐ/б6ÓÄœaI·üø Fðr¢\œx ü/’º­Ñ tA¢Ì]“04P¿cÊ<¶¨€ü÷dÐa—¬ü2/µï¸ß££ Ƴü!QzU&Dÿûj1‘­“ €ŠÇœ}(î¥Ëôö¿tYðç³D ªÀ5´†“ºýd¦¸Ã€Ohø‹Ž¿>–Pî¹õµ¾ƒáœÛëæ -"º;i× 1¸5 ¨ X›ÈûrË•¦`“ë/ôÙõ -¹ë1äEØ¡ïš+/èV,ðh€Q‘Ûk@]9Šs6³ˆÂä -€NòO-ÀK™à1 þ³f'Æøxb£€€¨0þ‹üá‘웯þ±«]¥Øjîtº:»°J œ{˧›ÜÕõ&Ýå G™76ÖY7½£×! -BYÀw,'!æô××[:Ài%²–TBL:0›`C§$8# :‡”ÖK`^y€ç:À…:¶±~ËøïÔ¾® gp‘t—æ*G›©€«×[:‚L  ôP zÜz}>‚ìÿ¯[øêëo:: Ào2o¸sZìÕã:,S~½öåbýÝU½»yÀàpG @ e—PîT^œìÅÅt @+ ær¡¬­ýݯ·(v¼QÞ{)\ê‚Ø…Oÿv)3màƒ¿¾žÇœí_o ‹Ð І"  •ŠãIè"@жMò‚ñº=imœÔGÈ)0$stÉ p™mŸæ3€^œÑ /·NÊFÄÜ)cÅd@ûi'WòE˜6¹‰&¯âÓÓ”†ìE=4Q - -©ëÉd[ @OŽw—ШŸÝ1 L@[ø °Këþ»¥[Äqù›k‹ -Àö€ÿø››(Ä ¸."JҪ߈àÿ>1d¡:„ði—"þ3€v)º\ôÄň7Ò¡¼­À~·HDˆVI68gÄïžÀ@om ¢Ð2íê@à®`2Vž‚ñ´=Y'`GhA×+‘2 ·û­T¹ ¾ ô‡:8–™ ÙÁˆXJ‹l½Ý8Hè­˜\$l{ €“G­·% ¯;`ïï¾ÜxŠ@Šÿÿ_x± r³¤ÿ áB€Ã/횬,/H¿q6pß v·Xªþ¿€ DþøòÇËâ¿ì !œ’c~á’úMÿRÚïP²f€ û3¿¿m?¿xÑsç¤y ¹¿­ˆŒ¾&®á‘Pùø?õÑ¥«Ÿ]»ª¢íŠÿÏ À®Ö‡t(èéÇÒ €è&/» ¯Û’&Ì@(Wé €ˆ -ø£®†O8K €9݈í;&€¾‡S·¿2l²¤úúIqѰ¯‹“¾RÔ"ð]·Í€Ð÷@l†RÒ£:I±(Žû’;X`Pš0kÔÆøÿµñŸÑ¿õp€®ó€ž2T¿‘‰iw,ßytlÌ¯Š @V¢S2'X]mB}DðÛPbCÀp»>³Ò\MX_o²Ð Öøæ¾Ê—ëq6Ak]Ƭ…°|eEHNšDtDwò®Š“ #ýs=eˆÒR,ßAÙ,¨œ B—@ —…í3³ð¹(€[<ú6ðŸ÷–€m -€Þ8³_½7ölq–)k´x·Ùx?b²ïN@pçV}€3Õ‘í1ýÁy+Ó -ÀyVä -@2+®خȬœÝA0ÀúÅ|ÐŽ @"YAòGÒž[ˆü‡¤ÐüYAPÀ%ôEÛ}±ä1t“,ð™ÿ•$#Ûèê]v콇麶åEf ='ÍòÒûš€OžQt˜œ9ÁEX»@vC[×N2£Ð„4ÄM4‘¹¨P.QÞ@ÜVÉ -ú†3OC€‘þ剈ýO†À ÅšŠt\(þa„ŠaºÑà– ‡?óü³)ÀähüÄá¬m -ГdU“â—–?‰ ‡¤È!JøSt|jé?-¼4þZ/ @†ÿ=l+ø§‰f€Û€hði2K.ÃG'^¥àeßvK(÷ÜúZ?ÀñtÉÕ>zLé¥LpÀ~á¬X<àÕ¤uÀÑc©•?ðSÃîE:ÒV´Zh7ÔZG­ÀEpÉ -¨Ó7è`28ʸûÐ9¤ƒà„¼ wЮ-Rë Tø¤P 0$A©t{`o -€ÇØÏ”0…Z[€ï¾¥€®*€ôÕ÷ð¬¥JuVPiþÊMžŸ_Xh¬¬xä| XËpHÖhл>ƒ ¯Ú¥z›ë+ ä N¾"¬ DVJ8itF7ò±X"s˜MYsa¥™.¬Ìs+m5ÍÀsQÝ_; Ž4•†›‘«ŠÃVQ Ê7«fÝ´1bÖ›«ó ó €ø?ƒÆPè¨È@D¦—ló{¿ÂÓ˜!®Ó€ä¶pÞ=ð€»Y@g À¹ÚN -À™òXG ÀLRþ ;@Ž4л¸é@+€z¥µM€èÈL=rJûÛchŽ ëjð“8&sA¶(¿îP‘µ%Š„çê³) =Éý7`fŽ÷‹v¼…š ýL™AT+>š8ï=Ã+é#{IèŽp†0‚C`€レ9ûò¼€„Ëá°ã§§‚Ø8×Û8%Ò…N·ÑÅs© º$T±|f\ùíV‘›ÿ -þeøþ™ -X¨[±íz~w\ËZÎvL?¯ í{˜ôãÿ -@|VP€žö¸Ë|YÞ½0øcÁº˜„;øìŠ @tÃC Zî¤lóýmöÿ»>±œÄÛ@?Ý -€Š-Èg°ƒ%”{n}­_ €q°yÀ˜™Ð±?Wà”Z¡Ð©®abmÀx/|Ò1CqÂøPâ&QÖg -€`½KpÀGéìo+þ»w[¤Ë€—HîR¸’ÿåv€9pÿ'JíeŒþ–ð_Ë R€-Ç¢-|óu")Ð]yÈôgtpÁ8ξ±wÞq³õÙyA°€u¾ÁŒ]˜oPw>?»òSké &ó+ó\¬Ð™6t-‰•ÊDB®÷ÊB]É@hÎ7” 1Ož:F>¾èR`‹[8Sîî…’^(>?™ÄåJ8¯»yC—êì|¡Îô bÔ\߸®'kø2$ [ËÍdŒÄ`€&†ÿ @¯Ù {ïÙài, «Ã2 bš÷S ¸ ônm€ÃÛ[xg‹p–k>hœo·ÀOo43i<¡ˆ€¿ÿõ¯ÓºÛ»Àf½fo¾­D‰dÊ©£¿_ À -Àù:ÇCøÀ{lU°¶ -1‹}€­ø/øû„ˆ‡¢@@ÚØlœÔǸk ¤úÄ䀨´àC#Àm|ï€xÇx“Â@á²µàk}<åÇÁ}Ãwwž“e ¦l»—q\%P.š¼Ð*žH™hÉœÆà|¤Q^ƒ[¦¡ ¨¯$èЗJ–öµSÒá ÷õ¨/ßAüììül}G@ßÙùŸn›æçñÔ{[RR€~ðPÒÎV3øƒý1±)Щœº0‰ÿM+€M^{í$ -xÝ@SÀ¾þ?  ûeÞøù…ÑqªÔ÷|Ò£þÐÞ`|<º"΀Ë(šž+ßßú(x¬¦‚ÚLÿ—{ßVè‹Oàïü—Û -€vº0ßCe -KW€¶&G£ÚÀ‡â¾&1B‰Èœn -À3€£žD<‚*`° ñ‘ ÚÒZ7ˆ»êÚ¨0ùû5ð­d&¾‹;Y ¿7À%Y¨•Ktøí×QÀ/»-῾H@ ¬"^—Ÿ>?+GW ú.‚áyýÌ/ÔåRk³^uä`][ ZÌ -QIñSÎÍÏ -‚!8Ú 0Xìi…m(¡RêG†4\£îîk|œvÓOî¨Ç,[N¾ÀïŽÎ.Ô)ÁBC?PñKEAœg•£îR­Ff³ M‡ @8½à:›ýÙY @ô kÇ&`«ð,ruþîö€6Ø{ ÀÔ––) +ým -@Ê/ªnnöŠ˜=½]H¨ÝnàE¿€ŽVg§º€=ÄPŽZÄ”¼}„¼î@€ø"{2°)Iz#eLæ´¯æ›É’Œ¸Nxú" eb'ì")˜Ù‚.ÏÍ{í€}/ê8îÔdeÍnÕÇ"VèÙŽ'çÚ ÿ¾SØ7ðŠŽt|ö‰ 'ü·“O·¿Ñ)ÐD¥¿Rƒb¯®ê‹Ç -Y­‰¨/ÏF|]¶Zrù·Øòò•åÿt"Êo 6{€Oçù1y΀ ÆÞSãrúO]t7h;(½T,¼Åü_¾š+/œRÞ:véÚ†ðí/Doĺåå+Ÿy4à_ô»ËGŸŠ)ÁÜsëg½pPjPZæH©ÿ”—_vU>¨«sô 0_Aÿ¨°ÛnãðªƒšÓ ãcË&Àšõùt¤!UµŒŸªÿÃ"K™qB8ª²¤j}Ç!ŽÉùŸ×ód•)‰·ìUˆ)?«ÿYø -À½»¹ÑŽ08Ê„öåéZÕ_z*à…­³Œþé†ÂÕª~•'=˯BþééÚ¬®aSëÅ댾ª³eÑBÌþl­Êe‚cRë3íƒJ2«l•i‘ ªìc$ÐY9…Ë:ã{èŒü”تù.³5^“øÆ oZc “ô ³<™~Åš+‘µž4³„ÿ¹ð7HøßUÀköâ±ß ×6¡[ð[¤€¬ - G À¹=ÅÌÈóܧV1À¿¶¸OÀ¶-oðëµ>­6k[[d Àñ.a߀v+NqÌ{[*‹€í1*D»DD ¹cþ þ_äö 怴ï Ó•J‚GR}b ú¸·µám­êH– [äñ@k;däå2–lDölE €Ž¤¦6n—¥aö§§‘æàu\@I(Œ"Sò'×Yš. âùk¥Ï+ƒ…ÂAúö‹†å‰é‰¢<ÿ‰]ü?RžZ8jàÖ×7nk¦¡ ­i{Yxû½,«H°¯_Ù€„úÂò`²n b¬ˆÐ À¨%l+vRú˜Gø ³ËË—/NŽç -€ÎÑ Þ¿ŠA5ć— X@ÛnãØ©7Ç•¥¦sÏ­Ÿ 8Â~ËüøRïƒòŸÄŠðßU8ÿŒÈsø‡D)E§ hêâÿd±@kËØ"Ìp–„E÷áøà$bËœ‚¼ÈN["tJçcr2.ˆÊn§Ä!&äTq&¾³7J”®mþE¡Â³Ì‡® < k˜Ð”ºªVþg -1€y@R2øoã?ïý-P.·\øM´Èúëd=cÚîrw?Å®€. Ý@sm‘U[0rk¥”QЯ'Àí -@”H¦œÒÖ`[ À ¿Ê¶}ò×Á@¬øŒwF»4säà ¬sÚ‹n ÜÓYA«@øà+ úê}T‘ëz#½AÒפ É5ÖÙ)ï+±®I'ˆÐ22}ù„ðõ‘0@8rxAEÍ'ën}zÙh1zøŸ¢€ -UíV¡ÈkÎc€}€Ô€ws` k°%€Vß7à¯Áå@T¼Wp‰Ñô|¸\ÔqDhîgé:p.Ìž9àÇl¼Ë22ö9b^¤æžkñ½Óåxá¾éò… ‘‰Yûv«Ùp4A(®ÚK1ÊZ‡Hå{…Y´¥8‚eé•&ݪÅI -Í…ÚNØòñ£, Yû½™Ä´oˆï²¿uþúëêQùÚðU/LÌÒù×êz‹Y€Û×éóöÆ=€÷²Ìçïž‚lWú´| Àè -•Ë5!í–:‚ÐU¯@º[ø(¹äOÿ€F'ß=éaÿ–—„ê„ÿèx“[&ðáŽT -¾ÌþRN>Wv·ž1@..õ@ÿ:Ú¡À -€0˜ -ýW¹Î=W,ä ->÷GÈ9@¦J+_@;'€îq<~åã#³ee®þ±ý(I¸ÿ2÷ ® plˆîˆ ˜$cgá›ZP!:£ö3Z¦òø ¶G@¨%@²%”J@·@ À#€Ífså|cEŸfò— ¶ò£+*ØkµŠœfJ#…!ýì¸#0Ì£‰ ïé*„~Â!ô -¥«¶2È ì+1 ¶>®DÙ(ã°døÕ8Ezƒ<Aû‰ÒŸ+ƒpêe¸÷‰”œóóY~É(•õÐ /ªÄ³³þO— ¨ŠL ”ËQs0=ðß -ÀƒoºÇÀûŒ›^³_û³ÁÇ;)»÷Ð' Ø- Ëég=cðõ“sˆ§mÈ–í²niÉQ`6Îd ÃjåÜâºHvAy᮳ðž^—ê¸×§ÄNåt^F†2®½9!€@E<™­:ë±PB&à -<;]D %"A£íû— ÏáJ*àª+Ç ]Þ¾±Š‘3€ü`zFDÝ%Ì .v³@!¡&€ -  - gÄæ -Àæ -ÀùóçW„‹ÉÜðG®#ƒÌ: P ).0"/ýÅý0„ÀÊðªß -€Ëaý–ØïOÒ;?+&Úcü×ÀPî~l'@” §Ê}¾v“qd' +ou)A0Nèƒ\¬ßîá¢c~å§"5ôtX­ÍÏÏãLË[‚€L1à¿@Þ 7ª^®_3ö=8@àdfVäx‡ð½bÞ¡ -`k €€Ô€²Ø9 ªZÿÐ{,€~ -@Ö f¨ÉöQòõ…Ž€—PI&ô4Nz'ë4îf¹–æ÷ à@exL±H;€ª÷ÒXT‰s¹Î¤Ëe>ïtùõQ(ßÎ%õb òЬ­p¼ÉPGÄ3öt€€ÈJŸHÍ”÷%¡ÝeP -R1zX$PnÁA\ˆ8IÏ•ÇD¥`wÉóÝ7à®ýùûë…Æ÷׿ÂD9„ÿ«ëî¶sãúád¨Ž>†§¾}2_n~·þƒô2_%Ð÷`<xr¸´üK€OR€c›éÒµK§þbôäItR ÿý€tZ–d¦ ÃgïR>þp2‹/@0þ§J€7s°¼´äH?† ÄÝ'³Èï¹°WëÛ -4¥|-ïàû€Rá§àø?pÀð©C&iÚÞç -€ÀWi™£p ?X>ûÑ£é˜Ïe1é -@ª° m‚·*t|<¤ ñ„qÇdF)„ÿ"@b"É䬇vº=+ÖÚfü× f™PøÀh(7PVVÄšã{ý:ñ=«óÕâ0!sÓÓ0€yïåV8p(€Vr¼8ÀvÀðͪ¬™¡¼ÅR‰J(ÞÄpÿ™G:r`•¸„ðŸÐróSWì¨øA+¼Jë€Ùú,ÁÓzªŸºG€õ[·òŸ´Vkƒù ‚¿ú&ë¨+ j ™þ?›ns  ‹Øu,€cºÇ°õ¸·€Ô -`[?*KÏ.uA:e»%¤ôdÿxà)Û@ÑâŒÌØ޹aÌ„v:°Žcò©}<&Y$ó³`Zþ²ïªý@çÔ -(MŸìR糧rTÛq+Ï7ÎÄRé´æ_7®Ó 9ò:C¥ç;ä2°CÑ’Q†HâÕ¦4dÝ©pÄ/£3 åSz&Ê•˘2_(wý+z¡P®Î»›Îu}K6Ö¯·Ü…¶m³ŸVo·+(¾A~®ôàу0 úLd ;Àµ ±øâ)ǾvòÔGw€\h[:•Y:š<ÐÚ°±ÝœŽ_c4à«Y À© @Ú -€ýÿ›^Ùÿ๰WëGÂ?–ðѦ¡&2@$@X âó€?&2Ð5À±—Ý´f”×]`DŠ[d -@0ý^n\ö>y²s/»þiaÖ€ì¯#ûÍAN÷X@&š]”þ¡½Anà,Ü*Šõ -@š2§,Zc X€Lxp× -À§(«{ÉÞÿÖêôÈ›¾‰‰r¸þj0T8€•áµK —ä¾ã¦~ ôÑìµûàw@¶>Büì—‡_e’):R: ¶CÒE:0aàßM`­ã¯’û@v´@(—åßè'íÎ{÷ïÜO~ï ¿æÖ·Ý -àÑwî üßÂL°xÅ~Ùàÿ3²€„”a[ ½€Ýú¨”¶·ˆž;ÇØ) Æhm‹p+€bà14¯¬;À 2ú´Xh<Å´ôá„„€4`«)Ò³ øÇâ2ç’_éÒÖ¡Õ“:e‘.§q2H™hŠÍ6cvAäVÇSð…}t¤l¼¿oßÁ¤Ð?@‚œ|.eÑÀ±ì)x’t}¶›3!7]¯$&ßkÇРo¹iËT$nEÌeA_f÷ì¨ç/Ž7˜ î¯ ü3¾Æê­¤ý{(îžö4 -€×±Úb¾Ê F€ À>I -@"r¶ÀK´ÓEøˆKºh@€|:ÜivFmpÛË7•k^ Y ouá² ­õÈý*Ä8 -Àßš@ÆOêâñˆ8‰’ yS\@ŸsÏ­ŸõWÀcA¨ÿ…ÂÍPŽÓœŽžù­ì×ZkôæJÛ n ÷:b|8aü vY¹!HÁ‰Ñ<`§ ë "º@…É)€öðø±H§2œxfá,¸gft >•P€—²êý”+•Ú«;ša<êÀ€‹E›tÄÜü•~Õ±óÍÉ?xpïÎú¬S®»øÀwý‘é - ­ÿûŰblq¶½HÇ•¼Žß™ò@èÀ,¢l2ðÔ -À0™ñ(n VS®Tª ë·úO?x|?Yëæ æMZD è¿Mü—÷ŸUè&Ý -ÀžÆè×À™Î~ÎF €{Œ~ö°ãX;+ikK+€YêÄ Ð\òpÒ2¶Y€U†Ë0°tÜ'}^@ºpNà™Î{?íy[¸ëŒb/á¿>@)×:i|² µ 'ÀtTûÂ]2úF†.ƒÐ×AŒ(Ê—Ó$p™ÀÝýèp‚íŽVÖ½—Œ|ô4]1dM..Kzt¸@i¼%ú1´oh_áų`x·n%SÔ&õƒƒºAqz¾¹ºÒôx]ëÍ šÈËüß¹uûÖ^f´ïa}V=8€/:GÛ‚§mȶ°¼¼äÀÑר¦ï Iò÷Â~›tD{@ÛÈŸäú‹WBÐã0ñ&î@пt!µCèTt½†|6 ý:ˆ0þf‚¹çÖÏè@0¼ýc”>ÚKü#¼t`®@ \Gø -èu¾máv§[0ð–­Q‡íu*øýÊ6"ûÆ @²#$`€¤o›8pŠÜÒ¦Òë Ù= áË*¯ó~VðŒ -€ñ?y¤É?©BÈøïÿýŸÍ¾ýúëßÝ»»Ñ¢ €>Í•„ÿÞ¿÷P 8XºüB^ON< ÂVÀ@ïoáûǬó¥XPãîÇvÀgÏ® -Y©0^ÂâÄÞcô›æs>-§ç×oݾwçáýÇš’m¶64ÑÚ¸+` 3Pf2eøïòÿíþ{õÔPfÖ­|Ÿ±Þ©ôí €¾=·Áõ(ˆGì1@¯à^Gz´ˆ€ºÀ zQXöŬɘ–Žðÿ¯…g³Žw*$mÇä8”R¦…3I»ÞL16rÑ*»àÍoœOq$/•w9a€ ªš¢pîCŽ€Ä5ZÒߟ³ÈnÐG ÷‹›¤Ä=,’¸­° ƒ0gH €þç)£3Œ„¾‹ßÖ‹¤)ß ȯï¿Ê²!±„RÍÒg–»pC@€¬w;ÀÞ -À+ñãæß¹gS®ˆ|@.xt``FwÆâßg -@:°ÍN½iÙŸÙÝõ„Û~rôBž&S–>Ћ \85)»`&¢{~bðñÒäÉñ“2z'ˆ­X³'Ì=·~6 ´¢nùqiÛ9 N„ ä†Z;m`¸mC~8ÿwöÜ$)ú´Çˆ@Vð—'ªÜ`œ~’QšËÞ΀ÑãÇ»€(¬ˆKé??{@=°ï´^&¬ØÁy­) øGØ*„ðM èSùÿ -Þ,8¼·^ Ñ¿\ *Ï\“œt¹úàè^Ã4Îz¹øV[ðQÉeçWˆ–¥€¶°/öÇV©t¸Dw¥ÏpȧeéÃójCàþƒODx÷yb[››÷ÿÛ×ß~ÝY°ñ3 “²W®é™ ”Ìl›ðÌýl 0ZˆÄXk{Šøûßüš*€gè -ÔÝ -Àˆh¨ÔGçÀ‰>H%|âdnqÄ–&»»ºÀ:%Qç³/ÉÒzÑ #Aô1îr(Æ2¶HžàÓå¨ê﫳©ê=h.0 Õ _ÉMIç' Q  -Bº´Ìï»Õ ê[,2Ñ­™Û1Náb8¥Ÿ‰v€íùþúfkâ;‡|¶\_]YYw¿Ùnx}ý @€¾{ˆÙËr wø{yþ™Ùù÷¢+à—"ñ“ÿ¿EHSOЩÀäÿ÷%vþ ÏP³?~r²C`(€Ñ×NÒ ë ðÔÒ’K0™Wüg+º4S¼k6óó€ÝŒ*¯ã#üó&ÈyÀÿþ©±œÀqa·Pû=â€ãq£„“>”B⃺4ÌöerµìJ¦»ëqí9ñБL]2âûéøè±ã“ÞØDBÀÆO;ª2ABœo¬Õ1×D¸°fb4úVÄ>[+((3úNP0\ÙŒD?›-ùþçWš+Í'{øð9;fúUÈ<,î ¨‡Qüiao^Û`w@6WïÜs©!ûIàÇŸ& mE7þ›þéêí;·Þ{x/î'üo}q÷·¿ôˆž€·+zaÆ3€ÿïϺ€ïÐÝ ŽÁ¢'À=Çüúï~ýô1½Z|ª´U»¨É õü˜Â75 -æPåÃéhjKÎ'øæéPOí«<Ù”ÇÛ鹫>Ùå2_ÂíÒ=?·p¾QXfi+ˆÊ3 _Û,t›}Þ7ó‡‚h¿Cðñv©\Ïþô¶8ó‚€ý®Ú<ß|’ìñƒÇ﯊übÿD¹¼…x ñ- -€>[ƒwjºèV4—·³€B±­c`•º -ôѧV’cƒ ê©ù¬<½°rçÞý{>Ö's+}6ï|õõ·Ýú[ˆ· -¿‚øÕÇô¬fȵu+ßg,€{ì €Uï€í­vŒH  KP¶I°ûl÷S‚ó´e@Óµ‘*_dÊÅÉlrñ²Á:'ž³³Ч1F$£X¹V•Ã×;›”^Sà}¤ÏNø;ª2^Ø÷"™`€5P"'dÖI];&bOþ@®(ejxŒ.~-äào} )ÿ^Úï @ª¼Öƒ$s‰R¹|¹ð¿­Èx~œEBŠ-Á?³á)°*áÿÿùä Ø$ ¦„ÁÄ{×3@ d÷<·Ø+:B£j ô“ûÏqv¼ âghOÎ[fð?S&Þââgè0ª&&¦®oÈé@Gzt3€VëîÝÔ À?Èërÿ?)~Ù¼û´zK`)ÛªD?Ÿ»ê]ö1S]=ÊpÓ»ú°Ë¿S @ à˽Æ$üO­~–òJ1ºÀO¬Ii¥IqÜ;†·´ÅÌ üm‘„ë:cŒj:“-Û Tå@r¼é Ð8ì„ô²;å—Æ‘¦™ã<ÄÃP&/x©\t‚¥[(ãƒà9Ɉt|¸X‹€£™@žé.én¾`›¥šP"œ”)•s†Û'¡Yat0_ݨy5#ʯè˳ Tý¯6WÀÿfóúõæõ[ °qG$ —fn5+)0 ~'`ÿþt™,WPã;úâ—½‰~é”ðG ío7 ˜Î–±urüÂå¤èÆÂü¿ÿh™6ˆéz`àTСp½3`‰ÓϤ=¼-ŸÇìfÄ yl ñ„exæþÿÁÿ÷ dÿxO;‹‡/(u€p;G\,á­—¹‡-°B+!àÚ}vXŒ¿}bô¨èFâ Æp“ <ýqºûM1BqPÆÅP`º´ -`s» :J ÀÐ: žÁ;À¼LH±ƒ„þ1@Jð? HøÏX¾ùê«»_´äûÚ¤ OîßòðÞzmdü§!à„Ô¡md¸‡ Ží -€aš*€rép‡p˜¥…ËÎ&¶‡€h@¾O«Ä¯Z2±˜¨Î¯ß¾wÿæûéÉŸ<1øË¢ºÊ€_¤±¿3ÀïþÙ ?@iëV¾ÏXgÎtõ˜F¤'Àè üôcv  gO€Q"™rb%Ë[~ Ô^i Å!™áȇØõhKæNªÉ39x €À:¥q?œO™e+Α^ÈüJvSÓÂ×ê#8L×r+­bâ¨WÄç\pí£x“2F°?1YˆLôaf3 -B%AG €º -Û>@_ó€F,žHùú‰T@-™Q÷É–D1¹ÀZy" =öÿ£"Ž/ ͰÁ€;j¬z<À憣¡òÿû×l3{X^°3ò'³óoËͽ€S“—.}dÀÍ€·);XøèíelñÐìnFÿ‚ñEùAý “š!!o.]/‘ýçKK¡ `€8ýÄ'† e‚¹çÖÏìtÉæÀ¿‰€vg½¼äÞ€¬¸ýØqºÆÏ†0ë¨€ææ -€Î±éݰ ÙÓ–«¬ -˜{Ëqß“[ߥò® ,ñÁä¼ÇX„þ#((¡²u-‚oÙ6wKürRd!XÄH/wð -€Ñ(1€­ -€ ,cDøöë¯î~y‹1M ŸÐðÎjµ80X‘«\Èbƒ’½Ý1v#PÚ1ÂfÀ[Ëðå™u$œy]é_œ­ -@W+€m1©>á©c:è 6¨†(ë·oÝ{pïáÃO&ûbã‹úˆÜýoß<ú.À[Ë@(~±¼dY"1=›%¼Fw· g+€]bÞ©ôí 0µØm,€»Ûc÷0@Ú³Ð|…ð¸A/í¿¿Px…z„ê9x– ->:¤z÷àAæ¡CE¥:ø‚¼ç"ýí2”-V<¸O«/“âïî;¼“ÓA£#©„‚¾Bá°®:´¹¨ - ­/øÚÔt.>®Ÿ?tèàÁ80PPŠâ¯õʽÿŒ¥£í÷í+ê Še!2™ë†Å¢ÊáR’š‘]gTäÞìp¼Þ'VÀShN´ÀxíƒmÓq½å)½xDE;DeŠîÍêð ÜìPAeÔ3ëäAU/ä i=ðBQwÂx/d'üç“bqõ= Jà?Ð@¡T]Y]q8à:ÝèMÞo³¶$€ÜzTôŠàÓ¡¤Vˆñ鵯Ò$¯—ðÑÅ‹?ï9]4Zf³Œ­“'ßÌ7æÿÅèkã“b< î?¾´ü‹Ï W/1ö/yëcD€LGÝNá9ØÍˆÀíÌg²„Dz1Àÿ¤ :Ûî è%9ÿÿÂjí -v3 «# 6Èðßkß.@ªðîeîÇÿ@t8z\ŸP”htüÄÛ Q -@²à -î -0º#à÷HFÊÁ7•¥B¹>‚'±%€ZJã^&œØÁ >Z¤Ù0Õ®Èñß1ßY¸ÙþG@Âÿ'O?|xoõ]¹#¥R©<=â¶¶ €m+rÞ{(áµÛY×§­À dJÔÕ -äߢc`y¥VBÿ§Sü›×6eä®* €{<|’*?nÝlm´èà¿|õÕ×ßfcÿ3 ~õgoÝSú;<‹”Ø6àÙûèê 0õàžc,€=Ålk -ÒÜs @´ðõl Üå&ÜÅy}%ív$ìwÅKÉ´ -W|‹)ÿÌvÎnüL`¶Y~ÎÓÛ_øó},•£#Qº|ç»Ë²Üo>·l“÷‰i°%Ç|äðjû!ïúÞP³‡àÐ@еùU:†(„¿¾qû:òàý63fö°œl…ûžŠ€[[P&Ý­&'O] #@wÔV: @Rú†ôV4/-oQFOÑÀ1"Vÿ-Aˆ XøÏ×®Y0Ò‡üo" ,CðÁsÏ­Ÿ9À>o‚þàö·ø÷á?È``ÿËt¢ë€¨pgÀ&r¨Á]WìßZá/g»‹(g`Ï^· uq;@«¨æw¯N˜H -J?7¼“ ˆ¾L*™ÿ“2-è0nðO`0]!K/ÁË„;[` ((€*À*1€$„ð‡Gß~ý51xÿÔ¬$ |üíã÷o·ˆ`¼ßéêt¥\2 w[ïV:n å;[Øýý®€[ÛS&\Tö¥V¸B‹½Ål5]Ê Á(‚ÿvöƒâEBô^™m~ãñòŸ ý±„—Ý -À÷ àLÿž\þûH­¶Å,>ÝXƒ¶W4±’ÏùŠ·0AR€^'Ÿ£În†eàÿF§W¸lÀmŽÆJ—è"g¢µwhƒr‚#]$8»<|±æ½iñ€£è¤õ¬t¯(‡0m©8äÌEÀ2^½ì¹æ¯¼Bé\›¶¨«(x^òˆ»8{¹ôYÂ,yKo‹Û (Iá•öáöcû`<¬^°NÇkÒ¾óg¥£/¼‚b°OÏÈãËûžøâéû\y`( Ì\𭝬6VVVÖåÿ ÿ ýöÓ@ŠúÛb÷ÛíÊòdw+€XÉz1€t‘l«ðÙ'(¨ðôÆþþ'Al€~€BèeÝ -–mÊ À•e9ö ù…¤L†àáÄ` :~íÚß:0à_P¯%è?š|ÿÑqžÇìfŽéàËkØk·idÝqªCÿüj-ÁW“¯1 áŸOî` ¬…ì\#uàŽä:–4 ©í˜ Õ]  -{;)@èî–Øàþg½*_?"y@{°=*6ƒ“­þCÈð?S~çVYÀ·É?yððÖjM?¶E¹?í:€nˆ>M+€®$ê=@G+€¤!õ“P|‹Ñ€§Q¶GÊz&ªnݹ÷ðáãÇš“ݺ±ñÅÆM:üÇßD3€Dx}¼Èx§¡„þ?;øÛ »[€ï3À;]=¦VYO€ßo,€~ -—º  -­\EÔÇD2 ‡ -‡>X8(X.jUûÃÅAåK–\TB®:G¦© S*‰—}Ÿ¸ÛŸq#@wÀû^t%Õd”tмDöâ¾òôüÊʼ8À*Ão¬o4©p-@t°ÍÀëÞÖGèivþm[€ÏR8ø?5Ü~ -€Ð?~ú¤ -€‹?­õÓF¬Ú SNN~Œ£O ØØ`â1 -d— X³¡ÞÑ¢6€ æž[?s  oè÷&°ì½€87@@¥€£Y `ÈøüÒ~¼ô—:œý£2Qú K ØÀ€‘ÿ†è3 ‹ìs:'QÞÑ ÐuÉT„c£ãos&Wtí1š -@ |ÏÌT"=ERd"Ä~>åí‚a^'”؃ ‡L€'»©²œ¸­Ü€[|u ?~òøá=÷0‚ €ë½Íví P[¿F8î1{ßëj!>Ø­í^ -À¶¢Éð©b¶Z„N—+Õ…Õ;÷îßüðÉÃT÷ñäÉÖÍÖÍ/ø{†x£%ÐŽô»mÃ?øÿC0€­ -¨ÛGØ1@¿ý]=êœA¨ÞŽ°Ë¿c?}ÇØ%>Ñ €?l_ÉL[[ P~Ÿú N±Œ%\ß‚Õ" Y™™‘–®Ò…Ö‡ŒÿÉC‰CI:Pòƒå @XÇå6ݘ{ù>‡DX´ÿH‡](ÿĦ…çéj,|z9øû -‡‡ -gt)ÜḞ‚œQA,䩊ƒƒºrß¾W^q½E\BØÇÍx% ¯ª Ú¡äÂkÑCꌋÃÝ…ý*ÅIÂ<$­Ä˜0Ê<€ÃA×å@œ -0T¬®Èÿ—­¬¬¬{< :ºuýúí[wúõØÛ¶+èÁvˆ ¿›ÉbÛ°*ŒÊ|L°èp΋„}€¸)ÔÇ@:Á7ØiÐû î’ZØN^d§Ï+BpyòdF -±#å©ÃG¦ŽDAâ ôs ƒeöÐFB½OÀ%å…è(O½¸Ãñ*X¦8œÓBoD;ƒÅ#‡EPT8Ý1LoU RV±oè…_ FaopFZ^xÑÁ ÅéÙ••qš€ý&â·zãÿxÝÛR?Y àø¿7€(üDö¨Èìøç -ÀÏ/¦*]ÎFìh^¢ D./½IŒÁÒϯ -棠œÒŒ}´Ì ™cpû…ùà=¸OÖâThs4ÁÜsëg(B>+ÿ|0x€€T ^2 -èyÜõêv¼qÿƒv·)6ùÿî (톟 ŽÃ4`(û»bÆ ÒçH¦Ð¼‡žs' (Ñ›J@6I`|bB -²È‚N6‚%B’˜Ã¾V" Ìë„;›Aˆ…¦ÌŒUÛ -ÀBØhE+ÀŽVODn­W‹CùÊ•Š|årúùí¶Nç=à6èj€ïxÞ€»ÛþñÙÛXÚå'žE™p`C­±~ëÞí àAšäÿ·nÞ´ðµR6pW@À æUû…û½/?·´°Ðø<<ïîV»Ät+2Üôè 0õ ,v‹è7@ïà^GR+2ѧøê@…ÑQ£ðéÕ:<+;|Xø¨-ÎèXµß^mn „eTÀ» ^úâ§žüX#‹–‰O>rfêLùÈVÚ=(ppþÅa„6–Ž<(œN;Ù ÿ£óÙ1¶´Íæ‘â°rœ”G» -Œ$؀н|æð‘#SSA«3g¦ü¦ÊlðtlŸðßM%„Õ´ žÃ7:H…ð$׬÷…é°jáÕ΂psrçB쿤ýšÝ -à-,Px1jŠÓõ•¿¦&€×[Z´ÖÍâo±ûívey2Uä A/.ê´Lø„ ÀñSîŸJø%9è'’°­”bèðÇîÅ‹†ðí&ðÉ'] -Àø’…þ¤àþç -±*1Â|8¥ñ"6¼íU‚¹çÖψHˆç.² -sÀàN-¹ ˜¤¢'Üu °— ë€þ´¶ãߥè*¥ŒLàƒ;OHŸÃ)™î -@h:!ü{’Þÿ°/»„¡ðxy!2 €`[¦mûi€€£0 •Ť*€þãýAðæŽ€p^ËÇObbtœÛ«³…b¡4Q™žž®–c½­£¸`Ï­:ûèh°‡~`ÊJ´`¯ -@O›˜˜®ÔDkèèö½{÷<È;|Œó¿ñE øí·À¿ðøß©d@zçV_¾Ÿ§[€gî z¦«'ÀÔ -€ÇØ[ @¿±š»öþïb&†VÑ€ƒÃÄŽÐÞ†® ˆU vÌÆINÊîÉ…‚_2Qƒ^`cùUY†»\*œÝ·6†:øÕLb6"K{º‰Óæá¡Wª©,:p$Šb¼xf¤@ :xè°ò¦C"T¨ØQåBQ(§‚LÉÿ?ƒ`¯]78T, Ö+ð³È^$ªOÅägaß>°^I¨ÊŒ/SL+Š Î” -R- O9£²‰oAzÇJI:åA„- ûïã+ŒþïEãÿ¾‘òüÂB°ŽÝÒ P !þ ´îeÝ -@ÿ½ÂÛ=oU&—.‡é”?¬p¢—@/@m “°$§¶D?@&W—/NžTÎrô @·^" "NÈ.2úg˜/KÙ€$œ{n}ŒV ù“ø/ì‡h™b,8Üþ[pS¼ðþítƒýV„¤]FÐ}¿†VßdgC[ް g59>*T?vlüíÄìÎSù'ÐV”à¸Ï(Köç¡܇ê4—åht`ü‡ìç -??…b‘bGkãPB&ÌXµÐ -à»o¿ùÝoïlþ*bVš+™üøþÃ;·Wk(ÅrY€(À„ùÝ&ºõÓ¡OnG €=}¶ŒÜž½ïuõSŽ ß¼¤p‚ã;*"½l¢,Ǹ"×xÑïÝü°Mn¶nµnܲðÍ#‘¤¶+P¡?Ü*½d¿ù¤¾|/Fÿ€1Û[tô\þcúްS @G+€¹]ñ¿4‘tÉôo¤Ð*/5á.ÑwåááºËœ ••Y üÀHªÀÿáþS¿¦Z5Еåb8<3uvJÀörRÀn77Ê €ìÕáW F{Q’lKø­tx -Â1J!+«JS-Ÿ!ô®LP^„f¦DdR.V)Êq¦,0u¤|¦œø BàÚ„Ädö 9z^ôPP"r;<ø–Þ" %¡d~# ’ÝÙ¡ƒÊ®c¾"«ÆŠ¸AMñcjð¤ C6*à>m d -ÀìÂÂÊŠ~V\Yô¯o¬¯ß"0A~·Ø÷²ÿW"™°ƒðR7ökÞ¢‚Qà—ÜÀ¸+ÞÒ½€¬ÀÓ(]ºúIŠ8Æ M¬,ƒ=º‡Àk×þvùÒªHþ†}/Fþiçy3€],¨Ç¶ÁÏG„ þÿI -À€Ð’‘ôB Ëý—…© -pá|wºÒÉä&üÇ€y ™»E €±:[ð½þûh.`ù¨5pî;ÌÒ€ÈBRôŸ~àe·ªŸ Sž&³Ô/ñP—@Òvo$€ØÍŒDLaR -(áV {ôèÑ7¿»÷7²€Os€Îñn­ÖF†ö˜Tk• Ÿ·Ý ³úá@<Ü€…jßÙ -F 3fw´@ûßÒ - «¤Èž& ¤³®~èœE¦+U}jÕëwèð ÃZ›7nnܸ™)ßå -€_Ÿá?Ià_þÜíjðÌct+©€¬'À=Æ|ï±ÒÉ6¤ÿ¡pZƆ¿ZâÏ¥™Ï‡©¼°Þ±ôB¨Ü&tcAöp¥-–gŠÃJxfjfÊЫcÎ'¿ÛVxKň"„EAäÊD}æpyj¸T¥¼$ЙªÂpp·\.Ÿ9#·¾Mkb# - yµ8¥”B¦Äå3Zµï[öŽ#ì•Btú÷¾`+²ìÅ‘'ïã°nyæˆòÓ]ôćËÃEå¬YŸÞÙ:íòÆoi(/"Ÿ„ ì{‘8ŠA‚}Ų(!PÃ!;s–7“\oQðúB m9\, ’’ @÷œŠàèƒÿŽúÀV Å)Á¹]ébdN5¾P\à[>S- Ï)•õÐ5¢º‚ž9rXNý@¡®‚PŠ#š4£èüÇ*y}x8Óxœç•ù @©DU¿¸Td9üZrß›•ž¾JÀãÔ A78R>ýDYâ·”F€Bú}TèMˆp8Årmvaaaea^@ Épòÿ[QÐà Ö=m2(ß¿§×ßiJžƒ¿çh œýì³k— ûFàÔŸv4Z>½Љüi àªèÚ‚ðh€\ˆPÀLˆa ÷ñ Ĺþqè¹°‹ Ãý&o ;€02ô‡ðR - ÔÝï@@!ùñJÃ,yã8÷íaÚ¢‚ÿ@P>>âcÇ0>ð_7×MÿaŸ%V@i)k\¡äùMm!±0”)æ-*õÊ¿×~r(¨ Q`>­c¾þo¿ý/›ŸG €Àƒd÷ïß¹}ku¾\’÷8=ûÓùúlE޶vÛ,pì‚þ8ï[b„Í€7i´„,.k­Ïέ¶ÆLè@R8Áñþ -€Š^V,¹@uv~åúÆí;¢÷ï?¸—l³Õú¢CHýt„& @–@˜€Ä:€g @¿ó½úˆž÷Ð,€æ^ÆÔàì`g†*öYÁ¦X–ÉeåêȈèXg3àsvxò3GóÉ¡'R@ý—$÷_.ù™3¥á)$€Ì„ÆòŠ‘ÖEˆºŒÄॗoQé¥ÿ5kèü;±].œ O@.0«ø®ÌŸ:Sª–¢# ª>G¬ÃÈðÿ—‹ô;¿Pµ…œâ3¸þÔ­X8QW+‹ ÌÓ*òânÁXÚvPúÙD±R™®M×jõ€ìÞ=j=l-Ú¸áf€_û-ÃZø?¡‰$ü·¥—ÎìÏ`] -À³÷ÐÝ - £'À`,€½Ä”+X,ûZy¸n°4æfö–=ý#ÉýÇ󮢀{9èøñzÖja°L@»ÓIÀY>;kÁ«Òèe ‹ ü¾Öt P8p[LåðÇJ›”„ÓV(t¦:¬5%L\P½ræzy„gfÈ䜱ª -CÓ¡ƒ/ ì+ƒ)‰Ì+HL¢²ÆHñœ¿%2LÀŒsî - ^ý}©‹À´ô» °`Jêȶ>R: ¬ò:t ääq¯,@ØO“ÆÀ†T¼tÐ'ÿ¬\Õ×Á3C¯¬¬Ó@jÐà ö=-W˜v1%ÌÏfs€. 0Ø›ÀìÉqÙÏ`€;)]@ ®’o/2PFÆQhíϹù( ,EOD—’@  Ñß “€þŽýçìbvÃ5 þY¶·{)@—:ÊðD Ïýxæt'ëî@Æ í•€~ù¥ý&Ç?†yõhöçº@·NMùYèâqðß•H+À¦¡»uR€ÜBxyÿ~šè¡<>K}6ìjFa}€Œ|ûÍW¿ÝÌb>mž ÃV×WfõãÍ÷v¾>=] Üí=[èà+ØÒ:Q¶c@ý´c°VQvg¿é'pzšŸ6‚šôSÖѯ雡lܽ÷»|4@ †”Åk¶Å‹ÿ쇊èÑ -@yäýØåß¹€~cìµØ› Wëmô³®åÁÿr½4R÷Ë"QñdeZLÕ¼rqðííÀêC_L”B)€ÿê™úÄoE‰ ‘`#ã1¾Ç«C™Ãž[Âx2:RœP^€Rñ°ø€ÝðäÚkž©CfÊ¥:²„/åNà-¥¥¼‚hÁùÐð wHÃôw¬iŸÊ ¡ì‡L I -@ª(á-œ©—*ÁR’éáÌuêܶZ/‰jFÏy¤p<@'âÇT€?0H€,1× ý-úkáÖ›ëë­pø·PßÓ>NA€f6ùFýìÒåK—;çKAÚ -€Ð÷ ÀNø)á+ -ÀøäS*4\ò Ýó)€ÏL®PðÚk£nÀ‘P–.€ÿn°téê߆p*b‚xeï_Ûó„sÏ­ …†½˜Ó6–À1ÓT_˜M€@Ðýw!”ж úYs[½)‡V®O`#·€< €Åß\éAþ, -ö ´“)ð€JkƒŒXè,P«ØC¡ø)ƒ˜+è“ a³'ª)·„ÿÀV;°S¸{÷‹¬€•fbñ×õ%ŸŸŸ¯U§ñ’ggk5¡È61rï½@G?O;@ 0t[`B4£Ÿ'¨ÿ¯Û°@h3 ùa³µðþ­Üýúë$ä -€Œ7™ è•7£ê=µxæ±ú÷c¤V;÷Ðo,€Åžýp© â€Y&Ylôžfg‡XB,#d2ퟩ&@ ›j”¨ êMxý8ÑLý\VÝQPºÒü¡ðGÃm@"ÙW…ÌTÓOUϘ˜€™DÓ…#ÕR£àcܘÃ[Ê%›ª‡ãQÊo)_e7£§VA`•RC·Ñ¦®¦lÁ5Œ¹ÜñHqªX<_E°÷O‚ªþ@z¤]T/•á£^-¢=ÀâcdgT (z¦Eþ+ëOpŽ‚ÀDXNMñÖüÀ±Ëãi9Õ&À?1ƒ"†ö£'À}…òôlmv^ÿr€Í¢GÀõÿJl·@ûm&øîP¨ØþØ]À”€+¡ ÃÓübGG_s@§à^€vˆ] G¾k¾¸ìVÄ,˱?:z!SÜêí ¶( |ÖêAíýóÑ¬Ó çž[0ÔÄ1§mCuFø2H -@`0­Ë" -ÌÝ2vt(cÁ¸K`9w -¿Ý -€MÆq!›OÝ €ôÜ9á¿’Ò -ðm]é3U_‰ÈÝ÷䙺m(Õ„€e > v³6Hø´•˜øÃ·<@Š  ¾[˜Ÿ­ÿÓ³Ó³?•ÿ? Êïd -@; O+Ždë#ÄÏÐd‹°­gQfï©è´®í7ésºZ«é§MüF äÊ€ÌnÜØˆ€È‚ÿy…f¶xØ_ºßþd[úøÜŽ·ì™cd¡Ð` kðÔc¨»PNwÝ͆EM´¢Ýú²º0ÀBÊæˆ¶¥R -)¬Vßҟװ;#Ø1Ø)ýè¿Íù®‚QÑ天\¯Œ4áØÌÙåN«¿5'Áã8{¦Z×]D”t¶”ÐiÄÿI*j$À;e0Gçf¦Î‚ðÈ7Äé/Wõ$Sb¾“Mk¢Òf½Tä Ä­D‡ŠÖÐgÑÀ …¢Ü|½¥h ë^¶wª¥ ùû3ºZ÷Lå¨N@¬Ø,ÏÔg¦¦fªggf`:À£Äo &¤7ØCh»ÿ²‘ß ýÿE“E—›¢Êëë«×W›Éçï¶Àû­&ô¾”)y à³)ŸüÍ% [àK€ðÀ××FOnU 0qã½1?€?3zóé¡Ð-©èR&ÇO"> ?8aéÒÕÏPþfù?žýë•l˜ -°—pî¹õ±~ -*~R'@f -ÌýïÈÞëR:Õn`Ëð_¦# u´@²Žf!Âu•Å£Ù\ÿàï…HUã©#@ú#j€G  ¿;Æ?„å=~Ÿ€ŽVY?IØc @Ÿ±Dv  i/6&âÈ„UÖ™ÖœAóOªg1ñzq,òdW^÷9¡øÌ\Àø^,Ëÿ8<5o˜š‚Dè “vªgß+- - ƒq/p ¤òÞJüDÉ·Ì \­Ö› Ee.ˆŽOÔõíx§Â!ùá ¿ -rnægÜp¦Z£„ÊnªÊÁ*Ы;N Ññ¾U˜¹©Š²RN T®Vu§¶ÕKdm - ‹(ˆƒGÊE1€^8tdªzΧ«•áé:º\EOPWÑKÔ™ùY‚ùºî‚Ö1U>[×Û¤”úóø¶²Ž ÀpöA} Ì C¨ÖÞ  ¾¼üõUùÿâ½Ìx¿Ý.Sð -À6»œ)×–“€ 'Ü]¸ëý Û€BH ð_˘/ЦŸ&ýóR‡pÀ1W¯Xxó¤.èæK—hèš !~D$¢Hú3 -7´f™pî¹õ±> - -€þ{äs#›ËÄÚý_Œ$¯‘¼kÿBZ}:ª¸A†ålå -@øü‚ò®ÁwÖ -Àç=!zDŽÿºxòít(¦ -ø¯< + ¿ˆ‡Ë‹ÖV2°Ÿ8íOÂ…],ÜP@ÉfŒü' —°ð-@˜Ã²dôüW†Ôæ-ÓNOWhRßÏ`å¼€ÐÜÊ÷i€­î~l'`ç±È%®ÐB·¦oS|Þiz,‹|¡ÿ¼é ä¦T®TÅl7Z·¬Üº{ïkb¶0€¬!€ð¿£Ü7üÿp–ZXè¨øÁúXK.ÿÎ1½Çp+€1€úDeâô§’Ê-£|’§iTo¶677ÉI{ÍFó|el¤æóõÍæç-»¾¸¶6wn±\0×(¨¨—#ïlf:>×ÏëMÁ³ÊÞªO4 d¸ÈëÑF³Õœ«Súz}ªR.5åñÏ€‘²Š^­lfsíæÍ›s‚V’/6šõÊpÉ…­66kM¿-‘¢¹¹æ"7›µªî,ö¤Ä‹sõóÍ&ºIDÏ©×ݪ©ðâ5gU9ݨª²¶n¶DÄ<ÿŒuñ†Œ”´‚6ψ¬ˆàPìskú3T'†Kz -rc.^ˆÞÈ_ŸãÉÅõ6µýßèØdÁËjèß§®;Cçæâ7&™þ‚d$`¤D¨LÔ 5V×WÖW¨  Y` ¸Þj - Àà¿` .s¡Xb dùëãr½©§# @À¯DQ €ö·×} ) ·+È—IÈ‚_{mô‚Žˆ\óȓĸ%€«B¸vù-ÿíçó ÔmÄN" - ­\½4ié߸φWý"(¢Ïcv·¾1úä -€þA¨ò¹Ý ðØ(cu*|è 0)Ý5vþ£aåmã.–[8z s8àIvn=”yÔl?Ï{lט*´Em]#ÐÔ¹÷ôleÆõ! -p¦8üÖ;BO]G={uÕ_…“5‹s†fÝ¥1ß(¼£=cña‹â;dÚlžo4ôçk¥Æ&¯ƒ -tß\F޵9F˜«+¡DFkbV‰4¼hÙÙêf¹Tc·þ)g|R Ìmí|ƒ¿X}Ž6š•±ZãýH£œÕß1wN÷ÖýÊÕb¡^?BgDâLJýgŒ‚¨{¥×û¢ü§k¨üyAΞ=[¯·Jzâ³JÀ=õg%`f&ýÈdf×ß6P(‰)OãИހþæE\°Ýð· -Àh¦Øù÷¢Ÿ¥«23Ð")‚Ý Æ»â§N½¹Eø0{‡—ß9þ‹d–ˆ€WÛ€¥‹W´ë€S''¡(ÜœŽ€þÖ -€‡°ëÏG;xþÐT@ó‰„sÏ­íQQ]e.ؤ¢>€ßdHîà. øàG3€ÄdºG@ù oŒŠ@„àÃ!åØÇÇ.è¥è*€òóuë¡Î€Ññ·ß¶rÐV@F|ãÉ:;)¦Uƒ.Vêô˜<_ë„ »X@ýѰ6ÀP±Û àÁ]†^ÿ|ÝŸô%^ÕW|^¿¶ò_¨˜¥A@ꥷÅ9Aqw À?€¼¢t9²'ÀóN@§ß*•&R´Ÿ¶äÛo]K„7ÎâÕÞ¼@#§UœØfëÆæÆæÆÆæÝßÑÀcXèVB]Ñ$3åâÝÿèýðcDO€©e±s @¿±úÅÿŸÞx¶±­6R¯ -Xçfô2K†rLnwvÒ³¹r°¶3G<äÑøpž‰ý#ø”Nl -àXý³Ú9;U=Sªn7Ê÷Fv¨òH}¦1÷³8ïd¥—-ü‡–ÈTÎFYPOQÙÕG©gª"Ós)ž Ìy/H9\]•ʰžŠ|8FJe¥lø –ÏÈs.Té‡àÐÁ¾ÊF܈á¿>Æz®zos¢‘Å0¨°šDªçKÕÆYÓ^±ìœãÜV€í£÷¿¶"€ŠÍÕÙùŸ.4ÄÀ~Œˆ½Õ:‡C= ƒ@€ÿnp''Üuõ0wÉÛ¡\b,€í2¡p€S@‡ÁÄò;ÁŸeRTò«—–ÜÅÐåe÷ -@ À8½„ ¤€O>»víÊ%·FˆÊŒË õ¨&Óƒ„sÏ­í]ÀßÇ—§³€ÔAXnôÇ@Ñ6Î -ôþ\׆Y†ÿa[cÆO¤m€Œi@ -•,î7OíÝ -@)à¿ D÷CZ%zbýß -@ äéh• ag3%ô·ð?ÒŠ­ÿ ð+Úâ_jn~žzº}}cýúê|E>µÛËÕÞ­í\gEöÖ - £ŒMlO1»)¥âŸkÖÉ VºµÎm[–+ª6DVV¡=××7ò®€Z›_t*˜¿ÆLà-çö§Àÿù—p,Ð-õýì!àYÆZ>•¹\¸é?ÑBîùX½J9 Æua¢ -îÈýʤnâôŒ:Ҩʳÿ§¦HÆõ=R.ŽTË´ÜÃÎTËS3?*ÞWŒÅxÓC´Á0ÒA‰8yÎÇêÕ±V•Gó”‹Œ®4Ð LC'f•&—›‰PZÊ7S¯¨|º8¢îc9Å-‚ø^~À¹ê˜1œÓ®Ÿ™yqÃÃry¸P>DŸE¢Ç—uެlåwªï¹A\RmTVòrP†x’þEôçÌ®ãadé7&3ùÿ[%1Žér…ñ@Þ¥*P~AÃU€…ÆJ)« Ã?žŒáÜ^²—À¾—%àÏí’2  ²=€€WFgDÿ£¯Ñc¿îÕ®È€Ž€­– ßÖÞ΀+"'¾6¾ôsv~iàMî£zœ`Z¸ - \ÿ¨0÷ ðü\ØÅú*¤¼ÿBû©uÝY/È70úÛö'Øt¹ºÃº:dS÷×3=¦Ì:@Ó1+û9EØ®8íä8UV\eáK‚$ ÃÒØÀò‡ -  (`Éàoû¿0AøŸ+_ýÕíTÒ€xé øÖjµXVÖªµYyU®cÝÕi¡°pXH+lnÁ\²]w0ØkÿÓŽð–·Øçën cgUÑ3Q±9¿¾q‹¾€;ºÞlÉÿÏb´@ @.üßm Œ·ý'€Y z&Ôín°{ @¯~~ˆ±vˆÐÝŸÒâb.dÑ(Õi €Z­#Àb‡pZÒžo~:S 2z(/Ò‚_ò™w´økû'ºŽ!èu§}Ãe@ $¶`*"¢mmž{OQ(e#tÊðÝXŽ,–³B‚¼?Ñõç” ,Z MÚú »äÊ9 -BIÎi¡ë‰ ‚@·P’±uVìàÌ€^Ž û -‡iÔϽôqKÄÌD:̈\Ù -C©Fó‡TBËÜ=~cºZ€n€ä@£ ™¾0´ÿ†–«+hgÛ-«YHUnʳêÃîç¦ .-/ÿgùÚ(µàWÕðã㣴m±îÞ€³€0ªî©òÏ€V:ZX8§8vT…9J«Äè È=¸ L!‰ZX0þ{t‚Q•=—&†ŽÒÐI°D ìjQ‚¤<0Çÿ.à=úÚ -Àz¦¤±€<`ˆüÕéáâþôluzz§€¼ -@ C9è½C+x Ì~ê±Ðñåà÷Q\™£¼ê5'¦åÏÔÄlÖ7Œý÷ï§ð µ)ÿ¿u“~€¾~ôí»€®€ôŠmñÞÓßà‡´j,!׸€ `O1}ÇèÙ`›Œ<•‰çp…ÿÕ1{ׂɟ£4š²€/Dì`Fß²À:öPÿï°æ†Ýâ¿Þ€ž\À:w1þ“£NOƒægíÛë´ïBÅ;/J©*%ñR!ôh€)¾vÜï=BeÑîÌ{gëLÔ”*á¼®Ön +DƒÿºÓœ&ž6¬62Ïd¢SÖ 00€êp¡üêAŽBáà‘©³º>½›e6Ä$šÊηäY¸E£Z?'àw›]§gÓ©øi⤶}rÊÆ:Π7×™!<­pi2\8~ !AúØ¥·L—>†d -À¸œuú8…/¼>‰@w=K—CøhéÃ.`©¯€¿Õ2@†@?@€PÆ¡ôLgÝ -À8 -~D8î5àÏ›ìl{RÌ ó€xŠü·my,@Ò u+Á²­0Ès;š€ È ÀèË€g¶øÄÝ DŒaB‰'óž“‘€.ÈÍøŸJ§‡éÜo€ZìMBH ƒÿ [¢ÿðí·_í€Ì’ððáýo­ÏVúëO¬7÷!‹‡òÚÆ¡qö<—Î”Ë‡Š‡õÌGªÅ€Óäšòz"3¿¼ð¶TKž4Ы£¦/ç£ JV)6uŽí()tX{Á6KeÑØ A¸ #jT¦ÏShJ‘L§”•^ûŒH€Å›¸ÙXKéô¸ÿ8ø"èÒŸŽÏœax`Ù!€‚D‹Rð¾<·¹ÆéŠV*^øKvÃüËP °—•ŒURc½8CD¦}L÷È“äïVvâãÀø‰ãG# ;N -ÍcV±N¼=Ž@ÂÊl‹ 2›Ðä0á?F€ ž”*?;‹„»(´•d@ @?¸·¹Ñ&O’=~òàá½õÚˆ<­Š+öå³»Ì^uô(­ß¯ðeßkþiǘР”…^1櫼ê9»/`˜Mãú{HŸ<üöIL›-Üÿ\ˆv€Ý͈HæwlÁåOGú)O~‚cí~„$¸ü;öÐg,}zÅDŸÒ6{sí󵻿ÐhÕJÍOÍzkm­¹¸¹Ø¸ÑúòË»¢(þ÷l4Öæê-‘Æy§qºT¥½œ^Ï\t›W=S—¿\nÖçÎÎÕi˜çùÕz£õ%¼Eåk-6´u¾¡,§«ïg®wýùR‹µ›Üª¥Eµ´"æUßl¶Äƒçš­›_nr™ŠÑœk´ææôµ‰ÆwRIÞ~½¾¢MQ©óÌéD­RiÜuËF½ºú"=ðUg­Mý!çÎ}ÐXkÌÝÐKÔºÕ(ÕæLzfêga ÍM­Z*ú9$üj‰v GUþWÏ5onº ‹Íæû͆Ò5ô¦êʪ٨‹èÖtYÈ~sqNR+U››PGÚ}Ô•¨~n^9ÇoÌn6TÕ®¸6Á°ÙÚ|¡ûPÁôvƒPþÿ½ÿ ò™ÓBÓòß,_ûä“î€wû5Z,…ða§àv€Zõ6¿Ëâp¦\¹úq(rþa ®8mC @®€ÿÄúå€o6ÆnºçÖÛžA†i€øÏ¢CÆ’SXæúo‰ —¶á¸ë²ÑQªd£Beã}2WÆöæcü÷pÀ!˜,LF €ð?St<®‰J úäÎQÐü§@zP+.»> v¶@¡üO0eðÀ ­|÷ðíw¿½»ù«•OÓ”œà‡Oß|ïz}dpXXI% ÝåÈóî3—é MË2]õj2 ïÔ -€…ÙógÛS ±,¶+*InÆÅ*½•‘´Ôå6éÁÖoE À“'ß&ÛØüâÆæPåct$ÐÞýŸÆ: ÀSÅt¶H -=~ï±z+¾Ë³þTë³ÕZuºÞ›¯Ò;c….kôŸ÷`lŠê46b¤¦»›riLìTøT&T^ÆÿÌðpoBýŠ\WýÿÒm.ekÕYÝ®j¯OT¦ç5­¿W[å(è¨ Î½^†WôßBáDÃèuˆã²(µ’VÆJ§'t+DEÑ)6~|ÚýhÑ(‘Ôå²þ S6º(ŒÝÙÚ뺠јÕä|½¦¿X˜x[™ž¯«Åá·ŠÃ…ÁÂÀ ú>r OO(È\­Õ¼«2vš[Ep ï:-þ7öW‚íz­®×§)9‡+ñ³«ôåÓ;@À”ƒBÀ,JÀO·Ï}€Ë—/£ðShngKN—‰H\£# Ë@~»mŽ¿‰ßøšõ -@âëÛ-P?³t0W–—¯\t  SN2Ð…¬ Â…àd[p@ &ÍþsèúfTR £ÀÙ—‡^N8{‡c´?4z+Adm ÃÿÄ÷… wy§¾3voì÷U èè€6Ã9Æß>1"0€L Äî -J€(›Œ€!Ç$ü§Æ€Ó±HX°»m¡Y€ Ë*¬|ó»{›7~e÷ -Ú¾}ððñ½Ù¢¾ÿúêS(˜} -·u/ò– ìæ8;^øwi`l÷E¡DO€P—G'@{+Î4›:æÒál#_ªÂ—éérUàöý{î‹òdv³ÕºÅlúH @ðߘW$ôÿ“q€Ž*€ïÙ@ÇX힟a,€1É|ZÅÂN˄زZåÝ÷ îÂLŸ™˜~<ž8Í¿#ð*F½ÛžW¨T†‡‡åþcüSø+ÓÁʬ.vµ=qZÿϬ9 G$¿ºþ!ÒeÝ€‚è,÷Õæ´ŠÉ)‰nWÒÑØ…3À|§‰Êj5ºæ;ýzE¬â´î«“©,‹·”Nw9][(W§µO9ütd®L(Gµþz¥ªB t1ñ™‘aú-~u¨ÈoÂаð˜o$}WÿHÙÇÓ“©$ÎdBE«ÕNëÍœþQ]·SYOC¸SÛ:FÜÑ -"ËÆHBdƒ.´fgk b¢Ûçž -Àòešú§ -Ð7þ?,a~· ¯}öÉ•KÕôÆ'Æ?ujœ€ð¡ ß½€þî¨ä í&C àŠ[üEª@¸0~j‚„ þg³A?Ñ€´ù?³ h䥞á¿Í°u,¥ùþ¶'Àÿ;ܼ­ýÛ -ö˜‹ ëícg­ÿ™b0 ¨°¡úÛèèÇ -@:û£þw(&¡´Ûº¡Iú²p€n P`@Q Ê_Kô€ÜÜÐ 8ÐÓ(,3¥0£–á¿ÿýñÑ7×ÎöÝwá?ùöáý;«³#ƒrÙ­ýM swµvÐ{‡Vý<íX‡õƒ¤Ím1:ƒo¯Ó$Dhm_gÒ†5§b<@aHyzaõ?þ6áÿãÍÍž‰xô]Â̯™ ÉâµÇ»ÿY{8àgŽ Z8õc ïÐo,€í -@¿JáÝŒ&…*J“¾pµš·N=z¬¢KO›ô`×X©–*óÍMNRp¾ÞØlÔªïɱmœ.Õj´?e||Ô+õS,*u}ÎBý|¥2·©; ¢ +ëçPÂðß×ꪪêµ÷xȵºV"Tïé)ÇJU•¯Zmœ§˜Â8U•ƒ:ªZ­Õß{¿>QɨÏ×Në̯HË ¸M˃­Ÿ?«?ÖéJófÓ%Ó‡§& •ãYe6Qá„þ^î½OOT-—ß:\-ôe,W]NLYñ;kQ3ÑhlÞŽãZéÝy=ÖJ­ÔZYlÕçß?Gµ.nêÓð¿R3~bô¿/ëù¿‡ü+Ñw¦Þ,Ò gÌÄC{ØòòÏåñoýÐAÏä1ÿA!· Hò?s¾þ^»ö·¿Lƒ -€/€ÂìÈ»}mT`Ù€ð¡8¸O€ÖQ'ÐÓ¶a¿M·J ZÐàååkÑ - ‹Ðý!W>1¸˜)¡$èìO›ú$ ûŸÇn/¬´<=4D%u[ð™R¤K¾‡íA0P!0ßÙ1™`œSÿ&¾Ú˜–KÙ†îa`g°Þ¤„·¾{?€Ìº€ãºßÿîÌàÄäÛ“Jg à_—pœgBp-€À¿+ -`~ÕÀãËx v5p(à(·œÈÀ¾ûö›¯ïþ—Íæ§+ú]ÑÏVž<&Þ[¯ -BOù%"ʼn?ßešhoéÇBV±•™Oà гîƒà @Ÿ†ÿ/{ø@à¤zúéªüËeˆ¦V;oð¢cè§là[Þ»~ߢ¦ Í2ƒ? ¼vÒðD®Á|©šqñý=!´'/œÚóZ+BÄ'¦ÖïܹÿñƒûO¾Má76¿hmnÞ¼‘bR3À„ÿ5müϰÿOJ²*€ïÙÀ|,€½Äô  ¹¥ ?ÏdvÔ©x=ÐZµò#××çuå‚Óju¬æ½Üh»gx¯WÆjåbáÕÁá©©3SU³=½ƒò1‹èá¼Eô¼¬#:jªÜ¬¼;ÁàÿÙQÃqµRª½ïý)ºÐkÒ™!Œ–˜6ë§O‹p½S«¯ñª|Zét~†?‹ùB³RÖëòQírÄýø†´ü¼Tš¨Öu¯°·.þÊý/ ¼p°(ÖÕ.–JQ6? KÁ_˜YcºÁ›k,.ž?Ï0Ä*}clhŸŒJ·ÂHa¸°¥õ_‡ôw‘/޾„åòtÄ8ì §ðó´h¯…Þ# ÍûvQ¶›˜¡®Y¸ª"à”cGON*‘€a_®!x3X¾"È¿´äº^½rù£PN1ñ)‹WÀÿ+*–?#Ìirý?Ÿû@ˆú2@‹Êš (ð 1€¡¤´e?éÚ)ç±=*A6ಞ -Ž´MEwaBøßn:vT÷ `Oëãî€v€ì[°Ã/à#Üï->Üýhê SÞ¡PÌ<ª²ž dAu|t4š'¤~ŠlØ¥ø 芄»Úÿ“@Hk™1*#[Àÿèá7%ï?€ÁerŠï]Ÿ)R@üx»W3.Û9O íí´!ìo{ïo¹æ tÿ‰t(üö ýSã6fyh&Q„â)¬DpØôDyz~õö{?||?'7é °åž àQ„‚ÿ™ —™"Úæ÷þ§ƒYÞï í¼0èªDÉIí •ÿ•âuÁnyz¬JoûõE`wêLùÿ.Js¢r~N¯CˆàYX;¿F©Q~§^§ wxŽÃÅbõÕÁ‚ð…}/Žèø9Ý[ì§2‡ã¹øSè£wXŸ›ªU†ë0ûƧÀþ¾QMP?7ðÂÐÀ‹Âÿ¢&Yüæl7±ƒáaËþÞèë†@µ`o -à>{óE¶¾tùÒE:Ê€è þ÷"Ô\‘¯½l0)ü•uoŽÓp:1{þV>„ }o&€°|íêåS'_]º -À//_¼0>î».¹" P±ôo&§ŸE'þ»7`ú7,€@ÂTÜX#%¢5&L’ÑGMZ†ûMßõCÔZ[HªNùî-vÜnîèÓ{ê P¼Ñ÷¢þ!S„Øá† t-º«ðÎ&óöÃñw©½•[·@TŸý󨇏k@ýû(çÐóµ?êrÛm -=ª(Q˜®€4èfTÿƒÿǃ+…™{½¼Eð;Øãh€@s‡ÙY àüÿç?þ b¨i¥"à[ÇÂã ßO -ý ùá²ïÕÎÇ -ïŸHlÍZ  P%o/–ß"$Àø/KèËLÀçù_dh€)€¡¤¸©-K‚Da9sžŽ<|üäÁ“ÔЃÍ­››šïÞ}ðõ·D“ô¶"ã5f!™ПéOh ïSÆôh ðP¹5“)_}õûß=«5÷qÏz]îëéáë‹¡QèŸdE‡¨ìÎÍÐ=Ïèßát‚”œ‘ñ?'&8ÎÔ•^3窥Àÿ G\(e¥åÔÔT½4}£66d˃æp>Ì?¾ÍXê¶òÐS9`Ê‘|‰è¯ÍŸ.ÍV*•RuQoO¯Ñiç(­Õ›•Êm¤ôPìbjᾂô«Þ.Q¾hÚ¨¯Iipˆçã'áP‘^ŽIZ¯—‘"0(jˆõú¢/ÓÓz±óâq¦Î_wn.uì®ÿ -C‚þႾç#VÐôgŽîë¬xQI§«/ãßY¾‡A&ÜfÑ - [dk€Sy?Z -ûÛ -€]Ê®9~—-/ÿÍ/¯}rM.ù©“4ÿépé”ð•€Ñ“§’ò_Dø7ö§Z€~A=MÈO€V—&GGO.]¼J ÀÕ«ËK“ãtAÀ¡¹àbmQÿý» Òý[3ŒÐz¡]p ¼áßÚ˾éäC¡Øå×)ÛoLÆqæzš» 䞆ôSdG;Z€«*t§š®zÿ¹`Dþe™ Ì÷JÖÆýŒ¤f€ÜÜë£!×›àö‡@@(ìÇØþ±{à@ [81™5Èú@£€3h6øój:À?™Þi—Àós|ï­ -™°€ð?:øï0*¾ýÖ UÆ6?MøàÉãî¬ÖŠÃHŽ´;¢"ÜÞ“ù73 ñ?ö|€#(à¶ÞŽãó/ –8@®L¼ °@F_ì ÈMyD €¶ˆL‹˜:6ó­¨ÍÔUyz~Ý>hǸ`csóîo¿yô àŸ!!„Ö ûSã?  »À3õàžS €]Âbv `"Wî~;ߨ½®\P®É¬~úu¶rÆÿxôãþsêtifæ¨k¥Ò M Ã|PóLùÌÔ:ê³ ÷êÕÒº.(ïg*ëºO¯¦TiÌÕODî8äõêØëÕ÷ì„'ü? ðÎÌè7„ÚxÛcz:D‚ð%2g¬µ*å5'*Ñê¬ÖÑ@°Z©~Ш–Ìhx¸<õÖà[Ȁ˅¢y ¹ê‘êblˆ&ÿ.¶¯Q«)ñæœ@êÛ¨þ3þ¼þÿ ñ Àð¡ûÈpƸ½Ø¢°O¢0êïüuvMÀvë£||éÃIŠñ_?† éÚ®x‰fÖ]sÂü.“¸š)B_WPŸÅ Ô§€Pþ}mš°Hؾ' €pé‚2^ûM..½‰`íáBRþ6#ÅéÓp@iòŸ„tÿ¶ÌØcꇎX@3€Úl+l‚ñZmµà·\0ï‘ôS m@$Ñ÷pOÀC‚Œ¾>¥r[£žLi“Ѐi- Ê“;&DwE†w¢ÊßøÀËìqP§¹­Áß<€kÇ'ßV:º'7éVˆ-à©üžxI6tLü7žÓ -Ïïw@`W J d'k ™ ü§#€ß™Pð©¦û™=¹ÿÞjmd¨X*W§ggk™óoážÌUý\ák´ª0w+¥?g“ÆDçÙ¿HàßWò• 9³“x€8²ŸLÉ"-bêØÌw ÓnÃ5½rýÎ}3(vß -À-¸ÛÕ@§­,´%ÌBzŸ5ÈÈ€b,ZÔk óÜyýë<»ÕëÍÚëµÌMmT~„.Úqq”ÛêmLãn .›ú‡ªTÇ@ÈÁÂÔ‘#Så¨?w*âïÀÞ!b©¥ûýœ!M®”©*Ÿ«¾¯ÔŸ×KÃfÊKDÍ=ƒz¥ ì¨FHE‘Á^WúêH•?‚Þdwùg‘ zöìb¥‚ÁøD¾2ê(”Ry‘_•XÇzu¸T}Ï€lPàûªO¿û FpíƒÀæŒ(Ž(‘ -¡Ü• è/ןÀH€Ù1š| _mÿ‰ç0Sn/î‚v»÷ñ…â=Ò#‡l…báU%¦Ëî`åþúöý1è£\¾|qœVÁžE;à—–Þt€ Å)ð›®ø¸­8 £–zZ>0p—]‘Çï;^¹tjÔc™ë?®›s[†n·  -@ß­ÄΨ©@Šø7¨ÀsçØ½Ù€•˜0K+ã)fd5èPXj±EÏû [» -¨'ÙO÷ÛÉvPzõèãŽ@ÀTH`XføÇS›ïs6Ð6ÆtúÃÍ Ñä’)à¸à{›à*tþ¥m -ÀÛã“ã„&ìp?Î"@0¥‡ó;*ÕѰOòžFèÅ‚@P`à›ßþ¿,Á?ãÝ¿·^=4T(2n.}ŒPq¿³‡ÀÏC¬è %~l>á€ô“ÓVÌ t¬»bÚ -€.€‰Ù7ÉA§ô"¦ŽÍ|ü×oõÂõÛ÷î3ôÑã)úá1-o~±¹¹y÷>ÍþuЦ ¼F^i®Ä»Ž×þ'¶§è1@g?Y+€g  c4ÀÖ÷3å0_;Mð½1_y`À‚Î…ÖÃèÅ&¨Ê†ÅpPŸÀøwxÐjyÀ?‹ðÑ@°ƒ™^‡P²^/5uî?׃ e¸!$¬—&¨ØŸkhB«êY!¨ñ?¬r&¸8.Šr—7,j‘Þközõªë•±J¥2ær6äg ÝÏê–ð4¯þ >ªMCÿÙF4TiØ‘ÕGÊ)À}HÔ›ˆðÿ-»åV¦¦±°Y-·t ýU¹.›Y?žät…Vn¨xƒþ€õç„,ê(î¦iÑ9ÊŒìÅÒŸë;a.: ¯Þ¡ø(ŒØÓ/—‹îii8íŠBû›×Ëbô¾­&ÿ°c,€ØÁó»Mp|åÚ'ŸiÇO¹#>Œ(ÀSøÝ£¯¹# j2ÀÿZkÛd !þKˆ, ›¬@h÷Ç C ` úáÁ€D=Ь|öÿùìÚòG(oR¡ í_˜}š - ðù7'PƒßI•Vhæm¤|Ý|þ0^gdæXœÙ¸\À?ÝÿÆ0Á_ºgë«=Ú©DH,LÝèˆÃãv´Éþ—ÍFòfÿ8ÿ퀌„:þƒPP¿£pBÀã¡ôËBÐ&ep é(ý¨8¡Wi¹AÇͺªL¥¶*~ v3à(ð߸d'UjmS}÷è›ßÿ×;›­ôIøŸ`¸;×g‡ä óK¢Ÿä>ß÷­&4æ·älĦ~B·µ Í ¿9Ä€ùÙ‹™\àç†þ)+}¸‘ïöçÜ!‹ 2À¯ Öwnæ;Z–ËÓÄ5L/\¿u[ÏûX àñ¦'onnÜØ¼ÕøÇ¯¿îÚðO…J0€Ì€þ´øÓÚ÷î ë po1ýÇhÇ4+|,¸g˜¸W³^ù_+ZÍ¿AË5CXU -Ö€­ŠZ^õ:: Ä6šþ¥Ÿ‹ÿ‰êðp¹\(”3 -à_¸î•¹ØŒðŸÚt‚AÔ™’¸’¬Q+ ì›5¹àu±ÑMþßååÁ3O‰A~„âgsÔžJ%-WëÃzZ©ÌºYÀüYhÈÌÏæèÝ¿Ú(•] Ìpß±x@Åmåá!ݸ^,½%ô=(ø§Å¾@Ÿ™™óõÒ ± -„|ÂR·­ÿÄuõúØB«ùn]¨N/ág*¶þÀúó/ê/h3úãîó=㛦ïX à¯^Ö2ðP¹VŸŸ_¨M‘ ‹(…{Èi[§„ø[ìÒ¥À¦Ÿ¹\Àçï^N˜ßiÆÿkŸ‚…ùƒG=< -@ -¨Ý Ÿ¨ÿPКpÀíp¿Õÿ¿øs€e1€+W¯\<5jpuùR€qÔÝ2ØÇÒ%b>[¾têÔI*#bòœj ûšÓ'AÝ¿ BÙ2æN¿«úó × ™þ\@}€}ª`“¿Ù~ííÇÉ’}uøÿB0ÁG;ÓûØî -ÿ@ãe¹ÜA[„Êò÷ƒtP€ø?£D)ƒ¡ ð½Èø@:hdç^Z ÒpÙq³•9oöo¯=CþjË‹£ÄèÕu(Ä P(b˜6àë…ÿ"À¿^\ƒ†éb½æ`:/í?ê‚+ -“`/—„PÿÈ¢Áê¾ýæÁÝ»_l àÉc‚뇆FŠtšOÈx»s[!WhÍB¿Ÿic -@)»#€_­‚„§‘á: £€£ -L€s„@ƾz7›˜@ÿŸ.×Öoß¡#À‡|Âäû‡E+3½°ŒÄ{䕚]a~Ùÿ* -À¿üË3Ç€ -øùV¾ÿX¹ Cæùg¶è]§>ÿ~m쯚ͱ¿¢_ž° @z®qš.|fäœ/*äÇ*—õ¿Z< 8âé̻ɺPлæÐþúôHòÓêŒ(²UÏ–&ˆ¬Vß«W†*÷a•Š+ ÐæY`½Q/A“»P¸AΔw£^i4J58˜EÂÎ -}gêçÖL^Ý‹´© Ai|ot‰úAþV&Fþñ–AÝÛ5Ʌ‒ÏÌUËMw. ?•¹<€6YlUk7ÓP6 _%æoÛÐßyqíK›2Ú7D|ß°;ûÑ÷‘/2¿¾z¾ß¾ÂÄìÂêjcuevbd``h``…Á³·%ÄßbðO…à9èÑQÿ¯y?AÿL üñ_2Ð¥ ãôÿ'L· žáÿÑ×N.}œpŸ@­bàâöÉh¿Õÿ@÷#öÿâäk'ÓhÀ&“oºBÿ€KËŸýU¬% ¹ÿáîH‚@|Ôý° Àqús À(Î5 J´þ+ õhô÷‚Ël>+Ó¦`q(µm“¥à¨}<ݽ§õÀ \äŸ'nMbek  -£{Ýð§åÃÝg_h¦0Ý,7ÜËPt$SÜ "SC@Ðn¦¤9÷„`ÿŸJ -åá·áîá±mÓûw€žŽïˆŒB‚òO°›Fi!3DµñÛ¢üî·››×3 ™ÜàÇOÜpkuvDÀ´÷L3Ðî¦ßpÂùXEå¿~C½èˆ ¢X™â»¿•á~ºÇV„gË—Í¥‰hÑ©ð#–raµ}Óî pº\©­¬ß¹wû¾Üÿáiãè ð[ÔQ —¨É+ͪüúóîÿ¤6–ÌNŸž û\Yé /uhl¬R+9ÅXidlX“æ‘1Í#ÌÃCÚ™øí—†éH—:f>Oi¢hB‰gšhç8×l¼Q{£Ö¨¿Àˆû—Ó@+Õç íD±ç½:£ÿ"mép–uhn¸\(9B/÷ÈÐÇÂõê×&ÓUügŠ8P_@%B½X®k›ìÎÕ^¯ýˆB”£¿RòßËUÊi®^‚È(Îhås3Õ)•pu¤ÙôEôÏãG™:;#˜®Ï€Û‚鉈ðÇPi¼ŽÈ~O(:~æÌ™J½<$2R¥ïLZêQeÿ‹zFRËÕ‰&4#+H•׃Ì#JTSjýjZÔŒJ€Æœ¨‚ðÿ¼@b\u#¹Ìõû|-tŸðá=>§þ9 -C¯ʳ+×76ÖWë•àÐ!Q… -æ Û,!þˆ¨ÿÿ&Ëô3×Áô«×5Ë‘¿¬ƒg @Ç`€V–¨ p A€GGÇs€á€BÀû kê²PX¦ -šÿòµ+/Œšt(B:€OÜEà@v²#Ù'aÝÿ`K®é¨;øË🭄™C¡ðKí|ÿþà¤ÿ†ân:Í…‚L²ÊQûŸ<\g‚º8À -@Ö -€q7Ý*nrFˆ( ëþ‡Z¼tÜU¡8þ¿Ð>4€£!ÝønØ?OPÇ‚hB¹ÀÿìÇ1¥q.®x¹]À˜`¯êúõ¼‡V‰m`$VÆ*ôË´V̠ˀ”*3(€™@‡ÀÂXotÇB üÞ#Ð -r†OÛ›ÏcìõÇ":R°`i€2ýQ"=‹ŠìܵÙî Ðþ?=B”1¥÷ƒû$ØÍ£˜eÿb@øŸª€ÿN -À½ÛTð‡î<¸³±Z- KÓµÚ|mv–švAô޳!YεÚ\ àٸݻ -1oen{€??@,3À$á-yøäOV0€˜³U‡Wd’Yʰc“ åÀ‡ÓÕÙùÕë·î€ÿ÷'îsó†':²ЖŒÿ¹àWkã}ÿ«Àÿ¿ü(áúø_Êá?S8ô¿þ¸Rû±’ ø'üü‹ i -0!ü_LøUëôü6”È㳚ð¿6[¯ÏŸk´æaÀ&®óô´Q—*}š¥zƒær9fŸ36úØ™i8 Pà. -ÀúV”8«§¯WGß? ¼TÊÙ)mÚ:WÈmºµ -apö½ÒazÂÎ6£·€©„Ã.GufŽZ”™™¹/ë%]»¤ø§:bFׯ£\§›Œ(SDþ%§C2j+gU,¾7:Zž§# ÀGæDΜq•A]žåSŸ[lç×¾lÌÎÿûÆŸj{ž[äéd†™ü}7ñ=æk&ÆÍ·o$‚þF¦çW6®_¿Þ\¡ëßý•æWæª:©/ýö)!þ“?qò?àü&‡—›¡(>ÙlÌÇo/dW®}Ò -fóV€©à$A¯& BùÞ -@/ ôÏàŸÏÏ-ù_¾,ܧ‹ÿÉ‹Ë"1ôˆq*5Œb™Šìì{éC9üÿ[PxÙ æþý¸ÿà¥À'`6À˜/ÀU:c©ÿtà¿ Ù@¦¼"¦S›løœiÀq!>ØE•èÚ‰ÿ²T–nÛk €oã£ï _jíƒsƦ2“X¨« "ôÏW˜tÓîbü -@?÷Úà;V(ó`º½[ÿAt •å@0¤ì4´ÀÓikôxþ^†DÄHŸš¼d€wHÚ»šp(Á¿¬C°`üOAðÕý»·¶+äo¬T -C#òþi˜ý€íd;¾xü~Óšƒ -dæÀtØ¡ðÓaˆŽ™_ “÷aèß©€ó ž ü¯Š,¬ÞºwëÖ­û÷¦'¿¿µ¡é š~•º°@(6¿^ïû_ƒŒýèu£úÇJÂÿÒ¿ëTþË7~üÆÇÚ -ÀˆÙ0ËaÑP,È…óFª€ ø_ïilpðfëÆ3O­ÖÿÔßk´ê+o"v²iÃÂv“1÷a2*÷AÞºðnqN§gêg‹C÷à¾e0¥Ôš$€ÚxŸÖº²àH‘JƒÃåêHñ<ËÎ6j‰zDÈÎTó¾|ó™ù‘ú\¢‘æ/)$áus3sÂßj¥Tm©L†d|ý©©qý7‹t™V^SQcLàØC›sk”‰—ˆ •Þ)‰³¨•ß7àñ€Ï8˜q¦Y-!4øFÙ;«7‹7ׄú‹k áHSÝBÎ/~®­zôÙ¾còõÉžï5cT¶É»—{_ÐÆpev}}õú†Øu­Öׯk¯^N×m³„ø[l‹ ÈÈ 1ð§y¨þº®c±¼ü7&K§èŠ')bÀî‰PÆE>¾tñC~[ôO -@KàìÇ‚Ùÿ˜<9~!S®ýâÒ…S´HQð‹ËŸüïÿ›[` ì û1{/‡6Øý²ôÂyÍgŸÆÉ{ƒ8+ã ž£˜ª+áY`œ”i›±ÆÂ„Ž@q+þƒß©D¶‡VÝ -xzü˜0Óîÿ­aÉEv¼£¿™@L -Àÿ`ägHwÿÀÆ÷Ç†Ú -€âÙ+[6HÓ­¸%#æ­è X"Wx#H¡ÿ?J†Ð!èù‚ñìb9ü{‘ã¦DW@†ðÿ‘G¼ÙÊBVîdvëέõ…òˆü ZÖë³à$ì8ɉ'díôkàýþ¤m=€Òaƒ3Ó7”£"øÖm€"è’R‰áWcѱ酜0üÿÊt}e}ãöÆ­[·ï¥'¿“ü+tðß-lÃÞ,ï8ƒÿ üëV,û‡éÀiM¥‰Óc?®¼±@“ýʧ*á¿àÿ©Ààÿ2ôþüüü3~ïÇX”ÍùùV£Ôh~é±î/V«ÙªSeÍé¯ê§k›Ú˜k0àfƒÎçê4j[[\lm.Ö ÃCS3sͦ»F¨Öϯ5£^6êåREù Â溠z¶p¿_ì`¦>R,Ÿ-¿#”×MFÑ¡yb½Ú¨¯×ç›ùf•Ø}ݱ¹)*a¡¢Þh*ÕœÓöÜÚâÚç‹_þöf³2R©4Ön¶ZççÑþÏÕ3Så³ï”ÏœCx.Ï€Ø šmðdîÙd ÞškÔÇÊÈïDäBy˜…UZ9 -‡©@þ¯·6«u½ÑlµŸo -橌Y\üòæ—7[_}·5ýî»õÍ/¿¢ŽïËµÅæÚo¿üjÑç*pÞèÏð›A¶õ¥(Š•KNÌŒ:€¡CÓ³‚ÿ aþ†ìº¾)­[·6n¯¯Ôøæö2à~»]º,0šAHøpm3ŦíåýqMç"€Ï>£Ç½7OÉó~Ý€÷MºÔÔVòð?×$ Ÿµõÿ ÿžª®Ä “Àn®8o‚>Z¾ö¿AŒÿi £¾?†~¦œü­°3ßÑÿ‚ ¼ðDC9ïÖý÷ÐŸŠ¿•¶ã¯æeà¿,Ŭë$ ¶:³£¼ÜìÚ¦ÿcá§Rå¶» ã&Ê!$ 8†òìðÿ¡.´R)€Ì¢+ ´ ÝEÑA¿!:€`By×mÞ¤c%ÀÜGóY €¼|ôøÛ““ãÞÄö'Àb0€hH'¹©L¤Î€hÀ;Øs+€`™С؀ÿ$D+bÚ=6ùš‡]_oÌO )§gg©¨íªØ ÒµÊCgã5ðíV„Úm@·~sÂýg«SP’bù°`{‡V -ÀŸ“™oå{ù¶íM>Ðsͯȥ‘[£ß¶ÌÂÿo¥Ñ¿ëÕÐo´Íüºÿô @hž€’€^1oü»®€Òž€ý)€:Ëþ÷ۣ顡ڻÏ6½[û«w+§ÿêÊéJ¥rzþ¯j³5zhÔ£Lœ®œ†ã”ˆlÔÿÊtåGÓoj§rZ¤Ï[þ[ê/>ìŽr³Ý[MöŸ42éJ¥×‡JHÖàܰê‚W† -¼b!uÅÐP¼ NŽU‡K‰ï†” ÔÕz率Š2ÒE:0eÓ¿^DÉh~chÌ4×÷Š:Î.n¤Åà ·•™r®8 w³C>å!ˆšLûòö‡Š%ÁôÐà+Céuëj•…¤•ÊjÙkài[ï­2]óˆ -ŒÙwúǧßuï»x©TjµÊtåÝJå¯4ÑÇ?Sú¦ öùÞD=_AW§ðÿ¯_¿®oÈuÍâÊ"ÌÌê6µ€½Ý. –3LéêêZí7Àïo/PR+@ £'àî€/ Æ;,)½Œ44H ’ÿº-1§Nèg`ùÚòÇNÑ -à‚;#Ž:€åkÿ;¡ *‡Îèg¨ïU¶Õþ$´ûW7½YP1!v|¨Ë×D$ «ýmñWÈ€Ø30 ‰k¬ƒØ´m}'mf¡^ËzàŽSÙÂvPò€„ÿÁ!hW¯åagu,ÿkÊÉÔYèάÀý !¶P’àVìÈ…DÏ¿(:}àcu(0Ð!@[¡P0ŠŠ -€ñcT`ˆ@nÄbò¶ãk -€éÏ[$ôÏðŸã(2ðß àþÆÈ[Xè“­¯.Ìë·¸[­.&Ä‘ Àƒ[Ý®RýtÌo†Em¾Ù0Ыµy½S}V¯°önå]öh»©:ߨ¼ûㆋ"Ôf@“¾k0}wõM¸­¾¢”Po¨º°~‹9àÿuáÿíÛ·îhw}µ1?ÿÓmÓ<€½Ýº¿á@E›úÄÌçòå5u. ¿×ðÃ/Œ¿™Üo`Ø­»0yiùrGzZBü-æŽD®Ê³?9¾t骀eº!:uR¹%þþ´|íÿýÙµK4 „‹œÊPÞS@lµ? íþ•7­ÏÛ7LëM‡;?”Æõ°8*‹ó!û{C;Gî7Šg -Æ~–Ø;Ê-‹odööÿmG;)@_@ŸLÈÃƾ¸ßÖö»ñ -Œ¦„˜îÌ͇²ÄZw™uC¯„Û`uR,&Ä•E+1‚L ‚ARÄ1`:ÇPQ"¢a(ʹÛ,À0D:\‚°x¥‰é<}+€À N -`°’\) E„Ð5@s!™~Ëh†<ûSQ}Üÿîô3Á·áXØË¢ Ñücü¾¤8êñkºðVü›#‹uø%IÞQȈßËÈ(å?X -ž™,xÆ–ÍX@#ªòÿçæë?®ÖfÅÂV¢ºVks“~¾{䆀(Óë4³Ê8@zÛÙëÿÓ¸Ÿ)B÷î€7²€7h`Ö_ÐjL ‹Ø?8„ûÏì¾=›®N/íìæÝæ_­ð/ØØ\[ky7[_¶7[kû\€qk¾€,«¿—à#*pFÀY,*‹ð_"dlÌM 7Αï2ëè;õê{åaí–‹/ÿ…ý`P¯º;åb¡\¥_¹s\W_[\x.ºû!á°;<_ -lGçµåbÐ¥b]—ϵY7•‘ª.š¡}añP±:3\n6ÎV…‡KUVB ëåÒûʹQŸsE1ºX÷8×h–J3õê;gÊ3SJ}˜Æ -Å⑃bbï(©.k–p¤šÞ… Ó_ªè¡¡Ñ\k5‹ÍÖz­z~­©ío6¿ÞüñêæÍæ«:¹øOA}¹øÒzz¡oáD‘¦ë ¿¡ÿÖ-ÁþƺVúh¹‘œ…-€¿Õ©žÊÄ@fЉÍlÌú³…,€Ø>xb¼Ýî®Ví€íõWzZ 0>úf€è€f€" “YÀ€ÿý3Fúñ3Ô÷*ÛjÚý«Z¼^!¹?ÆPöÃ7˜[à$¬ Ì-ô¾à”¿ŽjnN…) ÿu½­=§IÐÖÿ9탌%Ø¡ôWteüó˜dD.:ˆþk!È…µ¨À‚]Ý)b¡%Z¹@6ýY† ÜŒÎÊ|ÀN -@€@üŒÀÚ1žt=@Yd )ÜÊèO%ÈÞ©˜^»Ÿ”{ðä:©ÇO8°›"%ü÷"ƒÿ\ˆV~ߥȟð4ûîÿŸ¹ÿû뺳}Q ÉîjÑ*¾4¡8j9b H–ÍM(6+,…qÓX4Ë\ͰÓ:î¾Gt$èÖm¨í}[àF^‚ î»ûV"7«0dÌ#õ¶œh˱ä7¿åOH÷ãÁ}º÷åŽÏøÎµê‹);û[Uëç\sÎZd­1¾c~çœ5¡ëŒ02{»)w>ó< ö2ùê¯ É\Aw¥fUOúÙÙ¼^aW DKäF ͧëeúOE¨ÈëgD€ú”eÔeVõPEZã_=Š28Ý= ã/e‰‰`zö&x‹;&»C̾´üˬÑZ.¹RÞš¬}uš×ÿz&Ü÷ß_?3ýÜ”©²úÑ»‰f•Jed¼¾¸.¯c üú¯¯G#ÀæÖÎÖ}‚v¿\÷Ùõ®^6p¢´€–Ňkú4bE®\>î‚`?\ð —/v)/Ç|À8þ]1ft Hˆßg ñûì¦ChèUÞgÂËA0Ñöµ›?þÇn^ƒ¨.ûRþ‡3Ary×ãþ{;n· -ÇS˜þ눌³¿pÒø¢C_}yHf`€—Iu i½ç¼ª±õtÿ?YTt -^½ëÜ»HøÊá°ñßfÝ]V(ønûg3ZŠâ• 9À®ç_*9Uxó ¨eÑ -€6•Ö -€i Ê¡;À#ãý»•!ê`#°èp4nîA‚§[‚ #’-Ð_r•m@Ú¿ÿûï~ûùgv)eLÿ_Fν-ŒÌææ¬zîm‚U|€O¯„ø¥€ñl±£^6à»v‰t)€¿[Y¹<^¼]Èî‚õ£à},; hE­Ö˜iз‰Ö e °½èßnoÿŸòi °À]Œ;ÚQ - nþïÅ&Í{z Šÿƒc@–½ -€Ì1î ¸;*úàÿemmí /î,Õõ“ ‚ÍâUì—™0”ž?«UÒG¨ÉnØtõÛÑ_*P©Œ«Ž 4G+c£cSõñcµKüËéø¨°ÔÿV"ÕêÀ`…á -ô·§g+#Óc‚×­•±üòK¢1\€lŠiz´~]/lzÊ/¥Ô¯¶~Il¥²SÁ*ÇŽ©ªcÕQ•ÝèZ©ŸÌÁrÛÕåÈFÇÅQŠäÃÃTvøÈðá¿Ò©**1; Bê°]Ò¯öRA¶—uÿòåüì±¶à¢eKùä$—Þ™Ïm2ä=ÆÆÔÇZíl°å™ÅÕ-"7¶Ú;;[â"·LÖ7¼€îÝ&H-{ 0jØ„ñîZuZ„`€N…ÑPÆx>àëƒbŒÿQxÝ1ça˜¹nÜüûA°îkM àòæ -Ä/ð°OÛÝàp€]xäþâ®sÿÙv€?w]p -T± Ö‘>Œ?WÆÛƒ.°ßf5²àoëtì¤ÓJ\nbäþ¿-üÿÂTÕ}Ätr>»î:4Ñ=LPíœ,úC¨T:‚‰;1G_<…koÀ?DAÇqçc€è&PÉC© à”.¾ø‘®3ÿÌhS¶„ê%ìètÜ$}½ø™è v(PB‚gšÁH+[‰ÿ½ -@„0ào"°PðxÍLð\€4³Å9»—á²ÓF­úòiöÃäUìÑ bx<Ÿ] -$at|4åe9 ì€@Ѻ–˜—¾<åÁÚLÆ73ÙQíDÞö; íí{~ý)#MÜ<ã¿@ÿ‹[þ{”ÎŽ÷*gûb&ÏF €l_ -@´Œœ4(Çø -€òÍÿeí§k¼÷¹öâ£å™ÖÖZ}c“m¡•£É‡§?{i¶U«î„~1>òÊýJ `…óÕCþ¿àÖë#CµŒ?õØXõ88öº@Xëzu$|óaa3‰• - [®çuÚ¸N%ñªç€{A ¦ª—F*¼îÿ$&ëquÿSS‚Ó•…úIÕH׌MW ‰„¹ÀdÊâ¤~o1ê2³`üŸÎ+ÕÖt}Êõ• ÿ:rbøø kŒs ¶1RÏ?H”¨¡ ãÖÉZKLï°¯5ê!¤,d ÛùÙ™6·8öÓ8Î_?:×¢ó™ÌÔøÑÎ-®Ë«ßõåûËõß¹/ìß¹{wçîV„Ìô[Bü>ëÐÂ8ÑeìÄoòý) |ënD @B_Åmž àÜÅk? - ; öªD €ƒQ´ý¦cÜ ÀsÈäó_ !âòÅ})JÈü? ÐB½ôæƒþ‰øv°Å¼/#0 Øái‡÷Ó˜:½ýóøÃj/ŒÿiGÖµöì^ñߣb…´ÔÂð[4ýÉ^((À‹ŽE(KÒ5l«å¡S°^¨lÈg _cu€¾3Šª ‡KoÞ—E/J7Pጘšà"4˜3øŒ¾ dÕiHF× -ÝCÓèÀ-Ð=HPðl…@¥°‚€\(@1€4@¯û÷k|bf¦9×”›ÜÀ=HعÛâbÔwASÒê÷có +Bm€¸PÂ3O#YGð8Äq™@Äs‰ üöJEwÑÊ8€¤ ÍÒ²³ ܙǜ¾]j#31S%ÞŒ·Ý½·ºÆ(Û|; (@b¿?à[gÿ{{ `|ù”`VYOWþ§d>^ àuÈ%ƴЕeü¦Võ¬ -0ROW Û“÷P>6Óñ•PlªÙÔ/Í^Z˜žþά*Òš‚ÓØŽ£ÿ9txøÄè(dE(íüÙF6íÄs€¬.À+ËféìG#Àr#z, -ÿÛ?9Ûh-/‡ÿEeˆGô/qfFLX €y?´æw¡ïYËh É_èOôß/ÿÖý»[©¿PŸ×,)áÃñ<5¢$3¾” >?º.Ðg@6  ¯€Ë(IÇþ£|ýås®ub„ûûQ2€eÀ{WQn àò…óÒ“ðO(/_db#~ú^[b.,ð5q˜„οwþ€Î8È0€tßKà›®¥PݸFê´ÉŸ ‹?ŒÍðP±Ž– -€|æS ÎÊHÒø_îöúÿ¶½Þ]½("å -SǪGˆœˆ0ê; ¬äöÇí™Ïg˜ ß`  -À)R_(cL+P ©‰¹ÀœÂºô´2r@XâºY¾Õþ¡1þòûVdF£0ƒ?Ë€@à?- °7 Ôgô˜œ2  {ÿÎAÆ3ê¤ûé[#0ºÇ+>N;Om]1©@Ä$Üg¡Ï@ù+#2|V/€8(s«ã (ÇXZiЂljõ™¹úÛ >ój•šæÂÿoÿ¼ °[èÂ3€dÆþßþ ý_ HïíЉø)@K÷(ÆسïN @4„øpà¨c(!|z/Ÿ½æ%üÿéíµü»Û £C—tÀš:m³õyÁ¯PøO¾M#½Ûî-T³ÙïÈ[«Œ8tBh)Tê£}ZÐË 3ÔëóúëCuq…1áëqíŽ)õ‰p€©±K•—rýÇЂúŒËg,·Ÿ^­Ž0¦Oõõ×Ç_+õ©É_ç3€  ¢!ÓSÃ#´ã•ð/{Éø?Z­Œˆ‰àû«:}ÍéKÓâ2²J%çpª³®9|èðaëÿªâ‚ÊbÒˆh’é’ƒÛ1¿óÂZcÄŸ'o}o¼A»Šg^0Õ:‰uÁ×OÞà¯/üÇÎÌÜÊÊÆÆæú¦#ÄvDÀÿ-:®2Ãý.ëSBÅ,’Å6Ëøýú0 8€ üø‡WÎ G ý]8>xRN¡ì`F0Øæ÷Z' £¨2·þþZR -páòµ›üs¡\¹pþ5†è7pß=„ýç¼Nýû5àD€\ -~hècüaN†4f²9®÷¶ÞCFí†û´“EXz9vÒYÆÇã‚Øç„@­´®Íd/>[Á€ç -°ð?®!×&('ƒæÀU§Ü ±°”¢½Ì<pR’B€@c°Pò(]_¶T.ža“ˆ“/:*ÀÞ€8'òêóÿ¹¡þ“ð5ÒxQR Ï4£—0PÿéØ× `e%õh..ÎÍÕgÆÅ‰rŒkàí@SAma¯€ ˆ.Ô@Ù€­—’DÝ À93¬;ðºü‘žUäGF)7Ã~_ @R"Ñ.û#d -¹9™¬ÑXÌýuWõõWVòÔÆøôóßýtIøß‘`vÿM|³Áÿß`dß^@èÞðjŠï`ß -ÀQ3€4À4€£Ç¾FvÊY3ÐÖòÚvk9Ÿ—Ë*°J@@v‰ ¼KoY^ó8µªGæ“™ -Àκ<_mŒÑÐh˜éj*•éÊQþf…øÞmÇ­H^©œðŽÅº:[‘ç>=Îëcà÷¦Ÿ Áu¦ô1ùˆ&A—ÁD´O¹¤ q†qFû㺺 - aè?¢OE5 h?9?Qæ"kÕ{¤2oÙbIƒöÿÃÌ|\ ¨U=ghCZ¦¹+Ú®ÓÍ@d¶®{ú½…w²ù…{35ÝÒúÔjLû¼¼öaº»å\àÿxÕ^?Ú¿(¿Hñœ|b 粦~+­Õ½Zë+Œ™!Üo­·76WctÀ~ ÀßeîPôo0º‚ïøýúˆú£@¶·Póñ¤€vbüû`°Ñ àÆ \þkôøQjÐî†!rðíâ•D®0GëòÚùs8ùç^;ÿšÞxý¯‰ðÖB/­t,aôïÏž°÷W ¤~¿¬ÔÒ}'•OŽ °âoUäàãÚ€H(8‡|­Az‰( „¶pNvúy½þ¿AþÔS]_*®ï©(DyéKuZ\}úã|Â|U«ü2mZÙ·âïµ2(¶ñãɦ£ˆOâý`øye â\:@(/þ1ߨðOó? 7„ àÅs%¤*$ëQÒ8Ü}û„ϰpE•l€¡Ä\Œ¤¥¹z€$ã‰ìo®¯ÌÕ‘Æé4l¡œ@¿Ý-7BîP×8…ì¯+9ÿ{õp @7ükѧÄHÀzÚ’?Y±o¯zÀß'9BI»Mßk"xs $“?c¡S&ìw@¡XH -Jà?·µ”Šûþ{1ìß§D/€®€4@_ˆ+€ÿ§*ļ -è` ÅŒŒ|C¯‘Ä$bËkK“íå~üD¥^9Ä¿HøþGz):ÞF¨`Â`ðW àDå„6¦ê•q €ýQ¹áh”£,aD`.C´RÕÄdñ€ $Sy²›®¸_BuJãx¥‚ pÜUAÝg»ø°ÔЦÚcÓÓ/Uô…h£8q‚@†8,¨ˆŠ@ ÆQè¯;‘Â"èÂ8[¯‹Iáÿg íF ¬_Xh×'sÁÿ²x–Ñ_ÆŸ^¦ßš~+ÿŒ\}æø½‹üCÄýí -ÐHË,£EN V Þ<Ðà÷™€4`€i'mœ½ú{Í@€ô  d—/2"O( páš’&?ÿð` ¡Èã¸òÚ¹ WþÖ -1×.Ÿ?O¸Ÿó”]¸|í½þùÇ HeóçÎËÇ—«¯žÿkç;o-ôBøý7%]&ø±ðÕ£/øFw1ã©7JÓÂgý¡y˜ Œ£7( »,–:´¾Ì_Øñù ¡NàzsI»ýÿÝ&žðÔ^AÌT¿Ä ¢ çt,°®+d/ã*¡­ŠêP `ŸÂþ^é"â)RV$p/'púPäëÓ`·?bðþCþU…N6þcÑ °» ”€Šáïw‹ºé$8x†á‰‚G] -À. 03øü³þqÒh¸wܽ»³µRg(`ž oÒ$À³ÇðÿµÂqt7îÃzï«€s±`OfX¿0j@— è ǨGPeþˆ m®Ôn«Êç©ÍÔÍÕ Bšïë§©„ÿ_Ž˜$€°%À†àÏïÅäÏõ¨ß× `€³€=zýû€h08ÿ/;öDü‰)<NýA¬ÕúIíà Ԛ§ ° Öi³Yµ6_ Äß'ª.@C†‡OL 28ËïðFèÝñw‡GŽÑUÀF"Ha¨¼4 þsư “ÖÞ¿NP œ{Ž&‚ÀQÎ •§+0UB"¨ÔGŽ*[ÕÃ1ŠP€d®@udØ©0§òL6Ʀ¦NV2UãÄñ'ŽÃ,D@•W©Öë#uߺBÊ:ýtç˜úÛ®£d wjt´Ìóï¯}¯$ð‡ùùÉwÛ4†ÍÌi•-f`¦<£'€~z4 ¢¡¡Ýe ñû­g- '6«Ð±m(ñ§ ÿÝþÏ À K‡ÿ(gN ª àj@€¿VT¢ €is¸â‘“@wÿNs \å ‚?*€ª%ÌÇç7Þóìç ËÔ¿3vÌ÷54€õ; @Øí#Xg„bü¡„´§† ð&К(ÝÖÁ~^¸ùBå!Ð’ ¥<8¥“Ñq™Œp¹>£›þž -€V 5Ìë,Ä:Iå]û€A86dÔFu½á>8€ -gíc¥Ê%èŸ:j‡ßÛ1èixùÔÑÐç^ÊÇ @¥Ûý竽8ŠóÏPºCº&ð_;©ÃJÀ_ôšڗà_¿ÿÝøÿ MøèñㇶV#z’ -*õ{Ÿow›[ÙeòÕG…äà­ÛE±€è´]‹hÀg̰‡I°`3ˆR/Y *p>€ÄQüN ÊŸáYVñl€Bý‡÷¤¯þHÞ?sÔXøô³XÀаqs¹ÃÜè¸ñ¿ÌQÑ{{tæ ÷? -€–wx~à›#ßP)ÏÁÖ–jÛËË!ýG€#ÚÔvé;󂸄ÿpÆ×åXãZŽáaOš ç!9Ëã•C/ nOé€ùðñáÌl#”?®íÊð1#x ¯®RÞªÊa§é]ÛPsý÷û” —äúŒM Ä••ʈŠÁà:OEþVí'*õ "*Ã!ŠªÉêSˆ µ;›¶]Ì©•[¥bîBï?ã¿ü¸"0€jýÒHAˆÂbædLwnyáO–—Û¦4øEm‚Ž•ž7Á.`.–š~-À{RÄú@Öl,6ßÖÖ q²©áÎ%)•ÒÓof€%Àï³P@É»€P~ûs3`¿À~4€€L‘w¥à‘€tħÀ›Þ8¨`ÿý÷n\á¸*€$/ÚQhòú!(–#€öÂáOkU8Ñ/^‹ƒ¿×F`¤Ï„ÄöÑ}º€Œ›Þ1†ù„ëïåÿ -X‚0bpPðÊn½ÿpZ†£¯?.ãâB¶t•¨2ziÝØ8µ—À§ˆ° 4 -qÚ= -€á6À—[kìfÍ -×_ ‘/(GÀ,@÷êô)Fú S1E6:oàŒî`"At[ƒ|¸NÚÔI÷H”Ä•Q¡ } à4u§ÓŽ×=1®·@L€ðt+`È „ ¡ÜP0€NàïP>ýäã M‰ÿP€øðîJ}øØpe"„jøûÌž{Bíñ1KûVÜ Ç ÷ÅÓƒe(òè; -@éü{u÷€üŸÕ  ?€ì‘XÆ‚ìÆS¸óâêÖ]Oa›~ØþùÏ7?ÜL -@L À  -@þõþ=1€WÇ'…äßJM½½ŒPÄ$¾þï_° tÒþ’ö½ð¯eôþšòûà -s3À½Šq”OÈ Ú¤8äš õèQÆ8(³§Ïʹy›Z«:ŒvÒX\ݼ»óàÁÇÊù€?´ðáæö½û¿úä³4PàÙ` €»Æíþ½àÿ丠ÿ[»€½æ `_sðî‰` çŒøƒPœñYÀÒA^KùZ«öIo/@ðö€6¦„üõº Àë…f>;`)° -:mÇ’‡/œ”çLg­Ðˆ.c)0ZH¨ë¥2®uÁTexŠ=eàN÷EŠT¨L{âÄ/UŽÎù´qÝ&2" Ÿ£û¾êP©Ëÿ§"º(@UWÓá°>‘—† PÅD8 6oT‡+â.àÈ¡àÿƈT´; ½NÀÁèëúÙ¼^­¶èxè ÕìÒìŸÊ݇œ­çyë¬GÿYXøÞŸ.ÍÊÈÜãèGbŽ ÏÜ4õ7›‹ùâÛo/fÌ-ä6ùÄâç3§pšW¸Ïà÷YŸÐ× @[Þ)/Mެô²½¿+ÓnR^N -€ãþ¯Ú÷—=§àß‹NAd"—Í?ÊtzX0²ʃøáóþrû½ÃY×'ö—l Ñ³“.äÚÕ€u‘Zx-œ„°ÅŽ,zàMš€âÑ%LÀg``Èz©¡£]Á½Ø‹ =•fO€Dt…K ½ˆÐ'|î‚êè F²ú!x×]‘€Jb`Öéæ÷‚ñKJ€Cxüf …PÄœ’…ðÆEƒ4;°ê €œ?ÿ—¡ÿ+?‘}T|G нÖí žLK -” á)–à?64•@p1ßûÅfGxœ )|guî¤d„Ëã À=;XbÚÅ  ÔˆF°= Eˆ‰@t—àüŒÐ‘c_ ³F^{ô*JÛ­¤fŠnSBÏÂ2“­nÞ¿ûàÁ㇟¶ÉL@ø¯ž À1‰$øO!øVsÇ¿| -à–~ù·Ò@@½½Ìãˆ3¤dR¢ÀÁü+Ä@- 'OŠ,à•/¯å3"0€h¿ß1€Úp׿jÝ}æäùê§½Ý'pˆVF§„óBúªÎ0$PŽê*eøÿ(:®«Žžp@³ ´Kðàèðð˜öŽŸ¾#"ÈŽG*§;! -q¼rìXå%åG–tåã°A›ŠÈýw_eäÐKÕc#Õã"œ¦ÓĪXòàZ}•áQ ? cWõ³ÐFÔûÈð¡¤)˜Ëêm(¯W*™ßFXVŸ•÷âÿËFóÕf~¶ø¿°´üýÖÚOïlÛpÿeèzúQñ÷ì˜ Ž)ègÐ&³d-Bd8÷"Z¢ˆ&h“ã»LþúèQ 9F[`H÷G×tð¿0Óówð?¾vþœìÌ׿~¾TÊÆ‡˜\MàÞgW™cDÞSy°ŠPþžò_»°[¸u󪻄P€¿`Þl m—œçDBì/Õü!€À¢^ ó£@ŽnE†¤€±Vþk´6k%0”špNDhí;IpZ ]k%|Hãn®×aFgüòÜš"wÆÔÅG÷°¿ €v©èz£=ˆÚ[:8[À9ka¸7Äèc1€Žä臘 xúÀ=ë @—š è --ºÊோ¡8î Èw…(µîg|ÑçUxÅ"€N@/þÇH€;ÛÿµŒxüø‰_?x@žÌ¸À®põuºãKœÿ‚¸€g }?žÝ°w/€ˆÀJðïWÒl€ûdÅV¼ýDt)»cv›;>U‰ؼ{_àñÃG ÿŸ´ÛÛí;~øáöÿ‰&À-ÿ­pw“ù–óþrÍ(/w~·°×\0^*0l¿ãPþ·19ó:+üéÂ÷g¾ônÕî´–¼¶µöÒì%wÿŸ5úËÏÍFFÐꨀŽñ}PÂÎãÃÕÊè `»r¢*ð^Ã¥Ö‰1Ái“;~Ì@l €v¸½oíé°ñx'A‘D¯Ò8‚àÿðKÃPÕIŽ>A³Ç’‹ïK”‘ˆ‹*¼; ·›º?ÆÀ¼) -$„äÔqøD5ñ‚#GŽ -Àá#A\neêlH÷fº: QŠŽt~œŸ½”å(k÷ÙÙF-kyˆà…%Ýìåµµ$µ ŸTöÃ/‰$ëG)ð¯{0ìÆÛt‰}ÿ_+++‹M9úìg|Ž͹ŒÁAŠ¡3{ßôžßmOWd±£eÀIGèÀ4Ä´û½aìŸ;§Gi'¿T´í©$È﵎pÙ™&à}÷Pne ._¹zóƒÿç­QŠc\C7øS˜·µè:–@ûK4à `4È œ½}LÅ ª…9¥Ìa9?Ÿtx€¡Ú(¯ÒÁ!8^ÿ8³±òÛY¥ëúÍþ?¾ó¾büE (® -£ìû¡.†\•ž;È ººÎtÓàórxϦRôD ,gÂWGï/² Ï]ËS|ÎZ1  ¯ûŽ@0P‰DR¡ÀU*EÕ&;A¡„qÓ’ð1C Q‚&,àß —0ÀÇÿ­7à_¢îZ®^i}ïw¤Ý™¿ÝøŠL¬ãpóHу)Vá¶³oó s„ØÝ -@ u,{àÝ -€. €—ÁŸmå·; è@ìÙu›r†T'fšë[[÷ź‚~¾Ù–ÿðË_Å@&€ P¬Å]ÿr)@À?¢~ ÀžsÀ\þì à9bPè¨"”§xÆÆ¸½½6sçeKË·‰Èfë̽·lô@ÍOŽ0^%›ž­gÓ´ -¸]^8,[@6Š `,ÕñÑ1ñùÒRìDµ*›:TUz.6¶Ë„«ÃˆcrãÅD"ÌŸír;_ù:fM¡ªÔô (4ù—F«òþPP<¬›øµº#ø)I\¥2ø€²€Ñ+@ïPAØ…ÊØñÿUð‰QÕZtZÀÈŒè¯vèpâ b•Ú±â¦Ä–fg ›,l6oáý/ÿεZãìÙ9ž_øs./·¶™JQ6ì@ýÚøIʱ7þËÙgT >"£ù¶ð^ïEÎjWœ`N!'Å ¿ßÄpØ´©‡zaCfü7ævÙ{·~|óš£ò K -€cÎ .„Õ2a}€?DÀËçVÞGq€¼ç‚‹LùÓ¥\øGfæ˜ê"€/ ¾õcXg;Áö—eOÿ0|xk)úÏÐ&ÓßÅ·=¼cü¹ì\sÜ -aýB¿äEûWù:ºŽ‚µtà+z¸ q @x Hþ¿ŽïS(‡L(*rA€¥ü/Ó·ò„ÀÒc€„öH¼cÏËÎ_‰¹ Þðp¾äT*ï4øªŽÀ(Öý_>sñ¢’Á¸GèÿVb ]E4!yÅDIþ,ÑM¸¡þ¢ÏÕ À dHâ]Æt€ðoðëïÞiÀJÂÀ‡ÂÃûwWÔó>½ *œ'´.±‚N/¡±­€ho;po^Ýã$ðߥì)Ü @9FÑ À$¢Kˆ€r€ÈÛOïÂ>}j¦ÙÚº{ÿxÏã²  }gûçn¸ýó{÷ÿû'ÅdPÿ„ÿÜtß÷/ÿeP€ñ -À³æ  `? -Ëb£?m4‚¿ûOO@•r’í<_Ù÷»uïÍOÖZííí;·Û­¥á«Û ?šêßœ·Ày¸®ƒ(ëÚLž6Ùà™W^åBý$h¡]‰8>VÏáG"ˆ¯ë—àùÂ;8úy³±Ò\oeòÞ›óÝVÏ,;yr¤B ~¯4096/ƒc çWsx€HŒ`ά _YÕImùènÖ'Ͻç}³g$Àp8ê½6T€/Å~‚ü^»%»NT~·½ÎDOÀ WôñP’û/{.@ÿšÞ»åÝPèPpùb"¶‹iÄ£ò‡umz£› \¸œû˱@>Û`"n‚çe_ÿ-ºþ$º÷NhD¡®—@ßà? þãq¡ü~Ô_øÏ›+´æ¿9>]ÚmÉÿQØ»ÉÈ‚\È”¯™õ*8âaÀ? @XÎÕЋäöÛ´*¶c€¢'€-âã@€ŠxOfY ÅèE”ê•WD”±ŒÿÐeê\c ²S"“ÿ¯•.æFó=ŸGýÿ DMa&= -€|ÚÿÝï~K @O/÷ƒ“ Ü_mèYÉ8!ਞÀ@FaW€ ÷à1H#í£Xô™uazó `Z¨­íBP«×[ä×£h©Ôûï äìŠH:…Ÿ­¥œôÕ3ÍÕ­ûwèÛ>~’¾úãmæÐkûÞÇi(ÀPº@(%Hl+nÿ—e¸ñÀÿpßðŒ¹¸4Ù†>à\€2]=äaœµ­'Ç'÷ùuyÕmÐ5ñ˜É F1PõUSL5RíRÔGUÕkDkÔþÿùLìIJ{¿gã/ö5þvÃ#CÇôWä•öGÄÐ'†ôƒŸ¬MNè_eòUý(eñÏb ¯_†~Ršö› }øWr=ã‚®¬äÍlQïýæJ¾º²ºªSÍ|qUìm÷+ùû}o-®tÍà&¬XDÊ…Þ·}ÆH@ Ø!—Ýõà<1ç.\Si×°W¸rõ9J$æV1Z\»øÚù+:ÀÅËWˆHÀíû°Ëñ¾ø¥J D{·¶Ó@4 þ64`ÜèšìNë°Ç_‡H:üx°Éi8 ÿ­àˇÿySÙSŽ©A¿PúÿÊz -%ŠXþŸ¶Âê«û›{Ó -€sQæÀ©K¨£% ä&Ç\… G ðÃã?à'ÂÀBûæVt÷¹€M-\2u —‰¸ a2H—nœ¿) -_Ý‹ƒ(àQ—V]ðŸZþíw¿º¥É€:1É„ÿ÷Wë&ò•=öÉÈÈKå Ç!dûÀkÏu"á|¬ÂDöèà‘‰ÿ¶>’0êqÈð™½"…‚$á.UÆÇý„L/Fh'ùÌâ: -Àýà¡\QùÿZÞ»÷‰czñ_ØßßÀíNwÿK³Iƒü«ôxu¯^ÂÏdýsp°¹žO8ö¢f€Ž02ÔÊW~²¯wžg¶ïlßû¤ÝnO¶ÚùÂB>Ÿ_ª7ŽkŸšJãùjç-Ž0íeJþ6ÃØÈsfŒ£å>aÕ\Þ>òýð‰aÃøð4ñËŸþÊ1Á/¯q9Nú1–‡µqXþ|elTÒƒ€¼ðÌmú§'3Òá´c‡ŽÓª¯ãòÿu)ÞùÐñêôñÕc¤Q]RÒÂÿ§mŸ (Ò5>^%‘êøð׆­ ;|hì•Õèf€CP#¬ªõ -ÀøÈT}š¦äÿ{<€·²|"ÛÞΗïµîm·òÖòòZ{¹ÕZjåí–À]/ßS4ÆlÔ ÿ³ó_Úêb.¨Ï›+æ+ •°ÊxÀZ­ì1pà}¯¡ -üðüû“@Mr7 3Tt˜á·ßþáÖAÚÊb:ज9s!fìÄ€û‘ò@ -¾¾ì=~ŠpP® ÄT€àý• ×n~ðO&*èrW À +Ÿµ‹Þ_ÜŒ3=à?ˆVG_ ú‹ÄßÄPÛ)lIH»üqXª99j‹k˜@Ùà˜ûLy2 [g”&Üí.#7ûÿZí9 ŸBpކZ_ ÃøÓ—Ö7dð}D€B Ê‰°€o”r S" V‡P„Bp.4'h€ÝQºfT>ûé üzmYÉ-M_xÍDefqƒ@¾î“D}o3^[Vè €{W€ÿ!ýãõ%Ú¤ð] @KZÿûc„îœÙk.»ÐaûVº‚ ìȵ£Øˆ4Û­43dé…|9ÏÏæí¥y:ÿHÇ6Zß{ aáßà*ÈõSM -;|¤4* ^ô§;rä8*àå­Åðá¯_Äš@Üõÿ‰’(q”äÓrðÀÿyÓiì8¹\Õ¬¬Û$ïmÚ‹ŠÄõT¡hæ×‡ƒ¾ˆo×ÿ‘Vy0XAÄ*LU‡«FpÿY}º>›m3àü¼#ts—X0I -*¢Ÿ›ûùÒÏ(¿vòþ_ž¾/` ‚üE9ÿ«ë­þuv˜á¾ÿÅûJ×\e Önô¨Ð²xÞöÙ{"1pÀ¯Í1žlïëgÒl€}1²ƨ¬àú{ð÷7o^½xî|ÿÑî_(&óƒÌØ¯ÊÆ;ÓVÂï/jÁn¸þa©/÷ÞT,þ"˜G·¾Û†ìŠú/“ ^D¤tÒp\ܾ+q‚ñ6—øÂ¨k\f -š‰ÎÓêŽ,ê•d¸a½ÁSœtÿxÛþe¡›©3˜œ¶‹Zø¸ŠQFê2*¶P/ºbP ‘ÀWq’€ÿ¯ü^<å€(Æ•aqàüÅ?àôiòJ5(û“îã1˜ýx±/+ñ¿´þ…ÿP€Bø-Ý+î¿>7|è‡Oê±23Qé#'Ám¯E^בÀtÐGßd»@ï^ {.ùøRPŒûÊ…œí¦d¥T{Ç)íxYa_94LÃøøÌÊúøÿðÑ“)àÉæöööæöÏ··ïÝÿä“OKÀøï&€ÂÒíõÝæ¶§å—a“Âòñoáå?¥@W @ß\¸ÿA€ÿ§*]søŸGˆ‘U€u+0Œ!Ç?û-k9ú_¨4ž/ÏgõK³³ü®ÿK/½DK»ÀîquÇGÕåNˆÁ~>¥ÎuTü~…|ÀYiÓyô2%éZr´LZ&fÛ›,8Ði¥Ò‹aÖ1ÕŒƒND&±)¶†Êå¦U¤K'úŒóé—å û¢ïÔ‰ŠÇGd Àj}öd›‘•ˆô==°@aÑpR¿bþçšo§(?€™±äê#ù{î·˜7ccc}CKÏ¡±ÛÀú] (æsz!q] 1Øþê3€NQ€.¼vŽ9wÏ@nÄ\ÆãûûV¢¬R@p¸Ñ¥\>//€(Æ€|/)øô½v¹x%?Yg÷JBð/fŒÛ›eÝà?€>å!ŽñÅ–¶ý'ˆEaþ‹qˆítåoZÆÑ®+ à3úþ[…"]æ•íE\ñÐäY=e€SI°PÁ· 1Á€ @Ëp·Ë¯  `·}áâ  ¼:uÆ -€‡ˆÛzËe‡¸é‚” -€Jæ›hÿÔéWBàkü¿@³ÁËß _ËÿÊwi¡Xˆ¿ £&p;°Wª¶[HA€ô àW÷»€„ÿŸ0,ÎFF¼¾þL­ròØ¡¯ Åkx÷€Óíg´u(ü ì×Âþ:Ïò06í¨€ -@8ÿ‘W,; -€’è³ê’}ôPezz8Ë×+'þpøÐWpâôxÅõ£¨/nnÝøðþÃGq„ýñêŠþw@¢˜XkùÁ_æ–p€qÁ¿à¼?àsˆ8Ù{X8ÿð(b&@  ‘íã-ƒÈòül– û=ž ¯ö%óa!>=ö¬£ó_),F‹1òúL ºZÆ+ÞZÐS ƒ®ÚÒ{`éâ”E‘SJœ® v"|üîÄ||ŽOÊÆi¨rÊ'’6g”¶wYºV·Â„HÿËÃî¶X9ÁØG½ªÓӗζ˜L)õ¬df€¥å¥¯´% _›y3º¼íNÄù-.®®ë‡òþ+«ë›«+²õÍÍvü~Kpßûâ](ñNÈ`3‚X`3voûM F -ô ˆ2ã.œ»@Àa'ÀfÏü)1= ÔK®]à^ Ý1´ ùoÞú/7×peŒëarõù‹^j]jœaƒUÂð/`< ï6mÿ0ë/Ñ.ó?•xƒô~“æ§}œq^ø ú -¬|Ð1.ˆe˜dì.sAÀ`\$~`°“…ô¯£lh½¯‘£´Ô qú•?Vž{¾m¼õa& _°ó®²ˆ³í¹DŸö“Å®¿Ð”(6^):Èçë÷ª‰®ÑI9@R´Ðñ3§”öb*’ªª:J@c„GöUÐÂÃÊ6‚’RÚa ”°áYV -%XÉ"v Køïn€Ÿ~ú› aà“G>|°Þ` ¡¨|÷ÊÈ1⤓ÉEÇyu¯å«{$@0ŽzÂzàYk;þ{öp @þ,ôéS<ÀÞs˜DìŠ(ÇíÇLJO‰—ž'Ç«*&_Ý"àÑã‰ú<~lý?bþ»§|º·ÛwÞ;_‚ ÆQåõÞ«@' .¼ÿý(ZvÅð~^€LµL -€v†”oL*ûŒ7=ÐD¬ˆdß©_bûE¢åü§G½6®:!(Ým:Û¡eâãút®L©š§mø7Μ¢¼¤L AeåËŸn¾x©¸á#€?¦»¤ €ÔsaT `ád=»ôƒÿ& ÜÕ@/ÀýĪž °!üÏòW[4ô‹ ¬ÊÙ÷«µ±¾¹¾¾ ØÚbÎÐù½.ÿ.#À¸Q|d`í.Cèkp/@š< ñz*Løï‘€âÀ•>ƒ¤B’EÀMG`ì ²ˆ=D„¸¦ãW®Ü¸ÅHÀæ&€äõƒðxûÅ2¹þq"ÀÁãÏmƘÂÓÀ@¬ŸXU° ÎxÙù“pVK'Ó‹ép¹ -ô—E"†)é½Ñm8ÐÉÿçZmÅõÊÁ/àßÚ¼þCpwAýôNÛ°€"¦â̬|f°>Žù‹&Pö„€Bn®&{ƒ}òþ»cœB  4ί -€¶È³à³—€ÓZ#öEW?] à›QDTGvêå3o0K å0€r+@i½ -@è¶Ï´’øÓ¥ôH‰ì¥&KøïÉ€˜ €®€P,`q»õú²lüì«ÄŒ øŸî6€)CØAbäû‡p @ÌüÜ ëV†÷Õ -à™g´•ewÏæËÙ¥Ùúì,mÙt–3´u›ß - 0tÿfÜ} -¢îeqÁ`šÐuL›ñŽíAVP‰²Þ{¤ÛŸ™DÐö0|xxÌ£q„ÌÄê#ÕüÒl6ï6€y@¾¼¼”`K€~;µ™™¹€¦ûù£üËë__Ý ÙucC$ µ"J ×c³%@CÀ†gï·Àû~ëUìn^ýxÛo(1@…N7ðZð@@åH€†þ´¥Wü~ëÇ~€v@G`` ó.zÔ?‘€ëïpóÊ– ”ž¾¡]/­’Çï·?6ö½q…Í„ãÏk ^:&-¨•kì&È}|×An}Hâ–:WŠ4xê È€ "¥w@Ê¡”²0þÈ¥þϰÀÚf3ð_n³±Ÿ³§ž¦ÈweO1a# -@w€UUÄ-(¯5m›ôêÞÐÏœ¶sNü~ ïù.€ÆuŠ‹‘C ùW)Ø_åe9ù&¯Á .ð-˜ Øý]iØF¯€™ð=õMU[çoKèðl3ÅÛ…ÿ€Y´|¾KHH €@ã$`oŸÌõkø+_¡ À1ÑÙîà‘í„§´±={.åS`¿Ö} -$!²ÛÝ €ÜvŽh ÷ññá?*F€³‰x¸Àƒû÷ïwððÙgŸPBˆßh¿ŠÕ5¡» ½ˆê÷êЉøâs¸ ô?¸pthä© @«N Àˆx…ÝÏgY£ 4jýlÐ_·ßçà9Ï|´ÎäÿIì)UãTœÞ‡ûÿ S>–Ç*P$@·Î€Aˆ˜Ï²|~©æ³ù¤ø' Ÿˆ~\ž@\ìíæÜbF @+ë­UÚû‘ýWíû¯o÷A«»,!~¿9 PÿŸjá~C _ c JðÚk¡\¿ù£PÊÀ’$¼ße)÷^ @\BäâêÍ‚¼óÚE à²^×o}ðÞµËL R®u€pð½…þ_°Ÿüÿr-ûba€Ë.”€= ­—hó߃ÿ¦²µ6Ò;›àP+N¹ÀVà?Æ@—×>–þØáÿ+•>)ˆÀ诗vŒÉBå§öpMS…øŠdræôi˜NvÿÁ}ðþ»½ç«üCjñ)‘E˜JeåqØÁ÷Býe¥€à`V8Ï*58@¾á)#Àõ¡ztˆÙ-5œVn‘*æä³ú{¢t€ˆw˜}U¬d¥à^Ý -@ê -'{øøÁf£rŒq«D -Ó¸6>rdÈ -@xíàxx— &ës® ðº0ß~¿ÍøÏ½€”y¯u€k7:àú•sBqg|ñÊÍ[Äÿ_»~Sà­‹„go7§_Gý¾(À¿hÆ¢3^“¦°ü9L÷ -l``ü\`ÑÔmý˜YOHF¤³Yˆ ×uDÀ[ ->‰Ù(9±dþè†òFà@^ëÿ2Ž%°P ggé-7HPëô#a£NY૾HÞþ¾¢4{ÇåFû(ƒ|$+ó1¼³ÖWó~¡`>b¸Gð¨ÚŽä§\#+Cg¬P g«çl§èÀŒ6`ü‡A`^ ÿOw €àÄa žm"iiøï–À°’8à×ÿk—30΃'¡ÀDƘ¬ZaÔ³ˆ `×òÕS/€„î4õòlííÝ  ˆHoÛ €Ù|åBÎÆvöU0h.vŒ~.׈aÏf”¡ØEmfq}g‡ Z’µ7Û?ç -@÷dÀƒð?Ýn^¾÷_Ô„úI`­åSztÅô̰ÿ‘õéĤ€j*wSÏŰðûÑ„ùÂ!Pk¼)OÀX¿þ'ð`x2ýçÉŽ >NK{4¥ïÛ¾(ÜîãzWÈôdç>ôú28Œø0ÿ0ÚÈ¡'¾vhÔRÉ -Ž3¿Pet¬>R]˜Ífg³yGê¶.à¾XÜ]ý>jµz}¦1ƒÐÌÞžó€ùo"ùol®ãî'ƒ€û¢››;[ƒÌ¼ÛPb?Á»l00üöÛ?˜„ðzãdÇè{I .OpÿCC¿Ñc;~¿¥Ü{-‚o\»òÚ¹‹rñ»À…s€7âÕŒÈÀÀ!/h>}ríø(­â A\Àç9b{î ¤MÓgBBЀ樘ÿð€ù +òs–ÚÓyb×KÎÓPPÊù”4;z-–ÖõçÕ§†ü Å€Þ¬¹‹¼€×_oíiåÍÔÈ#˜3KOëTÿîŽÏ6 -cÄp:! û‹èô "¢…€²ÑÍ/\ï¾3€S*,a³€3¥@Ö1 µ!oß}¥~ªìEÇœFþוtp";ÿZœNÝ'üEEµ¢[ˆ§[Â!¯'[·0þ» ÀC€Ùqî¯Ï 1ÇkÖÜs‹ÍFC[ÃG¢€@×MíBp$€´Ý,À¸Lð»Í'€é°  É: -X]̨KöèU\±¢€jå,_¯œ´Àón®QŸÑñjuneckç.“±$+öˆ5I0p9]‹æÖù”æÃ'8 #Š- "OÖ'õ…ú8W½Ê:vxôЫž’ ‘ƒô£}–Ê«Œ8qœn‘Ç‹Š/Œ óuk<1·m:;Y_â¾.Ш’ ú-èî.uýüP÷˜ç/zêwžÑ`}eÝ¡€Âÿ6z¿P}KÀ¿aØßÙÚÙ¹»sw€í$Àï3bΣáò*(€žuSÞ»õãþ£ cÂO+Hƒ€gƤÜ{­K¸ÒC.Ÿ?oÈG„¸a@øy‹d$`@ÀÁ×êŠ=~âÖ½|^ @÷0z ÐÙe‚%‘¯&.Ɔ/<°ìeZ$~ÌÇéfG*Ÿp®:g²@/»T(¾‡<4‚ÃQ´môL -ˆ­—PÙÆç¢€ÿy(ÎB¾/úÅ ØÐ¯{Þù­Ô(ÑÆ^xå,)5ö’²Ê,)i€n€ù{¾ø ¡ ÑÓ™ÿÔQJ·@ ÿy’· *æ:Ñ® -€ÁŸwþ¿âÝ#6˜Îs[ RÙÐß @øÿoôÆ$üg$à÷×›•á“Õâ½™/6çfª•“¡œÖòøHx-Bà‘à ѱF°0 @1€Þ­'ëSÜ €ql=MÏž  Kp @µ&Ws±YW6õš|»[÷ïßø(}q+Û|B°`À=Œ»i@ ÝmÞ_‚á·ƒü]ã°Þ£@' .’ïG`Ù ^ÕD„þÿ.F€ðµ?P¾í§›üÎdsù«Y[N*Ût¤;à4#ÜÕ—g§§§=æÝhµ>;œ ë`¼†нÛèz‡˜_wøÄè‘Q'‘2免:‚·<:êÁúE)D*N>r‘A9û<Ž5y¸Ã݉Ñ)­I"ì>1&WñºŒì€c¹ÞSÃÃSJÍþW SN*Lþ¹MéFƒS‰UöäkaàØ¿(S_Éü ’X>Æ™ Ãådá>tCÛÞ-*WÞMóøøCÝ7”w¯ S&/-]©äP*-ˆ8ƒ¡lý%\/Bˆ S/€—O7ûOŸö¨ÆÜ1S¦HkK± < -ø·WÑ0(-¸ö»ß~ö›‡Ý -ñ˜çؘ« ¡˜×ë3µ¹¹ÕÕE+{ÇéZ¸Ö±Pþý–± @}·àFyò1^÷)À; -ù+?r3¶³OVpŠ.@iwˆ@ï?‘™E}—F}†ÑOò &äM(  ïÿçÛV~Å(} -@ÙP(&_± À!㯞^ÚÍ{züžæ8 1ù‘µ>'ûbÐè]¶·å­V.Xjmç³Y»•/·Ø}7ÓѵíÛËËkÝYn-/ÏgÙ[õùúÚrmäÛ­ùÙùz=›òpAc—.MUh?!L¼Ò‡pº^ºTo›šÎæ/UÇÆ¦ä+]¥ž‹KŒMeU]<-B8]ªWGÇÄP*£Óõ±êð±J](]Õ1H4=Ÿ]š®Ï. b§¦TˆÒ˜e:¿youêÒÔ%Ñ“©iUJîxU0œM‰©dÓSÓÓÊqzzVÓ³ùŸfÓâcÓÕK£Ãc—T‘êØÔ%•«’™û‡®ôi™­Ê—¯^ÒrøøjGÒ8ŽÀ‡.Í·g³Ùù IY½Õªù6·Qoœ|­ÛkY#[néŸx­ÕÚnß»ÝúHÈ¿ýá‡Û­×lü¼dú½Öæš‹‹Ìö³Â`À û³"°áð?dá=­þZj½ƒû °'ø‘€³èÀã4ÁÂnÀHføí·÷nÝúàB  …<_8ÏŒ€ç÷V´2Üï¶”{¯¸Æôÿ"·xº!ªì‹—Mnº5¢[¸ˆ«ñÊe”~ã´÷ï28Agóà @· _žU×0 -Zî6pà -©¿ þè2€Ú•Èž‚8ÊÚíŒ| ¥Ôf -&ˆã˜þ¾éO­cZÐt`€|´… ÅU  ~^x÷T' JÔA€(‰”oí¿à€èM0/ð?åRu…°Ú6òÈêcÌU]à÷ŠH -®Ó’Ö »a€‹dïÌ)ØU±yŠ hC”åâCðœÀq¿üc^@fLâm3b ÿõ.†LA€Ÿú›_u+ ïß¿{ÿþÖÊœ ¹Ö\œ£A‹õÚDÅsˆ -je<=ðÎ…¸xêÀ»–Ä - -wkµ^ò/8€ãî•öiS`«4tU"<3 y©ïp÷I^§!BªzÕù͹³Ó~‘Ê=03HEˆX ë•R­7æÖ×›ssFÖÌW7xœévWß8 ïÿNÛ -À¯?  ÀÿnÀþ¿,îõ—ŠÿE/mXêß«@' .]Ë{?½ÊýÓ"À `ì÷\'ûcè`¨?×Þöæ›3ß­Õ¾Ë\@ß=û¦–éï[«½©³îPŸÑ»&¶3>)¼ª MÂñ€/}Ïí8<¬J{h³Ü½¤ÿS[J%Ó mò>ÐçS'õ.N¦{sT÷ÅG8 )¥!ŠI+IîR޼4rô%’ëPdA¿ºñ‘ °ÌAb¥ö9ˆ«}bü¤J pDlIÙj¥ì8xìhgüJÛ°rÑÌÿíº Xmfü,÷¬f­nfÒwûÍÆ·è^É oj9£ûç›êp?Œ*bübuPîÿâbÆô¿¢Ç«LùãÄÿõutÿMt(€mDZ³ƒÌ¼ÛPÊ‘yĕֻW˜áw—Ýú )Œº6À“¨€ )P@ýCa=®‡X0Ú°”y¯AÞ¿yíªˆEÐâŠØ††øàŸ?¸i""ð·e@‰ü´õ‡(PZ ~üX¹p}¿èoä÷°kœe½Ë±8¨`#±zÄÇû¯g¹¦°ÈÌ/Ÿ)Ú´Œ "ú!Þö~Ê⥈ŽéoËŸWÇüVW m -$ñýíú«V¬PðòÇNBÒP”£/mN#|Ô0›Àô÷*zørYn¹H€–E €>ÞP)vÈc%7èÊz €,à^ ÝKÀšjæ²uS ?[C§(U¹S›ra¸‚X¤æ ÖÖ7,µ<§àH¯Ò±v) ð›ž^éç­_º~÷+ÍêÄ ó€1@ØÊÊjsNX+§@öE[«ƒò ²œ6gô¬Ö9íÍxœ—Ø×H¢ØÓ¶U:­‡:.Œ¢‚k妬ÉÔæ §$5®'ƒ€=©È¨VŸCµô‡ræLX7DT!žtàYh&í€(?9úRYÓÜ8Üicç[2€ÍP>éÌè€ýõÆâ^§›ÿE dw @Ñ ÞòΠS)ÙA>!ÿܧy:ëþ^/Š:ÚÌžò¢‘Z«ædâÚ ÿôIDAT­ñæ ÿú»éŸÄó™†p­ñ¦ÿid:nˆØ\­š½U= š -= ÇXUÔ×Ú oõª~©Ý“Ç8^U¯¿³ q^*ã¯C ÆG«ãC/)CÝ›“L„ÁYŸ&&x>yöÌÉeUÆëuuc:Ëññ׿=4n¤wÖÉTà”˪~»:¥tº_ä #Uð8×ðÿ¯\ ÅG‹ù+Á2Œ‘9•%úÔ†|GÆ'u·š++µš~$Ùœ#*ÿxuNð¯ŸEnémdé§N‰2~gü¨d.À••|5÷ð?4ˆl­o¶×iØÙr;€ ,w”Œ¹×à÷Ûë?쌠ÇiH”¶ú ¬Ým·nýøÖÍ«€è‰o Á'ÝPn0Àµè•¸ï +iÈŸ»r%eÞk"ŒxU3PWÀùsQúÅ‚`W¯]·@E´0(¯À~ÿù„ìû3·äƒZ'À{±ö²ßìü -z h6:íÙÒ%éR-J”–Ytgϧô›p¤H¤íˆÏë³ ÄVd¨·øFÊãÅ£?€áØ -vHX\¾>6Y_ ”Fæõéå`Aåë8UÝãWÎ_|C­ àTÈOF`à?ÙÁ„ýñ=àÜU¾éÑËZÈJ<ˉŒI¼1·V£\wK‚µûÝï>ÿô7¿îî€Ü‡å‹«‹Í&ÈJƒà -S‚äz>§X X:7fèИÏ yØŠõ¢¶ôD²eM¥¥±Áà/aG~)'Ц=ÿeõžTZéq5—¥«u9K®VÍÈ¿9÷vöö\3Ó1 -lÔßÖ¶jÁó •¢|ø@œ!”¤®JÍ1ËYŽ“³ºº¸Ê|g1Ì9 -€(À½¿N1]@R -ôÿ€³÷pü;#ž<ø\ä - Û×8ú—{Àã="€²ï‰H -À¡£Û{Û;" kb\™Õ¶6s±l5Ï™º.o20ÀbžÏgyks;¯iWÿo,@®z®im¾4Ì,ú‚âÊÔ*ºÏÖë—f•àÒÔ”6µ‘eÕ€šëuÙ%FËgØaÙ|–1Ál¶Pw‚E­KßÖ9%©}ûÛÚû¶J­gyV¯×@iÀ[Ç—–2&âÏ8_¿t2kiƒÑ M>••ê¡ü¢_^=[Z¨V”NUð‡ÓTNzÌAEªCOˆ ðàÐáC'”šoó–òÉZíVc|&ÏÞm4ò¦î‡ZÛw·¼›ÿ¤UÛÞÎß]m·tu'9Ün¯@®Á$fü»iÿ+nÑs÷¿Í-‚ý¿uws ý_P?˜$Àï·›(i€ÀOº=,P¸ßný˜.ÊãÇ€Ï}Þ~v4ܼ! oTv‚0í'Ä/-N ¨Tho`*€RБs„x™€ÿWR®\S±ä–«6øþ¶·u¶°žó Û÷a*TÆô¼Àí4vø®fY÷š1ª›$XŽ«Ò#Ml²›îP*Nãâ/Ëa[’ÿãH\®S†8™ïË™üÀþx{!lŒ'Ndö¢*` - pÔ¹ Ql—`À×¢ˆ(˜€—J`Ü70w[  ÐQÈ»TÐ <0_?}1eK©¤ô®”Ò– -€á_מìë­ÌÝ”!ü×íÕâ{>—`H2u3 @’…ð;b>ùïÝ1~È„¡Âá7­¶EÄ„𠬡[XÜ\ÌÝ^h_\ô@â͘PLÜaÑó$EíèroÈD&€_%Öþª2¡íQl IîBo%œ›Ë¹BŸ.#ÏE99LV"ÄO¹ÉeѶ‚~™¿­‹T ]®iôLt­ªdĤò RãçۊΙ'pÄ1wÚÛ÷þ•q~çaDž ºôs€/j8ëèz„Ÿ/ì?ð\t”p.ÿ‹q@­ú3Q§i QïÍz ã?@ÏÐ5QÁz/ .¸Ó?&0I gØ”^Œ4<|üØpê:ˆUÌÕ…êX -ŒMMOÏÖO.d¾¨…0î ç§§µ3M›ýôì8¯¬š‚< FѤpËm¯.¿^Q ±”M9Z1ò/UGGIâšdU‡4‚èÚ˜¯‹dP®èŠÊÔE”¯}hI}š”SS—†^¯¦i„‹žƒÃÇ]ƒà -²ÚYÝ$Ø­ïUÜ5U&R÷tRŠqX¬áÝ<[óvVܦš(=? ý`õ{\És¼L¿ŽÕUºýáïk}w‡v¶îÞÝÙºßi1ë·øýf@ÏQ}?PJq—µ»í#uõÄ·J ½ z¾k™m%àÇ|$¶®Þüû/€÷äÝ_xMà½N €°p!)?t €¾c¡ë¯U´'KÛ^õŸgàý™œ$+Úì:š±‘özÍøÃÒ1YJ,#3¯ -¤.§-€— ÿR²HÃfñW +ðßéâb•Ks‚Ó 0­I”ØoCHA`@Ø(Zù£úþƒ¶ÿ(¯^öJ™Vðm±ÊI€\š7¡Ü/a¾¾rEW"ˆr¯#/ŸÒýÖ1èA€ŽpÆKE8«7#¾¡<ÝŸ¬´„Að%ȯ¡Ò”øù›)¡S˜9è…zÄ@Ÿ|¼Ó!‚FÛ q|3€âºø?8)Dz -M3—ñB‰Ê ÊÚð¾M 'Jã\¯j +˜_“Ë­%팜90O\kɆó&‰#§MRÂ&ˆNRz;‘óâ¡Å‰Å·ã¤sŠËÀ»21˘a²bš7Z«ônœ©ÎXt°¡l¶7?t€c»¨”,ÝV™o6·;Ýûç4|t0»»€ÇíÕ  k€/a.þçðÿÔ ‹q¾=’ ì»bP 9ô|°-鵜¯Í5~2É“(Ò -à²l¼Ö”;­]a~i‚^ãdåkà Մɯ tåéÏ‚·uЭÈIŸf®†ž&²ovVX !@PÒéöHÍø-|l¯ŽãBwDöõ¡×ëòÿ_7/ FiNÕGj™HiU3W$ÏĘ㊡å|u|¯òí9™ÖW#Ñ q@G†hËæ‹DOÇÃÃn#×NeëõwkgAIdÆ4ÀÚˆ,ºþ‹¼ÚÌßõ&ÇuÿÖòíP -²,€Š~ænk1{÷|ÿèÿ þ+ÐÒBžÿÎÎÎÖæÝ­»[[Ú"Ò±3:a³=x¿Ë: -€žß½@1Ððû-Àe{ü@¸ÌáuV^ë(?ìR¼èQØxÝìÂýòõþÍ¿ï½ëW­tšPˆ8ó  -€¾c€ÿŸ¬ä{ö:‹®õþ@ JÇÀŸÿûPì]þ [:†—Ä:®¶ãoŽåÕ3EÒHÞs(¬ôÿ9¯…–àÙè +°±Ë ï üåªXªD_ï?6r& Àÿäu30ÉœÉhÜ*Àßk•!0–E?ÀÒÎà“»ÔûsYÊ»P904B€œQÙ*ÊÜ%š¼èUd\K"1ÚÎ AÎ|¯x -?§Pâ‘Ö6{«aIˆ6€ß‰|öÙÿ¸KHøO“z¥æ ¹du½eO\Íl!¹!®° Ö"àݥŋ곺ÚâÁ²¨-²`vQ[Ù·!Ma¹³Yù~‡#ß•Öʺ^qíJŽ€¿¢|SFZÑy)Î*Û¨ &ô7ÛX\°2€²±±ÞÖƒØÍÀ#0l{›¹€·7E~à€)@·û/+ïøó›Ú¨]*ãE/€Þ€¤ ì5€VN&;˜!p~p‹ÝãÀ‚T$´ßeùÒr~{)_j×›-a?à Îh2¬Õg³†üõF~¶–é˜ãMŒƒ6íU+bSC#´âF@]hšÙážœ¶Ù@xzJYbðeL Þžòæ'Ó" f6ZóY;0EV«ÊÇE7“W~©>5?9‰„ “ƒM6Ó³ ¨ &¬¡µŠ½|*¥Úaf$TÄm³Ú̆ùb²`ÇF'q¥ëyý›Á“’ÀýÒýó€Êy–¯¿ê-ÝPQª¬•åËkËÑË2ËâoŸ¨é"Ñ-Óo¸;?Võk2þoîøÝ`ç.ñÿPÁ?D`€Þ÷Ûë7Jh06€˜Q¢ÏÀÚÝvKFG¼×M…À8] -@¡ðïRb•°_¯«×öƒ^7ß撚üê.à2Ý¢“¾$¤ÃÂ?WõCû.¨OÖsœEù§X2À‚ë(ƒˆúiB—bÆêºkƒ‹ëµI;<“°V:À›\HåÈš˜äUKÊx•1Êü„Zo‘Ú…kc£¥’˜¼¤¥}•¢“T©¥BŠTEQ ¢6®ØÊ¢žµ_ ûù‡?ßþðçnoßû䓞¹ øÇJйá_ÄÂS±ÍR/  ß«@' .š š ˜~Î^xÿH -ŒàkÑ 4Ê<ºŸí²\ ОY­ä«êý–€œýûe¡ -@­Vÿv>!aS`LŽr}8š„Ë•ª°4Œõ–óÉðP–y‡„ûr»½2øÖ³“M²Lf¦QIî|²ú·‡ˆÓz2þeœ›‚–(g<ü9è"SÕ×+Fjá?ÈÏÀ®½¼>žØ ééÁO87;?[¿ô ­“ߦcâð‰—Ä<Àáa‚ÙɲúÙ]~ñE)kÞc_žÎbÿ?Î*QÂÿC‡„…]$ ×<h x–ÓRÖ¥)PŽEý€5­ò¬@nqxú~[ -;6À¸· ;õâ úŸ%›tBhÓÿÙ;1æ(ç‹WÛՉřWÊqlºÖ³8½øŠ¾‹|Õ£Án’%¨Ø—%@Je`Ø -€m -p7Ð3Æñò+¹;yíXÛÃ)Гa£-ðÖc<’3fØæ–Üê8iœÖÖÞ‚ë1âÉĈ,²­oyËc‹+ãš:°µ £ÐižBÝÒ¡­Í-€\Fd@a[ÎQ¯8Ê5Z«Vž¸\Â'ô‚·@/ÄXd.ue±É‡U=“92M¶óñ¯>ûÔs‰”! KÐþB ð?¼û¢@m»c„îœÙk._v à+B釤qÈ–~€ƒb„þf´vøw™pÉ  UÏ-]¿å N Û5€0Í|@ÛxMx7-üsÇR­å_ëÀ”üðÃõa+cèªàš)…t„…\ºªŠèh æ{!È•)5êûì%9ð*µ våÇ' -ßjŠõÚH6…juÂãSMéx Š„«ª'g2 UÜ%0ù -ä31ìRV=)&2UWv\¥ë.Q ‘ùééKT¬þ““ÊÛ8MÀa€aíùÚaÙÌ7}£ -÷ßÐÞ±ö«îb‘1àò‚ýÆÄŠ&€qú``z8€G?ó|çŸßÈzÛ¿îß¿k `k'ð -xßo…`ÿ­Pd†¡´Ýc`ín“'~ ·ü5á¤aKðyîÂyÇÜ@Ý}RË~ Ä~§Ðêý† ´—1P«¹P®º*ú†…À)®“Å:v‹ci£ÜMF&a è÷0dOg‚ PØÆS»nãgœÒÉŠ…·q¦<q÷Þ3g -ëàq^¥êÿ×ûLøéqÀÃÎ"- àZ;y}å´\i£¬AXü"‘ŽØ ´è¨í ó¡è} -ø/±?H€ äÒÇ´@1¬©lpÖ(Ú†2¸tØ¥*Õùˆpõ¨¹ÓGÍÄ< kOǘÇÌ -Æti_ €pÈ`(…u€XJô`(ÀˆçÏW˯ÙÜ"n:0ŒSÏùÙÀ³¨M‚–›z>è(‡˜.$¸ëÐ0¯·Noî¤Ô¾fx=ZdÚàÚ-ŠØÜUÐé-Æ!羈’*2Z'-åí¸:ºCê6ynm1^©Y‡6uVBF·¹Õ^ÝP -üå¯/•¯ÌÍéèg -áÿö/þõ“Ï>M!øÿ= -@‰þq«}ߟÛ̆i»£h-”Z/€®€¾¹H$€|ŸªtÅ$À?³ý[(öþÍ -€þ›•Ô€¿ËOK­åüöLžgó´T£bgE@ã-6³lî­zÖ¯5ýŸ)üþvÍ`ëíi†Ì9^®Ô£•1=$u€ä穳õ“õooßGf .ছÌž¤…|ŒâDÿÛ¸nÆâA_G -]€ž®MÄñÍ»a¾z‰ï1;}‰¬UÞ½JËXŠœõM%¨–â&‚~fêu -q†KªÈtëd­:†pâä𰛎ˆ$©Á–5¾Y*º_}àÝö¤[üç牱ÈóÛZòUm&n˜qž9nÒߎ/¶îÙÿÖùýñý{÷XÀýÿ»Œþ§Vÿ^Kˆßo@ÿg!¿×ÀÚÝF€çLqx ºEwûÜI°opOÐ_˜1ßoŸ-Á•÷™ðÿ–Àù çE¢ àÆ @€ ,ÀµRHÀ -@–kÆfËkoÄnT»Ì̆,ŸÊ% P÷4pHw8à¿K ÀX @,8qiJR¬½L'Óv¹J‡¸º¸´´.üçdäžž+ȃLˆ)ü=þôé,Yt÷s€Ð]`:DN¿¾}bÚSñ}1dã& -L€ŠIœ@W+o¾Œð¢–ù:pб…J@—¼|& øý4ó3`w €™ ã$Ý ³à øG@…é® }!À€¤o,9¬60,€~ëÉüwõh6š‹¹™¹leµ½*Àhmü·¿¿º³¹%(ç˜[õŒ¸»ÉèàÆxc>d€ÕÖÎŽ¬3꾑9M#"`ÞR6¦ô-âç€s”Ëà)FL"r&ïˆM†vóठ‚á4e² -®7Ý0gHË`5¨ø>4oØþoßûåoÊ@n·Î}B0ˆ›wü¹­Äi­ÿE/€o¹@`~À¹ ¶öN›˜~î×R @jèS"@i<ÄÀ¡C9CÓö¾–ûòO[yë͹h0þÃü‚4¡ÿœ0‘Vn€\€,´óH¥¡D7@aÚXuJ´}h¼nQm}Çn~}¡~€¯®ÝdÁæé0(]ÊΪ¢ó öÓ1Ž„¶ªý)(Õzÿ53‚º¸=^Ïí¤Ïξù«pN²È‹ddµ“møBÚ™ŽPAWD›hJôîÉ)÷F F12*,«ŸmÐøïwÿeô`ýŽnð’»[0ÓBXR&¸‘î`°¸âŸÕ¿uÿNüsÓ¯’À€h-ì/¦ ëÞ÷[W @`(J›=€ßc7ô1øßÝÀXüœÚ ò­¢ã÷v˜Ð^xϾ¡?N\½Öû×ýºõÞµ‹âý -#^¼"¯þêõ÷EÞ»&À¿Âøjr…é<ð?ÃA ÒJÄ í)kÏ—(^þB:¬wBûÝV -‹½ os `3ô‡yß@žÌ’q-oãhœrR{y(m•áta½øçU^ľÏÛ@ÇpÈ;# -;½N/öR|_ˆŽN3|Ì€o°õv(Ÿå2†DîV0e -€>ÊSà î┿pêŒ\úh³çekû¢;ù; -€²¹x‘î|!*­"¨ 'Oé¢@¥ùœ¶ˆ |Ð1hÉà¯ã«oúÜ1±âT VF”àÓOե觟l}#oê‘'°B `€(.\g”uðßAÁ¨ƒ¶»Þ2^Óeˆ5ˆ,Vpï®ÝÕ- bì=º ‹\Êîææ]1 c¶V"åEÀü¦SÞ_ÐQ%ƒ}й¹:ã=.ÆT3–™ò "£'dÀƒÚ£ cÕ1‡¶í_øuïãO>KÃøŸî¢,nmýÜò禀u·ÐÕ /_¶W/€N @ÿ\¸ÿûQXöÏpàqB ËÝ1Ǻìò÷ÙZ._YT`¦±2þ²úŽ¿7ZÉÃÍ'h(ÍÝø¬Õªƒåé¹7V«¢õíÁê›±¨ŸÌ}Ày^GŒ¸ ºü}á.Ø[%qkœ{ñ’ -å¿]ªîõ©z­Þøftø¶ÐŸ1(.Î*Ýt{¼–ÕQf™Œ_ùΫ,Î |UÌ€~@÷ùõØ @¦u±Ùc_•¿¿û•@`0@ ’íí{*]võªCüJ<`ðPÀ”õþõA -€ §Ø«7¸ Lõ  Lâ3@âžôߘ9|‘8{}|„$ h‘¿×âÞNô1&üh†À' ¬¹ñ û±ÈÏy±bÇï´åc:㣱­uL[‡)½d»ý¯º€tZæj‚ÍŽÈÇ8¶* ¢õ¦Èˆ#ý8ró÷Öî kð‡ÐWO›HÝ -€²Ç/cü6ü¢Ð@` ?ÐÆ)+Ú:üûT¨Üï. åÛ @ €•ÿdTÌ‘”öËTø”Ü’•a€%øô7}˜à¿3°tgsuNÂLs…¾@üúõ0=fc1 á Êy* jP×ö&qC>,^ðàþÎ=mìÜדÄí‰ 7.…)Ê›nE~Äèø]=gØQà±ÃåÀú£»žDD"h‡Tff<›tFÕ!cr¥h• -05¦À&ÄmîŠã´7×[++ë:À}+?ðäöÜ+ìaÌP -þ¶Àÿ/þ…ÿý -€^©€Ç«¿W/€N @ÿ\äÉç€s¸Àäó6tlˆ+ß8èÿÕ"_0±×ZÛ“5$l3ð7¡³¥²Wky - À‚9ö ¦{blø%úåMU/…WýŽ^àxuJ»œÊ9Ù¢y©_%s©‚R‘Ð"ËÏV×Âÿ?±.D´§4oȾ©Ê;ð®N¥«±mÚñÉ|^…€ëœ¨ÊWEdËõñVR%fß%PHIB`å¡~v¢îÑèä8<üµC_9\™Hø¯}£D²ºõ†éÈòyAüÂ<ƒ)È~Bà³ûiˆ» k¡•Êøx­Zg®wÐ;÷àøÿ+–Éàü; ÀÏ)~RVúï?|œ¿Ïâ÷Û—£¼'$¾uëGn0˜b†-_;wî|¯Vøû(,8À‚<`ðPÀ²[7¯]>sžû÷Âþé À„óÝ -@w@´ô‹ Øë7¦c ½±ð½ ÀO‡HÀa– ó»,ÝR, Z¢I @÷;–rÔOä{= Ÿ*öÀr½Ý €ãœJWÙvùÿÎSB‡ñA'àºdpC=N>z£¼zqêÁ×Ù»ÛÂy(»ºŽ¤¬,8¨t²*‹r¶¢qîí "|‡ÍuÆ\ÝØº¯Ç¢9žàŸqˉ"0n` 0ßàòŽ?‡ %H˜µ‹^f ¼€üÀsРЦLÉy? -€VI88v씉HÅÀ^h ¥{,C¶ÎòÉ™ F2!h¶è]æ±÷Z~îd}` Б„óc•JuddjT˜í~}¡8]½ž7`ŸÝf4^®1 wY²ùDvüŽ+õ&æ0Œ³œ™©g€Ž¥ë27ü?Ïrš– 4@>¨KUe~oyá{ tôU²%*RyDŽ|m€ÁˆÔÃtøÚW†+cŒ&dF÷#oœ]A ÈÞr+I&¬Ï¸a°Žù¼E\¥`MÈ¿´”Ã*Gd ÖöDsÙâ¢Àzt­mÁ÷‰í…öë×Ã/I?F>|üø -€üã^HsFh]löZ·ã/;à&7®2ý0ils/ïRJØï6S‹×•=fB¸vAY^¸2@@¸‚ð5ÑW,›´B—`'ÊÅßצ÷ÜÈ(oÀ×FqÈ;$âl‚ýÒzàòüN‹Àï¯*™î<0\à¿…NïÞë,9ÎËk›v"€C¶8.ëÃÿ2Jâ×ïu#…–á7 $Çä’ÆˆÝmE€.$©ÐÞ ”L@ÍA·½^|áhÄxÂ=h¯]½¬¤(›Ÿ`£2lÀ0}F¥¾@ø¾ŽFë@å°I]Ö× àâÅ‹LÌuÓ׈êD+ÂEǸ0›*Fø?½`V|{ôE•Éd 1ži ¼( ªƒÿÀX‡ |ú›_Ò°~{]äL¿³µZ« ×çõ0.îlÈ+ðÃK7lñëŽ ÙhLg!ñ6Üß ?þ?$rHOÄÂëgÓ0ý@Ppòóq:—ßøH ½î>tZ%!=‘Hʉ\©“«d@¾€¶J2"/•A2“…»ÛÁbVWçW6ô• 5mžr¶ûÿÍ/B¢ 7«l°%øçæÆ}ömûÆPxꃀqðÞ^oýWq€ÛÀ?ý•=!f2†ýáØÎ&ˆ&ÒëqÔâÞûé`àub‹…Ãh…:«…uz€›vD.j;¨ˆ„à l>âEë9£\-G‘ï?ÐûÁ#¡}uD)›AØëW<✎@-”H/¾Ý!€ŒuÜÖ·ÝÚÑ7N!ë‡Ýÿø7Ÿþ 3 @0€@ÿD‚aAž‡œJ.}À4 À~¾°ÿ€sX5ÀÐ 8(ü;Ðaƒ{¤NÉ%#LNè´°=YË“ ”·?»,×ܧhMF¿ö<çô[`§ö5†Ì«W*ÓUFÿaD?+ïKžç'›ò*£ñ–ñV—˳³ ß“§;‰ëùxMÐmhO(¿ìãP€y–"ã+>D—=-ê5€¼î¦…ùä6ó”˜ë [ie-RhW)è, z¢Š@"(‘n yX‚pÂ1ÕÑ)*©{RP¢Éõwó/íüuS–XÎçO®äóÈÿKËÑ€ÉÈT6C`Ѐž€¨ÿŒð…@¼ïæD_ù.!>ü’ü+ÒOòÑÃ*ç_Æÿüj À`+q¿|ñ¾ùÞ-zäyŠžä\ 9AÛ½€bƒu' gn`à~·‰\¹ðõ3*(u, -Ç»¿~ëƒþ'ªsårOÀEÁxTÏÈn×_+˜6|Ä›/Ó!KGÉ£›®“¥;TšE­Là)Ò» ¤—¡Åðçà¯QdjÈf™ÌaU.€u€ØÂbg0þzç8ä—¯N­ä6ÇXóUñb¿£8sË: -ÿÇàì Gõqëa–Ýåÿ‡ 0à!€S/·$ Ä7Û±O -Îý)d~> Ê[›ç™Àß$AÇT!0ž±~Š eNÅùZI8GÚN äÍø(mð\ã$ô/á?q€² @É~÷ÛOõ‹µv«Ýþ¯ëíÿšÙÆÖæJ£r²Zof+ë´Òàvq€{ö÷çzã8PÈë¹0˜'чôDÐsâñ#AöÃG|Ì:餠·–Nª$z¨xKÏÀýá]á»L ¯^ϧ³Vkm4Þ ŠKÙ»³Èþ :±¼]Sr•¶¶´œ Ý*.f+W¦Ú\n»èL¹'l—½rO^ôZk»%¯ZÇ ñëyö®NS×çC¥1žçÛ-×r{û£Ö²Àmh€ÒÌ£U§|MYm¬©Ê ®ˆðVùä4ãç—ê³y^=;Áðž„ -p¢2JýZkwH¦¯ÿn«UÓí3ú·õ­t‹Ú­>^Ó6Sÿýk«vïvëν{·ÛKËúú…ðJø?Q­Ub16³E˜¹ª_<ƒoˆ ßº²H€Óü¶DÊõ“>pãúÏŸ1 Ôóíù€¸ù…ÅöÂí@ƒê`®Üìþ€Fø?îÂýÒ:…t½n¾ÿ¾À™S"¡ÜøQ¡ÐþÈ߸ùÁ?ÿó7¯_\ë;– -€~¼}§2®—¾}ÂxŽkWÛqЇ¼ÙÅú÷â¿-Ý¥ÒÀ˜báõƒŒ/ü…¾0™uåWäàÍbáÃl‡Ê‡ØJiúñŸwÀ>X³K å}¶Ÿ&²ˆÁ~pä1{ê® ?gl"1€`;LÛ°†¤„ûŸp_T¢PçƒïW¿êS,tìô©TóRP%êQÎèO³@©@F\ÝÓ¯¼Ñ¯²`DaeäæÈÝ"ïÒhìÓŒJOÉÀ­dF³‚üÛï>¹×.ŒŸ?B®/ÎUF&fæ6_ûtázfdž^FU+O­^nL@í³ì=~øä±N=¶ïSîƒñøÂvdûG÷åªû=YH¾ßü@W>|\ä$×#Òܧ¤Çâ ;G¢ìQdã~ -$B‰!(z{³»z®!¬,ê¡“¤¯mûÍg¿ùìS^iÿ#@w1ÝѰt—ã~ÈFN~s—à€¢ãüœ ì?° -  = `²þ÷p @w®æ5…}krBŒg²FWFhŒ¾›¾߈ñ¨jµš¿á¤Ž×¾ÉrÜ%‘éèÅôúÇŽ +ª¡ïEˆûÙ“N“ni'Ç¿Yã®MLèš$²$ƒ0ÅVíìj']§­É U#®á)/Ž •c™eí(8ýF…#ÉZU—S‘²&¶ gEUÊÿÁ¸ÿBúnñlj‘uCtÃt{ÆuÓþ¸Á–Í­@:T›äŽAß<[Þ<¾<÷ª´ •J…=&³}0xö½cœnºÎ˜wè§s7zððËÔO ` Þ÷Ûë7Ý~'0ä§x±Ͱn(Ž×Íëú¼wëf™Ð2 ’íŽpcÏt À.óßm·Þ¿ùÃsg¾Êd@} +éDÔ+­i$­eg·ûô´¦Rÿ”öua"àãñx|ð›9oòÖÉ}`m©#Àb ÙLÒ œ–NP€Ìœ¦]™Ÿ] +œ›ý„s‹‹sóóq`n>!Ù)Èf³ÙÅÅÅ+W^¾úêéS¿í#z ĪšÊsœZÙ«•Çy½\.« Yp€WǪ) Éã!ÞêUÆjñëj> í <=Ï›-5?ìÁƒÿôOÿå“}ß÷ Ððà ‡õ+—h.GtM¯ã™Ap8YÁ¼àlÆGEoKÍi˜~ÅÈïÅ4­…Ø`q Êãžr¤%ËˆØæü„w‡ÿÑÃÉ5®½´ñ<Ï÷}¥2ž×p€±2eØBŽþ˜·}Þò[S©ò¦zÝßG|ø’ñþ¤´\ŽÄƺ®i©TФôtj6Õ}IA ÕlB½^¯nüòãùàã<8<|ðàÁÇ“s +æg £ G£mõ¼ÖÛÙíìþb[YúŒîïîÞï[ÝÑv¿ßŸÿ;wN·wî•룑Rý¬¿ÔîvWû£»?½{÷§SµŸ08yúwÞM^Ýѧƒ=ét:­ ÿô”3åû£Fþ´÷üðë~óáææœ#b«55}ׯd2•+W®\YÍ&ÍÀJŒÙÅÅJ¦R9AæâF@B¦½¿æ2mRÐ.Å-€¹lLæâ +ÀâŸÿù•¥@€¯¾úê)¶|±Ñ3ô”Fp­æ” !å¶ÒúU^`rppÀó<ð<Ïo˜˜¨…¨1Æ<ÏkxØn{"úèyc=¯Ñ€†žÏÀÿç¶útà€ScÔceJóù!zžÕÌX0ÔŒË +Ï÷ˆ&µ2î+)~¿Åù÷¸Ò ãÆx"×Ï=Vf5€0®–[~Û+Qæ-#ø¾ßÞlsäˆos¿ÕòùúX!|›]ÎÑWò€jêÐ÷›  á8e-Þ÷ýv»ÝŽ%Ç|Ÿó—#úˆ¼ÍþRG}=¥i¹Ié©”–ŠKɿ躮½< U“©)ÀzÝ5Ù_>xpøàÁ£ÃG=~ôøèprNÀܼªN3€ Œº +v·Õ"¯bV÷îèœéŒF]#s}´½ÝïÞëvûVw4ÚíÝÄIôÄÿ=ï¼wçú»IÒ$ø1µWUþ¤ô—¼’ÖRϬüŸ>>8øÍÃ7?ø€ó·[­·[*5äœsmi)€+×ãÀÏTÔ4ÀÒÒbv1ž>Ó¸¢ªñrÕÜÜÜüÜÌxõÜbFÍh“ +@v–,...^¹òçÏñ=ú¾ßjÀØäž55„S+åIž–™SSñï˜J <®Ý5Zh"Ô•~æ2PõÀÆD=Ãk5èy-Ïxh~衎çyž¯à†ï8NÍ©9ŒBYe:¡eæ4À„iÍÙÀÓ#?Ï®pŽ\é{}pÐ\®7›ëpÿ’ù:b³Ù䉥^D>æcl"°7˜èâX5/6°ÙDŽñ?@àÖ›ÿï›Øl¢ ˆcÎù;ˆ."ç¼ ŒQŠˆ÷>Â& œsäÍ&nàÁAó47ø ò¿X©ûJO%Bõ¹XÓHubP¾„š®iäå¶”P½®Ëª”®|xxxøèÁáñ㣣'3’`S»š¹L±›Ef>s®÷v~6íîög ·ÔÝõÔv¯:g`k­’Y‹S€Ñh·¿t}4º»e\ŸýO?Uç½³g4õ¯_¹þî_ÿõ_ÿõ_ÿõ{$éI*þÉ›Ïðç2€þñ?+À[­·¹Ï7¸²x%[I »8; °´´˜]Tã@'(@VÓ´+W2só™ùÉvåÉý +-“™›Ï\ÉhÉ À¤0“üùŸ¿P &qüÛ‡ÿtà6Ð÷æÔ%„–ã,Þ@Ø›ÊÉuÞ| –]W‰÷MźÕL*Iðxæ†ÿÉÁÃߘȹÏ1Ù)fjµ•©òÀe@)%)BAƒ-W™é2—¹ªôô4©>ûÜ‹çˆ×68pÜÀæÆú½æÃ1¿÷Ëߎù‡|<æ÷–98L q|øð ÊÇP«¹¸ã ÷!"sþäüƒñoùï]à Þäü#>>àcÎ9bÇœs>ÆÖ~s0†7<  ðç÷6–6ð!çï4°Áùþßãÿ‹ ¼÷—_êþOÅ×4-¥åH²Ÿ¢âþ$¤´—j²j½^w«2J ÍÇG=>útF¨2=Z7nª.@&þ3ؽŸíÜÝÝíM`wkiëî¨×ë€%€íµ%#³6¶ûïú£Ý¾µ6íöŒµ^ïN¯wg4ýtÇÿOß}÷ݳú¢£þZæJRL +üÓR öÍN®±ùÁ‡¿ùÏÿøÛ‡ã>ˆo9|s?iKKW®T\¯(PI’€Åìâbf1S™¥sª0%£)QUM›Ëdæ3™¹L,8?q˜€ù¸0I–þ|qñÏ—^¤¨fƒÝz€)%OZ(””˜ÍwÈÿº¿ûQäÊó}á@²’µ›`ƒYlɃ¨5¹#\Ñ>‚ +7O +i1„YÙtÅiZ‹Š5Ù<£¼ÝõÅpΜ1Bò5Bªç/'ã®}hr̦æ4›‹šÍI»2ó.ïêO¨©KË7vùâ¹Xä{yfëT/ÓÕ®*’Êv{}âû{ûþ$UœT1Ž&T1ƺ®ëü¬¢ó­‹z.—Ó Á8‡IMÍa]'¹\«:gˆªâ\NWÕ¸®scÏO~ˆõQa<— $I’ % Äê‡âÁ†žSÕœþöÍûÜÈ£bTŒŠA ¥µ‡Ô ”šU“1ڽό‡N£A)5c*­&0„ Ùækü¶jU‚¥w!&ô>5èÏI™2ºÕ¯¸Ã’ŒRƒÑš¾Ó |Läۄ5x“ßÏyöô#•`ÅÄ ”–X…’ +¡Ä¨{kɘIÙ5¶†ÓÌ·ò †BT +@ÀÍ)àí6äµ;ˆ1Vsæ`".='ÓÉl6Íf~KÀZâÊÄ„€¿pÿà óéAÓ²ö<XòÞ¾Ýl^H¶Ö¾4»m·]Ñì;¿•µV˶?þøcûãþÛû]«ÕúÝï~÷»ß·ZüÕ²ßÊ +¡¿ü¯Š¢(?S„ ë}Á/ªŸÿãÿü/Ïžõ¢îNw§Ë$˲Œx7@žçÿÒ— +o¼,ÂBˆËžôz-C®àÕÀ„•ˆ °‰6BwÀëå(Ý÷߯l0Æñ8ŸˆaP’¢1ˆ“¸Hqœb\€©".‹Ü¨ŸÕš+þÆË>Æõ.~Ä%„ë*BôtõI¹ìæ +ER(’2‰;îbXT’ ÂTŠÏrù¯Â-€îð–}ä?4)á•;j5Jt§Ñ`ŒÒÖ &eqÝìF™r™m9*ÃÑX×þrèŽÿPsëˆRJy Oº÷)ÕYƒ=¢”1³Jé6Ý!Þ0U™"ÁÃ_ FuÃàf&Ü3®Lef•RjÔÈ–ÓØù1ñ?‚/üQ怛B ü¸*@—r˜ïЖ"¥Ñh?9Y)Ÿõ†`å ðV ïö‡B äZ|[Zóà`¿óø`Ï€Ló }¡°·×^[&¢Ý“Ó»vËî´ÍîX²eó{ol_€Ç=Š Dà›>o€oÖ·e[²,[vËn·Z­6W+½{ཱུ_kh-! BÈ{Šúöû½ +B@à üñºøGçŠxN²,Ër:QEÉfQq,ÓE@Ú'D1x;¥è:«…—8yþÏçB¢(Š!Þ(ú€8ä;výàà{Bª„Z¼$¸ ¡ÄƒB)p7½B‘‹œúI‘l—)Äÿ„8ù!Ÿ’/’b¡€‰ºZä…q +cÊm¿ +GTl’B +{[¿ Ä‘2„±(ŒB“‚‚Fa2™ÄÅ¢»{¯lÍo«ºyd°U Î0ŒZ·Qe̬2“5wh-ŽaÊÛkFe÷)uÞ— ‰0ƒB*„R“•æŽém1œÒ°ÄLÆ7í8”ß íº¨¼1 aö°F BJ„Pjš‡CæþÛr Ç|óû/ƒï¸!@0 +RÔKÿ»÷]âþ»Ksâ7öÀ9׸PŒÆ“Ùd6Ÿ.æÇ'¾Õ`rÖ5áÎdÀå€À²,kooOkv:ŸtÛ>X™æA»Ý¼Ðp÷d¹i·ÚíV«Ý¶;­L¦õv>m-°Üü»¿ûÝï~×jýVñ%Ò|ƒ}.0ïü»À£/þÇÿø—g>°€°Œd$Ën?P>Fé4H§#¥H¯°”¾Äü™Òi€Òé%Xs^¿$d¤l"t7¼^õ.×…‘b±‚±¨$H’„¡$o6Ž“&!.ùšÏTã")n—!Æ8‰?„É$äCþ¯OcœJ á‡ðCU…©".òµb!Å)Œq±Ê——#Bÿ³”ŒEWã,1˜*Buyÿ¿_N1ß U:¬˜¦ÉhÉ ¿z×iTc&k4´ÊâÜË")“ŸSS¥”ã¿4(¥¥!Ô¤¦14©énóef|YrÿßnTÞÆqÃ& Å"&I˜ÄÿéF©AI‰PZ¥Uçó_›f½Râ}Γ£Êç?ªþx·Ÿç¼ÍÁ€ Ü2ಠ+ „À @bžœq(IîOçãñd6ŸÏg‹Åñr;øIv €lZË/Müð.·¿u`ç9~»Þþ³Z +d·¸hº + ew~ŸÉ´·2÷–èØöÁ~§Óét:ï]èúo¿ûoÍß·,´Ê¥¿÷žðïî„wBàú1¿7Àÿ¼V„ò"ËhI€ˆ 7 Ë(â“‚è¥úA€H$"Š¢ŠD@¡´( +E!Àjõ‚òÝÿÍMYÙÜt ß5à.Õùî;ŒËîx 7 $I0‚’$AIŠÅp„@˜Ä)œ* œJ¥p*‰q¡H!NaŒ?„©N¥¼ç=Æq 1}È7 Œq±€q!B „8•JaœâGqc„1) 'a2U„b\øÎ€ÛÎ +ÕCâ € -„w\¹þÞÿôO¼ãÚ•ËW¯uŨf®ð®ê±Ó…ûöïµÇ¦ß„Ä!³¶‚"ºËÒê˜Èù¼dºÝú/ÒÕà/ÿPaüUºŒt|ÂØáÍ+ŽM¯S¶¶~üO(_–äJ“ØgLR¥`— Q ù"•+÷WÙÉb¿‘ßZ<æŒ2P.Ê ç ”à‘ˆ,ÃêÍ”Ïõ2ìA+ŽP]¡£Îî¡[/wv€Ï¬/6ç‹«(ú¾­òõÙgŸ®÷®1€Àÿ ¥ÀMŽeÜï™À’?ñÅ%Âç˜ €ää{¹ÜþPø—‰ )[üÿ!JÙ+ Û<ær²ÚÙÆ\£éMkÿõ™F½1·ò“•v>ÙÈÛë«yÖhËÍÅ–K®È™¹å¯*y£ÙâD#˘ª^ÏSl>qz̓糭ì-*ØhdMüd¹Ðòƒ¹ˆ¡æ”'ë™É³5­bˆ¨_«Uëµ™FþnÞÊÆ}¥*Ù’—O']4SŸ«ÕT‘I꛵Z-GåÕê ¹Ù]õµ@ÐüI¾RSEh>(*‚ú±DE‹qTyºò5‘VòÍáòþO¾42R©¼TªëÊÕl®ÙZsÃ…ŒÒëõæŠj—Íe«í­ÿW”­ -ØQMšè‹M¾ô"‹¦­¢;† üg:@ðqqŽé3ZÑ `kݽq‰¹ ÛíÝ-ý(ýׯm°ðL€ç›þÇxÆu#F¿u!zù-¿\@ˆ+œM é/º€6þ*{€+Î|À@9' b(Pe}ðÏÿøm¯\+›€tæøÿ€¿Û÷y³àHÚ‰¤2ü§ÔÅJ{ÁXºY÷ŠE?¶bð­„þå/2”ªLa$NÈ^®âwcÁ [/þSYw=}º$Q­Žy$@;αQ¼´?¡º”ì…¨C…xú ð‹w{ÿú8V’ÉèV‚ Ä9¼+ P(4ù¿ ð·Rër}1{úìqX ÞÀ1Ï›tÅxYö(ìÌéÄ5ŠVGið­wi 6öi SñJÖ¡VS€Ï>Icßmo3Óç@s¦2RÑc._dPâüâ‡# ¨Žzü{îã'†küoÑ3ß]8 òë =zx¦ÞŠ¿¤Òµ‚h- ´<òs‰œcp C ‡^Àxè¡Üw)fp€ÞœW–Ê×ÌÙ¹ì]O[/tBÛ~g1IlïÕÖŸKùJ¶}§}çÃöÚòr{Y)šï -o'™ÙVh¦ n·šõzÌÊ7æøùú[^¢à²l{¼…ò½´Äry¹¥Lòµ;€¯vŒÎù¢ˆÂÒrsrü'Á -áVÕ“ Ý= Î;:¹ÝZ»³¶ÖRF)E+o´Öb3Ï×ZY¦šûT,"~¡µ´°ÔžQ}—É[RÉmgr‡Š,/,,+eæ.ûèÿo3}.e„4V«•jÅ“W†ÍM”r{m­Ý¾#2ÓvûÈb~¯9×I¡ý@ñn“xzý©¼w0õÉï¬8¾"V'&fL¸fÞÌš‹M‘}Êý÷ þý¢}Ü%¬G?#ýjõ»;`€4à$¨ðjŒÉºÁ8^7¯‹‡ÿ @^ÿŤ•‡pY°|®`¬ï7ÄÿÁ` …pêÌù+7Ü‚¯]D|Cþó?ÀÅW/_I -µÑ2¹óÀ{„ø öA|ȸ®4>ž ß©ýaÛ¶ËWž†ÿX¾ÒèchÝ…¯NøßÍ,|¶Ët½—ÅÇû]›,‹LûðŸûŠÅIÕÚÉÂ\¯Ò’˜ßgÑÀµ‘VÐ]àÿéÓZ+áÙÇy1€¯º €ìê­IèU„Ãâb ª³ ¶“½’§>äHÆhž'!"~pþ⯼t@îú©.ìŸ&°WPÕœ•ÀiB‹›£oúü -@˜q©´þ§0€„ÿÿ׿þëíÍŸû•3ã& -°¾:W¯Í12Ší€¨4ŠÁ„ÛÂa p€èŒ@\'uú¾‘ùñg]°bB Èïù\ Gigž#䊣& Ð8pŸ'Ž®DƒÔ¥bòõ=‘A=(.b_ÿ¾R>Re ¾Ž@@£˜Êlnn¬.ÎÕiðÈç««y8FÍæï~÷Ûß}®O‡&K÷/ÝPYÜâÎÝÞ¿ ÿg¿14  PX?½@¡ýʺÆø–

Ø?¿<:ÜßÛ@Kˆ¿ÛDô³ôxK ÌèÆ‚.cèÉGHmçËn‚Üè pþY -€lWû?†kß÷¦sþÌ×ϼvEÄÀA} -Àb7o\ëSìøw[òçÓÒ4 YÚˆ“å¦énØ3Lncºk¥9Å¢ bÓYXWúvÙ 2N¸ŸÖ={e®Ýø?Àù·‘ÂUŽ„2òè¶=š ]½H ~§n§fÎs¡?€ð€·^Љ¤š£€{ ¤s?.¹Þ¨ Û‘ÿ!f§øfûu)46¨<Û¥hÛźmB%qŽq#c›GÄØë ¸=(å YBŽ}šá(à) !X' -@ àßÿýóO>L€‡Áš‹ùÊâ\µ2•XÒ‹X~âóa®a‹à{­Ö¨Ñ`P‚T¬® E©ÔEwäû„0r²|¡=÷&ªÄ»*}ž¾Z3Ñ"œŠâÓ]Xh¥Éÿ™ËpfF‡¢ ¸°§Ë¢+Ц'‚è§ó@?žù%YÚKpßgÂïB°gè‡`Æ` -Ðíû§—%xñ-&éð —2"`¡£¯ÑÚŸNv! ó{L™÷¿E5ÞØŸ;sêÔ¹+7R Äàúµ ç_åUæµ›?þðþõkVP`"*‰ À®WX ðl”§Ò*,6ù$v³ ú¤×1Ž%øO ¸l>'K º/)2µ½èʳ ÿù§¬ú –ÒÊŠÊ…¥^ä®—w“€T^r*ûõv;^rdüÂX\¬WårÔä%¯h=PÒqŸ:«Cî…ñqÁµË·7´#8Ž~üøÉùü„¡Ê‹)àû›ˆ¸QQŒ@0\¼A¸Ï#FïÏ(⾨¼'OD؇-ÐÆ/|¢²õ,R†Ð„=„TŠòÖ e É€®ðèòp€| ¢V›ÙÜLÍ3oŠí4ÿ³ àÓ {(¥`à/P¿³õLC`žu @¿Pöð8Ø^½ºBºúæ Ïý(,;ã¸m¶ßU¦‰>'%Œ|@~•½Ž9ì·×– -ËÎ2Û_¸ÐB«V¤SÛ“x´ôÁ3 Úî9'L@rò• -'Å`Ê^ À°/ÎðH àÉgZ@/tÕdÍîžMHJHN¢%ÊB. 30À‘š67ÅV›M¹=zê-Òö™±m»þÿ€€@[Jrÿ¹Ë•oû>lÄÊøðÐÐÉ¡1…à€ñçš à9Fd¾¾ð øŸzàý3@ À‹{)¾€g>¨¸´d÷P´­sBÇwðßÛˆøÔ­IÇ ðŸ­ùÙKc£kLöŸææaŽ¡D`¥_N1Ò¦]n£iÖÊÆ3ã?G -€Õ³ö«ŒÚSL#ÄÀ ôâ'Q+«©"Œ½g¤OÙ†%€å­Æ$ -@˜éÃyoìWÅ¿“µj“RFÝÐßÓ0j@LD/ÑWÄwd^i¤;Òësðß4ƒ!)sÞDc¹ÕC´€ôgüaÝ7Fð\FàŽû˜Íû׫>¿¬–à¾ß쎰=]øÏõ›?úz2žP®öLlþ¹3¯•Mƒè0¨€ëVŠ%/ÀÅsgμx¦W¸â\}• -A‰‰è0î @œeYQÎÕÓªûUœä¶|„»µ_3¥Ø1Žùh+Uà£÷Š„É"_-)Á;‘cïàºv 1D²”Ú¦LdCz=µ ¬KI.|-šð_yù4óêè¦ÇÆ‹LHÀ|" ¾;€¤©AÚ÷; -€`×MQN±ïÁ ‰8|+-ý÷¹õFz+çßÐ)+ÂÿP\Ü™Wb6`¦cÖ/0K -&}Ó/®è…±´t6 àçñ²ü¿Ë•ÅúÄððÈÄL#ubTpO f‡ ø?θð™erðÜÞú -“åõƒÎøÿÈBc!;ÉPçE -t©ñZÏxÂýÇtÀS;ˆ(#3³¥B@~íu%8ÿøáŠ„|˜¹Y€P°_J§…úl1„ª¿¹µµ±®oÙl0ªðŸ¨Çæ\(ÍæïÜðé¿‹ü_ÿþ—A€aÆÿ0ÝcÂþ§Ã`»ŒF÷P¾ùô^Ú°Ô¿W/€N À—1@ÿOý 0Ç„÷¿G Àî^¨„5Ç›„ã—AvàYn¬vòZïpsÏe–œÒ¹ååŸàØv Œ4ê(yͳߦ=°¯8h˜åJÀ6ÐWØYÀpX«ñjË@¢.[¦lZ“Û±'ÉjЕåyM•øõP:¾OW¶]ˆ(謪àzP¸ORÇwº+"’‘×&²z­ÊDÌlàæ €‘²ÕR¦Ì¾×5!o7çÚ1í¿¬ÄaaBî¦.áø»Y¾ÜCÆ'b,`ýÈéhm$S¦ÓÌþ?~¼´©ñ»CnïwYüÝVÆèá~ã;?ôzM>ÿôѵt”Ã5¿õ7¯…§mó&}ÏŸ;w±TŠ{)xö=o- â_?uæÂõ¤À -@Å:@F°w€€ñ"H½„ò,t4­Ê—Nà±GÒýد!yP -¬Nw›#égØgýê=)“%Ô÷"€ßÌ‚%þ§«›òŽ?µ¯è56J -e÷nÀÍŽl¸`(&õ üNÃñ+0ö¦c¢ä@ö°œqÑ è€‰Fàn㎇@ާÁ_rJª)¥TN÷)J«ëÞ¸xÞüÄ1¬TRÌØÿ*QÆÛo('B$Mr´ ãCߎt&ÙÂ÷–×Ð&°í¹&‘…ÁnëÞ,Sš•³1‡!í$u¨TªÕúŒ'#n®¬¬®¬¶õë×Ob]è¿éY?Àu–Htþ>°¶Æïj·“ìÆõ^°`Hoõ›<ÿݸñ£äƒê° Àÿãâ<‘ÿFÉ+/_`æbÎ_(ÿh¯ À¤ümßKÈãßó†$àëg.F`R®F €‡GüàÇ"7®\è#úÅËYᩚ²Î–M»>›q¤°â:î×Á,”ps—þwYüØ®3)‡@ÿ”qâ½øŸÒ´(ÔÉŽªŠ,Ó!Õø´Ü³€öCµÐ¥|½˜?Èè-T‹êäjCHa€›qªÈ‹€·”Že:¥0º¢‘íñë8:A‘À -€êL?@09b”½©JeÚ€‹(b½ -gC0³è0 !\t÷„±ûvYÂ’ýÐPeë(gÿ°¹½µýóíô¶=x¸³:wòX¥2Q“o,Ð2€"ÜepÐÀw§þ‡D -à àáŽ#ýäœ €=4 vèýµè/ Ç—p=SðÔµdÇ×áß?áp_Ÿ_IIPG´§¼,*À9ŒŠ@C€V<¯d"¼Ü€¦Máÿb³Ñ˜©Öfæš«[nâ$ÍðÿiŠìjH·/î¥Í÷Ø·ù©øŸ°ØËñ³BKA¢€¡oˆ(­…òÏ7L#Hù>U àBHÀ P¹‹(ã¤@ J þ›Sê.s ¼0k|›®ìÍ„ƒÂ¨Ä­I÷ÀoÞÉë¾óýï//{ðû¼ý&-Þºš – e/€˜Ä?|ä¥Ö¸ûÉÉå£A]‡ï‡ ümÍ/Æu³`{q–°À|2ñ‡pVkkßo _9ÒÊ]™x…NÒþß) ´ùV^[[Z“õ&ÕÅg¼Œ)âºÙV­Ö¬Õªžpzjzº:- -1Œ€ér¸F~G5‰ˆDåÓ4%2(”€Ô+Ñϳ‘çÛ¾§åd@Ì<0‹ÍýÐiÐ}sc‹3øÕoƒß<¿ ~kú©ï,}—Þ°¤ðïV¼Úmøý²´ -óP@ „ož.ñð½"ó‚èºÃ Þª3/†P«G;ƒŠ‹ŠÜY[f”ßvkûífë#Ý -Ѻ­ĦùUª#øÊ4C%ž<9Î@@úÜÜâãÐ `}}³½¡ú¶~æîõ‹èG'ýêvÜà&~³ƒ,j¿…€¤‡ÿS€ëvþµÐiþ5€úîPRζr€+Ñ0ýéÐK¢À ¯åܸvñܹ3/œ¹pÍ@›D € -¼zãÖÿôÁ­n½Çt"WÝ À  ¨\Ìc;Y¨ÅÂÖÙ’uèƒqó9ì¨_Yº¡˜a?NÇOðiÆß*m&‹L‚„ÿïôçL‰vY”eꃳ¬ jV8ÿ¶§4øßGùE6!ÿbHC|´Ä›$eŸ&Ò'€!°Ù®}`4fWd¦ @+• ->wŠg¿l@ë×i„-tbTýéwjHgûœ"àÅSJL×ÒmÅæ¢ §‡t£T·3•ѱ„'û6ÃSÇŒ]Ø®€_¹`ó³Ž}®×“ÅÊЉ -ˆ,ÊS|𦞠€èÁ ìvÛ:ø|wk“‘‚¡ÆepPãµò‚Ó:!¯]gï[ ŸñÖÎŽròYÀ[W@î?º{ÿ¡N3ÿ$?•ÈÆ¬Â?ä%¶t©*ÆÃŠ(%~DÀÝ»n¾ OÓæÆ:#,8S`$€­‡ ü' -ì3ùÿb{ááÿøÏ+ÝíºƒÆßŒ€.àäÀ‘;½Û­ËHÞ1ƒ¾Q?Ölþ§}FA6Ò¹BH/ê•þöJ£|`m{6ØQ]`Oß@øZщü£@Ç,¸ÛTš’ìRŒÇÚubg¡Dz€sp/¡à8 `ªE!²cN+‘¾Vb§˜ïïüùÔ+UˆÎ9úÐ -@Ï@ªµ¶UyG¼q^5× 2ÕÚ­„ŽuR·•;ÉýÓ½×·ák×jõºêQ£Ð¨Áw½Ô‰Æ·¸aü;|KOˆF*ëˆ*ÕwÐMÅÿ'&˜XôƒŽ¿+y ÀT@úë7# Ÿ*Mdw-¬ùwGÛsÖÛv™z·•½@”¢ `ÀHÐoé²@V -jjɶ>Ì|í¦’]û¡Oì¶BY»¬OP bÂú^8sŽ&€^€¹„þ¡|ðÁo}pëý‚\¼pÞ¡ Q³. ÐY‡õ&£&ñÑýRE¨×uãçsÈ$°6€š…Ä‚¤kÒŸäO~<¯8×k©ñ×Õš(7‡ ÿÍœ«2?*o¾´=z€¾E/7R»® -—ÝH‹£ › x€4  -èö°PÀøýµö™”A¡¼ z„wî¾K8ñ¼|yùù6€·p -ÖÁ5nptaaóÿ˜‘€h¶íVª—Jë„ö´1›Ê îØo?ÿüÉݼ:4<" áí €.–6[Œ €7.÷ÈvxžƒØÁ–;ÛëYøn/鞣4ÃãéÓS)ì¼[>¸Kl¾ÎlÊCßÔs¯]g<€Xìl$¯d}ƒžÉ[n$¡;1¢2s2ÞÚd.â»â2-ô0ÓÁÕÕ–o¹|œÅEæ>mÔ&*µÅõ‡¦/üÛ„þ¶D¸=&aq÷Jü¬ïĹv™½»ŽÕß]iTÇ_—·Z=ûÍñ ![£^kÝff¹A=‹ÒZß¾·½½%S~d\ù¦žøß=ûv+kdsr[WäKþ¤µñq›‰œ[‹xy«r:×›“ßmdù°ïæÍ¥ì­·<ÊŽõº<`0o¿òÛµz>¿ÚjÕå; 3TF¢¡yˆÅð¡!~mÏ¶Š°ªZ«½ÕÕê8§8¹rÉ«Õo+Gò&»£ÃU­±#‡Žåvö[69®kíO?j}øa»Ýþõ=y³­ºþíå×6å±ßn|ç£_Üù裵{赮 -#í·Û­{ù -B÷Ú‡­Fó£{Ûˆæ*R>pS¾³@Ðþï‚RxÜV{MûFs2k-¶tsD³¦}üÐÅ[«oNzÿOÚJº¶Öþø—ò¥¼µvÑõÉdû^û£;?»wgí_óïÎQ‘mU䤀ÖZëN^Ë?VýÛÛʶ¹so;ÜrUcé'K+ªÅmô­mU­Õ|SÇWšŒdlלdDë·òÅÉqÕ½ÕþØ-|Y}Ÿi·Tõ§ª©"­Ö½îèõË;k¿lÖô¯p›Š´?F -Pí·óÆêÇÌðµ­ˆ•{®È»ªRkE/ªq3S!Szdþqë÷±’3î§gú=10¿p¯øÕ=$¼ö¡;‰Ï`ØAÖÕ ‰Æiexè7¿Á?–À5<ߺu+pœ]ÀAœ|olíÿˆìR"àP@¯°þÌ™÷P.\¾V(?. Õ¸ØE?úÉ@×v±õÀà! ?õ š^¦ûñüN /´Æõòû€f´fÞ¿,à?þ†ï±Ttáù«ý2ðÛ/’91¨YÚÞsI^y’Ž;ŸLè(çœù€}ÆEa"?§t=¸åß n&À@‰ïBsn¡˜ @ ‚'ÀºŠDÐ0•®ËQh@àR·LX ñ(áïæŒNë¤A75nÛ à  À%­;–8€€Ìx&üïŠHÐ&€0>< €žÂoÏeÃ…å+L™#œÞ —ó-€ò -üÛëŒ#Êl{€± üþÝMë@¼G…ùn*pãAø€´rØXß"þv®Ol‡ûÖ–'*ߨ ÑîˆLü&x-åçÉ…j‰*Ac¥’ñú -"†t¹ð¿Ñ˜™˜¨T·?Ñ×}"Γ¾:öé§åPÀÝ`—øîË~£lºe‹–À'g’¥×™ 6›Pù1¿ý®° Õj -;WŒKaz`o².8×òfã¬ðP(ŸµÖ½µ¶ï¬m ŽÖ”q¾µn¯ÖjÍõ@$™rÊ[èÊ„ÛÑÔ,Œ‘}ó)ÓÓUÑ×+dž«ÕQÆœ­y¸R9qdX í_èSl¸*RQ+Ïë1Sÿ·ëŒaWS¦Y=ke¯W§É^ÄâØaì'ŽŸ>R1þ+šDò_Üalý5fëÍ———–Ü>ÞZ*ZáiÅ^ûéŸ}$ÀûÅw³vë{´œ·>Ì—óÛkÂÒí,¿·œSHeÌÍ.[µº”ÍgÊÈ‘ù t†¿Ó®qK" nA|H7†B…òÙ«ßÍ·Ô£¡zQöaK®5ù¨]k~èvWd¹u{íûËÛorß=¦a¦ÂUÝG"(·µe’+'绽Òh§¿ò[ú4U‘Àûü^ý섲! -aéOf/yPCáÿÔô˜þ,'ªu¾‡jè;òÿþè­ÉÖíÛ\¸t{Mõ»-òòázc ŒÝÀ„D2mŒ¸ ìõñq½! úu7ôãþ¯ -ÿWWõƒÜÚà‡©~§îéÖ‹0»ÿ 5ÀÊ^<ö à—?™¶v™/ñ½‘à_9Æ0€›W ûQÀŸ€óç=` É;ÐÐ6°?Ù:g€7ßøýê…3g¾~êÑ~"HH -À ¾£¼w#b()À–?Å«³]?°oã;šŸ°áïÌÂøùMèd €ýb}`ó…üy’þ÷g–ÊŒ?¬×áùþÿQ+/2^`¼i¥/ À6ìèŸÚ€ É $×"Jˆ$6H8x `‚© § ˆHíß]öpke¦2>Q©LÀh(ô€¡Dæñ Ø„ݹ+ä|WíA0¸à¡¡ç‡ýîÆ†€Màì™FAéÍu=a ú² &å“­®oˆ_lè±c}agGðWâS*¶3 Â鶸¹Þ^åj¥£_d“YLy~¡-´u¡* ö7Eaô-`¦V­NÔó»Dëë&ìO–æì lðÝ4øÇ-ö«à½ÆÐ¬Íw±è{–5ä‘W_?.€Nµ³IFº `κ·Ø¯î‘éd—#óùBƒÃŒ–ÿöÙ€YAÑR¾NÊhYf<!ûyë'8²ÅŸ«Do‡²K¬kŒ/K\Yø”¶éVå˜q?Œg‡é}Xîºì0‹=ìĹ¡G“3y‰S¤¬§ŒÊ²‘—F9W8Åa3 Ù›aƒû,Ò¾/ð§âà1Æm4ÍÓsO'ÿåÎÏ~ö³O?ÂfèÇß%3æ/,´'³ÉlžÎƒìÎ^ºDW4vbøÈñ±iŸ*ò³Ÿ}ôëö¤¿²luÈxÉkù›íÛ­(®£R(‘ õ=ÒÍrüe<‡læ¢öúåòÙÐÏI` ß ü÷Ç ÿùã±[èè5Ðzðá© -€ñ‹DÜ?¯ ÑÓ§;†´`  o|€]í€ýeÂ~°½pþÿÿ¬'àü•P¢]àʈEBþËoAb €«W._ ‡@²hòçÓ-ü_»áW üþz6¾cñò.–îÇ4C®€0Ž•;6ÃÂÿt(ÌeaÅ5¼uY—à+õrmT‹Þ€m¡lúÃB×:=X›zŠoçè—+ç©"MR@$@ðŠûÆô - U†DT"ÂôuïÈUŽS­ŽWü ˜©0ìQCÄ`ÈõàM°yeU‡›´%"&®´<Š(:âæz Ý}‘I†Â+zÒäX`g«½)ß<_\lé8Sà¦C!8{—fÈM=”ÐlU@Ó“–®,¶6”¯%JÑû-‹ZäteòDF­u·2P¾˜C¾Ò”×ì_o¨özÜÍÔÀÿ™™·W·ˆNÔ3®×¡ùä7¿úÝ¿• -Àÿ'ݰDö¯øaoàO&i+£ræjã:–€À (u½î~h©¹|l?Ãõ(?ÛïU=c½ä@/#X.¿OÖÞͳem½Ê û2ÂãB™§õÁæžsc•±êÂȱ“Ó¸è_Ó œ><|DàxúË* TSë"‚}öÆÆ˜žŒyÉM ‡þéV‡ÿÃää«úÌÉ2ý™€´ço™úÓ]›àÝOú¯ÛËBi™È”€:Yk&kœ‰0 ¾é´¾ðì¥ÙYA^ç7'—tçY½1ë;PŸoûìʸn¥)ƒLÇ¢;_‡@Ã!&ö/w~ú³¶sWä]”±ÐŸ¾ µl›{œÌƒ–ÄÌyjíÚ0~ *uýUÞYð=XXhågù‚®RÍfë—€ÿ©)}«Qþ>•él^L„þå§?ýègw¢"óMU$!»ÀL«EÏJ™òu5Êÿ’la òÜ7,êßk®éŸ-¿\÷ÇÐ/(& !O¦ß -#nÐç1Ãt0£Ö K½ô/­%v[ ðM3€ë|¹ý êe:BÌOí1Âû.ß?6 üÅ»³y噯C®^ïV.¾¦²JàÇ?¾õÁup­[ D¡€ˆUdëròùo\»©W ;V|ÏÎwLcÉ ú2 Ö­A ¼¶ø Èâšÿ½9¦¿fZ}xþá›ÛŠ€€s_Ы„Ë_À~ñÁ¢Ù È Î?!}a èy(‚æv¯C8È*‘Jþµ{Ð¥@çûð’…ÿ§uÌÁˆtÂ_Ṫ|è«V¢r´¸ €R•ˆ@ú†r„K¥ & -è˜(FÀÿëC7@áˆ+G -€2Kïó¯œOز”Pa]€á,ð?bì» Ù|K~3mþÍF­R9) -01>1A²ˆ€Î]\oËOØ1¯Ñ,nPÀ2²»z¥E‘Þt»—ë­kÞ†?°1×Ìš"cå@ÄAÇhÇEÏÄ0$~Xo‘ÍÞn6 V"]‹b ü…ÿº<Óõ‹ÍEí@¥®– £'Ú -›~gæèó7S«Õ&ªúLTÆgÍTñ´†.Û¾»« ݼÿãëÕy÷Zþ]Kf„¯U„²zôÖë߬£ 4ì ê‚öÚ¹¤—®#‰¾×vãÕü¿ê(X¤§½á?z»Ùòù|©½29Ck¾si‚rÐâ’ÐñÛÕº ¨åùfŽf•c•ú AôÐW€ê#ÃÇÒ_‰_öS9Àè”<>dØm–ãåüŒÈ÷¯W¹ ùþa)x®Ù²`‘ߦ À((D–¥ÊËiî®ýôgkw~¶ÖÜÍG;FB;mÕ²w¢ì§‰aX†Ïè:¶<›\ávŠrƒ`ú‚°ûã‰V扄ö0®á#ѯŸž·ïùéGËß›pçôxÀòÒÒÒ²\÷¼ñV j\ü“Õggɨ´¼!Ѐ^ËæHëŠ,,ÿëÙV£Ö2k€ÌÎN‹ÐÃQ„Š¿Ïè”ΈP‘ŸþËŸ-C HT¤`ÙwÓ°ªqüðU´ò=µbP€ "f˜S¿š\¿äÖºÀú¦œ‘{t6#¿D<$·Œ.8Dì6`l uÍЯ °tÑ.˜oÞú€aú}ÀV˜kü¿À@€øè ñ@c Rú‹ ˆZÄ;­ƒœù:³¥€`—E4èvpùÊuÆ@xÿ†ràÂE‹@ÿE½”Jï(+<~Ð_øßy•æ‚Kcä—`/ -‡u_ÓÏ6tfާÃϲHÇÒ@‰ÿÎK™z ºiú›— - ݤot KÝAVíu G©-%—Øß¹ô•7Æ@BóäýÀœ*âªÖ+§Oy$àCG= .€àå£hf#9ÊPçà¡È¥÷\áÙ³x%Æ0Hörj%9ê?–{¼Òá ºà -º<Ý:¸`h]²] -ÀgŸ Î÷˜üóÅõUùÑz -¬f3#CÃ'OŠ0v8Ó‡ˆÔôÜr@ œÿÕEa¶#ò­ Ö#¯b G|S>'Ÿ›\¨·vôÐÉWI°±ØÔµ`suf¢&ï\×ËšÙŠEø"Ç—Ï.ðf“ù 6E„ð‹‹M☙?ÅeÌ¡hªj[ŒhÖZ]£ðqÕZ°1ª¾O]4‚pÆõ\4'‚ º¬u»«@Ø €Íkài»Û—¦¬à§ŽT›Æ€À{ÿ,„ø)u2¿Õ€ÜÖÏ{Á?àG¯xÆãŸæD¢ÕZóèÉ>f$ôèø0€o{x9°rœf«££ÕJ6"`„–úŠeQÞé'¾—U”i­^û2´üž,|ñQÜV}Ýúð±áQg®C.´&`]vgÉ£ôÈÍ_[þSFÊaÿ¿JŸµù™ðn¹U[YÊçÞE‡Éÿ¨å¢4æV‘SÓõiS¾¯pW¾tá„¿›ÏM¶V„û–Z|(ðÿ£læ“õ ÷«B6E>|;(?û—µ;y{Ò#ìQ* ȳ‰Fž½• ì5ý9[ ï¤ÙR£Fiü­çêßáùe-û8¯Ý³è=+0«¯356:6VñŸg´ªÄªÈÒŸ­Ýù?ÖÖ>€?A¡ ÿTä{ÙYäÕC7•Òô%|/Uaä»Éb€‰q~x ÑoQnÚÉÄæ×õ£'Fd‹H8¡¼Üâíþ?yô„†³ÝfÔdî€÷Y*î(óNŸ¥‹úM(,¾u+F"Ÿ9õµÅ§TËÿ2€Âù/Ð3¸§·»òÖŸÿú×+ç®\ï}+?ÒÒ\C0Q…½÷Á±ðÞuÂE; -À•ºÌ„A‘ûÅ0ž+£Ç -àc,âS,¹A_†Å?Æw¶ “`Ú‹ØŽŸóÌz‚ÌWËüg+×*gøË‚óiCŸ¸Œ£ò”‹7 -€1WhË2}|H@fõ@i öKøoà|:ÜNh{*´€PävGJLS¼›þþnôÇ”Êíþ)t )Û )ã•зf:@¥rÙÊ»P PàO´Ð¨‡½F Ö/™6(È|Àœ€&zèŠ!ŽX¼¸ä}kàR*lOàóÖj¿­ÈÀ‹–_¼µ±R7b8ap€gl€–àß­ëáþËÓÀË÷ðBð á´guNž†h‚¶PVhÏwaM«P‡4›òèE Ö×7·ÖéµÓÉt1é -rK•"*rÿ£Ä¹7u=b€Îд±±{XÔyUÑbbÜà/ø?yr¼±¢ºm¬·V›ò}!賄ÿ¥ðß÷ÒÈoþo¶o{a€P¯׫•#ò²ñ¾O!Æë`CÞ9h /'쟛˾ø$ÓÓÛNb£žµg›+vöÂåó: Šx¯……ùüN«ÖhËlìøúÉ ø·Ž McuP4sÕC®såXe6ðßZ=1‚þg¡¿ìDµ.ÂU´ú'›Jøoa^™¯©œ8>|äÈða‡hy¤1÷ú†|Ç6Eä6L®/&à½sgmmy{²•7=¸Ýò'PoÕQ3’úóùŽ¡8œi6d(BKnDøÝÞÝ´_*ë{Z.gïä°v1ç<Ú RÄò¿ÜùéÚ…öDëÝe/ê¥ï-/å5Q  çÉ=xƒlV™…¬53¹š¿k"‚´ƒ©ßû¨‘m¯5÷øÛ飓ß°ÿ_© ëÛ‘V_J¤Š´&ÛÑ"’*Â-É^me‰VèÖÖSøIhó¢V|çþ42úøðÓœËÄ‚‰Ïñ_Bm!ð1Ä'îÿ]&êüÓ\Ö#ì2`l õ*† =Kc½ÛÒE»LNø›·~|óڕ׺€pñŽúµ«{Æ0\Ÿ}~#Áb,`eβ\[øú×OAnЍtbTò9ä}~ýæÿè€÷o˜\½r™9Š´@pñíý+—_@ŽæŸ`hOÛÞ/­<c æ}ö"NeÒEÄÓŽu\ú§˜a_ Òw£ך¦y ºÏ8ߥÄßžšuÁ01ÂÛx÷|” -€.qfÀkyÝé—OŸ÷\º>%¤tm(ã ýQß ÿô•9ìórÀü´±ßK09QŒMºüó=Ód0ÆHÔˆ×a¤“dž¿¹†ÖT³+éH[2çã? -¬ çý -#`aFJ U0á˜-À¿ÿ»pr—­¯¯¬nº«ÿæzs¦2<¢gŃՀ-ÝíiÏ×CcS@NìZ”åúgâ—f…PÊc]1€êȱJÀ ?! -p„Þÿ3C¬Öôš'´E¶b5€1ßµRyI¹Žh+òÔ'ðÿÍV‹êúK½“/, ³ -äå+ЏŽò¼-ðqm]¨;?Oë D@Þ›iü$3Õðl€*½h)‹²@·b¥‘ŸÕ}åŒÈ¨ŽëßYnÕ)"!$%°1–±á{HEüwqE~¹¶¶°æÁEº»òÇ™å7oOè'ò•åRG¨Gi:Ñj.6ŠŠ|‡+²üláNÖúEÞÎêÛ©Ö³ñMøŸß@Ð*:BTäg­µóö¤èBSdÑ>Ý¢C-OäN稃,ƒÆV½l22¯TÇgª5Þnæè·Ì¨ßúUlnmë'à&â¬Ë!Ó,ƒáÿ©À -€0£PÀ‹Ý–.d7oÞúÏ€³MX+"pÑ#î; ÛL}ßøŸÖ€s_§=™ÉD`ZÊËåiä¿qóÇŽøÀÚ!Téo£­ÿƵ.TgµöãåâS,›/ÁCà]??üL;›€M¼‹}æ_y‘€˜Ít×GC–ggÞÛzù„MÅø‘Ø{ÿõ=ª_zyÁ*hëw¼l… #-e$ À:`øÄ}Òh -޽°Ø -€Þ"B~ôyó”…ª ÐàÆ _QFÄzÁ -ÀiÎê`×l€ÑÕÿ¼ Š"‹Ã”¯å÷H¬»DÌ1búzþŠÀèOžî(È'A̳,À©c@×_þàòå×^{íÜåüù_üÍ~ðç÷ƒ¿þë@»cD¡£üÿ­õÕ9+ç*\_0¬7à«}áõÖ]ÍCSáuDïks•¦üÅÕMúÓˆèE¤Ã£@³¯ ¶îÓ·?ž3,H%ïc}E£Ñ\!î—ê½³±Ø¨ÍÀAT¥Åu”J•G"4Ëû[+s3Mnm鑿ú"5Ì1þ_UT¦ZÕym2U`€õ4t)¶ø û‰”V9þÒKÃåëøq}¸‰29ÙØaAâ¡CÇ@G4L¤<±>ÌÁætz©y¶é™gŒþþ ð¢âõ`_Ì—noÏ4îÉ–O—‹AÁlC€"—XT ZýSƒåXu|t¬2:* brB/ÛááCG}ÅHý À -ýÔjÌ['z¡| ráuå¤XEµrh¸¢›pfàòÂpð= Æv©Q'äk×~ä®üåÛxž6Ó¶÷K+ÏÆÁt -ÐûÂD§ÉtdB0AL!ÅÇ2Þ½–.¦ÕâŒmý…R^10@¼"ƒÌMâåãøØðÈþÎM› 3yêåCÀ0¸YP€ò#èíR”¶KÁ×5oà‡»àÅh  rTz|qc¿û°OqZÏÇ -@8æ`¼O™:A¥ Ö肹FÄèpÙ €«~²ƒ–Br$€nàtÄúÛNSsßÏŽðMZŸg¨à ûhXúO÷ç)ûë¿ü°þòÿú——/_ÖÖk¯ýù9­~ð7?ø«üoõ×ý× íºLpJû}éÓ3•qú -žìñoˆìlm¬Îá=4Á_†ýÕÿÉ“'Ÿiùφ‡ï®ÎÕ™edcëÁcš ëœ>JÂÓãÉ£ûíÅl®ÑÈV·|-cû?ñû3}öèîöV+Ìøða1V/O™G[+µqÚff&f7•?‡žDѶWˆCh.2nñý-ÈÌÆV{}Ý€n ôi˜[YÝä ·#²’8Ên{j wÙ ßì -@÷¹¯DãuØÛZÅNŸ ó ÖS¸TýûaÇŽ¢`â^ã[™Ð} œ"üÌÔ»kö¼%x»%èJ€£5"x2{)›]ž®¢„ €‡>jç9€@ÅÞ -€x -õ}*úËË$ á®x9»  *j!#Ãêð±áê Ø9úV” -@~G€*µ~ayùmàj2&±[¾½vgyy!€°Œ/+΀ݞÑ×¥$ÙhÅÌFØï€wSP\ž¿Úl5|êrüŸØ¦ù\Y·t3‹R‘û×ÌDŠ[ ìêàŸ©"ù»8Þ²w¡ ü-Tá®`8Ù³dÛVVÄe‚óì›5%àd¾ðÑ\ƒ >\¬1Z„þbÔÑ`¶>e @·¯B S1Ud¡•Å,oHž¿¹­Ü; $,ýW‰XT2ü ÿ ×y@€ÅõõUúßÐÀo\ýzbä͇9ð¾GØ~H$¿ÓþW Öë 0poø–ð@~¸ Íð< -±ûWÕ?¢…?–,´¸ræÔ¹3§y2€«p ¡¼>×ß¿E7@1ҿϰ¾|åF’ý{Q=öÒ¶­ >V$ôno¾˜*€P¸ÿ: ?4¥±écñ&(Oâx…y[ íŸJ‡ éâ"ÇûãÝÅìÞ:Qd©RJ^¯PŒþಶŒ¼l ù6.Â8sL^øéWÎGºð? ˜"€\„÷¢ ~Rh¢“À_¬àø8å¥u†Rx1â]6 -@>¾J´ rD€ø(JfÀw„w)i—ЊÅ@ð——åÝcþÚŸÿÅ’ýÝÿýÿöŸþü¯ÿ¢?øÁ_ÇI¥Ñùs+€¿tøn·E›ìg³%ÆO@ú§¯ñ_O†Íõ¹™ñjµÑ\ßbj†fÁÏŸüöÉo™LàáÝuyéõúÊÆw²×Æüü·Ÿ}ö[6Ÿ<Ü\$von}KW3ü0ò Ê•ÉoµýäÁÖ¢üÞZcýÁc²eA Úûx+—?37W›¨Ì¬n=&9!}•÷㇛+µŠ¨ÁÊÆÖý󱟀BúH°¸¸¾ÕÑW•«3 -í6ÚIöÀÿù_;]øÏö.èÔ’úñJÕýè“ù1Í:<8\YBµÚ®Ÿm¬É7J¶€ Ï.üz&û8_Òeqõ¬-zÈ2muwÚÓM3i8)88à`}wÕÛþ:N6ò¹ÌÖecrYM,"®àø¨Àù¦«lÆ›¼Zw Zà«*íúLªgQC†/¾¼|ûûwH¯æ!ù­zÞ-äkÖÚÂì4)3ÿ@'ã)AO÷ÓŽpÞo¾›g“gk[ÚçóµÖÙv+ÿž›úW\âî}0‚‚DE–ÄÖtl<1™jb۞ɩ9‡¸Õ^ÜeÊ8ú#ÆŸåÝÆ¤–ɳ3Yƒz(ÁGÙ8ÁËí¬Ñ¶ÂÃÕõúb†î«þLDTô—¦<”ˆïôá;ËÙ䉩ˆ«ŽùíÆ½–¾‹u*¢”N ”° RÏŽ333 ðÅOÛÑÀ„íl€»³±µ)bŒè¦Ÿ‡ Ìàqÿá}Æ|, -`.ÞoÀØ@³à'x—«–.ÚeÖè…¹&o02_¯ `Ðe×™ÅïªQ7zçýˆM(çÎ\¸pæÇ.€Y¸Èüƒ¥óR$ä@[q…ç7}Ã[P ·ì ˜°¥ß,Ä 0O:¼¸cqÄѿʞJíÄX,Y§¿Î¾xÊ™ñ¦9€ÜȶThÃz¼|TWF!©.Z -Áf%étì,@_#pŸÐÂo/ºPBus/€„ãnïOê?î?^¹}tŸÆ“ ˆ t¦ñ€³”ª‡ðU\ýÓV”Ü.´P„ÚºŽË‚‹h¥ zÐ °[Ы³ Yðý  <á¶ÿ7 …HÀßüÝßý^¼ì//ãåË^Kàòkñöç?Ð Q€.ð—VÄþ毒ðƒËéÇÛ1¦Õ `lýÅFµ:·¸½í˜2\Oÿ[i -9jõfk ÷ø5Æ?ùÝç¿ýíç¿}òäÁF£*G{qã®Nú:ó;ŠdŸ=¸¿Ù¬ÏÌTçVw>ô®çÁr½l.ÎÍÔªsºþ·‚v½ ÿbŸ?ÙZž˜˜« -«÷?Óy‘}œN¦ÍʼnÊD­¡ÂÝ8€Ñ]‡æJkuqq±¹ºN£½›˜zȳí¶ûÝ -@² ï?€¿‹7u¡ HÁR¢ßA*ñëØñù‚Òé:=õ8 (“#=./]õt«>ÂÃ\€ ”óòLðdžñº• ³ñÓ£Á›ÜÂôµx€Ã‡‰ýë0£FXËñ|ó‚|A“Á`x†! -0@–·&=’ü]-A»ù…ù»üÎB¦a - {#Eð@‰ç쉼ª ›+µ³µ–'æþOäky'¯mCœ1å¾  T‹Š(eK®·Š¶ã­Ää/²Â²]k//o¹u;ûN}Ƹ›"E)hhÈùÏšÍÉo5¿Q|”ŸÍxxi;ol#ñÐ\¼í’þdSD“B€ø¨Êkÿº<Ÿ—Ñ›[¦ÊçÛ ‰Xnµ@þ’)¾S¨Fú2ÿ‰ˆD©Ëÿ^\YÉWÖ[ÓIŒøgbûÌÄä<ÀÇhÕÿ -œ`×ο|”?»žži.€/¨œØzLþ"à•g)×®\ãl—]½BŸ0¿;­“7~óÚE´þs_…¼W*×® =P  €€Þ¿e^Žq€˜“àýƒ[ >öcàŸÅ¿zŽRøh3º^Ñ3&c€? RÉb6.ë… ¬t"Ly¼{)KØ_Pò/ r=ôÒå†óS7@£n±b -€,2 Î c,Ða/$ÿŸeR䨓·½ñäø‡Àõ%‡H]Ðõ~RÑEtðå—©1¤ €ÖþˆÐ+ň˜ÔP §(_+"èX@ @¡ð; -À„ÿ÷(ç_ù›¿þ›¿ûOxó¼ÿâ +€Ë.tüÿßþâ/’ðWèÿ²üàµà¯.ÿÀâzÇÄòC?û»Ûù\m¦¹¾³C»ú\3úþéù°¾Ø¨ñü˜[g:€ažq„æOî¯ÎÕª3|óþãl¡?ÿü±ÜýÏî¯/ÎÔkõFkç!òn¼¨‚ÜüÇw7›s3õ‰¹Ö}]§pˆ(•ÝlT+µÕ]ªP-ŸöOMõéÙY”Àðñ±*B„‡„ˆäKÍÉü]Æ#PET´L«Ö›ž$Љ˜†üïcÉøËG€s¤€ö†¾›v6®›F2xL€¹€ÿ@d ïL´ž?Qã_T¸!ÿøýDý!”1Âî=cè%ׯ_‘û%eÞkŒ+ׯœÿê×ÏC‚@qgÿª'\#D‘… z„?ëÕ±žc_L†Ž¿7¸× Ͻâ|aÆT’ÉÜ9\&U‚ö¸Ä—XâîsB8|êe§qb[dg&4 8€!{ŒÓ.ŒË€»ÀW’tw,VZ²ÐUQ ]ˆšÀ›“§ÏÓ‡.¾•üú ²N Wˈm„ýùV´yÚl€S2¥#—N/Ñ -8‚ê§kÌ5\¦’œ/çUI -ÀËLØP0ÌÆ·­î‡´ñ7ó7šÿàåv~Ùk?øóùׄîAö«üà í’!î‰ç?¼¿uk]ž~}eëÁ£»+ z ›ˆ¬3­MUúêŽËl@a c@ð.êáPo?4þ |ˆM z¼÷WŒ`qÊÇWZÆ`?„ ¼ø«ß„r@ÿßj ú»­9À(šÄ`­ÖüíÞïtFçæ?òÄøfÀŸ€-$²4ÎGAþ¤¤Áp²ŠÌ¿„‡œú•¨äEÚf),ºÚ™é-@»°¨>Ð oŒŒ°>ìK#×Oåi­ëÍœ‡5¬þ¡–3K˜¯âSù:8â ½4 -àˆÀÀ B$qX¥°|Îs%I€¯›ðûåî¦Ñ#q’êÏ×Á¿¤»÷FbÛÂÀöv ð§Xv -€NœÃ°pÄ€LÆ€þ¿-À\<&UÀO…ø¡ú  ÷‡/¾üå¯ÜýÿÛÝø¿úÙGk¼^2´~Ü0̃üL ²²²öñßý2þñ×ÿH@4 ºR*›àC ƒä£S_¸Y©×î¬Ì”wÿîW¿þ˜Æ À…ùr©ú-ü˜'Høÿ1@„ãG€A˜qP ú2Ó ì¸é(ðߘ¾ j EXÅnBVûÖ%‘ œú׎‘ã4ˆp;€5¥{F¼ÀúuX uB§ü%Idú k%—ÊÍ2]çg&oEç‚?ð\87‚™ŠV%žÚ äŸÊrž,   €‰  ”TÛ¦ ­tÔ#[‚³ÞRÈNç -(ÛÌ«õ^&pÉãD–¿iÜö<ŽÎïÐÅóúÜ®–‡Yu~©úqÿ û¨žÙðϨº¥žTpe¬tôGP‘( -”gá¥Êë‘Ó|L«Þ{0‚ÒçKÅ„?F^w¾‡èW*:9¤#ÙJy·ZËûõê•r­ßïg­hÉîäÀß]>Ë—è]3,U„÷©AòP=²˜ ¯UP9пA• -3}$ŠR66f -;³tS„©V_[ûV(Ý·a4ê~ÏØõó¿ûùOÙÐGÿ*6ÿŸ,ž'ˆ €ñ Ñö(¦Œˆñ¿€ü¡Ä}!$À^€À1 -à¹FÄ8HÝèQަiwL0¼óðýwn<7{ÝÖD$Ê p\Ë¡ÀËï$ðd1Â#À;Ÿ¡G~ Èöý“tœ¦NËà -ëýÔçß“”ì˜ýãR¥Q¾&g€8a©Óüç œi©Õ—¿dÐÖU´IB¹Qª€øòDøHXy‹à¨ê¨|.Pâd7( ›â½¥‚ - ¹G?ƒ #>){X„ÐÜd&l Nq…kCÑ0Bzµ Å= -³ø2hÀg= -à˜ÀPL¸Ã¡Àz¿-A -üïvÛîØim''€Â°s‚ µÃ@N·tØiu¡õÃÏÀðS€ò逕Òàˆàœl°ÿ@©‡€ €®ü?G-7WòŸ†@ù:0þ§÷æ§o®ÔëUa÷ïDŽYÊ…à§O¶xPs‚ûcòË_$ø8Œ ð'þMNMG‡£;+æÀã}¸ ëç@\KaAc–$83s~ò¬3a_¢ëÏž=+¸·ºïÎv&Ûyæì”£íJtÔ„x7S)Åp9É…Ôå?9óÂä&í5 Ñ'–O)J¬bÐýu_h€)Áiø_Í{û@þÆ]pmƒ¹€ª¤¬z)à]ßÜê Eû€Ä¶¶þÈwY_ºá.ÝôÐ7=)èF¿èaÈêó‡y^½ò -³,+»ÞAí^S ÛØê/åÌ@¨ô¶¦×T÷ Þ)ßÉ%Œ=ìëü‡sä ë°w©óîÒú¡/qú!òÒO€¥€áz‚låÕò¡púÊzí#èE¯·Æ}oÔ UoÕVWoß®­Þ®ÔV¹©KT±TQ™d¿!¸Ç)b7fG .ÙÖþ>5éß-g››@½Ž›L¸µõ`2!AüÔdeœ{ëu1€ú½Ý +€…ÿžÒ ¢ìùAbÊ †ðŽ à˜'O’4 !%€$áɉrº€.€¿ú³‡oÝXX4ßòïa×c2 º ÆÇ…A£à-yçüNS‡ßçÆÂWÞ±¼àÅ“,B~‰0`‚ûQ1 5þB -Ø¡>©À›§”€<}Àþ1ð—ЪZÏÁv£¨[ZÂ1öûñðEØK ,£K—ò/|í]Hì1}–q RН TBe *;—”ã—ÝM>ZcmoyƒþqªåŒ’ àÝöÀ@«ÑQ$ˆ£÷߃±¤Bu1:˜À§¼·œè ßc}3 - |H„iÔÀào €¾†ÀžÔzéóÒûwš'Zöþ€€&ú¾Ïä`е<Þ0JôþÀ‰O—ü:,€üÀÀéS-?ÿÛoÙðQAþñ×hÿ§[þG¼ À €êÊLiWùë”H‡ÉÁÐPzj @AxNúH‚€BŒú^ÅøÿŸô½Ÿ"3¥e¿t üÂÌ‹ôŒ£vŸ×‹øâÌ¥‹øÍሒ)ù”ŽŸ?_F+‰ýê&ÏL2í8…GïÁ(Ο¿¸Lláó=Å ~öéôìëÒ©KN5uqêüÙó"—ðØ/ÕlQ&]IåÍ{ž~åžøˆÁûi |Dß³ÎíG<¦`aݵ" c"­9ì÷ò|ÿQÿÑáa¿/|Þg¾ü|_pœçýÏ?{ôè“|_‹¾ô«ÿ0ÏóO>éõûŸ}Ö×…uý‰}²•-ß^¾…÷¿»¢‹…³(˵*ÓäèyþÃGÿ/©ÜKÕ<¯×s=<Ìò+â,ûüѣòŠUªÃüÓCÖߢ"L©l9P=éXÿp+S²¬üC–ª®jÒûüp?ß?¨‰ô>íö¶^Sþýþ'Ù#ÝS3x†ç¼oäÍwû>ÿ¸_ž¯ê?k7»{HE²úî§ÂðüÓƒÏúkVäûL.¬ä äR3çg–÷UG:qøHÙ©Þq%µ×?<8øûƒž*T}¥¶ß?쪊ˆV¨"ýüQÿË?TE¢-©ÿXÊú‡ ®×Ú®¾ pÈ-{Hþîg„àø™ÇÈ8 €–„€œ$Ò'Èw™ 7ø˜` bFÄø’Å\ à[¤v' À'Œxëíw¾—ð!Gû¤ýqØ¿‡³Áuœ‡€·Ðó,áÀt@a 6Z6|fDH$þØîøX:á&{²9Œý ýǰ‰f ¨—Í?a3´@_c¿Ä$€ÿOÃü@OJ©€ó ˜ Dp6þ¾Äu´híÌ´I5 -E>[ÞˆŸÀqÜ``¾çlø„@Èî52àÄXÉÞ£ÖXFGý €V¢pç¢sÅ(€ ŒQJ¬ò³Ø¾uÑÊgÿ€‰ŽXFö¨±šæË#£¬÷€ëíÐÿà àÈߨ~Œ÷ØþÓdè`Wx’à~«ŸàpÄ ²rçh@²˜è2!0€¿ûh9N²¤.€{… º~ýë´à¨@²$a¨Ô¿U)Í—m  ðèP~jÄêþ ¢¿J (Àø8À@~ÀŸiGX¿Á†ÇÅà/ˆŽ8@âÅ3gÎ#Æòˆ<;©„†aqo=k –LÏLŸ›.ÍèܳÓb„hLç-ÏŠp4À6}ì -d)è“g•¿ žߟ(6FðÃ[A÷F!¶ -1(htÛr%¤ºV½S]©ºC^ iÓãLÝÄêΕ;åòòÊ+ßà\ù%#¶tµR¹S½såêJy~fòœZH2Çð6b>k¹4O?¿³RÖd1÷ï«K¯¼âL˜ÔjåÞeh³rg®æR´Oze~‡Š0]QªÈR9*é:}M N8xseå%å_ž[RNœ÷b°º©+]…¨H…øGKWªUí°O5ôåÔ.ç -gH|7µdJ¥És_™ÐŸË´îHU};ªmµ<ç»qƒ :~çΜšªÈ.Ét'Ú"úR¹ì¿¶1tzb˜ -€)3éÈQÿô£¿%>ÆONH¿#×Ï=0ðK<õ¿žÿˆ'O’i€p!,~ùŸ& þGõÓ÷HWxnázê,o½ ïRiü£Ÿp'@:0.†û÷ÿøÁ¯.<(FÇn¼uÔÐ`„€Î¼8J ^@ýQ}ÿèyÉó0Äœ¦ù#©QmžmÆ×—ÓñTt,-‡è>‘¶.K›!Içÿ@,014X -ø¼þªW*"S6×?$,üüº ßHaPzJÔ~ -ûõ¡€ ØX¤Œ Á¿Bäà :g{;…àøš¿Õr¡»h€Ïàä £žÚ €#ú‡°¡,ÿÃàH€¾Ã{þ'õÿ¿Äö„êf#€`X¶ÿ÷ߨI€ÖЀ8Œ[îï´·»…·8rïé>aÎc(ŸbFcX+|F,ÊáÿµÜ,ç'û¢tÖc™$².®VË¥ùs3•ôçXæW©ÄöÄË8H0h¡ÛÒaœMâÊñ^žëïGÚoµ¾«‚ô‡áxJu)ÃŽ:öµD ]YѹÚîüGu!´±ÞiëÔA’¨V­Õës÷T†Žp/µŒ¨ƒöÄsE2*’c´Ð}ºƒ,Ï™þ=|w©¾˜›V¬KDXžŸ¿0-n£'ýÌäL©¬&SM×êù•~F¢ÄwT‘*}ªµ¹CMëßb¢EÝSeÔjÒð+Ž»UËóõ pS€p]\æ!¾6ä ˜š„ÑüÓý/ÀëåÀâ??åÆ0y’$^á(rB€ØIë#bü7ä GìððÀÂu¢†¼€ÓGŒçh -Œ‹ À{ï>¸~9ùÄ‘·Ðó@à°0xÀÌÿ… ÎHþ1¤[Æ?ö†ûÃ#_À X1öŸ¦ù ?¨îÆ— »ëcŽ#¿Á߇XŒHôØKâû{¿÷" àT%ýÝ/ý®ncàà€aX\\€n÷þÐÄÛ``€ _Èp¿ÑÝÙ ýÄó¨õ  à”Qµüéõ:ÆX$FòÍÌ—ØŸ6càÀôô³Ï:¡v}dþ³ZMOŸŸœ~vúÙÎMêÀ Ó¾"˜˜|vr’…K¥sÓaøÊääDx œ6,ÿôÑÿóˆ³}vzò¼j3é@‚Ó_93yæ_Q¡|Ò—l׬ó6gƒ‡¶Ík-8ÂlŸíæ»Lüa–ß©÷sFª“\H‡Ý»×§KÛ–òìÖÄíU&;è¯ÖªŒ ¸{7Ë÷×ßïõ{?É«JÚë˜oéš>ÎÙ–²Ùʳ*3(áW·«¼¡k™Š¦"Jüp7»nK*mšÂX)¸JUÖvNïDþ(«>:èÓ? ÙäÝ¡2Éû=Uä'YU•ØßßÜbü_ŸH‘g½¬ìvPž:‚¡ôsÝPéþ"Ô´3¥Š3¬)¯Ý+§–ØÝÜü02èE'ƒ».z‡õÊ?özŸ(‰.ÑBçv3%9ä²<.€™ókhí»3ûãå ÔÎψ•C-C¨ÿË_iñkôýÏœ FÕ¡ ”÷w¥I'g±¤þé=:X“ÿÅåñ±8°Àâ‚uþ ` ûn¾ýàí‘Q$zŒ@bfªT€ŽxüP^E¾õðÏ ßZ>|ûE1€®_ÇáYþ óøtÒå ¨?ªï°?B|:¥pN eˆýÆt|(©5->¸ "  /¥óSœ,J—¶,Êg ðkðU&ýï°¸°ôãÒ¢<ç“$é¼" -9ý·cà |$@tæÇwaéˆÀëd@·‡ÎÁ2J9:zÊš |W6ƒ5›E=,”qÂ(÷ÔpÜ @ ð2>/z$’,CŸ@æ3¢5¸ÅQ €äúïÝþ,­`££|a8âà€'û´l%ÐÑí…Vcgo§ÓîšIØÓ@¡Ñi(ƒm•F&:¼=n(|݉<Éàg[{ºQt ü‡‹Â@*P L>œÿM|Ó,PÛ -øO’±0øŸÿôRù¥Jå¥ôl >Õ»•[àùÌ”ñ©KÞ,Õ–‰£w[/ûReµtkY¶N0 Zifš!m8¶Õt™6nW^bqü¸†k¹ø‚’]"0€D¬‡¤âú'¥XiU’1â‘LMNÍLMáéïžùgðI`ã‹Ëyg¼|qæ¢*ADþKË3“çΩÆ«™ÉgTÌyœÏx1"-R_H¥1KO¶ãÜšîQàWH•ð÷Yy¤dN_û·×²Í¼×ÛÊÖ…—ÒjW+• Gÿ¥!ˆÀØ9e±ñ.ýëÂðÞÁÿ³'üqúKΖLÀ¾y1dÐF}Š ¢“Hf®ÿúAŒÿÃË“Ððq¾ÿ΃ëÂÛá-ÐÏâÆâsƒ@@':HÆâD–§û ð~vá»LøãDöx‹Î¤èÀ€Àƒwß)âG~éIbïøùt,øóÔ"Gˆ{JÍ?„ †x0X(‹8–ÒHÃÿyvH0 Ë—ðî·;Vù(Ø? ƒgíl×Êu³8_ƒn¢þ zX -qŠ? ¾`X_á{Pɘ ùàÿ§ ` -K>¨÷î K(€OùZrÉ(",ºÎ\ÃeŽYŽû|0〯ÌûÐs$¥yG|˜YðºPü!½ûð‹Z °tDf€C=ÆÐÞîjÝi,´M:]}€ÆŽ¸†2ÂáÐñaÛ’Fwqa ;‹Û-’døõ“FŒYž8 -`<‹°Ü©¯UÊŒøUô:œlx€S_gNÑ pÌÀzbÿtâüãâøëÓŽ‹SššòìuáðW*9Šî­[·ˆÕGÒÛ• Ó¥ùôþA×ãöqäK¿L]ºD̦¬ÇQÈ_²r–Ñ„Ï0NÁãÿ£ @ îÏ·^Áà«k ûŒ»ÞbÒ,邨rõCB[qq½—ž{`Xž¬¬Þ¾mo9]}J Ã[5¡.®úÙÖOò;¹UkPàM—ÖÖw++ABŠÒ]‘¨Ý æ¯Öæ_͵^ß…ýà8Ð»Õ Ø¸ÓsÔb_”B+Ç@GB çÿ{V=Ü`ô¡ŽŽU¤–-¹ByI÷¢/`j&fiˆÎþ51‘tY”¿•åö{=…Žõ!ŒKŒTðg@‚¾<*|ô¸VýV}XÀ»Ìœô£þG?ò@û€ÿø3†¢øÓ  ²SÀ¸ ‰Àƒ˜ è 0`` F$Áqy|,ƒPÀo¿û`hØÀ@}Ò¨bÇÞMe<`ø„ ¹÷™èØ‹ë×7°¼ï3áèöXOû| -)@” -¤Ø€’¹9gL )O­ù#¾l†y<µ½I؉¡Hrì¬;2âIöûs2  ¨±úQû¨œ7m ¾|cc0 -@é(Kê»UlN -?¯ œUaÐjdVYWa:½H9G@~ÂÁú×mà”—ã€}ô9êð´£,_×-ü®nSI €Á¾Ýz³e0d8J_GßÞi,`|XÁ|8f8Õ`§‹  m€Öt`i(,¡Ðh‹H´·E&t\TAg¨êÂbÅ“}ž8 - °è ~èàH€#>î%8ÉþŸj@—ÇIŸ$¿<†ÿ ü“àŸ˜óÂFC™ÑA½tõ?ó̲Þé—ˆY·¼|KI Ú úk/%.MOk!0=·ã¨Ä93êýÑGóµì"c´15sQW&¦=Ø’ASð€@åBž9ƒçžPyæ™bæ¿/,gü/zìCÔSìcb¯è+âÏL ÆŒÂÁõMús…qk‰ ÐWï–+¶Ô¥ÿ8"`ËÖ÷Ó·7VWk·˜ï¤v_@¡„£moõ²;t•6‰Í—¢ö[–?Ü£S¼ØZó¤Á’p9\Ñ™y*ècÂná?ê´*Å ŒàkžWþk¯W¯sA1„^pÿÄpÅX)KŸÎn&S„èÊ/‰Ìˆºe'ÏëÑaX³i¢V›÷¼uGF`@ds*’­}zð_÷)n¯ˆ"†ÞÄÝBÍ­v†|DÀGúoÑ÷oõï!ù“‚1ð/ˆdû?Sy ÿ½<&#xͧq @(¼Ö -@Ïw\L "@ãÁ»,`XLˆ8°X#7Ȱx+ä{ï¼£oq⸘¼û®ð^à±\úµM"/ª&/Ú@`‡õq˜½“a ssߣ ÛÒüèЇOhX8œ&†þqüOÄMÂq¨¤Xc'Žy$ Αž¶s±¤zÅïK€ÐËÂ|Ô üF1‘j-Fÿa’±Q…›¦RÌÉÂÙ£É ÷ƒþ €Sᔎ`2 “ç8@âbu–PÀ'øƒ´£¤4î—¿ z·Z 3=ø­ãÀ]ã€m0Œ· †l Ðà½ÓôÉÇøµìì' @óD €ǶrpÊ–Ž ý[ºÒÑÍØ‹\vÚÆ° à)GŒû°(F„àg)@âG,øüíc-¿Ãæ) ~bIŽ™ø¢Ç ‡l E `f^õÂY¾4së¶Òü­åŠÕ½Š×Ø{aÚ/ðö¿ ¿O„hkÀ/D¼}‹€s»xQÙ^Z¾u{yâY‡¶áŸA_—aÄÚþ+úßd˜ýÚ<¢¥?QΊƨ\fH `æâä™s‰L~åœX†²WþÃ2’7Aâ»À’AðÕ¶¨¿²k/Ó- ¼[ëß©Š8­µøïˆ°É•Éå ñ€åÔ€ªúŸg+ŸÃØÏ¤ÑÀŸ N€:LeªYþ -\ÁF›5Ü,6•«[©öéßü5S-GÁ…V‚5j^ tsE4g­^ üÇP:„üëyA0Ð ƒþѽÇ%Au!C"ðàús¼Àž@¯ó14 -Sóp}ÐÃ"À1Î{ðð=AñÂâëhä]µDÀ÷þŸw¼% .$þ¨„@éUȲ=n(â@Þ‘ú¯¯jc€°<$¨?Y®|íÊ€%CìLÄáI­7"¾&dB×$Ü.ÐøD¼rŠãÖ²X’ ÀÝh悼t戨̸^Ï<ý ϸ Gð3ú²m),s8@ àw9Yà¿–#£t¹¾Æ{¼’ `Ä`ó²ë[1ge5p?~.ýNò0ÜuüO2f°µ_ê6н½h¾P -À‘>w¹…ÅûÁ°ØÔ¥ î¨à iþ";­æNÛà‰>c€†Ž6´<Ù°3j€$ `‡&ÐÕ½èT£Ùi6š†o¦;ð±DÀÐ02 -à$€oF<Öà©,§I¢¿Ÿ €?>øÿݼ9_ŠŸe°1yTu±€g¬_:ï—ú·°üK‰Åàîßpœ¯lè\Ìã;d‚ýù‹—^¸È!± eæiù «Ë·oMÎTbJÞ$ • 9;ñŒ%Š„/€Áÿ‹õœ¢ãœÃøOøsɀÿI1L ÿ(¹. µd‰]Ô­³›Õjuu ,ÌVªÑ‘-¾ vÿ½†ïƒÿtå;«ëËøØ„LÄ&0½oe+ÿN¸×7j½G:žƒ?©¹  è^¯¬áu Š¬¾ ð´ºÎ¬\@ã’Ú4àkxó•ƒOÿºŠx‚ÞÁi)Ðߪ­‰8ê­½Ok«ù–¶ìÜ~¥¶ÊèIb -0¥gu~æ–»D¸1ÏŒHU²lX·H¾¯ŠäYõoþ¦×Ã1;ÁP‚·è¯Qß›¥r©\Å GÀ]†|@øÿw+Ð׃ð`À´ÿ_è_&Tþ#2 -Ù|“H“ö(€QÜѶ÷X_ä˃ $>0°¼ûàïŸéúPþ£# YÞ± £dLû»H:0ïû¤>€wÞ~pýú|¢K Yˆ@4fÐaesãúuüpx2HÿX™»ò¯‰ÌÍ >Œý_@ó?¯èÐ<$)ѸýÿÖ¶Gõÿáœ& .œÃ².´Ó‚uœ:*¢0ªWèÈxµÃ(€ág°‚u^—Qºà6¾J8ùõëɃî4] ïym ‘ëzL>Âûá(Ï (tF·(%5{ü\Zä9H€¯ðõ¯†þþ:°X·ƒ$ a˘9 Ýû#ûù5¥Ÿ¿á>[=%ð6¦‡~²àd8 °~’@“@y]É ),;… ³Ól’˜êIîw%ƒîˆ@tŒYÆããÓ(€Z¥L€ßÒ †ò'}†bõÔPàÿ?ýÏ›ÿV û¤O’™)ý/œŸb˜a¾Ç@Ä÷R`•ùi#À f/”AÀ¼˜‚X€ò -.d°)Ø Ð„k•iœcp‹ó€ÈPèœ?#ì ³ý0ŽÒO’³ºƒ[ËjìKÿ6•r‘ÉÿQW¹(pÓud?žuÂ#„!q€Úžà˜5h·"\¼SÁÔÕ¾n+¤Û4èå[½-ÜVm¹2¹Z[_­¬./§V6“!Ü^Vý]ŠÊmÜÊ?ÝÚ§+>ï{r¾Øìÿí0+X3X©” •ÂJ/Ä–(UÅÊ·ÀW`íÓƒ¿ÞßRÆî -²É6 cøöÂ,´ß;ÀWc£×Ã@jWŸ© Y.—ˆÛäg6Sª¼Œ{ Zd÷Ž -¿k @À¿vñŠø£ý|ŸŠäYíÿ8øk§obÄB+óG!^9›N•XÀõ{÷>Ú½÷qŠò˜H ø×üÿå¯þë_ÿêýó_&Èá4!ôK¯˜I§°@ ;GÅôÐg’^­$C €ÀÃwÞýþ÷ßq¿ÿÂuâ,^¿þÜ «ê€€}¯G€-c” ÉÛoð1â¿ýöƒ]øîXÄðb ÀðE;$™Á‰’°ýidð¿ò  -ìÊ¥†Jjµ1 L2Á”{¨î yG/2${±çOô  -…ÀÏÒ / -€b~NK*#f„@„QcD°Ïϫؓ•N‚n›$'ŽÐjt|ã¿ôX°EÒÈ@"0Gó8þ` ,-”ñEçõˆQ¡úÿÞïI³o(ÀÆæ"€*Uz”@0 û …ÀˆÀN¶òa  }°!¾mN~!€ÅןjP^ñn,Û¶p\‹S-Ê«Ùi¾þzãÕaqü€¨vª~êó(,áÀoÔ ˆh€ðô£oHú?€ÿèOü¿ÀO–ffžÕ_¾^æØD Þ 6^ëŽd+ ·þª€”y½ ç/â XÚZÅ]À†‚ ¶A qeßË·*ëË¥é /éXà²Ó3ç ù;”¯LΜ935Ű@#´ú‹,Ð ˜ŸKAÎ¥‡-ü ) hÁú,c"”5¨‚œä^«¬­†õêÊ¡îpygþ­×¹ûyOKÌúÓ«ë«·—W£ M¤“2 bÑ«¯|žoeyÂÿ æðÚÆVÖ{­WY ÚâËPÎY HVV*K0öÛŸ€)Œ,ŒÄ{t糃Þmm¢ž¯"¯…‚jk NÜèüºTÙT&[ûåj&üYÅÙ í_wc/&…|frF¸úª-µ•:QŠï‚ÿÎ'ÙEr¸H/ï~¸ö÷ÝÛ·_ºO$뉕D}%œêõú½zÆLÿ?e2z*àŸýœÿáÿÏñ+ñeA¿þ=ý'‰‘{ä;ØXX„,ůõ£Â…茒¼ûÎÃ?ûþŸ=|÷á&LïsŒXx΢C ÀåGá^þ½cÊ¿åícŸïš`ÀßPµ0ñ ‚@ÞyO‡NëO-àñ¹ò4¡ì˜úc1ÖØEº@åá×’ÓPÿO6{I$IXØ ÝZx'PH:="äå"ø;0‰zÙ ´‹¹ ½l|½86 -`X”Rü=ñàÿXv#£ùuÂÔ!ê;ê€zäÛ ŸŒ÷)¹Jt3Ðt'Í@Áã_暨ŸÅ§½X€´¯-òaGè°Ÿˆ€-t¼Y€fAºøŒu>¸ØƇÀÑ€= -@…y*ûc,Ç|ž`ÐÁ×ÃÐÚ}iµßTÂûa€Ö·¨&íUø÷Ò½Œ‰E+4 À`.€ã>+õo… ùœlxr€èÌ Œ?I’q@Ê-Ç}b>þ'‰µô›8êëAÀ8m´ôq]»½Z(|Øn› dyÈ&1Öû³\ºE  Gm;7n›$ƒ $Äõpæ"z1€)ÏǤ‚ÿ¯žÏ#4€4u+éaxz9{‘¸…·¨LÛ0KQžž#@â¥qèˆl`_Ú®†ÉÜ’ZV®ÒÇ^Gu–à|'Àë¥Î€Õ|ruõöª)8­óÕ”…po=ëß]¡ëX×o}ãµ^¹¶²ïTÊ(Þì‘ö_¥Ï@˜nüOÂ$ÄR+º„䮣¸UQήI~¸òiïqM°ã}²½+Ql|[·øyµòò mûˆl½7ò›+ÙíÊ«a`ÞF=F CúcóÍLIÜÀMR«½RÏ7˜c(ñ!ìE׈$ÏûkŸŠÁ¨Hb"JÆÿyý=â†`·¾»û±ä£™6ëË(iþž €€?[¶ À/ý'÷üjLý¶p¦+|¬€HÄ -9*CÈw>±XÞÄ*O[ž[¸¾x}l€aÿ-`DOÛc2Šüéƒ Äס=Sþ>^XˆÀ ûŽJBô/(sß2€oÌÍ=æ9éþZ þKÆÙd–ðKØŒœêÿNäÔ‚Vÿ'K8f,ž˜˜ª<Ût(%HeÙ@Ù\H Aãgø$@žÞ‰½#s _[Çæ¤÷ë_ SÂý0Þ{(@ØF} üÏ}ݨô‹ØÀ)/Ç-¿‰À^»)¼uO9"d_ü}>Þ ø{Ë -´Ä@°ÿ&hßôƳ´ÛÛ…à An²ˆÜ·€@²Îgw¶u…ôÆŽ˜A¡ujÒÔ‰ív×Ûx }kØz¿ØÔ¢C -øÆ˜à÷Ñÿ @s`hÛ ,Š#Ð`3Ç(€\ØRHóñs`ø­}R$ÀÂè?þ›ÀTÿô?UÐÊ7K+G>•‘íøTJ ä.€gÃŒÂ>úw[/z÷ûJ°T²ù å*ç-Žʃë–Ò2™ôÃâ¯sÚÞ¸-qB¢\§U³4(hgá¿`dZ ÁréܹkÇð ýé8 €©Áø?#0ýY¦L¤þÙ™¯â|Fºpù7Ô -×=kþËÕÈÔ}¾ì1oµìÎJw6`ðÄOˆ ö ä6¾]É&V7^f €?²V3ð9çõrSÿI€x)ÞY&ŒÌòrÙå3ÖÏ>eT¤RÉNò«¬°ú ”{Õä5ò p¸rîªRÀ{JÂXDeb_€¬_­ÒAÀMÐaSfŒÍ­¥rò7””ý´oóXé8;y'À—Ý-‘‚ÓaMjÚâµDDT‘ê§½Þ”€„v…ðD†á\ró¦ð¿²¶ö-(€îš+ÿ-SÚðç?ÿyDú%.€ÌXüÃèÑGåWÂèw¥…Çü/öG-g´ðÎ kã. pˆþL˜ -X|ŽþÀu½‰l ³ÞÀoÿ‡ 0ÂFdùÓç»Át -äó·4^ àH€tI<¸Alwx* ¶$4ÿâr%ðŸå7®Ì]ùÚø€ÀÔRGè+Äàïµ%ÄÅÎ °<»—i'2Ñÿc£HG*¬ÿ! ÄܱL°|l@€]¢D 5ˆz ²•Üž Ä{ý#'/ŽY -ðælt†õÄ“Ä2@z‚ÿ…À¶»èeŒY´&p1 -€tðˆá(€ãs„ŽÔàÿò—ÁR ]À-¼ d³@øŸ,À_«@ I … ½ƒ1`@„ÔÉ`¸·B“ ¡L à°1XÇ^@1÷!mh‡Jî[âÚj¶È&àŸ®5ºÊGéEvÚMeßj,B,|¼P%èÚXš… >¯7šîèþi2D_€oÛð?Šÿ;;>©ãÍ〺-D|ü\OÀ»ìT €õÿBÆ ÿ/.ë;öãU=~,iôa>7Ãè9<ÿQó¤¾H,`s~î%§wFÂC›6É+ôÇèp)c€ÇP²€ÖEïúy0À䂱Y²zfb9éëÉ€àS3€ó¥e; ,SŒ€ˆFmúÜ̼†ròÄ"S ZÕkwë| -?y{æ1$îæ½—$·¼õ¬W]cL{£é[ß³Úílry5$L%ɇA·<dK‡FFå ‡Øïý‘w³ÍõòMÌä¨ÖJÎØÙwE,é™hk=›¿—'Çý„îµ×6˜{ñ‰ÒÁ«½¿¢ç /§×U•Õfµö*pýÉZ•.€ôRE^Ëj7Ë$ŒÒ,v$È‚½€Lkyö -#ÿS&Ff ÌMÌM1ñUäö±pI¤$-±‘ø[° ÀÚZ%âÙ É~ôã þÿöo­ûà¿p$ ŸýRÿ1ÂýÃü# þuÆ? ÷ÅID Yôü  - :.äôx™,ßþC°ûcÐê¨ÀQ @¸Œã<`ùÓÇã`&äàÝ·^¼¾(°·¥?á¼»° ¼x=º Aùo$ôÿÚ7®<åkZ@j¥cbÐ ‚¿ (Bž }XDGþGõŸf©õÐ}€$Ñ¡î¡÷#®áXÔ­ €VÉ0òÓ"Á·röß åG ú$€À³†". ¶Ú­Ýá(¡=¸J°`l‡Ä(€ÂàëüRÑE8ùEçX”B.CUG§Ç¡¿`8,ÿÃà|60¡Xì°#üÓ -Ð8jhJŸ?nhn·qDÿ° -Ðq8ØÖ™Å7Ü aC¹¢”ÎòlkEŸ?œî +VÀ1tx*# W¦mìt•è7¤ô+!Z“,â É€·-Ýè$XÞâuÕÔž;‚$ðàþ}›àB˜,šG|"àÑ.€/n8ML ¿úÅ/û”V*/éM­=Ä£?î— àQì.3æO°  F?àöj6?íäÕ þ¶’XÂGÜý”¡K“Ñ»"l”ʽ•éysëç˜ì `¹@¼`äÙÒÄd¥¶ L_Äpfê’;$$A4Äi*3çægžuÌbnrJ™ÛÞp–N€‘üˆkúÔú+yôÿðù£GŸj«ÿèÑa}«s»”ÕZž÷ûýjí¿~öùá#ÂØþðGÙa?Ïú½¾À.?øüóÃ,+MÜZÝxí;öõÚ¦Tcå#š@²Y îgÕì wðYþI¾‘÷òÃ"öí÷>ïÕjå%tW¤~÷³øûÏ}FTÝÃGúµ¬GEj»õZ¾‰·^ùÕÃþ£Ui3Ëù„øÝÇçk«ÿù#ª­äŸ|zpÐË7?ÉóU_¼üT‰ºn(Ïëwò^ïàQO÷pÐßÒÍõ¶ò^ÿ³ýZu©LÀè7¨*»~¿¦ç©º0ØrROµÖ¿K‹|¶Ÿ×ëŸú‡øW?Ö}ݤêqHE>­U{sHEòC*¢µ'o~(¹yÓ 1ÑÚZõž§ÚýÈC‰øcbÿÝOÆð¿Ÿ2!ð/qüë 7úŸ$ßKûÿÃwÞŽà#Ôàmn(; ÎÆ<ÿÁ€÷þS ®€”-00"àñ\@à>¸íi¡­H7ú±êà­该·ãȨ@eRd*Qqa_ DŽàðï…®ƒ;ú",#Ø]ÌH@ ‡ŒGÔ‡ÒÂ'?ö9áÓ¨þƒQúa ÆsŠK] 1ƒäpâ\’@p -€Ñ'„JðÊ̇ è˜Œ}l0g'À–Ôì #ttFHç.,ʇy¼¹×@_Ü^XV/κZ·÷uÝ5¦?_"¼WR%Ž3vå‘¡˜ D$pîk*‰Î^[ܾÑhtÒë;;Ý6ìCõÁð&€dÀG ,Ýd!ø€[±Àßöÿ–NÕí6šâ à¿O`BE˜7PW:Ý"’¬¿¡µÊÚ·îIò{‹|ô1q€~ü#3€¿ûéOþ3ÇþÅ/¤þÿâç¿" à_XŸÜþÆÝ­?–ˆ–úÈÞßÖ @ÑIb°7ò€ÿÐðŽ÷@4À2ë­ËC¦ÞýQþ¼¯­õ‹¸oüa?ÛQöÛ®/ê2)úïþÙ_ýã¿ÐžP€¢É`pü7€_Ë´Ðjé^jŸ£b¸CÆ4ÿdæ€×Ø®ç`,÷ÅE --ã ð ‘›—º °&a¸_åÇP¶Y ­@çw TTÕœ=•öØ(€X'÷ k"°Ç-^' €G ñÓ` -Às@8¤<Àþ„êaˆH€*>•/ÿÄQC}žû= ä€Ù"0ý é#}B±&ªòH˜÷… @È/´o*«7‡  ý==,Bkõ«ôè¹—~¿¸³×º;1Œ‚ångO˜,•¾»£|ºæŽto]ŠÆ´„<ÛÛVñ!(î\ØQ%:;]Ûnv„ìn‹ Bu×-‰4¸†:‡ Ýfú¢fçõF³û—JÜÄ Zà ÿSI8wŸ0ÆÁtDçtÿ´+֑樀ýøç0”_±ÿK'{jù& \.y€Ãæ ›±è‡í:Y­æÒåWkÞ|¾ìÉà2áýz®ã‚}k†Z:M2+ÄE ÿÉM®W.ÌkK‡!0è™d4ÀùgŸÁ 0õÒ3o¢O-o9sxÌ­RŒu¬]PŽÓ3“x&xj -v,ø…%«[æªk»u!Ùp%«¬¬Ôk+wªµZ&%·.m¸²VÏòÝ;hñ‡}]u/ßÅÇmý^¶«$ÕÊüÄŒZ²VSÃÜ®”ë‚h"æ®áF¨G^«Õwë¯èJTüüã¾»Äëµúš6ò]ÆéeõªèÁ½5¢âP‘;!rµVe¶ÜZ='#Èc½öÑÊ]*Å_¥ºü|Ky)Ÿ,#jÁZ¹ìÁxØ­×v•¶®üTXÅ©×w¿Å¾’×óüã»Ì%¨µ¬ž*R¯cލs¯ƒyñFëa›!Tz•“gý¥ªî¦ø±Z$ÛÝDýÇÆ ѵZ}©º‹i ÿš*¢tE(—™%üE å’vpŨ߻Wßýh÷G»9 .øþ­'v, _üòáð«_ÿüÝp‚0m¿X"ZŠŒø-—ÀãÀ b“ ÿ˜1À€‡ÿ /€dX¼®w6Ž€ÂÒxž÷΋Æ~iþ‚Œ7¾«“)mñ±ÄÖ€ æGÀÀðW&71 - Yÿ†2gÅ¿àϧ­«õ~j Q1àIŽkþ^·†Â ßX¬3‘L—â ŒèÿiCÙ¦ § 2gñQñ -)³ ž¿®Ö‹¸$€‹4NÌôÊcHxïeÀ¯÷$G|Œè^Ø<ê@2> -@Kiþøú?Ç"{Ô{wúkÉ7N¹ rŽPòdPbsË_œ ! @Õ -¨ÞÒ‘F2´éÙ'‰€à €Çr L¡%4F ôH‡—‚͆Á´½ØÁk`p¿töæìâë\€!R5@Þ#üþ„ÿÒý;Êh§»'ÀmÝWUv¨M{§¹gí]5Õ˜§ ±×s˜ #˜²°0»0;{M§¥ø«Ý檋ˆÅNÇ 2Y\œ½¶°à^mvà{m­°ˆ¾4E…/[·CÑZàJÆ‘}h7Ì]Á³A<ƒæÎŸBÔIÍ -ƒR -²ïvÿâœ"CS€ÓŒùð–~j¹…_ ôpÆÞ«zM@ûÔ6´0¶×p\ÁËÿf&õ ½u}uÝ$ ÒHÉ·Üâ œ -+nË•¬6WºM'2,”¶‹ÞŰïüô䳓D<7â³ÿŒ0:ØJ0…Ç¢G«ag¸XšÑMA$Ó“¥[L Mq’²Öt—0i­'ܳÜez@ÌäÈO>ËñóÃÚ^¯~ð“¼wpÐïõ>=ì|røiŸTØÉwË¥ìÛnÂl«VÙ°÷ßF¶^Ï>̳»úO>®f’ÃÞ¾òïgY¯Ÿm>êg»µuféëR]ªg¯Ö˜0Œõ‚RW -@µ "\•<ü‰ë?¨^à?ÈÎu®†eÔ0î€:*4Þ¹#Û&€PcÁaAžÞƒú  D·ÀbË ‹âÿ°§kÞ ÀÂ6*àfŸzÔòí&@:2Z¼³ëø­7·U˜UòFGçU ]"}ÿÀöý.ôí½¥mñ‚®ÎúfFÛfë×e‰ÚÝÙÙn5»RîµÁ˜LòžeH¹,,b Pªû­mú®éæf•[§ÝÞ¤Ûª ~§ûAc{ À7¦‚9ˆÀÀ@Ùd€.x¯ÆJ=oA\(ïÈV«Ó‰Ì©ßøâ‘ ¤ÿ $Q€þ¥þ1ü'¨‘ôãÒÌä”4gañ¥[Ëxÿ'³@y£øêíli®\]±`eµ–m¬†ãÙ·ÍŒõY¥üÒ -àêT\5pôEæ=%>ð…~æÒ ኄÇ`ò…gÑÒMÂ`yfÄà©8ÀEwb €ˆusP»0asBã8sѽ’³‘ñ3Ïà x•ÀýÑë-[_‚Ý{wÏxPXÛYuå‘QVxŠÃœÛÁÝ[ë/MbëXeØœªf™WÕJºÔóã PWty~€ÿ_®Lzÿƒ<Ú´öíZ}£_]B·ÐÙ@8žjÌ - R×þzø$Þ$Z/{$‚ÇàU§-»¬UUŒ‡ä·_U.–jD9^ç6ûÕz_5ïõñVØÚÜÊ…Ûº2UE$c¥,F䨬x˜ç Ñw£ö›ZŽ8뺩úÒÝÜãþìéVH-›U8P‘ eGhÃBâ¼á__œÕäß - Àqp’à—_Ø è|‘É€‚/ú<Ž‹-–q -Pà¿-oÙ°pý¹çÌ®ßx»°àÿ'OhζÖ\Ͷ_bÀ&ö€H7úµ$@NÇÖþã€Æ w8>À_ýFøÿÞ@®`(ôÿ„þú]ÕÏnžÚHPwºæ`XûÚÑÿ-ˆü;g|‘QØIXÁÿ¼ÇYÖ±V_P€Hfy!¬'éIÛ±œ(èOÜõ©&l"`²8€þBæu ˆý£€!ü#á€!~„H£¸€Oå>>>ììÁ{¡~¯Ãø¦Â•Ì£]‰#Ú4¸Jeûé0H‰õàŠ; Fh™ñ“÷(8€ë§ú ¨K’ à_?ø€»’Ä(ÛõmjÔ06 -`vv`—F [˜lÀo(&srç-° Ho7ÝŸè‚°8Ÿ°þ€t…Ôo -ðÁìö›€íöâ¬Ôq]«Sîßn,¼ÞX|]êv£‰ëŸ²à+ü‡ @(Wàxá„;; - ‹>àFÀÎ6=D$I»ÝÂG`§ “a¿«CÑñ Ð×X$ªj…@·Ói6¶ÿ²PÂN³ÕÕµèë s«ý\wºZBéfG„FJÿÎâlûþ^"ÛØ¸ibï¹ÙÜ€8FÀ숀Ãa€bh·ÛAÿÿÊã>øÿÁ,,,¨É¿°àš‚ ü2ÁÿÔÿ“åád= -`æ"ÝåÂ,ÆÿüÓÇŸ‚À½çpC¤V¤/Ú°îÄCk¿“Ô²Û€¯Ôß$\Í*ó圞¾vŒ‰”@±œŸ©Lb˜bXbnñypqyùö2Ê·H‡Ê°Àô¹yæ0F”ßréâEOExžP€#¹Ò ¯Ï’ > ômG·½ñ…ó©¬Z `„C@<)ò>R[¯NŠƒ¬Þ¡[ ìð©áÈ ¯Š ø÷þØíôþˆ‚œb\}SaÇâ©‘o£€JpJ»½Z[ªF -ñ Õ‡7k†ô²ëdÁÍHnë“RìßEØØÜêü×Þk[[½ýÿºX¬‹¨P]«â°ÿ̇àÒÌäùóSËë›QMÌúÙ t‘Öj–¬–}Z(*R]{•ºÿZù€%©  ð`àc,Ã.€døåof5’ ÔAcÇ ÒŸ"Îõáû ¾Ç I€…q Àü…à€¿ÃQ GA'ÿè ×pJR\¯rÀ A}ˆ @Þ#PB÷ÇHû“Dúáü¾>PXò< €ÿiš¿±ÚKï#Ò£mKŽS\cDÿ<§ðFäÝ9I|b`06ÀðÕ‰¯1.Nõ>*X€} ý±ÍWð~Ä €n'üƒ4 -à‰>€>šDtœVªÑQÁôã”Dé¨KÌ ðЊà/‡¤¢àZbZ;&AìÀ€€qá` €Õé!x ½ñØå·gñ¨[ȶ›”¡‹ úùÅ&'àúøàÂì#ö¤²ÎgU]%.ÐZ¤ëcÚnï5ÍV´©£Âénë"÷Û”ÜØk‚ÎdiïØòÉI@y59¢»(7>h¶ 6¤Ê¢Ð‹èîé°*ØSÆ¢ÝÎÎÂl zØ ëèìúÉÖ´ÓÂ`Ö‹¯Ïn¤FÕŠ¶@YªeE>ø`7‚€­#Cð$€“?CÑvì&/èß@JL—w&Åd Ðé(øi¬@ûíJVŸ/gqµC½³W×¥Ûü¤IVk¥™)¦R~É -°ª×½r@m•Ü®à¢ç1`¯@è‹¥é  ãô¤b¦±­ïï)ÀÔ² <gCç}[9z£]¥µnhc*¼p1ˆl•qàíªï'Ä5§Àµ!|¨A6²êÊa„ÎÕýoq7·À:ë½ë­‰K¦"ž é›ÎG-K3XáŲ¬Ì¶6tŒF»@²êR -ñ+üWE¤K}WFÕPžR¼éàY”?ç¾í’¼R&w©âµlíÕ¸ÞàN.<»õ~°±ù_]‘ˆ¤›ˆ4’¬¬§¦zûÊ~Pz@Õ†8®eÙR=w‹À@ˆöR‹À´~T^ëoý!üH ÃQêâH*u<¥À?—@¯ð„ú þsDëS$xÅ{]a?aÀÿYfL¡€à†u^€' @HœdY þÈ#€Äù 3PÁaÀsàí‡þWÒÿ J@]ý/ÚðÐs<ߟ$Rø‹(€ñMŸÂg?Yó×g -ÄÈŠ#Îë1úapn‰ ò9bÜKÓ.Æ€þc?È娌Œ8²ZT¼²ô'q,8ŽY´:i@ên€?¨åà)Ðü#€/¸ø‚¨ c¶~Bh€YCj"(ô Ž»²±„ÀH€Ñq(µº¤°àŠ·7ˆ¸¸0°è\·õ€ír¸l¯ã‘O™‚ºöìBŸ=;ìáôwÍÊ¿ wOŠ~k§9‹·^£­¤ouß@͆tT ×ÁÓûÛA «Da\{¸á¢tzщnWúuG`/äoˆ«÷i…äÖÍb—×¹ÎÂv{O…J?ïÞï6í–€[7°0‹B%¶îwƒ8Ða1jÀ-T^XÚÒøØüÿ„ ‰-ˆ^†:{{6ˆÑ27ËH‹,<Ù`l?.GŽÃ ÂpƒŸ,~ë_·R:sfr9££U~µ¶•æ›[9vèx9×6*•¹¹òn¶~ˆC}„·™º­^žôE‘ÓVP2WK—.)?½í×Q ýš¯Ì•²C&‡nƒB•Ûð€ˆI@88`å"öèÀÌÔùè®?3õLÁGΊ“l¬nÜXB5t—¢ÓÓ3•:8y>;³J3Çý1ô¡F’«»ø ùõ|¤µG _)»»Ô=¯Üù‰Viª Iw,ÄÊ—n-ÃD•H,E%‰F ½ùqÕ|RüýºÖüIòêRÚBÔâT$íIeV5`V*÷fUMîøcTPÿ…¿”Á±|e…Žy1Ôæ  )™(—õ~µªŠÐOUÄs^‹«€ôÇ%6sÓîË”1À¬BBþ¸Œ¾µ üKt´¿â¾‘†Wu…“¥¿0 G}N ùçñ(,,\à$1ÔŸ,Î'À‡o߸Žâ¯Ï¬àváÅp@À{Âo1€Ñ Ø}o>̘´~N½¨…w(üýwÞ - À4éßûcw¼ÿWÿå?ÿý?;. ߟ(sCÔoô|cn`ø¸zY˜ ŒF{ìèl”ô×[c‚ à@ÒI‘k‘ý?©öBÚJ9úI¦\â‚ÊþÄW˜;Ó›R»@€ Uç¼;‘¹¼‘ ø=æP@7òõß{QY } -À±8\è@ÀJBä§ÿÂþ €6 - ©@¤ímìÎúÑ"oØÜÐOp  €€?Ƈ‚=` ¶)üGuFŸÇàX€ô·ööÞ|ó~‹X}à#>ø`ºÕÅ5„ú Þ¤ö7ºÊçûÙk ì‡ì0ûÔ&)õþžqÂn7½-ºB?õVå€ã¶ÐºMÂZÌÈvGù´¥ÙÏn‹~àe¸³V˜n7™`¨Ñ„çHÈ\É»J¼Øù L;ZìuÄ „ÿ@úÿöºÁ} *S×5Ô*é(QüeÜ™kÛøo @·3ê°%R»ÃÜ@ØØh<>À)2° ’„þïë/ð)—Ë6Wº5yæÜôÌ<öµMFo ™ÑUõRzªÕJýü€m² @Ÿ€vëþÞNû¾ô^e·à {Û m¼íÍЊàJ a¸vM{ð©ê]-é6§z‚Wìý;ôóÖΛ&ª¦B™WY ¼ôkªƒ¼Ûîë×NÇ -¹È‚”|¡·ðXéDBv¶U3L`³x \EGÄ$è · Óœmt÷õín÷þ^wgư'n¡¶ÛSE I >PöƬ-*SÒtHtw†§Ã†÷•”ð¿Ó± À6,¨=Œÿ4È«–<$É1 ÀSÏPìýÓ?ÍýÆ2=AD—s“„w¹à /ZZˆû27Û7¯>ÿüÜ•ØÖ1}|v°ŠãlÏ?ÿ|‹!ß çy37çç'ž/“d~îÂ…O&É¿ž˜˜8wî_Ÿ›˜˜<÷¥s!ñßù……ŒçTjd¬|•û¿ž˜VÆ#’ÒŽKÎÄ3ŒÀˆþ°†ù¿R{¹¶Ñ«¬ô9–Ò¦†¹õZiâÖ¥[Ë·–Åq<¢r»–±4‹H(ù#œ·¶þ+j±VJ õ@Œ¿Œ¥@Öcçe¥[ÂcSÝn‹qÜZÑ.¨5ó…ºt]„Á@¢ºô«UTÿd‡`B?û†TÖjÙ -¼/ʳïFð5Õ<Ï(%QØÊ5Q˜æf -O@`ÔœÁFc@`[Àø\þÆ>~Ä@à }ˆ4ž Ä·I,ƒQ‘B÷g™úôõi``ð(mêuQ¼ÔáDωkúÞö€ç#}P,Y쇟Æ úÜkÐXÚ‚Í ÂÂæ¶Ðü¾°Ó†ûèÝí·›„ô! Ÿ_¸FRü@Åã®/`bWNÝÉÊT°L¹‚a)ÞÚÄÔKáo,,Ò­ ¸…ì´îóë¶! ;ÇT?UmQ5jwÄEtcUÓ(³fÃŽwn-æ6V›¨àN»¹ …_È/oÛkQ  bav{OXÔµÝ7u-Ñ•vã2&‰öÀ ÷ïßß™å>lø]® ZT+ãg¯ûU«û1 0àà€À¯ðÞ½Q Àë ¶Úo"_c@8/ಇz›N¥ÍšVÕ+Õz™0qR_* ËÇ­[©¾T®¼D šJµ\ªÌOToΗ+¥¦öŸð£Ù9®¬e*´L»ýJðæÿõÌ ˆ=33==99-.29Ad ‘К±€æx¢L’a!ý7?sáBib¦Tεl‹ã»ïÛTĵØÐ”WýŸ#ÒÐ}J[aÊA-ûåòÝšç5”0 Ôî“«ÑãF|cy¶TÏú‡¨-T@P-«Õ\;ëÙ–×è4ZßʼIy!üáýKûXq-üŸÂ Ö§HðŠ÷þ“gàÁø?ôX@v#}l €:èéþõAb ÀêW—ÐùŸø9qB’%¿ÝÊc€ŒY^|àžßÆþÒ‡…á_¿ç‡]kåß0À¸xoldqþ['ç£í!n åÁÿèÇpâù²P{ØÕ2æñ¥L&käZøk€7øz8¸`åD1ÊÀ‰Àª?ÂãÁ(Ãö õˆ(BÛX|a ûÛà•9£Š¹°ô¡ “ãï¼eë<˜­:&&€A€D‡“ €cBl¡Õx@˜D<@À€ßo„@µ@¤€Íîtï·:RÂÉ= µ_øÞÁ ¢fgÁþÅN³Ûl¾NØým‘ŠË‹ö"ѬO^J‰kZ -Ù»{÷U²6ßÞë°túÅÙÅ=ÔvÕ U¼£›ÅpÓC§Ñ¶ëB)öº]B,v!JÚ‘’ÏP¼NcFÀ=J„ÿ¾{Tý]b @W‰Y¸Ý `+DK÷¨-.‚ëÌ.2üP9ûÈΟØ%Qy„ r×€¢@u üO.<ÈøS’˜ˆI¼Ž—ã€Sä˜)࿨×îyÛ’~·ß¯W*7¥ËÝŽ9~x!Wp뮼ZË£ó^P­å?îcÝ/片Ÿ÷û[›Yƒ ÷ë›ý~ï‘Þî[‡öó­ÊKsâÙçýÕҔ狗­l¶\¾Zëîð2(Ö+¥Û(›µZyzÖ¡“Þú Ȅ̔fÎ3Páü™³&“³¥—D1úª¢Ê…¸¼$`.—æ&¦K:ãK%å8e›šÒ÷¼§~æ™õh–ùºñ¯0½ÇÐ{†U`³l À@@SÁ©QO·[š¨áWé"V! è–Ôgë囸ò¿¶åùøE±*i­Šo|õfb"Øá%j1ÊWŠ L¨ çËuŽ‹|ÝæêTSÕ‡åzV)«kë›5¬BbÕ.lôßÖJefµòÊkx hû5í¾–xRÅk°_. âØ  t€ ÀÙó<+ÉËU~‰8†#·DÎp¼¼Ö'c‘žJs3á¿À¸Ài€>ôþ°ˆ °}²Ö§Idûð=Àuá¿>6ÌÚ Ð£¾Uû!ÀÈŸŽJ ’ ‚]G6ŒÿÉááûïZ×g6@~ÌиñœÀÛï¾ÿÛY†ú˜ÿð K÷ú»…àà'ù–š -Ð+¸“@~» è3Bx€»ñÖ?Òÿÿ¥3œLÛQ ><Ì"ŸT†R/Ñ—'PîSÛ p‰ÏXÀäøŒÍ ñ®‰€®9âPÀ?2â ÉØ(U -ÅßLãËÄbKâ¢Pý£žkvÿö<'øoÄ õ¤Ð{“€'¼@àÿ ‰qE@XtIX”£El?áã¶ÀW`(𓾨Ì@â_lÌ2a¿²ÔŽp°C÷;Bü:«,gÃ9_°OÙÂÊÖ]õâ„RÚ;̱çâhô “pax fÀÿ^òý·,¶ï¿ÙÞ›]Üi쩆m¸Bdßnm îR 'ZD•ïî<×èîíýE{ÏEv¢Ãö9J¦}ŽèòNãò¢}péßiJÝǰ³ƒˆïÔ|XÿÃþÛz”Š>,´˜;´E$¤H€dÛ `(Å>´bѯá/(+W)ÏÌœyfRhå>3¿¢«•ÛUtÆLºþ#4Ô*ÓßÙ !‰`§—à*Û”º]š)¯×è?ó BT*(—[·Wmb”,ëëyiº„ ›èÀ–XóMž}frJêúŒ6Òÿ÷éâ8Ê¿*J㡆’[•™é ëö*ÔïSçÀ“Ù¹Pߺç¬/õGq ,Öí½ °ºI,ÂÒòR€Abµ„Úb3[ϱ~¿0qûâ%µ)å{àƒ.w Hªæ[Y24 -ÝŒ’tVBi@‚LÒÈnég´B»20 ["ºÒš¨€.rÿ„GqÐ@Õò*.|ZS6c7ü†Ç›µ••MWd(q:I¿¼"ò‡x0C©ô‚ƒ7Ål -3„î—ûëżÄÃñBZÔ_©â#X³ Ì œW5C¨Míæÿ|ôGc¸<ÆÀÓ ö|½ð®%€?³€Áüç¿ Àá ÀÃwAÞq‡À1 à;xT€Ÿ@aH&ñìý Uߣý€ ßÿ­,#“CôñâKɰk ÀþkY胉,þ'ˆ1äƒÿ‚»„õÒ=‚/9p)ôådjÿ!yÁ F2Ç’3È'ú”HHšàÀ¤ °áøêV’Ê ÜϪÃÈ(-cU¤*,òV¾@q'àïr²À-GFP†•~]£q‘±e <À~þCÁoÃK®fÒ3 omo‡`Ø€ºŸ EÇA‡“ûüñqÚWVíö‚ €Òë2c¨ºfË ÿÊ>?ðl{Á¾ðÊr±Ù¡&mA½ñ“”œU†l`hQYS ýü tU@Ç6Ðj/>·¸¢õ‹°¨™'LGéÞŽ“…¾Óhã(â¡“ŽÔµ"÷ÑXp'Aºâí´¶[·²b`›… Ý“ ¾ÛY˜í*ÓEr·ÀCT„@§±iBÇñNPõZøà}á¼ÿ$ðØ€€ÚŽôëj.ã?MàkÅeãøï” \(N³Œ“eŠèY¬|q)›TK—&ÏœšºD@½Ê‹Q{^ÚU/D/öÊRõ§zg+‰ô6^ïÒ%C›Ôùž7WW·fÎIi¿UóH¿‹ž`P ,XP¦ùje•±ÂO×ãýÒôüº6=PïY°_Ø<ÐH÷²þ/‘Jª»P5c k*€}˜…LMг ˆR(_±€gÎ|1iç?ñÅ_{µêÉLZûÖfÿÎRn·Çj8M}j)CP¡Òä-ÇV¦x”^4ÀØŒ’­- ¥ˆÛth˜Š±äµ%ÏüŸ„¢°(5ðMº*ÙÍ€à¸-˜œ_ÅÔÊ=®Ït¤’ýA¶»ž à©È€ĹûJy3e-Ñí0cðŒtÖÕÙÕªÃú«E`-1ÊŸÜbªáüŽê =±€—U7ÕC_¥¹GIéˆÀ©sü³ùøîQÞ<ÿ“€ëŒû£øÿNÊýá÷ÿÓ»®Ï^¾<ûÜåËɈXÀ‚ýQ €.+,'€@ÿ$‰èhXˆ - ÂÝñ` @AÞ‹ 2=ÿå7'sßÀpüó ¬Wë¯þ$çQ@¿X%† Ä@Áþ–Ü4?èÍ!’ú@¯3ñ)û¾6v%ðð ™¾,•_bpb Ô±c -Wß(ÀÝ©…Å£sÄàDÇ|rûlDÔ©Óâ(±ûÿà @÷ŠúŸòpöô<‡HEÉ׋>šj‹˜¸õ,î°¾l` `d€@" ³Øó èüÚPâE!¦àÍÙaÙwW½2tï¿qì¹…Å×_sm}7tµ®Óm3j¥,T®Ê0÷GEZ÷[Ýûoþ£äZÌÍC-(;Fö³lIñ/XÐ}ru$ÜÙnlwT¡Æ¬šA•ÆXÑ ³¼š‡HƒJæ†PR݃þööµ†€¯µÇ`D5¥Ð™ä; Âl’*C: T€¨Áâå…Ž=[ô'4:]χÔ"â’ß-eR´›®Hø¿×² zý›¢…Fðÿ4€Òyµ½Pþ˜@zÖdˆð0K¿Ð—Ny^Þ¥™³Ï8`•I~Y¥ þV™ENë—+ëW˵ÀF°IÖb†ŸÕVÃslu5›9÷C\T\HdÆeÑ‹ 6oaIŽ`@ìëW¦í³Ïؼ$çÐÈ¿:Ër欀Úß ô9,W{wK9‚Á’|~zFU‘æjÛ”ÔWòW΂~LÈ$0%¹Šb>ÁÑP§µpï?¬–sàNMèP¶™mí÷ûŒtÛ¨Ý.M–.^¼HC—V#XÒºƒ²ÙZ™È¿ÄìYwÜ=!áþm¸;V¬üZÁ!¢L‰.èߌð žúŠˆ‹llnõsýzV[éǺ¶JäAéâÎÕ¸ë^‹~µò©+B焎 V$+¯ÔÖãA¥ðÌÔªP5l"JEZï/U°H_þ`¸r3Ûï} -(¨Ø«¼¾Á’|ÓõÐþÀ²Qû—î@6FfD÷§Zb6 Â`ö2þÿ"×Ò(•]˜ýßzðÎø^\l @lŽ €/Ô·ï?d ý o=hpÒ;Êþ}&¾nzÞû3[Ä - @Lý ‰nìʰ @þbëÊ× - >~ÖbÊñ-¤°÷;¾ÞQ ܦýp+ø—ÓHIzI„ÿf±ã“9ç#IR쥉è‹Y¡`ñ‡ @¨B 0`0 -À¨Ï7;a.} -íý÷N˜ P«ÑQÊ=,\eägð£‡"Xx³']µº9b*t"<ùÛœÔOˆá>wø¶`ÒW6£ãR#sB8]ãË|ë·q1 †ß ©‰û£“ t¢mC{§Ó\£81l€„à&(Àq®ÓìÎ5Ö­î›a-›0€;ÒÀÅ'./v0Í»>ú‰'y í#ÀÕ‡Ò™ímámcÑ#¢Á[åЖxz=Û]œ -vf¡(xŠè.韧«aa¡Ùîmk›:¸Û@ä‡.ívïÃ:ÈXUQETN‚Ñó8¡ \ŠМF @ŠQÍëÅÅy#~ú¤s N…ðD¾¹²¼òÍÊZŠèU]š‘*Lµð?õV'¼Šw~ˆö+8œ'!^@Xh±/ÄÑÑÊô¹‰)k†b6»—¾¹úR…™ÉG ªF”I@ºt+/M—Ù‹P=!瓯^ÈÙɯœñ”½O”Kæ&ä‚,ž¹ˆÀ˜û€g‚¤¹æÝm ú®ðÈ77Á.ï[66ú+å>€ç©ùT >€™‡ÑÓ¿/ˆž¾¥¿¤BWk­ ‡v×ky½üˆ1ó¤ÿBBCÏ«7•§ ЬUk•b4?ˆˆÍÚÌñ™ðøSSòìþu8Œãðéøæà”ë”U«[¨æÚþv$ éß¿SÖ2æ{’D‹Vô¬x,o‘DldùR]Y½ªjÚ£â¡E6…ÿüêG¸åÖ>£%77Ì Šªò/íàwø}•ùÆýüZÞïÝ —Ÿ» ˜Åðö» ˜Þ{³¶lxÇÀ€ÎÆ ôO2¤„ -± ÀûßÅ °€÷Þ/,b7nü_!_ÈàvJ‚žïpß?´U€Q?>jØÌ’^>„ÿ„ýþ°—…]5~±ú¯b“·XÕéÿgÌ€Ýû)!ä  tt/Xã0`ÑõÏuaì .ð¾bƒý^{yÔ ^ˆ‡í‡ ÀH†£œ<,ú’(ñ1„x­KÆÐM:ßÊIXóŠX‚…èÆ@-‚ŒôR£}XºÒÛ…ËH‡8ÿ>ylwßhcñ–Ì.q0©° ×<Ðq[Ø¿·óA÷/;Ìÿ¾7º,·_mVÇ.ëbàRå4ÁOpMw!æ!QÕ8ÊrOL$ ]^¢ƒ-:àÑ»Ûà$Gõƒ¯hµÝ¾ßÔ3±$¦áBš áÊhW@H‘WYß›Å@y‘pTØ©ViâÈ Ój&GpRm«æ ]¼¿ÝKÀ2ÐjCf=ÂſՅ|Ñû1Úpd €rT)7ê €Âã ¸TΚm ¤ àÿÙâKz)¿¤ÏÓ.Ë·ºh¥™)©ÂSĬŒh~áK¬Ð­V²ú@8¼)hЦ­ l·fÎͼÀ\¸¾uðrIŒ£Rú¦&«±ÁKÄòÆÊ´%y ¢OZ¿œ:?ðD -pvÆ~ Dx®nMÌÐ1˜t@Øu~Jø¥‡Ñ¬ÐW«K9‰„¤ rã°G7v’Ð^—’À])ºyÖï'˜Éî€^üì§+ø¨º|ÕÚ­. 0g$àF¶[DÍã¢ëèyV»Sv&²Ë³ˆ6°±q°ÅµÂkeÐY/ç0m’M_?gÚfÄýQy*6Ë{[›[™~ûžª‡ütn½_c.Q X‹ó çf)+ï‚è¹y>€Š3¡JÂùÜm£ŠT?$‰.Ïúµ<ßÄM´OMÜœy5W¡•67©H7‘y€ ÏohfñÞbÀƒ·n¤>€ŽC0Ø`ðÖ;ïü‡¸˜ãÀY=4ÐõüÓ À) ™¾óÇÐŽ·„ò¼ç°ÄXb6`& |: @”=&ï}MP}`@9: -à_ãQKÜIôýéÈQá8O!ôÿø$?Ÿƒ¢MÒrx°ŸD—ùJ‹Öœ¦o?°=4t¾àAœÿ ð™3kÕ;|ÊWëz…Õs‰`$éz˜÷×ÍŒ1ÒuËK \«e‡ýÿí¿ ªE„v}” Z¿V§‘d·70zHGÒ9Oö—å‡ùá§?ùü°G(oŒÏsL ZõóüÑçûL¥/]ºZþq-»›ÝS1˜Øu:cÞÿG½-¥ç²LÉjõÊüÿWªºêPåêø'gì;˜O/«×úû½¼ÿH—«fž¢—‰Š<:üôóO²únNÀÆT‘µ,ÿá~Þ{ôy®Šè@¹\õp=,7eè[­¦¶½µZcbe€êq˜©E®–ûn‘?ùoŸüÐõ;<ÔØ)R)ú¹èÀ'‡}*²ÕgbmªöûÃOÞß§geàpšàŸÏÀÀc [§X -°gåM-Ò! ¹“õŸI_˜½þà _½Œ2¶p}`çmþ7°úŸ,"ƒ¬Rýô ôO2¤#>ÎT—µ‰Œ„€€¼°ÜЉÅß}ïI—;*ï>êÇFz €Gðw3 Ç¾ÅHCvÿø@#ôÄ@Å@î„âéL’ô¾ü¥ ‚èÀ1@=KI\‹ÄƒT”ôí® € ?‰P[þ¨ïQCøOèÏò ò\€×Ç Îf<Í@bë?½ÿX´Ç{”+˜”iùlc¬ã À:4&€–@N8Aê/@›D0`0èT>¥L„;­?ÇÍ: °²ºP…ÏÛÛÍ?ÝÆHÞP6Ê=𠵟KvÚ{*Aʯ¯#àëªÂÂA÷.`¥o4^7Ú6Ýß»‚ËÕ¥ô8lo é,QVœÞ^d¨ý‘àåRµÝì¥õO²Õ­dÏ azå¯T²Ú·…Õ9ß–Ltc4øÏ‰­õÕÊíÒÌt%£ƒ?hFaÁ°÷´ogrzé}ØSOà Y·—Y}Í ÚU×O‘³+«·í\@þó¥Rí–ö°”n],1çqäŸò~æ¬>îЧ\~…ÏÜ‘®Fh£+åò\yéæÒÒªÎI´¸S^*/ݹ2w•¸HWµg¥|ui~¥ºôŠ Ä’Nßœ>§ìŠhÚ! æ.(Û„?˜'dI/-]³ssK¯(+‰ÊÒw~~iiîª*18­ôK\ŽÑFG&$¥š’y_NârõêR)w%š›#ÝÒͲJpŠ«7¯êª%eN@ÉUÝñÒ¼*âWò¹WÈ\iT Uwîyå7ý¼ngn^·4=9qnzòÜ™s“óÑ"JýŠÄ5]zeåÎÊüÕ¥%µHµªÖ¹Cvwh*ª­û ÔòÕù›Ê_ûèÐÕé8à‡6NdÀý©méq ÀwÚ7p‚a!wA¾å`àLœµøBüq€°ãÈó?~øÞ{ï`ÀàÁ»¶¿ÿ³€øþ_jˆÒ2€ýí1úè?:`n|@òÀ®ÕË}+µüN+óVßÕö ÿ wHiüŒ÷z`ƒ'„gˆÿÉ00øîÓ"!?|À0Î@N…Qÿ#‘}°Hðë´WXT‡¸fÀ!àT€ †èÓç/ö ÷x’xÛ#aŠÛ0jH^” èˆ‘€ ^‚ ûPSÛÊŸsBÔ½F»û{ ãÑÿ„˜:ÍÈx:Õ¥ù£·ô¸³—A/¼;{Îâ^s§yc»Ýi7[ÚmwB20Ñýð =i·¥•Ï -®©€ÑYpÚØ^\¸¦YmÖÚ˜ تl©ØÞ$‹ÖÝÖ5mê¬óPæÛv¿Ç’ mªªüÃÆÀaãR Ø¼Š›°‹£O©ÀAKÏ΋€_1NpYsû² HoJC7‚ZþÐ|Úîv»+r…þ@M(üöø¡ÿƒA=ÇÕ{œ`ñÚ€,"ºlÔ@gtê7 -Hä^†Nm®²±E\aºq~à¼óÚ\•1åHÑOPQؘm–^ß\]šÏOW7…ó·J1n¬Œê}3Ùý üð¢åŠàpq>ÁóùÉ™ÉóÏj1°ÿONé: |l< g¦0[,{x¡ó¯1ܰRšžW3…ñÿ+gŸa:`8…?Ïè5†H£¹Kx3î¹Z»woéÇRÌ¥}ß«ÕêОüCúã«ôÛàc‘¡{µìãþww¹Š`8ÕZ]eWjÙíõ›ÓóåÊK ¨°Ôwû²Þáá§Ò•Ú/Ìz.º_½*]_ÅþU?4þ,û8Ë#Ãìã²êáj­Ù$PÓ \‰TÀ¼Îø×KˆÑ°R¯“ŒÚéòìµüð0ÿøÎRu­®Ñ¿q7Ë1ôóÔ½q¯FEò;ªH=Ïÿû£}*å°¾u¬z˜eb=i‡ =¢l} -[«ª:–ݼFH ¬ß?¼³›å#–”¼¯ŠäWËÒ𫃹ƒ?Lkd3£ ³¡Àÿ÷ç@õê‹€¿‘@ LX o''€·°Ø0b@s· ëëwý“$ L@è`/ò³¼ûý¿ú>°>j08Á Ðerøÿ×ôšý‡é#6pÂ(þÀ6{ù®Cê%‚ðüüñ3H—*—Ôãìs–ƒƒ‘Hÿ¾\OR'Ä",K€uUËø/j€}À6싊|‚r-Ïúü÷ãÃÙq Àþ‘Ál€œr€q €ê!Ý?½Ä$éýÎËßúÿˆ À˜ Mž>nmé‚Âà>[€8¡” `07@N§›M€öv+&ÐoØX6J¡ßit¥<+5.ÿ-A]ÿÂI¤¥<¡#â`hoï1þçZ£<5vŽ¿m4ÖÝ Hƒ˜@¦pžâ¾ÊnqGW˜àIˆÀS¡ø¬Ã³I®™DE;³ -“BC¥!]Ÿ„k¨lPžëDÌAT–ˆ†ò-QÙRª…Ș﹥nW”¨ÓâÖ˜»`•[yÿ~"—gñˆJäøb¡ÊCݼÀ_-·÷fΞ×ø—„hü÷Šf’°·à‡¿Àÿm:Žz„èÒ9š¹,nûM;*¡®‡ß®¼ T±ïŒ”ìe_]Íûsæù_ »y½¶UK¡^̰gëÜ*“» €^dÜœ«sG̵+ÚœÇ0iþ,XŸ+Ëd r+¹èdŽ8³ÿFè_ØÎŠ -Ü…ÕOê8{I€¾‡Òò-êà²J«„&X¾D ™)>‘3ó 0 >Р1(Ç,6¹>W³ƒ-:ø8qmCtÏõÌãÝxýísA¿V=4ªéÜíÒÅOE¼QšFVngëÉxRSf™ˆV̾Cv›vËjóU%T– -I¨¬$»Ò±²Ö–²¾©­¡[4:ù­UL í›9Ά‡åìÂJö¿WË"w‰Âä$d„Šì÷˜˜Ø J™Wçë©Áïr¬;üÈïÕõÚíõù™ÊyI ’ƒÔ=€`Ô"¢+á“P¯Ý‹Ú(ŸìpiE(?RЉ…Õ¿¤¸Vxëd H}º¾ÿ8)ðÊtAà­Ï}ùòs³—“ û¶î Ñ‚FÀß2°Œú؆à3Þ$Ÿ?~øð½wß¾±hðà!?Ðn€W€-„'Q†å4à·¼ÿРÏÏ?¶áX€'àöö_[J˜÷81Æ«éõ¯KÛK§ ©ÀYP_'|€ç2„íÛ›/]ìËIÁ8ëç+é^^ž@qW6왌ãK,‰X@~ñ ôV‚ÂPä4äXNŸ Ð\"z ŒPˆA1 @¾ñ` À &D,€a€ñ$ðåè8[Ìœon ;;oîÝ×›íõëtˆJ(Í׺>¸Iíìû7{MJ»àj‘!vʧÕÕ9¡ã¢àÎ\"n3"ØSé¾3%Ôssd>ªHSìFø/® %`·ÀUª—~³¨ïZÓ4{¼¿% w€X -;·F]18¸F:¿ÐT)®6ŒðÛµ0ƒññ±+vS™ÓR³:i¼ã.ª¤¢”¯òwã>·øzõ·ÍÙζš²-RÖ± ;Ö@ó… KǃÂö j‰¸¬q Çÿt2dÇ À„¾~!tŒ±Ÿô¢0÷VÏgµ¶ú²Y€9C¾6§—u¸†ë”‡†Û@²¼öÕÕõõÒœƒî1úY‰‘¥rie…à?p&É•–. Þ¨ˆ2”Ó(€px–€½3ç'§…ÒÀ 1{’Çr€³—–m)¼—ÅÄ0fÌ8È^ü¢€Q eçn€gΞe`º„˜9@°>ŸÕ Uð˜Ð†‡>H^Uë‘„m_W¯ -îâ\ey†‘•·DæÕÆa0¡½oÛƒ/ÀÖ~zò¨ÏUÝ´”³N+ëÅ2‚:Uofµz¥!Š_îÕø?<”—Ítª˜ÿGy0éŸÔ~nŒ“«b HTL08•U‹¼trCIð!ôÈ\>ôÀ³ù µÒíe1œó“S%JàJ.À$B‹°í»:¼óqÑ ÔÈ“×zKkö E}F'}6™?Õkÿÿå`œŒ<Ì›¼€wðX óC â«’à{ßeÊ@׫¨Ÿ>òã"èO}ˆó - À[xh Àûa)ðTï~?ÀÃqð…þ#À¯LùHì`€“ùúÿôIDAT À¼¡ß×çF#& €I@/ß\q|Œ€û·¼ÚßÛÚã§Áa§ Ìg ǽ=ʸ˜Ëœ’ÆÀ¾d\g!˜ê•01€/‡ ˜6À&$úl0î{5ØôÆã㳆I,#£Y^!ð¾ä÷u0LašÞ*Lm›Fú7ŒáØÝusÄ -ôímï9ߎãøpŒC ¾€›DÊ/×Y‘hî:¨-î(”§ý”-˜©ŸqPäš Š°½Ì딿ÐèîxS¤@´DEÒs¿‡Å¢Ííæ^CDD,Fl7­ðë60Epƒ< ]¬Ú«&Êûõ¡ÊL‹áƒí†ZE¢fl† ;Ú a  ÑšŠ\†1÷ä †P¨…ë¹MŸ9Á€´ðûô I¥V)Ýü7ÂÔIáâÌü<ÃÈV·ôfO@S<… ýÚ\-×[[Xêp6SßÅÀέ>£Ô¶6Ëóµ 4`ôo]ºâÙcnj¯ôÍ—ìE U ˆé5˜.­âp‰8óç±Ð£þ ¦“@P}ñÌ™™g°—þ½O±Ž—É–OâpŽ—&æ+Ë·.¹ `R80CÎZ÷a€žDê.¯°\˜¥uÿj^Ó N·&½&ÀYh&ÃÀ.#Ó9ׯå íV+·.9´B©Vº™«­Ö™½WMzÛìà?[¨×¦ F®×îÖæª¶–ëËd²•:އ^mép•‰}˜è < wÄHâÈæ -½4pb o~G°MU´¬’ÛæVÞómë^”ñfÕ¾žf€6é¢N*çöíJ­4#ö&05u~æR…ëT£¾DüˆÄªr­WÅËO¿-Ö±{ŸC†p:îFlfÿr>T$ø?®Oå%%ßà-€àí "…@AF,BÿÁ(€ï¾}’ @þˆ( ¼-ô˜¨ß¤WiÿkXރأùƒþBøS*%)‚úãE¸ÄÑç¯\µ |²Í¬·¿»”öì=FÜ©oÈw[óOœH€txã?:¼áÔ'±ŽÃ8$ž*“‘Ù¢Œ\b˜ç“¯ C>m¹§.0Á(àÞÏ/>Î(‡>ú$€ÑÙ¡ Àï}õ«ñÂI¯r°9áú¿$™ ÿúe=L’#Ãp¤À ™8&`«„sÂïfgYw·p'@s–H»a£ÿBôCëËÌ>„õ—€Œ…N»A˜#pC0ªZH—^\@ùÇéŽTÚb` I••ë²Óý*³ÀW ­e£Ólˆx b7ù÷Aÿµ¬oÿìsØðÁdXÖuǵàí{O¸«äªg”óÿ6¥áï4ÿRlC';b8ª-¾zšm´‰ý×`¡nÌHm±£vV*ò²G;„Ð X¶Å%¨Ž -¡‹ -Vh2Ý€6!ÆÆPjí{qVþ'éÏâø€S ’”ŒsB€§ÿ Ýén €ñÿæüÅ›µ -à‘ë4_/¿Ì«_©³Z¹V¨¸Æÿ@0eã;L8¿ú‰^ç¯õ*Ò™…¾&ˆ‡÷ûŽ€¸æÕ¤ý¯®Þ^®¬–&ÊÌ/Àd -€ ¶<{a€ p–`€"@µþ³é±?U–Ópuz°SK–—kåéjŒH¸¿ˆ!†!Â}‘ -ò=ûL¼»åïPOw–]Í*¬CB> àdAé®ðÎÛŒ…  @R)Í÷Uü)VÃ_"]²ñZhÞQ -Í;WUNwÃõØ–*I^_RE€W òÆk‘'žDUŠ>ÑõLq` Ó.¬Â8ü…â«YµÚÇÜ^T_ø«”פ|+KÝ0¼"Ï«­‘¡w c„6L)*µù™Õ™åK—J"j3¥U½²äo)Á?r@«œCÑrKµýúHEÜGe=ûgŠ j×ÈŽZ û¶¤íãPýQv", Ñ"ĸ~Ä|÷Ç,:ã ðg}¢@‚à€8#;\Çðç€÷™™ðíÆu)Ђ°¼üG¡ ø%éÌûs£îÿi% -b_ûw"… Øä¥—(ÐÛOC;P?À?ïk¡Ç"è \¶šæŒãëFj°7„Mž×&‰Å¾ô;_Æ£?4ùð nwý{<8iØwqúµð7Àã ’‘ë,ƒÙ9gøÁ`-Òß^Þ DotS€dH€¼Þ -@Áœ‚Å#@ ` ÀŽ»¬Á9Áœ2l, -µQÀmJ×–m)?ëï"Fn¥@3Ü YD`; D[ÆpOġٰ·6qPÍa¹‰ÅYŠ¢5öÚ÷÷ö¶[ÄâUA*½µsŸÿ%t:žBXP{'‘.¹vM¨I›H Ñ -CFwO"°mw~ –ÚSžÂÓÖ}UG%€ÂªµHÀöžôsm-2²o!BøÏ¾Þt|c±‡¦Î(Û=¨P³éÞ÷mUD⪫"úâW öOQ-T#e¦'¡+"jy0Yq[åîìí} +hžç -€el Àþ§¿Š0JŠ3jRJ‡œ)'ÒÙôN}JÑ[}m­R™ù7Ò‚=à 7K• ÁD¥²5ˆ[_ËV+J„i·þJm_/nцšgÈ1¾¬£•`fcµòòòíÕÍÃêÍlƒ^ø‚”™ßg^»/y×ÀœFÖtÑêòêKÓ¥’ … bꥫ^HŸÑpÉà ^SôLHO5T¥^€Jå›Óó·!dyžŸ¡ìXÀ`€³gö@€fµîus :ƒÂn&¿úºe$JUèÈëٚɓÖSº¥â+åù üW[Q¥¤’ }•“ý -\ oN¹ˆJRUˆè㊬gU‘³Š.Tj½aÉýÚm ïzÑ)®Ý*v_¥Æy%ÝRM«Õ}-u±ˆCÕ'9ÇÙÍÍDD¨ˆÎÏ)I!D(vÕ=Ôæ§_™¹„ÃÆÔÔrˈ«Â¥f80”GeåÈN4¦VÛ\ªë  ŒÃI8*YíÛÿ<>IïScËË 4† -¡ ˆFÄhýXyBzº®?ÉðöÀ`0$'±>Ù`µ?mjý±€ õï<üþ÷äa¸~Ý])П½ðÁ?ä8ðàϸÿôq7+:Â`'Àc£²ìµ^/[Ê>9HÀw‚þ­Òë ÀÂadgÎDôã¶¶x^€u¸Žà²ð}19Ú À'=Ì/‰_¹ô~gË…¶LH(K¿èˆH€a³®YJ¢D‘¸EQŒGŒÍèµø>æ~]óõ;[žöát$Âp (Àù1 ¸·ö î'ˆ °³ý†`V"üPB€7vºÊÇú` ¢Oî‡Á•}»¹°ØaDÝ6³êB¤| }¥8·ö´%—}»$ -£!Q¾Ü -*ušÕE©û@öö›ZÜWÕ[mæÞo·ÚDÚ{½½#ÐGM.N9¨ö—a! ;U'}qêSC4[Ììƒvö?ì:ÖÿöþB-¶óè¯zwu‡ô74w>`?âþ©²?éì,Î.‚Üø?vÔÑ,tH4gEE¢"~MB!,\Æ ‚zˆ’pv1uÞ/6¢mY@'ZzN¢4WHKªûñ1c “ÖO9€¬"YœWêÓI¼«€`>böêW+y*J¸^æå:Ð:0`F—œDš| •+°¸'ÿÏ¢õ±})c>Àßi.,4é§”£ë®‰XAîtÀKæÓ½ÿýî‚n:àï ÿ[§»otÑ¥±L,¶éŠŸhKéwBS ”³n™*‹íaU•N„jІ/ììý€ØFí†4qþvƒÊµ;F*ÐÁš±Ýi~Ÿ‡6} Û-êÞQÍtûÌ&€g¤n®ÙQÞP'µ`›Žƒ…mµ† -nhOY’éˆ<©Fb2Ä·‹E€»Ÿµ-Fk‰V<‰ñ߭ΣƒkxC²›±´ŒŒþ-þ˜x?½xPŸÀSOpYˬÊ2¼?´|F›‰ìÎ×SŸ®$Þé€ÙÖÖOtPH.¬]¾½±%ÈDÅëNJý7W Ãó7éW&/™hSa¹R«l¬.o•§…ÑVÿƒL¥pç±ÎSEÔÿ'0€É)]{Y­,¯‡H5x¡T©M” $Ú‰Œ%ä9… «‚‡€í  ½¹ÀEAVí*ð©™ÚkK/8RpÎwOß<{^ç+K»´ŽªtHPíµ†Ú2Ìñ†]"î»D×y©Ëv•†PS« -ÿÿ(¼é1d•«à² VM^Ó/ê ñ5iGÊõ£%‚÷ê`ô²ó„t´Z틪1E?']¥Àc;ªÁ‹D–-ý˜œ#S~ßÑsw«ŠÌÏëIó¤Ô€Ë«f)¾œôw¹Þ™ -UÍ”ƒIÏ–*п»Tëãe¹No×dw}Ö±tÔþE,†ÐFD¦/)B€xÅÛ7fŸ{Q<à-_]X| „Z -'@¥æ‡Ä®AwL òÇdÿ’@à­¡ëcàê°,^g@X¾ à>€ú‹cŇ¯‚øpýKpïM¿7l Љ£Âà}ƒßQày°ÔØ~ @¸õ?›pÏSz}Üa/ÀMCoøO4!þKœD}éwC¯ôçcσ°ØÉ€g BD2»£ŠE¬C¨ ÕQ5œëp ` pd6Àk’Ù…çÒ{šwúð­í-@€ÿ0`h`À Ý À ` H@&è\lÜ]`â{´Cü:4bA,FühžÛ ·._D¤ý6v)È1°]§Œ· ‚· ¦Ï!ûá·ÁAÕÌÈX^£ã½)b€‡ hì^ÿ=]¹GL]¦ ülo›p¾P ÝAûÍl”ŸXŠx±Ýi1pÓ~»«$ÜxP ú„ém`w'ÖÿÞ›„âUµÄ$šMÑ]Ôîl/~Àÿ‘Ûîì1“O—‰Ú0n B€÷@»Ë-6¡ín[·™ALãÊÓùîšì©’T‘æ 6F†D\BUÔj–xÆz®ã>øt €³I``ð€‚Hç%ºhÄ I©âì3è=­e¥¸NÍ\ÐK]:º)Àª@K€Å‹›•ÊÊJE X®oÅl÷ ÙÈzèĸåKË•ÕZVž—þFèx儦O¸áyÏ ì…å催êq’ú>‡ ÀÞz±Õ1Ðÿñr©’YS¥:î¸8/Pq€’(ÀÌ¥K&`]¿·Õÿ¼¿µÕÔëõ?ýüóþƒëñ=Ìû¶ú½<¿³TÍò»zöûžàVMw^Éó¯LÔH™ RKíæŸô•ÍÖ'ûy¾¿uø¨§ÚßÕ«S×+‡Þÿü ×ï÷óÃGûÊ¿ðÃêRÞ6*ŸÃG½ìð ïõ~òÙïçýÃ]]¥oëð0,9f³êÖ-Ék¯¬d‡Ÿ?z´¯ü `c}¾ÕûìóžJûü`?û4ÏÅp>}”ݬ’g„Dö?Ó}ÐwKªž -ÏuKLµxK§tku5û¼¯z>úü³~ïÑ£7IÀ?ÝñÁÖa½\®é¶‰Dø9™‘Au©š¢Šè¦¨´ªò¡–G~æîæþö>Yèý0€ØòrÄ`ôÑÄñûü¨PŸ,VâCÄ,Þy÷{7ž[hü±à›ÎC[¾ë€ù1 €~7Àw¸Zã’Pþ¨ÿˆœ t`h¼óð¯ˆüðýï¿ÿð­ C` @÷19é˜å½‡Y€ÿ¨ÛŸ>8ßø¡€Xô7Ì([Ø”£I¢_#øïgaÿÒéó:£ƒà0Îúq ‡X#¡ü§…>º\¯€‚8S‘… =^ûþ#Fx}„ù€€n4þËÅÙÔ›O¹Å(P?ôcùø8ƒÙ9gÕýšþf¯]{ƒ¨|ÈÁ;[âW8Jöøµ € MÂд `¬T Œ.A:­ívSHEx< 0·³½`"!´”j) U¥¢ï_× ^•Ð#°£ã¸Ý¹û¾ _—R¼“•’.pt‘+»ÅÅk JÂŒéA¡³wE…‘÷zfä!Ì?دŠ, råå(r" -²§CÛôC4Û‹„-LCØ&ì€*¦èìÕu dˆq‚1‚‚ìíö6ýj‰®„îÊ.¾ºÛX\!¡bºчmæ½è(òÓ‘EåJqôs` Yù`›©~šž4“*Ÿ Î^ÁM´Ù^\èbŒÐ#[D·ÿMhVÚ=zMFñ_âG älj!þ/ÎO+ÒÓjU,Òñ’^.•×RÔIðmûjmmÓu¥VÏéÒÝØÇà‹ªˆZ‡b§DVå¹à^ž«eÌ*€ ˜§×¿tsæbì$å_?éÄÚÀ0M×¢¿¿¹ ÈäŒ4ôĦDþ•À“8ÀL¥gUàÎ‡Ò º­ÚôÌ-†ÚÑ€¶S3ÒþÏŸUƘl8ãøtIî¬T«wVï|kîˆ^Gx=1¡*”FB`=×ÓñêJµ\¾z•@wÚ¯”ç§'&'&§§g柟¸y“F%Ÿáù·R½S][«1wnõN…Óåê -Z*¯ºR‹ˆ++J²R¥àê\Y«¥ù%ž9Š•‘Ä25T²òÊRyî*!öTÊJùæ’#ÞTöKeÇéq)œ%è`Y÷X%bÊÐC¦„ê+Wÿ¹U*ވ囥ùùùÒüÄ ω7ž›ž¡ELò,Kj9jm)—¯ûOŸ¿IE”óÜ+TDú"]qä³òÊŠ›UùüvýiŠžf™µþS-à Pá-­Ø‘@é'H²üñƒ³×Øð\òxûd ÀÛßÕb( sG%¡ü¸ -oZâpýÆõ°Ð ðvr8ÑP¬ èí`c}c!úî,€ŸÀ -øÄQ#- „#‚þþÿÁÀBXÐ - ÷ß±þo@X´åäô“ ža!Úrƒ}a0ø³ž€è¤ãïS]j@J# t_ö\Æý@ýXÿu–òÆ| -0: °ºtï`˜µ7À€?xoÇë|Ü0è(¤N€¡ yH:É €ë¡œ¢- -Ú {c¯%ðÚó¶ˆrµò*ÄU*!v¥ -é+“îÚí0ø`{Vû ©á_WñC‰÷à UV™(ᢒ+#ý@&Bæ`ˆ·«œàRÊV;¿GóƈÐÚnmwá!ç^[+êBéä̽×îìa@ÅÇÐw…JÒh1gw¯ƒÝ~_@.apåÀRÞß{¢R;‹ßÓ)j$騦Q z@yÚšn‹/tU2q5¸ÿîÎÂ"cvZ<&f+´Ùƒ± ¥"†"—tT¼n§1ÛR$?ØÃ)Ü_X´új@ÿ' H*ºèþüøT²Åÿ­ôxºÎOž¿0cž€èÌjŸâ×Çèìdô¯gýÚú#)xû¨ƒ\¬³(Z÷¶Ö×éÖÝzmÿ V™_ñ(‚°ïêråg'@"ÈU*¯Ú¶¬ró •§Ã•üÂ.þz¨Ìâ È=qK3ÌÜ;9ùì¹3““ç£ §ÈTmõ0¬áëž6—lUÈ…RV»UY%D Š¸t Óž%ÀY¨@LHTA"°oe­®{¯~«.Å•)w+uüôª‚°« èY«×ïéáL¼aei÷ß—çç•õt…8¾ó7_ªPsðeÈT]Ù}t ÕiM9€aÇZm¥VW†ý;Õº¦3Bõ;+ߪÕ×êÕj}I¥T¡Zñ™juîßJ•3·­ZZ°s»Fò¥«Õ¬º¦$Õ5=²ŒIŒ×´¼·v§,²—åØx¨I­¨ˆÀ]·©âõå#”qI+=3“ÏLΗˆK¸V§"Kõ;´Hu­^Ït‡UèDŽsE!]©ß#·2cüò¨â»ùyµæ'pšàI>ü}oÄL¬×7N· f‚:'û@Ÿ&I‰Gp|÷miâèó1 Gœ`Pj–É|ð½ÿð=WëˆÎ•§±èb,oKé8b@†à2üigj7‘',#p?üÌá螀+ÇGèµÀ(€€mÀäI­?hsž‚:Àÿ²Oè÷;èÿ€´Àš“ìøç’h@0.+ÄÙ*-nþÉàÀ»ÆjûþëÂ@îøÒW}$ ]ûúÅú› $œŒÙyµÜþêï@zSi‡V “žî1šŠNHàd/[pú·bNŽRë›{{o´ºÆb¦Ûq”%z`IÆÙ~q›Žy¢ü n»J‹Ÿ¸ßئo_x\aXXl‰8{\­üœ)xÄá¦Ôìö_îQ{–꩟pXgÚ;í®8†ôÿûÄd‰Ì'¾°-V  wÖdô/ŠDd`Ûº6î0?ìtRÐcÚÁ¶(„ˆÆĤ»°Ø¹oÈV%Uaáy—…öâ íF¶Òø£V ìïèñ*Mßý]±€6wè&#«Æ5ú"TYÌ -ÚX«vŒ¤;-Œþô«Ä½*ï…îý½½VK J¨¡†Hºƒ(Ú*9‚ÿÛ‰¤YÂÕQG½´ŒŒþü‘{f3ìS|1€jiæü™¯Ì”æ_°š3KH€ Sªµj-«W×îh%ÁÆGÄÜ¢«·H)ÕîV—æJÄŸÖëõÐ×i¶É˜ÜM3(gó“ž:ûñt¿¿¿îѵJ©23óìÌ4vú“:ž™ —B°¯U0€SåÙRµ²$Fb“†–óÓ& ŒKb††(¼U„8ÀÖ‡»Èá£þ1y¹+é6Ù‡‚ãëW—ª‡Ü2^ú~œÕ—V²zöQXì÷³Ýýü0»Ë)BéV_U¡Ó%;#ÒvYòmþ캲yÈä?y¶ÕßÏÅ ôD˜ä‡I}ô=X«æzj7’DEòZýp·>w3ë+]VËkÙ‡5é_ÕùFÕÕv³|“Nþ\LMŽ)f©VÕ©{å¼§Ëw³ìCìBõ^ÞtEöëå•}Ud— •jëc½¿óMPuɵGåj¯˜k—>ƒêm-™·a£4ó%FŽ–*õÝ|ƒ¬þ6%ªß¥7½ºÍ³{ù®Zléß«©êyýê¾NÔw‰Ó§"?TAÅQ!ò±~c ËtêNvŠ%ˆ†DfëáU±¹1½€ð'ºÎ ­O±Ä[Ü[  ÛC ~*y¨<… ü{àH@³Ï ’±ÕC €@®²$ø•„òã¢, -ø³¼e€d°àŅ넳 ¡þ(ôŠÚ¶û6X?€­ýÄðÁÂ0> -``ðËü_ÿö0˜«ÁQÓÝèxذý9ÅJ‚X®ÀG?`[{$±…Ý„À&ŒYlÙïçK¿û;z²ð†rÐyå$ý˜ À "ÀSPâ_‚à`°“€ý¦;àÿs×ÄR'€^á~k#lëË5éˆzüK†}›ÞÚi‹ ûŒí"ëEÄòiµÞxƒ€wÚÃÐOÞª£õH„» ž×O -«PMÉZ(Ø`¥½ðœ øÜ‘íâpgó¹‡ëƒl*³Ûhvºü€ê‚Žb+AP@[¡£@Ê"5¾Ým©PÂaÿ§™€ÎiÔ*6<õ¦mUNpI^ !²V;&¡ Û ¯µumµ[{]8tgíÖ ðÔÄ ¿XÂb³qmqÐöef"ª‹=t?‹înØY¤i¹a5_g»¥bµÕöø~Ýv—'…¢SµMtÔÐÅ£pÔ$¾ ÑœÝîî‰ß´vš{¢/ØSÔTXD—@ÿ“ &i@¨ö–Ày‰.z¬¬:±xiþÂ9ý»œ;711===g±Þ†bË<“´”_¹så ¼Khv+¶êJõD³“Ü\ÂÂK~+sÌIßÌß\òÖ…i âLˆã£sós3œt"áóÄüÍù æ§/0}ŽÒMNLê{9Cíïù?*ç.¤¢µž~núÂóº©ùù‰iU F9¤"4C“ò¤#wkµ¹•|”‘µìc<ä¤W;`̓øí¡W8©3•ù™é æ-=,á6éŒG6ŒHcÖËÒ°ŠÃ)AôµHúkß«p%¤`W«”#"Q+Ï•wë«ä@ErU¤:G¾ÊËv2Ÿ‘^Ñ*‡¨ª'1,Raí–Ë1o êpwC*ÿú]úttŸÜ­vx³þaΠ N¢¢6’é/M–ðÍ _‡Lk·ÅDîùnDE)£o­öqu.cž@­¢g5ŽR‰ˆHppS«bù#ÏPÈ~/¿S?Å\¹»~—ðE*Ãä(áÊ @ܰ’pÔ „Aý?Ñ ðùTõ`ñ¶ðömeoð€ïþñ€€Hj)¶ðŽJ‚ù#2´£N²¼8Ñ à‡þâtÿlŸ¿@~-‹áçWþÓfˆœâDGî2–T([ˆÞÿtÃç){Ö­Ù R ¦—yBÚtL ð?H€3 )B -õ—iìJ€Àfþ„÷Ê4 [[>RøXb@úõÀ1€ à«_õû7»ÅÜ€Ø× !¼µ¯n¿ÆôÄÁßì$@ʹŽ ™š;÷þ°H}¼Ñ¤“ÁЂf+E{›©~MÎ×ÖeÑjì4š÷…½6:ëžrVºf ¯Ÿ˜ð¤J/þçÏM–^ BƒÀ*"³Z~¯¼¤"hBtCq¿ÙÒ5Xµ6öŸ¬DE6yðô‚«evØ/¦·Àøž,Œo:j¤DÈШ£¯óœ$ ŸO“‘<-ßÛ#€ë öŽXÞ%éá_Ä0賌û€|øŒË‘c6¨$¹â ècÀp ÿ<àÑQ,F}ô,0’¯W¿aü¿¢½ÿi$7|Kÿ×R»ºýBéÉ€|”ðÁ¾$Eø£¾ô;¿û;‚eÁ¾T~¼®$ à-œ?Ñ€ b6@£~±æ˜òHjä+ø~õ«v®·èÕŽ$üoï\[ÐßD0Œz…³bó󰀌†à˜€0yQº§ˆ@Dþ3€áá'¤ið”`AL¡Óltº-ôfƒòýîý…N³Ûø ]çQyF¶Æâµ¸"ýp_^Àà,–A€Àæs ôÜìA%vu%žüííËÂìÔMÆÙ)'X‹ãÀ>I(!‰Tñ[Ó]ß0ïQyÒâ[Xð ЦÔã)kɨk¼Ù™•âîN}?ÕÃÎ{ÝÙEÁ/Ä$ª£ó‚|&VxIêÞhœ; -‹n]:Á#ÍHqÎ[FÇÁ"5Æp2å^pjàqˆˆð„œ–‚wÄF:ÊŽ– X'ª»0Ä€!8Åþ‚\,~útòˆÿM©WRggfn1†õîÕÚÊÕÌöØ„ó¼ÿI®$ýÏv…>ˆë»6úŸ²±žI?üéRw9Ýx­“‡ ðÚU+ ×¢RË÷uÉ® @z, Á|x‚®5Ò Ê^­ N`2P ÚŸ´¥ÞãÎLM²çqá€K *óùoåÔ'û8S^¢ëä}«t;«)¦šºx錳N>‡üYº‰ =ÉÚZ5«Ï]Í3e@%u™ðY€—Ím'IÃn Œ O8W_ªV^˜™™xvuùöªæ¾˜W*úøfÕržW„Æℸb\¯Ε‡©ö«se©üù6iUâójŸ†«„ À$Á‘j6·Æ‰ù*ÈG¯ Y9hS¶Õ®ååò~‰œwd#ÕMOLç—²üùr–¹ÄÊKaxáÜtmFívfò"OÛ ­[ZòŸ@ä[ð 她7ç©çj†ÞT!Ñ ¨ëcD™à‰²þ(Xî¥.ý¸@’½føæœn H8öœèðùiÄÊü÷^³<·øà»Ã.€Ó,¢ }G%ÁüZ´&¯,‚óÇøäëÑcúð':éíÏ)ý#›…5à„¹„÷tì Fð,ôŒÖãA—·û1ü/v sÈ¢  VÛÙŠƒ$S²+®8Áêÿ®–I ÓZ¼|ûÈ€$?ú‰ËŒñý -Žœ8osÄ/xDX l ³°Ì^‹.€d(^Þ†ÿcn€Á”“MX–¦‰ ½î‡Àëʦ)\Èâyë€$Tcû~÷ g®Üf…“Mj÷þýÖ›m§p±Û¼Ýja„;Šn¯ÜHÖG5¥‹Ë0“XüCš8ÓìwÛÝ3 6¶;adWÚX¨¥CÛQ&ÄEÛˆpvAÜ6¸­M‘‹…FçvV×àèÔ&7lú¤ŠÐ6fñú‹Cjqˆ9èÀc¢K鹿ƒÁXÔBº9:™µ·<¤Væ&h¹f[Š»šC›q3­Ž¸“˜†´²Þ'Z„Rq³•ÞêÏßBãunêiu›BmþBŒÿ¾Q?l¦Tò†‡Œ{Ä_ɸÀèÏÑâO;†)ÿuO#y¶µ™omT.?;¥yÞ;Ī\™/ ›õšfìW¾µ¯ ­yûulj’çæ›Rd àwu¾QYž9?s+"ÞÅ`x{™0xª1À»<_Ñh•{€Å¨Ï&ÇDFعTºtKø>õÕŸw´‚ä°º”¨ê_¼ÃÖW×¥µ–ɰ&Mÿ?&ÄÅðüÌ̳ Å }ÿ!$NùvBêõ«sÒ½++övçˆðX’2žvPžÁv“×ç)?1ð""X t[ –­• îÂÿ‘²ÔXIÏÊkvN1´0dµ¹%5å -£4Hµz[y«Ü*k««ªÉ«ÚBìäJ³V_¹ºV)¯ÌãÏaó8'è PmN÷ËåGÜêðÕ’ -2»¹ö¨vsþ.ùY–ÕœçæJÂÿg&Ï<3£¿•¥zlf•¥\×±Ceá;Ú [£ZÏ–Êõjuen´5èçíS%˾óÚ†>™º°—ç¯dÓ“ž¯ɘ@¯hÿœ²àñ€BôÎ7Pðò×ë¼@$Ä ý8Óãÿ8u¼+ô ÀÂé€1Àoà0> - |Š8BòÓ|8‰…~dT÷ɲöéæûÇÈ@›¾qò\Ç,ú§¿»Nï’ˆ¢àRÍ?«Ü’ð?í%pÇdÀ ¯° þ/'ü×8fB/}Iú¿`¾Å½þ íI¤ìNñðö(>ÃmKa0…ø¶ÿ’´þóÝÁ  ‰÷wl§=à1ÆDèÆ8É  =åíîei˜Ráj®ióÍ=8Ybh7XJE}£ý&Þë~©Û,[`ƽØÒ.$j“qHÕÄõ¸+g°¹@'~«Ûô·QÐÏöÞâBý]»H´ˆ@OuZiû ‘JP׸+å”fçAÎ1âN(NKÈÇ1vºZû}ï:·=Û“H$âfè½g„a³Ó¸L7n€¶<Ÿ¦î„Ü›ª‹/ÓÞN‡K)ÑuÖB:}³ÓÕQ²äöÛ®8IèeÈP#ìØD ¸˜ʶ’¨¦mñ+[”Ö€ìÒ³NøCÆ ñG¢bç ‹à OOüÝ~}iYªê†´Fá_™)kÝ«/Áo67ýj—ÔÑ0Eäývè ׯd6¤"`˜¹%4¾Ø_zý3NμPbbüÊFVž¯ïÓ1në¸õA|Éò2ás/]d¸ž É ÐòŒôuæí{,¸µªª¡nD…‘EÞ0 -ç±”áyQŠ)å¦L™ø³Ï!Y^›»ç‹Á¦ üGÿ]aL\R÷A·ì&y#‘ĺ¶&Ü­Ï•}õe@š{Ô¥ÀóþXD‚}ià¿„Uçu´nŠÈËÕ|sWTÄRçˆðz! [|‘PRNUX½mýÛ4º €½*+Õ«‚Q!]akþ›vøòÕ•03Ä x<§Wd¥ÙR­Ÿ×Ëó‘¡¥ü¯/”fžÅ‰‚.€àzäZ[²ÂŸ$Å‹¨Yý -D`¾_T$n]Âëóßa® Qäð8 €íñ—{‚€ E'Ø£¯M`F’„Η¢ÀÑ€Þ:b¸ñàíÓ||]a 0KàüQy¬àúÓÄÊø~bÌ#¢öº; úË’‘ÿÞq8@$paŒxí;Ç| •ÃUÀÿÉø¢Žèô: õ9t¦°Š+9ɾEŒÁ¯¤è@¤ÓTkI.ÔÀpLmq$ùØe€Q­ßߨãì¨À/â!gÆ3€k @okwÒ§ñòfXréˆ$²¶$€(ÀˆiHà ãÎÛU¥Ýî0™.:mƒò•Õo(#ƒœÐIÚ©@¿+su«Ûºgañþ6!ô(ok½/ À*Tå­¤œj³Ít7mÕ¨û—XºÛÛ³‹Í†òTu ÔÂñ¶Jê,ÎÂÌàH`NÊÐf’B¿@Ï€ÎÑrÊÊ>J‡‰‹ˆè¾å'䦶ڭvcOw¡ >À›@0¨C‘„@fÕ§Õ¸¦FÒ¶uoµµòf³¹0«R]'‘¼\ -FåƒèÚU…¸†–PéjkeãDp:"@jk=2Xƒ¯ƒc´è‰pQX’áÀ ÖÙYìv€Ä›O:€‡,.üþ˜ @$y¢ê? ÿ×=QâŸ3ÛXÆpéVeÕ¶êL g -‡ŠSÚ踵¤C:g´ÈëwVQçõÒ—Š-PZ[žVè'Ò mÿRm{ —ÍÉ P?Õ à¥ÕÌ´Õ¸¬¯gY=>Ÿâûµ¯ ,Gæ8: -@OQõé§Ãúƒdø_˜Ø€§ð$•óGdhxâ(€}Ž¿DGU:"~BµÃý -ÀÐà!sW®ŒY>z¯±Ø(ç¥ÿ$ˆM=ŽÿÖìtKb#9Ì!`‘¶¿Œ%ž³ ÇÓå >$”}/`ˆSÆ møˆýH÷ÄQ¨|#¸.XŒÿ~ó#†àca–hÉ`„ge‰ Àà]€-'x°eh¬škÌÊ+)òÀU_ ×nííÝ—vÜœÅÎÞhí‚Wß7EZ÷A£û­pbÃ^­Û‚?4fÉ'pH”`V@O_¹×ÞkuéYçÁô6Õ'ðî'ÎãV¶¦¸ ªá3–0¯Cǃy}óŽ#H÷7yêVÈfq–ÜT™èÔHý Ò²·‰ë'6`÷Ý )õº£=p_‚òÎÁuO7”@S0é¶aÎ¥PÖäîúù»ÀC¸vùzÆOn_›UVÊCê¿ê¹v‰Y´£ú/à‚¹à¾-~ Öï©ù÷Ì¥tF5m}pG¤ ‡ eFyÌåå@ ©Íü Ç FŽÆCþø{µè»'ŠÿS±Lž…Tz•ÕR%ËæïôýÏ/ÅI¸¢-̹¤%´#ÅÀØÏOúV«™ ÝÒuKÿPø¦@ÉoÆWÊ¥™éi" ÛzÝ/OWL–‰Ö ú“l €`!çÔg#n$àd™œ¹*}¹òr22H/Ì·D.<} çíùñÕk A­Ïs!o=ëׯ”ë™ -bT„nå+zóÙ…/H~A”¸–ß¼YËæ!BqZ ÓÉÖ¾Þ}J^½ -$_O¸K+ -o?,ë!èš~Vž{Em̈>ÄÞJ¨ºl¬oe7¿vÜKˆ«%5©VT‘úÕÝO­`µ5‡Õn‰^ÎJ••˼”}!¢÷>«43qm}7ù:fµ«ÌUÖR ©gc'À©9ŸõÖËŸ“½vLDw·V]«Ôv¯äÝ:+…yP‘¼wº|gcS¨¿… @ »}ŽÄpvɰ)¯ý¢‹Þü ’ªŽ$Œ>Qþ—´Șàq>¿é(€§ˆ ˆO>7Nð’€°™O‚ý‡ß½›ewkÈÿÚúëg‹Àóc>ƒ¹ôw~Ä@X,:ì¦>‚ÿÆu =€8` }wÞâ/@„¼ô™]%%6ž;gF:سÀ¬Äj×>~wC¨\§ýË6ÍÅÿehi™pÔ’ç\Ò€ÿ!ár/G ’x¼À-ü/.èŸë‰þ-õϹµQ¹xöìÔÅåÊêF¶ºRÉîê•B ªØ¢+àõ©w<ïÃõ°Å˜±ž=Ê^©b  ²2ÿ¬€ÔBƒp­F5 ï.ñù[aG¯Ýœ«Ú­ÕíœMm„¢þ_a„Ñ™ÐæzàFðnUý1&€©‹`ʱÔne놂`¸À<ÄT&ñýSfÑ °•o~¸K îYº9û‘`W»R¥×Ö"ŒCÞtZ/²¼œõ{`øfÎÝ+YØ›ÕòéJef>Üÿè†lÌ„x½Pcðí[HjÏ$ÙŠqWÈ%*Rݽ7WWE”WUô¢Ö\dkcɬE×leâÚx™¨ØªÒÍÊýŸŽ¡€ºXtREVì»uB¸¦ˆÍ«•<Ù/Ê_SáüŸ™šœÐ¹¤Šà9¸±‘ßSQ½oÛØÀÑQÙí×ê^S}T~ЉDcP‘Þ'ýƒS>‘ðµ×¾ À  À݃ÛôwxÜ@+Îh8Å`Tz¹ÊHµ.$ÁôcÅʼ‡>|øî[€§ˆ *`@>" çÇehК¼N°ÞOõö‘‚œýý=ÛµÚä§Úr8Éàpdï’qSCÆñÜO zæí£Hî'‘ÀFÎIÜë‚3fpäÌиë«$60ÞØ8Ä÷/(G´ -¼ÖTøe<Âô¾FÒžÐ:€´Êð±¤w8—Ã'tM@8øûŽj&å148ë?¶Þ¨ˆ®é¢>Î -G‰Ï£é°Æ^ÞÆ --àî,Ð….Þ°—¦¯}–ëZÂó Û Ý€Õ¨°ƒòÚlv>h¢ÜâùO¢˜f‡-á$ñz„Šiâ -Táû»8Kµ¤ÜãD/ÆÑºÏ8­]zÚª‡çR ºo -ÊfÕH(ä`ÞÎŽ¶“ùMÝ7‰R&­<اƒBUÔQ]"¤Ai§ã^p9D;4:{{Í= ´÷Ú.éZ¸G4h^!2 -•m·%Æ‚.®2í °ØÀµÂE©@?%~jÝDûÚŽ2s¸å.If!UJÑŽ‰‚H$BµË]%Íæ÷Ä0,˜ ±#ÐN.€1`ÜÀ…À÷ -/÷øéà•ÿxO!¼.7–/Nžš¹µ¼ººq ů>_íY_œô:w§µõGþcCü‚H²ÏGÐ@tÂ,S“¬p`þþ©É3g¥¯?þÏœ¹4#àÁþ_ñ¼t/ –DVö/*cs -,SfÎ1Ï<ì{‚í|\¾3çqxÕWu÷êrïy9’„ ï?9)JП¯ÔffðŒÀT¯‹PÁ·6j›¯Âæõ›)=²Ù·±VçËUOÕ¨Šä/U¯~$L"²b?Bö³éÔYvÓH®Miüª¤9ˆá·²•g½•þA¹Ö,Ó³ü³ UÞù¨Zæ-ŸÄa|•@voÂî| «=_žÏ^5M ufrrÞç¨ýÖÆ -‘ µ™)ÕU’<ßì/ý$¿“%›p’­\¼a¤ŽÊktUl`öke À[–ӟ☀QF ‹/jä[û½ý^/•?"Æë£2¦ÆK­ÿM|,ã#’`~L†>™ t?Í `? ÿÔ§ -:€š®Vwô¿ Å‡ol~í¤Q,ŽZFF¤¦.áþÕà?k‚ñï­SìzøAgí~ùËú§åXÐ! °3‡•ù`ÊœþÞïpY|à”QýCċٯ{‹ñCþA ½ßGƒð>g…ŒäÞàИ€2q@˜œ4ð?7pXÅ.nÏ - -þ&¼äH%o(µj"l•š‹ í¶`Åßjù~Ë]ó -Ð|£¡i£5ñù;Bþnã2ññ­d -…r"$hÅ=Ý 4ÂØ( øÕqtR¡ÒeÁ~³ÕÚ»¿×z£Ûê`¯m{«û§Ýv·sïÅv³)Þbú¡ò¤‡öTÝuµâ/n3À@@í„êÕš(ÄJÝÚ~£…G¤Rè~T³E0·Í˜G1EL«ÝÒm‰aÝ'o!7¡÷î·„úÍY&pŽÇ¼Áõ¥r¶îMåôAcA*½n¾ùñ‰ño­ ˆ6·ß. -ž‘ã<•ŽHU -“RR1`Ì ÌŽÀŸò9I ?ÂÙ…E½ŸðÑ+"žÕDÂ`ucóÑÆú«óÕCóus£¼­^Å­ß}ùî++xá ’*¥ù󶄸Q©|Ó;"t ”„OåJ¹~óù•ð˜,K÷ÇXú½ð_œ¥Kë)Lg'/Ú äTpv‹4î6IHÂËðö²»Ò$itÁÌyw(ÇgÎøÎÂÌ!•^sg÷‡ÚŽ |ô0p48(gÖ»-œ¯‹ô"dA³NWægúx!Ø A²±i‡÷@˼¶T¢2p{D|Uˆ3XT¤¼k6@g:1˜lGm픫ŒÔwç ûâ`UÇâÉó—k==®ƒ¼¾[®³²!‚9­T0Ò¯–³»qºC¯GE<ÇQ©¯Öêµç³W PºxS0#Â…+‚n*ÏÊ"q™Zð×Ï]*}½ïê»y5;4"$8@„SÅÀoÀïU¶"@r<æ@~?:õE}BˆCÜëµ;& ­O+óC€`ÌÀ ’>iÀomxû¸  à‚tŠèvÕ\ú»ZÇq<Àߘ -àÊñQzE âøAñ,è…P¶Øy\ÿ×JÌ@<Ã8Ñ{¾ ÛÑ×÷¶ÞKœ„¯Sœq&öÕá8ÂúGä±~dqâ(ÀÀˆ>oó^öÐ_’öhï0`Ð/ðâ-™*«‚HÈRh00ÉÀ $‰ü3ˆ‡­ ùÚ7}Öi̺ÿ94ç¦èõm´…NÂ~æÔÎïwñåk½2‚¢bÇ$‚;­¦ðY`%EìV"ç@€îREâ`2ÂÇR÷‚g·fwçò"}\ÓÝn1-°µ;; Ûvahc¯{ÿ/ÿ‹ànÂ>Õ¦!ÚCçn„Xì‡j"]EkÑnÂzfVµÝHÂæŽX7ÔÚStLUët÷:]ØŒÒIï6»Í& æ¾øÒܧ3D§ïv[Xì/˜Ë-ÙÙPTƒ¶Ôên}µÊlËxcì5w>¹ Gã - :,h‘æë ‘€…ÈEC<@ûâ2M¥]T©º­b€°øá³æï`Ì`ô÷_ç$ýþ3 “õñ„Äõʥɳ3—–—WWõúY¿¶TÆ8­W8Î;È:º¨ß܉Äa "{eå0@µR™`¸Ÿ±$³Ö\Âi /À™y;°—ËYùùè°qþ®rË"`¿Ø€H=m§g Àž9ëa€7LÎ,×n¯Þ¾Íð;àÃï°–Ú«}0)Ø€`ÊÐcÞ£3öë#¶àÂ@›J!͵œõh¦«·z‡[=)®ýÚÌò¼”üA¢–3ÜU -ó 8©¦f% ^—ÖNÙì©Õ?® €¤ì„«z.ýù‘³ÈËÄrô†¬÷hk)[©%Ü•hck«—mlÖ^5m€Pñ‚åÕÆ±oã‘{\dV«Wsò„.A¢Î=#RG2å´±U+ïãÝ?· ²•míæÕú·v{pB`"¹X‚ç:öYÅëoË^¤öêI>,¿à·ÿ½ˆÑx’$À.ä‹ú¸ ÀÐvpÚ(€S,¿¥@²Ð,nS¥v×>zœu«úþ ¾ðŽÏ -`œFþkú÷Þ´{%Á Ý=»ÅbÏ‰Ì -$±k7eõuP? Ù>Á@àØ("ÓñÞ-|À}ýj~Ðûžx€v°€º×ˆ³Ž Ò‘`‹¿ÊÚ , -€p®Óè˜/×%¨â]ÆßX|½)ºyY¼°ƒ:&¸·wf…ÀÒPß”ú+Ȥ#@ à>°ÖzSÇ]ú"áu…•RüEðÀYO:ìsÄëu>ºðO…©ÄÏ_ÄI^Gqµ‡;µ‡ïF¥ãòÖm\^bÍàþ^‹)zU*ª°§ ðÂEZR¼E¥°¶Ã$$Í®hÇžýüÙT¯¨¨O‹é·' n)ï¶4{*Âάà¸{_à.U¾»ç‰ü”W›œÑÁ»ÖßuˆôØ T3°ZGt_{o¶<¬öc– ¥R&­DT ¼¹Ñî¶ôú¶‰T‰°Å ÷£ë"¢>dM8"åEѺüH 6³ÌwÔn¿‘fxŒ þ$VõãøÏ¾$vð4›þ/t€©K Y_—vøÙþQü6ÖyCÊ/ ”T­M½pÆâ_—ÿe^÷¢ÿwª‡ÂÁ|­²B_ÿMÀšGÏ#¨à%FÅÙP)U²¥é²0źN -û­¦ÿ—’£žÿ‚`ú3÷NNÅ ýgÎÿ‘Ó8@é6ÎðRW¥Àº°|ûÖ2A£`ç .ȸ à'‡–¤Åf‡Y¾DØZ@Ú‡ˆ‹\ (QË.Õ•4θ™Xåû?ùC^oyyz~>ሻÈu™ôpP"uˆ€v{çµ/ÕŽàäÊi#_©® IÞ¿›—™‰@…ª½¹%DODHnóÙ~ÄþÓu*…K”ß§½U£×û¼V.W³­Íxíêñmmíoº"ÒÛ2ÉûoOêƒ?è8°õh©vÈ­“+!ƒ_ -èQ -€Qtéó‡qX+÷±q¸&:¦|èåï}zp°¿µuÐû¼ºVÍû©*ÂÝ“üdQóÒñ ÐÇΈÀãF<>à}ò­°œÊŽq€ÉmØ/â }ÆãŒX,¿…`Är²µßcL©žåüZ:4ZÅP›õ6ËÕ;ÚÈÿ¼›Çò³ÀÝÚ=Âþ$Ýߟoøa®xb€ã£ÂÀBÒ¸âoüyÆŒÃO"í>€-¤Ó¾pÛǸŠ+Šn%Á®ƒcyäó{± -Ü"lÎô`Ⱦúå±QÂ]üÖA^Ä,¼ÈéåîòH íDj¢^ñbñæ¶è¢Á†ò;n L¶˜Ä—È{9D°­åëÛ¯ v‹Ž€¿Ó¤j¸ÈµÅŒö ;-©â­ÚûSe!?Ãè@BÙ¹\æá×y€2ncï/ÿr§smVž·uÕ³ßÒYÐX˜åØŸøbÒ žwZb#âÒÿ»àþŸªúÛ}PmP•g®Ž…­û{oˆ“l‹cPªÔiÝ,f‚EÝËÂB§!ÞøCÇfzpßâÂ_îx¦f?Üív:³JØ–ÎßÞÛn -ø‹ÝIžÓð‰p›Àü.iŠì½¹'ÒØ§Ñz£»Pûçm vÖuz³ M5€n _]½w~ýnÌK Œ‚‡hw;ªNê€âìµ YÀþO‘@.šÛ‹ ¯ï4öôLw°—€ðWð€b õSÿç=^xnnm¬–Ο׋\@/ü?:xT®~ÿ·é­iŽne@¯d.IŽVÆ« ý÷Wk LZD ÑÖF¿€U[ƒDg€ôÂú͹R®-÷Õ²Z»j‰ŽN?ÀEáô”:{jjò"æÿÉɳ‚êǘ&‚ VK~k"ÊãÂò­Û"åŽy·‚)€K`Œ`^}òzm׋û»KõG~˜Z8Ïÿ[?ûÈT¾G®—ëŸj-É}®åG4Tž|zøèÓÃÞ~i¢|ÁH,ÁßÏ{‡ZåýzžIµª–ëuæåË7÷•*ßìZYY«€<ÿüó~ÙñýÉÅyUä“ÃÝ]Å;QWêÕO8öÍ2‹Ñ£GýþõŠ­½–oˆŠ|ú7‡‡ýµ¥/àETàA¿ÏDÄý•—2PAº^Çáºå㊨è¼ÿùçÙÒ:åÒ2µkóÙ¡°Q"÷Ò³3ª%‰ïŠÊ|Z_ʘã ý÷¾òçvóü³ƒO?ýÉOûÕ§F-T¾tø¼ MÝ_?ÿèÄO¾ñÚVö†àÖ€ž€?Uÿ¹ò³ŽËúé-P¦ý^ïq@’`û‹Åx» O7 -à À T·œ};îM²™ï÷áçýÚ•"‚G!AûÜ*Yowi%ï £AxZå1ÂÿNøˆ~mndJ@}æøÆü Àø(€Àû*}ãÄQ%påL†øÿUéáŒÜ ÀÀ¬Æ tç“@ÇÅè'Ї`„H¢:MVãØ?Á`dVè$ð =„ô»ùtð `aÖÓñâ~Ã@« ÌÚ’ÈÀWÄ7”»E>yŠÍ¶°ðÇ‹ -£xf¹CíW>³ ª.–sM‰Àx¦èvñÇ3Û°ùàÍ7ï«dšŠ°ª²Nîu§­¦ -Cïtg;í7-H€0V¸¥ t[‚3ãÚ¨²E¯8êv³ƒê-Íy§}ÿþ}]t¿½s_maÑÙ¾¼`ŸB7СöëYFÆ?Dc¡E³Ì7Ð…í©´…´ñ½ncñƒZØýé‰P lØ™ÅÏOG»{"ª½˜ƒŽJ7yQFº€¹ûvÇ•ÕYøßmuõPf·1R4Õj -%hŠË´Ÿ›Uvn³œ¢µsþ‘?!‚r‹ÒÅBÚ]5c28‚PKO…4z>>(º„µ -ÔÔÓáU»Œ  §(Ÿ@ýÃã½ÈûÙïå½þOú·¦&/ݺ]ë÷>ûûµ¬ÿè3½õzÎõ2ìÑ-úI~Ø'Üï³ÿãPú\®L›§üÍO>¯çýŸÔ*ÕìÃC¦þÓ#.8©ðï½ -¾õ+åÒ %ìgîçµ¥¹¥J=‹~í£Ñ²u‘õåܾû«5©—Bé‹Z]ª, ±—+¥KŒ839uVÐ 8%"àÙõ^_o¹º_-zÕáî°iKÀV“~€ -áŠÜÃ0u±tæüÔ%òúWgŸyæì;w^ÑçêüÕ¹¥«W—––¾õÿáìÿžÛÊ®s]X]•’ÝíQŸè¦n¢ŽÓǤĠ *T¥¨M¨)"MÔ„z…M7@Dë&¾Ú¨oãžìJ*ºðß°9°š¶³aí]ôÖ9çBöEï]•¿ê{ž1@¢Ôò õsþ\k¾ïsÌ9+››õzZqÅ|U«ø{°YY¿Éõ›lV7ëÿX¯?XÀQ°ÿ»^Eˆbñ#$îò»bÀwpWÅÛDlÕ‘;ïjL\¾^ß¼Y©Þ¢•½ i.{ ˜®¦XI«3­?¨l®ÔIRl×ë›$g“”Ô­‚ÆÖÏ\^s¹RIWTÙ©?p§´Ò# á¤9ˆ„¬l²UßäÄ-#!ÁÜÍÍËËË7t¹Z_6”?\žŸw±ÆK—®ÌWÈš¡oV6oŒeù1D2%ÒtE“ÿþ‹Lq¹ù©š‹äâÏ­pp m4ÊÂ¿Øæi<] @\9ïà'Î]høN0ñø ñ³/v§!‡„õ#ÉÃQ³r§™m5>m促°Ý\®þ{¬ù|p0*p?Y  òÏJùg„ȈÙ(ay)Jö -ÇD˜ê·¶ÐÚ-˜(¯ ›eÁ‘áÓêæ®>Û}°÷ÆðÉå›ÝTÙ÷3áP€´ñ7ß1€ Œ}b;kªI‡#¡éOàüÐ5ا?…©ä«Þ{×M Þ¤"ħýäà$÷¢ÿÛ :FÞî£î@ï‚$°?mʇ èÊ|T²`5u ÞTlŶ(zÖðweû’ €t Ö‚F%C@4<#ÐÊ­Þ!:æŽcåny)¼ØÛªåÀ,¥ÓÕžÀäB‚¤þð%»ä0 RNÃ)’À´Ûµ¡7€„p|pøµƒÑÒ)6ýþû:< Ä}ÂÍOô_Ð"á˜y6 ÒQ -ð¢“c81-Þ'®¶Z½¥Rô=ý¡ƒyt1fEú¥Ÿ®F 2½E0wM §ìÐ×¹a¿Ý‡¼„G»'‡$¶×+íB>ä^û(ê BkoÑQƒ¤R×¼ß/wÌÁZ¤XùêµzIº¤vìO„²è-ä­¥B zÄ¿0…Îáä.åP*÷4çtö ©@¯ø L q0P>ž ŸI@üñ5¡¡Î¾å“þ\QvaîòÜW„FZÈãq¥Þ ôÊl\ÔLW×Ã|MÓ,<Ø<—|^Tªõê…+s . +Ûa]…ðug~~aÅal A½ò“••j-®™½ºº¶¶²¶ö±??M>æó óac½K‰ò&€„óo”÷ªDWô“§nûêÇÕÚÚÊ×@V®º!ÏÍ][»ô¾SbΔÍý7kžŒòñ·¡6G¶ý¦ ,‹ìÙ³He‚<{6ú÷,ûÜC¢‰Ïõﮬ|¨ä™kß?B£¿Òñ/Êž’t©áf6nÕCÑ—MqVŒqôªñÀõõ³¦zó·£ã#m}’¶>Ï#Iü‡ò á -AzPϲ ä5ôñ脤°qòÿÜ4ø”SÀÍöoTëOî ×ÀÐÌ3‚#6êuªœ(IÜèÄy¡)×µŸRš}Œ¾y0~p0rƒÝÏGcãÎ>79&ä)ßÙÁ#èG$äßOògŸÔ3!š}šàš ¤I>§€€íÃ/x'³q›cž -+Àÿ ÀQá@`©€/4ȆÓD"ô©c ’åM˜[¬ø¼óltpð³›7×õŒÜçO³Ñï4ÈŒ¦<à €qiqÑaCn;Í“]hì#¢>'Q* @u}×~!!> ùMâ³9õ`óó÷gûâëoÏXN}^›`v-€(艉ãoÿåè³O]À¿(.' ×ÙÓ/ÜÇ šø  B/'àHºÛez‹ðκÄßÛü.EO÷» üØ óI-ï)–‘b/B /=½¦ó¦fütǼ%@R ýÁé@€¯Å¿®Ñ*ÈãåbP†s­P‡p2ìê·¦Üs"Áv©ÔÞ¢â+t‚ÚøS*EAˆF ¼úÍÍëö¢YÞ¼yk¥Z¿y³r‡ó* SY¹…jxgeåÖ[ª…j†ËjË˨¦(ˆüÏÖûól&-rUÑ=~¯\™Ÿÿ‰[^ø7ó?™ÿɇ?¹reáÃåXª—Ós^á–Ÿ´ðûç—ìY©.ÿ‡¸A )Ü9"!LWþþE'ŽªÃ#kL{F#˜¿8æÇÀvÛ,$g[ÚáÅâœ6yÇvÝ“OÙŽŸïÒrnìÖV›"à ‘]w#ÄGö*È@‰¼Y5Ø:ÁÝh'Â>²j¤vÄñüÀ::бn’Óv¼ÞÌd H !‚û;O#Uùn>ÛÉ04ëÙh˜;ûï#B:­4Ç2€À`Û¸…„üw~Ó†Ô:s¯óôä¨×sÛéÆAùÙ0ÛØØ¸·¶pã®æe8ª{ ê§& PHQXjñ£ë‡Çãfôç;º.ËŸFËÏŠ„\, N4$ÙW¾c@² üy>_¿ ÀÛM™Ð¯S\.ÆÌˆÊ …†ê$ À³#‹ãààw£ß%ýî ¡‡'Ég‰{Ù΢ €zH>ÅC”Rµ³c^ - ÀNu3' @øž¾>æŒ7vŠýů?üW.Z 9ï@šÏV}Æâ?X[Á„ó„þÉD¿qTôN ÙÂ=’² ,Á!¦ª¿ár €û„ûàÆšbô`_}Ó¾ü‡‹·­ñéǦœ6½hzmÜCa¤Ø+rRÙpœñ&›üÇ ±ïq:úÂ`§8ª­x"&Ñ-ТÅ.*6Aµ5×*w»‹åî^œ7†à@õ½H2ÜEèS«>„çèU€86M§õCÍð-]z‡ƒn»üQ7tZÕlY€àæ€EØCdÄÁC¤wxø¤˜¸—d·KK”¦‘ô-Ç:{_¼Cß'CìD7@§•8ëìšZYB§Û=,}ÔŽÌlF¼ð”îàPÍ¿/]#2î$¬%mý ('Ðß>}”þÌ¡ÛuRD¢;$( Cÿ°|ûˆc¼GÇÀ¢Ó°”T| -ÜÍ<[`1ío‹ô „àŽDôúûKZG\Èѯøw~A½ã4•¦-oN³·ÝØØÈ¶—÷ÞñB^[n~$-æÐÿ={DYiT˜œ¢q&¿>æ+ÓAObÂhû‹!˜ŸRšÕ­ÉVB$À†ÛoAŸ„磧p Ú\S#T+/8Äd‹ZóEõQ½º£6Í>"j’Ò‘ŸÛB¹µLïë^yﮃ5Öj÷‹Z=ˆá1 &!ÉI¨ÔyþªY€€#Â#µ\?æåõ¢Oôü;€!$ @Z °3+É™9neý¿µ„@xe¾QÒÄŠÛÛ;¼‹' ëj¸)kH`NÙrY2ÄãaMOOéHç&2ý··~Æc=Ö^Œvj Wî7v†Ç'/¾ýÓñËWÇy3[¯jˆÎžÑLGãßwwPÞÐ@ÑB´5ç¡—þnt4:z*K@•{˜ ´kÕJµ‘_ñ’«¨pÓNã^m[nAìÒ°°ùñü§Ù1ùmLí~-Û O@@FϽµµ{ºïÝ»\_zÎÁWçæÞ{ÏÕûà  Àí3rín­Q]iêj¹°³Û¨=¸îCC$ 8@Ì x/]6๹o’À‚œ§ŸÚøy¿G•Ê8ò0Ëë©<ì¦ @ú¡³ÿd ?i‚þ,»³¬s]À.¨°¹åÈþfEg¼Ò¹v{{÷çòáð÷Íú˜[¦+æÆö¶kèÓ<'qœþ,R‘Œ¦”!,£íßÝ}ž×Ô™ÅÁ‡Û»• -írä¤þ©&|xħ —¬þ÷G½Ê™ÜZŸê1(1ˆšr¿¶vMç *‰]OeyúWHP"aªHÈËám~ž7DMá|ìdËõ“à å½ýOŽp ¨¿ZŠÕ/P8¨¦Ê’˜Õô«¾M¦>_¾½@œô±è'øAP§”£©@€dX‡Oó<ž±H.$–jþ:þE<‰üIgˆ>b4iÀ£í‰@!ÞBõ“™Ÿ™°¼‹€•ïäÁ³ðHe? Í?~úޝ3€©ççxã(€ô[üiÿ¿”'Í= < :áò•ýøû‚rhü?bëû ´ ¸$]§ à3€©Hþ ?€ Ú -0c˜A>ò¯3›x¤Ø+ÂÐ `iÕùg,… 톤}$9 - Sq†<‰tŽ+4ûí’.íÀš=JèžèRva ôXpt°H ·rzé®Cç2˜è@z u‚?Ø”l–SôöuˆµmøŽ³ç¹„ßcÂ$[1…ÉPïFC&\mâ–.Ú<À'B.ÚµoO¿$ {ˤ»(tKM\—ˆ¯vgÉuú)sª¥×\û¿–—ô]4ɺðß¶»£Nß邲 ¨ý&˜ÿ¾ º²Þ£h$l¤É‰ -à üï‚€=n€è#¸/‘ ¨7OPý[2Ž˜'ˆ ³a_„ë$ @ÜIÑä-, 9ŠpÐYuÃ.‹(ù^]ât‚ýÛüQúíÛ)¹Òä£Õr^€öÞe\^ñÙÛÛ<$]E@:WH¿ Ñ›…·ÑWqû~Z `£±½ûå7*?6dÍõuÁ‡ ±­ -Šp½­Ï©4Å uÇÜxÕjׯ-¬5U«Û¨¼ÒNÌo£b<ç½¼¦þhï|VŸ¯Žœ&§ -öÖª–NÚ«ÿ8ë%pUe}úo4\^¸×¨Í®]›&.´ÿ4¼‰µ”p%¼ìŒÀ|Ú¡Meë€ÂI‘v+Ê q?(®µòã4 “Y«½€F¶ìrßÖ´x¸ýùw0ºS<äö„»‡ ‡ß˜ß?BCn<übRæ4͹•€ò—®æÐN€KÝ31‘BŽÄ]êx”W‡ÞfÛy¶â:†ì 1ŸÖë¶õD  ÆµDt€HÈpøåðçC ÀýF6³qo­ó5ÄÀ/˜íTœ5!eªÙx4d’’—C-»HsKåu @ÂË×d¢úƒú1 ã/ fó­kˆ,B ÿž uäd¹ðÈ/˜p"a °¤´E -~6/YÎû„€Ïë`b˜ùl;àÿ3Ÿ<4Ÿ¸¨"‚iž†#}²‰€yŸHtX\ïîè錀ñÜü›Âíú~Þq-ÊÅ£f,þ¡y/‚Ç7?‘„ÊÈ÷? ÞÇÎ÷@ja›“Øà½Ì@3óÄþl0±©þÿgø$°/l$  É `æ”øI¯„Ö^I;F2DÀ)Æ#v¤#Ú¹N€¿ãHŠ™ T“ÃGT–‡—÷Zv1€;(ÇŠ]ÿí®æj£àýÛÔÔŽý÷ŽÐï†ò p jÌvJß²ƒß¼=r ‡`¯ª¦vï>%P2¡‚¯ ‰tKhäƒÁ¾pÕíÛâ;@Ÿ ê -ü… ŠÎÒ’sµ)ç'aàˆPOJ fB¿½ö¿•KÔ2IÂ|¿ÝrR=²HÙ÷õ‹ÔZ`Bùë ÚKÐ -g$vœ Ì€»ˆ¡Sj;Ä¿G„…ßÐÛïtaDp« fn…Ý¥—P²ˆ·À,Gi’ÖŒ&¸Œ3!y„©˜“0Yå:>Á9•0U{›Ú‰ ©@çN`¤Ùíip¾Ã½=ÇRDáúdÌ+±Ô£ á¿ÜàTˆð»ŠúávíÆå ˆ.B€Öd½:£ñæFÛvÚÂÉç'(äˆ{§ßolá WÖªkÕüçÑ ¦…aA°Âmèk$Tn¬ÍW§sè ŸPºjè“öA(®]wʹ¹¹¿öߨúòÞB­Q]ž„šÄQ€†,ò«õ+þ û€Xè2Ú¿Ÿ×,(™¡XjÙì<ÜÎë›3Å“wñ ¹Àxfw–ŸA)R™£$ùÙ*,Ò‰Dvƒ|) ÆY €PÃgÎŒ †-픉¡ÊÚð<ÿ8Y:¶{p«Â^ªIJ‡ûˆ´Vÿ4¯WOŒ#Uñ'aÐñåp÷¸S"]`¸›,4ì¹h§$2BôÎ$‘òrèÜùîñ£ÆˆV>M‹°“-oJŠœœnsΉ‰`‡²O"ßlj5BéM3rîB €¥ñV™Î°»û¥3"¼I(I#i A™¼\à°~€øÿ»ÿ_û…X†ÎëH4p¾ƒxG,‹} àÔÀÂá* @”Š&”©€i‹€'Ï’GðsWŒ8ýð÷·ËYfçHI ž5ÕÄáô- ˆ=þ@ß4ü¯æØ üghŸ€£³KbX@€´ÿ×ø¼Áp±@AhàýùôWîO?¢c4ã!"E·Rìþ ¥édaˆ{ -@ûŠGb`9·¿/h jëŽ*¢Ø±C@vx95?ð" XL½û|§ð °°»?¦Æsœ]ùPÜÞz  cDö –à‰Ë¬9Jž;¼½ÏÝ]@ˆ¬¢£¶‹·ÝÃÃnµºlga£«z]ËÆƒôêºà›)JÒ¦PµRt´ìö¿jQØ€.éaö@ohþÿæ’†²SÁ§Ûn’œ_‡¡=QÈÚê-î¾aô[d&º4ZµúNç#8 -7Ûg°¯ï=×¶ÈiÉÅþc]ãF@ˆíÅèÿØ×5€P£h õ:­ÕÕ@çŽKð€ˆì¶âíྔÂ_jiÐ":§)šˆÿÀÿ= b6›Ôr+l, ñ=åce O ñ ¨åǦµ)þ þé{– úýA¼Ço‘Ïx!%sï]]¸[s ¡Ígò¬Rq’Ú¤"“ñ©œo·S‹Õ¸17·P«Uª1A… ì£ÖßôbrÿI>¿–‡Ryï>(}÷® àÇ °¶à´ý0€…k—æ®_ž ÓÿwÉÂýFm¡Þàv6lg”X\uÃpu!&‚Äò‚aàKÅä=ÎÖ‡4åY)˜ZàÍ›VW$?"çÉàŒ@Å{£ñ)›ZÙ° kå™@Àîë]TŒ½.ë© ;µ() 6Dg6ííÔÀ]Zà7QˤàÓz]â&€›XƒœZLJa(fW¶†îÇÊ -S Àvöô¬€–þ¼`ÒúxGxÁÎù©½ÿ ôŸ±Ä<ãÑb…rÆP(»qʯ?ËÄ™'>o!€Ý_Fv!ã»8¼føÿ¾Á€O³Y@¿àRs>gÅ—QÍ:65P¿2 @Œ¸h€¢TØ(,ß°÷V€ˆ•DÏø¤ü@þô]L pñ(€×-oÀ7¿ñ àò„½þJù¡ñ_ùñ•'”+½Œ@¸²Àå·³xG:b¨NtÞîzƒÀ”þÇ_ÿá0û) £hÝ ±1GнiˆÕo§¢ŽŽ÷{Gì#Ë­'8ìw[—öÎîHåÕ·ûý^Ÿ$L§ -" ±<„ôBžC²™lbÐ{Òý4 „äÓ½òŠøÕKU[ÏôÂNÐfÐXáƒ6:mxu‚]^g(DÑ%%_;ÿRƒÙzûýª~êŒω”- ýÈ™sèw…zËÐr#nÇÍw˨ãŽGH³€Ì©Èû%¹ô¨,Ž -Õİ¿ï¢Eò€cÈÅk\íä}0µó_ä:‡v¸KSÇ]¿§œì‰`§í<š(ŠðH´/ä_JKMý^Ë9¹Á\• ±…б»ÁšáŸ2‚ôÛ 5Õ@mO@·üé¤H¨­vO/@xMwoÏÎ+Kø«@¢3ð_Ö+²ÛIÍõÄw›†@pé`ccûËaÑdyµêï‰ÖÀNÍBK,d2—½  ¦{ÝZu¥ú‡ÿ=Ìw¶·76>¹6jwo¬ÝeñÁ–2W¯¬©«ßó@èÿ¢þÚ݇ªì7œµïú -×IŸ€¹Àéèß$×7õåš3æ+„f¨„{caÖ û_L*4Qþ 8Y …`Ò¥=c(`zêPð£°vÛ bsøPÚ³=µ|Ê©ä²Uø|ªàÑ뀟€¬þœ’>ã@ʧHÏøN€§LäHšÚ©@ €°å-Qd3,-(,š"´ÌúPY¯ù€ES€Â`„oò’„ àBT1;ÙÍè˜dåœD½ÿ _ìj˜t¯[ÒL€¡P^`xÐü_t €ï¶lĹô}ÀE£ÂÃ'“¤›£›ˆßˆ…ƒ²2¿Œ(6­¿ˆ‘È'>gæðW£f|ryùööoš Ðøâ7|êæÑö£”»›ëŠúóI?ŒH?ïÉ?cª‰Ëâ{Âüûb -Øà#"ÉBGíïÿŽþ 0Û;à/8€6€×d¢ÿ¿£À„šb7è}Ú 0‹þ¶Í3¯™ -Pì$!€}¤`©3ë0aE`AÊ…“ ‹æ«D†½Yì/”V -M{ìKPSA;ÕDƒŒÞ~6cÿqyðd°o¯tÇõøä aGpû ŸœîEݤÆöCS7õB¸kê”ѶAÞ_ ~¡Þí—ÊݾFksdñ‡ÂÜÿEwJòäPã·“õ´â(·Öb˜Boçˆ1ñ×k-–ÐÉÉØoQKz¦’®ë‰ª‡dü7*Ç ¨ ß&köñC -‡îísÔ”Ég`>.[äØó÷ÿ¹ã¼ƒÄ@=yÐnнÎ×¥?ï×ò@2¢<÷ŽàÒÉÎÜgáÈŠ`"$‚Êèþk¯‡/eØ[ÂTΑ¥äÉ[úû0 ³;°c¤ß/u»ð(o£hÃ@j¨æ°Mìm».Ú]`Ÿšã’œýc“¯S_Ź$vX3[o_u›˜{7æÞ»vð•ï³Ôgõ S1§Ì©¤]ªÂ…¼ph”&‹þ¬TP8¶†ÛÂ;çœ{°Øð=ݱþaÃ]áß‚„ÿlh H @7€k €ëaˆN€·Éå…Z¶¶BûIÄQ¬\„¬þï4à W‹å/_žCó× - \¾¤à›·ù$œ>gyý'¸ë’ÿú ÅàÂÚXE€s€D†¿oÔ<€ã\ÈvÞ¨¬4s£ÍòñÁAàJ(aÙïnf£©ÉUPÜ«ùË£ìÔ÷g+•cvØ£Þ>­ÛQXÖÇšo°A†ˆêÊ W2B_ßÕÔ |€|‘™© -+]­ô°?n6žs¿žÉðfíÿüÇGc@!1 - èPÎX_I_ïj8stÆ@:t±$iÐEð3×_àðÚ<§€„ÿ§…Q ž1&¿¶“ÀGŒ0;@”yJ¥¢À.€`–ÊEbtç}Š  -ÈOøH.‘ýù£ø3¡¼|NeÈ?J€ïÖöü VüÓØ7ÅŽ%¸²XØâH!nMôÿwô˜€4€¾ pÞ&$‡Ðô'@‘b/ð_|]ÿ?Z› pÎ7܆ à<þûè«$Æs*¨¨ô¼:±'UÌ1[ÚüíkÖ™ „X-óW:^ÿ°¥3ú)z)IŽþí”|ÃU£5TW‹S|‰1Ð tËr¬o¿Øo9¯—ì`8—’»î’ë’`;Pè]Š×àtŠi‹ÄÃü•?Òþq@>â|Üèwÿ°SÚ#ÍÁ|ú½¸?éÛ ˜Ø í@75íýÎR©‡µÍß.tóòjùI!·˜ü¶©K“€Q£#:A´í -á"Y¸}û6boÐ)Q•ýÃÞª£ˆÕI3ŒRîi’ÑûŸ ö9:€§éìЇc(Lï'>ˆ£u Ó~#y¾»€ó>hú ŸRÀÿ›|Žð¦à8•¤ ®ÜBצȳg‰Tœ^\9ÝÊF'¹M)éöîhK(É Ü^h˜ø´ÄS €SÕ'䆰ÁÔ÷P,ãÀsÝE&3Ìׄ¬Óg<!ª×?ÓQBöNá˜2~N¼:WVôü׳éj€MçY fÐâõQEO°ò®>³GÏú¼Öï5³J"w~™b•ýÉË;ÎPXÒ=HŠP €ï“±øöX¤…ÍŸ¯•Ñ' €7Ïhkòθرûp!‘|Rîvò4 ðy2Ð3FœŸà­£Ò_\ÇßTæ?,qˆßDÜüÞߦyo¿w)/Ë8)þSçä-6€×ýN @ -p–È_|hÿS,n$«Ä…†¨¢àÔ0îI 6#° åò>š´€m·4¡‘–@%ck¡¸:ݪ©sè•£;ü%`aiq)z£$¢õäð àÜ.kÐJ¯±;TòÂE%DÓ7’4Ëv¯=Ðf¾×éüB§½~ÐqŽÜ®nx‘Ï~gšjpaeŸ` _¼W^*»rˆªü¬.—´æ ¡à°ÑòA:Z„Òï,A$8èÉ|Û›`>¡&ž r%è]¦}©UðÕkè:FÔãšòí¤Ÿ(÷¾&ÅF×èb\Ä.ܗܹ!gè©Ñ;ßBÙA„Ñ…Ò±þƒ(™ ïî–W¹<P -Ó5= :±Øω£4ú–EìHÙ„úvwB^¢òV…u’ž µüxF|R¨à„þçà?u(}üâO *ƽë—/]½qOb{èAþšY%€–ȸìT\ê?$Í·‡®Rׯ/øAXÖÖ+š)ÀnCŸÀõ…µ»qÃTÕùÚ‘½ÿ u‚èð+¿q÷¾P[7@Àµdx7ÀBmkmY’áBÃáh0 :a¿è?÷Þû—ÓÈ‚dp ø­¿YP¾s€‰@áñö&€ªetƒÕ0AÈ |¾”ˆ¡!k1Á6`¥ùT3La¸©àia†@Ejb˜†cëþY²>`ÿ ÀE>ÿõ×,ÓÑe;S @¡XŒ<$Ðéc£uDYµ9ùùÛ|ŒbûŸœ û§°«“ƒ+v¼Ù0ͽÿïfàèiÀì<< V‘¤³B=o ’&7¼ó<aH…ðxOR;µX9¦ßÒ3V7Ï[ÎøDåO¤èðhX¾Éÿé‹7û¤8ƒ¼æ°“çi$@ÁÎZfGøuÎàkÌ JåNÀ;Ûâôïÿƒ€çï£ÿ_â]0€}ð¿@ëâÆÔgùŸ‘´s‘  ¸ñ¼À~p) )Iñ;Á?b³|úI ýk£ð“$Ñ·‚ˆÕSá* -QÁ¥Á_]µóøßöa1^ P0. NŽöQ,ùlØWKå’"†æ-…!¼íäù‡‡û÷¡W³8é§Â­2«¦€PzÙjÄd€ëúÝ=ÔûÞ fÆ·\µ‡ËH9ßÑSßÿJ+CÙa håP F ys!…DÒä@& Ìívi±´›‚.Šw?­bÌ!!±HÌ!ØmÆÀU~œ&€]®é;ÞþÔ  çG öý}­úðâNç£VO‹K(þì’ …›—wž@ @øo„¤ºÞâAðÙ2øó'ŸlÈa¢/ÀóRŒ8ÀÂáª4 -`÷爸‘‹|v uá9áÿÍ0\¼çFøœ5Õ¤Ãñ7Lÿ`LXžqˆ1apB´¶ @q‡*Wb5ÁÉ¡SAñ‹ à¼À,Ð 8ÀŒ#à)ú‹¸´ø‚Lj…AC¢‰ôqgbØwI ½’Ä-uÏî' î: ð3ØÈG3|iµu,ëí'g;—Ù‰‘r -à_v~'¨SãGãäÂ}{Ê%ýž,ÂUy¸s2ŸÀ¨@2½÷…¶R MÔ1wòƒnçáO°^ ^ÂfBi•êß×m/é€lÌþíÛ@±ð Λ;²µJú8ÐŒŠ»¸(´ó'èôõØÁ[-ç "jиßX=E-J¶üA«W†_X„1½wÙå±J9r¥àlTzëuV 5¨·y¢ «1iäÜ%ÖHê詽pòwgP†> Z«fܱ/…ò´ÖTŠ­¥2É·–) ¯kIú$K¥vʵt².3Òj‰±î)˼½j—J·Õ^ú¥³(¸ÿñ„UþÅÿ)þO;x.¾‹[w! ¶åªî*öõFs¹’T\õÂØ@Ħ_Iÿ_¯Öœ|_ÑT¹ž|j·î4r¹….È':öGÀúÄ9ŸÚ•è¢ÃJ/öÛõo@Z¹÷úµë×®i¸tõÆå¹÷ Õoã ke縱X«}¼¦ ÉÊ_ó -$óÿ•9Á¿0þ¦[¡@áÐ|çQç}ò7ùeÏB£;o8ïðå¬þoÏ™ó€­æÄàAþ«S€Ç ¤¶t4šZBÝ¢:Ð\_@”þ]hHèÿS ¡˜6’b Œïh° àMJ&>Ÿñ¥ÀdFÞÐ` ^• _²¹›úÿ 3€€oðgÏ\¢ØFÎÌ@2·³£TÏgej8;À,Uûsæ˜ÌìçŠßÆÖy á½mÀ›çH¥ÂÆÄ@Ö¬¢€äs’bô¹ ѯùP"õB?i`mï8 -€÷ã;G¸{û$#,þ¨\à?¬à ~ñ(ë&ýé>(ƒ6|ŽÆŒAq,I±u‘ €Sþ÷¸¤V:‘þ|͸Ì2pƒÖßÖÛ½~gè% ƒŽóñÍ¡ÎrÀ^ýèô{O%²’à<Xáõ[©§a¿ß%—D—pœôüsÌUØEµ…Pb„èfgYÒ$•HØïÐüTP(¹Ñ”`@lÅ»o€=§2"ßjï@ÿ¢N€±Üq\¡Üêq³‹èÿ°Œ%Ø 'gGJCvvï·¨½’/8)ä“*ÀŨ‰%ѸÓ*µã";(J ÛG·g5Ë®¡a̤•ëŒE%¾ùâꜯ‰MùW?&m4…©ø¸ÛØ#Sݽ˜æ±Ý‚Õ,--}/úq¤a‰@äŸ|ÅÑ$ÓŸÔx¥ß ¡d4î-̽wíºëèªgd´=õûæÊt ²%3ˆwlñ©ÓDÄR;±ŽÓí&YO>U”ðGšÁô^Ñà¿ þ˲ê|•Æ =]rã:4 M -pC±¯_»±péõä³ÿvôG®Õê+®5ÿ W‹C„‹ žâÿ_F‚›üÕð€¦¾>ÀY€dxÝ 5ôjw¡x¿Ñ`‚'…L›æw±D»Šþ»;<:õ@8¤ú>lG˜Ô ±æ“@Stʶjy"EÖÒVt-GLg-_씜µ<Ê>½dÞ+ª¤™o^`HXjYþ2ÆÿéÈ1ÍlÈ7] Å뀨(¾Íîë€×|H}a(Fœ€[.$…ÀN‰”Üø™­§?k€‚Ü)“ÒOÅg,TÎ'Ÿlðn¡Ü‰d%ú‘dêpfÄ‹Ó(€Y €§¥ûº µJú%ˆ³>š½–ojþ CÀ…kœÎeuæ³ÅAŸ¿…ýØ‹?¾N1™ÿåJÂÿïýèÊâ¿@óÆ'e=ð;áA\ ÐýthF„ý·ØÎú@Î1€‚àœ @óuí;ˆ“vÄÿ°á;Ðê’ Ä[ -üÊlò;íUšqÍÑ1íÛи•_;4á?ýý `¿¼¤Ó:ؼT€ù)NÒÔ2Ê~çP4üÚ©7KHö£ëÁŽH‚ fÄ~ˆ79ã€!9`§ßîv÷»ýÛ½Û%pÐHLugŸ¨MÎ~­Ü™Û| -Ø -ÄêÈЊÐnWìÒ¾‹ñÈ4„ƒŸüðåá¯ypp ¿FÇ ‹U\_lù°¹j‚¾W)Ú´“ˆÿFUŽƒTV -¹GŸB{R`½Þ¡Å "ï/…";ÑVÐqž}"ˆLÎ2ÝýFDý” !©¾SDKq÷zŽd ˆve%G/:!hŠWB°Ì?™[õ~o5µ0'ÍP€Uv­$^ñL2ÓÐëµ÷âe¾P’b±±¶pùÒÜ -`•å_…ÀRÿ€" ‰¸¤qœ%ª‡ù£ÊJ–oe£qžU——onÖ£““W¯Æ££¼Ò''@oW À‹áŽÞr"ãŽ}ÚR @uŠ™›$0Õ? jn9>-M—Pœ°£×Ÿ2Ù!«ëYì¢qWPSHÌîÄ6ª+™ Ày€”ðøÚξ|‰nJE²8líæ›ÙñV“bâj#DJ"°xkœhÈ)€øMN­Ù;ø+gç0è_寇-äaãóLD™~›Å[Sk¬Ür¥¨ñïž~^Y¾IE5Ç“Š:+»>bÊÔðš@lžòç?‰…—æÍæ3ö‹Jˆ“T¨Ì°ë*—µTm…5ë¬D…ðd¼æ `søâëÿ¸Å?Ÿø©çäé/G£üóÊè÷?ÿ‚€£œwóLÀÓ©‘ù’ìTQæºiZg7§HŽLzN]p;~teM}Æpúàý‚“x`"W -È¿ÈÀIï>ãpEp–|¿‰¶ö©%ö^åŸ 0Ñ]# 6öP*4Q@†®ò› Ð‹K] `ò¾Awà`@D”q -^‡èÃÏAÃÍ÷¿z²og¶ºúçEb´Ú ñs¼¯×€š?Wþû\Ëñ4„+ÓÐsµ_ÒRäÀU}¸ Íš ;{ý‹þ@åVˆpÙ¦Ž C"ÑêG0?Ýð à|h¼ ¿ÃêZ S·ÜíëÀ]Çâ÷;:3 ä ZHI)¡3ŸØ\þˆÐ߈Ç€M äËLü;ÇÝ•} -=;öƒLX"Ój­†‹†yÃíçƒþׇ=»– 5 ×ÑüˆÑý˜PØ7|9BÎzN÷Wn-•׳ÔVXâ´ ¡ÿ¢äõÀ„¹–¥k•ß6p·Üå *Éz¸±]Þët÷ˆ_°´Z°®#³ š0ÀD&ÄÐëíµã¾Xê[\l~ïÒÂ{Õ'µI”Õ+Õér7ň®Ù–Úƒuñÿ -ýݯ­ZmáÚÕ…Zm¥ÒØ¥Q³깺vïú‚àÂøÏ¿]ëó 5r2ÒÑ×ï¬ÝùQÜ·íÐ ðš6€KsWÅÝ€í·È{׉|A ¿Ôâ.4`"… òþû.,Ðúåþ_\z«ÀÔT[ørÞ+ØÔkó¤û7h`ßæ`jÞ~„ÈÏÁíPÙŒWþã£ü ~k¹R?8ØÊc>bçêÇ6ðÜbjóa}ýh”FBf^ Wbê8`XkÈ'§Ú¿K&Ô0e¡*ÛŠC+^6ªÕl¼ûEJr¤Þþû%J1Î9;JBô6½ÀÀ”B|ñ“¿y›ü¥@ 0:ÁJ``*õ†½ŠÆDŸJ#á³Â5S @ñxÖÀ.€ê©~´ Pô7')xc}HõnSO^sÈnUÆ'Ïò,*êólKlæjÐ:`*°„ó>zÍøK |‡€ƒéþ™|YÒMþpdŒ£æJà -Ì ­¨Ÿ[0äòêf¦…ȤÛBžã+ä>ë¹ËHñÀ¹f,‡ù, ùîs ÀÀyú<Ó¨P’ÃÐèõˆ_oóˆÞxà;| - @`Š’ïf'˜¯«[׿=ö à:Óþzê5']åà G¹‹3æ£êÖ¨ ¨Ü:xvÐ|4=EËllÓàŽ¶ê£ñÐÈh‘wóãÿÌÖÇÇâ»9Iâr@ßr0O1y Aë¬×õ -PðOd<ÎÆÇ±X@¿Ç(xÃÑ‹®ØÈ_=>"sÏ=Iòñ«—ãñˆl€"dVß¿§F’ˆ.m‚+[ÕüDÆB~"ŽùµýEþr´…q*G£—¯6GÇÇù0‡Úx˜¼µ<›–ñË'£ÑñˆÔäGðØÏÑ̈ð¿(†$¦aê0±ÌúÀôÂdaŒóO­FêÇÀc#?ÈwøI5U>Ï£¢r*ê`4Ú9hFEQbçÓ(ƒ¬NʦÄrò„k†2µ|šÕdç…GÃS5Ö'ൢá㨨I=Eúà†.ò8+Ƥy³À¦£LžåÏøósô RóÙÇ™ËNç•]AržÿÝáñ«“*5qtD¹œ¯¨urò|t<$5GSÉ‹_$?EmQX]þGWb€ä ;€.ì†`bì/þÓ±E§ý¸çTfõÿY@º|Ö  ³  0Ì8Î࿸)*&€ àPH`#;ûUT:¶@Õ>µ5·ÊKí0¡» ÐÆ"`Sî=<±O_ Ù½Ó{â‘ý^ÙÅjÅ Ô`÷E‘zº ª‹òžÙ‰Ä"¤TU·k€zß¡cÜ“ÑÞïwYÒRÙí&wöPÝKƒÐõÝC)O™è´o/ÞN&màÌ,(ÛîîK &g4ÄXB -²Ós=œð¥;$ÂÁàëvëðð_¿þzàŒ…èïNæ+" –‰¤¤bü='üÐ=$­ê1Ý^¹üu¹ßê¶d–n9ºEÚ·—PÞ]A ¨‚ôÆ!‹‡ƒÕþ¡³ðöÍ /?pYåÃûz`û‚*i9üúÂa‡L¹T\T¹döÑ#êX˜’ÔX°o‚ˆGaw–:ƒ'asyrø„*1> OP"®³èCäø,Óèÿ°jn«´è¬ ðò˜µL;¬¼˜Q8^ê %×ÞÓ VûDeÜâ}ç•u0<€)š¢PÔ¶ÑX' @¼˜ˆ. ;‡k7®-Üm®T²}Ä÷p.Hãü¼¶¡A¼`ók ½ôkµ Ú+Òt}ˆka¸vã YÄè7s€Ëk;;wVjð{?úøÓP[»q'­ÿ·0_ÌX¸L?._ºüÍ›}( ËááwÌ ÆUH+ùðÈL[4Úbâ:àÅ7übHÛò£*G|þùç™Æe~\(ü%äx>g?{V_®ŒêÍO¶Õ¤Bòq¸þq¶BóÏocwüíxøj·Y?8«mjq \‰ñœv×`³¥»¦ƒ;ätÂøŸ${¤§z3ËŸŸüñä埾ýöå ¨ÒlÂã¡q}È`3Ré|>z>Êõ…ƒYlñÏgË󪄡Š+·vì·`ü½’ÊW³2|9Ê7ÁR"9€9ŒNÆ¿Rƒ~(\H%¼ùÈ„ˆÊ€ˆ3~u2å@ö©øt¿f8çð0;Ê4†/å¶G"O[”Š®[Ùç͆¾³EØVT³>z@E=£¢¸Æ+*‘ P¢ý˪õ,Ÿ11¤‡NJ_´¤˜O,µZ*ñ$£çã“WäɲŒeÍÍ,ê©™­¨o¿ý]ü¹EEQ…p®çQQrÚâ3‰8IzÇ ò5€£lÄYĹÄ>ÍF'©ìÇËãàyÙÎèÕÉðÕ¯òJª(8e5¸´¨sM…Šâ¿HNñ8°úÅ~gÏ%÷¼NÔk÷Û{ƒîªº<Ànþ fV-4Ä5‚âÐïí³íʇðø¥ÑÓ¼B1ÿîÉ“¤XJl[!áÿý[ Àn¾Cø_H¸VV&ÿ• -¿•ê>ë~Ý\®Ôë•[•›ª›^¹¾^߬oÖê̓嬾îͨ˜­›7á3¢ë†áo;@#,ç,µú§T§ÒÈnÍÈ?Álm¥P¹ªºÎïòòƒúúúzÿjµf¦b" 3¢..UN-”ðY €]^G,ñˆEªjõêÍÍ:ù]'ëõ"ŠØV6×S‘ù©px¿”ˆZm“ršM[@Þy€³óè£à×/[Üt*Efbc我=ˆmVoþÍ*ªRyP§Ú¼ŠŠòS/PNUÖUãÏ[ÈnÚ8c¨7RÖâÕl}x([!ªKc ˆŽb!4üãß,{õ䔯TR\ @0€‡<%¯[Žœgb7ršònž¬úÖ³åf<|<5÷«[oÖ77#}“Š¢ÎWÔi†Î|&¨](ón|/,ß÷Œ?øÑ© @ H$ 6 À•^s(äM6€"€S?€‚Ìš¢i P€³6Úz›û¢9Nw#ÿ˜5hëïrƒøoÀ]^®;ǹ$¬÷‚€@À¤çÀ¾u+ã»×kÅø‡–#± -€÷…†¨¡\¥ ûîˆ>êçÄ ŒpÌ ‚pØÖ¶ض£¶¿T"Mý=C"J2jºåUS'ö›~^ÌEȨä5pж[„Å™è@4”û=uzyLô¢kLg5¾#Ê‚ÂQR1–áðß:‡n »Ýö ‘·áADh)(AƒéeR×ve™Ä‚Ëå=Õè”(Òÿ[í»W. „m„ÜÔ'ÒþÀÉþD¢%bÇözp£è"ÐÓ/ªäTZÄÕsi nt¬ …Gú@#›.èH JáÉàI1 -“R'w–¤ÎÂCÃMKTÜ~à¿¥&¹Ú)Ôriqu5æu\¢ÎüÏ ÿ¹Ò¸Çfz_—ôj;ÿeÇèÍIvv³aŽf’“ÐDP!PŠcY}vŸX•Äã:[7ìëo4i^iYÕ_@]à€0`cƒFLq@¾6_ Î6ì…3àOo,ütázj4öû ÷î߸±qïÒÂ=ánîjõ›åòÚöNu¥öhÿ¡ú±~€®DãÏN~]ùvŒ¡rI;Ã}Bÿ·¡.|Š&sÖ y}Vò]ñ?pe¨àÑÔðkwÀ;ƒ),F4¯ñ‰†žV,£œ›õ› „f5áŽÄÿYáÄß.o¦ÍøNBUNfqJßC«4¡ÍVÌêD]† kÞZñr+…P½uçŽ)RÒ¿n-Çv¥Z¯üM¥~c@a5ÒÊmwÊðÿ‘%Þ¦‚½¸ò °ƧÔ}Rù0ÿ›SIññ…cnUni#’JeùÖ2²ÂiöÜŠGN/Ù|0iÛ¬`bªym€¼Ú¾üí¯Su‰¡¡¹4=|%Lð¬¨Í›ÿ (H‘bŠ2›•¾g5uк ¡pRõdùE S w¡¥ËšØà(\èŸ>éè@W Ô_í‘«®%«@OzM ’(;âˆÿí¥ùŽÃû]§GÒ¹NûÜBühà°“'Ü÷M‰àwøaÿp`!‚Ć"gá •)Í2 N>À½†ï¬?ÜqJEb™$uÁ0-po©¬ñF»HÏ2 ?K×… ,Uþ iKå=!_«ÑbÌèÞ -p¶`o¤Àt]²¸`ó §ï§³|8ÖhÇÆ ^öúÿhäZõšÍl<äõGìë;xþ;~4Zºq}“í§üd4βÚ]p¶Q«ÜipqÑžÛ”4jw×jD6Áñˆæ†ÃÕåLÂýÚF–é)0•»k7înl×Ö66î-¼?w÷†]׿®]+ôõ‹enM‹²s™:j$ªV#aY­`×ç ðçi€\åsmÁ­ÀÅ󜀈Ø3>¯ÁÂËýCN-[_þñ €h| 9 ˜­&„"}VݬZc)~Ž_Œ¨§,:ѯƷšu´¿­Æç§Öf‚=o€}®/H½¶µ1µ4³æŠª£ü†gOÉjlÕ€ ÏwiQgÍæAsVÙú\,f¥r¦Ù$>"ÍÆVÓ¤zå#¢ŸZŽÞàå/‡^—ç…90Sf‘%žÍHwšI·™9G•ÆkbÅŠ9jZ÷â@¼ƒü¿Mäs*‘+N}’œ ñp{bøfø¨9ù4š4v[ù)Ÿïþ?ÔÄ™ŠÊ¡Ùèà|EÇ©¢ -žŒ*›àìy€ æÐ`EE/J|¶> ~9úÝÍ_Ž)ïúz­Z.#R$ŠGE=u$OFT•—*ª^ᥞHzG¼còËÖÅ>ÉLm"¿Êí\ùܧ?dôïÿ­^ÉÒCC5QQÙ¿GEÅãàoÓsÁ5ã÷B©PèZü´À£vüè{¨èÉÀÔ'¸/ìÃLo¶D8§6€)xáþŸµHIŠ»hü±c»œLû=çpSR·±zž3Ìqq-:nÒä[í¥ÎŒV·U÷^8<ê?â¨{·)Œ^é뾄„i¿Êš§ŽÖcnÑÁ¼Áá!Ê-Á9±?ñ€¾.©±«­¿Mûù«j}eùŽ6ÇšÁ‰a¯¬ÜYAùÿðÎÂO wîŠáÍ]úË÷ {Â4ØÉÆŽ8ek…ÌX& õÄ h2£I”5C.’<×0À—€Í-K-¯ù(4ÝIv²ÑñxüòÕxøüøø8¯×ŸóÝñItÀï £ß¤p0”×Bài4ðÿhä,-!^ÄûSàJXÂDØùäÔðèVUW¹“ç''/ß3îÑðUÖÈG'' ˆåÍìÕËãÑ«çÑçÎaYöE -#„ÂÝM·NËð€:9ÙÏ ÀgZ†y2Bð9ø!~ží<% Î.h - ˜5ýF©Ç_áHö«_qÀ"°<¢D•N"Á€LÀwøhÐà·¿Öiî¨øäù£ÌÌ@Èòìi>:~õœ{v¨¨/_SQ¿å?«Æ»»b#²k'ø ‰±˜Ù‡døÉŽ^üªZ»Ààý ó±BÉÂÔ¡ù£å&ôÛxŒääääw¦1åûh4zɃIFŠŠ¢ÜF'O›Õƒo_’¾q’ôXs Oä>Î){Iˆ¸6†ùz%|O>ÏžrîZ§µkEYPÈê"IPH˜œVLc¾ÏÎ~.æ?µÈ”xƒ é;@`›(Js¿ÚINkS»:wê÷Ha$ZÖÅ"ôèÀ{ð‰§.A{Ù\X×C¹ ÷öü%×Ú³œìz@Eþy%pÝY°ë'¨ÙÝä›+§âûºvßç.R×?4·¤¶¼D2(‚#Qör”K{ÝriUD7ø ¦¨µZ–Y…8ß)Þ‹‡=Àm¶8&Ô[@òsn7LÐŽro uãcˆ%×É€¸LÛIp µß•u!<΂`2(¬’ë“ðžÞÚ(8‡¥²¾’ WeÔ©Â…fW¢æâÀj©ìŒ VïjL¨$ -0‘sáÐëjn»@nÆ÷<0xéÊü‡±³|«r«rs¹rkY».J— ¯[¶À›Úínݺ™nNò“ùùùŸ¸1å}‚â -®«z釜Y¾ó“+ËWæ®°u*?ùÉòüO®Ì_¹ÂÿóÀ©²éùïïy @Á [µ©ÀAse]GùÓV„ƒêNŠòá‰ó -Ä‘$`åø`süJø<.Ž(IVâMIÔ+‰~b DN-N#ıÂðjÄ}ö>íªýûü=µÐ)~%Õ…©ÖÝ¡æš~¤Iç¦RðžTgŠåäÏÔàÔT3ë0c8NPdùá¤Tvvó”—dJþú7z‘×úTQ3_“ŠRoRxÃð$MûÔ@M98c(ÆãNêdY}¹ž¨O"Iú<"cÃA‰T˜ÊÚK¢7«¿ÿV¼FôÊ+ÎL…€ßæ ©&Tânðaà?ßͪ+3•®ø4Uêƒ{ÑiâÞE²Õ‡Ýg 1 Ú9ȾxÎ0åþEÇò€ó©Lfx³ €K £°Ð*O¤€$À?Ù‚œ (ô`bøç7šº½¥HÉvKh.wú®§¸'ˆ7qšŒ]yˆá$ˆ¼J¬pÃÍUðUu¹ØÉ½%¶#{„5tàG¼ïDzçôFرOöŸô£—\»‚^qÜúêétöV]£ˆáí2ðÂ?êvèØ:§¤?ƒ(Ö¨æÚñ9× è㮚g¸'›Î~¾•ÈPe¤*÷vˆ»üqw¶ì¶ZƒÀ\öú(êðØ@sÖñ^eAÛg@´íöj)eÙT¶`Ç ,h;µ@ç±ÐÌ p€VwÐZÕ[C°3³F|í°¤h ¤²7ØoÙíž…\²`-îT¾^‹²Mz—à1Vp¸d€ð‡­v°O~-Só6§û®]Ìa'*Ã4JpJšÑh,)©ã[gþ[}åÅR«'àIRï× ÀT^ëp»{ø¯‡ÿÆÜ³ͺÍÏÍzLßË‘ÚÆúšÊ_£ÙDGP6r­Ê\¾ù ÛëçM`e”WÂñ«ÇÏ\;°ŠÎHSµæ(@íïYþÅÎ.g ±¾¼²öp…ãõF= p&ú×îܹ£w–J±nŸ6‚QÑ'&€Zmaþý¤¬Ï½é/®$?ý·Êå÷ ¬V­ídÍßkÇ÷ f­ºö~ -’æR€ÌÇ®…âçÒe¯hˆhÿ^pÑ<çÿI® «ƒ,aW>œø„`÷" ÀÖ¤ñT"]Ž{\ÝÞD?šââž$ËUª/‹}àwŠÀö"‡¼Ñ°5kX¦Å[!T£@M9Q¿£¨« OBcsçØÙÇ39é|.H˜‚ET,ßäà(-_d°¹›Ë7oŽž¡x_l‘Ôºu‡ùMRLoÄH¹•F¯hý67ð5÷HÀwÌ0õ`!èdþ§"ØÝõJÓ=©¨ßƒt¡­Õî­-\]¸vmîòåkssW§ŸÉÏÜ;Œ •² €‹ñ¿Ë“ |P‚ðå Àë>–хˆš†¿þßãM=)œ‚ÞcISvKÝÖûmi)Ó§ÍÊú‰.‹IK íï|(¦ @¦ @9à!b$ý|Çô²Ýðøy^\áÙšjÈ¿¯ù ww†fÒ´'µe4Æ+)G»GÃ_ÿq´Y7ÙyRü'%k)î‹;Ž - Ày€7X¦ q*z|<7oõH¹r+î ›Œ«+vÍðüe’i*ÅqÆ!³uñ‡Z…º ÇiÀÓY`ß‹•€Cåéùò›cÉ»ž8'R€7Ù"˜d˜%³EÀ… @ÍVô(0H| Ðê9ÌÆß^6öA=Ê%Â?ÐÇIh! Ž·:ƒC?­ýœŸpŽËôæS„W,è:ë^¯§ß¾”À±zÈ!ˆd¤Ð´Ù~ƒD@RÊtÀX˜æCçÖ¿§Š·ÈÈZ.ïù%¸ê—¦E5¹µt›«Ëð‰ -µhb¿@«›"ˆ„Ú9{Ä/~‘0“Öê¹ÉÛa0¿àþPfa;ô…c*á6 j•{à4„¢\Ú+ï•–4B˜H’éª -måÁ„Lr®é*Ò-Ý]¥ÊÂPο}$†A=èöµâïÃÈN©|û1±Zæ -›^MP«+b§|},Å®f SæÐ>SË#!Çâ[lS"½C9;{Ý'ûû\î - L¥Ýj-–Ì'Eß– 9Šå -ü?×þ+‡€Þ~ñâ] µ˜(†øBnð -׫M[]Þ^_çpªCâ½ØØ¡ÕÓ -¨Œ@sÙØX[¸¶vß«hJ¾›éŽÏéÊ‘sý¤w> 'BЉúôë§²v÷ýùŸ&}½˜ }½YÞ–aÀÎÁ»±A¦œì/fXX[xþ>aëö7'¡ ä0°6¿üŸ4™3€„i§>…dÍ·ã¿­ðÏi†ÝÐàá9Š×–’F¼À­àEÛŠÜ*Ø=~™WëmWs´…Ÿát÷Œ€H+ÕQ˜ÿ]P(N¼Éðó" @œPŒ -ä4/ÂJä‰ mTYWÌ(iž¦‰ç#[(¬¼…0O}¶/ð(,‚™ýO+MÑ*tÊPÿÐHW–°ÿ‡ÄÕÉ4žÄèËa$¨þ7GZÁ8Ú€¿èÏ6|€…ƒœ~üH·}â§µ -àG¹ùqkoO€.èð¨¾åÕX¤¬ì¹n­>a€¤Z$)IKO¸=€msa”À!(Ø’“°—Är/¶Êúȸ7 52ñµÈU0"ø}"úS„քΑ¯M¦³ôÚÅ À{W“PÊšœ{WÇ;Ü .c„bÎ,l~¸ÜJÎì´Orâ0¥ðUo_Rº›¬(4¨Ö"ÜÆ!”Qüco‡%'µ1‹ƒs{>½9üW—(ÿf%½iNtùÒÜ5À É›—åõJ–«Lª(o9/yÚpŠß}@šT4ˆÂýûÜÊåµ×®Ý¨íªæÑNpfCÿþÆÊZ¾¶p#P?^}Æ*÷jkÕÀe¾„æ µ4]ïDjïÿpMuÜ©{§øü6y¿ž×$Ɔ%4F²v·vW°vㆋο?M‘Ì]u^àžp V~ý* -ˆ¼O- ù~3þOpåË×-[Ã7ØŠFØž…̹ó£ä3ÈC^©)W[ö™6øì„úÈNãVõYtµ7“Æœ^TÆ‹,ó­×}>KgœÕAÀý£ÿþ€ GL}Ò/eG]ƒWñÿŠaßðÍKÏ#ìÊŸ$³•š›Ã—¿ùÍ1eVœ@Þyßl2l¦ä®“D’7ª05^¶zÒ†…©Ô>Ùâ œ=r$Œ'.WÀîp…½s€ôWhü© ÀýfÐ*}¢ûOþ§’»rÖp†€GÀ@ÿôI{É($Ðj÷ÂÝ+€êmÏ!÷` -×9…\$æ†Ú¤.fîiNM×Û?Ü?ì·b…}ZxÕNiÑsÃÔ1c -á>ëâixä©q/é’¶ßôŸ€nªûêªÝ%.¨ÌGˆú°÷dàøAö¼!âÇÁ^ ·„Š/|Šž)k©äÐöÀ%yH˜¾ÝänØ`å¥U{ÙJà>"0Í«®…¸š Íq{¨×s"ÿÞ [rØ`˜ç¤’` ªù{i¾»AЊ ¸TÕ75ü·:û|à ,Ž%çÒc]éØéîµ[Éi¯óÏÐôÑíÿ¢ÛüÂZ°eM‡åC’Kˆ0YÄ)R¦ùDÚ´{¤Š%ƒ:1h»8“ØÈ±%ê¿Ì¢G$íEx“ -z §„ýT{×lB£ãÜ"Ål&Ý#6m Üoµ8¸1ìÿgGPmÝÞáׇ‡ÿbͯÔëR[»úÞ¥¹ôD¿·ÇjžÓÐÚ0DÓ¯xÑJD[·Óê<×Í)µp÷tå{k€ûû¶îÛ4¡…g£•• ð½›x?¸ó©Ó‹ÏàòÇUôòµµ•Ÿ®À~zjp.€µRƒö¶ç;”eîýƮԘҔñ.`p m7nØ0_»q#L{)A!a ð÷½¿xïòå”ã ÀÔT[øLæx#þr:€Šå¬€/òÝè!Q¦ÝÔÔòj}Í{š4/p1Y„`sjsëDŽÕ˜Þmr{ú9EÆs€$Bÿ9 Íx3sì[$A°ŒößM„‡!Ö¨A´¼øŸz¶s¸@æ"rqÃp½7ñð©ñ 9;oØ=®T*€*)ŠÜL²F®'é!éîEi÷ - ÉáðÖ(Vi¢-?Ê>ç¬ 8çðÆy4Õd^R{Æ3Âu‘œp„£¦Ð¹+ÉÐÆ *ª1Êg-A"“¤\¹ •É|_dØÚú”};8ãÏ+ë'&]Q_ñ¬h1Š Å·…µ;l®çÿóÅxøÞ`ø.[IžŠzŽÄÁ¶ÿ0Ú\iþ‡í‡gŒÒ3Èi=IjRv6jöàp*¾Ïüó$NÑýGÅ:v\ À"oû©@”OÚ~l  -0õ,d²ñŽ~çÀ ðÆ6áÿÙÙDšà@·C^3¨a¦“€|ZÜè;KmDLðœ ú¡Â£"Šá¢¿×.9cLÄ’^c‹0 ýÊÂf¯n)†ê.Ø;üê«ýÃ'‡ávN½}øƒË ¤€V]m''ŽAiº¦‘ÊNøÀ“F`G£¿<#$¦ãÕ¼O.¡«ü´÷"—}<ÌÝ.D =à¨c¼"Ôç$ì.ý¿«KK«fB»vIë³>áÐìK`z>ì û¸kOoš ð ÿ"SYÖ¬Ô%BÛnlïž©¨/áŠf'*Ê~ò´“77óßþA¦6ë0±¼ƒ€l‡ӿ¡~ ä€׬á"·"ÔlQdŸ ò±Uë‡ú2/[Å÷Ùªn+À] žqÔàûqàÒÄpê0ùL†pæœ €½´Ð;ùœ'g@Á -0kHíj¤iŸ 9o.8"Q@ýwz›„ p¿³ˆ> Z¨×£"¦‰þÑÔ÷ù©ý€”‹%`“¨ƒGè©|RA ÄZ,õžapØëØïìƒô¥’à QýrÀ>”\¸@x&1#(™ä$rS࿚i×¹è8}0ÏQ8 ¢²ÏEBR諜ãFi)‡Ý£|Ø.¬®ÏûèÔ(±¢qû6ì«Äw¨ƒØ§Q œ&ýó"rF”]4./éåd”¼.È#aW Ãj—ö Sr)©"¥½==.å)nðAÊL·ÓýÿÂèl] ûÔwßrÔ¨™K,% |(ÔÙšF‰‡7wº}'¯þýÚ=ûô¸±p§@ü°\‹m0º€…kà(çø¿…\Ù°;4ðÑð/@ˆÞ‡Š.€7®I+æ&>ÿ|Í2€ôÏ7aÍZÈEñðÌZ¶‡o”WÎÎpÞàB VZôIýF§ZwÞÂa7ÕMñöîñŸ¬ ÇÝ{(G±„DH4¹ÊŸmàht{ð0¼æ/—2•¶NŽšõüÅ q%Œuòä(YÎÎà13ežÎŒ âããÆlž&ø¯uߟ‡ñ´QóñäMóÄhb¦ÜhfÕÂÅEÞu™ZXˆå «‰š2ÉþÀzÙäaÉŸBN+*þ£¢Æ¯&OF̘rõ¦™ã [šþ#KVàß=l¦ñ°FEÍdj÷ËÉÃGEEÁëybŸÃlfÀDâáó:ž¼7ûTÔŸ‚Ö §L­¾B §R]O¤Æ¾²#™ñç;DWN B;À—=-اæÇ_lyƒ€ïÇ<@éïœ`ÿ]~o!0Û3 €Æ¹øvÿÄlèC%¶§&qÀL8lüùÓõ ”vZy ¾:–-}Ôî ž<¡!W˜èε½^ Å b\ZdÊK´újÒ¡Ç"å>©ksîÉ“Cîþª7h¹ wö{\Ý[á’î;”ôQe! Tù6_â%91½@9aJLFØÞ‰>`ÊŽéòGò’…Ûq=[{Zåe)Q6IB/Gƒ=|ò¤ÕÚƒ©HZ4¦{9à,Àm7výTŽË“ˆ -…¿‹òÎ9’Nú<Ʀ¼Âñs%ØÅ;âªP [ -_Ë”Vk"‰CƲ·G† ;@ÈGåHôä=êzDÝuöába[…½Íjd³T*]@\žÁ>Ä;é‚p-6Çø›"O©êC4:ÝÇa¶C"~xI©Û ¶" XÕ¶“‹P.E!".÷Âäàˆ F°ù/.©Mû¢jª7œhÇ.€{wwyS+1)µÝSð@ -o1‘0__N뤭’ëÞ«W¯ßuÊß _¨bÛ•kú=h½b}£°üC€´Rïõà™ý…Q_‰.€dªŸ‹u¾sàû!í #u0ÄÒÂw]hØÐ¯k -€\I½ -  ÿÔ0Áþ„þ~´ÌX7ÎYlXß"ÞÄÏpøå—´Â!Ë(_oüúzÌ…Š8ÛüžJ“+E6Z¾vP,«4³ð -‚Ql›·õ -| >%cy¶;:É*UÒ}ÚƒŸÂ¯Ûû¬ÐOÏb% À©› 0€Æ³Æ­jh‡üÅ µì‹É"j˜d)õ—‡<D¶³çY=ÿß¿ùæ›áÏ¥4©°&ÃÓ&‚–»--˜x•îƒP -î4Ofêøy¦:NéSþ¯òF…ÑN"‘8µj`É¡)Ûë…Lm–iKYJ>ì“;zdÓU}4X¸8Ÿ˜¨Jà »(ùösw;°gRÏ×îab5 ”–bÑA -›Ë£°ýGõWý_BHŠ;/ôbäQLR‘²Ò’Ýe`”#þ½Ä€¸%œ¢4Êô-.¶zÐ(n´Ž=Ë¥5¤Ã -D¤WáÅ'.sE‰` ¤ßÙïwQiüœ,ïSŽK·¥‘¦(öèˆ!ÈÒ¢> £!£œ ‘xM-$¹,´=+É0"ú€@¹~í€8Ù¾¨ ¬¸—._[páü‡c•ƒõ*/³/)/ñi­’ÄöÎv–×–ë*.ÀK,þo¸Ðz}Mû]»`€ÙQùtô•µ; 1Iß7Öî&ð×p}þÒBY×V/" Ïo‘¹j#¡ò C˜nØ¿pãºá_½teá‡Á’ w%üOŸ (öhÕO-E«6õ 4RKû‰ûŠm¤/ùÐPÓþgùfã…Š¥jY ¢p¯$‡)šXáÔ³ŒìŽòÊÖIàJ4ÀâJ:Úõ|¨Û¹Û£á¯!Epg„@E€(ªW9ÓRûd+ð½Vϲ•õ0( /7>×8IÚ_ú%墢CEÈ#3ú¼>üÏ߯LÃÂ1qšGâ' €(ªªœœIwF‰nG:Lò¤o½ëؾÈr‹p4:m„uFÈ“yˆv& àLžÂâT€eÖ¬ßjèo «®­Ts’ +6!6»ÓŠ’ŒÍìåokžvó4ž!­ôé·¢Ìá„gᤢòaf8\Œ˜*ý·¢@ab"ƒ»Ç§Êú™šàÜ•^Á4F!Ÿ„•<²T£z*›ÁÔˆ4¤Š"µgá(ø2?ÒÅ‘<ífyssô¿û›_I¹á|?U”_QQf**e÷y^[E†ÎTÔïþ9·“ó ÔV.¬¨OO+*š–su±¸O Z~¬ À•+¾ì§€Y?ÈôDìÇ¡´uÚ€¼Åð:˜e…à”8^|Ð0Sã ;°&ŠÀâU«U¸; à§œ-nñ鵿ºÝÁ W^l?ÙÂ-pŽ€ISDóŧ·ïÙËæDh0‹ÛA|ÅVG‚Ç©€ûÛi"„ëÈ žH3–‚‹¤$éÇo€ÀƒVÛrm[þ`Ýѹ]Ö’®n¦æÜäûÈAzB(j¬NjG&]…?ÈJ”D…XNQy5E›~p¥^žEàæ4O`Ão†ÇC•Ùlwl<µ @!Û» œ‚Íyz*á(yªg[õ;ód/€ÑD\~YQÂ%1YK»_òKžNFë0µo†_Qìv÷gM²c‘÷‰èùœ–¦ŠjDE™ú™Lå§µCÞ¼î" ùBŸšíèlCg+ª.ß -ÀcS©²m2W @¡_ñ'U$LQÈÖÓèø?µoþ³xø| ¶I -áh½$ÍÈÕCgÕÖî8ߤ¢¨Û×+ -^af‰ëx¸sœWWÒ8Ë %*j;,PµOf—7It$@̳„`: °¤¿ÉWôĩńùgå£Ðö“+à[l€à8í YǦ ´Ò€’$ŽGi“Ø…»JÓ“ûíöi콬½¼¦‹W—tïï:KKÝÁ“C®ÓÀsöÚ+€Ë -Öƒ¥r7V ²Ùîä8ºT–>hà”ªÐñ/0ªïðÀmïMx6YC{‡®Å‚‘ÒV¯üÁâ½´ -|éü¦O}GÞÑ%K1óNÜ0%¢Ë€…ã!Ð{_?ÎþåøÉü+ï¡}·Ú¥½@¬I¿Õî•IhhºÝ=Âo »y{@:M´1$3?Âð•´T.eòÁíI] UK¤EæHYÉ‘\N²¨ -$òê–ÿfÍÒa‡»¢>-‘¨%=î„q¾\"™â°ÎYø¦¸²ÓáÙju¨9=.dt}rº* \bh_ÂùºÜ B±%ÏcÔj;Æ"fý3‰‘6Â+zHlzà>FQ#ŽøW)#µâÉâšƪï-ܽ·±ÑȆh̵@LðmÏì;ú OMü§\Þrž?… î¼·6wiîÚÚ½ûªßÿwïÞãŠåx·"wx§×#ŽÐý„¾qCî:PoaáÒÕëá­7'Vû’ß&sÛÀ#'IZ wµDƒ?ï_)Fh ¸øŠïÉ'Iœºti÷Ô0qÖšÎP4‚ß!ÑûE+™ÿ<Ú -¿\ß:þŸÃ!mrhãu\'3÷H½TŸS„UÙNþ*§­w.<)ˆÔ†!GPFE¸R|/’Éml[FÓH@ÊO£·\´t&•õüˆKn {r,ÛÎ ‘òƒXš©W;õá °òçd6’g¨ðYMˆ-¿Z¥Zàî±.':Ì.htš)òDpŽÈÓpg}¥¡SÂY Àºœ”»S¦>™äˆÓäÅlú[o4mU/ˆ@Ë69LJ²1‡$w9ÿãK£M><©6_¼HX©GFxe«i ²œÄd'?8^“‚³¤I\Œp$лĔ›©Q¶²ùÖŠâ.g;03U»ï‹8©¨ƒêº}? y1™„ôŒ ârª(è',À• Ž¾Íª£—ßüZA @<|È4OäÂl¥lPQëÕ\'@Ä;<8[Qr È'yZ_¾€}[údRQmÕ¼ƒˆæ3.`záp: ÐóOÑ?®KàÌA%¶ç mÿm~€³ àœÀÔ µ:Z~›ìØTÀÙ&‡ÒÙí:{®=ËëbGüú_FUý_~©ÔÛÿ*®üãj[UÄ¥ÅC³ ¼éµJΣ¯ˆ`Á>PUrzGÛ× @˜Jh™ÝÈ7~ÉP›Ón M`¢¦k€ŸÜÌBb¹ôÁ_ÿõK^ú‹4WŽé!§ÝÒê«¡‰+lXlaß¶ª-*¯©Ý‡v£êìí((ášT‡v,Ñ4m8Ç@+ ²Õê¥aûPÔgc¡°ÅDn7Ê%×ÊsfÂÅ¿þàƒ¥réqœåú0+X{_í?vÌDŒðk)™ ø´¯B ¼ž÷ôh4Ošìé/ø@äÓIwúNšÄÕ%è\$Êô kÏ'üÝŽéÛ-K™¼´c#öÊeïr"ù „Ç_jÂÚqz±Ÿ÷4Ù!VáU”¥‰H8I¹;)TÃY˜xš$FzúTÆû1®/Ô¬ðÆ(€k×Ê Às½¶Þ£’éÖ“^ótaˆ.d¿UBË&Xp™øòj½q ®ÐÛ,v¡~ — -$ÀõcúÖ$á^¶ûmV©Çäír ->¼ºv u.`e7{‘-W·Š[‹¶—ÊâòU4Üéõç¦í1…VL/£»VV¿U=È•í4d®SjÄ);3CèͱÃI‡ðÉ•"K‚KE;Ê«+¯UT8Ÿ˜¯TQæÄ6À°¿KS€³\ €DN-ÊÐ'°× äG~âÐDŠåüšèû³úÿäXÈ… 3 *÷y †Û±B 4P$È> >ºß^§ß^l©¸ Âàž®â‹Ó²†>*ã¡Êf[7€XPÏ`“$“q» Ü‚§×î]7õ1­Î¬é•–üŸ>p–øV U}UsE€ŠG‰u6%ý¶Xo%{Ñ#ε`xû¶š>G½˜ ™®]aqÑÉB–>ZýHHþ¨ páô¢ãA·$ÉÄcbuV W&*wË{Ý’óþ’ø¸ì’‡£%–®©u !¥h!GßwZ"°Ÿ$,.’À¥͵BöÕúðWÖ×.9öÀ…l–@~Ý#$Ê΃fTp…nr ”tGÁtíèú}‡–Á D'“¼ÝQ7±Mó !#Ò¯Šž2)(S5}“øvÃÝNy¯½XÚ‹@"P”Ô™CH“¥ÃÙž…ØÿSP9rŒäpøõá¿+ŒË=бç›xF6][±7¶7jéóõÊNò8£þ þšSÃõ}”m6þC]Ä—˜Pf%ö pÿÞšÊ?è~ãÆÝÚü<{U¼`*1=·-ÜYXò×þJ=ýúÂc?ÜèêåËs rõY¬>'WôþþK@‚8Á€Ú?qÔÞŸÉ…Þ›»ü— 蓤 ÏE[S Åa«8õ8mæÞ$¶Â1ÓL¸í¥¾óøzµY?~ùå—båîNºjZ`ºŠ%G& øÉ$@ØJM„ -^Á-~ ™+ß?´Á;£ÆJÅ6Ø[ý·Ú\Æ1B2¦T¯€ Õ7ú,¡tÒ(õ.«;=o.¯;”Ð, /!~©ñ'yÊ”YˆáÇÙæè¥Æòd׈LED>;³ìÔë>Dpîæµ -ê½yšüq_+‚¥æåP,WÖ)ñIó³åW1 —scáØHž||d - äž°‘5!“Á|&]!7”¥I^fòr"ø2ÿ¹Û;IN¥§k‰ž@oª(šôq¶R»ÈP”W”¤ï½õ¥…4l¬lR-QÅ1nTTñ\ySÊSQQÉÍñ“¨&I€<à~ãi£R‹ŠÒŒoG·e´D¼QQ>¾3™7PQ?I6*8MQQß-‚~ùÇ®ø£x7ßl¸ç°}“ýY -€L þ;渘œ2îÉ -Й€Â€fN “¸w¢½Ùå:‡úï`¼Zø!Wî8a.ü«ú¹<=­>*ܾ Ä--µžÜ¢· J‚v»¥3žø/ˆ»ð@lA¥…x‚ꮡñ‡ˆ2ñ ûˆîˆ}Áƒ@#Å€¥@³Û6 bêH9ˆëÌSiñ{AbÊÝè8¼ÇÍÝòâ‰,•ü\ÛÝÁ1z´Úμ‰3«½Ö¾Âz­ö1O„aFÛí¦íû>Æ>Õ¼,ù­ô¼¸øg©Ã´^«º:Ýò - B«oyÔê–<Àå#ÿziµ£®U¢ÅÞ™‡;í&P  -­¿#äg~GÙvþ5²vsîÒEQ…QâíÖíÐâAòn¿ßm­ºN†Â×bbIøx9õ¼¤ ›1Ý¢‡ú½rçöÞ×U§îù…Ó$~Ôœ 4+`{K˜×a·qÂQâñ’˜$8‘W[ö]øYxd :”Â@JÜ€›{ÑJz%—¯­i©O^{ Ô¤,§½R¯™LR–¤«t 4Ç›Ú$£) -Äe×Ö®_]¸ºpcíèïî½{7Zm^¿û¢Ý;ê/î ¤Qúkw¦Ãÿݸ~Ý®ú¨„k¸L¿ú? \‡ àýÚ.‰J€ðTô1@,tmM«‚c Œ/œÀ~v§ùšXžM,”sõ½ù3iü“B™L³n°•¿r" ð¢÷†3¸Â}½Y¼e7J\MÓ6¸RßNôÖ_œW€•ÿZžÕWªŒèùϦuõIâs‘&7|ͤoÔ0ûNRÚ*‡¡œfvèyÌéQˆÛ‰ÚˆRo³[¤i=¾žÛPä)©¾XàÀò¤{G´§³Ñȉ'="¬ q‚¹ fPä Ų±yK  Ö×ïדbY4ä œŒÁ¨zd1Ê·È™{|§ê,µ$ºèÜŽ‚±pMj‘§ÓŠÊ4Õ¿ª6†0O&"Ô×I'F€ÔS´T“WÙg·ê_8âT¬¨‚©R -­¨¨´L¾Þ4õ-Öné7I‘ M5²ÎŽ¥ MÌmì92Õ„ìÙ°hù¥°5"ÅíE¦f>{:NšÕ¡ÝÓŠ"ûE×SLÕ\ð=vÏTÔº“KDHˆ·9ï_xƒhÏ’ÔTW6‹Š2S2ê¨(ˆâ™”©w’Ù€4=pìž&£Nø+ºdqðTŠ~ÒößâpÉô)ð0é$À,(´Rhæ `D?‘¨Û4Tù–¬o»·ÓŠ4h‡j•-Ð :áñUdki)xáDl€4|»ì ʧ²Ê iõCyÒ ÐýÒK’ñ 845’^y)ÀÒÒG\„–zƒvßnûv¯W~Ì…Nßóøq•Ú÷½à1‰ª–·ÎÊCÍ0@ñR ó•|øè‘·Ô`äçþøúÔªÕõµ;++óËŽ60ÙK%ôÿV»¤w•äX%@5‰Üjûö,.ÂL#Ê1­=xJð‹=%À¸šßøAÕý;G´»ÿ… QÐü‘·>Øï Ô½¸Õcyð÷‘ïä¡‘ÑÙ‰á8„õ»PÈј2= «ÏST„} §ørYñb&‘úXº1©)*ÚÑPr`êé),D-©|ÆøIm 4t&àZFëIEÔ´’»ñ–¦V4¤°rN!õ§*¶DÞu#Æð„£ÿ£y³{#Üï×î5æu»{×þáÔð‰ HtÒó^ÀÂ_ùsíêÜÚ\2×SkšŸ ôä -*aê`Pª(zœhX7ƒ{€4B›ÿøq°aD1=èWa(Zþ‡áà³÷nSÂÒü&"vóãq½><>>þµCé8F³*DXÎg¤à+YþûƒJã¤pöKm:©p {R– éËÜ)à³­J¥îjëVV@Í8µî&_"%Â{—)&ÛÍV¶\å½`>g¥€•‚Ú(ê™ß67wGÏíŽ OæYÎÀ_ºi*E4Áv!ÿ¡oY„•íð²G”Ñ«J9LV -¿ZÙÌš¼òÞ[<‡Mæ‰H>ƒ¤L¥<‘+ÕþB Y6Î×WžÛÃéxML‚5{óGëM+Š´DEqÕvÃN‘Hý©¤XÌê#î‚d¥„O*jÇàŠŠr A”P½Ridy3Xl&L¡pË)R½¤L‰ EE‘õt]TTžg•fª¨$çž HÂiž| ó?5«.ÄÃ7¡Äoàé–$ÛÚ5Bbw÷ÅQ½2~Qä)U”UUXjb²Ë#ÏRQ·jq ·Öˆ9$U”/ÐÙŠz‡O#ð>ù:à5QX/À¿€ûâŒ=îŸR€ÉVRô§`VÿO§7XÎÛ´tÏÛLq1‰ jZnðõŸs‡B²:ð’Ü:ÄÅõ -:¥Kÿ¸¤ç{j1Sa+¸ÕíZöïGW3?= -‚5pøÚÕ1u Ä5c@?œBD­HgÀÍG¡ëO¹¬@h RH©J ÝÒÒ÷¾'²êû¦ŒvLÕC6CñWõ_D) ºàØú¾öüVýÎòrµÑ¬Ö³ÉÊžŠµ-OˆµDăÃÓ´“g˼FgzFÓ ÁI^/ž{6mõ×î,ÌÏ_)«â—;½ÐI²ÌÎ’ è:ƒ‡J«QE‹«{Òßí.í•û=ýû{ƒN)Ö@VíwçòÀÿÛA,WvRyߢŸ 0€þ¿Ü.÷Í-‡l©”ãÓC¥õÛmÚ­¯»&ªí’ð@ëÊH -WnY/Ô!…Âí&ÇùöZ¸‚p÷$?{ÜÌV¢ý½Rýÿ‰Ïgº„|!ñZžJ_ín¬pc­¶±½1͵¼àœå<Óè×d$ Ê^|ýÆóçà}õûµ»÷îÆð¿{gá»{ï^í~¾à(­úwÏôÀÀgÿä=„³ÝŸ¬¯ºD_1J{€ò›äýZîãTôÿßûX‚‘¢ Ⱦ6!—çæœï·€y‰€6ÂN09–>—(ÍŽx~?y~´;þÓ‹ññøÕ¿ýÏæz=ÿýñoNŽ{üòOãÑ(Û}~ò*Ïw¼c˜vvòÞž?ÍvžÅ(ï<2^œ“ñðø'G/~üsù‹W/õSˇcBqÂKR¯$Ųù,;°ý`|2Î_ŒÇǣшÖÚs®Æ„;>yy2³GÍQÖhçèøäå(¼<^ýæ?_¾åÏON@˜|t4úÃØßñ0'Þ‘(ÏÞÉK¢=yõí·£ŸÕ3ÀòÅ þþôòxÔœ/QŒÆ££ü(ãZnÈŸd@$J¡ŒÆ9ˆïå«c’DDÙh|œ?I°@K>âçÅKR\_'O`R3e±þä¯N^-j”Œ†ÇÖ©$OÆqòŠSÄýÈ6£Á¡ÑÉÉ‹<¯×›”÷·/Æ\÷*.<žŒáù ¢H´yÊSEýéOß~K[EEýöÇ/ŽIáóI·¢ÈÔï­¨àÜð4ÏFa0ñîTQÇÃ1UK̤Ê7¾øcÊÓð¡ÿᬬW6'•ÿ.Ëžüþ¿ó”§Ñðhä:Q„NESX'Èóñq3k>§¢8~<æÀ¨YofúÍž¼GEq'q’çã£#ë\Vx´;zIÿðêOÿ ͆¿¡–~{üâO„°»sÄ#àR ÷í¼VQùÑè8on>z~2´¢Ø=îfÇ<Ç/Oþ§ÖjŒ‡ï•U­'–*jôû -;UÔpx¼“mA,©¢¨¹ïþ ÿ¿/V‡Z»o·ð_œ - ŽÌJL˜P¢ïOtÿɈ @˳’Ð_¡ÑVãâsÞð°&d¥%w/–¤)u[-5Ɔý´øo+ø—¡¡(½'P€j ` ë‹ÂCx»ƒ_Ú À3¾û‡á¼àb¤g‰Ñû± ü¡×/-‘ÐÐJ]é¦vLÛ縈Oì‘ÜpÙw®½ž>ˆ1Ç=!ÚûJK‹ßûÞà)°¥ÒJàþj.\¯/Þ⢣ï€ÌR¯LûÒhT«wVBïÊOQµSà&@/ /€Ý¦Vèá55g+Ù¨“5'vEΟ‹¾ÁéY­ýûï_š›ÿiµ^m•Àô4iNààa·Üo­ZŒmÉ•zOÚCØë ¸´Û±$Ü׿îA2 -èO‡c÷²ªÎt@–ŸªËoTx[wû«5²/WO@´Ž¨~UÔ¶£¡Í¢Þæ9ZŠ`ósvK»Ù|tW’H³y ÓìæÏ½êiZЉçÝápLÅm5š·*õ­úúzµº^Dߨ³¼0ª1*WëB³;à÷Àd6Œ%.˳“qå*w'N§K›¹½Í&‡äe;OC‚ôÀƒMÇ™½Š#Ãì ñ¾Æº„dÎ<=z$6„æ£æ£zÅ ì c‡Ì¸0x[–ºðgrs³R¯×7«H¸3˜þzêݦÐ<LÒ1Í\”óm€ò†Íͧ:²àHCä‰{¢ =n–3 àÆ ®dE_V…Þ qÂVÊT!Äþˆxoʦ,õªà5I<”ë¤¢È Ô†Š’˜‰@Ìu‡yœˆŠj6ÈMdÇÜzÙ/³“úƒúATŒ&îñVòFnѾ@"M:ç9ö¨Y­øðÃJ¬¨gÕI^"ˆì)ßæ#Ä""Ÿ›Îú íŒ²Ï úèåYÌ‘hE‘§z£ùàf‘'òf:\˜®,*ŠxžZÖ[‘Éï–ƒ„øN|j˜µœEÿï=(vO)ÀéVôoñxSRà¿VùèЛ.€N²¨¨¥VŸæZ¿--û¨ØÒÞàið¹¤Uþ¨3àJ€\•±Ôÿ¹wC(£ž¢aÃ¥àÀºº­ÝÌÁ¾gÎwÂÇH‡µ8l¯?èv––ØïõZ‹þ>ç°¸,!:. P¤`Að\ï·{{.³CÆjÞÖo‘sž'Íáeÿ½K‹¨Ñ„GÜâ›\Òu[ýð'kÄt15…;++ë¡;†ÌŒèuÖØÔNƒöH#¢4¥#âÿö¸QI½o? ãÔD9M.nñ•:ï®Ýw¹.<ÌxÂi‚GÔÈÉ GáþËÒ€Z°s£¼¸ÚZDy$ZÕy¢;Eûðpµs8躤r{y8,³Õ§D© p™g"³ûå¥Îàð«ÃýÃWý«óSš² Š•òAqm˜hiázÐ+©¬‹Û7’žÎÛu@6´ô36oÛ‡tQ#„Í)þ@uÉáÁQŒ.¢$š.i•>FW§½9bètò_M?hc¸<#ä6jÙg®Qb3Ѭ¢­ ‚ ˆÒ¤øÂzt<~Êûj»3ÿþèàmAmÍ28€Æÿë@zí>ûGÇÃíû׿®9ýþ½ÆöÑ‹ÆúzcW@Õ€ÍÁ¸G®*‡PÑ>uI”µ»¯¹OÝ…=¡vw~n~Î^ÂrBÀ«i"ÀPÉ/&ï]ÙqnÍ­h³> -ÆEØÜu:²ŸÎ§®Šä^xé½¹« ã ¿ÃÓÀ ¿có²6Æô˜e;•w’êƒjµÂ‡ï×ä&­äzuñ’;•Ê-þ8y‹ÍØu|¾â á-ߌ CŠƒ…Ä>8ÂOõAeùææãX¾µÌÝ$ ¯XY1\Bä—­p ™†Ÿb$r6«Üý ¾¾¹¹¹^ß|@`©V7ÏdÊÓ&·Tdæ)ŠÈ8»EÆÑTª›7oVÖÉ™Gˆ!) OùCz*&ƒ<‘ê›{Óóæb…ÿ;QZì.ß$Ï+Ë霒é"›7—+õÍõÍuòD|éÄȉ!Å”dºyó&T*UÇîL2‘ò䯕qÇÁ8þàÁÍ›‘'Ä™‘I¦Öù&;TTõVVV¨¤¨)/¹C<"GVÙÊ -¹JÙSŒ(£â,jÉŠÚŒŠªþýOÿ¾Rùéß¹1Mâô[¹Y­¨;\¤ß°qœ¯¨e¯6ØælÈ~“UKñÁòòßE£¢"£He¾Œ€‡/Î~—¬¬þ#WÀô €ÀùéOºtr2uLåŠÀÏ(ÿë¼± `†ÐèÚ‚«:ž2á$1[_‘“/UFGH:©üÀÆ»¬QÀ.„}—/—ÁíÞ“CÎòߨÑkËÍ¥Åò|ÁÍÖ½r;Vù£ÝoÑ¼Ûø €Ç’‹ö¡½Î’ì ßZ,K„/.ኌv‚¾'úŽû¢=éô²u¹ÜAMTüiuu¬[üàÒ_C¸r ›ŸÇòã²-ïZ6_kT–›Õ«¼®wÖ›ctÉd½#ªU5ˉL,1b*IKkGÖÄöŸE'U6DS€À=Îì{£}þgi˜®å7~øþÚÜÜ‚Î=Ö—ÇÏ_ŒGvlšÕªk¥^¹  3Ô¢év’&çð˜ï ž€êìu{.BØC=§N1D€Š,w…T3N¬–­¨ý¯ž´ÿµÿ/= -­OQ’e2Üá£â8ŸÊ•- -°\rµa>ð€~ßêKó!ÆŒ@í*Ó¢xýå>J~ÀÐKN§g+ÚëìÙ;ƒè—Ø%B¨é÷iòá´öºúز×>I­®’X«.Ì_º4÷áµµj•¿jýóʲżµ^[oÚÍ/‘OÝý@–_U°n¢”mÜÊÂü•K—æWÜvj’û-¼ûO­XôÑj½º‚Ž¿rgÍ8îܹ##Lkwªkkü¬Ì8ÿá‡ó!Ü{åÊÜ•¹÷/½ÿþÀþ/ß/þ»ä}’W“pV©fB]qš•;?ek¿ù.|¸ðþüÂÜûýg -,”çÇGnf$ÛÛE]‡ÒD¹SÞJÔÀ&H‰öëð«­-¢RÔ뛞¶eÞ´°7ë4ìBV}«ùËÿÈuh¡+ò1$„Ñ–§{Øå øæMõæÏª³YoÖìh›9.x?°Õ·á÷áìfûj5Cà¤-9!€Ë¡òÖÁâºYß"zò”âÖ }FÜÜT£WCUç3O& œIy"úÈ“;¤Ï£ƒ[7›dÈq£Îý\jžÒÇë}ÂÕÞÄC·\ÙôÉ3ÙÍÅ¢7¡óˆM.A Îúú¦ÿq@?ß¼YhÚyöy3ʽÈSIŒ«¨¨"g©¢¢¸-¯¨«³>É7O‘BÄZJIÌþñæÏ8°ÕøY½i8™b—£¢È8/–ñ²ÁõVT³²¼YÿÙæ´F&µ)'r3É륨¨—¤ŠÚ¢¢P³&e\Ÿ~ÚüôgIe6#;ëéá«WnR±ä—[&Ÿ•1SQl¤l™<·šŸß¬bËŸ,YÞÅIòdnR΢¢$^¸ù7TYY'#$Þ<±i¾¬¨"O)ƒß)ªA®üø?¸ÈðV @¬xFâl€¿Ô'´¿ÈFÌ]$ðtt8iý”ØL«3ÐÒzÛ\-míQ]ÞÆ]C}„èX²6ø?èöì€poJ@¯Ziºìõi×;Z ¢e\ø¶õOfÚüÐü»äZµôˆD‰GÄ£ô–Á}·HÈ52­ßïU]'ç ¼ñˆìF ÀÒ__ú^©ŒÂÏ™°dtëÒR»[Ë]§Zð¯€Ù8»?™ßÉê•4*$ à—µÊ£ÇÿŸ²4WÔÎîó š%tT_?çmQ‹¹I¼w#œ™ÃY ±]d÷×Þ_ 5²Áýz¨eá–”çÛDöè§+Ñ °Dþ[u¤ SºP­AoÖã:ÃmÀ^·ßá¼Óÿߦ ÑÄÿkJ@µåúäÉWûƒÃ~7,8N²@©ÚµB‰”cIg…zŽ2‡o¡’× .pÕ}(ør^îp¹á˜×ÑÂö¹iµˆ”×~Ü£æƒCè˜ÐÕ@à‘Â6Š^wmé––º‡\ØÙÿ/ºgúþÿ3éHT<$x;¨8÷——ÞŸ{?\^@”¤cO´ž­7ÿVB/¹]@5%0!|yyþ -p:÷üµ}«¼/„ÏÍÍ ÊŒƒ5÷Aanà:þ¯ Ö,{A#OÐ?eìÿ}¡_¹Dâøðóé½»üB)’¨ÚþÄ8>äA“¢+WHëûü‘Þâ–wY¨ÏÚÃÆ‹/ìýN¿8~urrœ,Ç–ÿ]û¶ÐC“}ü§ÿõê„ÿ—ãñø9¯ÃÁèü* °ˆ6Òñ¯ŒŽö¹¾®ÏÆÏ4•TÎãWã“W¯&v4Æ£_ü«“q2äŒòƒú­z}ô»ñø—`ÁçšxùµÉ'4ÑÇÃØ|ô»c¹K¬ÏF®8ôm4 eüâÛo_½ÈM™Ý¶ãã—äì8úϳÒ3âø¿ =›Õfvòíÿ:yõ¿þôí1ÁŸgöé#Üþ9_£ÑÓƒ”'Ž=²0>ÿÑÖ˜À_¾ OcåÚŠIXó€”äiÃΟ=mB&H‡î@f¨ÈYÊÀºì qe;/^d£|ø”ç¬ó;£ü›¿ÔëáÕ·ßžŒÂÞ­#ÄÉñ õb˜Kɹ0%}›«n[’®¨<8<üª}6=—S„;PäV¼…\ˆOåèÑÚÓû²Óߣ¬ÓPP‡ñË7º"“â-%×r‡Ž5(/}䡜«ÃO“ÔÊÌbhqÊåîRù° …Ä€ J.ìpˆ’U|—ÃsøÑ§wÖ(Cb4$jpw7zívŸó¦V+¾½¾Ãq•n+ÉuC±¬QunÝùåõ[  ,l:öħ¾/ϲZíÎO×\IˆügO—uDÓå‹ÊÝ婱W >kk :qüqFDáðÚ{£\«E£îË.k´¶lŸÂšÖ¤ºv}áú]g=¾áŒå2HŽL|láŠRü‰Yqtò´‡ (­äøÕ¨Y?8ù“ݶá3ÝÇñì¡C2 Á»é’6Êщü”¦tTùåSåøÅ1”â¨ðú¶_—F~'¾…¿yjR b4ÎÀ•<ÖšËòÝÔâ4ĖŤ+÷#»£áñ‹W•¸wLJ ¯4GüýÈ™þ‡C}þFããá×ë'ç¤ò\îšx õÅA¶ùÿ™— µÚ õR°=@Š<™¸ÈSrãÖÿ׉ãß¿=?ÊRž†ÙÎN~|ÌøÇqz #‹ðŨYyP<‰ä)   -¹Ýýì¥Înäˆ<…/œ¡RÎÉÓzåÙ_Œ]õwx4zñ\F3©"©¢¢Ì×sô…TQù«¨¨ŸÇ¤ÄG¤nòXË}ôÑÒ ÙRQ TÔ(pôÿžŠznXDÏõVÔØŠ½Êcô䙊ªÔŸé_AE=ÍwŠLñlI*ÌTÄÇ+wüâ%•þ†©¢žZQ¯ /QQägô<*j×yùÈÍLEífGã“qÖÜÿço¼˜Vчô˜°ÐéžeÚÔyÁTQG¿ÿj=ùáuäï´¢\ÙhDýiLR8#¶ ãÅQ³²N8䉊ÚÕG²¨(ŸCÈD*À§ïüÉ'³¼³ yÆŠ€. -x*i§ýPôý¹Ðà-]a(„Ö7L¶¿S>D{ƒþh«…M—µ»iÄuó.hæŸÂ`ÿ>Z½^ûƒ˜( ƒ?Q[/pôL™Kã‹°í;„.„«œúÞ$ØÞ;i­PÑ*-™(Ÿ%í’’Û¥˜´§Ý*ï•oÇB< H!¹èªÿ&RD ³Ø[À|ïÒÒª -k§CŒ|Û}5ëw–?|ÿÃÚ‡ñi6M-gaØ~‘W£;¿àz„}²aï6- ŸääÍëóä0éÆöIµ1*’ë±cÜíPA¡ýáCÑÞ)èœþeíÃùmûâb^q BãáÎî¶ýÕ×8ßX[‹né–yˆ~ûÖ>¥R.wz«}'Þ‰ª±×m›Âá¥=ú) -æÖêíïCìktÿšÚÝC— Öã‚3<û½„Ñö"¤.@(E³Ž¢¢ô”k•ØÚæÑ  P꺉ªÑh`U•ÖŸ0I]J†¾_étnïüšrt‘„Ð'¡åãUÎw7Öææ®%ÿ<«) -VHzNks|<5ëU}¤9Ä 4+4“¶›ãÖËn༠½¶R©=Ïhùõ´ºØöauêqxB;<ÊêóñІïÈ õBlÜ þ¶v=-@=Åà€4à5Ôö«—ÒþËå aB° NüVËÓlö29ÓAmcãÞFƒ¯-8àêe‚±þ¹‘|Έúsi;F˜»w“hubkm‘8rô»jmt¨sÄ“Kc»]¼!“áWv†Å ³£ì@kÃþ<|®œn?;¤=>>Qõóñ¾,û}€Qzõf¤*˜úå§êʲZ9pé!oX<•*q¦¢$i¤[¶ý¶ðË1š"IÆFÍêî‹br3Eúf2•ÞU$òã Áòjõ(¡ÕqÄm@9:™*çGÊ:¸˜N%4 '¨ÇêqleBl0Ì×#Z§Z%KK+Ö†›ÔOd!òdu¸mEíüjT©SÚVÔ0Úž£iž,ÖiÑzƒ’*ªYÉóc˜Äî±Ó -êÒ¤DÇV”Q¥»’sFŠ6+õüH°œŠy †Ì‹›EEñ¾}iiy—“êé.=ºU㑟ɓq"ñ¨¯()C£’¿ˆ!û1ÿ|#•_’׾Ȕ QçãáîÏQËœˆÂ‡¯qDœ©¢¤#“§/îÉŽò­[›¯WT˜jê[Ÿò{_ÀŸ!î€}1-à¬àõQ± 0'4¸@q¢¶÷ÿO~ÌWì]äF؈§Öóœø/OÀ¬ Ze‘9t}ë•CЀ;dû*ùqå^¼º‚®ü†> I¶ôà?”Öètbå>ˆˆ¤­ ‚ë€BÚ‡îvfîŽ~DŠ£‹Kå½öžJh«×o}´HOàò‰žÓþ(¨›Â"¹tV£ÛÀ©ö¿w鯗ÊQ9i2©üDÏë -0ÎÏ••L—ð8øx8ê¼Ö€%æÇµ*šÓÕ]$*f$×ÞeÏ–Ž6ÕŠsÒÍ”â. ã46¦6R‹‰BÆCì„YŸÄd¦µ»NBs·v}þ¡q!Þ~Ï].ñz€ÅÎé»ó µ´œ–üëþ5Fž—ÂÑŸüZ) 6…S÷[€ w̼ץ0`kû1ªØÌ{'Ô\jåâr+ç+gú-xK°×ßãI`]ÛQ˜ 4H:åÕÕU®*\,r»´ù,.íYŸ:ú#¦–Û; -@ˆPZ)!Å‘J=ÀŽ&XH­Q¯Ù½:+¾Tq½;ÙóæJ3†–g»Ã#ò¨a pwøÍ‹¿¦‚¼#®¼u¨bé ˆ͹4¹IÒ2NÑgFjKþ%o–)1IS³ ¾qE䱑$Òv*õJLDŒ˜%âÿÄ>áYf£GjJM¸û×ñîögÛ.ûGD»ÃßþAøŒ !ºE| k½qìÝâ%GêÖF¢·j[“I¸eœi8v®W1ípä#2Eä>çÊi-JuRQQO΂msœŠ¥¸çNÀf#˜GT,ôaFžbïøÅ ¸ÛäñTk‰8¢¢Fq3B†(¶"[©¢N#T¥O&…ަտJõ@°ŸæÉ·ö43l¤h¦R¯yšdÊ9ñ0œ‘âjŸªGyVYŠ"è“c]°ò¢¢~ügð®ÝQãV½ùÜÃT‚Bü‘'×®ùd|>-‹w³¤W}Ö  `‚ñ3P_œûAø¾& ôéýŠß×ü. îÿ3€ `ËnÖSÄáÀa¥…ª:sò:ú¡âÛ0Ûxëààt²ôâ’Ï POÁzÿô]¶Þ‰UÎmû‰Ì{gççBå]'tÕ¸Áa,ü÷º}§Â»¤ÄDwööú]ûnF“èDÚå.(›°À#Q-–>Xüà{´úéÑD5áÁåõºU©úäììÔ8EÓÓËñYÑAld¶ciO^ßÚÖ'r‚­Oj<}hn.ý©÷…<öf£n7ôòr¥R]_¯7F•_åãW¯þtf%==>Þªv ÿ›ú» s+¹±évc(Õ–€øòzî‡ÀÕ¬f¹Â<ØY`-»ÎãUÊoo¯ý1%ogOì/—>’$À–_u÷§˜ŸXÒQàûO:ûTe·<Ø/÷cya -Îõ›¨ n`OŠ!oÿ ›Ãöüñù)Û `D\ðï¿d¬Õ9„ÁÙ3N}þ]'¢­áÂg+>Àýžý KTpÒîþBNR¸‰è`<ñÒbKoaî=+ÙØ°A±)³Uä›ÏPeÀÃÉ‚Xô€8‡|ÃAv{U®Ìײ°¿™É ؉Bî×¶s¶%Ü´QÛ©^Yû6vŸ8©¼íš—¦Uúuü/(€øîìý@|€ñ›äò À´QÙm¬}( å¹ùš¹Q,:êï]b+ýrº…œÙ™#Û.„óNb{Åq4Â& æ::¨¬‡Zù¸a™:}á)t%á•€ÌxW0š‡¯š·šÎEcå AËaØcá‹o¾ kLºÒU¹¦]ÿe}ekVØ$„Xÿ´V‹%ïv6GÞªW\!!Ó%u‰¸Rmæ‘ê+åN3˜HÝöÓl«Ö2cž¶·Õ6|³OÅ󋣺 kà…V—|ÅWÌû‹üöxøÍð‹ÓJ«G¾We.BLõY?>” æc!¨o ç{K¥V·ó$à»ß¥<V,(.Osz§Lj=þŠ£û²)ôy;|º.} ðßAtMHVÎ'9€gˆüÐiv–JБ=;eäpÜÐïÅþ‰D2[½ÛÐ §‘öA”¶å¥&Ñg‰¶ D´w ÿ÷.]»^Œâ§¨Â0éWXFipÆõjnw"…¤ªcCiM=l¸¨¹í»v£v凼ãÿ¯ßcÂÒê>ÂïÆví>޽-"o<ªÎ߉žƒ¬1„Ad€¿Àû5ýSE §c°žòÞœjx¸¼‘@HNt;Ée†õå º â‘Yø+»ÒàõkÎ- ˆà$ -îÝ$ÊÊ֗Š[/ÏúNuÓ’ý9¥ÚP`˸E£íb<·þFÎ!@uœ4VÂû€stÉáÛ^•o†Ã㣣’}ÆÜ@K³ù«GÅá+I±d³ÖhU²–¤ÂÏ4RY©fC~á/$2ã6/©ù‰ž j42…â+Ê9PÍA5¾­z,2XÄ4Í“,ÅÃÕ\nüòø7Nçx Á1S?IÏgÜ`,y£²~OíÔäk‹àÉ—æD›¢2äí|ÇÕ—µïOó´“­Wšã”§ü ¹a;õÒìPQd‘ôÛ8{P›­( fTÕ”*ʘ”¼Ë|Ž•¦M$ÿõo_@d"SÃáoÍåV¤G ´î©¨MîðMšÊ”àåpV[1…bwmÍ&™"Ñ·6)–HÀYÔVP<|¶”äð„žâŽŠBZuú¹µ5[QE¦RExò#Ú[k؇/UTzøt"˜¤ç3.wÚ¼ySóÓL¦Ì¢%ÊI:À~B.TÄwøG~ôýïO g-1Ùïüý‰ÿä Àœ€}õüôåÏy?€CÞÒ€Ì0šq€º (.¦–œN^Ý9ZiAJ¬`H?Mø¸ÓB_*µm6ôA‰&¸ï\*—’‡V_êÐ’±m -ŽÝÐZ–B©W%õy‡Bð½Cð¿?è€O€=P£gúa,6Çaà¿Ý+ƒ1@G|¼Ž«ƒ   K‚šRIˆ]ø¡KªÏÝpŠz­º²RY¯óºÐ ðÆå»;Û»kó¨äQñéÛI£ž8[šl¥*û2Ѳñ8àėÇ’殩Aq8ªf$yÆ–óüUîê ;¿Ð?iÄk‚ -cp¢Êõµëïƒ,iuƒãqõ9F8/°4TWÕP"y÷}NƒDŠöWÉ>UWl{å=»Pú;.t Ñ -¦e•Rä|´¤ÊZ€¬U¡¾3Ø/·!] -Ô6S‚è6åÇ«¥¶ ë±À”Ó,Ór¨êॊôÞX^*i*ЗÐ.ˆ0ôú{ݳþôH áxå^yñvÈóØ¿Æ…¨Ê©Dù"<¼ý÷._ž»QØk´àÛpÐYj´4»ÇÙz•ª°1 µñ>)?þ9ÿôIDATM1öwBAˆµ÷?ž›§\¯†fm§9àêP@ç¾æú>÷jÎлÁ[–š¬v%bÞÞ¸×Ø¸fzÈÂý€þ«®œ@„ÈÇ÷>ÍÝó&¹|#4~šòAR×>lìÚE±Pÿ¿ë*CÑpÕiLfô¤¹~b€âïT<>=uùRÝ»K<Ò´¾4Á¶Á äÑï*Õ„ jhÔƒb¬ÖÏ`4¦öh{b44o5 @~süÛdÆ*i¿Ô›€EêÆÆ#´Å¬¾RO=S+@ñÊéXi§»5I»nw9É+.ä  y»Ç>¦ÝÄò¥m#²EdŠ3¯T|AÜc^äÀæ•ÓD€[•eð5ì¬ê³.9ªä±ö»CÔÅÉý®šÏÏ5E7+ÕGö< -í€y&C¯$öTtÞj) äi£ViZRó/òã_^U”2ežHߨZKev Öh¬©¨(ó”–Lj{¨)}Æ[•GTTÄO&ÈËÙŠŠú±¢¼ž0²ü‘>l;¼®ÉSä)UÔÃIEEžf+j›‰U›"OÚ~8‹Š²O‡ŒEμ€ó'‹™Š"O©¢ÈÒ§AiR¦Ì’p›ûVTe}RQ»Çß©Ó<ý|¦¢&yR+¼µ;§2É¡ózí´fÞI>Ñ]âå¼àu €?S'€4p:VH±" §~€>ß³±=ý]L¼".B’ @å,€-½æÛh÷uéo;¾«Sñƪ||ÅÌ1*…h…@õ!G]Mð‰Ýì BzÌ œ€d¨MÒ²Gÿ‚« è Xv¦¸}'…ÒÅ [~•¿~¯Œ¶ŸF¦;)|Ò8c¡˜D>ìûeôþ%x7«wr7D`¨CÍUé5Öº"­)õõ*³zkùVÕ'Fo`Ÿ³Æ#t¼ííµ+4¼@0í1B»ÄÛ Q7Œ§²RÖ ÏHÝAfñlI<¹HÞ¨G|J¶·Gà¿Ý1"Šc’d¸€Ã½nÝ©ÆàòŒçËNK[¹µ…÷«Yb¾ ¤  ñÙ.êàutÓ슽ü`é©WÒ–c‡kùÊZ´ˆrŒü‡²îô]€8ê“Ð@ ¶Òà±Úº¦Ðû­ž³8SðƒCç‚8ÄMÒ†:¸·'\‹üÁÿ›8ÀuFú¬FíÎrC{ø‰ÿב5;\bH{‚‰4‰DšS,—Sla&ˆKØ~oVOûŠÃˆâ3‹ðrØ0ÓŒ«OeÎé•â{À¿RhFIx'RÓm»ÝXÙÊÃQow÷×Cçq7€oÒ²r»£Ó6˜¬ÀCp%ÌS…Yå«–Gö8˜"k‘tÆ šÂFœ¤QŸŽ¢wÛz7d@)Q‘ß.Ž ãz%ùïñ~‡í~gÚ©ÒÇýi{z»¯åQV­äá'¿³û¥F3£ pä‰â© QYÖ\Þ¨T›N#î$ -!1ã@䉨øK¸®¶n_¸ ´4l @%TíÑ#ó`šÉL,6¯{ƒeÊø™\!î¡Ó”ÀJÂlÔ'™âg:+¹yJ™bsnâí!Oß$Rsü¥ìÈLqaqÏ‚äÍõ[S›H˜MRž2;N+JNN<³Ë6Ê'¬);J¬(²EþMÔÄüd›©qýN3žb*êa6Í“mòô O%‘¢j OVÕ„ÚO¦¨¨X§i÷ù$Eä†gLq]ã&ÉâÈ”Õx‘'·¸ÆÄXWïøÏpþýô¢ŸuxÍ a}œ’¼6@q?p^ac²=ÁÿC\=65œÚçÅ#‰°•l"' °Ž>âðÒvÿíÝÞ. ·ÿ$îã¤<~Ürq@|-þàüR»èDö®ËÏsÜk :ù”ƒ=iVß–3îrjq{QM ÜÐßë/ú}Ÿã{*Žì: ÑCYTm –Ê}m©@1t~ƒˆq­Ϙvû{÷œýýê•¿¼2¿¦6qîò¸û0F­>DëZ›¿GÛûVŸwì3@gEe£ë•:oDÅ ®êÍÆ?7Ô±ðÃW^[·íä1=Ч¸‡@ëZ><ŸŸèp²^­Wï8Ú{ùÕ;N*þÜ|Ã;ˆ·ÛÀË{0„½pz­1"'i™¼µÚz­¡ÂFƒÒSù#$͉wEóU*ÕNù waâ _M'i„RÅ<b°c)gô÷¥¥ÕäiUƒXPc–| ?ÿÆÐsÌaÄ4èô¬”4À$…}Ô{"þÅv/å¦^w©íÌíö Ï³Pr@ÉþWÅóŦÃé !Ý¢A ÁJ…]»qõÒ}/¦Tä >ýNåG“«†a;ÀåA¢+ §Zi9i04ÔjóókIgW®PwþQæÕôy6¨ÙTìkWªU€9äîÃ{GÚÿ‘I=ÿׯ±IPWÑÕ ðžÞoÀé…{÷k~‚l×îè _‚.©{Â5Ö®^ûÿÌ% KAhÿ~Š´lxÀïtM*—w•`É;U€± –PáhÙ[“…ó‹‘$ ×›\kܼÕУˆ,Ö“5”8bk@d/àÊr}ê‡z[e>à6®ŸŒdT§Z}Ô°ï~ -HëÕeÅOB6¦„w)KÞH¦Ž!¦E„KhI”é¥:nñ#ÉÖ¯’@¤Ú=rQÙ¦aJ)Oh¿‰ÄdYýVuš§$”œYª¢°Utõýôêþë!D:¢ À!o€ä†u6OÚÇcµëÀoNSQö¤ž¬¨SIw dkô³ŠÎÜQ,”9B<Á;eO7«p»™äƒ¤UÂFâ¹:Š¢¢|ŠN+jË9›’'R‘P8ÕVQQ¦ÌGPl’¾õ[EEAL´!½þ𙧸Ëô´¢œo‰BI• Š‹ÎñÆyŽÄ¤A…¨ÊíÕ–‚ƒ{Ĥù)´¿Î/¸Çx¹m?TU•{çÒh ¾q’tc0úꪓâ0-ÑÇû;úÀQøYu§Kó*ú½Vt§R›[¨…Óçmë|¤´¸ókù†í°÷ø¨ -ý®ÅëðÅîÃÚÊ:¸í„0NÍ=MØÕÚø¿}R]ÏSoA^ñèúJÑʈ‰èÏ=ÝêÂÍ‚ò†”ÔÎuP] R±]‚:Y Ðj”ú<´©ùNyU°º$o°G'tû(ë¨.I[É=0¦¨—t - \ج.:…'¿Tõ— @M½Ry÷Û7*GˆÂ@`)TŸ±xf¼£8(DeÞ·áò¥k ölØìŸÛŽ:HÀ«Í›üÎÒbûØ÷—FG"»_›_¹/€‡ÿ¹_€¿ü¢vÿþÆýÆFV ƒO«Wbõ ø[» H¸„ £ôCïG®‘ªëSm €êß ×ïÒ¶„hl¨­Ä(} -vAÐ×oÔby> <ª¿à.þ'0ÙšìMw.§byWñe°Ó¿Bi¡ƒ=²HmKòœšàBfª€ËK¹ ¸:iÜòIŽ'ÿX[2/R².sMÀn¡}ÂÑú­XªþŒ,â?Oþiœ¤à :ŠË(x(oJR¨`âž}=RžH†à`…ó|åX j¯ ÍȈä¤-ï6S)Ovi¼à6ÕÉÓÕQm¸wbæ§™,$@dj*¨ö_p»Ý\¶>)O€óD‚gá'mdˆ¯TU¾Ûc™šª¤ØNÿäŽfŸ“s~]}±Ôþç0㢡w´êƒC×å-¡’+À±Ãµ´l½mîÒØì÷Û¨q=´8Átt@ßw8—ت«;ò­†Þ ¾ö´0ĹHW4ü’“Hz ¾¡q‚=G¸÷À}û("iîi¡`š*PS>¾0µ; µ »+×>¼27O+º@;^T Ϧ>%Ö¿ÏgíÆÝ•…|cã³í yÄÔý•áø¸ÑøÙÍpñ¯¢¢¤úSñ>ž?ÿ†Õu)÷®¬aw·xb‚]øø"1eF%n'…ÛiÝÆÝ˜‡n~aeʼnë–W*Õuž;žÉÝGY3Û®¹âìÚ|no žÿ¼d©IHË¢×–>8y-¼9fè/ï•;¥>[ ¿.½æ€À}¾cŒ^¬÷ì¬±çæ°Û>€)X8€Ž+Š—ª€Ä©ý§Úê[#Ú_zT„ BÛ}˜\«`Iþ3qÎêâ”TCK¨Âá!¬¡×öÈÙrçq<>›V·æ%M VkÙB:•ƽës09ûÌ®ep?ÔOͶ}1[¼û6ÅAøb;ñ²{u˜ i‹jËwÔ¶„)Ö -·Å/’ʺöI -ëÿè°–æ@jkÉRÚà6“ÀeTÿ¹ë—.Ù¡´¿I‰ø¨·•;LHð¯À¯-Îý᪠øƒóé/È@±©îŸþØå€Ûdù]? VOhj‹F8€dÔ¨ÄÀŠÌYìš -ÛK!émˆ‰ˆãWͤ¸‰•ÚÊQþS#4£GMœ‰Ú2Ժ؛(®-^†d3÷âø\ñ÷ùO²}d¯/dDSûÃX®6="ƒ† ïHPiÛ¿ý0onB"œö!™…LY X’„ŒsôèŠe2b”Gf(²DÈà–z7-ŠFŠ"ôF›éZžä)ôåÈSŠÔ H·ûs,Чq„Zš8<: &uR“‹Rîõ£‹` é€  –{òn ýw(:A–\×ãas -—»‰÷(n"bgà€7O;•s¹Ð#Ì€<{]^S{Dî­%‡þøÜ­Õ>ö`È}ÎòZíÖÕ+ÕOÓ“´¶vgáú_ÝÓ ðU·P, ,$¬~oîòŸ”ö7Êõ{1t(ü]±£'üU°ƒÁQdšÞG_±=>ñP?Ù)þø—\zO•RŒ}‡ZP–t2Ü&áÀN3Ìë4 œ/£ Ùž"wªÿÛ¸ngÇ¿ÏVùHskžð$I„Éë`'Mº-¾‘l\w#IÑâ*15|j‚k58·ïÛ6/™6“„—Ü ÒÖvB+øLˆ€éš|)ÙÕÞàwâŠféRü¢Éi¢&×[2»';€có´ûó¤$‡|Áy,ÓsWLø¡ŒfÀÔàož–8°åÛÏ*D„ š ôHoóz%;a ™)ôPö#MÓ<¥\5´ß ÎUÔ)dsuä­s£†fê˰”bp±‘gg+jT¯Ð{§õ4©(Ó^sëÈS®þ¦¢Vê“ar›B&Yðg¦¢8Ö¬/7'õÿL’ÓŠJL- -Å85…ä㨨âá :à5þÊÔ¸g¦Pܪ}~AE¥jšTÔ´ ÞYÒ{þš ˆ>ùK¿!ÉÀ?ºÈ À9Â]D¤ÿðÃy¶ÝšŸŸÿÉôÿR ¿bKò:ðÈô*šý(í1Z]gà³1ï÷ÛƒÃïQМ÷¿ßûmÖÕCµï…â†×ÛOÓÊ•Wi¿i´Ùì9ƬüQ«ïüîZRKîUbH¹sØ}rxøDƒ~{oɵ†@ÑBç}¶£õæÑFµTM@G§µj¯3Ûø]5~ Â9dŸtïñ^ðÄÑ´XË#¸sÅ\ªµå*ÕjGúÜÜÕëµû6 õBƒáy¡©àÿþ½÷Öæk»÷þû–Œ8Y¯ê˜»NÐ’}êdG†ú|XÌÕËu_ºí‚dòþ¥ÃA´0f;±´*O]ÞXñÍÐ5Á®_€'¨ÉÜÜÂOkYöôÀuÀ›Õ´ž( ­¯¯¯|8?weþʼKßp¯1›Gèï›hmý'õ<½¥Âñ^´Q­ÒÚë Í ®0©Ö*žóI’ íÖÒÞ °8è–{å´V’c=Û%-ØàJéõXX€sô!\;?µls²ßåÂÎÒêžG­*ëÓúÓbÃê›ûúšõgåC yh¨ñ°Aí:ÝÛzv”[1F÷ß&â„®×’ZY¦l„xImIkͬZI5éÕ¶­fÁ­;Q<…·QlÖVîÔZ ºóûãV8„ø D÷|c;Q@± ðÚÂO%“kÔÝuµôÂ0 Xk¸X¿}À¥4ŸA-r³V{¸2¿6 )I €`ªÛ§Ïtc²SŠK`Ékì]>â -Zel³Ka[àѤ¢fU*Uw¹†ÜòCR!{:*bzyÜ=Ê›7ù±«É'ìdTŽà%üzÓ¬ŒÏXfdË&XÇ/j8 ƒäú†xdë¶³!Øç$qÈ©‘§~‹H]$PÙiÖWP±ÝJOVzíS¢¶·óèÅSCŽ{L~þÀ³•Q òáóRãÓ‰þIö(Å`"Ff-³âó*©á 56RH"Œ7Œ[b%Ø7~­W„D=ü,*ÊÔ¥”ůP‰&¸óåi·Å+$¢<Þ8¡ù¤¢¬”o«ì|E5Ç›·¸»Ø›Çå9»Ho e"ÈÎ}0ÔŠÚ6nÖi ã¬_Q·×ÅÄÌð_äɧ ¦¶RÏí|QÜT„¿g˜¯zJp\•E_ßÑÏù*ò¤ÄÓGûœ¬O³rrÆ0+æ)fHìóÏ”d8gØŸ|ÒàÊd àtŒs?úÀ"ø‹ñ ½_ñ3»¿EÀW©Óžÿý¢çþ¬aÒ§ÍÞO(íÀR{¯Mkì‡ÚùíR‰#ûûå²M;Ú½À'  Á¦ý& Ûñ¥PÑ[®HoW}{µÕî?æZñr òwÃñCÈCçð‰ƒÐ9¸X"]ÈøBbðyâ®íÏhàÀ  ›Õö:]øÃ^ÂàËã ?ÑÅ´ºò7®ðÌeµÚX¿*fZí‰ñ2ºŠN(Pƒ¦|c~­‘~ûdñ -5b­Ò­Æ/]-€+£Ûðˆû|”k5›Ì‡¼ª2†Ì‰tÔHåW<ô<¯»_°Ï^$¯Á+ýŒs1ÂLeO-ü§}Ÿ¤-5o9œéàWyžÿ2Ž£©#b˜åŸ¸hÌšŽhæx.óGŸgU‡°D]@ilø€C#ª•Vš¡TÞÓ+@Ì/•–>rg¹\Z]åð*%+–÷ÈaÐ;Ô­¯õ˜Âî:Å_öÐÞs¾¿UyÄ‹* 6Øéìé“áÔCT¸«1wylZ=*Úá#Ô„Í'«ã MŒ– ÿRûÄäy6¼Ê‡¨{$1(€ì÷Ú·[ß|$^Ýlwg;ù,ÜEgŽÆòS·}I}U©ÖüYuÅ cî° J8ilB}¢Î2Gv -?±’Ž#g½Z«Þ™¯: ²âRý€»àóÚuÝôþ¯^s3Í4wyî½kAèßÄ"’jbÙÊ|ò3˜˜bš -yY`Pþ%ùN䵆îM’´ÖÀ~%JÛ«dÚ²Š+»¡ƒñÚ¤;ŽŠÂV‰K÷xwžk–úÓT±æEà[õ‹s¡á¦¬˜Q0m®@^O°õ«™‹/´‘7xÕÄHNPSîçã-ÒKÿÏJ„±%q#íæÙÖ2¸â.¹¶3τؗIEEžŠžoWŠŒìUce“ãÿÞþ®·‘,KÓD=€‚w*'Br8]ÔMª\HT"H—J`8TÊ‚¦PÈÊ•0én©`é!ŠéçbòjŒæZ*t~‘¿ÁĈfyjªz^s”=sá•sNžÆä]ÞÕOèùç}Þm¤>\þÙ…³(‘ö±mÛþ\ïZk¯½·O®ŸµP ?Œèç×,³Â§ø»˜ ‹ÕF#Sû °øáðâTÿÌFÌïo–D*$TD1nip…óž>G‡ÿሙ«ûݯkâÚ íã)†Ö&V†ç¥§ó‚~o ‘)~BƒÁ~oÅ“ÅÏ{?f¸éyÙ`½ý׬pÀ¿§ÛÙO¿Ä‹Â?¬À•ÞÓO˜ ˆɲCÁ„ R¬ŠÓ“ »ÝsöløýË8ühnnް؈ÕrùÞà§pN/ýÝ›¥[‚ô &*”}³ €5ùæŠå£ ƒòO™‚åm\˜Þ?ìÕ~¶Ú]íyi¾®ø7Ê"¦zø·õJAûvç^•Ú/8R§ÇV€îL\x1_,‰fìÄû=°Ðí¯.õ~ƒ»‚Ø™`pÔKÍdÔAÈáHÀ–öçlB«÷³ Ý[M?ÏǯÆÇI´f‹=½Gu¦V˜Tw[[›ëL(/®ë‚ÅXÕ+ðPPÜXXØj”$#w¤í³üš"@$ÓH 4š487‡-Ûfbôɸª»´,K^tޓևܪ–ë6'qöyñ¼4NAû:+ɲq³æf›nm8ë~ˆlØË¤ø&ÉÇIÚŒ–«Õzå§Þ˜ˆLÑæIZrk7ÏÛÍúZüÍSŒéxì?]]zúTuåÁ}©W$K©˜ûj Hlª&ÖzRM1i`UÏõž>}Ú­­º++ˆ_ÝÕš´zÁ¸Ïl¦¡Aì÷k½5‚ß°qœ«ô?8¬­ eùv5ùv·É ³´“²d> ›¡ØÂ†‡‡æ„èy¼\oÁù‘0ÒæF@3pžöò¤’ŽC:X1×^õFw ¦¥ÇHnx|Ý©×S{³ùAÕÖ‘3¥è¦îô3"j§ -ïE¦ÔÓìäÉÖ…óA?*rZ*O;Ñr2*n𨾠-EcžVÉQE5Õö]QÊ3å¡G“y‚îð¨ÏC}‘¥,Mò¤s!%cnA¡¹ÈЄK¨¦£‰ó²LATT²ãŠÒ™»ÑŽ·N/ÈYUTT4™‚&o€åܸô•©¤Ú>³½AE]T ´*°çfÂÐT?̓ª¨„ŠR– ú"ÅŒCžZÅ’kH«ý΃(˧n¾ˆf§«^ùb*ÕüºÉp÷ÃGh?Ï–³Hø·æÃà°P}‚îáG`/ÀŸ^»ÎøÑÁ­ýgö,¬3J—x«NDÏ<í -Â.Ž{èµüñðÖÙ#L«««ŒíZO\•ŒৈP¸-€W0=Â_ÿàðàPèaQK¾èÕöü:ãŒÍRòž²·0bÁû‡®Ï¦~ ë’i…»˜®uD€Ú(I³Q=9Ç -™$ÛQ]çlñJK§ÅéG Ýêìnm¬Ã¥ì# Q¿µÚ(`qëÓcìÑZ5Rx®H^œ½ðÞd¡Í‰§ÑZÎJm¢&vvi’ÐVÜŠ+ê xò€~XL@ÍÑ'ˆ±º’úøª¿iõÑÇv -ò¼€L1¨ï*HYÚf¼[¸0ÝFwó,*Í|´'Iº­\à7X©Ô+•ÊZ½ùm -§Ç£vT©&Iô´ûThÎ× ßë2%§@Öù•НUÅ<üÂà‹h°T{ÊÒAGHaµ§Oy®ÆZþϨ–p„9þÈöþ¡ü5QU…ê£-õ÷û'+Ý£ÞÁàD"&WômGÍl€eàä™$BÚm°ðÈ'=w_È"€Êckq޽\‚êûÅ‚`Â~Ìt›(1=Kú+ˆ’ä‡c|’â<­ÖU>Ø&]¬P¸Žl^¤ÐÔrÔø8ÎØ·Áºi¡Û+½ðG˜cÆÞí9áp‡=A6ÿ7ÓeÕ)‚› iÍÇé†$€ÆÆºÔÿ`Y°uµ¤ÿÿCûö°zïÀŽ-L.êÌYù!D1ÑŒ]Ö¡># žIºŽTmûχÇ0ÿ;¡ºßûäþªoø_¸Ï$v©ˆ¬F@h„8X£ &àr!ÔjªÙ<ÍöΟ$í¯yV÷e™.‰ñ*w+tªƒ4kÄ_¶6ï–]—Úló©ßD(Çb´ÕÙRµÚHÒÜ.xbZŒŠ1EPЦiSºZ4j¡ñÖîî~ͦ^Ô¬æªk¯ƒEà´=¼•ÎNg¨ÊE€ƤôŠÁ£0Jpïi·Ù£  ,ë‹\@ˆ èiþ$ù42%ö<û§‘²®À¤4K¹¯Ó MÍj½’<õkO{½Ét½þŠ”q¦ª@ÀW!3ˆ/ù@2»ª žøôií©·] l,8 ™U~T]O±,PÇ]æ°ßs¿ï$0"H´èªuQ‹ƒîªäƒÕöáþo$H\àM -^«±ñÑÉàäÀ/˜JOYüÌÃ…Ùm-âÐXžCIbu ƒt1À>ÊúUåš½@¹Ô  ¬Be¢ -ÃÐF(â0”~Ô|À‹{|­±ð¯?ª-^l,°O/€:ˆÀíÛlŒ>þ6º ð7ÕÕõ»µ•G•O^ -"\D/B…!~âáñËYqèËbÓ‹ºLV~|ƒTùåÖˆU¢í&öºŒHàâÙaó6hL\«+Òöi‹øœ*,=… -½Òá ΗI¯Ù®J-NEî"PžLõý_E´C9Ä¥Q²,S;þ¹Ó‡ECq´·›Ž°mÛ`¹À•Ý4·Õg3ÀŸ“Zä)èŠ:× f¨í\!B²Q¦ŒxfBÓ£Œ%›Ùå½ -òz€hÎvæK™âfGüÆy*$ K7)0•ý‰r½M€š¹TÙ0T³õ‚Ä‘<¶ …T_Z«V÷Uççó0ø‰`î#zòí…†4?[Œí}]ÈþÕÿôRñwKhÏfnÅT@sQ}½&x^)®hØ;ÿë ÎÍíF +`ÿŸPÕ¤Ö±H¡üo¨'|œÂx²ÇÖ~7«Ð¢ ’~sr¨×Þë"€°{°ÇUa×?]˜&Ñ=6þ5ÞXÝ\’ÞÙ­Ý_aIûš*p·cßÐvôSæÎ'l1©†y稜Á"K[YSÀ.s¶XOG5¶æòP˜ž Š4.ÏÍÌ”¤ú§ÙÙ)j‹–òÃ_ 9F€¥¢,©êWÜz}=n0g÷BÑf+Zó<ØÈÍR­­ƒšá}cO5¤,ŠF’ 1Àb/w €xÀ#õ‘euú¢[HNW˜ 4>z©Ñw³hys_!sE²@Μ)ÕŸI¤x”&I»¬U¶Ó¡$›þÏTÒRÜ»TÏýÕ¿]•š/@å«•/>ü_KØïp`œ7j½Úàåpïk1ÃÿÁ "êö$°û¯ýà .tñèw¦Š± $óÜHhªð¥îÃO‚¥g"ì;g&ª«³×Ú\—Š­MÌÀÜ5«¡6¡t­ÒT(Ü”˜…Îà¸\B5›TD ä'ªI!¶6‘û.h3nG¥8ߊ‘Êzô©“¢£KK/ß¹Ëz}XD|pG\Xãß$„!€O%Ú‰gneù`åÁ.ä)†‹‹’î–ç˜ `õÞèÊÛ»N™ÁwtbS@øÿÀþŽî}iÊÍW[,™–œ½ÔÒ(ËV‡â‰ƒ_6ì´l*¾MÑSØÙqZÝÉ<ßJ×ÌÁ‹Gxà -©¹³æ«€×x°ñ/ÞÁ¯Ó-R *±t—"ÙzÁ¨]­'O¬'$ª³1Ö§Žä øýÖüÌy‚Ú(– Ó¡þUÝXŒ>}ø ¥ÄÓô*»­Q*Ýw2a]Õ°Bt:á‰k¸")ý¸Þ̯XñMSHøS`jÌSÓý÷8k>ØÎÈ fh¤\6¦÷ƒE¦BE‹Šêœ¦õä;’¦«6Õ¨p†Ež ðºr¬@ˆ4z syfeâþé")䔊WRQͺj¶8’RùÁ%»V¶ÒÏ>»VQRXHõ¢¢TdV7‹·…·†Ý"ôwGÆÖC¼¤`ª(ÖH¤”ËzÂÉý“'V®ˆ2Iª:"T8óÅc„„&’+”³JòzEí<ûÿ¥$<—p¯\*7ª3sAÀ‡ø¡ðÞ‡B}‰GS €ø…z¿d‚ê½ ”$â ùÅ¡&Æ_¿;E° 0Áû®ùH ~O¾æò3Ø¡Ùî ðË:Átoæ{i}tô}ii‡ Ö¢×ûƒ—7/€Xe~žp\ÒAÿÿÉ]i›Kµþ}ˆµ•¾÷ žÃIºX* ×ë/­b)ö¤/Á@ LT¢ôÕ_oØÿúàk)”½Þ}ZC&©·EUvß•;Îè4ÎŽÜUÑ”þVÌî­ÕÎ/[[ë⣋Ò]- -(Êsæí&Ñ²Š®\ª®ã$ÁykK î— 7ÖEd,µÆ™UšógAg‹6Ò¼Qµ< ¢éýjwé3z>?g,̃Ýû²Óöƒd¤Ð;®@m-í—5g •vn#ÄU²VòèòuD~URì⯣qº,¹\1¬¸Tù!T†(«(cn"¤C@”@CÝÕü³x·Ö!BŽÓZ‚µ\RÉ£ì<ô7RîàþÑ|Bí G,³·"\(H ¦¯{{cSÞ¶FxMú|j/Û®£§.ò$M7Ibg8Ì÷ö¼¯‚þ¨¨¨ùÊ…­Æe¤Šâ–’ÀÀ‹ß4ŠL}›¡†èj‘+¢¿ZQéæqöŸšËÙñôü‚”8Zѵë®±¡ÂY`ÌØYáïJEIJ².ñ(ÿ’ìtïÔóŽÓ¬JTt -ém=Š”†zú¢Pä ·U6{Sœä¢ »‘Nè‹Ic˲óöró˜ áÂ”Š©“ @4|vò üt"°{ v~‚ê6°bÆEqd83Þàbò::T`søÃÃýÉ €d #Á?V‚Zßþ¿é‡9}ÿýþ¾¤‚Ÿ -/º÷‰^ûµÐ¤g7³`à· `¡¦W‡Åý…3裊˜$w„þàäH •¾›ççã,ø?2Ÿ²çéÔ¼*Ï„ÞúR·m¹¹T[_±0ÛªzÆ·ê1“ª¬Öø?`Ÿ>)`ÑZ,¥r«Õ9Æßi1{ }R-bK˜àÞgÕªµvÕ̪y€õÆnµÑŠ…þ -¢žËÚÖ®Ä<$‰?bÊO0ð§Õ晾 3Ðk Ò"Ÿ-jkY"Q”A2ÆA±j·sÝD“¤[­Õsqã/h³f ê jäøõ˜A]î3Jªh§É/*õØÃé`_ Ûë?}êi›6±ˆVWWX Û=ZZí³¥RÛŽê¼ÿkƒT{ÕÉÑJ­?xŠ0†ø§ÆóTUÄd•§¿A ÀLÐÓ÷ ÃJˆÔd×MÇ­ƒ'i8aÏï&¥Gh‡l$¡£‰ >ΡJncQªvyÁþûAš0ä` é<ŽÖ¼ &¡ÿ³_ýnhÄr03‚½¬Î@I(QˆCž¿ ª2ˆjh¼íÙ†«mÓAý§^.$ºù]Ã?p "¿n/*>EN;å-Õ’Ú ^âå! Emxa[¼ _ïMEVÞIЗ…KÞt¶“Ÿzó~æ‚‹te;ú½x¥˜­YæVºÇ6±ö·`å&ÈÚrÞ®cn0R\vPêv·ÐCw‹1à½ÑörÛ“ ¨çФywv£C8ŸÜ$Ã7ú@½~ÜF±MDÍb WU*oVWdH+?IhíŽÚÕ\Éã]»øìnfÃüb>_á¦@òu ËNõ7,1Ï :)w4„$6(ç‰ +°™}“Ö›¼ŸË—rDž”+2Åk +wiôØ8a 3å}¿øÁ*J€ý÷C* ÷¶Ï]Ü¡:â´sÖÉ~©{Å:ú˜qH*Aœx½et©¢.òȉ)qT”ó×ò|Mò]x—®Ä…ŠÒ1—q…‚üí¯Ýl|ü Ê•'eÿzEñfFM=y/4¬ì1ž*r½Mi—¤ö¦)e‡ÀAF°¼£WÂý VÚFx½¢ìkEEQF…à“‹íîªIOòãoª™òs?”Œçss÷^³,ÀÄ ü¿l׸ oQ {Å4¸÷÷ø'>ÃVp à¶0qýEGÓQ€B8y¶¿t"][Ê×!“ôu²ðeE´¯21³ÿ~ÿD\¾·Ìaá9ëÊÿ/ùbïxüS±~̵¯„«µÃ· Ò-ËLP²ºý³ùjÝ•þ!SÎ-ô.Ó‡ Rfå¡£ÁA–¾Ë%ç³›¿”êhäYò´NÕ®:‚ZD`ý¡'´îí©5­m ·67ÖAí2‹È§êê¹À¿.ÚV3d’ÿf—Ìß¿°ª`UšÐù¥êÞÌPmc=/—!"&4ô%âw^¬›V\˜:éî2¼3–§Éã,ÌQÿÌ1"K<î!ÌÍ7@ö$9fìÔ¡ýÔŽé -ÉyñÖ>-‰Ä_”Ü/;¿TŠ;êk‚ÿ¢Ï¡ÙÁj”_ýµ¿3N¶2UËSÔw†WµVØ:)àgÌd¨þª¤·î×\}úŸµaºÂ<]yŠe_5)ñ€Ú²OhO·XÜGGµŽA¡àèÄë2°Ô«áôQS“À œÂÿÞRWb§NNÈ Ì4-$Ô»ÉÚ×é#årº©ÞØ DGY¾]gis˜ƒˆßuNϘ¼%Nukç­|ˆ§ÄŽêÇ‹²ñž‡.âu›ØÚÜÊ°à ¼!ô±€´sþhŒ0À¾Bž·÷vÐýß&,†¥) ‹PWÂvÀ’xÁâ⢙ xWF˜x»02?ÓCÃÄNÕlßë5c• `‡b©¾¬„­4ßnž»}Y¯”•cÛþeÑávUÊq*ŒVœ·«;LßW¨þu¨^¡ Å°¸ø/÷Ò¶~pËcKBr/D()Ós›¥_çŤrœTëYfüO`ÿí±á¥)¨$ÂìËÎcƒÎ ‘DWýFiáØMGý^ C’¿>¿tÞ•ó" -Âzx»o›õ쌧ýÏLBBºa¸äÈÒCÂèIϦÕñC¦|çzž(™N-'cu@Há³c¶÷Užé©]ý‡Š -™ÀÓ,ŠÇ¤íREẠÉk -Æ´'Õ€“½Jñ½$OFP²ãðéP¢BЉ_Oﺢ²íef#9µ4MzèB¡¢tÀí+DÌ窨ߺšLíã|RQD¨6UT”êBçj|/vplÜŌ㊢“aÚž1ôÐZœ)Äè9›ñ~2Bý)2*•pˆ…|r4ÞYvE)˜ èb’"ðÏ43n†+ïM€9P€Ò>zX•΀àáÄ`¿‰à–ÄüÅÆÄà¿â¬÷…©0ý-}l`Ù~ñÞˆ]èž<g·#<8<:ÖÆùÜýÞšß#¿‚_"îKg5δÆ#\u)È ÿ=€µCI ‚‘^M|ýH‘ˆÍ Žö8zNÁÀ.«Ëô¼OÍ>‘?XQ†Åh˜`·„Z—Ø{ù±ê ë•JµÉáq»"¦AA³˜HíBaoO* MHDmæñÏÅUYqgA¬¹,æÞÆkPpئZëOQ´Ò†Ø­- ÿ—_Š |I[`aaÚ§x>J_üp¶ÛÓ›IYšáN ½•žŽÄômGÿ¶ú3_Ì5EŽlW“NʶÏl.°WžûHq•ÖPt¥íT§Ñ zÒYDÐDi^UW³Ò‹9#ÏJ¯•´ÿe A’L] j.+ - ±çg¿â²?è×ÐÏiÖ -«k«RÃï¯Ö>)æZ˜ª7IŠ‚ó}=±Š·@—‘LA½–t¯ Ù±¯€¡Ÿm ð÷¯±/´D¸.¦ F½ÚSÅæ¢Örˆí_B¤¿Bü§æáj Tì­œÅ;w Õܨ“Ÿàl£g÷;”º=ÖšÙ¹îF£óüÔ+0ކgø/çÿ8<½È½áyþâ|E4"Q¯iO4"¦“A²¦¾;cñÐ<©ÙÍV?Ó¶o˜»Ü¥ªsÇ’lÄ5uî;sw‘ã ÿo6ÌÅ{Ã,gUõ`̨VãÓÌ‹U¶Bëðlǽ­ ‰‹ˆs·oÏ%á= Nö¾ŸtÄ&ôJ:Y°’’gß$ÑK¸§Ò sÔ½SPGÃÂ1†#˜°š ,Î:Êêí‘˦¾ôÁ÷†8ȲØ3· œµY 00a TGN•Çò¡³ï;‚ ¢o¿ŒëŽ„ÙeÏ-(a;Ë~«J*87XYìÙ§c?’·«#Á@éXl°ƒw6âÜ+) -«_ç@4Þf•NŽÈ —É/©y¬ŽGEä yŒGjÔ..èeÞ©°fÊþ ^o!ž‰ -ÎuaŒ³ÚF[N…<©Ã“'W”^lŒdIO§_èo¢æ ƒõ¥<…zbµ‚‹Š¢-ëéÉ—íeÉ)Nã$SÔ@ˆfRQÎ3wîyš°¡I¯¼+äT 3}wç ¹¹VQâ‹ñƒfá*Vñì(SGÆ"OÔåB‡®“<â´8S¿t-%dò 7>¾½RQd–¶iÆ©aËè±åº,¥#ãûª$i²YN'ÇV}wÓÂX.rŹòit`÷ »¾¶«­/‘Ö‹wçæåeűÓn«%ƒþ"håÕ†Ô»M {ñÝ~¹ô³f£ñ©øüìà |ïH %ºPÇ3?š .žk(ŠÓ­lx~þr<1OaÚ†”Êüq…)0q"vÿ™1D‘QãvD Ý9fO´"<#…6„A`_ÿê.ø¶«Êu†@2ÝßÔ/Z‚˜PD!÷Ð>ùh˜FQ6:ËϾ;ûr*¨«kž_±ê-1Ü×ëw}S"¢ñ~ÿèë•Á FR=¹vö%Hàó±Ú÷²€]|AG]›úz¨¿z"1’…¤ˆKÏö>Á»“ᆀ–$Tè¾ÍAW%€"¦Dh •¡Qž›iÌUãÍTÀœf⺧jÊ’¸ÉPÇ1fœB\³Â †‰N X¡XŸ3U$½ªÿbœ·³6€&Ošj[p¡xä¦)Ý$£µµÙˆª¥dwݪ^ - 1ƒDD¯6©Q@·Šßf¸U¦–2–ˆâ8‹ª¥ˆ!Ô0 š_(/lü)1NÖø³„A# ?Gáà-”Çã³÷þŒÃâé³—/†R-)&»±äé8iŽ‹…*­êuҕφRÃL’»l~­Èl ¸¶°ò›ª -?g߯’KïÌŸ’hÀQ -¤“Ï™¿iÄÆ)-£¢5XsþCø&Ò†Œf…*SáÕÓñã°D½¸º¢–,.!ÐÙètÎÏ^Œ$×(¥Âx^š·—Ç` òÃ#9™"O{†•Ó¡dG"¼CXö^5ë#½sDCOËI¥¬üZeß°jò(ãv”Hä{–»s«1¤Rð¢kÙÙYGÑ㲂èIq‡BNµãúr4.ä ñ q«½Wù(*jü¥ÙS¥T©dÓQ”ü“™– Lç‰õýuŸ‹bº#P)`€7Úø®3;€¯p>~`'P»ÿL!èè×GbÁ:í°;*¼ZOw1âŠ5¯Jgaè¨0מˆ=÷<PK;da€ÚàHjýþo¤ÊöÿAаŸ…Ü?YVÿÐþþÒj÷™^ j`?¢:üVjƒnŸ-õj&#ÁÀR_‡¤†ØdŠ{~)äi õÈ[e ©©âZª&p›LûCÿ×­NyKG[[ÂñÜ™jÜÎŽQïxÔ}8ªÚ%¯™_ÚPȰÒ@&šwoîUÊ8h-6Â&pxiÅéz£TªŠ‹W«kkUQ¥Õ£¦CÜ\I— ¦7ÊÕG9JúãV¼µ oxÀ9/ -ÇœlgÁ>¨`€ÀšÂ]Í„·a=ÇÑnaOßBqs’ â(Œ]T¬Ì:TŽòD"@–ýÏg^ì«ÕÁÆÓ]•¢¾øÛ öôþŠð=L½Ô…ÕU<2%Ö ŽþV*¾º'é GV4©YôV@~Õ¦å¸n#j ªØ“nùðð‹6+ðcA?óh’B°ÖÔ…0èV\¢ÊråÚÀ¬í-¦ñ  TY^[«#VõYþiûÎ%ªV…ÝM¦ŠR=kkº¤5§ååež^®ê`™xAˆ…­Ÿõcúøc}ýtöãyú›7â˜ÕßÌÜì‡3"vsdPÿ!4Sª°ÂsèÝ%ÅÉë|Xš›S̳úQüEðNpÙ÷ý¤çâ|‚¡Š¸ÿK}K@ÞÍFÿ2n·“WêO ßH"Å(ÇJ«Ã—/_êôì%nh¢üÅK±ñÑ‹g£—< +a¥°çߊõŽÇ´üd¶q~>þý«WçãñïÇÃ|4H¸kn àÎ;n¶³ÇJ”°¤9‘ã½úãþøê÷ߟ砜±|ôýËóóóñqÒ\®~ž·Å -@wΫ1‚ç/É:ÈïF.žŸgõÿ¤ì‚ -#åb”ŸŽ…z§ceJ¢J!äIbÄùH½f4ÿåãd;³P·`BiÌGç, .[ÙþO£ñw¯^}ÿòì÷ç/NOõ¢i²]ÿ;AŽŸ@Ùd³BåÏ%2õ[•êËÿ¢\½:õ" ¯Pøt|N¦FbzËì?ªWðÈHeª¬Š[Ðá+ÏÏ_("ŬÒyÑNÒsŒ$­¨(À´¢&T®<åJâèìÅù_Ž–UQ\Õÿ±Jt|ÆÅ»ô *êÜu>>•ö [ª¨ííˆ5—E%QSÏ¿ µ—½øÃTQ篾ËÍŒ]È¡¢²$ªÔ·ÿ©¨¨tDE©(As¶7,*j4/#òüÕyv©(ÇP Iªé|™‹Šzq©¢ÆTÔ UÔþ8ÞþEŽ üb8TEüRò\õ4~©ŠŸ}> -¥––lGé7—*JEà ²"SÇj3ÿå_þøêïý)ß ê¼$€bÀ% ä€ë>·nߺe À½ª×po=2@ÃeßÑ©Eƒ[VÁÑÁ§€N'ÀÅ(ÿÏžíÿ­0«ü /E\ÙHO;mMüøç~‘]ûxìD"AW§â㫟÷ON -ËB¸Jë£ÿ¤öT\~UÌüˆ7H¼°T{æ… íôïq…îêMýþÂà@†Lžž¬ÖÏí4†7¯I;KÑçíØ¨ÂEÕ‘Ci¬é–´.©D^K·ZYU:ùÖFYœT…Û 2Õ ¤°|ôy£¬naãÅŽ.Bnð(p1F+ñ`Ô¨NÄL -úûùú[Æ* yºµ+´Íh1_â`øˆÁKP"…émœSÔ˜‚íK±'@à €;y$U†u2 -  C’¢„…O§Ó0¤©2hO•PËÄ%ü—掴ÈÂhÖiUkŽ¢Î—êFÎï:ÙÎç‘Ä(=ŠÄ -á°hK^c×`6` -€%€K¤UîR×sEaw€®~Z †›§O©mö -h5’ú}öq`%©ÞÑ‘ž¦méeø˜¨‹ è>+3Ë䊀~AÙöƒv;^+±À^¹‡(3ˆ,NÆãdÛ’ S0¿°-vSÈX°®Ã~ô•4Cù¨¤IôÓ(ITÊ,¸,Š%Ô­­é,^«ZÜ@¾[UÕiçç±ß•æ«¥ò쌺·êI¢\ ý¬ª³àwžŸX¢F¤X›j&ÞÁªÃ®ûò{¥[’ˆÔÃNŒ*ËÂô(œøàòçÖ*÷þ¨pâµ :;µQˆ¸œeù7ËËŒ¨Œ¾y.u' ¾h—Ý&ªSnþ„²ïÌÛ•íäÔÍ%j6·›‘^¤r§Î$‰[Tµ·+ǹ«ˆôÝŒIѪ†¤½ÓÆ N7¼$›žä˜o½ZQ‘–ä•åvûsÂGŸS§æ ©ŽE¦°ºµÄÍæCÏ•ö7d -Ÿ¢6‰Eù*:ŽS… h'Úa0Ô_^ÐÆÅ`B¼y›î+š#þºœ¾äW1þ¢^ù»'ÉçÑçÊÔ6©L2‹u A*äÉ[ê9᪨üAÝ5bÅ­’â4¹¢ü¢ÑêX=#O$ç—riêI>iщr,qŒÒsšÛŸWŽÛ“ŠjRQ®'q¹iE%êq8ØøŒatºyJ’¿«ÔÛmÊ@µÍ ¨–î( ™R2•/«7ï<>þæóÒר(½\ýU U™u×DÑ9Ñ*’iE-/·Ýø|#ülKpqE9Oäþ‰+*IûÁç¹²@7˜æIáÍFB®¨÷¦¹ò]OÞ½°H˜Z˜ˆ`: àŠ€úîíÆºȇ1£|øÖÕâB¸ÎK·‚ùX}öl²€Ïg"¯€Á¾nw¥  NŠiy\¯y´]lð>bÞV|BÝïÛ›‘|)‡ƒ“£Á‘n®² ¯ýDájŸ1„!G'GL³ÐÕ–ž*BÞ#É 3€.c:V)ý©€I Hï¨VËâH*’zPR€bØDV/nЮ ×ÙßÅŠ¼X—‰ßÝÏÔn’J%FcçÝòÜÂEËpïAjH³¸´!hLpÚu „(¦íozö}– Mð¢´É¨ÁZ:â4{ä3 £ããü·y?Q›ª×·¥r~^¯Hžá’™lº—±–̹Ûa%@ÚbUÛÅTZ’ÀˆõzE‘v§^òTWÑû! -Šê/"\®‡"UúBp‘­euÕS‘§¢Â -rE¹ - (âà"™WªI7]Œ!SkEE] -íXxóY]¾TQ¾§Uà‡!eHÒˆ²Ië¢ú”x¿!E¡‘)î¿ÇgM ýÂàY/Ï(–˜X®ùHt¿ð0ØO¾<' |erÉwK·‚o>*üÔÀ¼•¯_? ~¬Ãé¦4´£Ciæú#ˆXî~îR.ø–V¦ -ÔÑí-Z0¬ë½à…+Þà°w"ruÿð¿'…a%«ïÀ„Šù™˜úêRÀ¦>Âyæ’tŠþ¯hõnÁ…}…}Oó—nÂ_˜°- ™ï ìÅùc6çþ?VÓnj³=ž$@¨4šq+϶ŒÏ´¦ Î…ç/ËJk©tþ€ÿVÿÍ—§ËöXë–¥[z4‰t&Mœµã·ÎY(M‘nmĘ „*Ha€ðxœçù9¨¢'v¶½?¥B$6î!èIDÆÜMD@ÛõòKľ´žAðÙV–­!Øâa‰GôË–‹Q×+QZ,@jjeQS¸*×ááxô…÷59e°p|Úa4 #ÜEó¯ý­ên¥¶Š‰_•ÐßÕÿÒר}h(øª¢¼®·¿ªûBvF0m  òY5H!~£:èÚaÿpÀÌä ¤À¥.­–'X?ð’@ö.hïyRÏFi¼0w»ìµ”Yã¡Å˜‡‡m BØ/ÍØÞÁ1"^ž'õô,/BÍ´l;AXvöö$:ÿçïqJc©>®oq~\ýÍ` *7ª‹®uÛj£\š¹ÇLÓݰ0ëöéOĬý7ÑíEµBU›JH’ÜTúDî&S ñ¢ZýW˜øÆi€„¯‹§Eý¿/Iýs=ɳ'Ùô2 ¢ˆ’·ÎŽŸçùýv¹þ9ºjÓ·:„¸ñ¼:;¿u¤Ÿbm ͺ½³ÓþEýÁôOµñ¹5¤Š=±±¶Ý–¦ùØJœÞŽj'íãíÊø¹5P¢@8vßu|˜iI‰õc)‘Ò—Q\ƒ‘Ïbp[²âyûÁ7Ù“'67èyGAº$(J»”4x\ Ûª ‚ë–½ƒôžvjAÓ&õ—g˜ïv.y4û†ÈõŽ–ÚªüâøXʬdÇÑùË‘²òD™"M–+g¢DRaÒv^9þ'§Çla"°sÒ>ÖÕ I‡¬¥¶š„ëí PQãe)æ!OTW/WTžýâA=ÒszÝÎc*Îy"5ö‘aðÇU”}ÞBE!â¶IÔñåzvìwÅÛ”)**m?N9wE‰Ä–Ûy}y<ñ¸¹¢ÐÞœ©ñŸmç$ÿRE%Ëù±šÂõŠò þY}YϹ®Óüy¸GEéPQ#UÔØE§¥L…ŠÚi··+*5ûûågßíDâ<YUEéû¢¢²ãÊ7ÑqpBßïÛ¾°€úåF™YÞéf>¸_üù'\œHœáX8èéo2 -h‡/Ièñ¾„þõ!{û¿Þ‘W„~.È_]é Xîm_€Ì\~æm‰¼\€4»ŸIw_ÅF —õÿž‚Uìû½Áo<Ìküûñ,8 -ÛËýû(ÔII¸Žú5%ÆÑ -‚¤2êHÇÇQ® -@£u™h&¡E‹'3çñ•²®ê+ÔvÕTGJ ŽÕq"©Î•†0NмàiÚhƒ¡ijÑÝNZ*Å…ö¿»ûÅ=…RƶðÜÓì±`!«VK¥ùj‘&Ñf¾–§‚qq¡Ò.#ÌPÜ4ª0-†©‡/ÎÏÕ†·«m¥>jTí™™ùÃ16musq’úvvnw½»°,bðŽšŸó6©š,’§ÑKA~ëK#œpèGÍ>®/'£1‰í*p=©deìÊ*`8ü.Ë…tÇ/q:ÓCYg/­öjKOŸªæðX• :,ä€%&jö_¯HÓG}— ÀàÐ!Ö.Æ ´ÿ§ªRióªõÞสZaX1ˆy~’K™,ÀJlú(‘‚–† ¦¡vxrUp¹]"VŠc! ;å…†@Rx©Â–@f¿ uç2…#á?=× Àw -ì2Q¡ñ ¿' - -¥“Å•9–†ìt 1PÃoÓ>ÿ"áùá¢ú¬.4ʳ%vVg¾~ÐÅ?`ξD€‰ÍþfºÛ@Ì”°Y“¬ôƒý¬8´±¾¾¶l”f抙(cXïïê_øL¦'Ø@Þ›Æç¯¾ÿ—ó³æ/ÒüÜãç°Ä,û'ø¨ØïЗÎÏw>gGôÙ;+W‚ÉŽÎ?¯ÎÏ¿ÿþ÷çŠìl8ÌÏFùó½¼£ÈÀÖÕQ²]ßÉŸ+>-ðét΂ Ðyqþý«ï¿;^|ÿÊaýBñüQ¾SÏþø§sÆ´’áÜ¥øÿOcžÅ(M¿apþx¥ùÙÿ®„9Szã«W£v”eãWßZ2$O§ ~žë‡hFÿï,ZŽÒöh$ÜÉœ'²¬ÿ<ÎG{{óWßÿòûï‰ë»Ñ(?=Ï‘9‡Î”’úûWíí‰`w|>øtö†ãïsûõñr>¿ú~üÝ+åXüŒØG£jrö§ïÓ·ß*5Œ©ìuÞjþ¿F*Úo G¸Ç[.TÔÏÿ)’Ä¥Š2’)òDE¯¸óqÕ“ÇÙ?_T”¡{x¦Š**fU™úþl4<«¸U•K˜jçÏT¥ˆŠzAù 7íðb4â—Š"½BèÊ·ëÏÿô_\s®¨Ö.ïä_Qè‡Y„*eWTîŠÒÛò=Wo|õê?¶#5­WN«Ò ž«õ`´t¦FÿÒVEµÛžýMEnï8©QQcåI™"®ñPI ¢Ôø^ŒCžþóyºý`»¨(ò4ÄQD5T†ŠRiŒ_¾:›TÔ7ßäËéwEEB“z7Ýbi× €g\± úCFý›|.[Dà{!èËÏøž\c€ZK½ga_W«Ï¯Ÿ=;°ÙEí냣“Á@2@±úš¿Ã¤-¼wxÆú¢w>,¬ŒúöWÅðWYÐ.vßgOl÷ßeM9€œõàºl- Lˆ© aö¿V,¨]½ªp´¿Ò;´¬0Ø*}w¨îÛÍv€|¸¯Hð*þ,JЛÒÏ„–¬ö -VÁaì8!«UHùMØÏw ¬O›;#¡÷†ø3˩؀d‰¨€Ü .Ò´<»n>œîn}!–ÌmIøLWõ~anUfKs¥F”îæuÂÆÆÖV%“º¾¾±a%θã81»’M€h}pQÐQ©¨Õé d¾¤ÖQ*a­[®V·“ŒœÒŸE2ãG -$4â©€4Ž$:çî)[»[ÁíA9Ë•Öz¢÷9»£(:ÃYFº2¢„uiçlô¼¹c›ÀSGzÀZ”§µý§ýÚ -ë-Ûp€_]YYº/‰à“PÇVßÔ X¿ A·wèzG­W[Àª¤ûžÒuÀ¤CVBòì­0M$õ¸Z éäèïÕ¨ - ÀE0¥Îp§Þî¤ë IÖ^ÓÑuåüÿ’é°(y?¡ÜÚ-”+YöJBKÁذ£Êpqtp)Rÿÿ÷:ÍJSFCàïQqÃ~~DÔ–¿k’È«ÅÆ¢D*ª,¤Æ1´˜y¥>iáô7ÓíEìE&·7Z™ˆÕ LÄÛ¸{K2 ¢$Fëû¬÷;ù 4=€|ârøAt:Š’ŒsEö¯¥í†V¤RÓßÛQ”äÏÓÇR(;øÊSâ -¼«.!yK%ØÈgÈ‹°‚Ûé·;õz"4qF‘ÒÌ_ü„ÿ "f§£å4ïàÒE¥MâBì§Ûë¯eý²ÒrŠxuÉyZ?¶½¬Ü÷M–š[ù¨Yo¶óÇ4 ƒ[‡"Wž²©=y²ô<ÉSAz]~Üd'~Ïk ñä‰9•u¤?&œÊÛì•„§[!£ÂÙEHùã Ø ó'3+P°Èþ(¯§Ç…û%å&øCnPYöÇ´¾½£4á ˜£…¾ Xw™pp¹¢˜ hBdêøˆ-õF…ü _Ï„´Rç“<]TԈŵ„Ö¼’)½Ñ©fFÁ¤¢ŠLé*Þ[“X¾KêÙ†EX$OûçÍÏUnLˆÀ{äÒ£´M.y¦¨0åáô"ÉÔ”Èíí±4;/ -4‡w|ÔOo¿æШ~ôan²¼æpɸë?€z<Ì(Wïáüâà*ò'áÈ©a€2P*P½lÀóÿ×HÖÚB «Æà.·z¦€Vâ'hç,/µ ÄG@¤×>1H íÑÿáäŠöPjÝop ì ÃnÿDÈÎò/GGƒgƒ#æò‘AA<˜ÁÆðF„~o€4 ¸ž -4z=°3ËŽÓJ”ƒùéÖgÞ#ØI%ê—~.>ý8‘ÄI³êòxYQ®ô´"PÿŒüPÎ -A‰iÒâ[i£<öf £ýE»ÚŒ%EœFq£„¥|l›¼¸¿b\,/,.¬7æó­ÆÂBcs‹a·û¢£ÑüCÓãKê&J—x=âIÞåõM1ÏWí$ŸÛ;W¹À‰6ª–æfnÍ–Ù¥0R~’¹s•çkͰw…^,È"EÏKLÒÚÒµ„þÉ(¢ÑëÛâtΤà=n4;ÞÙíŒFgyXˆ>MÑñ¥ó[XYù[á¿äû+«'¸oô»Ù!ÕÔ$¬2}°ösÐÅ>š¿Û MÝÚ'4Ý•”GC¢éæà„1"µ¡ÚÊ*¢BÑNŽNŽþ§#K¡ '´×ÝX`ëÄE¶Är.Èó6;B›°ÔK(èP«á|7e4ú4c¤Õ)`ÁŒ™ån #}¡£jj~,¦¤p±íB¬ênàyÇBÿõ`´Ø(o¬ŸçJq! êTÝž†fଷ€â›)X~ù«¯~Éz­­][60ÿ#~xí*[Ê·Êwï(> ž(Qð=ÊésÃşܾÍbv„÷ùˆÔJ¾g=ùK°Rã¡lGi”ä'E¤z§ˆC(­ZùU®„P®ý0vU¯&VÄ==ÌZ#fÎX£Ù5:Mx,*é(ÝÃiÎ×ãA e‘ï*ë <‡Jó7§]#N•ô;€+–L$wÂtæ(^åLpœÔ§ûL°PÚ[bÙcùkEéÅ¡K[`ä -¡Zò·]QÅUäSsÊm9õqRGv/*ê¤~ýÁ­¹¹…ë³ìpÍð¶½&³ì?€ýôT_A$˜ÂRÀÌØ6”÷Š5a¬HG¿>/^«û‡GÝbv¿À¿»ð nÙhaûGÏØ÷…k¶ -@ Üàű¤Ïs‘=}‰hÀúöÿDÑK÷þ ññ;d(X*õº®$€®Bö¨…8‹!c°ŒN÷{ø£ ­šU”ûø¶xsVŸ2xÄfkIÏFLL˜p÷„²sVó¥1\ž­5ÅY·ÄXh¸]ÑÅ/x—Ž*=˳%Ç -R'çyÚŒªÕH±‰)ë µLXÀ–p6Õê^º) ØØtÏ…h•nOt+5oNÜ7÷¤ÐtvÃêBzØË 4b)D£$=Ç—ðñãÌËØ2¾•nÄÔµªàùjuM¢«Õ|“íÔã<YûU¿Ršrylœ ªË>²]mŠ]W°‰†<¥­À.yZ¬[og‰¤õÿJ–©”B¯Ãü¿ô×’VVÐÿü×?þ1öI0DÂã.váO:ûRÿ© Bl(LÓèIÀ¬þ÷÷kKÕPpö§-r¦öÑ]ÂÉK’÷¸É–€4¿n×…w‰:gÁ°ÀÎIª ªik‹©tu BqسêR™õ3ÅÊ&ÔŠØFsô2ôtŠŒ›á§Oÿ.#ì; ·Üú"ýuçý>¡`þÏíä•J‰f@‘ðå3±q~¥úÿ?P–Õ Íû ÍÝ™p4 wÆì ËtJ[ÁwG&üߤþæÑ/¥•ÓØoôíqTÍN‘]±˜Vqùú8ê{çÑ£É &È‘$º†ÇшÕóÃÝø3n¦T<[Hæ/lÁ7tùVÈ©*ò¤LIÆJæt¦ˆâ(K*Û*A“.9¯Üöcz.d^˜œ~Á0e¦R¨&Êbˆ <£‡ôBd*Ô}2Œi„hI‰þÍcv[¯¢ä•˜ -("OJ&_úQ -îµu_TÄ !‰¦¨¨3k„×ëEIjb‡åð×Âe¾\Qa µ«\¨˜Ék6ª¯ç¸` íÌ}×a(Ò %ª©)Ý&½¤›â¢qD,ü?©(öžæ‰‹y[5b˜äRE9‰zOˆ‰·) _QQ¼ŸøüëƒíŠÁé픹ø1òÄ#D@±;Nìœ_TÔ»IýZ€xÔµY^àÂ@xïC ×|5dà×>Âò‹¾/-`‰À_·`®Lá³ã ž€à4 Vc¸áíƒú^ÐÇ߯~FßÅŒ÷Ã-ëî/õ~Óß?K7ᒀ (gÈ÷ðÖ1ÿ ý÷ö?©Ùó t1ï üòžþðx!áH ]Œÿ¬FOŠ-•]jêþâôÙ#ÉžTSÄà7ª‡ º-\Ê›Ûùùyuþýq²Õ“vž÷½]Š÷ÔìÁwU·¶66aÖ…‚L®2aá^k«ÏÍ…í}Ã[±RÅQT]®T›éhXˆ!›Ê‹ëëâÏÆ€ ®?¬vÒxCNijˆ0š´Ú6K¿Ä M÷¤ÏDâFì°AÁÝòºÚdgÜÜ‘°ÜÉA'?Ë·eÉ+ÃtSç>Ôë^ð¦R©nÿT2ÉgÞ| ÿ›s*>NH§y_Öy‘=¨Gíäs³èÌ«£“ w•’„êÍ6#k©}ÔŸâH¿ õÿ¯ÿ?þïVÐá·ÑjX1H-fµ78|úT'Ý`Pý«®%íuUéýîÊjÏ&€ý-‡F¡ošÌêêaïõØýG¡' Õ&€££n(¶)eùÙN]iÜ(#,,ªÈ{Ì´"¡ÿï~§¯Só:òÇ3p7Îq}Ùþ|È¡\ß5 ü«ÎïTØ® ø ] °WÔ ÏÚ«_öÌ¢u2’ð­:ËÃ9hàÛ’¨/¾ ±xh+‰ÚÉwÎ!½ó8úF­>¤Ó‡Œóë~ÁvžÊ¾mW¦ÁЍüˆÓnˆ&O…¤”(k·ËYõj{ @¸gJ%‚T`I^ hC-ñ¥·`r4ì’ð«¯Õ4!H¯®]ª¨"SþæÑŽjŠÃ1ÉõcÙ(¢‡ªæVRæD!åEbqÿS¤üs‹D;*ªÍÒ‡“Š*šŸóä€ÒÎãz”§O$¸„g'"ͯô‰lå+äJw;mªñNrH?V&ÕAY£¢D«é?å°ï uk àX)¯Í¨zŒïô@¤‡ÇèNìSø/΋Cßñy ‚À?pZÛà«ÒÔñ Këê׼¿¯{€ß‡(æX”•Yõ7è-y5ü¸Ìý÷¿îî+¦ €à–öÙXÆã ‡‡L Ðë­ÞNª„BÀ¾»´ÊT€'è)üÔښð_5ÐéŒF»Q…Iv®þ‚é@r{8)¸±Ž˜Ûâ ˜ÌÓ'Rr_2§eZ«j¸ï?Êây¡âúÆ¢hÒØ -ÐO+(šÀùñê%-Ƙ@X­W>OIyTT›[8ž+"t=£‹Xd(W¥<‹_ëY^ëÆ„Ššòäž6!¢§  €2µ‡¬+FÏ Ãu¾Kוః¡7$¤èQt‚JTG4©ÌWKóF$¥B߆­­­MDg¥C]±gõÕ%§@Ö, ÍãÞÃÁéËöƒ(ª´ÃN2æ‰F­¶ôc‰÷ÿ÷ï~¼²ß•hÈ M··ÚÅ3¦ UIÞïNz H4Äjäá5Œý£Õ%|Œú…§ŸÚŽ‚Ý¥-¤Žþþï-Z†– -üŸô‚FI5ë¤ Œ¯© -È(Æšìlx6ü‡üþûÿò‡ß ¿‚‘©ôœ1•)œ@ǺÒgõá‹¢ePC -g ±”Ð9U¡‹‹[|iÓFQ¨Q£Æ6¤ëü|XnÌÍ©ò…ÿ±Å9w{É·1„)o´lˆùÏ”ö!@1‚€€›Azo¦¼,¸L5}"÷—ÏÃ%}l œNn}a8xŸOaØý??¿b ;,X·áŠm—«}»hC@묦É/…Ú¿Påï!cî€ÞgK¸5òNÝÇÑ ¦K_GË—-ŠÐ/6ñnA¢¢)‹ÛU·’ -t@Ð'=}n €Óª ³_z˜Ý³q™ÍÏÄõÕN€®p‡þ‰ðÈ+ƒ©¥œª¥¼f -mü6 €Mú¥u¹å=¾làkõO‚ón˜yJ>»°jPè¤Ûüd7+,!Þ@‘' ‚`x¬Ò˜Zø×pÊÃÖzƒ Tå«„¨9 ™Â¤fR'²¨(NØGØå0X¾ô@‘ƒ¯£Q(ý&;¸6@ºÍe%صے`_ W“úŠGƒà13× €Iï!dx¦š|xÝ`•~»bÕÒ"€¢Tƒ  <ûç´’¾Ä¿õý,î×Rá¯X¦{„!€×g¼î0Ý 0à=_A׿ ùºÁ -þ¤‡!ÀlŸ Âj«b­b²Æ÷þaoU ß/F÷aB …ÙÖåðÎÛ?`ƒ oýã¸+'bÐ ÚCàû'’ 絆j‡‡Gµ•ÞÁ!CÂG}½Z¯’À|€•Õ§ÌÐU ÜÒ÷>5ÞbJZ²¥ibînvöù G:̲á(Ï¥à -³ñùï¿;ÅýCV°Š–šÅñï ±R©g ;i/"Ï÷£K¶ÄÒãÙ†”0.§1«h¬é5uì¡ï·àÊøûo…ÖÆ+å5Ü uÙ€È]ÔøãN y 03®ךnà‚i¬ XÞ -s9UÛW¾Ôe¥îœŽÓ8j”ï•Áv0ó=fh¿sW¢§å¸Ek ÖÊ(Í–fçJ¥ù0EÞbŒ -îEå/óq;¢DáÚ훿@J•z];­/Œ†­é•2¡Ûqÿ%,Õþ¶öõàéSFlúhùèÿ¨ýlÅžj1½¥¥•``¸±®Ëtv… ‚]Ï´NÉ‚ûýÕÕýßèÔ¢`?HÝK6€i ‡~—ç>¸s—AZÚHëì«üåËßýªó¿uþåq;û’7À¸Qiä­4^oè* ¦÷Â»Ô -«ÕŽh¢8ТF‘·0B4‘0! @À"m5•¢Acµüÿh£Á”wrHO1È›ÕàA©  (ij@%晥”ªŒFq”ëçYR­37Šä’ -ÒÁŸ×ÅêÍ£Ñã„ÕƒB±ÊmméÇÿõÿǽòµ¤;¼8˜ÈÏ0Öþ—°õýûÿ±ßëªÒñ¤¾{_#ñ¹ÙÑ]϶%á ¸ÏÂÑKÝÃ+SÚÜtpEð\uò+ÔÊ^±Àn¼x‡e%mgdÆ®IgðRâöEñ¦ (yä1_²Tv©º|#¡ÔظX‚‘…€\4›ib(•%îba‚èõø²¾.Žðf @«¥šŠãaÖy)pSõÚ2$ø÷æU¼Ê~€·î0 pîö_)&âDå#ÿÅÙkúâà–¹ü{ ŽßÝÝÿs»y£€–£_,^ª°P,í€+Ðä—Zx‹ Lq+ʾh’Æë‰àŒHC>,Úä7bŠçïÕcn·¬Â/‰ iÖ7¯N‡W-ú„p¢S€• ¤¤ ‰xEH‰Äàf @‚ <¦»dË·ýÜe üFÇW,f j«!0y}B¡?Juûà‰GúÈ—ëôý-é!OEuÂ)ãt!ºdÐ{œVUTõÂpQQ”^Xx/yÅðÜC§žØâGôŒÈE¯Ç¾ ºËÜI°+ª°84udýobÊqwl¸pÖ‚ôrÞfSÍðý-ŽŠ'uÙp1@°·RѯÃÚî€×÷˜Xôƒp} ’ ¼@€x¾~§ß`þäbq0ñà›Úà·:ÄOì—׺¸îÐñk]¾…û&poX*ˆ'ÙHâ€0]gì/_í-}2øÆËz˜zíüµ¿ÿ¬¿ÚíId6€^wÀˆãU8Áó½IW¿'¡BÁ’)H/VGÅ–±•›*Øl¼‹·T?’ga¿¡Ö¤È¶Ûì ´ý6ËŽÛãѵi§–;[­/Ô8Àë8}T-§ÆÚ…òí»¡bÑb‚c*Çjl›i£TŤñdçx'kVš~ùÿùEÿW²ÖêBQ¢¾¬6±!‰$r¬aܺBÓÊëéP¡àôvó¾{waC­]½'—`à_¤Xâˆ6‚­›ÜëgsÓ~«5Š«mìA/eâ“K^´ß(¶#Kiú"«“"˜œÀ­¾c¤_Asé´žŸJEÞMÖ*{ß=’¢?j¨åû÷¥×¯¸EÙr£JW•ªMõj+K~ÿ^í¥ß{ú€¶àæÔ¯ö˜!J€Hm ¿ºŠ)ª%1UHÈ¢¶ˆªv.(Û=OêÏóÖÆâíÛwî–oQ‰+“ÎKÁÕ˜Ç/ÿñû3Vb NíCu]øa¦ª'ó0B…úþÓ¤oP „bþ{øÃ2˜+²…Ô§7HÇ¥ò^«ƒ“iy#@˜€½^ýØ€7Ñ­–rÁ_«ã-ÎZ:´@!^4-¶Þ›)á¨8Qê ýí_§ü×®üù¢›ãûPÀ1Ñi&ÿ»Ú/½G—ù‡ýê 6O¹aPi"nÓ‡Š7pWTüp3ÿUçå;|¤q«vÂm}ñì…@q†Ç., ÷#ÅSNZ,1G¤üs8$ï¼f(r•î -~‚P¯ç/ô-BOpT"&Ÿs½ÜÄÛ|xÊW $|ë·X–£0§_÷@èqcàŠíŠ 0~ˆ ø¼Ë0¼l ¤gï°L|œXgjÕqÄYÃQÑ—bs}8O×,\@ -½ÑÀ¿}‚@\vÖ¥âBóSã“ 60(…EªI÷nº×¶€5œ¥:ßTyÆqÙÐú.­¤çizú>€Ð«Ýù®¬h @ð¸fxÓ^ L}„ðú€ðÞû/üÙ`øŸ ègb–m°ç‘øΗja|àtYÔE¬W€/E¡{{î1j„º<ìǯî‰Ð}eÿ™ð_Ź?Ñ»ƒà¨ïÆáOñëuøváæè­ü¯ -GÐ#F=%µQGÞ|… ¡Sï›cüÇ«ÅÝ4´q_ýXnÖëkQ3MÚ¬]Õ–r@íRm«G«f©Ž‚{IŒŒKéú:Î{¸h7Bƒ ¶yý·NÇãT¥?[n¤éžÎõÍŠá‰Sptô‚“&q´V­ÏÎG³ËIçðFœ Ýn²!Ëjº(s¢IÙ H½d-c•^ð_,ž¹ 8ªÛ$¿×Ã^áBÄë·<l4pGd-ã‘mû üŸ»åeâïòˆôc‰N#Ûèzô—v•I“nù.ki™'JÏ >’T%ÿ@9š­ -åÇ?þïî¯ümW²ÑñZÙ{''’ìì‚íŸÕý-ì÷V%@È ˜Š06©¨Q±¬@hD¢þ… À@ÿ(0¡K´+U#ÊÆ­ÍÆÜí;åÅb)@UÓÞ8tLåG‚N&eú»gB9„7wó\pÔ¨$ä}«=!ÄqÖ¬¶Ù_yJQX8òî7ª0fªhU#iÀÉë[år¶ÅSöÊè¬þ#05üM"@y¶íU&Óø³lK íB´±Î2ë¨x‰Üš[˜˜¤Þ3ÕÏÑZÙgºŸ¾™ˆP oÄ]ââ-åö}>*’ ¼Å`Ppøˆ_²Xî¨>õJTÚòÙ»} Pº§û7ú<˜ømYqù%"ޫLjnGÚòÔ ¤Yß¼ú’€Y‚U î+O>¶ì]S,yEH˜óôF[Â#¾¨ËÜös×,àWfpGqOñ…œ+yŠU @­ ýE>8ᔇo°°˜½Ã t­Öîÿê÷’W,Êâ—¶µË'„„é@¿W-f¶¡¢ - €®†Š² ÈSx4ø\X¸Hï!dxÛtºP0©&¥U?Û_¶8¯|(=8©¨ C“Š2¬¼™Š^­.ª¾yÙP̸² ðÞ‡nð°¼]ŒôÅy€ü‰%À‚&>| - €Å{ö-–][YH±:<:ðA¢?ÛWÏ=~³§!XšKqwlÀ·žÇ&ptrp ™ÂL]P@<âÜ_׺_±lKô—–<âoÑbuei¥ÆšA€ ›Èèp Æ£j<EíS*ÒUDÍëL;T5ÄQµŽŒ€£¿mwjä>©ÚBWõíI†+)P3.é%ž¥Í4@ê»#R˜ òáh4J¢5tmžv$¼Þ­K‰B%úq¥ÿaG¹Ðô¹’ÔëÅ툅JlÁ’¾iÊøžÇB–¶µ‡¶ö}ÕvÁ‰<É$zñ^ý ·¼Ð(EJöÏaþ Ï ‹pêZ»Q4–°Ž{ {’~e)ˆÀyÁ^Š›[£­ê£—¡K¨»Ž’Q».¥¤Djït¢¬ó*•LM—‹™Ó¬VÉ0¶ùY/¿c)–VT“Ô²›€ý8V—tØ;ø÷¶1õŸúº¤<Ôþp@Òƒh%ãjCj2œŽ—m\ßw/® -õì|¸µq÷ÎÝÉ:®ëNžŸŠÅ¡RÂfLlÚî[–ÁZ£œõÑ òí@º¹×åºÁ -i -ÍŽ¡íÊ79ú‰ªI‰*7ÒþÂHHÝÚôuUâV«Qíä[s ¶×3¨ƒ#€CðÀ RÀí É`}hâ[â ?D>‰ëµ‘ÅFõV£áèæ¤]ذÀˆ>œN~Ç3èöí–´«÷úÐÑDø$ÿf:ÿtB§‘®ø& wEAƒ“ªà¿ -{¨»Á¹n¸Õ 0\à[4±œ•᱋YÆ•¢ƒøŠàÊ,] Ä;¯ÍÐw¥0NfE;U,šú5úåÇÃoó(K`ÄáÃ÷…bI§.Àôº÷DÇX¤šÜì N°nê"Ð[î]ó 0ð¦YÐë|&Ó õ嗖ךҦÝu ·!ÇkWÿTT˜pÝ -ØÀ³5Þàpi€/†Ôù¦ÊcRQ—}ÚU,®(‡}#Z]ýïõ½–?ú0 ¼—À% Øþ±ñž/ þ è6 §^ ô7˵'àDËBxVžþOX!(Ì0IO[²êÞeW dâÖ€ÚšâÃÝ ÷–ýï˜ àwè÷¯÷÷¿–DÁð¿ÓÀK+ºÈä¤QMð¯3A†žÒ#±×ôÏÒï¤ÞI×>wêçE½Ra”=<‡]`ê•Jµ·óñÙKµV·Ÿ4mדQèRœ»ùsÍö~?^Ó«Ô²7íD¶Èz‹1šç»ÖÿÁ#–ßL«Š4镵2’ÔÊ¢(‹?e|ºØ¸Fø¿>Ì•7˜(ýÌJת[w;5éѨªÎ™Ô£öpl~ f/ÆþSôdÈÂ@ÞõH±ÇÕù5p/LP˜+©ÈñQ_˜mÍ^À®:ªö+À’ÔþÞþÉQ·û´_;²{`_aYŒ‚v¡†eš Ò­‘z_âXD[3]¶ xIíËôâìOùv®Î/UÛk¨¤ðV”¤­\C€®2d¯s·¬dþb¼—}›dù·Ãñ÷¯^ßÙË1º†t V2ç‰<Û®'Çô{}3é2Éø -Ç»iœlµ¨<šBš®#¸nÄK@2%p)“cïï(QLÂØ2@}÷ &€¹ æa¤ZÚêx|f+&1ª ~_csfŽU§ÔܹË:|$eHòYø ¤3óH‚ðû}ÔŸh'Xâ-vT:ø¼fP_á>§þQªZnðh_ñXú2™Ö³ºÿºàÒ:ª)‡õ‹MŠÄMÙ#;…b©xCšõÍ«/ù Ð\(–¼ãBP$ê šo™8ᯘð^>|[¡8Q,§€×}T>¼"U$È®ûðçšø!>®¨8ˆNyØ EEy½Hn´¸|ôoy;k=þÎï%Á`+XÈÌ/[_†¨\ôŠæuuÀâ–žW_|Ý È“âÐïu ÷€LqÞöž>†{n¥:­¨Ë€JúÏïžðEÑ¥M]³³Þ/ Á`!ü=ËüûôÊŸ( \µ³÷{56ïAAG3?<ò¾ÿGú Ä˹%üïöÙ’Ÿ@\¼Ø1„SÅC¸ÚþQÿäˆÕûŽj’ÍÓ»x…ÿh‡«¬0ÀpZa­¿z¿†v‡ ‚`iué~­w(¥±†˜`|©-ŒÇIµyªJG)b+ÔjFqu4Çì˜×T{Ü£uQ—!L×-Ú»y@ªGÉ£ÓÖÀ|­š¢ •æÊ ”.!ÆÙ÷^ã§^¯7Óñ«ÑY¶ÁJ>’hy"“~v€ÿÓüË’ÍWªÞQˆûYeÙ–zïp—¥bB*ÐQ!õ—DËõŠd¦š(Û˜ #öµC`Á¼í…=ÝèÜëx©°DíÀóÕ#ÔÎô§ÁZ³žé@œÏ$ݤ»[ÌUÄB6Jò-)ê/gÃt‡m7ò´±l6­\ é˽ߧۜ˜I»iR-)ƒ ™Ú£š'ÓwÓ#:–"üüêýžô} v,Ҥvp *}Êú“l0Ñ=::úš¡Z¢á´§12-`•5‚8+ë6€Bë¹BYýA’4å[·éI@cß|ÉAa;rS3i&Û »~{ÇqöÿÆS¢©ßúß$ ÛнÎõÕŒšÑö6û‡2Úß®ÿ„7{زGë„ØáSïò1¯Ôºî<]·<_-ÍΨï©ßÎê33s룙[| 7Ùþ'TRêkÞèTYk¬éGý¾Z.IÂTÜú!ÌÞš™+žø¡ô~ۛͪípã,~éïgšå»f„¯p[_<ûV€·Z -@¢6þ‡â¯[È“€®¬ h-[8ŠB)2GžÞÃ\qøð­ß €v1 à5€LøOÓaÉ»bû7ö b'ÀÑGÉÕ% yâ@õ>³®ùHÆÉ:_ÚŽ¢g"„õá<]±„t]TÔÛ}ŠYö¸TQPˆ 4?›ŸÞààYS¯ú6Ï*O¯YÔßk@ÑÝ ,qR^÷¸a%À7¬pÙP¨úá'Lô±ÏÂ/—øûxj° `äv£·±(/xÎŽÀhéúHŠn]Mš½4uÛb1øW1îŒ÷žðÿ°w‚Ѷw( @<¿û 7= à믥$zo ¸~Mz^—A€ÁÁþ'BÇ¥••^mõ°·´Äx@­;q®Nósñ„Øcÿjäÿq2ñ®õå‹v´ÜŒ›BPæ±µÕdP­Î¯.DÈ–ÖÃŽ7ê…¾¢ÆH_ œËrÁÖfÚ¬ŽPÑð¸ÛØžýžý«RÖ÷KÚ’ñÈ{­­…»‹ë›lÏf!@¯ f’Ôéw‚h=!FU’d3Ý+¤SéU½ª“é‰0”A -¹þrØ¥ó蝹%IÒ>þæód9aûmÝö°=c - /n¤Ùi·_¨Å±_i£#Åh“âuÉj³:Yµ™ëZØ›¶!>(nöXå@7õXin}ë3å¥Å‚æÉ©ÏCqSöÓJ¿¤ÿd|o”«Ï<âEÊHGóÖõrÅYm°@°Š¢sÂ6¾èü ¨yõk««8t„‘wVÅ÷%°’sEO2©{Œ>jG -å/ zJ'ƒÃÁ…pÙ8_%¡¶±¹Î TJ³Q£.à¦×ëÕ5AöðnX×·$=×Þ®Ôÿ趬g{wl>È‚þÏ9rôP#Š?•lýTÇ ½·mÖD¾)1í²Z®Ì—Jóèùªá¿4Wú þ¡€þïhŽ-éC´ÐDæPì’.ªÕgT¯³!οÄéßýÁœ¦ -†‘½Ù ÀŽºÁë>:Ñ?÷9õôWï±ÀËÃ7¾n˜ø0€þ©+~±‰÷ê1G·3±¨ …4ë›W_ó¸dPº/¯ àÓYü;3úŸæé߀§^ó`P2&Oz·MœÉk>äË5ñC|,±„ü@œpÊÃ’¸¾ -N€ @X@ºúf„Go¶„!€à Û¿ü’àÄëht ß«rÄ—žß}§ÀûÍg›ú„z¿zêíëÜ``À¤¢xãMtEýýàY×}¦v4â[ÃØ åâó}s€@pÍÀ(€ýûkâÅŒÞcÒ?Ÿ€¼1ãÞ‘D–럮 ˆs»ëÁ°÷¥ö17àp©vÈ‘y·öþ׃ÁÉ ö´§8a÷zP÷kzÕ~·|—ø[]ê­,-=­ÕâJœ²,X¯FÌ,’ž©*UúS¡»ÚE¿(1àdpr„ ; Ð`h]Ïì÷=v£¾.lç¯ÓH¥ƒ 3®Þ„^Rã):s¼C½"8eÿ‹ -[ç,!n’Ô)Ù\'A˰ø·UÒ£c6Qm§ùÙhx6:S˜!»©æ§gãj[/2áˆeÄ ®mbÞÙuýÇDåÙjµ± ¾ºÎ.®è.¶UÉÝ;¬ìy3Ý.{W •»gP'J\~ÚR›Mÿ«¶óñNqz!i×?—Ãgz@Wx¯Ï°Pµ|nœàV ÿ,4@@Tüˆ?‹¾’`ë+>¸jP/S ·ù½Ù@ýÉJØŒtÒpà‡Y‚Ô¢>\ò°lÂñã×(wüxÀ{­pÍpáÐVªðº@»cPÊnöМ˜³uþb À;} §E!PÚÔ†£»ê kõº`R•—fØÀF†ΙvaçéŠ@(Ü×|T/Üu¦Þä–~ë,€¢;¤.zÓ,€× €+>Lö½°\üñewÀâxúgWAý_š oP¼öW¿feµ£Á‰¸òÔÿƒòø÷ÿ⼃ƒÃ¯Y@{ú«ÁµáïÂøUV{ú™$88ê÷˜ýíX̯»_wŽžIDè‚ Öøxº»ºÔe+%D.±÷ÛêÊ’XgÚøx'£!$ÕÊšø®ë’6ŸeÕä¹€5®×+íö“Dª–\ŒÄ²Ü=­¾Å? ¨# ]#"C?¥)‰›f60l¨P¥¶Uª’)à÷R}@–¾n×ò-vÕUËSm«tÎÆÛõDà?_­²-Ð^:²;žW†gÍ Q\Í…Ð; Ÿ‡CÔ·ËÆùrTOšÙÙùËq®ÂÂÒÒÑïnÝ*ÍGIZÿ;oõóíè;Á{ô¶Ã=.a‡3Å"R¦ÒÎn%ò€þ˜ JwÔâÊ[ã‘å$[(37±%™ ñqSQæÞHcôOÙ¨l#ü^Ý$‹¾ŸªH)'Þ1Yth+nÌÎÌÙAwQç8ídݨ»Ô?ì÷ûÞ0ì -IÒ´îß}Úï±À€©þ5¨gGûxIÚ”­l)%RÓ¸*Lm°“ëD—ןjÐßfQe^™b\Ø.~Ùd¤t×ÎÌÄÇç’á“BzàÞ¬§Øc\?UKðÉ|ÄCgy%É‘9EIÂÔKÕª51UÜYu§[[ÜÊ¥FŒÏÅFpš0MÖÀ ðKÀ\C {’Éæ&ÓK¯GÿÙ²ZšG,Uf•eâSŒÜž›øø_ú„¯âdz0ò݆f•)xÙ{Y”j¿Ë øÍ³¦>»ïÔý×-¯ïPÚÄ{õmtgj Þ4u×`Äf­±Öx“ÀS€ça€kŠ%¯ sžÞî@*ôrÐF—¹íç®YÐ-nXàKû@.NdÑ¿­@È'œòð_îànôš`o2 @™ÑíPP: »ÉÀé×-=_XújEñF½î2é=„ o»äðöYn8*œTÔU À[×H‹Î|‰Þ0 àŠ@xïC ×|XÇc: Í^ðn[ÿ¥ãÉgbðáÅ:HøÙñUÛ<Ÿ<;ÂqåßB@ ©öpߣ£ƒgGâÙè`<ïŽ -‡/1w±i ‡Gû=¤€ÞÒR×… Ô°÷úö„Gå›8ô¥ï{¶€¯­Ü— ê)kqšW«ÇÇ{Iô1ºø´"upÎâ;IRY‹¢ê}bPjFvÅgT[Ø`J•˜KC/ž…\·nSð UN€âcIº™åqivnöG¥y0mOí¨h¡¡5{n™ð_Ò ÅXBÔ+вm'9#úx¶ª(3Zçfú"žÏÖ$·þ,¢åž!R3¯;´eQþ¤ò ƒç/Ù°&?ÍZì÷#&…‘§ÜˆÓã‹ôv½.)!Ùɤ©ª‹ï˜#1oÒÕ0_]´Ùº±¦vS–˜ÙØÊ[­M&l¬·Òùt( ÿ<[›ò³!0™·mûÎvޱ$¹ÄäìlX”€ð',ûÐÊ3·æî4Ô1Ô¶Zý½NZy”÷i"µýÚÊÒÒíì¯6æŸè/ù‰’ñZ€ÚM¯‹´`‰Õ6$èV1ât£  è[—Ii o»2ÕQåã—–ËCÉ3eçìj¾óª¸ê\O á`á†{¿;¿Ø •ä[¯„NäΩìiB:¤ÒZ¤œKë/=ô“…ÅFùžû¯‰‘@/ð€ÝC=Nˆ3 ³xSâ —3 -¤T86Ŧ^9™¼ëÊEÀßýƒÊ.>7ÎàW?ê7Xh><®Çü£ÂD[~×,€ÇËð€¾xöÍ>ÓYttÕ !ÜŠ¥iÊ‚}º†gçJ !*Od‹„¡Ž®Cûœ‘9u.ÅK(½]_~~ùy_pÏá÷~ ‘ámë¨~I#c’wÅöº€²ë¦ýC|œ`×QQQ—-ÔÓe 9ã@õgLÖ¸äPÄ¥ØB# ©½ê0>iïX ̸æàÐ!¿ãKI‘ïå0i|ÎÔ|Šu\Q{Š®|‰^·€ú‚üÖx€Üý7±þ‡s$g:¹b›Ån»µg'݃¿g Tw1^8¯8müï߀ƒÁÑ Çý¨ø"X2Š»¢’övtÂrbîèóbÔýþø²Ï@·/UPÛ÷»Ë>?ð{OåÚï÷0 ûÂÿ¿¾¿tuµLŸ”“­UÖÒ¤R‰"Of/H‰ ãJ¥™æysùš¿Yc¢‡ç…G2Ä ±‰^–„H«µ3UÝ—“®¬†™%Õ¬1OéÇBµRüi¨ÜÐÐ|¤_‹ØküÑ^†…ë¡tó4ó¬ûðÆ<­þ6ž)ãe¯¿l­ê´ÑVÜô€ÜŠ&Ã<­ŒòäA’þñ+†t‡¨(ƒŸœýñÕÙøü¹ z4~ÒlWèÕõhMÅ#Ól¨&ï^Ú§U‰¨~Õæ–~ÑÓïah”7ÒÖ:󕢯vöÇqÞ¨ÆÙ(wד„~–)¿¨?¨ÔñäøQ²“lw^ªó;™¶hPÂÂ5¥Kÿåò­[åôe®r’‡¹ ú†ü<=èuWØ"Ðõ{]<„ýO™ï¯C5Úa¯×?¢ émŠÙûÙjac‚n²P!×IU¥1¤¼ ¡9ªÎ6âÖÖÙ¤CÍC4.èkœÖ“s݇å„,š$à!ß…»:?W:;ÃÔOU§þ'“-¤§cZr¨%i•çñbcQ_ªÊ;åB÷·>ÌÖ‡o¦¹Eñ·ðšâ¿ˆ˜*Øl”J[ªƒ; LÿgzÿûÓ_ïú`YDïœкÑ~É}‡€T7û³ -`™0a}ñNݳ½µåNko¢,óv#:øÊ<ε…ªdZqc ¿J‘˜-\XL³TâA—Ö¸4   ¯à*OïéàLq[¡8Q,ß²VêZ £4‰îßz€/N8åa[<PT”ë´âð>{\³Ø °ðPD0,ÈmRQï²è™€üï¶p?ÞCÈð¶÷ö˜T”¢T§uaë¼aÀ Ú?tã,€‡o™pÍaÞV”†?ø ýs0Aü©IÀð¸DÂÿÕ••ýg‚~¡÷ÑààÙƒúž‰×˜÷þþï¥ÿë’$¡µÉ?{ðGý“`5à ýO–j‡¿>P|Gý¥îàp0`˜ƒîª^¹TëIŃ©÷?ù™'‚õökì*¿´D®ÿ†×zEøJ wˤÎÕÔ%Äi[5ÕN*Ë…ÖÀìË݈·>kx?>ñN\Ù9{W‹’ÒŒŽ'‘ÁU*¼l ;÷Ó¸‚_{*}º±å•݉ì,Bø“ÛjIÿ•ðB -ÎNðƒ›òî¦ Øï·²tþÓq¼VúpˆÓÝê|Cpâ!™¨!´8K4,]·+ù7iÕÛçô6‘Þ´Õ*æÚÏÝml;/‡£³³óqž¿I£¿k·í* Z­VJvBW‘85ó´z|šµ„Bá¥>€.×y¬Þ˜>mT’oÒJ4:”Ù‡O©Ú˳d¹}|>>>>ÞÙŽž<¨×·ó³³_)®-Ì jxv+-¬Ï•Kó©zÂŒºSU•íö»+÷ŒI‡1d¼H-Gm‡M!&øß«2{”ÝEºÝI…o’l`àýú_Ai¼èÅ”Êõj)i6²/Î\Æ6½˜¨Jú19BÑ_NÆ…=_$°@•…Ô÷}ŸzØ€‡\9C ýnI¢fÔ¤Z'«¢þ1y½¥ùYÕãÂâb¬n­þ+¬f výß ,,²Ð"n¯D'™+Ñ>Êw¼¶ HñÜfµ§É?Sø¹tñâ@9~÷Ìðè©}¶_©\TPæÁY«.PЪ‚f¸¬!«`fÁ¢ºôvîè’D„ð”“VFÝÇÒ/B`6EyMLU¢3Wøo ˆ|º pelœ›ôY— -œ$œòc Àûø„辿/KдÓ××ÀfÁ –ôÿ?€›WüÁ³&>öÖÔ­ðL¯„¹i8ºë>J­Ñ8Þêð†½ Á;÷ø7] èÆ×ˆNª®wÝ Qf‡7Y®ø(†Ûåu¯ë€=€üèƒ@§Å!ß¾yE_^Á ÿDªÿ3ÁøÉàˆyü­Éëþn¡þïž=fÍ?¸0_¸ÿÿ»lÙ.ÎÜãŸðõýAw‰5ÛXùÿpuô&è á<ýXÛeó_ ý7VæïàUn9ÎâúO«‚yñV×` qævTYŽvTIÔþÓêlj©ðxoHÕb•›8¥hâ]u½(ÇXËÎىƹjqﻳ¯ò_¦Íju¾ÒØU¥ëéÆs·Êu±×qA¨Šêûb­ü4×Ö -ÍßÞˆ±êuf‡k‘’UJ–JU%M´EÞï‹4žÎ™Z!ÍD Y8“JÆ5úÍ¢Yh°rl#–ÔŒ¼ºÇš,zPOþ9˕挑ÅÛŒ˜+U«kMåsyÄLwf³«m¦»6•×”ŒÆü\yq=ÞZ磤Ò”.÷e&'·3e-o¿xu|ÜÞ®‹‹¡qÛÝ­˜[ RVŒ‚ 7èËñïm¸ˆ·sÊ ¾œvÙ)˜ºÆæcxïî?}*é‚jûl0„êvDPÀ™„Kôº €Îxõ/KGJ'Ü$fUüòÂBcýÓj)mDÞÜÔ­HnKÝØç㌕".H÷Ä<ȳWƒÈ`n(½µÍ‹"¤>qW¡öE€5èÿâ+ -»õOË%ð_ÚÿBy‘¹˜ÁÀÖ=…@rÀh®±IÂ'´ÉðËgDlÌF\*m°¶0±G§/¬ “)ü\ºxq@ |; Em‡5ý ×€¸Ï©T–j2ÿ {\X^Û  Ó -¾åb™ÖÅAçú²°Ö¨®-T-ˆ±ÿ bBµM?ч ú"€K½Ð³œ8'!aÎÓÛ}‚œ©KdË·ýÜ…bùfåÊyƒ\ ¡Ð_óà²kâ‡ø8ê nÇ §<Ì{E7û¼Ï^o÷@¬©äÅGÔº%’QÜâ2‘ÎÅgîpk½Ô°õ®ÁÀ[}nœàÐ{8àmzñ[Ö¸ä`¸ç†£âÁ›,¬0­¨ *úðMtã,€-Axmñ ŠI­›YVúÎ’ÿ… ÀÍ©dpYèvÅ…½'Òý™‘½ðìÙ>ùH y·'Ì?Ñ¿. $ ¼êoœ5z+¼Y"&-íŒýÛ‘ÄÞYäŸo‰+µ#]ÿ÷Ù@î>[Åó(BÈ„НÛ] ÝÐkÛªyF•j"ˆƒ -Þ-jå*pÀ×5+èËÒdù§* -ÇÓ‰Cè$ Â!O}7`¤hž-y^µ6Ê…Òžê?ú­X+K¸ -ÖbvßÛ-¸¿—U»~1:Ë7½8BÒdÙዦÍ-lJ¶(;ÒYúi¤×¦q©ª„ –Ä• ´ ŽD”4ô@z§â­Xšž'&¨Ââì|ÄžþeI]|’ü+Åñ–ši'Ëql?Ïž§X¢zµU± (L;¥3¥ÑzèbåY¡vÑ1é.ƒÖ[ 5oIœP‚ÛQ}¤n¦Ë«DÉn>ef‹îé¢ô€:›Ù(‹›­ñ÷ÿ8Î«é· -ewk#H+žÀ®qµ.IH’ý>[O°ÝÓß#Oª û¯õˆÒÚÊ„®H -GR^£Ào²Öæ¢$kµƒF#i|ÜVz÷Òq`vb,¸š¨¨Þa@žRžáéO„gL>@9C¯ÒŠd†€û…êOɪÖú2f ÿ14ʳ 6šô€ªÍ «ÏÝšû`.(Öÿo–n·Ø=ŠÈ l©¡1-uq£1[^W“—f¾pûÎm$cýûS‘¿·QÆ:€fÔ0Ñwøˆßhòƒóš½è³+Ãm}ñìÛ×À¿—U©þµµ)üÛ  ºŠà["éÿ ÂûIPqÑ{œÿ!@ÁQÁ(l¼DJaØ©sΜ8§ä=ö êjQøÖo!2°@1 à†u¼ö#oõМ˜³u¾ìüê¦Ýø,€™™gggK3.hñÑŸÀ…fÃɽò¢xÙ¦þ×Õ™˜ó")Wg‹xô.4JÝwÝ ’XUÂ:$&_›t‘Y_ev¦43[z|ÉYÃä4¦*êŠ@¨’ÿ†u®Ì€Á¾yauú›f4ª}€›f¼¶À…àbŒú÷qE1qèÓ€þ|]Àtÿ°w$hŠ9ÛMÝÚþàäd0x&T?tì(P/|0àÃõèþ!+ûâû¦çûì·Ú=<éwŸöŸv—ºlïƒVïÿøÇR õ, -ŸÈ^ãz4ó´2Õ-†û’@ •G•<¥<¼&î€?®jਾ“ÆUµŠ5Vïܹ3ww½›UïçÍ*³»_êl”N½Ä[T—®¬xˆ‹ÕUYvoN}kN!©[u%^ª ê'ÉÎNs­4ÛËãé«d×8A1IÍâJœá›/@ÒÉ1€ÁbŽÅ¯Ôbl8*Ù9æíj&àqê0ôÛ€ÓSç‹›g¶9]½ï<°™Š"cÍ[ƒ×YšŸç’ô1>;þ›åz½:?[š-ÍW×g{³3s33¥Æ0ÞX\d^CÚÂ2 d§Û“`1IÓz4zŒ@T·›ª«êšzé.0c˜zøÝYÖlJvIÛA`SŸÊZ[‚>f Ø@›ë¨ë}{†Ä¥‰Ž‡¬9-I±x!€^H//$< ¯‘jR|WìÊ–n4>J±dq'd'#¼-“¾ÀUÒy¶¯Ÿ’yCàºæ†\ßÐ9ZEG¼C(EA:B°›¾Ú€~Ôž‚çÿ:>ªÅ¢yZžCñö@pxüã –Æ Äáp>íð<ÖÙg8n”Êȼ÷J €„ EíE~ß›\Yoû„~@~i˜ïex¿½¾zÛ,€P#º…$ÌÎWg?Ä•[)ŸU÷qSÊùœõŸc\½ðøàZçcv³˜7N"†E=T+°¬—ðˆÖ¥Ye…–@q†È]T³Žã® -éŽn¦gØð†Y*ªk€ÛÔ—Â`˜ÎóPÏ—~<€Sq~!ÿŸ -~ÍR»ƒƒ¶úþ³-/—j_Žø³ Ï¯Ÿu™Þg"Žšþ¼C@_am9° -0¾}pówt—Þÿ´‹º§âvþÎ<±ZÀý¾à_|Ó3ñ7Ò­Gkó8y÷`„š ŒÄ®ØÝ#Å´µ©äÄm2Q‰ ôh–V$€#¤ÖžŸ?o{–»þ$ýfL\¡ Å´ŽuÔ´[s›±x\K DPšµ³íz½RO’zµ1,^ìˆh™ú7\Š÷v*QFÞ"ñq)Z—¸*|Þ1PMžêþa¶\þ#»çlg+¾Ñ‘¤Ÿ¡Lb` ,Ó#<žÍ“e *´^]B83È]IKÃÑyt>ÚKs¨èåz MK33?ªF‹.²)€žóL3(I—£¶Þ…7€eˆ”ø¢îŠ™ñ°ï3÷ô¥DXàÃPOXzÊ1 -+„G· «¡HÊUC àUªEêÕÔ»­ -›–$HRËbúpXeò ŸBûÔ€>Ë÷”¶OÛÔW̳ܢ­WK$¹W èÿá‡Î -£ÝUÉV'g¥ò‚€àSÆoñæ*,R /[èZzò²@Ü:Š€…·øãMVS å²Z¿”nèHÄ2­Š_¾ïZJˆ¥ƒëOã¿ðX@Õò¡ŠZYšý@À}ÿgfÀù®Šõ‡X(jaýÛVtÓ˜ZÅe€é<Ž•"Ÿø2‡w.,þÕQ×™øwPóöëÝîꪾ$œìžo‘€£gϵ%³aüõ¯Pì{ÿaÒ¢¿±€@ÿP{’ïÁgxƒ_„ß`¹lFÜÝ|'‘ ôÄ2; eÇi£Ôfû×·¬øÓdE[[Y»ÑÈ8±ÆœTãG -~…ïåvOóaVò3…®$as^“²·APgB—üÀ$ææ?â-°,ž¬È”Ébb"Å¡_Ñ®M€µ²á¨ž³ø}úé§–\XX†Fž -L6˜×@h=›DÚö¦·»ÇuI¾.nÎH‰¸giI1,ÐÇÕõ…´ìW3<Ÿ¦ê¤†+°”kÖË&4Ö™ïQ»¿‚uŸ¶æÝ€$ â vÖç6kþÐ~ú½ÚŠÄHƤ%\µ¨uM$'êu’.ß’ü±Ù¸Ë„!oºNº„Bª×]Òh2Þ¤¯2ªv'b@ÅTÅh! \p£›çiE­IMP"jº3™@}0`€HŠÚ“ºäZ„ - @$¦ -ï Ÿ7›Ô’Ó]ó+¸V!W¸¥a`Gâ¼c8a  ,0ÞûöšƒJâ ƒÜ_ä ‹!ßH7ûüð½\´åR ]ÐâuàS‘á߀¡ÝNB5áàïœ þ²Ö÷ןc%.A€¸ÿhBC䈿bÀU€ ô/Rlë”{ªª9O 0|±üF(D‘]XæuÅ©##¢mt‡_`§„‚?]×3:!ö9 a¡HèñΞ"˜Åà@!sjdnTÁ wÙ û~ÇG… ¢- J:*ûO+©z˜ô)n¥œ¨Cnõ¥ 4àÿ̇]XLOMA&;Ùg*.,´î†Ø®A á '>l°+¶˜Ñ ‘W&caðzj@´’J Ž:Ÿ…m2¯v¾æø>—šª4Ê)XîQúU†0»(ZêC’³{ÝÝòÆ[-oØ @¥ãöð €SNùñÞë>¨/•o±€q? ÿü‡_÷½ ÀþëD¼õëDJÿÑ>ÿ1ðìDàoþ‹  ÂH8x& ? àþ„×ö»ô{^¸Ï‹Šü÷„1vaÀèÏ3+KÌÓÙJï¨ßûYíhÐÿ ^ÒT$Ý•Jq¦Š¥¢tGš®˜†Tõ¦4ë°xçz§T>,þ¦ô)¨,ZO -ì©^ýÛ4CãËõæN;c¥ß<¯æâY˜Ú¡-,Jå…¹™XÚsgx~ž%Íú²'ÙZic¶¬({ÀZA`=/õõ¼Y b…¾Ò¨a"¥*/X"”¬Úd†Óª¹…øE‡ÍuZê“䇞|gÁMD±ÅDàr+YY¯$!týŠÓŠ(¦­´u6ªuÄ¤ÛØKDiu^¹‰«•ªQŠ­ëXuHB -E¡Ô-o‹­¦ÒçŠ$$ö1S2bôºPæº  Ýjµ¾êtþ1ßN”ª(ÉÇùžb³í‰1•ÏX€HZ}_ gi¿‡€äZ÷¨†+£dÆ•ÞÉѯO޼0õÉUÀ…à½N-FTp,ßa h½±Å@(öf|á°A©„à ®,x`Y¡I¤­Ñ°£úáH1ò!?–u²ÎCÁU¨û‚ÐÏ¦ç—æ¤bPrfQd&>lX4#5ÀsóEot, ²ÒVÑDÿ‡¦€†: -1Ã$mŽAðb€?äs¡éßø êÿÒÆi£jœÑ:ᮨ°„aØ‹½\ª\*ˆ1Z€uûŽîq>™ØXû‰´Ù,ö$à<üý€ý—k_fÄbóÖÖ.é*2‡à’€âˆòyI¹Ã`P{ç%›Iö©Ðÿ°Ô8ìg¥}ê2G°ò€7€k„£Ý¿7µ€yóD"!s~¾ôáu ÆW‘t÷ÂP©Ñ€ |P~Ì&Á€¨òq—é:vúf‰ƒ–Ž`’å`°àu €Ç¿­€O›Áƒ*G´xÉðY¼Å“¶À]t-À„H‘O,.[œñ9,ê-Bõ¦Í¢\í|w¢‚XǰüpY%/r^ @!€yfaQ!þbEîÛ*’·[nÞ €u8¤Õ]·¼¶À €ÞÚœü7Ñü‘î•>žXþà:±IßV|¶ZJïÿý‘dÁѳýAWðŽõ_¤“aá?è.=u ˜óW¤ì÷™³UÌ´9ŸhõÕ—\ ®Ž±ÀêýÕ})üìø÷ãû÷—ÖÃýÚÒÓ§ÆF3“ÍõM®Ç¤ *Jö\%Y®&…ú/¢ÊÕ@ÔlUsŒÛß¡I@ºewi5pS¶¶µY©·µ³ æW9ÿ|›á0†³•ÜÜL9Ow")þ¶€ÑÄô(‘ÎÕa—7%Ð7ûƒ£¾zå(­Šiê–R‘Eó‰nNßRd0aÀ°]©çàkŠe ˆÕŠ‘ì}Ù’îªæ*U[­Äòo ÈÏÛQžnˆ÷[Vv"‚~È'ü³pò(«+§¨ã-–¤›§¥(ß’ˆ#A@ b+-´dÊÔ#%í¤’åíåf˜ ãž'(‹×*dN±¸¸`³,µFþ«áï÷¶Ç¯Î%(â|kcñîâ"~ cÄKýÚJmEBÍF¢ã'p‘<€ý_š¾‰ÇÊáÁ³“_Ø€#ÀM6'êujeøT(³ë 4?³¦d–·˜½–°Ì;dWòzò<+\¯Ü0t±óÒÊ«X;UÜAUT’´»<õBKºÁDfxåNÂx íÏ#õÒbªR_ -y^2™ùèÆ3û¨/O̯Óe±¬fLýœØMaÜ\JóR ±ò¬ -aVA™õýÞû#èBÓ¿é# W¶±‚¼§àæu -ñ)„eÒäÿ öp©N‰ÆXþ&ÿ+€à¨cX°0 à«H Ô²>€Š 3‹ýÎÃå lW©ê„‘ÈË>ý¦þô¯Hu Qmæ²@ª‚Œ›hÏÂ[X=º\Ò£ÿ…÷°þÏ ‚l(@§°X•öTRÌß››°×Iã% €}ˆ\HÆm‘´ tƒ [ëNRþ•-¥€{Õµë€{¬e©¤nò›ÃK‘ž -9Õ7Jÿ…À>A˜X(V¬ê>Òþ×%bD[: >wÔ™£RÃÍn,øøä²@òG©ŒàÜlé#•ŽJÛ‘7)¬E[ÔIí®»zÀµ®g«Id € -ƒ<“—C¶ºPÒ ¦‘ƒŽ„.õÁ[wÞápã,,Š_é}xarEu³ |ÿäà߀oÈŸÒÀÄ0ÿ¯õ>yúT<µÇ>?ƒC©b]©ô'‡‡ýž×ý•ê/Ðì‹ 39Pÿûa‡WIâà -)ä¯a.€0iÝÝïþ¦MXˆµõÐjmui‰–$hô=WÀµ(BøÏ2ÉŠó(ñïBE‰I³×oÓ.«Tœ¾‘Q2UÃýï`Ráø¯" ‡q,TÈÒíè§Ë•úv”$©X|D/ËÒQs‡Ikðí-w ÅFYIðÆ2ñNÚö؆{¶Çé|‰ÙyNXº‰Õ]WÍ«¶âŸÓ<ÑyY«8CåOm¥QµöÐáKš¨® -Ãa»£|§åìðóhey’œn·'剔Cûx/ÈÔqÊc;ÛjHÔfË’ ×ÛP"BU5)y­³,ÊØ—UTá,<©Î õHžÇÕùj,a@\f;;’¥íʱ€ÀƒCå@-¯{$YDqH0Ř€Ãðì,aYýÑø?¦{5áö.%œZ¤{O÷k¬ „Ðï®ôûÈ‚^BB¦Z Ô­õVÙ!ðßý @-é² ç’·/Ñ' `q}c#¦CÁõR_“”"Zåi}×n†Œ3 ýg,AKµã_¦_x!‚ìí%*A®Ø‰˜1€lÈ’$ö^D•‘¢~Gisž»õWÆ}ϸ}ÝiBwÅ‹ÖÎ.ë @å© - ʸ1[®®›OX˜»gXüa€Û·C.ßö‘úŸ²m0ô­ [”84± 7þ·îÀtþ+C0Ïæ L0ò_Ââ'€Ã™x«Ç÷ ˆ€€’< PŒƒ°9-0‡‚]„½ Vtá\Þ €Ë ÿêsap;€óÛ –1' H±ÀyóS…`jÁ”YÐжöÏ¿Û03WŽ< -ÙÀf‘]XÌMy—-¦€Ò @0ˆà}Jº,Èl½Ç€H2‹î -xM-ŠS_ÿƒ@ðû›X\ 2E,:¸f¸ä@oSŒÁ ò|Û €_²ø5³³ …à|¨¤ ‹Ê솄­Xº«twQ}k##˶zP¶(CôÔPQ1ÿƒ063ã~ün ÀM³~Ð^\XDSˆ/d~ÂÉô(ܲpYÿÊÈ+K³± ï W{ÆFþLÅFÀ›OLwÿÀžÿ’„ÿƒƒDý_Æ3eaÖ$$ÿhrµ^\5<Ó !£v¥Æ:ÿ–þúþŠ”»~Oê¿IÜ¢Óúò|·Z*™¹1¥NµíUϱÒF•( -©˜+Ť= ¾¶ïÞ•Dõ”#GxN=% vlßü ³ÛÅÉàSbBb-©×ÖkD!» 5¶¹Í”"é¼lú+m{~.w«³ÌmÏéˆS5$R%>è(H5‹Gž,{®N­Çø7CŽ`wã|í 13óÄ,Ë›ÉØl®Óꌶ°b0ŽÒb˜@—èy¶“䬧ÌÓ€Þ¢?Rɱ ÀYl*¥¬ƒ©{•ÖZH/’ƒ³4Vk¦“„ý‚ì¨Ô–¿I¤‡¨„qˆ ~ú°Øx(»-™ 6>üÝÙ:ÍW:Ê:ù¹g l ÿ«C–E»5~Ðô½Y$µþþ3I )!Q®öž={ÆnÔ àš À€Sõ:ížåž®œnÜÅ/ ‰'šGyf«@D€f̣֜(JÉÔÉê;ÔB€™–ÕÛ  }bÈZÓiêM•z%@— ¾'„4©Æ öÁ,ãjIŒLuþß»džÊÜÜíY© -…À7ŠªùF5$sŽ*PIÇî"^ PÜ -ƒ«ô$f¿H’¸åM†ÞŸ>øàuŠ7&Û쾯àýöP)âðß²E`^".¹¨¥¡"0¶? Á)o'•1ñ{ 6‹ p+ L,DYµ¾ûN(„o8S®rëÒ‡?]½ð1‚@ì^íäQo À¥Y%ÄÍãøãú2ܨ£v2£xðPøØ>Æ bNBQ"‹YöPt ¹©ó3µ<ªþè÷K—,öP‰`PzÀ(,̰€÷_¶[}é[‰/,ö¸bp(µÁ€¶7ô``œÑ®Wj„Øšú(ˆú^Å>ÀÌœ%ŒL-é9fΊ-‰³zœŽ•8_ó¸u‘o=N–…þÊðZ(ü©@UpaPÚÉ3ÕÄ1ñÝy‡À³~À^ð ê‹•Uéþˆ/§¿ÓëáàŠþï1z+l—u(õ‡Gû+µ°-îø(ˆþñì…ñ\DlüÜéì{¥_lpx¦uIë÷Lÿ¾ä <W¥.À_ë[hÐï¬S=}<|5NÖª¸~ -<¬;úFš¾È›Õ(ÖU[øq{uÓn,Ä­õòDª²%ä‚8–þ¼¯•ç+Ì…“ãÜcÁâIæè"1“웪„$Á-¶ÈÏ[b³ó%6W«ÆíçzÄÌG$žÃ©P³1» @iS#ÿòæ -¦£Ï‚,*ÚLÇ*–©6+.WiÏûûfmçG3å•úoI#æÉ[¢ÔË\Št^’Ç efAH{§°Lý÷¶Û,IÀl·u½›³’`A|È¢Š˜¶ö^¥I.ûFÖnFÕͶéJ’QØÈHòÊ8l`·o*’,KÚõQÿ"¢·Ø•悳Ùy Fmx3mIÿÿ‡—ÿ˜d/Á¥|ôeWæË‹)ÒØ†¤ ¿=~t FA»©-ÙDmˆÖ!bèIòÁѳF À"S4è1I‚ÔûÏÎG[X %ó|Ö¨XÐÛõ!Hº …` b€ðß3•Åñô¨®‡¹ð@u£ú dí ¡Ð'ÿM#tÓÙK [êar*.k2ôíV-²Pœvò "€x_¼ñi$!`=Þhþž¾ ‰`ð.°Tóqü?„Àï7PÙƒ(`ú ×€üüÔ€%•þò½ -}þšàbá Àÿ+‡gƬœá}Ÿá±›Û‡^·l jñ~[€3ø0ž^W^(*f°|°„“à`è³ þ}AR^/[ðUÑ~³8‚í ¹˜ ¯x -Òãû¢+³ÀµÂÀ`ÄUÉèäE7ñ¸lXúð uêð¨<#žæªözy€Ò2ñ°@ù¸ê€\€èrÕ <n°ÌxÔ[4õ|Ë,À¾°,F¥*üÍÌéãê,€ÀÉDŠ{êPšûh*8ú+,>ÛÚR/”üB×»Lwø4Ž…ÿå @¨K>Î3b_X˜À,€õ> øpxÉ B¦á]÷îp±@0ÿ[Ãç+Ⱦà%ø™ˆ.ëÿ,Ëðß›°ôöOŽ„áVä»KbÎbÏœ‰–( Pgñ¾ÞþÑ!¨®À ÀÐØ>©íK8è úúCc¨WÔ¯--­ø—îÿXß?þëû«=êßte6J“µ(³ˆ×Õ*7ØüL”Žò¤úÓD !øÑëŠþU0A·ŽFÜʶñ3*š;jÌ"À¸4ÏB8&¯, -+eˆ€Œª+ZEµ•fCœâªÕÙÙH]‚8AõtǸ,~ƒð!‡Æ6W–ÀŒ‘¹ÐnLB]_ÏXÕb“$ªW>öj½"RÓÎóSï);/cþ× `ŸÂü,Õ³‘x&ã±—P&‚ÀÔPi“Òê `;J?e+Ãu ØUŠ;ã$íEŸ’ÀÈB=„‰ÅK.³ÞŽ2”î쨤¾i/'^š`²‰!U”¤C|4ËñzyN2Wyƒ¹†¿{ù2ÛÎÏ‚·Á$OãªÚwÚ¢gò`€‰“5$YˆT»ý%"ÖV»µUµ›ƒ“ƒ© ø@hZ©ìn¤ÎhÌ€¼’¸¸(ž$¬”†l'@#S€ZÚÍÜOiä…€Pr©Œ0°›žz–f‡=.ê—ÌHy»"¹ -Y³„#ReP!:e§`¢Š?½7랊–£¿»…»ýÞð/n -ä TXDMô¡F$üW¼nüºUš·—ˆHÑzaq†h¸ýç?‡ÿoþ`P{ÑO€î¿t"÷9å[¥øß°@±„Ï$H÷•@ñOôBy…Uþ“œ`ø—¦¨p“Æ~*dváëœ{‘;ƵKT­†Ítù'†}t‘Óïð Á >~ëKj0ü½GÍFeyá ·O,Àc`Ýw=`3€ÀÀ¿Š"X£\Ñ?ˆ¡¿àþ»DÞéÀ^/ÉCw’ª - @Pfï!ˆèYAi#U̘»[Xnôà úðËuf½Pa0Z¾,^€N”Ò—¦>âYp]T÷&•…€zÚ%„ €0 @Ÿ‰0±,J->öÒñ|/Æy™î(†;á¿þlPn¶8fÀ_ÑüûÃL‚¿`À{œ¢»jüýK#þô<Ü ‡Jú­«ú¿ÿ"VdYÝ?Ñ‘ø-jü^{K]œú{ûÒ“ÒãÑéŬWºý#´:7ð÷¼Iê?#½þáà ?æ3ÌÏ$/KÝUAÿÒÒÒÿÝ—B›Èè_ý=ZKŒ­tscQŠ-“ÓÅ3FR9ëÛõ:|²jT¢½6Ê ’];_ ;é]ð_-¥¬–|‡r¬"H¬{Kêw‚®~îUGQÝžd"Õh…†š¦ëŒ*(I -Æz€0)—œ2·=-•‚mB¤6 dšhŸ–,Á»ŒÁY)ÖlÞ_¤´U—£ŸV–#)¢È;Y¶]5ƒ\â®èüa= BÅñö$а½.2¶3‰± v;;fU0t3QÜ…5WR6¥Qºs–ÁÙÜØÜWšícãZEI&鋊"®W¢xnâÚ°cÊh‰‘„Œ)IÌ€´ï®Ðì– þ·!k3±{²È%–"%H®2ú‡ÒQd=V‰D÷gŠÕ•¥ÕOz½OðA è¯Öƒ_ ý%üÚ€·§ÒßU €DßDM>þ,^¼[¾½ÿÁFl„„€ Ë—S3©9[ K¤œÄF_¾bÎ + ØŽÜnZÓ!€Âí‚8͇ÔpŠRå0HùÙÀ‚Mw¨O±þæÂH½uÿ7S¹ÑŒ?Wë‰9q­«y‡%`c£$nL¬Aʧ(½à ?ÿëŸÿü¯n670O}A)<¸ÿ­Ö(|þ’½”yö¿ºQàB(ì5+晄ÓÜe¼ßwGSð6~ß»]S_ÕIaà‘Iaså Mõo/X]+¯Yý¿þQ@ÿHŸú€€²®>Ä ÎlZŒ~XL|„A -<¼Ç^³Ü«ñº -® ÀG×fLž¿É™R•Ö«àÕ´ú#[vb¸íY Ï;켩 oö@]Vð00cžqÖ -½dS €¸Þz¤¾„­ë51XLá@WÓ5Ü­ ¢.ÍãÈŸ - äŒ_òø Fìp×ûŸ-ŠMa@Y yÅ x,èÔa³c†¨O,¢Û8þ>}¨èuäb6òSó«>’®î8Ez'¥X(à¾×Ô ÖúøÖý_àìÃóÑɉ0}Õ×ÏaýüØä¿;]ŸQ² °_—0ï²´‹~l+ÐýÚáÑ‘®ôŠÅßÞÞ|×–þÚ€+ˆ?V³I±7ÓÏÙk#ÎOÍ/¶6t ‡iT©Ç Kë…ÚG›åÇl6»o‰‘¤*5£åÌìœô"i¼ - Æ#C Ø‘™@5Š$xHf†`œdfé0ˆã:¤ÒÌñ@{]·/ÚpHR Ã.YIh‰Xw/ÎÍÕ ®§IRÉvô-yf¹¾½üà›v[°þ$ÿöÕ«W<OÓfvÎJ€<1BžP™pÀT açY%Ë¥„«a0 p ý”Ï*kÅ‘TÕ<’ªJ?Q°ˆ…;3jU8$‡½ë$Õ×¢6‰äÁã¬Xã[Áìêú‹ˆFiÒwyfF_ÒÀï^fM”=Ö6 -SñÒÍt]͸‘æ#q´™buÚï -þW˜Â*AnŠº\[]í ˜g‚0üëÿëKix5ñÈgJ¨' H˜³ 96‘|„`Rg¦ã¼ž¾T©¡û»²T€»oÔ  íêz¶ Öi—@3äÎÔI ÷%SþõO™HÓ´š^¾æ¸ãà - -¦ðR'‘¶û©ÕPÿënøXÉJåx¡<5(ÒÛÌý@ Àüÿù_ÿõÏ`ëëä¡/ü_$ü Àu ·LŸò­rþËöh4šM$€›mœ›é‹mƒË`÷ô¶n­aN¸;µ ¾%HÀ ü6ä7æÁ,?Yû‰µ/8)°vAz‹ß#õ_iÑ#>æ†ÃM¾'‰Ð¹Ó‹ÀGAe4Ã×Ë`$vp×[P“á™ÂÙ  Ñ—-¤Æ¨£v‚€Á@:ªmÕpBµ0`¸@.YÊ7ø„Y žõ Ð1"±€1ª[·¤S]·Ûw - €´a%ý²@ñåÔÿo´ý<‰[Ýfbƒ€O'ëHÀ·Â>îg—,Šº4ë!€¹Ù¹K³Qg=àfi®¼8õ,|†àƒ¿ºÑ@Úö$ÃýͳBžUú³ÀÌGž€*úC,Å,€²À­Â ‘œ/þƒáy€_ÿ„KŠ˜ÿ[WôÿÿþK8HçÇ×}}ûµû5cúAw -ízŽ/Dz¬ôÓ«ÞgEAñöÃăîÉaÿð {¨°pná?o­²?\Íø/üu*:ΛÒì¬Ã´øVkkÝ€¸ÕI¥˜³éoRÐÁà5…à* ¾heªæÆÆM\•ƒý¦a|-p¼ cûá¸<ø\zz5ŠÚ4.DÑ|•ìÖYÜ& —8ÜI§L$×{Ë3Ålƒ`î'IÄ&šìÐW?JŸO—†à¢zéörû|t<Òãcm?IÄz¶%Dvv´{ÛÅóÑÛ3ƒ½Á@QI\˜Ði»ž1€qÌ€®í«U­˜µö:/nùÖÆÆæû–¤©µ¨2ÇÅcC× Yñ R28ÎÓºÒãËÈ!B8 ñg’4Œk qÍIýL÷FÎðì,>e*ÛápøSñ:©8‚d4±±THÚÚD <«v{½£^ ÀÊ}¯þR{ú”})‚±IBÀ¯/{õ.üTM7%‹oÍÝÁ!Nj@l>ÜSi‡ƒ F% v´Ò\xž -¨Ÿ ªƒáiÇ“1>4ˆáÑyj‰”ÚåÜqb$‰£ÐäôÍFNÈo*‡ùÒºz/»•ç< }`k=ÚÀ[-wÙéYúb‹]“u›8QÜ’¾¥yµýb…;wçî`pôwnëïÝŸ¹¹?ýß¶ðGÎ^£É6Ȧ¿h¨ˆ`O°¼kÀµ½È9Øí0ûF À0íµ5ÃQq[Ð&¬—ô`ô×1ž!’u‰F’Ð>¸)BrhFyD§@€@ö¦¹xÝDÿ/Kÿ«k?ÑÍ€Öþ„·û¿ø~ã,|ŒËBQ,pwb(|¤#‹½AŒ`ðçè ð"á glõþh®üé{ûгuuÁ€GåK³&>È!—,²+>ö#àuJ%@@Ž‚€-s:=…À§Üûa€‹€ êûÂáÛ–×`(¦¢ÏÎI‚ -YwÊæJ‚L[ÿY¼©h[úµh €zpê…T ÎÆåu”ö‰ JeP …,öQ°”%i¼Õpó:7¬èZR³¾¾À·UJä.; ï#°>èÿÅ…p1È÷>¾uEÿG­ŸêÿGìÝ϶ýLÿ´÷{µ¥š½û™Ú/. ³Ö³«zäh °ô1ü3üß“”Е4`_®ý•ÁÿÔ—tpÔ¯±è[xдº´Tï_ºO6ÂÔÎ4݉ªõJþŠýWP¹¶6$©­³’¾Ê^µ®ª• O6l óºTGþ•†ž6Jsê=³ª‘äpÄW†zÔ4_“gÅ”Dy~þûóQÕql -tÓèc8©ZÕy±ïEá­‚ù‘À—:¶ogg=–w;iD;N[§ùã”ÝyÃþXÏrá”UBh‡1&õ\ÀŸ›¦{¿Íòñ¾gÍ~QÖnï$ÛQ½þ ¢ôØXÁÛ%PH6cöûšJèãÌ€´x]BIçº ›cµìT%A)$Qe¶Ò4@Ù)iÊÆ´lF£¤^‰ÒoðPð@`ܺÝEË^…Pžk$ªž$ óáYºŸª”¼s V€,EPˆãL‚¬oŒ›û$¥jvj0…K(®j ÝZ_M’¤°4ñd³Ê“£© @Åó"O"‰&·Ê[ñÆn2¯Ö"ftHG;úqÎ -’P’äžãÖ` ¡¹D'$P'X¡‹ÀÁÎ3jW"U^ *¤-”`“2•ÄÅ ³€¹¹éNÌÿƒòÛ$±E s”(‰÷J° @WÖ³¥l1¬1$m‚É·ç>öxÏŸ$üÿ×?ÿé¿þ¾ü¾ƒð£ráë=,ï¹@ðøA{4%ʹHm¹¿ÙÀ)¿Õ°@#2PqÁA%è97“f²#R»úïèXÒc³¡G$x =DtŒˆý‡UëŸR5èÿ5à?~Ρøædrìï©€ÕF— À§+êÍÀèt€cym€£°0W®Ì#"0J­8¦ë …º@.Í¸É ´Wáœ-Ìà¡k³.,zÚ…2:§®Î;‚…äb/¾ù*,8L,˜ - €ˆp…ÀV°l4R\ø\¬ B©|m/d‰ÙÒÇøÌ° ¨í¬+Ÿé‰‰A,Nxƒÿ-âªX(yÄ%õF€ê… øHV¢O3 釬ðÎY¡9L-b,ÀHƒSŠ&º¾R2Eü ûs¤OB÷n]Ñÿ/ãÿ³g[ÅwOXÚÏî~‡Ý¥U!<º—txôÿÕÚêÊj_LÚ¸°èÍÝDŒøëPaúÿᨶ:è÷%$ô»û,új¹AOã<ˆåw ¿65IÕžúyR©ìdQ$pf­½-|@áyì>Œï¨æ×l™ ¼båŸíˆ{§k4ãõlKjÙ¸“¢¤J|[òãØY[Co2~ŒS°^%*ôüÓö“'êpXvÔµ$†' o‘¨!p’þ¯NèØíÀ*Q]èÿfÆzóäF°|†.Yô¯V¯Ýè (T*§€Ðëü…lQ*UÊÅ,€Ù½uR]ÊÇ\<±˜“}¶¥ÂC¿Þÿ&³R|¯Í5 ƒ×}xÃÜÌGŠï/ð ¨…õ7¬ â 7˳”t'{ø[M$þt¦/ÒÀ­7éÿ‚ÿg¿>øõ¾‹)@È}•eD°hélK«ÝýÁ +­Øúˆ¬LÜûBþŒ'Ц[c¦Aw6¿²²*]OQØ'êB‹ÏW+Qò{9Êó½\Ò—®åã1+¼èàü<©nëWâÿÙPU6V¶ó—ž-ÂI˜òN,½]å­b–0«vOumnÐÝE‹ xî3'øMBÀœú€âTæôÜ”¸ðçP½Ð 6‰Q ¾lÿa¯™·ýëë_%üß`¿½þô_ÿä/8ù¨ÝÒ®Ô»h¢¿pÊœû“h˜êr³ÀM{(»Ÿ •'&€·ØtÂ@ÈnyøøëOWëa¨hç©´}¡ýΓ'ÔOžì´ýÑùŽDLDb/Dë¸ÕŸ ÿ¡ìÝaHÞ¯U ý¿ZýÉšÐ_ ̆Q;5„œ|.]qZ;¿˜»wG¼Ùð]®¼6 @…€ €Að4€–+½JOˆnZ ,-èMa@ùGFžË€{—|X PE>æîEz(hÃXBfýÏ©/Wf< X>œ™Z£$ÏîŠ*x[ØàíŠÀÅ:<„àò^p¦O?E²PäÞ `nÖE„& Y*Å—|¤ÔPús,p­óMf´[Þ{U!²W!k üu.ö¸°8唟Þ{ƒÀm”?Ýe€Á¯€òÝÜ¿á\_·.ÿ_Áÿgàÿ›ÿ°¬ŸçHÁ¯Ý/º«Òßkµ¥°ÆŸT}]à þ÷ žƒµ^­ÔÛ?êí¯àü?8tYè}ߦ=_BD-Žç£ÙÀDê4ðŸ -òÈ‹òˆ„:­½­2‹XÑvÍçDQ4‚o˜›Ä^Xw‹Õð«Qœ‰±¢uZÕê(F… M(–ixqŸÝltž{3鸂F–÷ã,Ž¥zÓ´‚5*Õ= ‰ëBnn‹1eöìä0BÉ\‡3JÔÆ&óߥPcL”Öœfc x?ÜMjð? ¿’P°í`OH3I:à?H‰§3Í õÒßÑ8JÚíóÎp¯5ÌÇùXX)naN'‚Úm6ùšRYŽÛc½ñ=H"¤rmUIÔ¹¯Q -§Y³ó_Š“·v™/ N¥âSGel…aj¥Na[žý Õ$Í,·ÇgŠŠÄªßIТÇÔ'öÿBˆ‘SÒèóŠ„)‡Uy ñã$pÈ{ú¼ÝŽ¢v~6ÎñSâè¯OÙ+º{´¢f¸ÌK¸—ìï½?8 6‰’þ‡Á Xô§k;;˜Hnül«.’d;ŠJNu#é‡Õ{8áF©êYÕyt|œ3:n'âö*-´¾Ñ¸rü¸îL)„ŽŸ«J Ù“¸õ<+–¤G -ð~ÇYþ@ë*£2z99m·7‘¢(O$ж÷ijª¥Y&‚J…¨Š0›[åúýÌŒ¹÷[H¢)â'*é,;vfX8Ž£õ4-œ€'èëÖGúš?ÌqzóÿíÛ‚{€ ÀŸÃpÀÔÔÆEXtVåþ%ëÜ`ÐÍ÷˜ -¾oljÄs4sýÐ -'6€×ü86Ûg J˜Fs-ÌÁH„©(5ØKù‡ÚO2íüBÇÇÁŽ` - ¨ € LUJyªÿ« -ü—¬á”4àÞþž\áìÆY“u -[àî~rb&v=¢û¸M|ÐKA$þõ®É,•±BOZ‚¸Ñf‹ì¢¤èµiaPØÉJ€·¯Z|î²àÔ€¤¾nÐGza˜ûpæCݘ̸WEX™a‹ãj5VÍ3I*]­4mFf.‰a”õÄc+–à¿X ×8“êRÊ.,âfB À·…£¯ ß“Yi,1ãõu,贰е©F‘˜bX€uÞápã,€÷_@Äm¦;gÂõ `úA -°$À ôñ-ã?ú¿Õÿ üÿ¥lIøµ~ÂÀ}}zK?“ªÏ"«KKûoÞ×ï‚ú–àÔúShޤý‹SÿFÂÑjmÿ°?À*`§AÌÿRýW–jª‚´1Ç8+¢ÏÌHinªÿÇjÒÁ;]<6Ïš­jAFõnm‰©d/`»Ø®Ñý·†qµÄþ44Ó¨±–Å[Rw…ý[¨,Xx -œ“fýÁr½™<ÉFبš¶Å³Iš|ŒUçS‰8VG1¥N®x°ÈåÅÆl©gÏ­Ò¯}¼,È&Í_³,ñ¿/‡Ãß ‡§§Ãáè³0tÎuaE=ÉwÓÇðHÌäR€ˆÿ‚:/²z{Ôìœ{DZRDŠ1CÉ8=ÿ^ -ê7¸ -¤bLOêêËuÉ jCÕ‡*³Ön>:òÑK±S'† ÌISZëW¿üò—,¨„Óg$x=Rn?·‡æç”ãáhÜþüó4gXÃä‘ý*%fjujê8ºR@½<©¾£`§B¤šÖ& Y,¢#žDˆ];kŽP˜îJœ¬ VŽjO»½îÊÊÊýŸÑHV‘<U$€ÖþÕ¶ö÷+漣·äž™›]c ÈHWê•ÒÇW>®DQ¥Ê5h¹R]^öѶž$ù¼ž†>ÿ|Ib;ª¯ÕJá–ðS_þ#9¿jíª½0¶±Áœ«HŽ..ñc½9Üÿö·ÇÇ¿Í~{üÛ':ЕoŽõk@vRZK˜€b¿&N<ú[¸¤ÿƒÿ^4˜wÓƒ „"ØÅÇOU%\ö€óëâCXÝtÏðtBGQX&ø=õÐÁÔ€Àk|(^ýNtÞeñé†Y¯Y”(ûÜ]¸ìÀ­›,º©té Œm¼©)µ!QH÷‘|¨g/|Z. -Šl)‚ÊÇ3õXÚ°bT°8úT…†9ÌÆ[·Š(mH0¶êÕP^¿âð™K´¾î8 8) 'Z@Œ@ñ¨ É{°3Àï>h €*C‘Þ}—ÀM³efpxÉàZÒ½«>Y.ÖðTÁ;ê{Ì?À¿/\H¶\ÿgóŸKøÿë_ÿš‰ØBxõ~­W[wî±u{¿·Ä&ÿ½þà€(Iiƒ8 -ÿO½°@ïPâÁJŸ5¸Á$ï·ÏÔ%zuNU_šQÛ nkêûbžÂ\²“eq¼<öä(›’y+ŠÇ<ÚÊΆF TœX£Bu:¬ùøx¢î¶†‚T–÷]«àë¿]Í:§Ë GòKãŠTÄFTb~‰¶åxAfÖë'¬Nb5þÉÕµøSiµIô­#ÁÂi´‰€¾ Ýβã5ï ƒ’msk<þíê|˜FÙy3‹æéÆÆV§…½]é¸ EÔEÉ¿d£QšJ\g–˜Y¤tU!º(i+¶|ŒËƒ$6½~ÅDDbˆ²C•Óikk'Ì€üŠÒoÈ^ŽsiÏãã½pY ¯ÕüˆðKéuW˜° -ËQ!…@±&àÑÉ{ÏG9sÖÅ2ÐK?U‰4ÛwÛ˜'€cÑ?N†= ÔäŽGãóñ«<=ÎG†óÇyÖΆïNǯÎ_~?>ûv”çÇ*ÑóÑøù·Y´Ýíý§|œç{ÇÚiömš ”Gc¢U‰wF£ÿ4åÿ‹”_ -ZÒßfúH²H•A¥†Zà#•¡7)QOö(06û»opœ“¨&Q«˜Rñ8Ëž¸úÄö²ÑóaÚˆ}šÂ sæ'’̯>þzãg ¿d°|¸   þô§?ÿ‰²’ÜŒà=-ï±@ðxÇ^°ö¸ùsa8»ñÏÑ9ý›lxÏN‰9þ%¿\ýþÆÿo„÷ß|ÃI8YøíoêØƒà2舘 ? U´ÿ ý_WƒþoüŸ¨-¯w>MÕ wU[w=G&£‚RVõçXí¶Zj°˜¸ánê…%2ã8j»¾ÅÜÅÚ¤)m”ËÒžçŠ ÐÜ¢O…Š%, -IÙZg¶J«ñQv[-%^t_´%þ 'Ê[ö&‰?¢n&ë›UW¡þ¾x·ó2ÓŸ7U±Jo¼É­¢â%Š­‘~ªrÐ3âŪJ¥\Ÿ97§ò’ªiÂð¥‚ì¦Ñ¼eÃq<ŒâÇïæªzÝRh=ÿcáqE‘(ŠFu°“ÍÍÍT)¥WŒÔ~¼Zší¥YœEŠÑJ×F¼¡_ -Ìr@°L|¼™éí0 à € -X)hDŸn^¤œí*MëÈıž* tLª…Ê8îü8Fn,–¯Ëă۷ÕW±%{8ÓÉzêH†—à€Ûû†þ“râl(W¡3„)rwïðŽuÕs¼)Rb”Š„ÆË78Ôÿ­+þÿ—ñÿàà×Òߟ¡uùϤP]–ï¿¿ÛÓcûèý«]IXý‹|÷óû'‡,ðûìÁ×1  þ‹±w{=ÊÏ\0nÌ—bÉJsª ²´»« -”ÚP=„;ÍãJ”¢eÒªÜÒAâ­ÊFi´·]%aÀõtCºk4Ò%ÌÙ[RüÕˆÖª¥y½#I³çíJD½¹ M`oŠæŒ$€(…ìj%LKÙ(3®. g˜¾— ÄRŲ'È+Åžy¾“3õF JÊC¢¸’‹bR² )l0|ÁEv=e‘nº±Q÷jjb«‹ gyÄžA¬W ¶rÀ Äq†6*–ÕÞŽ*Ñò‹&6ΆgŒË+¸š й´0òWKkqK…ê$í!ãiDÑrDÁ­õ2šÝ:ðuäŽS%É#X<öT6ÜT%i¶Ë¸M6ß/rŸåÿ?æþ®7®,;ó)ÀP[h›”ÅdðÆ„Ó9ÿtÆ *YT#˜<ŠCEñ#q˜äI*º2meeWÙ…FÁƒÄtÂ`ƒÈÁ\肟ᑌNÍf”8bMºÈ¶ RÞÕ]~„ò·˜ç÷ìAR¢^Òp»g¯çe¿®çYk¯½÷qS¶îr @óø+5ÿ‚9š¼{ãÝ”>7ÄŸÝ >€à°!þÑMÚmÆ5€V%p¹ˆ£ *¢_1Öy7,VI–n·Ú½¯×ó-!×°W½»z§ ?£³|§ð,OÊ”z×—!VM²¦\ek¶FÖå þÂ(eÒ&Ó·)„ ôzi“y†1C^"—+J>þ¦a§aé·F(–e¼*`]ÿ—¯•Sýô²‡,ÿ10ú÷ûó€@~§~÷ìé“Çöö{‡G‡ôiïpopxòè±·O‡»@GÿÎOß> Oß={ªwß=å]åé·OŸ>ytt¸©†ý¾Š©'¥™lö‹Álðãǜ¨óÄ«÷ê™öèݪp£dæc€]ýHÌ¿ÎátDàïnÊÈþmýËôßÞ>(”Á`o»Ø+Ä{z»§Ÿô›hÁ¶ÄHeÂMq4<èÖþ'°Âû1þ.:¡ÑN´kWY-' £køÎ²^>W¹mBÂßÿÂ3Á`À†ÌC@Çø¡k\™:-ÂaHäez¥DioÜ£NÝÒC¿Í²²‘n8Ãä`?•»WH¯4f"HÇ‚T`RÀuÙà nÕY8ŽUJf.©É)úJŠºëJ‰˜å£¤›CfÊLŽE¸Ú‹…xdƒþ +èH}ëÊõ$€õ™«¡ãøËxZd+IG*&¸×¼—‹À®£’ôŸîÊ;Hp¿»ë=ßû "ù-• D©Ûê1)P´hŸ\²ïï dñ{9¯×’;­ÓYÜ$÷&ã(³àÐÕÙ2Û~L|%œ‡ºª1õL˜yñå¿ß\Œ¿œ#@Á¨y°I4+Lœøì(@Xð åÿåÉšÌD€K(¾¥¬6§¯(‰Q”0^OËS‚¥Nd˜Ž©Ž=ÏyÎB€¦ºn™ };Èë«Ý<ë­cuè«qþ¸$„Ç?EZR„ÖNcÚû'Ù›‡a)¬ßûpÉ3aÆ‚ D°ïsqªg¾òÖÎ80S -HÖE90 ý…™gFûÒ€ÿ_çc< 7t?2JpÀÞá£ç Àw½ÓCàÛSðí³g€§¢"qcµÝl·?®¦›2¶ûÅáCŸË˜™¯ø‚ûT£òf–‹|“ÿDÚŒ´ ÿma¿lú~Ž™/›¿å¯Çô?<ˆÖl( 0€½!¯‰Ë@gãH}Ñ ×Þ8þûŸ×1þ;Ub -ž³¤§¥3šÑÊïÓ‰TêH³(~K‰¨RxËÉ1ºzKh€ê<ÀÂHÁuó¸"®VTóS3mo{Ũ Æ n"Á¦U›©Ü0ë]T™Õ'5 5&éNÙØ’%\3HÛX^‰§#á¯>{/` Ÿ(É·Ü騀dÀªïÐH6¤:%Né£TWŒq7`F^«Y%ì”IÛå ¯yIåâ,Á€Äør†ÞÈKµ*­¤•cË(ý!Eô -bÂ4mè,™tž1ø_øú#æ@ì³4“¸t~žŠ¸Nc6.Iš—øz«òVXáÃË&–—PÍ\ —§®Qj"N2¥à6¨ÈÁÙbD´UºÚŒ¾·«€,«œ<Áò ?ÔDzr€1¨`yêëf³íͯ=Ù³Ûï -þ Aþ`Plëv’~!Ëï€\ìˆèýÁÞðB€«CiÚÛîoæø >€HÒ4N„ûŒ ÛìÇònbÿǧ 5't–eË ·Š1jl¸{À3Kª•¬¦Ü Ò5ñí\¶ððÖêA"4éÀ%/t(«u]•—†ÐŸÑĸt{%ªŽ©j«‡jÿa]ÂဂÅw{¸äyÛcá:ÊÉB ÛïXYT4ª$˜Ö Áž×…oÇlñ§¼‘ -[ù¼×s²yG—¨(â¥xYuMÕ²ÞvØå©«tf WÌ¢Yº"£ç ÊÁ¬ /“ٺ”ÀŠŠ’¬è$¼–]–Q©BW¡¸óA¼_Äÿ°ÄÎyQbTüKêÒº Šy9Éjöu@É`T–Y]o w_Pò_K*1æéêY© eúŸW²»· -"ð·?ƒä‡Ô(ºîuô«Á`c aºÃùGø;÷™§©OþêùøÿŸÌÿ/<þ?vþß„è@ܸ÷Ù§øõ?c|ÿsii{ùu ¢?–‘ÿÉgÿ/æl¢;|z™xdÒ}úE+ …ª‡¹{¬¤³Þð -f (5¬{l×îõ¶to7½žgj¿.•£ryÇ;¬g£f-?γx1•=ÒfǹKŠ÷÷ÓzT«×ºÓ5m7TÕ–tó0®•p”c«áM··0˜ #=‰úYÔè­ IÖ+ö7ÞLãz|}ƒ4·@äý¡"-§/æµâ§‚ÒNö¡’eˆ3Vp›oºîQ¥C€—!>Tßì¦5)­Ôë×JÔèá,r¨ƒ„çï¦Õó]¨þ1ÖHåy¿£,ÿÕc¶µOuµ,éÛ,uÇ +-{Þu]è#®òa7©GI¾»¿k¿¶cyƒt†£ž(@ÒË¥&”¦G(A¢Ð»a%Ýì.§õzÃ"n£aÞŽ¢fKTƒJü¸íbÉz¶ÓdóålXˆ%Ä{í°°B+[ÿ˜¡¨O€DÀk޼– ÉRåê´ÔÉ­¤?’‚Q:Ñw¦Œ¼´…åÑ* -=ñËZ:J»CÏ;£)á_-×ÿÕ©B¬ƒ¿]¢&Œþ­–žOU$Jò}Ð_ï¶ìUÑ‘± àÒŒ‘™=ü¢\®$c§B“PÌþõÀ¼TÍûZYåæÄ¯lÛâu"ü?ë0è^€ÀCÁ d|-(Ÿ8ãøÝÄ0Ä †Ž€yJÀvðØô7þë_ŸøN¹ÀK|zÒKbnÑn7ÛÉf» „Ëè—#½¬|}°wt@>öõÊ{†9,:4 ä›}溻D*ÀÄþ/ãÿ…ÿ)ZRz±hÕ2œöp¾UYAT‘Ô¥4?¿¶’¹H -þhØn/…5Œƒ)8Y‡ ÙÌÔ>Éþ§qè>EnhÑS ÝU÷M’lN -;aX F¥_%à1-‹·­,™¾%|Ó•0ž½¾ý×àg¤q{év²põ*Šš«'YT1() -.½ßˆ›J4«X‚hN¥tx£2]q¸·:M·™ŒÀ1KËÂZFÍÔ Iåt^%UD³É–ÎÇ$T÷®ÈÔà.‘U¥×àBE(¦P‚O]'/ÁÀŸéËú]ç”熔qÕ¬ 3©Ù!ÑãÁ=.73¯ªT½( @Œ¿tøé„P~Ò¯³s* LÔOø[Ò%| ü;¢W$Ë·òMt§¨ø^ÏÝGNñ¿Ü€ígŒÿKx–*FÀø›oòÉM÷Aõ°âÿ͛ɀ€¾ÇûñÇaË Ûÿ÷>ùÌôÿ) àão‹%”€^çY­Z* ¼ˆµ;•]*à”e¸( }+CQ­À*QžC¯háCO‹t‘µeþ«šQÂ’ªQS¸÷Ál¤`ÖáÊbažÔ»Ži“¨}£¼ù`üÇp”áÜÙªíD]²]Êv‡û¢#ÍzœþÓõá7‚.ëj÷Ý%JO—¯}]ÆŠ‰mƼ—™/ Ü Û³fN 9»@0‹íDÀô(Ž¥áÒwd·ÒиMß¹l{ÕyÐy7oæ:]Ç„n&'íH§HWÊ-‹ëC2Œ¾Ñ½d.c1^¢}Ø®t·Õñ" æ$²׳⿳¡r€ðBzEñ }'J|;JÀ/ýÁ}ü§¬ÿ7Ìâþ®Nêd¬”è¹Qç$ífâm~[dI½ÞÌŠ½Žú.n 6zÎ -ðÖœàX ½NÚKRˆ—=|ÍÆ™g:` –ð¯tÑvʃ)Q&LŠ;%Ù º¢3.“S;^ÔHq?­Æ_éËð]¶îðµ§TêhEêˆb*EªLÖ”­*éHÏ¡€Ø»7¨€?¶ûÿ;$ÈsðOO¨„–ÈղʕY&ÖšœŽýOÞ<÷xòìÔð»ñ:ƼÎð€†üó€oÏÄ€Úð°‹<à>‰€å_â~òRàEÞáÏQ››™P{SÖ¿ |»î…ùvPìçO°ÿP_*SüéãÑC^,GÊ!CŒÀ6Ûý.Ѻ[M­ë¼ý1ÿ¿T´¤ÎÕó‚0.¦ZSG2°‰NÛ'%èuT–Te¾$Êšsø~P6êÈX…: P BÉÌó’|”Žˆ9ªt¨­#ÁÁWºï“$zOFƒÿjø+A€Q°n+™môðU@ùuáâ5ýä#ºJ]ˆP|ÝÛËi$c¢„NIØC$˜A€¥&ëpy¢øÀr«1;íY‡ºƒ’Š®VêE–T­Úp¬„-A¿g¬Ôª»ýí^K¼( b“°5Ìp¡J–)gŠ•â–ÚÂíÓY*çß]&[Ï{ß®ý‰3³9Ô‰oÓ‰•èðWvÃV¢\ OÓÐuEèÎÁ:' •«ç¯ ®OU÷Ç?CÊô*o%³sÒ+ÌÔr´â«Sã àLqQ¸¸%9øMe -  >ÿ' -ðŸø±ýÏ&~ÒÈØö7n0òÿÉçŸAÀÒÿ3vdnà§ÒÔŸ|úé—Ÿ}ú…(€.̲@úÍ΃Ï>y›_îAÔh/*µžÚ6³0ÁQªB5’¬†i½žì•¥Õ¾Ø¯êŸZûSz%A,W¯ß¬²/³¯|=F‚PPKéýa÷½ˆš €{,– ”c‚ýzGÉð™ XZ†äýÝõ(mDRïXúÞª'íæÅƒQOÔþ8FÅ«Êg\Õ_s5”æÂ]Ðwýv‡!õ$.—¢#ª`> åiù±r‡Ã>Vº­èuµrÁù–HWÛ*òX$€¨¾es{ŒuÌZe4ûyÕó (¦ _ý¬ÌWX‰oÀˆÊ„ æ[…Œÿ8ΆÌ[È{‚ñ’¡¢-Q5A#Éâ@ข”ŧÄ+wÍlG§¨Wn‰T² ˆOKxØTÍQ”K'„ˆ 3Ãè¼Ü© -pã³/X`ŠMógŸ}NÀçË¥´â ”Ôwç¦{^哨ðá^Ô:²a\e…d}ݾý¨Ü…ƒyO-â´P~]©¹‡“”ê_jOzÏ -YÚ¢ç®kmÇ›9$é!é„‹}ÊF°€¥ÃU‘åÀŒhždö -‹k©;áP` ôZxyñÿÒÑÓç<Ý‹bs</ø—xÎÆœñ”1e  Fþa¯õ„O"{i꘿.¡Û2ãûø …ø$ùÐVþ`oäö ñ -÷ô8‚ <„ˆ,à)èooDô»}Ù¢Ü,«þ -ÿo1ì Û?ŒA¥­Ù}ìQ ¡C ªìñyóß62ÞVCA yFÅë­=Îyø“éìch:ѹ~~ŸÛCÐJ –Tƒ Z÷¶RšesêÏÑ€ä–ÉËH`SÔxy™]¦Ô%¢ zFÏ(Q¾kŒ I4—Ùà”‡¤ß¾,B#¬97K 4ÌFf1GEÉ¿*°˜((pv4–ºÑt™r"G(9~S–,Þ¹(.È–PSÜ›<<éøý…´fl— qNäråOI>ÈnJ¶ÔHÞg3®³‚ó7Ë"ÂzT7.ëÚ¼Ã Ž—¸f”¶–®•—Â/Áÿ½êÀy -p)K梖ÊG)&:ƒ(Jt€‹Q’¤žœL]š)ƒŒÖÿ¦2ðÿ|ü?Ÿyþߨþ—å~ãã{÷˜™u¸>ÐÜ>4à“Ïn¾}Co¼.À»7>ùü‹Ï?eˆÀ£"!ÊPÿEæÿÛÔUYUù¨Õ:EÎ*qK ÍruAßË$ôë꺋‹ ï»+§F.­·•íïg«Q·[ˆ%èj¸)H•« i„…¦yV’L5M5…ކîl5³c!T@†ñÉ’\p0vv{ÇÉl—Ù[s³sö`t|\ùþ°ÚŽñ¿í~Ȭ.Ñ®­–Ž|Äðq×X[ç $×:QлÇŽæÞÄòC—û,#iةDz0Ò8Œ4¥åUó^’¯û°¼Ñ°X-z묶ë–*ãqîRtd7­~P]pqgS<ÿõÝÎñ|€;ŒÑCN>RZ{¬³_t›¢Ç£Â[„¾Ã6T$¬ÞǼš˜”in+•-?’,Y yïAß—ñìD-sŽX9Ò‚Õ/ÖÅ«Y -œÄõ¦½å·0‚FÆ£¦Ÿ— @MK´½âQJc~fjæ-ÊmnÚå"ž„[M‹Í}Õj’æÝ*‹ýIT¡]U! HK•æ¯TgÃýfú 8Ê*§˵—,g<ˆZnÐÙÖ·D ÆÎBl… P@˜!h¡)@å 쟼ƒÖ¦¾bÖ¸âMqL¡Õ|e¿¼ø_õŒcžŸ ¯ø_Є°2sÆÐa†óñÜ÷_îð‡8lðØÞh ÿ÷öú{ÛJ9–>°.öÂ8€þøðPˆÿðèÑ££Gúƒè @Ä@§05€hÁmÖ -ê{¥à°4€°ÿ£3ãÿÖ±Æÿ—5‘\MÃ0ZX¶µ*´zDµì,-Øã¤o x¨tkže›Ç=Uë 3SÓ%=¼Í¯ÍÛºÕ§lg#3e”h¾LÒ¨ŠM!QïåŸý+b@ÀÕ\£ƒÇÞa&\ž_ÆæÆêÖáA¯êjÄ:@´b‰@…SÁù‘-Ï”ÄäÄcWás¸ i’iâuáMf#¡íXBbQº¦Lx–œ¸Kc6so)]‰‚*í9®še_åµd¤÷hOC) À½„m…ÔÃýà(€s@•ÔªÒÚ—büålÊ'’3“‚“½ ›ƒu®s¼’×(/mñÍ.‹¥ëæàŸB–Wò¨R$ìbVöm`Œ zäì/a4cLȤ·ÜêÞPðÅQ¶gÇÿe^¡c ÿÿo -Á?¿! œ‹x9@“.ð)‹¶ˆ|þù§Ÿ¼ýö_~ÊžÀŸ…¸ÿc6æùÆÇŸºb¨æîÕ¢|¨ê£rU^ aQ™%u›zÚÝ–Yž¾3<¥ž®C°nÌÂZ2ÉŒõþ}C~À7]„·ê×dM0eÀµÑ8ué¨ü8KÿIªÛ¦ÜŽ‚ñ8v‹ÞÝNoø`?‹ß™}íEõëzÞ¯ÑùAӻ߻eÖ¬ ,lÚà¨|·b¸?ÚõVW‰ËJlyë§äúÄlØó^ÈQS@”§Õ´¯þƒ‰g¨d9’¢7êÆC™Î¢…tmµ‚ÛÒGäF¢Üt³zµÛï¾3N–a<‡7Ô["-=ù‹ÞŽÙŠ -¤ØŒãl÷+ ÑíŸÐïEfg‚R2;C™à²¡¿+ç.IJ¾×+F«ÝcƒdX0º”ÛsV:jÖYi¢Ì²b›½ ¼PªqUüõYàA=JàhÀŸÝ¹s'}ÅùÕÍ‚u¥ê_«ªêV¾aʤ31ˆç%¨šS6J«ÙˆÌ‡ºƒ4Òç‚äS^¯¦£Âñ“—`ˆª°¬ï»<+°e0Iú§ßrHµéŒ\“ -@6»ã‘_„GúžJ˜¯…2àAXR©Î2ö¨¦;É2Àó/˜çqö'ÿÙö £þÅë¼&àÅ!¼ytËWz6ËpŸÄÀ¾ûØâ^ë`,Œ_ÛLeã‡.Kûô=Þ//í}YöCeQaüÀùG‡OÄNøÈ—‡'øÄŽŽ "…‡ÈÚb‚xÿì–¹ã¿SâðŸÌVõá•dImôZcIf-@y;ty5Õ$ŠRéÎ}΋CÀOΜwÀýÌ•+‘Ï]:~ššò‘j5nŠHŽ£žö«£ì9³†R"¯t‡tjˆ¡Ç°¬¤ë»Óke‚* û·û1Wö$gC!•M'jÿôIDATf(ÀDª%ûdÚ®¶©¤†/1×H†š;ûÉUP·TÌëñ¬WÆ@kD)-‘’áT™I£Z²KÀ“; ñô„ÔÙpm¦²™ x­ ºÃsÝŽø¿PFãr¶ŒSvF²HÖ…¿öá\9¾ÉeBí¸, åµÇü^ÏÄB˜@îÂT¤ˆ"|¦IkE§Ó„û\§%Xä¨~<cݰß~îþÎ}Ö“=çð¿ÿÿÏŸIÉýKü¿ñÉ_ Ý?½ù «°Á0Wß$¶þsÀZ—Äÿψ?aý‡‡ƒàØc C–¿€þäáÉɉì½{ôP àáÑÉ£“C}u¢g¬Áƶ™ø«òÁ’:øJü' üi/Ã, ×XÖ¹§fC$9Å…©.r:¼m¡òUïè³åÒ"6¼å!€RN/&Ì+=˜ÿ¥»Pr;éÕ"Á¨LŽSr êÖ¥’ÐÄ:ÃF^„ÙÕ&–—/]žoø8_ï™<( jÀj²K­ŠDªá:öR‹od9}‡4²9bè}£d¤¡?ÓÜ™70ÍJFq•”³@¤Ž<•– B·$íù7q6ê¬{¤Bb¤k06UÊ‘ÉwKtºSÀø?–$#>9\ÂϺÞÙÄwk³qJ–ñð¹ý•E5öà´æÜóKs/ÝÎ?síÚŸ¨ðlQ¹ž–w -„¶²/ÙB„&$ V:¨¸®’ðJ%x}¾§à<þ‡ñÿ³ñÿ¥ý/üg)a;Ü œˆ|¬wŸõï}Ævÿ7?ÿôÆÛ7þŠ@ˆNÿÉ_aþfm#½áFRR¶ô§jm&2†µÒ¸zej6f‹œ5Qwa_þã°šB'3ÈWbu±4f‘á"KYÿfŠºt’FgG¯ÓµœÂYêrYu"#Yš™ÑìKûÉ‘€¼(vìïïæi\‹›|™°Â>}tF§®ýëmö*g H IÂ$5Šn{Qé -b.ˆ ww‡y›_ImÆ«éõ:úN™\Ï»ùÖ°Ø)¾Ö¯™yi™Ýn=–J\ËÇóhpKKô3…€r¢ÙìÈ„À%N¯CÉmb&D¸U2u±FI²Õ÷¢lG¯º¶¬•lë.dÒM鈄¯!ù0Ðu¶F£zÑd*¿CH‚j€H ¡7N_™Q_W¾™þç±)êã!zM++’z¬KN^ÏrÆuJ8vçjÖ“nßK¥© À„Ø °à³°ÒËþ1eHÁÖP§šòhö6wk¦_JqY"¸SÖ!”eŠF¬ÃÄ@üHµäÿÜQ¦Þ.©Óû6mÿš6T–™I€H¿PêíTP~‘'f>¹ûJc{m¤ˆtHS’Ïè¢ —*(tÒÃL=ÑA¾ZØ%Ó?”PÔ‡9Fžæì‡npîÿªZß+=%þ‚ÀxlÑc¶ÿWÆlNbpAØüçý)XUU¾Ò ï½§/‹ø!aa'T(.[^/ :Ãû2ûüBzqÞŸ<Æp#åÿè‘ø€ €x‚€ÎìK@P .ßNR%Iö?–)ó#ÿ+­ü¿‰î{þ¡VâÙk-á¶ÝÑ´ p•ˆ8<{fèMù®½Ò<ªä×ÒTFV®ˆ_ž‘ÐJXFÜøÀÌCÚH’ìÇ Û«íѶP-ãõ€¤¼äÃÅl·ÅZä%ÁÚµ«S3•eOyÉl8``• ‹¸‰Ui¨V•Ÿ¤\z€Ëi¶åm‚4³êlðó¾UÆ)Ûãh2ܘW˜þ•õQm†lÏà?ZQ`ëù­VþÛZ2ROÔ'R"œáßLIe¾ rðz±xgºœlêñÀiq2‚аuÊÇt£aüž¬‹ÒDZ¼t;xdTä×®¡¿@¥‰èÎ^^>·S?§Û+×–¸vép dE¬mà -xå § ° *DJ¿XÆ¥™ùáôýb áÏÿ ÿõµµìûß3ÿdçõ÷v}pÿ{z ›þ2è/eýÅç,üÙ=l‹Î"Âàæ›T޹ɲ˜eø¨eC µ²Ô©ˆ-ÍU 4”tw±^nÏíÌ9·yR±LemÔu™5Õýš NG¹üwÉ0$sQ2­ÓX™šZä|µÝ¬K³}~h2¤ øÝÏï¤ãfšmÈ<ïõv‹ZÔJæ¯^¦Ñçø.Pè0Å[½Õ‘?dˆ‘Ñö.˜œnìï€q:uG™Ú$Þ(ÕÙíÊ[SW*É:•æIŒ¬Ã$f¿$½k%„¬„e€z] ‚´O<âT'$Ä+†<éži\_Ìûyÿ”ˆ”qÈ»7>ù$x”ý–®ò²ÿpA$Î9-Ñìx¹¦óª+4€4[sô¤Êõ8g!FgdÝÀáD)‚@‡Ò’wÛLÕBˆì`ÎD æ°T£Ò2‘eñ2ããÖôm¢ŠPǨ"é‰à -Ç4˜‘…%Rn8Ò²@âi -Ê Þ,ìœ^ÊÒR~›¨W†tA_²$,<~ËCmñyÀËbìà€µYoî;=€ªˆ*¼ÜÀ‹H»í¶Ú’'ü¶™ÌðÄ>Fø PŽŽ…ô'²õùÓ¿><~tò_ÀÉ£G‚~}懇JëÑá NèÏ`{;gÀœ b“%ÿ¶ÿ•† þ“j ‡«›ÈŠ«Ì3ÎzÆžÈàª]ÍI-ð7K„J^Zˆó™×6¥æUÚþ:xMWXS;TsÀ-퀲ßó_†å0©™´–ÞL«•ÍÉ3-8+vÙf4MjV03¿¬¤+ñLpêq²ª0xÛ¸‹Š#¹½v;ŠÚYÊÅ‚OëU7˜4[~9óÚØ­Ì6n»'xj1wI -ÂP Cð…œ­ ³šÊL§ ïB1”YoTO˜ÁÄ—­ÒÔÄ‚qUøÐ%—@™eDYQñ†Ô{N¸UQÄR.Íɘ&å¬Ü pŠ@f|´py‹nÅʦütMå‚…Z¨èúdÉGUÎ…:Õ¿+ýàR%’¥rÙßPDÎÆÿ•Áþ‡œ±ÿ…ÿúF àS&@>„ÉŸ90€(ÀO¿¸÷îÛŸxà'ŸÃˆÐ72‘ÏÐo½.@¨!› •²žÉ¢¤vU·^èFÒï†ÅØ€óü†è×G@êZøÛi%+àà€—$i¤–° sêOn8.Ь3Ìâb‹qt‹4üð·Ã¼Û]WYæ_#¯ùŸw†IÔQÅIyÎËxÍuOaAoX6»ËCOzmzœ¦ÌЧ5"ô’¼(vXó@7KWÙ[.½^7`ï`¡ônéà´‰@—'ëïx àœêéÛJîÐe‹¬¾Z¨C C0éB·åiUøÏb¶L K Øã,jI¶ÛÁ—Ô"öOý_Bš)Ur½N¼ÿp¸;Êëâ!t]d½ˆRÜmÜÙ^nLOÍÆa‹ý ÔJµY›˜o›§È;[E÷½j­Iì|ˆj* óiŽT¼EwC*[à¬ ÄØ€À€ò”—KY±ê Pù…[ÝÆ,ë†3¨rF¤=:ùº8z¯¬RÄ«ü¹Fÿ-0)Š(Dd½ÝoVÓ­ÞÖ×̦0îüo“Þ¬ØQóëWb²o'k5¦ -Ph¡ZƒxìX!—ؤW -â˜a)`#Ê…±’†DæÀØDmâ°•#;_V……7z^ü Šý€A÷ÂûU1ÿŠ€É:$Æ.8@­d5Á>Kñ]ì ùC­»mÇýõû{…ìÿ’H ßÑžL~bðûë_à~òðÑDzóeëþ²ÿEeùpÇbú^_Ÿ”ó”eæîmlï ¶û,;ÝV -”‹5ZÚÿ ¥¨Ä¶ˆ„°Ï?L%¬4víšOç¹™¸a2kGQÖÁ¬úþДz·âƒ“nÎ|_™i\™¸s$íDð3]çœG4­Lˆ¯Nõ :„Þ -b¸!=çõnO -~Ó[ZP«’yœ ªÜÐ;ÄÉœzTÒ“2àtÞÑ}t1’Î5ËN16ÿ×0¦ Ãhk­Ryëê íØä -r,¡„ß -׊´^lÑx¼˜¼Ú«bÇÁJÖé¤é:ë»è¯‰­)µ¤ÒðˆË û?ÐîÓ·ÏÊD}©$ZëF]%Ó#(!å-éS€¤™'Õ4»=® ˜™×mP¼zÙ¡;J•%çVbØûßh˜*¢HWǽ!~Õºc"` >`^•ó;Å"Þš7ûÈ‚Áü†©çüÿÀÿöÿÿ'ö¿¿¹ÉèÿÏô j˜÷»÷¹‡ý?ÅpïËß~Wü€>EøØ;þÀÉVò‡YºXm¶ãj²ArCK¤V²¥Ùé«ò¨%¾Ôù{ì©–°ÆLºfõݘÛÖ‰LºˆuvÙ¯c%ïÅ«²ÔYâÏ穦ºË„·gEW毕¨dt6Æ€]]nw¸1ñÔWW¯‹¬–€ {Dð(¯ö7Ê —íJ䃊Êi©ÆQ"¸»e$"ìÞ]ŠÞŸöÓwª^Ÿ’Ôeòv[Ü¥“ Å¡M‘pÝYÈ·ðû{)€’Bûí¨Þdì˜5M”¬Ý¬®n€ Ç5½g¶¶9d›‰Œ;Y×»,CûTÉ`qà°ÒϲïÓnµž"±.CR™ñ£þô‘‹t»ý­~/€ ÀY$ ¬Ä¡¯û øRÀ"zOX©&¤²ÀۊʆÆóÙ@=M¸Œj$¯;ò蜮fÖîª(‹¼÷@ø/¢ ÝX'êSp³HWä´Пã–ZbÀ‚ÐbAÍ'Dﱪ"~@kâ÷¤¤ `)`U˜²À_¶‰V¹Ñ‹£0¼´´¬ÊMØí 7'W}‰äýì-~>€¿‹fè›W{þWÄÀ@‚ù¯A, @¸jŒ×ÿ…>€fSæ˜aÛƒ®¢´*±¤×q~zæ׿Œ~Fú=z*à‡ èé ¿¡_YÒ·O= -€7@ðÏ ÙÝ&š°?`6€®¤ùËøXH‰ÿ‘5ô;ù®2±æ®Vâ¿©öZ9Ce:³¶ÒSÆ€YÂÕ%ê‰Â³DÊ<šíz`V˜¹¬ׂJ°ÃüZÀ’%ÜÖyY/Ð<ú³õðñ¥ÑÝ^=Ýê´ò¡Ž€g†o& tŽyÚLÁ1€gýÿ’¯ê‡p†Ãi‘ÓéœrßFâa}®¯ - ´Kƺ‰(è0Ö$*+AëCFd¨ñÊüi|0`øæ2…z=µÿ¸gëÿÇö ÷nÜôÀ¾ì~ée½Ãºg‘ŸaØÿüÿ}óÞ€¹vÜüø¦«Dúp˜Çl±S¤‘g“9ÉÈzÖø#pß+¢Шú–YÖ­×»¨ÒË=ùè¿*Ëÿx8½SZÝ]´Ó)ædbK‘V­Ý¢š…‹»L½GRÚ…”O ÊN\( ä–«€ÿzW;»²§'€æêjúÞœxDˆ`m!N{tù5:À;æ™"Êj¹æº:B"jPýTÁËÎEüN,pÆÞívc–¶)P'J†p=«ØJ¤†@ 0Fl¶ÄlÅ^‘§1l¡WQHÙº^ë«×â4j©—?jCr‹nÔ [ ³ÝÝ$$:Ï¢t”ç«õê"»Ã…ޣʵ!ÐÍïçg)ÀØpãÆôôÉà¿5 =åÊÊáYTõPJ©RD °!¥äŠ -þX:Êw}$T÷ DoàsœÉGUo±?Zíj ůñ¨¹„£E¨8@¥É6vè³›íû¥øv~{6hk£¿JI*ÍaI¥u„„å&&A(®xdC¯à½`ö¯¢f–Óò - £†¤å‚Mq‘ìõ7ƒàÉó1n_ŒÐk€î—­ð¯8 à‚½x.@Œyý2@­Ñ±i÷óM¶ù8òO)ú;­žß‡õ5o¸¬?”©ÿøéSúO°ö…ýOôîÑS=ÏÀÿPà_§*¿C<ÛÛÛŒ¨+—Óƒœ÷ÿGQ­zØyaäH$±E]XX–.„X7ÑX$i²VtëĨ¢ÕrCàKò¯ ©úWõK°¤ä•™O˜Ýêá´üŪó "Nü’çiýXtVÄ­œQý,Nœvkùzky‹QÈ……k3—¯.,3ØEs×RÜE `! <›(“Âá*Ù¯î¥xX[¯wü+,–7Í\]t²ÀØbJÐDt#õèå†P±‹V”¶E®Øµn¡>ŽFœð¬7Öôk'뉢Hí“uûÃ.si(|3WuÝk—`܈ðx*¬ÊŒ›]%«Ä -5 _äFOή¿÷›¾LÚûj„u?2c€rrU¼¢Ò€Ndk¼tÆ Ã'ÀÕÐWu_†Zy¤2ga™7n¬£Í-•h—²P¹4u­‚¡œÈÊú8gÿÿ…ÝÈsãÿ2ûùîßûⳟ1¦ý¯#? ëég½ÿôË/ß~÷æ§:%D -~üñM¬Gê°È“Å8eõ"®²¾ÝXŠdV¬¯‘©:CD£`°ê(¿5…gÅàöÜ›7–^å•,ßhzzÞ:A¬S:²¶·S‘f±R”?Í Î`½Á›r"½0.NG2¼ón×ë«]ÿ¾>æ¹G|;C)u•·:E¡Ó,²Ô®ÆtÚâ§ÇØyŒ|«-ÈÑuÍþ„xÜ8@˜Á›Þ®à}÷4 i€ƒñlàð@žõ„Íe €RYÆ î[xJüwpSè&ÕU&(&Dè„eAî$IÞϪï‰[¤²±Ç@Æj^¯vÿ©W†üäi9ó.Dþ‰Œ\¼¨7ýÿÓ]0-ku™Å#÷4¸$ÒZE¾Zºž=Ÿï|ÆÝ]2[^`aG„@=`=]d¾C‘¥×›¢<:ÚwÊ›·{5CŸênäݱàã™8öxà]1Ï+åþ.-#ß -eëÒ¢1ôM5¤b˜ïn‡:p(fæð Õ}6ü׫¤[Ï{âªéÝᾎèmÑxÜVq¼›ïŽ~ûënœêØÞÖñ?ýv´_à/ùzwwwßÿ=X”ºþŽ(¡*‰æÒÍ×â[ï±:[˜XTk-¨€0ÛeªgSž•ËgÖ¼º¤ö¥æ¥”;së¾<õem©²\Q9‹ 6;ž6_g@2^x›ùíôƒç<¯Ü àÇ:Nðoi*ÀK|ØßIbÿ…ý4öÿ!Kü¼°á™×ÿðDïeæî=öŸðá±þÇOž>Ö?cð€“'„0àáá ×9:9<8R–Y`¯ßg¡ÁTä£)üÇø—Lðßö¿þ+Œ5ªÝšJ§µ,²&²¼%ó~‹mF©UX#-4©Çk†¹%JÒÞ°VZ×OT6aªjD-&ÜɨRº2©'r†ô ¬[ˆ& 6 Xú©¼·7ÙHcÚ´>d[êÌüUS—ÊR›íDows)W¢Zû»y¶"Zy­²ÜêûÒiû;:X=†ž2Ì–+þÛîǺC/Å}EI†$)ò-á3€ ³MåL¹ÀZ¯Fê jÿ •„Ô+2ÔE‹b·XO–+¬x ú[ƒåI­+“Bv]Ýp—åÄUHêÌ…~©ð†£Ý3Gy=øzGZ©%et´àêrË ,BÃ&„Ì @|ùòå+W*ÌïrwÊ ýÞÌÒDIêÕù -)Ç€#PÃÊEIпÝtâË•yuâ…%òç“ -ÉÂÙa€Ëb†øKA`ËkTÄã%»öw¹+ÁFTKOE¡ðde%ï´ :¿BrTÙê÷€çíÆÿ/²ÿ†½Ïw?øø“›7~ M,p¿wïó/d÷Ê–?f÷>ýòÞÞþ˜ {ͺî7Y«žF’Õêi¡rrgRÆ4[¤Hçæ’a&«.à À¼3ž­VýŠˆ„¦õzº¦‚]j„Á}+HóT@ñ’VGeüÛb³Æ3²m×±³Ôùh1ê‡wI§7Jãþ0]­/ÖW³âx4íL¬=×”ç0®4ŠÕ¡0¨”Êjξ9ªƒœ¾4nÜhãW9p²(Á}ÛŒÂVµÎÀ©àÇÍÕôú9€ôÜ,'3x0[p}'ŸväŸó´º3¹½¢þ¤Ï¡ Iã&y" kB¾¤Zôñ j“M/êg¨bC~óý!}ó8]ĽKƒÛ’m|Öß+D$Â-b·ž_Ÿj®Öãûî¤ìàõ[ Ó]*ƹl+©zâGþP$I­`p‡jS¢9@oBÍ0¼ÝèJ) -pêýoà_)]1ºü«4&D:%I¯ë;tRÁ*ÿÝ6]X·7Aÿ6Þ‡.ôÃ)PzGßÿZü Û×ÑD&ô¥œu<;AПóxU|1ߪí Õ0 -õN¾–ÃãÿùÍo†Ç#—­)£n}qŽ•ͺAÅ·ø -|ž£BÞÒ¿ºÁÔ= XjŠ)$™$PÕš*•žê7g›ø`¨Å ÿp°åì"År8{>ï0æ^ ÞÐýo@‚ùÏ‹ŠðÕ>˜AÌÒ,ù;ÀK¯D -þý‡ÇÌéè¯aº€žÁ}þóO„õxüõ$nBêÿŸè Bô5G1.@áóöýA±¹Ùm‹Ì -òY}˜zã¿Çÿøâ€ÚJÀzð¿•ïìôòP:æ@ }â8ÙÌñ+,Ö“aWX-M}ZY¥öÕ -áöÁ¡%ÒM©~*üÊL$»¨ÿÊß9Í9IcGBcT¢³¤ ¸†=ŒÍ(~ý˜íWê>A‰Û¹ðÓK½é1lFÀY’_z«ÌÄîè›üæxÿ]Ý}>òB@IE1{è|™¬jÆ¥º¥§Í_KW±ˆºŸDœ‹%]ƒïHzšõ”´›'·+3³ºxP+lØQMÔÏ”òa_ýÕÃyôL—ˆ¬w3{‘õ­þd‹H¡½æç–×…JúbÞ ¨ÃÊ•?dcBn„rR³r¡IHµ½0yAè#äl¸ZQ.ªÏ [«2IUñ·‰ù»4UIRi;δÈ. >ú@ï™ûKøDPâ88PÕ9{¾-Hó¡íJ.ÐÉwFdž½]Vd]¨Ì*å3•XH𯫔û›ÊÔ öÿØüøÖþŸ|÷±Þ‹¼}ã¦þõ?]0üñå_¿}ãÆ’Œ‡ÔLV—ÒÿZD“,äÙ{‰`K".0'¶˜ä+ÓÓS855=3Q®ÝápшÁájËõz{]Ìgâ¿"8¥S´ÐñüË,ûZd,ÍYb@(,®×Z µ¨Ú´ˆžvò}L¹Õë«â˜þ4ydƒ½ß‚ß7cd—Ôvv’¨!­!WMÁE#œã¾q2·tm1O”…ÖT#æCÎÄìì윉ÀP=õ¨ß•CgcÈxˆÀ™—Ü9çP]Ýd0Øn½“«Á0(¿§R2„ =Rƒu›qéV½ rQödQÊâkåI¬Å¹åk™¸õ$d”€ú~G©L«õ¤(ÕPa°lùö y7^L‹o†ÃÌã°wî:%.ZD¨§$%6À]s$>4ÌE1ÿBßòu$vqé½àMø¼fjyã¹¢ÊøkÒ€Äæ‹tQ*ê£ý¯Ä䄨ïîF»[ô»Y;Ï6ûê¼Y›› -`uy15¿ÑñoG£aG‹e6tq+ÈB„ ¾Ú×ÕÞ–.Tº¤÷õñ7ßý é -!¿àÀ›£•€Åù(p‹ÎÏè'èÿÖ¬AÈ£¬-¦Øs!]É”%0Mûmž -n­»®üÙŒ2]JnG&„~{8°à¹€ñ^Îx­à{Íx£pßé à;Àõ•>}T¡@t¡½B©Tº÷}OôÃØ×_0ûÙÈ?éAýÇ' ÿú˜oŸ -ôÅžªúŽR’‚ðÝ©øZuºZªsÕ¹Šnq…æ83Ç6kO.òq労¸’ñÞÜ{\þwâp'.ä7¼¯.’Rø>$DOÓÓQÕy -ÌEõh‘uSÞè€i!ó]~vNI©’r¥¶Lú¢Ž–¨ŒTP©×Uz“,qšD˜™þcÒê.¦Û9Kçefzöf§URs!¡/ˆ³¤îUß9sk}¯›¼7jCižßúêpvö‚J”$åÆ0;wå¢ÊÜœ¯èj`Ói¶¢Fý¤ é8å„S§ßãõèú÷©€ÿûK€¡ü¬ýÿ™ãÿ0ïÿ2ûeÙ|óæ§Ÿ¾ýgú Ôÿ‚  ü;8ðãÏ.zð)ႌþ7½+o,…ŸFYÕhúròé0ž6á¯Ësb›[h;e¦Z7úU/`‹AœÆõv^ì “²Ì¯ò°’e[y±·vF™ø¿Ìi}€A“ucŒtaM8näC]³5ãÕëiS(ü'2ëDƒò¶tFl’KØÊVÆzüB³¡­‹ -ÒEöÊÑ…™ªëZý -~7ƒ€ƒ$ë9Ó ;ƒ—y ¿Ä\è1¶‘W¤âqL<¤9ÍÓJ‰á»L¶P’Õâôé#ˆ©©€!qŽ„bþÉÅ oÖ£µ‚• ”N€<ë Sæ:v:w•Ñ‚Ñm±Ý$®FIo¿# `ª -‰É¡0#¶HN‹»iÿ -§Ói±êVÒQÊ]0kýH8›eL)TY‹f5rR¨ÒÈ~n©'ßèBÅJ -`€àノ`Å[‘õíÒ@I):_ÿŒ`#xÀ}n«¯òîâOðãÖÛÀ‘~{úç<úrgBd™|sÞPÇ?œ³†…@z.ÚX €[ ¨ˆXÄD¤–.™œ. 4ƒw0ýÀ\:ãXSÍ«‘S‚·Ç€µ,ïe]¹Hö /t_ðo´€ü›ÿ_å⺷ovE!¶=ïßi$ž_†;¸ò,'¼ÿÑ“‡O=1Åè ïñþë;?žèýüŒ÷"'‰À #EàGG*ȱ†›jKí6À/0ÆÒ)e}Kÿ•¨ÆrgEu( ¦Nì³Ôä rQÊjúÎ*Ø\WчøSMÿB¨<²¤Ö¨ý˜ÕèØ€¦¢ž²Ð’¥ÞP-ŠãéÈgú᪖fS:A˜@b”þ22®ôܨ;„Ê„µqEf-^6ZSq“oõ Ý%V>Äb„Mñ§£:XU×ëâæê™ÛŠÚn·ßÓ«ïÔ¸å(À™·tyÚ‚íÒVKí..ÆNn ëÇ5ò®’Ö¥Ûb_dREÏ]0ƒ¹U3ÉV'% -¤™ -(fÛ&ý‰̼5[™+7íÝ.{™ÖO!ý,õÊÜÕJÉgm½¦ÕEÊÁuî×4½íeö¤!u']ù§gU—J¦ŸR‡D³åNeæŠú¼ _9d°Í©ID5ÚõZV˜e(Q“׳ººžt Ô‡2 MÕÓzU-ÍåMSBÙÿiÿ ê¡çíÿsø/ðñ_ Ù?ýD àæŸ{ÉŸ€ü7ï}ú1áŸ|þÙ·½[àMiªÎ¯Õ#ÓZœ;¬>ˆ,Ò¯ìïE±ÌP"-òÆl£³¬¬¼ÜREë€5æ¿°EuwË^w ˜•ž‘Ö±” w¤jãj&û’øÞ%ëYN\F(,«{µ•R÷¨½w€öö¹Aq%+v‹rt<—ÙæÙoÅì;]C;‡`K­7ð_zÖPzÎÄìÈÂ?ð¢à| €“b¤æÑõLÚ+=N!RzÖñ4oËTM§ûb½‹nqn“yÑ/ -žÐi4 ¾(žœOÙ‰i=΄¬ªj”à^n@¾Õéõ~ÚÛí±Î—ÎÑñ\÷ -Ï|´‡_èã:*Ú´.R{þëvÝûìÓ›÷n¼}Sô -ðWú]ˆà¸÷ÙÇo߸yïcÀO™UãÌûʆ„2ªFмÞd­èÂèɘG̦*«•¥%•Àh”wãa>üz˜ÇÍû»’'€Õð,+‹N¯Ë€¿ò²ž}ÓIêwÈç‰øèe4g"º¼XSµ’á(»ñ”¢6IùJsC3t]!7”ì'u©Å;³ä¡ðn¹†æV3x 3Ȥ¤(ŠA±³óê€çg„dQ£º…îN ÀÄÀa‘惲NX«ãˆcÑðn}1Õ±“lUXA·Ë71ͱ6œݽ]Wª•ÐÍ‹¬ÎƒÊ|O€ˆ~ÝãØŸ›ãÑꊜïaB† vŠîêõÕâÁ®(ƒN‘Ns0®ë¸Q”ª›ä£ÝÝj ÷E" - v*Hr§dš"8€Ay¬oS€‰@¿Z‡¼B‚€<KÏÅÈjW’7º ÈÀÈÛp¤Ô·›Ä@ýöxx0ö I_ã8€ ¨KK O<R<¯òüñbÄîÏxÔÄR^ð¬‹JH¯±èí³S_ÖÀ 1FýÑ:Ï瀎¿Ð [¾Q ¸Oblþ“a¿4ãË|²›„]ÿö†`?"œ3yäFù1ô…ûŒòëk^à¯gôù‰¸‰>ñ¯ßŸè£þ8G‡=%$ÐnÃGf/ -(;˜HƒJÝÙñÕy¥R$Ÿwñ Ñì¤ñ–CÀp©ÑWÆ“<˜3Å–Ô¨Ft8ÕÃI& ñϰ4ŸÍ -6ͯH}Úù©þ«FÉ^½¢“,ÌËÊZ›­õAdŒV½“7Ž'r³•„Þ Œk’©%ÁÈÕ™üž%¶šbÚY8CÏ>d¾9;4«Ñ³é*LõåV ¼²lûšÇÈÝõIf»Ò?ŒºŽªÖwúDgXXæêÒ±Åή{Ô¨¿‹Þb’8sºJ«;œ¦œ¤¯ǃb¦ÐtI}Ë!Dÿ¹÷Uô¬fæÇ\cñúËnLy!pX¢ÃrɃd °T3aß+GõtÄœqÝFzMPinyeéËË/êâ³³>Ï !¤œ&óãní°CqÂØZE¨{£>­C“„˜³Fr¬¢Áè%1€NeŸ×ehl´#ÙÉßK¦~^ŽÿÌýWØÿ7>þùå—àü'ŸÜx÷“ψÿÿ/„~üñ½OYX"vðöÍ›j5¿ã"Dw)¡P!¼é<¤Ý´U‡Áä–èH· c‚ÿÛ7ø Ï¿´ó'7udAOo¼Ušíü:³ýãÿ¶kÚ¶è’ÂmU•Ufø—4–“ÆJ£2ë&d>VYQQöë©,úoFø”9«pl™hDˆ|#®·‡Å¯r©÷û÷óQ U@,b­²ƒ)¨Œ*Ñìl$ì ¦µ[ÇúVQïž ˆ“è'îbqEò=Ar¯˜xÞ3À.ÖoʉsÜ^!E‰ûájº¢z'X`à€÷p’ ¨Æt'Y3O9ÊG¤ùW_í è!Y‡¡!ëât@7íÖ¯G]‹_ÃõͺuM(€IÏ颸ù0­EÉ&—-Žó8æ»Âq€üC÷C³KéÖtàÈ„E:›PK£"_­K­¨ùŠàÁ™Ÿß²a¶ÕS;@)• -…=ÓX5ú"ƨFX“`âÐ-& àÝîæcgÿK§€q %]ÆèŠ¥ m\À,€ß<8`À¼} Rbð}bdñÛp& ~ „>àœ¡H””€îx€ÀÿœàE`³xoøŠcîE1ú ûeë¼Hʧ@þE1‚}ã?ýU¢—ù0¼Eh˜ûß0ôïéz8éñ” ±í°Á8mã£& XÔ{QöëÝÝýܦži†¤GÊ=ç¿Z”zß@šÖwJ–-(mÒÀšŠR¯ì - -ÊzY$ÿÕݘýµr-H˜O'«TªQc™u‚}Ÿ±b÷Æe<V ú²%£Åä›ÝýÑn{qÁ©ÔUj¬}F ”­ó™é¸\$@Ïiæ(¨¤1Ï6A˜éSîÛÅ}üË*€õÄ碈]q=_Z÷µœ: ÆÂ¥©J”eõº,zs™úùØøçIX?Áÿ—ÙÿÌøòËÿúåÏ¿ü³ÿÿË?»ÉÎÿŸÜûøc±€¿6 @Oü1e‘uFY=}S`LïÞ¥9 - ·dçiT0•M¤V~³Û˜ªÈÂò‰Eq4r9L¶Å¿ ~^ÖG¸‘]“¤Ìè±óç;©jŠ(>Vo÷¢ÌÙÿU¥½TÎWìÓ³ :c4TAC–Æq‡—twAžû»™‡¤!c…WÁWOí„e¬N1‰¨A7²ÂÌy鈙 ¼>ôÆ2eàú’söùíYüÿ™ÀÿË/™;ð³{2÷o¼ýÉñ,ú[® ôqÐÑë»ÃA=.Ž™öÓŸövJ/ ðŸÕYŸ‰ÄŠ`‚œb@zeºÂ¾6X?5}¡z±öÖ¹!„jTKx–=æ®ÂHVÒ¯âø ­gÃûÜ3Ëîj¹ª¹Ü7YõÒyÙ…x¹] ª§aZ† Œ…O`¿¾%È?´-zð¹$ygö3Àƒ‚+Ý£\ñæcžbgç+AÃËgŒ÷à${Ê4ÑåOÉE€¯Š¯¾([ö4›õZ\‹«Q´×»í¬^ì ó(z_‹¶P â;Ñ ¼¨ÍÂSTàŒÜ5‡¬©A ž©G8 -è– E¢FG¯ÖY*†¾·ˆéA†Yƒ‡˜ ¡_¨gEg··ûÛ]› @õ®z\_‹…ˆ "Œ8^HÆx‡ïÇÃM^z’X(€—„¼ò1öxÀ8@ÉÇŒgô³v0¸ `ì9c@?¾Âð²u†þž³JÀs1Ì ›¿Q Àó³ØÏ€WÆkí0æ"öüoY@nO -xr8ý >àPç¶…ÀÛƒma±Çÿþç`}Ùôm¢÷?²ðD¸ŽgPׯxþ üÐ?f{åó©ŽYÐWÏ|ưgž=Ö…O˜_p¤üã -V¡*Ha9þ_«û_€rŠþzlxèHï{»±KI‹¸‹xÓ -O=K’ÍÜC”¾¿,íÒ¼Ymä-0r~I½T”ò6žj0"ó K­x6Ê}f¬;I/²ê‡d ‚7'¡Þòž:r›µ+ʕمË"îÙH;¤B 4ÿÖUáóü­FÍŠ ´Hy³´¡ƒÀœEéåE&´8Ÿò™gÕæ(ßâL6w‰¥V¾ÅÝÇ©ê‰$dNÐl×-=ºòPy²R–†.}1xÿÕEVTJ°ª¬ØïeÍz½žu‚Zñ‡v˜`'ëP®رUÏØ“ÈšÀ>´bGA•ÐG’ -[Þövu"+YR/²ýÞO÷÷ - óò ªz/Æ¥Kõ’8šŽ"Nv!’ÛRéÀ0Rá¹jÅN€›Fø×Èi À­31/z è§€ó1£ãߌcµ}õ:x&1,H Ú93 @à%Ý¢>Œ@ÿÆœñH;Ií©¾Ä8^ˆBxm €Ìâ’œ™ð½öøW] ð10 Ÿ‡þ¢yÆÔ-g|¶†½^þÿ@ÜD¹dåŸ6ùaŸVö#þÏÓûù`›ÿÙ“o•Š'•pN |‡ Œ]° ¯ÅX˜‰ƒžIØ"H€‚·E6?H•œqñøÿÿ+5®S)9YÏ–Ê€Ûcüç%N†qµýµº^øn,좭_•ùñÑ ls¹ˆÙŠ–3gÔ¾S¶úµ Kªå”Ò.gM9S…R1:,˜yÃØRà(±gÈš^)c¼¼m·¥Qèk•™?¡5+ïA]t‡ K‘šŽ*cïEÛÏùZ5vp¾ñ_}bþÚ|£¥Ä“6¤›uúy¬4ãi€ö”èòNÔ9ñ€‰RRÎ1º‹LH¡+êw"Þî ³þþÄ}¬Œ˜¹6w+eM¿eÇx3­Ò¥†aŠN ÓöÚlJy¶XGasW§FéUqÀسn3uufú¶ ‚9*«lØH–t¡cKÄ”q~<ö΃þÃΊõ^V¥çšVŒ¼*ELÝB×¹¬¤/$E½ }Á` - — Æÿñ‚ÿ3øƒñ"¾ø¹)»Ýd&À'z£Yàæ{ŸYfq5} ¥–ç;[Eº¸*W%UÖŸ!…G£±Mž¡:Q×YLóû„áû €4Ô$‚ylîµ-/h+%`Q/Ã,J j°fM–œf ˜$/!¸ëÖ¥ØCå fýÊA ²èl ¸Ô…ÿ³|]2 j±ýäVb9? À\"x€†WÅx ÌÄ0‡ý¯[èÅ€Rã(²¶S|µ<Œ‚6jõZ­ÉŠ1+“ Šâ«¼ë+÷z_ïnÉTßÒ'o°4áï®5Y¶î Oò¸ZMóà/aŽ}´Â°¼²´.À¦š …ùkª©ÙxÈÄgVMÏ©¢Æ”ØF<Ւ€^oç§ÿðð “èÙ’gõ4–—VÖY¨× P¬Š@Ì ?Âd`[@ŸÑ ¯ø›ÆèàWÄx€àøÄŒg(0€Á,€çb„öJZ÷ŒàÌ:/™ {}/ÂâL¾w `nè~Ù:ÿг^²ÀïØp÷yÀûfà®ð\„ÿ<Ú3ûïÑ á2õæçög2éI‚Ÿèý(¨Ç@@ßs -Ö¿ÿH²ÎðÒÀ:üñÉÉc0p¤Ûj£›D´ÅK”Nÿ ÷ÇøÏÒø§2VÖÞFŽàÐosð›çiÔ©r,a@ Øð®÷æ’Þäͨózæê‚PÃÚM¥v@¬.4–²d®‘®M”•p1„Þ±!ø©ä)Ðéþ¬Î'Å#õ€Š‘á…›þÊ[×XßþŒÁ‘¨ËqóYåÔD#¤:'Jøû%f’"eºcx¿´„YP©,'ÒØ(ºúzžm‰4ð¨o(Ÿ²ìø ÇE8(ïeÒõNi—¬$bi%‚]ÐÙÊ·Ê ê\ãb5Ò‹µÜ± xì‚Ħéû ÄÉm%ŸòDtáz˜„¦oÐVe°¯AֹʄÈËkR7”º¾²Ô¨Lb$bú—§D¸³G(D=¾^^n´ZQú0òæ ¢ÖâF^NMÍV’~=–® ñfrÆ`ó¿Äú3öÿä;˽{_‚þ_þüçâP†/ý7ßýäsÀM"Ÿ~!]ßSkde~£( ,¿Ë qo´Û¦ÄŒ×,r%‰s¢dcWlµÌ\™2Æ^# &¹ßS¾Þ×Ñ…Ðˤ֛:Š QcHó"nä=7‹õ¯S6¤Òízù¿ëtá±ƹ칱¸á€ý¸Á$$ý.Cà2š{³–ñÌ -'K üßìX hLuÏy ´÷Ø `ç«—ÅèÖpš€ý'c? ‹¾õÅïcÀí¸É@]ðà'ÙÂp @ÑcÆVGUô û¯|þù°óažïÓúë*Ñž;Yu?Ò¿Þ²+®š¥¥‚h²d3j¿öš…Šß sÇÔÙ« 䩓ŵN¾ÿ?ÝÝÿo?Ýšl§$¨‹°·è“Nç;KtXÙ«”u(½“­­býq¼ü¿ðâ,€û€ÍÒðÁó1¬8^ ßß:; @dˆûpáw2+·ÛªM`ÈrF5··d->6ŠüN/˜–žP¬‹ú;™×úøí·¿¿}öôÑÑA¿­ -bÙô··7î{Åöf>8|èóuºícÞ|gg½^1µ¹ùLå7|ÊÄ=: -þÏz^pñJ€ðo½€Sü›|W¹ÅB.ç}Æõ#Õ¢wþñ²¿aõŸGO„ÒT†¿þŸÈøì?Ãöÿ¯JÇS¥XÏ*wÞ[q‚°˜á-Ê?S!Þ0ÀŠ€{Ûƒþ¦çdi³YêG §ãÿ¼©ˆCžþžÐ¡¾›Èˆj6âÛÍ÷…á@EÀ}) ¦DÆ3"´ç˜Ò“®ß›:+Iãj´ÂÈòµFÃ`„_OâQt1rvј“”é'œËá燬Ҽƒiiq6]Ÿž­7$KzúÊ[x˜0N² Ê$[oåÕ„Xl‹ïÆSÒ”’tš]ž5™$}VZ;Í&¸¹°ÌÖwAS#ëÒêcPiÜNO(<+i .Ê; Î:=ÁÔå}¬˜Y•K˜ëXlëIÖ·QQG"dXâ´1Á¸á©Ñd§'ž’c›1IžÖâ6 -Ë÷¶ìHµ¾#xffcÖ –ùϡГ÷°ÜÇÿ¸L`Àý-ÉÐäèþËw–ÎGHÊñ`eÈóÔ´Þ‚<\k$£˜ÍZ¾Lëÿ"ûÿùõÿŒÿŽÿãÿ>EOŸ~òÉÛ7DðÿðɧÇ»&F…øe¨ÁÒ0vë2DZt]}âQ ÊØœ_n,å ö<þOUnë¼5±ä<š‰ê_L§!©â÷rrí@Áð=»½æCœÇ¼) -ÁPZW€6ųRµ®&•¦Ä x¼«=4yÔ;¢ƒuøËá -5Cc>?€ ·Àë [^0Ø¿ÂðÂ^$LB¢tâoÔ‚KÀA>.+. Fë,X%ø¢ºÙO²¯tߣ”Äà>Ûì•CƶEi.F«mö{Û5üwD¸g¹a°Ç–CÇX^ÊudÜ-Âl -RO©z¤oØ:0£UUC{1ðûÿ°ûÓýÝÿ¤~©+Èúµ˜äꂸ»p˜ž¥´Ž³á€ú€ Øç|ñJ™xÎÅ”H—nc€(™gÛŸÛ `¼àAX¥­Ò{º™|@œ¶ñ@ÄòÚÒð»íCã€GP™È*VÇà± Àv°ÀÁÞPÿÅö`[èxxòì©qþ;^`‚V}þö;Áµ®o ¯ž>ñ\µ±`83 àÍ×€¤Ýÿ÷ønn.b×s>dÝ~¿_ ö”É£OþÇUÿðÑÃÃGaΈñ{ä*PUxV¿ßcùSò,Pìá%϶¿*öÙ“Ç$”ˆ¼úRuÉÕ¸ú ˜ Ê¡*:ôûÛ„tÕ|›±pÿÌø?Qd¶ÏpÍŨç;Ñ`7/5Þ¿ Æ6èf6ˆŠý3cì|í\»™d%’òEdʼn†õ4SYÐûõíöF×ÙÙÙ\¤§«ê(àŸƒu¸»ÎØ:ð&bÂ,‰þ!üªqeö*kí©Ã ˆ a‘Zø»ˆÚ#neø—4¥|3¼×eðUº5ñèÉÒ’×éoü‘(AÀ0ŽÒȆ†Š¨…/Ò[ÿëGž,»†¼„ T’]މŒ¨YŒzñ bø[˜øV”Úì(nŠÀ3Ädb±2«ôë5î–ô%¬÷à{8Í®†¥x.€PI1G¿ruª23K €×RÒÂjø+¬Dp•èà zu"®^5€ÉÌõž+d=QÕ"äÄ™I¸úø‘•E$„›£f<|™„ ýóS[lÿ¿€ÿ7~æøá?ØïŽù«Oþì¦hÀ=öý¹yOø¿_dõ,ª 攊4vd‰Ä•Æ“XÏ‚$gqÆ+W*ÓaçŠpc©Í{7F„‰¨šx¿`ß³/,ª‘Ö‹a^tÿ£É È]š‚¯¤~-º1K]Hu0ˆ5`øY»ÛéÝíÜýˆY ÌÂ83` ;†1‚]N=aW8 pX¼:Ks@Z$!@M—N6ƧÎÙÈdþbïxD²k,ÏÍ"Õ׳ô'Ëá@zÅÐüHoû÷ï§éšÚ"çL›Ic(¡:ÍÁý¢Ÿ­Öã|8º«œº¹–ø·ÕºÃc÷Ë++ÉV^ï«"{Y÷8'C‰R«\^nµf“^’ ‹¬YK“X¦ôƒØÿ‡ŸþÃO{[PDˆ®õtYVÏO`g½äù  ÿˆð¶´ó_þxu À†I^X PÍêåë„•7úù†cÆp­ðbìh ƒS@ó¬à[@ä"€aû[YßþüTf1`ó”ór[@Àˆ™ -(Ú`x4TëU—F^ä8çxY €÷'›päÍ<ßkÀÅ8<ðÝ龜<ëÀA+[²Ûí‹3 Äþyî?KõØ>xÂb~Äö=#׃§Õƒ'Ç? æ'¼®&¦ -Úóïiž&šOÿù?òªÀ"‡‡l<È·7»D¦ÍF|6þOÿ<©uMÄt_½*zóÙ2d.à?œŠoNãÇ 8ðõÏ+/þYÀÚ‰9àš€ÕŠâÏÊV}lÞ ¶Æøt¨º<šú½{9*+ô²Ô+¬¾ÚÊ{+¹Fc¥]™¹:uu^Ö5?iÛ,mDÌÓ§jd²fÇ0ýRîHÏønm Uï)GŠ”ÍaÇ¥  Þ{é§[åÃz”€Ú Þò -¨Ž2”}RïdPÊ…Z~“wÆ)_nõ’Y†tùæÎ;æNBÐ+fAÁõd”· f@+i²¬SùžzðKšÈTï­&Q9ÛS"cEÊqë}þêÌÔüÌ´Iœ¡B80a·ÔÊüµ«%x)ð°,¯ ÕÖ\Ä4L)KiÏq±Êjj4nÕp2L±ò0nŸ®ªö&Rzóìÿ çðÿ¿þÜ#ûŸÿÏî}ì?¹ùÉÍŸ|òi¾;Êã(7Ù¥í)Ó[½á±à¿;, -ꇺ ƒ7(ø˜0´±Ò˜žU=U¦Ø¢ÙlA¥J/©Ò£dT„Qµ±Öo ÌøÖ­5LK-vwcaê¦[îE…¸-»™ÓªxöÙIÈ kGò}@‡ÐŠ:!Æ]3”‰`2è‹åÅu”t|ñBø—Ïx~€fbtyæ;Â3‚ŒóÊ12ÿwv(’0PkqMðU"pK!þkóöpPÜï÷×tÛq¹¸1ó¢÷z£¸Ø_fmQóêA²ÅCŽéuÂöåeæé’ªÆ'Œÿ÷ ÿßcÃÿC=ÏaüÿäÂ=üïº0Ð;ÐEþô)ó©O£¾¹ƾ R¨:Q=±p×b,àÑÃ'X àèp¤2Ýôûy_ @]»©ÄI—Ÿ±ÿQí%ø# ¢•pÏKç8—åÁbΊ¬š2\ -f‚Ëwô’¨œšÍ$0ŒÑ¦­œà;vTÏËF¡Be#$êaI'cÃ]}ªzºº5ÚU‚š -ÐTÎ"iüŒ°îžÔtwe/€?¸\™Kz'±IÜð*:Xè™lzÝ\_q2&R®æ!§äL:3©6úÛ@*KV:A®ëöxâÊÌC–õÅØ0pÊÍqt %^9)*çÍ·î‹ xÎy.Ï\ÆÏø¿J]&@½–´˜‹þ/ÅöU¶ eâÛQÊÇÙÙÌd(q'¥Ä‡0ô ”ö=—t§kS•ÙiŽO•XaÓŽŽè¬¯·–“Y^:]PryæÚ̵°Báü¼ÇFIƒ¸PJì& gÏ0ôøó¶~vN¦.Í4’"®Ëè ©y3 ÓÏâÿ+ìÖÿûòç§ãÿ¼è•ß¾ñ £ÿ÷îuŠáz³ -ü»TZ´ÈÿŃ}¾öÐŽðŸjUYŽ9 ¥Vä·¦g+ÉÂÒÌԵʒUi¹mÒ:Ck´—cyɡԮ‡t…k–÷T+È{Ãv”ÆQ:ÌeTˆj³¥{+&¢ Dy]¶¶– GI$0 9ŒŠ’ÑûQ¢»¹i2ýÞ;³Óþ>€|k‹Ä“ŒSÀE1ªø¯vv^½ÀÙ'V=DiÒÕy¨1—øïÔ…Ü€Ë$–"­ ÿUƲöOÚx èí‹­@ú÷íàìRÌÎõ*0ÊVG°^1r/Æâ"[Yò¡Š`KLZö¿ª‰ý@Õ;tƨ[*¯Jms±©.J”FÒ¸vµ±Ô˜eGlŠCd&ãîÖîÿ÷Á?ì‚ÿºŠi¸'¹½>/-x7|¢ ^ð´’;ôcåÛ @Aç`ã¿Z.ŽxaÓû¥€ï¥™Ïx~süâ:€Ú©Ê!€fÚv À`ð*o6Xƒ€wú*€oñl¾èCâa@ ËX]zìïHžóè«ç<x«¿ €1=¤÷ß6 ä$ù…ÍÜÎùÔè…‡ív·¯ºeýÿ£CÙü‚áÿ㇬ÛÃî~À8Ào7€+ß$€=ÿª_©ý?ýVìÔ¾äýñ…ÇpxĆB -: ZO±Úì:3°O‚šôû©"ëb,V’ª0iöˆómµ¬€#åd«±§t|ìa펱@&¦vÆgX@°â} ¬py«ÆNæ>¶œ'sÄæÌD×Å÷9¬TVæ›!:ŸÂ·tä›  °{+ KúàH‹ê6 Æ`¦Â#J"šElâbæRŠÏèß'I«HfkV=aò|X|àû©?˜ºÌø?®µ®ãØxQ‘©…‹ Oü˘ÄñБ -º©ÔS‰ÿž¯2rmæref]@™K£1%­Ä^Ôå…™ràÒÔåËWÀ@erËTÀ%iQâG à Dx³Ki’Q‡Ê‚ÒRÓA¡ÞLhGþ9û?àÿø»R~Æê?ìpÖþ÷Q÷îݸùéŸïîÊ,¯eCVì=#¢=ëýo÷óõ¶jJ5¾§ÖŒŸn\wdµ'‘q‡!õʕ˪3*s,´e…ç —5¼¶EÝÀ—³#Üïþé~¿Z­·eþókÒdPbóIÖ¯èlåq|¿›3åEÝ5ìó@ÃÄy޼óÑ]fCÃÍØuÓhPe%×IëÔ=ôÂ^ú“.$8öÒ¸õžñíT@.¤±€œ úyâÈrÍZ£^«ÉüñdcÒ+À˜Ìý~ßYÄè½!V(¿[Äzμo“8 {8©RˆT~Ü¡Xž·ÇRéŽÓí+eµ¾šëuù]'¢½Ò÷ZêŸ_÷ò$Îöÿ»@E…ôƒ®˜uˆýP?ÑÇ…à¸À ÀH¡Ù¾@gÒƒ«ÿ¥7‹0ð,€ bD¾ù탯ÏÄè Ö&"yÁpA 0sÆ x[ÇlëSÀáÁöù< ôóç=†G¢Ër¥<çbìxU €Ïº(@ߺÿwî8ëám6ší®€Xƒ -Œôaùóç5߬y±%õ“w¡gd|…ßÈ©ç_Yv’¿}FqOXBP´B,à)<À3Âüн=% |#@¡&U~jÿWήXá!é|©{Ù˜R$Lñ·âʲªÔÃ"ÎÔAÃ@óŠ€×ZSÿ±¨FÒ¸ÏÆAíݰhAWq–ŒÑÆ2Óu,2X0bÃòPÝ è©R}QêqX¥ŽFÓ•k—/W˜àô}’£Ù°Tïí4aU‹‰KÐФ<ÈÅ;@I,N˜š`LYëç[%˜­¬+»-é< ‘aÍ@Ô‡¯¤30dJÓäÉ,f‡´ !ÌØþŽ=I7«‹%8ßõqp#‰¹L¾( /HJŽ(¹‡Í6¯ë_™Ã…5PÞl‡*i­4QÁr°‘ÒsÍk9 @M†Q¾Rm°Ó§CµSáL˜l,xÿG{²¸žmðã‹=gðÿöÿÿÿÅ™ñÿ þ³îï›_~Qô’zÔd©Ã€ÃAT2ìûAœ«©ôÊ*µ1PîT‘>‰=4ȤŒÌ奙©©{_K—0µ‚ ÚNíÖªÐØ Qž¬ ûY/y-²]„ô/ž){ø…nZ  oþø>Gë@ Ít“IËѹ˖x¢·3x﹕¨|n’‰@-âl P}ÿb€ÌQ<û/‹{”Ò&ÑÏlPÆ$ñûq£Þ¨Å2ÿ«UõãŸ0î0ðȃZˆ¬|ä€þýûê”"6à>ªTîíæ± Ƴ¥ä÷ö‡yZoæÇ4qz2Ã÷b÷NÆóöuïF¥§+SÉÃãö¼Ü˜xë,•+¨>z~ûÓì°,Áã_ð¿ÐàB/€àü@þurq Àx€ì/áùx€¶÷S^ˆ8:>>:ÀV~ÿü?CNc6_ Ú@bôÅ‹1{ç<aà| @€ÇÒPè9@ÿ)°`û4ðõ{èäó€^Iß¿í:Nðoð]¥d¥ ª dÕ‰Øÿ§¿=Éaá_†þYöï?®zGð;“ZÀº×'R!t'-º²¾ Ò'jÊ€¢fNä_à'29‚âubžÀ¾@0«Ã½ƒ=uºM¶˜´…«¼è/ñÿ,°cIª¯Ù xs:™8h“¬}GÿxÂ}€f k{Ðu€ínû~#oÄë">çŠçÐ[Œ|ȯ š%³‚]ÌÔ©õá–~ôïtxõ,ý *:غG8õz°¥MÙ Ù^ìà0})R%‚ ,ÝÀ:ôêd­Š5êojÄ)WÒù~ìHš›Í$Í«ÍaØ>ÇötÁBƒ!!ºêz½ˆ«‘=²üZ²+„ -ppz‘¤+©Q ÌwÙ™Õs’d `cƒzþ 6„§ÿËÐ&$ëFõäveÎÙ_VxXx§—´XŒ7­¬­ñ-|bÍ̈ëèXrŸâu鱺|'s|¿®:àÒÔe€«W¯]»Êk„rP³Xʘ°âk:5ž0§d^YÑ©1²z­-0»óæ@€ðsöÿÙïÆRÆÿ{þ?øÆ$Í®ÿ7nÜû4&õE™XTŒJ@UéI~L:¯CdãæVÏ{܃ç.3 V%ŒIM´1k¬ÕZg®yÖ˜šé¬›r9‰ƒRuêñf ÀZàG¨ž…†>NŠ:^ŒÄ¸pí‹sªžA;®f#Qô^,BÍØÁÕè e}ö>êݵàÂ(@¼ð"/Æl[¾*D¾RŸ‰  4¸Ÿñ„(§žõ°ÀÝCÅ{[øO@]®g?é² -@épR9#à?çÙ¢\Ó…•ä^‘ÇÓÙ;½»Á˜ïކmé -Æ$´7õ?ügWÕÞT¥âíð2]ŒFj:4S­Ì±íe¢îü¡·>ÞQag½ov;ëa|Llн²Ä´¯]›‡À ´{tZ· RÚù/\PzˆÐ¥Ÿ[`À.‘ÏÅ|ó›_ˆ(÷èL;+@Ãs€—Í8ëÈŠú²Yg§Š„!{Œóß=åI— x —}q€ ëãN<¯Œàä×Ç\°ÀÿŠ€Ã&ýUÆ À>¼ÍMIWti{À €#ÙáG‡'x˜ÅÏäñÕÃNÙ{öŸ>(MO‰òs%¨CýÑÑÍ9FŽ] áY‡‚IÃÓŠ©4loooŠ´¡4ÍE>±ÿ•|7j‹¢¥#¤À°Ü z},ižVWƒ&˜ìXŒ Ñ° õ&Õ:+Nšy­©óé2uÙ-k ]ž€u< ¬Éš›–Fœ´ö{w½â7½½D.Ý -[õ(ÈõKwÆJ:8_íÐIþ¥„xýÆü:3&À)•öÊ5ê»J/‰]#å2ËÐÍcéêèRãã–Ê ì"–Âö/ýzõVän±Õ³ÂLI(€â47cð&é¹2ŸW¿°0_¹:SþOB¦®†0û¤Û %º„ìŒÀŒÌö¤®Êû ýˆ…€PKJG¸¯çT§Ú `rz:Vê >Í$»ûkÂÑÅL˜•ákœ‰ EWgˆð\@=ÁTŸsQGW´þÇçã%=G -Ÿ™™úã™Fš×$xca€çí}u‘ýÏú÷Çÿ%þ|óæ§_‹ø=UzÎB¥.üõÊzžÕeë²qr=+Fª$ ¥Ä«%4Ÿµ$V# ;=J¼‚ `:á#Q#¦„‡£$Òm„H Bu¨b†Ù‡`z7½þãUFu¹«Þ¶n¨ûºCøš‰æjSè+L^KÕ]ל:éyY€º“RÒ¹Ë_¯s—¥t¥å£·rU ËžzÊYJûÙfî¾"àü:¤V¢4µÊYaÀ <df½)ˆ# V¯^¯V£v7ý c"¸ÿù/c |Þ NÂwvÖãQo‹È}bþ#Ñ›£Q*N¬•5\en‰ÚFcØ­‡tÒøÉn1ÜKW·Y›MpÓ©`TêEï§Å0ïìªÔâlÿ×9ßcQ,ã,Pƒ§SÃÔÔ—<ð:/€jîõò¦1¬pf%Àó1£ß?ž‰Ïžã¹€ï5 @xÍ[¦ÏÅœàŸ!€2 Èê"!¼r±—z$cpfÀ÷Ù Àü«Ímz} €sÀsàßý øQ£Æ€Y¿/óŠ£ôØ ”àÿgÇ?VþıöÁuÝ\LD·'U€:ÐOõ½¾RMé ;à|M}ñ -ÀX“ )|ö˜õT¹úP¹‰ mï1oŠ0âôã¿R êVia€v_NŽK^Di¹\`€°Ó@ŠÖÔm`™)ö·¥ óx¶–«êRËxÁuå-ôS¨g幯RÆ^RU_1òo¶¬Ë¬¬Æ––:]c"ÀV[ |?v¨#F³•…©™ -ûõ¢TÑH`¼göáØŒ,ÒKu\~WúÓ´¥Zîs)}äI5éú&¬Šë¼œ¨£dås¾€…••¯†YêÑœ2`w‚¦¬Ž™åE‰0º"7`B½îÙ˜nžÁ$†5ú/Ï\b¦÷Ì57B\Ôk©òaà=ÏÇt½(/á3‚¿@fžU`I$¤Ç÷µàòÌÌl<‰ßˆ³ø”m¿2@€wãZ‰ÿ—§._»*‹d¾²0/…ÚJª áŒ^^y™ñSeÊþŒyü"ªù¤H¿ÿ^ñçíÿç×ÿ»ñÖÿ¯ÿ÷"þúéŸ %’T -–Ø’­Ó*)ºqµžf*¢n×ó}ùDÒ<:¹à?J†ü@ù­¬¬´TKSo}o¡x…`ì[ ª*ˆ˜Ôu.ÊÒúbu•Õ3ÔˆèþM-B'ëb³\¯µ>w”$‰€ë-aÑèg@¨ÍdÛwðì;ç‚”(š…ª;°9Àóë„¶t ù…³ž[€„Xàún$%ý“ø$˾Ú)¾Âñ±žÅq3f Öˆ˜ØMK€ÿ•PFõàI€Êè8,B¹N…¬ºœÌG#T¾¬@ì6ètFÞ´£.¡V9Gç©dy¼ŠvR•zh…>°ã]*(c¬D¿‡R̲žr'ŽÂWTªX¹ÜýÙ>z& àµ^“·òÝËdâxõ^^ Ü à äáÿð}b$@ 3x>àL lž‹y‚ u_pxÎð=b@îWÅü+z^¶Å8jøÿ9Qä¬/2¬$2)ß'ŒýëOõª2‡æ€ã¥)•qÚŒì®ý«Hõ–¯¿sè azuŒ Ãþ"@^PPÕôøÑ“'†ÿ'^€A€#¸–DµÇÆ€¨ÂJü‡¹Ì9þÏò@„î$ø¤Σ?VxÑ]ì•íùTÔ´ÊwHy¸Z[.|˜Ènl$Ò:º.k°«ûYA´ôCc9o¼dÁ“¡0Þº -¿_ µ¥¨Ãè·’Dcº1[Yž¹<Ÿt6¿•£ÇrÆ!u.­åËð omø‡Ï¤($4í§Õµ,‘Æ_‘bX°#ĉ£¹³õ"[T}c,pÑ]¥—5ÙÆúÅîR‹J.+д²°åX,™½eÏûÒ‚clp u±A€̱a3î‘åy+ý‰l…ËKøÖ?Ë N…u`x«Ô˜0¡àXpè -;#!öQtŽ…(ëÄR3«³4?/"Â`kú^ý“J9@Yun—Zi%b}µ`¢Zƒz Q"—§*µ£”•¿Laì_`ÿO¾Kÿ.þ_Râÿþh׳ÑARê'Ná_R]LËõ‰‡Y=;æM g|)ZØÑk‘§Q”f=j?,7s‡‰aK•é _ÚŠùlïxwƒeg†÷ó™×*  vÅ+U°»Ñ^Ö”]ýûüçª4u@UªÎWP+RÝP=ÞÂjc£“m6›?¦‘ÉЖý¡îJút§ðLm€ÁÞEÎÀsA´0€R.ˆXw €ðç•€3ëÄø®{IHšD?ƒ¯_ÙÃ×L^ q½U¯W»Y{` ¤Tš&à­ôuXD|Ø9Q×+vwG£Q$ùÖpKï”Saw* - æÎ¨ ~©™K3 IÆ,Kwl*Ô#Ê~£2{åâõŽ©PïB'»SäEUo+X%t…ydoט4^çKéêÉã_²@öÁó1£ãc–æ`a ˆð‚ÏÅ|ïYú ¯ž‹˜L‘æ+Ž;þÀzáSWZA] ?›¾‘ŠÃ¾"~!-ª¤ÙÒ/XYU[-æ8ï9Ù;x7}å)<ôNp`ÌÐ`@hî•\–³TË iÚ(VÙ|gÒȳÄ3zÇyZ‹TÓj­ßeLj~$f3ÝXX^±ÕžoÝÝQÃ[ΩÓR%1| çÑ.0§jMõzØ~Û6`:îS€:¹ \©ÂóõDZÐWõ QHÍ!»ª¿€»˜w;3{>`‹° UÊx ™Ì Žð%läÌÆ³!àKc.öŒÑÿÔpÖ0žñ`þ×kÕè:€2ÁépâE-€ ü—_r·(D _Ì}ùÙÚ2›Ûfºòí4Y1#R;5ÓH""Ú0{|TÀ Ógo7¢Ù¹(¬šÁO”•tCh¼Js,¤ª!³Ò­+ À+½wõ?zà«eâx] €(ÙéJ€àþi +þv´Pz /¶²Pöp»Ykv7··÷¶û2LTj6»ý‡Þh†™d‚ÏR kÏ‚‰· óS¢cžžìuÛ›ºÔž Ÿam„ùe2+Å'!Γ‘ -ö ÖÇ`÷ÜÕ‡ß …ýÓ³'û}¡†?“õ´'0ègi­9 €ôjƒ-Éã­~ø½Á—4ò­lè§'è8<õŽ$¢E¡¬2r„ò°Ná tî#ÞBxJDv¸ðódo³ÕTXv˜«Ô”C%m³p¢#¸1E55šŠÀØ8Ìf>Ø ¶q”=<9zŸœlIöð«`ª®4e À ÊÐÃÿKǫ́ÒAºRõ–^Âé¡€¯ÛÊÐÛM5fÑÇJ¦­ãï#S†ûsöÿø/ûø?µÿŸÃÿ}á`{E¢7` ÉV£Ú²j(Õšø¬ @œŒPÜÍ3šÔ[ÐïÀ„C¨¤Ê @¶®ò[]íêEè×r2¹7•Õ‰ûû‚–(eí¹n³š–«Ý3K¶„;¡nÇåCêzÝŒ›«° <’»A®âwíøã9ŒL¿÷@rÆPÆlô</ÀËgœ‹ ˆ/×& - „ÿ³ø¯†&ë”Ò]o.³@½ÁBÀ„¬}À°ƒ=D0P®`ÀÄ <¯‰Àèr;²FDèQB,:Š"Lj¢ÄóŒDž¯&qUà."a€Ž¬u*ÕJcŽ`c¾ÖùjëÊDg=p qZ=ÎöUƒªåÆòÒ’1Ÿ_”à%^.+ vþËǼ¸ÀkÖ߸½@ Œ탴Á\4ìáö¦ ¿©Òí!q瀇°¼ ¥žÔò«¯õíÉ Ýd4aO`Èx=;ÎË,–Q™eB5‡ €‹Ä~÷n{á½>yÐ\ÖºDïùö÷ ÖÉÁvÞ`÷±°8À‘ E[œepæ[~ÿ;#¼.¡PwáEÿáVºžS«—LJLHÜp÷ðèaUôG5×õtŠX)Œ:K>äW–Á`B”²§6£¹ZCÍP ÊGGb:‡'@4èïR.…áô ¨ÔjM±†Må­`”ä`oŸ<Å%/þ@ë ø†‘þÛßÙ'@–uy2NÚï@¾êÀXï/yøc8Âi~üøÙ·DxÂ{{<PàääHàð>1-’~¾¹ÉøR»Ù¨ÍÍ–ð?7­ŽE=ŠÙåÍ8š »Ü!5?G‹õº~­¿S—V×k)±¿ÔǸΚŸHT×)ÂÆ(ŠëÓ‹Qunfzf6ŠÃÎõ>BçÔëµhvVß7êïT£z]êº[âVŠ4ÃÑüÊxöí|¶îCÒj5%oöÊ•™©©?‰b¹Ð GÕÙiÝ|®ªKÔÞ©®Žï$\‰KsI7‹.7Óë‹:Ú7ªÕÄ0fg¦g•¡p†EÊòzµª[Oë§¹H:N žHMÉæÁåU þÊ¢ R©ÍE³ÿ~Vši†ys3WÜ"33³$Ù·YW«Õxn6äƒ,“Àð›nÊÜYˆõCœV¯“ò J‘ŒøY2;;;­ë_ùÃé*å£ït©Å¨©B£ÊlYãAfÏ$hêòÉôŒþft”Ønuz–ðn—Fx««„3g*JùõU -ýÍxÎÛÿA^°ÿ=þÿüÇþ·b‡5ÖšCíâK÷Wk¬KD„iÀ{Ùîì¿+à -ÄLÿ]Yõêl lí.|ûˆçðÒ€ צ–—[ŒOmí3v©%¾Î3ë-q¦%GQ€;[ÿ«ä,ë§õz?kãÖ¥k¢ÜË#à‘„»ói}Sµæ¤Øÿbãq°Ú» €„Y'1y¯ôŒƒÆžzÆ1z9€È&™à¹u” ‹gý!cád£[|5(¾b -À:­EðD‹ÕîO²îØ ðS%”ÁFà@S¤ËÉþãpÆXÙÙÅ9r%ÛÅû×À­U©$·£ôX)uÍS˜º‚)`¾!k»UkÉ -[ SNÌÆ…á/KŠQ;}'JE[ÕÜX‚ð/00¦¯ô” à52ñ¼v€2@¥ó\ @TzB €r‘0‰Lñäp¯¿-Ák¿ÝN¼@=cÔ›{"O„>ØœzÆþSlØea\BÀ® çhO-#ë÷s¶Ø;ØÞVJÓ¶,c\P€ßý3F¿øžê[}RêÙo€9Ìlñ 0R@½'ì×Ó`¯ßOQsð0¤Á 0âr–¯RÊ•@}ï/~÷í“£>sî•×PÀ<…~³ m2Û1¡3ZNÖu€P诈)-ÐþŸ{Ye&ªA—€ÂZ³;8|8èwóƒGºIRÖ@ßð ò¿RêMA…NÀöÙHyìz ô1œæ6}¹Ü”ÙW§†÷8Jô/r¢¢‚’‰¸À ž†0në} e‚Å€”ò'l*ÄMØ1ðÑ#ï:øèäñ‘èËž’" úÊ6Y Ùô€ÄéVÃXÕ¿DV°Ðñê{â©õEeN¦_¬OAJð‰Ûõúÿ!Âï'ˆƒÔÄÐ+s3,ð¬×9‡íÁ¸DU`$äðÇï¬&5ÑÎ.%¼e‡’EìJÒ½~=4sÁÎ)–Væt¡™©+• -W•¨!‚èÅé¹·¦H!›ºsH3§s`ÆWNo¤­€K_‚¤6ê(HC|ÄX”á(úC~˜2+Aº9³7°JWÏp¥M `Ž&?'S_¿ÞÂ"UÄ5Ôb#ú#%”S•‹³‰y3x3û¿\ÿÏà…ñÿšP#T†jžÕ "+öw»õzš›€À²1Œcýhý +(†YK'³”ã%wÀç»ëcü—ú¯\©ä™ðwxœÇ««2ÈzÌÑ7ˆëøÆí2n6í§QÜfn~…aŠ ™ì/òë“F¤F¢ãø“á·Ž Ï» ŠÃG4øY0Î4€ô ê‚"³ïœÝr¸17£¡¼S(p [|‡=_V|>`M×&ðBÀp°óUð$jŽŒ«ÕëžàQRíUÅ+çíX^]‡pÉbw4Ÿ ù"cÊdy¾ª¬“o$2Vfø,®f[®E‹'`d-‚gÛýÁ ²u•:°®»f(p1’ ³ô¤â qOI#d€Â4ÌNí¹+bbK8¢Fwpp´·½Ùß;Áz” KÍ(Š Æ$€f³ÝÝQž„¹bGGÊב޼ v°üÁ~½rK›÷¾2I#C¦Sß…o\!0Wyâd(€~ÓEgßÈ4X › >’pœ1Ñ]ôôpsé½¹5=›¯_Ö‹b«³ƒ.—€žՌJ§—Fiîs+.݃]sÞ×i–ÖJÌ—\ò&@ºQvÜ^”5*ëŒãá¡áßÊ2ÏÓ¨;ÚÕú°^¦ÜQìú =ËJJálžø…§z÷=±®æ±+±ÈzÃán¾ËêO ˬ•$'Ô2O¼45ÅÄA¶#‚äZ-š®Cß<T­ÜÛ2€|äÅ}ÖÞSÙȦ^oÿ‡O×ÿ{ÿ÷ÿ*hAk!&¬Ñ#¶Ä¸)"¡HÂs&b ÓŸ¸ZѯÇÒ¿*ï „ŽÿÐS½A¬rÖEÚŽ»ÃÃb•)öTªš+WS9‹êFQ5öG¢ÛU,éaY›ø†»im$¡¢%f!^²`³ùã¦[p`n™\ ƒ-½ÞŽÇ–g§ÏÎ UGVîpq ÀîNñ•°x‡óK=”Yˆ Ç”ÿ¥8aˆ=;ö¬{' T@®ÿ¬÷J©V“ŒPݲ¾Zëô‹<©‰fg·çfçèE§%ÉrÈWß_€µ/ôà_'ÇŒ=g×XÏ&+^pPä^êíba°ˆú쑣㺠û)ŒîàèñcV¤r€&  XÄå_¸#Yè(`nŸmãA eôlp¿Ç"ý~wµÙhNgQ0ÚXÿÏ\€«/ Ú¾´®eL{z2Љ¢ýÁ@¦)øöDºiSd-?R²„µß=³Û߉3âëZºÒ3.‚Ñî“X½;ÙÃÄÀßÝßîËÐÍ>Ñ©Ïa§K8$+‘U]‰Ómk@¿•‘.°V¦™ÜEHMOw{ïèpOàÑ#°õ)kø¬A¢ªNI'ø©™,Ùß$"‘¤x àãæð ÐKžL¿¯€ý8“‚„þö÷ëW^L ÂJ€úê;(Dâ»À_žˆ¥€˜…n3±£®Q¹v-OãwÒ˜®$ ó[Å$ÛoWÄdZÁï7ªn)+›eï{ªœ“%‹r™µŠ@V¼,¨½ZYÊòo²(“ÍÞ%ù¥“¼8°S1ì²/e>¯1£dIÏ«ÄÐöNJX1ÍêlÿψdÌ'2ˆ÷Ã2Ï[Ë,ͼ‚R…´–*ðS<A®^} "õ¸Üꈢ[—±ÌÑVOe.,Êpòr¾‡Lµÿ°?oÿÿwºþß ø¯‹íõõi5*§´^O«õn± tЖ(¡ð*éI©rØ–8n¶úAüã¾ð«t¨q9àŽu€”9vЇÏ³(.þ€ìFê¾lh–jí°´jUORfVÖ]­š-û }ïh8#)`#ç¦1ƒùÆÿÇcë¡¢~d€êÀì{g=[Ž]$ÈÙYe @΀ÿ^ôœÆœzNEWnÞÑõ` ‡ ëö@¿ÖY°îYUü`íƒìŒ€Ä+™B8æØ0–ààjJ@ÀÿÒ›‹…£ôŽ .ˆÚWë’ë×»ìlÄÊ’ÈÊš›8Ϙù™Æ‘ ì¼ÓSn:|=¨§ - Ÿ^¹þ, - kK-¼fF÷*íü—?Þ,€YºØkbd[¾TXyV¦§,ÏG™³÷ððp»] £Žssq6xÈ|´ÇX¤B ö¤Qp„–-çgÿúp»Q©ÉfÆÊX?2¾M€LÉtïȘT½#þø íŸyµ Ï1B¿£½¤Ñ*½Z#ìZÛn —}]\òaæ“®¢ JØ’ë#? 9OöÆ#ïÛý¨ëon¦Ílx°Tw£à> ·.l—Ö5ùi’ÙüèH`jfvN–1¶}¥–m«0½hŠ•)ýaÝRæAQŽa¨ÅMB%¡5oØ; €õd‹?ÁZ«|ƒÉ®'½'ŸÎ!òJð¢7fNÔõd¯´‡Ò¥ôƵ¥t›„I²ÿu3ï -Àl@%˜!€£ƒ=UxQ...8ð+Ù †ÃkèK±Ž»Y ¤`;,i0“2íMãN…¨—ÊRþÉ<¥‘”f’ÆÍÛ1Uö7©–—Qÿ‘1X*\Ùk‚‚¦æ™lY|çüÈa:ƒEJÄXÚmIomåÅ0®I&>.˜›ÜÖ·tƒk—./,ô°?Dc=g)øzV.TËñVËe’ä™ÀZÞ!ÚS¼Å£>RÂj–|Ç<ãZ+eq/äå…Â%túN<[!\ȉûè3>Ha -^²W)Ì& æ‘ïˆÀúy]Y²be_̆²ú¦»ˆZQ^Д™X&@ãû¯&R m¢ jÃñ²ÀJ¹o‹P¢]¾3ÄC—¹:#²”'õL¨Ìó-Õ¼ôš€\ØÑwYg_Àñ€ ˜›½ÆEÌÝZ޳‚×[W·;ÒeÀ”2`îûÈÔYûÿÞ‹ëÿ…άÿgpÿ ?ªºYzÊȺúNµé‘Š QMéûžA;¿ŸÖÕºdïvãzÒí¢¥kK7£—¹‰m¿´,°2se.aͬNÞÛÑɪe øJÓPƒœ›Ž94R¢KNš·ë±‹;ŵP"ž=e]©1Ò~„·ÍÕf,•¯#½`h©J¢pÙ0.-±Ÿçt À1“1šBÒ2G;²¬TŽcrì|µSôÙwè³B €Ó‹”#²§KôÁà*`÷G 5¢ëÕj5ë®y@¹ -ÿùé]}|é•55Y] ³„À±ýÆà2£e«g‚ÏóIÉ2©-åŒ<úZ’¤q«Òsv1‰ÜWë£ít±Öî<ØbôsŒŠ7áR÷¸•0s…®´ŒÛ/ós )À˜@N½¾Ùkäâ€÷8·àùu&1¯Œô+íÿ}t(˜-@­»-Àú±vCûßT¤ZŒ‡ vlOéáf³Rˆ^ñàMNÓF2`!¨2Dã\çb€½ v¼® `­Ëz•ág÷ÒFœ¶»BlR*ƒÙÓÔÒf¤ô=T"”°Ñ×ô{À^§~ë`@}‹•üàçÓ‡{ÝDÜi›)ûÖ½+Ø·Ùœˆ0:¡+>m'ûB¿#8ó¦\ˆ°ž…®ÏÔBYPo¨dn«Jª%±@à¯CÕ&šít³+à5€ ÂýýO€>%.°.aÒ_ _Jœ˜H(3%†$‡/é; -G ¥Giºl|–þ W ¸É¢îÀ†fž<>!ðá#ˆ -³-)ä~óƒÍö*;b)¨d×&H;XœÊôKÖ‹=À¯ŽrV¡’á“ôR‘V9Åûñ’(]¨ÑLZаÍü’WSkUã3¨ÊDÙQánBT_GM[EníK£u:»Öêî¬H°®”¸ vË>tû¥OE÷%ùùÆrØmHßùâÊF™|Ô­›(å8.œpšï¢4K5c/BÙΔqg*”ãéJƒ€RZ:dB”þ¯ë¼Ó¨K5¤<#¬Êd‰©„ö\º4S±-½~œ‰ùB౞u<2·M5ø¾S¬±1£lNX‹Òm¯ ?æû!ä+üs¬$0&»´„ÍW+½„ÓòGK‹‰º;yPCèuØã¾$¬M(z `Q@¯ ¤Ô$Ë9åOþͰ%/D–Wg.…µÙ¿¯L½rý¿×Úÿ”:ìC†úì[ ê*‰´Eø¸íȪÜá†9 'tïÿ2} éi](„ -g…c³[-µ\Tß2 Ë5Ü’õ`Õ…ñд.1?'k±ŒNU½„~¢ÇÚRzÏk“®ÄyP £g|Y7þ1”›€àÙ¡›õ'.¤·u÷£Þ–p”ZM’Ù¶P}Ÿ dcNÄPÆäÅWʹ xÑÀ ºQ ÿ§€3€L-Rö?cÕj´ý„€ÿ8.œÊÉÏ,Ås$ìøfÀ®@ŽéPv˨Jhâþ¹×dh†t8½Œ·¸» ÿËΡ|U½­QZÿ ¹Ò×é°Þ†c ¼*x/õÓ%bØ­ëU±ÁƵL<¯_ =] Ü>àkð÷å²É|æv»Ëpýž À‡ µ•¹Ù¹Fw ÃP€Ä\@#‘ÍGáJP4ž“ò>‚ÄÍl“éíÌqesæ6Ò=:ÜBÈ,ñ‰| ÆùB“« ­žy ™¶777Aq -ŸHsí#㞘Ç‹0² —ßÿ^ Ã,…¸¢~~vTdÍf—E˜ªˆ¡Ûïw³f{ï! '-Œˆ@ü³¾ÀÝ.´TžI”ƒÈþ“§ONºxLô2[É{¸Ñ››ÞNGæ"ÁA¤Pñà’ˆ“„åt -kñxÀ{ô`üë&0/ЀÿÊcYTz-S©Ï¦6T‰òKõ¨?š9p†Ž6á:º oBeBæð5œ<öÆ€ªý“V#!#Tµm‹Ø`—¥l ’¼Ð桳…Æòû£<®Ûy /àƒB[±ZÚÕ)R쬗$Elcu$"€Ô‰2zé’À‹et¥‚lNÍ™¤)T5Ü ›zïŒÀx5†e½]&îîdõZnêø‚ ï»Ó -’¥žÌ`¡XÇ–!;¡Tˆö§“E]_¹Ú¦Âõã3K -JƒPY\N7ËóM‘9áSbã1€-¾s•ÞíÜýhë®rày€*÷é÷Îä[[Jnˆ| r: `°Bå—Çœ]ÀÉEJ€`¿…dY2ÁÿØÐ`¶ŒXÀëÀNX€T–sÆ|áù9F¨Ìt_ê„Õ—…ÍK­b'ï_—Eí¸ûZÔušjñÔÆR€ô¼.¨ö¨W»^o'yèëiü'jQýx ŽBoRg^^)c„ø Ò/ñüýßýí_’®ÒÕÿ’ǛƼ~€|^&›™q3Í6ómV¢•%z°×–’a¶ÎÌLÔÉ"}†»X^ð'È`Â8`Óyž>ÜnJc5¶—é?f,,“4jͽ#¬OC<€¥ŸŸç€Sz -\ðíwÏNöڲʗý…@»è3…!€ÍÃ'KL€ÛòÿYŸt,{ç@Ç6“ö››Ì,L'6»iÜÞ;yÊéÊŠ’ušŒj^Â7!Cè“'l¤7ìV¦/‹.Íé_ú®’nIw4(XH­Êë+–ºÀ ²§éö·íyyè±Á?t‹Eµ·ß%¬Ü¯»‚癩"&7øö8rõQ¥P¡ô‚ýÂÌü:BW‹ÁþוÉÈÓo‹ÞuÀ’€'”ñ0{sPlgݤÝdN‚.GÓè¡^.ʉ€(x™:œ!¾³HŸ£Ú)1Rª+ÎÓ! aiÌ`u|î$ó 2¢ F‚E”´~ÐOš»P2jV»Ì¥²0ðæqK)-ï ÐÛêH dêܺ —,%fŒÂy˜™ª\øZÞK!ä#XÎRÿÜXB ý´Þ)wü€˜eòõ݇}ai^ÒedûÀŒ…^Ã%Šà€Åø¢~µgÿ³^H½>ÇU£8û#”²P¹¥Fœ `uæÒ¥KS×p30 Rl.–“ÓtAXç-˜Üæ3äF÷6éâë*’¯rwʳÎhè©â§*EgoÉŸâ˜QWÛ÷}:¢´Þ!mR§ÄdèŒ3e|+L¸dð—/_þc§ô-Â*boº  -7 ŒÃp´f 4®qb2ÔT¾xÕú8ÎÎÿ¯àÿ‡À¿ Í(’Õ]@ŒØ›[†M×U’¡ ÿ&«/ÖY¯¬Úç(lÓ¢PË" :ae%[aAQ·«jknl“Q]½‡<Û­1•¬¬eȤ® À”%ªN³!».°ës.£¶y0ÿ©“x5v ø?ž «Þ&¢»‘Z¥ª7Ç“®"—¼7ý‚@íÈ?Y^\ xxÑ5ö2|/°`,aÙ ¨ ô¨5Ö˜bÛ?9ë á jØà :¼J¯®µ³óÜ‚B€Ú'½r%¬ÛÃ(@ƒµ†ù7³ÕÅf¶å¸ eÿ¶ÌÿÊ­Hý_ê(MÖ¤§âBµBßÏÛ5F†t³le¼.-/…žìDÚ°8Uõ/ÀûÿþýßþèÆ»NÛ+dâxõ^YÁ²h¯ˆ8–}ùJ9qÞ—­¾m?´1`;‹fæfp¨ïŽØ/îé“oÉv|öD–tÀ£5ƒí \ƒ;ß:·›ûìÙãÆ&ûMl<}Öî7žêaë”Qá|8Ý_w³€<;¤ 5µMlöm¼öÂÒºØÊ\¼©ëùXÛ¸îÿà 0f‚}¾›a™óOîµàs@¿ °¥> «êOc¹HB8_)&÷öÿ3QOP½Ý­Èc€Ï™Zº} 2†9,W溑C!Qऌü0GQ)EœYÍûÀ‹¾…èl -Rï7º˜s<Øà1ƒ!xâH©RЉŽèžÎ´€êkÛp÷#Q€ŒS–÷fßó÷Ô™„Å€õ8•c6ì‘/Œ(=ž9±¥â´Þqeuƒ;°¢ ºr{ÀÿõuA.Ë×êÌ\lwÅÃÄ7ôoü'‘ã9„LJZôCåÊuàùrîoƤÛÚù!pùmíÃ,–-ŵtCÕOƒfeŠŠ{(:I®G*M*ŽÔnðQ¦¿¾‰-…’-¬,PÇàx~FÀß ÿÿîoÿòÝwoüJøòǯài€/]à·‡2/_/¬²¢? Úh†¯±Ò–Eë@Œ{#6*&‚Ô‚ŒJ0y|´ÝðÚ8‚7¦loï‚XÙØq-Ù;þ€Ö^ -ˆ?#¯ÆëÒ†5rÃ/„UO޶EÚíØ„KBìF­ÒÜÄm/ÑÍ |åVBøî!N§Ó¨«a1ëý““AWØ›mç}‘¥p›Y€jʃ£­sEºÂU±µ}2Þs؄ʉß>ðݮLYÏÎ1Pi™NB4= 0îU·Ø….QŸg“63%ÉÂÆÿ³L/f?åM,÷ )gŸB&3úH)ñ[X6‘1}Ô"an"gðÉ*f ‹áMxDÄÂïðø‰S.‚'ˆ’TÔ}´:ºÚûx5 Šz³î}’°nc’/”s ÀXŸü!ØÞ{aÓgÃ’Ü#Ôøbº6xeUòKÝEƈ•ÁÙo¼2Š ôªÄ˜¦[ðŽnª³¤/˜X¯mrNHÓÜ îpyêR¥á@ÿ†!,žsú?RêÝ6‡’ðÀY|x -@Æ&󸄳»Eg]vÆü‚g2¨D¼ÄʇŒg¨h¦ñ/”zC?“/§E—½¼>—¬'ØÇ¶VH¯ÅøOK“xª]eAª”+éQn§ø/Âb²Æq ;²_‹(åÜÕãzm§Áó+Îp8ܸ@e-A@ ö̥˕,%~= ¿*`g‰¯Ž -æÏÙgÉ+]bƒÂËJ&Bº±…<1!˜`D -Xu€áÿ%ƒ$ SÞø1UÚÿA^´ÿÏÌÿ¿ÿ•ïõ/Ø…6€õT nÁªPcyy…)}*¦·¤±lÆQYº¼]ï†}üÇ‚`%_iTg£lÍ•Ç:!¢À“Ô1²„”w“j¼Yx9l‚5òN%noÝn;Xóç\<µtªÃ5²ŠÓ-ÏÎ(ô4µ©Bt\™}'€‰  ôD^Ü gÀAü+b^> À+üްØàzP;lÿE"UCµ›fþE;DÆ~* Ã/Ü€¢áZ¢'ÿÇsȇ„Ã%Ó’QãÓŸZ¾ŸÇ]Áöð ³Ûãˆ-q æ|ŽÓ,¨¸uœDïûq$T–~ScP…=­-¦Á¹&YÑO¥p:#üÿ{<ùÃwx㇯tL<Åà ËYe À 눰Îý«Å6[вþõÿð@V-‹ŽÍÎMU>(Od -ùÁ?У‹R˜BÐ_°µÊðFðyX4çj‚lÑ•m¦² ðö欴/+[0õŒ]Ê{º¢[tèžçóù#G€Q'©äf´dý>|ö›Ä -“Û‡P .'ÆàË|÷Ï\¨ÔÆÈI-)|r²×NÚlÛcÛ\öÿövŸÀà@h *!|§1þ ^õoÇü£'éÌLMMKÏ©ÄðìœÎ÷HE{xxtˆ=o³i¼_Ò©ÇÇ,Øíçâ ¢^G'‡! -0ìÿÇ tWðšÄP¬,Ä[°›L’WRJM(udÔ'ßÐ(çÞo©0H›®ANôÞ×Sü YðÉÉÉãÇJÂÃGG'LÄyDðf`Ž -E¤gü6½ÄjNf]s6®¡–ˆ+1ºz]k?w%Éú€…Îtz.¸>$±‹F]‡mæó%ÐOøb³–îAd @˜#Ëì2`Ð]ºÿnØ\^ ÐíIG£(†·ö›…³un èh,{÷Z‰»²’,m*P-ó™·M˜¤\?ëÒRaè>éšÝÛ¼±íGNÒ!.‹N±4-s@àǵ ÌVºÆp Žh©ëOx{&@V¿Úý$àW¿ú»ÒpãÝ?üá»ïÞøÑ/¸ðErq À‹{œ›ð| Xô:‘y6<ö௠àä!C¬ã53se®½'Pxò;‘1.…5Ž9€?ÆÀÑX#FðíI¿Y©5b¢ß -ÏÜdËhgq–î‡Ád Õ-<ÃÔX±‰ŸQÍ$ÀoÝå¨`«âî&;íyL¡ß*ɨ«ÍÅXíøÄý/Dsjôøçßýsðà†`ÄëÍ“§'5bÑ ý‹ÈÐm¶÷ŽØs? L€³œ¬:y–ïž’w}EŸ°€ÞÃA»bsŒEÏg*s•æ€Åüð¨?R‰>z¬+š@X„j8Qä)€M ìy£‡à=òü7Q±K(s>(UºHXÉ»H¹üî÷“5ô tŠ´‡][Þæˆ¤»Põ†bˆiàßy¬Z~"öBÉ?Á+DÉtÛÈX¬ÍÍ"iú´BBÄFÌ|ÃË÷°åÀË÷tOõ;p†aô·)€4“^˜HÚ$¨7-O¸¶;(—Óx¢pn]®5jVeÞ³&”ÒKe·u0C·¼Éß0cõ%É7¡_ryÝ8ejv)2caˆÜÆÀ±õeŒ° fU{1jÆ¢<6EOa0M~º›í&¬ Lo3€ÖsçÖ‹xc¬5€§¼)õñG¨«F•c®ØoQûSÀSMk®r•µy‘Ë3,´CvHyVÂ!åÝhɆLøºèF«T ‰èWG_*õY’g£ü؋ڵØâ—TR^•k`@ûþÖúx@ÚPÉÓ-V”=m§Çî…[½¤ž%^˰_ñ$pžYŒˆ²¦ëç A¸,’Q–»ÙÚ›ÊÔÿ%Ùÿ/‰ÿüqÿË®ëõju±^|B™N¾%fŽ#ÄTGÚ‹ßàð?µAÍ «]U )@•R£ÅvîSoé“ßí)ÛŽëÝ4Š’á¦z¦ZK„I9çtÝ)½CËîµá›sQŽUq‡(ÕצاLoqlCbèâ1؈åJbŽ Ð$ï[ -H}æþ_ð aׯ$ÿWž,¿üÕßþÍ/ñ‹¿ù›¿ù%ò£ýˆÿýù äÝ?ÿóÿïÿžïµm!U–s¡¿8@u‘(Àn;#Þ0Px@Ïõ#{‘ÉNÀÏ;£ç2 ÀéØ)ò¸ËBÊ¥ú~Z±ËèQÔSl`Þ„2«Ô]œ^e¤•åEV¯^°t20–@‚KÂ@Àù*´¿ûû¿³àG¸ñîÿò—úâïκþ'W­ ªŸx<pa Àb - ¿Ndú=~VŸó.tB†¤n¤m¦çÒâPv© ·§xމFÃ*58‰q½"@ßÉb+•¸™2Å èßô… Vvd2x†t´°¬·Êì=ÁèÅ¥6±àìÛo?ÚnQ€? º :^—…£Fñkç@ît†™ÙYÂÿÃC62òê&]bøË `?ÿú‚T)s²ÊÜ|æž~ïÕ¡.—`ÿëóô•+ dã™—ÄF!ôÿ0Lfd‚ä&óǃ‡ #½V¶p›k€¨z=gÙd;ó -|A8FjM  ìF`4+ÒÃÖIDz°$¢²8Gìx§Ü… i‰ºÎêƒIÕÓªý5*3èͼ ÜY&ÀîowÊ€và$¥ô,Zܪฬ&x®Ï¤œ#‰Àû¬ô§ÂŒl¸Ïl¼@å-‘J‹ȪâªMâ˜ë¸,u®*ÿwѺEZÏ:ùË—Y¦ÀN…“ô’¦À¬;—QËÉ€‘ ~ø2õrûÿöÿdìÿœýø¯g¥Y¯¨-Veý_¯JÞÿ¾N–ã0þS‘­N Õi³*Š!ðÙ”µ¯‡2‘)ÙuÂVw„ÊTNjmeÖô1±Õëõ¨™ê4] Rš[¨ÅhÙšTy`¨|9q¸“!jŽªN!A¾Þ\mn -ˆ¶!| Œ%JÀÝØèý'¯ 8{nC@‘ƒó€_þò‚ò_üâW¿üÅßþ³þB8ÿË¿ƒürŒýÆ|‹ @èoüÿÑôü_þâϧÿìßÿ¡$x„&¢D9ãXN`+Àèz5û Œ=;Æb/Ú@¢Ö(Ù•Áð²€0-C Î#°Vê7‹KgAIÌ ¬Æ9¿& †½âPЬëû¡å`„j+á0‰ÄîÔyúb\÷Ÿ%]|c«ÀvH!Åö@×í -°ãZ­oŸ°}¿ÎwªüÂßïY XÉ|6åï„wx˜÷ȃ{ƒ½Ãíb;ï¶€îË9LgøpÆÍm. (ý"}öŒµúE·S”œJ‹^>7Sc·#J”°:½ä¾ò¾à_m ÐLRñ\Ö6‚Œ˜~I ¬ð§XbÈ«ˆn}û»¤àÁWbÀsg”ôéacŠÃ ¿¨:ž)ö$ v¨øBøX`ð[uC7v!zôðð÷\Fv†`JR×üŸ!iv€T’…e¦É¨;Õj!HŸîçÓ;ÒgÖb%œ“EÛ¨ÎYtF”! ©` s,ïéû¡Qž¾§‡5†Û>Okù>ê=‰6h±ÚtÀõýÝ}©‹Ý"ŽÃØ,w°hæI#;²}A_¡_¿‘&%x à%@ݸEÚ¹”óê´¢L¹”pÚfÀ‹Ä1 @IͼÌ@ )¨u]Gð™L7Z_ úž”“UŒ:Ñ€ükÙ’½^#ò„#©«eÀ¼W˜¨ÌŒ€¬j{øç!w¥½ó^Zí†qi¥S‰1ÄúK¤¸_oÊ ©W¤÷¨ i׿Œà_e¾O¢…ë”úReuµ’eõlŸíU9™EŒt%åR€*ÇÀü-³ßÆ=º,†%ø¿L@ðH<`^ àO畯Ž.Ò’^NÖU-š1}o™zÉúvüüç÷Çÿ’ÿ)'¼.öz‹Ñõëxj–š½R2ˆµ8ÏÒð-‰½,‹"ªÒfT¬žÞ¢FL[ˆ°%c‚µ¼nTc~ÉB§€Ô²8RµÞu½6DÛQ4K|ÎX¦®0P7ÝnÆ.ˆP­Óêý×Å€æMð"ÙÐF"¹è™P° òÎ9@/ÿÕßÊ”ÿÅ/ÿæG?üów…÷’_üè?ú›_þê?|÷Ï~¨O"üßìà ÿÁð£ýò?šü…Àø‹ÿ`À4àßý»WBÿDþðÏÿ‚«ë´_ý*xXX€€jw­kø÷J€<¿ÀZJ2þŸŸ@æ8„Ò‚¬¬¬, Ý¥p<æ]Á¥Ý~Zfd†QT‘D‚)¾‹ºxx%^IU”‹†DQSŸ“S2?R| 0öHsUœ×_öÿ'‚xCào!'€ü?/òœ‹¢{~;®l\¸€Œº7Å`ž|!x|rÐ…·ÎU®ýÉÔL»Ï4@±!ÒF¡=& šD€¡&À #g€'¹°2Ù÷†^ ÛnÔ’í‡Âw™?lY]K8†ù"x„Z`(…¯úÛ“½Mð6q@8(ë4›µ¹€ôè<ÜÿeR<–Þý~–ÀOd?ÚS×Ò嶼þw*ì0EÑ·æR:Kï`8¤”œ‰i0~®’ ¼XA/¬ø¸­£ -»æ×²lx6Û嘒4”â¥cÐí ÿY3ðà8Aœ/ |nV;Q~Gñ!SòÃ@N^eÿàw¡ªøBïœ øåh….kÀéõj@'YðáÃ#¶lo2•Aª¥…•PWAR[¿RVRù ܳщ˜u݆¢E訃ÔaéCôHk±"­–à„ž6S>ÛPÉs¶£éu„ÌÔa/ôb³žï@Üeœƒp-»ãe„2(m‘ËíÄIáÀ=¥©´m|Çɵ™©K3X]üJÄÓ×Ì…Ê“j’`¢†£‘²ë“X}ʲQÊ@)Bm~0É‘4oƒÿl}¿åøæç‘7cprž7g‰·©Åü9P^¿ËnÑ•xb‚Ýz¯°À>K2=eµ%ùÿã?𒥳Ũ»R. š$Ë6%xƒ‡T’ -ø«ì dÝ ×ˆ?Eå&ÇmoU“˜õLB.¤²šO²z—  ?êW©5@Г¾ím) l—«CV®Éü÷tÀKÓa.àŒ,a™A ×µu;fKÀdà{ÉÔ§Âö‹íæÿñÿ9ûßPM»ëEÂÿH˜S/ú[¸ÿÿhW;8ðÿc¹-µ:ò¾DáÜ|[Áø£PšÓŒ€H†½,ŽÒñÂ~´giorͺ I>Ìâë«é±Y˜ncO¿n%æXV…/ÉX¾naÀ‹Êá"‰.Ñ%Ôc³Ù\Í7=€x¶2@ÇÝUóòDuß…í¸Àßýêod…þP–>/8ÿÑß~÷/! ùßèûýåÛöC<ýö²= [ÿ§Àö?ÿÿAæ¿þÿâ‡/õHþÝŸÿPG[t?ü‘^~!W«‹ ³æ(!€æ-ʈç0pvtüvÁ€õë€ð_ -£m­ðˆ€šÕ…Uš*#5ˆ¼6fç¬`(¢T„pŸÔjF_®Ó("ÉІ8@𧜓’”ŸLt×_þòoÿ_ýŠ!€ç<Àø?þšuÎÎí/Z ÈkEÚ6O^ôÿéÓ£ƒn-;ç¤o¢„imx -Xö ÁðÔÐé½ Hz'Àc<_vRk$mÖíñ’x^R†µûâF:x„Ý/ Á ß¸À+½È‚Qºœ~þÕŸ<l&Ý~ngË -°KY€ÝB ! \‹åä9m%BDB({{Åöf·Ù>|¨; -qŽ:^gèTŸÿ;åËÞx˜é”±oÿa?½\œµZ¥2ÛØ<b -Ÿòfï:Y*Eø/®NÈoœ´Û›Ù¦òÑ÷$(@°ÿ™ûÕ"à4ß>áõYÈs²ô§"û½~öù Ô·ÛCÏüÿÿhû¿æ¶®kÛUªnÅQ|–èkEÐKTŽ“-…oY%‡…R - -a€¦9#¸&ˆÓ4Vê<^ÿ¹µdûáÆfk½>ÆàzTKûC{(„C@€táPy.XŒÆ}@¸@ãQ€Ù²¾Sm*ÿ¹BdÆÄ×\ϸ ×zz:åYZ0rЇBHS[?©¼é @ ðÞ±)Äo†'æYÐȸ©”bH!ÄÝà©×ÝE„’ "o'4øï©Vîš‹9s€‘"”4>¿_Ç8;õ“S1îkPWoö>í¬­5c@$¶pqà?¦¾Øvûèƒ6âL¸·¦2¨Wæ®·èfî8dœé€ô j©ú PÛñ(gY ~ºšÕèw¯EøÏ2×ÔX*U»žgsó7‡ªpoó`Ò¤ÀY’Ü"G/4ÇÁ먾¤ú”ÜEâ'VšõÒÓã[r•qÁcôÓt&eAVó)] €çéÏWž <…³Þ=€5é3ûx>À©Ÿž>øEÌðK²R¨ô`þPETëKâ ·ËIÿN ßÿÇúÿÿÏ—ö}1ÿ33—k—/×fîd+w²;BÿMá?]þszp3&Ûm®³ÙiVWÏfÙ<±ì¾oÐØBÚ­îozh_x’›#}i]‰¾púºA£*lTkµ~yÂEbÝèf oš±F7ÜwÓíÚ­$.cηÞL?²€>bô=Š ä‘4ŒhÝÒÖÜg_‚ñ¤Ï@ük·oqmì¸j\þìÚ5% - ô˜¼À€ ÷¿À¥+pæe8„2º&¼ýå¿ "yÝþöÛÛi×ðo1©·à˜uðPÇg×P#|€@?¦9#ñõú|‹ok—¥Œ?á{ç†pµ³õ»5вB â{šÛpHHÊ ¥çÀ3±píó/¾ˆÆpåê:2öLÊØðòOäQúþ‰0F@9ÃS­‡¿@þPHw£ù>[OV· gpdÁv¤Íu¡ª€DÙRå0 ôðþ*S÷º{ƒåö‡^r‡@»z{udÆ”¦kÐU, ¤,8<€dï¯gíîòzUPíÕjÅ&d™&­Yñ“=áÀhôç÷ß?%cT!çÇOc­"í¹ÏáûGû0&Q‰m&¼a¼û꺔[Þ(È„jçä$5uÅ`ŽÚ ”Wˬ·˜ °R‘y,;í\}yÛ€˜ðú/ŒöBÂ`Ðê&©lk6ª¶ܾ/ö‹òèŽÈDWý}y©Q|dC¥x3Ñ&íÅ!vØâ,-ò„.~7#WÓL®T0n<̤ø˜ÿíïÑuq Û½·³wG­ã€º‘ÝåQ:†€J9#É,s¤OoöR^«•à.±S²Ø–°½D´ @Pt=Ëô᜚×EéLÍVG`4ÀX_øñ¹hT»š¯éXülý4'S»þõ{æ±(s4Ïõ(öï_RÐ5ûlý}Y¢oWX Ì£x% f€Õ]H$ÖÓ8~þÎü¸“N·@Zã¬vÚⱫì?àGO õJÇSä„Ï\B†éJ+<zÌó 1ùP"™ÏÕËÞ -iÓÉÕ\,½0X‡ þ{À[ç!›:|ÍVh¾›L˸,„á±ïÛãL&Q²ì›¬Ú ÅìM)4ç~È`Ä+ƹ-ÄÝ ƒg®~Þd©•… ž•b)"I’ý÷tfì¿yކ'é†@ ³ )Kw±5;2ù½ÑÏ`Pœéñ'‹™kËgÜ0Ä“‘î|Yµfîß¿.-Éà¿…QSui.Šç„rÙmU»:I=oº¤ˆó*%¹‘޲Ë1ŸrSùá¡§øßˆP.¬¾¹Š -Ê·HÅËB;Ë9€Ù³Ê«t½\xËfÚC•ÙˆÂÁôµ -ûÿmq€þ?À°hµ––:ŸÊôL‹yBt¡ @Ìg¬Âùa>ãa€!TWŒ¢&fÀq€&JMGŽR¨ui1ÝŽS?­,ܪu‰“pup·dK ŽïŠ^âôøMðDèR]ø6ýô'ÌÄ ú3ÎÊÃê¸+‚ºX @w…[]ï'ü;%ð?¾ÿÿøñÿþºéïf§Z½<]½,©Mç‚ÿlôgÁUÛ_?Ï’”B‡ÞR2;ÝZéÕÏ¥1_ \Ò²„¡4ÍóQ»;’á_k,zepûn`ýƒzE$@-QÏîå͆ã5 ˜F”ŠaÎáà{ »_Îã _-îáR—9¦<àVÌãvº¾]BS6(£á<ÀŽ+þë¯íuï"ï]¼xŸ,€‰>鸯נ“6¾ø -üÇ`PŒ°  Àý± €Kï]½ýùíÏ¿¸-3Z"M¿¼òÞµÛßþ™Mö¿.Çx`!Øÿúé«ül€š‡ø§Ô\ECjõ{Z˜¿ÙIoÝÊóðŸG‡3‹1© Y.”­V[i2ÝèúË(á¶øQ ;ÀÌåU"¸[øÛ±‰^èè^ZE܆º–€›Œø–ƒÏ{ -ù¯¯œ ?Ž˜œä8™@tm1³ pc¹.Àór¶±¼Áµž›†éé”/¨$<^6 -”ÙÊ8½-Û·Ì-ˆ£] ·A¨½è„Qøñ“ï=%-¨d‘Q€—2Ôÿã'¦äýøñÞNßñ[tKË0•eê |S‚ -E(dÓ -ϸ’Lôo°Ãîê¾Åt†ý‹¬{ÞcÏ|„ëIïú÷÷iX6€ë%ØÌt˜[LnLzUÿ`_¶ò¡õý>ÃÏU¼Æo¥Zit·÷ˆE¬°°)Ùø-™°ùO, IÖ¸ºŽûKÖ¿,n:Z˜“Ï7ãí‰zCzW¤€¬zmÂ]m}*¬§îÒ\ËÑE[*>y'?ZXBN¼pe¨,^EhD<»¡û˜ÊÉêºØ£.‹) ftð{hó¤ÓO‡ya/ˆ3¥^:j6þVü¦$<¥Izˆ=Ë¢›<æñ04âD€©™È(+žuz*Ó®_ž®özlí(o?_Œ®$<«GМZŒefl8ëlØää¡w&3HgÏq ³à‚>Dß² à…†<ÌZ…ry>3Ï`Ÿ¶nPǘ?ií‡À2Ùæ1êI @Yje«¢ÃÀƒv úâkq­nƒÐÉ$„wŒf#’A0ž[X¹E°ÜÖÎ}öh‹ÅöúݤÙZÝAR+?ÚY’©¬™¾/úÔÉøÁ÷Äî Ö¶¶÷{§7nk]‡vöt%•â"SÿR–}]©7åÕ¬´w °³³±šTõð -ãr¶Riô·Äp\¥ŠÇÀŠ'¢§5`¡D‘Á?d„(Ì8¸*5j 0–kô¦Ç¾¥°žè? -¿1è4б¸PAgt 6 ]¨Šà°²¡_G§²HûPµ½}æ2¢`cku•©º,PÐEt¬¤ ãXF¢ÏóÌí:l5íö¯KŸø(ñË@ÔV-m-Wóañóʰ£ËŸš€qggë`aéGFluí©dº5ì6ò]ÏjB‡Ÿó2†*Ì’|:–¯ŒòÁnÚhúGî¢eS?#²Ô.D$C/±ôIO?ÿAÖØÂ¬:û”„ŽT‰òAón–·«ÙXsêt˜=Óê ¿€Süssy&•¤Zq^ Ûg?H[ó:D‰û‹M=­?)ÓZ%9-0HU/_Îtbbo™( €Ì:¹@%Öv]" ’:ï#¼é•§3mˆÁcÜè*ìÁéìx†›œ¼Š ›Ý·‰%`ª>?S n³ô8Sñèl`i°Ã6NíJ‘½ý]í0e¯*¸-N³³±±ž/·é+¦3“~âËÛûâ -Ôž¢F¸ñÿ±TD4“n{9_]ÏEÔ¢u·wÿAô+{0] b‚ërbì çq‹µÂì²ÿqðÆqA=z™þ}%›¸´Í‡™Šn<7ðP-ÇÌjK.Õ‘mÅÐ]X!!Ü~~á–©ØÊFµw¯›ü=ßdVp}S‡£Ü©ø©Œº­š'µ.}|±Sò#F_›ãÞe êI¦¯¹¯ˆì}~xS6ׄÄœ\øª‚”`0d­Ó×7~¿˜wwõ#ä`þ)£­!éÂåœp†»÷(c4lìêÑ€ºj˜Ûwò—š·Ón2³šš/­¯©è<†b“ŠZÆC3hDT>W&iŸU~ªu, žÝƒMÎc3Jwª™ÀR§§'Jc–ƤÐ@}¨}ëÂÔ·¢¯\mj7»’í*ƒlmwöÃá®kªzZÄ:–×ò¤TEkݤ?Ìác]OÚ.Ío1VHªÓUøŽ•T§`&úTïC;Ôî%ËÑY>¸—;æŸáTÔA•á”i/Ö’|w—Iáté[?z{JÔ¥^™#(AB<œÔº^Ÿ›K{CÒQ=ï´ÒóSSôÀ­ÅÉ….€cñ¿Äþ ûŸ‡5Èy³Zü_®^ž!øÿöà?h!ü7÷Aò´~¶Â4—2ñfÏ. I¢ãÂ.-}Qy×M€?²i6q7A)óùVýìÙºäü…¹…NoeSß_§òóÅ`¦¼†}¾†l[úu-”.€Á~Žªqü?8@w¹Ùü(»• 4ÿÝ€Òo°-×>ø¬@GAü"@xèÀl}~€ €>ð„˜Êíý·Ð øÿÝ%b< ðÔó.€2À€ÉÙÉ(zûó+W®Ýþö›oÿ7è†}ó­=ïž)2èö«±ðÓà@3¥‰Ø´»ô5öô|wiÎt~þéJZMô•–½8S£‹;?êC1Ô·qÓÜà8Þ P´‰šüY€ðrÀ b&åEóXÇÒódñÐÇý+…p,@üûÀþÆ2ãøõ¨o´¼^M5[¬ˆ•“åí¹xØîc¿I/8ÞŠ'èQut©ë¼@VØêxr6î{¶n™RkérÇðA˜¿s†`¡ƒŽn(' -ºù÷¾:×_§P~© Ìݺâj] ]¢‡ÛÊdœ¥Œ )¤ÔRçþÎý=st¤VC°½•‹¾¬oo •7³äÊFYËfB^:´œ÷eëk(š¤ïˆ€‘y  $}L£ -jE¯ŠvþþûÀýa*¦^)iµDÀ Þñ@üD–87!¬{˜ÅG@m‹]HÏÂI ýã'2þÝýÿT0¯cO´gx7ÀÚW²Gûx¢÷džM~ÀßwÞ±Üz c>"H¸+®fˬ¤Š¿Èc–o½YjÕê¹sÕºÎë)¸Z­ö½¾d3Iš‹ü7‹ÍÅÅÆGNÊ+ùh:ÑF£V«‰ A‡ôç³³5™J§OŸ®ê¢ó-¥h.6k”Á ŠÝ.wÿ¨Ë”7Âôj!PÊD¥úO¦k}t¾cÁS­œ›:}êÔTeV…¢FS?fñÜÕ¼ö[=íÝÏ ò”示•«ù/I~ý±” -Í[‹¢r‹E œ™©VeYV§«Ì¢Ñ°æª»“S“nã SW©ýZM© º„ô®T¼¹IûÛ¤9Ë|‘FÍÊ9å6ufêÌO¥µô>‡Î³jòJe¶‘¤ÍDš'Ó2þˆ,‰¨Íž;«¦²Ö¨«OµÇ¢>˜ÉÔmÞTûé„n꩹gYŠe†ä³Ò„£u™¿Óº§NŸ«<½(æ¥V-E|WpNE¤µÈ!E«àén·¹È*‰ æ(åô™‘þSg%žNRªW!“‚µæYÕ”yÎ2^R|N*§^Ãþ6ovRݡ˂HÁÿ²ÿþ1ÿ d0dÃ^ëœ`ÛcÏ×ÏÒ¢¾eð2Ý\(R/mæYíòºž¾ŽäŽàq:o§ói˜ÏÍ]¸À\Y+B•š=÷"F?“0‚WD¢‡êA¯fušC@©fçù;ÂÈÛ×®¼wíë¼ÿ7íI€¨ÀÑ% À‰ ]#;}Ïz 1 †»¥$Žˆ8@ºÂ ƒ=†¾Ä .1 ;Ù೫Ä|û¿}óõío8‚àâÅKïþ¬È e,|~ D+éï0@ø?ÇD""½e@éühUer¨™u·=Ap05S=ƒ¡YbpQB·tê3Çy®^» -öÛçò¼àpÀ«<ÿþï⯊(ç0ÚœXl,º[ƒŸûÁöjKF­ž ªr“‘¥Œçæ¯M© -m«,ÚùÐw¹« Ù‰Ýn?ë¯æëÛJÁ¯ÀzK†¼@[h"0ŠÊnÏ–Ä×Í–—cpÕ2}ü1â\µiksK9vÛ«y_ÉùqÛÜxÈ,V«EÉô®K¸4% 3ب$Ûn}:˧eØ,·è‰ÀÇä`Ëóí÷ÞnSe¨Gk¢mi…R®¿¤¥V1ìcÓI¤]Ö&h®n{)6í)Ì%ü>¤˜HêͼF¢+BÜö<@ØÝègÑMPr¬~pÝ -î ðÍÜ¿÷ˆ 6ðÿbÚŠÿpôI—Ó5òƒIΈ¾††xì?f £šˆH§=ûZD´˜Æ”2ú3_‡þªÂÅÅééÆ4€Ç¾ñK¨#,’€{–íZufvF0“LO7µ×X² z´9 P)ÿªÀ™³ÕFí× á—…“E0Ïårhv± ì„4jÓÚSNNPˆªþP¦ªV×õú8ŸIÏT—ÿËG³:mýÀ_Q™>7­ŠÔfgª(5Y€ršÍ…¤ *h<¡Æ,&jƒ_G¤Òj54OD~šÍÚÌåÚ xêãHT[¹6f~]Ó¹BP€éPŒ”…Lù—ÓÂa€Ój›Åé_×HàÆ°æz'³Pظ-¶Ä-r½Õ -¡9©ÐvRóÆGº¯R]I;ÍZ÷>cÑÅgetþmõ÷:f¶P6ºÊP¿žvUgÜŒ…ˆÅÍÔ¦EŽÊéÓSg„ÿ?‹*SSs¥ê{î,\A÷Aû“Ë)¢ ),À_òbû߯ÞìehÚÌe‘-»£çé]1Îò’ k‚”´q®^Ÿÿß~»>w¦• 'p»`ÑëÙ_ôWdÃAÖj®7nØ $vT° Ü÷Ki²¬Qüç`ü\ý:0¬d£FIºS¤zv˜Q€‹ÙÁ =‚ìràèØ E€ÿ oö•«6ËÍ÷è7{j¬Mãµ– Ý àž @btP€]Ämý€óãrdL@ÿˆˆÀK—~÷npœ ŒPfGbŒ‘ª.ß)NŠ€I€~ˆŒÇp=P­äá´u} À\Vˆ¿Â:Vî´Xò†º›bÈìÆ%þÝy¢;!ø¿«F7¡›3"Àt(äXÀ•÷.E €ðÿå1‡2à€çÖÜݺյ·ùä‚!h_°Íz=Üß^nÊN‘aËtõbû~ò7ùÀï9Æ ÜŸ"›4Ѓ´Kï?x* s}õñp¤ceo¯‹°|ìÑ*mÖ–å€ dÃE´‚ÜÆ¦ a>I—¥ŠØçöíøA/Û|‹~2ãé¢6IErÂÈR6¢0ª‡•ÐWY€Çø5±¯Å–¬~ú»ÅfdÝÑ gSI÷Ýj Óˆo†Š=â: –£€Î×ë³ÍåÏäGÔ mJÓ ýØ3ºé±…Ç Ë, "0ííuUMÿmþ?Ðx¿Þ —éxDØŸ‘ÜP¸€’ö9äÃtñ?ùá‰8ÇcØI¤ qƒXÿd¢IÌp ÛÿèÌrL‘:„&àË¢TåÙÙ_ÎæwÄ7ûüŠºmÙÅúèQ8¼£Vž¯òá®hi–ã&Iï1¿H„ûž­wßhã)Ž ³8¡ùMæky:_?{¶ÒHºÉåö­¾’dŸ:Wý[é¶W—Yo·ôíwCùS·Ú}àeIáf%­î=OY=CUÒh´¡­úTåÂP|)“¯ïî”ÓºûÖ¸JFƒpµ±ŒC°¾¡YÞ_¬%LQ6m:ÊÚÚ|še„(ÝtC&¡9õÛ%殫‡Fòž.gƒ²ëCí4šщÓô“C -ꛦ´u}WôÇ ¾JEÏ(¾>uº«xœT›Ý¡û¯‡Ã\›Ê—òn¥VD¶!N}ÁÄ}y5_ü}²Šæ»L‚Žäy¿—o®éý\Я¶ØÍþ¶Qö©*žÌ·:õ©©J+½u§«¶V›gºe¨Ž’Kÿ½ª–RõÜ{# Ÿ©OÎVÄ~ÂB™o_ù•jåŒ~ªCùåpzÝVg¦GB»Â¼“ -Àc +užî<¡µ£¿» 󗌲x +¦ð‡Øõ:+3•RC>IH BH¹JÍÒr‡;dÆpȰÃ&«ò~gÊ'ˆÜù_ a’Ô<0”(­Ò!£<-aСsØø“^yöæ÷_‚w  ß x,¸¯BðFGJ@•‡s9˜$¡4šŒ¦³Ùl6Ÿ/ŽOWe@íAÖ{¥µ<…B—€w­w›Î€—°µLë Ýj6×»ÿZÍ/ûٶݲ-Yδl·àï*€fFöÐñ÷Þ{ï½÷Ö)ðÛ¦•GÞ?…÷Þ{ï½÷þ þ}Ú ÿzxO‡Ã²,Ë2pƒ€¼ €t 4HYŽ I§¹X6üˆõ‡9H#„@X¸§è2œá¸)ˆ"×ÿHQ„î +|µÖwß}û-6‹8•L¦RXJÆÞ•¤@ HR4*Ťä†0™J¥’É"Æ)˜Ä˜?òIü#œÂ)¾D<™ÄÅB*•‚)OÂ$„8…= Q.b\À8E"Bå{‡¹£6Þ€1ƒ0*IÉ  Qw%yK0‰ ùî;/¸{' sž>-5Žžî°£#æþß_þé‰Óu†Ã£vކC6úÜ9RSåmJ™ù„QJ™3ÔjŒ@Œw˜ã0‡±#ÆçáÓçG‡‡Ï˜3|òåÿ:újëÃáðËáááSFÆ ã©óäKÇRFÊL Á˜Ýwž:GŽÓ:¬qäPvô%sž2çð˧_ÕjG‡‡_¾Ñ ’Û¬â¶ûø:_€? øQ„*ÆXÏåT5% ¦“él6/Žç'óùÉòhZÖ{¡Ùe~êJìu:Îc{w€––iØ­æ…ößeƒO»ÝnÙ{ò=íVÛîØšÜìXÙÚßßï\8ï-ÏMV¿ýÞ_¼÷Þ{ï½÷_þâ¿,ö_~Ôë¶#Èáp!yd—Q×2B(Âsù…\I/ +b$BiQCi„@„"aA(â#@tËB EàÆÿkoë|íY½þþûï¿ûöÛo¿)âr*ƒ©TJÒz 70„0 S–S) “)a +c\ˆè;. R˜Wá‡Âw„¸€Íb&“x£ÀðïBèZêà ƒÜˆ! Á(„ÉTKB˜üö»ï< p{ ôÐ;•ûµ‡ £[1 £R«Õj5c«V«Õ*Fí¨fÆCU’ Œè:)éz‰PÃÐkŽCÕ ´BkµŠa¥îCãáǵŠa¿ªÕh­bèü¿Œá}ÃÐuUÕu¬o†AtcuC«µ:cüÏzøP¯Fé¡a0ÃýFhí?­Ñ7²) „@`%w·Q0 ׆xo0Ïu o + s8—Ã*„PŠ£ñx4ÍfóÅüØ_ð™ï¥3·(€–æõtZZ¦}\{Z»ÍK ­Ž•‘­;ë°¤€ïý¿p9ó)}o,ˆ?þÓiÀWÉ2Š „ÂK=/†@H#€.ÒïM4B@@Á*p↓x÷ÿ.X¹„ÿ½+¾ùJR0(A˜Ü€Ò²Ç„ÿ{7RÞÇ8…!L&¹"Àá×8ÊëI÷âÇ—LˆJïJR4…£Ä8•ò I±„0Æð”b0Ê×i¹Ü‰ASÉ (Áo¾ýöÛï¾[.7»UUUQºóÁ#J)uÛ³wÇ94† F™é”ãÛt¿!N¢ÃFÃÑ»;~-¸~‚%¯Æ ®’€€7 z€«×Nqa<—J£Ñx:ŸÍóÅñš°–÷ßÊd²‚°¯Ç/Óìt:;M-oY–e}üxÿq3£ÙWåZ­–m·]§Ÿ¦|Ok¶š®°í|¦õWÀ¶ß{뎀9#Y–e¢(J>¿¬òmò&âÑ¿(r;EÜÝŸ +Ãa€6B(}ñ¨Õâ_¢(òÀ× ðýwß÷Ý·ß¼zõò, R*–ü[ЂïÁ $D¥ŒFc1˜J%a Æb±˜£R4"ÁX4åFÑX ¦`T’pò¢»XÏ=Å2$>"$¢QIŠE(E¥@0ôÚÚ k×|ùêÕ7ßò(àõ$3«¦iš¬Jwø‘ ‡5:¦É>£îfο’¢Æ)¡„0Ó4Ír¹l£,RJFc´Zã9ÀGXƒ1öäó6d¦Éï7£t釂 !tÇ4Íjµ/¦0e̬š¬Ê£UÇð#‡‡ æè¬j¾AÿO@É5ý ÷Hß8p@‚^À½þþU¥oâ +¬æÔ\Æñ¸TÌf³Ùd6›,‹ X^ðL¢è*p ÀÞ.—ÇKÖöìvó·|Ï×j“x»½@+s/Ûj5[¶Ýj·mÛ¶dëö2²¶mïïïï¿Ø”åp „d%"þ4@|aR\;p·} À/3R(†ÁªÙ2-ˆ­~D‘'@Èm BŠ"+ +Z€|§A ï_»À«W/¿þï‚…EIˆþÄ-$ƒ’¥ •$•¤d*™,¸Á„°(IÉŒJ& †„°LR8*mHïB(}˜Jââ‡É$”$(IP*&‰$$Ễü3p1• “$J‚pì‚”¢„}þòÕ7ß|Ëó€wVUGïRJ+üÑK¬¡3j>Ùr‡&¥ÔÀB!EBhÙ,óÑÅLIÕ]BNÙ£:¿»uêªÆJÙPwØç ƒr Qn)Z(s†ÐxbêÎ3Fs*üCjŒ1FÏÃ-fšwõtÿ¤@Ðm +^Ð@ÀõXޝ)€7 @Â\NÍaœËÅã0.UF³Éx6›Ï§‹“ã“Ó›p) ¨íZym×Êg›Nçñþž¥Y–¥í}òø ³'köݾ¨šív»m/ÿ3é,WüçyÙêX² ÛÞß_­þ}  +2 +‡Ã²/ø³,J»Î`é@VøF PˆOqlºÃË /§1€×Õ¸É +¡ˆÛBŠ‚ùîX™¾vSß|óêåù3çn%åo~3"î/z¿·qáK7î\lqŽ8¾]à–< £jj&£Œ+€ŠA)c¬Êœ†ãÈ·`¹7ÌmøîÛo^ýÛ«W/Ïž= À”»¢O" B I +že–„˜àÕžx_º÷Þ€ä>·‚Á€[‘v‹RÏf{Rù»×/JPÀÒW_???ÿ·e ðýí#¾$à(cÏêUïîné5ÍFã‰Ã(-BXÀ/D$$Lšì‰iˆËUJ)Oà5J;Üa¬Ê¨Ó8<üÓÿÓq¨i²¿9ügJ°ÀÔ<¢R ¶)¥¤HH¢˜,T3ͪi2JÑ/tJ)sœVeÔaOÿôPWï¶XX¶û +’à5ú„õa /ÛôZ/æîN€xªXÇ8!”¤H¤4OfÓù|6_Ìæ'³U#oî–@¸€]MÓ4Í@[Ëk»–¥YÛþ;Û’3–¦ýù@Vd$‡Ã"ïÀ H»&Á¸£?E\¿¢äeU¡r»}Ðæ&E€ÒîÔàÇ ßR\Eß~óêåË—/ϾzúUÞl’àõh! 1!Æ/=L]Ýà¥0õ¨±úÕËÿj^×j%¤^ž=~î‹|¸Þ“ó°æl Ÿ±£#‡1ʆO¿Ï£'qЍ:¡Ôd”ˆÙ“gΰZ¦ìèépȆÎc¿dÎ3Ç9ü—«ÕœÃ§‡ÃÃn¿æPÊž ÙovHK˜™C&u¨I¶ 1Õí"=Ÿ>ûâ©ã n­[ê5ÜùâÈé2ê>}rxèl=|Z»[ýÏÛMëûx¢4Àt‡V!ÀZ'à…]Vw¬ärØ–"Æ`:žNæ¼pr¼€oA_^Î.7®)€¼–×4m7³Ç«€»»–ei{ÇûJð ,v»eÛÛ’3²¦e,û’Xëm€"‡Ã¢ŒVÈg½J@¤(„A(‰N#R6ú¯(,†8 ¼2àZ ÂaQ EP$B‚ +@ò2À§dY¾i,ØMzm€ß|óêå9€”¼éöûÿµ +\FEàJå ÜØv}ÍïHÂË—ÏŸ¿|ùü¹[ðàVC~Å0ذ[c5‡1æt»løðéÎÑ}öç3ÆX9CÿH't8¤ºQ"„ƆŽþ9c]Êj”:5£Öíökìá±zƒ1Ö«;_|ñlȘó÷mBt¢ÿuŽØGºaTˆNaÎÐéyC ʆŒuknÃègGµ§ÎÓûõÿ +<ÌwMy¡Ä½ïÑh0à .€#:xCÄ9œË©0§æ0ŒKBi0NÇ“ùd~2?öŽ}×Ï’3!AÝ> àÀ®–׬L“Wwµ]k7»÷÷;v>³×ñçüV€m÷G»™Ay®Z-ÛîØùL&s޽Ѧ,‡Å°,#$ËÞ Gn@X q/åe“/Ba!Œ”MÞßò+1”FÞýG +‰ápØm +ñBÀ/þnr^nÔ^¥Î_¾|þÕÓ?}½SzÎ} Ýá&¿á[–åǯŸ?þüåù×~ÜZ ¾i Z­²gŒQÚh˜|%_ƒ™Ûi0fVÍj*‰ãËä%ŒùünîsÓ4MúÈ)¨2¶å0ÊÌd;ìŸY£Á?Ãd&¥U“RLË”ï@Ð1Æx;‹Œ5ªŒUM׸Z}ÄFOM“: j²CÆXƒ±ÛW€,þ:(‚|æOÑè«Å ¾$à¥wkÀWT%¡4§³Ù|ºX,æ‹Å*°€¬Oø íîîæµÝLó óØÞË[Ž­eöVIÀ Á|Hk­æÞÀAKËfµ–Æ?-ûmBŠ,Ëb¸A@ZQåg2 +§Óžtw¯.âiâé<¤È@ /€Bi´¼â¼M(Ì¿‘—BîïòPÀ½ÿè]@n +àÕË—¯^žŸ=;ÞM!x9tÿ;OŸþË×ÏÏ_žýüß–K p;Œ*c V}V7™Ù`Œ5ÝÙÙ1)el§aš¦Ù¨¦R4Q.ŠÜ¸ƒ½DÈ6Í5(5—ËÞØ«RƒUcÌd;½!k4h•™†iš¦ù›fòM‰žŸŠ +a´À¨IMfrâ*c öèÌq{G5§áT¾ö¼ ¬Ò*A!À\θMSÜÔS¼8 ­€p'‡¾cU…0.Eôþx4žÍgóùb~ì¯ø—sÊYn ,ø7ƒ…Bš¶›×´¼–mtÛ–få-K{à ¹T­ëpÏj7÷öìv«mÛßÒ2.Ö¶ +Úo³Px1P”¹HÚ[ä  +…1‚øÊ€6„ør<9ˆpã{ˆáB÷ ]R7xù¼|xùòüù³#Çqîüvý@àŠáßyŽŽŽŽž}ýü^ßÜú‹>«ÑÓ4™¹ÓØúœqsÞFÛÙ)cXL‰o(!Ä [NÕÜ1Ýüþ¯3ƨi2ÆØñüÞÎ5k˜;&«8Ô]%È׃Ã8þ¬Ë–K*¼¢0t(«šUÆvœ‡l‡±êmóÿüŸkpé`¸!H`n æŸV!€p·ÏJÂ\.§c5—SR¤4g³ùl~||²8™¯°¿:Íl&Äl/*€|~7Ÿ×²­O:íÝÝ]-oñŒà +Íu4›Í¶Ýä?Ú­Ì=ËnîYv»Ý¶íNKËd4MËîíÛþ‡ëíU²ìñRÀ2 „@HĈ§Ü*€‚ÐUÒ>(JZ² ")HF²Äp8K ‰W*Y¾A¬r€^àóW¯ÎÏŽ'Î-ø}ÕÜÌ_à?\|ñÅpxô”ÀÍ~w—n`ïöW(eÕ*{äPÆ×ƒ³C}ȪŒRÓd¦¹Óh°r +¦âEo5 ­PJI…[;¼ÀûøJ©³å0nð»Óš|€i2Öh4v£Ý¡IË´LÈ_¹ ¦:ÔÝ?˜A©C«Ì©1FMZeŒ;¬çÏð€[Í… €àwr-Á|¶à^P¸ÜI@!T1†*VãR„ô'£Ét1ŸŸœ,Ž}Ã>´²2Àºµ¼¶kå5-ÛÚï<¶w5ŸvZ×)¾ˆÿh·²÷¬vÓr@§¥e²Z^Ë6÷mÛv/¿‹û­Rd$‡EɲŒÜ …D!Œ6^_@Š"#”¢¸LÊ€Ð&’‘¬¤Ã €¿ˆ B¢(z;‚]€ÜÆà[¦Vm¯^¾|þ/GC‡RJ˧§§§gg§§‹™côOgõJÝŒz¤Dz³ùÙÙÙ˳³³³³q½VŸžžž½xqz2sêtxröâììüå˳³“yŸ’ÁÉÙ‹óó³ó³óÆÃúéWggç/NONG„Þx0z=VÎǬ4Ž³ã¯Ž¿âƒ3Ãùúëççÿv¡ø& °ºAŸ3V¥ô¨fš&_í³uèð¸œ1ÊŒm§’8Q.]ã.o³[î ~=¥ôh‡™”:[ŽY¥”™Œ9Nc§aš&3™É¸±_ƒ6Ìr¹L-SR$%Ì(c´ÊË ´ÁªUÊŽ¾ U“šÔdÙq»õùï¦û…€×ý +€ þÀ•­À¼w`-ÈýA‚·wª‰\ç`N…RÐ.à­.r(2E!äI€ôr¦ º£<éH¯ +@ÃîÎß´,È€4¿ÝJZ _…¸X)¯&xËv@¯ðÍ«W/¾>2 æ;§gú.zƒñÄÀùÙ‹³³S'§§g§ç§çç§'³^NÎ^œŸ¿xÁPœžŸŸŸŸŸ1®`X?99=;qrr:"%Ý^½2˜ëýÉt6^ÌŽOŽOø¾B?ûçç|àÛµàZPw£”%Ã0ôŠ;ˆkü”Qj”–¨a0jœ‡Ür°”ÓuC7Œ’QÒjè†Q3hÍ©3Z3 C§÷©A b†QëSj­ƒÖ ƒ‡Æ¡„„èzNW1†q)¡ºQ¢£FkÞ7R3*Ôý‡µ5Œ[óÿÀ*ïõy‡;~-«Áå›V­À«NÀõ¤­ Ýš „ ˆs8§B˜ˆ'$©4§Óù|ÎÇ–Ž@§>´5ëeÀ|~7¯i™L¦ew·µ]KÓ´lf¯óøÀÊhÍξÝn6÷n@æže7-‹·uZÙ¬–ÏkZóBÀÇl¿Í!€"£´(¦’@Šò3%ívï!ÞÒÃ…§kðy`RÄ*ëÓnÝqsjìÌéÖJÝJÍqè#Çé sú]6tœþµ/Þÿà-SK’Û ìîðLAy»ðz+ðå$`0 H·†ÂÆ9¬r?€Ò`:žÌf³Ùl²˜Ÿ\Y°-‚.øh––Õ#ÜÂg W)€ókP.pv2ïѼX€+VÌÇÌÀñÉñI¦`²áŸž¿|å뺭 à%ô ƒRêlQƒRÃ0xUð³-fPJ©ÁÍÓ,ÂT‘ Û¿¦ej2Z5MÖ`C›y¤bƒRJuÆò­^£”V¨A™Sf&¥¬ñp‡º‰2)—ËE s î^ñ¾÷Ï5*¼GxÇxdÜèÿXù.Ç#) ¬ö‚ ¼ +X-¹Ð +|U0(HB0¸9PÕ\IǸ„s0!m”z“Éx:Ïg>CÐãããcß"ïv+D!$\jv€•ÏkZ6Óì<¶we­}%Zí¶÷jÙÍLfÏnYÖ +š–ßÕ¬ƒK@¿Õ +)²K€%«¤=„ød?âëBÓé4B(Í¿0-ŠÀB›@ò&Bi$#EQ”´Â››ðŽ`rÅ„ _Wà ~à~¼zyöìÈ¡Üàçôôôôôìød1éåjÓqÍèFãI¯¤—z³ãÓ³óógçççãšaŒNÏÏOÏÎÎÏÎÎϦuB‹³³“Ó/^œ{%Ü;9==}ñâŋӜZÑõÓ³Ó³gççÇ‚KÝÑx<îzõJwÒ¯tÇÓÉt<žÍf³Æ6|úõù%ܸdy(­|¶U!F…jP“R³±E)%dÈ™i2³˜Lš¸X,–ÍrÙ4©Ù0w V£”´B© +¥”>ìÄ ¤bðÊ‚Á(5c ƨÙ0ÍÓß<\6ËeZ%ÅBJåÃ?êÞƒ\üÓ +5)¥O ºt¼â¸š—÷Ýh>àµP»@n€?-»Ö +|„ÛÆKº^Â:„q)BFãéx:™ÏóÙ±Ÿm¿o\1¿»›×¬¼•·íÎã–¦YKäe­Ý±Û—`Û-ÛnµmÛnµ9ÚÖ \†Wàí…{ Ä}·êD| + ^†Š¼™Gn0íNÿ€•¤W¹ +@á@(x%!¯þw7|¿€¯Ž†ŒÏ¸/‹ÅÉ|>›ŽûX7Œ_ÕûƒñÑ´«ã’3;>;=;ñâìô|f”ŒþéÙù‰›˜ÖJ¤¿89??=;?;;9™ÖsjÿøÅÙÙù‹ççS¨:¬Ÿœ¼8ùâüìtbàJo2&“q÷W´b”jƒñx<Œ§Óé”B¨sôìùK«àn{(e[Æ/ ” J‡ ó°aþš6åÄ*)Ëå_—MÖh4>7jɤ”PJ ƒ_yúpH à Ëþ‡VMÆ Ó¤æNÃl4ô*_Äç‹Åbº]Äû£k%b†—l¤O++£’+âÿબÊ€ž”_,Ç„Â>úÿ¬p§NÀŠ{(5¨Ñߢ!}Ä£”PQÚpFiÃ,§ V‹„“š¦yø7fƒQÆtï¢WøF©V1 Ã- ZùGJÍÆŽÓhPÊL³Á¸àuýÃr™b˜„ÿ%Z¡´B ǨB)¯/çWÞbákòÿ+»ß¥A‚Wp‹€e#ÐòQ¿@àÊ2` H<³¼Ù—0ŠGŒÁx2ášl2÷¯óßÿW|“­ÏHÛµòš-¯Y–ö ³wÐik²ÖêØíÖͰîeÚíÖÞÿùÁoùý׬ƒÛ·ľÑìm€’Óòž©÷¦ $£4(ҢȠ æBrXt ˲¬È@ ‡=° ÜF¾9,tG\jrp䘄BF£ÑhЧc–€F½7Mgóù¸ÛíM'§çg§§g'g'óA0===}ñâüôüììôxÜï§§g§gç/ÎNOçƒ~wrz~z~vzvz6Öõ«Œæ§/ÎNÏÏNÏgýn:›Í&“Ñh4èÖKq½?9>?;=?999¡”R6|ú¯ÏyðÍ·>gÐnozÄ(¥l‹¿4*”š¼(·õˆV ¶ãT)ýù¡™J0&„˜fÙ4ÿÚ4i™ÒƭЊávð€Ai¸%=Ji™¬Ñ` F)i6ì¡Y­š¦Y­šf¹XÄI ãŒÒŸÿ’RB\n0ƒÔ0hÕ¬R“RÇ |uøUý¿Á•à ¾ ; Jž%HP +1i½ +p±øŠN@A +ºÃ×mJH UœËécœH2>OdzÙbvþ¶™ ¢.`WÓò»»ZÞÒ´™½ýN+“ÑÚ×ÀÞ·í}Û¶î=°Û­½f»mÛöÁ¾å`¯s`|ܱ;Î'·x¾eY"@.déM_€B(-Ši„C^À¦ Ä4d¤ÈÞ2Á¥àÖaÜH¼ÖwyŽ€/Ï¿zv4d„Bf³Ùl:õ{Ý +ĤÒíF£ÑhÔõgóùbv<_œÌç‹éx4ÏOæóÙÉ|>Ÿ/¦ƒþh:›/fÇ‹ããÅl>ôG³““Å|>›LkÝ~¯;ž-N‹ÙÓÙ|2ŒÇÓÉd4ž ÝzÝ€z}rúâüÅ‹óóósÆÛ>ýš`i x[À{ŽV£”mÑ•_Õd[Ôù¼Á\ŸŽC§0)l—ËfÙüëOã±á–ÛÀ;¤nGðCgÕXX5uX£Ñ0Yä”4>?l°‡&3©išmVËÛãŒïPjÔ¨›5`^Ò*_+äUço®»ÿ>Óú€Ûç–Ã@nPx}nÀË×&A¼˜!xƒ€ÐÛ蔋ƒÁx<Œ¦óÙl:›O—ÇŸºoå †BÂ…`WÛµ´|~7oÛmKÓ,MËdöìN+#k­»u-nôs°oðùÿv«éàÀÊhÚ®¦iÍÎÍ·|òÉßýy!9-¤ð2 W| ,¸ý>éH:d ˆiä¿ÄŠ D÷ïåM>b¸€,º !·€ß Ëiào¿yåÆçççç'§ªª®Zïu»½^0šNÆ£A< ú½Áx4ǣѠ?ŒFƒÁh:G£Éh4GãÑh4G£Ñ`4 F£Ét4žŒGãÁÀéõû£ñ`<šLÇN¯×uêõz¥„qÎ9=?qþâÅ‹¼Z÷ìùó—þFÀ[ƒÇ=CÇqØð¡ã0‡ý#;jü‹ÃŽ}è°gCÇqØcÛ¤HÊe:4͘ã0ÇqÆXŽ1Ö­±!ûÒqž:;¬[:Œ9Ìqž}îìvŸ~Ù:ßÀØÑÐxâ ‡ì7æ¡I©I¶ ¦qÃa”1ÇùÓNãsgÇaÚãÔúÌqž:OXãé‘3tWúð~`9ví›ü›>„e' ×¼Ð +¸0 è*B€RNåûÁTX£ñt0Ígóùduþ¶éýÕl¶ò@B€¨iV^ËkŸxhÚŸúp¡¨µ¿pàuZ²f·ÛÍfÛ¶÷íŽme¸hv:ûüÙÿÉ'Ÿ¼ÍX„äÅõD°‰BžïG¥Óˆ÷)²,+ +Å%6o +J#E–‰> nA¼èMÞ>;€ï|èRJ)=????™9PJä1*õz¯ßïÆãÉt< FÓÑh4ަóÙt6Æ£ñ¨?L&óÙ|6ŽýÁx<žŽ'Óéx<÷“ñh0O¸àôûýþ`0žLÇî›û½~¯V«‘R®6žNççgggçŒ16œ<{þò…€ïîÐøCÏ=ÆCF ƒ” ÝÐ’Ñ3*FÉpz”gåé5ŒŒÈ=ýt]/R*ý¢RÒ ÃÐõ’atÑ­5V1 £d]ã¡Q§FÍ ]‡Z¡F¥Ö5 Ã0«3J Áº®ç°qI-†^2 ãƒ~×xÈh¥b” ÞhT˜a” êÔ Z¹âHÁÕÞz¯ +°2‚KK°å4`Àõÿ^î^? (’Û3¸VÄùfœÓu\Êa£[«×jõJ­çôúƒ~}yÖl<ò@…K!€Æ @¬¼m<>°øó;cÙ›Ykï·¯ÀêxhÙû¶Ý±µŒ¦iy®îl þV@Vd”’¬( +¼®)  þ#W<àæ>ÿ•@‘B²‚@Ø „…DÂa·±´¹‰€Wà3®HóF¢[€_pÁ{vvv6§9ARKF­Ösz£ñx<Îæóél:›ÌæÓÙd:›/ŽONæ³ñt6OÆ“Ùüd1ŸÍ§Óñx6ŸÌf³ùt>›Ï'Óéx>›M'‹ùñœÇ“ñd<Íf³ù|:žŒF£Á¨W¯WJ9£fþéùùùy×qœáÓÿõüùù«%VU€k à¥ÒMê¸ËÀ™þ9¥Œ²e¥¬Z­²Vb¬Q†)“Ó¬ò`2jü’”Ñ­Qʺ”QÇi2öˆRÇ©Ñj•RÊvÌcUÊæ|h²†;áǪnYF¸±8OlÕ(Ÿûe¬æÚ›ŒÒƽÒX’Ö =®K*ïã‚A)°¬D%> ´´R–¾Và«BÞLä­6®8RB5‡s:)c¬ã\<'â 9}UªôyØy +— æ¹o¸eÙöÁ?tš®°ìŽ%Ëšm·Û-nröä]®öíæ¾ MÓZƒÿþï;¿ït:Îßÿ}§Óé¼ÕPe<€"®(@Äðé4B®#ˆ×à)pŸYA)ËNàôåØT6Q¡«¡ •P®nZ/òÀ˳¯fG³Ùl6®@IÂF…uÁh<Oç³ùÉb>ŸÏf³ùl6ÏçóÅéñl1›ÏgóÙd¾89^ÌæÇÓÙd>]xFr‹Ùb6[Ìæ<·¿˜ÏçóÅb:ÏçóÙ|>›Î¦ÓÉx<õ{=V+Uj©OÆãñÄqgôô_Ÿ¿xùê›oÖýVóŒ×€QJ Ó¤Œé÷÷ÛaŒ™îL®Þ` š‚…b‘š&¥äç”P³f +å³”¿Ä fš”95ÆjŒ±¶cš”χ;ÿÐFƒ¹…ýrœÀdfRŒ: Ó¤ÌÙrsç®t‚žðª^wÁ@ ð<ƒþž`@ +ø[/¸xpc†`0(¯@„¯À¥’QÒ1.årP’"^€ºZø¼ºÿû·6W—ªy˲¬]˲íƒN§©i»šö cÙ6€›°Ö<Á|µý}K¶öÛífËîXÖ~§åÀîøöÚ|MØ'o;ÚH‰xë|DQä €ÐÒù/¢(²¼©¤Ã>!EI#YA"ú™–}@n (i€ $Š~æÃÊB€o¾yõêÕË󯞺èõz½nHWê½þh4OfÓÙüäd1ŸŸÌÇ‹Ål¾8žŸžœ/ާÓÅ|>›/Žç''óÙb1_/æÓÅÉÉÉâd1Ÿ/æ'óãÓÓ“ããùÉ|Æ[JsNƒéd:'ãÁ W«TX·V«{üèéWÏŸ¯àÖ`ÙP¡”šÌd”=üÜaŒ±†YeUÊ(3«LwvØv2…W“@”RZ#„V+UJ¥GŸQJ‰IÓÒ!ãƒ?£Ô¤Ìd¬êòM¶í/RŽä ,Ò*£ŒÑšN)#”2sÇd”m5¬Zýœ5LZõHä;<Å +Áàr XXÙ©¹‹<ï ËváõVà`àÒ4 ? JÁàu­€¸¤—J%‚K¥R.—HH„0!TW§½jÞóÀˆKßpÛ>ø´ÓÒ4Ë@þž€½5ìíí]ÀÝj¶l[³ö;Ílv7¯išfÿ¿ûûûŸ|ò‰»ø-€¼:dÑ#_˜vŽ „Ò.ÜÀ¦,#„²¢ YQPee€Ï)ŠÂ׎ð>#À§’eåvðÃzð›W/_ž5{:dŒ1Æ}µ*ñ©uû£ñh<OÆóÙb~|rº˜ÏÇ‹ù|vr|r<Ÿs0ŸÏŽ'dzù|1›ÏNæ‹Å|¶89ž/ŽyÉñÉññÉìø„o™:9žÏù{g³Él<G£z¥Öïõz½n—u=p¾€G€îäÀ3Ÿ2ÊèÃ!WéŒ=¢”·ü2ýIcg;™*2!e¾ã—V‡ñ)ýc;ƒ6ŒÒÃÏØc;;Œ1WÞ3æ8 f2¶2¡åò6|1¦´ÊXÒ-JMÖ0Í'‡ ƒ±Ò¡÷ð?ðòþ/®k@Ë@0øÎr=¸›äUwnx=py@ +’›/ð¹p$)ÕF©DJ8¡$ÁL¨0‡qny|hÛy bè¢#ˆÿC§å–-ÛÖîÉšm·\ì¹woï"2ÖÝjµlͲ;ͬ–×vóšfw:Îþ'ƒýOö÷íÎÛ +€ÕVžªB@V€à(‹bQ#^¿X¾!Å ™+ pÇ?F + ¼ÌzB° +ÐJ\7ôƒ¿ˆK€ó¯Ÿ=í3Æë÷ûýÁFaéWÎh<Ïæ³É|6YÌO'§‹ÅÉÉb¾8^,NÇó““Ùñb~<ŸŸÌç‹ãÅl¾XÌæ''‹Ù|>Ïçó““Ù|~||<ŸÍÇÇ'óùñ|>;>9^Ìf³Ù|:Ï&“Ùl<9•î`<8½^¿ç8Ž3ôð-º=øƒ·N“:” g8¤ûŒu?wzì3Æ;b5V£Æ?;CŠ ¥„V)¡‡_Ô¨Ãjìs†N·ë<|JcÃ'ÃÃ/ŽÚu˜Ã†ûŒ1‡9ŸÕœZ­{ÔØqœ†sÄ=r J Ƈݧ~DÙpØï3çƒn:Ôyrè8GýãŸá,—úŽð@Ðwy½À@ °4îÁͺ®AËõà•-¸pEÐc—@$!Tu½dÄ(éXÍ©ÞÃë%½´<—pyȯ:.2²e·4Ù€eYÖžÿøû{wµfÇn·ì¦•±ìN3£ñ4¢Ý9è|²ÿI§³ÿ‰ýç€,€ŒÂ(Ä¥ªE1ímôœ²â­á˾dYAbZQ’QX‘‚€ë*žV”Mñ-ââ&7áî`ÀŸ¸"x½ÌðÀËœ?æ*€~¿ßº‰\¥ÖMF£Él6›Îx¹ÿx>›ŸœÏçÇó“Ùl>/æóÙ|z<]ÏçÇ‹Ål2›-æóù|>-æ³éâx>ŸÏæ³ùb1›ÎçdzÙl1?^Ìç³Åb:›Íç“Ùx:›NF£^½7£Á`0àøjM¼¾Ýh)¨¾8üÒ©Õºë3æ85v8œŽã¥ÝtŒ9¸xŸÒ!F‰ô)c5ƒ9O6ü’1Öí)cãÃ#ÇyÈæÔæ +ÎѰ^ù¬[1Œ>c NWü1(­Ò÷É6#e62ÇaŸSÊØÑðÉ“¡^ûÌés†ÆðhxD‡U~åû«"·Ëǧ‚«8>(HÁ@p¹@Q^t'y§g +ê[~9X*€˜½Ü +¬B¬—ˆaR˜BÕœŽÉ*p ¡KÃ@kø´­åw9Úš,k-»Õj6-Ëj®Àß`¨ñvAÛ’ïY¶[Üå8Ø·ömÛ¶;ö'·q@@(â¾Ò¼û ‚à@Dæà75â:ü YAe7ÃbZQî(Fв‰dÃHAa°ª*HHF ”Žxày€4J#ùºÀ7ðݪàülá`6›ÍÆ“®š«t{ƒÁ`<Ìgóéb2›.æ‹ÅŒ_ãél¾˜Í&³“ùt:™Ï³Ùl¾XÏfÓéܵ?žÍxÖpÂk³Åt:åiÄÅt6_̧óù|:™L¦“ñ ßcƒñt<F£‘ã8Îѳ¯žŸ¿ò–~·ìx}Ón@~Xãðÿýÿvö¨ê4vÊ·QBeÌl0Ó$)œps÷å†iîܯ°Fã°ÁÌÜi˜UFÙNãOþ¯'{DcŽó¬vH¼%?”™‡ fš¦é|F+„1M“’œY.–©É3Œš&eÃ'ÿןt‡=bl§qØx8,{vcþù?ÞÃ#ùú\ðïXͼØ]¨È—ƒü³+ý–ŸÌ½äÂ]AK¥R 뺮ëÜ圊K¥‡7(€PH¼ ž!€lÙ­¬,kmëÀŸÌì¶ìvÛ¶dÙZ4»ÓY9|lüqë÷o¡'˜iä¾x÷@H‚ ‚(ŠaQÜ$`zÓ‘t¥ÚÜDeeY‘e%FŠ¢ð(›vF?ó’€( Ü€—ÅUôdå†i ×¯×¦ÎÏžM8&“Éd<íª*é ÇýÁt4šNù†¨Ùt:MçóÙl>™M¦³éd2›M'ãùt6›º£ãÓéd6›Ìgó™[7ô~y6Îæ“9_89Oç³Éd:žL&ãñx2 êýQ¿ßïÕëu6üÇüüèÙ×ëøþV¬ ÿ¿O¿¤ìQ×á¨S¡´JîÆÞŸ›”\HP¢B‰YelØåfŸÜ7Ф”RÖøÃáw*”=â¾¥´ºŒø¹Õ­u9E¨IÍá–Z%¤hrÏ V¥”šìð¿ÿáp‹W F©AÝåcëû?‚A~»—<@p= ï¼Ñ?à† ÁepÍ8¼ìÐÆC€ÀZà2âÂVõR©ä^ÿœ +ñDœ/¸“€nÐS–¦eeËneÿ{+ðÛõû¿2ng-ûÀnÙí¼,ïuÚZfw©ìκ+øÛ€t¹/Ä€B! !Bb8 +‰"Ú‚«–@m*Ëî?Þ¤€ì•CHK(Š¢Èa€¸Ó‚„¼©@ž¸r=Èë×?øc€e+àËó¯Ö0©C\éŽFãñ`4OFãÉx:§³Éd2›Ž§“ñd:›Œ¦“ñh<žŒÇãñd2NÆ“Ùd2§ãÙl2ާãÙl<Žg“Ét:™Œ§ãñh<™L'ãÉd2›ùrЫ%=‡1ÆÃápxôìùùËãÀo8 Xeóä_ÖØ#Æ>w†A+”z—’Ò“– &é:!„üÚd õÈa¦i2Ӥ̤UJ)küÓ?ýái…²*sË•+Ü׋R“Ò“Òj•Ö>£€ižªå"€irã_“~yèlñ¨Ÿ9 õš) $¸ ¼yžÀ¥ý¢ß|Už-ðpe+ðå*@Ð_ˆE¥`PX뀪9Œ±^Òu¬çTªÐECsQ ëº®û`ûàC€µ»»›·¬ùo>ܺè*à\«Š® ^P] êàèPÞ1)5éå`ûZ\Lw b0øŽ ¬ª«2ಠ…¥%h0è@àB °æ +¸¼¯ÉMº_àWAþDâE⯂8‡s0®×ë½z½Ûëvû½þ ·:~ìÿN¸ +¶Ýâ™:»m{ + ›Ñìü½ XKì-†fööí–ÝÔäÌ^§™Õ4-oik¿Óé¬Õ³Ùlöm€¬È +¹x(‰ á0A:-Š¢Ùt¯?à¶`ˆ·Ê` €¬È +÷RX–³Š² D€YD«b¢à¼öà;¯^žýëì Öu çJF½[¯Õ «¹œNô1HIǺžÓK%R*ñˆaTô’þ”*¤Dô’^ÒKX/•ô’^"¥RI/• £T*•tBÜ/Ñu£Tâ¿m”ôÆXÕZ­Þ¯WJ%>(çàÅË—ëv wÜ äËøP½:ð`^RøÃž^¥¨«®ÀÝBfòæ?A!&¸ |‰ûý­ôÏxoYVò¼í]ƒWVAO\È8z„`P’$‡PÅ9UBIïõœA¯7Æ£ÉhÔ_ž;(»u\äå̵ðŸL“àœÙëXYm×Ê[ZƲ;ßáõCKÓ´¼õýpuºZSÜößÍ"EY)¼ +À^Ë€Øtrûy%@i¤Ü¸$Üâ@.¾z6d]ÆX"‘HÄ¡Š+µšA»u—6¤8„q˜H$$)žˆC^†BUÍ-ÿ>‡0ÁóFñ„ªªBsªšSs9˜ƒª9&xkyÂD<0.mH°Ôc%£VÉA˜SUUU‡ÃáðhöüùËWþÝ ¼x `²¿yòO_ÖvÖ«s 7À.åþéøòî +À½«^ÿNРĽ-~Âʵ?X>ÃAÞá5?‰¯üp÷­ñ‚€'ó¥€ ¼ã&òü³øûü«Á.lºÔ +|©Ðý!( ‚ D6܉`Æ!„’ëõzÃ~0Œ£éd´<ë +` '€m»Û»ìvg¥,[“3^pϲ¬½k ešûvÛn>4;V†¯z`ÙNç·y-“yð@ӟχG£áÓgϽ­ß~÷½7 à-6º n®|tCp©ž^Wð‡B?Ãy_~p)þÝ«yB àïXkžA€Ûê zÕ~!Êõü;WÀºvàB@à +Þò@˜€qI’"A­÷zýA¯?ŒÇÞ£Íû«àXZž×ñ³rF¶¸!XsÏZ%ýšÍf³ù@ÓhÙZFÓd®¬ŒlÙ½¬¶›Ï¯)€ ?ÙL6“y €çË!Ë2W¢«ÄwûzÝiàȪqèJ((,†P^v“€<@á0@JxH{í@¢ ˆ7‡¯_ÿÀ7ƒ|ÿ½Û +üêåÙWÏŽX·ÛýÍÉÉÉÉñqJ 5Wm¢_#¤ú@bM¨žÀê x×ýrzîW“ÉŒ ‡ÃáÓÿõü…¾>€Û$À€›,¯%ÿúB'à—7ô¸!@e™–¼…ÝKîíô¬À3ýâ½e€÷vÏìÀäUÿ¸-¸p©È}–_êôÀÕIàB@`¹<|Câq‰;K’$¨õn¯×ë÷ýÁhíøçvý +`­ +àY|·íΧ=MËkšfÙY%#[6¯äíYÍud²ÙL6›Éf´l¶ÙñpÐÙËòÕBšew:[™Ìòúg2Ь¼•!€"ËÜÑCFÀ€ai„Z@V¾ÐMfQØÝ+ÊË@L/«Y9HÛ rp{ðz­àì«ÙQ—1ÆNNNNfÇ(%T¬^€OàK +`=PW9€?çê£ùâd~rrr2 ‡Oÿõùó%üÛÁo¯úrŸ_›(&.䮪|y{ÀÍïw–y<~¹ÖsW  ¼ãv® ‚ JÁ€ä®å~Á‹ðF†=.Í\ +z1‹k* IŒÇïJ’$ýDÀõ^Ïé÷3Œ§ãU`àfØV^Ó4«%g×мÙl¶ÝÙ·í¶öÈ{NÓŸøØÊfVGV2òÛ×Ç!EF® X„6Aˆwó"Q ‰)®öws€øvá5(ùõF „E¤,=×¹öƒóêå˳¯žŽY÷³Ï>;===],zp#õ¥¸KàB°T7…ž'}.—«Of³ãÓããããÑ£áÓÿÇÀ7>?×wšðUœk«]•¼Xxzk`Ã{b~"£Á@T’‚@@ +Ä‚B Œ +1JÁ˜$E% c|˜'(¨ ’$HÉhL +BIŠÅ‚ +±  ‹X4 QIHBI’ $E¥`P’°• €Á¨$IïQ)”$)(y«Å‚« á`0*a,*q;Ѐ¥d@ŠE£X  ÿ!"E¤„0.I’Ôn·×Œú£Ñh<L®Töþô¯‚[—àÛ3ØÌd²®ªÏ<ðp¯Ùé4³œšõq§s`e3YEYª9óv&‘+P„û€ ÚDá¤EÞŒÖî?â¹ôça(Ye™óJöÒn)0B·†?,sß}÷í7ÜèùW³£Ï>ëv»'''''ó!”0&º{½áV +ú@âjpSà¨b\Ÿ,‹ÓÓÓÓÓÑ£áÓ]ó}í.¸¹ À p§*@áª$àzàŸ®UË`ccã'?ÙØ"?ÙØØØ‚$ý„?»ƒnŽO’$é'A~U%oçDzHè-í½÷!ðŽàvúƒ‚”–ÝzAI’‚”$)ø‰ûP„À;’$ñVŸ—OO.¿ ?‚’ÄË”?~¾#B$(IñD"ž¤ˆ *íuëý~o4ŒÆ£Áê¬ ï ®ÀãÎ^VËkšö;Í€æºpÀÐìξ½ßÊÊZ~WËZ/P¼ÛÿvæÜô¿,ËŠì@!YAÜÔ“‰Þà^­‡¼øÇŸüKÞT|p@Z ƒ•n/€(ˆé›ðú‡^¿Zì|õì¨û™œ÷¡„K:¾«À U€»ä¼“À¸¤×§ó¾€~8üãðéÿz~þâ’)ð¯ï@€»ä +øB€ý˜*ÀM«6c0•¢R1c0‹FcQIŠEÝá_I’$)*E¥˜c©˜a*&B@ÂP’¤Àò3bÑX4&ÅbÂXTŠÅ`,%‹E¹4ã‘Ä1‹¥°”¢Ñ蔂?YÁhL’$Æ ŒÅ`L’¤h,%¥˜ä}#’ %)ÞØíözÝþ ßŒãñ5 +À€x3,MÓ,+³®¬åÝ÷å + «Ùûö~3›É´wšY+ˆf§Ó9°d9«d²ÙŒ,+rF‘³om‡K")pW_q€UÿÈHAaw(›2W¢˜^SŠ¢Èá°˜F"ð¶£4B( @$$Þ¢®XøêåùWÏF;Ÿuyp2ïC ë%ÃÕ¹¢àßYX\*a6ž,NÜ$à“áÓ¯ž?á[ ʇ¸ |U€Ï¯­àÿ€*¼|$)úî»’c0™„1)*‘ØÚï Áh0è6àÇ`,Š#©d¡JS±  HQ¸ù?B(Ea4–L„qSÉ$ŒÁd2 !„©„PŠJRL +HQ)*ádªXH E(I17`T’xëO !ŒEáF +&áê{!ï¦Rî£Bž¿ˆH?‘qIŠRP€´Þív{ƒAoÐŒG×W”üoé<îXÙÝ|ÞÒÖдÜ`€fS[kÿS€¬Ýé4³|¹¨Öìt:[r&“Í.³€™·|–G–e9âú€€<EÞ¸ò]Ä€~¦(ŠœE”õ•7³Š‚Âa!( +ò‘ Šî¦Ð«[_¿¾d ôÍ«—/Ï¿þÓQ÷3ÖírG¯” .•r¾³LúªðUx5>£YLt\ÏæÇ'''''ÃáxøôëeÐÝ âuÝJ€7QËÀ›WÌ‹—_uÿ‘Ä¡“0•‚P‚q +SIa +§R©T2%¸N0…1!–R©b1ULA“bâˆûÒ»B˜‚<ØJ&aÂT*…SÂN%½?4•JÂ8I‹…b1UHAcPÂF%IФ`@ ŒÁÔ†)“ãÆ8¹-R)!¦R)Þ‚’$#‚$X©wn¯×ë÷û|×Ó°ÿ[HÄËp·}{ÐvóÚ®¦e39³\ €½ƒÎ¾}ÐÌÈš KÛÕ´½N§c[r&“‘3Ùl&“Í(™ÌÛ× ,(ü.ó¾@!$Šé4ÚÜTPØë½ßÈפÈn@Q”l6íÙŠ)ÞfÀ4JVQÒ"€ì|E@èÆa ×—ðêåùW:Úù¬ËvNNNNf3Â\‰êxÒ`çr»/½¤—êãét~r|||<}q «Q€[ðÃ]rpYÜV —Æbü!„¦0NBSñ2Æ&S©.`Œ“‚‹Áh̽»³x±X,1N¥b„Gp*ùƒCˆS0•"*†I˜Âc\(` ‹\àïI→D¶ËÅbã"^~å»\I(„b «)œÂp¡€1†…"Æ)˜Ââb±ÈóB$"IRpCÞ„x¥Vg½n·×ï][´íß¹† @ÛXšµ»kiZVÎd2ÍK9€¿åQ€¦íz¯½ƒOìƒ=Y¶ö;ͬfYV>¯5;Ž­­Š€ÙL&ó²"#Äë€+F› +aÅPØä÷u-À-›að¾@~ÒŸBÞ2 ”æ9€ÜÀà–V`¿'ØW:ê~Æ>ã@“ÖI¥VÉ©pù‚ª_ܹ +p üd¸TªtGÓÉ|1›ÍfÃ?~1|ú5Ïð*àww˜òÛ«þÀ5€·Tð¥SÐ 8‰90Nð÷%S +¸¤(”`*™Âc\(â¤X,‹…TJ +HÂÆ8…ñ‡|*æ0Æ s)Œ1.àb±PT ÆŒq (¸X, ÅÆ'U qÒ H¤`P‚0…qÄuõ,p±ˆ c¼ÂEŒqªà@ÜØDÞ‚‚dÔjuîÐ0èúW–mûw@D!tá´Ûm›¿<`YWZëà +ào/*€Oìëžl4³ZÞÚuCÛ«¸ù‚·n@–ýH#´é]ápˆal®§8$#BÊ&€’å{€Á¦¢¸@iV²?S€DÑ€¼’|O Wa¸® è2žý§£ÏºŸíL&“ɤ_×õJ­VÒùóÝ{ý¨*@NÅê%äÖÆ¥J}ÐŒÆãñxüä_¸}¾­ßßùúÿðÃo¤×øÜR¸|HaIŒUCU1Æ©ƸX,â ¦`,ųP$4Ap‘‹Œ¡qGŠîó ?ÄÕ䇺ח ¦…ƤX(¤ +\ÀÑH¹€‹¸@&¸€qQ%)#H’‚«¸×ùÇ‹LI‘âB¡ŒSÅb±€‹Œ=l¸%AAâ¥J½V«w{ý^¿?¼yàZ‚¯u´Zív«ÝnµV +ÀÚµ4-“‘³7`7レ{WìjZë¸ÈzM€™L&›Íüù@QP8 Òiİ(®€Ö’HV€è*6EQ6ÝÅ@L§H‡‘’U QÃ@VÐ +®;ðõ +àõe?w;ègŒu¹·>)U*•R ¯_Ôܬä.ªIÿQ11 ƒVJF½^¯×¿øãÜ Ÿ%àw=ÿt‹#PáÊ$àÝ«äÊS&ER(`L·ù¥.•bŒ T·I™–I1µƒ)H +…bp±X¤‰"&¤ìÝzLn,É6)qcÂTŒ1Iª˜”Ír™?*BÊåmR, +¸PÄ*%Eþ Š„‰Z$8•LÂw£0$Œq‘Ä?“.Ëå2)JÁ´XÞ.R,A„wÜ«ÿN0(B¢dÔjuÖí:ý~à\ w/À-ø»]-oåó––ÍdîeZW…Íf³™_À¾ykײ4­õ¸Ó±³™¬â@É(>H§ÝA_àZ÷ˆ« ͧÒkØä9%«(2â!€œƒ4W?û™ lòq!NH»‹BÓ×àõ^ðûï| +àì«§CÇqG×u½”ÓKF¥R)]xPçð¨\ ¿®€•Ša”0&†aÃ?~1ä›ÁV–€¯¿¿[Ð;·Í\™¼k€æ®<”'ª”=9:¢”2¶sß „:CJ‡U¶M˜”LaB cf™Ð²É†9J)m1ujRª«d›B JˇOÌmJŽ®RBŽ©I?7Zv fVfî8UFˆC͆Á¶ eDgì ;d «´L +«ÂrBJg„0“1ÚøkÆe]f2Æè!sè6­šË¦wxÃ;‚(U*•Z½Îúýz¯×]K½$€?𠸀eYyKËÊ9ëæöx ù·KørKÐ<Øï4³ÜbXk=îtÚ™¬+þþ㟈 $¯Zù€Ï¾Ó}úû7Wò +÷þ‘å°dE‘Ý À +¢ÈCEFm"„"éôš=øu]€¼ð»µqà§GŽã8N.—ËA¨–JÄ —Æo^È©¹Ü…q`÷k—Ðɯj†žs÷SŽFO¿>_Û öúûï_¿^ZÞáܽà:?€ªWƒÐ_ê:¦]B )èX×õ!D'ŽAÖ1Æ8ùnBB!&q†„PJ‰N"a B(%¤Bt¬«„èc]ÏaªëÑ1!¬Æ(½±N ¢3²34 ¥””ˆNV ¡„` ab¥$%¢c«9¢Bj]§´ËØûºŽ)¡| YXÞ|/€ èÔêõ^·Ë[9] €Ðeð2@çÖù­k³Úî2à)€LóÀ>hfòÖ«µ:;­L&˯>”ÌŸ "„”DÒËf Eq}¿³ +ÜU@ä›@8Í€ü³üŠ«6ÝÑbÄCŸðV-ð¹ó¹ÓëõzõÁ:1ŒÒåTWîM«|¤Ð¨ª9õCUÍ-_P¯T*µZÖ¸ÀÑÑèrðÍÀ?Ü9ð×o\¸îTi™”©AÕr¹\^„”™^&„ ŒAHp±HŠ„rÙ4Ír¹L‹…Èöv¹\&eZ¦”’2M”Ír¹¼Í?ÁÐi™rSþ¡ÛeGw«Û¤lš&-oSJtRæ_S.Œ 8N0Œ!)B +D'”R>b”²½½½MTF(¥„T} +@<Û!I7Œ©ÕkÝn½^¿U„®R¶mw:›'ó-_Ào× -°@ûÀ>hfw-+ŸßÕšÇV6“Íf™@–3&࣠+»#ý!ß4ઠˮ‘¨ 9 Œäë°2ýÞ¯þ'Àññññ|Òƒ l_qÞ´ +sêš!ÈPÁFŨF“Ù|6›Í\¼xé­¸ã À…s“#Ð¥ÀThùšCM“–)e´JMjR÷¶’mB¶I¹T&„`S60!L¶9(-— ‰ÿ’´LÊÛeJI¹\UIÙ¤´\.“mB¡„m‚½mF„ê´LŠEB¶ )›&¥´ZÞ&„PZ&Û„” )p§bÑ`²\&„|äሲmB-—)Q¡îŠdÁ,€^*•*´Ö­³n¯V_žu„n +ì¶ý÷޽ëÖñ²rFÎ4íVso¯ÙlZœ@}U€æÁÁ½¯ÝÓì}û ™Ñ¬|^ÛÕö:;-¯(›U²rFVä?R|ûÆQÚ­Ê<÷§¤Ã< ðŠ?ß +2psñÉ Ð:d„PDV +@F7 ­W–!Àññññü¸‹çJ%’»Ô릪ê›Urj.çWWÏjÉ0JÝñl¾8Y,‹Ñ߬¦_»­€opÞ¨ +P½kÀ¼á4œ2¥„‘2-›U³Z¦„mJÊd›é„2†01) Á¤\Þ¦fÕ¤e“–Iœ£¢J©i–)5ï“ퟗM“VË„’2¥Ûd›n«Œë‰²iÐ2!¤HÊd›–]-S“Rƒq8”Ëe³¨ß–bR0U6))R.SR¦ôÈ ¤\&¤j•¯5'”–/O9ëĨTê´^¯wo€ \¬z¿ßjÛŸx°òš&gîešv‹‡ÿÖ/àuìÛûyYͲ,mW³Ü€×Ùíøs@DÚÜ”ÁZp“OFVyYQdEÉ"^Èn†Ý2 ("­V²y%-òL‚¬(››²×z„^@¾+SÐï¾ó÷ÌFŽã8Îéééééq?!©ºŽ×«€®Ñ×›Urj¯)þ™k‰IIgÓÙüäøôôôÔUçKxž€oüðÃo¸³#Pãúó§ÃCæ8Ìp=tŽØðËCæ8ì6ØŽÉTF#Çt›RÊ(a_6!kì8lë!Û¤Ú8j4ž8sÔGìhxØpž1æ8Ì:Œ1Õ ´ÁÌ“úSƳ±MËÃÏUƾh0Æ F(5wØ‘9¤UFU‚c)©X}ò¥ÃœGlÈʪ;ÌaÌi Õi4F­U¯@DÍa¬— Ã0Œz½^[žöÅ2 /¬WZíV«Õn·Û×ùÔUš¦É2ïähî­ ­®“‡ù{Ú¾mw–hvwZ-›Íd³Ùl6“‘ÿŒB›¼•/½¬ÈK/ .VŠ¢(Yä· öªy°éÍðJ §äëÀë®Xøõì‹%'#(å0ÖsðºóF³+À[ù½Oò¯WUU5J¸>ž/ÜVàñЫ¼Z®¸s'°ÿܽ +ÀîX¨Ýpt]×õ­-]×õ_ê¹ÖõÜCCßÂz©„ï«ê–ªÇ76p<_ +£Ê}JrêΩ9«z‰ê:Æ9}KÍéº^Êá\ëªÑÕœNJzNÍ©º¡«[:ÞÊéz.—Ëå>TuÝÀ¥Üƺ®æT½DÞ'üŸqBÇ#‚9Œs%oéî‡lÝ7Ô­¿4¶Ô­’ánû¹ä+BˆaT*•:­Q÷å@»âÅÝàÞ±;Ÿ¶4-oñ>€{<°¬f³iývM÷ò7]ìk÷4Û¶yÀ²\(™xGàÿÖÛ @$ +ˆD"?€@¾”Ñz/ ,+Š,+Y·8‹Ös› qÏ# Q ‹iE–7‘âíF(²ª\£ø\íú4ÐËó¯Ÿ}æ8ã~}(©%RººÞ•ÃçV|Ž'ú¹óŸ'x´ bÌsßîº Uuo¼ºŒ'TUýP-á\ýh~rrÂÀpÙ ¸êºƒ!ЙÀ;äþú?€«ªÎMǤ”¡ýK/r¯é„Z¦”PB à ÞäC¶É6%„ª&%„òd&Ø1–ÔÈÕÑuJè}/•H)ai’A¡d»L©Y&Dw(¡”–)ÝÖu¢µApcœÃ +0ØPþ¿µìn'.ÕˆqŸU·)%¦Iͪi +|Èx n¸VÒKF©â;>´Z.Ä‹}ËówOÛš¦q'ïŒ|/û[–ÕÜ»d +âÎÁ¾} ÝÛݷ탽LÞÊ[nÀÊhYN7Pþ÷‰¢{WQp 4B¡É?F¤×à•Ó }! (ËŠ²² %Ë—‹È +RÐJd9ì`SQÚ”‘ûBË$àu!¿ÿßs|ën}ùüÙ‘ã8;999Y ½T*]{ÿ±û£ €\çT¨zêÞT“8—Ó1GcU½FNè%\›ÌNNÎŽ‡GÑçôíÅY€7Àw͘·8qøâ.Ý¡•_„÷™Î“uîÄÀv™Wîci£ˆ1Á˜lóü›êr™”I‘”ÿŠÂhœ Dßg%L¡Åm¢2‚ !åmJ ¡)‘ªÙ ¤P¦´¼MHnÊË„BTã#ZÀ'á» RcBxÕ€€Ðû†ßaŒRj2“QJ…È;Þ|ñª(Å¡ +a.‡IÉ Æò´m›·ú¶W] »ó˜+ËÒdd^سÜí Íë°oÛÚ=kß¶?if-KÛå +À¶²²ÙìÒPùwàëz¹o? @„B "(ÂÅBÊ&B››²|;ÐI@xeÀÈZ!qÈŠ,×Zœ¬rù, +ó±b È +RÖ‚–¸®ð‡µ€¿8ãøl±X,N=Ç„_ïÉžËñ¼»$`€¡šä +`€Vyƒ»g5ÃX…¹’Žk³ùâøÔU££?=þòß^­ ¾ÿqøáGû¬Wr´B«Oo>ì}J(¥ô}J +¼$G©QæÕ7BÖINÚ ¸€ …By›’mBURæU:Ì%ƒnnQB¶ ½O>²]$å­2!EþD§©ƒšt›r¹LHy[?$¤\&åm²].B¿!*Áã#P -9bÿ8Äÿ›bÿ™ûç2”¥wçNŽ÷_ð¿9aþ þ…ÿy­&H˜c.  ç/¤õ³-Ÿµe/ ø_RC$xeµ”qåã3f|áZu±®ÖRKFèÜÜõ¹¹…NÖÑ7£æDü=üB& Wîú²òÒ»,:u‹eJɵpN1@hýÎ;ï¾wíKÁ#€_x  üG À·ß”™ð„=j@Ä|®ƒW¯¼3Ž O`Òð5ž£ƒ€ÏÅ"À=W~(c^æP6ÏÄ|ý­ˆÉçÄ0 -—)ðÎÅKp(dL o¾ùæ™3ï¾[šT­„»ÿ™€~ 8@ wV’V»(YÒOiž“¾ÄïòþÍu;ôó2`)\»^€Ï®]•ý_„¼À põU£ž‘ÿwxºkhçH €A¼xìÛ?Ö|ÊàÜÊš³ŽX·[UD“A¦Çö.oÚÄ ÿŒ‚ˬn³Ú_ÝÚÁáБ¾#(ÖnïÜÇÌ^ÍúË"X÷\Ƴ,ë6;y!XàäÖN•@R&2®yºà¹‡sz{cc{ <O³€$ù˜Kõ©|¯¥¥l}çÀ² -诺Û]™ÉâÞS^&ÊTøVWóåî20•t—É“?ý…ð€¼áü0SÁ÷©ï€DZ_›«Û€êGŒ%تUþÂZžß•Êùê¬xC‚„ÈFæ!`-`½öd{‡^wE9À|l²¹ ôaò{ð„Á~öAm÷¹Ö‡t„z{L Lâñ¥•‹ ¾Ñáb~~àù ¥ŒèÖýûôÂl¬¯gÝqàCÿ¥þã;N_ùzZ[”Q£G“~<Òô¤â™F÷öp¯äÂÇÁÝA/æõÌÅô½ÍGÃF -õz>èÈ½Þ ×k…í­te¥8´ŸçƒÍÍ¿Ž†ô´ö h– ¤†Ã5&@èû€»5ø³¬©<² ïÍ;¹~ÒùÚ,OÓú-;°í-aZ–6šÙð/îó/ÃÀ(—vl €ô—@Þ}W/É%µð8€:í¹‹Âÿë:âß]DŒ7p´ráÂ1KÖÚ§²oÀß±jBï]Ã]¹!®¦;H(æ„@-ÿ - ð"]1 -à1…ü×&ÀkæÁKü?¡`¤b‚<´ÿp{µ þ úic+èšbHwé@É q´{ÆXúäWsð_Ð!LÝÆŠdxȽ-“{›¾Âʱ´@Vøj®‡8›¾ÞIãÅr}r ZOÀ> -0d-?®“@!úí­óÇÞã%+•ó -=‰Þ!®t À‡ pXþî fçSzgˆfÝ„Mz’¤ SYnQo“ wäC¤¨Ñ¨´Vï3""šµÀ]éWóΊ@Þǵ"M— t? Ë0ËôFDXAPPÍË¢¼×Ýý ðG—¿¶8.! ˜ÀoOù,Ömì盟 (†€€»þ¥³èÀÁC[ÿtHà³ÙÆ/²Þ'Ý‹‘€¿,WЯl6Ú#ý,ô\´ÿShjŒÔˆX% X‰~n¼ò;D£4 ü {·Ä|ùénsºÁŠfÙŠS9yª¼‰'P3x.¦”<™NÅøõG²%% 4Ïü$Ư˜(^Û.¤icñ/=RZ¸F§ Rc¤`ÂéƒKC¤\–7›Cé%µðæJèzU³ÞZ¯§&1‰¸\);%ùÔå.?rBE*@ÞY:}ÃqátC’× -x>–ËW*è×ËkÙÐ3—Xd~â•79VêX2áû¶–„Þ´÷JOè³wý†é¬,YrÆRŸ@ó´57õVåãŽgV.ۜŤyK[Kž­‰VÖ‡ªv,¦sß>Ë{¹Ì_Hûë•3õuš›ûàÕ±îarp›ú‚²-qî¤ò¬+›Ñ‰ÇàÿÍ–ÿLÕø/óeÅÁÿ›b:¨«%üÖ?h40°ÅäBM9]ï¥7;úŠ,, ÜðjƒæLCö˜ZlØndkk=2’è­fUÖº¤†’JG´äC™¥^ýÎ)IåŸ ãZõ?4?,ûæ™^Ê.¬"Žp6¿æ‹¿ôX^äx -X-< b¾Ǽ÷²<Ä|…1ëT%øÊs˜ØP Œµ^: -ÀÑ£¾XƒUÚ+bŒÿbü‹ ¾¡ú+z"@/:M#²IÀBžÑÀ-ä{®Ç†~ ›z‚‰m3çwO’p‡,L[%kç†~×2:ac/ ðÿ -À3kœPôCé–£ðLÎ`èy-1ü ×ðc©»¿Ú¬Îbí -‹£ ²¾£@°ÐYu†qýØü´«²ž™^ŸAzC"õ>Ï"·{80¸í·g?¯ÁH+:#>à½2×Ç‹ ¼à }ú„Ó /0\‹U(Kå]÷ëë[«ýœ´múùEÈ´m´'w©§C}QŠþj¶¼º±¾eÿ?lÕL&ö[¸½±3"Bq{]IYy–¢úZIóåňhbX>°ý±íx( ©nÀ=øXì6¶À-€gµ¢?È•TáØÞ ¥x>¡°Hÿt©.áø×z õeïàéßçMž:ê_¢#¤‰$N©ËÄ p謶=ùžå“Q`Và˜@n>ØÏ@NÏcÈ“RjÞ&p èSUl2¾ ý+M î¼+ã'†Hë—c`CBàq ˆ~[K²ó²ZÂ`3±qÿ%BKƒüBGO¹tÔúmƒg²QR¢_ì’PžìýX bÁ[' g˜Ì¤>m¼5tš§ÀMÔÂ?Ód‰vüп–.d /îV¥5w=æušû¨9î%T£!`Íÿã¿@¦§´PQÝCõxÖèA  ©*b¼±Þh>ݺËD$þÿaŽeü$vZ^—ylðgÉÜŠŒæ¶Œûd¶›3²”Ŭ§nt«âYü<¡¿1:ªTR&©Ý¢¹á½‘Þ‡:›fÝ™¦Ø…,kš¶×´5wÁ¬#‚ÓÀ¥ÇË*Ó´ÚXs 4ú¸ÍU;߃Öù)VdM@&„¿´*Su/ºÆpD¨8WÿåÔÔ[Z´Ê¡OãDò¼€}GdOà¿´%ø/bÿ‰ÿËeþß¹ãàÿáð¦NJõþ×ÖèÝüàƒFº´dËtOÓsMݽNöi§×Y¸ÙðU_"JL¬*§5ÃÅvNç³Nè¶êãá 0Í;¶…y;ÄûËæí¯ûºeráC\nÒÍÔÚ- ”˜ —ÛíV³UŸm¬ßhôÿÁ˜«f»Cl>ÏÎ-r¿,Æfu¶70ÿ÷XŽ—iBÀBn ++z‡F<Oq|ÿ„Eu#ö ÄÊ×TÄtà{¦W’r(ÝS!í €0!ô#Æ,€ K"&7¼öÂÇIÓÆhe¶2Ûüƒÿ¨y»Öè{é¸`€M! º9¶»«âÀ YZKXï¯ÓÈü4®rD¡„Š £(ÈeQêN60Ê|(ZÇ• rî|×®ç‡b}|™À×ú9j‘Eýv½•Ñs‹{¨T.Æ€«á!ú¨¶î¡¨"]hƒ4[Ñ“?Ðñd«½ *vžKËBˆ Ðj‰vq]n6ñLQåyXɬØ@ßñ<€Ð:K•êŠF5•É.ËE—/Ó‘“à̓ȇ - ºÕ”™ªæ`h¥Î èe›KCªg]Ÿ³ò´¾²²|¡°TEÞ¸I襬Ÿ6!PBÐéÜÌ{é‡ÍúÛ^Hà§ÿ7ô«’ž=ýþ’'Ò7.—ëuÖÊaZÚßpyByÞÀ>@ï×Kü—J±ÿ—/‹º­üüoü?„ÿà\àsôkµ:Kg>”-ÙùDõÖ=Í/è»’ÌΤ£¿² Ý¬‘ {+d·uØš…Žñ]—¢D£õ>¤Oá—¢y|†U4¢c @që°.Ç.€€#­`S¦¸@ò€Âo\ odCúõÑQöÈÂ?êÐîxÌóçFèí¸ðZÌ0^ Ðk¼ÔÀ(€É׬œÀ3>?À¡À¤࿸"7Naþ_¯ëÞÜÂPün'éÊÙ1ñmö·|)lâËóÿ1J³1" ü‘2ŸÀMø³@mõ…šÓ1ânñŽxÉZ/—ëŒÐ=Ï$“õ_L®èGäðûµ¨ìØ$dÿñÃí~RoªB8Ù̂վìrLVá@†Ã]²Þø×»–q ¼Ûb|ûéÁ¦•×å÷ö³°áÎ =á<£á´A_³‘?ürÖAÏ“/ ~ð@Y2Ùnä`ŸØù=Lv.‡ð.¸6±`¤^¾º‘{Ô¢²á¤„@€}c¿±NÖ÷œ`§ã íôFå%Ú°žñF熲Võq6d«]:ñ3“ qµN›¡Q³­þýýc¢=¦Ý±*@ÿ³³àÿÇë¬:Rrk'Ä>Ñ÷¸ŠÏx æfÀ?¯pûƒåÊ‹±|€þÌñÃúÉ »„O3IÀþÆY“\p©GèþfÐ Ga–0ÿ™Z„`go{{ĬIÌ †#謲êañý×£ -¸ |5úágé`-ë7ÃïŒ}LàD–ÕÍÙšlÿÒ" hµê^¼&÷oŽCvéÁ¨Lýä§ævT*iåt5-æ @5©g,%¶ ó¯!/ñ10þw:ÕÃØÿªjŸÍÎòwþ?(›ÏðÂ|¯qÖßîŽ(«êµVdÞ7²A¹þ”þFÍ6ý+Üj1Nµ$ajH½h<.^ÒFkž%­Ü`Š¡Û^¸„ÿ2 ø¢º@·¹Q©1[P&€so 4Ãà€ @Ä€õ º´¡ŸñàÜ7þÇ<ÇyT Œ€lµQHI ÀÅô¦À«:à˜€Ãy”Õ‘€Ò@ Èèjœ, <],¥øAñGW•',~´þU#îÐË-):ºâ‰pƒPö]žÌÖÚÝL?ì _ß[„x0n—~Ùáøì‹Ï@ûyGœ< zëÂyQ› gψ¤ªß×?ðõ[ð‘ÎЬ;ÿpoµ­§ÌÿŒ|ÌgL`qÐÏv:ÇØ a™~A¬}(|ÝvozØ‘B‘xŽe½ÄâfÇQÀÜ; ¼Þ˜æOà-à5à(ãò ×SŽFjM èWž¦Dñ AÉLi‡ä4DGÆ®›@ ô'¥ô†w€wè—`N_|Þ÷ÅP¨ñ‹áe‚¨²ý¾trmÙôCD6VEˆÚív“Õ û÷Þg§öä 76è_¥ ëލ‰€ -§†¢ NÈ>h„H€nŽ2ôãºg„` ;°®Oð¾ëhjnút؉é`€ËGêrãUh¬E¨vª=`IÀm\%j -#Òn»)³¦B @,jÀ÷%Ñ“,~ ~üÇÓߢ‘~e·èw“ئ³Á¨¬‘ÜbÙ6…F£àްuØiµn dÃD$øs~äA2¶¢ž–LŒ¡Ö½;~ŸJ•Í/9´+|1›§àKé¾½YðïØŸPŽ,»‰Wy¥+TíP]v4DC[RZÏü0WVz½Mò‚ÑÙn®ëUQ#êâT×XjXˆç .ïÝt:hl@ÓÒ~éƒEdξEÃþ=C¢Lñ¼qY€-ÕAaG¤Í€Œým%0%²Ò iÜÒ¾6lþ›pœ¸!Ý8¢eÍ”tÒ›Ñæô¡ú¾ZH^¬`À±<;â í(RÈ•©Ly>€Ÿþô a•ÖÙÓ"ÅŒÀˆ2­×G~]y©€Öœ'þ=Œý¯ÞÉîÈ´õïà)zÿÆÿ -ï¼n±ª¯;“«*3™ñ }‡¶jL‹Ñz"R½óF>p ‹ŽÉ`ìŽb™¤O|ûýåYè,,Í·*õ_ÖuïK )\u4SÅ«,4¸¸YâWøÚ‘Ø’ß|‰unÀío š“1j\Ú-,O޼Äð%>0ŽBOzŠQòWx,%Àkx8ÀÉf”GbnG €ç(<QÅDÀØøÝ%! Ë—×¾¸öÅgŸCžø²ñœ`@ýjý%×y"`¥üžÓ¢›;vÂ, †ýd¦–¤ëîÐÝ£’ð°ÑÏÁ>µ¬Ú8<' Â¯ë¨_k¾>W¿ðÖÔ™Jká:«ÎÕõDç±þ"À<”å/È?~°·Þm&²ÿR…g¸ó‡ z©q´»!D”yŽz/Òâv²¯QYþ^^žx2檉êf3ßL€X~½p¤)BùÈN߈°ü-áµÌc!£_$@Èýp9eë@õí½J¯¤zØ`ª"e¯ÚÅ@ Œt‚1ýí— è^È¿¿¯ª£ÙíÑà¬<±þøƒ2Ä'!ø—bPÈ ‚ô‰‘ëö»mÆM7™ N7*cøð{«ï3PÒh¶ÝE¡l”×a÷YmqOð ;h0.Œw€œw&þ‰meª;ð‚pÂf>NÏ -Ę@ñ»Îá yBø<÷¥<ú^·ÈßOÇøà€–Vsˆ®Ñ¼ë[žv1tÂa°Ýf+í&Õëí§À­~~úóî;âÈhÿ1Ïͼßhê9©‡( -`Äþ'›ki«ŸN÷s?7 lÊ>àKŸTyÃrA{U­žè»á0‚ââ˼?’>Я'-*c†ùǯ„ \I|÷PóÞE¯yËšHk÷˜ N½àÚæ¨Óʳ™îšŠ…¶”«çé¹#MÅ´ùøÄ‚õy:}#/àŽÙ7ý-(аŒl¬p.–÷i£a¿QMØFáp^ïˆó'g4R´k¯Íb½jt·!΋ñ-´f vqÖˆ(±©ŠŸÊ¢‰\¦‹ 9°¶éf6³hŠÁC2žˆ¨¤Ê+ƒ¢Á+Ų€ôT*UÀ…Š—8@î Y½–︮ÿÂÀÐ_ÄþWûwXùÇsÿ”cÿÿƒ#ðÀìú+@~æƒyiÊêüÉj1T±Äd”´¾Ã0ìeº;Cm9Í4@àfga¾5ÿËÙÊ…ˆ  î šO7µYg:@ k'‘µÎè|¿‚À€onGÀ¤ b̾ŽÛÐîFžçc¾Àã8\ àpÀ fÔ»W P€Ï…ÿamÇ<¿ó</ðŠÏ@o†kñÊy=î°àJt|¡Õ˜ð‰Ï?¿™NDèW¢›<ÀÃpËw—o€;iàzJÝmNÏ$yn¼—ð…çLxxˆ|®[öÙ‡1á É_1 -à5côth]¸Px~qæôyËÜuðŸ'ù‰…ž`‡‚Ûätgó#=gÚ @fxñΠÁtç¨6™Ì@ÜR{=v_ï2'Ãô–س|hs dÜŒ¼øzÃèګׇ[[Œˆû£ˆgˆÚÃ=™Ê±ï·=rñˆ÷âƒú9(­Lléè3;Á8bj_@NŠAà)¬ì+NÁ.ýÞ;Ì °M­ÐFY‚Æ~¼ CeérÍØ§ )\äÍì¾Lya,¦;íùtÆ4ÿ¡Z­²ž žµ3ºhÀUeIO†hIÀ¿0¦¯žq„ŒwüGì› Ïxªg4ÇÎç¿èlÐÙ§x0þYHràn¢ õñÃ8)`ëb¼ ÐÈ“8olä}‘–‰/¾$K¦g>`(? †ß‡ŸžüpzR»•åâÜ<;ÙZÞðøZR ‹üå¸0‰Ðô{#ýô¦Á]#¦ÓÒIé¤.)¼d•¨ÐFÄÃPPuåïßjîÝB’” .’Hmÿ¤êRÈÞhž² -N—Ý]lôcå=kq±ê,Y¾Ò»+MgÚ£®Í ÌòáQ"5Ñš©ó%>di¥½îtkhDmÎé+4z.+ý÷‹_ÿo ÈVÞ˜N²dž~y–(eñ‚‰F -Í%<©˜fÁÞÉ6Û q*„–.Û¼£-ú±Ë–ÒÂ@r'4þé]GP=.ð9Sƒ^Vkx‚¤d]áE%µöEMn´ê•3²ÿâg§ê"Lg€#ÜuÄñaÀÉn=ŒO,Ç{бìðÖjÑÿOìÿ ±ÿŒýwï?mÖIÿµðLÀÿXZ.¤Ù™¤¥'§ûÛ ÈSÌÐmbÑíìd£Ú0 F+­Z#ËÝJv¼¨-q±x~7ßš½0_>µžšÍ€?( ˜Ä!’ Ba!pÙ0ò¨ àZ`óçq €Ž„àp@xÆk™€Ž‚cbÈ['´I²’|I c0þ¾D^<1Ï3€Ïp{r€o¾e&@•é€ãç0þÆ\‚üŽ ÀßÑdÒê “§ÏDŒÉ×®êwª;'Ñ]8à;ÎãJ÷ªøòuæk¿´¤ÇW–T™ŠO_tý ø—Ì'óbxVÔh =wî¤ó ¯éг!ºês×/¼E@A®ÏÍùQÿ:"4f‚“‡{ëi3¡Óß. jã¾P;Ýè'Y_•uÌ– uµ§ê!¸N¨Oö£ÀÿƒXO±€%ø´aƒœü¸äµéMFDhüÙßÇ:سZ-Є“w¹\¯_€¯š¬`Î¥d¾ƒÝ*OY²Š€’à;|Ó‡ò|°ÿà‘X¼B'ÌOT%ôü"3\zçxäj -`'@=ÇÐNš³ŒØp úÁmLùhaÉy\,©ÛL£ÀdÃèH¯ÈŽÊÝÛW31 -.Æ œ22ÓÉOØÀ]ÎôÏl€²ëà¤Gdèÿðø)XÿC,  C*`2½֟5T9*‹B#G <„Λ(¡[±ã›ÑÀC»¡¿Ö-fGjé6]c4ó„Ⱥ½©g«p_™~;Œ¤n¥ Ÿó‘Œa€eo¾ @8xNê× Ž®¤Óé]”œJ4"S_áýIÊß©˜}¬1Ìôê1O£~—úùõh¦ì2Èn<™W£•Õª¸í$ú9{Y£öìÿGOi§]%¡×܇²,ODÛŽ57i±È6Ž~·&;zÏÒ€$—ꨬÊû­8Èx¯^:ÝðbófZ*„µr••ÊëÈ0ƒ0 T‹f³ß˜ngÅã -÷…ôW~ESð`SæìéAUا;JwÆš«­õ¦&Gyj×[ûÇ k4r|™¬ åW¶­ç6É‘RsºfYù Ð÷0·qbC! -I«~¾Â†ŸžúÉ™©©©ÖÙŸý‚e‹>€ë,•#î£w4¾®ïˆ÷±@Ù3ýÖå™þÊ;wþþí‘ PÑW"ï™NgdDkòVµ¡zÓÀj)ßvÚEû÷º­á@MXtþ#Pzúô¥óDÄÕ³^ùå/]ˆ>7ÜЉ-€oÆ/¿Mz ø/ޏý ³ècp° 0é0˜—1ÏÍh=ïÐEäg@Ș|.¬õ(ÛÞÅ(Àð;à+b<À7Á€ò/‰àÂð<Ä*IÁ„Ì¢Ÿ—g:À÷Ø¿‘Éß ¾õþuòí÷!?Æü$Hªµ˜­3~¨Äs%iI{3€I@)pWäE£^/àÂ3€©Ì—@ÂÓüu䡨Ñþƒ‡÷ón£é^êÕ|•…w…„ë`ÎzàÚ(«m!F =ðZ¦5Îu£ÙC#öóÚzx›lKmë €V°²ïõ„„É#ýÓm 7{<+.ÐoK] ½0éÑA¿'ª{¤7 !·ý;÷ (`Á¤•²„E(;½‚JÀtÖèÿ˜×+_Æ=« [`*!ågêG[â&¢à?*ztœÈN‘­G€xRWr£ÒìoíѲýYµOˆ«Ãò~šW˜-7¡‰bT½T›Œpß834I0Ïu‡ÀzB -r}еÀ{Ÿ.þxý!(ðDŒA ±ôuíSúÈÛ¬#¦zÁÜÑ>m‰µ•ŽæPu7TÇ~ß“Ä\þÒ#Y2]»å§dHô63¯“ÞÔÏfIÒ2dåÄÊ>:Ý¥"f:€Ñ¯¦’•˜´ù÷\R°LP䨻ÄÎQ.r^+Šå·YK׌$á JtD‡”ˆ…Ò–$«Í?ñ±@óõáØà;ò¾‘v…ÕÐ2}ÃUO Ÿ£¥æŸêý?<(¬GùIs´TròóøÁðð*ë=Ϧ[ôÕüƒ°}`ñæ-ýa/£²½­$oÌ´í»8á škä輇ᤚ%µ.® ]ŠëpA] `úü}Øl¢®²P®çcQÁ&ÜœkÍ‘ð+Fм²ƒè4õúGJ”ÜU³Sg~"ùé©©ÖÔ鳪–kw=zê[-&Ø›Oç¡-¯)/òð>á˜S—gý§÷ÿ®ƒÿý ò‡÷¿üwþS±}o²ÌKÏÍüßX” ˆ¯BøÏ7€vŠoAž5Ä'«Ü{Ž3v¤R}BðÀ@*Q  R—.€¿Á?Q€iZ7ð#€4ø¯­ü‘‚ >Œ2šGFðÿ%psèxñ(Ÿxv€gg”)nÒÀ`€ñT@á`Eà2ð5×°þ1€éË æ€”1€á(bÿ%À¿Þ€‘ÚW¥:àÛÎW -·Pßyнm3¶QÞ}èPŽñ7öˆˆ¸Å_8 -à5Ö8”Ê…ëŽ0¸~á,£&Vçë& °ÆðÃc†¡ìô»ÌÑOm'ÿÆ“û‚V¡ö|@ kƒ¼5ð áÏBXŠLvVÆý/l{ðÀ‡XöE„}Ê à[™Ù†Htáµ[øÌuÐ{„Û²ü‰Ys¯Qëq¤ÈÈüA€ÙÄ.ùÚà$²·¥•Un|<Ôi(Å}¢t•ÛÞ‚¥`÷ß߉ˆv+"4‚qr˲e¦åÛû‚n-,àû -ý p®rNÏóª‡rwuÍjO¶ -cØ*$¢Ã|L8þáÖÀ?+ “ ž}oÙ˜w¸_ì Þñ˜0°hÄžðŽCBŸ°“¸ïX0Ø¢%Ñ}£Eè¡Eu‡Uy©J`;¦inUƒ@²Vm6éËèƒ'Ú árû70hñ\±Y1h*ûtÖom -`}RGùg -DÛƒ?=ÔºÑYÇÏQ¥ãN?DÏÜ“±};=€¾'„Œ_!$óF[ZDu’Ü“¡±Z¹Ïji®¤^¢˜_=§¸NÔÅÚe½Ít±Ñ½;¡ù¤ÈÐ þ6’‰"èAâT¡¦5]AsÃ)V#¢4Õ4ŠZ>ˆE‰ŒäJ… À)ýÐc}Xã¬4Ï3ÍÑPAšŸ³|æðÀÂÙ qâRó•Þ¨»Ø G@†«Ä‡$E£kmpow11IëÄÇ!—¤s“k#¨ëCõ,Ï7ö´mG -¯‰FçÒØjµ.¼Å\\8ó³©*Â~÷ÓcúÏ3¨N:3ÜþµåÄ€ õ:#ÿïLöþß”ù›ÿÏà?óIR‡¼ÙÈ­8W¯Wg—óµÓ6#…ïm̦ô×a÷£é{¸¹já¸à¿››n›K)Q*.ÁëN -2>Ç@:Ê7<øóHëQB’çGLÌ ]ïÀ¹éÈD €ðœÀ9?à?À˜ £ß(øgÀ c^¹€çˆ @9y €ðŸ„+ðø/8þâËk_à@Ãe2ˆ<ÿòI×,ž-‰¶˜&š‰¢%qóà½jTågð€×_ À¢o3]X^› À3ÿr„\çÁÿ"xùža~`r¢Áîo¯37¿ƒûËEÌ[ؼÂAÜü½¼¹- ÇT¶ËŒÅ‡ ìãô7¤Ù²þ1oÅ @6æšøïïìx`ÀÛà aÐÆ}‡ÿË0ÆP×µøBX2‡O÷òuîmÐåxp0íÅ0ý9n¯„ŽíßNW¿y‰ñNÎö‘»´«’ƒ¨¨z®—3¢ÆD²!V±µC¯ÇÎ6Á è÷Wc`k}{ŸYÕØþFU€WR9‡°àb{¹ëpÇ` pM©“®á_6þ•ƒ31âãxî çú{úô û>p‚'Ÿ~/æþ‹È[œ$[}’yLÿ Qª—„YÑ à&$/Çr»+üo5¸úéUý²|=©Ö’;Ã`cEèùÝZ>ø.Ï7™\?æYäÈ8ÊòQžç»÷FÃáèÿ9Ê=û†ƒMVñÔSx÷o£Ý{ÃÁ`S‡îmJîýíïkä»ß1›p®ÿáàîPÏi2ݵH‡ÝÝ\Ë×›²æÄÖò•|s¨ †<¯GCÑ ÙiÌ“á†ù@šzû¾u!h˜§µé¤Ë<×XÄVÚo6¥j(¯:…æ+½¿íJóÍüƒ.àZšßš¾I©§ÿÕïýÿþþ?“ÕÝ¿ÉÈÌ{Ò|Mš4£!³ÿK»¿Ž6×TÞ¦”ü³Áp&ßf"Á3EÂc­ú¼Lg/W.̵JÛ¿“oh#_ÏjµfWõ”æªÊHM+í7£|D5y…曂÷{»£ÍÍ»ÿøÇwyÚl$wFƒÑhx…þÇhôtnjÍG÷þñ÷´?úÝ$‹µ¿Hñá`MÙ{Ù©0ÝÓÝXSM7É\­2ü®Ù÷ºÅÙˆɽJ³½¯äjÑáŠòÉúÔº.ðËþŒ9ÅÊžbg!íÈÀΙ—0ï ;wT3'âxò¿yôf—Ck%àÿnÿàüÿå(üßþé,¸#¶˜¥yÕC.êõ³g[© >Åd„- -çƒ.‰íöÒöåéF¶Î!(Ý&’O¡,m/Ýt‘4¥ À âË/Å ü÷&ˆmPz¾ -WüD r4€Áõ±1¶S'<ãµ< -àÅ1¶ü±>ƒŒ €$b<«¸ à•ó(›g×8œ€Y cŽŸ ‚Žx¼aÄHÄmŒÀ4!]Xåì£2 ¬º: î½ø8·ø‘e#Ø¿U[1}Åa5Ûþ>˜´œãíg<'àŽ½Ž€A4t”€_LÆHæêàÏÉÅÿ@™Lsp½Í:À]æåþo¯ãýÞ fÊ\@O»çùrTdž Ì>z‘fÐ4 wztd~ FvŒùÂkP›“œdçã\?س§Ÿì€%®~D•‰ ±NfE@yè€ò`KoäixÈÞ?Ø¡`òÒ•8D-”Óc1é(ü5a!ó:ˆPT[ÜBՖƸž@ÌÁÎÆº× -p6YÝ1™a]ïYIàe¶.e ¢·  P;Fëí?ÂÙÁí €@WÑàLÿ¿ò  ì{Àý1ðN‘lƒ8ö½Ç’Nÿþ¦ø‘â+ú„ê»` -Bß -€{p)w÷¬n¬F”Cs¶ÎL@þâw»ëúö_±rÿ-àëËËÒîfÝa쀺>¦³, o µ›Õ>J°ðY¾š$LàöV–˜›ÕúÊ@¸ÂúÖ‘Èâe†Fʹ³F©Jχëµz²¨æMÚ¬˜ÓN,RN)»]–ÄID<šÍ®rv» kÞéÏ9>ohW…j§ïwÖè‘Rœ%¶ºÙGµ¤»n¸&‹µ5þíÞGœ4JyÒHÄDXI'¿ËqÄ´dÙÖå|Ø¿!4ðbŠ Uœ­Vë•sgÏVÎ] }eX¼WÏe·žuÿظ,ÍUkÚUy¡¸žPj®;LXi­õO£¢\Î-U8I¥³… -= ޲yo7éê¤5är :óÑí®šÊõ P+¨úùnMôH¬…Õ“eÿ³bTÑæ¬K¤<|•·NÙP™:;õ³©3g #n¡¤¦>Õ°èÈ­¤'”×ðè™ÙªW¼ðOLOÿ±÷Âü—°š=:œMçR¬^9S©ãˆ¢kß2îWøs:™HP[w¤¶Ƀ]¸+¬O:=f‰rÀÒ àBå—• A(U a)=È1áð‰´1 -@Öù±1fÚå Û`\ ÏIb&æ8v&@ -b`!cÊýþs½ÿŒpÀ‹f|åZž@ðOa:ñ<p1ŒtU–þu <_Ò¢_Þö]ÇðL@«)Kìô‘8°çXˆ›¤üÌ~Ô(€×ˆ‹.</ˆ¸>7äžXÜI F¦1÷ïoµYÀ#Õ×™«Æ"ÓWæ¯ñ§½¬aëà>³è„Ï7:Ø´ÐVÊ™œØþ7!,ð-°c\ÈŒ¥¯·ÀnÐ<¨oË/(ƒr!+,uá3hMÞŽ -„ètlw”hf: ’);zØ#~#®:3ß–å@ -J=¢([úðu¹•u‡¹…Ú_Àˆ°Eaøú:QòzøÕg“õÓ)C«Fl1ni—û¸Tv¶wh8W› -=ÜÇ CTÿ˜þÃ<Ð-|g¿ˆìûá)ÐÍ1ðN(@Øû×ù'?³¨l–1+¥l‘‰žÌl¨,ÙlÒ\YN¬7é§r¨“Îy_⌼¿,m Žt“æÊGM Ìeu“R}ìi¼£ËÚéNMY«Ê”«Ô¸G¤×9¹ -@qâúÊÕÆ0ýõ&K²•TÏ -%X=š˜ºþCóÈ&]µÎ.ÿ‘&Él’[uš|¬¹ÓªõTT&°ìVl‹’(¼…æ¼»¶’šò°æb|.2GC–<Ë3}ÍU¾@Ö¾îܲÎÛìÇÍÐíçýgúY®Ë9ŽFúd @=­2Ua¦3gΪVÿKõý:k»Þ4dk§¶á‚ÿ½žàºg°Lo–Ö¿=4øQó_ø_À¿Tƒ•4òdºzcA·XÎ×ãq›ÓW²Œ  Y/f¸96ÛŒ‰l„úÿŸt>ñDÑf 7:ó­Ê/ @ш±Lx€>Á-@ä³² à˯d€};‚_ata¸K&=q¬ˆ8œ ðp€’ã ¿¯èðëø€Kü_ù/²×íx>àÕkx€oÐÞu;ùZÆÿßÙ€ðXëŸ5‚ €Aoj]½«yTI{Ž:ô¥¼ÅO(!ÿ`èõ‘˜$Êž[ô£b~ÌZ<.ã# ôƒõµé -Ýg@ÀAò¬JÜNêíõ=™Ó˜ØjX襀ÿßc±ˆøë©'„ú£*=Hqï>徎‡ÁÊh1Ø“GhËÓúµpÂÿ 6~ -øT‰‹t¼¾nà^§‚:˜  á#Ðð‡ïnø@TàûàZP*îðÞ¾Ìÿ-Áÿ:]Ýöb«^ÕsüÜ90Žò¿äùúp½»˜ wéK^Ëÿšgw†k¬?vïŽ6{ý|¸û÷Ýït$'-c…Ü|”1/7½íƒÑ?îvÿ677ïîþýoÿóïÿsó»Q~'_O’uwÛÿÇ(Ïÿ2üntW%æƒáè»ÿ¾¾©«µ·*úÿG9ëÚ‡_{8Ü~w·›4’tmW©„ʽüî½ÝÍšÜÉÍ•*|=&u‡:‡æ»À Î óµÍÍ]”Ìòá_ÿ±ûÝ=úÕ“Z¢ÝÑh8¢wBÅKóÍŒîÝûŽà…Íá=i®×æÞËûÙ_‹,µ+Ù¥ i>Ú­Å–"JЮE„Â?lGq áJ«z–¹ñYþz+í)]™©}iÀa¾5RƒKóÿž.vóÑß67GƒÜÝòwUžܽ7é¨õ¿ûî;b¬y6¼;"âAp®CJúÝî½Q¡ù_ÿþŸÿ‡4ÿßwwïæý¼Û@MáÙ½]m¬íýU×é’\š¯K‘ápý.|m}è¼ÉÐÕÙþí;aa£ÛÛ½7 Íu\·u/µæ®¿ýö[o½ývåzý}¼ÿiõly!Xb)Kçð1$vt“¯ÀÉåõbð»ëöû‡€Þÿ#æ¿þôµ øO ÿü¸ßžm¥+øîð°n€¬—壴1Ó̆+y@TÕH6¤G[ -óƒè/\Þ×éyiÃH€gð¿ø4Dó_z !ú/€Çá Ç1@¦÷Ÿ -p’Q¥`b¼ùJ3éøÆ—(_‹SñŒçüãÔZ‡ó] àÅóÀ&c<ÁxwưǾŠW5Ä5¾¤aµÉ(>o}Ä@D¬{|÷ÁÆâÜZ 3Ÿ&¥„cb -²9Îð#Öp\pá`&@{ž#¯X€A¤ŽÀ«Õ„•г[0àˆý@@œév“»?ÿ@X!v4ÐU8¬Í‡ Ñ f†@ƒ-;»^vÀܯM!­Í_hv9‹½¿ŸÃ–àö‘ã-J ÞÙZ)²'-uˆ1í:Ì6¹ øÌDv¸LÛÒàà‘Ò=z„ -Úñx<`v :x ”~ppßÔÙcvBB ·eÀÓG`@³µºx/ëðÆOAWªçMd.·SV\ÕU[[Ì™Hÿ‚{F\ ZÌ"€V }‡L) ìÑÀ˜>íYìàdøð§:¡$O"FPH-`S™i'÷ÆD@ brFc?Ü߃‰ˆæà¹¿Í0€ø±Œ¢ððë(ÆÆ°Æ-†Çì´"äáסó¬”J¼ã¤%:ßj6ºÄa”[”Ô'{ ¢Cþ4ø{ÿ+ò§«ï;YW ã÷§gpad1OŸtP2È9]w6;ù±Þr±P!Ëõ£…øjwŠ£Ý-²TÚÿÞ­æ›…æ+"ëtÖ<_¨‡ùY'"³vá…i€©Pj^|ôzÿmðÿùçV¤R£9b.+°cZóBù#‚i*i̵„\ˆŠÀÜuæ´›OÇš£’=KŒ$“¼;“íºpµñ¡æútÜÙ¡æy{&éç1«¡EIŠðÿRƒÍÿý¿©±Üæ¸ANè'ð_j¿DøAÔÌM!Ñé,_ë' n;¹ë¤5^‘É[gIßÈþŸz«òv¥rýýÓïgL˜2ݰ6M¢Nü÷š1ÜÈu@x°Á%Ö¿”ÒúOàúI­‘‡aÿ‚Çþ¥¬í«úúîßËÓ™FrPF5¸~ý\_4I€Î¤ àæÍ…›V«â‘‚‰I™Œ°10GF8àY@Ä€õ›ÎÇ{ï 0~-€—Ì茜ß8` ¨-çðŸ{Üpì(€“ÌðçÐå_/àšGx»%Té€e¶…Ë4„àsb€ç/¿V»½… xºH|ïù‚,@ʦèQpó½¶àG¬xûk…8€QÏÅX 'Ð)@ÇÎÁÂý”¥€¸½Íœ¼éGŸ¸@A°·G;+w€ÒsØ€¶ûBð} TœD/€âÊš]›îœÀ’ä¯ÊB° ä3eÀG/eàë•ÞGn6ÿµ¡B{¶Vµ³ÏH¾@m4Qž:Ê¥ƒ -@Àp—‚¥”‰s„½¨tåHÁB?èŒÁÓqœð‹Û! æð¸Æl³r@ l¯ïA¦z„<ðjÁwS©ÎÖYãky9cv¥íuFUlïˆY¸(Akáè^Pc¡5 ЙáÇ| „sþ©û´‡‘¯—Oó‡÷?®ƒ%—IPÌ%ÁS¸÷ÅX@µœXdÿ¿^Û;&x…“V½z®Z©šL -kääü(Æ¢'%½£~LÆM ²EB¥¹ääۗã<c€™RëɼÉ.ñ·ÙGɈ´!üúø1Æãñï³Ø¶J)Sýx=¹×œq¦Ç¯5*¼`h!ÃdºûŒæú ¤Ž®#úè­åI-ùaÐbŠ!‰CÁlœÈš3ÔÑZ5'4'ÿCæ.á_ÐÅð8¬Õ³ç„`桤œõÜ)Æü1EϸþY2Í…⑇á Ì…!jnó^Þ­vG.Ÿ!\šÛ=®^oð§Ð\z³f€-Ø[h®Í -É̼ÆRÜ€%]ÝMu{|@sûM’ -2ç.¼ýÓS?a=€·¦Þ®Ô+§«¬v pf©àŸ‰€t›¤'ý{ý˜Á…·ßà?1öûÿÎþ[À¿ð'«I”‘ÿöèF -zù¨Û¨¶R‡€fÙ(×W.¦OpsÃÿO&\t2Ï×é ”K ÿÆ'^¶#õAà…€À5Ç”€8>àX€(€pbhÂÀá(‹“ñ`€c/],Öxž¼8 X 戙_`09 -À  ˆ°€¦ScÒˆ[åì«x•ƒà³Ï¯‰T©E¥ UdeC9 /ìŸ[8ü˜()€K(ðŸæŠ¿ Ü6;âþ½,€ -ŸÔ†8`b€cb$#'Ç€§…‰ ÎÞV7Hÿóï^<àvùã 'H?:Ú·Üô€¾ñYP¦O-Ö6ÛÆÿÂÞô%% €p~ W€Û@ .K\ß…úÚà*a©óôK;CïpuñWÀ· wi÷à‘ [»œƒš:@Aë¨jªb¤ÖÞÁ>à ÈIäÈ@ü¬AtO€)AÀq€ÿÖòF&„¶¯ßÇ/!,¥!™g·dºu„w×›M5írcuË ìlP¹‡ûô.’äÛ^{*ÓÃöc>žˆ€æñýðXØÎ, Äâç¸ €]œöé÷þC (J?m¢–à "gÂÛ# ‚¤Ê"8ý¶NÃÓÓ4™—gÍô Ä€ãEßgªi&$÷“O0$¬‹òV#Þꤞûaò{²ýÏ…ú޲æó~5aòm'Ct]¹ú=KÜŽÁ§à<ˆÙó5ÙZ¢òA@bº?Âùí’È¿k¥Œê¡­_:‰ü‹×ÑΰÐ¥õOßBZÃãÍ5¥æÀ2 ÜÝKâÿFX8iò~ -ÒIŒÜÏIÔ¬\ -Ð`U—ñ_={v~îB}N˜“vVhë#š[”sk:‘æ´_ÑßL³.Ą̊8ÚἘÁÉÁUô^#dæ -r¡Rÿëà?Ð\gè0èO´ù‘Ûl)ÀмçªeY»ÕÊ»ÍFÏtδÁéçÎOúÉ)|oOUΟ;]Éæd¿ÀáKªáçŸïù¬d»v”þÇà7Ç­fÚðcFœ0€iÁÂðò¬ -ZŽ(i˜”°Äë¡xR±Ö©ù`îmv‰ex[‰1p Õ?©°ÈÓô–Ìèññ$yVó¸PÇL ydžüÏÚø¿˜:;waî:þbZGs‡9,y•^k?ŸdIcU I8šJGs(ŒØ­5’ßíz`k¦¢ -l°VìQÕ­9Í”fÝÅZ©yгCi©h·yÁ¨ŽòŽ¡I£6\ö†ÊMº˜sóõ Œxkjêlýteîü¯(°,‹‰Kâ„0džP~¬@ÏQú!ŽôþßPÓ…ãÿ]\þó°*¯Ì•±€›¤Öܺ7,}/Ü}f’LàZ4É-)Æ|Q½ÎÍ¥%ñºÖ³Ö¾äÈL€Èx€Á«ðÈÜ¿"àG¯Px(ò…«ªxë!) À—ÂsÏpÅSþŽ^€&ÀóØ9®âtèõÖ8Œ(æ @Dà‹0ÊiÒIÞm©Ié\¡mí([Ëé¯Ù0öø§mã³Mužó”'pE^4 -àd1Bÿ·K@Äà8{¼ຠêDÞ2²ƒA,m?ØÛZÍ ð’<úw8 dPÕ¶µƒïVŒGç%Ô´[½ÜĺÚ*söÐñ1¶?H/älc |JK ¨1å Þ&'`#É€.‰/ o‚v(œ)R'¤ -  ½02GI gõçXB]`0ä*3ŽÃ&øÝ–¹5& à€yV²¿³-ˆdY€Õ~–t7ö .*H×(Æ>V=˜•i7+S¤Ñê¶`™oÑy°ÍDÅÄ-˜K©!¤‚=Bhé}Šƒû1ïèúÔŸ‡* @üãâŸr.àñwjýN6]yÚ‘B .Ÿ 6U?ÑXAŽ««y¹ ^?Wm4š…-hîâ|±)HñðCèètæCr™zº f£kJ$dz” @—‰8ð³¥TöAçÉ4çùWâCû³xÛi»XÒQ:)ÜòF¸Žõîæ2Ø H¼ô6)YRuœ!¿ðÃSÐRsa©ˆ@žÛP˜àíQÅÍ£Qû¥¬U³—ÄŠð*èÒÓǦÁøˆÌ}P¯¼ÿ~½Z­œ>ͽ¾ ®dÍMžÑ¼›6?23Ur1òD¬¤ädcÑM/¶T‡¤­ÿ¨™}+^§8MòFrtÍ˦BdEW¦~z -@¥rúýËÈ’›çæbM–%тʿþ)€¤z„¢šj îÿpÿÿóÒÔª‚>ýMdMàažwh=}Gÿ+|ƒ{½4]%Æ_5¾xT1î -.€…Ž1äYyÑL€A'ë%ì¥ -èñ±Â¦ï€#™ˆÐÁ££Ž PùÁÈ€q 1ÅZÏË+×ð<þçcЉ‚ä/®g¤n€øÕ7t„w7—o›&‚|öÇ!P~f?jÀIbŒþ… æ``.€ódžï@öGïcòö·Wé¢&¾mo‡™õ{'®N%H€ƒÌ¢‹»€5ƒ¾ào‚WýItBcXóY ÌÛBW — aaŸö›ÙÎ+úÈÆ—y°• 4ƒÌtµ¯Ñósš8cµtX¬Ã…¢”ðÐÍ1ÉCOÞKÙú·JÆA6÷Å,”Gáç ÷CU–0o@ÁŒîï±f¾8ÀÆêòêÖMÂäòà4 ˆà`VØ?[­Ôõ¤-ü_ ‰™]q/úܹì1S‚Àè@í<P[9–¾µõcx·kŸ#С½Ú"&Ö§|‘®pˆ#i7Jäœo šF{QM°Ÿ8€=Ö|ØbÝc&ÞIZM¨õ H‰ËÃFÍX$)ž|Ú¨Ó+nÁÄ×Gž'Í~¾"„T¥D‘\&U6üÜÂßJ§Yã´; §C’ñ®pHjðo<6þ‹´³4kךB¸±1@eÁÞ,6ÓQR͇ÅvˆR-É– "€Aú¸G=ד}­ôoJ©¹pVÏý\&>fs–Í´úœ…x¡ø”ÎÍV³Ád¸ØÀ œÇ1^¯œž ¸p] ÊsrØâiº’Šx«¤SJŒ&DQ"'Ú¼7¼U»uL*2)À²xiÅž²`¹!IòT9G4—¾ÅVèî6÷!"0ÝþjFƒq©²²çƒ¼Äo°ÿ§Þzû|åte¥ÂºÀØ0ו¢D½Þ'Ÿ—'|ý¨€ëE Àù·ë*õ)“c¿álþ3ùÄPè/üÇî¿Ns´ˆè­µjÓ¬ Ÿ¥›j(pð'··X`–© YS‘%¥¨z¸&Âa Ës2†±i1G`¡ -$ÿO0^ `bŠSš#1 ?4ÀŸA‚|Å(€¯Š€XŒ_ à7Ïü¨µ^o€xÎ01Ÿ¸hIŒòq €`Ò€ÿße‹Iõ.›ÿ³«±yUžkÓgŠŽ~çøñZþ1ž øÀuOßójÙÁvö˜ïÿþ6ëåìßßœ¶ìÿ¿!(àAêô„3П€;ƒ¤ðTÀ…‰ -rÃÌ9/p ÓR ckt­„9À€cd3Ú€uÆ; z,Ôô@\P«#\%ä6ü‘@ý˜wÙöQ;¬o·:%ä‚€;s ºæQKé|1•ðOå€üGD:r Ô× qa㣵6´cv´·ÅX¹íu„5‰i6–6¼¿-û™½û÷yäÌVª³³Ì°ì € ÖVVb&=¦;Ä¢.ÜuÐÚE(öKÉ?–!o&(OUžó¨^Ò¹+l#0i\€2˯ ™zú£k6G³^Ç`4ØÄg^$*$£›XW`”Jz™ÌfI7™Nv9¯§oŒ_ iÃLÀ!ÈŸNÉM²~ZkæB=œeq%"êÇF8ÚŽšÓY>N`ÑQÃ(Š©Ë`6s† A$BxÊ\ˆ%-®ÁÔú¨’¦Ó1˜nBk_œ¢xÖ=ú­ÙjýÿPoý|’mz¾Ze°Håô™JëBh³¢{%ô!u½Ù&µîpbT„„FìôîšKu“®AV[Ùt›—¹!À4Á¡¹RšLIßj­ðÀh; -+%*côFoÝ@©@ûÓ)ÑmÔº9üé°ÍµáMBô{K Rù™êwN€²š×w©·ÒË>éuNøúÑ£Þ®èu¡‚ 55u -åÁ~>þ óßðϬ=õëssóºâh ¬U­ò5K:hhp–ü_ù”/9lSmFsF[û†ý?…„ @LK°pŒ P¯Â`ˆÑÿØ ~q €€v9H€`tÈœ$` H{Þ@AäXH¶€9„âð$…àù€W¯àyÊ™uèÇÎÀ(L!3€waÀ›¨>`½ÈˆJ)<_~ã&+=¤-ÿ>ÿ¯ˆr•}sÜjüý¨Q¯Ž¨Ëò782€c^¨sÄ™¿R¼œ-‹þ÷û««¹€gg[€…þYªwO ”{@pÞC‡û  T\9Áp×Çw™áT€c§õ6¿! 4“Ï…ù¯,âJå F`X6b;@àû<·Vª Ðô"€ß ª0òÔê²%Vb¢vtsNù „ô‘&">i=ˆ…ƒ$ï%²ûa±hÊõÂë¡]ÙÉ¢ ˆÜ‡*©Õ6è,gÌüúPè¾ÎÐm3á߯@6;µ¶Û”‹)ðÐÅ@\̶¤M·$Ù©õTÏ 8tì¸fLžt³Á /‰§9H’f}¶Roâ Êöß<¸’Õj·Š1r‡"hÙÜå™'šˆ3ÁèZ²8죩`Å*èCˆÌ£Z§ --±‡‡ª±ü'‚" 7)“0³ø¯3­ÉJRÌó¼.(;:iÖ¬ve–û¥dMÛѶÚ:èŸÒr‡„—ZÇÖpv,œþó ½‘v§ÑŒaP:ÒëŸrq®£5øºÔyN øëÂ$äô¦Éä”zM@ ± “[ž™¨LRHÖÉ›2I”`Ë^žÕú›tÍ8©Ý´ Û›ðf4‡ y[šWÕŠµ#1~ë ï’ý›úcSÇ—´ñ!´ª›Öª1¡ÏX­Bs5ú‡®b…É€¦NMQq\BW•¸ÝŽ_D>9Á»äõc`‡€_ž¯O=5U1öó*áŸÞÿ1þ_7AY " ½´U%.…ÐT†øúŠ­x,%ûñð§Û`)|Žô—I_§–gåx€¡'@¦ðÈLÕÿ‘y@Íc='0±À{1Bè£åÈ,9Í@$R€Ïà îb€ÿν:@jóxóŸY „Ft.ü#*åJDÔTj¬c2 ˆ !(®+½yèˆ]‰ù€‹ü?ôþ½ñbÀ‰×¨_8ê(çøÅé©ã ÀÜÔ¾RÒe=×ýƒÖF·Ï 5=ú÷w¶™òÇSèÛ¥m|fA mtöª‡pÁ‰Å]Ì3ÁŒt )@oÎé]èLVÐ -`@-höiÀš@ho’Ne@$d k[GõNjß>wS%Ò;:Z(Jj½[?«3= <ˆéJ€ø@:ÖÁ Á}¡¢€ZDÄJĬš+šLîlmo0iþr›iÔݯØnwÛ]¡}_w®Z©ÎVgY8my5[í¯oÍÚ#¦ñº¨tDŸè/(Hî6øá‡Gv™ùÂøÇõ†xºú‰´ùØs8Î œåÏÉi,Ú‚BôÉLCª1·TÕ†îØ³30 C–ÓÛÍv«!UxÛþƒÙŽÝÖC.˳zãÙ7!Î==ï<ÃL®§c8Ò“F6PÂÒk˜ˆýoX„«Þò&±!!¦Nýþh!ü—!Mc·ZËÿ²eÓ~{_,ßâ‚òS—[Ò!oN§²ä”«.$ëÀ[6éLÇá© ó´Ñ•]f£ œ‹öP˜:½Õ{FsƒšÈ  z7>(Vÿ2‚Ž}O¦*S§O×ÿÑE+E‘ʩԜȀ•d:]9ìlétPÚš[qd-›M¥yx?œ™³Ñ'š›tÁÊû7SõÌþH;Q*’ûA^¢ÍÕè 7:ó5š’AÀ"ÊjÜæ…¿Dµ ‰n€ •SSçec‚KÒ×ÿ ¾ÓÑ•áL?¡üS1*_Щ©SgÕæüV'ƒÿKø·ýÑ.j¡až5¦›¬Á¨ª²’¢ëÑ=4'”Uߣ6 `¾Ð¡ %?Ž“£Éx 2±ÀÉc&='Z àp€Á1ç'|,¤$‡3 \(,0Ž€ç]¯\ ÀóÄ0@ëùc×øÒ£þàf4,ñh_ÇA€ÿ¢µÊ{ w;®rkâHÑÑïmå÷œ 8kò¢Q¯ŠQ>ꘈx±àúõåH;i6šõF•ujô•yêIê°M½¡nغÂ`ùÁ£ÇÄþ ±õÊóJ)à‹p ¤*põñ£'âz3x µ°06¶ã)à0ô€+:XÐ8å<´iÈÖ&,ï:¬<D0]9G 'Â0ð•.Ö¾'ÖËà“¢_ð5E©Îs5úÁXwÀ õNX AÚ—•,¸  µˆêÇV–¥¬g»ž­f]ÏɈ˜¯ -8ù«Ï6Zz>ˆÐÍBW±4.ø+ÆRºÝÂꇰ•è¶Pûº‰êÄõ ëY ¨V‚€éB|æe`XÀ“ï¡ ºNµVCiKõøÁ·+šÀõݧ‚ây r”6̨oË@oôãØm/'I³Z™U€žŠÜÈY—à/zŠH;ä‘¶{//âÒÀ#€¼;%ÐÄƽ„c ìXô¸mA…àK|N&Ù!<ÛÓöü8⮕¥"æ¼ÏaŸ Gˆ©Öšö0ªp¯'¡yÞ»÷·A Å$Åi£ÃX9D5&¡’TGÓ›qalA£äE›”}¡ §ÙÂö÷êðvX çñ 8 ­W‰$‡-¥¤B»fS“a‰ÅQ}³pü÷z£¿m2@ N›gµî¸ÍË€ÁäÞ© •M‹‚Ò¼¦¶+¤¸Å“ý úvâ¿p¯@qŠ;V)Áï"Uá²Ò%¹j]?OÀÔ©s¿4ö ‚-sЈRÆ+XXùUï’01 -€€³â"Úã¿°Üû?†Ñ\¯œÜ¨6VúirÕÉùrùÆä:X3p„OîÿˆµF`€#G=€€¢ÿÒ&ý¡Èôþs£ŽÄ¼z-Ç(Ѥ ¢ÿœqœ’’ •D @9 -À1Ï3€££&cŽÌðí·Ì¨"U©—͘ðLÎP¾=tËf¹ €XTxD@T3X€k¨ )ÉÅ÷€m_¯7ÎØ?gÿ/\ @ö@ðÂQ’ã_*Àb/j ïôêúö–GîìxÂÆ»É@=ÀH•‘Æ'@ÃPi }œîôþ¡B–G2VA@hÃfg(€H¸õ4cè=Èl,ÂøWb÷øËÁo¤W)&úãˆáLpéluPÒIF6¼(Õ°]#ªÊƒàûÑœ¸Øæ0IšH%÷¡: ÚëC&»6 •V2/ €|Îò­õu†Ì'ͦ‘)ÑG›Úººsxf"mOà K²$€7)ML}ô¢Žn)J#èOzÁzlÀÿ=ÿ íî?¥ëßÃÿt{?t»p‚|Tqµב7mé6pÁ®Ø/vÃ<ÒÕ¶7Ö7rVùkÇ(€‚Hž‡,¥ŽþÆw¯‡¼ñ ÝÎr=Hy®ÜÛõì¾b–˜¿Ö¸ãgeòá8¨%;èäØÑCÐ3á`'²µüÍ¥©E‰dͺÈ!kWEÊ ÁјWèPšU÷Z3Ë?Ý.ŽÅpÀòlôݱkƒ´qkh'/Bª -$ºJÍÙÊÓ P¦Òyœìò›köKà¿ÎÁfôE‘•|VlJ¡¬5wdþ¡$"´¹ÊáøXs:4²áw›…æùÚråvÜâ1PÍFbKP$Ë-ß•Úl¬f#)SéšÃFƒtE‹ÓæiÒvxFd‘5ª+9öøZåÃíÓÖ겪õU¥i‹ë¬Ã”¥ .,øÿUï’Ö?ë õ–TQ“ëÔÿÇðþÛm!Ý×òµ´53{ƒÎ)Õ·•1ç²@QϬ·ò¯½üOŽt[ÑÒe£˜z6ðq¬¼h€_z €úåW2ç_ÖKì[¯}¬°ivãÿ1k¼j&À"?®GJPÌøûkô½_ùà7ft Àq€ÍPxtèÇÆH+‚¤¿*^Œˆ°ý£ø¨‹cÔ¤¢ôhìÀ­åæâÃHøÏn‰_s€^ÊÏ àGxE ]eÏxcŽ_  œÏ¯ý4Û^ßTOOVUÍV7Ö×&ÿ»/`П‡ÒG-”¦¬$ñŒ‡Å,¬K@OÃ/†¼0]`ðX¬Ml(™Gžãõò¾èDàÁÿ@™„˜@Øà …’4ÀÉÀoeÃEs@›€w±£´ä*g×GdZsHÛʲ ŒCèyW-ERô)PY%@2³²†(Áòýmmol¬näýe5%íÙ¢m»,ÓÚíVX™­³ §YÞ(çYð䂼¡›¯ -ªÏlHIZ0þuVºÒ€?„ùo÷¾1_<à©é•«?ðyêi"`îàæR6£h^Ó¦î.ƒÑQo–Vùc) ­õ~±`»Yg$CØ~‡R=êXà-€+e6=.‡„Æmîº'@ötÒÔ““Ç#æH6¶k1woŽ+|U[怾Ÿ8/¼üKÐW vhÂÂÝÌJ'ɺ32åUH‘#@Z<ÏU,¹ÕœNi® -ÄA=àuëÏ݈›…æw»‹Ùf/†}8¢¹½é>DÝY­)µÃ©Š’uó¥¡Z­ÆÂ Ÿöèw^yûüg«*¤lŸç„ÎNjí¿H)¡y1<zk››Àlf5¦¤ÑKÍ ç`2ØTÜ/ «æµC/Š„Jc€q››¾Â¦È)†ö= -@ÂNØÿeÞ!sôÿ@&̤Ç{«©Ÿ†-O*?*`b1¨‚`¡rþ¹ÞÿþçÓ|mm0;ËÐ?ÝMµCK,§Ç׸ðp´VVV ð¯ e¥y­^µDÐíOŽáMÁ 9à¿|~c¾l}sûÚÕð|æQ·o_{ïh €PMp3ð5†>9Nz„D²=JNpO €Œq¦óï¾s…¾¸ýõ·*²} D"%Ð+ .º®OôÆqá¿òÐ¥öü¯Žˆ @{0<@ ,cÀÌK'0¹¬Ä£Ô˜4aá }# <vvЪP+µ3©‘Šß‚ˆ0ˆ(Ââ¾`ÇèOË‚öNAQÞÐG§ûðíd À¯®ˆ¾Qá—wˆŸ>ãÏ07÷RÀÉ\Ë"³JxW{«}b¶¶˜ ŽP0Ïý§MÁƒÔ80>¬b¢A„ÎsA - ¶ -˜µkóÿ¡H°lã¿^ G¸#<eÁðö” -+Ýy -ýÀ;þ$ô`3Ñ £0 ŸréÎX'L Ÿ$ÑŸs]¶Ý>š*yÃO ¨]hˆ·8£ä‘DDÒûL@0ñòj£û¬’´}_ö²d£ßgi`µj;¬7s%–wg*@Ëò(/H,ñßìDT -P¶Ò’tEUaöß…ZZV½¤`Þ*B¥¦Tú¡Œ ?;ŠÃn‰hE•¢bM•|ð Å£?¨ÒÖpuu5ûXõi6g+çfggÃáŽØ‘5fé5bë)(œ4²Á½a¯³¹{ü¥Í5¯Ø[y&ò,*'½‘ÈÌýé&+­„ø™ªO&#†$º„×Ñ;°åÊD¦l²æõí¢'ì˜ Pšqt)c1 Ža 3áçRzC8í^í,¿·™gƒÑßdFîeM¡cϱ “CêÞJ^¼»"k¶Z®c(¡QØa¾œP.g£-q)Ûþ…'à: RϪ ³$©ã«Ê·fÞå3KñH†×;ãt’õX˸·ùÈË¿~—×ò]¨@&íQtB¢Œ i:ZÉÖò†p®(@ÿ¡yfQöí¢Í‰›ÓmžŽš5/QÐ!·ùaKYz½òÖ©Ÿ€ºü°lXóX°¬Ê7"®Ä{²¿ïˆQjjÇè™:Ïôüõ£æ¿§º˜o-äƒÁÚZµj†YÜ:þó-^)îq˳FæƒKÿú˜®hµAž @𙜠ЀR -€! -àˆ¼ùÎ;¯~nc_õÞ¥k·¿-<Â0Yð“€o•D“¾4á¸òί®xÀ5°²T~vPÆñ•_½ù—Ù€Å`±"’’ÿ±  €—þÛp\ ÀE݇۟_= ÝUˆá(/p¾&ļô¬àÔàá°¨l‡ ˆƒ }ÿ´"Á¸Ž€Øz‰n¨|tøfåÀÕKïžP8îÛ¡´ÿ«/pÏÿðÇ‹ühSHƒÎ}Üã 8 E -T˜ªVx®\|ï½"@wæå¼UÏxŽÌð‚™CŒ=¯’¬/”úX¨”õÿ¾CøþVüai=º†1 …ƒô0ðØ¿¡kÄÂÆÇ}£( -diGµ–Ë,ç„ñÑ1Á®»‡ø3 -† š0 -#p¨-ýˆô;‘ðMzÁ|Q”A‚›+›‚¿èp~VÛÓ tB -•ÊǺé zjOª¾ZŸÀƒ½‡Á’„–¬ ´=dZàþªxUw9¹Zî;äßQ€H½É8À~•u˜XÌŸ nFZzùcZD -QštÀA=¿Ç3 … ;ÖÇ?`î±ðqèÆ–î6û¿gíQI}ÿµy“¡Û˜Ù¾gŽ:¸Ïª–^;;;,Y´±º¾ÚElêéÉl†uO³0oŒüFY­¶0*Û3l{=/‡BôpÌÿ> þÞm2JÍOK€ Фø§—ÚùYô|æ ÏPÌHÃP{ι—¡ôS×p aG›»]ßQ¿ÖÌGzHKÐQ…å*®È]ݳ=¼³8-»N‚æ=½ióH/A.DûÇæŸÿ™-ÅaV¤ÅP°i/·>˜DXšƒÀñ¼÷Œ¶ÃAmI'! c¨‹T¿CÃ`„å l™«_×ý“Ó4Y©¹ÚGÍ29P1&ÚIó|±ƒ$™ -ÐUFÆm¾”®e]ùÛh0øŸÃÚàžI—'üµæª®Ú\›nsAJ”Í`­Y†/’•pN ';×p¤´´c4˜¨¦BQk› k™˜=%´¹Îè8ƒðÙº ûÿü¿œ:Óò¯¡Î¢Ç@Î5>T$ã¤ò£c(›€óõ³Œ(<ç/\˜;4ÿ ÿˆ¾¹ùÚlµ{Kü-nœç—ˆ9¢¨ýW-x!.Z¡˜ -BwÄ߉¥ô¦ì¡ç“N= ãù¿#2>`)X¤xx_¹øÎÏE®\3dF ÀmæÎ+¿½ÐÆÀ>Ûà“2 -ûø»vñw<€Ž ‹¯]y÷½«Âsa™R uàÍ+VF™Ð1nûß—úøG¯ß›4üüôÇ0À‹…à8äð¹ò¼vIz+A2tF ðb5B`XŸ„u/×ûØÁ€³`\èæ“ÞÒ5þ—¸(½œ3{ì%¹:]t~’ƒ¬hJü!ùp•ÙŠþ7¥97')aãÑ÷ª¸¶öe#³’¬äƒýÄñíííìËøÇ^føŸí*Q«füE `• €¤›Ñ0Úa±ÊDÙxiÇýŸ ÕìP©BmÄs°ïij‡’: t@¿)€’1ÀÇŨ ÁÍÈÕnz·†“RiÝjÈýe€XÈBîïQ*ÄXQú5’F]濤ÎÓ-æ#/~Ÿ WºZº{gess(¨Ë‡#ì÷´Ël)’|È2)ÿøÛßTÔf7îŽ6‡ÃÑЗ˶Vjz¨Wr>Ùp¸›gÝ,_Û.¦ýa6Tói8ÂAm(m Qw¿£Œ´›õó|Ø×yŠÛ 72}•l˜4³Í»¬N¿–6)`r#Ðg¾2Ì»j2Ò†µè þZh~Ëš+µXÃwûîïßË’üïÒü®”ÏGÊfEš«¬Rst·æÙ­|ð×Q#éŽDúÙ²r9Ô~ü]ÖÈÿA›ë¥vGsê@BÀÇ’ôÛ]ckmsÔmKó!lI·ntGMmÍ¥­šÂó=ª µ ÷¨+œî*[¾’ »¸î² pžoÞSP)-sÙš÷R<ë•Ó§NW®Ÿ¯/Ì [ =!(H Ë›ðt¼ZþOˆ(=-ž¨"õëÿJhü_i̓ÙnWšéVIÓ&7«Ô„H‡Å Eà¶1&ñ"*^0s¸O?éÌ©Ì10ºÛlÅ>¨°Øa±ß¾€§¯¾þæ a³(øZF¸ìÉ/¿ùÖHOºÏ9¡m€Vµ9öÈÚ·7|€Œw þ«W~õÞµk¶ÿU²\{ï7¯` - -• - ËB„¤²Ÿ‹K$Žÿ· Î !³º@ê ùÙ»2É• Î<á8—Â…Êhr­èÙøê˯¾üò)x¬àÐPÀ?=¢Jk1Ñ ¼…/@ €£‚y&A"&Ðíæƒî=ˆ»`;ÞW\»zÅ  ¼G>áwí(ß2ŸÂ ±€ƒøEÌà¸ß÷ ëßÃ?ƒ¤½Ì oêÛÌv4€y&V|a Àuðçå}=ÜYÉ®/»u½OÏô}º¦…ûöMË6% -Ô{ -D×8d܈ÿA”‡¥µª -J€Ñ VíÀ Ü>€–-u¥Tö$$W°)ŽøÀ§‡†<Ž>~BHŸT#¥3P^¼+;vµ ¾«@°T°²–6èø°Ì8ØŠÄ•QŠÀÄÀ\o)3j BêbÕmÁšÃt’˜#éM@6=xÉðÿŒns€ßc-%ÆÉl³ÕîöÝÍ"ÙŽN® —0 Jt™ñ¢d´B%×Ñ*òzJÓ~ÿä)Èïpcÿ §EL ð(ŸÑ‹†Ò{d¬ÂDŒT÷˜Qð‡%ìíïàÀ°A`ƒž`20±Á€®ÌïZmñ3ÁHâÉ—Þè&ýpKÿÙh“geç¿õ’E…,§TØ@|ºR@"0ÇÀÄÐïfµZ:'˜ì±æÂMIºd:Ôí'­E\ d£}ú^»ËÚnY¿–ôuœ1~èƒQ&äâEY‚®[ÝL¤fqzcÝåûÚðyH€Rö×îYóÁZÍÑÚ‰¨™`¤ÊZH)ÍóBóD¨?SÓ‡’to„¿Â³ìåùj·ÝôU¡Fƒi*Ik¶ú¾Ú´~¾ -«o&y#Q#Üa¥íLaz£0I¦6U1‹—IG\G'°fÝ[*mסÿúß²Z_M¾ ê`¹Þ»4Š8‹4×f›6WÕt+“¾ª¤"šÑbÍuE¢kÄ^»-MP1™.ió€Ú(‡uÖÆk"¹Å±tùV–ëæÜ -ݘ¦¡^™˜ªG/@½.öÓPCXãŸ\^?àèZjmÏ0Ḡë'à¿Å—m  -,-Ýò÷=me=1R}ÿ1kÂ’?éª3 Æÿ›úëÄSM€•À ÿ{zãå·âTq$1~€Oß`œÒíÒ›?ãçoþêÊ5Ë`}1•“I*°!^ëÖVôçΛœE”˵KïüüÍ‹×nßÖQ¨·?#.è¬o¾‡‰l„ô5F½ùSº40S"Ü-å7Æÿ7ŽsØ@^›öŸ‰ - ‘>`"íÍІR ½¸Ê•÷®CJÀÏÞj,.~T¤ÕZ•ÔæúéšòÕ™Ëúã,Û!3U©:ååZ£×L×jJÀš‹d>£œ.7j–™")º R˜;zûµIf¹Ü¢<ÒWgªµFÒ¸š s -W~k>3£äÊFeDÞº¾zùrM­$Â6e¢DµǦU,ùœ={öŒþΞ=ræ¬u*5¯¡9¥©Räb¹¬œµ;¡yUšs•ÿ$®Fm¦aŽ|¼ˆþ‹5idŧ}´¸¨¬Ú+Ú'ê®&úõŒ - Ÿ²ÎSg]öjÕŠzT¯ åàŒfftÇ&5w‘PÛQàôÙ3§‹g7>{®hßòW~©N&ÿ¬€a€S§Î2 ažqUö¦Ï—ø/Û@'[‚úÔÍz;þt©H ÿ-á=¦ÞŸrwßôF']ª¤îà©Ïñð¾P1€€ þï1úŒ ÿó!ê\–ÁB¡ÈŸ!o¼ñóŸ¿Cº¡ô*Cú•À<ÁÖþç·¿…ŒAÔá.DÐîà¸wß|ãÍ‹ŸÝ¾ÍáÛ_! zÃ!¤z]!:€EÅéŠäÊï.]¼øîEX@ @7ùyüÇ`£»ð\<éžÐ E¿úæ <&3ÌÎ÷åWÌ1ÄèÂc.ýhùMøð„NbøÆ · -À²ˆ ƹÀ7ôè`œþÓZ…Ë)<jŽØ—Ä-Š[»Î:šZ ¢CŸ}våÊ»ï^Dð_Õ"öò=ƒ8EþüÂQ€õº¾©ÇxNP7ø¼L<_&ÞÖº'°ÛŒí{àáN æïcÄÜ?ld"^LG…Ž  ¸ @áG×'(S@©‘•Ó?ß&;fªÒ€»z×)"xÆ~‘Ð⋅𮨰È>R˜#ËÌÀ4X€KŽ—¬ß^`uŸø¤k„>h?Æ>”uh'Õ”‘] -ÖŒbTý!„Œµ—cA?ó&šÛÞ`*e–fnÅu–Ò‘èî!2ð˜h}ˆù¿Ã0ÀÀqeKœ¨OQÒÆ\%øŠŽˆ!I9 H1`,Ä‹Oí=柺(-õxò$nøÜonWn)Õ2ök1x&ˆd^H}CÖó>†uSà/ûÖORÝÀM.[Ë["+XFa7×q™ŠMÖ‰M72è¢Ð¨‰ÑÝ&Í"3á:½é%“?g¨›,cƒí~í£6Va:”/»vy¹ð`Ä.ëH;í»—›‹M])KY&uC–µmm›ÁQZ‰r岤=-ë5TD#R¦é¢5gv&4á0f»TÔ¡èäÎóîâ´5gÍ¥–ÊòYÔ–`Q·ZiKšKãåÅZ·¥Úµ1¬õg—뀸ÿ\6òoÙÙ:ÙÄgÏ€êë¡ÜRÓ…æØÎº,ùxú£tÕ² SFzwá¸Í9ŽæŒÔ´ªR3vÿ8ÝÍ­j7YÔeEE|„I©¬š§Ýie­;Ëb~*úPst¨€|}ZÖ\lÛÆ§Íu#¸xt«›¹æjó™ZwC:v}“Ñ]WÏž9uúÌ™©)ñžJEõ®ÐRs6êâr¯%?*`bÀù#ÁÜ… -ý›*ÈüàH—ºž%!-–JSÏ ]8 -°@èG¯—@·‡ÝBÈReꔀžÙ"8xê1áƒ!ïñ–Ñ¢•òCVgØ­²#²Ž?‡¼ñ&“÷ãc×.þÊñ¶ÿo KÁté%ÂQü!ˆ»"ðó‹öõ“û¿]}ïW“°Ižo¾)B;Yçë†Öû¡ç¿{ÞýÍ»pLx¼€‰€>'‚@Š^yïÊg·ñ¨e,}¥ÿ5º3@ÿB¾QÞï]=. t¼yæÍpÈØþõ*” -Lff¤%½ƒH_µ…ËÅB´Sùd´?Í/‡ bWÜ@¦ÊÖ\‚€?»BH7ؼA›WÔïB+ˆ;ÀÉ ²fq`h`÷ÏJ…¨à—x´qá/™èúõ¹ëοP„þC™xX¬˜zŽMßÛ‘e*P&. @¨´} -lòaŒ’° ÖƒÇ@. ‹à’1ä@Hªd`ÕÀªtôUct“Fÿ\ 9_Ž_˜ñÎR¡mC6°¨sNQ\D†B’À7NH‰ó6â³"ž²StXv -;àEdæ´ÊZèè«ípÀ|HŒ–c&€ýýûL™°sŸ^€-Í«ùFø -7-"û_y<³¾‚)£-•ƒrT†^cAùëÆ! g+˜ €ú<±ºŒÀ»ÿüçþ~^T[¢‹•ˆ0í¨vœÑ!whWYšAéMÕ:í¯ûI熧 NÌÉÐF:5ú«ýå¤Õ¬6f™ºÆ6ž{Ñ'Ýÿt´; ‡8ijí ç.ÏËî²R°;LI–ï×uŠ„ÝL€Ÿú$Þþ¢£i¶>Ìéœî䃡øÐü®Šöµ±Fï·> Ó§p¦Ÿ+Ï4ÛªtI.°þëp8Ü%“ÁÚà»Ýáæîè¯wt9dÝöåÆÝ‘ÙΘû¼'Íw=]ƒ ȵԼ«B¥y¸Û®%Y_ Í¥0õ¥G£{:œ¥·´ÝêÃAº˜¸zðïahî±xÚ'Î1O¦…»î9ri½ÙJçÒ•N‡ÅôÑ|xï¯÷˜ÐO—-§µFŠæ1‡"šýLµ¾?Š6Ïw•Š‚¦†‚*k¨VØMk‹Ýlt?Ïÿ²Šæ"OY}´N G;Dh뚢ðÝõ~C$‰‹{Ãmþšç+½mèä(­}Ü^·ߩÅÕ‚„Œ†ƒÝ‘ª¢6ÿÇîppïž4ät¨¤ZòÝŽÚU¤:÷’ÊT&z圞gõ´uýz£¥L x=ùñ€ÉQSï1‡(æ?€Nvk ügÍÀFeî?ÝIá<Ÿ^C²fº@§8”e0 ðÿºc.¨lUÁÛø3p¹@¿â ÌÑ€hÁ£ò«Û_}ûí—"§~þs¢ ‘ô™@¾­©þë"¦´I˜ä>îk×ÞýÙîÁJîWF¹!Õ;o^ùL ï^Ä–»Ìæ"])¿»æà{áwñ7ø³¦ˆ€S \¹ŠÁŒù¯rTÁ¯n‹\¢g#J À@3ß`/Àá@€ßD Àéc)_8.ðÆ€·‹S—€e­Ú>I‘×.ý®àÁo| °í³Ø(€ZR›¼¼=éYÜM‹6!o^t¦ªLŒI ¸uˆ -øóŸÿýÏÇöâ…ã=‡1g_ê¸~=z _,îXe²×\(ÅØtÙ|á˜fx“± -°°ˆ1ñ‚ÿX cú!  ž@¦û3¸,zPÙÚ€»€xÆQÐ( w¶„dcÜÕ®‰25S³ Ï\B"r %»:KáÊ}Œäz‡7°ÙrЗŇIjmD¬+Y©4¥ˆ¾t ¢(®œáz3ÀÂt€æð²9,À°>&Ú`켄QáÀ@÷ùl=iìÑtì0ÚrÈ `ô׋ñ‘z‡vh&  =àÚQ‹ÒµwE©´§cÞDt‘Óñ§ §}¨«\{*¤¬Užî-!|Ä$ܧWc›Ù ×WW3¦7j°¤!!ˆ{HY_Š~úÕ[’,ûG·Aà¾ÐäØ@/fá#ËòâN.uz2ÖÁNg|Ó -ztB!š7Ï¥›) ¿&é‡^?Ïê?+}Dó••´ÑÜMo´’bÚ%Ë3¸Z ”˜Ð\{£¼Ö]_òЈâÐq›Kûâ¤ÊJkR<ÆZHhL×P -[KP—»L‡°Òû´HgüzùZÖc-ÓšžèR³9b\e)þÒPaÖèGÁÈèàEq¢“½^?fpdÀ±¦)nÕU‰¾°pUënû?ªBUméû“{!}zLý§^t´S -¡$ð¯§vx`†|ðÞ[FŒÀ ½ MJ„Ò§ñ߯"ƒÔ˜¬Nùí¿Ópê á7'¬ß}ïÚ×±.&½22…9èH‰KÞ‡É×·¿¸v‘Å™DC.¾Iƒ6è°§³žNˆÀßWc*à7ˆxVì¸F6ÊO%‘k´ C€ÿ¹Ì}tRÍôúêÚW*Ìó@2`gÞ9Ó“Lô°ù.²ãÔ•K¿,«lá?¡_ß&àÒE¦F¸ åUŽðÝÐÑÏŒüÊ6zøwzÕ ˜‚ÈËðÉݽrñÍ7ЭÐÀÿ#<ȱàÂÛ‚x›ýÏzÆó¼2àú«=«²üó­~ØÿıÃövMÛÛ“iÊÈ4w …l /dú²mÒà–2œÕÀÍI ð‡Æ ƒ¹þu €âBüÔB"C/WÇ%‚?2rè þ¹:è…iéôïâ@kŸ±Ï”ÜÇ>¥FÑAà] ¬‚yŠÊ --µR ׃˜Nf"}l²@¤â÷ðiàÀ}Ëv˜—a"CHU&à쯳’ž%¢çê–c¼°ƒ¡Zaw¨”‚"›s¸`ü)ð,w·]˜ûî¶ž°€öh[þ$Ñ@kžÿ (šÁUS^Ü^½sH¼ÆÅAIç½\ Ǥõ^¿Ñì¯0ÐNG -Þ”päñk¼UM=5OÖ[VCà]ŲÝôte]Ân5ÆlcO#5¥òX󬔚Ka_°È¶TA&¢Ët š“— ¿×kÖúyL3`:‚@,Ì?n6Ïzµ ù………9Á?ýÑs-Ò H7­ùŸþšg½îl2QP{ÓÜÑH¥H™$In]‡^ÑÇ'L9†³Ù@Û·ÆÃ'Úü†.iãéþÐ<ˆõ òd&.ub !×K¼eåEhàbíéäŽÏ˜uù¬O3^šîðÿÄæÊÅ3oªMtB#6@®²}dz‚Êò?Îày`“¢³¿˜:}þŸñô ýÇHÅ&Ý`@îï`þãØ{àÈô2>5  Ò ,v0åÐ -Vídgzã*Ç•öñ#•!™E”–sN¤ì~xH¸‰ÈTÙ¸ã¿5½‘=%ÇU¦¾\ïÂ7åÂU.ªxýØ‘Bª U¥†€®JB² $}dÊK…i* a?„@‚þ œÇü^î³\¢Ìø¦d€0“N•þêr®vd…Äæÿl£Þh6ÛÝe€{û~ô±Àö•#íªÂ¨#¸ * }]_´}*^%(WSôÒô‰ˆÀ“'´†@¥~Ð5WbšâûX!@µp/³pŠnJÃé ¾Ç}:¦™1÷§K»I#fÜê-¡/|¾|¢†ðX_0¶§aÞlæ8 ´Ÿ2Ò] ¤rOƒ› `§ñ«ÛS -ÐÁt{+Į̈#lÊî I>¡©ebßÝéÐR=MÑ\e.¥÷ÒZšcªX½SAÏ“wAqÉʰ][ÉÓeèyFÁ5ìH—D]’¡*ÃŒ¶X¥çë,ÿKèéÏ4@/]«º µ&þÖ£Îã-Ú?@X¤yÒÆ €Ò‡Ý™t:J-½·¥v1cÒ¡K=C'ÛLkw˜r€kÝŒ¾Îèå6ïäétúW·¹X–«ˆ—#Z]`èeñzLˆ£“ù°Ñˆ-ÅâѪ¿ÐØ.€·<à}|Ôß«“¾~T À F´¼:Ѥ@Ïß–îzÑý/)¹SÇ«²þ¯S0€%(áBJ\àŸzù[•óç™ÑéÐp$€þ‡:Ð` ¿@€¡ˆ? -ÔŠÀ:[Ç6Ö…Tß~-ã\øÿ†€XA®xaN 2}Ä© ³ö¸”pY‡@~þ®0é6“ðß&8˜r0õqñ‹²Ôµeý”£2‹âJ€¿óÿwÚ0U1 - Cµá€c‚½²üLù RÅT>ázŸyF‰J—Ò¶ü)è÷ô€àß^€˜À»€KÒˆŠÍ8)EÃ^’¢hò¹ÚM\‰~³‚Â{`ä/Eͦû3ÞrÆú :@ÇÈPŸ‘«/vCû_Å€ €ãQ;Ãÿ¯.¾w•Á Öø¯ßfÿXlõ¿(`ì ðå€W1€uzpT›l¬ ¾îoÇ5tïs¥€ x`l"³¬7NLÀ`{ÑAÀq„-R -tÈÈ0ià þ Áà•vÈÚØPv‘(P];>à‹Ü8¨”.Ô¸ž¤ö†KЖ£$D¼ZÎ÷f BKìâ²lŸöq]¡Q5ƒîøø|šŠÀOÉ:+=o ³b`ï¥”Ø (-K}\\Ȫ¹s„ä2!¿b Œk†ˆH„*û͉œó1È:3IÄÓfR>» À!"ï†í|‰eýIc}xôQŒþCÀ=# áOW†.ûŸ€Wxüz/bŒ•1ÜÙHù{Öæïƒs\‘!]\T€ÿ`…à7ï^¤@טˌE•»¨æD¤ö¥kÐiRôP2Î]­k­¡kU·'<2´_Ù£@€@l•)/‰Cùb§§ZW/‰ -‰ ‰êB»ê¦¾ãYðèxç#¢/ -€ëú½h€W¯h)€þÅB¼ºcÁª Ö¨Ù,È@@üÜ^W¶/Hrˆ€à´PD6¸/”´€Ýgå€RÀ–6HahÂÕÆ*½P cT@Àj9­NãÌvró%ÅvJÒhOùèÚïoî ݸœŸDeô -ÎÔç¼´®òr¦¤õ¶UVí~ð%!¼m ð€ñòÂo™Ê¬œ»wß‹nåxÿWYô—ñ~ÑÌeËÙ²Ž+Ì* ýˆÓ_mkü—2´´B]tr¥yùu‘"à©ëD«Rª¯wÈIDY RÅ…œ3ÏP5\@G†r©ž0éÓ¬†Q¾ËÝånWÏ¢~à‰€ à³÷ÙÍm?fA#N̪'P,¦¹`C{ºPoˆ -È €PzáG6\H³F2ÂÖApzbE:®gda6¦Ó‘±^J`gcÉê¸h¥st2ÚÒ•½2È>J<å_)Kâ-ÂId=yñâDˆN–æÉLÊ$<ªg8 ZmôõVrÃPjLsOÇ(MóVÃñ€: #ê+)4—¢Ãútk”ë* ¯®øœpØ -g= ªZy‰Î°W5YP1(8Rš¬-†%u¬z8-`&(ÊfÔžnÓæ%Ñi+4×U¦‰(—¶Ua -Sãä활˜ -ÝÐbþäòÖr‘ ؇­éÖîÊZ²›î.àjîZOÍjkû8ï5D)†-*‘ù.Úã8€_€’"x:$ɇ'ý¨€Œ(<çߨpÏâ{¢jŠ zŸø!:&n¦…Tø.ðg­cžÔÇÅ\/<êàƒöñd6Í -ÿF@î²æ¿þêÚÅŸÓðÆ› W÷µ+v„„ÁîÉî8>„`RUÂ¥S?÷ªN}ù…,àÀ%ðßÅ’Æm (b‚7"7€Ô1Ð &,=2Ã=ð8@rå½+âÚøÌAwRô°8ò¥'¼ò›ãéÄ€2н¬JxˆÌjÈKï]ð²)n€b¥ü)ñÚ:Ç„¾ -”G¸-W¥.€Cñâ„ß q÷ƒÛNÄ€Z‘ s6½û•è\EzÄ´~uñWÁé8À¯ÿüç¯ÿüí7ã:‰x œ@Dà§§þ)@èŸÞµ%È"@F,ÔÆì6{,‡¥ ô1ÑX/àÀW-aWàÂr\ø"$]€¸àÜ’˜©:j86ýð=k=òú:¢+É&¯À:½Û„‰ЦÀÍ "w§u:$Žû#è@Šžp+/QT.{ltº?=j¨Ú‰ËLƒ–äðøáÁ»èþþãPÛÑ@ƒ2py5ï/{0@¿pÿ³õf‹.€ÕÕ­uÆu –Þ± @­¬ŒQ”…£Bmæ«ÆL÷«]œ(j™'Ož2€T§¶O<9íàL{!`jÅÒAôaŽÑ©¡¢ô§2j›¾ÿGûºÝÒÄþŒOk´žçËý6 5f‰cœÕ£NÀ!¸1 &€pˆ¥ùèø˧¾Àº–ôÀ,Àh>¡óÄxK\’= -„`ú'Õæ¦ÃÑÃ\®+³³Û˜ŽgsQ©#fÊ: ô/ )Ï[1ç/o%9dB”`b#‚r4/žûCÃh¶Rh®Ó0o"eáÒ€aœÖwó•¢Û½ôŽPƒH<¦yãl‹ùR€Æ»5¤ogi Í ª€¾½,JKûŒ/ÚŽ-©cᤊS Í;Ãn-É{äXÖºÔ–Êêèzî$š:̲nc6ߌž}Iñ— Õ;ykº˜+Ø÷T€~hΦ÷ô¯´ƒ•ÅY·pqÿƽFhqS¿`=~Ze´øêœ\~¼ Ößá(€ãb*•ùy¥:OÝK -7„Ù~<4ãNU£B_NeŠ.€—ÆÐãs¡"Xîã¥DpÁ»‘%à…€wß)Xmðåµw…†oüüwÆ`*°V0ÔfºDI?'Þ¯@T‘§ÑWõoI(a\¦c -@A8¤SñVæ¿»â¥÷y÷À;;„uö×#¬X¨írÊXÏ=€º_‰èÄù±z/Û Ba - @ %FÈʧ¥€Í¼â ÎÃUÜ€s%:`ƒX7]Ä»ô—èŒÚq¢s&\‹c€Û*¹zQLKÄOzçâ;žÈY¬ã+1¯{p(~(è x],à…óˆœÄðŠõVW7¡d®.÷óuf³e!@Ùÿ÷qàd—ô}߆ <FE(;À¯}½Élù<°oÐu1E0H°Ц Í>}þ€krÑy“À:p­«tDÙ>~òÇ8—Ô™ÚÃͶ äZ!ˆd׿°ÔPöä\¨Kv¤Ê(¦3ª‡è¥6 Â"‹·Èf`îï¹€sþ¶7†›w›êy5šG}HócºðºxÎåýþéØÈâÈ*…)“4GwÁ»TÃŒg=¤hCÕ@ˆN‚ñúˆw׌B•bCYŸ¶Tï:Ô?#f£‘>gÜ®¯/˜.7›³ÕÙJµ2[•ù%¸¤àYÑ?e9¯‡"3Þ`«¾ÑHs¬õ°¢#H[¶3R€™ýà›­F+«%E¥¥BláòA@6jLû˜û,2G½¡!¨€#m}ªÇtöÑx@ÈÀf²‰Ñ:b•æÚÚ’Z·'x#;'n%Âb]Sø ¬9œHçï¥V·Ñö<Öa)½9ÖÛšÜE¯Æ•„cX¿c;¤ºLïCÍÚ¢9 )á£(S4»›*xÀ‡ðu)–‚ªA:·–rV îe²PË6/ÜÅ]ŠíèwùéZÃf-ß4þKíΡÏEé ¬vËFŒz7BQ;)®GÛ<Ë>íeZ¢ -ï_œ…yAqåç*ç~Q©¼¯_Xjø„¯.ËìŸpL À{êE;I2¨YÁ>ù”HˆˆÐsÙyÚP™"ÀGž‰Àk+[NqÝóJ+_˜ŠÚ‡hûpWˆ%,|„¡*L×ÿ7"|ãÍwKkUè}észËC„@NXÇnÀÕë’ÝõdñÎ' ¸úÞ;ïüê¢ÌPn|çM€õàªg…ƒN§ô1 0° -!€Ç:Ðyœ×O`}Œ/?¥…ÆâÞüK/ðœR-LTòxI€ß„ À^¢=È üF/p»F¬ ícôHt­—Jóa¿Âé(qšúÛrIÁ÷¬µué]iG¦ŽàÔyZW°º¯b,€H<@ÿŽ ->‘ þÊQ¯"€ËËY°±Áj@¬n}öðÿÛ? ÒJÌš -—Œ1à ){S"” -÷3@nœŒ=z4À”ÏðĄDz÷ZÁ©€c]«ä޳ ˜ ç¹\zú3>žÔ¤w?°,6C&HÈae[`¬iA*Pê«užÃúD@’—@Sà‡žâåôOä`ÉzÀLêƒÅ¼åQó4«þYkQÐÂSH2Ûh&:Ô§w€˜ûÌ&XÀYZ©ùBwtb$ ô.ÜøÐÌ"ÿ bÉ2ÿýIËè庖†?!ÊöÿÑYC>¹£¼>xDÜ'3 ”*äp†uN˜¨2ûËÙÊ/ %|•â”Nú4æ_De·š•]w— ôjµ?LJû5v>5Š&y-ñÄóÏ±Š§‰á_F’ Ü…‚Df³{=/œ„Dp·¸$,óFz³•7GÑ-a |2¤sɉßêúô¿ P£_8FsÔ21³ð FPè'—”ðïFwë>™ô¬*đȼˆÇo}XܨØMofÙ é%µá0ôÎ}ÎB˜†r”Jj €³—Ýã6ÅitÍŽƒ¬Ù¸å“¾Iyû“8»©s¥ Z¦ºWå$òÏÆËQ­ù˜ -xÒகõNT?wwHÂðé'öЙQþØ §3Ok -šˆ€!P¼ -¦÷m@"ÀdÂã?–0WYö :°í T"ÂÖ ”^|³ˆD¶Jj@qð°Ðß`­ÞQŽ2¾Á>ÖFb Õ7q0”W•B ‡ÃùüÚø?&o Ø?;\PŠq¦Ö¸C÷¿Ã y»rñŠô=VXrX @ÒP@]U ·¸€›’>­…Àx+@ë‚!¹¡ \KŸÒ€K18ü'½7õTpéŠjÃ0þsGô ëW.BÎk19à]<ïðº‡NÁ—Å\S…0ÐK×@ -üy‘0¿š~ßI¢7\Óà ¼ÀñéÌtGç4“Åì?ÄWT€JÀ ðDS ª-xá>þhÙæØØÀ•pÇmm\„Òiô)€‚)À!€1až/´eK—¾>ÂÊ%f `rüÉA&Â!íéj”bÒ_‰¯‡68üÀ—ÙzGq×Â¥q™ÑÕ¥KaÇß + ã(ÄÇïÂ~Z¸;ümÿßßgÚañüån¿Û]21ñ[;mG'h×èOz3ÑÙe‡]˜j©­0ìò‘'ØW9°€ ¡SAfhá P(ìVA{úÿ9®Cn’ØSÅHF:j¢Vb]£™h šBŸTHæÿÁÿCs€=†öû}=ñ›"<Ѫ³U?H%Tk¢[ÝŠS²û67ÃÅ^Àh#ØR”pt,NÐtS§³AÞª·Òa#¹ÇÕK²¥õÜõée'|Ë:KíQ" Ž&dÉÓxÒõàY#ɸˆƒ¸:‹±g,¶ïÍ9nX«[iÙpj…aÇ"$/@Í{C¡¨ìèd³2â(c-mư1¿Ô:›¤£Ùj` -8‰Ä¸šÓ‚Ñj#ëR锬£·ÆÔQ¾.,©KQ1t Rt+«±®°3œlA -Sú˚Ȧýk*+xGà. I}DóÕꔜ‰TL‹HC -ëÞÈ[4g{¥—7A)ý¯¢&™Gó ¯ÐYq ~Ú˜„ËëǼx-€"pÒP1À 0GJü@ÀÊÛ•ú1Æÿð¨ëxbÆð§„z¶—1çuÞHRp€£"¼°€£jÌ%¦_€‹—Œ*Wß& ˆHŸÀú!þ\†+ÐJ@wægÊÂýqÛÁŒ€²Ò/½ós€PH2va&¹Ñàäˆí~0Ø]?2?'R8 Øb-µY{…”¥8o é"ç„>Ã?::p]T2¥–t{Ât⢒ +ªDð¡›J¥ E¯ÖÇEἩ7Lx Ëš”O]*¤ºP2°´S˺Þq¯Žx˜pÂÀ·õd†¾Ú `™|,œj˾‹©N—W½LÍöÖým„ÿÉ |ôøK“Ð $áßÐ/ì`P@y¢ìr@¢CáyÄæ[ú78 †Á©Gö@²r©²}"(wþq‰§ó/9‡Ý€œ»Ã‹-rT*iªkÅžù'¢!Jb@ -Z1¯–«ƒ¡ HË1@[™-%ÕÅzÁw\q MBðAó{Œ›ÜÆüwÿ?k' Ø©2³úXÿõb5 ÙF³.¯æ«X×jëû;û&Œ4¯ ïà¡Ú…¦Õ§ -ÐÒÍ£°éüýc¸ö^ø€*ISu¡vRœúšQ¨…‚ÁI€~íp+>öñÀƒ?${Û[;ÑàE –Ûmº¨€ž‹¬ÜR<Ñ%Å‹ òTw7n‰tÂi‡“µºY³–­¹›XÐý ®!zÄö6Se!ІðÌ-Ì×Bw/|ÃìÜMªŒÐ·*%ÂýßìY–ÝËXô'LÌçƒ4oj§eΚS ->ýÈmB ½2ë%ô&šk_Z%#z…Uèa‚ÚR5ËZ7ú²£ÓV£Îp1º¿‘¤ *×%ÕH †"ºi– í8Ä……?äÆq½ è T0Ŷë.Ô9ªŠ³‹äÔK$Cûé°ÛnêÚk"9ZßHHL›çYOJèÌ”Ì02塀”N‚Nv“&éj6Ä¥èô²û½¥í -õ깩ʹJåý A¯ÿÿüj€‡£®ÏA€G=sÄ\¨Ïv]q+–ôô[yv}ì8_xèx&àˆ btmÁ - Ì) gÿß1L”¢ …ÿoÈì·Á)P9ô8¡Ðd „cÆD𨢠àÍ` ÊôÒ0Vù€Ž³m!P9rºR¸Èôú/]eí*÷3/˜Èuê¸Ö…y¸7‡¨À"¾P†t‘Ç3Â|ÃôðøO -šCC!°Å‡£þ?û™P™RKüWa¾X‰ -/°Ý9îÿ½§c:AZW ŠÁÕ¢dAꮪZWA{{¬’«¨Òeÿ;ÀÜë«/¿ùú+HÀ×ú˜ÿ_刀W¯€èñRì3ƒx“9Ø“´ÏÀõõõímÁš8@99,=öú Ë,zÄ|;¶NTüBÀ‚Y¶ÞÝíml· VÓ )œ£ÇFwŸ lÖ5qDz՛þŸ„= Úñ™ªTwPž’BÌâZG„ (%è#^ÂLJ) àTE© Øðëß°Ìœy²˜ñÛ1±½Ï €²˜WWeð«9ei -2Õ¢tVZ?7;ëõ€ºËËHwËa€â; Ÿvv¼4s;â› Vzßmêã-Akç0:κ´Ž+b¡^ª©)‰žHy×DÄ‚Vc*@âÿT%1¯pD\#PšF†Š0ƒ}Ãöâ©LÝâ9<›•ª:2F½Þš¬Ð clˆ'( @Óé°É8¾N¯ƒ}˜æµÖGº@Ehä„–$)á¥Ù.3שÜÂô•Õn°<› -‰ò(¶·+ÐÅ/ô:"u•$Äø ,úÞš2Ê’énœkV]êªë*2ȧr¼àš7žÁP¢„þ´x´#ÿz­¥ÓIð…ë.NåR³|»àSï=ðtÕáæ§i±ûù÷».³1mNû“•Z¦ÇB¿bÓ)q—P -Ì¡æ¸àí%Ð}P£‡æÉ(©åC4wÚ ±?úZò¼–¨ÍUsñ$'’ja0ݯMd·91š½A¯YK»ÒNeöhmãßz«Îy €mt ùX~T À Fãˆ.<ø\…îT®”Á|JVz$ëq-ðPÆhÀÑQöÆèb 81@Ñÿر”3ïŠ8´¬¤ˆø¹p%ñ/¾óÎot<|̃Ëá%>Ʋú%xãCÖðžŠÁ0UŽ…ììd‡V¼‘‹þIŽü' $?‰³tG<™¼ PkÄä:ò"«‚Rxßú‡¸4QFì¿ ÀRF¼I€=¡“ -r} ýfA?Ì VÅ´?n*ÊôF]\°²Ð€À5 •Åü/)§ýT€ -à~ ©Ž^:¡d¿ƒo©©%b¥àömáÿW_õÕW_Ÿ>Ë·õåÏH@‰¾‚o½’0ø‹ÿô`8yzI#!>mucc$@1€¬Pçqï`‘€Éîâð ,¯À‰Èð@Å$uÅa@‹Í'2ö\Þ !"|]_ñÃSsB|*ð‹í]îñÓÀrБ+¤†´6>züäÑSmè4DDt@'”&/Gb µ^º”\|µ2ÑŰA#àh—ÑB‹蟈¹¢ÿE–¶v¶×YïUð_g¡›³þк!þWª³Íd¹Ë€ O´çp ºYp²|fœqJ2?>r2KZ£šö:OÁµp¥b% •œ„Û»Œ%“Ëø¹pIØeÛ’…Úèߥµnfì. -K„5‹Mæ¨ .÷˜*à^¾˜`d’…C 4*…â ëFa1Bé<œ Ô;ךƒi$²Cs!]ÖhäkAk¨>!R@ÐÉ+O§[tW+ï× ï'Š -Í­:‘ôŸfC@¨]èa>G@¹B¿ bN=i2r›Ìh.ajâ8”1f¢ÅbÊ­j6 v´w0…RÊ^ökx -›^é’‚RÝ͓څæk ‘¬‹ˆ²Í“ jj+Z¼#ô -ü=À÷`…Ñ1 -@OØÎ`]2î·J7@ý¼nÚÜua¾Ì³9{Ò ¬ŸPáàQNà§²›§»ÁBRB Ë ¸R*ÀÇDÀïy¹ÿ7~öNt9›<ë˜èK—ø€þE/ýÏÞ˜ô¼†Á’‚4wC”‰ ŽzóñˆþŽþFHýð€y~†!Næ‘… §n€bav¡ Jü;öñ1t€3?+—Š@†¨­S5zÎð1r*àwÛª/‚¸Þ óuOÊhÜÿP½ÏÑ­ÀÕ¾Nâȧ¯á9€^¬¾üå5Ùÿx„ÿ_]Ÿ:=%®xèxùL€…àå1õ´ýñ‹ÿôTgŠºŠã»gë ñzaãÓ0÷pÿË,dj8þ¿‚ Üö8ü ˆÆMý TA fÿ  9,0G©ô' œ¨5èÚãЄ`[ë86{¤Î@µ§Oã -¼ñ,b6xp -ÑÛŠ(J¥tôòñ@§Êñ)ØçƒúZЖ8-¡ ô¦zª§*¨âqZoX W½@Ó3b/ëí>€nÓ‹æëUýe½:Ëg“€gÂl³Õ^î÷Y}Éc.¼S.î?f"S µ--U¤¬J—†fZRê‚–Ú´ŸŸÊ«Ò>¤6/ªÊ¿Q^jè'oiȇþÐÖÐ -{4hñ‚xRB*tŸÕ‚¬!š.2‚1¤âç7è _@ƒóy,Â:Î39•ÝjT»¹ìʈBŒIJ•èxîž^®CFøÙfîð5P¦Äÿ¢_º û®]ËÖ…E‰£ŒXV&ëåDh÷zB¶,Ó¶d˜‰~H±ßúðF¡¶DéæÓeÖG±y2J« ͵ÁŽ.£ÐüfÚùtÐYÊ\|­¶A€“ êL2d,ÝH?¨c›Hu6`t m3¦6^BóÉ ¯6£]is°(ߌćâi $6ö•ëtû¨æ’±æ4:cØ;ÙP,éÃÓv·9“¾‹ @q€Ù…´#:â.: µÍóÞšÚœ òT^´yoÔ,† †æ“býE„ÿçìÐSÍMqryý˜Áñ£ŽŸ`¾ôÌ ¼•ëû•Sg”Mýz%ÀÛz>˨—ÅO_Î8€=?±‰ð<x8ÏC½‹@šødÓ1káxG @èÀx-â3ÿ8ÀV%]˜ÏîdF@u¥-­88ö(_w¬A©.Êà.¯¨Gb•«c×®†öOn…l&`áÒðÂ{ëø€ŸEîFêE€ÞØ‹YA€h ^Y<'Á‚{¼cÄ„€P¸p”T„„àókß„&”¤s\Aàjc<1„e€2â¬Î°®O¨÷+.e¬@ápŽ„’¹?W.©ßxÖ Fzú-¾­c€¿#Ïzg|õZúY®þã¥!L:wŽ~8½Wª®FÒ_ߨ¸[ ËT€Y(xÐÆLÁM€“a90ÇÈØŠÃ]GŸ5>æúpFd>GJá0‘Ê’œ\™ ßXõ>÷â"QVO˜6#ß4ÄXè“\ë(KÙ]ä^Š}ìí‡N÷Y xuuu¹ßNÝ€x Eò¬«§yaKû¹.)wú¯wšq,½ÇMÌ»C½G‘®t¼w†vtFW3„¹­ó]Ö—Ín¶)…÷»¾ñÅÜ#ñf ƒÍÿüÇ`óÿOÛßìÆueéÚ¨ „mन-ª“ê$ -H†Ù3ˆ6‚É0Cf2>3±h†¸ŠŽÊ«aÓ ]Ãb0¥ä.n…%ˆ¹%°¡JAþJRϽ¼û.Îó¼sI9S¶jœAFÄú™?cÎ5çxÇógœL&G'gú©2;.Û»—l~1'P ÿç§Å–óÎA¦ÒÉ÷~Ý4pþõCÝó%˜>øpÞÔc¹ù=ª œ°»Ÿ y‘n8ߊÖÿÙ,Wä³Öìå«ü“@:™ü/øÿc‹¨/¹iì{ó8NZð†œGçÊ œ¤Âvë³a'“+_H¸¿ß4ßÎÆ5ÿœ·jœOÄ“®xæsÊN€ke@ðŸ,~×Cd¨v¬z«‹/ ¶ ² Î{4ÍM=&äþï–¯}²Ô[ê 6U]ÐYz¿‹ê›pÒ‹ï¢wï Sº»¾~ïîÝk¿ZPuYâ™Ö Γý¯ùpã3žE¶dh/õ®- ~­6¤Û‚òÝ\øç(O>²ë×?º~ýÚG×øûèZùû;r€…è<„'d|/s·ÒCÓÚ9pÀ¢Zö ¼eÛeÇX² LÎP„üñÄæ¸ÀT[ÔT’aÞþPf$t.©xÕ¥ dxŰRËäÍ+ÊãÛÜ - ezBx€N³··lõæ€^Ó4¾4r¦;tÔÌêaÕÌÏšðkQsvv† ?jöÏö›£a¿_ŸÌêzü§“‡“ÙäPX¨Ç'ãf:{1õíõ%ÉÆÙk³³³'[ÕÉt6óõþ¾›¾¼|¿©¿M€”Q=={ü]sÐýßdF¨‡rÑü)/± ëIsøø=~âyÜZ¸IÙ;0ïÈw-°Žpí*„"Å áMÐ_]è˼‹…ÞÍ% Y%™Ô¾t‡:¿»´V¡­ßUXwº;Ú×ÂÇ7*XÕÛ¥4êT§s(T býæMÊÃÃûu8çñŠpB±Ð«Ö@Œe‘…Ñ5£Æ¼^øøã%Ÿ1O¢”ráú?¡Øü]¿~ýŸ…4J¸®>BÂ)2µ¯^±ßw)OÏ\1ßU¾\8º€2 –yS½P]E`¡§JÄœ¯ýã·R-Ü-€Å_öœþeÉÿù“lcWöÿyúèÈ¥eGÀWÏ}!ð9†n°2œ4®Ë=ɇëbk†Þ½‚*Ð"0Ðäa¾x«…m~Ð4òB¦èH0s%_›óåü÷PóŸÄJ袘™Ž¯…‡ÖþýK"ª_pMeEÏ~¦’ YäÍ„IÔ!)ä'8 ßj>™¡àMlvìÿ—ºðŸ<ÁXF8¢ùwu?(Z,é'-aûCŸuzƒá¶Ëø: ÐÓçOMRßÒÁÀGÄ6ÛT)¼öùµêKU{«¸:Âk -=?.G1÷ ^žžŸÿ\ö½ÆP|hç/_GÈ´wÆþÏ"@ç:¯±ß[-Ææ¦¬ãÀYCÒïÊ ðÈ5Üès²Ñß Ôžw?5DH;¸ß_íðµ Qèü‚3C’"Ψ»urŒ¶·«æ€ûýáàiBGäCfÕpeÊÄÕ­~·?Øò¤ȸ^ùŸ0¿÷ëÑÿü|X{rÄ‚Ÿm¸Ø -çÄU#’$2g[î{Óa¥/ç†r¸@λp.™÷ û⑜WÔœ÷»‚Þh.([8?¨F{fi.Þ¨†Ÿî :ȋť…Å…¿º¡¬”—–îmÖ_Mã¯ÁCïÑ2Ê“•Üw‰µêsP“ìqLš&·½7ì[x€g9÷ …sÉ¡ ŸHÿ‚óy¥ó-çÛ[ƒÑðSêü€m£)QÖ-½; ÿà”acŒVFGœ}Rt-BG§Åxƒ"D\@@&WÀ1GTtüŒ@oÂñ%`;?†¼ˆË-½ÚU¡³D·ö2‰Ž x^×oðã~kSÎòú[þD|.'aÛñeKC^ß··eƒd|®Á9n93¥@£p‰º’û‚¥» -–•ò£SUÔKÌe·Í=ª÷FÇ¢¼}å0¾jÝãGòÁÚlW{YÀ£§°²3ÙÂ1rò©˜q?W­a4 k ü•‚êÁðaÉ;œ‘b -ȇr•ÙÂ-ù£ñéöqà“ã'ÎjFÛy; °·Üé,ó×鬬vW:Ë+++ÝO—»Ý•îj·P¿ÛY]î¬äoùïȈ.|:]u"i¥D%<©“|wåÓOË%R&|·ËyçSÓ\iÓY&#¢y÷JF¿)?åUÙá³jdó„ÏrÀO·¿BÜÂùJ'Œ÷ýJJ”‰`IDú4ß!x[ålšÞ§«ržhñü—ó¶42Çy”ü[ÎW–WúVÀÂÇ­y—>^줢MF ÔS¸ÉÙòââòíååË|Þ¡þ*¬È×~/ VÉÓ:÷±„óRÖ‰‰rceå -ç>’Ôü©ìdye«”éj¯ü¦TºyXá%’]µmX§ðµ|ûöòíE8‡~“²Pª°±´¸xcñ·ÜÈEB}èßÿ½€á X£Ÿ½g€«sæ€;?™pçr€ÿÚÑWöh~ê0{Ò«[I\õÜE€OÍv`›[›W=wH\H]_ä’Ö;ZÀ]G„Du!òÂ(f-œß-€P´sÕ ›|ˆôéPã½À¨às?@# N0pï£4ýç€ø~B× ±àpõƒj«va•ôn΀MÁÚºˆàNt¯x¢ðì0u×ïõÅâXƒsRޤX%½‹¦uÔ䙹µf<›<5kÝz¸â€?€*÷ÐÈ¢ ´€5/<×n¶åx?}¤¤õ@뷮߼Iq)SYÂ÷«k ‚yñˆõÅp‡r.ÝÔpç*Cñø4PÞ™ð^@t=U‡îü¼°¶¼ŸŠ Ì1áooÏŸ=hŽOOOŸc™MY&2€µ © ÒF0VH Bë?çÀWÕº6p!/ K„.N¿ò`+áæaEèV¯ œÞƒù-øJ›á<¦_!;¯ÿPö÷1ƒ,ˆ)£h ¤÷6+äž™ŠQâm/A ºr­&•\õˆì™2Gj,c*l·OÏWbid«‘¢&]¬µÄúÙÞ«òfwÈD·]|þÊ·/©B¼D@Ñx%+ÎJ(¬føñªº‰…ÈSЩa!¬#þTnÜàÀ÷ü•™>0Xç_º`¶¸ôêUô¿sçþ»¬ƒ'nlì¾F{ÛÀ ﯶc««Ú˜™ÕÁ¸™:U}ÔmmŸÎšf6}1k&Ítz¦KXïºÛL–¡ô¤ÆÂXÕ–}:ªjÐ|¸999™Îœ izü ÷õÉ›&·¯iJÔ9m'ñfŸ §S¬X· ØøÃr=Òí^ê=Sšè o˜Ç6§‰GnSß7Ôì4£ßOg’å3‚M2Ø0Òi€áEKn$»µ-çÂnîXu÷ªQóñÝ ¡nê_Ÿš]|âµ¾ñ–ó½ý†¿ïê)œ—©Ö»;Ê?Dc+M.ñï4…¦. 3x^ ¿Äîï R†A¯úœ‡°8º_Wúî›C9Ÿ6ÎnHߝޭ1”¶­Ôy8¯F£þÖœóƺl¦³‡r9~°W8§®¬„|õ»þ…_8ÉýŸM]ÿÉ„T:¶ß=â™…g‰Š$jÀhœoWƒÏõÊTÕzèpÇûu³C° V¨lËð騶>”þ¯ç˜ý õ‡í””9wïüd"qÍc d"©5ÍI±œÿƒ} -æ‚Í"ÿ(d±æ<êÞú ÷™ÃÀ¨ïñ¡©ô?¹˜p˜`A…ÖÎ{,€»ñ¬¿ãdàáÂŒ.€[¢*G·tGr„šKXÆí€v¯ðkÅ€q€Ÿjøfýܺ>÷h' f,•MŽ9š{‚Û‡¸àŸã¨âpéÕ)"Þ’cŠ/ç©’Iã¸G}Ìgd]SÈâ°Ò-30Júüîaã˜ù_fßÎOž=ž »ÕÉœÿuòö/Ãù %øzÒ¿ªM}¿ÄΧÛýƒ39?™pN`·¼%Üaá¼&âá”bqsrBÀi5ÜjäΧàæÉÙÙC8?{ðÙ©6±£ [×>r`Y»Œß¹î;Q&Híê^0rwÝitƒ%D– zÒ|w6›¸\ œïS\¸˜Èzáœ"„õiýûíéÙìdöZ—óÃ1•Îí?Qß–ÖŠœžPTØÃog'“½a·~ü³³³EœÍPð^¼xöì/§Îy ôþŒZnõ¿D' ”UÞœPÃ'<ÔfJÕ×õa{9ÜÛ][‡áÏ{7–Ö(ÈæÎîtRïl‚Ê›õ\õ³DJ×T~‰–nݼuóf¬¾MÜ[àlhiéãk‹ T+Z|‘³žû­FZË‚¦s”õ€ÕxĽ@2_$Az±ÅÉèÒ-\û$h”H;ÚtKÜÜ×äPXü7GÂÓ@°v‡øá¼»³çí @¢'\âXd½ Q.–Ð$H6>–ñiiSƒR”“›¸¯8ÓüÐ!€^Žvy›b}ôѵ…þ‰oÿ?ç(Ïm«á¦8)TBÀâÇ Ô°)¿0Y -‘/©(Op -D{Œê´RÇ éº,t3UnÚ Z·>bϵÛÎüq¿ÔZ4«ÇéæHRK»f­¡Iü°ü³¥º R¼kFHVR% ¡ÙÓ\Tnݽ… -yëÖ?—2R”´Û%M4Ò.®-ð”KyZî8ây.Çü¡AXiü©ÕüêãÒjßOÚ’?C±u5X…Ð÷ÍóÓѶ«Ô´MŸœg@‡µ$ñÉyh?ˆ"-Ñ„&¢çG/@úöÇ’¢ðU€Hpuð¿@j;¯Pn” °‰\àJD÷º;¿‚1ѹE^ES0"Ì$“)*&’Lq`>dп}—…A’ qüæË¨í1yYJ–âGw À—ço´þAñèøtz|°7Ü=zšivD*#õØöÉÞn €©ºíû€œpzêNzZ¨è×oP¶È&Y¸æØJñ_6aËz¶–ͤT'Y–òZ1†¡L^·?j‹rX«r¤_¡”ÉŒ„ÿìhøò¥/%´LOŸ>š>y‚jòàÁÁö¶··‡À¿îZ׉–e»Õîîx4»Ä¾Û­êíÔÔÏÊÔ}ß“&¤DR+ÿwvwÜŸ¿]_æ5gîOWˆäøÆZÌýrM-ÀÕpYÏØŒº>§ä3nu¹µ°ûÔUªdŸôÁd)YíæîÐÅå1ð´¿±âÁ¾ûØ7þä%6È„¹¸–Õµu¡f´2ÒZÎ]ÇeÞ=Ê%bCp›f´Ñ5É ™h|’âîæú:r;6ÄGÅàäãë±N°"-"] -«Á1OLj»G»ÓÇÖE8¡àMX%‹Tüå¦~uÓíc©ï”pœÝÉ ¹`;Œ¯V3Ùv÷¢äÙxŸê$#U»+û4ÝÎ Ãè©ò¶Î÷ËÔÜæºò^ôqkS€å†è-mÞ]ÛÅL»»¶îjÒ4§¨ðß5ͤ_"ª,Ð ‘)´=DRß\è!¢­b5÷–¢2€¸ÛSLçàãUÒí|ëîzQ-JœV‚'»9ä\Ç&ŸÁË›wÈëÉ&(X`ï@A%ût ã%¦hiY¢]˜Hà™¡è)3œ-nÞɘ³d1Pˆ“qà…&u÷ž¨mBp‘£–kë"‡ ×{|í®QÌî:ÿþ}Ä-]ûŽÿËÀ?ÂË\s~ÀÂuk¾ ¿é -T@Šž’´j¼ô^sÍü›­°p÷–­ç^ÔkÂ#O°k1ŠcGΖS7y€)R -Çú68©“iQU½›7®™q¼íú†_¶ÿ%• â ÑßÏMˆ9òìÕº®/åIõd.LñD C6Ÿ†ÿÔúÝZödÕtWŽå¼”ÈèJ…o¹¡åç(Âþ}$šˆ¤ÂBÐâíÛóã½áh¯Ö;·Õ -L"ˆÀÁð“€î€¿å{"ߢáˆû`¢Æ+"º‡â’èŒl½Fœ/èŸÎ=9d``ž’„bÀß÷oÀx Í¸fŒ/è¨P6£@ŽÂ6ü‘–. yà\(²P.$FPµ(J™+á€7/_=õMþΖ;=:}°7ª£sJ­Jm)%²L¡vêRà Q:“ÑŽ<:6 wj§¸ób¼ *f-HصðhÕÃX¾ü¶`~§Q¸šŠáÐÎaFçÑ£Éð(óÀTM2ç€ò@qør -šb¿AÒT=S]óª)YŠbسÊ55°()¡”Ûm¥Þk T“ Ýí+5ïA☫6è{I j ¤òrTéÖÍx/œ"—¹~QäKúøW|ÎBΧ¢f”á$¶Zô•:Zë-Þ¸»îÜ…÷“fþ{©Å§·ÚÞÁô¿½~ùdo¸9j§OŸ>}ùú¹ø¯Ó;à/ëVP!Êk>Âf E4úT’‚Ñ ðª-`_ü\]ïg( lüÕk÷ÝÒÀ IGðŽI&ƒÞüàf: *>yM0ÝãÑ(ªƒ_%!‹âa-ð §?„™TŒ*…åŠ÷æœ7ÏÉy¦j,»àé©ûå†ýíÓ'1³R³2´ µÖ?¤?ŽF{{.t/€ç¾0>€ì¹ø×3ÿÊŒI'sÔò -¡” \åß‘þYê2ÐR>P -aÅê H TQøÑ¡á@¾^ç%À/ÏŸÆûÿÄ}ŠQê‘›Íõþ¥ÕNgiuI£²ìÍ·;vãz`„ ¨WX¸ -Ôƒ±ÌµÕ<@"åùÔC0Æk-<åÍù%Ý,À%€¿ñãiw8 8i¼ENõ¾I·cô¦ò]uf½f(À#@oâVƒu^O`Výå 9¯Ü0hwça‚-\º3­QeÈø^«Í!IlÕæh”­’1œc'ËùtºÕo8Þ×OZFÝqQÜàÞ½u»³ÒQ­•hÊE«pyE -éoý;ºµ´¹ øoÎÜ©H­K\¯ª{(-穃p>ZéW‡y0òÎK áuU—¹¾‹ñdZuë‡.¥0@Òr!â¾ISm*TúŠÛ1Xé!uëÜÚþ©ÜÞ º:£úâpá£%d§¥ <þýVG?C׊|ûyBÐßù5 5B³Ç!‹è¿ƒø,BunC ¦åáùø~œ –@ÑP¯·IhÇs¾t§*—®MV—”?¹Hižò"_3Iœ^–­­¯×ŸÝè ÖŒ‚JRRs¬˜ûQæÉö–>.…ó¾AÚëóŸÞ]ç(r×eg ^Tg¬Ý½3›Ä´H½ðb%$aÔ›m€ xt©h€ë@)Õ!ð›9¾ëêY4pð½E|X¹‘_žçVrà׫ªýñz¯G z°éK;©¯¬µK-å<Ú‰yƒÂ:—X,"4Û:ML - ëaAŸ2Ø÷æüÑÞv=Â:u/ '.È´·—˜£ÇÁy@8ÑþT…V`&è- «âs1½uü «„óã´@ão<öÐ÷?è\ekþ%`½u -sÇàá“L’¸¦ñ šééO,÷%xû#É¡EÆ9ê—“µÊ -~‰ÜŽL€ŸÉaÀZÏT”àÐñs§Cdiä9˜ýüù£GÇ åƒ,åíÓsëÁ&@Zü¥âˆXÒP»eÀуSêYª„›PÛçÈ[ߢ´`OÑ_›}ªW(Wð0Y¹å>†™%=Dzú ²’aùñX(zL«×¼vgׯ\Šøôüù#÷~tzzŠ -øàÁho{{cØË6†âÿ…À7㔽z›Q·+ÌoGØ­f!`:æö¶ð"¾Ñ àÀspgç+p‘?ÑÔŠømœœ€£ãæì> -À$¼$ dyŠàÞû;Míî÷¢0œÐaQxé°k½Yד _]÷Wà|»‚ó餮NˆªÆ‡‰f ¨µæÃyµ"ç¦ì àîÀ…Œ¨i„= çãYÝßh&–U­f~3踾~o CÂ.ÅZÐÏÊ$‰†+^ ]ˆœ«´p³·¹»_©P©Bßç绕:'Snܯºý*u®Íçz[œk ¨TlÎÂyT´..µãÜUØÝç<9úèêoºý‹g·o›|K›ƒ{ƒ{½»ÿ`IWŒ·t¬Ð6«if»ð߇(kŠËÈÌ;1ŒüÖ¼(Äô–œsU„ª3=†ÐŒÐÆsÙ˜¡ÜnÍù;½õ»»P^ó Ë·³ÈÖØf2XºÑq>[ÉÙÍ-øv•ÖPhK#äraÀélaÎI€Ø½õ¥Þ ­™g9Lêó¤Q#DXﳋHÖvwëD$ÑPÈÀHÜ»wÖ>ûØ™urš¢ ?Pkª« ´Ô¶ÓŸ´L]Uׯ û·œr(îŠkwî¬u\l`“²ÙQ-÷Ìë²ZÖÝ…á÷)) §½jлgEX -˹¡­š–õAÏ)}ëV»§Öˆ•èºÌ£ºÒ,¿o+HŸÈÍ[¿´ -@µg>ø¯w*ñWo¶¾®‹ÎâÇÏJŠ®(áQÈŒeÔá_FÒ2ZÎ{ëýKŸyL­´MÄoñ¾å:¥Lh‹G],.¢5g¾ëû>¢ÃûIÇ6€¾©€†o_>:Øv [¸1€ ÔÏÒ1h‰ÅáE%PF%lõ4©=Ü@:¡=á 㜋op¡+çÞçR°6@VRM@þ⣼ù!LúÜäßø?˜–`ÉI ßÐI)'ý%!8ûQîÂRf¡§d®N“j áIŨðÌm#Y,ËïÀ¹³"_éµÏ -Àƒ£½Ñö`tô\-)…!Eª…SS münã׿v(½·º1ÜÞ•]ƒÜØ7/Æà”‹×Ù’çüz4Gj¡:¼ÇR¸)%)·¬ø·JrÅ‹ g±8P›dÉ%~ÝÓ<ã~xùü%ö?è|ê…ëÑpàÀâíÅO–:¥}n5¸%·1¹»¾ó;zðÅîI³;Õ:4Ì%‰™h„x½®Q‚EÀh[g´”1õŽã ‡úxØ6yÝL07¤^Oä#£R}¿3,–6ÄÝ+XÄQBexa_·_V÷û×Èû2àj:ÙiŠ*Q"’Âyqy7í*˜§Ù ?)«9æOÄtä|Ÿ:ꪣe -xŽ›÷›‚Qœ‚èþ±®ò׺L‹Xƒç?R®q}w¼Y]ì*YþýÖYëü¢”)™‚¦°²äåp^0®6ºQ]¸:gÝw îRyj]Ôˆ™š®!.’I]»_a»ÿ/BìVË®”âDŸ¹~ÝÕrÎ÷vÊ;DxßRôaƒke–óÏѺ`–ú¯ÄìšÙ:ªW‘¡ƒÛ‹‘¦†‰€ËB(l½ca0èóÞÛî•Å’Þ'¹d.D*–¤€ƒê³ÅÞ=4ÉÀLªÊ's2 ÁõÐYìÁŸœ›Hx€µÁ®…X‡C0óÞâ`àKY(‰*œËƽR"ìèL/‡È|€Pô¿%÷f„OAC¾Ö7{ÿWSz@já¬MÕÿ(«èï -@Ðzî’‘h6èÝH®©óÔS¡¶RüYK¶T:´ñùç܃Ɋ: b{I"ÒE¬U½ æ”p©ó!ç%¶\íÍ5·¢0dñ=À²h~ó\”™‚§Ÿ:o€:ˆ\þ3³Ï-{³D3d@ÊÈD¿‚`ÄMd>o|K@ðÿ‡¹ï]±í-¯Ñÿö‡l\Q#Þ4J(>Áo!0WÈÊ@a"~Œ|ƒêHÎ¥ˆF"h˜£Ô ±šæò+ fpÄvÁüLåæÁh8>}“ÛbYÂâqoÉthçÒç•ÀÎ8:>u®…ãè®ðí ¾eHŒŽ¿žL9vÕ>”Jæß2Ánž™Lòå‘EiË®úáÓJ)æ -CX.ïè×1ôúµo!zþò•zòè);>z@±ªá°ß[ºýÉâ'‹‹Ÿ|²¤ˆ—zÏ¡îjÞ O{¬@¢  DxcNàE€DЀêé¸uÄ@Uʈ²@%¤–بÌm<@ëöÃùr M±R1 -}~&î•$e2©n†K‰xb`™ou}/?=Ȉw÷w'²P,·UH7-Kì^øŸV&S·dSÂqœ ÉRäÀP¨.¾Ø ‚޹¹[gx\(Rué`;Ù¿ÿÄ|M©Š•³Ÿx-ÈÔÝM8P»9?9¨vÎw*Nºýû:Q¬¬¯Âya=œ;IS<·öøÕuÐTý~}Xœý…s£ìïFéjëªï¯ªpÍê"U…SHQuçÎß SÆë7oõîÔJ¿Á=Œÿ‹2|}À*Äkûéy¯ª<_"G„Þ^ Àso®Eà*€Ìuô´\»|½W¡¥uô%µhé‚Ãr˜e tPÔÔiJç¾›àœCîù›Ë|Y Û=‘«\5އ÷6w -VÐ` -kE›m›dÑŸL$)óÇåý ‚óÛóuȽ_÷ª±+íSZR+Ámñá½P=¸Ñãܧc(~´Jc$k¬û{³è¬Ñœ •€niú—]õ°Èx€¡Ì”[.t‘„ ãáœÚAI+…6«É&ú‘¥Ku¸/•îU&0Ú·ÁF¡ñb¡aSSQoJÕxÙÃ¥·©;=&p ;ÂÂ}€ÐÒ\#*ªÑ¨×»½Ø‘s7X׫ ìÓÛÒ -ðj)¶»B››ÄØ-l—êÉ#&°n§š‡ôҚͥ·ÜÙä)Yü÷|6•ðï%Á ö¿˜ëìºï¿?t°w0rÀñSw<ùÆéi:1J‰ƒeKŒ7S#xÀ$Xöu~è·¨„Ђ¸x¨a\I@oAX¸âª‰FÅ@#•¤ÀvÃÈ(V‚ûí˜}"”¾ú–œ¢üèëþL2™¶Þæ@nr÷ÇçK’½5F=£%B&¥à~4‘˜bk¦ƒÒç@öÓçg®—wÀöÆèô¹ÁJ–Ä*p=§Õ_¯þüOÛØØØþƒ;?8>:Bt}ùòósUՋׯ@h3+*À÷¯³3|‘¼OÌjé@¾Èß2leµ¤–µÅ‡›g§cEüçøíÛWdÀMÞjäV/ŸóÌŸgéø Ïñ²óCa†Ý«ÁS8¸k6÷ÔÐíá8™ü­åPÍÔIäW´"\óûÓ‘Öë758zƒýÇÇ7%µ‚SçüUõA£žzIÓ=Ôät‚FT8++1ÂyÕïªÐð™PèoC<⪔RvT’?ÞÔA¯øbfݽ: *N`/:= º3¨¢Uîñ˜¾Øü°¿lü t!0#O›5W¼Œzi€¹-Œ&ÔŠB€’в »Eb9(½Ðg° ÏlV‚Ea ÉoÞ›—i0ÝXL¢ FðÅ ¢Š¸m€Áàs7ƒ†¼@Íu–ãŠp_9€ç]¡˜CëÀ\¿×[¼×Nšä²r¾=YôúISäÂëàËÛËyGI!*`† +k°/ë›<¸>R3XL‹Þ’sUÕ^'s(„¸Ê@<íôzêõÊ#¾|ÎG4€¥5‡IÈ3jmöQ‰HÔTóÕ’µRàÊMí †Ë¿å§ÅÌ^¯¢*âó¶xFQœlo0N,#îV‹ƒÉÎ.ïÑÅ¢{q®Î%ƒÏÉÉ‘®ÂÑZo±S¡ä Ífä`€›þ,©–«£§ÚývbéŽÓ/ø¾3èÜh› ]t©·ïëm]4›¨|¥§ä2w¹W[®¡¥æ–Qn¶O&EOì.ýåŽC€?Gq$¿’ qA ðñõ«GNôNKÏ_žc -üA|ñDì n÷­HE€kÑ"¼(ð€SÂuÄw4ß!ÿ #æZ‚§ÚÊüÀ‡[J1ËÍM•›Áû¢LHù5§·oS†‹›°õƒ¯vP€ÜuÌŠï ¼L$rŠæ@yìÐ1‚=¤¥¸@¦cçØÊÔjÑk÷î9úôôÑ©Îr_ùs”­-¾©Â²X;'=¥‰  ‡Ûõ4€¬t;ÀçOž?„Ýàµ3œœ—™—q½µëÝJNm…UÏÕ{d\EÌó< ¥ –›?RR‹‰#òpæ|†|» °eq‚7~Òø"Àƒ7®Ýô:…qT€OòJû4íq8¬æ“QÚ+Hè4@Ã\’°.ò vvšºS¿ÐA|Ê*Í0â~ “P.ÖãÑ`e˜%€Z«†{Àñ²Z‹F”£åjJbŽT_™ê%I©ÜŲ“­“‡÷_Ü çȼjòuë¸Ð\°÷uø›)' ew{& “£—/8ɾ¾|'QáÕ¥»q¨î"“Р¦«üÍR§.‰úñbë -ˆ `Q ¸P–F,fÝïÚY ‹:ï"Z.C^QºÆ.i°ÄðWO»Cg#†k‰«y«"ï¿JùB¾ QÀ¨ï€Rß~J ÔÓ¢ãì´u¾;êö›Ôy”¾6t›ÖœG¤Þ¹*L=ÔZl—Ôõî"æîµ€¸m?”>h!SghwJê‘¶^º7èÜòÌž uÿžî!h#Çwz7:U_$É)öhÜ8­ô.?™Î8‡£Á½Ùðö´Ù‰Lw­£Áçý'äE¢U½ŽŠ´‘B½È(ñ*•Œ¤ ¨©É^Q%ÿ1÷›½µ~o½êÿ¶ãŽÄ1å|PÏ5Ès)œ“¦)V㪳?Ù!û6ÿr(ÃïþÝ^ÊÊ‚…ÀÂòp/ÈfKóV ¹ñ©7ÚÁ¡¢”Oˉ4?¬z½Ïå %mÐ`ëCƒ]”¡«œs¸¹#ã0šË5æÅYÚ¦õΗ×Z-ë*™šFx,:ÄõµÀ5€ŸWìŒhvÓþeJ‚ö¿sü2PôùÒ+¾ ¨ÚUl3/n—ÍŠ*.ŽÓªé ¦»^‘(@iG%9;K¯ãÛÙÚËÿ˜ZøùÇL †Æ1çoŸ'ßV{úèð&9éT¼Ð–IPDR€”¸¯ßf¾›¶È -e-¨mÊß9È­7?Y.rðãyˉ²$ž5 ‰­¹•äÚÍ~~ûÈU0KfC…/ÚQ„eÏÊ@ªÄ=Êeº†.éÄÁ½¸à¹ÒÐù4_»q?túüôÉéññÑÞ^5ÜØ~ðüu”³”GIH«·o»*´´ÚßpCû=0öøÔEwO|ö·Exåj@aš ˳Š'>_˵”"$ØãŽi¯RÃÿuÎä­è…0m”™çnkàhèÏÿ4šÓ£̓½ƒ½ím·Ø›¿ ð'ïܸGÞýj¥3ŠÿXÒƒÁÍàáv‹‚ 0*ÜHþjwÚt€Dê`Q†.0´"y-u. ;N¾ç×б[ï$,ðôUP®öÝý“Y I‘ï3 ¸Ølr0†0úRMھƇAô ;À(<š’ªA3í«ºÆ @йsAFÚ6Ép>èn.Ç ¦*)9@bè]- -Xrë–+À[PÆÔÀhÖðލuG>Fp˜³0S*=œïS ¯d½ž †g…sTu/C_P»¨OraBß ømá‚ýq 赨JuµÚ/o¶bçä" °1.Ý©ñc\»Õ®ÒxZ—‘€ÈéÀÂàËüû@´Fu“Ø!§@+'›ƒîí”c‹•;%Ð%y“õó¾¨»Ú ’ןÊΘ÷Æ&jˆÈp3¡–¨ˆ6•Íò2iêCyNo^HôDÈ`„„ôG SgMïFžØ¼.ÃTâ‰gáDçö<—.|ü”Hr}z.w€ÒBü»ÁÉn?ª/,ÉìaÝ­'rŽr¡zç…4ç‹—àó)~¤à'š)Mø_¸ 0ÞuÓZÊG¡,W5X¼à¼ÃBmMHQ8àœÆ3ìunô°¬e„…ÿÓ‚Zá™v"mî6H¶Eïî´•×fqï^išB8vãÝøZ|ó’».Iz]Ô´¨ø ¿[ø‘ Iò°òL”B$äñ]”'Y»Ù¿x/ßQH$Pà/Cÿ‚yéÿ‰ùÿäyf›Á¶E¶Òõý¾°‹/)s£Aw™2 Äð·áºËO8×Õí_‘³0ÚMõ]!è8Þo9Õü—Ê®¹òkȵºêöó ȉ-ûvm{=’.£™ëK/ÞAh¥ˆÎÕ¬¹º ¬ ç; •@êìhh .«R›Ú‰Òå\$ u¾?Ûú‚a«¼v‡¥yåY,7ž:Z¥h\ÝQªRoŠë -¬ie­kÇVãzþ^àB¢F‘sÚUwÊ@8÷·€Œ¶\`±èÂE{ˆø!¦ÌkD~çµ.‹àzY8V}©3”cÿKôÈÖ<ª4ìÕýÆU¼s¹^¼æ„PÇH^$b½Ä"5­Ù SÏ3Ö×W&S8 ¢mª.Á¯šõ•èæŸHQ²æü ¥@¬×ƒÅáN ùæ3Wˆ“{p„ê²Ü©‹°Á|á"8ì«Ò™Ž_èÈU×¢¤J’HYÆÒƒÿ¥¡ÞZ´‰þ -% ¸v.èºþ«›·–2—=$ªfÔT7È<¾Äs7çr,`§Dúåªßïm¨¼D{ùj°Áu¡M•M0RWdQh±>v"è]ò™W莴͠,/öý2¢¾‡NîÂÜŸ£ÌÍq _m•¨•öÑYº¡ŠqIõ`\ÚIëéâ‡:Ÿû‡lû«Ñä­ÿÍÒ½ÒªòHŒ1§¾º´3^í”æc…þã†ä{ px vŠp@n,ݧG{ƒ -ÀÑñ“§:¦Ë,@`¢™`]P]äã³âôÀáñÏc_—Sƒ“†ø«@R^çóÚ§ œ›\æ¡DÔPN ©Þ`,ÿ¢|©ù¡™ûÏ=‹¥Á¨ß“> €’e[€Ä‚òEoH -Ö7’ŒG~¼å -È2òÕ+€sêã€ùàøh*Tn †GÏßX€p—͈,¿…´ÿ?YüÄ6Óé †CjùÁžŠ–Û.?yòèéËç/ãЕ‰yo^ê [¸µêå‰ïÂ`)u&U„U¯¶þ~£=ðŸb¿V?°Ö|t$9¥ãÍÇ,˹»¢ìù€§h~GÓ{£½ÑpcH¯[Uø5«›Õ½ü)‘·Ø7:«D–…ê]ž; -9å/xOt*]'éûq£Sm(@«=*”wÎy0«–ûí½’Š»Þè8ªˆ€ªšVËÜ¿Ìø*ïRƒB¬vjøFËhEJSMçêCK;íüE1jê~Õ8Ñì5±#3!zm¯h*Cg@ÍA¿Ór®Ó\àtLž^¯@*‰ºÖ»‘µËzVÝËëêV—YVR<WPTÒÇÚùÌ™i;ƒ‰4A>ŸÂ9¹¡ð=ío\r®6VBÂùEeÝùœI†îª`±Š¾Uê|-•ÎOVpõâºDös,Bœ¶ªàîý^ø¨}ÿ¡³¿`Paõ‰Éÿ—ÿªk­Øü9Bä—–ê ,"kå‹kbæöò—uõ'!M9Ð]8_•Ë)I0üüF:èeô6z|4%¥Rñ1(A€–/a¢/$U˜ÿ-}ôsìÀ©(érN(K'*™uø› -ÀWã¹u·¹ãÈ{Þm§s{·vR—”(]Ž¥/:–œªƒ/—3C….ÉUZ&¬{W2b›GÈT¹ÙéD¿‰Nâ¿Ó~~€¢æHjê”-§Á+Ë¡µžƒ9D„®õÌËÇ/…ø¸ãuNyj' yn]¨·{=õâoâ–Z݉ÁŸ%±â½,Ñ/,@ĸ~s~º7Üv #“Ð L¼yéߤã#‚cA4P÷o󠢚XÙ†šs*¥=—¶˜‡0ìwV~[ÜÑ©æœÓÉ<¼`\î&UwÇÖíj†œK´µ Åß]úÌFú (ßîÃã¼víN븎FËS¿¾ÔìÀdt.+ª?ÏàEÉ8)^Ô±”@¥r¬s=QµT Dë‚‚ÂxãÂÂõ®¶óT:…P…ÉÍRÏ—ËMÙÜ­;iT‰P& ¿\égÿ€+óX¨¾(âq”ô{·;¬8pÖ‡ü[ùÑ]°¢xhV(,ÁãEç‘lmÚ^ã÷²WÌùkEUºüîtµsÙZþ1Xx¸‡Zþ~~:Œj`Ñ`<ó0¢»XõÙF§øãù(ó2£¢ -Öh[Ÿuµ²*>]©]«Ñ¦ƒìÒ -×(/ D™:VìÙïm:¡ýî?€>\0ñ@]€ƒEƒê˾Ë@U>†óáD˜sâéüš7±Îg— -@›ˆ·Ój.Ál•BãTÕÙpù›}k§(}QTÛÔ/’EßRªÛ­Îeló9q)0a\Y‡’靈W0ŒAþ/HÈ %9B•_‰ËžÉe¹[·ãPÁ¿M—ñ-©šKûhÃbSuyÔ›­&œZ£•]¤…Ú@?áqÞR]í][¸K uÁª«Ù}ê·÷&5b·œ£üvƒ¤õ ÎÀuà-Xø3à8q ó\rP0O÷ûßÜÌ?N;£ð?‚Hb}œÿÜ0\¿õ¶V}ŒxM× —WÁdÑ9°fØ`½;÷A^ÐZ×ÏwÀ–´ï±ðK¢·ÙÈ ?¹ hF-1A?Vp_” ‡3\6  -¸•'ÌnËÜJðòyVÌù2àúÀ7æ O3@Š:0L%‰ÏiévK´@U `”wS×ÓG³'.Œàü©S„æç/ -ˆÞQ¦Ħç赉7¯‹!º›~¸—R‡p«`]Z&å¾è/þ©Ïùyùûß}ˆÜ‘Ð=š¡>ØÛÛ{ ¶0ðûËáü϶¥à¡»Zç6f:S.Ccá 3Z0²;¶°:­WêÆ¥ñ\är™vo‚´4p4ÒMwg<ífv AÔL%Rç™(\Ö÷.‘Kac.#ZªÑÝî7YªfSˆ²÷<“ê«9ç‰ÞÔÝ -üo9¯õ²s³ƒ•_8·fdο¨vdz­þ4>‹ØÐs"5%ýØ=P>¿äþÝ´LAB¬ÞÒº2ÀÇV໼u.^TÃîÉE+3¡œ£ºTõ´‹uqÉù~Á)´\•'jà|H=φÝoÚú¾äü:WüÖÕj÷²¶¬»2Ÿ3b\i'Xü -L×þ/äiÐ’»¥9D¼¾¾ž”éCÿþ -@ž®Ò2èFdÄ2° U«Ë_f+OBß՜Ȁ°Ê4 M¶AÕ¿=x’ÄrÍ6¤ÚÅ×PùÍUãQ¡ÞIçlØåЋÜÙ× 8çcIe§š —©ÒÒÚvÄÂ!@Í ÿDÍRU}ô[X‰iÜwÈ aQ¢}÷ãA#\› -ð~Fι/B²-Nªe»R*"̸†=3Ëî¢ÔIy’KŸ,~Âqï¦öúM²nžúÂ{aÞtÈ@%k³,o4²!ä‡u Àun‘`ÐÚä\ˆk¢ªò‹/ö½À“L­‡I£†ÏÍͦvUWl«ê»Î* ’U¸%ç$.M8·içD Ðüî/̰ÿ9'àæ-ZqpÏèÑ:("äò»¨ç–˜Ÿ&JGXÏLGNþ;Mg£ØXh.tQ86”*æ•É ðnkÝm6VGôi;ô{>u°ç½6vÅ<Þœ?ª«½ƒ½æøôôé“GOž:àV@èK2áŶ2dïeÎ},hÝ?76ኂÀÝâ t´Žœ ¨-ž`I›œ˜\žOéàŽjBáÖ?rýø÷£ ù¶`œ ¸1çL8ô€‹üs(gFäNJÈ•Ì)D‰€­€¨+É@öã'àúßtžƒÿ¦ëoœ¢ÿÆÝMgïžb-c,6¶Ý :OñFXŸfÕR ÿÁÿ;««ýáöv¥ðàøAã<€G.xâZ<ßÈ›a2‹ÎAì~Œ¿…GZ8.ëÙ^É›%×T¾wz‡:ŒDl‚ÉÿkO³ÕpÑ^ùZã¼øéù¹ëNOÿƒ{”‰Bõ:«Û‹0 6yþÒk«zXÕËýü\‰E~}Œ¦G§_J‹bß;Óû‘йýS<—÷^ÀdâîË·Ú˜AÒËP_‹]q¨'oþ÷‡ý­V!VìµB±ˆ V½C(™­0/´‰êâÙœq"BrîèEÓt†‚&]+¬£ÉÓ¿B[ºpŽÜo6ú…ó½Â¹iStÂ#yçùzÕ_¼=*‘$’KÀ—Øba,´>¤ÍõËÅ€]÷}ôÿÍðäÚ2GÜ!w]‘Ú9é[…"¸ûûÏ9ß)&_Ä…®p>tGÅ_pÿ¢îŠâ‹@à±AR2E±ÐZô©€g¤¾þÏxÐà|á£k/ܹéGJ§Ã´¢dŠX$–"ñƒþ67¯ÉÊ/Aa)jiãèK²Hc÷‹ˆ.$˜à’tìd±A£³‚_¤†E ñ¸ýµÅ¤^Ém7ƒ]­û!û2´ª”{RÓÀMÜ:ËÚX½;‹ÎBz ëÌÔÔùf4ÝUµÀ‘Ú1HõY~Ú©õ—Ëýf§¥àÔGŠ_² ÕH$/Í•öìh5Êœìîz“@ëëƒz=ëÚ eà"ŠÜ¥Á?ü±­ÔMÜ÷Æ×_&7Ïj³¢€ÓdXJµBÛVz®vªª³Š9_ž—ÚêKrÑʆº_Ú°y¾Õ¾‚WN€ B¡lLf˜Ã¡¥öÐÑ•†<s~_gûÊ÷ýÐÙ¬·Òÿ¥ÞÒgjk¤Runu,@TG*ІäùÉžÚ׳H'õ4®sÜá¶+~ïž3¤”Ñ@ý9mpÙÎ0 -ο— ï#¢Žòò?:Ø• @nOóòåùy |ƒ)„ dj΋ÎQÿ¹t‡=P08üWE)€¶¸œ4 Äþ âê1Ô•/,tS#¯p£šÚÿšý?Æ÷ÍAÐ|Å[~³j0¿žÍÀ+?DYH˜¼¢ÀK|̃ÕR‚è0Üz+,4Çj8”8ª9þ:‹}qž*À1€9úÃ`cxô”7yò¸TcZ í8«^ëk<8:¢²ãzâ†@¯ž›z|.7½~ñJèv?˜ßrÂw9Êkëçé|ï&? ¼¾îG¶¿79‚rì댸‚ŠñòmÀéŒäՆǾàà ÞÛÛn¬ºuÑí%×  Xɽׯ ÕŽÏÛEmÛ9/WB© «þ¬èµ¶ôiݨmº Ñx?±v¦ù‰dp0Ú#4ŒºžVÝ£Wfø¹30iiÝ’CäL=ê’‘s0üR+&‰^™¦^ÜD«»Ý‰îÙ»œçA)lKÄhê7öÚ~ýµœkÒq¡pžnªçß9€÷ nê ðQº…à¯IÄ嘉M®ˆ^쀄w°¬2Ô2'Q²…ÿh¿Ê<À8Òµ@nªÄÀ0çGŠHONº&¬uò®¿éS…^K¥ûŽ¥ÂrÞØÐrîA8wÂ_³…p‘æK(µ>ÕøG|Y"w‚®“srßæcɸß‹’Ñy þ__¸¾tããwJ )+K¨–âÑþÏz(}{P¹+BTùÊÕ€Ri-9éñ -‘MêÑ¿In`iÁH"÷=$–•gÕyX ÈÖb½í6ÃÎPÍeEú>]ûʆdÙ¦D|Z‹*íò¶¯e"vá…¸¬6*€–q)ÏîàŠêÏ~«Y´$Ov  -YïTu§ïeŽã¤+诎FLNùæŠ!y¶ö*Zzµ<ÿƒ ~É…©µTô‚ëq,ÖËO&©+à«” È2‰p;³þGT”…Bø±ì'œÝƒÑ ¼Ax Iˆ’ɑƵ|¡úæ–¸óôßèœwÌ<“›ÃíÞöƒs!ê|E+™ÓúK(.ˆ®å«±¼ŸÎž<øK»+ NÅ»e_Y„€Ï1B/ -ŠåB)P' 6¬qË!¿F‘H¶[õMæÝ^ˆÄœúÇ_løòü‰›?y:s ,ÀƆïZhU—ÅŽO·i‘|£@¯ôí¢¥YÚÇætÑX âÚž!dòtôûá´lCS´ôý]—”f¦£éWBÈww›º³e0Ãå>f -)dÉ‘þ•ìºúýpt¯`Dlsø>sj9ï¯Veçéÿ!ø*ù[AßrÎ -ÀÁ¼da§ÉnDu2®¶/X'°œ‹»…ss@JíD s,þg3PÅ%«àŸi€±%B·2¾šQ€¨e½ P.duã'‰| ü†²+9ï4u×ÇÄe*#üŒË>Jg=¤Î[Îùá6ñ6º„ -çNpª÷Çn‹4·GS·X-Q|Ù-E.{àDo­©õâPqÁ\ºµpÍ~ͦËL¿aâÂà}Õµ0öË$“<¹ñd2A{õ °@|.A\h{»¨@P)bK¢¼¿gÍò†c[W9¢ÜŸ«VÈj§ÆÆÃ•/ÕÁÒ Ú³ßa+TŽ´þMد/Zz’Ù—sø-¹*÷wvuF\Q]†›jÿˆJ žN¸†‚¨ýÅhÚÛ>ô(º H޾æ‹_ÄÓ•í -ÊœšYyl=[èÍ[ <ÆvÖʵK7oêXXZ§;Áð$o o+ÓþCÓrAOR~Y -àœÓBWû(•îO3íwʤˆ’H¨ÌSIˆ‹¸>ÕRIàùÆÔÊ1”±vhÏ„œ¾e·ºó¥t~€o -wü¥×v×曆ý¡%PÞ[÷}iO¼xnUýi°Ü=Ÿé‰èné¡–Ö$?|û¸ uwë0•“ËÍ‚’ã!>µrÙváϸꮖ—¿Ÿ„€Ÿ¡‚œñ[‹y®8îܤöôÑó§X¢z¤µüuƒÜ0@o€–9üš?ද=^pvzžÈЇ:ø)Ø`%”Xm%Çq.`¬ÅâJÊ˧¸ mô¬d¢yn’¿Ö{a2sÇ¿E• *$Ÿe7$a¼ Áá'n¬nqÓ1€s,æ'§§e'`‡ÎÍé ˜1‰´œ*^ô˜x¥ÕÞÆ`8Ú®÷j7tGàct€'OÎ}øàD€7ª^¯\²'lƒêÔHžLXý¿zJJøF9m½\Ì=`ßà®û{•ÔÜiàœ (þ—ÿ?Ï(Ä£ããƒ:k)’˜´xû6ÿQÒøZ¢-¦N§ý.ÂÅFÉgnhÛù.±¢{ÑÅÒÐëñ¨;lî—Y»[7¦ ¦ÞR9*ÏÒQG+‡ú +vSƒ„R¦„üœà ÷ÍJé¯ù¦óÈFDr糸I0Ts8‡ýëÁ×âk¯Üi À_-ßþÐÎã–¶›çͼ™÷Xî¹\Àî=ëÀ¶š,˲vwµæ?<¶­¬æï ú¼ý!€"—^£=@7ç.£+pølzÍü+¤Óke@$+|'hZ–eEI_Àª0›Eá0‹a)Š‚.7Š / +7å~X9‚¹eÀ—/_|ýŒ'çóùütÞIzÅ(©WåìÝg¿®¯B¸€º®.„¹\Î+¸Èår*&%\ŸÌçóÅÉÉÉÉGd„&ÜÊ~‘I±XÜÎ ¡!zŒq‘”ËL5)¡»É¦3ƒB·É¶Y®R»(!”ð‘€DµX$ ¢c %)(H)LH™8&¡&!eB ¡ ò¤Ä5Mf2³ñå—_JRPJÄ!Ts9žÉ +¹z¯WI†$-{7!„®@ ‚è«p Ðj·y eÛN+kiVÞÒ4-{ïÞ=Ën5-¾Ìºè ºôìØö¾Ïìqä­ü®µ«µ?¶w5-»rúT@„_DB€Ï8Š‚àB€P(@ôßU„t‘—€ +A››ˆkxàºvlÊ|3ðÒ”×òV N§AZÉ+(…\È +ZúEÜÝ Ü˜ô–û¿6ül¸TNj޻‰!†îÛ ÏÏRð,à2ÀXU/&¡»o~9wWPNÍ©9UÍå š#¥Rm4›Î‹ÅbáàÕ7߬9½i?÷ïßWÕ>Èmmmm}°µõÁOº¥Þ¿ÿþû÷ãïß?q?þ~<Gq)²±±±±Ú®9Œ±z¥Ô`Nƒò^;^7.šEZ&’D1ÆïqÍîBʘù nÁQ1Æ:½OñG¥â_éR&åû”R,`L(!&¥L§d{› - «¤ˆ ^$Ý'Œ1Ù†JR@ø Ąʖ‰Œ2Ç1†¬jV™Ù0YµZ•$þ¨ÏA5 ˜Üê%ŒKD¯äâ‰k¾"ð÷´[-ÛnÛ×é43»< eeùže·~k5=peð·Í»}`ç3ÍŽmÚÊæ­|ÞÊk­OÛyM[N,ÿæßýC¡Pš¯î‰x›¶9ÖDAx€ DñŠö2O\@ÀU +ÀmDaÒé´ Én0âkà9¤¬R˜^PòŠû)bDÙt åMÏ„ƒoÊH¾%àù‚¿zõòüëùx €Ù¬+%ˆQ¹ª8§ªn€ý!Àª/»TÈ]T”©Çc¾`4úã“§_Ÿ¿|é³s‡Þ÷ß¿ÿ§ê*Àÿg €Äû÷ßÿþûñûñ÷ãñH<Ç#¡Ðu÷_ظ- ”Ѩ;T¢´LÃÍÎaj6h™B‰`ŒyHé6»OˆY&„N¥RI1Ƙ1Z$„>“2)'Ì"!EBþŠÐ+›CÐr™q±Œ!Ä©×6sCÃSòQ +B(IBʤLå25`ÃFãÐ0cŒ±c•JÅÝ aNÅ9ÃxDï÷Fý^oÐëúÞ _B!jÛv»ÕnÛí–ýwŸv¬ìnž‡Ê~{ëŽsìïç³ÍŽmwZšeYšeiÍOÿ¶¥inì¿À¿;à䉤ˆpomÏéˆã D– +@Ýǹ²ºÿtK­|ð §W@òJ¸ N#6óY¯›ÀݲlŠ ep]`mØËœÅ“€Îh4ú5WjãâõWq.§æ® Ô‹9€äU!À_äTþU˯Æ—*µ^¿7ÇãñèO†¼Èç ø#pÿý÷/(€– +à +ll„®@h#òð†c<Üú`KßúE¥¤ommm} n©jN/©ªªê9UUsçâ’w§!yKD$UW¡‰Ç㉌Äãñ„JT^0MÜO@UÍET5¡ªü3t¬ëÜÏåT—$Çñx<®&TUWÕD"¡æ"÷ùG©Rä'‚ ñû UÕ UUsú–ºµU2)?}hK%ÝÐuý¿ð@ÍåT˜ˆK¥Þh0 FãÑhЫT|U€‹ðKà¶Û¼˜oãЖ + yµh¯RvûÀÖ´VǶ;¿×òV^³,Íê<¶5MËpŸøwÜЄ@( @:ñ®ºÛÞä=¿=À½[róÝÿ• ¸:ào ƒ4'@(, +¡e+ðò?n'«ä°«Ò.Ò¤Ó(ÒJ^Iƒ4è:lÊ2â +E¼Ý@7†k­À¯ü¨×ëuª—J•ŠAJô¿ªær9ß5P¡zEð¼9Ø{øóO¬Ôêµ_‘J1Ö‡Ã#ׄàõj9èë7Ôÿï¿ÿþ}¿¸‘x‚@¸^llDâ7*€§¿:ì±£/Cæ0JÙРԠ”2W`ˆ7ŠcB̸;¶Gè/ãà/ -SR¥o—Í*¡ æPJÈ6¥*o)`”RV¥CVe:)—1Ž‘¸³½M Áüˆ2“’2¡”V•~„‹8YÄ0*D !Ôa¥”RƧÁœ!súäpÈ(sŽzO~ã4$I’ñ„ÝÁ\B*ñë?Gãñh5 Ø[Ï\î!Ðn·ïNt:^ðÖ µ€};û Õ±íN+kYy˲´½ÎãÖ4|«ÍOúƒèmØã[6DW¡»@à=òßo¿Ïµ +Aˆ¯÷æû=âB2J£´¤Ýá< ¨È²‚®H‹HQ6]€"i7‡Ã®ØÜD²ì­ @ô¦å[îÿ÷«å ç_»0 ÃÐs9ò«:­\R¯­p¨úrW„‘Sÿ"aÂ$„ªš„ªz©V1JªnT*•_ ‡£áÿøê +ðÆUÀ-€Ÿú€zE{¸Iü§x<~xíù§Ã':£ŒÒ2£Œ™”n²ÌÜ‘âG“b +ÂT2™J‘mŒaª&qC) +!.Ëå",â"æÚ¿XÄãBœà?Ä¸È å2)³ˆ1ŒmŒ“ÞLÃÜK¬X.—©š‚I¥˜$IAˆ ¸HÝ‚aü’RzÄXã Ã4)¥l‹1J«ñx\‚b½T*•t½„UXê Fƒád<¦cÿb€kXJ€v»ýûß·Ûíß·íŽme4‹·òiYY–5ŸØ»­;«µÜ@sÐܵþ¼öO€¡Èö‚BTs—C€\Ný ÌBTUU±ªB\*ÕH Ã6 b ‡£¡—pý@~~úÁ}/X)õ²ˆD<Ü”mD"‘Ä ø¢ô9[ŽoSJÈòÁ:!¤€‹¸\LA!aª'Åæó)ÁÉ$Œ%a2U,a™`Œ …b‘¹组âB‘‹¼ˆ1.nÀ$Œrñ@‹ÛÛÅŸ—a!!ŒF%AJ¦ +«Fñ#½¤Z¦”Ò3YƒPjšŸ F)¥’$Å¡šÃ¥R “R‰”¦ýÑx<šŒ'“Ét<õ™‚¶ýÈú[ü¾ýû6°;ö®  ÍnýÖíºí»}°ŸÕÚ,ù¼¦­@{ išöã®?Ÿ¨w ¸Ò…<p÷Žr¤—puÀúýG]£R €4W"’Q:²L¦Óî~`(Š’æP$¢"%/§A‘ò3…' +VÁ¡Àë¥!ˆÏÝ€}UˆZªT =·vÿáZ _¨ë}jîÊà/°ºî4¤—JF½^«×ëÝ.y+ð¿]p~ÓY ÕÀý+À•…6®'@è'ñx<¿~èPw˜Éh•ßÿò/· Ä`p1.q 1‹!‚‹«• ˜›~'a*…!)rû^~RI ± +“0‰1&LHcÕµMI +J&“0a +' Åb±PÄEˆ“Æ$) ùô5#„&„Ð2!ßüºúT§fÕÑÙ¡ bµT"%b†A¡]æt»N·ßë;ÃQÿÊ ÝÒBâÊx…€–ݲ½FÀ}Oä—hZÍßÞThò*@öÁïl»Ó|·ò–eå›7µ¼¦e³2™ìƒø:qM{ð@{ó.ö=/qùí»'^Ú-À;‚"¼…'Àåû/_ Oøª€K\¤—­€HQn”æ£>nà¥Ñ2@È]¤øzAèFà&Ó.y9€ét:Nº X*=ô;Á%nÖû–¸¨þÖ’.ézm0žL§ËíÀWØ‚¿apKý©º .)€Ä• +`C¸¡ øŸ"‘x<’¸ŽÞ0)5«U×#´L¨Ž±ëð‹q0Æ‚$SÂŒBcpB“ÉB +ÂT–q&¹Å?N%SÇ=T`œJbR(`ˆ!ŒÃTª˜‚Q!L%aÜU…L¥ +0£|ýgbœÄ˜Œ cL!Ô4MóH§ôÉÖû›ßxPq©DJ%BŒJɨÔ+£T*a½¤Ã(]ló€(¸ß @˶—ÀyžHkv«iíYw€fØv§©YÖ®eYZóñã=Ͳ´¬–ÍjZVÓ²M{Éfµ7¶^öõ„üX®8("   +EPEJs="Qä÷?‚"À»ÿ>{¯Ë³"Û&âv^ô.ºfÞ.¼i ¤(›a™{»!¤(2H£ô +b)y7 °®®^óqÀï—–@îrP‹Åb±Xt%)§ß^Õ€CP½*ðæïUU«¥’^Oç'‹Åb±øbøÇ/<|ësz3ðÁ–ê î¦66B× ´án2eלÃRûû¤L·I±@UŒ± +UŠ!Lâ$Ná” IŒÂTÂh4*Á¨$m@a &S0S¤`”ƒrwï”$IŠB aÂb¡ˆa b‹%S|G„PŠ’X,ÆY“$•äKA€I¾>€›•7&„RÓl<Ý¢Î}“²ß6cqIŠÃ\©TÒI©fT*F­N+¤„uŒ±NŒ¹  \`Û|»¯eYykWËÊò=­ÕjîíqðÛ°ßÊX.v­]˲¬æãÇMn®=Ð4-Ã)àžqý¹1‡/ +pÒAˆ ¼0q"¥Ó ®ë„"—@„– +€ß\_À'd¤l"%‹8¢»!€P:N+y9Ò„@ÙŸ)Š¢ÈhóN +àõº%Ðr9à˳¯žòVà““““ãã^BÊ•J_ÿUñ­U€õ2à !^õb¢c:šÎùrУ ¶àßÿ˜i@õõ¾§îß9°±±±qS Ç×hvXjðÀuå*`ÇI 1ÁÆb)XH¥  Q)“©ŽF% J1¸‹B¾þOŠB)£QIŠÅ¢Þ/mÀ¨$II‹Å q1•‚ŽGc±X*Ut—„A˜ŒÆb’Å¢0™’b±(_$Ê1LBü!1¹õp¹a6þT«ÝgÔ4ÎŽŽŽâñx<—Ã¥R©R«TjµJ­[¯Õ*à †Q3ŒŠ±šôåêÚmm­ è +€à÷ß¶mûÀÀîî®–Ídîe[­æÞ² +àïôuØö~ÓÀƒ%:{»Ö®¦e<Èf5M{ÍjY<øQ×ßÌõžý‚[H§„bpD89°Öô?Š\¥x€ÜÍ>‘4ß â ÍU}:½rA@þ™i€)2Orij‰^áà®W¯/Ô]<ÿê®Àɼ— ê>÷!„9xEpu#Ðzð†ç¼õÀê8WÏæÇÜè‹áú^€Uýàƒûž¸­ +à@hcãüeüýxâº<ÀQéIƒ±Ï«´¼MMRÀÅ‹˜–i'!”R0‹ÅA’¢R*KIQI’b¦„_Ü c„0£RÂXL’ø†/G£¦0„&‹©T±(mü$•bB F%‹©ıXL’b0 +a,%%£Ñ Ÿé H’ôî»zCê 0³ÑxrhÜšÕß8ÃÆcLŠÇ!ÄØ •J¥^«ÕkuV¯ÿŠrÔ+¿b>K0?Ö¯ˆkË÷?å†rFÖZ­f󮨷íý¥Ø{ܱ¬Ý]íÁWð¿ÓÞ,.ÀDQyŠx€ü·# ·;€( ‰€(" +XÓÿp5Ü„¸ë—û|V)ä€oå¹kE@É£t„'PVQ6ùÈŒB›·àb`©ž­,Áó”`ç W½0sê]B€ä…$`î¦ ÇíC$IŠçr¹Úxº˜ŸŸŒ†ÃáÓgëxýf‹>PÕrK ¾®?‘¿ŒÇ#ñD<W·¶.¿¶>(•ô­­-U½Ç#\PHñ ƒöÿ®³!‘óe‘ )D"R<OäT}kKU?ÈéúÖÖÖÖV"‘€—H¥bTêµ:cÝz—ÑZ½^«w{½n—ù|Á[­¶÷jµWU_%øÐiiyMËf3÷´V«ù[oè +ÀæÓ€–•·wÜjÂų«i»Ú»ÿ Ä£××@y£?aAñ4 Oz‰BD@(B $ +"@k÷?¹ €àÆÿ+Sàp( Äð*Ho;Â[•« ޤ9ät$aùgŠ‚¬,·„{oìøá"Î×rÇ=(A«ü~B¨Â\îNU€ÜZàÛC&Ý]T0ëÓùñü”/]€Û üÀ­îûÀ«7d!´Á›ñx<~•)pÍafƒ±J¶ ñïU†1I’‚k·+‚|I¸ Á@0*HB0t·y…  H‚$ƒÜ¡#(Á@P$A¤`PŠ +0Á` $w÷ ò]áÜØ7 „€÷’…Q1NBL0&„)5ÍFƒí4˜É“$ ª¸dTj´VcÝn¯[ïÖ»õz·×íõû½ž¯Ð[W!¹à/·5·Ž·«e²Y³oW¶ €ý}Û¶÷2»üË­Çkï"ø&MÓòw!WQ ‰¢à:›x + ´@EÒ¹`ˆ„DÁk ‰‚io+J§¸2°r÷ZÃá+r) +’9½€¢(Šœö¤‘ 6ór!@ ¼¢ðâÁ +¢à®U~¸e?ø÷Ë*À‹³=Zåæ(Aµ7Þyçw¤T¹±¯?Èá[C€›«8§ÂcÒ;‚ HPÅõñbÆýþøÇ?þq· +ðý<ÿ·¶TÕŸxƒ*ÀMøOñ÷ãﻈ𿵗A)¥Œÿà$|JQ BI‚R0VŸðÿML +‚ú~Y‚@põ%õ/ ‚þ_ øø¾Õµ?M„`@♂O·Ê Nwvvc,‘H$rúC£R«Uêõn½_ï²n¿×ëõFÝÁ`0ð;¡\a5 È1às |l{дl–‡\ì]P.lÛæOþLóÀ^*­Õ²:¶µgYnæo×O€]-—(ÀÀ/G $ +¢("oH Oh„ŠD<B!QˆxSO‚4ðúÓàªÀr8-‚e0,ŠiyéÈ@ZvAüùºp7I”åCˆnDð³<ïؼ¤(ŠòÃu¾à—ÀK?æ‹”T«0‘HD$®æáÅF Ûgn®ä üð?ss¸;uí¸øŠ›‚.soФ~°õª~°uÿÍ«!á&à&ãñx<©TèÅ—Q©ÐGŒ–Ë'yü.I’$À˜páBúYx!ð^—>á¶O %I’ Fc¦Þæ;XƒUMÓL$ë¥R¥V©u»Ý~¯Ûïõzƒ¾ÓïΠ?¬.àòn°ud=d\ì¹ãÀ–µ€åØû¶Å°ßÌæw-Ë:°µÛU»ù|^ã{Ä´]MÓòw•ÿ‘túBDÑßÏà&ܾF‰O¬Ýw"^·`:rM7m*i^Lƒp8 \NG–Á¼ xAÈ -©4ì>ücÞ>\º-‰r4m MOqC$¤q!UlÃý„šépûÌløšK™žGÌ„z±Í7 -À`VgzD’B<±óU¨=¢7çùímãªN|k¢ì(V8üì³Í|æ-݉àÊ@€o¡wyàÂÂõ_e–•þÉâjmÁ³X - !Aî)¸yîîîôûÍý Q”²rÉ%Ç2ÔRksR"ìì×ýN=©çœ§Î'‡'±FS—¤ÌÁÜ šœ‹8wÜFO/ây³ ¸®õ.Þ¬‚Óë\[ð%t¾ãVqéAö„ƒsa?ðS >H ðñìŠE'tðÃ]Œ ë»Óåáý4Ý@jÁ.]éWhwg:F©.ý*"M©óÍlx…жLÜzO‡«#‘Ô>Ó¾Ç6‹Ò*UFrÀo§>³Ò÷y仇°ŽîÎÝSRÖ±r]È‚šKe„Ì¢ÐUmi:ìv³>Æ'·¿*d'ßú8d\BI’C›vˆjßüN‡@™X¶Ì§i–Í+n-Ýùx¡çŠ€ë×nÝqIØÍÖ䌢Lòl„ê…“o~ŠÂØúÀ¯2_øšVÝNËy|}¬è-qÙÿÂyµëZ ”®xâZòi¡\NÀÍEÂ}tã)ü¦XvÈõ»¿ø>@þœxÝA:k¤µþ%ê«ôãXhËÔÚþê\E¾l¶V†.ºh|»õɨÛwVò°<Éæ2hvçÍ%£ó)Ç(éå%iï'±èý¬Ô¹Ä7/ÕÛ£½úè8#Ò`‘ÞË`46èË×FXD¥œin{)Djºæ>¿¸‡x2Òä×:æ+œðƒ£æþxMø•âÜu.kïEž/€9Ð/Zñ¦æYIA^JdZyWPBd¼ÁÔÔû~Ëór"nË_håíCÜŠí¯ÎcaQ€´ŸÏß™oò.€GO]pt`W·ŸR“±4þ˜ó%ÑMZü÷¨¿¡0¢®ë¾záÑì‘3ð¨sT®¨]ÏÝ襈]æ_XAß·ê¿ àóçEñ^Î-@øÕu¶‹n}TTá´úϳ¡#;Î8ô…ÃÌÝÖØ€:¶GCðÿö’{-´*@ius*=wæV7Åeÿ“Úîã9Ùj¡4ôYE \ìÿÇ=¾]˜®uú.ÉzºS7¡o¦-Ñí0ô$º.‡‡ãònÀ“ƒ-ÒU¢ ¿l)*›“j»M/ñ󋌫°.ê}3'‘¢º$Æ;Ý·ä"@8«VeP&A†7nñÝì7e}\™•`ðövÓï_pÖwwa[ >6÷ݲ Úu7ÒÈŽ;½Ï²©È%«²Õ·b0k3ëÀ’þ§vaý­¥¼|.0+bÅÒÜ,D@V¼õIÝß²Î[ÉiÔZ³S@>œ#a o!sÊѰ۔회Χã?ž ѵ¤›@Ün£¤@° ¢R²P(|­õ{w\ðÑG:K]è»`SVDFœ_”#N~ÀgóÃ<ãfÚ4ÖAÝL'ÿëí³Ç“ñÉICP'O9]Dóy%„â ]®)‹TÑJ9uÊ•iã„´aUOgÓ²­…w#ã5\j MÎГÆÍd:®'M=\ÙHÀ¡P¢¨¼Ùô>aÏø$Ý*$”ÔêÙp¹z™$W¾6ÆÉÉÉ=ûµñÛ ©¢“5Ó“z%œ×µ:êˆNxû͸¤•ÔçðrÐYݨvà¼}wGÖ7‡dfØÂ9Ê‘(2œ/÷GE±åé[=;œé3Fï ÖPì|)¯Ø7°Á>^X»›WZë ÞÆõLNþú×dzñÉ,œÇ“f6Î8ŠLbá|Oç§™Ð\)Êd:‹‡õ`µ³ÁC™>œÈz©*Ú°ú¨œ¥pÞb«'Mêá*Ú7ÍÄà|Q |¦SŒ‰“¤®»[UÝ5ŠÛŸ~:îxsýîϬøØ÷tJ_bìÌH+¤ŒÆ9cÍÐYîQ_$BÊÒí)3ùìçqs‚£9ÒZ`}ê|š¡,§zø¾?®9=™4ßò`KØÔa¿ú¦ÞØhžÑXßOû`ÂÏóÄÀe æ·ÏOGÛ£zODÊ+jžŸkìúŽ:ð€j€p†!;Ó™{A¸àžß9ñkŽn D²`lœMQJïA¦·b) -[rµO÷'aÄÁCÃ’ïár2U¦·Ø÷àœŸ)1ÂyXœ4‡“éáþ> à”7$äœskŽN¦Ó¸’èà‘OôîÑÖ°yÜì #3:¹7NNžý×ãÁiܬ›XtûËá=w>+›µ"L°î#W°µ|ûJÙ{åÎÝ; 7ŠKýÚµ¥ž‰nŠhge ½àzETÕ ç -—ð<çüp:­©ñ³C -HñSçˆ' -ŸûÃ~ý‚ërNÉäýÏ““Ç¢èää„'9>DäΦŽTâY’©rŒ¾ÐjZ»Uïέkn™²póîÌO–zHY”GJ‹#d€þTk‚~àçÚô(ú†£fòoí´‘ªšZ¾æñ¨;=HãèÉ÷´l «Ñý}Ôr’víL|ÆÆÆrŸÖñ WvhÄü`eªµX pÚ´Üìg—%+dÝÚˆÚÖÕ€":¨è&4:j¶©ïË -]B½•:‚“­œË( -°±ÇÓ™Œ¿.ÕKHáùä¸;ýfÔ2šÑa¹Ð”'1¬¼k~¾îjk¹;ÜÞNiÕp–ÈU™#Ò”s4¯šœ;J9D—.Ž€>V-ˆ¦ãY=yPfÜ¡Aº¹©šÝ›¸v“†9U5ypøG`‹Çe¬_ŽÙLfËÇÍeü‚÷fZQçTÞÈËd6åÜw‘÷WV¨~äkµ·?Ý/E -ç>}/-ç<Ú\5ê§Ý¾Š, ‹`Ê£T÷¢iúè€ÐÆeIjk¥_ÕtáÆðõ´˜ë³3ëöúGºÝÐ ²ôÏrßé|^9N×±–;»®û¦QUŸ÷V;Ë}Ò[¾m+º±\2($çt;5z«J*Aº]w‰· ü£¬ó3é|§ªeSÇ,l.p(ç FÍìg©`Ï{|Âfþ@Mà¿}ÿütoT¶~ôô‰cÒÏ1C_éBv  qÑD› ‘Nu—Þýq{0Zä3ൂ‡Ö²Ú>þ7‚yK¢² qŸ ÀWÌu"¶¶­W9Çô+p±õ8däX¾.rL -IŽ/pÝK»ѸHöeâ.üè©k \.•š1±U¬m]í~¡¯Þœ¿~•½sÝ -àÈ!€½ÑÆ`ûøÜÅäJ¹R>ÁìB6‘è·}-°ï&ζ}ýrÞ¿ìb€§Üc²æÁkñ_ï} 4)îcå¿ûîäeú>¹ò’ûjÆáÔ³^»³à¹p†f÷Ü ËÀGOÑ@Ž} Àƒð¿m¸ù¶¯/ð-€ ·8z×`#¾?B¸tí¢ -Ù]ÄSZ¯ Ad«÷àO¢‘kðì"ýìø}wÃNO‡Ë&9L‡È¦æ±B\2 xK§ñ¨v¶îÛЋŠËû ûÐ7IèëÇÁšéÙÖQs‰Îm{?âp¦N‘è‘¶ð;Øè.ÓËqCïG\Ç@à|¨w"Iá¾ytQRÝ^Q,ZH…´]Nä\áÎÕ;øUìÈÀ°ÛOU¨ëYôMPÄ¢®ØêPŽvëY¹§”í­÷?ï}Ž -°3)w"\²ŽHŽ D¡Û|~{{ùöm®a n,ÜøÕµ?¾qãÆ¯n|,]ûøW¥aÞ¸Ú3»Ôùªÿa ,`˜k‰9¿( -DåÂK9þÍo¼`Ì~OÖW:˫֤á)ñ:DRþ¦ƒLêš$ß°›gJ…ЦG¦B¨þo–oì9î\Ëþ;úøW7Š=´´ÜYÊ!òñÆÇ TÇB9»M5Q[¿¹Áóîðк¶–T¢ßr;ç|%Ôš’ó~yYÎái•r¦îW¬–¶ê.š¡M¶ÛÝ"׎D„÷‘ÈQðèóó·ï_Ÿ?:îù6ÀãÓ'eàKB €?±¥  _¢xÈQtà´j(à§RÁ5—èAoÞ¨!ä¦_b+â%¡ÚUûE§@x“™ûè‘Ccþ€²a.-’_d-cŸ_GâS …¾“UrÕÖñßXÞ\¡8äÍ1l’y‚ñ1‘R7þ»ê.H.ò¦/_¹OØùô¹CæGMsp0ÜÞØ>~IrÎ0eÒ0ýïåïÍÜýü·‰éØñ·}`…£œb„?qO@+>¯èºß¼Êø}FñåB>äNÕÈÇXÎó¯Šb CûŒ£ Á£ èP£8éP€=5³çOŸ»!áQs䀽ш¾’ €hÓŸ|"þó·hŸkÿìW„‹4­sÕNE¸ XVÒièå~:‡+ÿÒÝâw…pvQ¿¼Ž\$ƒµ?Rªÿ›O·~_ÚÈÛJEä\<@H×"JKr†ê"Q•‹íIQ~«p)9qEá/<™yh®¦ûñka$]T–W|Éùœ½’×rgë7vÑ+W9Úrù[ÅT€nü‹ɺ|»ÃG)²xã‚EÉ‘°#~Z1ZP~yQ£|Q¢E4PÉsá Ïá÷ÿ#á\Þ û…¡œ—zã T)´µ x™·òk)E¦™´¥­ù4÷R=…(I°QväïQú?®}ìFÀŠÉ"-–rç¶›þ»¦)øaä+­|źàò-ŒB ÝgÎ+Jÿ9W†¾²=ì/ºm±,Æj¯‹–Pª¢(ÁÁŒ²rlnû¿Ù*~B^¶ÔRs|¶þð/ýö® -ù™y¾¶´R‰CfÐÖ­ýX’s”RÂmcÃ÷ûŸ{yPîåI\á0&gŸiò çjX¶0{‰-ÍÍA9þ¦ÖF&&f¬–Z@æhøÛåQÓL{$Ñëq€hXT¡“™â¡¶Mô£k ‹ŸaËãö¼/:‰<µà9RaÕÂu´mÎyÙu­33dj§½¡F(và<§ÃÑoºê±á|pÉûÈd¨ÉѧËÃô>NyèV•$7ž¨„‘…_^" Ø‚/¯~©ü“›ohøK·n£¾vÐ[±îyË7Ð,;ôUÊü×N¢vøªD­Yéè(Rç*|-/ËyÚƒÙÎy/õ mýÛdk~Ù¦Z(ü¹ý­-ÚÏÏü‹ÞGBF±‹ÅWòÍù£=ôÿƒÆIOTâ#Ök,~„ýÄô(‰8¥OÀouñ»8j@PZ£˜3uòNVC’­*Ä?¼qÊwR¦Äð7À2× ¨3‰òÉŠ£m°v"šBÖ8ßßÔ ä PS¦BDó0„Ì&ÅéG·‚³và"E.,é—:°Ðù<}rŠ7çnoTÇÏKâj*$eÉZ®B—øO[à€ÑãºОƒŽ§ºœYë<»0ë¯÷õCe%@ÑI|ÖWùôãñ®*êZ.@Å÷Ÿ¤¸ˆNñêü9‡àµK<ž?ñ ŠrÔŒF(%à n/Þþç"¦o£Ì$Ô³ æüB¸Øë‰ˆtQÚ²]CY@8…ÚEC¿ÚE·ÛŽØ”F(”¦¾…\k…\™[î!•‰ý„;\”„øF@npN«õÁ.„+ÂRwžsÎ!Wa¿U”íKΗ—©†"\ìe-çØOm2tQ„n¹¡˜+Daèuuœo]rÎu˜ õ¶\¾æ¬HÄ+m¢ÐjgñãÅÎ"B±d¶:Àk —:E¹r;pu¢»çCê¼. ‰\@”0ŧžûÿòÿXkÏù’H-A¾r¤pn†$9€sÏ—‡rMaôDúŒDQþ8Ãòß »7:Cê¹Õ-¿ ü]Ó^l›”ÒRèÄìW~óß kâüúÓÉ´i¦üA³YÝŒº{{Îl¬Ç3_O¥ÇC—x½óõx2}÷⤼¼iäj}]L‰Vñ_lX5cÓáRüÁœþjÍl­ ëgD*ƒ!#LŸ¨lª“³¿Èùt2ýšjš}×dZtÑnÞK-ø¼‡‚´¢.‡ñ÷ß?T ¶÷öŽÁ…€ç¨eÜàþ…DáEG½ñ@M£šBàÎ1öùyK'p*tGGh/ºà^tðcću -~¼Pô‡‚Ó* nüƒê`úœ µÁm'V™¢ö¼q¢X@?ÊÌß;m `¯>RîdÔÜ ´…,;,®{ïr_Ðç²ZQø÷Kåludþ•ûôh8;à$€Ñ ?::mLS·TÄ6¹üIßÛGZû?‡ èØ«OO xzêK˜¨w¯^¾qûÞvìþ-J€°þÖ -àÈCQÝ -Ι‡pójâ”â¾=íÛÔå\aè+ž^þñÿ»˜ñøÈ-Ž2„òj±·—?á³€n[:uˆF]!KlaÛÛˆÊÙìŒö[À”òº(bñ`–.J[eÞÒ”.ÚéPÖ1´5::²Õ#gN¦ÓvÑñÔ±±¯'/^d,]zÐ6t$Æ„^:Q.NOè/íV¸LNëE,ö>Ý|:ûëÛÇ„ËÑy!\‹B²pÐ -î<9›6ª<ˆÅa=¢ÏhvѺ¨ýŒYVõQá¼í¢ÍþÐü 9¦K6ž½ðÝùSWl}Ý<þîrjîç0p(wBª®Ö¾³„ŽìÈÞ.éïfÕ=N.HÙ¥%_‰^éF¿sWaë*Ád‘k?ZèUÍqSõ«¾¢ÇõƒÑÆÌ—£ÙDႉpy|ö¿-ý^áü à‰p™N‡óÉ¡ß -Í9?”ó‚E‡ÔÀ7#ê|<Ý›³é×Λà†C -ö“o¿;›ÔÄ":8Ü'Ø_[ZøèúÒÍww÷B'GÕµ›®¡îô{*„6öÓ‡-„ÉCg¦8ƒÆQu‡Ó3gS9iÔ$§I8GÂ&Dzö¸ZVsä9̉f‘Ù’Èö@b®•o-o.!í‡Âh(£¹…¸+ùªã®8·Ä™€ÎTPÈ™¼áƒ'MxÙálkÓY(ÜÈŒ¡?ðÚûc§ÛÃu×N‰úGÀíEµŠàâv5¹ðG[¢#ŠF-çh*e‡}8×öæt{cyKe7ÓZZÊ<ËPö™[é—Ù¸›T›ÓÙù¿·é–¹¾7ßÍœ rÇÝ€Àl国MXJí¾Nƒ­¿³z©s®Í9§±ŽÿH<ûk!û0uRÊžÜp~à°wn¡;ûsYé~tÎÊßòl•§Î³ò%#X»ÍI°Zs›ƒ=¯ÌŽuv«MÝ™ -©cîîTëK×Õîjõ»§»¹ÍŸË O×ýÚïqîüVHý Ê^‚0(»PŸ>›+œ«eÊùîWarz„ Éi3ìfü¤¹¤s9æ™ÖÒ¾ŸD^ÛNú~ -ôü m?´YÏ·‡{ÛnO“iXˆ.d^ ƒ ü÷´µ¬8góÇø–r¡@·°ýcæ:ÔÎa¸LpÐAµâuß €¸ØýãßÞ”1ýKkôÀüÁ‘!8’'¯'d)ˆZ†„L=!óP~Êð>SöŠ÷ƒ%6i‘¬nŠR>ÞçLüwŽ=ë$@]žœ -›š~§/UI(¬ª‚!9ódN¶íg@ÕULÜAp-àƒc‡•ý€2ðê9€í›´âQ9ñºkà)V¾§\Ïô}¶ø/»$°ÈÁ ñß 8ÅÐ׺øÿéù“'zÿŽù;Ú;1â0GÕR0Ò–þyqÑM?Òœ/¨b‹sá2|±Í×pÕ\£µo,oÌ…Ké¢E†B÷Ûv¾ßݘÏmÕjà -ºr1Sv`IHYí4@{Á~}´Ñ¿ÿ]¤hºqè)]Äbƒp)\ÊOX¾‹r{š´ÂÅyAf·ÓrŠNžÉñ ‹TS_tÑÆ™ñÚû¥‹B2˜>J&ðiäW<ûºž ;Õw“¬öÊ^抟],¤ˆi&›K7–ò $½ÒÒ-÷ZãÀùHÙÈ1v_V¯œ§h—îð~Òýj.ÒËû ªQæbrZ­”ý}„‹9ç\¼ä|?7=,øX‚ÖÓê÷ÕÙ,‚h^¨}ŒÔ‰†“æäÙt°¼FÆ©¡aoªL__¸5ßßÀi°e*¬œ+%«~ÇAŒü»¶‹ÖôKa>5î$oJÞœ‰úYªÇ5+ž't2µîÇÿ6O¶³OÍÆFj4>íM÷Hý–vmèC†\Ãn÷ug¾Æ©$æ˜Ê&s§CJþ …¾ögYÀºSªï_¿êx%LyìVLÞ ë¨þð!HöAI¬{šÜáã` êÒL«”® ÎÄ% -Rv 2?í »Û^º‘g™•O-³õ¹½WÊþ-×›õŽèçî¡»wÝ¥ÂYðy‹%dã¤e.ÜÝt‰ˆ³@wк@á`XõÅr-7Æãÿõ_)á¿ýûxŠêB»óÕwf‚e»0 ñë"ºþZß Ã/2‡±:@u‘sþ -ß…ìPiêý®Uç‹1Åy)½ÌÓ¬Ê%( ½WÅÎnu/X_»~«t·¼Ûçno}s<½·¹i»«UšË½ta+‰øŒ]¨]Ÿ+aLé®ç¨ÔùƒÒ…?9àoU<¬‡sž•7\ñ{G©¢ÈÉ´eZËî¿îîóg H%·mæ=`{?‰ÚÄü{’  ª½½Ž£œ;@àµP«p"DJÅ{@*œ ˜:õM« l&p]ÃÛ׳¯²P0Ú¹wÚà U0¼Øè?üð#)‡³ RÕøá>þød¦j!‘„™f`r×›ÐOïæ°Í Œ’J‰ׂeð‡ó8\ ƪl쮊™ÏŸ¿ÒðàÁ͵·}üœŒŒ -6ë«hëè’ZûŽÿ¨e`´]¸ùÒ‘Cº|-¯ïDÇö­~7 (¿»oÌåØÕ3ò å4”â·Q-à†Á2# Úþñ_<Áø÷à:p0ãÀ€Ú{ÐtðÿÏ¥5_Ò;Â%¾àV{×4ò3.m¯*ÒËáÊü”vÛí—.*úG,Ú†®PTV· ¼|!W¾ÎMˆÎ¢¼1>‰p±÷*Ù}xòÂ¥ÁΘìö»W„ ßÀ»€… =¹ä\¡Þlt¶î#D*ú™Fj@D¡»Âe'œ6[¡-ëþ]tQ¿”ˆÜŠÍ±ÃÉ -ÀŒË¢ý kÛ„ýj<ñwgs—«K7x -¾rí“¥ÛÊ –Gebòµ…[­°Â> V}9XÔrÞγ¼.аcåîV -—–óˆ³Â¹µk5ÎÙ·´áܸa¿z™D$U=æÀ4°°xîº% u~P_20:ÀÍì E¸SF<®¬eþPú0À¾ðèn°y)ò´êTXÍ_Ó9ói…÷£ Éø mf¸¼QÛ°7z¶BÕ&ÂïU¶§s½ãy Ú¬êßkßÓIޤsu® `’ÙaíJü¸R½ù¶¾`ÒŸ`”ëþÊM(÷ WÐ6ßô‡Sø¨l>>(«{òï'ã¯Q\þüoãIå†\r¥î"ëÙ2É ¢üä;d{ðC‡è±¥aE‘ãö@\¤—•õìYêû‡ÑÖÀÿ5·¸&ª -ä¾½’æyýfo@ ‡O7ØŸöûÖ¬f—õaìòX&3‹ýG7 -Øí®V¾¬Pì/¶2ŒZ”í,gÍy«½[ÿ!$æ°ì ë$«|§8ûp“q[ç6sˆ\©º¶«¶W]››¶ù}¶;/8ç?;ü·”½µõÍÝ=5ÚúnµÚÙ¨ª¸Ù¹xÊrÞßÁëïÒ/7ïœh`á~gØéËy䈊‡lsä×vêýÃaWŒj5ß2¼OÕ¥½|ý¯vâëg©Hþ÷'FíwoÏ1„ö4EÁ=ÑQ OŠ_Üeø\pj¿xJäxÛ¹hr1¬Þ@¾¸Ÿ·n·cø¶b/_™“WÜþñ C¹~A毧$ö¼Ål~‹wÁ…~€7òJB°Ç=YuÀVuqW@· &dœâ¶_TA‰RT†7^¡àP_•}€ž¿|ª }züàCRÛGÏ š#™˜õQèoß·ö Uð÷'¯ÚîííÕG¦Çœ -xê«ùu¼|òü9™ùÿæµyÚó~Ôüõ˧Ӿ܇#^žóíƒóì­{ÌGÉyw• -À¹k= #78:8‚zûQRܳ͑ÚÛ´îÅŶr©9ò‹´h΋;ZÚV¸4õýÒwgSH3/‡.Úßj»è¾o*p”†™ ‰ª·ó\äLi;ž¶þô°ãéóöÉ3ºÉ¡ÒÆ7f»˜@áRs®æ‚R˜Æº‹Wà?4¼áRŒd ,».AÁî>zaC'|4 òÎçŒs™cq3b…(Qå1=á|ÿÙvÇÅ$)î︩ïŽ.n؆°¾tci§ Æ‘H>Ê£¼Š<6uä ôù† -Æf•Ýjd”Ý“†É}Î9´­8c~ \ÔGŠ„‘á (‚mj]Ö •k„¢ˆ èV¼Ø¥Î÷Ç`–kòm¢cE»OÝFPt€~ëÀ’R'@~Êu·Ós÷£þZÙ`8úÿƒ`ÅÛ*`•ÚÕÝ걬ÝÅR0ýûûlþ¨*éöm_ÉNKºƒ.4Ýü†hãÛÛÛ\ÜV)Lûhæg=E”Ç­•‡ÍE§ zYA^BÜø£Y§Ö=ʉµl¢ìúpx†»ãéÆö iF·àžéì—šî@C½NK.-]ôÏ–¸œÃo8vŒ (³_Ò–‡'æ•Æi;™%ËXÕ»N5µúÀ^ øÿ÷ëë÷„}÷ÿ9D¸³t+}´pwöE|_*5 #&MNS?(-´}׌ÿ]ÎW»Ûe ÈÜ9±]Í9ÏP°Ô4çþð_?«Éù€iìºÃí­Ö­Ù4Ó-ç-{éxmÕ€â³/­ÃíÕ|.PUÝëÝúhIûfñWGo­‡zNŸ% ÊØnÕéô÷šûDÀÅ@öŒ"@yærGÊî…H™•¾¼Ê¹ÌÑ1óœí¨VÜ‚mó¢’äŇâȹÐUÿXF(,'Ôû¨ŸLÂ^ ŽÂ9'(£ Ò¾¢.¯¨/k -ô€TT2ß ¼çÿG´à±Ö³‡œ´hB ¥b/'‚ì-þK®ÞcÁAqYã -Òì'\á&6/°œ7¼Íb¢*HÞ‹¤—«¥”ù-©Ïâ+€ÿè0~cšàåÇ<²TgÄZêáÕ«ó×ÐçOO=¨¸}zîG¼FvØÃ .©Œÿü×Ê7øO+ ©s7_8m|+À£¼†ÁÝùÁç Ê…ñÜW3U ~à?WÞž{áÚï×o^º3Ðù› ÿsÌ] $ÿÄWý§šÿŽ}­ÑžÃø}§¯¢£´@&l·m¸¥/æÂÅmÅ$AV±èªî‹.ºl²mÓÞ©â3O‹MÝŸ4¾¢¦Š!jC÷V¶]ÓlòÇsŒ3²é'í(J¥þè Ç¥›î˜víº;ÞZÌhéÝÎg®‚i©h#„|ð߇*òÄ/*'XÖtëïÆõ¿Æ^Lá(—Ø@‡“‡œú2ž‹‰Y>·æmê·mÚ|A>¸Ì]ˆ9vGeªAÛ^¨ÐòKíÔOj7òˆ|Í›£ÍßRk*«í%ó%çÑ–g[ÕcÏÈ7mÝg›áthòÇÇRé5zyK²Ù¤Ú ÏÕ–ÆÎIY8Eߥ¹Œ–+4A263QÞÉ"°gc´ÎêýfµÿeôT}UƒÁ½uð³Z__ÓpGgÀúº -À-µSçµ[½{¶ -õOšÙÉpcFÒûúо‚ó¢ð„ññ'(Û]Vò&YÁ_ örh5Û9Ã?“sç_¨  wF‘.&e;¯Ü"¤Ô,¶³Ècáø+Ï­¸€|=%øî¿ÂuN£ç@äW;¡À‰kê×Qn¶wûËdо¹Má„tnS»ñ蠷ΰË×çJ¥tMšMÃfe8sŠf"ç£ÙåÌ› 5g¾®Ë£ß»û³¹ž8™ü¹È8nGËüj¡çXp_ ËñÛ'§{ÎHCp,Ú%b/Ï_gÀ¿ª â„ﺀí39w¢€· - ÊñhÃGXBN×w‚Ñ‚œ\j‘8÷¥ãü¾1Ñ„AÃâߪcby@ßÕ‚0KE—à'3ò<&†»Ëá˜+)1’¤#þü¨²Ñγ#ú†ÞÍäuÿ|÷8÷}€ÓãÆ!€í#·öŸ²;Ið÷iÿG ‹®KK®Yí8?t4ÚÄ -?>~2uFT€ÓìõäúêÍëóLÈ(QHÄøœd~ Ššß¾ñíMí=ž:€j\ñ[«V›""Nî!ZµÔ“½E`wó‹ÍÞÒ ‰_§¹H'ºXõ¦kSg@ÄL)A¾›b]D̆ó8Oþè-‡rþ].þµÄÂeÎ9r1•nq‹Dg"Ð}Óz«A¢ÇòÜÄ-hùL&bÃí^³€ÐÀMg-B(2’ŠÍgKN Œípi㌦S¬ë!žša¿~Q¹Ÿƒ ÔI -~"â-ç¬òc‹ðõ´M¾Êk¤ ¨’†~é<’ÁpXotG ÔLÜÖºqB„UlêÐxº¿ºí±§Þ¬õjÞÔi.Ehy“Òb„#5€é°Bu €ŸŠÿ|;FwëQ–e9ZÉr×2 §êæ¥pö¥çØÆh Í0}4Lý\¦¾ - jx_Åðåæ=}ÿ›Úþ¤à¯Uëkh˜Åë÷îÅ *¯ûÂ'=©s Š’>|¬“¬Ê>“´}pî¥UÉä-ýß²¤l—šÎ©aøCñæyÔÃÎpVTÕ¦™ì­ô¶þ¬%Ål£ß:¯Ë¨Lîe'ÎЭs¨­co[­°JØ{kK ·>º†îZ`W$•RsrB©ÚKºÿw@ðß…µ˜£Qµwp÷új ¼™5@ü€Àà¸3°¤Ëß`ë-'/½Ïszõ:Ó9ö½~žM°úu[¨¼<núàÿSt˜#Ñ¿98¨²€¬×ëÜiY¼ôüd -౨ œûrFÝW,*\,ãñ¿¹;=—>Zzé¢ÍtcÃ6¯«(}p÷q‰DCÿ÷‰»“*‘hçªòRQ«gÂ%½ -X)ZŠ]4ŽX¬º+b1?ŽèÒ/8Ü)œ•ðn#>p`î_m&ˆJŒGu˜œï¿Õºà°dm•óË. -ç²®8)6LÖ/@?èN¦‰ iTäB¸ììŽõtcM”=ס› yû*v´J€s\c#G‡CE*ÂùTá ]u˜ñ³ÂÅÁ˜’}Ëy¦“C“?·X¤ÌÖ3jD¡@™]=­‡Íã¯Sl©ç•îŒyÌèR­½ÍÞ`M)¥1™ÉÒwÊ.r°ŽLý¼×ZªU7ÝáéƒÙƒ)*=Í£©»õ‹òÈò]EC…þ8á1ò>~7S¶¥ÀWÚ9ÔÎ\iÕÅ qß -´íluk-5­IK%Ù¶Í·Ï{¿«ª¶A„‰j?U­4·Ú9¤’Ó ü„ó¯j'sŽ÷·ª³9ºÅ”Mˆ˜‘$1Ù­šQ§ß6ô¼ð’óbô ¢åŠœÀÀƒíÑ`¹>+(Ê£#a3óYëÞqH ž”!ýT‰.Úcñ¯ßÓp÷îÚú¦ -ÀÚÝ;.˜[¸~ý£k·îÞÓÕoZb2Î*YV (UÂ}²ü·ñc3Œ !r^Žd7Œ£‘— žò)ÊÂéÒv·É„D¬vŽSÇØÑ<îñÔ9^ˆp¾ÒÿV+QRéÔ¹­^ÙÂ¿Š•úlº¢ôÖ85®;ú€*@^ŽH9Æúû˃ݨ¸úµâh)¯ù”6~·¡“ÎB•æâ"ÝÎ0ÝÍíK)9Αo¸†‰ñ‰Cœ—a ìÛŠó&þlkqgË4kï½—D´÷’>j½òÀ8§'ü͋ӽ! -À±‹=}ä®´ÏcõÆÉŒ’ðúµ ÈŸ¦¸W “¸[¾´é=CÅ@ÌlÇá š¶£ûþâË©q4³3ï±Þ‰BJ1ð=ñßf7ç¡ðŸ ÙáWO0^\î4 û_îI-¢¬ -”yÿà Ì$U~£È¨5èå ”1·EÝXØe2½oÐq#_žëÖ¹ƒíÓçha¸ÔL*÷]ºÿç{5â»ÓYío ··«ìp`Å7ǨNŸ>Qý³µïÒw ~{_]$¨ï™jIkì‡Áø ¼ò…ÆtÉŸSÿùu!ÀùÓ§°þÝvà4ûÿ•€ÛÃÌÿïô–ÞÕÒšÿ޲ÜÚ¾.N¢kåâpydC'V06˜íÞ†Ng¥ÓN&ý Un±îG_EF¬±ž±Ÿí¢ÿÞŠÅ4t{„|_.NF¸¤D¸”„5œŠpQòö;yƒ›ü‰ýÃ{­0™ÏU€Ýr¡pn÷׺XNÕñº(§­% ,îŶ‹Æ¼)á|*ãü·"Ðç]4‚O­Á’”°³ªØþ*Ò¬ÿ×¶Œ¬Ý\½ÑÛÿËž ‘µÿCa•¨íKÈ"^`RÌtúãØtjÜïVÿôIDAT*•bq^çr(çUç’sEŸ‡( -­p ç,£¶²ÍÝ"Yký,»õÃÑðÕ*7,™)@+Z43PšM0´HAÄ£ó©Èægµõè!0LÌ=7Býoеpð d[(¼Ãk=~€É™íýBã¯À ÏuZ-gV¤3è¶áê ¾µàèÞ­P¬Ñö¸ Ëp4ìNNšæß&'™PWj¬iÜq8'ªMí’gPÖ§ì=@kîÏÿñžý¯§ÒÃi˜K•z%lVoUßá¼$ÛNŠ¥N} .)Šý2žöžÍÔÈ Éøü˜çdSGa¬'ÿæ„™“qLH=7¯]sV­Ö9€Î\£ØQ…þGµöÕÎf½y¯§óƒݳM;ºKŸ¼ÐË!½&QºB”ce€DD*ž¤’%zÒœó}Kòp¸ª&`#‰iTDÃîø$­åäñÿyÌo×÷^,ÞKb¿¸ –¿yþhÏEiǾÎ%⎟kXb¤ƒ5.=Sg/¡Äô8“òŠƒ}î½çg|ý]ƒ¾^¹ áÿM1ê³P{Óôæáœ‹æ“–î]ø’GÞðÍÀ¼ãqà?L%¼™‚ä*ðä@6L¾¨ 3Ek“+e*_¦ðçNŠo@>AU÷GJ±¢OÝ<·Î€§Þ' ¸¶’`Á³«TðUÿz§Ó‹•­ ÏžÀÛ{{Àpst|\€Ó'O瀳œÁW€êÄs=À/Ú;Bðê5OêuÞõÏÓÍ‚'+p#» -¾tmJËùN}ý¿€¸šr~°7ÚUC§n‰üú'ÔUZ  4åKÚh¶¤[*u¤4pº(Xæï¨SO… ½@ÅxR^fQºèøO¾-׆®X,Š®m==Ô.úìñŸÿ8iÇS‹Ð£³+“^3}p)ÒåÄyAýUÝÐP¨¿.e†±¤¬¼à¼ý­ºÛtQàð!Þ -—Ë.J>û³AWÕE>Jå‡ÿ"\&þË•.šH…§ÖsNôªÛ´Ëó Ì,‚ô-êÀª¸Wun÷Ü+W»B% Œ|¼píWüri> Pæçü£‡af„#h]‘=ffS$[øx\­ÔxHŽK¥Ëy„ËäÏsá¢T%´Ÿ åd|V ›‡F15¿[ÚÿÚpÍîff–»„uÝûÝZoéVìÿkQ––~í ä{»¶|(SËÕo ™ÿQxOÙi.ãéC=Óô#ä/XŸ·ªk¸¼=ãžHd­~á®bÀÍaÔ©"EwtÔÉòïÔÕFw2£ò€¢Ò̃¢dœ6kû™þieÛJWÁ4s‚ñÈwwO&''}vvr2~öŒlÙ¢ÐUΉ4žÖýíikQ®¯p®ª7žì•¾ª‹\§™«¸¸‰œš‹z9·ô7d²Yœ;ü´žØCÕ–É -žÈÙÛó¬šNßùíJ‚ÀÙ:ËÿÞ.j&ñ¿fJ óG]»Ù»GzLJõÖ}4#%nù†Ây]5U¿Ÿ·~ê°æ«ÒC¡öáÖ=’ߺú -Öv`%½¢õ)èžBh§4û³­~-žª¡›L¨÷ä="ÏÎO'þk©ópE*ô}íGmõu€·âÿ¿yëV™PÆ«67¿úÊçGƒXíÔÕ=ÃÕVÁ™¹-¿»ªP–"l|ð6ˆª;œ<¤Îu—%c¾0dòÒIÕ­¿1¬\Ɖ»;~69ùîÙ³Ç'g“ÿ:qxÔð6’÷S <ÿ˜\Õ؉rB:ˆõæù)’ÒEé(.xŠÍ)Ø”€×¯ƒ˜ÚÄ‚dAPÇÜO_Þ÷ƒ«þ=FÐ Î5Ñ8nâx,‚¹©`0—u 5M@Ñ<ŠèþÆTÕU‚íí$ÿ„ôÛë¡ä/‚g!¾IäÜOÔÑÊ*AOrK¶aI€#¹aÄòm2–Õ4¨Ncým_¿i7Ñq úªÑѹ·*‰låê;x÷/ø/¼jÿwÜ–“Öâná>€½½#ä«“tyîÅ ߥà9g--Ò¿uXz•½áþÛ7/Q°ö‰è¿ z -LËöóó'èwYÂÀðŸõh¾† -—îÔÎhÛòœÔüu´MûªpQ,ÒEGJS-¡ÈF­-c7Ø4t€Œ­Û¼‰k'l»è={vròç“¿ŠF OϤ(581 ÊÄpcFÏh…K‘½…ŠpA,öW³+Ѧ}P†µŠ"]äÞ@43Ö¸ÞIöû°¹ÝE¸Îížf<.…s‡,*)Ȳ!ZÎ.'ÿ1ù¯à¨Q¤ˆDË€,ÚÙ7ÃÕxË~MPiç+ á"@NÖ«Áêâ ¢šAK7йãLã–®e€ë·–Z!3Ç& þagCþϾ‰LeëR¸èu©Ïö:uçA ?„úЧ†pù«Âåñ.m¥[ö8šE% ý¾9±Züo ^ƒ€p1XngqgTÞ»0^F2Xª8ô_ˆ,÷Ãì=û¡ôaC2TDd¸eíeaâÚœy(K6Ë`ô ¸qŽœÍ%¥ð¬ EËòíVŒb™6MKïNÿ×äßO&Q¹l´¥ñ•ˆ$õÇ`R]HsšªjןMþmbw©¨rŒÍv^ñÔùü°Þu‡ßΣ['ÓeËvLÇøÛGŸÕ®®ÊヂåùÏøÛ‰j=õ€ÂøÅKâü‰`?Câ~ëØíº×¿??þÃ`{4r €çO\Æœ;ðoº -@ì[u R@”Ôñt.–|œõ?¢4¸Í¼ÿÙÊptp°wPýy]|âÿê•Q€¶ÏIåÿáòNM˦‹"\Njå%ÝÞ–.ŠÊ^×3W@¥…·Dó&¿UÕœL¾ûwz$Ë\¼T[ýŸtÈ›ùìO@r½€ZðçœÅ²Òè*çÕ:w眛µr½Øä 9‘$…öbk¥‹Ú_] K¥{*Í!¤þIóïsáòŸ˜ÒmœM)‚Á8vÐOÌ~³º·‰`Ð7YŠ¡±µ‹TXïÝÿ3`±Ý ‘䢺k \/îÒ)&ÉWÝÁÉäÿ!D›œáÒ‚ W_TZ_Fá:œ;1ÕEu‡’žŒÿϳŸbQ{`šÕïë«•Nåž² ­ Vܯ1ÆB]MÎënõדgŽ\´Ñ"E¾ðwbž9 å¼Td8×$áŒÚÝ9ùó³Ç}L/5þÏP‹;ï!@ìëÞ8Ç súÍËãÑÆÐÑèãS_K÷Dóñ%øÿêÍ+Šˆšñ€ÛkÔ!8ð)tÒÀç•0´%¯Ü×,æø &9:Ùf3`± Æ//†òÿ#*æÉÿ8Ï%ÄsO]éDÏý€o2°!r1!DwTDZúø×`ªò—XyX0Šk-ATÒ댷¿ÕÐ>}‚!}üèô¨ñu€ÃícwØ—]qÿo²ý÷€:"É×j´öÿª*Àˆê›FŽ4÷å==:Eˆ à9ÈïLþs-}çþÉ„Ö~œ«œ¡ hòŸŸ»Þÿåà•ª€¦?êÃ+Ô‡-ÿ'O2·óéÓG§§j/®þ{p0:ØË®üºýmÂ6ç^ç×s  »sj…KAѫ¥tÑ4½z:êNÞþÇ_‘%m-ÛÚÎé¡ûâÕ´¿¥”¤—.JH•‡Ùä±DEÑãÉ=þ¯“Ã4ô¶›”NÚèO¹l #ÒåM‚SuW±{±èŠ6þeÛa6øä}§CO¢¤+ÒEûõ<+Vpéb^‡sOÔÑwÏ2 ¹].SÇR{»»³É_ÿò]”Ž\bÛŸ=à»v݈p‡?¥‰# $`)bÜ(\–;> µ1 ‹¥…On_¼%»\xȸ\ô«º?üÏ“ÇeiwÉOÖZoÂyµR#’¹ Ü+\¾‚DãÉÃgÏž=žÎk:ûPˆJ˜ÑýÑl«à¿`E0¾r^rAhóNÔÉA÷ì¿&³¢.æñꩃ—d–'<íö%MèÍ{ƒ{™ôïìŽÍÚU>Ñ¥[znÞÉrÏkh7ï®RœôÙjß'?S+ÙÎÏÁtÔï7µ°Ârm¥üzò¸, $~¹A¨õ%7Û@ݾI?ÿïd « tønt€ÁÂr៣Ù^höÌ‹AÔÍ‹ÞO³Qÿuîÿ·¦µ¸¬xAÊÆYÕ?@²•bÑ­ÃSU7gå2œŸPãÉÙ4MÞO"×{I‹”ʨ>ˆ ê½y®0Ú;8ÒýœÏŸ‹9UCøÔó,¾Bç[7Ú/0 p ÛO¿@i6[÷Å$ÎO–ïŒfÜÕà]•ÓT(NRûá´ˆK À,ÊZ?íýàøÛ,ðDnÔÔ> «¢¡Û¡õ02èì„…ø*¢Ž84 ’¼N÷œêåP °²Ô•^»Ÿ¤1 ²ºÞôÁÞh£:}š©¦"è7y—®Œÿû?.€Þªö´ -@­ -𠃧§O²P_ƒ®|Œ_Œ༾WY‰€b†}Ÿ±€,õs±ÀN@ ×/_>ù’§èΪrìÎ?&û„¬ÿLô €{úÿËÀ>€N;`É!­+y%Õvv瀮vQ}4Q;öþ´éÎþëÏØ¢6ðñ~‘Š¥¡G¹EÒ̶ì¢vÙô 9žlÃ]Ë“þ¥?È‚R 8Š>rûÅÙ[ûû¾+@€$ÆÍdÖÔú¯ý3—óm“SGñÿÓçÔLô¢P«ÎIÓñ×Vë²Òý6_ïAf6ë›Ç“`ç¹—`Á+èÂÝßÔ¾¨"܃G¬Á~<pZâÊyYjH)]ˆÎºíú89·Å;ç6eÛ—Z¢œ$ðµkÐ7¦ÝÇ/Ÿµù• -ƒ­RŒ]©ªi¿ÚHA´{ëü;pà\@ ïŽ[gqªYºyKk™ÿM_m±º:µÚÒML¿`tá|ß»Qãá¼ØûÑaæuº¬ó½:;û[g$2ö§/Gjëœp4>$ùý@<}´F‹Ï$XN4%7ÿ¶"Ch^nûá…Tf«øö³w¥%¢Ì*¬íBøØv¨Øu7ZR§Upêó˜šI`ÿH¾ãét«~öØÝ4¡9çNæÌ~܇0¶3­ºõÙ¤4ŽbŠ&šŒ–ÈŒËnHï£Wï!ÁW° î‚{è/í ¶÷2ð´,^ÜKNÔºEÚˆ£@Uá¸@rߌ/S4ýÍBÈv @7B!ŠÒN#ÌÀ¾Ü¨D)0Æß»@—€Y¨´Z†þð6³ ‹é_Bó[˜Q)¹d„|H-ãY´è¥â€ªÃ^*çb¹‘%õ%¾­ *ä%Ø«;];}°zŸž›.‘ÔYþ•)ÿïüÙ˜ÄçÿÓ\V{¾iÓWRö¨FÕÁAíœ|‡`xê»QÄžœ£ø -½üo^f8Àß²Iôæ¥ ü^=Ïp?çª -/}ÝŸOÑXýäøÉ“ç¨-§þ¹üïÈE õž›žlôÊÌ¿KÀgœë±°=¿KtWK:í±¸ßØ‘h¤ @yò°;{6{œ6^š-M8]ÔfL­Ñ~}æìâr4 _YCMúºqŸH9eó}ÇõÐ!#–ÈHtÅ¢ÛàF O§õ°{àÛýDsáQ^èŠX¬Çh0±8=Ùhè¢m~~Ë…‹œïîè€sÉ.š  fWÎἋ6vÑÒÙýÞÝÍ{ ª®úÀ—nËýœÎå˰ëƒèõîåqG%ç"”÷.Ôµ9ÏÏ’]k!ʹo9£âôÝé¨{_áóE¸„J_pžË‡ûӼēÞm.*½Ü5­Zð ŠVŠÅÒLüÕøÏniÈÉ_[&7¬š½ÿ$ÿ–à‡Óµ@³É ôðÛïž|{|œÑÎÎf'ÚåäpJ€`I3µm5ãéìOî;ãúêÔ…Ê×èhçófÒhÛùE„îÃÙT׳éhû-žNHæ/ßNŠâ“Ç_<ªåÜ6ï{f¸U5‡'g/‚õÓp>§g£¡ ^ΧÍ7Íãoá„°ãdzg£âÔÓ³>:Ôf?ñÍv'Ëeª›»›ƒµ5©T2ʹâã¦ï®rÀ 7ð¥OÃÙ·³9|KmÍ^ÌDñÊ—ØD›³ÓÑÖðŽ¥ƒëœÛ©szª/ã‚s"·œ›a4<«¶òZDÊ@7ofgT"uÒPçg'¾d<ýn4œ6'““dz/þòâl2y8Ó÷…ÝÜ4‡‡ÓÃÇVºûù ¬J?™ž=£öwò6 ¥¢ÈT¨;Ôá.-zÍ%úîêéá6º5L/JÛé}> i7ܨ5Žä αÞÝígLc¨_ÔÛ¨t<7œŸÀ¿qöøÙ³ª_Î6¦ãÇèur~öâ­aÆÓØ?¤í6“ÃÙDÎm½4—1µûþ¿@Üûàu=ÿ5^ßuÒžþóÑéÃPfµ=ù)¹Ã^Æÿçþ 6û¥9ó-"K§\qб¡ i=xlÖr¾1\ÙòR›ÄOÔ{þi7"ór'>²Ò}K(ö‹’gé´”_à—ÐO?ŽÃguøÛe™pº -)Ë8¿)F²£#Ž>ýt´-Ûá¼ÔõE1¨ðOÍ·p}Ú—ó­ÁœóüæµzÖøÑ7ÓîÊA5Ú+ú›÷Ú -OÐLa2eœå>n8XFó+‡(ˆ%¹«äŽW”ÂäÃáÊo‡ÃîjÇjX\\Z¼}›jé”-­ £6_<ó[r4ýîJ˜Ýh›O<×%:XsTO·>õµ¤Vr—ÌB¾1=­J[¡5üÜ_ ;ÿ˜°W)HtÆþëçÇ#ú¡.hÌÎúŽ_½9ü¿ÿ^7€ˆHÐƉÓÜ5„àyþ -”@ý"ýÖ\ç5°ÖÜÎd~pÞyƒ|‘_#v¾WDfñškf*àóG`þ•ôýÂì/Ƽ·L*Ž€6ˆhžk¤@í.=\M`?â¼—¼nM$´9SJÊë×ß²äâ,jCôÍ´:Œê'y~=î?µš$Jm%e5 êÀ•¿·ÚÿŽÿ+‹ýï*~{=š¡[î<Ø{Pf8 ßGÒ_óUfüGˆà×ùGCp” z‚ ÿòNástU€,ù'1 ¾thêìÅÜ…p{Ë7Äcücð÷÷¿Ð²€o“¿ú×¾¿|åuñ¥GÛu.º»tÑá…pù2ßi葊MÓ]ñµ´è }Û¨‰nm}ZrZz+ -"ÆH¸:è~ªX,b"b³Í¨t,ÅâÊòh4.ó×úá²Ñß2ƒ"þå}¸-çål¥;qôºhƒ¥„péºGw-Ý{¾<NˆÓBÜ“w__^È æ4þ˨uvîì9ö®Rj —o´/ÈEÎÞ^òú‹ÎøXB,]»¶Øq™W.Á4˜¨¶ºÌÅ¢’ËlÄtÔL‡ŸºP.ܺ.NåÜjB"Àº;C…š²ŒFË@êÂ%/¡(ˆHˆaÿ7[xúÝ^·x, ðñ_)(—Ü55í+ë_Šê;ب6úŸþ7èZÉàÈõý­ß/ºÅÁÊÊÊò2ÿË^]]]I3nɦœŸr؇—~w•°R§Ã×§Ë®ÝÀ‡ç¹jB÷_­Pge¥CÒ݃¢»E}­,'b‰ÕíÿÏß|êaYù°Òéðßž„J¨­O—·úä¹Òý4œ‡…$?ÏN2¡òˆÒ‡ƒ0ç²^âY^Ù•¥‹“ÔEKá–,[5Ñ ¦A&yãFǽÁmŽ7hŠ7ÊÓý ÑD?¾ññ„º±|û·¿%® ¤Œ«¥¨$îo¿Û!—nΩŠ0̃¢Ô¹f -ç²îÏ–œÏ+AÎSç~Yé&GÍ™°I{út™«- –ÒÔ%¬&iweéþfe£³p¥Xö¸…@|K·-ˆ´ÚY&¹ÎÒíÿÇÇ7(ì ¨ ô[B­.—g5ÏŸ£­þpùSÊxXöÉtSnηÚv6Úÿô7Î!ŸoN.S~µPÿ©{Ùô6Àöýëóc=ǧÀ€CçoßjmG –Ÿ8CÀ¼ž|Gè]s?·Ò9TÏø¬ø hæºkƒÏ1Ó5ùsö6Cz÷‹º@$òÍŠcSç‚‹ÊQR,G$ãŸF=Z†± ´”2†ð£Û{FȲ\€@Ñ ë‹CÍxOÄqúÂzêé•*€ê€èM§ç¾3¹Ý] µÆïŒû¿CêÏÿG—Öþ/R!4ÜÞÛCíÔN¨º]ìðh<è5h)j?{#4 Ì[Lôº=œN§3·Â­ëÝú³]_Š¥bFh‘PmâHU{µ£ôM=Úㄳƒú 3üƒ^´Ö ³ÃQü¼ÐAIBÓT_A×/JXµ=ØÕèR„®ãžžé!–»~w{z@^èfQµd櫃9ç$ýÎe]ïpú]ïBi«Ž®rÎImD -œÔ šªLE7¼àÜZ‚­&¾‹)Ò¡¯K@Å ßëÜþmg0X[W8ðA›C«sÂ\; ]G€,|¼èBOÅZv$ :ô‡øÊ{ˆýíp®÷Çì'Ó£-9•ðn[15õâSÓ‡óÓî–#5Ù¦¡h„VY個GORç͈ÇGÕ¦€–‚Ë Ú:¯ùHY'ٟʆü åÿ””«%ç3\o­ˆ’Xç÷Wõ7¶¬’иޯú ŸÙÙã6:|…Ü»~ÕÇÉ´pN¿ï¢E|Õ… çC¾Ò\t^p®1h«Qíÿ³Sïí´œ§”F$­éôÈG÷~ÒUü^Í€37.ïû}óæüto{tà"@½ÆÏ_'˜œ:¾¹ ¾iÿ: Š,9n7ÐÌAZÑŸ[î«÷½V~¹!B‹ÅŽñçQÿVÞéÏÔbòçöè¤IC”'$_E•ð -ÚˆnêÞ7¦l8xÏXm*eÄ¡è¦Ã5NÚ˜F2[>äg„©©êÀ–µó6^€èB¯œà–ú¾M -Žnï?'c™´„ïÿ–Jý)ýÝøÿÿ½‚-ä0=ôÀ‘÷¯Ý´Wžÿó—çOw½û/]òçX¿£ý<'R)Pp÷_®Á ÿÁ}ç>âÿÿû£=ñÛéÿóÐMæ@»mþ'›ö»¨mÚ.6Ús²]ôÀ~N^í¢\R¸` §I×Ó'¶]Åbä± ½tѾ\4t;… Ý>ñµƒtãš\F[Ÿ^ô(Š äu†!ô…pA~ÁÚŽÂervð{ÄŠø±×Ée+‹pá·\›öû²Y+Ý:«YÀ~µ'çÂåOó.ªè±Ãù -1ÿ-çó.Jàãz/Üå3üýÖ¶ìð€ËçÈ’¤ Ó-¥ÛîîVzÿ8©; ½|†6pÛ—èëX¼…Ô½¹Ôû’àU}¿ªîƒ7>‰ƒ~7V9i¦ÎÃùO„Ë‘KV" †ýßwFÙr²Z$ªÁ:ä+¸x@u·ª£æ •n²¢çìø%käYR; Äùx<žÎ–ïýÎ' btaqañöR/Û¥÷i@o0ørŽÈÃýpº–Ü~N¦§³Ç«­­Æá)*Vàä8ZÁÙìdb“òÁ€CãfòpêÓ¿ONÎú-ÖÖ÷¬:›¨&'³ÉìÄ)4Êfœ:~OàÉøëññìÌQIÛæœÚ­`ÏO–'ŸªP¦Êù -Í‚GG9 ÆÃ±’Œç<û÷þSÿ}”em:¬Q^°o_»àÞÑñL XòÚ}€PP «;ªy+X -圓€pê@¶ vrÛ‹ØÝúúµÈ3ÿ>è[Ðüu¿)Ô†(ézOXæ>¹‘‡¸ßB¹$\—Ÿ|£!DÑ1OÅ KNá"©äKç|ž«-aIWHR2')j±ãK‰¿ÇÚÖoâüÔ‰»ôx’.zˆÙiuÙ!.cì´‡“€®\Â0ÚPíDš‘ììãVØ…y«`¼;nªNïËÏ.>Žv&ÀÍ¥÷ëa¤OH`ÜN ÂeCœr6ÉÃ9ÀDF–óŠXôŠ~Áy¥A+áa^'õÁ×&xb•žLÏ7T S´ ñÀžæþÃ$˜ø˜ž(*<ñ›½iŸß¹åík€ÖR4°©ÚÜÙßO2ÓÙ°_) -?𿹰üâŸóÕNfn5÷¿…¡ªþòvl*¸Úqî÷þ~;ƒµngræ…HîŒÛÂ:ÚP«qxÎÚL0ËÚÒ¸¼—Î9‘û,á®P–KR¦ -5[+ý‡/Îl_.#¹$R—'çX:rØ×J”Г¦`2úŠ0{½n'c:5vL“ŸôO#’ó9#N‘¶“iZâ¬ùfkÛê'þûò§œ·%a× -n½^Õ_¼]M›ÝõõÞº‹Sn•€]çq1ðÖfïîâÏÙïÁMònIȹª¥À0ÐΞu9Æx2 ß­ôyû|x,F•(qÓtÃ9Ç\ÛFþ))¤2ÍVÕÝný—ïÊ Ù«uÎÃáZi.ÏTœjVõnéÓ X×ËöUwz=g>®òù¥8N…µú7—nØ1í¡ÒZ¿ÿy†ö –‹Bd±Ó4ý½TºeW›þ)Éyî]p^5ýNuöÝ,ï'œ·uò>jqç}¤[ß7ü‹[N`ûþüÑA½×œú.:ñ+ó¹‹Ì lúO¨Íœ:^îRw“éåÒß5e mø6^?ÛE„.Ñp·p^O)‰(:è»(wô­Èù¼Ó)Q·ø¯[bk”™»X³1Wß¡<:–,Ï÷u¬õ‹‹½^=¨ÑzÙÀ‹ - \ ࣅ[w×?þlPV{ÊËñ ˜åáÙ¦C­ÊåW”®aôM¹ƒžœßÌw„q4û¶«ˆ(7 4µË5_[Û¼N å uÆbI ½u—1Ìw}ùQ{­­Rù(jµ>|Z54Úë×h¶ ×nñG)ï -ÿ냵5ËÒÂßR Í;7:hµ4ìâÞZ›¿ (Á -Ï~¬Ê¦þ}Þ×ic)\Ì+~ä>TŠÏSÚÝÍK6ê/÷áüY{½à<çý”¥áï£8µö·ÎXeßž?zà&@àŒXòêiæ”9Õ\çuY3 “hUxcâöøm¡Ø‹¯^|ær{>ý˜úÄ!©ù~BýI#Kú’:—ÛÉæl&M!8ϯ¦{÷vü­Óž˜^ÅÝ÷§•°e”àooMÛÛo¢=pÏ2˜nt“@¿K 8Šßßå üRê#o^¾|É'÷瞀ªG{SzÔ?2ТþOh>þïúÿKûÿ×`. -Aoucu8tj§[4ªâwÆíÃw _ÝûQÏ^¾ë5öc÷«!Ý¿ÒEïwQ7묑-ÿ¢¡Ûô#Á¹AgTÇO[Á q±˜žYÄbð2\ÓBqX$éð^+Ó‹p!h8wnÝßÐ4Sø‰p)4_öWL°B—A5Þ}¦@‚Gè’sŒ5 78ÿv¸µ}BF2°)$ŒÄ¥‚‰°ÁѦ2rp»_+\„Î…[syëN€½{…(.ç Œö»àQ©Ù¤sYç&E¸Ü/õ6.»¥ÎK‰æœgS~L jx6//ì—CØ›”'Óž–8 -f ¦^æÉ¢Ü\¸v£¼ ÈÕÉõÁNVSÏ©®êH׿ý‡|л @ƒÈ¥~Í»>shÎÒR­›Ëø°4—LÏ´Ùä‘QÄâº*­Ea ªŽ:£CŸ‚r½tki>Jó1 Ï©´Žíå~3WáBÎ/ê\>¸¦òRížl\*$Üîºvñ]ÎOš~y-°»bJ\ržöÎeöE?[ó+îm¥{†b³†Ë¶6hn½ÅÅziÐÛ½Àÿòʼ ø‡®/-UK7êêù>ø!áp—.êcIó)eÝßµ÷5“É!Ú«œ·¯eFK„”ï[Χu—>Jó‹Ê`á<_©¥2&!v;£ŸçÍõÏÒ_¬oÏΪΨ¹×síªï°¾yóÖM_ÜÛÌÞ0¶ÆQÓºR‚ÝÍ¥©×CFjú’ËlÒYžjaÁ`‚ž¾ |šõË‹V)ë᪠<'/ùÚA$]=Æ4 -œ~æO/ñ{é¥ö¨È_<@ÞÛWާk€ *€c;kÊh¸ª‚àøöµ¶0 ÙB¼›þ ´nÝÇ%!Ý`¢.ä€Z~#°®µìO®#ý¸É†½ µþy‚ц&*‘]Vð#0,7„ב iÉÈɆ…%õ‡5 N‰VþHIøÕ Ò ðç¿åƒÔE™JeU'ä¬ ‚·Åý.ø>±¢ºàÑÓs]%z ()Ü?¾“ŸRëÿÿ{û_`uiµßlomtàDR>=â™D @3sƒ†óGŽíùµÿQž<Ê·ýäÚ“ó'ú&žDq8ÿåMåè˜äœý—½ÿéd¾ÿ^²ÓÌ?ðdÈõ§”.ªÐÚ%Řo»h+\@ û–]tç¢'K¥U§yKé¥ño¯vj»¨"ÓÍ9¸§‹Š£_‘Ñ΋j¹žrµí;‹Òî_q O'p@aˆiÌUÅ!œ;.ÞŠ\'ã*œËæÖdè]á"•y8%¤„Ù^r³‹î ¶ëf§9¿è¢ûΕÕ´ÚÁyÉ:ßA|_Ô_dâ¦ç›X;˜Ç”uww€ÒØ~Bè }šávÙWgw'CõtÑÈárЭíS4í+Â¥´çÈ@»¨!>}÷>:úÔ.ê«OºsMIÛM÷ÐÑË!œ˜|R)~ü«b1Ûª(\šé°3.tL;PÙHS«–D&q¿;Œp!;9oY/Ñ#\ÐnJð –TÒE“Â;]4ŒÌÃͶª~IòK¾DŒˆÄb€Ak¸R›;›ˆºáb?CÊ!ÅQöö}@z GJ#>ûZQI™ã‹w©J½Ô nÂ|+u²ãP]ìÿN¸„ó¯@Q*¥Ü -qÏÛ˜ù‘n墠bŒúkßÖ¾À!¬©¢Ä$ôÀ­¨öYAõVÇÜ>˜>T€Æßô7œAwAãÚWTZœC¦ªÞ"Ô]Z¡”ñëDMWëD¤òì¡TBåË*ßRkżžW}ÙEHO?è—Í Ó@¿©:ýf0Ø«c‹®e› õh\XÚèÖ:/æäpn¨öZáüë–u=Q[;Úû*/²é „{9§4[\K#òfazÎ9±†_n–½çK_Ðôo/Ö¨£k¾¨"ï¤UÞt` ÿ<ëëwî–2kÞtʨyQÈ-bû²PÈÚ›Wz3®%ýK«\¦ã¥#áhS† ¥•¡¡•g,½Ây­:Eïôkê>Žú”®öW8x‘!ÉC¯ìV+£é—½% âÀ•è×M€…ÿuËâd?gʇb·FX#š‚íÛ‚ëö(y8Û Ê#𠨜„.#ιՌѢeÝGÎë­åžgSÏ´‚LUN÷ªÜÏüãï§×ç/ß8ÅO @L°^>3À¬Iב»0vmì~wŸÿ¹à>Ťçbkn£˜þþî‘f ¬ÁÑ|»÷¿c\üîv‚ŸÁ¢"Ì3ù!ºiû–¯'Ÿ~$ c¡ˆ”¡•Ø‹á>~ü>Ó¼jü -û^ T†oõ(ˆõz¼B–(r‘ëTNûÀ·ï:åN?»^vLë'å-}/½Oµúò>·çù{šãÿßÛÿâ¿Öxïw.OßÞÞÕzìùŸê8>}4ÖŸæMÍè.ÖDY{¢ ðg¢€ZÖfýÿ3ˆàЧþ ÿÎÕÏÒ÷á`óiuI†®jñÀ ­ùý4×Ôi”éÊ…h”0ÚE¹G{Õ -.Fμµg^z…õ#ô–NTnt;G$Y;ÐN¹˜vWíN|£}”åB˜6ãÉD·(¡Ú„fŠp?b`rq»8/ä#ÀÎ/ÒÂ-œo\—bóÏ9µ¶ZŒÇd HóJÝ_iЊêú$œÒ?K×—óÚ±ÂÄ›Ž4¹„…’s± "g ï l¯Ç¢¯Ð&ƒE‡‚ÿKK·ÿ÷«¼¥ôÎÝH!?„'R믦fCíÁÜ~¤Ô@j–ô¶Âë‚Ùì~;‹œó ù2ÏjuxµÎÃ9Xä¾È—užÊŒÞµ¿;~QåµÀñ,|ôO¿'(ÆQOIê þÈÌxU¿£pü`ú à«HIjeƒöt)jiÑ„)5Hmǵ_ÔÅfFã…õ=,Ëì?±­2Eü‘¡H1í…x~£\(—ÐXì-;$P]n@=¬¶‹·A®ÖaÄÑrÿ”¦ØŒO :IÚä¤Gáyî6*»ІWBøÌËÅKÎÇ -À7¨ D 2mçÅ®ž —.8ßš;: ú¾Ø;ÜŽÂÑ:ùÖŠ— §u|¾¼8¤9VkÕ=[å­¥›·|²NüH«Üô-K‹E@~h Æ*hºÉê -ç²Ö'³Á|¼Ù+TxQ¾ ×¥ÆÏé²q1BNa 9¾Ô=jÛvå¦`ØÒ_ÛÒKEIGÿ?OOÒÒ%Šf¥§„9­¦Õêhz¯w+êÌÇmíîÝ5Ðm«~þš?Ôׄ®ë¥HõâÇ™ØòYoIy®‡«ÈÍÒ¸iaüYd»{¿éɹ ™ÚSN´4tñÒ‹ø»ä¾âk8påÉ%çÔ„þ£0ÿ^rÝ×{©ì +`Dpm™¾dILÁÞ¼~ ˆ½}ûö•ðïý©"©^ú9†øç.·ãÊÖª1ˆ©Áâ€:)~ƒÝ¾½¯À­þxÈœå"êÇo. z窯ÚC0cRÕSà»’kÒ7°³!¿4ð*MNÛžß—! -õ>}.ªçx@–&ÁU•8'*Ò÷*BhJàûKל?•j;ôÈ… mÎ\ˆsüÉs«ñÒOñ¿µÿóæŽz¾ïpÓ_$Úêðù˜~™H&E#xþ(þÿ§~ž­·œ?õ¡á£û¿¼¸àÍÂN²QTóü‡>ï¸ Îß‘f4¢º‡t°ì”}¶[z¥'|ºÍ: ÝqK0Ò²ª&ŠCí"Ø›G(50:­§“ ±H+vŒÒ†î)r±Ù^©çsBˆÄ¹Xô´t‘"[×èlØÍd…9YÕ¥`p.…"ét7öûs ½+\”ŒÄê¼ ]¥zºèh#ïiö'ïvQìtÑœ:ÀPÄœâO“Ö…¢–éͪ]e$þoruwÖ_DÜôzwo]ZZÈÎëμ¾´¦€¨á•Lvêw„ º‹VÜ\º|é‹‹"\Ìt4\b!\ÎÅs8×ÝÈ?—AÝ‹ÆPa¥k7o*<TÁôwÇõYÕÀÌànö‰]p 5Z<ð¯tüïmo*Á:WšË/Óµö÷—è+JÒô‡“CÔ¸¯S:NæÊ²ÛX°£ûW± ¥¹¤”6cÓñ¿jFËÅ1j}S(Sp{)ÍÑŒt§ÒÅ‚QµÒWí²)M¢êèA|†øn9a,g…Â\8§Ê.´³+œOf[y)P!+ßeZB˜Y ËP5ßl /a”gì·*‹Û5³ü†v|`Þ_Z¤9*©î­ç}€ÿo:/¥¼ àúÒÝÞ`õÆ`s}­·Ö/VóÀ¡ðF«4•XÄ9 ±HMs6¼¼hë¼´ˆðœVÎóû -ÀuÔ;¾3ØÆ^¾T]|߀nAújø÷Ý=xƒª¹˜Y#¨X²•}ÇÁ.¤KÀõëñÌëî|l´”Gd ˜,¡PŽdØ#%&@Q|Nè¢p t9è÷¯øtä¼ÚÎÞéª:nœÍ›Z‰¾Þ6>6_òT6ÇWš„{ò¦>àýôx¹ 6¡¾aw†Ó„ŒQ ¬€c/}ï¬p÷}–¾½}õZˆuEImã‚éo¢8Ð^º™_|íwqÍ»Úk±ïñ=f4h][<^··Cœ« ˜Hî -ä¥@o1Ò$µ‹+劀3.êˆhÑœø¤à™ZˆùAap×Bs"€®‚ „8ñ87Ë´ -©ÊPtkÀrø‹½yý2ó_Rcå½:§VÝ‘Žz°öHs;ÊÔß“`û÷öb xµã¶€h47äQeϾæc(`;讹ObîíÇsÓÝ_v ôâé“ýGî'íAÏÿуÚ-÷F{Ú(ƒ w ŽÊý½ÐúljG*­4Gú\tÚënõ•R…“ôU»èàjCÏw„ ¼ýCð´ó#‹ô¾¼^Ë[¹Ä€H/Gdˆ0'Õÿ—²¿ë‰#Ûò½Q,-ù´uvÊÉMs³ÔReš;‹“Ò£¤ gR˜Øf)¨LˆMå³? —¾à3PäSB‡&—Ù¦Oùpaµåõ´ñݺ[:Ÿ ü-Îÿ÷3’Ä…]Õ#2ãe¾Ž9cÆü1_Wô‰Ø.Ñpß;iècPí"ý SG+lÕ.¿l·'•4ê….Q»à þw䬋ЃâM•‹üºrA]¹P;Öle[²‹Ès¿ƒp|¢~PU¹UŽy0špRÚEÁÄt+UúÉ×;›ýq¯ªTƒµF$ÄZÀfëxè×U©ÜKti^¹À®ÞPdΙ% tF »o¯™Tí¸á_xr~לë©OÎ(qIDË(ê0ä"“£nëþñçR@.á…̴݀§ª:eWÕu°¢#L¾ú¯Ð$Ë”ewkàVÙ&¤Ö ½jh›RŒýZ«W4_±EÝÅÖW.4´ré¦(G¦Û£"“”Õl4©¢NI‹ü¦,ºÄ”ûEK€lxØä8=õéQyìͲ¸« ÅÝÏâw–S¹#s~V±Ãö„>7g0mι“pîyž€‚ó=•܉ž -8ôÊDÍÇ=F¼QYæy!à_Tw<œït6[‹’õ‚’ʬú}þÛ‚4i¾8f÷Þd(éî6ÏE*ï4Œín²„"whfT9—?^_›Gà[âµÿl¥Ø§I‡¯ÀþDÊ e$©Keq´Ý’¾Æ,O]™_h°Ã€IbXAÎU)äƒ[<ïAuzr•‚¬Ë™2½<.¦…ôÄ:êB€RÍć[Î9#d\ moWuòý"¿Be¹÷µcOå=“ۃÉÀËååõëËwo<¤M$äÏè7ý¢E܈(´B{Øžºí¥ ›…¹hû2– õ'inâ$X¾VäϾ€ø¶–Ž­,­¬ƒùVôèsE"ó9I>à:Fó§¿ßzÿÞáÁžÔþƒI,_6 —°>7Ö1ÒõðÛ6*)ã>ûóqª|ó¤ÂÆwJ9§Â(„sí­dgŠO”šÅ•’<ëY’ný‰*€rÐ^‘Cãèäå##xšÐâ$_œY'ê¨?–Ienâ ÐOZS>Õ6®j¶£’NÈç2çmêšêOT• 'W.;I‚sǪ2Fšóí;º(DhTlm_ÝòA’!¥ ÚÄÓ\µMé¯tD[ª*]6¦ªeíµ¹Æºü3§Ö1ªA¯®\œUpþBœ£ù#­9BDsÎY¬•Ý&Ú®ÊZÑ»•º ÙOOÅþn»æœ•‡|U¦ûÍÝÅ"Þ©Þ¿*˜˜[HÃ¥N-» €|Š©eÑàAwûNþýa€°³-T*X#Á† ö~Ò“Í”ƒº!) z¥Ã·øŒ[p -’'B¡­Kâ„ ýþ 9Õ+¾A*eÛ½4Ô,õ@ºÊ×`%u3) ê¢nY 7åäìw -áuÖ]92ÄBEƒÔ0¼Í"˜ì‘/Æe–éý(!Âm@q§WBòÄ9COô ¹zûùTCÇ-ñ^ •—Í¾Ê q‰<°è=nfhºKo­÷‚ÿBÿð°±d …ƒ¯Mðu¤°œûNDJ4läX¯[Ε%pÓr«LÚe÷ã­;S2ôu"B[Z+”"Óñ«x²zì’ACCútô“1§*_ÙK GC©Š½7{Bÿuú®¢Cƒd¹èR|úÅÜ£èý÷WýÝ@ñŽùŽ\î”ëUñ|ª¡C”^¶ð¿f\œ£¸ø#5Oƒ ¢0«äÅÅ%ÞÌiGhôeÚfFV§™wP0þŸ>ä××oÐnßøÀÔwaÿmå@¡#ÓŽ>ñ à‚ž *Ðjè¬us&zÝÈogÿˆn}7²Ë•»üE¡½Ë±Ô}¹pÿ ¯˜åŽP0!0ŸK–Ëž9ˆž9 tžîåÃnåX€NŸ°«Ÿ-b`&¾hìÇÈŽ°úøñWÅ*Ž$Õï[ÌDúx}û×±O?#îÆ(ÜBؽò/þò»[ŽloO‹[SÇýúÿÊ2é †Çz%íö¨ðzCzGl|)Q€†´´¿ÛXéGÖ‚~=\œ²ŽÐI%ýb8= -ŒüWÅÄØ?–ùyL·lðþ·m.j÷ -?Õb]1ªHª”S­PÒU‡õ«båÞÊÅŠ´Š1÷}Fãø5dè+ŒzÔó¶@‹5wì -+š¸¬ñ90~k>l:ò%p ÈMª¬ìï“ð¥ÚªrÑT3¤è'pƒ }mH¤b§?*ÚžI•Ä Q¹ˆ/ÏMf|¢©r)Ê­UþB(ÚÍëÊEîø7Ç:c3.SÎ2–^D½ˆ½-Òô8ÎýÕ¿™€u´‹%Õ·ª“TÛ -OçkÊĨ (ÌÒlÇD)»jÎ g¶˜6çr\æÍZT.uh¡Û|,~b%%»¥å¸/¡‹ìpÒ à§þýáY!LQ¨.›A©T1¢Ê{¦š61¤TœKôûã4ó_ÝŒvß÷Ë–áðùàB¥J gãl¹¿,àDj´š¦¤»A ¥¨ë±*š8q&è?eºh[•º„E‹J)Ó•=ò½%7ô‰ÉMy+2ršddYny1 ß_š ûÿÊ 8ˆC}oÑc7â¼Ê˜óN£ýr¸~u&¼éàçòÄçß"Ë=ýc$^©Ê$zo¥AUsûu潊x¿iÀÃFcmCÀC=„/xÅ›øT\‚‘Ä:Ã$Ä=±ŽU·­ø·y>!•NÆ]¸DúŠ•nZ3`BöGžÓ:‰cá(]Îy}ß¹©7éF‡‡óF˜u4ÌWóaë<œŸ[°°±ÉÂGu-!Ê -ô{2f³÷øQÃ{›Rû¿%€\\.à;b)^ªŽ»M!†‘çÎtT$˜Ï$Î'¥Eœo«Æ3·¼“Û¢F_¢õ÷“ @PÅÊÌá¡tJ¯:f=±`0èOÃ= ú”x7#ü@ÑС½p¿,dH‹€nQä™gk ]H:ùíÏ>‡ü ‡´¿?ö6Pß(¼DŒëK¢…¸‰>8’Êoÿ -ϺpcoâÅn 0¦#¡öD€ô ˆmÜ:fŠ) v,ñB! ôÿð^óñÆëí¾»¾¾ôZ»Ò·•Ú¿±ô5K{{K÷éÿ4Æ'üç,îtV»ÝB2À¶tö½ÆÒk¾Ÿ ë/ÎGŒòÓ¯by¿s¯ñ'»“ÓóÃSZNo÷_"GÄ“gþ¡ÿ3Ì_‘ÍEtÆ?ÿ¦ Õêðíü–TuEóz¢£ eá*Ñ$í¥•q'4ùDëÊeÄâuO—JúK |¢â±U˜tœ:àbg?o±ÄÀ0lsvÌfô|Æ®šKX•¨Ëµªk’ñ-ᙪ4“J€ÜÕ²i¹8óóÑÝOtpäy†›ÑpŸ¨9¯?Qå“ê‹2—Êå°"ÁØlÿ8©'D,®’úÅÞ†Ô -)è[óDò:dÚmz“õ©24S®\¬] ûª‰kãMÕre,2Ú™s+FëÈýBœY (©øŒ{ä?Ñ0 \[IJ—1ð0i¯¦²Aj’›µêÅwŸ@™ˆêPUf[: gÄ”NR¬eúIì$J•LtãÂ"ȨÊv÷Jøï¦^Æ­H'¹Q*÷Ÿ÷eÕ¥…>6Hâ.ÅnxvFW™î¼yH…BW½ŠkxþA"lÜú]vht€3â,ŠW -C‘ó à8} -]’EvÛI €ñ%\™s[ê]gù•­jΡĒˆÓb gSïk³÷C¯Õò¸*çç:Ñü/zð0|Øè¬÷Z‹™‹]Œ—CYîõ\ÒëÄÅ\€ çÊó¬]ÿÍ\îüI”8GèR&È@µK7ÞÉTž›sþñå ¯Î¤HvžSrRéÁI¤i,©ÜÓTm·óý6±f€ñ¡±Ö—0#ôŸH®">Oõ¢·øÈôÕ­=묣˹}‹RgþHðËÁVûÎhZ³Žˆ.¢NîËWlïéâbÎûÒ_à¼~3¤Á.EúB]†¿pHxúâ1Øû‹4Q±'x(÷ONiÿg‚93ÝÙpÞúî SÛj =}ÌF¯×ª/ÂÕºu=_wßžŽt¶Ö…qÚsþ1§I^Q J“žE`½Ÿ>Ñ,€W9|É 3k2üC7ŸŒíb6ÒJCÑúor¤1‹Àözà™ÆœpE€ñ Û}üÈúI7™ùáÆ ò“_;)ûPš¶ vOBU!¡Ê úÞG÷èÿ¢ÿ ÃY§›{W<·„¹’‘'x&œŽ„ò§#r(^Z .xp~.1e~O*9vïD=)ÿÛþ¢ziÐÍÙžƒˆçæØÖk"Ü3 -ÙoˆÒ¬rHµ7ù„ä‘Ñ)ï’<…Ý»•Ký‰ÙäÕÙPZK]Ç'*éÂØo`êu½Rz•?q… Î5º«ÅŠ2`êPêëu['.÷Kó5pVíìÊ%4b}o"àP÷xCp….>¸„),‰{†ê©d5øÛOt‡Ot@/Œg½ÞÞÔ':EûÊz±$÷z 5³”ÌÐ%MÓ¦Í>6‹&Êu¾ë¨Â¥a‘}×… np5«êE±;I&:"Š&$Kx -²+-Óäª+Ú”Ük(m߇Ý`ˆ&\±p í*Fgº ûÿo.¨¾¡ÛŽŠ¦¦.€sèŒ$€šr]Xò½Y“Z)5‰^NÞÃ!aÌQF]VÀx©~Jà€Ü‡ï‹`‘Ê"BÑ(´d£^~]’]`T÷ë-*É»€‘¾-Îv’£…’:•˜žœŽ‡CE8ü_Œ™ šŸ$aHQwyFuQÝ–·Œ—˜—¯ÉT²<ÖGÃÛS‚TÐÍ8W}êjgpžÞ…2V¼LÚ»ð…§ÐðW R €9O$çìÎHÃ0<ÝuÏX–bS"Ûf¿h5iXF}hxWŠš¦Yseɬ;Ì”4ÕCo¹F‘‹S·éƒ%ÏÒ³U·nÓµ-‰Ùœ×ß› Èôx¬ÊVÔ.4(Öt›éöφÃÑñm/–`ôR·øF Õ4PñK>§‰¦ËªX_zèI€sóþè:C!?à¿îF ÔKHf;|ž”ëºà_S3o€Ø°’¶Ã*äYÔ.n¦H”£ŠO<ô«á±Š ÚÌy¹¿­r ú*¹é•Sœ§ù…ªÿ¢E˜ƒ’žk¯xþš•d¯ß¿¿~ëÕnPu¥³0«œq„ f·˜c WÁgwöéÀ¿J··/Áƒ;úôÈ-èî[FØÖ= 2 “ÿc/?TuŸ¸—½‡"bý+â -ëË'!Tè1€žå -g²µY(ür#&õäÉ 8cØŸ/¤\LÁ}"YBé›î±[â›7¯…ïwOO$Hy‹â/ÜíÝì}¹ÿüçìöRÔ§Ø•@;€‡jx^ÝŒ <<¬Ü2:=?9”âz*Ø?=Üc7¡½JèBcÏv1ØÂÿÿ¬ø%°‰õ­ð›q©ÝC*©|B·=uÔ‹·¥±¤O4êÅ øD£rQþ9ªEè¾þil5Œê ~‹¢E¹Ý¢B·2@”T ›ÒF?tϧ–*Q8¢^ܯº+ ±§ZD•[• -w&ÕþþD‰\LƧ–*qîïVœ«¦÷^ñKeû±´ã&| ÁC`ùfSÑnIÏ¥ÝÓˆ¿ã÷þ[ÆãG%1 öºYô³Å^,ìFWQT¶±°r=柛$¨‰YEv¹Ҳ£ -ñ(2ÝQZQ/Ær;U¹Ôol¢ÿ“)«ÞÿGÜg\XÉØu‰.IâÁît•µ*­I À†¯©*ýß‹ªZ°"•ZRÉâ²Û xú]b6¡LŠíPY>ߪ”ÓðDqúE¥<ø‘¨ô.LŽ@hTí·ë¶qÁPÜD®§ôr’7*9– DSËF“é*1dzîQÝ?–ã·¿(ãÉ–Þ“€«”ër‡C‡@Än»€¢€ìC<'䛩‹­]¨¤ÓÜqµFÎ)²!íâÊfJâóüDiסs\lç 6‡<ÍÝk?¡û^ER@êxê&KÆZ¾³Ò°‘5{}¤;<ñ˜09Êù]ç9/EÉQ¶wÛiͱ¬»(ÆG -çÖåe%¿’ãȲäÚ|ó‘**yP¦GWÿùJò‹ßØ~Ù³€«š’0MuÕÎzê·’°½°ÐXZ.Œüw‰¯Úì}+ V¸b¥¨ãW -)H¹‰°E¥j—‘_rÝ&¢Ï8?çÕ« çªU»MqŽûx_dã_9„ñ_&CƒðÈãÌu¦ïX@&ýd{þ[Û€ ÿu'ä/LÔ…1ùº3R -¼ÅC`Pjû ãõÁtæàùò‘Î|ÙÞäÞèh´ÇX§­ÞH¨L›ý ªÓ6`]‚‡Ôû†,ÌŠ•ørHØ(°ˆ 70CDH5º—…‡ô“ ¹Óù†6™ öë]¼ЇÌ‹¤€µ€™ùǼ¿×o..v¯œ<ø•»‘«÷ÑáÁçúÿü (Ïévµá¦‚n/ëfNÖ` ÁÁ^)ا9@ðšÒ/ì÷<=þ̤˜ÇHÏm6ÃC˜`ì¿P^1y{ùEvšÿïµðù8JØ}¤¢ç¢JIT)Ö'ª³ë)l©ûå 3à=FÏsN¥—íëq#¡atõ·¿2=HE]½ÛìO -º¹õ#¡Ì9£+ƲÛuþâ‡òÊC~$ìË •‹¿ ”8¡;­ÖãÇñíZøÒ8€TŠî!ÏßÞŒ®b询š¬)èM *âL^ <¹ÅŠº>ÉrDµªOt|fÌ@ƒÝu»¿HNB áãpT!¢~µÝ’¾ »P¨%JœUŒ'Ø¿åÀ`äïGÿ­º ‘¾7*Kèâ£Ð/$, 0Œ5ò­9•åJÆGn="ÃÉxÒAcú$Ó•­ß÷¾/ªŠ6=éô0F[:®Ò¤c(]гAûàX€Ê™ç6hX[ßQauÓÿTC€ÝïîˆQ.Õ¸Aø1ÙMä7LÒMç’Dë"Œ—z/¼Ó5眢꫸˜ó¢ín:Õä5ç½Ê.~Œ_&á…OîW‚y™ëìøþsÝ þÒ}}@ã£ôbkò‚j0S(Šj^#ìdH¾îûÂΦpËÜÿ|ô–=vžËJ÷¨è -HbƯ¬ÔøO$ÙÇ• ™AH¤ÑW pÄŠ¸#7Û–Ÿ,6$w˜Ò`7pP7À! ršlŒDcy@.Ds™ÂªÞ³,Ð;¶ãc9@åŸiä§(ß•09²ùúrÿÿDÿ׃$›½ú;쀬(ÜÙ÷˜ˆ0 q‚)ŠN¢þòÇTAήõRG­ùgĨ8uXà ›At· àÎ8€Tˆ~KuÁëQ©P]ùQ qòm1hm¥Yñ¬âµ‹HÅ[R,yàÇbx¤šj@‡‚°!.°óSà³eto’ªêÐýÍÔ;CZFY™;E„+eÕmÕ€ªÀÚIþâûZUöjá"U…;E+3#¢[—pNåâ¯Ï)mºã¯psTžÑê =ú¶‘NNlëÊŬëªM€àC,DTƒeùMªEW—T3/T×zÐU¿³˜àiF4,,xåõÆjd Õ‰£P Y+ñ€>ª”¥w­õ˜¢XTõ_©fëÅŠrT.cñX'‹Sï*Fûe»ð´ŒÔô–,ö0 -pE¢ h§ o¡Ê=€ª”¹b©I§Jêiâž¿F‚ðŸÃÃPçTÝì4ºúƒu€jˆ-â%x0FMJKÿ§2ŽÑN¢t'SVúª¤ûŠnÊ4 -2ÐÕ8†tº ôRZ"y¾ZgÛï¿¢õž.á4ËÝÅJÓwTS•gå¾àCl›sXþ8](ùð›HiØ©Úõðx;Ÿp.@Š›~=zd <ÁÒ0†.+ð$àg²0¼eþ&‹XKh5Ü%µ£\‡ÌÍ}Ã:Oi ¢iÙ{,5øØ+×ÅõþF‘Ô/n§v1 Î_$Î-ý@zU±ÂVÓ‘çf]<ª~¡ [šq¡y W’ç°är#²<¹Å[K²D1*Û»£Íµ³Ýþ/‰µÑYßd/€0¡n”³s¾Õ—Y7l ÿuï0…ª/„HŰÜkuîSÍè ¿[\¸Qçcq>ìï 1Ʋù6Bø -%¸ù±8Œˆ¦]¼0?¼c«YÖfó;/}ë&«ýÿðŽ8"ëÆV£ ž@é'iæPÕë‚è‚ÜOÀ(à« d@@n¹÷~ÂVZîõ‹GA¹.¬ŒpŠ=D@·è-c„K¶Õý?'âšò–¤;–?±)ÔÇ<²@÷ -ðïJ0äĈ<Ðö“™uÀŸÅ“éø !à=ò1ðÍõë×§#òÔó‡òé‹ýÿÿ‹à¿ˆ^y®à²>Eê𮊹GZÓ?Ø+¶õ•zÆLÿí-áW¿\V;BÿŽ¢I- w€ÏÚ¦ÇXÞ¸—¢tÅ×í/L&Ÿ(›,¤Ó_¡ -¼ ÝÞ3jÚÉô-»¿OŸ§¿;ª?®DÆ4|h4h•Ò‹€vãÕI9¤S—±mªlR}3!é{Ì2‹׊–,ª+* ßéYˆØÖ]T9Ã㹑… Ȉ×à«41 `‰e̬J?²%îå[Uʪž´œÂ ‰CyŠ!MR8Á¡´ Ÿœ1wÈ^ ¢³Øq…»mt¤³øª*§Xmœ°`·,¤”¸åéÅ„ó\5ypNÖ#ØÈzÄV¾‚>ƒ]d: 'w¸P`y¼â²r¯xÊs2}G_"tE @çöe©Œ” -ZDâ™òå†c+Kk ¤ÆT* yëóKðÓʨ4üîñ½Jè’mqEd™Àhõ)×U\œ%*øwáØ¬<õ>— ¹œK"P¶¿ÛÅ8o^2ßQà³i±C%^–ŠI$‘¾›Þ ôÆË4¨\ÕynJ¹bKNñGúF1m÷âe§`õà„ÿð^îçXQЫv £Ÿ‰eÁ9oÏœ# Šö¶4âmÊG´\Ýb¤×“eÏ\š;ú0†;* ­–Ê#o‘w¹sfæf>|È{¡`y­·‘±Ã„²(@âms3Š "—3P§`üÔë9›¬c-¾&ruƒ ÃmR”ƒ˜d¬—¬OC2Wy‡4,ržÃ¶;òªÇzÑòצ¯ë6×ë’î u§z÷E¬(I“½Ì5ÆôèÀ9z"Ò&‹3‹7l1MPCrà;¸21@/H,×zŶÞœÓ+Qó'ãnÕ¿çûÕv»<ˆ”E5TçÆWH@ôe¢ãXÖ—£ù|q-ý_úì»wר)ÕßïÙ7ˆ6šP¼‰†MðÓO>c|êfq‹?&ßlDQ—>ÿ)úïiMÀuj!°¤ ÿð˜ækä2rPÒåuÅȱ#:è`˜ Í•בéÄœ~w*è©ÖøÑï½K1.S¢!RF²õWN®þnþGúÀI†|øpsM‰¤&†¼f2à99Š€:ëøÞK¿ÓÿOéãVËkK[Òn5Ò¸AVn²o»?€¹†Ûƒ¿0–Ó­ƒí7Aê#PýC+­þ5ü#WÜ$ÌÝ?Àeí^òg½ù½¿™ÚÒ÷çŒ;Ö—‘†Dñv룩ÈÖßf&Öl¤YE?}ؘÕTKT¨ùÑ©"¨ò&}yT -TTàEU¾¢b:2HÞÒ]QŽº-¯K(F\·ˆ¾]¾B_0†9*`!b6¸åB§‹+ó#¶¢í¢×û±?fn“*—´P|5ÜŠòÂÃëÉ3©\–äE@ÿgÕæ¦±@"•Éq¶¸Ê.äª`¨v%xàõÙ¹oÝUIaµW•Jî=éäZ–ªSk‹»_¨ »Ã_Xþ@ŠúÀ³Ð&„Kyôƒ®DQV£ÓUy® -Úã¸$¹ U›pQ|‹&+*Ö³æçæ%¾„þÓ›ª«£ì•ÆïP¨ÿÑ 0“0þ«G½®#iÊô">ð^í¿:ŠUVļOwffU#–‚P·²‘ÞK W;²p{4eYÿÑ [<*S~Ó¡Ëe»ouQÕŽlØ«Jvugo%Æ™PÝãÈt½õ5•»úÏt`èR ÷Çÿ'¢.´Ã~•E(ô‰½ò*릙¦ ‡I,'¿c @°_TO^\Š‹ôè*>Ĥ8žB ,w²ŽgèlµŽT£<õ¬ÔÉ d¼Ï˜™™[b À"MYLˆ¸ùt¹œ²R6érµÕÎcÓ¦‰@Yç¼”íCs.>˪…<ªüv›‰Lô)£eæ4³‘¥\ *‡ýò8— ×ñ=ï$À­ÛŠRÁÕç¿=Úì,±€E' ± -›^ÚHDÚÜ)P->šC@÷—ÂÅçË'DÝQœ·3¸„EÅëQx½lÝé½n§¿éIŸ]2a›8'm©"@Vb€,í2WÓæfIÃhÔŠÁˆXõŒª’Q¶Ø'Y?gÉ›¯5,¼v; *ƨèB Ab7Gè •#›S,|í ¿U Wƒ¦HVÓB/×´_¬tÇæ/¦4“ÃÖèëÔÐÎõ½@ËJU"ôzËBªÒ¨þY Ð˪m0¼‘Þ”âß$Ô¾HÉúï&âú$žvʬ=BS¿2-?Ktù_^o}Ɔ+n`=-Á™ê«Å;a ŒæÍî‰d]¥U%N]¨¤Š[ÕòÖ¯ñ|›ˆºÕ¨¾*™Õ Þ‘íEo"ë²Û:Ù¥é;؃ó³ÃXáCÅ_‰ ÎKD±¦{qîôF;ä1„Œ_Qhª+Ì9¢´ -yâ|ÂXdJ ¯ÊJYVÉá¿%€¨BLøàÁÂòz/G ‹&ryöM€>Òà[äQºÂa9î¶s Â2Ry -žÍ?TÂy¿ÿc乄ôƒ½ Ý‹Oe"7ªgrÂs…ü‡¥nFCáèñHß(‹u)Ó±L œ¨òнNŠuK­Þ `¡±¼è~¿¡ -ÁF>“Ÿ^o¸8“ö>ìHV§d'J.”¿ÈsÖvlcdºle*nH ^@ÆCxx#pxR$ŒËvYÉ -f±²ú”~—Œó_¦êäTŠª¤gu¹K¶–e_ w‚7Aó˜ 2‚OæÂ’¨Ãਵãtxà›„âÀ¬[äÝ.ïuƒi,Í+3ð—áÑ" lT{_ðܸÃ?aél¥ó_o~4w;ÀÌAˆ$¬Œ$ Ц ?ý©HRùÝ>àpþÁXBóæ˜XJÈJ>áÊXnH& ÌdE«þ4ŠÜ|¸¾y祢 àòòüõ¹›TŒ'Êûz?Õú¿è·ø¯ëãÇ‚i}fÑÜ&'ºø[àVåH59cÙÒL¹Ï£ËßCþ2âXí°ª¯>YÇñÝJ÷ˆbv/\tQ«øoN@‚*K(®1SJÿ+\ˆi Ž(¸²ô·i -$òMUŽøõÚåÄúö†ÏÚ!8š]3éD#e€îûRÑ&5wò6ö:3æšp¤Ú†–bìÅïnÙÊ<|ýåî-…#s5iÈ*pôdzmC¯ ;ýR?€å#‘€±·S21îlöX!Eìì /·ªŠÎüÈ-mÀò”õF ›Ô.¬-°ûŠª¦‰àV]¨¨VW%`ø>2[Wq¡JÕÏ~&ß(÷õœén)$²<¼Áe©L¡@Ùë(Ic«„¡®šÝ-+êb×ÛùF•/v”inPEšF0‘ò«ºRÕ)­ª4‘sšYÚêÿ $…lZ`ˆßýKÉGÛζG£ÑÛ³êh¬BVV{ªÿ<Ÿ§cý÷«òìXÑÈ®ªþ6FGû/+¤ÕÁWÇö5ºR åp(?>‹ÒWU·¹Åö2ü$5T%kÏÅ: <ü ôؼm0(ú£ÑVŠà`d¾,š¦ -d£à+òìh4úål$«}q¾¿_þçÙ+s~lÎÅòð°<«ªcì«òªl··%b(H¢çŠeŸùpû˜óq´Ÿ•ÅAÞ~.6ñwçbå@å2`ýà%€j€eé}Äýj\öÚ ËuzoÏT,Ÿ²pÐ7zÍÓüÔ~þ¸¨öʼnV"ù6¯Ž_UÿKñ‹óý¡¤ †2Š;Þ‰rl,é5Ÿæ|¬TéNœëUšóÑ_÷ç»EKÒÂx ·r€üHƒsgž”¾=ú¹åž²ôìíˆU`‡‘œP}!4N*Ï1 -Uµ")«*–g”0Úåå¥%ê}¿”kIñ’®TÖUÝØ½ -þ`îÑb§·±¾‰âß+„mú>¶„Ìýjtö£”ƒm½ |0*_ŽJq~0¤p$ÎÅ—ªÍJå„'Öt¯Ê¼‹óÊ…š„Öíp„Ñ)Íý´Wº¯ZtÈ -rìeÃ΀`Úõ{á¿·tŸ?MÞ ÀjÚÃâ¦nD?a#Å:-€žÔpÑÅí×-ýFîÐݱDeß´ºs 5@.ÃmIàã'A¼Å„x–Y:";Š‹g -˜]pŸ`iü«˜F¬v)i„d“F6Â@j €OüÒ>!±G<é/ô‡úÿ^ÿ›ë÷﮽ÿ]\\z ÃƒÃƒ½SÆå…¾ÖþÏÈNð/)À:;-6ðé´ „ÑnÞÍ=&@g €*ßW¥óƒ´;_uc‚cK@úrïŠÐ}„@[ª>=Ö‡]ÇefšÔñѸ5=ËËÑŽJù>AYS¥P¹¨ªU=(é_…œ:Íš9R?¿­ -º¥ ¨Þ‰xô9!(›ëúèѾtÖŸ_Gª\ªýXgýÕ1ƒºŽÜ°«ªÑw9ô¤«ýrtÜm¢{©æ£-±ªÎäs¨ùŸª\ «c\1Z§ÕîFr¦ï•T‰sš&ý‰`´{‡sÕèã³RêË®êø$Õª`(â…MË*ŒªŸÅ9uQ÷‹Ñ8Z‰qªŠ#TXòöâÕÍŽk½µ;ßY^^˜C“^C#Tçª+-×€šB™nÚS&Ja¢B×K ßÍcCØUÍ–4ŽŒ ;]ƒé¨a‚™é~Uk0®Fç"Ry] ™”qG@ r ‰*­’qÕkfr¸!eê)RËÞòò­Ã› ?F7ôŠnÙRqù -wà_lü.‰Ý²oåà/_J~ +å‰ú…)Õ‘®/å쀊—:ù'¿áÑJ®¬*+IÎ3¤!Ÿÿ’USDÊ‹·ªšßTùV3{žu¹„ð(¬ Ë9 x б¿ÕÛ²ÝV7/åBzèŠ` ’¤2’wx2Ÿã~¢L ªUýîËñ`‹¶ƒsÅ ÀUN~ä%°œ“[0çå‰3~ÔÞÃ/%}ì–»*À°œ«\ØíËÑØœUÛ[mº®ÔÎ. çI­?ÀÁîvž¹@uK.Ý£T»Ûë´W;¹×m=UeÁ»\JkÀÜ7š™{óSGÒ£¥àöä- -@:A¬9•û/_:Óõç%ùE•£<+»FsqOI,€s#»ýü7qþvt0È›íçYòI7l+Ç‹ë‹u¥?e:"ï ïö$l—ežµ¶Hš¸±TsPG £Š%Kch<~R b7@¦R9>n0—r*¡]9%Þ†ªõHz½Æ£F«Ócó¯qéfK½HÕUr&–”¸cå¹òÕˆ”éÊl8g”¶rñC%Æ×‚·¡×-*Å9s¸ÅùV›Ž¥†mâ1ôášs$…¯‘Ç›}‰?΀u<ðâ’A€¢·i¡?;êø Õ˜ã†¥|@E¯ŽƒùŒº2X¹§ngw€Q>`g6²óõ Á§‰y} -É øçª8d¸6KÚàŽ@$ˆžXH’Exâ6g>¢ãýÈHC§@>%¼xr ^Ð÷£ÁqÛJMwß¿›DÞÝ0ð;¿A^b.àåÅëóÓmÿÊÚ _'_ïø"þG€Ì[¬ÆŠ_‹åSô9¡ÔÛ€¾úÎ*üÝJ›nøTÝ6àøT«Þ×Gç%ã¾=Ë|Z¸o@|÷S”.ª/Õ=*“‚~n5¿›•²°¸8»8ûhöQ¢™G ÿ«iv±ÙúîÏ­Uù[|\ûUúÚzÅf@7\ïÒó'OòLl'Îùa(·@ÿk6⿸®œ² -m+Ѽò%úbÿÂÿÇX³âÀñhûñÌ Á¬#¨a…D†2|oÕcyH0ñöƒ%E‚ª‰(Àþ ÏÇÌÌDὟ\ -ãÎׄVÓ§­Û?GQ½%ûôÏr諨µòÝ¿Lì§m ˜»t^mþ¹qWÆúÈ7—D5Sú -Z­ì»?«n‘K¹æûuXT -µ{…Ê÷¼*³q®zN®¾ &&4¥ÈQ¿a1+Çß}÷ÕÄâw:’ÓlrÍ¡YŽËas±ùÝãïT¥ÞGfÏ[‹ÿÏ–^ͬ*˜TÕêÓâb8¥n!Ë•8þŒiÓgŒGؾ®šs T[˯ø6ÎÀt‹eŠò|*K’­ªô©LŸäº¨Ýšm ×…‰_X47;·8; âê4r@¸’½>‡ Œzý=²5ȳ­|+G2Ëž.ÿød1…_‚²€àåƒäþ]2Àßßß¼¿A¸¾fÊ$€ðÿòüôòÔí)4®¦U¿L†Úûðh– ì³€PºŒë|øÀŠg£?íq« 7ù‹,Ðõ¯‹Ò§ßé¨dJ°ˆ"¼¥;ã(ý3.i_¦ø¶(ƒI±¤Ð£ «ØÙ -pÉÓ'(¥OçøîÄ]fd’`x€¸ré‚_­ºèË»L“Ÿ®tTéÜžjqìÛ­?"H}eþPuù,ÂHpù—?Ë©?D¤z;M=Æ -u±Ý’EלW¥#GLל®zÐEb\¾eÇ'®Ü% ݵ¤ˆ+ àW‹ aöfåJÜvZ¸­¶fó\îâÄ îe¬ßC4ÏÄy'/þ,KÆoˆiIq”çN¶âØ"uΘä{¹ã¢´µþv -¸ç6X¹RÖùª(]ºyÙ\‘mg ×¥³ß_«ƒªKºSååèÍøêíÛ«7W¢jtT]½¹‰vûBÐ =:˜ÐYˆ"´Éw·ÕèêßNFcÚóËñ¸uWÚ]¹x—×Ay2OF—ãªúIÞìè­ø« -Æó©Hþy¹K‹’è¸::ûÛÕ߯£ÑqpŽã—ã­•\)¦õ­ªÎ®hü:(OIìÕxüöíƯFGÊ·çæ\§Q5–/"£‘RbÎ_º8Ô7G¾Ða­„¼Èé™è4U@ž±Ôݳ§§ŒþñNo]/t•ææŒt,<éÆÅ¡M#’­öaæøíÕÛñ1£-©8‹ó\œ+w®ªCeÔú\ªÁ˜\¸ºúùíԜĹ’\î(Ïç’èa¯”åc²iW¯Êíÿ’-ŠÁ®rᯗ'ÕÐ>8¹Uy{%£QÇz]]ëÓEžï®ÆÕñ¸ÜF´ŠR;×`ä -3V:›½MqͨY¶Ü}©l)«|%ÛVNlÖÕê+WfÐÇSŽÎ*¥g +­?]NÊIŒ£SqÞÞ³JìɸRáÚ›pnGò[]ÉPòŽ8H¼§ H<Ÿ @•—z§Õ¹8÷;ûÉÓWHðÏ…éc ¼¸|à À7ï%û=Ñõ1@àþ£¡ë'$”‘»ìŸP@ôõh~PÎ33ýxNmòŸÐñ…ÁŒË A0'ß"5 vމ2×ݰ 7Œ´7!>} -áw°À¼Aœàä𓤉ZÙi€ßBAÄ…”ÔÓà°äD"ÐÉ8¹‘Ñ?ØÁ7Ê$ôÿwׯ¯i9¹x}qrá>?›+ ¾.íÂ÷áŒA?f.5ôÙ|Ñ@o¾ (ñÇA`ºÃ2úÛ"„‡UZTÙ¦>€DŸõ$ €zæ¿«Æýêzën{VY,õŒôqê+ºÐ—\•§*¸úÜû¥>S°´“Ó*|À`(*ù*„ˆaU+UE/ÿMEÞ£>’¾(ÜÓÇ©¯€úG”LUí”/½±`9ôW§ÊE©réf-›G¯l_.¯Æ¯\+RÕr¼[õèT(¹}¬˜‹]Ã+S‰_ò‰ÊϰºÔwŠyYè*ԣݞDäÓq;F õÏòmj‘8a–CÞÃEÖ|¼Jw‡·“õžå/ø¼éVdÌRQù“/USæ½=¶™O!Ø”+1‹~Uùo£âE™5ÛÏt¿ïnò -¢×èñæ:½åµ^££ìQ -UÂ?¾çPÞTlz£r4¤!Ndfï™ý…œ™s/ŒLk!E^8N¦³¶X^Èß¹òüˆ,…;á$)EÊPJÿ¹Þ¢÷Ö-‹ÑÎp¤×OÝÎØ¨]Õ\ª_‹öjo—ÊþN±SõsRUÊx¡ -ÄÚ‘ÕË”;2*ò§YvïÏê¬P7ÌÌìü‚ýýk. šà tï¿À¶bÚç¨F!?±¢£rr_/F÷ËÁµsá©øuŀƢ8 Ë}Ðý´Ý«Ž¢ lã «]!ÛÌHÏ·„T”oËLÈ¿;¨vR úÆ>„â§b¯Èrq®<ßg0œ8¯Ì9åfä¬LçÜÃ9y\•;ƒ]ůCï\hÎEܳf@5úÿ޲n]ÄI9éâ7îĵ¨˜#ûÌëázÜ»«’ù4€µsTu,,oî -¾ÈÛ-FP^êâ2¾ï€*3Y«rú$?-FÁÐ6¤ÿNõ†¼‘ ¾v½4ç¹2Uæd¿·ÚƒŸƒs‹xÜîÚ×$;7_x^¥Ò>ŒÆ´5DáÛ%™/<9>} *"éEŽ07³À8@Ûµõ5…›ž†\S¯Ø´ºÌÏwe+¢_Ë}["øôCÕ";EšfºS¾¬Ž¯.÷ØãÉïø…Çñ%ßÉæ4Yø-¨ÀTWÅ–„¨ÝrWYp[\^Ü&ôKd˜ÿ -ÛÛúK`ÇXv›¿¼xíQï ûžï. @À÷‰p´i 76J*`†½`˜}`¨œ€ÊÂX¡%æ~2T'ÖÁàWokü -- \è+è—#ïÇ+}ùrA÷¾D 7õË»;ó€lp„¨A—,)$… -/ÄbíF'Yðl+¯Y$ A·°¯?«2OÐ"ÞÜ ÒŽ|#ÁàƒÌßÿ#²æÃFKꇼtýæ’Í€ªCfU Xy5>æé…Tùûù\ÿO=kë?8™´ˆìGÆ ôûWŒ’Ñ®JS€FZX×U9æM5I|¹A1à¡Ê=3®ù¥bt1ˆK_8·eìâë*º©ø/mööIëfà’«DéÔÇÿ9UYvÊš^$ú¼ì:M¾ím”V©E€‘Â$^}D^KÏ Œ; gú›ÃàD›“@}Ž>ø¯l¤"KøæÍ."£¡D GÑéy×ÌïK^,»¬¹&S•Ræa\)ic Ɔ‰D[Mf‰FM[QEÇ4¼|;$Ó™ oä°p›{~÷ ÓoÔ±AûB'¦ŽIofž'fν œ+àà\÷ûÒF‹b™D ?1;0(„5S2"ÝõË£ƒv·Þ~´Ó?(8ér‡ÊâqG‚¢ß[ ÿ±ÀÃofÄv€*˜ýº°åÙj 0Sö+ÿ*†åk‚³jÐÌ%=¥dP?±Àíz™×t K;»¢¿?Ø0zÿà‘?Å€±J×?]¾![¤þó—À @FžŸzå_–ãlïýEŸ¼²÷kô5ûOˆ÷áÿ¤@ßX«ñ´Ñ €ƒgÄ¡‰çLÁpO⣀?æÿÌ3-«Ooû¦#¦ÇEæ¾>À‡¬ŸËèï±°$”3e³EU`&™Y&óØ%KÏv!(²PóÌEÑZ-õ‰EPÑ~\SÚ‚ƒ9¶BÅg17¹ÓZÌ,ð]xö>º©oT¼íäÞ—<-Þ‘BÅ' »KEÕjõ˜íl’Á;iÒë4õŠÖâ‹ÎÚrKðæ={œÍŒ‘-3czÙ ùéuØ…ÞŬ=z\?5Á†—÷Lc2©ÇÍ¢®ªPÖ×–¤` àB¼)Ii,L“R¾YŒ²ÅÞÑÈ 'nê„Ú"RA&Vì6(ÓÈРµZ‚©µ‘“Íþ)Ï•é›ûd¹(Éf˜(s½w âFÆ<›ƈjVcK£É\@¥Œóšg*øßü:.‹µæ_ÿ¥Ý7TËÓãÌŠ=&Æœt€1a‚tLÆSn%@XëæÔ¸£‹pRaKªÜYŒU}%ÉÄ9p§J²©«þ²›ì¾Y\NYŠ9êsñiA¥&†}[xag­À.I$£Ðžo± åQœ{S'snðvÞ⬸´ˆH*l -æ¼lwi?b îç,œž¦ =/KAƒbT.ªEæ’Púð_ÔÃùeJ”ÂÓOß´×ßõû£ûÌM -í -˜÷%°’’G Dx¹e½ß™ú„¸ úÌ®Úmpæ“ĀͺPF†k€kÍxD£«>p³FDe«ÙcÃ&OBklŽ–’l]|B†óõÎãź>œ¦Ç¹˜Õ«à˜:G{ûPo(nò³=ÑZñlVU­ëAfí3^”ŠÌûÀävgu±7ú,÷”¨t£ä‹Y½5Êo©(⥆]¶>'UgÊ7²2½ÄNAçEŠKÔ†t^®B|Ù(6­Þ&óÈ×ÎÒœ -øC/¤ú”l°Ði 4‘0‡ÛY¯žÞG*„ÅÏÿ‚ ,¡ªÍ·Yñ`D;² 6èÀJPÈÎvvËa5ÌW•{ÞiGŠxmmEž¾Ñ-ôB;åN5håU?ÕèŠ)Ù(⺅©ŸFy+ß—†`ªô‰×„&÷aÈ,Ï«½öóª‚áe-¹LD’$`°28J(ÊKÒP‹FÝ/Y¹&/~·[ ú;U! ,„'&»Aý”– ¾(þú« -*™•/LB-%òÛÆ·Q&%äÑO#Q¯£2°Ép¹¬[”­É¶ -ìÌ-hÿáV0ñ.GÕhw¥ïÐrA@dzpNR]ük%H“.Yõê8eÜg˜ë#nHí¨hgäµ tƒd•¼*ÁÉ4¤#™.->R-8×aæ -µØ®*$j`½¬võ%ý*'–Tœ] \¬³J`¯ØÁÝ‹IØŠZoB髺mwBw8q«öë¦~ae™µò—µ…d³x_$á÷$€Á_¾rl£eyã’o|¯<<±#«Ú¾Žå€Yõ–ðÑìiÿ*2 pX²°?ˆ)ìuu¢¹Ðމxº»aÝ}ˆöuÝËÙ'ÌQ®1¦ 2*ÛBF„ITBß¡§ ±%CÈ£ÎøÌñD°8_qc<ÁÍà?þe„LÄ+D¬ä@žnè P ¸Qæ„V\asÞø»”I¢÷ïn$|þ¿~ýæòâôäâôð¤deþíG£æ‚ÕWHÂr|1Öot -üO#˜U®J ›oK¢Žv ‹Ôúÿ-î¸`q. "ÆÈèŸWWÿ™wFBDãrÇ¿¾c óúŠ“0ã(>§„Â*ð­Þ²¸ñÝðêõ¾kÄa‡ýߦ ¥Xnj` -*:‹‹É`Êüiç)3 AÂÝ£©X\ìí'èC WpÎëëúÊXJ}#¡·üêû ö€|Iúv|KkB¢EßY«JŽ×p鄞֠¼¬`=îíU]|+ž¬ÄÚý";Öûþõæ5 -?/Ym0s¨ÆèRøÅ™r£!^$,¥ˆtqÈç\n$¬×í.IE!ÑÅK?p Ækî'bFºôzO‘3¼?ŸþÖÓTF–¢ðá!KI«‹FÔÊj7[Ld—:` r2.dã~‹•¤ÔÀF¬CàG¤,< -*èÙºûó÷aÈ¿{üa@hÂEµå‹1 ¶“íõ±”i—þãý­LN„°F_Z A%‘Nú¥~þD“¥ØFƒ•mv¶Ld3ÕͲ¶Ô ÉÕøN™‹”}é(Wž õ·ð`Ú¿Ì«b%+Ä9ìÔTkÒI ‚ÑãB¨âVô¤çǤØàT•ìûÏ©°Ís? ]¾Xd@3¶Xø>­f-î:‹sŠ %Æ/O:o–a©nxø á€^‘uzÝ2oµPï |ú÷SÆb¢ËnYîGe6ð -K^J*Ÿp[/¡ñÑcéUM2=ŒUå*ã§{[DѪRåívZž‘n6PKknIOäÈz]!ÿœ*©ÑN¥œÏ@e_¥ß^ú£¢Õã½+'$È Ã뀊$Ðb„².·“R@§~Þöp¤ z8çr+/@6dˆQ^Öû–Ñš¥’"JW"_!6ÿí¹‹”’´1ž Æ../ÙÜþÚm‚;æ « öZuBà2þã×Ô×®/ô9ytƒ>þ ó 0@m7v†‘Ìüh$Ž h–×]QåuÇ€(wqXÖ°”ÁÜA‚ˆ1+²$‡pO3î=]ØÖQÊ܇Û/Üòÿ1šÿY(²Vy À›ëˋג›NO½ºÒÁÀ#+%UÒ£ýî%×cTäl¢ÁwC]×0Õ†è¦ñÔšNé¹ÕùW·¸@”Züg €¤´E  ;= Pw·Õ¬°?(Z\ñ>|8}~ð«Ip%-oYƒÓŠð©>ß ¥¡/!½@«ÿìz£1Á3;‚žÆî0½Æì"üÚ OS⑬.ëg,ì#¡ƒ€Fk˜ƒ)_׋ÎìÓrM²{MwÔw»ì¦ÇšzÒè‹Ä§èV~ È -ÍuBJüì#¡ÚåYª2Íϳˆ_èK¹½Ž å™Òó¡^g¶!Õ˜ôX$ïLª…gTpæÈè«ô­é}£Ÿ´³ŠìsðvñuzM»YÅêÑp.°ÂÔê%ˆÏ³@W %q/Q™-º-²ÓjüszwùoCâ‘hª:ìa£#TÚHJ(‹V«(þSj¿3ׄLP–+Ù¦Î%ª˜_qN"”wD>pš¢rÐnTdq±‡>±qòŠFÇKU¬®æ{²P*åœäqª7/!¸!÷^Ycñ€—¯F¹wQvSغ»(7XÇsçªlåãbsïVU‚¾Y¹5nc³÷½±yS‘p ÙÛQ™ËÚƒ‘³ S8WQØþ¬láb ”"/êàû_PbîîñŠ%g¾@,Z+òí©èâ2¶µ÷ŠÀ—oÞI@Àóýt+0w—€ÀR -tÇž[?gÔ=+L¦)óz†€Ý£­cŠê}K`eõÞþì†0qÆþ}˜Ñ - ¹A^Å Š -è&x~² ¥P×YŽñïuÌ*¢ª>‚ƒ5B‰â•…ð9Z'ˆKúþn>¾ݼÿðþk+«ÎÏÏYõçTR‹ÿœ*;Oª¯®\úTlqq gmgÒ /O Ä70œ!&žƒ¢@4ià,³UÖ÷§]‰G"_M`¿H<<|8¿ “[‚#n¡ÏC±ƒQѧòžâ¢&Œèa“ìiÿ¢;0ºÔXoìjrN‘½½ÆnÐ_'¬O ã1¾ÆEÁ$P l† @E#wÓº~½ae`á<Ýê`°UrTõöøUÈ‹“õ|‘;ô~…ÿ+úzò<ýŠ0Â,>´x1úÇ=<("nB(€Õ[ Ð÷(–0&š¸ -ù%•(¤’íÑÿ¸ù 4ÐÂ"ÀØ2™%”gÞððôòõ›K=½~$)®_&¾•ÔfVÿ¨Øt£Ó€–ŠWjÿwM Œ[`&=eTT·Hu@túrÏÚ¾Þäïn @Š)Hñ'z €ç8?˜‰ÚýsZVÕnH_`XWÔäñ\ã°E€>7GUž:¯§Éµ>dhÌ5¤?¢9±ñmjT ’ÚK«1¡ -‘Gp ã>Vœ 9† -J­gö’p$nS4œs‘΄ ’;ù αât -¬Ú£ÖZxÜ€S;Õ×p姈<â[š›Û®7ô—âŽþÛ!~òÔX˜™[ŸwÆê™eÖ±Šòârò0«R,Ëè·øH‰ŽÌ}<Éã¹…o…ºóè3±%fâV°«jNtËo"¡³³1¹†OË.„ï6LDŽAÌÎK´IYÚéÍÍ1_qAïÀûÁ­Kº‹“Ó‘è6ZåùkÊLÿpNRuúü˜*~ï¸%Pm4•ž~¦Z5º@y9¥#ÀÏÿYdo=‘tG$Ez8”%ÐЕ´Q ?ݘùJ—‘¦*® ©ÍU©Fe) fŸ >¡»]å Õ}é9 2b%@Ó‚¦Ó•ÿ^fcsNÒkÎñáÛÑDt©‡ r»ÉMB“¸(NùÜ ý£…B´Yd³S«¹Š(Vz‡ŒgÒ;V`£a§W”+Y!WìB0:øu8ÖËòªjWGžvZç¹$0É!ÅT!ˆÒeBívQîO2Ýäüþ<ÓQ‹ùº=¿ŸÌt %Ò»–Fø9,Õhµ8+7×C–:”toH£Ãí¿yÁƒl¥8J Ö:¿ijù ç»E% ÄEEý›Ð¾J‚ö/ÃýižùðþíZÀöþõùéùùÈSÞ¿sÀûë÷^X?@8Ì!Èüä¾tA§~-€k] º~Rà pf´½`]$l´#]Pع‹P¸×ÕNõ°gþì@ÜÀ63ù·é¨íq‚1Cú |Ã*?¨öÑ›€´Q·à“-Ö°Óð'E ›HÊ]=$@"€´ýÞ]K뿼iØ‘x"én*2n…àe»5ð+ Ó»äa}wd QÍ|7ZŒ¦ÈóüÚ|ÿ÷ôñ¿¿¹~£ËÍÍõ%mÙ± Ð¥à‹~n©»P*ki d£…ÝT:WÝ„6M?¿!÷“,{1f eí·FY8Ð&@=†€Ã`¶µuœˆéÿâçÆX//øÀK‰—<Ž$D?ááÏrA´?ÄèÅy±¥¿±!î+92éýVÿÝBúß½W~y €k¡?KŸœœìž_²6'þ\”}IÔº‡¨‚UûUâ†C4©0­iÖ•ß„TÝ•ï!€"Ï h`T.hÿ¯HÜÈ(ù%GI©fħXT•OÆXoÓߌ©ªkÒO]È™0B7 dü¨ƒŠàáÜ7º1¸ávX¡J3ÝËÔUT‚o(Šøù“±ø–ðeXŠøáÿð¡´Q‚Ügvr͙ݼÍBGb|ÔNAÁŒ~øÒÍ|hÃáKÌè03âŸHaˆ*µ%,};\ÜðhîÛÅÔW!º_d˜[T[Úôé7´èÉ€E‰)ò­ä)P‚iÌë—à;6¦çæëÑ1ëÛ¹o$#rgÜÏœX†â @nç”Ê3ÒsþD¬ú“‹dQd¦œ¦{ûTŒ²GÂÎe)§°çg3—£ ²"»âI"#yI‘ Q…ûÍìÃâlcÛ;µ¿9èûþýCÕl]m–å¨Êª+ë–©=E€­õTVÿYdÀ(ËŠPA K `z””ð ž”Ek dÓƒW’î RËòoªsQïÅI3ÝÓ€F¼[Ê?áLˆõ‰ºƒ·pèv ¡Ôû©¬~)³J¢ËQpxÂ9͹—èž&¯ ig±ó®b$æj"„æ„£HrjÜË:åbËËFLÈ…~5 -Þj´0ÒNŽºùˆ±u`\ß‹óÅqðT”ÃW•D—JÌã"‰^’aR¦OK]È)žè§ë Ý.¢m@”4éìxDÄý”÷®$0ˆ§Ï2·¯ŸãP~¦×ÅJ€óÒ—ä0Hè¢gL r6 ¥ åûÕ8Ë÷ËÍÍ5á?«xy| Ë -OˆÎÁ¼ð´¾ÁnÖª›.T\TJ+F矗 ½¡^ÕmƒÞgÅe Ì(ˆ±¡_"áú—éZ°ïq~HRZõøæâ}lÎÏ/..ÙçVºnh¾n`àÀhhdÆ¿°š!~ü?ºÕƒW ×ü˜ÃoÞ`.dÿõ×OŸh¾´Á´x¦>÷áiÖ€±¿2¶ô Òµ^:˜1œ¤ŸNà•=7 ÷¢ö–€J F©q @rŒºVÈ q ’…] -D¢››yôHÖi¬€È¾3ÐÌŸŒkßÌÌ[y0GÈAF,”XRòà¶@º>N'¿ù‡b]?Éøàï Ê(œÈoư›"D¤—x'Æ1cW݆øß!‡K–IC÷?7Q¿LZÓå8ZˆïOŽ,„~ú‹ÞƼÇËã—¡ßÂ¥$‰I´uó $ÃZ¹W¢(Ò§HãåàѯˆÔâ"L8[”W¾!ZæXt1;‚˜ïÍÍ,·Þ›cNf_)â}F¹wÊt§‘]6S2}²×éƒ<šaòûï®_S}©û㪽76¦È.Hõ(-²bªÂ>~Ud‚ÊáøÈËÖšÆ$€}ÉCiØ5ÂÔ]êT˃Á“ÞD§#8z½í1ôB̰£Ú/éÄnæU.€ ÀÑœÏÎf¹6„ÊããçÛo…ç -tŠóÔtÁƒ8ÿ¥l3pl·2æHõs5‘]¦”ƒvçµ £_ÍyÀB~0LHÖé [U¬`RÑsù¼Ç¶,ðræ„’rîqpeÕÍÆÊn©×Ìç£-‚0Í9â•Nïà¼@ä9Û¤&Œa½ËBQ' tV²6=é1ÎIrÊtH·nìϽü°Ý>¡tÚ9»…˜Ø@yú“ÒÉ7m¬é{’š•ðŸÑÐó¦ÌrPû£ª=¨vÈ«ÿ ØÜT¼ä[¿Øì÷‡8cPåd5£ím ùJTsîw8ʬú½°ŸÖÚ¯ß\°ƒÝáééÅÅëKÖ¹§ñ@'É%x°]- -@Æx ñMQ²â‚ÚÀ/Ò¡q€–C-Èï%ûp­{ Ú`löb¼7:G@`^(άDÝÿøÀOüÙj@Ï6Æ·å,"`Â4Ä -Æ(p%(7mÔ‹"ŸÄÀZÿAõ¿+#È•kIo^³àùÅù)[S Nc +}dådÞ—ˆ:¬†VWj<¸fsí?©Ó£øÞn~—äú!£ÈhؤÅ1û”Œã"3ÕãPÌWöâ:ZhiHI¿‡w[ŒÏa »ðAÄF€Nà30ú_rˆ±ðE9@W°€{‡GPÄ€#Âkpo?i Ú™·57F ðfà~HÀ¼[Ä3¶vÀ_Ïø ì0À\^ J‡9W(J†lÂîª2Ö2¬sN¦ZRKÃä Ù/‚jW•<±€•ËS-†¿wAº”áÓÿàŶü0"dv°EÔýýÓç-qCÉ«² % ~fN¢^ÙŸôRÜ ¿¸Œœ"#ë«â”BŸÂæF–õp²GOB1ò¾HÑ-‘Þv¤'~2£PÎÍÏ̱_°D©Gµþo{|á`ú˜™‰ -ûwŽº®„Xj.c“¹)•©¿ë¡}VÁ¦áÑ«½­òlXVWÑP‚û¾"íÿ(Þ~?£‘ªoF¨?Úm殬£ŸV¸Bãî¶|s7ó±ªxLÅî­ŠË~?AÉÀÔ?.»y]¥€Á'8¯^dåYUîÿÂîF†|H0Êe_.FV—å¼Ñ.}rÐÎ<‚;sP$,6Ý û ÷Ú¿kÕkdK!f™*•½yª -¶Þþ +Ò“m0–yöVœÂ¬ðH±cÊø~³B;E5·K6Ÿº:öG“<Ö•ì‘ÇúÉsuÅ °™o—/³vì0¹8Ï7!'JQ -óªÝ®ÊmëàBç©f˜šFKPPÞYRZ$Æú›e¬C¬†å~ˆ7ùý³³Õrøãfgƒ¥8XΓ~IÊ5%–%ˆ¥~ìpç»'y;Zïqçw˜w§Aâü [‹!£í&6Q¦U^ŠrïˇqýKt-”ò¶?1v z3Ú”.N//__¿Ñ‘ôöø…­ ‡3är…ëß'MúÆî÷È¡¡Þš5&Ë“Ïþ ›cÐ}óˆ Ç>¦Ü -©ij`;›"I (Dœ×º»ÝÀMÿ„%àÇ•„†²\ŒÌ„ò¤Fóÿ`èãÇ”P°' ÒÐ ã'¯ßÑCòæ‚€ÓC¶U8UfÕÍ)™[Á(/Ðß@[ÿëÃu"u$§¨õ\Ó©²ä)8c†ñ„®êç …O+òh¬˜&ÿS7:â.‘°ìv€Mƒ«¨°S߯ǪQÙó3ÄDÝÊ"¨ À,¸‘™ì´` PT‘uÌ„/’¬wÃÜËU'9E0Ðü¹ @Û™„˜­Lt‚s8yD ú餋mŰŽxkÊž:ç&-“¶Õ!äPãávÀ|#À€Ëm €Ã5-Lp¤RÑ/!åV ¬GÎ/² “çhP¼X*.·DÚ̾nì×¹œZ¾Q4XÒq`Wµk¸òËy0ûP,¹ÀÖ‘å¼FÝðÇù…žÄÜ`b~#]ðÏ¡T‘,~‘@Ø¡ØI -!q2³;~·¾êCôø=ªFªçÓ-[ß•Yñ7ëÑÉ@ª¾èˆí«ãcÍøoÂ+¬†£_ÎF?Ó.}6:>>ÎÎŽCµŽÊb8’!êvy€¶®;o4< <¸x 7qK}=x© -{_5ûø`%S-~ÞVÞàåüÍÝÀù˸Ê­Á[6)¬ ¼]¡¸ƒó£cI#¯þVÑy!Î~9ûÙœÄòhšó3q~<:–Bòî2ûU•gùù¾xQÀü«àœ¶åDB©MÉ*^¯4Y¨Hmá’ byñ%[/]ï|¹×gPhŸ5ëq -öü}¼¸“Qu,Qkü˨-¾=û™Œ5çf‰Î%(Tæüe5{dÛA¾õ¼b§áúeU±oh-%‘ -çytøäJW– ByaXŽê‹åÄ'I‹™XiÌÌÍ>xþ“ý6µ-÷¸¾{P»ý>l¯Ês÷ WWWo¯ÆW±ë>tP -ŠÜ,ÍYÕkÞÞxûUu„*-ØaïzÑñøÕßþó—_äÿg¶ŸßH%ëI;ŸèfkåùhQ¥\íIY{A„i¯ÿ ¨ñ¥Ã•¥7ãÏWÚ[£ÑxDPú Žà[䟰wvp¾›8Wmÿ<+¯^ýíj…ˆ»è«/(ˆ¸z½®,ØÒûÛG£›*©Ãn h4¼”ˆr3óM£“¼š²v1þùoJ)é®ìÛsQ9` f‹w±||$@ŒWÕÙ«Wߊóÿû•½K.é)ÏÊ„<*æcs~ HX˜*áÓ¯¿z`½¬Ca×¶G'è+pi™²ëÞ@#Ç#¸‰Àgbô‚nTè×!@`üÜ!ˆhæ'b)ðGšàøø )@àÇÆ‰Àô‡`ü×Íßâwóî=Û¾‘ ðæÍ% ‡‡ì«´}øúúæFRÕ{Öð² -rv?}Œ-êôúÏ!Š -³®õÂ,êCß»æ¼kd„¾%›rAæU¿ÏÛ6…®KXÖ¾ú^AO¨­¶‡•Njÿyƒ§ÀÔ*¦‘Z?¯*Nú‡cH}—™ñǰ1÷Lä!Åòpç°"Lû—c'f`Ç-9ϰ­½àpQ ÷Œ0*ùQ^ÅBlCþ´=À nÈZ˜³Ê ¹è,I‡¹à­¦Èh;ôÓ=ô[ÃÛPµ 0TϨþ¢Hvra±d~nþ[÷SÒ€ðíâÜÌ¢$‰oœ-¤QHì¤Ð½”ÈBÖdˆ§”T“qøuHÛÇdžæ™Y¥Y¹œf˜¨°ìu<˜[ØP°¸Á¤n0ÅùÇwz"EÜ*ÆI}µ%Žë¤þ昙iÿʲt¶²|ëI{ÀhyÞÝÊžËì¹N[[ú í(ÏWžÈzkË{¤uõ|‡@$—ÿ,k¯(øDnçíöŠ"KäÐ|‡#ñ`@Ïÿf]LáÀ¦8â‡wK´%^ž¬ˆs¶ëŠq³ž=ß’ïçâÕ¬ ÿ¼õ;ÐI …¸3ç…°k^SöÝáÑísеÝnAíöj«½*{Ý7m²2»ØzÜdÒÇlc®B7›zn˜·iz´(I¿¼ù]NzŽC¸Wþ‰Ã­.±uóçÿ"ž·rÝÉ/cBº÷ÀŠ8×tzòd+qž²Ïä[òœèÃK¤n«Ù|^;RžË*üÙ‹þ2X·[*ŒJɬJ1óªMN?»ªÉÎ- ÙŸWòn«¡<ð,Y³`+»XŠ”ñ~ÉDtKOþåyÞn}žéfÎyžæ<{ògqÞvε•kÏ'œ“ÃÜ}‘’®? þ£_è/å^h÷þòd»78¤àâµ$–²aF¿3Ä€¹ð¡(ƒ·¡øÿã+þòÈ)zÓé¢ô‚¹=[_?ß°Ç.ÒÀ Z8>@óXÀs€hÀ™x‹B#H?ÙK „†boÙ îw=Ù²‡e =‡(°3í „Ï ¨'Æ2BIÑŸ5‚`ŸY€ -…‰ B÷¯ðäÏë×燒.·ón~ðúMä#k0Pùúþo(VÐAe·h;®Ù@\õMW~~+_ââÆZÒ„ôàP'-ÖN"ŠxJÎøÅ_OÀ 5vŒëÄ—/÷^ï¡)ã{¼ð- a¢ŸsãÖoIJŒž\¯erÞOwXúÜÕ½¾äƒ~§I<Ê8~¾Mæ&±æRç†d »œýe›»éCöÿ#ÿýƒJô9õïs)BŸ3ÆÁ-Ð?ÈUnw+w+l ähÐ~2è -ª$ €µBÖ$®«hÕ°ƒöŸ£ -ŽšØ6wëd?­ -€tÊÚM)|=Å  õ«Qn˨yþ/‰sNâ9j~Ñ–àd Ü4`B¬˜'=Ý[s|Þl²’zºYW\óW]K"±´ý¼Ysž‰½Fl vWZ+H.-ËÀ×þŽàÙR ðê8Ǻ#L@ñ$^ÖŒD„àÌ &4A¥Žx& Xò# Êò'ÛÁ¹xV.u{5ç‘éö—ç&X‡Ä¹æœPÜ­"•é…~—Êtga„,×ëî*×CÚØ šBV˜VN*wW%G=² a§ùXg§Ü¤;’à¡åMØ[«ÿ-lXvUx’ÉéFŽÍó&ƒ8CÔdcå{×[ÍŠ‹’®\ØÊzfV Pé%!œ| õeJP?ÑüïÙ(ø‚.].NUò«ÓÑù¥ˆ&Ú±‘Ü´ÍÜ¡¿ŽP¬ÿqÃR¼‚J™©ÑÙоrCï?J¹!ÙnË7˜ : œƒµ~²Ú]£¿Ž„Ò2¥×@~DCÎ<É5{ú(ƒ½(à<]lf¥ß¡ÜÃŒ“‚Q¶‰A6…t#¹‡Ø…è¨ÿ -ýƒ’-xg íÿl|yqÁN -{¥ŠîÉ%2’Ô{rìÝu,t?½Wu¨š7U縋º8Îu¥ç›8Åcr÷É"9¼¥ðK]L o¸·+\ljßí’Åçcl-¬IœÞÂFònb<Ú6|Mž’¥)Lq ðG¸SÁcCÝOŒ˜‡±`‹{Á62Ö=7v¼ÕOÉïÒ%ÝLL&>nÉŽd,åU¸³[¦¼‡a<†5(†€§Ú]bò“)Ù‰¸³ƒú)€äMMÉT)ÌõŠBL›ÐÇÓ„sƒ - 3å²B‰·š<ú\?$JïJ7ÓÉš¸&Ù"’¸Ù)½W9pÊõßÚ)÷6ðïU¾EaŸîkGwYS÷ýÞ1:<¤±÷¤¢¹÷ :¥µyoô¿Ç£+ÝÉp08ØÐCU'ãq4×ÓÎzu5:»*óñÕè'œŽ«j4úiüv<éTªÑŨ*v¬­æööv±WÒŠ›§ÛRY+w²Ç=Íë´ìW—'í«ÑQµƒ{x0'´„ïïÿ¤(ÆU¹7ªíüVÍù@•‹âÓÍ ºÞ˜ó=q^vż9W0Á¹PŽG[ãñ¹›ˆÅùiõÓèí•8uòS5:hÅ,ñœ}àåáëö€Ù­˃Þ˜X'Žó²ÈÆÕ>ùÖÛØ©ŠÍ^§óŒð È`Ô9ðr¾ñìÅ@l…xƒ±¢T¾ýo¹Ñ]Ü—{щñò`4–y.‡Êì³³×í«ñ¸: ÎG§âüÍhûdœ³oÎV3æÓ*‹·o3½:88H· -ò :WŒ«ÁŠ’Lo # Ê—?Éβüé¥{Ì[Ï£C1«rPªA¯EÓæÜ\5~cMÚ¼À\‚/<$BùâA†UÙsÿÀfÕaË%Hq‘gJGu|¥7Lቱ}ô " À¦ÑŸ‹, Î,h:@føËF?¦*b‹•4}ü*@‹)I,ÀD„Þß8H..@k‡W°À‹È:iù¯ß\ž_œžœ ÙîN/ÝXÂŒŠë÷×ÞIvúbL]‘Õ5ZTµ®ýT¹Õud¨ÿ·Æw¸N>L,›%ãÉ5™sžÕ$yÿ¹‡Òêœudénú6‘LBXÙ)Ù%?ÿã,ºÀsT]ì.në3ÝNîÀÙ9e]“+µÿälrã,ƒ;y“+6¸•¹\è4ñ`6K¸‹#+¸ 'XÜR8Óë£ìÌOr.Œí:nëS"¸vÎ9ËíJÖ°‘›ÍpöÙ!à÷ Rý¸+§Â,+z÷MÕŸGT¹‰F/Ë—ån± ÐVÕOC†©Ÿ][oq¾ÿ²;{[æo \é=bú_bn‡aø,|3àWfíüÀœcW¼ ±ÐÏŸH&b¼ë­¦å¼:s·w±ÃBÿtz³·ïÖ7:Lì|Km#дçA1› -ž~m13,ÅJMÝ“§Eùo•²B‚õÙèo•$$(!JwCóPuæV8¾ÕÌÈ9£¨íÁÇr@ž“ãžL‘ò¼—Æ­êíP/\°ÉîLUÃW‡©°ßO oî'´TJ¾u|!ô›ó½ÁÞ^å­_¿¾d& ¸'¥Wøýñƒ\x–{ éG9¾ŽMtzðÒ¥Y7BYù–’Τ}w·Çz ¹€8ûïÆò0òêF¸¬pèá­=vv{¡tŠÈnå’ht§-28ˆˆŸàaAÌe€Ý"*À¯øY$ÈëytƒþôNðLÓ©$¡¤[k#½WÎyÀ‹ó‹ÃÓƒƒ½í¼W¼~'k)þròî†-¾6 ¬‹º,peÉuc]íG¬Ÿ«è¸óÉÆõŸ µÿ] -WÔÅ©¿v7É$¼Ç‰ëçë$gޱv[³›âÆçÚM}S[Å5(Yès·-©Š¯óDŠÆF‘zß"=OøI>’/ÿÃqÜᢾ‰smÂÉ?M“ ûüœBubÃIб&ßÖϺÖ|'‡áCìÅcP} £;æq›n"«kC®¶€+ËNá3þõa_q“ÈæâMU³¬ÄK8¼=ˆ&¹ç1ÝÄ) ŸOì‚¢YcB„ꄊ±¦ƒÛyø²y­/žË*kå±¶Mσm*](€Ç˜µÖÓ–Õn{<&R£ƒ€L ïd6•,ÐÌ+£Hئ¦Û½[îJªçL__k΀¬>[p.gNÝRÑsží@Š„U¾3ïú±‚¢n»ÛúUÙ°ê›ÅNÁp÷M¢°_º?³½0ãMõQ³°cc^¥f’kæƒi{ÌÜ[»¤i wØ$ÿu¿}0²ë8%„Ÿ¦Åy¯™ <©ν€ÜåÛ‘çù g¹^:oA™>n•¯ŽYÈÁ‹ 2_  L´#oçb&Ŧ¬ØXšS…C/Ú[u&"ž’4Y©Wƒ‹^+c\¤h½`5à T DÜ…à't„-ùl§"œ±Ix}›Á¹¢0çL£€Ä¶^¶„™ýèµøÂ/õ9˜Ð.H÷œuwðxs^þeoïðäüœq€Lt¿~÷æÃÍõG -ü%‡ÒÞi„G,`ˆ?=îi^ -— –ü3 Ó¢ŽB- -mßÖ2 ³ -ϯ1+ÏCóhЃœüõ ·õx´·:™£þ6ŽGEÆL;Vº£7Àn« €ö}©øi‚iÝëСG’BË¿¤ŸYãïúF‡$€wt\° à‰€˜€õñÆ‹‚ÿ_&UaªñÒO§¨Õ\¦j?Õs¾»[N(Y„‰yxT`Ó-Éq]§óä&.bªŒ-Øü–Çä.(¬øÇ‘}®Ÿøqïçi"¬‡ >ûB €“¿tÜŠ±ØX¶6ÀÌnÉ@žýçW.aêç‰q˜Övw G:‰Ç¤%k]ü«¯üÒ Â te'K.)¸;ÎÓ5˜¿} <ûÊÉIPä”~èËó¼[‡CG3yŽ«ïlaÞÜ ÙÎaÔ±û6Èæ·?ýk»[3…qXÕ&¼ûM €½Ô>Õ&æÎüLŒ& -ãÉÃôAmù{5­±·°öÉxúÝXJG´#üΨÖ÷ørêÞ¾\Q¯ö¥óWr£JÞÐ r¡›q‰)Û‚˜BÚh.Ä ……oÁѶâïFò)¸zu|ü×êeÜ‹xÉ‘ùcº|•7ós‡bl/nå–i‰â»æapÁUŸ…‚އÿçÛ"{‰tA(IB€'.AÁy;rÈ\ÖP•E - ¢Ìªñp¿ê—7–Ä]ï±6®p‘m¡¼AÀƒF§kŸ/h WNy@’«xÙa;9 -‡ù®9 †«¿•íÙ…v - aIYÇ%ˆ%ñÇù“ž­‚µºÈà`˜ä·îesÞªÞžIÕ?SxRØ•é·y¾¯g²v°’EïÃcya†Ïó¬²bwÖ;kÏÖŸ â%õï`myy}­Xouªz¥àÞF>U$¶T"óö–—/LkI%þTZz’ù, -àoÜ.>Ž™i^wXJ)±Ž@©0gŒ‹èêÏ9KºþýÄv¿nÒ¾~'|»‘ðîÍù^±wÀ<@¶ -öž€^ÓžepD`?0©³À…¤,'èQÓȾZçÖ“1µ€Ð`"©ì†rl&‡Ü~úDc}N¤‡»³ü™–ÿÔëD?E<YzˆG{ô=éjÂÎVÑ Ÿ¶M}Å‘´°¯Ýú6|¢)ÂÞ­Õ]\LðìëÄĔܦ{ßÞa.‘ŒcÌP¢[¯¦)sÿ“GµKßÄ<'ªí¹øuøÙ—[ ¨. É žäîj¦# Â&Èæ07Ç{uaà i‘}SÌñ˜nâ>|kªÍnÉ.œ]~¯)Ù[}LßLù‹±<Õvõ/µ³tÓ3Ý?@ {§Rï~ddDœ|“>‘Á‰+Õ«Á꬞åm!íÂ8À±´KpÊ_¸¶Îw³¦U:žDUÆ š™b'¸qÞ¢á6V b‹a¢bÇ$HÈ*6~³ïí¼¸ªÄ®ŽU«©5k#u­únK`Öùð¬x^V‚I -À¨¬Lâym -ºÈ…hjÙ?iýìä3Me¾Zö7ûRþ…ùnö§åŸÕñ„Ž B¥ó_¯jþÁ7sw•+£Fû¤é‡Aìì+´Úu.‹,»ÄÙ¡Ÿò :¾-[eµ³ËEr}Ë9­ -Âÿ^Õ¥à úžW2å5š²ëïvY6‹‘Tç¢$6FF‡ÎzçÍÎÎNU´X1y£á¦ÇÔ–9éÿ´,u¼ ?ZC”S†w•™þPÒ€² ×Ùì´:;= m¼°ˆàΘç:ÈW2Ç™ž-¤» XÐM”«ùÏ}½ÉhGqÁçQxýÞ¹¦¡„B|0ÿî9K -çýôΚ*óÕ$xU€çƒíboïäää‚oÞ]¿¥—@²»@}·Ÿ€¦!üRši¡(;üÒOC©îcà–§k/äűÜÒIdßnÇ,ÖÍ ÝDQƒ¶ìÐÁZcÄ],(z¬ùÁx´øO4}y×^™•€\0‰˜«ßüýƒ˜±s¹!å7ïß3€îopq~^Û½íà åfLý{§ -~©€z,~u<¹q}µ`úé”Lâ)='Qø¨)œ¨ -½Ó@Ml âá2õÓÉgc˜èv%À0Ö Nãê»Ú§]¦ŸIŽÓ“#6Õ7 -*1 ÙÀÆ©ÛdgîXô?êÿtà38‰!ê‹¯ÉÆT»¬ÿS”œ>PxÖ˜øÖ7õC}ĈsÎc>sG<×g‘ _Õ|%_nóF䇅@ã ï5msÜzH¶1oJ”<êŽ#Ëâ~ŠlV¹7áœã”î¨ßë¼rÎ….9œD2ñ3åEž`Îïµ6C°Œ`€€Ãm}Į̀–ü#ïU tÌHßÞùA2€ñŸºs7!PÔ£´ñï^þ_´v4ªº­ôØÓp­;Ķ4AÅ knW;¬õîê~“êW 5Œæ¾¤»v›ÕÙYßB‹îKpL“X9ʛݗSœÞÇ厣5¢_Ë. Ÿn ´ãêhœ·ËX?·o¨e‰B…œ'ÄÙ.³vlxŸß ìö²Ì§€ñ$ ŒzÍâ¸b=°î­ å7\˜g-j¿øÅFGþå©8Vë×GWõ*}’oêvöÅRÿ>œWGGgÅÊ`8ÒÉynîõ¬‹nª¬I €×(̺Þt@ùËh(å¹^¾zÏšÅ/£ŠõŒ`@Œ€£ÕÐW"QŽV…€™÷øÓ¥(ip€Ò&¢€½W$¬+6‘œnX°)zëåõN¿óxµ¨— - Ž»Y…¢xlÖÊ(RÊlg«wʇs“76{W£Qñ=# -úl\E^!ç2Ø©ô}ÜOô_"SóŒ5Vbë¿×§ƒíÁà b"à¥ðÿtØ÷ï>|”öËZ€7ÿþ•½ùS*vôû+Ä4ºÄ w »÷þc”Ý Ú¿î±GÏàNÐ]~%¤~õã |Fsççú[õwÿýKpÐI¨ÍèÁÄŠOnÐ-ñÚ£BAì ]À±ùåI‰cu|ÄÆAÈ J$éñŒ`¬„^¹öî͛ׯ/.OÏOªÔpÁ²ŠŒ«|O¾ÑF ì½þæJÌ•'«Õq#º­jý·ù•ý„Âbb4±qè£`v™ŽÛß䯓€âó•mª‡8&.'g6¡Üfal/¿uÁ$“É™aì|˜rãÇú^×-aNØáÄŽÂe²‹ÇÚÒýÄ<Ñæ p£H< lÓ9B‡úù¶ä3ÅtøÕÞú¨­Sǣϟý"on©~bª|àGÿë£~öÅdsðßoð¶ Àÿ¸¯¥_zªŸ1©Ý¦“ÿ~ -²#…¯8ÄØí…&<Ç­àÂsîä)åeÎî&yþÙ!ÇL¢ûúÑÝ¢FW¥*ÙnŠvý>:Q¤ AÜHõ}9z{|vÔm³t[ð• %U[ó(‘ê›ýî[ƒ‘`Å7*gÔýHLa󞸪æmú}QuWÙL;ý⇢OoŸ ER“û¬®·Ï¥.1õƒØ‡‰*}ñ[‡²ãž‘ôèÄù/ÇÇ£íÌ«A0æy  j´Ã¾ì¶‹±lýÞÔœ ü»ô^P5ê~×=°‚»Æ8FÅYè,-/ þ½DXôý<œo„ì³Ñ (Uü`& Ç˜àÜæû ª^ÊΔ¶¸Ôœ£Í'é$9®ó\o7eŒŠÓ®cwÏ^PÞ;)ZÊÏ Ñï øöÙÁBÉ@‚a%=º~‡Xìt¼F‰[DKÞ h­³& ×Ã!iP‰Úô2ÁE§ÙêÑ)¡ÐÐMõ¾Î´£¬H¨3]ñÀ dÎÓÊîøÁð hOïÕ,>-/ÂyÚ ˜çŒ…!î?²çÆù/’'ªùÇw&ü]nçÛ{ƒƒÓÖ¸}ƒåû÷¬ÄnlðAÚ´@Ü€ñø–F.0¥ùÄB=ôß(«? €4žÜúÿIáC.Qæéí]ôúE>Î~õv‚ÍáÇÐïvx~€p‰:‹µO@9AJ›? ŸÝʘHtÙB" 0ÈøF2‹¹ûH ŒrBoàòüü4Zºùáé´eYÊwo®ß^ßó»¦ÎsµÇ‘ˆšš-êõ¨éTZËõÁONÂ’Ÿ§+qQò£P.ÍȹÖÞ9ãÅWY"<œÃŠoÖx¶ÙÄi툄eãtÕ—`î3²58F“¹3ËΉ!îâÀeºãG>Í/ÌÏÍKèJ«ùEvÕ¤¸ðd›tˆtÃÚÐWÿ° ó8É]\JRƜ䧓÷Šcr.9¬}À¸˜C°Ã“^­ã|0‡{³‡ÁÃÂÎþ1ð)ŽÈºð2áÐ?†vÐvB<:ˆ]þ¹ 'É1?l0¾}¯ú¶ãÃ61G똎?ÖP‚{Ô°ª*z' Q…)ŠÚ³(Xû ŠžUÝô¶ŽË‚-h¶Ò’íE±— ªscºèÅe·YþŒ¡tBŠÄ€4À`¥Üj#šjŠN€ý©jÞÀÀaŠ -Æé»s_\Mv€¯%“³Î.ûð^”G^p"º$r39¹ƒåz/ªüyqf­ñÈçϘ¶h>iE¯ÙÛÑ­ÀŽioÏÀ<ö¿[ïXCf?·èÕ̵ð€è²X{Nò<¸y$›Lwtq¦÷ûÇêlÞϹxÏ{îvéå‡Þšó;y.¹E:¯Te²±õŨx’+N·}ˆ›:ÏË´­Ó.ÜíKÈ÷äÚ„ñ²êôÿi  ‡  Üp(Šy²_l®/7Ö•1ÂqÞGÎÌÝA»‹|ƒ0ÆA¼‡D—°“¬[5R -gb¹Ê$»ý¥YPo¸¿½­ÿÑâü%b¶šàè»þ²,à‡ëË“¢›Øøâòõ…¥„wŒD ¸yo4 -ü½7>xîævD¿ÿ¹v‚Q,tS…·2¹X’SÆÕáèÛI@;ä Ä0¸öê:É]¶ö9 Ü‘ʾî&÷9hÈG€$žDK¾0_èŽð€\ð+[‹ahØw/L™¿H²¢ßƒtëDg ðþæâð_@58ôºùÉ…§ý ÿß±à_>`ôÙùýdËûè¡êÏyÁ• ªAµ!€·Òêm÷œóþìTW&C.ÐòLcyn~ùáÌf -¤2Ùmxr…êc~aa‰…óÔÅáÎñ¥3Š|⃿|»6N·º“3;áoAp(÷Dçjœ[3Ñx8³.ic M¬Ý^MÉGDåè¤ö.³°ýÃX O&óî=Ž‘n±i"Ž”Âú¯CFØMžå IvÄ’-ÞÙ†OœÏ-„{‡‹EbÈaø’<)”……5¶Xž%’¥ËTÖ¥ðÂ{DçÐíÖ&ñk’pè7j×:ô .î$t`'‚‹ÁY¸î°šÓ{¥‰v Á¬ƒXûRIQlŠˆˆñ?b¦tØ“-ôÊÙ5O°˜ÂZžy°<7·Æ{µÊI¢ÑL¦tÊdn~­ƒæÎ,'·äiaá!½1¿¡?4YY`uå¨nèO¶^µŠlKð@öº±‹Žqi8¬òvI?´ªÙ½hK¬X³4¼ä½ú®Ñyœªs׿&EbÛí¢ì>ÉGrìÀà#°HdÕð;;¯ŠVîÕ‚ôLjÉýâîÁÿš•[Î…ºaZ U‰–Ã":/¢ãÂ$¨Lœ×Œä[¥„’rKºçb=q¿-EhêÙwY Ü:1ÀBDïhá•§ToˆÎ/áJq…­V²§Ù†`΋à\Œÿ¨<'û7¨äVæaGº°˜ò\Èh1êãµèÄ:-¤4/^J\(ÙÈ´óÛ?õ@>=?==9 ò<Û>9Æ¿ÖÏ´uQß©BæÇ äëš¾"êf“ - 'ý}Þ bÂZu$–sóGó ¡W^WIU>ÿPÊhOøßh¨j[Z`°ù-x©ê–È¢–­ýRcM®ç;Òä\Íš?v±ÍÏKÒqò”|q 8ñ.MÄ$sÄê¨òÁÀ°_ž›Y—Xí=ñØ8–…òI¤Ò'.8áŸDáGP`é.:6§Îñ_^æõ¡Î,ÈUÀ†}§«‚2˜Ü&:ËüüLc¡>à`™Ì„½8?óßoßÅ„Ha8 y€”uK=UóÈ9ÅirrTÌÌ5’W»‡`n¼í Åh p^bÃÜ< (¨LÖÅ´Âl<šó–û~×£\¸ ¤¦xÀ?uÔÜÒ#ódrÎÅ{ÕÛX“ï[&Ò‹âm>PÐrŸ°ec¶2P™ð{%=Ê9ìôÒÖcç¥å¹G˱¡B§,Ô1EÁ˜¢Äƒ¥Ns&’O‡'/…[ãšÎÀ=QŸ‘vtúưÛÊ_µ}tB«Vt<=Ï«|t=` ûpÌf© š*;¯í+Y»ÂæÄ%n¢\Ä”/;ðˆ¼š4¸Fï[ù•®LµÎï£A³[á8*~zàÎatŽÄ·™pÃæÅGl7‡/‡!†Lsþ¢¬¶FÌ_€± ”TLå*LÖ•’¢ÛìÐÛÍ®wkÿ - Í·³´´ä‚U·<*à~RåÉx%5å¢8ŸdºØ?®9ß–ƒÖçy.V^0Ç/.`ª¯xw==Þrït)ÏÃYï…d5Œ¾ïUÅJw°“r“'dº/D#¹ªü‰ív$6äI¬ê1 Ðßð¿ì©€1@aÆ>É››½Â¥†i€ ˜¥`‚þäñ¿Ö7\ÌùUV¼Ýa@È9“ÅyÊ~Þ““U­¶²¢ÞÀ0á¿ÙæÎû;c©ú_¦8÷Ó»K^Ê=ãÖ­Ÿ^_”y–ï•ìì…ù½ctàGövó?[• ü(”ä@ï6>3ÖÄû,K ÐØÝº÷Ì¿h×—Ð=ø‚|аVrØ2:dBw˾µõýÜ1|;‚·‡x¼ñìİY—™n™àÁ|z6nh;wtpŠ&€,ô# Wö½‰­O¶,|Á¤ -‰~Žë÷¬£t½¥Qé^ZWå*qšJ6*ït¸ú¤Þ§º±êõ)ûÊÍ6‹0Q9.ÉV®„ÿ½ÓW`Gf þ¼¤~RVe’‚aCm»°¼¼¶¼¦¹ñH8K`ˆ+2þÂBgîQ‡ŠÚ~ä) )Y謙Q\:ðØö¾!æ¨ÐíG ½ÿ>sKkGÎ2Ò*̒ꆙ'(Âlþ—×KsË™‰7_rC€ -biyVgÐw!å]¤Ï6œ—µ]r¨†°´xÙš¸›È„† VA. c;4l:ësaÞu‚Ójò!²TY½¾¼$ jv mÈ)‰l1)Ctñ¦‡8Ùl~þ¿“˜\Xx´¨LwÖý‰¸àD¡ê½JtRjõ^_ŠCL(CŹÂQ -ް`@§K’”hgLoæNo‹–N²Å %¯”gŠå×DS2›Þ+îñî÷°1÷HoˆÍf—ÌœùSpòº¤÷ -C°‹0i_Kb2ß™d=ŸìV¯avâ7ýÍx³ß#U©®ÐûeEÿé¤nTJFÀÖªÊ †Wƒ·˜Õˬ½'CPt‚£ªšé[[\±ã|u4e3(uU£Ò¡¸R«× ›÷ªî -ÍÑA¡Œ‚DºèYOŠHZ¹4ÖðçGÀ¿ÛšÍg½åí-ç°.Û?®ö=JY o1QâB¯d$àDoΫí­ÑU? 2c2”®V®n›.{´˜€þ8Ö×Ö˜€ª¡Â­÷&ôŸ™YhmÙ1‚¥Èx7IÐÂ]ç9 ;eÅÂH‘ÅÕ¨XóɘHÙ'6 ™ž—åJõõ0 H!ÚR¶]ŒQåk”ÍGy“E~L;ýÈJ‘óSŒ!›üP–U»}ÀÛ²«rX¬7$Úº¬/±S—hy©óT…¸Akc6Ë>úæËÙ§žË#}N! 'íäEß›È ]̹¬0ŠÜÏ=b í)Ö£üRZ˜Qá–,äÅõ÷“ÔÔ/Õ$|xG/ÿ{ 7Œp €’Šûæò>{á¢â3>H°-¤ mÝú?Ø*Ü–f 4.>rú ¤H:°DG×5 ]gøëåwɱkß'F bbì—3N¸D¦@pp(`_Ø»e -ORtTxEÇW0 ;ƒ±!¶ ¶Ðþõ¬‡Pù-ðè†4)ÊIA’ƒ®?\¿{ÿZèÿúü✀ƒƒ½AÞÙ>¸”êŸôÿë7ï%X¾ºT#ßO½ÇõΚkN#-u -ä-Eý‡u˜.ÍÎaöèŸæù¹WM¿17·)‰u­Ók,nðyBö@ªOEŸúÕÿ‰¹$úMá RfudBdÝ©^èÈ/`%õT»«c‚ê·8Ï -dY*\Ü)¾¥MAø:!­5fM¦O¬bXQ:µ ˜X^[_[ntza–â0 _æÖ”âxJ97aÎî&‘ˆuc`cŒ]Œ-?À~™7Ö–g…¾úÎòœ±–ðEm &äE¢Â`è1__ßX_ot–% g›¯ë‹ÿLEé€þ;Û†圌7‰/cBæZKKÙHDzÄM± *é1ï5^LÄR37MÊ5ê¯5újÍÅE•­)Âû’ĆÅÞZͶâòEÇ-7ŸÛY´£ÙG[º%Éu~­’ÓæÖÖµCÒ ô^Åïg…p’Þk‘ -os; -UáNý:˨@õ¨ÀBxÂr¶à(5ЉtC99PZ±^@—Ý6±²‰HU³N· -\^Œò•b\E•î6v!¬íU¥g˜xÛnÃÎ{E)À+Øy¬»BkpW”?;£A“ò¼Òóð3Î-§€¢„a¡Õz_Ë‚Ñ*oï:@ù´‰ˆ¶mO27‰—ñvVŒªuVžùÙügøDZ0êöÔ_u›ÙŽL¬áF €ð¿£·ª7¢_è`þþ±bוt’<ñiÎÑÿ“ùì’\$òÜ -]Gƒ–’E¦oA’J -1˜r]œWƒV¯:çÊc¥ëûÞ†2,–u{‡r¸Ý+^Ôy~¯ÄJ HXŸ¢HÇÙc®$ ²]\Åâðx¸Ó[ž›¡ -‰&Á?»+½BþmˆUqéa ­È{ÈMü¼ÿA;Sa´Ê÷´T)ÏKYX<âYÜ”y; _ŒÂâA¼WqîÞü×[Ô„P‚wšÀ_ç›woÎO”у½C‰çL@@`ÄMß¼!¾àS¥püL°  Ë´¶0"§[ õ“”뛿þÿ6†î…šäÝæ ;Àî^‡íõñà@±‹ÉFx\ÀËÐ'‘ã–7\³¿.?¦ÕäB±àQaàð×|°ì"+GÿÔýÅ-Ҁ̘'Éþ¯ß½“ö~qzqzzpxÈ€­êüš%Ü÷OξÖÍëû‰’t/•ÎN|VÔÁÓx j3QÕ¢®GMKOŸÎ6ž.=mµÿi±ÑÛäËÅr¯ñh­×a ®êÔÍu}£®vßìqÃ}©*¦IogS•îâœëâ„'xÃ% %|€Åc¼'ªgÊ*r&SÅcZDÿôh±StPûLçQ§'0_ï”9$Ò$ÇBƒŽøöÒb /'jÖGEëQsÇÃO‘„½E‚sËBx¸³ç `FI°‰25  K'’þi®Ñ#1ÂØÎ²ô~VÑÍ56§3rÖ¥ûDÔËbM²Óšªˆ9ä7¸R¤ä\0W,66• -%¬Áö=A“­üÂvER¢Ë­F«5sl»*VäûM®ÊÉ@C2…ð9™5Âwt2€K‹1k×Þ°ÐØ$pG%‡xä…4ýƒºUêîðBâxECß‘øÁµ±øOz¯ ö—y¯r¾¶Ùilü^qÈ{YƒsgV¼,×Xœ’ðg·½Î⦠-²D˜ÉÇ?$¸n£ã£cvgª/o–`Ôäý……nÑV ¨Ù£j+“ 0ªº7àˆ1ˆª»­‹ÊÏVS&(uº|òàª& ß¿Hcº º\࿪ô`MÑó-`Q¯*Y±Ö+ÀÊ8ñ­»äöûôž³rgÙaF'‚~Õ(obV@Í9ƒCM®UüâeÞÎ=$Ÿ4}tÀ}Mqç,ìdÏNL½cä»à ݆×4ùÛÑW'`fæa£±×/†y^“Ó`¦óŽ%—”ç6#ñJ}´Üá\|ÑßCèÉ $k%ÚJ*ÎýNܲ‘R&qƒDEÞÚ92]Ùc^WÝ0óbXµÛ–!•Ä‘êhg}‰ö=$r -)5J½>C–KØ4ü÷¾ßÈ•e3ºŠÎ¬l×zÎ¤Ïˆé ’r†õ‰‘˜#Mæ3Ƈ@Ûtm+Uõ;’€D¢‹‹‹žæ¼MM|ùí‘þ~zýæRú?­ÿìls}`nwó½½êð\è&àÍDú>|H“ŒŠhÑ`£€…™±sVÞ¦´Úƒ¨ÂLVÓº2ä|é} ÷¼¥ýH(<|Š!ü8°«‰Új•?À[@íY'äˆ#~ˆ†pl˜/@‡ÀnGø¥WßÍ7Hr -7ÀÎ4{ €õ:œó¢Û^%(ßpBÈô½^³`¢fÊs>ÃK0Ùf¿l¯’ãz·#E~Öï-³ÍµI£bZZjñ±KòÙ 2 /T™1@ÕŽÄŸNM•nlðy€ä.)ãdú®€Þ¦˜þ¾ØÌ7]\¢ÅÈDjoåżhv`2ü·œ;{vö -Uÿ d ÿ2ÑHÍ‚uRþÑkß_ŸÒ ýtrÎR@¯¯ß¼‘RûáÍßîww¸~Ñ!Ž¢L?P+m“n/è\ƒò˜ ­Ô’gÝ¢ncæ3¤~ÂxÒ;$‘ø¢h¸'¼b:Ù-ÂÄ‘ çî`˜¡YÆ€)xøÄ(?H®Í¬3 ’_,È€î¯ñÇ_ù¤üR¦]0àâôüäôðp°ç¥€=™ù@Ö ¼¾¤åJ]h¿9zEku¸ßVÙÛª°³ÖUÁÞÖ£"#ÎÓN«è¶f[ª/é ’™CYïI¨ì-!ƒHu®¿bâp•,Œ5²á¾_êR¨~Odkº]+³ÆÚ˜~æNµ5úo8ξP2õkR‘å­ÙǪŽÍbq6ÕëÃõF@›JL=ÃFŒ-ô«‘;²‘t²&•PLà¦}Óë-®‰9‚ŠŽ™=í’bWl~¯jQ»¾®§õäU¥ÞŽÊõ?“ygýÅãÖ3–¨êåà»Ùæb³Ñ|üÝjéÁ=rÚïeÃh“2rÓ2"ÐR%Xœ`•®r¾¹y&(­Z]‚rм -¶,‹^+AŒþ²™µ:@áxDu ?Å™ïŠlö»ÅÇÞ<æì¶ß{¼Ù÷­Cp­ß ÖR`B_MB1Å, ¸5Õ>6ð¥ÓX‡Mp‡oaÌ"“¤õžJµnd;bîgå…“§<ê5zÂtðÔò‘ë:[L -Œ°1#›ý͵N¯`$9à [8ÜØluœs -[þzU<ãß'Å"ªÃ¤ÉA)|ÜR•#R}1;ëÉg³‚Ȩ4yUÇŽo=0ŸrnCÑ‹àE¤¬ÓkÚÜÊ‚9Ü×+ªÍÕ>ÔF¼ºZ¦ÓìC¾R*eH1}œÙQ¯Ì[ÿÍ/UìõkU]IF#ysQŒ "Ab‰7wŽu[¬.F)rù‚9lUpšntýŒf¦Û9¿txÀØ[”ãáþþ¨ÙT¢4‚./¨v©Rc½ÍelDR%;ÎUýÚX$èú>êm©mý„òþ<–Nx$R”›¶’h”jtFÖçã¬é­ƒTy;T©è&VËKÆo¶ºaíb{+Š+ñ6ˆŠÌ¹Q>!±¿”¡Báì”oóvé=„ º©YPßÓÉú&¢Q™·o$‰uSü¹ÀIO¡¼víï²Â5 ]þEi¦Ÿ‡&$€9Ï ô¢ï¾û·Ý) -c]ä9cÅmÿ¤I2—8$+%E1âK'±¦‹óm•‰é¥}D´Ã²_„s·tôÊ^³­.¡I»Y„d°CŸ€¨,Z-É ÊvngÃÞ2ËmаÄP¿êŠÎÓ§ -u“¢2‰¿Br‰êb了þäõµ±”…©±¡¦¼´ÛiXŸ°õ_o$8§5ƒ«ÏAyéŠ'œ‹gñ­Ì -΋ªý5J€ó%b Úû7Â,¯lóþû˓½<÷4ÀSïŒY °Ð†ºÀêAZH‰Þ]ã§vgèFí¶êúJ·–™½aB»°±Ï€yÂ%2—ààÖÙð#jü"{ø&Œ-S¸‡báã'9±6o¡Á›mþŠ@±<­aã(nøÍßýzRâ…þ…X9ñÝõåëׯ/..˜Xt\^¿WvÊòýk&X¾~sñ¥.€T‹ý–$ô%`GÝ'ÌŸ©Îtu9!C÷3!Îb«Ìz*­ïf[ÙN9<íK¢ºUå¼õG´æòŸ²`, 6ÆÑ!£¾J¡ªa>q M2?Òîcú¾ D¶?AfwØø`^¶èKP%ÞjÎ6;úîõ!–û}Ç®:_•{† rû&òÁUŒY²H‰*ಷ(ÝÈØ…\s³Ù[¼ä“¥$€á²Ä€‹5Ñ—ð쩘ë<žmIÇ[/fÙåÜ(ØÛ|̼'‘%€ýlD`"ÅÌBèßon–BºEaDbÔ#çTK ÜfÝZ-<9xØ -sçZHVÅbC ¯¼¹¨÷ÊŽáE‘‰E§n}cSÀNøRb'9±±é»ÉËÅH¯c Y' |¦+“»¢#ÁNR—œñ˜@õ;ñuœKd’õ^…@­ï›bRïu¯h)ÿ"“7{ WcuÉòûqVÔÄ;pý76%9¬­•Ç·UŸÜ«¨)ë6Ëâq¡ò÷9ÍLáüëšà]·÷Jo%Ô”ÐH0j…´=IÐd—p Dù7ÜÅÌÊr¼ÍP³:sn¦o9—ß\Zñó|ì–‹dãæ³+ˆ®÷º¬’,_Æøze.'úÿÒ~à¿áv”¿n·|U–?úC1¿€óŠŽ ÛÑ~b½*Úå˜÷Psžþ"0>g‘ܼMeW€·€ GéÞË[‰­2_Y±ÐÅ®z,äÉGѰ´ þGi¦í¦$ѵ¸ÜÙb2äK¦!.EÌ˽sY¹ÿ3¡KïR¹Nâ`>Êk¢"ofå.ð?á\¼«¸ˆóË‚bä õZ¡ú‹Äf?`?ž¾~óîò´ØÞz3@AœÐÿÝ›ë÷Rmcœ`Ÿý:h0à -%RÔlƒ½õõ¤]»ýÞo'vF -˜±ã?Vü?Ñä¯`⌛zË=$½\¸}±»!ŠŠ@pAìòedÈøýPö ççÞ4X®|ƯdEåPÌþh.°!“ •ö,…¨å9vý†‰§§ÌÜÛ+zÝüàò ë&¾{óîÍ%ƒõ ¸ÿ-ùÅßGýVg¸UUJ…,ø6¼ŠâB™ÓÇw[“öÊf6*Ys±M¹§â,Ë^VöY([áìpï<å6ªsW  -éÖD€9*Pl§Õˆ -ÀÖ’xõ™ªN«7ÜÜP—_Ô×Ä9à.ã¶^•E·)µ8¾‚â‡aÑsÁ€pQa«6©?ùóWOC,„ç UŽêßåbGHà½!;”Þ”8áGg(PÄD˜ÐD#Bâ1â{ÙbQ¾èÑq¢ÜO»·¨|ÕP¬Nc!2(¤µ5ØQH†ÆғΪQSÛlHT'·ûö#Yr(QŠ0í‚°þµÎE‘Øj.wÖr·¸¶$šd9·!% {&ŒÝ@äØ,²L¯5‘zI(L¼‡xÊ6ñA>)KKÅW¶Z;2ªÞ+B@¹ÚØ(]²ÈQex]è‹X¥7D {FQ«Ú-²æì*ª$æýá Å{¬Øl)F§†œ&eà¹lœmNm°àK!ÁNïõYÓ1]x¯d]±)Èì)~=Lÿf¢…óëU­UÞâí0öIjçÝZx8JƒTµ–}Œcþ¼ËôÒ­ïªI¢Â] V,(5É8ïM u€S:i•µòÊ›ã¨Å ,…àaC²vðç]qË1n^®Cï«©ü96Ùï— û—rÉVÕHz´eìTÜ%ñRVƒç,ô9mÓ ý}ñ=#çÀy™-fÕ&Õ€ßÙ\EUê/Äš?1 T{Ö{5üŸ W ¹@k² -0¤üu¯†äž´(óŽ8Y´w±d ùál­ó–,LWåJÁ:w_¢˜u‡ÉU&™o<œô$ty ¨”ç¦ 9tE”·Ú܈Äy¯wÜ_fí̘D‡ûå µž•oÄÁÈYZ–Tƒ,v¨ŸøXÒw@™Wy†,d°;ÊÒŒ„©â2á<Z€ ÕÏUò$!Y^tÉeýD=MD—ã2éú÷ÒªTÔ¯Ðå…©­Ðz&Àû×§{ƒ½éÿ§çÞ ø £Ùd) |ÿwË€>u)ÁR¡&ë'+ÓB`ýôlð`·r'l•¶Ž‰(éí¼èöøºàŸÀè´\‡<€,q#8w£?ò‡É®h‡5_‚‚¢×ý'låc¯óo[ÿôO]ŽV©ƒCLl]n÷øøîæýÇÞIBpº~}ùú’A€{ƒm¯À’ ,¬Œ“lõæÍ%M÷Ð¥Ëà=ôsÖZíU£qxVIÈÛanÏhŸn ýTJ*æÕÈ/_¶£a9êVY³)=–æ¼ýb¿dÓËîÈ[]TUyUæGå°(‡ŒÊQ•¥ëœ¾Âz³Žb?Vµ%†}Ðå§^ÆÄœÍª(77$«Ž÷ûåY¯¥x¼©æ%SÁ†ÌUB±—\<Òª³?K™ŽªÑ ÏZ‹Ý¤öÁK}m•ÊóãêˆqÌJÚ«Që˜n×r¨o_ NWŸþXbßñžÝÇœY”E‘'òW´èßÜ¡u¶Øì«á™*E™6;ß‹›b¤ïvúUµKÕ<äëÛõ…>d`|fƒ¤[EgVP%dDWš6zˆ8rN 1 -DÛPz6%5$×Ò½7ˆP!÷w”§´%—¥bU˜9ÌÁ¡ªr8;Ç™”øêø¬Ø?ºvVû#vA#EW•ª0˜̓ް"ªZekqñYÑ{¦ˆuÿXúWG©èm -‘Ê+½yßA¯Ux;•’Î^¶¥ò¨dÌS¿dÑÔt8:†Ýb¤÷ -–T"6Å£Þ«¼{­V¯<:Sy‘Á.tñ^•R1sD¡+¾}¯å¸tZ³lŸR”¶Sê‹V¥PIs\eì2㚆t¥@ ŠÓMö2é³ °zM#‹¹|ÕïZA)OûÃc¡r¿?*V«ÐWwGH¨è.§ÅUår\ Y*G vc[ÚBØYKÍ–úÔDJ»*ÛѨÚÚ*_U•~^ÓVn¡B²|AÛ£¼­üôÓ¹íA™¯lÛ¶1еü)o®‰’¾Oœ££JcIÇ.u™µÛå‰sßG@âÜsçœ&öÔñîÆpN‚&œëv<ʳò•>£êˆ]dæâÌš8?È·òóxš¦ÔŒAì n4æê=ª–ÉÇzQH–!]–ˆÇ1$VSæ<  1·äÊDË«}q¬DF†+ŸÍ9++ï–;H]æ¦#ç÷GGy{o¬ÂQéoœ ÖÍyÈ’ºÊA;¿r‰†kRA3çJ†~ܳsÀh¸Ïw=ÜW±W¼èÐúRõùôU­®´ó1Q†ŠËÈëyI®IÓVûýu*?T0ùŠ 6Ö——$ö?]ìHfU¡CÊ}¨váÍLžoʬ£@!'ÏD¦‹ÕÄ8§¸ìÁùöJ^É<>crK²©‚(-|åt^|™VâÜO¯/.__ ç_3Àë¼{}²W”lÈJ€oØè:Öd -Z°Çü=M äNPM¯wŒGÐïݺf4ÇþX®ÿßYŸ‡ëð\½»/ø-Ðæb§nËçÂý¯žß‡`;\§ ๽CFX(-] -ö/;·)Ãüpy#>þá® ùu#€‚ôøò€øà‘“’Ž./ö< @€$%6ð@N_è¸ðK¿‡ra9£?<ð†…­ŸEM–=ëtZ«««Y'=붦V;“:ØŽí ,jæU“ÏÏb~ÑZ‘¾ôåuðÅm—p:Uº¢¹¶Zu§t§%“¬õÜê®Û+bÚ²<åÕEyw§~Oj+>õïvÅ©C†äYÁꆵÐP³•gm…`LNÙ¤Ú‹^3©G9AH'÷ƒâ€¼ê&ÜÐ7çžÅÞvö]n{PIߟVÂrFL´t¤FCJ•òJ‚nV•¢Uî[NlZß-f?È8™‘ó"¹H¨&éc¤FîX›(Ïf•ÒUÂÙPŒè@û^·ý]+#›”ñT‰3o=qaw«Žf•‘\¾k=Ím%ãUÅ,†V󮨠gQKuð${¿d…Kà&)“Å‘Ýü›-’'Ã<˜óð£ÞjkQî»™Â&)²¥óªD;½}ÉY¶²Ê{Õ“nFÊïJ^ñö²f¡2=m)5~‘±dÞÈ ò‚å#7íú½ -Uõ^¿·&¤Xf'‰˜¢™¤â|•òvίª««qqü· -"dzµ?à/‰GÒÌ` |ù÷ññ1¨üåÉøêêß«A¶uP$n`õóh4˜l_*Ïå{®«K1¸M0²–Üä?ÕøjDÏ Ír3{ºƒ©ÎÞ¾}õ¯þê·Ñ_Çcy}YFoǃvÖFŠdS¶Ë«qY}üe ` Çã+Õ÷q>¼„YÖ:*¯®ùÏ’"NÊò¥øç£ÃGGÁù™XûYÈqT¼€óªbÞWWÅÖVN0£ŸF?%Ϋ—«‘dõ¼×Ý6ç`¯”‹éÑÃÑøX9Qºñ†f(½Y²×qÀÌ|#S$ã«ñAùËÕ™}<þë~Êó’y>(•EÕèLˆ&7eõ“8¿,ólw’çp>z%GúÎo9_ òöV)Ÿâø–sÄÖ«±‚¿ƒóÑy>fYDò|tõö—·oÇg£ñ+e:obT]OTnI²_äàH‚ù²×Zf»#ÕrÓäÿôIDAT%O¥ÿ÷$ËEé•¶0”#€~ùLš’ºº„5E8ßeé‘eÅ«]lµ»ƒÑøDÃöOÕO£ñv0º¼:RHôì˜ø$ZçÙ |iÎÇoEc d­Š ïúh|u¾ÕZùÊ‘ þ „à±€ï„ôo>ç½àA¬ðú’mxýþÝ Mï=€žp`ñƒ1–¾eÀ°öïŸ> -Q§Æi£¬˜©É@`/E\Ïú!Ø úlË/aº‰ÛÛGÛpR ˜èòïET´@pËߣ]Obú†§ˆôãG¸ÒU¶îïw÷:¿ÜÊÀÂÍßió`h¿®TëÏ$ôg™¤óó“ÓÃh(/ ,£åäµ; ¾Ðpaº‡V[ÍÇ\³î¬QɈE•ÙÕµ©»öªªÝUPWueStžI:ÈVÛò×®AŽkÖü3ð¢šPÁ5±5[ͦGnA Ì›õ V³R;M¸ÍÄiè45˧¢j~gæ 3¬¶%ŠLíJ)ˆo¶Äï3XgE\9˜à×٬ăf›4­¶Á¾ànUÅ#®àR÷ÍæwDÚ–?¯´ã"i2õ=¤=~¼¨ë¬²ÿ qn·ZIÚŠîmHìåäB@»HŸxã1í+jœÏ.*#‚#üËNû!åù%§b5ÌW%ºµ0Š''•DûO20Ͳ? Qk -õÒ ÿÍÐ_\JšÑ+_p†ñ­6g•zżåÛPáѱøÝw‹bIñéÌè%¬üKFÆ~¼:ëBŒ1ƒáNïµoÒ¬#tð¤Œ_µx"Ðx[)mY°²; .•hvµÅ{×ú5‘WÆb3Õü9ëä\Üý¹­lÐ{½Ëœ‚çÏè Ï·Ä®X— ÔîªrU]ì v–MM8ȶºúz©|{Ý­^®§LŽõü|åÉ€$gw6Õúxöv3=‹Ûì·¾½oµ›Éów1|îèD -Æcj÷0R¶›ùVoKâ–tk¢Lþjÿº+òçOŒ9‹r¡òšM¡.º[âörÝÁEWÜ›©'ƒ=iù¥œ;†-³Â‘K6yÞÜú‹’îàŃ13­üçݨ0ÙŸe"¦ÞAãñc}4‹¬ñ5ûÍ#–¬²0;×pÑ‹…g©Ì›Šæ9·]ç9¬3T#Ïz[ÁùóçOöÆmpÎ`ÜOq.Wÿ’I:»Í4QÜoùBì“Sw?ù?¶p­—ëLGÓ””çí­œtœK«ïkðàísJ!¥–¯„¿*Dd¾‡¤â®ÊæñãÿfñzŠdGM½ºBżšm ¶‹­æÊ Rt—ÄxŽ”ÂþöàÉÊó­-ñMé•`²|OÈËìIó+Gœû‰Nìkº«éx-¬¿¹~}²Ç,@vf ]Ù2¿¾¾»¹ñz@àfqá$z²L Ü`¬ ¾@'kîÝœŒ³FiÀ3kþ‰@YßÈ™»ÐØ1ñÕÃöh…³€{‰L& í@W AÄÁAÂz~îJó?"À&ýp›ÿI4þð(F$üÃiö,€÷ìŠè‰þʘËó7磓ƒ’…€¶..ú×ïÞ¿»–dõ†!i°Åo(ļ{q™^¼œ–d‰„!^ºÙµè!r[»Òª~¸_®v%dÊ„iK;å¾n)ò!-A^¨Éh|”09>Eñ&-T•å'LZO¥|t;–å"Í~Ráä+W D(1¶â±G³n覥yŸ…ºéÇ2óhU·bKÜ=>.ûRZ2R‘Én±³¿»C"$ ãLn†UÓí -~¨Æ¬}ú‚E¿Ýû© -Ãv -W'Z²ÕRÒÞ¤  öÊJÊòöB©yÑk½eþÌ;w¾@õRNÉ‘R¡`*7õZÊÐ’fΕ¾œÄ9Q±Ó¤®•BL3ÞH¹õÌ=â8DËŽœ“ÄŽt_)ÿ/{ù¡²@ÙîÆà˜Û—ÑN‘¿€M¥³Ð{Å{Å#éÚer°¢Ü©v1Ú/wéf¯ù¬ªS/þv\XоÇêcª•WdÔn«Ð¡ Ñ”í{ŸäÜ÷RŸ`¤5:P©¢Â|˜9å& -Gä"±ey5äm`s4mã^I<ÆàxTíÐÏÀ{uAûSïuC©mv¨•a(2*KLz ë”…Âð@.©Ü1TM)Í»*lf=ˆöM%gzaÁÂ]šyþ¨ÙÌWVV[+Q£R³ -™„hÞ* ênmé]þ †X®HHÔ¯Õ^‘;UÈr©ªWÊaÈ!Í–ÌWåôù¿<Éä.“‚oã¿Òº0ÈT-ÛIKœ!ó4e Šc³s—»=iæº_Wœ&ç¢à¤dl=iÊ."j{0çŠC›Iî–x‡\ˆ…D¼\2ž¼˜s˜ ŸPó‰Òp?B~@Ê9iÎE635ÍEP/Ñì#ÈàozdÉYª -ÉCÀ‡© ç]ñœK¤OœÃ®dÝ^‘}Þ ÁÎ#ÏÛ¹´²Gö‘^— 0!áÏ%æ:¥wD -jÆÉt‚žÊÇ)r(*Ï‘pœéY¶²ÂŒèÑ£¹Yð±))VèÿÝl’« žÈ¤lÈsBö«ku÷ܧËZ¸~ "—³§+Šd·ÿ…ìÎÍyâbÆïå\¡Â×(AýýdýôÒ-ýRh…iïß]žJpdàéù9ÆÒþ™À~@"á¿ ôÃ?˜(éCMŽvr¡iRü­‚iñ—` ]ð*87–ì!L Õ{½Å¯žÐ9@0n-Ð-ÖýñSØ›¸•™RDÉ8°ýFÒC0ö+ -â ka»e:(Ø@’™ 0Î’ÇúÙ˜ŽŽïhêþ{'à÷4‹Ðpñúòüôôðpoo{[À¹„¥÷ô°Ð†P^2òJµØ}Ô{±Y ŽªÕÑxŸ*õX¢Íœ±Q‚)ÕôöûeuöªüÿSöwËmeWš.¬Œpä×Ñ-f%-æIëı#’Î2ˆ¨€L ˜D ŽEâ2ûjp¨]Ã"h¡eîR –¶X;µu .…¼[™g>«KpÝÅ÷<ï\ ˜N¥{Öšk®9Çóçcþî̇šd–ˆmœþj³=©gÓA§±Ã«ÌgK_kiŠC·ÜãºÞÛùÚÆy2Øleïí;›auî$p´_½1À3¡‡öFêsS䤶£pX‰ØŽY9\Þ'=íØÕvíÌ—ýŒ„%dõ}w…J—· -ŠovË$Žåq8Ⱦ3Ø8)Ëù‚íaµ¨úçÀnm"t7É1è0:qms¶¨zuµ˜É Yw˜tóÃõ~5ÚU¨b±ÊÅpˆ:ÑGZb˜þÖ³דÄÎúCOõ)ñพӂ~îV‡K€øÌ¡ðÖÏݪ„ˆ8ms¸?9žU¥†£så.¼…Y0·ßo†{vt:Ú8Ú'Hn؆1æ$Í}5œ·ï»Üõ„Û3oÏ„u(ž@ëÁ¼äk›gEèÓéGæ&f‹³YÖ&z6]õýòüôÝl¨L(•F°þÃÚ¡äòèZÕÈ*Ì€E•:0©-áõoé -ø©{0]¡žOQuÐÛÂ5ÍiâÊh3Þh°zVOÔ-=®^õÍ.iïë7oæó¦¨7cwlæèºÝÑxJÉäÉ}ÕÐŒPÛ5_ö¹oVËùèà€—”Sºìë¹Øˆú4Š“]Ù-£va:Åä&òæéÉ)Ê-ϦG¼ƒO^)jè‹$¿p2ÍaIôºä.´ùËM·17()!ìØ÷m\P³ppΗÿ‘öÓTÓ¤%2.ýá›wVß/dlÎyr4êÿF× CIÎç÷ùÓð´\.«ƒ›%Œ aú§õi<š=¥œó¢>‘•J/òˆ«R›ÿët48¸ñ›å)±bïä­O³_øÖ…´r2kuÔì oï쨩gÚÇð.mM@¤ùèbÉø€Jè['æL5êŽäüÈRů ã^“§«gÓ¹žq7×ç0N–4ËDÍ«T5e%ç௄F„ZÀù8ÙÏŸ©þd¢ß«) -ÕüÑ£GOŸºàÕË·.|¥ü½]áü¸¼ÏéÎ*{´Û)wÜŠ²x>â®f5·`|ž¨ Dš·(ñξ?zŒѾ[ž–ÌÌÕÚñï+Ñ*ò¶ÏâÙko‹f¿îOðWû1ðjOEBFCH€I”ªMBÄî7¡&ñýwN†ðÀ¿w¯²ÝÏË—Ïž>]>>uE• aA¯²‰bQ°>Jɽ’uK$íÔgÎK]s6©ð(MnLÌf¿?[t´ÁZ× ª>œªûlaëP!Àë–Ví0+½ZºÅgëk[hgk ¯ööâŒG( j¢Ñ>‰C·îÜž¬Ñ¡ +Ue +*ÁÜïËþˆ÷ÿi×ÑAxÅö.Q<ò rj±ê‰ÃÄF›Êó˜ÆÃêîµAÌÝRø¡Ì¸qEw|À5¡×£ÞÌ©yíʽ[eÅ{=&*}Ÿ}Nÿ+³uìAØuÅ£‹$,p¾]×’!|ï’ä‚´Tí8Ã>W¦Õä’H;iœi¯;êR=íÌÜ•¶hc‰·~ËEï–3¬fµÛËÅŸkaƒD´Ì ;)mP½ôVHN)W—©¸_m´/³ÇRƒŠÞ¦±ì+™Sœ*.qº‹ŠÃ£ä«ÈìĵŢ;Dw2SU ý/éPÚ¯z›×òqBôÐé+­ÐÀô†»‘œ›ÌC•ǵ&„°—ÒâÊIÔÇégíØíŸ6Î4\6ËçgK畹³.€’Ÿ/2ŸªYžmƒõ²>q"eZìû£´Í¿ÛÒ»pŸû9ˆ(õi#B“£ñuþ0ÚÃô~Ašúƒþòìa=¥öÙgh°!£{.@ÂYuWÍðUet„À-^a"¾/çr¤zqÜœLÍÉaÕüÛò„˜«žŒˆ÷“rÞœáã[§ì 7÷)d+šƒƒ)aF·ð–×à\ÎŒ×!s"¿ 0W÷K-KùfgµÓ8'ûf\а«m­Qì,ÿ `˜…¡Msç³å±ÜrGKðœˆÁÄÙbU£›•î‘€,†ÎMsþܾE8Gœ&{áp¶õQ¿È}˺¯G¦`i‘ù³ÑÍf… -#9j(#>y7íà*2Ÿ’¾G†Áã¼=íwFo&÷ö“³Én7ØúâË-WR²ww÷hCzÛÔêo¥¤"[–o+ù Áò]Ä–È«úé° ç·DU7™«aŠIà•@þFùŠB÷û¨:-çwi?Âù¢>žEoleU¨'uô‚„ùÓôøïÑÓb”øŸÿœñ÷ôt\ýf<ŸÛðÌþô‚²E@Ïr@ ß¾0²à©&¼¨*Hë\ ªÆf”ƒÉ<tý>tôߢ¾’.ÚîÁâ`sîZ”Ž~à³t1ïèöˆA`ý{ÇýExïðÿ×ø®† NßþÚøô¥×M™,P‚w?v}$ýïÞ}÷Î^~e“—8`üèÙ‹lˆ4_8Aàå+äûqrBçÇ(m/­_]w=#“æB©¬$áI¦ê“ÙöصݪiOÝ¢áÔŽ„cߨ‡ˬ©B²]»¨½i™o©²:ñí6W·ú·b]M1Í>ÕvÝLêÁhñûY±m‡#A¢Âò(l„°àýÑ -å!L…gðb@`æªíôö  B®Lä%6[pZÓh{XcTûÅ$,ka -ÕzK–ÇW}ZùÉáî.©ÂÅmy^˜ð$‰Xvjôjè}—zÃ~ûÆèÚ°º@hˆþ JÁ‰a:gx³Ð¨Ó;m/Ê59ã•\¥ªšjœgµ -@Ñ€¼ -áùÂle³†‚õû“% -`3"d¿kMÁ—PìºMu·¬•4²ö™wJÉH®n ¦ž¬ŠË—Œ…9K™>ö¸_ÿñ÷¸¶y‘…I!'²—B‡À,fýñ¬²) àClU³r‡„VzÕX @Ц¹c.©‘Ù•~G_¹;ÞȲA,p59Dmr„kv"sDþ#úy -ÀÁª°]ì’˜PI”ëìÌ(Ä›ûÛ£¹šj’h)¦ùå iRO\¢ˆÎYðPŠ ùÂøîðƒ†-蔲ù°9è:”¢¸¦ˆy?ý(*_¥S¬„ËkÓ“’oBîwÿ%/Õ}{ÓZÎe'Mƒð¾l¾éOy¡>LÚ€b2MÇ®çŒ#Úf0ÿ\é8n÷Їø½à¼>u´F¿ëWû+ñ4ÕÅrjŽªa»?T…ÜØøüê•+_ħ¥¦8Ì–Ä®²ƒ­Y·+Ãah´'Ÿ3P¤.œ§7eMõ“AwºBhÊI¥ô‚ÖŒWõùÎyõ’Ìí­ à+=b^Ë<ä;Yš˜êzt#k !2À­€IŽÇ~Ù ð%š¸WíÞ™uœ ­åpÑ8)/µÔJûÐ>ö'g£v'B˜ýÀù˜›6sêÕÔ•Š€È%“Öå¼dµkâUâaû›÷ÓÔZœ'ì×®|õÚÑê/µg³.|ôøéãv}Àë·¯…½·ö«`ýùމ«—ªéeçZ@K¿i­|„Ú¨¸d@@V*×í%jåß7 ÓK0~Ï"wFNÀ<Ï­“ýøõ½õø±ü î£!´üì×ç¹”!Œ’f³@‡´úqç†d:ëÁ4›t÷EŽTÒÑÿìôé£9äd›GÁ~ðÿ¢´kzöôãÔæÎˆL&S'ÕlÖý Hq’l¦å¦,Ð<ް!“çÍØlP”Ö@'KŠ¿¾aá¨ûè!ši‹ Àë @GW¿·&í-§´ØzÏã˲ÌÕnÞ– -þbX©¨EÐú—Šfí*“q‚E…E9yÜÉü® _Âݯš»ÛYÒœB¼fµåC½ºt\Å -5‰wÛDkÖ‹@À -á,ªþâ QÙ Mú@ô HU€ÔØög³áNSíß3Â+w£ñÎ~»ïéÚìΆI^¸JßÍz¢%HÖX$‡è:Ç'Äh·uKr•š ÷Z±£®v1£;-yš7 6ý­ïM%ÿ¸ãY'ùÚ£¥"ɉN¥ãò5…a^à•BŠ®¿ý°t°S€ä*Í!EçÌ™±<êÕâw@DfkÂðB%Qh1UÃe–—©t¢E]$Ä­ª-pa"ê-ýöU”dòÝëß@éé—-+©Ï²DMÎ¥ü]Ñó?¢~ÎÈ¥aÙ§À«–ihqÂÍ1 -@½Á‡²È B++Ó_Âd=»ø<„“9™¥ŸµëëÙ0»÷H˜î}Oä§l¡äŠ€»ï‰k«Tá#”G6úÉŠfÚïGÃY³YìcÔÓòä䛾ù”%i^ðú˜ÌB´¼çŽ:¬wÊëM38ÿ :[ÿ‡ -çÑzŒÍã #39(ØA3‹¹õÍ®Èè©=a`ßÖÖ/ƒþÙ9ïÊ•Ï3:LL.é5ź¸FÙŒX¬:]eÞ,âæ•Ìqâw²À;œßG) N¾ÚmµØ‡{-¯7œçu}Toª›H~8ò¬åŽäõ"kTh£„™i¸Š"Dº;õJ¥Mš¸P€„š3É{ÃÆ]°{»²º¦ÞVOÿ²×Û§Ž*”Ì’¨¹®BHž›ÅN‚ÖÌ*-è¨ZÕ*Ã1œSRœ±éC´óõ‡œCeKJÃwাÿwþ -ýýÝ à…SÚ_½xñêÝ‹g§Žh§§OŸiÈ– ooß~÷ÎY€"`,aáÐ-rDÍŒ øû—ïsô^As5ƒr -Œ•u³;>¤Ñ-Þç¯tÄ«X®» ÿ/ôï2‚Iïuâø¾Ì)àƒôØüƒ7ÂÕêçM¯ÊE-Œþ5S|ÝÅ¤3£¤Æ­„P ¾ûþýk§<´]ß}çº÷ûs€gO7MÇ”¸,T’Xþö­ô­¦õ#Šåõ¢B”ŠR÷gÏÿ'J(Ì•‚½ï6Þqû@©ÌugDõÖK‰Æ¾Y“Q!(4(èN>'•ì·†éÜÀ{ –¦kRû+›_m lA YpS×ÛížyÒî¯ok°®7±¡ŽÇÕÿì`WŽAÛÂÕÉy{™¥Q!±²ßHý pk¾vgÿ÷Bî€öt´db÷öÜ`Ý­¡“FÉE½1Ç ž‘ÆÉr˜-nö¢~Ùªäa+Ú5©’…l»—U‡æÇÜ‚‡4Çbëì·3rG5#4i†õó?¦Ð¡°$O>à ›õ¾:;ÞAÍJ8:˜±‰HÎi +eâ•ËôñL4£¸5“D ýAïvï¶{'LB"‰…¹ã€µûµ%¯ÿ–~–Ð=pÿ2™Xþóp²Tu®'9~EQdÕ³e9ÒšŒ–Bö« ”Ò¿.Ž’æÜº§ ž÷»ä"Øj“néȼ¦IÛO<¯‰ç‰…À »·?ÝF…óIåÛã õ»?jFàf(üÇἄҌÈ9•cæ‡6 .ü@¹. -A½<èL‰:tY¨º-†|ßNŸ”DçÞ ]c@”! 2ôùÆ•+v‡_"ç2ñ—L9§<ö?숟Ã{î çÙ†PÔ¶ù墾ž Ó¥]îÓü×·è¥IIs¡Ð[™»ÓãZæ|ßHNé骛ñö´,y†õrðçî^»‡ð=€ëšM€Ä»¹èõHy´„ÞánÕ6!|`ê¸ ±„Z’W¶×JØä|LäâÇœ;ÎýŠç¬â¹V?üIjç'èÅ 1ê…þñûx>í8]>~öìUŽ xåIÁe7`ð]&ŠþþÄ^v²<¨é¼@ÕÀI§Â¶ÀžßBÜý@Ö© ?ðì”=ŸÅ\ç-]ý÷¶ôˆæeÓ€â±ü”‰ý^¢ø}¡DEÈ"º3‰Ëx2M LgAð/¬z—!ïù -þÞs¡.`GÉN€®ò{úâi3tZ–9 Ð>€gÏ|òâÅãåOõ8ôõ1"›Ý–G ¨ÿï³ß“ù‹=máM$éIJ–,³ºï©Û)ÖüÓ:4ÏSÖt9¶Ù×-å$eÕ)´¢™¨† ?6SüTÕW¥¨êµ¦ºÍa«ÀL žÌÕÙ¿,—´ø¿§ùÑïL „§Ù¬j‹‘Õ2wKç ¤o°~rœžÆK•âòUž[¬Ú+ôðP4šŠAxÛqÕ¡{±Bieøšú3lŒTƒ º}Q! BN†ýsbqAD²‡pvRû¤îÿŸ\ü6ƽ:Ýß’Ý $ä¸î.£Øµ îÊŒ t8[Œ£”¦+˜o‘ªxI³I–;åW.õi’Ñ4«˜;@ÞÚ¡ØLþOD7Ñ» Ô‹rÒMÈL„¹ Š]lî)XNFd lFù (T… ¯o•1§$sxû7ÀK5+ Üh(UiÑŽ)oE'æç;kºâ4ªDÝAkEË$$þ¦š`›ÖÕä„Ðg³ñvßU.²_õw¼Dú.ñ¢U'02…Â3r¹©ô¢˜õQæYÐèðq·¿¶E ¹dÍ9eÞ},'ƒðT$[ÂØËÔÏpîÃDåp å¼àÇ•ÿ"ÔRÎ'÷O7JxÿÛŽÓXÚIN¶ð”ì@[Õ|pŸ\5€–¶T.ÇË5V;åØê€ð;•ΓªÓÍ"w¹õ $¾–y]æ>¯Éfh‰ÎwÌ'[HªWˆŠ]5Ó›#jªKdµk€Hu½Š*rËXŠ WòÍ0ªóÑÍÌ%HaÙïm}úé•OÝáøs7¾Þ»¾»ïžV“agsx[u¶´œ2Ü+G!º°#—¦Ý¡*î/‡7K¸ÄT:+ -ç^šÉ°„êBÙĺq¡)dFŠ‹œ§˜Ô4£á*xFX:ÔOR1õ‚ÒÌ»p{Ö©kÏÇGÓ£#G< àå¹P÷Ú™oÎxïÔ¿÷ïíÇú×ÈI-BoËu±¢EÕùÀv&÷ÇâN'=ä£ ›B‰ðW‡XðÅ¢ç./êŠZ€X=¡íOÐÙ§.âoüãV75‚„œxõœ`Ô$dÑà ôW ÿh ebÞ¿WIPÓq<@ À.€ïÞ;#âõk7HFdnôøôÑühªðøO^dw€§Î®xúøqÁû¿¥ŸèøýŒêálŠ{öoXŠZcÑp …PJM_‡”о§nÿÖ¢!QˆKZ†÷ÙjÔnoéK”™4 X9¤Âó,¬´NÅ$«†›å íK¿ïÙOyob¢.ÓRŒªo±Õì6!¤&KiÍÒW\ÏŽUêÙŠmøEuhN&³“”èóÚyiÖçüÊÆ.‘õ2jD]HÀÚÚÜÓWûþXC`/\÷žpÓ¹ò²u4õüw‚3ÓÐ;?Ü/ãecS [9'á-;½2Á¨²§ÚlE㺨ã„ÜÓR² s“†’~—aöqÖ;³ç‹ßiÜÊÝ¥žó rïÞúêœÐØ*³„Çe³¬w4q>Öá]Z€R4ÌXZ„¢ð…‹¯µÙ}›Öd^mÀørºÇÎè£Ðý~vÒ8MaÒ ê?›¯0wh®Ø¼dFy6†„®ÉŠ”‘ó•¶tâì* ¹.3Rj»-hÒ¼ö.}(kÑiå”q§z§(v!q”„ÂE®9i(V? Iu¥U™ÿ.©¤yðÛãê&E¸tJ‘ê–s¾ÆwÊn¹!Ë5Þjûp>í‘>/ªÑæ[¡OÈhs2éÈ,ñ?… ”¥ˆ.fž¬lႉCK.2§ˆ1¶/)]»_n\ùäP]dω,[Ú†]€Âm̃´.-þÛ¿åê¹²ñ…£ûׯ;Üá(üw®)¯¾V…ÛÜÛúÂCTl J‹ñëò3ÙG¦¥ïÂ[¸å §½Ñ>:X´ú°ö”èËœgÀзdhñírv2sNLÑÛâBh©›ëròQj‘þ'èñ3lÔgeÄ: -À«§ŽÆÓéüèÑcðõìå˨¯Þ½÷Z왢fÔ1Vü/r -Ù9¶Ï+‘Õév ¶.ñœnq6öwTïדï}7—ú+ÝÆ‚¯ï :ÿ%’¨¹ßíý‡1{þ -ˆãâ¼{äR뿼fŸÁ_œÃO¸"ÞóÅŸß—;A<áõ[—O–mN=z4­FƒÑü±t÷_´ª§(§§­ ÿ–R ~’šY³ê:MÑæ£t÷r·¹îröº_cPc1Q$jm±S»\ï4,#¿-Yn]OOùESL‘eçÖáí«ý‰… Jxžzeã­ú.;áïÛQ­{|Q[ …Ñ7°ÀÏh®¬U lòÛh% µÛš/«mǤ5‹Ä* µN­‘¬&_u†«¶÷.(VüÞv” -+pý뎻Ìó(àH ¼mR3—BÌN¤‡³Ao‘Y ÖjT.ìvæ’W'ÕµÛ‡ÔἺ;t}ó 0âÊ<Àÿn&Ò~lš„îØBáXu;tEW?ÝYü rÌÃ’pgæ¯Iv¤É²ÚÄ‹Á¬6A8*_ÂCZiëÁØ2V®üÁYþÔÃìà†Î0”ÿÂÙäAgWÀlöïÃÿkÖy¹Ðýˆ4€;9pÂøÒÅX‡/rÏ¢Û@ -<$Evû‹'_.¨™02QF³¶à˜«…¹"·–Z@¿D?¯`T?J¼RÛÀzAØ™:k Œ¶G+ -Š,c†1†«¼Mˆ&¼Ý¹| Û¹ø¥fS -˜ 5Ó® tË <<øp4Ò¨ AÓI}öíbáÉæ–Ÿ52yÌG]-¸È†–sÄ‹¸Ëdr6;þ-xØ,2ˆ}]B±ëB~ áÆWI÷Á`þ§5çê<WwbU[NûoXŠ‘^Ôî h[ŒjvæIÉIç|ùÐ_椠T1¨ÌòÏê¥RÜŠÌëÅýtzcàÖï w²!Èhü©hp>©×sÆê2‡¹G¸p~Œ*+\³°ÅX]2Ëó!ZfÕ4ß6™÷¡ã`{c% _ÕùÈ3FÚlÀã€?þ¿HÀ­[âÿîd¸µY„Gú•G¿7°äóࡨFÎ,ŠPÛº -‹²eå¼(q.>xlÀÔê[5³ç-éšsñ?R»ãp”G£p>N1T»²ùy x=˦ÓéÑ£GX°OÍþÒcmÞ½}ýèÏ8{ÃAg;Öµ‘c=«³éÄEËŒ ¨p¯³W!a_Àš…sõÁX/ÚÿÚèÅ«ì!)OÀv; Š»>í¯7·!ç¤Ç‰gâÀÄdÿ_§ ü“=¨3ðbn´ÿç]’þ÷99ùõë—¯±ð_¾DO:=m¦Gîøè±ç*¸üÿr}zÊÿO)ÖâSÛâ÷›çüˆì«á}¸Es¬»µÌ,¶h€QÀÿcôÊ Œ™ËÌþ=×¾YʬÏBš—ܤèî\ÅSPˆúšF[¥Øi­8/}öÛeXi(â/…Yà îÐE–ýjæ@°ÂÜñïOÂ\3{Ðz‚ïaˆÈYûd{OÅAF[ªÒR§5l'#ð°iATâ6"’¶U¦r­×½õºÂý»EIÓá¢ßÃÒùi(ñ­ïüçÝí‘ †¦VÓÏ›ŸvÏP¤~ï–ä·=Î>=i8¹‚`TÃÇŒ ‡Ë5 SéÓ2ðëEË£D‡3Ï6&è[»{NSP. ÐÌkí¢¿ƒ“m¤ƒB|‘¬+^D(¡I˜‰#‡!3®4€EaÌÑb .¤)|~P?·à‡cîvæø.4iŽ;ÕYÂðŽ( È—2Wdáa%ÞÒ­”ÎS|á)ºV§[SE1mJ9"$QÎ`Ó«SDW””ÒÜçÿèÿ¦[Ú\0Ÿ^6yUÊJRÏÆÛÃ¥µÂ$ KÚëÚÄ“ã!'ËïQÆMmé°ÆeÁL¸SÝ/ÏunxÑ¢OY-PÕwºF)µ¡®Ï<›^ÖsÔÊGÎý¬&Qñf¥¨_ÝjGé7ðÕº™~ã±øÉî=G[Îí½Hÿádû@²ŠDü/@ -çâcˆ––ƒÙQÊTy“|ïìtvð$øLf"§0ç99Ú¾@`O- Ì¸Y_„h2^—;뚺ƒÛú@Æøh9GÜí0@!S½O™¯ëuÿ -= TûÏ -uiq[œ0²?ä…«ž­š2¾äCª|d~fã$Oi¾ÊÔËá­/7Ю˜¢­/¯_¿u½·›Īô¨ÇîÆ@À<è8â©Á÷^»^¨Ÿ3> øðp\FƒÆ‘·Ky§Ì´é<|QÙâ‡ò’sŒäÜ]”)-} -²¬?_Îi ëˆÉ‚„¬“šS 8?EØÿ*€¯^¾zú¨rà£ÓG§_x€“Ú<)èu6(ƒ¨IlcPUˆÌܹ¿¦g½ØÎö˜kvâ…UA]DUw½óõLôŠy›Gy>ÿ'fyéž/^ýFó« /Å…K=ñ-Æ ÞÄPú#TTBŒÒmyÃrœ¡°e×€Ú @cÉ3u¹çËt¼/f €3!Þ½Ï?ÎtœYe#€ñ… %êå á>~„ -ðQ2#?NìÐP¿é.¾µÿÓ¼ÿAþ¦´ù;iPJǤ,°±YüÓÂÅæT³Agä\[+þ­ãAó‚büy`Ù*ª†Wo,ZG½G›ç|v5h9ª -P`j'ÖQi÷€³ŒLÛU|Ütu ÿŽÚR¾í—@=±¿xv¼°¦¥ŠÁ2 -Oè “{6.peC•¤JöõÕS÷G_`D!¦D(”iª­œ`¡"%'\ ¹›ìã~‡¨2Ÿ‰0tx3áL†›ÀJë¾×ûõ°ÝÖßErhõž¡õ\Ǧidg +6 -Ùº˜f±&Ýí†|¶3[þ–¬±÷Äèû®^×¼‘v¸®Ý!*&</'äÀì·±×Qldë¾ ”µÄTâÜ”\ž–•Ç˪s¿)ÊÂÊO®(nrEӬРêç «ÚÙz«ÐRœ÷ð0¿é I€Ú „Åì÷vðà±nãÏhûv’¢p©äŠ”K -ùñ©r8ÝÉøvÏOUˆèdèÁìÁªÅ‡¿ŸÕ@ñÏax¥²ð‘U ÑŸ"}f_Ù¢ÚvQ<û…`?8Z-#Yª$3»R:Ë.•dIZ¼Z: 0ë]j‘™á”@{xU}›ú|Aò|$©NÐþs?i{]¬×vû9° ‡óãúøìw é¢nÏ–Ý/ѦC JÍ>uXe§>Tö@²ƒ9EÃd„„ì—v¤gƱlïÃyyÑFTþj¿™‘‡žö|i€Ÿ–I€Øì2žd— -ãN:Uæã'N²-Ë÷Ýј|˜ç?„ÙL51ƒôˆ£ŽÿÛËq±ÎQêRÝÉHJÁQeNYôMZ̳•ƒ>‚”9 {h—a攢C½­O¯xpLûë=·£Ž¢ïw¶SŒ -üG2_£ü““" ]çѺRî÷‡B6ª‹5Rv|Á Á_F×}ºöBY$ÚI k¡¸ã¿§Œj^^.óú1¯ÅÁ¹ls]uCÕ¢„†O=E90±3@Ä— %}%"oÕ]ìè0€‚þ$Ýÿv‘+'ž¢€ò§*ƒÁ¨~Œº$þ¿@™ÿOø8­ ý¿%-±4{³çýúlád64ía[%Ü`†ÛÒ¢ÕT¤n½¨`•ÓTZ îÍÎ~ßœ>˜MúÝx´š§ít;ÁÆr(‰Šüü:׆z2¼º—âÁç‹Âvh{ Ù‘ÍÏù°ò´®¹k}Ø6Ùж‹ÜNN}ôØì/<ªyçwüIõh{ ¶MEˆõáGÔŽŸš8M›Ñ{$·îLï œ+¤²]ÕÖ¦1œO†ñ œÃO$ ´cùNhiîOë‰ñjöø­&¿Í[L²á6 -@àK“õ$*÷ªàÿ.UôV÷÷ëþºõ•Æ/ ÂÄ÷r§^˜?drÛÒ´Ã °¾¿/œcûûMµ™¾‹è„äú)ÞÂL‡Éºêï$_>ECËÀP"Iˆg"SäÚT7›œ²„&à¡Ì"¦`c£x¾9¨—ä«û½­,ó4¼sKHF5X§ÉW_%É€¾Ì­g¢¶ûF.b”)ÿÑcÚñŒ$Ól -(Zlä‘ÞÌ–9cëà‘æ“üW´ðÿu‡9eÖÆ7ƒå‘ŒÈ/†ÎšßŸYQÆ" ‚³=.œE9A¼ânZn?–í¥€€×}ï|«÷ÞIVØåP¯Ê0ë)Ú’`=¤¼dv—_m›‹®áP‘ªºé÷©×¥ë`dV¿8•úÇWó' Ñ8w§£` ?„ï²2â*ç Ê8»6…ñzpP¶p‚Â:eHñJ^ÖÕô|Ô©š¢l€æ’°³³³ß«‡û[ã¸Ðõ/·¶¾ˆõ¿±ñɆûìóvø–”<±ë·´‹sûÏênߣ§×œ‡•5甊 xö籎RêúhÐͪ!)ñçÛ €ø&Õ0:n²ÒÒcYWç,̺z2QíR¤üÇMˆ›'®Æ §ÆàsT™O66¾¸þåuçÜÚ°¿‡Ö±³å¼Žv%‹m€]’ö_~ÐRàëýá}ëD5ÄpI\…k-X_ê­e]C.ÃP£ èDxÅ«Œ+–Ak29§LäY¼™³ìÜKÕÿ j‘þãä8?øÿÒµO] ðêÅÓGøq=ôøñ©»áæNïÜ 0 3  a,Œr*j%‹ß€³,Ô{Óª¶þgÉ~`Ö.6[„àòF® 5jÈýy_‚ðÿ‰E-@O™ø×ÿü+šÈwÆM¸°¥?ßÝJ§Ã{œ|ã{ܾf:ìÄêûÁ¨ØýÜýM£ZÀûw¢?ØïI÷#¹§§?š×GãÁÐU¯^9–bÀãÇKGZÀÿ[¢ö~”šÙó³³Åù¿ý¹F8ãúù·‹…ç?ÒŽ-–n]ZöÂt°Š– YλÕj±8_.NVMÝœ5‹oÏQš9[¬žÔÕK…úcóZ/WKZwí"Qg/Wg9¯…ÒL¹kÐs¸tJxí–\î•N󻤭í›ÙÙóÕâìüÛÕ`´»Õ›Õ“Ùlå†ÞDM[Û¬ìSåµ)-v³lPHÍ™§‘âcyòüßΞ4³å¿ðr=u¬«ßxxæ–ËùãÎHIïêœ4Ù,—ÏW„7ýÓêÏgOHÜC<5«fâæ¬Î(&ˆœÐ«~çÞÉì÷¿ýí™ínêÖm´¥~ßýÔEZÑQB$NIÀeÖLg‹øÖµ¨öû¿Äb óg ò¤Ø==8÷j¹‚×áÞ±Z|ÝÀø`X¯ÞŸ+¯šCg{/‘·S'ž“q«óó -…mñ’þç'Íd¶\߯˞rÍq2eiÞðÍsÇýfÕp¶œ-¾}n¯ïr1;;™Œºn.ŽÄ›ÉW„ç\yZ;©›óç+ϵmæ°†HV‹ª?}ó­ŽQÚ4«Õ¬A4ÈY“¯gg0÷¦T‹32çìß–‹z–BG¾¢9€Sëú>E…„5ˇýju¶ø–’º:©gøxN¡£m2[<™Tƒ™£s%¥"Øns¦\GÍbù$«Iûcržâ3¨ž?sF8ç›åsK|#ËcŠË¿­–ðôälyùïJ]v½ý»Ô--áÆÞØÄIYÿAÑÙìO  åìÈ.ïuÃZ8]S0&›´‚) -ucWT\ øB׺;ÊP÷WVƒî)M'¤N ·‚r|#£é_8nÛ|QÓbP÷ûª†Î¸@^ɹÓáü¹åö¼>DM ~ȹL«2-Ñj—~Kªû}¬ -$â?}vkÎ'oÆ7%b‹î’àz4€N¶ÁÙ½wè."ׯg+  !0 -ÀÐe,¼ÀÄù]FÊ»ÎWMw@aòé‡(¤(£}ØÂÍ'çX!Þ¹´0¢œÈ'úòZz‡«£Î´í»£1èµ=XJŧ²#øøÈ7Ñð_¢>ÔçÖò8¦€}±u=sÑ_ïìîN&Žs‰þ("1ñ_\ÛÚúºHBX’6x@“”Ï’½-*‹c»[7h9ï ºˆæ­ÐÞJCöÑëêä°šý©xÈ÷çš-šQ;ëüãtÊ'óÔ] à€W/N›ñÁx<ôè©ÊÁ³—ewû÷oß¿µཧዋšÃ™ç¥Wÿá!Áâ®Çêé ž†üÅØ˜á@´Ý,é©(â³xíL; @wßâßí{…è 6poì†ôŸj#v'üB5Du€P„mþ]Gà­z¾EyÝÿ*Ê;m1CÚû¦-BÏê¹/ª:!™˜•“nõ÷øÑÑ|Zûãùc±ßa]8?m>þW2ð#„m[SJÆNg¡-¤èãp×óTÑ=ÞÓÁ¡Á€/nÆ£év ìÒk)RCð,õQŽ’¢øR©9mm³{ÉM³F±Õ:¢ß§ÐmbŸ¤öCÈÞCfKãts0FN¨-Óz\Mõ¤Â>ò¤ÎÐx„ë¸êÀ ~x:—é¸aŽJ†§íËFð0t–ŽC°>0$ý–ø= Ò‡>#(‘ؤ(Í„dDÇ›´R¯wúku/ÉtWnýáÓYLƒþm~¼òk´•—ª©•ZÝ¡¾möûìQøX?>ê÷oœ å¡«.+HH†ÓOCÛtobeÕˆÀì!ÎÂe™%)üoÈWš3$§CþâÅc> Q>sâk¯•µ4àH’¼Q:(íQuÄ„æY¤¦Å•%š:¾¤ã^$cG©ðéXž¦î"{‰pvƒ;4§ö´›Ñx:^Î×òê””¦¤ZèZæh±L$̶G#2áZÇÙ‘;¤#MâV§w;)õdØà]œ£Ï¨1ZòÂx哘 Õ-ü~Þ>Ù±×.3$Ç·Mî!)4ȃÉ1€:ûS½æ›©¥P¬yJJ1¥kLùà}» j§ Lf÷ ¸x—x¡te´Âˆï¦¿sáÅöÙ_Á(!köXû²Y±`Õ™|XßGpµ¬œ{úS¡ÉlQ–nÚ/ç糃iã­(ßP±çwœ ÈEÔ¥ðNš*'ý¬‰ç-øLáβrÑ5ÆGw¥•hU€¯;Õîlx«Wí‚þP>ÏìæÝ¡a')m(·â!‡ºœ/©Ê³ÌÔ•Äà ƇY gþVèøõÙì·|_ê(2·ÜK¦Ç¦À9—¼™–jÀKÀ -WWäò|ça´®Q|–®‰Ã­­O®¸0ðÿåõ[àÿîõýÝÝýÉáNgb7a¶=YEØØØê]_vaƒ± ŽÕô‰âC‚ß½õ£ðVàõ+·ü}Š=_ÑLÆÓÓÕKDYª^©ü}Ó÷DÒÿÓ®{(õA÷¦{Ú‰Aßó4Ë1’7oz¬çÅÉxóäO»=Ú—÷%‘½àAâà œHš—.Þ,Ç}J¸y|ûµÍ¯<3¿Ó¿Ú~øÈ‹5&(WNÓ”ö›þ6 8¥yä)ž‡\Å:ŽþÁ x’à®pS/9‘;~º¿Šß|ù¤¤Á[æä Üp1ºñÏtpq¤·}’<ÛáåNgks»³¹W ñ7Q9†Ó£;·×GŸ’Î_y@·ßǧÿÜøgð¾Ó¹Úž¨ßžëùâ¹ÔÞÁjg»ï­m¢#3¯aTCæ…¿á“Ä6èz³ÓÍI­;››²´Óé¾'Œò’ÿÝ®§‹+®î ùÚŠ]7Ÿ´¢‚³âûÄ~€¶M‘yQJŒGß{§Ìù9è’[Êè†$Í ¸ etýþ¶¹‰Ÿi•<øµD?W=ýÿ’ä®]#!<ò¸ÕmX"ôö Xb¾‚”ÏlOéC¤T‡ƒöxßKtå~=½ÿ¨;r¯Ÿ¶™Ä9\ä4Ì¢¸ÒìÛi—Yª}·ýÑÕ‹äjÜÒ|Ûæúî¤~Þt²n1„ò‰(Û‰4Áº{³¢PZèjäBÙ!å>ž°úÇvNÏ7>ðàç±á|¶l9·«ž=o€ŽpîrC§„ì2®Z…¬ñyÞ­Ž-d.¨£ÙB¨_Aì&«.¨L¨WaÓDÜv›h—!€Þõ/÷Ó þÉC¸rå‹[{‡e¾IK¤~¶€ß"sç,-û^t87Õí¯Œä7¬ã›×šÅ #é…2qኒiãqVÓ¯½™·û¬…>ìëʵ?úÊVÕ -íÉU2 ¶âÔÛú¤Ìغ…š£p«‡€jÓë¸U˜àßJ¸UTƒ¢Aõº³ç¶V÷&Ëa§jÖÛ—FB…s­¥³j{¸>¶%æ¼¾ »pž,u ;C/÷H^öJÙË¢¡ÿ“tô÷h~Hž>åÈzöôÕ³—§óé0sÒ+ðìÙË×/_¿}õîÝk°ß p޼x-Z@úÀðŒˆ´ÚÝ¢, ªuï—këDiA1®1å >—þÅg d ္X^B->gUÍÿ„ €GCÀ-öº¿¾å$Áð'œ£œxåh€¯Sz,â“§IÇ÷žvœ™EY°×#ËÐHýÛ÷¯=7ù• þ^=[bêÏ=ÂܦPС¢N-?ztÚÊùÇtÜ<üè³l ûUztþfõíŸß,ŸxHTóº_Û5o£3¥ùkV§Xaø_®Î¾=;£µMëúESÿá|µ|Ô,M}@ÅY­¦Õý“e5¶‘Ñv¾;ª&‹ÅÍ…>n˜QS1]j¼\e¬ÓÎe»æí÷¬ë‡M3'ŽjtP­Þ<þç7gD\O›?µ£±S{ýå®Â¡Y-a²™yèùrõÆ‘ ûêê9WççËyóx±|ˆ‘ö‡ÕêÖ¤08hÜAON;oNl i–VÍÒáìÍŸtsž•%£’ºqïv}½zî€A]{€XkðìiQc©HÐÃf +DÐ,šüƵí¡Q=irªZ5üªs·n¦ÖÃÔu‘‰ÿ©FºþM--þÃ?è¿‚Ùçç¼]UNÚóÕ“åî!Œo¢÷‡Õó{rþæÛfy†´›¥gÈ!~˜|$Ôè -€°hþ?‡´ØÏi¯ˆÕB2ý¦ï¹³í¡b -Ž<y4ªq[9DAF(:r[qy¶zóÆñ ²wµzî?^‡ÍÝŸž¿y~þço‹3c¢É8tê,k®šoÈ׿!q¾ü…nzßCÛ¦(ÓêŒÉ“e}°Ý«êGd }J˜ÝRCx9‘mz-ñËþt¾\ž‘¯)t0÷äŒ<\4Íb2D™ø!]‘µù?øëŽÌ¢²g?òÀ§È&Œ E]¡væîiù×-.Nh9D€¢‚£3OÞ뎞è¹…Ã~Œ¶AWN–µ~{N§dß¿$AZŒ–úÃYCˆXtH6±SyŒ«®¿é{b`ûpªÍ0ÌVEY…óÉÊÉ\æÝ˜ûÊ]á¼æeá¼±&¡YpӒچϭ -|‡sMíQ]zæå\@LÀÃÛf wÈËÝžg䎙ø… ˆÉüÅ•+[»vbÎe;æ.…óÉìx²8éŽ1ÅÅhÛ‹¾BGAx8ê@ë”E&9ÙhÑow )óô«E£p~Œ ,F”k™=ÊÁЋrA \TCs>ÈÜÈÆ(c73ìW—ª|þÅ[½]qýŸ½án5éxìw&²˜‹Úßi{¶Ð‰Z tìÛQS5ÜõÛŠÔ| -»pÞÖÚê°™öôrÁy’%ç).á|8¨šÉ¾R[—ÕxIÿ4Ù>üä_ív?ûãèÅ˧ÜìB%ÈAAìv Ì°à†q Ò~öïßÿ%€ª“8¨V%¢ T‹²xaY¼.ÈŒZ€_î MðÅÝ‚À7¸ì—ûjydØ{¬ŸÿÅsºˆÄÛ8ãQϸFEñý¨ -µ‹@¤tà¤/ü†-5†tF.¬~5LSTB)*€„F„ùïŠN÷sœßã€Çõã§/=_é1ÊÔã§4šæG(¦£™«®>òßÔîã·\Í«7Η§õ -úI6¹¬Í劚úÉt|üÄ!ÿÙ 7)™-ΚYŽÝ¶Õs×bî:JšuÜ\—ŠîšK4rZ!gúà¼ç!ý©BBãÌÑkªè!µÅèh9©Ëóæ›ó'<£c‡$ˆçÊœtÐøÃéC+nÊxdZ–$éŒWhø=¥•”ºM¶Ì™4pŠŽSx4'j-V¼Ïešìnýfv\•ÖŒľ<YÕ†·ª‡U¯F|°¿¿w«—EÀ™g—‡]±új‡èÓ@ñ¨FZLª²ß®¤ÂÐßì¡&õ†®Sl©´ÜVZã Ò„ìtØ_ãfÒp¾¶h“¬ŠL–§ãé¿k9# -,4‘»(—ì@µó‹*Zi'6 \ç5î oq6{€äÖã†ÂVוÔTœ.ì:@ ¬pÖÀauœÑòmU³4Ó@,1EŒÊóa˜;ŸRè"é&ä5­Ñ}½4Ñ@ë~½¤Ðá 9#¥ãzöÇ²Ò ™‘1›~çö“x±\I6Š„§² ÌuGç‰|%Ï,&f+|yMè°È¯@ÑD@WæóúáñüïÿõGEú°‰¼cY!y4 -¤YRÕL·K<ÙèÞ)}ÆÏxHþÈýxè*ù’ÓYšp²3*›H…¨ûù½™ú‡¦¿ÓnJC܉Y¤Gé"ˆ—Àƒ¡ Wq|8èÅ6œ»††L ¼QÒüûÈ1“íêÜÐ}—’á»Ìôu%$™_sn£±ì÷_\”Ñ(Æè·ãæÔá"™-ˆÅËÅŒ¦ðƒl;à¶zÀÿLP¼åÏèª9W“&˜6(“H-«p® ”`Sï¸ã)Qèp¡T"ó"tپؔªDI;tm™Ö4*#EjÒhäÖ":Ò[™›µSAuu¦\#T)î¨Ñ7ç”òöµ[í€Ï¿^ß½ž±Ž[(®è¸xêb&«+…¶6®:Ðþÿñd €0÷+JÚj˜]¸ÚâÄïe™“SŸe-µ¥!ƒ‡ážUä¼!?"Åø,±ü=JÇÚOÑtŠ1úhn/€=Öv[ÏçG¿9Bp^€9 À5oX¾e;`GÃ÷ ?˜ù]¦’g¦ï‰®Ú ªx+Ûaï¼ÁZÒ¼Ç Gbçó,&n¼V;¼ß ÙÜù (E 0¢ü+_ Ë×2ý hOp龇“tí>Ú*Kt‡þã¯úóÆ7[øw)#š‹¨ÿ~ùxm*í øîméxûþÝkü½zéi -Ho~”Ó¹ã&]B™ÎZIÿ-YÿF6ÄÁ‰zf5n³3^,G,œÙƒ'ÿ¸99>®gÏ= þü¦Ö÷×Û¡QÙ‰š¢”±HL2ËOECët4Ö]`otm”µÑÚK9Ë-¿¶3Á’©Ý““¥1µd–yì…T=䎶µ»<á»9w_ózòûÌ­ý8 ; -@[e©v¦òi7øÄgtý¥¼ß›vGÊ]ª)_Y1@ìr§Öîr½Žo“‰{öî[#SGZ"=u½Êíìu]Ô¤fª,e› „’ª‡*·°|<³n=zË÷oEtëVÛJ=¬ú™ªRqâW‹3óÙùÒÈs3=l>™“ßɤÄòÒà: ¡êõÄþj¶4gÜê|=;)›TxÂJÀö#ùªªc *ŠÎô@­À·Mì#=Ô’V„-YÎꪫF¤¶†Vø±B—°Ž§äëñƒÉÉs—žÒ”k—þ‹ËøÚ" -€}Jv„B¤·Óû:bUãQrD#¬ô´êŒÕ\þ¡ÈÐ{^š’ûüCrµžåòÅü ™â¦Òl€–K™ ÇòšvÚ˜iÖønŠe½êŽÚydi^¯¸û@óË=‡÷ =³ÚKð¶èBòhÎá‡Øý.øOÉ«=³GÒN½H½QnM„ê›sÇ}7“`QÝ%há}Æ2 -_÷xƒô’„7ýó‚z’¹Q˜ºDõ8 -@Éüª °a;¯ÃŠÐQ8l¨pÖ5—\áïS€ëÃrÐçI L=¡õX4õžG‰²$\ÎK™³‰*|ù²2ŸLh*Î/Z8ÿ¹ - Œ“]EæÖŽÒ½`ˇ%½´òÓP%þ$mTÝw·LäÊ[Hkwëó+Ÿ ¸Ãß—s8Ö¦ª®]ãKÀ°÷µÊÏæÖõ/·þû—_–•8ï1Bh ª¦Ru±I•9ÆÆz¦7ÑÅ‹œÁÀ7õÂùœÃùߣpóSd¸%ÐÆGGsû²ŽÒ1’Ù-pîq@þ9è ô¿{÷° –Nu!VÜÄbŽR ”Ûþªˆ³|¢ -Ôâr4ƒ¸éÑú ðŽŽº{hŠÀv"ˆÓPÛá£ãQ: t%”' ¥K QÜÉfÜ Êž AÞ{Ÿq ’G&ƇÑdÄÿ¿DåAûÿ_¿Uhvø?}zúT´ŸŽÇ#$Ø<ª`åÄ©ƒø&þYÒ>NäëaÝŒ´ƒRy0lÍåu6SS™¼> b°Í߯ô‡þÛ¬Õk¡´rßK2 5¥ŒR¤m -ÊeRk•#÷ÅN_ÖðOɵð^L6j¦ýÙìÁñoqàåá]tu‚^¯h•·ñXŠXsøX8¡Û±X·›=[Wyx:¨ë=õÝh'V‘¶!¨Ý Þ6ƒë réV­M!¾Õ HWL\»þænÇ©·nèOr2)‡ßPÿ6©¢>z]54Ϩ¾h0Ù?|€(y§—ý;B -À„@‘L©/kÑ­Ú‘ËÚùéwŠ˜K“Nø,¼·ê¸ß÷6*›ª•˜“NÏ -ŽìVU­K5¹Ë^¥)ÝþàøGtä„«ºB˓נHå<$ïCk= t$ùV‹i_<¤ù³6¦õAë6Y0QkªäëƒÅ™êAÍþ¸X,RˆHCiçj€]·ýú6É£aÔ3Ù{&žþë›n2‚ÿÎq3Ña­eîGt¥í ø»t0=wV£]Wza’ä˜ñŠÁ‘Õ;Úx.SàÔ’©y­—BXµW¾éµU6óÈü05÷±®íÒ¢`ºó`dRÚÊwéGjGy›v}^<ØÓ€ºQ/Ç£èD'Ôípž#"!e“ \ÌNÎáÜ=™cF‡ä¼ ¾«ãÛ¢s÷Ýâs5*;(~ÆVÃÄœq®êf:ç‚,‡.¡Uo»¨â~‡Š°¿K&sóeé¶6®|¹7p?—iß²y¾6ŠeZV§»í”-ô>ð¯Mk[F PÌl¬·06ô”kž -aˆO~·š=;û£þÿßgôÕ©CÚ$͸[§Ë?e_ ÀM@ˆ?•—6$0VÒƒ‰ŠÁÙkVÛ9A"Db}{Nù°îd§7Ýww]˜kjTÇ}˜D©3ì¹G ïìcðfªA¿ŸMâÍú‹ˆöû›é$A7B^1v¸øµktÎAÉÈ'áã„PЯHL‚K[(åOU­(D˜¬i‡Âá® ‡² ìÞjz;¦h2ù½&9¿ 7^\–žš„TÕÓþA‘¤q©9¥`°¦y"”y²ª+·9ùøqC©‹'´Îû;å¶Ð¹cùúôrËdÐèl¿rûãâfË'Q£H2jÙ«{tÇ´„ÍøuïKï}È·;K‚ô~Xí .R¼pHö†Ê/¹Ÿ}Ú9Íè -Mß?¤ƒ7,ÈÄš“o]ñè|'µ8Ö{|¬¢œV£Î/ËÕ‰<[Ÿ¯œˆ°rvLÈqˆt6 ÕèðÏýÓ¥+ ûüùr_\ûúúѨŸ ¨z$ O¸rصž¯–ó£ÚY.É·ºjç‰ðö¼žÖ¸ÎëñÁ;;âä œ7g…ó ¥»¥ýêM=êŽj—v6²NÒþçgOa…¦ðQÉ9íÊâùÙ™ -Hô¼F%'óóåŸ~Ày¬ÇÓþ}ÃÌÍÒQ"~ó¨Z",4~ÙâqØ«*ªŠxÇ]«|â€/žêse>ƒ1å¾€cBs4Î*d¿rý¬œ#óVè±V,v[f¢ºÅxªÁÒ0îMx}$ò"z¤©tµ¤€÷¾¸òù_ºÐîî•ß6a2Ù«zÝÞÐA)‹¦ïÃtCÑšï´ -ÌR|iÂä–F§^öáœD£Ñ¹&:ÜÎ2bŸNGóšâÎeÊ·÷‰tùÔkDbåO)ªGËœ$çïï³+çïWò{õ³ÏȹÍkèƒáxú¨vàôé³SÜLàãÔ÷wo¿‡à¤ø23îûœ ,â -“ &ßéø/ fk\SU[ðø×ZÏ ÈÜÕUךÛc÷tà¦æÓ_O ±ÿÿú—qñeøà»úa¤Á¨ø]wúk=“(‚ĉ`yËÞSÁ—I"¼î>ïÞ¾UÎ|ý6þ=÷ïñÓÓGsŠÙp4 l^Û¸Ê߯•+W¯HéûÑŸ…çïÐb¤prL+I iW‘Q6ÚŸìßJ#>êŸP¡f³ÿ¹ø#°ÛìÙ@ñ(¹ùg»õ—ÙÓÇqgÔŽj t³FDÂ^(f/OPÏ]õ@DÓi·;‡?®DŸCĦ}Æ­M¢;Ø6ÔnK*Ñè§|Ã5‰Hœ÷[?BZ®º}8/Cÿj @OyÉuùM¿¹1-Ì%͘4• 7á»Ûk—t¬ikÇÁmÉÏ$š6š¼­žš£¬Ë6_d© =Þ”èn5—V—B¹'òMÔÈ\«Ì—«ÁͧÍ}|,ÏUõ›"ôP‘ùhú›íßÎy;æqäJú®Oi¥®ÌH¶dËÐU1Üßýí¹Ü&o» -@Æý}$ê~§Óëíô¿Úv5†^¬).Ô}ôC!§˜wzY]¤Im -ˆ¿}ªæTءĸª»¥ƒÂût™Ëоä¼Mñ¬9ô¿P¢tlhãäŠ)ù{ú9tõ“Ï6­£Ó£Góyãæ§îu/þ»CàÛ·ïìp ƒÿ|i2‹ïÞÇ”ç?Ø) -Ä‚ot ¬ö6N-È ïBq âÀ¯„ý<4¬ ° i  3¿Qðâ[\À‰ Í»|bÝÈ®‹¯ié‰ÐOÐež€—zS9ø þ‡J—F‰öû÷¦†‡vcÀýî„,ø~ýÒU€žús*þ;Þ?ô:„VžŸÒ²}”hí'/GÙž£ëN­kÛ?µIŠ7=ž.ÆGÇò·M1í~Û÷eÛ¥¸VÆö -:Kk7·ÁAlç[½[nh?¼6®A#ÌQw ÔªÞ‡ÌyÈwÓmO,šæ°‡áRbm¿6Ó.ºÈdvìÞÄxçãžîÎmÒ_éo­GOU¹ ôPP)G%°„FÜ\ÑJÚëŽ †<=>aÍðLO½=ìµD°ÖâÆƒ2z®`²ö÷s²0@„ï@Äá)§éǰ0kœåtõ–öö³û@kÌ64ÏÔˆ×òíyòRbðîÆT­übAõûˆñA4}A{¿V݀܋©¼\÷иEcúíäÞäþå“ǤE_£ºèÙ¡Õt[`[#ÇOBdš›   v9êy–繤®Ë!2ÙQ‡È%ËJ¾Æ/T¼Áp­4{à9ÂøwÆn¤È.Hò°³}÷BLp¦¸ÕÞ^'Qµ3ª€¨µsø†‰5ÂY¸ãKŸzÿ!]¡Yü‡tóæz¡äh{»{ÓE—7ovnìlß¼±Ýíîl»Pt;«³$ÓU£…:òlw}T^§-îÞ¤Yæöfו¥YÜHdñ¼~íÆÍî¯nø¤¼ݼ¹ãPëçÆvÁ^f± ¦{óÆÇ8ïód§³íRÊðyƒH¼éäåšmüu»p޳aeÉ%q—¥šºDxê„ó|ËÔßüÛöaº~8 9KØÐööææÕ«›ü]Ýô²ôgn\ņý×ôÙfíã5ɹ²âÓݾ©Ìå+^p~q&!ˆÌ;|vH0·0™„e†µt£ÄSV%ë‘zÉý…Ÿ_Ý Àâ\ȼ»±Ã ¤ÞÒÎf±ß®®ÿòéêKºM3R¸¶}íÚµ6Àk¤^Ÿý×Ï>ÛàqçêU|”Ä×𨱄­RRäß|¼Äù7rNjðæ’ôd9ºù«íoH”ùØ’å»CŽñÚOüí”Tü]úäÊ•O¯|úÙÆÆµNu¢ÏN³°¿zñÒ€—¯ÁÿWïß¾Õèöù€®Â´–²ˆ\àSÌÄÖö^^ã=Ø®5¬ª¨å/|9oA¼6’A÷òðÇ0TXþ×T€_û=Ý:BHç :Ñë–·¸H0rƒ¹Ìó¨ Aˆ±ú½6…Nxàóþõ{w´ûÿµ›½8wíä³ÓÇHìèèh<èÓÊ©4"Ï âò?ú¿Ò¶b?"ÛXZ»&=åèʶI¼h‹×-øùø‹lmMÿ¼âny©mN›‹ù¥û E`Ç<Û¡*¬N·¯´kÛèj»À’L/i­ ,üiÓª€â6û˜[s—F[q¶xÓüÖ“~wÁo-°//– ;p18¦Ó’– #õÁ”(Ù + -A9LßEqµG)«Ñµ¾g€íö«c…j†:ÓO³W@Û„9€„‰ü“{è8*„9ïD»CQß]‘ÜÏmà¶Ûžµä® ŠN…Ag‡ïLú œ{¸@ù µZÎÒå¶îïDŽê°tÇ -ç\ Yq¨Ëþb§G -3<ñ ;K3žŠæ °² ’Èw"ü º½’+w i* -­äƒèbl46Ã_Mof怹·öTÕóHY…ïÅ®ñ,{JÝlñ[ü£¦òö1ÌÙq${û¨0¾Ý¦kê÷:n“wxrÚ°7ƒ7Žëœ?K»( -2¥nâ'eýGt¥õù©yDG¥ïøá´žÖÏ¿9zZO]!‰YŠˆ…û´£{bYi¦UGK×[ÖÓûS¾¦ÛÚ§U½\žŸ—ÁÕùyóhêzHžÚÍlGó»:¶[ñ<úçQÕð ! <•ŲÎ;8ª’Æ®ydWîÜN_sÏ0R2V—Úõ´|Û—]7ç¿9x‘`07ì{¨NËb%F8éèJÑ9œ“iÓéÍoÂLç…ïÕËóÓæÈQ ã!p‘¾bubqnŒåOrƒ \­Jî«ævÜ0,Uƒ¼öÌ;òýË­­_n mûØÂ/lbûʹ+{šÕ£îySb‚Æc7)FÛ‡s„>œVÝ^3îõÑÔ-Â.s+Éû4-®†1«‘‚£†¤Cº™öÿù.~Ì*“=äãÀC]aªª9¶vr¤tµËд^ÕS{ri·yýhù8˳´¯ÿYÕûòkJs¨ßOMTZþÄÑšnm¹oè0g&û;nE‚¥>_®ž.—OV«]Y˜”§Lµ2¯Í085_ÍçýÉM}¶æ¼ðx‰sj<EÉBÇJ ^ΧdÛOÿý¼€lx°¹aÎŽ]è"W>{ùêu¦d€û¿ ¿ûž+p‘O RûÚùz@©°-âÆö°S¿°ÐÛ'â¯ë>\á(t{/ü·B¹˜£Eð²A¨‹Ÿ¿À¹Úƒï'¨_üGÛ;!Î—Ç Z\7’§CF,ÓQ|]õ%þ–{ßÀ A¼}÷úí+¡ä%º€»'<Φÿ5 -À¨?Øé ºBÕŠðøýé•¶Mÿ™ï~ºöÐⶸdûÅO £æ|ÿ|ck8q‹ñãp~rV¨KþpùC¸¸¬±šRsË -’É3‘¤žèNªîÁ}dÕörI-çÍòIËù‰ó6–ç½{8'ÝÇ«åÁ„\>ÉdZD3™Ÿ,ÿäÎ -O›Áö}$ÎOÎVJ¦¸¼@­ h}¶hNfTÊ-÷غ޻þ™cY|äA9¦î¢+ø³g-\×·¾¶8דa§3tnÖž¦@ÚÜsðÜÝ?=\ý©99=çæAó4Më³?û(+ÎO!Õ³æ!)ƒïR*–˪~ºÝìßoÎÉ/JôÙÙó\œŸ šýª7ÿ/`äÏ/®\ÝØD×qÀüÑéüqsúØMbügh§ -à"xÈ5ñ‚&Hd]C§æºOì®Ëýˆÿ6zƒœñÜkg*(- »Ÿ€^ Zy˜ 3Ì8óBÞðÞéí9PŸH"º ­eC|wòâ:”lôÕ¡'8uÿ×À/Û‰L®ËÂÇwî†ìZ%QÈ!’—î¢x:/놃ÁN;æÓO#äO#å§Uû•†Œí«þq{\&–YÍ&Mc9jÛbZÈÙrt;¬mŠ…XÞœ ÚZ¹t™Ó×6^4»Âb¯WûÕ!Å€ëß­‡_i‘æœ Me¤E°Ö -ègUg’ƒJK³’J1i(êÔß :Ÿvë'0÷ÇÙoUJd›,æ¥Bͨ½nI › lÝŽ’!Þí'áMÝ?‰!‰þ1¶aðÞä^ÒŒ¿áv¿gµÜÓ‡oºL1´‡ñ‰~<Ú΂<»ÿ¡½;wâÍi„Á÷ÐÐ}‘Á•ghí¤5<äq8A¨ª{;¶ ëÁ»ì -ÊÇ=ߎd«0d>@q°ãำƒUÔ&ÑMÒ_ÝbCc¬ú&sŠN×ÒàWSJ‰:óŸàKÛC#Õɶ; -†ÝW×¥®™Þtf^°7^Œ«PÍW<—üÓtÇsª(t™\ïIÌR¦/š Òç. -Àíݳўœ6ž{‡ -P¶W¨väëÍ»)J­¢*sd|¸k5ÓÏì˜Rà -Ýk™î€ÀØ"ôC -…Œ;¹xCëô%iê)ßãfÔ™þÙS#—"CÑ)í©uÕ}WÇB%‡éðq¿ûé‹÷ &Ò±çîƒý𯃛£c7ººL*nZ©HÀûáˆnêf|î•âÄ·{æS™§üòêNW¦îGÔrží8 ’,„ÁU}箋Ð=ù¬€ð>«ÑëšÞÕNé‚#×Ý$¯w¢Ý£}»ò)Â+o¯3¡"BÚlõ6åÀ‰Ô5Œ“ì'RtÇ–óÅ´?zz¬Ÿ°›czKûç´q$:Aû"¤ jñ¹². Duç\–žbZ½©DÒÉŒq„Ê;üT»_’®¶5ü²,°âÖ²kÃdd€«œ(p‹*·³SS±G‘Á®—þ'²²941M:ý+¢¿qk xm9Own8or`ÄrÜéOQ`ÞŠçhª_ â§ °ùôÉ•O±ñÅÆÖµÁh<>zô¨yôè‘«^o¯ÜÜÞ _ºøí­û¾Cxûž ±2_þ\ ¦YW´ûƒïAV0Ø'\Ùó.ªû.Nª@éôféÊ_‹Ë8¬•„2§­$ÐDdzùÁPõœÎü¿|ï&ÀÑZðlÏtâ"jMQäìW™yÿ½ÿïø¼§^¿ý‚äÆÿŸžžÖÓ£é‘S±œxM ÉŠõåóÃoþJ”’ý£®‡gÐ*™óD|O’×¥el=Žº43™\w<{ð[ŠJ);m}Ï<®ûMÿ`Ýáî}ßd" ³¨G• ŠÙ³W÷£.74…Vˆ`] Ðh)Ê\5›¨WæJM&äAGÝêy³ð¼µãj2mSÜj'€<´$mn)Û‚Ys2O‚¿qÁ±ÆUqƒ¨~ºFÐ#LÀð^5¼–Cއ»‡{©³&bg õRu}8¬ú×úHøøçÎîm{¾¥ao§@¿g|ß*KÛGmhi¥ÃÞ¸LÆ•ž…5õwÐNÒ+àC½,²]QÒj'$«Ó©f¿Y÷ïí¡¸Ú@'G l²ÌAO—HÀÊl@eMÈ;{(õ‰gÇWKdYd K‘ñëØÍ‘ìËG-rØ '—¢¿í_=ºY?ouÎLNHoÖ=Oy²¤Zíd@‘!õú·§˜ì]'n)×—vÖ•,!²ræˆô#ô³‡Òª·Ë“˜Ú-”to‹µd“lšTMYuCƒå2^Õ«ª3u ùB÷l°[ -ª‹ÅRëêr­4às‰4ñ`%°E?ž­UæQ“F®ç/mûõ|I:¡ÎÏæâbû¨}6©@ù¥beݘÊË}«Ì…F¡ßòKêxÍèªð~a1”Ô´I/âw4Ï_ˉßÔùaMq?¶ÀŒýÝ0»~¹ñéÆ'´n[½Ây!ß:lFæ¹D÷ôƒêN|²%ç©ÐmCã—õìeØ5ΑFá\±|ȉ0_§×Å'ê$’:YU˜_¶GSTEØò샌 žØvÿûç¥g¼·ñ_¶vI[¶ø+½¥ IÅFæ´¥9 é—NDØ«v:Õ£’UŸ›"t9¾gÔ¶RbÜú¡ñh|ÀRKÑÔ]ôQÝègöu+Ú”–ãKœ”‚ñÚœû&… ÑÕO¯n¸S÷Î`0žÖžà2À% -À³¯4r_bó¾ô0€×Xÿ¢¸Š ËXü½Ðwîpš~xщ¢oÖ èOĵC_¸ ¶QDw\[ €§Atq™!¹‹OëÀ?OÔZ}" -‚cøê <ú'ð9ÃO €¨Ð Z°‡ƒi‚‘Cõ YÉ”#å-$Ðku ¸‘ׯ_¿tf$êÑ3§>~tä¾ÊÓLñuûö¨¿h»YŠÑùû§w1)^3꯬nG&æX¬’ÂÉêˆà¡©GýÚö–X8Í/ífrŠÚÙØÜé4!âŠ@q¤8· ´%;„Ûÿjp_‡~`Æf:}P™(`L;MaÅÕ9jãÄÅ;C:Õõ°[aNÞ(¬>KX!˜¹¿Â0h«BK™Ôœ«RwÂaüuV<ÏÃö™* - ¦ìUÛƒc~ÁSwê ÀlJz­½Uo»—uºûûb?~|Jõv 5UîX¦ôz,wÊ(¾ôîm!ª7¨mð?$‡ù#Á0Üôûh0DZÛz´³ø÷«=g@9ÿæ†-Ú Iù#ˆ’§éh q3%_Õ÷ö«?~¤õþmÜ×Íp;Èq™JIjóÏBWÝ\&ê{A ú¡ÐÒ묠ÌDÌä¿øHf\à?Ðví×á‘E­ÂDÜQJr“ŒòapjŒJ±=˜_ôì* _yÛäчÿáßX%I¦EÑæ(6Ë~¿t“·4‘9Ä‘xJö€Þj#ÔÔK»ã»/_{™·|‡ÐbJ·®þ"—êŒ^R1[\h¿…L‡ Ñ nŽNŠ -ÑR™&Sj.<ò®®m.`кóµ±2£ÈA"Ãw¸¥â¶¬;¸~2Ú•Cô!KÑëp®TêjªùÙ:Ç'yŠn‡õIÉÝQA-2õ~EÑ_ö®RÚ)¶©âÿõ/±±šQö¥“<³|£­ð“s5sYh<Ží€¤åk9Ï´ÿ:+jZæ­J†²æ±pžþ,8]Ëü‚óþà8›%.<>Záò%EDÞl¸¿ô(×e_§1‚ñ¹µàóáµ+[éá/›†lg¨ÁHSŽ{[¿tÝ׿f9– ›©ØôØKp™ ÚNM8¼¡¼µfÝ [8wÌåüÍf‹I=D¡ìL?èPø4ÍÍàÎG¾FŸº}ãºKÏcwš—³€œæ&9 ýÞÿ÷v€Š¢¥h¬Ù 0?Åt¿…SÜQAV´¢!±[4†\Fè­®¢µ_@ÿ’B—t6€x*Cº´¯6‘ Çá®â]UC [ÂTEÉ­Ñø‚âs¹Í{&ë»ïÜýèzøï‘n†àJ€WêFžü«ðÈuõtjÝë¡”N€«Ÿº*F£_aGÔßënžQZ¾z1j÷ëšE…Lo¤ ¤ާãYuàAê\šºzBXûj «a°´Ñ5Ó\¤‚Q„×=Z)Ñ¡Å~ýU¿áv‡÷‹oü§ g ÍÁYµ}šBg}¢­× tPéÓÏçR߀ä,MY’p‰Áz5êþ -–„X »a¶®Óî`iãH5ÖH°Ži‚¨g;U€Ü­†×úµŽ»Ã/{׿t^@{Ôyvüa©ªlöE"^¹S¬ÿüE$kàVÕ»ÚowÒÂÉq‘‚þ¡ô™H‘Ü­j·ê\«nçÔŽ².¤^áv! :R<¬û;Káo–§d ¬ë :!$Ê+ž;}ÔÞð!íJ­À&YBâ—ÝaY€~AeÅÈ=`öUó.ˆt°]Ímv͵MfÉŒ6{Üj­ã~~Õ½1m¾¶¹…?ÛW·Ÿ=À–‹¢ú(«Ds-öÔè=w_B<·{½/[ü)2û$C¿9ˆ­ç±ì…ø%LŠ0"s)Ù? +xøÇ *ɳÇ?÷“zÕï_ª%exÀWnAûÈ>À¨ûm\>«ÍŽÛtø#+”ýÃû¼Œ*“çB©«ƒÊ‘É¢¡Ý×–Ó/Õ”K[t‹¢tµ†ò7‘ùÂ)ù'uAï©.;—â»õ¿HÈ[…™Þ=¹‘ïÕõZ‘ *Rçr—Y—9‡€¸4žÅ—ôEé9Üw˜dŸÒZG7N­¢–yb>ðÿÅŸ¹¡M¹…_WHEÐ÷þ<íZ[²£?…_|Ëk‘ùšõqÕ¡|àÊ«0ÎQŠò¸l#u‘¼!°,†ne.+îI‰VKwOŒ÷ ¡—fÈ)spu«Ý p£·õ -€\UµÔÛ¡›éÝÎVÀŸ;àÆ#uçÚE_FÊÏ‘óüøå®$/©Òeà¼/ñDÈÿA/@½¢Á£¤l£.êgÍxËù…ÏÐLŒÿ$Hÿão>¿øócãŒïÀ¬›«8ðôåÓ—Üë¬tÀÛwåÀì|Ô¦!cí ýàfÐX¼õ¹žjsÅý>ªœ4äj½îy·üVð\”Ö¡ÜòS¬|% -Ã~ïZ€¼¨I¯ŽÀo8Ë }Ñ@ø– £4àôVànåÍT9–AÂ\öÿx{T€·oÝéý;5·P&/ž>Fxzzz:ôh~”YýA¿·³s­= [1Y«8Þ’ëŸ^`¹ÕÓR¤Ò9`èœ{³û;YÚ¦PèÌWrV^÷÷ÛB÷!_ÑëJ¾vÜX./ú´¬À,Í¡)¦ŒíW§ýΰ²íÛ=þûV6RJáó:->IQpæÇº -2„;)ç³üˆ~ÖVÀ @Ó¼¶äz‡(šú›ËТ”ìS"yø hI2GUö‰ò镸–Äüð’Á&üûàÐÝò Ó6u:ð¾D¯IWjÁÈm}H9U$=ÕmÕÈæMn ½ÔòT4èpU-.O™‘Iñå^é °Ž´;Ýe²% 4:ëí¢Öˆ{Q÷b¢òù8ªJÜâØ©~D&8ðñFæ&“ń̫ú›·­z© ×Ý×ã€Üxpq@µ(%W‡îù]K)SðCزã5ºŒåáç;Ù"ÄÇ)±kCm„Â(—XI’ùÎûöd‡ZW„N -ÀÔÙŸìOE ìBÄž¤]„I†&û»ö|²±õùð—m@¦´“ÔÔu'ÛNÚúMá¿C)¯;Û©ª©\¬ú¿D6¯c’s/TNu#oÕÕRÌx%9Þ6C0W–>KzÌ_ÎíOÓà)P/þüí7Ÿ«*9×®uzv 飩[¹ ðÙSÍÿ—vv¿ÌÊ7¬` ÀM5ÿß¿ÿþ¸/zkëÛ›¿ü‡ÃçÜFO[dÍ €_@:È®Í]ô Õôí 3¢¹o;ÆÀ‹q³?§÷&ÄÀ{ñ“‹¨ 4>ˆ ˜wc®.†üÇKv5nMÿ¼¢“ýëþŽÒÿï…*€KÉËWÏ^<}ñtõ,ËÑ›<ØP\ó´µµqmã³HÙ¿ ráS?¹þôÙtìc”L¯›i¿Ý^Œâ¿O똲 -Yü“ï9  m*ò˜OêD)É~qýÊÀʛÒ>Õ«:íƒOA¨K›Ü¸–qÙñ¢Ø²!^C' œ¤š9 :ŸëðÃ40ƒO¡”aËk½Ô÷’Ìé¥þö{9vyÚî jÿåÁm#ÇÅAéæÓ_–UPË긳åR†kx-Jˆì¨$°.¦:»/€Œç2w©º6\R}ÅÝDÿ A´Æý­ÝáUÜÚQÝÞ¯ý‘|îÚÀÖŸDˆõÎæ¨Ü¬]eoß} ©Ô™ÌçÀ l¾³ïn‹»`|4€Œ¤òV6B¤»U§s\vvwó®bˆ6À+”¥“ 9°jØÎ+ -© ‡wl>k!ìBtÚ¸qœÔ'Íì8›3‘gU÷<Ùg¡Cël3|5óÀË¡í“dÐ=þÚR–é¢} ¯éuä•ÌEe!BôzInÒ›GK:9÷©ô¿5š&‡MƒÙ¦†kÌC?K ]móØÖɳv/ŒQ"3Ò\ÛÕNIÃ!;fZÀ”¢¾èàFŠúU%bH‡)þâV DvÊLÅ&9þ±êœ.áÃãYó­¢lÙ#Ähdûвo­eLàƒ=á<¹ Îòª¹_Nn9—ÙéèF{úŸILIȆ³-šƒÐIh•J]À Œj’ÕðÔ’UwëßÓm«a¯lšßjׯç0 /¾ØÚøâóÏ?ݸ²ñ宨Æ[‰DÒ¸à\é ÜÀÁ¡Ç`އ™›T*u§ãn×…nh |"ì¼_iµ*/GÊÜ*fŒÈ<Ê×<.R—=ÏfÏ›j¸¨;MÃëIºk„6 À/·Þ·àÓ+Ÿllô6íà?CŠnóÓPxcX~!„²ð°s ÃÁ'¡@Ѭ W#,3 -ˆ·‡“c'tÉy:]`bfJÚË -¡Ó zžGÜ q U˜¼ùiª Ì|¾ùjÚk¯|öÉÕØÿ[KÏx|tôȳ€Ý èÙ³g/Ÿÿ»î}÷Úó€^c§P:ÿÅ`á2;é¼Ï¿è)æú8  ÉúÔÒöŒ=Ü4Î}G«û½{óØÀ#Çpñe1;ýïU -4ì ·ýÁ Q´nó>ü‡)Bv1"®ï]€'\îj)NP߀q.Ô ø÷Þ®C“«|½~KrÑ}ò‡âS6.sžžzŠ‚Gÿ¹•—çžØ°I™àGäþúúWœAõq2÷ëz:hŠ6N9™yyTY]tZk‘ç£>Õ–"wŸÛ2µ„´ïÃÚÍgx´nªPW°sÝX–nJéô+T˜¯ÝýºOÁî€3Šîd2;±§É¢GÈÝU4g¢–:{ÊYE‹°’vÖ£¿a6¾K8…‰5£÷›q™ð¡©È¿-š _4}ÒÄ3XšqÛf»ÒV{ªµ—ÝuQLÈpÛó{Ò›¿uÝ&*@+š+ÞL¿?Zº#jºû8]ÿåß— êÖUR§ö¯tލ4ñj‰$> aÙß®5ÿ3H …s:OPOl=µõi:›}àCA ÙáîÚF®0;šNg}RÐÞ®êJZø–ÿVvv:ï번ÝØlàò’CÑz¸=wþg¨´²i2gÍb1{)r4ÄÝóu¾ZètLÆ![RPŠØ¡ -€(G fl88·H98:5Ýkå¶%åiËUzÕ£ÆÖ½ZÝ7ÿvÄ.b?Îú–ÂÂèg)ãÀ¾±ÉÒY1¦Qq•Ò¤™Ÿ†xÑ -ò0‚#{%Pe¼«%ƒä§€‡ÁÛŒs)Wáw5?˜¶³Øð"#.£Äþ皊þ¿xA©êÛº£ÅZàúçÆC¦4ƒ2bæ¬r¸„s8´:{9[ º#çæ° -Õ]¿þ9×k.ü>M’W.8÷Ì"k€i¶NåM'ü¯÷'g.~ٌƗÜ]÷¤óæsW2aµÑ=¿§Ù7¸EµŠ¬°;3–!ãÔèò¤®:];¾/HfËÂð†u2 J@|Ï–ƒƒÖ|Gèyæ,iDz¾œTÓm·‡ÖJyÔDyÑüâ˜Ó°µueó–à.¶¯ÇoНä$®—|®}u›šž‡R,,) Ù"J‡Œ l*!ªW£õœnʼI‚ÌŸ=§^vGY›¡w - L¦X”~‚±õÓ÷l7@Áž‹‹@RáülSjлœÍ–U§O?}ù;÷¥ïõ+-èXý\ ð 8£]èrñ=.ÁRLh•a]“\ä²–.öŒ¸ûffþ%Ó}_m€;ÿÁó µÊ‚‡óoPyÈSíóh¿Õò„oƒˆž Áßk¢ -åÝé„]Þ‰âÁ•ýöoè‡8 -ú£ù€ÿo¡rð«gnü,g(æ 2àÀV;ð -*€zf?Ÿ¢‚yý‹`ýG(eïÐ!€¥ÝãrúXŒ-Ét3ßb¤·\ùñ_”‡”KJ›¯¿égÍj -‹”By{x\6‰=œFHÛ¯œø¾ÓëlQ| gèÊiÒÌÊ ¾å­éœã’®bWùÓZqa.‘ÈÕ³y¸nÝò‘?ël(Z0m^½Ý,œÂx)ÉYض$X†P+⮯.mñÝà·2wèÎ={V£9Ò;¼6¾%œ¯yýV}éH*i°€¤¬ðÈAX—üéEP;¸ßÛKÏwÛ NáSm±½Èï~ݹV& ¸‹’ëô`šØË¦G‘u5 v€€æùcé'DÚÝ­;[#»~¡Gìñ–¶íNhÞ˜¯ÂC+×bR­ÏI1i[_³ÃU@Y„ÛÔí¦”Ùüb5ﮦbo¡¤ÐµeÒ|–ÌÉÃeÝuÈ ½»(U¥X‰ÿα¨{ÛjH¥d9K„¸N™²Ã - Œ0%-“ÚÍøïµ&€`HÓ -6)û²dÙþ!]i»Ìþ.%‰-RŒ -³Ër&þXÜ œ¢¨ zÆcXÌn¯I4m¸G?T¾-’Â6È‘Ýd…}UÜçÉ8¥½,EóWð‡'4€Fß}l:þRI¨%̃žómò‹k]²Ÿ“}âѕԙtçõ–3Z¾Õ¦(mŸP[pôÊ7ü–À«Ãû†N‘-³çå…,N™"Hm•÷(±8O–³½áUŠ#E¿Tš2°ñùÆÆ'Ÿo|²qå6S®2Pº¹(:L¡j*°²Q%5kƇýÑôfYñ­Y‡§"Œ„ÞnjAž~’èP]îy`û Ì#CðSl·}þ|6íVmªlvL¡ð)ä Eb3ø¯Âu‹ÿõ/”½û>B9丙ÖAvkaÝ<Éš+ -±§®”6Bb«²œçzyzh{w¬é¸c)FÚçÓƒÑÃ4%åUKÍ¥2kà‰ÀuO{Ã]à’6»³éì-í¼Õ´×ÜјÁƒG¿96€–ßzË'eEØâÉÒÆDØÏo.áhÖP)à2ÇÇèÄzI†ºË©ƒuÅÅ2ÖëºY.ËÊ-Þ™¹ -u¶oöW¥[ÐùQ+6àͯã•VÛnþª ÇRßîî§÷œ:H]±>ú%ïí/;69E-ˆ›Ÿbи\•‡0pJOIÁf§´ßÒŒÍ΂¼âOÿwo÷¯Ù+*ñ³Ÿü‘Sê°Ê[ê*ƒ ?Nì_Ï`ËyUÇë]q̾'_{â(n:ßÚÛÛCÖé@¯‰B4iêû£oÀKË7’›GrŠn¶jç‘d Ñg_RúÛU;sÓGOš†’=_,32tšq€_„•T—þZ7”‚%ž¢$’ã乑…ó•‹)6ú[÷¼Q^÷'‹åp3û…”þèw[Q668ß„qËL‘J½¨ºÕcyVŒe’ÖÒøç%9᜸-`§{™óº³TëûÊœJPÊ*YV”Y9_T4+b.)ÁEæŠÿ·\Ÿýïæ@ØUæÉRl¹p-Ddnÿ ®Õ­-g3žÞÖg›*éÝ÷4dU|t€4&¼ÉwokscÓ9€_o}ùõV¯º†…°g¥ïpŸrŸ–OF¥ÃR\`bVcÐÐá‰:]2¾åœÖ/8ï𔏖sjžšOjíû«Á›‚ûüS¬ÐbóÔ€®y¤ƒc¾£££Ì<}ôø©†­G¿z&ܽ~éNïÃw¯3 ÀiïÞ ÆVFÛ\bMgh^Äg…õ ¯:Á{çì‰Ð~Klþñý‚²¯Æ[œ×ͧêÞ;<ÀA%j'ñéß8忟 õQbëûØ_•Àg²~ÞI:ììKüz~ç–‡ï¤$ BõÉ–Héyõ!!£§§nžøè¨ž:ÉÊi€;;t«í@¾ƒþ~JÀ§îL³Æ½GW³zôf g;R -HΜšÅ¤¡¸7ç«ó7ÿëÍùóùhž²/¡_SëiÝWîõ†75tûÍ*ûV¥… ø¤º©D£ZŽ9ükXõ:W¯Qž=¢^‚6' ‚FÙ-*—Íüæ¹Ì­Î -l~Áí è“U˜{³ZݬO›zîšWwé²›Õtüërùí›07—¹þæøó U°§°_Ž »¾OHM5Øn‡{«ù¿Qx t,À{\=•¯ÒÏÚ@ˆ°-m§T«{¢<¹.†BŽŽ)J”AŽÁwrŸÈC¸Æº¶´5ƒn¿qÌ„¶¹ ¿ Î)ï¾1¹_OŽPâÛMfh¿ ôñÁHÑ -E¶à±ý[ò~±ø÷)m~a-ÒXSB3 -ŠJ÷ñu'°®ëÕÔ>X„o™üçÎppÃ4ÌÂh <ÜûAoÖ¯|‘£ -µœãêîÁÚ¢dä"¨®“ÉójsèbéáA¸þåz@dÙÚS1,Ca2kª~}ç‘x8ç &À9NEæhõ¨ÛÍy6e;œ§Ï\Wážëè®…V¸Tªõ¡ÙpIæÊ±øß Çi.û™«ÒÈÓÊ〯|òÉÆ_ºú³¤þ0›¦Ziœš}«·õ¹›%A½º·çd–(x³È³äD]SbÂù$›ù˜Ï«jÔ­P×=ðoŠ †ߋ竻F(‰dÇšáOý]þ“«Âýgô¹ùôJ€$·;Þ¼¶å±NöL§ó£ùQýèÑãSðߥO_¼zë†7ö¼sýÿkþ¾s:à[Á²¸ÐÌèTÌŠ«.ñ âæ6ÀÐÕÉvà×G†Á­7_0Õ¯gCô¾b—G1ЬHÇÕè5ÿ¹àÒ> ^ÿî/oñj¸:†Cÿ²@T¾ïw^ù £~ ù{ þwoß¾Óú‡ß÷ÎÌ€—nôò¥g£)žž>š{ÀÔ‰8Qw2PÀ>ß"¿½0åò --ÊOüu;;Ýn†èww:nNäðü>9âf{&‰ƒà7·s,†çKð»­ß›9ƒúž¡qsûæÇƒ´çyx¤ÄW9X"‡xèÔé\+§zl”³=þkÎõøìêfyášÞÐg-'{yç«îÎü´ÌIÞÀ`N¹ðBæº7<†Š+LÀYÛ  0×¹ÙùÆ“A §Hø$…P°ãù)åÏìˆ(çdìÀÝöæµkk2VQg7aÄl„Ï>CÛÜüʤJ>À?oæÜähüxˆG{]ãB„á! sŠŸøÛDkV2—iûêÍcž^ƒ±H Y2õê¯rcDÊI ×®mÅg9eäüqóÙgÜ%âDø™¡ÿ’“¦ô‹¼.òÕ"sÃEgÉIdÚÍ_•£^oë„ã Ï²"yVrs‡Ü⪼ͷåQ§”ºäë6ùL¶¥ä·åÀsML×5yÙ¼vþMC9%&´x®}umk¡„mƒæ­›Ý_ÞZæú>²ˆäÄ5Jÿ!ýÌ€&'ö#4 ËZ¸m3;YÆËåCZGôRÔN º¹?õ@€ûõÙÙ -¥»D=AK¢mVßô§ÿÚ¬l’Ý‚Öíc|ea½6.¬=ñõä9Ñ=yþ|µªG£ƒúùÉɯgOܸl|vv¶ Ý -hk‡v|C£?pÿƒß\ÕžøÒÞ°O딦§YžR[F7¾ÑFV§êÖê)ö8'uH²µªif8ãJ¹ñ 1ç‚x…vãÐN¶úW ŠJßÕv"Þ¾ÝÛù-¶ƒåßÁîÅòÝìPÒ-ÐveQi·Ûð=nÄCJæ§07?­»_‰¬ô£°1ÍöØõ“Õóç'è 9ZÃa‰ØXÓƒíiÖß,ÏsN,ñ¸² »ïùè1æÛKOBu”Ö8C¶v>Žé( r«i!î‡ÛNÆZ¶¬¥v£cy~ä˜XùÖË~¯·®±ó­鞆nQÛ;½¯;½Îg>¾o[·­êêò·ý±àë­¯ ªs»Ó«\³—Ç…v\ñ‡ÜPþ;‚§Þè¶=D76]hÜ‘¤Ùg“QWýmžàmXrÅû2GË_Çè¿X Ù±Sa´Ýwp÷®MiòB[bzˆÌW¥è:OA´”…bPCÜøt„]8ò|Ú‘Ý+¥l9ïÏ SØÜ9µÉ ûæÍôÍ×¶p‘;eÛsðáyšñ8›GºïßDdd)Ó0âêî…ˆ:EÁéô?#ÏîŽh- ~aŽë6_!Œ-Á/nÎIžÌqÿ£¿+ûåÿƒÿúáêilî]®šê°<ÍÝןˆaÔSÊ82du:â‘ !p¨Ç£î7}O]%„h\Öó‡v|»$O_¡V‚®öóRº<žÆÃh -5ÛÓ¸q'÷çÿ~:¢žçœ¨(@ì6Oí­}pƒ*2?Y¨ÖÊÌÛdYú½2?pîôÅšPÎçÓÑnŸDþ€sŠN9G²N¡7-çÔZÒN^S¥Yì>:Ðı£fÕtˆ³šµ…²_úÔ~ñEu¨¾Á'’1nÚ²ƒÕòæ(§ -=Å2)QaQžS®ˆŸËçÍt„&ˆÉÛrè”s _Ðoþ Oå¼í)µ ýM½i¹O‡“òŒŸ¨goÎcÛºZ’/á¬nú™sy®þg—ïíØØØê ?Ûë¥ Ài¬å´Z uSåHüvþA€(f]Ýîoc3õ×CúH¡F¿!â‡ÅE§}¼÷§]DѲ YXàÞjÔ'go¾=8Zs.¡t&eO›?PÚ?öiNÀMýöGôÏd€bžBÑ:nÓ1:² $Cxüxþ´yüøé3ÏȦÀN|GxÿP|ýŽŸ5ÚCÎ „pA¿sõ<(+"ëÝßwvÙ÷ç ÆÕßÒ++·¥Ð~­EîMÁs€ÛÐqP¡ ŒôÖ‹×Átâ#„Làÿ󌛠»ä‰A~÷VÂPä–;‚áV†U,à˜˜œÐ Îà¯=¯ßúý£û(‚2Bèųgö‘ §æÑÑo<p:r]l´ˆôü+m®ö‚?Ü̺õ ;Ľ»&U:¾þTu‡d´ÊüõÛ{RÓžyHÅù9VîÇ3Íò{9ÿ¦?_ζ=FGàOO(J³3kü’æ{º=ü7§ ƒ5nG7ÜßÝŽvK]vÆÛ×”uaŸØìh¦ÝÊÆh*eÞ)Ë0·júèê4/hÒ鯴×¾wÏÏžkS0$ThFÝé’òj¨O½8y¢}÷D²h¬„Ëy§zsNdX¦6ÿ4…´´šdž‚Vç —åÄfiÒ-õ°råõ´´D½áÆÕ-7ﹿœê®ãd3q»SGå´]¬œÃá~µuu˱~'à¶ë|»Iµ·7Ü«ö†ûÃê6¿®ÐŸ¬ìÎ/+ùíÞ³E@,€Û4†´ö%*«æ¸7¼ï €«ß&ÑíWÕjØðüîÝzRŽÑ!êÝý=Þ¬öw÷ìªÞß7C\ndCá :MsºeIí™(Ršb‹%ÆáœŒè`l"7šíˆ™ž[÷ªrÊ4€ƒ%ÅÏê¼M5)ðQò•Bgÿê‹úfÀßrµ´ñož|È×åó³síRœ›lxÔï °Õ™É0‘GAÎGYn!R²wëjÏÆŽæ¬©î×LñPHº£c  ¶± ®V«“n}~&s¤Û"ÿƒ¿úgܵ#œ«¶IêßȰÝ7ìİ÷¬{cÛCZ=jÖSX;^Ûéás_¸ù«Òëd'ÖºÃäÒq½qjÆÊ=¿7ºߺ&0ãÛ;ÐipuoÄ¥<÷=¯Ë­=`y’àZÎ9¯V¦å®í÷3ž -Œ£LxÜî xÙïþj›ßIP!^-kJà‰yÖïoo÷q5¼W’´ÓÝÙÙéÚ¾õzÛW·;×J/W:Èìo»8øêÖN¢’ÿDìUËyçF'ÜAÈ´p_^›†p^x i¸®èÅyǤ\¢øÔo8ÏÕ Dª'ý3®õ•y¶ºÜèâð¾CEè’¯¬Ãé^['fã³ÿR:KïÞæW›_móÙù»ülšzëa»sõêWÛ×¾Êc³®“N;®-5k*¬Ë1Fæ7¶¿Qèk -Û-É9:ߛ̚:ùôS¾?þÑÂÿIRðåe§§pF®p ½ÚO3@ g€}Àà[ððÝët†¿sW!– ×ùÿÂ1„­ ލº32æ?º‚æ· ìí³;¯fºh­…¼öÒ)··o£D´wŃz÷Лo5œ[ý\ç6Z* Ü¥‹À¿PÞ%6¨ÚdÏb9ËÔFÞ¾Rãqûñ_E û$>CBO» Z4úx¶~®¹2Dü/#¿¸ò‹tÿçŠkÇÑ>J4‡¶ñíw]-ùŽNÑêM -¬2 ä0ÑÉl±(Eâ7ÐtÎw¶ÜkŠ©§ÑxÊ ² ÑRï¶ÛßñõåÖ×Nyéyâ^kÒtšiËÚæ¹æ72lãrf 7…¹Ålñ»“2йfî żÍÀW(·|ãß¦ÚæGdˆ#¤6Ô™AØ Ú!1foØì8'°$ÂqH²·5ÜÜ4A»™âÀ#Sè$»½;$úÞ¾‹ œË{Ò¾ëlßž[~ßrêùq¹_û‡[ýÍkÃ^å{·|ñoCH+¼s¾~4½^;cð‚²¯ÒjÔÉŒ öLÄnÙ8<À¡ Û;(jÑ2·ÇÙ[ÊG!*:oÑêêäøƒèœqQ¦ { *À>Ë1ðÐÔßhŽ´²ÕŸ”&‡‹ºC¾fe´”G…®ùÝâ$Ó ?O«¦ß!`yW‘ -9#ó–b*SÄÝDåêmµ^:$³Š¯u¦b¸jÿY8L ÅW³§]$_|8ŸüÒßäÊøgÐh€e¹9¶Sa48 †Žt¦;{Ó)söœN·5&u½Lé‚c¿eÑéÁhz³ï0©]3ÛikTyn!ƒÔ¿Ñ~³ÝõGƒoúX¼°ðÜ´z1P!<‘*{ÆLÛh4Ÿß€GMùQõ›­Ý%8¿0+ä¼$FoZÊIÓ|ýÛqÿ’±çÎ’Ñ´{ƒÆ¸íP)>Zœ“’ñø`tó&±€âwšF{‰Ö5ïnº ;~õ_í2ÜÚrHÌq7IÌì?buabP÷ààçéyUÍé ¿-ÜèÒR8GÊ#à°0®n˜C…óƒøÃÇΓh4êÞçöIòë“»ñÅ«k™+ôù”TN—7~3­Ì˜±ý?%…$kT¥Ëi´³)ú»LtÜÜú%©´t§×§˜nSÞ=Œ4 .GNšÒW'kúÞpR~E–)<“'Ka4<¥¨'·p~°}P8‡3E[—£–óÒQùÚøi·û’î¢^Š<߸dÊÇéŸþ‰¯Ï>ÛØÜ¸fÊL7@–5í@5—>}ê^Ù ÐŽoÁï-ŠÀ»÷¯ÞÚ=.ºb%¿·£¼€h ¨ŠPµ¸S.5Þí˜ß‰þ*ß½} æÆ®W Ð[ðÚ÷Ds>h¾í¾Xà[ÿ¢ô€(ºrÿþ/¹áç<"ˆŒ(´k õe É ÿ™Ó¨ÙÏ·ú³7àýÛÌw|õîýË×¯Ý Ø£€ ½”ž=SBO•Ó§GdÆ`ÐCÝ£°l|£ 8êüOTòBBK,‹c~šlãµÅªå¸ßÎóû xé1™%¢~,åÝ쟕û¼Ï -¾ËÛõpËL³¤*<`Ö¦ø=©&>²ðO*þenÒÜ«ë~ÖÔ†¹–»\—X!åF/‡Õò`{œö<©¤x=.Ëhãuj´&Ñk܈&^ܬƒ( ”…låÆwAš•‹º´°ƒËkþ{ׇ›½[IÚÅ/€ÙÝÌÃcÁvÜù¾Þûòöz¶oT€‚î|ñ¦w¸¢ܪ6¯Õ=• û ¢¸J€º'Ê•åÿ­RAd»U¯o_ -ˆP.B*Ú¡’„v `ñîÕ^æÒ+ö¨-°â‚ØimM0*@™ÝlÏ ~ŠD›Q§©<].rUt™ëŒ_^¸[D‡?õCs?§ý7T+ÁŸÿɬjꛥÅ1ó݇|µÐý®l€ßò6 -@Œn[@H€‰Q'ØWŒŠ}'¢”"Ó¨W¿È×òSfg‡Íê¼ÿTÏ?AWÞü jì#9_ÕÍ«ÕjyN’hÞÙµêÕ£ú´y¼\ž¿Y·Ýi½<_4.T±¤¬|X½Y­^œŸ¿ysÞÌk‡ Æu³²×­iì›8Í,_ßÚeUÏ–Ož¿Á¥žWÝ´ŠåÉòUSOí·µƒëìÍŸÿü­=cOÎÎVo¾ÿßÏÿýÍÙùêQýhÙ6˧ËÕ›7Oñy*Gç„KT/Âýª1zêFs -뎵ه}úPßrÕ “X㯗pî¤Í7çËGK?çš•g7Î -åýÂùâü[É=^,W>[žÔ+»ÐíSBZ6'ŽI4‹?ËBHÆÉ“7ß.Îþ„ h6êMTjrú~í¾›ëV»­­Þž¯ÃùòÅrnG{Ó½âyk´+n «=.7õ°ïi³x@ôjªKÇìÜPZ.žü+íÑ]$Gë'3ãºt•Öiáü ÎM2œ“]Çu$KªƒN…óÕŸÿL–´œÿïïŸ?ÿþì9Ù72:häüÕÿ¢xÏ›?”¬þIRqù)ÊÂEÊi€½>*-Z‡ÛÎEÿ§§?{üìif¾xùÚ < -ô{ýúíûׯùϰ¿ ýÎ)þz`7é_¢´¨ -àj£sgw{ÞÞFMÐ³Ïø M”Û÷bpGHpÎ*ä‰aþE”.H.ZûgHêÆBå±ê„¡¿{í½!¢±ôÚ pt-C™P’ҵƾÅéÕ«wo_»'RéÀöwjij¬•8=}ôÈ£€ÐqÑæÙ`sã*º£Ãé­{€:_ûåŸ-±|ŒlÚ„^[Ý{6ìuÕ¥|ba_4Ô6ïå}@ö÷‹ÙÅ)Põ°ßÅ Ja¬~ܬû¡ðÍ[ùº¾6eŒ‡|ˆ¢ÏÐ]З¾K®4æR²h©³8†K™k¦ƒùhn.1—E—‰Ì9S*pä.²£(¢ÒD!PøŠ;i**Ô¿Þœ6eóƒà[Þ5F Òjå–kÈ”êdšš“ùÈIo³² Õ5ú3§[—Nª{Õý V§Í7ã7 §`é!SÉë“EÙl©‹¼Cû€f¼>ÝØúkŸ–O‹çë¿[œýß(:ö`W†ðYc…¼ÊºE{&‰n…9.á’Aˇ£›°":C°LÕ\ü5ÞÂyýp48?“G=e™(µÖäru çaJè™öá܆"Ddz u\ĘêJ«³È.‘Crüj';n—Q7OØ6¿*ÜRxŒë‚s>É`ä±BHã2)"LµœÃŒÒ´²óƒà—Óîòy¤ë¿Ï0=œè%?%᳓röÈiá[Îi3ÝH"”ßßýîþñù¿,''2Ô5Ž´Nb¿L¦ù>÷¶6ìÿÜS~¿ü2]XVÓÛÃýºvzŽr)¼äÔ>zMÕݲ.Q«GØYõ -_Dz!·„-Ÿ­Ìל[úº£ã%ñB¨.0¼~hª¡ß-ÿò/ÿÖ ã ÿÎïëõg´%}ø¹ôçlõÍ õœÎ4•³ÍÖÐ<àÇâ} êa÷¾~¥à?Æ0f1 Ù~ìî™÷Ù«€6¿~}çÎ"¯`ß®§ÃÝžïEÜ<±ñ¦½ÎOôaYOHà2€­Í|—‡Aíhy9Ð^‚À³wÜÆü;T–¬åÏ=þPAûOÐDtéÛÐ[¨Lp²ÃÛ·¨:v”¤£=}áF‰.xzzÚ¸ à‘öÿxÜ JÔª ÄúO²aÝG(öw)ûY»ÎOµ5oØøûalKÙÌO²žÂÜï–v'åšÚÊ——ør·oš=Jüh[¨¤±¦"×í} MÙ:ö¢ã²á5²¦Ã»Þ´-±8!sõ7Õò>Qý9ï{Ôß æh;à×ãõ™t2—FÎÈmleN>'Qƺ§¢¤’…ÁBý]î8w'xó§~õ Nòbw‡ÍOpZqøå ÈìA{ÔXÑZ·öË(hk«¾Tk» ¾ô¶×m]~ÉÛ¨¸jÖë×B×±\¬S!ì^4‡y!RîŒV†àŠF¤Qiq’/fG0¢›Æ&QE^í9NC(Y ¸'_iYPÎcå¡ÿøT JŽ/ FkÁ_® w'ûeòóšÌ×Ì]èÔÍòU…ƒ§(÷Ú|•d¡è„bg2H¨+üåÆP“ˆ‹ÍÜ(tuv?âÕR„?N…Ø:ÚßÏ[pùõ‹„— µlS±£ë'ÁC„¦Há{MÑzv‘×eÊ’ì(¹¾¤ôrq,²DWΔ“x-R++¹X,hÏyYWuÇ=r -9>“8/s–‹Ö±ýáÕûÓª3ýVH¸á\Þ¹(œ·D³ð°(mkâaÔ„ÂyyᔞÓÙžW# [‰”2òï9˜ÊÖ¿}õËÊ}€C_¸À§W>ý| ¹P:¥¶”µ?÷Ýýª[e3Š5çmD2²~ òè ç¼À@žèÍi0¾$ëÇu¶‰8^Ô*qyÑ= U4½Ìê¿ÅJÂÂTRt©OöSSñÚÖ*­Ks'Àìsþ·ÊFÀ´i`:½ÈÙbî‹Q‚ì#Ô¾ˆ©^sOsêL‚‡IŠ\ކT‡Î~á¼™M»ÕyZí"ñêÎÃ:Å)êhÓrnQ­Gƒ“ø’¢¢pÿ4 ì?I½A¯sÍ:Nèô޵¸¥öèôéãӧϰt3åíÅËg¯ž¡ ¤<¨èéøAGÏÇ…Å~ÐüF·˜*B«” œuW[5 Ö<ž€aÞpŸ£ð1ðµ½}òGïÆo_‹™N<ñ…¸QcÆK´ªðñ:!èMÍ ,ãƒìn(“Þ»§‘!ëA¼òöÕ{Ò¤Wß祷°^öþu¤×­ðêå‹ÇŸe ç +;¨0ÃQσ677>»òÉ•­Þhmþý²À̪ŠÂ‘`1£I\×" -Þá=¾K°pÅG_ý¾Ë„B¶³Å5f[ªoV ÛÐ^þý¸uøº.ö—óB¢<䣷ªÓ™•镪Ä1‡‡CÀZU%,ç¹[ç©Â™'3Ö¯TÑf–ø‡Š9c±å­pm+• -þqUPðEpk© ×E’LÎuY}‰Y6ó›4+ÞÈC!"¬&º6R5ΉÍ0^î÷;õ¨ÝSî,wò.“ „±?ºóÂÐpTKܱåä‚îóRëÂOý‡õa0¥+*$ÿèïTÚ%UC¬ìƒze ‰L‹é _Qh§¿õCšŽ¨DTQ'áŠÁ8&ˆc·Òm{/Hé²"4 ÜJQØîê¥È›í±3ûõ"Î{ù^ÓúòðyåÑ6õt´]}Knh8WØÉ£’ˆ5¡`zê ɹÙyÝ®6‡‘Âþ¬Ñ2–ó1œSuàêž¹%ÑFä—$¨Ã -†W·ª2åvëóÏ7øÇjþôŠ3çK´aGÊô£\ø›£êþh§zƒØäܾøEïÍEðÑq:ºliê3´pÎï4¬Ð¤D†­ -€o«Óý~ñ?M&Oêyç ©²Ùq(åuÍl¨Ÿ£Ä•®ch*Ønö«þv‚-ñŠºP;thç"5¹( ž˜8´ã4É2yŠsE8‡‘´Ü”iw^Š oµ=œ-猿苿/œ7Gîcéüк:ÿ$µçÇÉ2ìJŽ2F¦Gõ|šI€¨ãޱ‹Å›^€|^½V ]ˆ¹ PkôÛcîQ9ØôZÚévaAåt¦ Â.æóÄ÷q|ñ1€@µjö9>„k\ Bdö‹ë¸ -Þê -DŠþò²Â’7šâ_ÛÞE -ä~Þ‚î™Æñ–}~ÀyXÐGVý½…£Wöz ÷ðyá(@¦ÿƒþøßÚÜFw럨WëÎÀ5NP¦ŠøË·*À~„Èдƒ“f!ÆÖ´9”} }ëÁ¢Ô6O)IëâßûýîÚšp>(ÚšMChq!Èm—ïht‚9”ý@ è9ôìVV)cÕv%Ç]˜3Ú¤9ˆ]‡2© -Eq/(î¸.ýznHkâ %ØR.w0†’à&>)ÙI–~ˆ„ÇmõlYXd¿jÜÖÿ‚„õýzÿέžÃæ­C ÿü¤ë>®C;€x@ûËë[ŸÙ‹âæK{÷óXe!ЮI¿y­¢9( oçÀ®*‚ê‚][ÿÝf€Gþoõê­Ní{vÿ'æ]’ôºO<Ë¿LðÓÞF ¸§2P -J ŸDÚaÀcS^Mb>Dr‹VVŠÎaÁ£”ˆVtd”Á@´ûéW6Ky£©Ö=%_ïi $_í}§½¡­ÍcJtß±½M°)uú¢ :9åØDdÚqä:,NêwuX÷vKbÔn -µy*żIA""Jü²“ÓÑZæþöïgì¢ÁЇú“ÖäP½2™kÔïžü¿r™Q÷a/¡Ëv«ÔNÛnÃÓï0*d)ççx¶húãåÃ;Xmu',Ŧ)‹¯ÅÙïˆ-îËíêá¨(³’E½½ŒÜËåÉb᜼ŒÛÍ¿»ª]¾ÍjþÖœ¯ ¤LUÌÂpNðf[5Yü.y)Óð„2°<988Q» Ad¤B -%K¹¶dRö‡õg_g*Ûnl|‚ݼÕÛ»èpºDEæ‡Eòhp³>Gtr"çˆ5R—ñuú åààŽ‘@’Ò/uxrÑGN -,‘‹“QÕ%2Wh»/¤Öa4š%f¹íú[›´¿%9'¾Ý-4™OIÕç_l}™Ž½[·‚ï_÷z×ú‹%jСmÐaug@«A!z0 ƒW›Ã ¦˜ªdiJd;Щ¹ð×,ªîqvׯË"/Á:9bÏ‹)øÀùI×ÝÐ~Àø¥É±?úÃÈô€úK?þܵ~ãÊ•O¯nüS8L8=:z4wwÛúôñãÇ/?uÇû9ùæ™ -À 5€r: V²œ(X±i+¤×hÖ +>߯,¶_¿Ž€îU ð Ó/ÏÇ^ƒØÿy_lÖò»í> ï¯ù[kø²£ÁA;û³Ã„aÐ{7õ)s\¨±ï£¼«r Î Z£Jó]–<šº¬|xù–”¿xæ..PÈ$ɧÚ]€ªéh4èï`ÿo`ÿCŸn9¨òqjsî#d%° yF¡­–kZú´Ï]J¶ ±íŽUç¸?|ضY‡Ô7}Ùd7³ßÏŽ [ ,w@om;¹<`#>z€×º+;»N&Ëá6,ߡХ(C„Hu|R9Ôi R¬+mma/\Á¡ÆåŰn’ ‚X1g¿wØZΨ±ãír*&d<_Iq…šM¹’çde]}æý÷PË;ÚÕ1]ýþ&e¨6»ž²ƒÆû ßÛºjCöÅ–{zªêZú¯Šì·z››Uïk'eЀ'××ó4. @vì7M”-¯¢w îýÉ=Ú¿º¿£ žFž'CŠ`†ìîï—Ó€FÛ½ºè (òÖž+"ŽhÈ„º hÀŠä"רwÞ¬æ3ïÓ¾ÔËQ÷¨ édëlI©«UU6ûã¥ÌÀ”=×9ÅÉ€K¯~ÍÞêx´“µ‘m'@ØOÀŒÜÛ¢T}Mèm6ù“ö|ÈL @ÚA~(4ó›#÷Œi ÝßþýÌ€$âl ]T'C$1–Eª(-î7¥{Æ ÉŒ)¬\ôlÝåÕÚ˜b€ý¢%à³4é%3ò›¥;Чäu‹3–vÄÇ;|f³3£ÇC=¯×c…½RZý â9±ÎÓåˆ5Úœ5gKô6•!<8„Þò-ªe¿ïø1’%ßT”“ã²!ôšu8oF'ú²š‹êfšÉ ?3r7¥¹êlRô3àó¢|úɧÎ ›]ÊÐre@Î×2Ϧ¿”Öêlæã“™ªà‰§ÕÜ$dîI< çÑtMèZë’óÂý¢õ=¦º•ùÚx™?Hf¥uÁSILl_ˆúšnÉÅ(UÕC¸òÙ†©úefÚçWh¸³Ýk&gîíG§@sR”~ªl™ê³‹Ê»m/z°'a-çöù›-–Ó®ó2’eÆÂYŠË3›Ïì÷4œ)Šõ¸ß4¡¿‡#krcZWb\úùðW¦@dÝf{ àÑtZÏ3€ðô©ÝνKÿw™˜^qàXõ3Y ]ÅNáäç>0ïÖÁ¯Ó`:Ë;AYÛû`~\ëb'<˜ìÊ;ñÝÎ…øʹ -F‹Ùü~/š'çú;PÿÝ[û¿w¦¢ðwLŸ/àCxºñžÙE ©„U®Õðn"‘з$÷íKŸ›g/Ÿ¡­2 L@˜#5w W£Ê€e‡…-oBYâ³þÍàþQ²”“ß^.–îŠ~ߥó«'´¸õòäÄf™Ò›Åù‹³3«ïïš'nàåúìEsÒ¼Øô´¹×ø[=îf½¦Æ ~GôÖšg°â° ³J ÷Ë-÷¬Y«˜8b‘ogÓ É0ÜBk±ªOêÑÁhùüÌ¡Äædé–bó¤ѨŠ<%|;œ`zÍ!DíuW‡Ú=î÷íŸL(xaºt»ÓÔDhG>.l{²G™“¤¨Ë‹âꬕA;žRÊÄ…p×-_o드èi@Z¾e»ÔñÍkTIänG ~oõ¶¾øƒÁiA·lìûTYµÝˆnM‡è‹¥¸¨>G}YTý©•8ÞŒ¿ˆt£Ì}ÀŸ[@C‡È£Ì +|þxZCôGö(€•€_´ë@'€Ìý€ê¹ûp/^<Î @Ù8“à^¾c5çy7ÆöôÏŒ×jŸÜòç(A™?ýôæ -ȉ_ùƒ3€}Zâ<'•ü8 í0&0¿œÆçKb?éZù¨(j)â9?ïŒDÅ"ý¯ßáj8¤Ï‡Zû™õgçêTÆ>HuÙ é…'#ýÁÿg§O«+=šOÕP'§]ý$ -@/Ë4?Fmüˆ†£´‚[{¹±ÿ´uÇYG³Ò,žN§÷ùà‘2LCén.§ì¾#ñæAt¿Y/ëSˆUã2 ê •?_-©D®>Þ½ Q¤)Ô®ú±h½)Ü·½ßÚúºÝÚ²>iŸÜv3ºáÐú½§º ëi=ýóÝ0·Ì°Ãô~öshÿò>=iŽ—\§Ç[%à,ÏÝ´Öa“V ŽÒ¤®V99¥9½ÙÌÝUaàffºLÜóÇÓˆ+â™»Ö’ïr¨ô¨†ýÍm'¸nnÁ?ÿÖV>ü^ÝT-¿µ[¹E_¡¯ùzKLµïN•^ضï«Ô‚/‘Â2 ÚǸém¹ÄçPÜïô†[¥´…Uwy|ÝY6ƒjŠÎÑ4‹D†½k_u:}âW@û•R¥žÑv·m#¹§˜Ý]Œð;p¢Có=£Ì)H‡Ìµm̪åYã^©®jÒ^¤m™'_§õê›O4Ná r¦ŒH8òʼ´î „š¶:[’UnG¡ËÞjM– Ýntã7Pò•<¥ÐÝ/ùJ«EÎ7ËÌg3¦‡*<²ˆÖ´w{õ 毗å·ðc7ñðögN ÅéÝ%Ãáû>Ðä’çÎs s®#$˜«¦7FSæþ–~Þ€âiç´@”`ÛN±¸Ñx¸u[1öND«¡ÏßiÞ½É@š² é}½4éY€‰Å9›uÇ^ë+ŠuÛ¤Û¦ç‹æÞut-ÍÓpOe¡FÎ=­¨.ÚnJþ䜄 ŸŽ¶Çâ§Î>©&÷> ÿjúý7^tø7œ·`Ä·CJnh<¤|à×àÇÒ± ,hüî9lÙD×»=ÜìÜ -þ_ |òIæÜ)£ðD¦€cõx_N¯IépŽ.ç¸È1â7?¢Õ ݆‚¶Nþä\Æó]&VzЖìxºgdE@ Uæ“r\éZ˜ÎëíÁ¡Mÿ`@ÚùéÈ$[…tP½ù!åï:w\µÁKÃáõŒfà¯xШ†×:OJT…äü÷rîW:МP-åœFFe/ÅÎñî}|Ö¦~ZÙð†Qªþµ€óS4è]s@::}·U¿™ÎaÕæ¤›ÇOÛán€W/@B€ð†±›â¨~sƒeíøºÖ3?và&¢£¸‹÷ØÜ8|÷= þµÎqp”à;ìrmv€å °`nŸ>”i¸¥»^Ìnñ]/ÏÎ6hƒ šñ¨(í„BcÅþG7ÐÜ—SÃV[x§þ¨×¼²/îëpÒcz>аþ¹pFä³§e ÀSñ¿vÓ -9x¯£6œ-¶úã£ùÇɤ>J7Z·S‡nt;ÛíîÿÞ-»w•=²BÛ7»ýÝÑèàà Ï³ì`ænìÝ7ºnQµ½ÝÍW¸¸üp›Çî²åovß÷ík«îauÕ=ó¯ndãvþ7ød‡/>eWûíí¯ÊNòÝ›-s7ÝçÿF'ûø»t™9·ø‚9¹3¢DfÜ7n¸oT˜ëÞ€»ì¦ÅžnšÚ›8Bßt¿ñ•¼ ‘>7ç¿<6bÓ»ýU¶Ñw²«Ÿmå·lJ&ý>—öð/IÊ¥½ý×®mêéê•‹ÌÚ‹Ïþ›[›ý€.i>ÇûeºòÙ¹¢·ì•ˆóýÙÅ?\í¸ÿƒQåj_mþê«M%K*¶77ËÙ û}¶éæ\»YBòýðÎ{$ÞlM¾Fl -ÎPÈ”æÄ7xP4¸Drñˆôú|":…YÞÆÁÜà¶Í×dÈ þâèžx¼îK!óÕBçö6@Žó¾L”c `@ÃybZÌœVÿõ* &šþÕœ…`Ú;;%ÚÎ Ë‚ȭߺ;޳X¼A!úÛ¿ÎÏí&ï´—¢¨j¬ˆÄ­XA3­VSn€~¶À­y1ô1ÎÁ™-5;ƒ7åŒú¬ôK }RštÌ9mµÙñ¢îÖ}º—ÉöœQkVÌN4ŸíœïYþ¤QØ^EwÞi9PÂyÝŒ¶« +€£<kñqA(«É$œ¯5€ L³æ€Œ…\à-Á| ²ÿ”øÖv¯ÚŸ`߇Ã^³7êýwêÒé+O³—9¨Y…_Ë|8‡Ç{dè\×㛨ø™ÛÜrÞŠÜpñ­Ðÿ5ØYªtAíc=ƒè.¢Eæ³æÄóôÿ–óx-”9—«-¦hüÀÓ…C”Ü{¿üDüEwµY’¬F޲~­Ï ¼îö¶>ÿ"32Uûß.<§Z-ck\&lz7Ò -ÿþ,ª>êt[ð>ª'éíÔþ“j·zóbÿªËOR 8§#¬Ö­«ÿ±eú$U·=~äVÀè/ìõvC@çÀñó.ýB™°l'»³çí¦–s× ¸nP,ŸAv1O±}õ]Qˆö7îcÛ Î8ªp§F‘xô&Àg¤¯óÝÛWÀ„ç—àQ+Ô4ä p¦T%DvCïí•à v>¯³°Á®y2Mjâ¾ßùØð -ðGzñl‰õÿ8çA"7'ùS¶< ð³_\Ùè §Êñcd#ú1šŽúÿã7îP6Ø›f:'ØEKçös5VKW£Æ­N–èºNk7™ª¹oIóØ&êîÔQ^Þq[©i5”¸õ§_uúÙ÷·Céîkûw¶:Wù¸¡ý효ǙSà=¢ºÙ6½õ»GO³uÚX›-*ºÌ!¹žŽêW˜nÔ8זƲã÷Èѹ¶üéru¾ìÂŒoš6ßñ¶;§p=>ݤ*Úr»ÈF£›|hSxé¾ jmåz9;Fãù3¾<{rÝ>.[¯{»{\kÔ SÖëlb†öo‘v þ}öYùÅßîp˜J¡pâ$~seØù›+¿,ýžñ„Fð9:ÔXê!Äcèë¯ûkýþNÇ5"ÝŽ³ý>Í Mx; €{;à³³Ù6:‘ ámþû½¡Ãüìü¨¨ªÊͲeØhtd`n:Ïo~ƒØˆ.’«íp:øÆ|s5'ÛS?ºƒ~òuL׿+m€/.±Ã 0-^ë|§Ð™¯æ6þdaè6(f%xØTÛ¦$|÷zˆùË-îû·oM㨻M+˹H°£Û|õPd¿[Ï̩ǣm"þÍßÁÿ‡9Åú µ”¦´6 ×£nµ*sÐô*P2Ü$$€j~sPÎt»ðe§õdrò»v1»ÝͶèµ+Òìæø~µwyƒ6o@غtiÞ‰¨+<Åe<ºø/œŸ2<€çÕŽ'4ÀùArt øo*!nšnÿCƒ¤C³5YLø9iF£ªÐeÆKŠS:(äoâP¡ùÛÛüº¶àsÏ}ú *À½vØå®ÐÁyœÖœO›ñÍ!<ýPæ%œCËþM·F_p”_9o{Ò[Î͸O;dÈe2tG z-ÅÚÉB“½ð¸×ÛìašîíÃön&jÊ¼ÆÆp€ÉU˺_òõ°ôèÛºóûðþ´YÍG_õï.›Ù‘a§}ô¹Û’©©™q ¬=γz¾mÿÅ?m¦Ý¥ç.ðbý°ø-…dàµff¾/žïf%_d:—÷_Ⱦéôœ¹íŠK$ˆÊ‹t{ØÜ]Ýê-UÝ º>t¯—&§Ö—¢²×‹Ì^k’î7Qs.ÿMæ>-zEkL§¹Kqá$vžkG*Œµ)2FX5 kÚ¶8^B÷ªãª3P ­CK4Ы€‘óº´í£þô¹fz dݬۘƒÕ™ -ç§;Áv–‹Am\……4î*m‚¨œ‡uU† ¨iÝUÀz´$ ®k_pŒÔ;Ýs~ob‰øLÒ{±PÐ(¿`z8ôC-þG°& z_ݪ¬[¿¤â¤ À>€OQx%ÀIe$q͹2_s^9pÎ×½-ë1€2'j€¿á×z ŒZ0݆IÉ hßú -E©Sê*²ªQé§è¨m˜£uò‚Ö°èÈËhØÛ@ø$[åÿò—¶´&í@âp€…á’ˆHviò¿° îûÜ)¿PÝÛv~OK$)ñDuÉø?òç''Ó~óÄw‰s2¹0®¾˜âÒÔw, UÕÉôá·–Óß¡æôïü=~úx¼c/G1Z,=7˜ͳЭîŸ=}±zù²,p"°ÿê-pó_àÔv>ÅX ¨.ý<Ñ'° -\·s…wÁ¾Àý+p7Èþ“î}†j  kú ì—È UHN§Jƒv<þÕ-¢dÀÁË·(Þ¹€€¸ Lø†ìðà•ª½å‰>ÓC`|väõ·ÄkBs‚^~éšÐ‹—èD/ìÿ÷Ðd¬íy-þc$—¢¾³Ó¡Ô T Ƨn¨ô1jsçG4ª«nÿ‘U¿S7äûŒ,O¡%8TF±ÉúC×”Rd)(T‘#tÆô2RÆ…—xZn/ˆrG°i?RÎG«ýQ- Rf-ßÌÛ[E¯Û*ýå¸ó&ꉥ¤ëÀTú¥R9 gje6r=õUV¸ÔЀ'q΢|ˆQ·.·çý¹G•ôYmÀÐýjô«þ(ýuAnÂcZ;7ÿA±‹a}Øù¯Ð½“é°/B;=?;ºþ/Þ®[O¯âã:°-è‘ L -¡ð—ã166†¨F<Ï6àîw^¦9Ãà¿|¶Ñ³Í£ÅË÷ÖÆãâÊ+}øk'òÉØ!Ìõ6;wµ‹û×¶÷€ûÂ85:¾üd@OÎѧ»¬A™SÌw@º˜MØw›‡‹((QÌ\ÁñæöàQåÎ( ž«y¿‹äZù¦q·P˜!hЇóþÍÌ˜Ž¶mm“¯#7OCm<­.¶Êõ!ÎäiÃälYû5 -×é&N(X¥lµ„ÑÈ㫽þCò´í÷¨&Î0©nþË+ í?„¯‹½ÜÅ`¹LWĵø·&uÛ}ÚêA¿O=µ©$)»ª>èÔYJ?YOúKªœ´ˆÄJys˜Úi‰mq]Uïl6[¦?Z-Àß3g ¦\LÙgvåcDiØ yl@±é }¼9¿Ž?S -çž?'ŒÆ~Erw©GcMYrÒ×Ém¬çUO»;?â^à|qæaúkÎQÙè"~§ZFÿ=¿<#dXvƼõõÕkž½!©5[øU²À`"œäü¢yƒ}ØbOðÉzè"N„Þ6´ýδ>þð,T»š¾ù#B?¶ïEÖ›EY°–/Dùã6½EFn8šbæ Ä–ŒÊ¦s-9ÿ»=v¸Snêq; ×ÃÔÈ€€*ÀÞnÛà'EžDïk‘ s£Õ_Þ@ű -HÛ{ÑÔÝé*œËÒ(œË%AÎÕ(#²>Ýv¯×-s: -~šŽ5ç|÷¶Ê€¡ŒãÑx*¦¹% ZÂiÖºað¾t"äj ‹eOçú8¿…ƒŸ‚ªfµ> -îƒÚ>Ѭ£ Dmˆùíž⸪C{'kŽ7™âÇ3^!L»ŒÎþ< #„W˜ÿ¨j „gßL&ÈÒ1Àûh\e: ƒâ¿j -ìý\«! …¸Ìų̄ÿ_¸ÐÓg`ûc7 1r^Þ ï‰Ê–õ¬ØÚÚLÕ¡>N%?FóéWõÜF©ßÍŒèÖX¥±†,5Žã:% •#œÖí¶ø^žJ³W-i]†õØå6j¡mÈpôÕöݘùÐD;Õ Ý,µû–õ~êS‚­§Û#jÐxŒà¹Ù³¶árHOrQ©ÎpD®Éx)å÷Þš«ÔãR¹ïT‡Ën__“R'ypW‡nÒæ§™£2:cˆ ÍÒávµ²mS[°-²9Š]Ÿ>ÉáµM€Þ×W;´[4S_Rg¯[oMI´|QO{Ô×[»½ÚØøÂÝKݾÄU¿Ÿ¸ˆé“_Ømì^Ýül«·‹eÿÅ/·õÏ?çÊý³7AúÍ­O66P0üý·®ü·+Ÿúœ€i¾LoJÇ×ö³¾¨~{s«ª©Ï-`ÆV2 hÛ±ÙÃÅôpC6´€©”â¿©¶Gõ RmûÇÙÔD4ÛvùþÑßsàý¼ù‡ãvrÀxÔ o” nˆ´œåQÛ• i=NoŠÏpiÝk­¹ãÙóL Š‚Fý1¡ âTøŽPm•#tÓVÄlͤ¢]f·œ©çJÌ*Œ -ž'ã!Ú‘#éA|iÅò£|©—÷»n7ì#§JS=ç"(“ çá‚È(AeYg^‹îF[a¦¢jó}±ž˜ê°•)¯Pz.úÖõ;jøm‡ËêæAÙßϘœ¸æ¼°èô:³Ä}2@~a8Œ)h³x³ZËÜϨ[e`˜/AEÂßFc)+¢VX ½”»”—ñ°—åq±6?/6€5YÚnwÜG}­”¸ÐçY<Ôz0›†ûuûn¼ ï¤:Bp~¼PÒß>?™!ö–óª–^ - Ÿ-Ÿ¦Ö †Û¸Ô£›Øm^A±æþ.>þ{ôèñш„’Äk[;½¾Ç[Uô6Ϭ¹' ›ÿQ^–c^¿p3—Å©DuÓ ¹XÑk$~#¶–Ñøô¼ÇØVƒPQð_ß÷|S·lº“‡ðAc_Ó›¨ ªè<÷y'U ý'ü„ Âðö•±Â‹¾ù‡E‚ëy¬F` NjŒ.``¯Këß¹~®~0»:^=}åòÿgnüXó? ÿ££é¦–ø_”ÝÎÖÆæN8F…úÿÜ€N¯­†E§QbûX›È“,¦§ —‚W?ìš³< ÍZyKPæ6ZÖݧƒí©ç r¤‚§ÓÁÕ>ðìÑUâ>hÔ¸Z®êP3¢€V)Çy­dÔ’é¶ÌF7§ YŒo’S´¥ç¾uësgaÿ_pæà.>4M»Ë9År]ž­ä£Ñ]µ›XüÆ^¢L,ÿuus”‘;·+ôSûTh“à¸?¼Ê·“¶DL¨¨7.èËb4÷°{¾·uµ·ýó*TqçûØt©ó{å ½«_ö®\ݲÀþ/®m‚ÿ8o}öÿÛLÿ`yçÓ+ŸçO®|~åÊm­áç™;d„,t0Š6¯q±ÓÛv Œ×1® H—Dp‰žã×úõÄE„kJgLZàܪò­ªƒ§Îtù!_ÑÝ1¥§ƒÿã›å\_mK[f×Õé dŒMkyBF7¶óºéè†ù -Ý·+»^8¦_ÉVê€r5mýÙŸ \­ÉÖ¶,š½aNšTÛóÛ›4°…-ÿíþíÛèUÿ*檓%çÐCK¾Ž»£õö¦kæ²ÑqÚýÑa½Šý7tåž-ö?ø+u"$öPAA#ñYi†¹¤™Ù”Â)™Ø\}Àëj‡œñˆ3K70iy © -½9£M`£þû¦?ÊÈ)à3¾¤K)Z]#0‰Ë¦¿=°‰Å’®[A@Ô 8–íôà8)œ—I€â^nù.!}ÀyÔ• -€'Š˜MÅ}HNçàdñïg3 T:± 6J˜©f-Ù ÜQÒ8ìîoY¦KÀµ=WÒ!bÏ".(^¨2ðWX…ór|Ž9»eÍù‡¤Ëy¿ƒiYLvIÓȽݰjÒ|»ò\ŠÂù¸ïdä£?¢Œˆ´QÈROä—€öw}/ {_8Ÿ‘ší¡n&pÇ¡}‡KI˵N›Ëp5ܽþE¼\wñMMÙ `Ø¿æöNXkÞè›|›5Õìüy³,0›fÚ]/ã*`™sêX›œ–óªóa‡ÌK‚ú)*HÿQzº|zúhÜ»Ö&qg§OecêÆQ=?òXÀWeÙ€oÿÿËÿ. ˆÊ`€æò«·ï_ -¢ÝÜ»o°Ø@ÛŸGâ-Žñ+jGƒÄxž¨*ÏøÄHW×øÿ·ö½m$Yš?® -ÆØ–¼VY¾ißhѺ+t;›´eåšFª˜R‹]¯†—¾ðkHQU9b=ÅRM³¿îß^¨k°µ³èWõ{>ω¤(Yr¹wçP"óOdÄÉø÷œsâDÈŽK~Äg=¬ – @ô©PA  À_ø@OÅ0…ÎÑûÿ×O<æµ ÿ—ç4Flb„øÍ„$=òŽ_ò'vE@ógöÿŠX,©¶0<éç}uòûHº½¾äâíl8FæÝDß»‚Ü@*Ò³R½¤šyÖQ¢úA½pÓ°ëµ¾XÅcÚR\s¨ãQ)ýªëc^0ÂZ_ve¶j~Ù-l‘†j¸Òcû#µm¦³ŠÖ«˜úžü¬zœ•ªÇY÷¸i™³Ê¿5Gÿ³ È„‡éî`Y_¼ÿÏ“<,ì :ÿ…e¢³FmçJcCø'Ù W_Ñ™ˆx"~”uƒ¬^kå*ª^üî…Ôë6ôùêËÑ8“òªœ‹õQôXô+€:…<-wUéJÆÚru/c4!¸vUõa¿©ltºìQ!ƒ…Ò„ŠÁvñÿ˶;ªHÙ¥#0Ýd;§*8¤=ªZZ pQQ¡ÇFòüÔÊéÚ6é-}’À‘!Ç$•|ˆÔÑ‘X¨û"©Uè½:¡~ê’\"3‰–ƒ½86šOEqÑVO‹÷®Ù|Æ‚º×y ?!jkøQZÛd` ÑyÇ>«Ü1©(N“HÑ8›Rkor‰÷¤Ã \êªo@«c û¢FÊu_uÖ ÍùdéåÄúLR$þò”nâGÉIÀFZS‹skc 6±(zµ£†oÝ¿·ƒÔ{‡¦p/ ªX—yN·£3]My^°çtÛ/ˆôÓÀp“2‹¢¿W2 @ò ¯ã«’åÈ“œŸŸ{•|q^dÞ–Áœë‰ raÕ;’ÏŒhu,0 -†ÈõD›çƒÞnàÑ–m…Hè^ v{ñì—ª,a5r \IîXvxᔑz¢Â"¢Èç?þ˜8[eå[ËÙÃÞÊùxÆ® 2Ö9ÿ56àßHß¿{óý´ì«ÛÞÚz ÷c‡kÉkùÀ´Ô'¶Ú+y¬€ ð÷Ê@’0Ÿ #AZHÖJMבï `QÂZi íÿþ“.ûa| „Ô€·PüOí€.¶~C²nœ+…³ü@ ¢ÕÉÿ!-)íÜ!”Œ˜¨(4W "QðC‚–"|Ë!DžÞˆ˜Às¾fôǾ¡wÕ¹Ncæß?ýàOî}_³Ðô¤:‘ÄÄ.À;,µ(Ï#YÉŽ -Þ+ð&b¶ÅMD£<îvË—ƒáa÷_½vE['\q…±*oz4‡üÂ70éGêRüªr†âwTLòÛï={Iù—‰ãlüg;s¢§ÏŠ£Œå«â”/E£&çú¨³\Uø±{¤nH'â.j õ5ž˜P#­fyŠ=íÑ,s -‡gµŽŠqÕ)Íq†_¶„ªØÝNÕP$NÁ.—ñè^Q'¥óÀ+r 0a¼|™ Ô·{’ažêB»ÛÚ»GôHZüÎ@èïÖêÿgŸóƒ"¯‘ZýÝ­âÑÎÖÆ6@l ‚À]]À:¨ÀIEˆ=±ñ™wûÌë‡lÝK.ê9â»·ù ÷U§÷`·‰žS*ä·;`i"–_/wû‹tK€Šò¯^&[ç”+‚]§©ñ¶œ :.ó/Y%¬Íº -©dÕÛ¦S(UšèõW¹J°Û“Õ–+ä:G¥“æªb=ªûý˜J…\§g) â¡è‘90SàªÑHXÛ—HT „ÿE¥‡ôʈ3U•w…bº°€úX¨J&(^ý|’P¡tE7IÏnër,‰«¥Å$q/»¬‹OMuírmzæ -Yu|ÜÉBáNŽI€xã°¨Nߪ@FçêÓO%Ä>7ÊJ[1.IJñ… dVìæK³a1€CžªÈøÆQ¼|¾b ‰ä±¼5çIxÑOŠ[|ø ÂÀ­zZ‡ö‰T\õ¼©OGË¿Ú! ÉóØ%PÁøsa?*Ñ -=´&êéHïî½p¢Fb ÃðÙV‚Y‡·É…¡jJp®ÆkÓ šžªüË>ò”dÝ¥{³2½Îûû’KRº Uë$v±æN¿ó]ªt©7¦ºé_Ó_Ԫɳs?´ªt£¾$˜çÉ€ym*]–[ûÜ“Tð»Ý˜CHö¤€KîŽ&'ÙxâJ^ÅEuy‰9¼÷ò²x¼Žýþ|ª -Jñ:*€ñ'ô}í -+*y· -Œ¦;?ïXTÏ@<žVL(ÿI“5o"ÕÿÓRª°elƒ K??|ª¥€êÌ#¹ &Xe,ýD8'V¬p\7‘–˼)²$P˜zX©cîu(Ò¨¤8ý)ïXòQüPëœë‰ÈôêTC7_6õx¦@ãz~Z¿¦Û<ÿAâb>ÿ÷?/«|ñ~ÖÌ$9ñŒ`À3Î…UÕ?r¬ÇJd±è–µÃÐKUUCõŽçŠY±‹Æb†ßZœ ñÅÂNêRÒ‹§D“ãLéÓúB Çµ:Å z7ð±p©–0Õu‡…=Üæ2 q°ù`gÀÈ7³d¿¸G+¡ ŽYë‹ô”çl2oNè›’'ŽŽÉ¯t*Œñ <ëX|ñ«×æ/Tqt…YȺôk€â[½ÛÙâ|FÎOËC¼Fdçz\!HŒd«z¹X¡zPÕª<}=ív¹©è<8QM%8ϧE#΋ÁŽZ±ÚðvšüdðÌEª¾y¾ï¡7ó|„ÍM€úïTí—äM–ífƒ*4þ‘¤;—˜žk9oê÷ -ލ"/̹$qNN‰½¢}Yÿ¸ø%«%)èðº(¿£Ùz]¯ -¬¾ÒßLµç©¿Á€aá—„õQ}æ™”S¶ô @óîì‡Zá±~Ûþ|âôÁàr Ôþ?ÿ"ÐÄ‚ŽÊúouTÕMÝ2 ÜqŒê?)Âƶ{ - Álä.J=äKÑu…#*%ÄÕ?±Q¸mñî"$ê?ìaB€ü0ð/Qýÿ‡ô¨‚#¥Ä»ýé'éû’ tâwÖ¿°Ÿ h”gXXâî„ÿX·Íø¿y/ËObžàÍäZq [BÁz±<ËlPîü”³~0ÌèT¨{Tᶆb~ d€AõnŠ]a¥Ž²{¿;¤ëó£þ„VŒ­8ÙÿC/ÍŠ}VDñÖŸ\øYc¯ó‹†uEpÔFæ(ø‚9éUOêC «A]]«ÖÏq"sU‰@X¢¾6{¼§®¦îJ2o­ –†íJ®J`V±› R#žÄ›Ã P?Á–ß\Ôûèù<\Ò¤ö㼋àé3ÿ‘°--Eèž|þ6¶î{SXŽ[–{~qê‡z÷ÙÚykç÷Ûàÿöƒ £?îÎv¿T|0Æ?Oè"Œê€ÇöŸàÜ‹9›^dŽÓ”½R6*1’®>ÿíKÝë<Ç·”Á‚(8?;ù´ܵQÖéjQx´ÿçÊš$çøÛù´Î;³ú”uŒ ¨\÷¤u+ëûÆY².×ë?î.Œ=-úlר|AÍRL¡]›<0)åc¯^V^vm½\GßP®õìÏu#‘áxÚïR¨a¦ÂQ®úÖ HŽ æ$ f! T’7»Ó:gúÿe¥ë³2œË5,D³ã.#æ.W1'î½É›àaøºú™l¸ŠüyagIñf—W]B¶ ¢ÏÎ'®h4¼j(u“5«•š.©•”ý,ËÕ;Ûš2„ëL]¾¢8<”Vëç¥ÞÛщ>çÓ2ÜÕA?;ìç‡zR!‡bêÇF·âD‡LÂézº›#zØHdÅÎL‰¿Cq8¬»»¤ [¼SNmQöX•WqèÒáî°R¥jÆÅ¹3Údâü°Ÿ Xz0<ኈÂÈ¥kK‚ó<Ëy½@º¯¦A©ŽŽy¶ væ›úÅpœ}µó°Ge÷.h[zb„¬­³ÇH'ð+ÎõòÞm¢§“¢ ãì¤nο̧C%yîÜ Î»z08?duèANÑ@¼b^˜ó ÎõŒÑë‘ézF¡WÖgJª×€PäyÕíãbÙrÓf¾j?J"s f€í]…ì;¼·^Ÿ8TCcS…”+Úÿ²Ýaê—(eNo?s>eNº¼»ÞÞ<øŒÁ†áá.¯–R2-ç:Kå?Læ•î¬8?ÜåÝuÑ9µ¿·Q ý-ôý;$€³aöà.cX(`1{`ŠsíÎ&!€}„ˆ¨ÅÆQˆAaðÒ€ÉÜ!?€kÐ5~KÕÆü¢¿ûp6…úZÑ‘ô†A»°GŸÿ ¿@ ÂaZ)[À9‚#$„€áq -ÿ‹K`àØW8, -ŠÈ ÞùGÑ÷OïtÅâïÞÕÊ­wßÿà,#Cp´@…5ØßQcP©ï{F¬ÔF „J€\{n :>†Ýº‹eÙÇœuÙë€<ÖÚsGž½¨ -,c—ºÜšVg½î9N}UÕ›üqy¸7Ä— ©»ªaá’ÕúdÍŠŒ½7è—AV -àù0d©kÌ7ýzQwmìÇöoBOcãSfSëéŠu"å[iT{±ÚŸä˜ª.÷^T%urÁr}.œÙ™M a˜)RÐ$µA€…%Ôô3.ƒlRï£B eŸÙgÙk={Š@ZõW0­"Â/ZùgÂhÁøÖýÿÊp?#þáÆÆýϼ8ÒñÝÍðÿû‚Û­ _/ù£HŸlwˆ -‰ôìg[~<xÚ;lU¯#´D8ôë-Ŧä®¶(Ö]/ŠC4–Ðÿ™3逩„L§ƒ¶\™oòÝiÖ¥?Y¯Vìd]‘·ŒšâpQa@窱Õ8¦ ï"k–UGå:Žr¥ñ$ÓU¬^U¢«\í±y•Útü+ ¤NQY—»yù»\õ4g6<ÅD&ÒÝT_U® OÃ×ëP®êñ.“À`1c@ûʵq¤;Ç¿òA„&4ROñBÝaÕ,Y4‹šA“Åòbéñçº^ΛÙâ|>Ǻ†?JÖ,êk-KèAdr¨ºYNmÑÃØæ‹7º|`'Ÿ6‹æí¢aKfk–Â9¯Âíÿl±\ÔgzfÉð³¹ú®ûЇ–·€}°×Õký;LyœÿõG8×%ñç³ZíM©šóØVù¤ÈwÙ´Qi—ÅIUÏÌ9ÛGN‘nØþ¹daÚXÝÀ}¶œ5çj±ùI…\©*¤þt€!Ÿ·U2p7Õáb«)§M‘}£6Ýâ?¥<™°v¶à9êè4ë«Vø}_®üÑÂ7Ýk]²Ï©.P ‹F ËÚ1¬}1½ñpÄw…ÞûmÕAüPS)Ðq²ÖsBÿÅ4+Ýž‰»É¤‹9ê©Â!Ä‘i ɺ=YùŽ“i'®"^Tg5 ²ci•Ô#Ú‰8I¯4‘Ü»± k* k¹Â @9Œ&0ÐiªK«´îÊÌ[ÆàÑ“3–…ô¬~é)ˉ>³-'€ÆÿïáÌtO×YëO¤^­·¹ñÅÐÜäÕ‚îmÝcè@?ØÚyú0ÙZºƒ¤!âþý‡æ¢3ío{xýßöÆøGÏŸ!XÃGà¥}.©€3^zíwQôVZ‹R’k} r.²N©Åh.y2 ;‰0\Ö|Ögo›j¯z{½\OU®ÊuÆ¢(×,©ÿÐz¥%îêj7 Ýj’Êõ1Ÿ˜AñŒ¢BysÉé¡U”¶\Ùå„:`òBû“«ÿ“Äâ'’úUœÉl¥bŒŠk# Õìrp:òžÒ¥ë&™ã ab$ü}*–âN¤º_/…¢ŒãÒ4ÕCþ‰cÖÇÕ»¥ d_àn9ÅÕ‹‡£]ÒѤʲw …ÞÎÝ%Àù ÖÏÍù|öGÝTÿ€å ¡Z\‰ñhk­gðUÕ« )ë‹ü°Dúaüœ+qÃo÷’" ÂnàáAõŒ=C„þêúö‰$ãÒªîlÜ4Hù[ç{õÒyŽ}§*èÅà\|;Ï'õÌ»TõL™ÖÉÁ(¹Ñµ”ø1]Yü¢ª.Ênrï¬Ê+ozù µ=âSÓþaõºV_j—<œïÅOû+¨îÜÝÚ¹£fnÙÿ',ïÞºhHÊ~ÃdU ¶· By¢@RÝh‘‰•± Z‰±ªúsçά«œ·¬«ÿÕ·9Wã›Ôþªçl‚ð+àœ,ýYß¼•„kÒfóÞÖç›÷¤À -ûñacW€|x"‰QZ£9@?gÈ&Ï„ûá§… ·xÀR¨ûÓÂRðßXË ¡²  ~ú‹Ç@ôŒE¡Ç™P!yCˆ­°1¢À·#1Zÿ çôÀ;Ä„”ÄŸþôN‡ºÌmE-zGŠºžäWq©ž6öâE2‚ø^æ_GïôZü³çÐÿÃ÷5Ò¿äÿl¸çÒ¤ôYÿs˜$(LF÷:yy† öÍn! ~*Ôú—z¿)%'G!R1ÝXê{î!pu6Ò5¨<® –´jJê°¨#êÑ}QÚ›ÅUg‡1‹[]õ°80Pô²ÞSºr“4Å,\ Ã,¾i>ÒQF#ºâÉÅ,“¢S,RÝKÌ©vª=ÔEø!5y÷ØmÕíéZàF0'FÕÜ+ÀRÍó¢>ªÎKmI¤FZ˜Ä†^F/]µ€ØJ ûXì ’–:š5º‘e磂IzXº?“Ÿy/ZƼpy¥ÿ‹PÑÑûwî ÿcJÀÆ}+ñøóÛ pÿ®½ŒøõD:eþ“>ž<Ü3¢6îlá²Ó{úèQo0~²=è=`aU¬óú <;ÀãâY2•,x™Nýöüú[”0¶QŸG #¥dÁ“MÍ ”§¬#<9wt´(²º²GÆ**Q^T3—«ŠuòsÝU´ÕùUr¥[•kõ]Î|2WºÊrÕŠŽŽê:œÁ{ʵޭ=’¡?%nÆú©T+VfÕ¾¸Z½^Kõ\Ýãjß×+dÿØ'…Ñß‘ð%û.®Fð¯®Ü§Ì¾ ]¿%!˜Tùþ[‰½W¸¹{È_¯j?|–KëÓkÆUâûkß 0**úªHL’¨/«.ž9§U§°jM6wZÁzp.F™ÃgºÊù7°ûçêÆÀWÊX´Î9»‹Â1L·œ+½£ê—aLÜUì¾(αú8 -mÐë'tò½€¡ÿCÁ¿šV4 Õø§ê}‚sé¦É˜NK\§âX2ÏQ€“ïA=&¿cÀvñ…tEH)ÝÀ4ǨÙFoüÛxo f9Ý>#¿¤0„GjÐ>–+ '¶ËƒðèñÚKPŠÉ`/¼§»¸'20b*¿Tbâ„e|‘ 6ü bo0øë𥠏ûés¿Âï9I¯ŽK“û$…“1O¼¢‹ðàAgÀ­­N~â̽…æ·‘ÚC5™ÏO‡oÊ ¤±5ˆ63UGÃ\:ášýݨö"ê€_«êƸ;§ÅhQtYk?ú!õ4ì 仦!ÕK„ÿ¼éh4fÓ¤)^ÚœuWÕ}v®Ö*ÁwÖÔåð°:·¦Ø²'æ°PwCbŽYkÌQa%{PY}FÿX½ë”~‘/$WMw¹Ö=ÖM€}=pm© ˜Sk”>¡H+)qûùþ@ÑŠ}+ÙÖXÔ&)#Õð/ØwïÞƒîlÝ¿ßc*€Á]"€™­{Ìõü£Æëƽ°è¯ã?Ë„ 1 <ÙÜ´“‚>»ÿþ£§OÔKöžŒÌ¢O‚?¼ŠoÄ­ŠÁ¯3:îØ®ŒŠœ¹Oæ?•rš­ŠC$%•ëbódK—kÞé-pT-Ùœ‰®Íš¡bŠLfs—ë|9{S—]0W´V®CU®X¿±\-WŠEçJbߣ ;iŶÜ{·bîùZ¥Ó)Ť~P•evÙÙÇ/庪t¨ŒWiãH¤ºþÑâܨuuÑé3M\àÃûP×… Æ£q5S§–¿ùx>ì†Ñ¶%5¦{z+2Vèi|\IެÉrb)q…×õ´NÒ¢Ÿ‹PU@Ê?c6¼b€H׺jÄpnë€b€sä›ñXr“‘È»‹²£h-‰ódp/`ÃÛòäÏóÎa‚-½VdœÂ:Ãí/[Ó!¢´H­H‡6­UÅN‡D‘vØûRR0-C2ïÖCO}‡õÃû %Îy1^‡•)­VÄŒS% 9ý–”mž+ •fø BWœ{–ñ’™„ -hHpyiKû% IŸ(,™^OúÑxœÕJ™¼äŒ<oæ±î¸Ñß»w_Jƒþ„íΚ¬*-³v08Bê×6ï=I»~ôž²OýÝ’§ÚB¬ <)UæJ•ØûfÒ·ØF¤÷mÈïðÙ%êp%µÊÓ ÄdpîƒU.ÝD pn&O8{;nû…`;} ÀÓÜÉšÕ hã -Ø|ä -#q6*u¾yå‚TA©¨e·h䌨°^Vø/@¾"~yœàÜuß Æ-Kp‘PzÐÂ:¼n£ß+œ‚ðªºÃê†Âê;?2€#ãPñ ó¹3ü L ›æA^Ig–c0û=®|ÉWB2€"<,‚XÃA?cù¿vö÷looÝ¢ôò‡Œþ€–¾ù3?—p:›ýRfÓ¬a^²û>µo¯ÐªÆ"]L½j]¿nšìP+šwg­õ¿˜Q•DîKDt­?ÚÉÙ¢ª÷¦ÇÒø|OµƒÖ©–¥jv¡Q­DjêwèÅëzv.æÄÝ|öçi·ì–L&VãöwMß#hJ‰ »j”ÅÓÞ|6c¬J|6 5²uš}Ç.Xê|Ì\3þW)'th&ƒ›HÍÎM=ˆ»Ëò‚›ÁžC*=–Á|2š‰,ëf—¦5X:®ÖFÿ¢žj€ˆ¶æpG­÷ɶ|ü½ä¿HÀVëÌÏ%ÚˆHq$UÇ -6€Áæë>  ZÜÛyôˆ½GD&ÍÞvØß2È‹ì):EF0ÈeØl2RþVõdÆêµ ©'`DR%K,ŠzOÁÚÜ%V/*ÉȾµÂQõsžÍP5#ë9®Š#=t:{¯rõ˜æEÕ™Æ&O«j—Êu‚UxÌ”í‹Ã¬T¤—åZ×ó(WD0«ªN_w‹TUy´¨šÃê˜n‹J龘ÞPKÙ¨h‹ÑR•îœGÍ\b…r¥›ÏÿBñì_®>q;`‘kÔx‘ïItQCRŠHŠhN:➘ðŒ¾‘:m–”½‘-æØOV„>þ¨á -è?pT¥ˆTÎÆ J–¯nM„ 0%.É ˆ¬æïOöKOÏD4ƒ•xª%Ø7ž¸¡@3KÃ$Ή@œGSŸÐP%$`е²µ2ŸGñPéÁurßœ 'õC ‘ÚM,ǘPÿ°äæÊôÔ6«ƒjV°Úókmˆmµ0zíôÌ•XÎöÔz©ÃÎb&4™snz(Ó5 8_V/W¸ƒ0®¦)‹[5˼A›çÿª¾f]^»”¸È|Šæ¹>60Z/ë,k”fH$üFàDp¨š½sWÂÿʿǺ½U{Ú­¿]"ÌcÛ[…²k`Ûƒ×b5‰mÉ‹ôiÎób‰·Ì:ç‘çAQsØ7ä9û^HàX.3•…q~#YÓ¿• hS6ŠM}ï㑘‡#`ņo‚&“ö;pg@PR8)±@R€!8°UPýß¾ÇÛO„>­sÆØAÚ¼¦ØûŽuй¥Ç Á»Žùס.!>„Ì cìô"E@ÝÕͿľ"ÊIS'?–|x#ôŸ,ÀXH‰Dõ}í¯¤a¿$ °Üû'zùÿéÉÔ³%¼’ºÅòVStî (>ߨÜ~d/À³³÷ç7}þü^ÝÝùùûå²)÷ê,›4Ÿÿˆ ’Ž–ó×êU¾£cŸf‡Å1ò¬®NU!tÔ,ëÚ -@-9`ÖüòË»a7/§…´·òX²\Ãvß‚n\N„‹¦¡›M^]Õ×õ¢Z¨Ïê¦y½\.¼Ú‰žœÖæíÇåò|Y½(ÿ1sóõï :9_zò°âó¤äÃÅñ_Ÿ#×|‹¹×N¸bÎí_Y–bN˜òÊ”ÜfšéÕÅ.Zö¤ªñ™òx˜xšÿ(y>©^×gâ»ùó9.2 —I<~Í›f®Ìªú{ÉÕ,y„¶ôó·LÖãûâ‹­ßX;_ ÜQã}‚qÀˆ.Áÿa¯÷0nIŸùU¹þæa XHö„/, ÜÛÚéÜÛÜê]úxQaï-¬þƒ¡A4‡bðp“Íþ”?‚™p "÷&ÅK"‡/‹—,©BfDÜTŽÎ(2®J•ëÏ?7ù~~L¹’qUùnú¢h˵œª®0­¸9SÆêÉͲ’æ>W|Ìu®ß_Ìó.&¥.ÁîPéÎÕ‹×K2‘Z·@ \¬«©ËÕæa†™Êõ4˜k+˵T¹^ü²(:xµ‹9ñvRœ5e^/© -_½žF¹Rƒu®põ[¡VyÎà;Ì-/Îçv¯‚¹ÓùùâÇóÿ±.#§Ï' -ÑÕ*³ë¼“5Õkò± ¸Wú’€D wüHšz¹œÉ3ëh¤ûéTýrBÁgê¯S‘„è²+=šWU¾&¼‚ŽÀ- |BA‘$%½ýnyëþЧKÓ[%ª§ÔÇcá/lH½ý%ç°+Yƒ˜¸‚4PgÅ^ñš˜ù>…ôÒð/2ç¼JpNt‹{¹J&Î Òíx ( Pø¯ßYõlðô÷ ž$ký¹iаvzÏÐ]6¬ -Οí(æ\™žÞìÃy]yY°5`t,›”ûí~9Ë8™óQlá¤÷j‘t¿ö#kK´0’°\Tý,–ñè˜XZe‡Uç®×“ì/àaïaø€ì£ºzøŸ›Û€z °å´ò?<Ø•9Ö5‹TZ‹Ñq“+Ì9‘©n8»¹©—uÙÀº~á¼Ñ#ù¾±WMø{>IDAT”½$%’q—}¹o#éôµÙaïÁftk:ìwÊ΀v`ŽÆT@&(“>«oAJÀ 3ýŸ<àThŠ °µ]X0l¬æª(ݬª¯Ôw†àã¶ñ_ÑÊÎíÄ©õ¿øáûÅ no™CwIFAÐå±Ið·¹Æ#ŠÑ ø‡pJ¡ò¿{sÆÉOp€ˆCDzëéÙVþù^¿Ói-à¯J?faðä¿­Ž—‰Ûülã~oÈÐ ®“7’¤«>صÜ@™òøñ‹ùaÿ°ÿ";LÓ^ &~v¥ãv³ü¿í1E4®Æ$ä4›4æ½2{¦Ï ®øB7{uø"ω³NwßóH;q»ÓÑ…ìÅ.3˜¹±ß%aîˆ< EÔχ:z¼›½8<wvèb"u -ÛÍ^ìí—Pwïþ!ìz«¹ÖûݺÇ9TJ €9k9nôNÙ‹<ÞÆÄìštÈì,|Ë¡n¿Ûùr7ÛÏö÷=K·£¢yð`{g{{ks+&,'ˆ^§[.¯Ó‡÷u…‹qƒînÝ Ë´½óÅöÝØV3c¶o'1ØUÎ=_˜YÆi´Þ¦³¯ìhß”™ÁúáM;3m.•”+ooJW™5,Ú×3Yö»¹¯A—E¥—媟]•ˆg1‰*å(³ÁRØî‹·¥ÊU¾U®³¨=M.;ì>þGqž©Ä\¿ÊW*׈cŸšÅGÔ»Þïð¿]2×UºéHojæ˜wwýóI@Ò£q¹×5\$²ÁÂ0ÌÀ:©h21,0™äÒ\Êa¥‡2®vÙÙ¶Æ\ݨ¤›‚FGÅëj/&ȦpØûƒ‡Ô£ÇÉà]ú -7Ø-.¤þr‘1»½Œ€#Áh^”ºé©gÂ+‡þO&#†€Q cêdR†cíŠW½[+T(Ê¡ø @×™%gv„7]Á(¸h(ÒmqÌš }I¿ÒÞ‹ÞƒÞ„u6qôxŒ`UÛé1¸$–šl·Ÿ8‰};ÏÇâܲ ‹.s®·¬vcNPâVa/KK$Æçøµˆå$0,µ[`~LpÈhZÚ'„’n¸*eVå+»Ù|B©C‰7SHHRG‹ŽÚ­Gülò³}ß›üÌ-²ýNoÀ Œ&ÅöÕÿ0 $™YÊß„OnZú?~ІíÕ'†¸àÜ&f~%}å~ FJ¥’®Ç`C&ºª*é€é ,ËÜðù¸ šÖg'e†[=$¯ú@‡¬˜y 8)Á¹júæþ.¤€˜ ð&Ä!èÀx¬Àµ~ÈÒ·c ]÷Œ¶]é_‡gtÈ-«°«È~ -ÔÖ‚„Ÿˆ A&]Š'JÏÿðn`Räý¿¡ÿ ÿ-[쎎hÞIT1ë -Å]ýy=(‘œyK$à_Bª,½Ä€ú}<"ûöUa>×Ao€@ú¢]ßLÒ¥p¾(‡‡‡Ý\áèMtbæ´ü/©Ìí ÐC:|õÞe.YMÐù -}‹`üé˜ËG”¬¯O¤E™7ĸ8“n%m(n)Â\jÛÙã|Š$bR‚~L‘à:d¦OôK–¾`¥bé†Õ™=…(Ï.¦e<Ü—ÁÌåa~˜åå^öJw¢9ܹcU.L՛ǰΉb«z‡Vª”,-2"„ŲÙ{õJïÁG½‡le«û'E‰™š]ñ% -t÷Äbœ±ö,“•Š`øŸ½ùÙfàò%­ ìßý\_ØþÓÿ3\ÀÍû÷Y×ï>V(ý˜v6·ÙT+žZÑg±™H2uvzLE?Ä€¢š¹ý/^/vÕ;€P.@W™2,IKï=´…Æe¥÷ \9ÕYýjœ+U®ºX/¤Q®ä›óÖY¥ì)¦õ •kIɇyUñq0K]®ªe*×ìµÊF•+kÅ5¯º.4 -ÂåªJ§ - J÷ø…ÊÕ•nU®'¶ °$Auò˜¹Dº¡È¦S*]U•'âŽk¬N'‚¡êD?ØôyY½SÂ9ý*§j|}š€ýXÕQ ª“Ý.“ÉVîc\ñ•€þ¥=êÇÝ9Êè ¼ÖiÍO;U œ.ªªBŒNY«0 à#¸îˆ†Åó„^Þ5Jèt0(;Õ¾ý¦50 -31Àè¸î¨:‹Vœ<è„ µžRƒs ëIt¹Bm†Qóá­uƒsÇzRUݾôhLõ‰ s+Øl!,½3àV÷ö{½Y=HûkÅŽÀ4€­‡=1E¶6Ý݈j•ç ù çGŒÀ¸ עˇ€äÏ$0‰ÿä —ÈM‰@U¿[àS@ä{ð<Òs»’ç£s]Ò›.Ú­ŽœJ"OFq¾ó6á‰p–€Oz=âðî'XÿtT ¶·Ô¹°pkÙqBbÙ‡ Àv8¯ÿËìwMuìá áyUÖåá_bBe½K¬¿ „oÙáãýrñK•Uouþºú·ÑÕóóŸyÛ4˦™Õ‹æ{%@'­¨šL"ÓiIRh‚-ùµ¢&ÿtJ¼K1$u™UJms6¶_,¦»‹ …¬¾_|÷®>žê踚.ê“iy˜/êšuY#&Ìšæ|1s^,ënÙø-õÝ4Õøíùû‹sÝW4‹·XÅÚëªþq‘5uyÆ;v_U¯I²b´Ø›3É HÖ⸠rÉ›lì;íÜùÍý+Hí6î±|°•vùŸÝ¹wçÞ½{÷îïÜÛºƒAP—v±˜ žù§ƒÀôÙëmyÍÐ#ÛÑ;ôž¦ÞhÐÛî°îrU©;¡ -šNGï3V‡pŠOM^Õ’¾Ý{}âôûï›ô0Œ>`A2ßc4PÄ) Úç·ôÁ©[û×õˆ‘pŠž$=ï®òÇ ì$AòŠŒDyæìÝû$¢÷/qg:=cÍd¤N”R—¬ÿ[ÝU6y@iÂåâæV§Ç:'8 -Þ&o!µƒ9³{éJ—±3g´u ¥u“ï®éƉ|VŸzì@U o 65;¯g³…̳3éUDµ9Æq‡(ÅNÔ#Ç<Í<ð+Ñ«šéOÄÚܯÙF3üÃfeß3¼:æÑÝ¡šÕêñÔÓê·šfåô8͸a°h0>^³ºÉÊ^†ü®!ÜÅÕ#›k‹£Z’Ú¦µ!¨IÍÕ-& ³áf=wáøVÇV"¹ZåÁËíÍ‚]v˜Áÿ yåŪ½[lþõ™:1}˜ÀÆô™ °ñY:Á Àz€×fníܽ«+’®žã¦Du 1•¨(0ƒšAÂЊª÷»”m>EŸ9ÖåãiZy^=žTPgˆ²n2›¥•ÔMe’3”r­˜¡¼s¹JŠS¾èé£ê´zA -6"ðÏÝ5ò&+×W¹Jê$çS¥£\ñÔTô‘ïmoÎê,CŸêˆñŽ®sRÿ¨J§rmjœÊFG -Ì©\OÅYbNu¦8"ÊQ]*š“é(ªiKjDâ¹uú4 =¨þ]ïgÛlÇ+¤*ãžœ†@‡>a­&iË‘ÜÓéô鯇QLBýÕ -Qd•„"Æë‘ -üÎ~ÄdEºM]iÍ+–®V˼ ì™5w« 6$L»{ÇÕˤE_ ×A€óñ„MvðC¬;ÄšRmaÈl‹ra“ʘèØ^Î3Ä築s•ÈÁÚXµí¾:±\ìуބ=6¡Gî± -¦2|Ìù¨X0 0 a×9§H,èå%uY=¢>–|Òr¾6%Àã‰ÁóXÞjÅyqœwëÙ7Šos(ŠiUDê Þ*χvÔtž“û-Y7÷5|ÔziئØìOòΓ§*3ÀþÌa©ÆÅæ’ñw¾R>üW¬º•sÖº:’ŽÒ¬˜þÂ`Īº@Š;C\¤*y.qq°Ì³Æ.žHWßõ6:‘ŠûgZ¾Ñt´"ë¹v¶<`@ÖgíBd¢!v;€ïÍɉ°+éÃHôdÔÿ.!@¸1úþð-¡@·}gŒƒß^SÏØlø¼6ˆKïn„ÉÄ¢Pq °H Êí3+óŶ{>h~Ðe‚ž‰ D â^ª#|§øލôŒ¥&‘E§Œc(8;>¬¨òHJ5–{² ðO5¤~?FPTW¶Ã Öà"@ö’_7RêÝn S÷vê‹OyÁP–2WÊ*ß-¢+6åêrÔ°T‘r!0#»éÅM= ¾s¦žø_ôu®næÒæUã3s¤2?V¢óѸTWÇÑÝ”!¶SãÜ//âî´¾¨›Ø§ÐuQ·v³5æÀJGùQÕ•þ©Ã€wÄ -æþy6¯‹ú*sx>±CƒkÏp®Y7I®*„‘'bb‘Fs•øÑ³Üž7ÎnÞoLÏ(wûK…XUºV´ÓÁq·P¹ÈWDÔÊæšIæý.¹S¿š˜[/×bÌb8éX<–^žE £iiaõÚçÓ|ru¤¹²OÇï:L`ÌÝóñ<D¥ñŸµ¿ª®û{Œ @t÷2Õsó˜ ºjü€—QÞg,µÑx —½ÚC;.ºtÆú¾™4…zôªîV?‹%®¯µdh@'yÛx/ß»ˆ(Ãwr…Îõ#ymhÈEÍù ¤®«Áùày¼»ËY4˜îµÇ‰Ç6]À¸ÁÀ†m&¬r:šyÏ–Ûâà‰Ôÿæ3fÊDÑÀlà¢Xz/²ç¤iΕkN&8·nД{Ã6Ï/ßÔ4< Å:Œ«Yp›B5ë¢rÁhò*\LÄ×Ο†hŠE?_R¨ƒkYkb÷Ýëýƒ:Šß ¾ßHÏþ‹PïñpœÒ\¼LC|Þ†6hÕš½Ô¯Åâ²^ª‹€ÖS"(dOË.p>™U*¸á2ï¿e)FÓ%ë/ÕmÿÕmÄ^vRg…d'y¶³uwk{ Àƒí6ÈðI“Ž+°c$YhVIÀ8´AÍou -ƒ·:1Ê -ªuP¿{78{%]Égg p äêìå—a=D@×íjð=X0K9Ç;_2…q•ëHb -Ý™ƒD|Ãø/¤ÎÞqˆ[ ê>oÂqsö}#±A‰6JmêEô'>–ü×gš¬ù’Ê“âd¨Î´,ñFþ³þ/¼X6º×wŽyx%rú¢›¹…p¶pž³‘›ZµŒNi·Xº½¤Rw3€†Ãª|!%fcCº8üÿ‹ ŽR¡–7¹þ cѰª:&jvÅÂÑ»{ÐK&¦Zb Õ`®êŸÖ0‡±S*S±Û_HàZá¿Yéæs䇶ƾ(sB‹º_Ÿ¤¥†mKD8 ±f.uÖbn\¡Ü˜¹â¨¼"=’A4u”$n.x°þKAÉžªÅö673o~JÞ³?At"6äcÈ—p‡9|@¾‚²bÀ€öÀtV - ·c¡@iùw¶îÝé±\!…ÿïm=|ô @Äh›µBè*Š¢³98ÙŠA ê„uš^Þõ·Í–öU!(ÓþÙ¹÷ãqþö”Á‚U$7qfqI½‹:ávZ[‹rŒQ+ç¦9«Ê©Xë‹"gÞT:)çùî!ÛÄ­:§U­Ë_Ve·8e§¼ö¦=¿¢\Åß¼ê× ¥}ºÚ¨Võ(×vtWÌI¸*Ø]Nªê=+ô]ÿ|’0´Éßu¹Zd}ª6~ቤ“S;$`½"IIVâ˜P±Vvê±×Ir*$QÒäܼ´\Õí«êØôºÎ™”y o8¤‹&Gz|XUûå<î§æ‘Ixfª¹=Þæ½î¢T2á (: š¼-ö¤³»Ó*ðŠ<ëZç‹JÄSñª¬{¤¢Á”F#º„F‡{Ðè$|âi€È×¢XZÈ–-ÐEL§Ô³qÞr^HOœ3“³æxŽû"wC­¿Fèæýà<—Üåkt"î!ökDžP”©´³O;rlº¦›uE#ÖY_oÌUÜø¸„_Dk£9íÝÅøÙo<<ˆÀþ'O˜Vd‘™UÍ“ðÕ>bB,Ôæ]_˜Ç¤äØ%c²ÊkQ wKZ[5ú À<§êçì,¬kº31çE“g5+fQ_ê× ðºíc€ -Lö -/›¼*ÿ,zØ5e\4\$šê­à‘asA+ì5øæ —úÃÂUnVçèë5N[ÙÃÉŠ•«ºÂJz­aÁX¯PZ'ÖýKI¯­ÃÜà@ -®DÓ¹¯({óý»å#=2Fûˆ¸æ•ìïÇ )sñeÓ›iiaIÒ’ª¨G$áÈäI/»ùÖæ½þ€¼"`¥QØë¡Ekð\æÒŒé‹i&ͤ»;mjêuê9שž¢ÝÐiF»Å.HWœ0ö?êlöË‚áñê¸õ V,#š„ÉK¨ ™Í`¸«Vã~2î_ʘi~’­˜óàİ©©ÀyP´¥\̰–҉װ׃ÿ‰¹÷³¬úÛ/^–v öÑU“¥˜IÕMà,Àm"v³Æø,ÎéHèl“ê¥N¼Ø§×¾JxzÔ»»ýä ÕQDÆñ+tGÎEÀlP~%Ü[òE4‰ ‚|køH;lx-Z"ì`#ÁÞÒžô¶{OÕoz}âA}°½]Ä«‰PX.NTT'{¯õžIc°Œå*€ý\÷çïç.WåªÅ8 -RêPP(I®–XZ”¬hUé~.rÖ„¿F£æ´¿[6:›Ôá¸HùâŸA~•+ îø.>]©\¿s§Ýú繪˜zÙ#F"DT]J ò:=¼Z=N•.Ñj·÷–Øí>‹]Ò§ $˼¨j²¾òÅJ¼SÍXGZG W72Ñ©d§ñd‘ï•…”pý}@Š u‹ ™¹% -0+êr_-‘6Adþ‚œžBGPF.]P»Ø-$€èqÇáû‰V^5}`ÔÚo\IÓÙ´—„"1½ÆXí²çŠøü7+ÑE1´œ‰ºšîþ1>‘ÄÕJ´¼$6Hë ée$QUšp>x°?:`X\ê¿pô ˜ZL+T^¢sÄÎ%ôQ œ˜þqOþZ=J&SbtÌpKÏ’KžëOu¹/ ²Í·DbŽ™v¦Ÿê¥_u3VG‹š•] úD¦±¢:€˜FXXrD,©uTÀWÑ èÝíô‚Þÿ®¸o”—B¯_$€•2¯s€<&BrUAQú}r#ÄkDÄJòÞÖ=©–zƒmö gƒÂÁ`T<ØeÝ¿è(L¿O¿Ê:ÝéØ “$€(W²î|ÎÚ8óòñqKH.E]õ$Ùø©â¼è^]Ž[kTx‰'E=¹"ÿXÂóÝRÑ[[ -¢ÿFÑ‹rÏ+·Žn¹r=ÿÖ•.«ÏU®¡)‰!ý3ïîRnä©£êø;è:w×ZÇQƒàõÕϧ -þ#&CHVÆ&™@¯áîx6:QÛ%*!‰æýÏ]Žð›:Ø<»"®è_O4)»JÅ-ËmÃÄ1öçž´l•¦=’¯ -IÎ+»\KÎ¥ŒV JÕú#éx¼Fuçn‡Ì=]‰.<­‚Ð*׌3ˆí{U‘í—¬mGu"–Zø=80[•€AïÙ`·£íbÓ³{Z—$šÄJXæ,u«‡[ÎUu8hª²¨¶é£Óè¢L“.©}–µZÅâ̺€ýBœ_’2Ö#`…|0á‹3•‘ŠœGE«Šçª6TK,BD‰ú¼Z94ÙèàRq3Ô6ÏŠ˜æC%.E—ͺµ^ÀÓCÛg£šÕ…vÕep`YI-c4úf–8/¼V‰“MyÇɤwýWðu+I«?a©¿“é°ìw¶6¼zl‡!€^¦Ó1(•ÃWC&VCpPrƒP±Dç2‚¨>Ô‘þ ãq[hϹoìúÃ¥Z{¥<ÞØNÉxRð5Àìî1x]CP°Î®‡8DûG1÷¹§;°ÜW¾€D H*݆=a„?!AbÕrv -Û8$6@PÄ:|£\bÒŸÞ—WV–á9Èûl$*ÙH2@o¿·ÓyÀ@H[›ª4;šNÊüäDߎçC¢c»‘Šf†vÈæPm±Ó«ä?M…îj*)„C6ó̰¢&{¹ªúédRÏ&RÄNÕ!Oþ¥êÖ ­MêtÄ|ÔÝѤÝëšâDÀº2¦Îî=ìɪ˜“غC´,Ñt “ºÚ…3Dá–ÜŒýE5îæÒó2jî³É·T¿®èfu·JZX2 ¢ñs¤ê¸Ïu嘦pi*ö{K;ò𡘠=xr/íb’w$lƒþjƒO·Yˆ_ª7NJê¡€k€yÐúùÙ°éýnÕuˆ0`‰€[[~3€Î+¸FŒÜù «¥ú@½&þ€ê :Ûúzv0·î!è[ù‰²Ô•Êur:ù#Y÷-*¶Êµè3xÏKÓo@.Wý®rÎjv]^+×`o˵`]?Š š,‡¬d—ʵT¹êê¥À¨yê£)WïæL è\ÁU®ªtߊ;ÕºÉ|̾®t+^(RuüRkÒ½˜ -zïj¹rY”˜«*I'd]§+ŸOP¤ùŒŒóU’^°¥$)ò ™ÌÂ7QÙÛ¸nN&¿äøÜ@G­ úó¤ªGðºØÏX“4(j§³H -Ø÷D¯Ë6Нªì 1GSkD)es®“ Y§ G ÍÇ„á%Ž$êÝ̹™,Úù‹pþ2L JÆUÖùsÙEú¿…§çŠƒŠ*šm÷¤–2 @BíoAÉd° ‡ŠXQ‘¢AHHÿ†±AME1­8Ï«´5ØUb$³K2`p)iÂE“K92çÎk8þõé© ØN£ºX› ,A®çW Úôˆ±"’«–Ù]d”â{;õ†xøIn?œA¦ tIŠñpÛ¤2þÿÖc½3Z!@ ¡I›ub…Q¨îØ‚kâ5çúŠê©_8WÇ‹"û.Zø¥ìL_Gëq¨§)“ JÉÖ„¨æá’²²Œ…úUV~q-Ùv®cµ4“²A ¨ÞJÐëß6âK"”?ÎO†¶\Ÿ[&a¥Õ:éŠ$æ§± sîLZžíOÓ‚ºvÇWzPÙà¸LÁ9MÔ„Á Fjk—â$8gò…N5Á’Ëê±üpTQ%þíãgÉà¶ÓºfJ@t©&¶ó©I‹º™ÒTÄÈœW8_,ö¼À…(å•I­8O2@Цõ5b6=#éö߀ùº™ã‘áf@± ,ª‰â*«,{£þB8>b–Gê¸T -Îà®ú -õ÷¼`¢§#¸¥)þ Y³½íí"ðV@½:"~É7ç×B€}cÖÆ‹á. k‹ ø&Ï¥§1€œ³iÈÐrcS±ÉY¡7 Äb>Aô­à }ð›çfžÔ îêíll|®7`§ÇÆ€¬´/ÿí(íWÆ·DÁ˜Ž r X89aiA±”`Hfï¬\x­Ã0pæ5ulÅeŒ&` /”(&È>>á€|K⇃韧áEOG¼’R— py‚"¯V÷uAŠSâ†NO ‚3žåå| ÷dÌþSFAèý†}©þü?Èú꬙hR®m’yw…;½¾Q$w%6Ýð‘Ày3¨vQ«&M–«Œ)ÈÅT]±®Ð±Rê’‹äk-|· -C¢jÉU“J5–bö킾X§Ôw*…¾Ô¬SŸDßœ~¼ÙDNÈGÌ,:V»m™«Cí¹7?íf’Phi¡$$Ê‹²“Ç\6}H=˜ÄÝäŸëîØš",zè-=ClÅÜ1!¬, «ŽØb® ÎÜ[ŒŠNïY2±wîöž>zúôIlV¾õ››P:=HG7†XÑúÝ8扒-> 0*Üùìþ¾Äì+ÒëmîôôýôÉ`4Øüƒº :÷OYÖ£§JH³d+ÑÝcœLÊL¥¼&c¦“Éé¼È??_ÎNëæü—E• ¹IŸ¥¶ Îßq5ÿA>µwýå`:a=Ц–,&•7²4rU/ÎßÎæJ^/<óг%KUˆxsé¢Mõº®ÿRwëæí|¹XŠ8&ÊÅÛÓ_XÜAy[Ï.~ùßuÙgªš*¾ª:cɇ±P^M{öþ?þÖrκ}ÿ:«ZÎ=gXÿ*ÅjѨ›ºjÎu½>o9¯ó¼_³_ò¸YÎÍ9¯Ú¼•"R3 Ä‚œZ—ªBD6ìY¥š¥éè`4ðjÀBÀÁÎ}ãuºüù?šiö2E\/ìÉ?nªMÆœÿ8?ç³ÅÅ/U·TˆX‚Ðúÿ®*Þ5oTqVœÕ›z -¿ÎNs^ö3q®›ÍûÅì-{T¨3hç9+L§åk=½hòüm³Xž³Ð¹b¡)°$Æòϋ׵ò\™rñ¿›+ïÜ»·Ó{Âä>µ,õ&j£ª±ÍûŸ/þ,Áåü¨ÕÔo—?3±×ð/õCYd¥*TÝj½ª ðTMÉòñŠs]Ì;Ó»oÍ.ª%øAë-ÎÇus:Oœ£qñžb²Ìo0¾hôÆæ|¶øî´ÑŸ¿®ÿ658+Ió®¿R«ÎzÛô^wQbÔK -þ“ÀàEŽª«¶º¯‘-t[ëÄ'ºÀJ”àF¬’§_©ç¶H}·6] uñ!Îû_¹ß&ƒ·Ú•x )(ž œòcü×ÃâCHÌ¡,ˆ¤S‰ð–+t‹ÐoÎÞ”o°TÀ¹" ™T´úšN ³Ã#R@®×b©:^,Èz?}/1—IRbñÄmš•e5òA™I”%vÙ™à†Ï{¯$jú}ºE–¯Þº¨XI]BlQ¼ÎwWiÐ{;ú^É–”L™¡†èÄ5ÚÀê`!ÕÎc]NùB)àäe¬V&ˆ'LóÂSíN:^üTÂÁü›$£K  )ìå1 ´@J7R„™ùÛš!¶ E!T:h³‰¡);u™cu–-ŠI¤_YÒ«€0˜›Š£Án¯`I΢x°™ û{z¼€=ö®`øÿ=Ë*&êÓÉE ‰^TüÑ£Þ6E¨öïö¼®øh2:°Ï"„Áû Ô*×Ë™"rT¾™Hÿ«2¤uGʺ”’% N¹B,ÛD¦ªTôGÎI¾ -'®¯•ë,·`7ª–'»™'cª\‘«‚¤ -¤#ÅÌz¹©OD.W±A¹â¶×­æŠ@: -è¿^®—•ŽB«§—ãR‘"™[§O² ù*a_Q•/^-$ ¨QêšWYtïëþbVŸž2®0;ѧªßîæ -;dÝM4M¾/öˆ’†"¹Âט*Åx zžŽò½CEÚú°*¥w=Ô›¼Ñ„a=V²ÈÓTòü¸|< -”¥:kÊF (U²ZˆQÀùá!ÓÖÊòØ ³M‹Š‘‚ªÞŠó?Öè#·$'xà\‰™sA{jC<Ñi¤Í1§N/ÀHfiλ]r¤å<dݾ~\…£7ŠËÊ›¢`dxw2Jm°ß냯˜•fA£±n¨_µ» óÅȰT^°†¤’è‹Ù©*°3]ò*kSïå9 ’ ù®gÌ8W‘Ùwš’pn÷Y*O/yž8çA‘8Ï̹Ñ{ñëÉâÌy΋”‡/,c ‹òì”NZudJÔÊ §£Š @íö ûÄë_ïÙëuz9k8UÕ7HàäÅQU6Y -9€¶òC™˜È<Š#¶!;cä/©&y¡\è{ЉÀd7¹–ç,¾­*F‡«G(DT]ªŠAça™wáCÉhד^îÕ9Ìׇ¿¥ÀëÖPD~æÃþþ¶:ª;zcðŸWÖûìã ÈŠ@Êp}Sñúù+øRÖñ¬*ié ÿ}AØ©Tþ› ¦ªÈBbX@˜µèþ!/ðoq!´ïsƒtœ¿â¶ÎO—C»!@h÷ÊÉD¨ƒ÷¤IâDEË¿}CO‘G1t"þç®jíÐÈ4j’"LÿÌûg•tQ¦%÷mûb€Méì \|Ðë+‹ø#“n¤(ð‰eX'ß2«®ç¾sêŠÁU^õ°³þ\¸»æ\’dY¯–*Mš"xH_¬.¼ê6³Ø‘›fEXá%'Hõ>x+`¥q®|b=)[}±LêoamR³k ª¿Ô‡À˜ûÇ¤Š«ÿÖ뇳“nþVJ'zBHsh½>œÕY}Îâ©"`L̵z-ãsáàYŽß¦mó¢âóè\qôuU<¨—zú´z°Ù{òç»§Ï©{’Ðê¯bµe‚Ï!w7MÛ›ÛŽ@Úñub³Eû ÞÞ÷··wünûwʦ5"Ôœ+¢ÿ(Îÿ±/ÞÍy7ºzW§B™&ê(7Tàœ,ò›ìuãÙÛÿÖ¨&4CBÜߢcgc“õ„“¥ì"„! !°Ì%= | ú4$”rĈ¶ð樂àñ1½,$"è@b à+= [(×%”q‡ä/ŽyZíáýrŠƒ=¾–•Nª¯ -]ãâ E‹'˜µO (Ä!ÉG ’„JÂ~¥Èuª#]'nW¼Ù+²ˆ·ø¡Y¹Ñ³ ý_@U`Gy‚¯²ÏFà­ uAùDÎÞHLuúðSVã °Î&”2òV±zOVÈš‚—t°³@N#ßÊ;Ó½3õÛîa­ º73xÎASõ™`GwÆÖšÚa}*¥qR—èõ¼².H×&Ú¯Œ¹¶Hìâbvú¾ g£Ë«€»Jæ-Ý¿.º oUôX€›$DN/Dï ŠÐ¯mžà6Š«]\ÌœßD',#È|ñ=ËÒŠØšŠRH„  ˆ„£ºØÍЧOz5ãÿÌR¶û=ƒ”øhßWèÎ{÷îß¹G÷ƒ2õºÿ³{Þyg¸CÐû÷Ø)ÜtOŸûŠùó¿È)±ÎЭGﳯè“Þ3iHwzE￈9<F̪߰„$iW:>@[8.÷±‰VK±wídVþYÅì»¶´_–«ÃJ pt4>-0ì+ß(ר6T!õõ¨šÍTµÐ€.ì8vus$À[&æT[f§õ¯Ò·Ÿº€(¶P -zckNÒ"Qµúù‹Ý)jXž×'b,ʸ&Å+ôá©ôjkSÓúñÉÙwÊ·3ÖX– Ò("RAÊ­U³k— ¿¯ÎÕ‚L™ïJ5¢WA•Ó‹U5kz«¡SaMêï‰Ý3H9|Œâ\ÑÍŠ$ôž`øûeIõȲüðKqN ˜’˜qM!y ÓǤV_«7›vó3 ñ¶<Œ/9‡u1¡–ŽzŽ_S<©L'T :¯ˆóŒATÇNÕº¼.Úð‘=yÒûCï«Nçî&€»[¿ÙîÙB—³÷‚k“÷.éç_–Ê[^‘bQÿ'ô}æÜïç±¶zåîôß²>{Kïƒå<æ'‹sšװ-ö0™¨)¶²Ü}EÌÎs)ÎEõÆZ³³štÙ¥’”u›aEÕ힀‡Îm¿ 4ªÞŽ]<½AÞƒN¶ý•õz)é^ˆ ž“ƒÌ:¯: ~0šgÝ·>SÞ+ÓUßk©JIÄÕSÃ| -çäˆØ'¬8Fu#Z8WÁTÕ¿Šs8Çyþ“JâR¸dºêЬÑ_û%gnÿÒzâ€I¢;Ÿolê½·™ ¨wö’€lü Ì¢Ô]M°_X~`©*€Q°o)À^‚¶“¿Rf¹¼Ô+ëÕÒu_áOHP×ð•®Ûi(ÀÎÂû¡öŠ¢¥²+‰ëÔ‘²(CÐ3 -Avq´‘BèH2f -"N±óB‚9‘<¤áõ(¤aŸ¯!MøWvõ1ýï÷ÿöÿ ÀÏW¾ã[’íš<£ˆo"*ÂM¤ÒžÌ¾UO¬¾xqØ-¦EµìäïÔu~}1CùTÖ-† -W4™ÚgRÓÔ©ªvØoϦáñä¼>|¯çZ5NX{œ`Ebý|ô˪¬…×@F` `™~ÜŽé‹…0wqòXÌËlÏbO`ÎKlŠžÄÂÁ Xd¬`¨"59Iqã{:jæVcÓ[¡î' €™“DtZ­ÚP'×-Z‹š/Ÿ/ÚW8éЈhÛÙàI¯ü—Þ3ïMO ®%æÆ0Í:ݹ/Å\áz -ã¥zl4àÁ'OŽvz£'\×ùC¡÷#†¥Èsµ|° B;7 "Ë= ÿ¤ñt  Wmö*=øÄ‹‹Oþ)$S Ug%áDÛœ‹rL.¦ù/^¶Ï÷%P­ü!Ò³ÒnRǘ¾]®TaÀª\]éR¹. -•«*]7£\#Wº¶\[g2õ·gYÙîL"u½-W‚*ݼÉm9òjqH@*%=W:ìíîEÔ:lõfN5Sï‡;ÚU:­7ððýµ{Ìšå…~/.–[.æ•cÛuÈ9®³uU_œ×“I}:kfÜRä -^×?þÒ(“êÅû_æËzÖ\,ê³î`ü·_–§³óÿX¾?g¨®™_ðhחʳ’áh®°GÃYÞý×_Þ6Ë¿²IF}z1×Col¦áífÍ\ .Î ËÌ/.êjØÍÙ #q¾¸X4‹÷Ë÷»XÌ'ã·zÆ›8 _íåwÕ7Ë÷N~öV1ÁÕ§o™×óq½Xþ²`-ð‹eý¯Ùaù¿ÿv1›üù¯Ëó¹jš ? ñ T]üI9^-y]¿Ó›¿Êš_ÄÝÅMõN‚ÿS±ïûÆbýIÈ«¨·E]žîloÿm2vîí€zËÙ|¹¼¸øå‚}%È žn$M ŵøÙ'å¹7~ÐÛ³•DóËoåæüg±r:[^Ô‹¼[üõoÍä—÷çp^Î.šz<†sÕŒÉb)M¯0ç¯qŸ¨Ã­¹¸8§Þœ“q³³ÈsöHiæ‹ÅR7•js¡R.ûÎVÝþQ9 çó›Ñ€‰»;=5Kz±£Ag;ëÕÏ&˜µh1Ô"å>SG¤lTÏŠ)$‹/¾Ùr¢67˜ÿí/uµœÿ2?gµŽz¶œ‹ófÌFÜÊâ¥0üèÝRï-¡Pø]y8]*§/~~?S¤ ^·f×s>«›¨‰óÙR¥|”gÞ³å#êÂ-4Ãõx'vG¹‹!û.€¶‹ ïw¤é29¡¿ ‡5ȇÂõÃ!Ë4a 6’[u®ê,ȸNѹuÈÀšôo>èÝê©ãæÖðõy…dÑ>÷JPìâpÖC\æ‡üáyЀv‚+’6Šüä~Á )%ÙÂA$nKŒt:vhpÖXâ‰^9Ic7`äÙþ>µ=€ò™¸³oQ¡Üt3ÑÞDÂ;uÄÌñšÍùn^W‹,;S'‹bK_Lgœ¦ÛYœ„ž«æj‘8‚BN÷±ÔSzÛñ¢Ê—@Al#n ¦Â aÕs©¯Ë½üuà-(+t X“4PT‰·ÙE¹û¢RG½ëá[E3wߢò­ïè%‡Šµ_Ε¢¢p˜˜ûFÏ+iŠBÇ i†Á«‘(/EU8‹¹4æ"@qÞ>ƒ˜!}#Fþ `÷AOBÖÝÞÁÃGjÅ­ °s_ªüuýccç‘Ñz6x+žJ†4?;8ê &ÏÊ1·çÀ¦y‘:>2åà™Îõ÷èÊîBWé3«Ý$9ÃE[ÿ°ý°Wlï'0°©ØdôuZ\t †5ø=&Ø$û¢\© !;U}ö’]åB8‹0ˆŽ)çc×ÃØAär¢êJ,ÇïrM4/wûªtÃŽ× hËõíéd|­\óg“y·š“Œ.\2w†øÙ¤»@àžé²Ò™9Ó²8ª%s¼Nïsùè\…nva’¨DÌ|¼üLfÍÛ_ÿð0)IϤ¦ãLÐòƒwáánþ:æÜ¨ éh<&CýX;IR²Ì|~.CU'?«.& µÂEÉm¬â}uÃI岨-ߺOˆÍñò í±òW4V|‚e$p Ë*Ù–h¶UõÏ -0n(IåÅnŽXÄÃ!QPéÉÊAÁùdQu³ããÁ`R-&õ_mÐñZ -2Ô™¾"¢\ÝâGs©gQþ¹˜ÓBøÁh)H¬O/ˆÿ‘ªúCÖ„Lä•Cy6¨™îæ¥ “oVœ+ÓrÌ»®8/UÌUFͰéäg•Ÿ8R -2ò\½W«ÄgÊs%¿B©LxŸ$F)éÙ¬P«käK¢±’|´u¡}Ï]úû£b³ó‡ªá•ï’g& uEzÀ£§±²×3†Efyf*#døz6ZbâT´NAÝ7¬ŠiF¹`9q>=î¾K•bEœéI*ÒKŒO¾ŸÖÊ)Ó>BƬÛh°Ï4ö ÷[Ðba*ÂMI, ê?ëïKPÈzƒ üן`ѹðלL>Ô·eƒWùààjǸv-,ú¶­Lá$ -¸‰AWÌìA`@×|†*nO’—¢‹À<–Ý0î3"a)@,IUÒÕa@4±õG8®»ŒV(˜Ò³ $b7ì7~ûŒ|ð ”ëçÊŠBQog?‰ð{Ùº¢VJÁSæ*³”a·ºÐ?4Œ˜3›ýœ—Ý“ºL:àˆmÊ™Ù?Ÿ»º˜Xðv0VÇŒ¦®]T\âh04£=HW,Mð4öráÄ6[P¾L’ã[Û¼c…9¼l¡ÿ(_íõÙnõî*'ò>ïWm]ˆ¹‘úŸÃRš{}ƒ‰Šøà©º[ϼ:1ò&um÷ÅaGó9­Ë»Š¾”PLÆv:)…æ°SÌ A¤Q’Wƒö™æË)‹„à ÈÞ(ñ¹oâ‘QÞ˜sý'piçñ¼£Îõ?šÙF·yŠNWìIS¯$ŽÌŠ @!\»Ø1Yåç8\,"iÞùΩW‰Š _HÈ´ ’~Á½§Õèáæ6Sîßÿlkç)-®à|ƺÎ}-»ª×°Ø¾9õBg-ç’ĸ)àT—˪+©Kñl¤*;?×¥”éÞã¥A8áBT.ú°]–P'³ýž‚©šQ¨~Ö)§IÇßÔe–1­¦>Eî„ÔOwîo0Ê÷ÐK‹žýasgÀúͼ·#õKñÅfº½óf, œ‘ d0¨‹Å?ês5¸õꢎƒ¯îsHË«*j}Ee!/9‡Äyt–ãq½(ûÝ¢f<õv -æo!´Ù}ÃY§Ãi±ùº‹àA8° R@$ °F úÒ·Ýã@Ñõ¡ã*mHö/·8ä¯t Ð - ð<Òç;À˜y -Ð' ¢ÁâpE 5RÐ µK9DGŠ(!!±8]à *‘PŽÇ!ÉŸ¤°Ÿ…žÏ˜6Ä%ý7þ ú%ý·½ õÿ•°µõ‰‰À«l»N©È? ™zèà$ºçÓÝ~óØ£aÔ•=Óg­L¥ $%G³hÓX:’æGÍÒ!õÆbu&i:º“«ULý«î¯4Ç:O[rrUý‘*—£©JõÏÌDL}ñ¿Ìß—ùî‹z·B/LÌ}«î†•¨éÄÁ>o“¨ÎóÊbªÇ*Žvbe\_ÉLª¬Á+®¸ï&©«rdâ©zœÛY,¸q·B? È£É?}3ú§Ñx^ìv·{©ØlâeÜõ7>ä5z¸µæƒ)Rý±ãy”y:¾öföTx­‚¿ÅP%Ü»ïшÞÁÓ­ÎÝíÞÝÁ ÷ðË=}vĆßߤ!~”ØÑr¢‘p4¡§![ؘ)rGìÐWuyxîrm{nR®ä.›5¾ÿuÃìÇøqŒká™îR®ô.…NÇßZìT¹¾ÊgÍîoKÊUR§Rxûv¢3%O„ªt5Þà“EŸ^‰T¦âÒåªZ•nÁ˜PÜ1nÒ´•®Í»ºì2BOë:Ëò¸*ë=$ä:‘ -sWiƒ0¿FÎ(x’¼AÖèËȨLÒ§ÎØi!@Â!tD‡¤L.ü8N:e¿ é/5³V -ðIQS®¡ªE: -ˆ¡z@Ó>+ý’¶®}Í ¯bNŽd…J‚Ù°•&ãÓE½W,Ôm×£×M8‚-pÅIË>›DÈ)] 4ißáHíRÇcû )c˽}l³ƒ±9W£&N/f£èÕñ[çQ,ÑFt5R4IRÆoà‡[˪ÃOGO7wžf -å¨áÞ¨xÚ»³qÿþÖC u½'E¶ÙC£á•¥-”§Ž$°œ—Ôn©#£ÏHhTH^„OJ“ç‚óH׿’$áÊå -ãí 2Çï  U‡¨SlŠW8—Ôκ˜µ>B7·PgŸí ˜ï‡&»i ¥ÖΞ–:Â:XlC·ÝcV -G­2§oðÙ?béé2æF]±¦ÛÔÇ%Õ# -Áh‡á£g ¦»ö<‰râEºH_÷˜–¢çôCOžåŒyPÌ ’б&¡@xÚ‘SXŠ_'HF ½_Óe›d—²Š¡þ㻵ùyøÿݹó_·RfY\@r¸(÷›hÆÀÚü_ÔŸ¿?Í˽ÿ¾÷µ"&e=³õ·µZu›T³Eþ—¦ím]¯8¥® —_g «½sI_ü;íÈÏ(.k`ªPtXŠwVŸÖ Ö¤ w´Òg”Ôä_ÔÏçïÅ‹ü°[ÿE—-5'æ¾6F\0=ga‹É2o.Ô$Iuhý<7ŸI€9õºfæ Ô™ZÒ7sUµÇ>Þ029Åœ›ì…Ü+Rfô6R;™ÌšÁn¾ÝéÕO±?E÷è‰Dù!ô­«À§:3MÂ1‰Ôè8VÜÔ}ᣥwuî§¢±r{•¸{¢íAïII['[ðT¡ÞäÙÁÎæWÿ°½-üw¿â.ƒ^ãgã?6õꛦ»”¾Ff˜¿L.×z^ås;Ú)çRÖÁad…¦|sÖ1’šÊõ”áVÑZ¹2ϾfeaUºyžÿc¾÷Ú#?Üu¹Jbp¹:.¥à!Çß,û?](Ékå -aŽ>o¨tq³-W^ Fvt¦¸œ}Ì4/Ž›ÓY=W¥£*µÌÕzA17¿þù$Àð#"K@½ºPõP±’AŠó²Ï"·@÷¼*i¿g5çÞ7.Õºr¯Î&u3WG>#èˆ& -‘G. ]Ó¿Þ¯ß),DF"}!Lúv0ÒåG¯¬ŒþkÉÜI¸‘lïæœE² ñ²]±B8ysN|NAïE-ÅT­´iñU•Ý®ª¨D”z¶œŒ¾nž˜Úyµ‘MŽ -é\ $•9uWw‘õÙ3¬õ)Ƚ‡ïß¿³õè©ñJHm¼c!;v»q‚8Gò¤È¥€8lb½ªN}گĪª»gÎóY½Pɉn‹K8Š^rîüBHÝÍ©^ -¤ˆÉiÅël‰Ù²]$̱3}1éæôlé–#ïݹsÏn;¬Úù¤§îI:¼~äöA›+ƒžD…†ÚðÄùrPecÊ žÌU3ú¨¥Á4J^à\Ìœcw! g… ²«­-ÈŽæ|~z˜Õì¢òB ½•¤ÈZ£ÕŸ=Ù>÷6£›Ÿ{E Ì€ë„xüIÒñ+xÃ%^ ˜|„¸ú““¯¼P%:A½YYÜu iÚÆrÚõϳûq¨VD ÆCÜàGÿ:@='-ôsf`r –tG,*Yg°là§ðv䮿+XŠ3‘†9#ÿ¾à 9Ô»¢ñ#%µßÊì#,uü·šgJ(™œM7ÓÅ-´x¾x?ŸÍçó¦Ê_•»ùBº– ¡ÂÝó«d,›1fzÁŸþkÜEšåŸ_a/®Æà|½ܺ·«N£¦³Ì—óùü—ùŸ—ï/æÍ[iܳF? Ö,Q÷ß,—ú_,–ï†Ý|¡ËûQÉ.–Íùù÷$V.®Oߟ/ßÏßÿ8›-~&Ý¥§ ý,Je ÊC©ÍÏÅΩfÉŽ·óFÜ“I ütš·Uw0>-Žž¦ˆ‘Òg÷Ý$ A߀þÎæÎƒ»;Åà ˱júèÛƒçÏgBhz:)O6„Oêñx¶\ôK‹9ø)-òÑØýFåzzºX”Ëùbñób¹\^c ü…ôC¹ºÜ—õÛŸT®MŽoÙbþ·çõìü|¾\ZP¹N•ÿ ÊuñÏøF5¯óÓÇùw§ºçJ§‹sU-Ý¢\‹ÒÅ-Kâü"ŸV^… ,Ir sc©ì*×Óæ"s¹š¹)×Z™˜*ÊU•®ùnùã»{ÇRѺø îPÍûæ|q®zrêJ§Â‡¹såùµÏßa ÷DëåBÀ©:W:à~eÔATèôÍî™M!ƒz4±(šb÷_Å!e$ ɪjtщH!ݵºt6{q '†~ý‚§3,ÜLeó"Y=`ƒx*`˸®óÍ`#àŽáHñ2ÔœKâ¸Â¹âºÑ,– ²tûóÑù86uD«Çক½ÍyiÎaÍ÷“tãcþyÖº¬<³ àÙÎæÃvµ­ÞÀ5B›Ð-„$1ŽõCç¨ÆëœsU¹ÐÍžWEÖaüVIŒ–,¤­2ŽÅ99e«R}¼›GŽZWx]å’äÖ*? <×Ew@g©‹f€`uñô!“†ï{øŸ~žƒí˜žƒ 0‘ºIŠ;° nN"WÊlwrHKá6œW8Wm%ÍT+½kTnÈ^€g·*®ôÁù¤ÈX lü1Š©„·P,cüC[›ôX¶eoÝùÍopØÚŽé€&û¼Ûú-Lô@¸°_:Ó¯²ÉßûFqd‚þþÀ@­€É¦ÖÔýŒ.ë1‡Lú¶$ -âà ýæhG§éÏø¯G£í$‘¬E¤È'°åØu ˆ’°ˆ 6øµ‚"Îø½:zT_úÄn?¯ÒèÖæÿÝÝÀt¢“4JéÿÎ22·³ã̹òÛÈž}ÌùÓÃWÓwÓa–u»âÎ^ï’ˆ0ld]¦þꛕ5†Ãá ,ç‡YŸÍŒh(H¿ï }®äUùøê”âäÌ#øCøñ4aùðàÙ‹ÇÍ4¾®TÝ=OŒ.¢.#,f®ÀQBÄ‹^U‰94w‘(s{s$ST3æG1'•1Âs®‹\)¦»6O'æÌ$Éòøáà0‡7³îNëü°š*rH/Jjû]¼Q0íH¨£vÛ'»Õ€áþ(•S”?¤ÞîïÈO‘©òqoÅT»%ƒMÊ,‘ýCliÒ-?œÁî‹:WeºÁÐâÆß0­ÓZïîWAª³™öa2i/µIh¿ë×dEþe”‹jN1¯¼Ê×1å…3m)ë¨Ç.×e v7'*×’r-‡žÃårívÉu«J@w«ÿ~ØLë’[úèÊ×§Ð\¦äŒbWP•ën3‡”³øw.Wσäåô±:2ñåJDê…V±êM¢j©ÒMU¦ÕTÕ‹‰Z8sÙaq¨ço¤ úÇ_'zÐ8R¿9w¯:SWì(ª¬ë…u´G“Np¸šèN‹F¸aŠá”É¥Ê pôèhvt.TKjTÑ/öîª&ïxZèÐ1i„.*ü·O (hín2ɳ‚å“ųYhÐC3±ÈDX.³‚ðåÑÜoc=4)ò *´Ò…sÁh'£lVËœì–5’xa]tŹt»Û)”aË@öñ®Ï’öÿ_ú•\;èáh»…@|‹+=.ôËt¯y´bÓ_GH€çÊÕ…Ü!ŸÊZt;ì̪Xz'ÉŘ'Ìb›é1”é²J̾šJO±ðŠJÆ™©#g¿ˆ“¯y‚äݾð?¤+.BG ïïH¨©Oùý`°ÍŒA»ðŸáA‘XPžëµc½`\„ì—%v÷wã ¯| ‚ˆÆXŠˆäë PHÜí÷‘èˆøI8rŒD£óc?ªŠ&Ñ%›œªÖ|„v:_ÝþN¡Ó2åOoÛº²áðYš - [a9Á†€_!júÚ1s#®Z.8«nS_èûFáLhj,À‚µ– @jŽÉvu ‚gâ¦Bô,  °«GRlmd„çM¹ƒ>ƒÔ|ÕÑÁ!èN¸ãsbסãS, - <é…ZÕ¿£—Åâßjþ--ABÿþYK1¹NðŒž‚ÇÈ}âmT ë®4¿ê¿«þÛc’ûÒ¯çê7éþÕ@‚ªæqYê5t¨®‹À¼Ç%õ_džËŒÞiÖ=A¾ÑÿêK}všÿ ¶z¦…Žõ=ÅsÈAã¾éÕpšw˓ʽ¤Y9]×6æÔê÷,{Qšûò¢ßpM„Ð2W–»¬Ýé2lé[‡ŽȈô$êè­»êÕ©ÅÔÜÕ¿Ó?eØc‘ÆD¾PiÝýÍÝËrZ‘¼“6x‰$ê®$7}«ð“`ØÞ Ê/IdvrýúÒ¿ÀQ╟Û|IY2õÆÝ{;_€ú0Å5¨#y“ÆÄð/Ì-§»U¡ˆASeiëv"ñ¼ÑÊ]®ÝÌs…Eʳ¾¾ÄM*‹yÊ9ݧ\ËÇÌ‹ô2þ•Ã7‡”kL¯M)WÁ1uîЕ.òBÿåY÷°dÄŒŠH¹–}Ë+RµZ•«Ö¶\i{”$’Œ™;”Hà;TU…éc=ÅÌh^2Î5ú$€¾e/N&cª¡ÁÎìÙ>º–Ð$Ù§ÝÝ™©‡6H)|L¸êfúUÙøŸmôLøâ´^¤‚Q@S¦.º8ª‡{Òþèä€~R8ÅÄù4)× qÖï§îÿIZÌŽªñŒ>?¬†~çx"ÆCe].QT`AruÌX/‹½®~^à|rŠGaàúŠsiéæÓœ0w`c4çŠ ðêžv«bðR™žðc}:xÖÙüjÀ4Àû[;p‡0磱}ÙÐØ?(ŽÙ`’<7ëщBÒSZ0QUi¾iw—žn0>'ÏÇKÆÿuæÝµœóŒ`ò¨˜U‹ŠyÅ‘‹Îž Ö*?œÒÕ“j  ¶6U©(œêwéåz2²'ˆ„ÿ&F(öwîí<ŠmX™ õÕ8ÓCAâ €_òÍþaÅ„(.‘}kœphõqˆOT I•w3jóG¨B/¿õÏ€ÿ¬Ï¦©lôV1r7v4áNߪÒ`%›¨èº€]CôZ`¶´vA«€¼‰õáÀú@7ËqO×ýðÍÞ×óÈ "ÀÜñGhó«a˜tà‹Dc\â†ãTŒzL'‘Lûç\ )@ó&ôÉÀ¸0‚,YTœ‘Ê`ârÕåúš5¥×/ëŸõëº)»å’êÄ:÷‹÷ä3tº˜–盫\ó¶ÒQ Q® ¨,.§Š§žVë7Qéþâ™Þ,—£ô¦åTÌ©RN›…Êu¹ \û@WÕ‹rUÎU…*ƒÊÇfúÚ#)¯ëzšÿ킱•É䛿¼ÁÕ!êÕ5ú´!€@!(;À< C -ö¿cœ@܉£w hùš«’ j´èb0-í;> ¤Ó©ïÕÃlßÒ(ü0HWÂFu^t*Ï…¤nêKá#ê#½}Ì»$oUv ÖÓ† QÑûÏ’ÒÌ4WŽÀY^˜ S½f° ãÞ˜~·ƒ¢ììK¼E†s˜œ + -' ž#U§¸ðË`AžŠgбIÄ”×^Qï‰m߃íÎÁÓ^ï¡÷ð(œO¼v'æm.ˆ×b·œGÎó•ø“Ðœ0æüH‰©)–]5‚Á3ûÀù˜íðª•\§3̜뤞vJü(AV®Þ²eBž¯r$©Œy·ß¤ÉtTýúàY¯g €'ê>}òäé3 5³~ÁSú>g‘1 -þŸILŠ%ºôË´}‘¨Í(~ߊl0j³fT×Ýüûχœ©™\­/î!º 8ìm$ ºýÏX€†5[ -Šz/ÌÙ[icÀd? eEàÏ€”ÿPŠQ÷‰Ç&}¼¡Ós,DȽü -sÄ­Sœ€©ÁßÂ{°C£Cè"wbH bã–±#z° "R£»nè6 ’C¶Ð5Ñ¿“çÐð€@¿OAÌk à¡ß‡¹^{ŸQgƒIóÿMž<‘,½Ÿmn“eXM~‹p ¥Òù€`cº¼¼þQ0šŠ',|ùÂ9ˆºAÓ -ËϘuþð×i&êô%ÂRKREAwbvW‚êêôE>w•‰K®hZz«†ç—¿«Anª¬X°IQ$Ù¡Êÿ -+f'1ÇTé>bßÕY¢-¤ïºég‚z/ÛA¯—¼Ò‚9µk®èTW‚&ëUq$¶‚ØÂX$npŠ5ù Nƒ³êÕ Gs¬ÊÎb½ÓSÖÕÓ—gàHQÅB€í⾒ܶÔ[y§sâ’¦7xþÃ$Ä»šš”·»ÒæÔ„9£Gòn¤hƒ',vé_ĬC¥zÇ‹môž¨ò$Çb{ ©×À‹JÉ©ïyJ ³àm±+ÅA™ƒº–’1¹\õË:ñêæTòN媬_Q„v¹¦rFÅñÚû”«"¥\¹£4TŽeÁªv0^«tt¥‘óDî ¢¦fã{É>âOè°^®ƒœ\ÓMª:Ïf®P[¬í:v¼Œèu¡ys3Wv‰L¨¿FŸ¸0]®ò¼±;©¯ŸÅaÖ)q–s¨«]ó%Qûm)ê|7“^ª*"$¤½Õ»G@ˆòQ« €]”Ý)‡É]>pÔNëHUˆ_Ê9 MûlxåHFpNL*:x—Ú¬ºá fáñ®šô<®Â˜Ýð` K˜ú|H%+˜ šŽ´c ‡æ®O5«º‹¹ßÄ©æjV[CZƒ¾’=p{ƒÎæ[D=³8‡ßÈs²ßy.V¼¾³›¯ÄÁJÿ•²Søo ¹ã‘¥¯JND„Ûä9•Òœ;/ŽšÓnýKÔa‘ê3¡VÃI›åÈrúƒƒn®¸âüuž<}z_j=mõ)&ŽÞà ÛÎ0ƒXHñùG—xm‰A1rô{}õÅ¥vJwWp½Nâ\<êò×bý¨ZdårsK}+ÎÍj"ï¦S‰.ªUéâÍd|¼íÂþëoûÁƒmV²Ùlúf=@Sú–2¬€BBðÐr˜ T**@tòÔ öïã4°œ p¬ -H -kÝÑ%_ã–>щžvðø³¼ò{RÓ}G*‘ c¦ûI8/B`ÚÞÙþ"Yœi¡÷±1üýdáµ€·º‰R!@ô´x]¾9§¸7©¤„ÄÆ@”/]Ò -t×4¬5€o­NÝBÓ¸>쳜Vªè-0±>1Gê|t¹™ö£ÓrZª—-sÕ!@!fˆtrйÍÌ}ƒ­`!ÀÀ ÅÛ7‰; Êà;€žÓ› (V:ÅCz—Ì•J_˜K£Ð-€7¬Ò©UºYŽŽÔHW ïϤ” °W9{ ú/W` ¿ûÏèžHƒÕ /Ýl±Â«•åž®KâDî˜^M—øV)è™´_ùñQyôLÁÖ>J½hK;;w{½4PR*ž>A…õ†l]ýåS5EgÀLå²®]f]”«zñL‰5©òÝa”+z$µ`-ëŒÿʹظš%¬—«#uZ¨ÆªrôARòÛr57f∔™j‡÷ÊÓMºëK€a{&ö¥ý@)Fý`שKæJ¤NTœÂÒgÕH^T…HÌM\é\÷¯Ñ' ÒᕳDÿqÍU`•ýNìÆ—ÉOWƒ¨.ž# v_4¨¾Ã§5I£¶f¾Þ­cdvÞª‚(Ù…+tä ?hä&ÕmeØ*$i -ªAÑô…w\vÙ&ÎGž~/j9Ç€Žü} ~|@\ªw.ºÓ=Ó3¦}d<uûòu•ýjxnzÔø£·ÓÃñ'~'iÎa1[®°n"zE˜¾Ú¤¡±tîC¡%Y!î')Å¡²×A5çÔ=_åëÖɾ±¥ñjÐíT/9‚ðñ)N½mÈúC朂„óѤñ.”!SŸS¨Ñè˜Vë1š¬Å|âahg˜†rõ¼裭û `@‘(2V8VU+µõÁE‚ñL]ÌŽ»us©s}çƒÎ.wMÙÓLÏNPTÖ83êÕÞtY¯<ªÎ3Ifp®ìR÷ªÊÕEÕÆibU¤q£êf95íV`ЭƲh8%Ù­KtÝà!=ÛaÐò÷àäJ~Ä Gét£?hmÈ6îv·û ôÇ3†i¾#´ˆÛ\\9«€ß+ˆ£ôe&(k’6ññ¤#˜U\ 8Xˆk¶àp@ʶè;¢äEÉ#Ïüÿmçšà‹•ô@´õEk@N"ª›ÈíêRwç¾8¯Ïõ«.Cµa<ù#Cêôl’£O +pç¼ÆÌ·k16u,hŠÔu®ˆô`]}×o5EÚGjÛAhŠt·8&qù4YTû<šGJf'ùËÏС16…xbîð]rÌõÍÜi“I¥Pð¼}’WÌ©C -æDIPŠþ$æVš¢ºÎÕ„ÔsUÉ@+l->>îÌGÏÕ?¡^?a~ÒÊþo¡ü_Ê÷l8`ê®&—ð‹®FD+sCsÄ£ò-©KÓ/d/“ Ä¢#ع£@iÚðpãá¥@‹Øcø4–t×â½Mã†ùLXèÛ¾¶óW€H³ ÷P¦(ÐÊ G#ÿ.Ë5d7e¥7v´@Å¡ZdÀÙ<þf²nàåê:¦žˆâˆr…,Ø@-PzäI†tNQ®!tª{n-~/"¥r¥Ò™’ ÆÀ{å8•Î(¢8’Þ¿" tç¿òAĆMÊä‰I[gx¶g Êž/ÿ^%î׋އ»Ù¿ªÖªzÿœµM!ø;Y:¿íüÖ›bï㌳†\ã¦=V 6ž -puÌmãµpàå:•GOsÙð&€s4~Þ>xd¬ÿ -·¯«ñ¼Y°à¢óˆÔyÌtGñ{Pà0FÅàdÚ?Böï !(m¸,"ïüš`å ®_Ýü€Ûˆ¾‰è¨?°Xé2ĶHcW€šÆº€„{»@mRÍUÍ¡EèØþ eÌšiÕjR0‡© €+¨™»f°ó%PÔÍ¡-J:1—È=©ÐS?€©¿YYlªæMa&H0v$åÑ]Fu||Ôäyíd¯YFaPC´@:öʰuÏKõÄÇØ¬Ê~ï‘{+·µgî㢓¤Ý -j鼜†²iePx}W’°C6Žv)ðÞ‡v´@ýÉU €€dx6xjÇêçk†&Ê7å2}@¸]Šð¿²`—5²nRgW,üAEùˆÄÕ°\–«Â%©³Ú@Ñêöm[®æFàåúmTºqÖW¥Sª’.×Ôed›®85âXYˆÈÒD”+B@‰Ô‰ybe` YÄß[ÀUúÄ!ºU`Ù•).éÄ̲.û¨mm»JÉÐßí7/s)þvížÙ°&à`=šþZ©,Šný–v«cè%=*ÕV)ºÒ©¶Uy²àá¯üP,æ¼µ¬\éÂÓ6DÝÀ8/&•¸h Ó+¨Ô7[òUøˆKD8ÂðcxÆ+I†OŒ9É{Uš’ ÷ä«ÍÞŽ€ Y(ÂHAŒÓ-£,’®+ $­äÕ »[Ïô‘šDVùS5ÖáÜS$Íùu €2Ï¢³%'å*Ç¡G+;Bª|/ËUVÃ9éEo°(õ-’…ÔŰ^ ‹tîß5 7°ÀëI˜“˜IÕ…üPYÿxˆ€V¬œÓ',¼-_®-Á¹âå×€Ñ×·Ñ¢¢ßJƲ4†b;{÷ì`nZY„€8 îã ÕXhŸþ,ôq æ(³±  ò‹ŽÍ!µ.‚ä\—ÑZ³ŒŽÐˆ¨å~(vÜV¯,ˆŒˆ"µ  #ÝÔ§Ùð¬¯òãÔÍÃÊ YÒwRÙð@køÍÝËe€D—>XMn"šÕM¤î޾ø»Ö Þx4®¿½Ù@¯(@ †>°¬ ÇêÁºúîRSä_ëʘú`ôZ÷ºö 6Ò9¬,öPð¡êzÙÔÆk€ î,™}\­¯2Çt/–Ûˆn¶Dh‘0ƒsµ5,ý-Âà @O°zͯ$€ä,îØ$Ð?o-´274'‚` ­ÀX¬·R?õTÀ Ïp¼ÿpãÑSUžÖ ~å‰8ŒÁÌÿÈ*ÚbEcØ}-õš ì”çäÒç]„V¹z`‡ Ê9^·—E—>ô@º6©Ou ÎÛre XÕàÒ@W•+ À©“qgÖ4æ @„v¥3­,/>´˜©k´¡Îí×>è˜â[Q8Ý(Èu @§õËD’épFŠ @n À» ª‚`¸.(%VAPšÔ›,CzðcnJô½D1ZÃjÌg|ÚÄE] v_*Ψ†Áö*ªKÒe,/óc,ÍÌ}ÿ÷­À9HMVÙìŒ^·(ÕUk0xÝYkˆ!€-Á9lJŒn-\N/pôfº”+­à®—ÉàýÆÌf"÷E)R[̺ÞHRâÚI;M -a[Š¢#¡“_±­‹×-z% 7Yh½zo½<¼ˆ¬ô‹u /írð¼ÍÝË7V³K€££2,Ñú¨-«ñ“èn.w;P´nÿaàîmå‡1è¶? - €ž1°©¾ês:¬;w6n´è•ØÅÃÀñ[ÐŸŽ ç (l8´ùŽOA^®³¾Œ®î{™‡â„_Ÿð€CùUtfDoÓÖ ]ƒ1_jãdùB „'xzèÒ "÷›|¢À]g™;û;ŸßÙº»(!ÜŠÿŸì@̓¥±×,êé‹ípÀjË©…Z €êœúU4WµÔmüW‡æaÚ›-c6¡½ð<[GÊÒ­ð¬ÔñQ^YB:™ÔoûáÒ‰Û›)W” >•z²$@±ªEø-u}å(“|ÒúØp£@ÕZhµ¶XÝN>¶ý·€,ÑÇE'I»µàZ¥—± j-7úÜÑŸªÊ½«qÇÌJ«@ð̸ó² ¤:å2½ÖÊ`Ëœ•Æs²î @d]"C,9g ê6€@Ä£ÒU5‹ýE¹Â®(<‚]ªt¯í Û*uWº$`Ù!KtÅ©Q®¾³¤áˆŽƒ¹¶\?ðX³(qó¬(®Ñ'ù¸l-áæEyB:¹´è/¾(Ûë¤K+ À y j¸zèïèú€RS¦!(³•Ȣ̰8×-z†üáȵxÕË$pƒ²Mœh°8EÒ¶ð¸d€—X¾CÆ RÔ ú çaXxÍ`ÑØXH€•à ÀþÃ_³\rn~õ¥û>¼BØZìPÕ>¯.RåçXœ£ºé¿|’±ò\™2ò¯r•ãK €ªò½>"½ÕлÅðŒîbÍ |)¿w÷±îðûA¯@O˜“˜YYàÝuÎêΔsú´Þ,½ñ%ç€c2óöOoÿ‘`hÿæolú Ð<°ReuÀ©èŠ€‚‚ˆú„ˆ -‚‡ð¶€ž õ`)ˆkÌ È¤æ¸ëOÈH ±CéAGÄð0dû®°ú÷ŒÙë -qšGNBHiÀ"†ˆ±"„GÇ“ -lè_ù %ð¨~aULaЯÞùW|~sÅ `ó ‚ýÚ,·«HÝzÝK }‡~¯X¤ðª»â²/YÓ_³ '¶Ã±ô¢jŸâ 9âf€qœÑ¡©sºÅ O`À@¬ŽÆ—Ì¡ó´@ JCJÑŸ«Ìñ -æJíT½ç­>UÑ™=o- ¬ -³µ  ¯D€|.}henhNdÍ€ŽDaˆ>œ|?¸Ñôßø ,/-Lb À3äIÏÅË?±£á¥àMûr?Ñ@½âÂ¥€ËUua[ão®[$vºX9oË•ËiÜ飩ËJ -"’ð÷÷XÖ}ÄI1<\¥Ož ¾…Ó‚\·ì]³Ü@º*mToU|Ì@ˆ”9Ø‚+N€7YT]%þˆ…6Ö¹bÐ ³iÎõµÎ9‚>W9O¬“ -XœKŠ­ú»5°‘,½Á‘ì#)$'Îý2×-"ÛºS`5 ^:àk>7Xâ]ˆ{rià+¸¾d#‘.À¹-»Ó—Æ繚dk¸|aqŽ*¢á|ü P3’±,ÔÌmÀ 0nò8½œŽ¯[˜L|£›aòHÓŒú×|”A|³;D—X¿ÝàÇ<2ä~]wÃ@VÞúêo£fØýÏ>íŸdpä"`@Ô ,gARªÁ^ß‚l>`-XÍõÖ «~Ò8l´wt¶8‚fsj®ù&Ub1ús“/®ëK’@hãôó:„!O]ZHK!-èÅ>Éàé6ö~~gKyéá7%|ÑQ«w»jÀÃ?€Ö}qò³³Cü5€Ú—ÀéïòPO³Ï¯Îh-¿2  µˆÂ@½.Í,(|†k>W,\2smkY÷8¶ÀàF[˜i€¯§+ €Hð€ ÀÖš€iNj¿î$i·ê”šn}`°.aÕ À€ë@ø¨9Ý»æpÍ>ÁŒÞýv ì…€.FÖ}‚àh$¹ÎGX¾¦X?ô`hÇå -7âBá™åj >×-aØq¥#1b -@):"CºäL…Áð¡À‡³ÌÆ5ú”!ܧQüÈýÃå édTf×}Ö•ù5ZÍècXù nð°ÏFÒ£G£U¡oòÐ3äÏêAô/}Ü~•9sÞZ¨æ<|¸Ot5ô;\%. FÕÎÊA';S -úßTm,°Ne - â^µ ‚:á=GÓú,€[}(M凮[náœY¸ãÚ ¥é,[Ès*Ž ÑEDÆéålx¢)y^aijשZ«·€xȃûHÏü5 €º¶Û}ÜÝøwôP>û €!(`èƒïu€mO“6Ž!ܺ€Wj,`ìy3a@ø©ÐÓ&wƒ,pÌ/Ø®ñe$çúš€¿ÁhKz‹ Ìëxmñ]õàQÞ†XAwÒ&R€1ÂrÃÀ~Ë,€•,è;¢ü4€«.|ˆê&r»ºÔÝ Z¯ZÔÝþßϸ"ÒƒŸæ·ë¨9®[&øÄ,„×Û}̳ðדëÌyÀð×|s°d,ˆfú1€¹¤æÖÛ€À“d@øˆ õmó¸É`@½Uø|¸€’Z³¬ù0dèQŠuxYYvžgÍÐ+9ù©c+<xÝà[¸—†\ϾìtÞ–+•N¨L¥kg°„š ¥µ Ù]±Ü< B»Ò™>6 €&q>i@ÕBy±²¨’è⚀­zHI‡í×´ò`àÅ5 À³È[ŽõB‹ã°¸>sK’„n‡èã´ˆ~Õyc6͹¾®r¾òH”’»NºÌHº}ö¯ZÒÀ*ñ”8×%á|̃Èí À§ûĻڇ>·pþZ Ã@©åÏø¬È}QŠ´õXŸ‚ùfµ0ºn`_j¿8½œ.¶€ÉéÉp³£ï:š|žY6ºæð´×ÿ¸À¨H>Hän z©ðHU‡Ú6£hs ÙŸbœñù¿é{Ýà!€è¬D7YNQ‰1ðÕm³ÀYaìGfè_œ‰2ž½iÿ?BþßÎø €$ÜùüÎæ½+ëÜB”ðMÆ©½b°v{Í 0våpÍà±bW“¿Ó@Ð+ßâ°fàá_ó¸bXë+ªÅ—€+³ü–ÄŸ‚c­ÀÑqøÜhHëX÷ïñ}¹€èÊ$[îÿ¿øè0yÞî€ÑáÎÏ”øM³èYÖfˆs˜¡„Ço‹Î úæÃY°×ŽCdÝ'ú8ü³˜’ºêpÝìÒ,€ð@G×Mj\j&Ct…ÄDø;|Ö,â.,Ô¦+ToH&úµá“,d†X«Ÿ+Ò%[†å‡>ÉpùT; @—h`É€½nÐM5Ô#ƒŽ)Y.}3:8_ù´œ‡M%†Û-ž>ÙC[YüøŠ…°Üè qG‹zžŠbZŸð@"¢—Š0â'/è¾¾6 @et™y+âækU¥dÀVh €}¼ XlŸSåsE£æ<|Ès*Ž^ vET}œ0M)vuÕËÖ@÷CÎß?Õ³îÒð¡0óQ sö“€…¿”sú´* ó"D!ºÀ9ô € àfúíºC[[¼¨Í‡ë¬Ïؑ쀀Ÿ? ö¹þ £†dðôsD¿`mÒ¾äƒY`»C# - –û¡Øq=H“†Ý£ÈNHñ’‚.;€‡$?Àq žÌß××HßI —ôοº@ÀÆg›WÖ@6¹‰hW7Ñ€úª`åëYcö»&ÄŠê—}±ħù¨ºqÙ>–Z¯XÖ|¨º·û¤!€5€uæÔ¨mb×)€è“-Éà €Žc€-6²¯fx! ;ë³þn€›fЕðVáðá,j‡ÒûЀ~1Å>J €þÖ-7ùP¬Æ%ÿ©€È:-×-’Þ"Ÿ¯øHãSÑáéiZ•ë§Ì°iÇ̉èÿÙ@“ø€>É€W¼´$å=,ý¿Ç À>cWÇT‡×g$ ﬗh}Ò#knÝW,¦¯Axñ_6Á9€p¹_ü_2±"]^­pÅ àƒF”}âüC ÀX™2Q±Üæ°0£­€þJ¤ƒµuü%b#¼k¤VF‚¶ìNÅóËg‘çj’7Y’S¤7øXÆ3î‚®Z -,)>=CmAøT€˜ð+>R.?n]ñ ,.}âkU[ŽùT€ -ºþ}ÅàYê­Ü}¾õÙý£ƒ‹FûíYÿè ¹9H '8Ö‰e€øã`µ¯³¾¬àq/†âÁá ‡W³!‘:Ïð(dmßÉéšÍ ×`Ì—¸ÊEÅÈóŠA‚§‡.}"r¿É'úl¤‘@åó­/þ³g}¿U=Q§§Z¡Ê#?îé‹ípÀjÞË4«G¡OõøõYæHm€µYêu¥ä$Â@ËÀ#ˆ‘$(Vµ.™¹¶µ¬ùHWüõuh´xå^Îü_ƒ në³þ^x¹6 àÞ €p¸Áð E o~q€½û§ø('"ë>ÕµòC¦v]õ`À7#J‘’Xù€ÿ®tá Sʉ*–`ñDWHV¤0·ø@]@‰[tQ×h²A|ü£‚ÓK¶z´^Àdµ°²PøþZÃòuJ€Á5€´àúCbZ2² Jé+Vlg8WU¹D’•?V:-A~èð5ì+sþ¡ ]ÀÊ¿¿ø¿F\Z­pƒ€î¯qÄ%"¼îç4Ž„zÏo¶ì¬  zé#qN·@*W-Wyh‰›¯©JÉ µ´>Ò>§Œç×}®ÌpË!ãTé\ ¸=Ä6ü¿: àɯûè;͸aÁÌÇ-4‹˜@+¦¶¬Yü¶+ÎÝCñûilýüqû_?Ö‘±,-f Æ˜µ›]ñPPñ·ö ,U4ŒÇ9zê#˜ýÈ,Ýë:ãéøþ»fx/€Z”¸#'¡@w¢køLOØ7&€þ•RB<Êk \›p«@ÌH€Ï6ì?s€”|)]:SÇKàöCiûâÖ@}ñUÀe_¬?ÕÀ½î->këÁ¯ø´ëè•ÛzL¿„€Ôž•À'ÏH+ÞêÀ,€ÖÀ@òX·èúÏñ@ ßo^1㎾nXÀCaP£¾……€®ÌøÏö€®ÌXYҀ뙢ÑO; Pç«rÕɵYô¼–ÒVU;õSJ -"úX@磻ŇjúUú´Y¼âÇ,«uøòÁ´ò|Ì€ ³4_ºbPƒi}t÷w[ ºbˆö(,‚ÏøºÊù'ûx£›|F­`õØÇ}”yŸæp³ÀŒ;§¯ùðu#çÅXu(ù(sÔ—­ù¨Hüd¢¶/BLn}‚u½€$:ó¶—븉§ü˜@kÐ+Ýìà…ÿÖ}œÅƒëëô~ÿ+눽¯p<šÔÄ,8~‚àë„87Ñ ³èªô%…åƒu.g\Ù ]™¸@k~Q¢ÁYKªÁ÷uPðÕ]% €.ʤëáĈo æ¡´€AÜ1E(Çbôç¦¾Ì 2wtÉÄ-®Á"É´kÒRH ŸhH“ȽÏ7Z™IáœÇ7%|qêÝ®­0û–Æ©Ž÷ªÀú,€´Àº€‘œ CÑ£Ð'ûü³nõHCWf¬ÒºÁàŠÀo©ë7­ ñv @; dUË]³Ä,Àu Àk€@üè$i·¿æÀC×VÜÚº& ÿ+!|®­` ¶E©ýJÌ>Ò.`† ÀÇ|þ®Y×|.ËÕPR×}Ú…€( âSx»(ו’„Ë5 vˆDºBb"=q‹Eû‰ë|@ÜÁ}ä#ÒOkhó#ÀH'Ÿ8 @—nñ¸i%@51e PCKj4€X°@é’ÐÛó [è>„XqÞZ¨æ<|À)ª «¡ßá*qéW}V€}Tn×}nœÀ:7[(M凮͸ÊCKdßk)èÉðR¬Sé•åk>-©ò¹¢ú}ãue^Ìp×A½¼nH>0r«à¶•_Ò]¤uþp»À¯ZÖf|èÀ›é€§Ctsè“,¢uº<¾²ÀöëG-’}¶ñ‘Y:ûû_±àí³„±Yà˜_ÐöXÎu¾õð7mÉ@r‘y|oÂÂÅGħ'ÅX„U‚£y"uópÝ’àÚ,€[}~»† àÎFLüÏœ ó[,¾dÀ먋ýu À'ù8ü-ë¬í€ðú+ë´{¤…€Ôå§äOôÅ)€( -èÏUæ`ÉX­øVÖð,Úì“Wæ¯Iÿëî”îG|Öf\ñX³(1,úútAî§Z"ëJq©À7ú\›ðÎIÚ´V®Èu®tXÆÌàyº§u ÀÖ:ФiW©žüÿò/Öve¢IEND®B`‚ \ No newline at end of file +¤lr;rÞM8ö@¹Ð$_°ZxîÏŸŒ 1Æ%]Wƒ„*„C|U°–øðæF ŒUøa,’PÕœ +!¬M¦3_ðõóçÿæÏÜ=ðªn}À“€o^¸1ŽŽÄÿr€+wƒF«´Œñ†QIòî}@øßxîüáÁ  9 +˜P—UsggGUU¨â1*•Z­Ûë÷ƒAÐëÃÑh<ŒÆWÀÖB­Øå7ØÒ´Œ–‘µV«µç)€uØ>Ø-­LÞ²,«Ó±x1¿ì»ù¼fiš•×ò»®¸% °÷ܡӯDïù¿ªe„Pˆ?÷#„€ ovÈ}#B‘td%àÓA‘]»$»!@¤9D·„á°A(‚"i€Òiàö¸I@?½A—@y€4B |^Ù”Ý> M„P$ + Bˆ ýp‹%Ðj3ˆg Æ«‹~BÒKب%”+pK ^]¼¦H…&" TH.‡»ãél~||||üdødøôëç/|›Á–5€×wÈÿ» +àÇU6n©¬p*F2s›`ŒSÂr +Â(„P +ƒÁ€.z à‰€@0 ƒîO=`ƒ`  ù›  ø»É` èþª{Âò‹ƒüÃ×â`0‹E£š0•L¥RS~ÿMVeÌl4Bã1j•ZözÝ^¯?F£þ`<Ç“ÉtyÖÀjàìúwVÖÊhÙÌ +Í; »ë@³šÍ=KÓòZ>¯åóÚ®–ßÕvww—;µ[‡~}øÿ³ö¿mdYº J ‘6O‘«z9I;¥$eWx3SC5£¸•LG' ‹´v+£;væŠØe¢KDáĸã²3û¬º. ˜Á} “%v–§u¨JA9Ó>T_]õ9²ßüVBÝ~lÌË©ì‡û°#øC’Y5gÙ–mZ’mí/¾õ­o}+“ÉM˜@<‹ÇcÉÙ™ædrRؤ’©Ü$$žœ >H&S©d*—J%åV®\2™Œ­„MÁ•••¹ ·šKFÓ€7’ɲU/%„Ì$teee5—Z]}ªändäþ¯d<“Ë$W6V2©ÜJ.'w„ll¬ÎîÞMÅ¿®Ü vz4É8(J…VjûÛíxK`dàÍ%@Ayïvú¶N÷·i¥Æ†£Ñx<F/Gƒ¯ÿi2 øûåó…½R!_¸WúïÜHü»Tê]Ù 5þ ±àc3 °€=bìÈê½,ø¨ÞÓP¯ÓÍMmyK¹¶pkii‹–•MZ^.×µeeYQXy¨¦h]ºµ´¬,Qí:]Ö–65­¾E­òæò’rKK×7µ­­ÍÍ*Õ´2,SØ,/•«å2–·Ò[emsiyùÖ²¶¬iե孥ô­ôÂÂB,¶ Ñzµ +”Â@g,3ƒ@pÔ Ï¿bG_½^O‘Y•Æöv£±Ýétöúýáðp8ŸŒN®€ÖD|3ìý§)<(>Xyð`w£ØÚk·ÛŸ·›ÍÝg{Íf¼¹±ÑÜàó€·q)è%s [øÉD2ÅâÉÉs=Ê )€ÌÙ +%€Xø^âò…‰\2•J&’©L&™ËL`%·’›ëÈa€dâFH’ÉñébÀd¸0Œ–‚"X‘»BWVVd ÈêÆªì„À rCðjî;À7—D @Žäw´Êövm»Ó¨hëëZEÎÓ +¥•J…V(¥­ÐŠaPZ¡†^©¹ÖZ×ÃÀpJ+”5h͈F⌊®­RÑ+Z©„Ô Ò`Û°ÝÙï÷†ÃãããャÁ×ÿ<3 ü»o¾ù®5@>_ˆJ€ÂÐxÛ8`âú»‹©¨ J]¿~=1ÿøgÐh”ŒJÅ FÅ0*ºñШèº^(Öµn+…‚²˜N_O§•÷¥ hA¹­”Û‹J¡@? +#“ßS”¥Â+·ebº¢(ÊíÛ×SiE¡rtªð^J.þTEÛ,4­PH)EŽkÝV4M+hZ"N§ÿ(‹Å”‚¶®iš® +%£ÑÑ+FÍèÔÒFÍ€ ¤ÓØ0jšTþ÷ûÃÃþp8‡ÇãÑô¼ âW—{{OÔ"úwÔ­Öîî“)Lµÿæ<‹í=ÉŠ¼¹±ûìÙŠÍ >¹óòöGo¿±üO$’Éxâär¹d<ÇcQìWHö²½¿Ô¤ˆhAT D‰©\&@øü—±¼Éh-@*'s½Ãqà&ÿL.“É­äVW¢«7"HF¹‘Le2w7VCîp#“L®L`U6’ñD"þ6øæß.ª€Ò üÿÉ¨ÐÆöþ~‡m× £PÛÞnlÆökFc»±]ÛfÛÒ0²½ÝÙî4jÛÛ¬³½]kHëØv­±ýÃFc{»1ùåíFg{¿±½ÍØvc»Ö¨m4lP3jÎÁA¿aÔŒF§Óé¼ ¾þ/ÿõ·ÿ2³ø;@^>ï/h¿O ñæNàõÔââ<Äæ¬À–ÅØÃÀ0¨•]£B%4j››eÙPE[Ò4jÚòf™š››e¹»KÓÊåòf¹úmi²C± hšv]{oI{oIÓ65º¹Y^¤š¦-iÊ’”–ËÚV½š¶¹YÖÊeM£[eZÞLi7ÓéXìZ,­È(5 J fc¬!a뀢(Š®ÕjÆv‡í÷ûýƒýƒáðXòÿ“áÉè Ëç·h{{aßäÅbñÁJ±õ4lJ!@Þýæ“'Ožüõä|Ñþ¼Y,>Ý“"`‘7‹»Ïžýe³Ùj=i‹œÏÝýâ \Íf¬ÿW€@"OÖÌhÉðŸ¸âñÈò%’ò ¾»ØÊ44xr$“™dòF&,äbÀLj&,€•d<ˬ®®æ$äVV’7’©Lfec%“ËD%ÀÊ ¸›Ë­¦âñD2ñVˆƒÈ[² 0€Z­V«(Fcÿðà ßhl7ýÎþ~{¿ÓÙïtÂvpg¿¿ßßß?èoïwö÷ƒýþÁ~§³½Ïö÷÷·;ûûÛòeA¿ßÙßïôû~g¿¿¿ßßïìGëæ·Y§³¿Ý¨moï÷ö5]7jµZíè?F0³ø;@þÝwóRÈÿa]€·–×S©i0T g€;lg‡@ J+TŽÞ1=äFšF©rssQQÞSº TÛÜ*kå2Ý¢eZ­V·ª”Òjµ\-3º¹LÃ?ùð^¤Ëš¶¤iš¦mmRz›Ê_«Vi¹Z¥årU¡e­¼U.—«eZ¥[´LÓš¢¤Ó ±ëKá !€R`ÐgP£ë1X\\T4ݨmÖé÷÷úûÃÃáñáðøødx2_]<}ZŒO2Ág)À<„‰ ¼X,>P‹­§³ àÉ“I2ðîÓ3E2€Vk·Y,6‹|îÎç0 ø6óOü*ˆÇ§€éÏ'fjÙLNŠùgMÊÞ }ÅØŠéåwo€ —ÉIZ¿º²1€d,\þŒ4€Ìd2“YÙXÍä&ÀJ¤È·š‹Ç¾…ÌL|3“ ôꟿ‚ *•JE[¯4ØÁááA_^þþÁàð ¸Ø?<<ôûÃÃÃÃÃýáðð ppp0<8îöûû‡ýþáAÿ ßïöûýþAÿ ß?8èôú‡ýýþáa°ßï÷ûýý~Ðïìoš¦†aýúÕ´ 8] ðÍ·Þÿwóù{…Â@þ¿›š¯ÇsÀv,‹Öj(Õ)5(–©®éTÓèæÒ-º¨(¥e t³L«å­*Z¦4Z0LåNððé¿.ÃB颦iëmsS/Ó2¥·aS£”nAu«\5«Õ*ܦ››-—·êÕjµ^¦Uz[SdºoZ«„»FdÖ+ƒ†lö‹Ú€•J­Ö€Æö>;è÷ûýƒÃÃãáhx|||"³Ãsbß +íbè,‹Å•bëéî“'€ä ½×n·Û­b±¹±±ûìÙ“fóéÓ]ÉŠE^,nLotšÍf³ùVó_æ"L 1­B3@ +iATÿÇ#šÅc±¹wŸ‰ÍìèX™€»«©/p"2™ $9ÀÊJwWW“±d2·ººš‹‡ § s««I®¼ÿ~TÜ C©·ÀŠ¿ `{{{»Ñ0*°¿xxpØïî‡'ÇÇÃáñðX‡ÇÃþðdxxx<J¹èd8<<勇LJÇÃápx|0<‘’Òð |ýáðððð`xxxpxxpÐïïwÀ¶···ŽŽŽþñ¿Fq ¿‹$€oÌçß0€?¼ ð •Zœ‰Y°Ã˜Å20(†´F £¡SMÒJ7—ÒŠ¢(Z™ÒêV¹¼Yý ^¥$¨VMÓ¬­hò:ëšF5º©kt‘¾ÍòRZ¦¦ÑêÇUÓ¬RjVÍjnÓ2ݬ–å;©–)ÐÛÒŠ. €Ü†ƒ|Ìv,‹™pûömE§µFㇵmÖÙúýÃÃáááñèäx|zr,ÓšÃ󸞶÷öÚÍÅÙ ½;Ó|ò¤ù¤ùäÉ“f³¹û×3çó 5€ÅbëÙ³ÝbÈÂ@±¸! ÅfsƒsÎùoòæ…Ü‹'3Ç + 1÷Œžý‘Ö/gœ’³õ±09 LëÉ%cs«~fàÎ]ÙHÉbá†4¥rÉT*—ˤ& ·ººrwuu%“ak2«3 “¼»±±º"K€ÕÕ\n5w#öm"àœèw¿ —ýöÕדPÐãag]ï쇇Ãááápxr|||2<œ G''Ç£“Ñh4<9>>G£áÉñp4:$ONNއÇ''‡ÇÇ£ÑP>GF£“ÑÉáÉÉÉèdt||,ãfŽ‡Ã“ãƒmI)úý~ÿ«_ýêWÿ4#ün2 üÍ·ä¿ûîŒð‡uÞB&³Sp=‹M‚Áàc=Ø¢oša0yùªtù–²¨(ÚVµZ­ÒMú±iÖ«ÀªU ¦Y­›¦\2ÐiY£”þ@® §?ËÃuZتÒ2ÍGCý@?¨š&€Y¨V)5«ÕjݬV©FË[·5MQÓéØË0` +```2€¦eY2èöíÛŠfÐZ­±ÝØÞï÷ûÃááñèøx|r2Çß +³@|:0ÜÞÛÛkJð"DãO¢5!³¼á‹)‹ŧÏþß­b³õt·Y,676¤ð·!ßïF“ó&or.—6g 1¿ÙãHÄñé@àL’þÙ›€ã† @þbF>Ì3±ÜÊJNVr+³ ·š“3Da9‘ÿd2—‹Ü„«+«+wWÃ8€œ|#~#'s?37’ÉdnuãA&™™€ÜVîæâßß|sq ð_ÿõ_~ûêÿœvNö Zcÿðx8<<O†ÃáÉñèääx<ŸŒ‡''ÃÑh<NByx8:NNF£“ÑñÉÉÉñÉÉh4F'ã“““£cùâÑht|rr2IMéd4:99ùúäðx8<Üoì‡`3<üú믿þ/¯ÃÍÀ³KÁÞJR!È.@þî¼®ÿ»Ô»‹·gK€ð¥ÓÕ&”€š!ïVßÕ²¢-.•«å-yÓå3ÿª¦ù±i~ ÕjäfA-DJé»í„êÖVµÀª`šUÓ„*ÕÌOL“ª°cšuÓ„*¥UZ]¤š¦¤Óé?R(˜J?2Lfݬ ¬žµÃ3CP«H'ðþþþþA )ÝÉÉh<Nϯ€ÖÓbâ*˜2€Vû‹½½'¤È›Íf±È#x2 »W@qšüé³g-i¼¸Ql6›œ7‹Myå¹.Ã&0É+¾2Éd&žHDÛMã3¹ÆÉ™f@"‘H¤&šÀäþ'“QûP®FL&“Ò\tE H¦2¹\îŽ\ïÀ¤t&3ɤÜH8¯ä’ñÜÝÜêêj&>ÓËL4€»«‘°²ººr÷»0€ ã¿ U€×¿îÿ"x ‡ÃáÁ°£(°0ކ''ò™=:=ÇãÑx,¿(Æç§ãñéñxt2>G£ÓÑh|:>ÎFãÑèôüìl<>G£ñéè||v:NGããñéød<:ǧ?ŽGÃýZg0úý~ÿ׿þõè¿üæ_æ—‚|[ P>5Ë +` ñ6àúÅÅ9 Z‡#Zmšf‰…!À˜&cA€Õà#0ÁªPE«–ËÕjªU +Õªe²À4L¨~òg #û˜nJÒnT¡^Z E§Àê¦ ¦iÖó“`½n˜Õê'¦YJ·¶Xžjš¢¤Ó±% +¦É‚¾üÄLf2fÖÝ©‡ÂcŒM öÃN¿¿pÐïžœ‡£ÓÑh4Ÿ½ $¢Í WÀÓöçŸïíFÀÆ•ð$r´gû€Å• <(n[Ïþ×v“G%@±ÙäM.W†É¼ æF³¹±Î CˆÏ<ܯL2™§c±iko:Öþ(5%Óû‹ÅåÚ€d,OÞu,Š˜–‰d&™KM@&l>dVg@˜(0+döwn5€÷¬ÌÀûPº±D"ñ­F 0B€ÿß?ƒÁ ßï÷¶•õÚþÁÁðxtr2:99ŸŽÇãñxtzz~zz:ŸŽÇ§§§çãóñéx<ÆãÑx<Nǧç£ñéøü||>ŸžžNÇ£óÓÓñ©|§ãñùÙh4OÇ£ÑÉñèää`xЩ5ú‡rÚäÕ«W¯~ó/3MÀIàͰøî„þoÌ\¿~=vý->€y˜ E¡P( +kë¥R¾tï^á^á^I¯èz©T*è¥B¡P¸W(¬—J…ÅërÀâíÛ· …|>Ÿ_/ôõÒz¡/ +…B>_(ôB!_Èçóùº¾^( +…wåÈÖ× …BáN©0=ù|A/åKë¥õè‡ù|>_øw·¯_ÅbiM/ +¥uÝ(È¿’®— +¥‡z©T*­—äQEÑujÔýþA¿xxx||rr2:GãS™ÓpE Ð~œ2€ø• àóvÔx\ajïµÕø”›ÅÖ³ÿõ‹]¾+ Ùlòf³8sß‹!ð&o69—J`|zÞ ‰xLFLwÎЀäüÛSþý¦py@l + *ÉpïàªÜ3&ƒG¦ D€ä•YXÉ­æB `c5—\‘‰$É»3 ô%¿\Üð¯¯ŽŽŽŽŽ:Ng¿ßPÊúÃãÑñp4ǧgãÓóóñËñùø||zz>ŸŸž¿<=Æ£ó³ñÙéùùøüüt4>=?;??=ŸËeŸ§ãÑøüìôt|~~&ßéùùx|)ËÇÇLJƱÝß?èlooo›¿ýío§€h)ÐŒ€yÕýO-NÀŒè˜¸þ]‡®Ïä‡Ê®f@°Ù#€Á‹k°GAéˆc]Ò´å*¥f +Û±˜ôØ‹ `&Ì*ý€2.l ø˜õzÅ@®èÁ#`ÀLÆspʵÃ=ëE˜–ÜøQ¥P¥šv3NÀ 7x Ûþº6`Œ¿j˜Ì„ŽÅXÀ^È@[¯ÐÚÃFc{¿³p8ž OF'ÃñéÙéx|>=sÀd5Xü ðt¯½×æE¹$€æ \élïµÕ̃§{ív«ÝÚ(›ÅÖÿül¯@s£ÙÜhn4y³¹!wŽ4›¼(‰ÀäðÙûÇãÉ«A@ª€Óå7à¤/0UÂû‹Åg~C|v†èjP&ÉLÈ|#šàMfr¹IÀÊÝYú¯$“+9¹ ,–‘™@¤dVW#pbˆ'±ÄÊÛ€³óxýåÑÑÑvc{{{»SSÖFÿp8<>ŸŒF§§çg§ggáÀÞÙùÙùéÙùùÙÙùéh4:ÏOÇgò^N_žŒ_ŽÇgç§£³Ñéùyø‹gçã³—gç§çã³ñøìüüt4>G£““““ƒNÇ€Îö~g»ÑhÔûÛ¹DðIýÿÍ¿½‰\O/.^b`àm°8×LLѲ,Ë*PÀdŒ1С΂ºÙ³˜ õ ´&Ðåå(˜ l‡™¦i‚iY (…*˜Ô …z>¢Á ÜTlÖ‹„¾|ÄÀÜaÌÜÙ1MË2ëUJÀÔuRª•5åfúZŠ˜`þ…e°ÁCŒ5€±Æ€1ƘÔj5E‘qµÆöþþ~ÿ`xx؇£““Ñxtzz~6s.@ìmÐj·÷>oÊ`C¶ç`6üéÓvø­ýEKͨ!I±YÜýÙ³g(Î_uÞäœó™57šÍfüòI^h°wî_:1ëˆä€)ÿŸÁ‹X,1/!¾2©T*w7·š»q#™‹‚%Èä’™\.9£„Úßäj.—[]IN vVsÒ +œÊdr«R\]‘ów“ñXü[À7—T€ý×yýŸk?¬ý°VÛÖ•J£?‡G‡''ãñøôìôììüìt|z~6ŸŸŸ¾<ŸžžOÏNOOÃ§Äø|<ÎFggãó³Ó³óñÙéùùÙÙË—gggç/ÏÏÇçççg§gãÓ³ÑÙùÙéèx<އ‡‡‡ýý†QcµZmk–D5À¿½Å´xýz:•š×þ°Y€Dâ­Ã@J€ˆAä)ÞR€‚i+Œ=‚ º¬,k›r3(+˜&3Yx¥M¨Ò(P”†=:“‚Ý”¯ª„¿%”ò3”ñL  +@?JšF©V–"@І¯Ô#`¬ÁXÀL€:c¦ †¡(ʺV1jÛÛl¿ß?è ‡Ãé8=ŸI)à +'à›Àß´ÿ¦ý7í¶Ìýü‰ì†>€ÖîÜýÝ ÖnµÚ­V»ÝþbW]Y™2€bëgÏž=mîîî6‹Í"çÑ•M†|ò3¼þ/~å¹1ÉdRÖ/—ÿµçw„ûøE¬ˆÅg ñFˆWs“Dd2)@&“IN½€rrÐJ.·²š»9ÉdéÉ…©À««+««wå Q,žˆ%B7Ñwb¡èõ`0øòðððpxxظ½¨×:û‡ÃÃáÉp4Fggg§§ã“ñÙùè||~þò|<žžžÇçgçç‘Jx:ŸŸ¾GÇÇ£áp8ìïw£Ö988è÷ûÏç`f-à7Q¤éLçom-Ÿ_üw×Ó‹©ù.À< ð¶qàÅKÀõYX /.3 ÄÀª›ÖB`u«ª)Ë››eJ·ªÀ +Ì4™¦Éêu¨›!nL—€-Êef>hŒ ˜YŸŽÖŽY¯›uÓœüTµ:Ði˜¾¬¤Ó)Ê¿5€£ÆcŒlÇV—‹Ð’(­Ô¶·Îà°?<<>>ŽFÃÑèôt<>?¿É +œ #A/ÀOž¶$hµÛÿÏ/v‹ávÐbq…·~r&KÁ[OÛòÛ<I‘[Ïž=k7ŸH¿ÉUžüÓqþ&ˆÇã7nÌŽýÈŸ›»Ó³ ­;L„÷ÿÂõŸ€_è%Îår±Ù&@.‹ÅQà×ÝÕÕd2î‰'¡d&“JF™RÈM}«+Éx,9Vïf™Üêƒ „@,–ˆ%¿¾¹8ô/¯¿ürpxvvvvöòÕ¡’ÖŒm‰ÇÃÑñÉÉx$5û¯Ç£Óñøì|$‹€ñéH*{çãÓ±D€Ó³ñùËó³“ñÙøt||<ÏÏ^žŸŽOOGçç§§R <Æ'LJGÃÃ~¿5­R9<{õòììììŸ~ûÛ‰õCóäóï¾[¸—Ï/^¿¾øî<¸÷wÞ ¶8oša½^o°áTÔ>*>%œŒNF'ÇÇ'ãñééh4:>9 GãÓñød4:9žœÆãÑéh<<9> OÆ£Ñèt4: ‚Û®UÖkûã—/_¿zõêÕ« `Òœ×/ÃÁŸwßÍç%H]Ðòxàí"`êª.@,–Ïçóù’¾^*éz¡P*Ý»WºWÒõJ¥’/ÉÜM]¿§R×åÇz7Ÿ/ä×ïÖ×õµR!¯PÈçK…BéÞ½Âz¡°¾^*”îî +…BI¯P½RÒK¥’^*•ŒR©Ïç ùB!ŸÏî•J}½¤ëòÏ”Ïß+¬ËVBþöíÛ‹©ë±Øõ½RI§z%¯ë¥Ò‡¥’®¯éz©/Ý+îåó…Ò½R)*Û¬³¿/IàÉèd4Fã³Ó—ãó7Àƒ ˜k¶Z­V[B@»ÝÞ“À‹ÅbQm¶/”òò_ÐÚ¹²’  XÜhŸ>{¶·×jî>ÙxÀ/\÷y>ñt÷énëiûéÓøÛO2qãFR’ÿøÕÿà2'0¹€çpB^þh‚HZ‚©)D]€„ûCr««™D&Œ'WVr¹L*“ÊdRQ`2N$@nuu%·Y%d’É\*™[ÝX½;€÷W“ó°úí à¿EÀ—_Êûÿê7¯Ž ‹‹…ŠQ«Ac»Óï÷އ£Ñá¡ìÔ Ç£áptrx8<<ìG£“áðððpxÐ?<ãcÃáð`ŸŒG£“ñááðøð°ßŸŸÈ“ýíÎöv£f¬+Ûç¯^¿–ð_{UØ7Q Ï ‚ €òÀºŒ ‚NÁQ?Ì`ŒAÐ;ê}݃à¹Þ‚^` ‚GŒ5X}SÓÊ”*iMÓÞÓÒÊ­ôÂÅ/‡4£±Àt]×@£š’^¼™¾™^XXXXËçó¿ +¬^ϲv‚ÀÚ1cÌúå?|õâÃÁ'Œ}i=ð5S”eMÓèVÝ +˜iÖÙ ]Öô,¶ÜcfY–i2Æv€1ƬދøjÐè10ëù_ª¦iYŒ™Œuð4ÀbŒÑõiî˜[UZÞ,+i­Î,ë—ÿðüªôœ±žõ¼÷¥Ñc9‘±^¯×{¯P(èㇰ½ßÙ?Ø?‡ÇÒíuvzvvzu@n–°¹Å ­§“ȧOÛá4@±¸Q|pž4[»»»»ÿÓÿ´»»»û´ýTê†íö“•læÉퟴÂ6àÓgÏööž6wŸleÉß”Ò_(Jüxú´ÕÚmíJ}2þ­çFèå¿=JIÀôúG—¶ŸÅ" +0âq™ß“ +C2‘94eRÉLjš +œ‹@f†¯ärÉx<€ŒTÞÞ@Öw“‰x"OÞ]]}ÿÁêû®D€o¾¹¸$X2€¨Ì;PJµ‚¢W*FÍh4¶÷Oûý~g»ÖØÞît†'Ããa{›u¶;lp8öÙv‡±íNg¿8žvýýÆöööÁñáññÁ~g_Ž›O†ýÎv¸{B×µÊþéx4 +¿Æþ˼xÀ¤6´tz‰ê t¼ ¿¼iÕ¹3°X¨³ç¥G¬P•ö:ªý@.îÒmñ¶’þÞ÷Òék ×.Åøitº*uYÎã§Óé…ØBza!ö?–þÇÒÌ?ïY&c¦ÅêPfZ¿üåQ‰±:0˲¬J )Ц-k”Ò­­ª¬åY ƒV˜i²£0-ˬ˜¦ P7MëïùcìQÝ´,‹1¶âš4 YfXÈPJ© ¦ä×ÍjÕ4i¹¼¹¬)iêì“Þ/¿zQb¬eY½J‚1Ù·@F£ÓÙîô¥™s4OÏÎß䘀øÜ,ÀLfÐÓv{¯=Þ\báíßÝÝmµ[ZíæÊJ~¶÷³VswW@Hó7š— ?m=m=}ú O&ã±x<~u0-"ÏïÌåŸÞþxÈâ‰+ —.ayÞÏÅåò)ä’©\*j¬¬®¬®ä¤«/¾{#OäVW¦°ñþû«¹L.s#™ËÌ0€»¡(™L¤ÉUY›ð«­KvSÖ–”›i…˜Ö?ôX lÀØÎ+¨| u*g +ZE§ÆööþþþÁááÑPŽsŒeçå›J€Éø„$®€V«½×n‹EéὊÈó?íî¶ÚíV[þ×Ìf’òíÅâÓŸýlïÙÓæ |w7*3ž¶þpH&‰X<ÝãYßObV Ë‚eBèd`$ÿM²BS©T*•Š­\€ÌdóWîÆ ¬È€\fZ¬ædõ/@&·²’‹ÀÊ\ ‘mÀdnõý!¸+K€d"‘J¤VWßÿýÕVW¬^]Ûq´?å‰è¹…˜†>ŸvÖ …J­Áö†ÃýŠÞ蟌NÏ_¾<ùòüô¤f4Æ/_žŸŸŸ¿zùòåh»f쟞¿<{yþòåË—¯N¶ZçT.û;?ê•Ze}[†þ¾<h¥qx2û ¨hz¥s8<>9™‰ž²_„+ÂMfõ,³À¤¬_1«Š¢,É$jx‹Ù½ `P +`Ö+Â.¿Åäç&ûóìÑ×3ŒQ:%9 j‚Y{Á¾ÔJi¹J5E  g%€:3cì!ƒf“ÌEY×éÛN¿xp0GÃãÑøôìôüôüìüÍ vq·æ•ð Xl7Þ +»»»­Ÿ´Z?iý¤ÕúI»™Y‰e= €{?Û{Ön6›Åb³Yl>}Úz;´Z­o¿þ²´ÇbQäŸñI&âqéõ ü‘O H梕á“ ‹Å©TNÀŠ”g \xw5w#]€L ˜‹@N2€hÝ·€¸€\Vs™\&™Ì%“¹Õ÷çÀjÈŸ{ÿýVW=‘;ŽC8çü³n·+@pÎùxòãÑx<<ÞÖjûÛFgÿàxØÑ4œž¿|ùúåëßþæõ˱Q©œ¿üÍËßþö7¯_¿~5jT´ýÓׯ_ýæõùëW/_Ž·+ÚÁùË—/óúõË×úA•ýW/óú7/_¾1ŒÚ~ÿ`ØÑ4m|öòìå«ß¼zõú7'5œ¿~ýêõ«×¯_¿|=nT*ûç/_¿~ùÛW¿yõúÕx›jû§¯_É + ªt^þæõëW¯_Ÿ¿jŠÞ¶ ½:Ú>8ŸÏÏgŦÓ7µÓs'€k±Xø3·nݼ%)6ÿÒôµ……k7c QLw,¶[¦”jÚ²¦É0ãt:}3­Ü¼öÆý×.ïæˆÅbjÆ Æ3Mö|‡1PgŒõê¬2f ªËв¤QZ…ê :ù’®÷cÁc&@ݲzŒ1u“1ëëúÀxÄäí˜eš2nÀf†" #X+•ô†ešìÃÖ¥´º¹¬Ü\`Œõ úDv˜õ°gš&PC2£É4 ñÃíëlŽ‡Ç¡0>}ùòìmÀÄÕ ài+Z €Fø\êüeÍVsö9Þlíf‹ÒIÔT‹ÅÝg{{Ïöv›Íb‘óæç?ûÙ³¹³7w~öì­Zq“aMŸéæÅcrEXTñG°X,•ÊÌÚåjî\*•’óBñx<‘˄ۧ2`ÓÅ_7’€ìôËÜd@Š€+ wcÀ«@X}°ê á‹À ¸Î,xý8îèóÐ?½~3€þÙËׯ_þöuëÁéëW¯BXoРèWÀÙ<œ^bß|óoßü[úÖ­[·nÝJßJß¼™¾•ŽžÖ×Ò!%O§Óé›étz!½° ·á¤ÒéôµôÂÍ…ôµ%…é/,\»¶KSeYÓÂ]Ý‹é¹•ë «5®Éµ[—÷ù†aô,fÖ™XŒí0¶Ã«[Œ•‚)¾1}PÕ–5ÎÔM~ Àø°Á Ë4ÁŽiÖÖNt7M6€Ÿ7˜išÌ²X§¾ÃLÆ€@˜ Œ#¶Öد³^`™¦eX&T·ª´ZÖ–”´fšŒ™%Ƙɞ[Ö@±ÃLfÔ$®ÈPàZ£ÖØÞß?8<8<NÆ£ÓÑéù¹tt_1 0ë|3<ÝûOOÔÅ ^,òjs^|2€'OZOZssA-U`cx±Ø|òÅn~of“'ýdJ0–ˆ†Bª?Ù<ùcÉU;ÒÕ0!Lêò…©d2•’"àE§}/•RˆX@.·²*=@á¦Hxx#bw'Ó€©DêîêƒÕ««V…'„ðçøÙ§ðWÝ®í9^€ÇÞŽ:Zg|BÎÀù˳—¯^_£íJ¥öòÕ Ì1€~óû0€Óó‹À7ÿöÍ7‹·oߎöŠß¾­(JX¯_O‡{ ÓJ:V‰‹‹‹Š¦ÜTþø–í"ž…ôÂÂBZQ–4å;mï6}EÂÜÖŸµµµµÚÊ®ëÃÐõ’^ÑKúÊþ°òŽ®hÔ¨AµJ!^\Ì +ë…B©¤—Jz塞7>Ôu½RÙ®è´ò*zE/éÆC]/•t]/º®—t]×+¥?¨è%ªë2¤]ºŽJº®X2Jº®W*u]×õµŠ®¯ +ëeñz*¶X*ézE×¼®W Ã0*óz%z¥’®¨ëŠ¢hºaÔ¶¬³px0<9NÆ£ñéøôôììôåÙàA"ˆ{ ´ööž¬€i F‚Ékßl¶æûíŸ'PäÅ'4‹¼¸»÷Æ»ÿ6páò‡Ÿs\V1a£_6ô'€ùÄb±\jâS&piHšø.0Y2¬\,äp&R s¡ (7Ó\¹'®b¹Pxð`žܸ!Àû¬®âM`ž\ }œ–ÀþÛÀv¥²v¹˜cçßRüó8=ÿo3kAd  \8‹š–ŽÅä]—“ +J!µ¸¨(‹¼¸¸¨,*…?Vo..*‹‹‹Êâ÷Ré´²´|]I§¿—^H§o*WVüWÀâÍ›i%½‹ÅÒ óBÆcÁ €Fƒ±4XÐéŒ=t X#Œ ss« +”V €GÁ€ z½_AïçÖ``3³:  Æ€€u¶±Ÿ³€1Ì ‚àkãE0ÆÆ‚Aô¿b¡ÑXôô˜Å€êÕ +J:­1Æ‚`-Æ‚clô¯z Æ:Á ‚BAQ*4dýƒƒãá0Ì=;?Ÿ½<{CàiQV¿‰ø…6à<ØkªÔb±ÈçŒ@Of4€'Àn«Ý.ªí§!hŸüloïg{»¼Ù|°Q|ú³ÿåg{o9W0€«/¿œìÅcÒÎ?ëý9ÉÄt¿Oæ’K(Ÿß)¦_Q¬äVV33 `¹ät8Ú)0Ѿ¬F ´…]€»«ïo<$€î,„€/„ë8@øè©¼ëù6 +ä.çÜ&œ#Ú¶¯:ˆ¶ÀW¿yõòj¸ªx=¿8=™–%€vñ(Š’¾»¥,k𶬕µÍÍrYÓèbA£Q¶þÒ²¦-+KRº_^VE)—ÓÕô­›Š,ÒRÌ“»¹ßxn-/+KËKŠ¢ÅÒéôÂB,½0•LÆØÇð‘ ½:”è?.  Ç L·ª›ݪR0Á¬›ìW¥ +JÔß Ô †A)|D)˜¦e2fõXððEØ+€ºiBÝ Ø‘eÖMSÎ –dÿcSÓ4åÖÍtZ¡5À0fYÕë™À{Ñcr戱ºi*Š¢U*F£±Ýé÷÷2 l4dðå[¬À±°;þFhíí5w›jQ.¹ †%@óØmµžÎ0€fñɳ½½½½Ýb“?(Ÿ>Û{ûùâ‹/¾ø"ÿ-—?JúI¸PÅÌ­•±RöËÌû¢8äd” ¯pNZç4€»ïç’S•™\¸èR ›/ro‰¹d"‘ìv]W8Žû#r‘ضÍÑ€p.3€)àexŒèÚ¶ªœûÑEïm%À4í;i§§§ƒiËòDß//+Ц¤cÊ–¶¤iÚ&Õ6)Õ4.Rí=EQd_Êýïiš¶´¬hÚÒòRy+Š¢¤åߛ酅k±ïÅÒoÝå©hÊ’¶¬(ÊRLI§Óß»–^˜jr²7”çh ø€RZ{8B»LßJËu:ãV¨³ ²c±ºiP +_ë3 ~ +”VhР“N¢Ì´Œÿ½Ju“5zŒÕ3(ÛÑP ´LËš¢(ék +¥”²,ƬÀ²v0öÕ/Íi¾S”ºV©Õ éÝ88ŸœÇ£ÑéùùÙÙù«—oò$®ys[­öÓÖÓVëó/ší¦J¨W9w[?þñCY`º%h·ÕjÕvk»ÏööööZMþ`ãM0ßX[Ë¿íòOÖ‚ÄfÄþé#?~‰Ä9éôÉÍ@"‹Éb•¨8_¬äK\fá`ßL °2ãxsàÆ| p×qœOmD´ín×ý‘+„ø‘ÀcÁ9~&‡Û6爤۵=qÌ0gÐW$ xŽÇÑ&Ä÷]×sà;1€+àtvà›uíª£Äb·ÒŠ¢iÚ&­n–7µ2¥‹T{¯ ¼tS+onj›6eÛO£©¶¤(aàÚB,»™~P´²²¬(Š¢]WÒ©t:}saêž¶Õëak€VŒ‡c3fí0+èõz@«uZÖ§ùÜfϰ,¦i}õÜ4ø8‚JuF£v³,«°Ú‹ç–D +u0Ao‡™&c½€™=Q¦¨¶¬¤Ó +ý€VŒ‡ì³,Æ‚Þóç=Æþë/-34ÕS¥ éF£¶½¿½ß?ë@Ç'ãñh|~þòåù˳© œÙoµÛ­§30¿ µÛj·Û²+ßjïµöZTõÁr©hî¶®LÚmí6‹O[»!lì>ûÙÞÞ^kccãA±Ù~ö–‹žüü;ïäßpùÓPÀÄTðŸyòÏBÔçO¤r)9Ù??)ŒÅâ±ø ä¢NàR‘0ßÈdRÉd*—Ë„ ·¶W¿C ¢ãB"—`w»?r…®KˆãyBøÂæø™c;\2ÒíÚ¾p\DZßÈæÑW—Øѵm2eÂñÐ!ÄüØu}ß·mDDü¶.Àw,ÎÏOÏfÀ—S@zqiYÛÔ(Ý¢›t“Ò­Eiؑ際›››š®i¥ò5Z™.jš¦,--)Ê-åæÍtú{iåúÍôÛ`IÓ$fÐë5–ÓéôÂ%0™Ìï1 JA?b&³äPeYfPÝÚ¢t‹†EÔÆL0ëŸôv{¡Kî_…0¨F¥—)Ìÿ0w³¬ Ò ˜´ñË&àŽñµi«³žµc™ëL:¢5J5åæ­´B)¥ðaNK2 ¾²fæ  (šœltúNNF£“ñ¹Ìw{5cj·CÃ^a=Ñ< €ö³ÖUUU2)ž4Ã`ÀY>°;š­šÍb+dͼùų·]}yÞ¹sçÎ;ù+.ÿÔÆŸJÍ.›ó^x¹¼ê©\.•”zÞ„$C!Ü!šLÆr˜€ÌÕ]€\&™J¦r©h^pR¬|{ —L"v»ÂuÑq!ˆ¶í:\×q®䈄K€Ü¶‘#Ú‚#w‘ „;œDa#çrÂÚÜSyÈ> €2€ObO€£‹òø>Gü¿£œK +=ÿ MôNÄ–7i¹*ã¶)ÝÉSMÓèÖôwhÚ&¥´JËe TÓ`q"!Ü’}ƒt5¥¤Óé…k WÚ¦¦-kËK +\/¤•túÖ­›ét$6=z€YŒº5`†lçK€e+W«Õ­©È|Q², ˜ùü/,‹ÕטY}”R¶ruó“Æv˜eü²X¦ìàñcµ¼Û=˲Ø: ‡œÊååeåVZ¡|%0kgDzXðeO†„1Æ ^—NÀmÈùïƒÃápt2>žŽGã³³—ç/Ï/ÀÓ§íÈ9ég4€ÝV+ÑyÚjµ?ß{Ö*ªªº¢N@O®€'¡°ÛjµŸ<(N YÜP‹¾xë¹sç;wÖÖîܹpùç"AgJý¹Í€óR@2,b‰D.ªr‘Ÿü®œÜ–тРÀå.@&“Éä’É ]€ÜÊÛ»®‹‘œ/„‹ˆ!@›‡ Àý‘+„ëâ~&l•Û6¢kþ#W$*Q³ˆ( ­ª9çÜF[%„s‚‘Bˆzßæžç °?îgŸBªŽ/Ð÷Ïñ' e…!ïÿcŸ;Žã ¢#¾Sà²xz~z1zåÑ5M¹»¥,o–储V«4X¬h¬^ †ÒMJ·äþ=J)Ý4Ci@™ÔJLQ¤xíJ€¶¹¹©i›Ú2K)iEY^VnÝ àZ,L×-麾!ÿW3uý¡ñð¡^Ñ+…EE‘á½zéÞz©¤ë®†!;r•оVÊë…’.‡ÿïJ¥õBaÝ(QCöu]×+º¾fÔ¨®ëòCJº^z(g´¨^©èù’ .Ü^\\L]¥ ¥’®‡¦bè+ºþP/5 V Œ¥Ri}}½ ÑZm{;ÓÇ'ÇÇããÑèôìô||þòåËW“Ón?m·ÃÉýÖƒädFîÂ0œê‹àg!¨’È}€²Ømy‘o4ùŸ(ÍÝÝ]™Þjµwl4ò¿Ýäj±¹÷ì[®ÿkïܹóεµ;wÞÙ~óퟹë±äÌ2° @”ð™‰2Â)\2@¸dÎ ˜ËåVB#PnÞ ˜LM£.ÀŒp± @ˆhÛ.Ú„?AþYWH + œ\´ín÷G?r…纜8ÄãÛÙO]$Üý Iô]ÿq…À®°mb#·9wDV%D%„UÍb—{ÜáÑ#¶mÛä¾JÉ +¿ëùžã9]’ñæúQ >ÁÇ}îÇùˆ玃¾ïÿ^Àùùùùéùéé7o¹ÿ”V4%S–4º.تnQÊnWtU-¨ÖëU¨J&° ! LË,¿%-ÀKKKKR +TBfÿ&Ð&-Ë1 z]Q5eYQn¥Ó ±ØµX¬Ñh4ÀÆX‡± ~õ°Æ¯Õ{Ñ{qôâhGƒŽöqµÊÀ0ë,x°//Žž³ì :õ ÷e‰A‡1ÖØf,°‚3MÆØÀú2ƒÞ€Y,8jü^ôž1Æv~Þ`Œ1Ö^ °/Ù¯cƒ^¥CÙ6PJumó½›0X/пôŽGGƒ£õ|0è/zÖ°€, ëÚºV¡F­Æ¶ûû‡ÃããããñÉh4>;;;?ŸOïÿ«§ó0™‘›’y`!´?ß{ZTU5»²¢>i·vŸì6Ãu`ÍV«ÕÜØ(676øFqFœ€b‘[?ÛÛÛ{Önnw¿>_»w¶ÙåÛ?Ù,Ã>cr;x"9M O*ÚfŸJûoJŽ$ãsK¦RÉLT\èÌÎdfKy.•—»9ä¹CÈg6ڶ뺄säŸu»ÎØ.¢m“nWªˆ®‹HáY‡P&pUÂÎá£ëvmÁÑóÜ¿õÿ¶û·Â÷]÷…ç!z¢Ë9'ˆ]Ä®C\!ºˆŽðy– ·ÛÜñ}g +@È„ã¢ë8œ;.ú¾ï Ïëv¿DoŸýîwo¾ÿ•–5J«[U€­*T)e‹”RMÓ¬Vª”Ò²N©YÝܤ”ÒÍ2…|ÖËK! xïúR:N§¿÷†.€F©V.‡ ¤ÓÊ’¤×b±XŒ5GP3 ঌò¦G3ëÃM€År¹\ÖÊað'ƒn™=Ö³¬0¢ƒ•Bõ€R +”Y2æ&ÃK&–ešŸt"9Ò€YG=Ëú‡@*ú‘Ì.P”tºl2(¡˜YŒÕëXÌ4C)Ò4MMÓ$lÿÞˆ‡ëh/À̸N»ÝÞko„0Ÿ‘J™a ¥Ú’öÈ €€í0º^ÿ]¼®(7ÿXI§S±……Ë ›”ÝÔ4øã”¢½§PMYVnÞ”ÃAÒ 8I!P¥7À#™è½ÃLÓLi[åÍpéŸiš0Ðû¥õ–Åz&ÀGTÚxÂlð*˜”Rºô£Ð\T7¡ +úcæÈ­`¦YgF`YÖsëf… E$jï)Ê­›éM +U`%Ròç ˲Âôa`Œ±¨øƒ@ü +0³×nfWV$xºû$\¼À¬ `·ù—Íæ_î^€Ö³½/¾xÖn7ÔâÓo€;kwÖÖÖÞ¹óÎwîÜÙfAЯ$'˾&Žyˆ%“ÉÔ•§„bq©õÉ iæ§|òç2ᨘ€PX 7ƒÌŽgr2)øb`E ú(@ØÙìg6rιCˆmGÀþÙ¤ " +»‹ÈÑVw‘snÛ*qT9QW¹Oq|‡sÇ&ȹ‹ˆ¶ë>ö]t]9è£ÀÇøXD!9>îz‘£Ž‹œ£@tl.P¨~}!8¢Àl×'®ÿ#î:"#f€ ç?ºŽÃ¹p]¿ûÿè>ö¼nWE´IQ•‡s®ªêU0ó¶þ–³¾~;K+M×5m]Ó5]×t]_kè:ÕuªW*º¡ÿ€†V0 +T‰¥ …uM×u +úúzA)h…BA¹½¨,¦ÓétJ&}^єҚ¢(Ê픾¸(_½®1³¸#dÖ€=<’D˜i2fÂõåry³\•€iÖY©×³>aána +A5Y$PJi•Q0ª[4Ú•#,ؘfÝdúQÏ2MË +ßè¶¶(ýöž¢(é´F)… Ä&MJ“1“&cÔ€iš¦ù‡3€xd~ø›vs%»’]ÉFÐl>yÀ샿ù—ùd·ÙÜ}ÒÜ}Ò”5@»Í‹Åݽ¾ä×ÖÖÖÖÖîÜÉßÉßy·Á‚ ¯ÿjî€|xÇ#=?•L¦æ€‘%J±?—Kɔﻹ\2–L%É”Üñ—Lf2“à +€ õ¹0œKf2™Ô\ à"„x‚>: +`Ûˆœã¤@$ûˆè +PØ<뺂 Q‰ª’¬@N÷„ê9¼H¹Cˆ@ŽÂU]ávÑu‘£@‘ DÑõˆ×õdmñ£.á6ž@„sDW çè¯ø]!|— +\ˆ²ö÷2B +ôc–s²®ëw»ÞcÏëª) ¢m_Õ8===%äÍô¿¢SªÄÒËeZ8쌭-`ú׬nÉ«E{ €iŠR/+ŠFéÔdÖ–®i´¬iÕ4 š¢(K¡-èÚ­˜²p… i[R\¬kЦ,+·n¦®][¸»Öxô¨1˜x>w—‚>ˆ‚÷L`ÉRKËeM«V%H˜Œ•˜Ñý€ $û‡†A)­RªQ˜NkU +Õ*˜uƒP˜a`îTv¦ûÉôl|¾§)7ÓiE§´6(Ódl`€i0Ó€z½8ˆ½LT€v»ýŸÚÍ•lveEa!ìÎìj6wwÿò/eK0h·›ÅⓊßwÖÖÖÖò!¼À'lrùÃ۟ɤR™\hŒÅòQ>€d<™šü§®Ÿ\*ŒJåîÞÍåâñd.•”û@“™LXH+ÀÊE àîêe'`2¦…ãÀ¾ïG!„@×Ct¢`²@$Ó>¢|`;H\Á‘b»Hl•u…Á ኢ#8± ÏÚœDŽ®Ëñ±ÿ#n»vðÜÇB…‹È=—#NuJi_· efT-€ªò=(Õ”eÊ(¥[4J÷*Sº)…À›ét:ýGé´»"p“ÒÍÍMmIÓ‚E*=A7Óé´L'‰T>0 6É3à”ìX‹™[饥M-L0M¦›æÇ‘wpú¤¦BK tJõŠNL+0¡¨CÕ2Yä2¾‚:Ôë“…!:TetiYF‚Õ ^’¶b€ç_YÌü93ë LÆL³.üÁ@ì’К€§’dWV2“@"@ëÇ­Vk÷É”+4›ù—»»¡'à àÉ ÿéY{CÀÞ[ ½6wîHøÊbì“?3[ÄñX,™IÍèÉØ¤ˆF‰0û[¶s¹\2'#HÈår²ÁÞ˜0; Le2!DB—`!¢˜P€°ÀI €HÂ>€ïŽèy.GäÜþws•تªª÷É}Õöº?ý;âpÎ9·?%¶“áŽè " +‘ ¢pÐQ=DŽžp]¡""º\ ð8ñ<‚áÈŽh#"º.f9¢@›¹Iÿ(2ŽýXpD÷±›E.¸ë8œWJa@l¢N ºÿ6±m›„WžbÛ6~ðúƒ+¿éºVÑ•…t¹yk$ ¨²ÉM¨Jý¼ª( +¥T[Ò4Ò?¡T£”njÚf¹B¥p+}3 ¸b `ViYº‡hjsyyI¾^ŽÅ Ã0‚P0{¦¬´Yiðˆf½èYŒm-.-keV­×MÀ3ëò.3€ÌbÁ#ó…iJø2t#Œî°ˬ³˜uätê0“ÉÌC`Œ1¤î©itSIk,0~ ‹ ‹± 0¬žµ³óÜŠˆÁÇ0¸Ô¸ í¿i®4‹Ú»»»OšOvwŸ´þÃ,´Ûí)xÒÜÝ ÀçOŠÍ⓽½/Ú{íb±Xüü¹&ë?Ï߉îþµµµw' €±ðÁŸ™í’©d<Üð5«$ñˆI –HDÕ¿D€T*™ˆÇS©L¨ ¬ärð +ÀÝ‹>€É8°Í¹m“ïÿûÄ÷}áA„è ‡è†à³Ïæj€«øW>GÏF!<[ Šö_q›;KˆªäÇžO¤G9A®rŽ6ç]nÛœ´9ç]T…ÀÐÌ« +DDnûÒÄ rŽ(‡sä„#çYŽ !¶E$ò‡Nڈ袯¢@(<"\Ï÷¦¹ªƒ¬:¹þ6ÐÀ¶ß¤PJuc!Ö¾”!{UJ©FXž…yw´ +`ÖÁªn)”–+a¨•bü榦Ñ2¥š¦Üšr€´r%l•µÍÍ‚¶Y¦)mi)b ×®]»¦øá‡¥B¾Ï¯éúzÉøP×õ‡¥ÒÚ½|^X¹W0>|ø°¤¯_O/.¦ +…Âíüz¡ —t=_* +…|éž®¯—J…Rþ^¾PÈçõüz¡"§õ×Kù|¾ ë…‚~¯¢—J¥¼®—ô’®Ö×K÷ +ëº~¯TºW(äóú‡%½TW„¼»˜_\L_OÇÒºþP/å×òùR¥r¯d+%ýá=]/åu¹Ä$:÷þP à[@ëi«Ýn7WZÍl&«6Ÿ¶www›<•Ðn?}Ún·§ BØ(6÷ö¾hÿÏíâƒbó‹9ïý_|ñE»Ýn·å½_“€;kïLÀ ’²í–œ»ÿÑn¯x,–L…:€ û›Œ Æ' ©ˆ¤¤õ7•LÄ“rÃo8*Ýþ+|Q@fv1H’ÂѶm›|ÿû„ ï G8 +€hÛ3}€I @PäŽ*Ü.¢ËQ @mBᜬªÕó„Ol…'ÛœûÜ&Ü–¦aÎmQ%žðQïsŽœ¨¹œ@޹csÂBˆÄÎmNð>Q‘ÛY‚mâÛ®«fI6K8çÈ1ãØÜFÛFUŽDꇢëùž/¢ +€ÌWö„ÜŸÛ¶É„ØÄžÌÚÌÿŸJ,–.׫ U¨RJ)ƒº•g cïhÕÓ4YukR­LiE+(ÚŸ„nYM¶7•%EI+Êÿ ³„n]‘ù³@)-—©Fi¹šÒ–åÖ­‰páZ˜úµÙí£a £AÀvFÀl--/k…­z=Ïíõ˜¹SV€1Ë ßMð‹Ò@nÔ`,Sÿ2ÒÿIc°Ã˜eõäÖ£.«›u€úVjÚrZÆu`õ `ìˆ1ÖØ“•:Œ ,ÆØÎÎŽüÄÿ;i­ 1ÔÖ“ ­ìFÐ~:¡ДBán«ýù.)›_ì}ÞÞk7‹ŠÍ/¢ ºùív»ý×ý×Ýn·Ûíwî¼s'ªÿïÜÉß™€ç¥äÅ“J&ãáŽß˜ –ª^"6C&‰á‰¤R¹T*O$S©T2|ð›]Ö6.&ÉG!hËïÉ÷¹?Už¸S +p± è´µ‹.rôtÐá\–ÌDUmô‡£#Ø}Ï#ˆüSÎmB'hbÛv×÷¹‘sN²„ÂUns®Ê¿Ml›ØÄ&„‰ÍUU%œ£JÑrá ‡ Ïá6·9b–ËëÍmr߿ܱܿ‘;ˆž3í\QbÛ¶:_LÀ.JׯÅÒJAƒê ¨Ê}Pä³.Wnƒe2Ó²LK‡­%~@5EÑèŸè”Ò2­–éV™j›Úò{ŠróVúf:}3½Ž)—úË”–Ëeªi¥)º¹¬(7oÉT¡k ¦iš¦ÅL6‚ÀÜa¦Y†\BfüÒå%MÓZ¯ÒêÀÇuóÏÓ¬›õGùGá&“™0VªZ¦Võt¢ÿ„cÁtI¸iîfÝdfÝ0 nF~!ºE5ZÖnÝ\–â€ÀL¨³^À¤àÀêë³L£Æò°ÿ>]€‹Ðj=m·›jkWÍdÕæÓ§³ÐjíîÎÀtcÐn³ÙÜmî¶ÚŸï›½÷y{O2€½g{_|þy»Ýþâ yóÛív;ù࿳¶–çÎ;wî¼»6Æž—Ž.!@B¦$ÂéÞd&•L¦R‰¹ + 1ƒÉДËÉÀT"ž í™T.“ +ƒÌ—Ѷй.—¬×&ám")Àœ +ð$¢ó}Ùõw¸'<Áå@ÚÜ&÷ 'w8Ꭳ:NWpEW8YŽHléíÏd³*]»ë{(ÜÇž?õî«j6›¹ŸÍª÷‰ms 6Ú~·ë‰¿Å®§Úý®ïùŽïuÇ÷Û(ÿT6ˆms'KˆšÉd³Y5«r›«„Ør_ ƒÂ>v³˜TSðýìL0Gì7!€Y£ÊµEå=ÍdÔ¢ÕöásfR +P…ºe2Vý`kÇ`´¬QJõ‚&Ãù7)¥Ô¤åD¡ 7EI§c±tlùÚ%°N·ÂTpº¸%UÛéô­……k×®-˜¦i2f1`fQÓ²,s'\ý&€)gzé²VÖtF«Õª¼ÕæŽÅLÆL–gF( îX`šlÖë2)¤ZÝ2 º @¡Z˜Ì„-*÷ì0Ód¦9‘ùë¦I·ª´ð‘²¤Ü*›;æÌ¬òסTÉ(1ˆºáaoÿ¡"à hµ.#@»Ý\iµ|wh6C-°õt¯UT‹Íö^»½×Þx GþÓí/Úí¿þkyóg@Täß¹“¿óÎ;ùí)|Ò+}Å®xþÇ'+±X*™LåRÉD,žœŠOD€d2žŠcñd.™ŒG…™à++Wi‘à¾~ÑG ßú>!|VpÑC|l_è í… +ž ÜAD.¥¹,'D%H ÍQ8¹ërŽˆÜSÎmŽ${Ÿ;ˆ¢ëæ ßs }î;œp‡s›ØÜA• DÂCÏF]G¨Ý®/<áØžÜ÷}âØz‚9ºH<â!zAÇá\U‰ÉÎ! +´¹@ÕFb_QÈ;ÿF`ÛæÕg@KÇÒŠ¦kÀ¨šPƒRVX˜›]·~uª”M#¨n•5íO¨¦­k~@i™Ò2˜e]nSn)Šróf:¾K_JICµZ¥•²¦½GStsYî»yëÖµ…˲¬(Ê7‹™R£3#ëMPb`šti™n¾@µ +@¡^g–eY̲Óë@ÀbVÀ«³{ LË´ÂÞ¾äì²$¨[&3,V—#Ãæ³c3Ù¡)íƒæŸ±j•V TÑ”t™YcLÆcûÓ¬›V0( ,æ4˜±zþ;h­+Nûiqå©€ÖÓÖîî“'O¢…^»»­‰€w%|ñô +ø|úÌ—o…?ú|-A€,ÞÙž)z¥°0{ÿ£øßX,–ˆÅcñȘH ‘ +gñX2—L%ãqÙÌ¥’É\lºä*@"™Ìq?›½?{ªòýP6gT€È „¹+¤äÆUDÁ‰Í ·‰(l• rnsÛ¶9 +ô‘mns$ª't8ñÐE}×ue=D¹ ]a{Žð…‡èqÑë +T}Wê‚¶Üï"rô¹ê#GôlÕq<îu=ÒEÛæQØžðlD‡ Aü¿í +µ8[„À³mò`«W3 -,,*š®ë”| Õ¥´¡3“Á“Jzªå*ÓVe&¯¦h”j”–i¨Vf MoÉäÏËV`Ù˜ÛÔ´umQN+·nÝ +ã…¥$ùÐxøPÿáC9µW1*ºþ¡þ¡Ì ½W*é´J-*ï®kÑÈ`åa ¨ñP×õµh P¯†¡Wò½ ëšN+º®ëà™/•J½¤—Ö’aº^*é%ý¡a†A+ú‡†®ë:5t}]×× …‚²˜JÇõ +­èº^z¨W*•J8R¸^Òõ¼nT*º^zžJE×õÊ·€i2öö.@ëJøIñÁeˆ0à[ -àóö^»øàÁ Dÿ)˜wÖÞ¹3mÞ¹sgm†„Àfõ¿èù?™iHÄ¥@0-Rɹè‰Kä’!ÈŸ‘»/Of¢i@DGGd³Y{z±ù<ˆT€9 +ðÙgḯÓurmmU6ÕTÛž>ǬÜáÈmN¸¶MÔ¨Î𼿠µ:Žˆ>Ê9!h£-Ptª‡Âãè"AÏ—nD¯k;ª‡œs$Ü“m€°=`#¢´rä6r[ r¼ïÎ޶¼ü."GäÈÕÇ]×ó=®’ì„@½ÿ&`«jpÅa,íæ÷´÷tRjcÀÀ0˜ñcl S¯0“=*iŒ @dÔ¡”~ õÃÁsºI)UEùÒéôµtìŠl0- ÚШ¶¨iÚæryYîŠ¥Ó V§ÓùÚ‚€±€5ÒccýF¥±{~ô(`i‹´J ™Í°€U޽ À¬Æ‹ëA£“gü|› ØNÀ0Jlc?ÿEl‡±çúó Ã‚ÀblŒ ½wÀ`‹QÍTÒŠÖ64ŒG,ô·;A‰±à^tXÀ¿Ø…¿R ìyÀ’Èe';l‡í0V7冂‹Vàø·@«X|ú´˜É®ðÖSºÛzÚú½à‹ö^{cŸGÏþÉon×ͺ¹¶ÝÿwÞyçλwB+ðØcæÇŸÿáç/Ž©d.•ŒKSPÑvÐX"™Š‡J%£¶A|ºêsbº"P’bÇ"›½?¼üs*€MÈ÷ùŒ +€ˆǶ-l;[ü̶ÑFîÛˆhBP wü®‡âqW :"á6›Û„Û<Ëm[%È´»ž”GD.l(ˆ/$=·çB؈6Ú]âqGÁ=ázèÚGGõ¹Ê9GÌz?ö9çȳžm«„sDŽÄF‘ íø>:ˆÄ–Æ`Dô\tìбäC°íˆÜŸõ\"ªzÕ,@¥¢W +±ëŠ’/Tî4 ]§Ô¨Tô0%ÛÐ+õŠ¡ëëëúúíÛ…Bi½°^X_/¤ó…u½¤ +…uÒn/*‹‹‹étêúõëß»:X×Ö5]Ó +…ÅEùêÅtêz*ÄŠ|>ŸH4Jð­V3"þ^7M`yª¤hÊ´R•Æ=Vê…½:ÐŽ:`R±3îÒÑF‰E"ujè@ °‚0%Œ€ÎXh&£ +záE•êTÓ4íº–Ž)ôÊ=ˆ–‰™&°‡`äƒ  &c»òô&P7ecc‡±)Èd!ëò,À…›ÿ&"xÀÓvëÇ¿/˜€èæGoÕë¦išÛïÜY˯­å'ãÀï6.3êføüî\¶þÃ@y¥SS?`´*0žH$’©x<—Jf’©T2O$g9@2“‹"Á.vP¦m ¢Bˆìýì온ž³9!øÔvˆjÛˆHlÛ'ˆ¶ŠžÀÇ®àØu9º]!£@NTÙV'öý,ñÐGªïw‘{G ={’"x’ + r޾ìÝ9¡(L∈6¢ƒYasäÂ%¢ÚÅÿˆÄ."çªÇ Aù‘UBØHÐQ¹ƒÈ=©p.Y@Öã„{œsŽè9§À³mõí@U¯üBݱèÍ[48‚ «gÏ+,c,,«Áª([²d`tK)è˜NY•JO€F«rEà¦róf:}óŠMŒí0Ó4ëuM×´2Õ–—”eE¹KÇb±…þçþçp/aã• +ø Rê™l@ƒ*)J«2̪0=´*˜@X­“•¼TtJa« +¦Î  +A½@iã­³`̬€þu¨uƒ*¬½þˆRJË?¸®¥¯Å +vhP ?£Qjyù>d˜é|QõÉ'Ÿ˜&ë¬7 @–eYñÙ.À¥g¿¼ã?i‹OÛÅLV€Öïí9h‡E€yûMÓdÑóÿÎ;wÞY[{çÎ;W@êL˜Ñÿ¢dßdÉé¶x´úGæ$©Dè–¢9n¾XÈ´É™Q8ŽÀûÙ¬-¯©D) }_8³@—pOå‘û3Bzª|>£ë>Vw]ô\äˆDµmN8É.<Ï'Pdá"r…çeepˆŒúT‰°mÛ—YÈmª‡ˆÜAQt]Ž.þT *‡ƒl›s÷>Ú9±?uœ¬à<œL´ rmDŽÄA´Ñáˆ^—m› ¢*»( +‰OÈ}2!ßÏÎÀ%@®‹1V¾yk³ +”å ¹š‹1 ¢=³Ш…º–VÊPÖ4-­h: =³eiÜ,ËÌßhýÇ% tU«eM[Ò4myY¹•N§c ×®-, ƒ5Û¬Ò\€``šP•¶ƒ²‚²X¥rÀ4ëÒú¦ ¥Ì–ï@£dÐJ¥B«UV …@ +Öh ˜e10™¼¼t0K”  ”¦4e1S(˜ž¶j cY€‹ Àü3ÆÌ«ÀÕ`YS­oa—à'˜­üYtýÍ:kÈÀµ0ì"°ÆÔ™u+ø$~áþKHå’òæ'ÉÄ$óKZ¤.ös¹D"OÎp€\.s©@Ž8ƒ’;BÍfïÛŸÙÓVà„|_ªs¹se©¬fÝ®À,rW¸®ý#×µñ±¾;kÛ*±1ë W p»ˆ˜ sƒÐ"ËÑ–->ß÷=Ï#nmb£M"'ˆYD$]!Ÿý\ räŽêvѵ ¢­¢ª¶ í€Ä&DEû¾ÍïÛaB)ú»h;*GÛÉ +¹Ã9ÈÑã¹,<Û&Yõû“ +àPUU%*¹š¬–Ó·Ê”j¬0`LÝKn\—Ýwös£J)hiåOê@5JµEE×)è‘(\ø«Mc‚c×®Íg¦·àƒä¦iÚÒ’¢¤oÞŠ][ˆÅ®AùÆ`­z˜Á€M°¬CRJ«[&0öœ[—¿0 ?æ@ÿFC¦PÓZ7ë!PÚè| 2#Üd–eè3Ô ¤(KQMQÒ±[Xý×&‹Öj°öõCËduÓd¦eõæŽ.!»;o˲â‰x"!ßÿ•"ÀÕðû—ÅK"`}òô7Mó{$å¿wîܹóεü• ˲vfïèúK¤RR÷O$‰)ÄC›Pbº4—K%±xbÊÂõà“À¶å£„À'E€ƒ÷³ÙY°9Ÿ£Žã ›DéÙçhÛ÷Iö¾šµ¹¢ë¢ÊÑé +D}´}W ëpÛ&Y‚Žã9œøˆˆ]hÎ]ŽÜá¶@‚ÈU}·+|W ¢‹]DßVï«hsŽ*·ågk#— +!2&жe¤ «r¢ª]‡w…ðmû3Â}_øº$«"r›d9'¡Üè`÷~×sÑ· q]ž¬?ÕCÇAÇñÙ#ö ªúجš…žiÖác³¦) Ö°åmý€n¦• +”jT[Tôpjˆ–Ã@[–`I¹uóætç茠º5ÉÝ\Ö–nÝL§oIÇPX0=?À0Ñ‚ ò+˜ ¨š“˜¹Áú$?t²ê›±¾±¥Õu +lAUæƒR‹U^@¸800-ÀxývyÁ×`ï>Ò4EIÇÒòƒ÷¤ÌÀjÁàW{!…2ƒ9þð‰eýÙÎ'ìꀽ¬àùóÞä½ü> `Úß½ˆþsMáºÉê ™t'ìÞy€eYÖclzÿÉ”L÷I%B#PrvUP<ž¹f8@*5-l]Î/PGq_ê€d"LkO6rÏ÷Wø]ò}ìúÜÉBG>ÿÌžï¢@¯‹žgÛ(8GŽŸÊv¦46ØÄ—-€ûo'„\YдR®ÖÙ ÄL¨K- ¿Jë`² +PjhiE£´Buª)ŠN©®”Ò²FË岦i›Ú²ôߺy3½^¸ +”.ommU·dÍP.kš¶¤ÜL§oÉ_•%€ÁX#|‡ €E!ÁÌ:ê±R`[ÑúoZ‡ ~ÃóB¾´Ï€!`&K€À ,³g1¬Ýê™À Ì+ùJ (e€RmY¹y]ÑÀ„ç“¿gYÖ‘ñÃXµé©š‘¥é»‰€Óóç½ 7‹$ß…ü‡‹%@û»3€Ï?o·MVŸw…åB,™T €|þ_ –eUo*´jZ/ôŸGº c¦µ#9 d @0ŽŸ*¥ë•ãC´º%7‡,+в¬(·–b—œé*À@(-k›åÍMMS”›iE¦‡4:Œ J_ÿ‚5‚£Á~À€  6°_öÙNðâ諞¦ ‚ô˜Þ‚`;G ~=аt‚£;êtìèÞ`g|=ø@ðâÅWGƒ’1 Ž‚`ð‚ c: ‚ €AÀ Ã¿.5€ô G@5JÿXg¬×`l0þ÷cAðâ«_ƒÁ‹Aðâˆuf{€¦õg&1àù%ÀÛÀê=ïYójÄ[@³ye 0 êõMÆØÎó£G Œè7°vØN¯Òÿ8{ n²:@^€;kùüÚ%»Q ¿\ÂûŸK¥r©œd‰x<™’}Ád*—I&b‰hùÇd è*Š­¬áÏó¼l‘_¥ªjö³ÿÛ¶™&@t…P…+8·m"8"w›DÑÆÇ»6GÛý‘m£íúžç zÜq§ë¨Žï¢pÑ·9_ˆœ¸þO}_zrÉcÄÇîcD!²‚û.º.:D8Ò dg¹@Ïè Ç·»Â'Þ$ñ}s!¸ê#v]™øécäØåÂvÆó„ÂñÌŠ°Õ |t¤s³DNstðLjOä䡃ŸzdžØ³€D qá@£Ðtº@ëìE©Ð` hŒ±G lÐÙÖuc=¥èzEªSª-*Ô£TÐõŠNu]×´hMQÓi%þ^:»Ø¸®¥Ô ô´@75MƇh×'ËAƒR‡5GG/‚€A£Ñ€~§FÀ¶Y§øAá6@ÀuŽJ¬Ñh5hƽéÑ€Á#ƃ~a&{4©Æ%f@¿óõ_°àçƒÁ`ð&§YgŒYÏêæ$õt˲.@ =bu€mIÂ"à]€Ø ‰}ô•Læd0 Az¤áO®ù¸M_à1׎!ÈG<çü²(PU¥ˆ–þhÛŸI@ß÷„‹ÈQxhbó.ÚœâOÑæÈQ ÞG!Ó~Ñï +B ç ÃmÄ®CDögDEbîù¾èzˆŽÇ³®‹®ð‘#ªDx. +D‡Ç(:*÷sØõ|ây>ñ8¢ã"GŸ#·mt}ÕwD]DÝ¢k# +ôñ±“(½¶—EÛFîÝèyaZ€‹¾/ǧ6w\´_„Nà‹`RB.~5A7ÊzVÀ QAÀ Ö9bðˆ5‚~Ãè0Ú…²c º®ÓKºž¯Pªý€RZ–±@ÿ>N/¤/M¦*` ¨NN8R¬¤Ó·d*h¯×ë J;Ìd;̲vØ#ÙÔ‡Fƒ=zÄ ,³Êò&T· N’æÔXIÞt0{½=ÆØ£0¨Ï„:ÀGR䓃~ÀXoÇ +~XÌ“•¨QcçÑ#&ë½è}mÔ€ê°UÖm ä_Á$}mYÁ¯ kÇÆò/æÚ€¦ÉBkÀóïÜŒàùe`¦0“™Œ™Ð˜€AƒÁáe`æÇ&3Íz/ê r‚?» ’°w&&€µo/vä‰dfò\O&s9YÑÇÉx"™Jå’ÉD2žˆ2Ás©ÜJˆ—8@Ìu1á¡ÕOR€yШހÌ7ˆð¸p…ÿ8tò«=Âæ„žuç¹ërmâ ø¶'„@D„# +.D‡«ø±¹ý™šU Ç, +»‚NƳÑE +ÇFîºQ ê¡r (<ôÐGOÅ®oËҹѨÄFôT_*xˆèß%ˆèâc’èsäòn–Û6¢OmŽ6Gôï{èw…j‡6Â"áÒLlÛ?uø}B¹Lî«áý'ÞÅ' ³¬­ô­2X¿´,•£Ðô>én?’û¯(Ð[Ú#}`1³jšt“l”-hUJ°¹,k%}ýæeÀB9´nÑr´$LIËÕâ ±^¯÷¢Â`ìHû=ìTÀ€h / ³ +y¨V·€åÙÔä_ª³:³÷Ë^ïÑ ø$ì Èi@S أП#÷@P˜&•ûˆ ã(|dZ½^¯#PmS[Ö(@}§5€F]"Ñ?–õ˜i‚É*lFƒËbÌ4M“}‚ߧ ð‰e½ gÍËŒÁ®fƒÁáá àã&ÆL˜€£ú´`e]ÍBÀØwîÜ Wƒ¬½½ cÉT.•›€Üx<™Ë%’©x<™J¥’©\.‘̤’ú÷  溮páxžçyö„\¡J +ðÙ”`4(º¾íúBxB¨ÈUÇSQHÝßæ™Ð‘¶J„ðºèéø÷ +…‡ˆÈ QÑóBP¸ÜqºN—£è¢ç;œ#f} À„È:6º®í"‘b"p²%èS‚÷9º2L‘x}´¹‹¸â£ã ápD¡r_2{—g<Ç%Èzݼo[å®kÛh;ˆÂ!(„°½®@Bäˆ1窃6qmÎ?儳DJ!òþU%!ð/|Ì,š¾¹Y·z¦ A‰Mó¦ßSH+TïY&T«@µ2ÀÝ¢] (-Óò¦¦iTÛÔ´%eI¹•^X¸œ ¸EMR)Fy 7Ó ±Øµk×Þòò6"p%<Š ×ë5ŽB5oÉÍ^=K@]ÀGTÁ0Ž`Ñ‹’‘4msY£æÏ/@ð˜ÉÀdçà+´Ó|rIøvðù`šûWÀ 8l´Ûív{fð™±ß Ö@.%Dð6€YØa,•š@.•LÆã©T.™LÆc‰œ¬ ’ÉL2 JåV'pÄ\×u…‹€ÈìÏñ’(+Ù,~&éÿ„|Fl»ëû]D‰Šžïr‡{ÈU›pm[µ yìv…ïzBåÈOÔ/àÜæä>÷~ücDxȇ{÷ºÂ÷9Aôl9‘Ž@‘AÇuÑADÁ‘!PxÜ."ô»(¸ˆÜ&‚xÈ w1+D´QüTEŸÛ]ßåYÇA +ìfEWü­§ªœ›#r×Ue„ zŽç{j—«ÄæªÃ‰mûHlÎÑÉÚ6O΀ÙÀó=§6wÀ”mÀ^]:ëäÚìIwÍ0à#¨ƒ–V´3{ÕòÐ%-ìæÑÛ[t+J *o.////Ék€9=$—iš¢,É@ ôµ…صk ½Þ/çàÑêðˆ1fYßÂþü—½EùâA©QvÔYÓ€­ äW°<·‚3‚ ´ +†qÔ˜€(üÛúsk‡± Ò³L“þ•ÔM°žG `ÂÅÞP¼]¼’0K{ h4BC¤Í=†óÍÓ@j³%@pD €…;î|×€±–›­â‰x÷]!\7ì¨IÇ­ì9rîñOÑáž§:ÜAsÏ÷<âw…p=Ž‰ŠœÈO„ßçĶ]¢“ëá§a$¡ms}©¾Ì¢G÷j쨳öá/:[l‡±ÁtŒY°¬¶Ts粘јÉÌc&cÖ'ì÷p†Ç%0Íçó|;€z¸é|²Qáí%ÀU T|"kQ6à·u"0¡Éd2•KÆã¹\êF2›vý“Q(øŒ +p™ÄÐ ‹Ç™C~QŒ(F Éf¹#ú¤ëÊŒ_¸]ÏnÖánÖ—æGx]â ßF×E!¢œÛ6·‰JUDî9ȧXäˆ(?WåçÅ¢JQUt8'ž£ªÄ&mô‘Ûæ¢­ªÄ¶¹ð|Ïsdl¯ð9GûÓO̹=à· !]á;‚;Gî9¶ð<·ë{=_øžïزö—ÏaOåŽïØŽ°»ÂqœOA‰g;¾ð~ÚEÇóîø\ ?åB.(¾oÛ‚s¹#¡áoïûªT9¤!@õ»¾ï»]ß•A\j6çœûYõ>±‰L›B|:h±t€cÑbH¨Ñq +TQh!¨×·Ê¨¶離TnT´ª¢”«tùÖ-EÎø\ж +‰kJ¨^-\»­ÿN ê™YVÀ€µ|ѳ¯_ËbŒYV0¬Á Ï}`ä;Gƒ€™½AmÐ zõ‚õ䃳`Ö¡J¡!ÓÆŒ mP; +ŽžŒYVï¨×ûÊЃ/Á—=küúh°z0`?ïÈkÃÛ ô¯™|œ23„Ÿ¡5øõàEïùs™\Ðë}5x|ù¼7èÉ€ÉÏbÌb–õÉT`¿Ð{QX=Æ‚Aƒ `ƒíƽ{ýÆ`§V0D$Àˆà#:;˜Ü ‚^Ã8 +^ ,¶cõzGÁ€•à׫}¤è}†ô¬~?‚ç}VgAPú:°«÷kýÅó`0öˆY,üã׃ޯŸ?þüyðüùóçϧàF<ÏåâÉT2 o}*—J&SÉÜ´[p÷*ŒaˆÎ!pƨF UI8±‰j{¡óßEDÂ}Çv#'°@Ìr.}HœÈ",u¢ª¾p|aûB zØu8"w9w%ˆ¶L*W?ÍdUõ~F"€|þ‹OçÐbé2Ø ÷jÔ¹ú²&wì¥P½µ¼S˜P¥¨¶IéÀ…ÐÍ2Ý”·ÊÚ²¹¼´|ëfzáâ’ðÐB0ÕÊš¦,)¼(@,îý ÀÚ™ +fÀÿùËžµ#9?„Qç%]×uýÃ×Jƽ?|¨ë•‡«èƒk yÇ¡`šP¥ÕèG¥pïÞ½{÷îý©®ë†aÔ Ã ºaä +•†'ùÞÃpVÓ”°3&5 ƒRªh<¬è†®ëÝ0ŒJI/•JºÌ ¢ºŒÒD ÔLö ýïÿ!Jm/•J%½½¡WtýŽQ*zI¯†!½\¥)Ð)á{xXyøP¨–>ÔuÝ0 f”êÆ‡ZÑõJ¥R©Tf2'ðÜbò£WŒ‡•ZÞÐõ +­ÔÞi<|øP×õ’þP7Œ‡ÑçHHÅãñD.OæbñXR¦ý¤r¹„R¹+`Âb8A€y!pÞˆ"¢Ù¬,Òm5Ôòä<ñzˆ.J—¿‹ˆ+“×ÈÁ´ º2!Üë +=ŽB Gô=bÛ6·ÑF›g´m”QÕFçS§XäÈm¹í8„ çØràÐsGBS×ó|áøŽã9÷mäH®:2~”p›dmÂÑ%Â!A…Ç]á >w}=Ÿ#'ÜAÜFŽ˜õºž‡ªœ£ ¾‹Žç +ä(¼ìc×v!mn&­@Ÿªj6›™˜€'wœéa½€Ñ´F!8 +ûÊ0àhÐ`òÁðå× ¬4àçÁ€QE£ëÁ€1lÒ`À‚c`«Ê¤¶·©mšZUI/kZäòŸXC‡€2ÀƒÓEI+éôBúÖ­[7oÞºuK™e»;sŠù„üÓ H£N‡cAÿ!cá32øjÐ`Œ±ÁQ£fcÆ`°M«@«”6$<ÈH‘Fìcµ4¥m)Ä5¶¬Q«ÕjÀM`Êz`÷îÝ»wÏ0 ÃXg V‰:0j5è³Îp8ëL2€©æ/ô¿ÿ‡ž¼ÛƒØ³  Á€É?×Ñ t%] >úè£>ª l°vÄ j4 Ø`ÁÏÆ ¨uXÃhM­L3 à¹EGÁ#Æ;0˜a4:vÀ Ñh†Aa._f‰x<@rZø'“ó"À• †˜ Ÿê€³³YޱíûÄ‘j±9ñe#0+9>çÈmNúNØç³m$ÄvºŸÙÂ÷}!|ÿ1®#DŸûŽÊî :„•›ØÙ,Qm›{œsá¨Bضã|jÂùäŽ'=Ž +!?å!ÂãÜ÷³¶@b䪣:ÈÑF¢Ú÷í¬Ì þñSRÄ0®å*`â DŸ#‘ýáq‚Ñh •Øè¨].\]á‘Ljˆ'a@:±mÕANîߟUGþ©ãˆn~zÖòùÅXl1ŸÏß»·VÊ—J÷ +…R©p¯P(ò÷Öä‹óùÅë©B¾¤—ò‹‹ë©TjQ®ÏÈ¿»˜Z\L-...¦®_¿~ýúõT"võÉ¿+nÜ^L-¦R©ëׯ'.½ôÍ àBˬgY«³ ö¿ìY,€š,s­Àúå?õŒ E6%«a{ÐÜÎZûÈ €GÀä8Do' %aGXc"…$dÖ…À ¬{÷Å5¥55g“æÆYÈ>™h¦+¬Ìë¢}–Õûß¾2¹`'ªÚëì«« 6™¡–ÛŒ=`ÁWL®Ec½Æ¯d,Ü€5Õê¬Î,½þÀG5 9³EgÉd-ì$ãñøÝ\"‘Ë„­Ÿ\¹šÌ€;/†­@"€j¢“E›Û»"+›y6Áÿ—oû¢À¬@´CÆNÏሜ¨Äv}Û÷<ßs»(\]týlX8Ü·ïÛhÛÄ!\náȪ¶ŸzÜqPp.V„͉msÛFÇ&‚èp£cãÛñmGvmîy*¢lA~ŸBlNTU½Ÿ!„ØÈ¹Óµ ·QîEsŽÜv„@߯b‘Û2€PåªæŽÚ(|Um9ȹ·â»6w\.“¬‰ÿœp›s;"a€Ÿ +ÑíM΂¤Ó›Œ ‚£„…æQÀ?cFçh`  ŒR«×{ñÕ@­P—M)¬Î(ª3(4EÓ%­hвpILëu³Ã˜P tsyYQªÝ¼•^Hß¼yó¦Ü)ô'àŽuzÂ}Œ¾pÑ#¾\#ê +WŒ{œ8*i¬H¸çpιãØ6· ±íO?³?%êgä>‘6bÑáBpz|½¬ ùqlbg ’ÿ?kÔÜÆ•e‰Â`D]*W1ù1É×F î"‘¥@dDÇAe +N3GèØéj>å<òI¤õ2ýtñá>“=~Ðo8LYÙ*öè +%]±>+ô .…jZò›Þôæg|'’eWÏLÊa;,š)€8+×Þ{íµ|_w|ß×-¿Ó±â¥2ÛÃ×…šÖé¡…žþ“Δª•R÷ìKV¹nY +d'˜þÌv3¿¨ÌnH«Ë·òÌÏü,ÏüÝŽßñgup«Èÿù¿“³B ä« !Ž)!LÓ…hžD*Èž(Ä(`£)S’„ƒ9oÄCQÏ:[q/ƒÍugÃY]yo ˜ÀÀæu†½ð&g®Ã؆³º²º²Zǃ¬4”#ËÀù`˜àþ¾=_›D’´áeì'F$GDˆÉ‡ÀˆˆfL²®Í¥}7ªä‡ß—¥= +ûï1€ñ¹à+’íö|¿¶UÇ 5% 1‡$ˆUºdgz5T„(,× ”DŠDdÊÏçãâ 4ôs ’ÛOG#$9–u¥$D"3*ÿõXÒO0qê +h¢QJHû$«ƒaœ¼ÓQúøã?ùä}ô‹¿ûä£×–°Vw—ߟÔû@ïq€†>ƒï4­JÇ.ÃØ.€mëûÙl¦‹©žîj­UG³Éäpr»ÐS]´2­uÖi]VZO ¥}](¿øvr[Ť˜vŠ"¯í~lBÀD©Y¡}_)¿Óét²ŽoËÿVGM•Vê–ÊUGëÅ¢’ßʲ֮¶ŠZé\©,WyæëofY–éV–©,+òÌ÷?õ}¿ã+?ËrÝñw;~–)ßW¥2M,w©_‘ÖÓÙïgYmOÜQ¹.²ZªÔ™å¹öU-*švre™ÖºÐ*»l5Av?R)ßÏ +­ýÙì´øçÃÉäl2Ð;㘦¦oDš.#sPõÁ~bàpÀT„˜¼&‡à3Ô}ým»lõý‹ñÞ»ô¾Ø÷ÂgÍ&o:cëÎÊêÊêÊÊÊŠí®4.˜Hùa8_$¸/¦Dci†rAÌ©D7$•&²i?„)"¢ñXJ3–F’¤”ªä_K2 ÂwÀ;%Éãà{k¸ÜêC¨I$qÔ­NÀWïödy^`ˆ(ˆäQð|,ë(” ++ó“ `hÝ›)8Áý}B9&’R~ý•”%‘D1™?þ‹ü  ‘eŠ) %u€*Ú÷L ~ˆCqñ+~üñÇŸ|òÑG}òwŸ|ü‹­ÀòÄÿâŒÈš¿ÏpQ#°6RZëN]dY–e‡µ §.ZY¶«[jv[OÏËËZg~kêÛ…Z­§SÕº}8ùv6+tQøjZè‰Êõ¤˜Ö F_)¥ü,ëèiÞÒEa÷µÿ©¯|ÿ7YæûþB}ägYVÜÎnå…ÖJeZgZå…R¹Ê´žj©¼¥”RJgj×ou:»-?ËT¦óŽÍT~¦}ÿVm®uGMk `¥oÏ´ošJwþQk=™ù C1]LkÕžvô7YIz«•û~Ç÷/+k‹©ŽRBéÃYž…¾•‡ÿm2Ñù™óŸ4§ÉãTbPRе D)úÑÂI a}â8Æx¸Å¶âx‘õÃc‹`gcùˆ ˆa!o3¶Í›îZ ºº²ba`uuuµñ¼sø‰¤,¿.˲D2øoÇ¥<ëË9² +z2 }E$„ * RUÑu‚Ýyøb±è€p#I£zºgU.²,ʲ¼/Äýäß_"ÄQ²xZ.2‡£)ÇV(©”ã±4íãÐBÍ©²ÂzßHL÷ØÎ%I)Iþ®,˲¬«èø¸´)i§@H‚äQð\Ji…ÒÈÒŒ‰æ¦8´?¶°þùY$øl˜@ª ²¥Ðxlß>S–eYÒèëãߟ"M‰ˆÊ=#I "ñUYš’ˆž'£˜Ùœ¹ÓY +`[kk6| kËaýïkŸ|òÉ~—¬À@ßRUïí²NKç·—Bþ¬åç³âòíÙä›Ia‡|~«sÙÏUÑQ‡S­´žÅåbVhýÍÄf~(­”VÅíI+ׇµ/ ïg3¥²ì—­]­|¥3uËò€Ìïø¾ÚͳÚpVä3­U–å¾V:˧™ÖêV~+óóBë"+¬˜¥VëovýŽò³¼“)ý¶{ú¬£üLÙ¦ƒšÚ.€VJå¹Êt¦|¿£,ÿϬ)‘Ö·'E>›u:¾Ö¾Rߨèa­ò–Îu–µZY-V™Ò¾Ö~®À?Z«ü³E 0gƒ‡â¸ýŠPÔ§i'((I0©Ïs…AüY<€p‹³>[ø{1~ÜzàÝK` ñ èqÎk6™³ùÎÖý¿Þ)Þ÷1&iJcä×eõÿ­,ešžy0ˆI–’¤=+²<–RV’"sÆÙÏ©ûHpAiJ4þª–Í}-¥4¦ü1ù÷ÒHÂtÙ˜Ž d¬›ªüý±”4—28¿%<&±<+ &ɰ{"ì‚"I²3#¥4åIÿÑï¿–ã/p´_ÃGŠH˜ +’ÇÁ‰×ÄÜK)åq0:w')ÎÞ ¡T‚hߪuÆ$¥4æë¯¥)ñ÷¿/¥L‘p4DÄQŠ)¥Dãù^iäB³X–¥”²<ŽöÏt)Ä⽬™O>ùÅG}´¶öÑÇ—OÀúòñ/Îh>ùäÓ¿ûäÓÿüœ€¾ ¨•®‹€NG«‰ö;y+Wõã^kíOóY1ÓÉÄnÏ+¥UëS»ÿßÉíŸÌ:ÅDkMЉÎ[Ö^CëÉd×Û™Ÿy‘*óù7­Ú‡Û×Vk¡«íd»öÐ)=ñ'íû¾¶f#ÓL+ß÷³<ËŠ<ËüüÓNǪ;­V§uù—­ŽŸùÖ‘d’uv;~§“ù¾ïãû™ë–ò•oµRþtVø~¦fµÅ  îhM&JMóéÌŸù-é¬ÈôdRøLùÚ×S¥w;¿£t–©Næ+•åºP·Š¼8<̵R¹:Ê "LJ¬{<ˆ€C48!"çl•…Ö0—1ÎmBί1ÎÛnòæ6cÌÙXwgå]%Я1†õùo²»î8޳âœç ++•Æ9ð~šeY³çø¨üzL"MóÂ:÷˜$%•ÝÌ%$Y–68:8³ídÏÿ¢5—$ &‘Y<ÙEjÝ=ínž<*­@}‡´ÞŸ#i¢yÍ4–w’f‡êÜq,,_¶*‡d8DoNDH‹NåòNGýãRJ)R!jûˆ‚þ¸sD$HúB|UÚ7áØ[`ŒToI L’`ˆ˜”öë; A‹F€4XÚ;á‘R뇩 ùÕ‹ÍBÐq)åï¾–U”,‹ ‚}ûÎD#Ö~òÑGýâïÖ>Z2€µµZ °f-N瀟¾ß8z2™L¬èt:íØö–V¾¯•ÖºSdÚWE®[‡j¢´Êt–e3=LfE++&Ö¤[«ì²oýyóL:S3=Sþ¤n©éâr=%Tz’iߪ •=ÛÊ÷/ÿ²å+uËv~Ùju:­VKÍü¼(²YGg™ÒBß~ˆ˜¦S±O²Ü1D"’Èk{~Öñ/çNë—ýÍ®5ïÎôä›ÝË—/·²–ïßÊóC­µïw²L©ì;üÍ4×Ói¾[Lg…o3…•Ò~®•žL”žú¿ù§Ýé4÷³o2i­•ji¥üÌÏ”Êk¥±Î}¥´º¥µÊó¼øç.&Z©\jÀ¯n„qF$Äòw#A$"Ä`×wxØãÿ-"RtD´¿O˜".}HÊñxž<*K))µ=qÚ'ª¿ U±ÍòTS–eùµ”¸ƒË]ÊQˆc\@Íq¼cÆ4BB”„ º¸¡¯dT–e)ÇöOgÅÃu¾ó••Þ +a J)ɳÌ|¸xQˆŸ!P‹VM´Dû¸/„õÆD£ú[¤Óý¥&XPÕ_ŒPÊß—_ËòkYF{„˜$P-ï_7÷ÉG}ô‰Ýþhyàí ðãq^ üÉß½Û8 K(° ™VÊ×Ú³7×3k™7›M 鉾\ØÁ¿¯|?ŸMt®•.:ÖÐ{:U-­­HO;‹ À,Ë:Ê÷;YžY¦í^@룖¯§µ,ðr«µ{9_ØvÛKGi€E­·OÓ6Ëez$3&$ˆºîÚåË~‘ù¹ï·:LeßÏv;Jç-¿ÈóYGù¾¿ÛÉ|¥c— +r­”{6™þfêû*Ël˜¡5ÌgY®µV³Â6Hµ_ï)•ùYËϬ˜)WZݲf$·ü¾=ÑJ©¼(Ngä½U§ ¢ˆìÄ|I‰‘l±ÛÆ14›½0³Å›¼gà·½Åv_s›1æ:ÌYwœÕ…À÷, z×í:ÛÞæ[n×a¶°ÒX–Çï]fnæ•1GóGÇÏÿ?®þ@ÇÕ£•å£ãJ¢ŽhN'f~\•%QYVdNNæ4¢‘©NªÑèùÌIeªjnªò¸*¥©~˜Ÿü¹JÊãGþt,͉1Ue¨2æ;šï“¬LTU?›Sß?yTšŽ°wª*¢“ùü¸*KI•©Œ99™›}ƒssòÈ$Çzdª¹1åܘ²ª*iÌŸæó?ý92Ç|ôÃqeN ™Ê©ÌwTSEt<Ÿ›#çå¿=*Í£ù%ÉïúîóùqU•T™êØœœÜ?¦ûX™ùI•пž”Ç'æèèĘã£ãÊùãùóú×GÿýÑI5þ¡"slŒ91æÀ™£ãÑþIõÜT%=2?üÿÊòþüQEQ2B"CÕÉóùqUÓW¦š›òý˪.«:Ã>ùÏïÍ“w@å§àgJ«ÌW™ÖªãO³ÙLgÚ×JOµß™Íg3íS]èN¡³NK羚S=± ú²íëéâò´Ö*å·”ö;N–ù~gZd:¯"ó³Nërc7Óv­8›tZ—}„¨ë%HDÁ@’1BÓ<0ˆé>.—VSΛé¼2‚°è³žuvwýÝËÙÌ÷ýÛ*?Ü=Ì‹¢ö2´NäZû¾><<<,gÚv —YD*Ÿu¦:×*/ +íg:¿ÕÒ¾5#VªsYû~æ«Ü×*·³„<ïÌf“‰VJ…Ößÿý÷ßóÜçHhŒÍËʌ͙GHÕ*2DÈÙ6Ñ±ØØhr<¾nZœ€nö8gÛÐsœ&Û`ë瑩Œ¥ ^ç|€×8cΆÓp+V4°²ÒX]i¬®®45Þ¿>?'?½šDý~;ÁÎNìì;;;žAðùÕ¥†ÖêiûA\ý<¸ºÓnï\ ¢À v¼ vÚm/‚`ggÇ~ý½äsûÿìV¾DA]Múý~^`¿0v¼`'ö®îÕ"á ¢Àj…í®îìØ/ìîìÁÕúN·³쵓~?©E¾ŸÛ;Ù¿_öûý(êÖwÚ ‚û§ûüê^Eýåk +¢ Ú{µíy;;Wƒ ðo'ðïªçÙ×äíÑÕ½½½þÞçÁßÿ}ð÷õ³¾_ÔúQìÔ¯Þ«ÿ ¨ÓV,û¢ÚíoñµÞŽ·ì´wÞ¿¼>ú䓱h|¼¶4Xûø¼øïÞŸœc5Èó|YdJ×rw]Ì‹é$SºeËÿbZÌf3•Mì8 •ëBåYQhe•8~>UjÖRº5[ljÕju>½¬Z_ëC­2_é\)eiZ­F'Ï”Îô7Û kGílH&bb矌_J!Æ÷IŒåXõkù™M¦BÄÀ—‡±”%2èÚ®ŸµZßdS?+¦j¶›ç¹ÊoM³iÇW¾úÿ*¥3՚ݞæS=+TË_ø*¥”ŸÛ½b=Õù¬Ð~æûùboªhÝÒJ+¿Þ,TZ³:yÿzôü¤4†Ì=cn“ãÿqò?~˜ßǃÿ÷€ˆF4'¿#š#cÌ|>^ÝÄŠæ'•1ÕÁNò`>¢ÑhD8Ädt"ú£© !ÐÓS=úó£2Õ|~r27æÀTæaD>ùž?¢Ñ‰!¢›Õw8Ñü戌©æžÏ‰ˆF£2ÏçÆ|$Õœì“á&Ɉ‘ùŽçTý—;æäÏ'DTÍOæÆ)©¢Ñçôçç~>Ÿ¬îÂdDTÝ= cîÏ8ynì‹5æùÜ|gL’TóƒÑMí㇠’©2ß›ƒV†¢‘™ÿù¹!*ç8996†Æ†ÐèóÑ~þoóy‰ß׺âŠpˆ42怌™??±oCÏçÆ˜»£=37x“F£›8%4:Õ^»~ñwkýâ£÷ÀO̓ìCÿx,(ŠBééTw2?Ë´í©³¢( ][u:³Ùlv8ÓZù~–µò©×ËòI +ܱV3ßïd~§Óie™Ê:—[Ê÷s_ù…â*¥r[>tZ­Ëµ¾É4 +J‘hÔÝÚB‘.:N(L9Ÿ^ÔG*ËÊ")ðĶÓIbš"¥µ–;Dq$Ç‚3Æ]~à›Ì÷ý‰òõn®U–i?Ë;¾ï«ßøJeY69œh=Ñíç_뉞L¬KjÞÉ´Îs­´Îuîû—Õ2/yÖ*´Êó¢öJö3¥ò¼“+}kšçVA­«ªªæ¥1±³ÑH‘„¬î›ãê(1¥©*YUÕ|.…Œ8±êÊàœR–Æ%‘Ay<Ž0¨}­ßÿúyO€U4†ŒLââ˜3æ8«ÎÊÊÊêÊÊjc¥¾VWWVûÍÿ¥”¦Þ=%CôŽKyDdl×{ùIÕŽ9’÷%I$’÷Ù2šˆhǤg²††˜$ˆdŽ$QJ)RT‘”r,¥‘’l>ÊXUÑ£ßI)„\†ª/Æ&:*¬H¦(eyüƒ UDGÁˆNõ¸‰íªYJ"¤)8!)%™±¬Õ½bLDô}pߺu½³¼O42ÇR–$V²<>‘‹;ì%Gg^"&„B–†Lj´cìê>C½Ã;6h¤”$Æ”œ¹SJ„d’¹”ÇD„G²<~t´PS ÷Nç(˜Ü’‹Sç?ùdíã_,*€3=€O>þøãÏL>ùä“Oþî<hLêm¾3 õ|¥t–©¬•ë‰.nß>œ:Ë:Úß- +ÿ°˜Í +=SÊ÷‹Â/TPh?ÓJuÔT-‚‚üÃ"Wy¾Ûñý,/´¾•ûSçY¦µ¯´¯3?óýÝVëòG i>Ä @·ö8µ_[`2DCdˆÌÕ$ÚA?©¾Ÿ??1µ±>aŒ1pÎ<Û8!Î6yb@ø™šê]uKÝÊoeÙ­Žßéd*SY¶[ËnOü|澯&“‰R¾Ê2¿£2e#‹ÂŸå…8IëVG©<×y>S»¾Ê²L«[ÓV¡~£þQëY¡ÿ«Özá:ˆë¤ÛyBR +!HQŠqȸKað°× L qà1‚ðǷ™ÃØ[wœÇi¼#XµÙ€’CC¯rÞܶñà+뎳î8õß–Ž/ºN#ø0¥ƒ~)¿J…KIz‚‚(E|¾s$I–Çe%¥|ô{)l«èŽWìÞÀaˆ1cDýÌÙycŽŽ‚") …gï$ˆ«ÈH’åsy,¥üïe)Q¤H£t1‹ƒ$ÁdˆˆR”"âÁÎ|±K?&Abl]?Ò*ÖZ“zk@¢iD¥$ùHÞ7R–¿´&§¦¿èÜ&p#IB$YJA)¢ S/uêSŠ©IÆR~E‚ÆÉpxêjL)õKC²”¥‘òèø¸î ¥)’j„ˆÉ0†Iv¬ùÞ/üäãÓÀÇŸÔ Î Xk·p?åŸ4&çÏ¿E•…ÒS¥;Ê&eæ|2Ñ“ÉDÏô7Y§¥¦³™Ò‡‡“ÙL+ߟNunx•nÚoívüEº¶>œNõL)¥‹,ÏõTk);$Ô‹ê?ó}¿Ãù¦ã4‰À ’9Uc3–î"$ÚH!¤ô€Í%…â$(K# Ñà0êv½ ŸŒªGUE €ooóÚŠ—C›`=¨ÓpvU¦TîgÙ-åïZ¯Înm4Ѿž¨él¦ýN'Ó¾ïg»*³V£Z:ÓyQø¾ŸeZ©YKç~®n©<Ÿæy«°Šßh­òßä Í„BPŠ"\ulE/(ô•<îY»ÊÕšƒðºËÖ×ÕÕÕUÇqk†ŸAL1t9çc¸ˆl2ÆÖÕÕFãW°UˆãQpŒ!ä!o6›ÛÍ guÕ>óWWÞÖ#hU|à’ÖŽу¨”¥ ”¬4] &õÐìdR–Çå×e}Xö‰]À·ïR€dJOU¶«uæ«ÿ–û¾µúPýMÖÉõt¦‹Öt2›(­¦3=Ñj:Q*+”ÎüL«âòTë¢.™µ.¦Å­¼Ð¹ÖVD¨²Ö´PÊÏU–+?SÆ1„!°µ5žŒ*#Q ®ˆcŒSF +))J0é;ÁèË1 DaúRÊ£1D¦4'剡~Òm··ºgÌÁ"IBJ3.°ÐSA#Œ1÷Užç™Ÿ«Ž¿ë·rë‚àûÚ™j­g‡zÖjíú¬•ÙÑLçyVäy®§µ‰ö³[*×:Ïó¼ÈU1UÓ¬ÓÒßj=És­íâ!ÑXë§$PÖ[S"$Ü&c뎳î¬3¶Í!Ž ð¨Ç9ï…¡U÷l°ím¶±^çŸð‡Ç¢ qòo6›ÛëÿŸ gÕRþ;\]m¬Ö²À‹?X(jo˜Rdd)…CDDHt9Mç;FʯÊòk)”_Ù0"â¨m–À!~au:6_£ +qñ©– =‘R–ãq}§%P*¾Œ¤ñQ=ÿ—FÚ¢‘v–lúQ‚€ˆ_“@Ä)˜ŸJ…éôNó€¤$i'òh–nƒ‚èF%IY–_×:’v)ËDÃe±ý$´–BØ;™€R{~EÍòä˜H¤ÔGkꃘœÞÉê¢r,eYÉòwõ>D¹@Ö ñ‚_)~t>Y8,º€kç—‚­&¨ÖL&“w(@y¦¬/žŸçùáô²šL&º˜è,+f6.Kù…mãù…žøú°°y`þìÛü–os•RJOü\¾Ò~žéL©Lg™òý\©,óµ&L©[J|ËaÜÀú5¢ˆ›ž‰ã8¶>ã?DA;!B¼!$¢À²/„Q$¥4¦dˆ9óv/JåÑH°&7€€@)Âjue~«uKOoe­N«ã[[ÏŽ¯2_«|¦•Ò¹nù-åûJYð4Ó…Ry®T®ülÖÊu–åZå:Ÿæ­iq˜³i®üoêÂTeÙ2(,tœmˆ1Åâ @A)k€¨(µSònö¬÷'çœÀg1ò…Ń8´*  ¶Íغ³²²ýž%ààa !çÍ&c¡­êîÿ‚4j4¸øü§Dõ¹$00òˆ¤ePg +s¤ç;RJùû¯KYJ9›åƒŠ¬B'AÄ!$HH(ˆjq+õÍ¢™pj1&D: +HJ!Å;-!è(2u®—”DãÅó÷«`y§ÅÞ¬ZÆ€ˆHíDÜ?ÓM°~ÛU@’N% +´øm!îFRRY~]–RŽI¥ªÆ}J—.Î@bɼ¬›&¨R˦$ÆB…(“TJ¢®i "¦Öó·4}»pQ–RJ’åòí%ËÞ„UN}øº±¬jSÐ3¦ çÏ~= زWc2™¼sþk°v~GçSuøO…nM­íV>- +Å¡¶ÖØ:Ïýì°ÈìáÈ|ÿðöa¡UËNÏ­[ˆÒ~ö•éÝ<³ö>*ëhåwPàXQ;ò¢6a9ÛƒˆHiššâAŒˆôHb%8¯¢Ñ$()âKúJÖ<Ÿ¾2$Œ‡hUðŒ9×è;s2ª1é{îÚZÄ A"‚¡Ÿ¤ˆXA¦•R·üÝÝÎî®uöV­Y¦'“ÙañM–ù»*Ëí2‚ÖZgy‘ç*³úa_ïª,WZÛa•y>Õv9ÒvAf¹òýñx<4–¶`õÿˆ£S!Rc;ØD„n +ö „°v ®C]çœ_c<æÛv¨É˜ã¬¬4ß-–à…6°ÙÜpÎį,½ÁjH/ºPÛþ„  $)l®0"XKsÕ”æXʯ-_Xœïœé® —š„Ï £E…€(p,ü|ä LjQ¨3€ý1"+§‘RŽÅ™;UÁ¹;ÆÖ«‘Èî ÚSþŲ& 1-©AJˆV/èGU}§±µ ^œÊ½3rþa’Ø•JŒ1AåUsºU€õ[GD&A"cqºq„‹ÎGt\þ®\ì^|%—<ÿ &ÉA~N`Qò¯­®|ò‰ëºîÖ–{åŠëºî÷Ê•+®{åŠÛøö[K&Å»`…ñ¹_h¥fÿ-÷;™?u¬‹ÒJOtÞò3m]þ +}ªTæ«éìP;ÓJ]Öµz×Ï|_é[™Î²]­}Û$ÏZY’ŠTЦߎÀ÷Ø:_GSDhC¤#1êzIMšFˆŒo&(„‚bD)$I‰ˆè!@ræ: êé!ï!REAÐn·Û]€ ¢±! óÄó;~–ëÝÝN§å·üLå¹V‡­³L™ßÉób!÷Q»vQ+¥ó<÷;Öè8óuV´¦¹Ö3+Ê; “´\ùõY!pÖ¹-1A@Ñq‘RÛi Èq‘ì ƒ­1D`YA“óíæ¶­6ÖÕ•w`…ðç=Î9›ÛÛŒ­Û`[ù[XŽ>ô¹$PÔôÈ&F”B‘&V8<=ûáÓX’6#$"V;gÏ +!b:ÂpHIôÝù;¡ BAäýQØÎ¼¤4MEm»9&~]ï( )jý$ˆÏw(=í˜@b‚Hèœá5B|Q{…š …@$R$Ä´ö¥$©j'O;0¨µ†h¢ÑRu6Ä$I ~¨ÇC$:ö» +‚H&$„H ÇõêQ(@•õÆò\ó–°“`’$à× YT/ý¬9ø/œF£yÌu¯¸õuÅþuåŠëºÛ“I ÅY¸m÷eu®g– Ìt§“ç¹îLµm’i­ý¬“kO&¾ŸëÌ×JO‹BOŠI1™d·::˵βüŸô2EHguÆp…URa²àµÈFiÈ_z·$Û± Ðè;¼?­W.º67ûiBH(„]¦D¬‚a Nƒ"ö½Þäip)êWˆ˜D^»Ý"€XE^rëVžu +µÛÙíd­Y®tQ;„·nùZûþ­ÂÆùY6UEžç*Wùt¶ˆUÔZfª¨mõ¬5=œd¶ÂÊUÝx¢¸f‰¥uH}³ŸÚQ8¨“?³õsp;ûã|šÛMÆ6ìÀYawÄÀ+ôFïYéàÆº³úW àj«6+hõƒOÂŽ«ÈJ1)F¤ÚÚÚfÜ“Á6}%„ ‹ñ©!ÀÓjçd‘ˆ8D¼1@ÄÅVbX·0$Ä…h•ú¦},R¬†ˆfq'ë@¡!aç'cqæ¬< ŒXì$ˆ£$©7‚ëwñê]ÄáÒ\E:&A©8*D”€X-ê0aEθ—Ø; YO ìk NOø!â0†ÁéL{´¬[쫪_SS´ÌUXt6ï€Æ•§ÆÅg^áYŸBÄ$ÀÅ¿/¹Œ-¶X—³-æÔ°¹¹é^q777Ý+ö²8Ðз'ßNl#p‡¶-¨¬[–šæÅ¬.Ô4÷ÕT«:&Ó÷õ4Wup‡VÊÿÇéDéé̦nu2¥“ùÓi^øê–ö3_e¾ïï¶2BI4ú[/: c)%B< ø278â1„Dà\ò€Ž’ø—ß ˆÈ=Ç0ˆDŒñB Z3 +ƒˆ٣ÛÌi0HnÐ 1Î8¿nHi4¶ ”Œ¬êÍñdÔÝ+M®´ÊòV§ãçJÝÊýÜÿ&Ó…ïgZûªÈ¦y‘«Nžå™.Tv«Èý<ϧÓéŸù~–»z6©+ŸBgº˜ÖæzÑ~¬¯sªÛ‘H&²Ó?D:]-‹ê!,À ‚˜×ÀclcÃqgeýÝ1`8`Ì#€ó&oòm¶á¬4ÆêêêB¸²²ÒXi¬¬¬®ÂÅW­Ý?&"Â(EDÇH5¤©e‘H±n矙¨Ï=s†Á.šgP¿|1 +n&IIrÃ]B´sA¯J–ƒ}F. ­¢ a Õ/K€Ó¨ÏhÊq5CLé*A‚ÖYkÑJ“$ÄQð‘"BIBˆ4ÅT @“IÐÐBk~îEõOK€äØ?yü@bÀK’“äÆb—W –$ˆ’zqÌØ’$Q·FÇbq'û(HëkR¾}pêr—1ÏqcÌcìcŒ_[÷<×uÝö×Ýt]÷Ê÷Êææææ¦ë6”¾=Y4ë$,}¨u1™L2_«\…Ö:S¾žj¥õtÚQu¤ïwü©Ö¹VJûe+àYæûZOf=Q-Y[À<÷ýL©\ÏŠ™"4óÄ»ŠT}÷‘D_’Ðû:æŒõQEWûÉ ‚8–BÊR’8@ð€7Ù6oö8瞈cˆQP*¥$&€ˆ}DK˜³Â ªѰ½Í9À0AìüÂ>XÄxl«ÓÏ0á?b1óó[ëNÖÉ:?kåYæûõm¦ói6ó‹LYpîßÊnå…ÊgÚïØµC•)­þ«ÖE«(t1õ§:›h]Û_ + ××·°öÈÈN¤ÿ^ +a?Ö!Ëͳ@Œ#à „çÛ|›m3¶Î6gÃqœ÷£Á bbCÎy676guµ±záuacé¢!2¥±[ñ‘Àô B<׋?)¡ "< *‘.K\¼4ÄjIÔV;˜ 1MÏ™ð›`”$‹8$’eI$„¨¼±8ÆAíÖ—¦(0Dx72u¥`1Ȳ»ñn€´üöI‚”ž [DšïÌ“aI$ËJJÂ'B @òK!Ç$D]p p,,íXFyPJˆ´7:­Ä!A˜¢ˆë]t~Õ$7è ISY1VEŠŸ )ÕwJ‘QTÕ?÷~¦"%É¢H0¹1DñSçßÙ\À6;+mî±Í+®ënnº›– +¸WÜM÷Šë6´E=ÑZÏjÈnûÅd¢²étZh»ÅÓQ³ižkkåOµÖ:ëøù´ŽøÊ”Ò­Ü?œM[E¡•Îôd¢¿ÉÔ®¯gZe:ϳ\kieˆ íÐAÛ î[Vl·%E +r67ÖcEAB´OvåRÈ/Å—BHaÝ0®q¶î,$­æÂHc¬ò ‡8Jl—€3öë† €äY¼Žó–[ž±E‡_ +°6ï`Ò'IÇe6Í;¾ï·:ޝ¦ßÔyÈJÍü¼ãç™Ê2=¹•ç»¶ÚÏ +û….2?S‹ýFíëBO3•E6Ѷô¬79U¦ï2’ª>U¦:92Tÿû?¾\ÊûUDD£$c$U$¥1xPI‘"ðkœ‡&ãMÎØúÆÊùM€FÃSJ8@Qðp0›M¶¾ê\|áè¢ å˜d)åX4w£”å‘]©§”ÒT Q•%ï :0<¥ÑN´1á D<6„äDI2D¤;€†ˆÊÚÌxõJ9–’äØv"íU‹Î£-Ý­©Ø¯‚‘u]¤úTR²=Õ”ÌÈ3I2DD¬HÐÒ},º/„½‘íØ LEJD#ºFH)Ú…¾KÈ-xÀ‰m‰¤‚Iš«‹ßª:“ˆHÍSDB!å—’ÆÒZƒ ¢*2µ„Rû}S[$‰e‡TÏ7þ$?ëŽã¬3æ­mÖNQÞY°Í=¶énnnÖÅ¿»¹Yw݆R”>ƒßN2Û,²™Êr¥:¹ÊµžåZæJ:Ë|]ÌüœÎr¥ÕoÔoüÎlV…îÜžd™õÏÊ|?³Ù¾º(Z3­ ƒv`uyœXyßX +"IR ÊXÄ|£q ÈR/"¬€òK!„À0f¡]–í!w#îu=/úý„FûUûdFˆàÌq ’Ä” çŒy<²=õ8@‰X’¥´kÖ˜" &ÉXVIDÿ*ÉÙ´“·:~Ç÷/g¾ŸùŽòµšey®v}_åVÄœg~®‹"Ï‹<ËõÔ*ùJiý©Ö¹VŠöÕ«W¯^½ºsµ½ÖhüÚõ<Ïóvv‚v»ÝþÛňõÏóºA7hïìx;ÞÎŽ·°öÚíö•öß^qÛ[[îÚÚ¥µK—Ö«^®×¾rÅu×Úm×®¬­}ø‹ÆÀÐñq)•Dôo£„$™ù±1²zôh~\ÑýÊÜ?~tTÆZZ#b5?ùãóùË꘰THD£}!CTýùÏ<dÆò‡““ƒ¾göGóù ™±yTʲ”D'‘dÍÍœŽææÇÇDTÈj>ÿsbîÉœ ¢©ª?<ôÇûG•Á$0HDûû#Bª ‘ü÷??Ndäxþè¤êï$„#¬NNæt"Í*iî›ýýê~b÷ªc2óGóã?Œ‰Ì‰©ªû®*C†äœ0¡ÊÌŸŸÌç¦<%{#;*Fxס?ýéùs#HRõèdž´÷F8Âêùü„Œ?:6r^™“ƒ9I*çU)ÍüÑ|þHѼ*ïWšÿCEc"ª &#SÍŸÿp|rTÍ÷qo1hð;cˆNþíù…׆ãØ`m³>ü×ÞÏ>÷mðŠmÖ%€Òêö·õ,pV÷&Ygvh}ZåÚWÓ"Ózj½7;JéŽXØà¯©þïw²Ã[E¡‹Â¿¥µMÛÒ3Û ÈT®råSäE}JÐF%ÀÈÔ1ôBkQ%mÆØvrªÈ&b±|¬ ɳîrñ –(R$˹1CLúA;FÖ?lp8´ €;c^TîJù•‹¡·›7ËÒ”IDå#I·ò¼ÕéÜZäû¾ !³¡@~¦s_e:×*S¹Ê¦|:é|ÚÉüLiígZ“©E€ºÃsðùÑÀÙ ªh|$åó¹¬mçOªÊ”æù|D÷¥|nÌøÈ•?üpœ$¦¢;dÝƘVˆ&õ8¿Á™û+ްµ±ÁÖdï†:xR-êmƒ1@ˆ°¹ÞÜXoÚ`ç]1pûâËó‚«Aày„¼ [c’×öÚ;ÁÎŽAEWƒ`Çë^»Ýnívûªg·ƒ«;í¶·€±oÇó<‹gÒêßð<¯íí ¼v»íyWƒ ëy;ÿiyßÀnÍEÑNx^×þ‰‚ÿäµÛvYðêN{g§ÝÞY¸¯{žçu½Sð<R‹½í`ñ»A°xÝv°¸“çyÝ ˆ¢(ØÙ Ó*ó3k(x8³°žxÆÃ¦B}Y‡[ +Ke‚Ò6žH–BÊRpˆ8„ oûMÎÙ6s9ãëŽcÝýÎ]±qÇñBÃ^³É𮳱¾ÚX­×€Wêf m¬V_'?œôñÄ!= 2%ÑÉ0Í­C&™“Šªç'?œÉÏ€øòKù¥ À™U ¯.퀬\`!Xùâ‹‹@ˆ½çbiå…iHHR¤‹Ñ½µ½:×ÛL)zµÈM _‘sD"Šeic}ë. o$§Z_<¨!âgË0 à~=µwBÐïdU[ +AíSe¯Ý»„_¤”b‚¦”¢þï) +B+Ù­íþÒç‰Vb!Pˆ)¨ +f‘ +‚¤<–T «$]DÛ)J1$ª®!#Årþ„8¼a¥(„H«ÈæÙ;šÈ¤)ÕzÀz¢iëC¿‹·¯^ƲÁè4¿z‚ÒNÏ_ÕÆi °vÁp¥Áê& »énº››®Û¾ânZIP£ö½Uêv=̊Ÿ拈OåûS]̦ڦi(ùþ7³ižçZ)_k_eþ´“+;?T~¦t«c×€”Ö~!HVQ´°3‹?‹k"`L’ܤG•}©ÚŠ{Mæüu¼ðÊ4à +c¢vðù +ãbhòÐd2‚ @‘"Ç‹ôuŠãdTZ—Ø?ô6X¬O$íÀko¹çÀ¹•Ù"¤+Fž.i +q4ŠlÈ˸ÿËË—ùËv3]äYÇßõýLéi~¸»ë+_ë,W³– AÔZeyæk­‹Ù?eÙDëÿ{v8[@åÉpÕirˆc<>þ—þý÷_Û™KBRi;é4¶ë¤”Ô«`<ê÷k[pà!çœ;aØk² gcÝYm¬œùõñå—"¶F‚À9ÛÞ´‹ƒ+‹e :PtÕîà\(Dú¹€¸>†4² ÎÀý` ãÆ 5Ô?)´~7SúÂÀw•U /á'8®}w—Ïj::€”®\˜ÒþD­ó'BüÌ@zR"M‘‚j?=€Ô¾¨c9$ÆìÄóh_ý<ÄŸñÒ^rÆ xÜ~”^†Ó8-Ö>X¸W\×ÝtÝMwÓÍÍMË”ö•VJÝžh¢²Ã©Îý¢°‹o™?±<`–wìó¿“µ'ùÔŠ2Ýñ‹"ïhe_ÖL<ÓÚšç‰Gí‹A#ŽD@¤$ø|Ïœ”²$Y°÷šÌiÕRR‘Ò ¹5Þî&TcÄă0ŒEIˆÐ6Ø‹EŒ©õ#8D‘ÁBÎ68’w\·QÃu뫉q*æ^-#Î×.Ø:I‚Õ3f"*½j?ˆzœ³ÖGýòo¾Ùͳ­½ôÄ®ÈÛSÞ9œîÞž(­£¦:Ó™ø¾Ît–e™ïg»y¦”ΔRQ„ƒ¥˜Éòü#ìŽJòŽê¬ÅŠöšM‡Y'ö4MÓ£9sŽí{ÕF@!Æ8¡l­%œsB¢ÒH)I¢±Ô5C77zHIiV‘³m[I# +Ú""wV‡ñÄHÉŒcÕïRÊ ½¨.(œ_~¼›eÖÁ8WÊWJ. €2›žæ«\ë‰ïûÖYOõ?eY¦õlñÓJçÑ|à¬7Cˆ1Ûg)ïÓR:´kw‹ |:èjè[¹Ìo99†aöb‡õ>ðúúêÊù€pöÆ@(c€0ä=Ιµ­%€Õ•ÕÕÕ¿ZYý+ë +и ¸|R4J éèwï3º˜Èe á0¹QoÙ¿ËRDÄ`~–ˆ¿”¤ï€ ¿~‚ˆ @zŽˆˆŸSÀ{ `|ÆïÀ|g~X$g +p‘Õ2€+õ?mp¥n*‰£;j6Ñ“ÃbR'ê™.&Öão¢|_ùÙ4×Ù¬°ÿÇ7:Ó³B+­Zúkì±ëgY¦T¦ ôlc5<±JND" ÚÁhþˆƒª^°¨Õ1$œs¶ÎŒ$Ñ(ŠÀã8Žû„! ”|kK šŠ ‡( +‚½`oHD湩è]‰qö¶&š~J$ÇiŠ|›ñ…@¤"[Po; ytãTQy&‰J)PH:ŠJ+ÌõºÛŒ¹ŒÏtÇÏ|_ÝR¹jåê0»åkߟiíkÝñ³:g,S-UoV,`Ñ®½ÿãžI‘Œ@)%cމduߘùüþøû9}?^UÇs¢´"’f/A:°îö)ưWMhr·±õÕÕ³ áN*HD Â"p>pšŒ¯;ëöëVMìüE @¤¾å)Œ>T,{t +8¼€,K:_ü… àl @K}ÿ_ÀÞ€¯— @ÜöÏÀWâ˯ÞeøÓ ~šŒß€öã÷J€:¢ñsSË®lºWÜZpe±T€òµö3=›éÙíYQÅ®ÖþlêO´.&Z+5ÕZw2­•Ε%ù¹ÖÙ7¹Ÿkß÷³¬UL~ãg~kן¶”ïG€'T(( Dq?ê÷ÛŽP~e-+‚ìÛ£òí°ücE‘—ÐÜŒãíæ@`l[üIŠH‘%ƒñÂ&láðñHžT4Âdt7I¢«xbÆB2#²êMθÕû úœóˆ3ÇabŒœ8F¤ÄTTEÑWRȱ!Y[Ö×cã1 +Yø­|×WÊïX[ƒ<ËU>õ3?ókæãûZië‡f ¿¸¢~´Kn{w£ ðv¼ êGQ/êÚÿ% +v<Ï‹¢(ÚÛëGQ¿EQt½E‘çµ=¯mgØÜc[îÖ–wÉuÝ5çCj ¯kGÄžç±­-ïWÌù)ÙP㢀H\ pZÐ×?],€9Ó\ÀO0€ã÷J€Ÿgâ”ÈE ð1€wJ€¯Ë%øâ‚`ÿ|ðËw@½+õ”â/,Þe_,Àþ/)Øf­°Ý¿¶ë¶kPÏ3­¿9œª(t¡u¡TG“otaýlT¦”ÎôTO§ºÈ[ya—ûfSû™¯TÖÉ&Ze»Y«Õé´"¼B z]ca.A Ú£dDV…#œ‰b³Ÿ.1xÀ›ÀÜvdŒHQ¤Ðãaœ"JArDm̸‚:õÑða-ë9¶“$%t2—¥î\j¸þÄïÿ@•Áµf8@@ÄÓmÄžë0þ¥àá6Å¢ä}cªh´‘”ÑܦYÀšÃa*¤ŒZÓ¼ãû-»Ô˜«[ªÐZÅí¢ã[u-\§p–V`Œ]¶ªÒŽüÒ±¡²œ›à9Õ"³òÈ ’UYšd„ˆÉ!„` t!›vA8˜ƒ’b€ÁÂÍãNxÆÔŽWVVV.¨(ýI€2€–1€aÍ8çÝ.çï1€ùÏ1úI@â?Òøßa4~àO2€ôgJ€Ÿïœ‰w:3ؼh +дMÀåBàææææyÈ2?»=™‡3e×}5›éÉLÕÖ}*SÚŸzRL´Îs¿¸=ÉüN1ÓºÓéø™•úSÿòåËÎaÐí&íÈn/¥&ˆÚhv†pˆcàXõö& #R•ЖËXj©µhuTbÔŽ€sãÁ%Ä.ð…¶ÀU!b•$.¥Hœo38~>ÿÎT7GmÏ‹˜E€D$$R +0H3‡ñP4›öþl<2BˆŠ®þÃÕàæ?$‰<–ë ®mÎì‘@!)x+Ïþæ—»¾Í×·ríçZ)eÃE3_Y¿ÃS 3ÏT"pœíkÑÄrña'"Åyp‚ ÚãjýåÑX’44ª%}ëÇ!ï9Ày“Õ¾wƒœx1>Œ!ìñ³ufÏÿÅË@˜Ò…%€8exýô@ +_-€ó­-Öõ<Îy·Ûí2Æ\×õºOþã=€3Çÿ­ÀÕÎÏ1ù2€öèç{gK€³1p?S¬Ú m7€6-õß\øØ + ÛÍŠÙÌ/ŠÛ6ä/›Ί¢¸]t¬Pe™?ꢘ(­”Î2íÓÝ<Ÿª¬ÕêdZé¬åëÜoí®3Îàoa‹ôȶô¹Y 9çÔ6@†ÆÇ櫾×N x3lp”KÓT»íÈ®xp@ìV¹€îukør,mÌÖAûXJ1Äœ3‡“‘TVÁcC0€¢®çu!©dU#c]àNz[ ¯„Q2Jpôü`¤DŒó&gëç_ýQJ0ˆ‚²V«Õétü,»•«<×¹RZ©â°ð}š[aÅ)ˆ4µQ%‰`ÃÙæ×]Ž•u‡"%ˆó ZºpIÛV0B„Ī †8„0ä×]ÞdÛÍú©~^Ðpê õ|Ày膌mXPë€Ïœ}ÇqœÕ ÏÿO÷ð'ÀøB`§$„ý€vy·»µÕõ¶»œón—1Æ\×ëv»]Ïó8§ ú¹)ÀègÆ€ÿ‘À‡§â¾÷s @’Œsˆ"Î!â¼ÉXòÿÅ)À…=€SpìÏ”K8Wpî±ÍZl§W®lº››î•²–ÊÕ¬˜f³™ ý,‹B“ÉDut=ß/t¡§Ó‰õõle‡YžeZùªóËZ*?Íu|qmŽ CgÓM战Àl íº³Í9ç€}Lªª" qò&Û^0$J†Ýµ3ÅÂxŒÐ  Ëy-íC¤R +¡ñJi}«9sšÇCD4W Á~5"S™ +ñ`'Ør]8ð5ç‡fcþ'Td"¨0„o3¶Þh–Ç}’#B$Šy«³Ûêt|•–dY–+=-”?Í´¶ñáŠdqJ!ac£É¯»Ô§cDAsÛn7‹…vyd¨•‘ 1I.T”q# Âxϱ¾ Ž³ê4«+çABÄa÷ÀålsÃqœuçL pø“=€ô§z˜pÎëv»Ì³ÿä|k‹sK8ójøkîy]Î=Ƙ³É؇€Çó¸ÇŽã¸[ìŒs]ÆYý;lÓu]‡m¹Žã4.cîÖÖ–Ç\Ç±Ž +®ëºî¥kŒ1«¯à×¼kŒy[Œ¹ŽÓh4x÷ãœyž»êpàŒ¹klñˆõ¼K—~õ«µ5Æ÷¸k3Ûá:8D¼×d,âˆÖ–m ®_¿¾¶æýjm­þ.ŽërÎc²”´øé¹œ÷®u=ñ-Æ\—yÞ%—1×uÇqÖ XoœOx=3ؼh +Àëuà+Wl V^¹R@Öº•ùZÅDMtÖɲ‰>,&ÖÈ·fw¾ŸY¿l­¦Zûjšgªh)e_^ÞõýÜŸª 0Ö ½î ؃iú}ƒušóõ­kŒ3Æûœs@Jñ.%^ŸŽ“±ýŒ÷B¾á’0f?ñ‚„П>ºv ñˆÄ€Þ +""É£Ò3DHBˆ8ΆØ$x°C<Äq qRI•1ò:&À9w™Ë±ÆlB÷ADˆ†¼ÇÜ:ð‡²œcTD‡Í°—éËß×·tžåy'óu®´Îý|6)f³³p¶×a 6çØ¦…'©)!bZÏ¿Àte9¶¶ ¢Öfد)ØÁwkOǹ¨¹wÆTŒs.lo°uÇi¬:(Vßs¤Ÿ™,{4þK¦Œ-Rͽïr¾µÕåÛ¶ðc®Ûívÿš{×<λl‹¹ŽýRvžó<ÏcŒy=osñøã€À˜»Æ8c[Ì»v\§Ñp·˜»ån1最ÍK×¼-Æ9ç!ç×¼k󶶘ëüºÑh\»vqîy[]=žÇ<ïW¿ªàš€ Îá:¿n`ƒq ×¼kÖ´®_¿î®µµ¶æ:ç þ쳿Zê3ÎáÚµkÞµlyÞ%w‹9®ÝÞj46ÂóðëŸqîyuãßRÿÍz°é6ìù÷}•k­‹l’eÿ¤'3é¢ÐÅl2™´”Ê”¯fS•Ú¶ü¼Ð:WZ]Ö¾¿ûËËšû·q0p^Ço %Ö&†sƶë5-ˆÉÎÈkGT +Ÿ“-YÃAÈV w"$Cˆ7\èAŒ‹¨W*bÚÂ…gMŠBʶ[àB~EÀ·™ÃkëÖï"lnsˆkº€1Æ(ˆôBœcÜâ1@ ŒÚfgT/$v9ôxs{Ýa’¿ûãÞóƒMÜl6CàïîúY–eyÞÉT®t¦”¿;9œØÄ´%œÖ–’â þ[jè×Εµ›ìwi­T3 Z•¸;DûæÅ1@óž ŒÕ~ —j›Ï³ž€ ï{¼ î5ÎØÆÆúJƒ]LVßµµ³ÛŸìœÀÏOêÏ¥e °%ÀVwÛërÞõ<Ƙ˺Ýn—{ž×u½Å3÷ ¨×àcŒ{̹´€¾¹Ìó(b›WÜ+‹5w³6ßtöü«\i•e‡z6›E¡ü"×…•ôg¾Rº˜äZjªµÊ¦³"ÏUægÊÏü¿¹|y÷ò/ ÑDpD"n6{1–Q´©^Œ¡Ç{±D‡qæ\r8 u»N–;§•E^É Î·ë§: ‚žv÷gqš+¹žD„„ aìì]!šçÏOJ¤RU|{cµ¹š0ÖƒÁÀî³ D$™ ÞIÈŇ"%Ý‘I)!DÀâÚ‰÷’Ã8–¿'Cd³h˜‡U½"§t¶»Ûiù¾¯TÞQÅÄ"Àl6›Yx×f“;M°Eµ^ý.„µ¤O¥”Öâ`i @8@€ëuUϯ¯Õ^¿Žãüú\ F£Á£(²¡"=ÎyèÛfŒÕÞžÿ·oßœm +J…øË”€ôSSÞçg€óú,[þÎ#Þå<‚~ý(â¼ëyœu=æ-Z‹ +Àóº]Öµ¨àY°<œ{›Î¯ÇaìZÝp¼e àmºÎ{ ÀcίÏ0¶daÄ·=1ÏÝb›Î¯W o›Îª€µ3%€wéÒ9pk¨ÀuŽÈ?ã×¼kËÀ][ó.9Ný¢—59@ü™³úWgÀè½€-À¯W>ž4S€Ú d!v]·aÏ¿²çÿöd2+t¡¦¾¯µö•ò}¿£g¹VJ«\M²©öýÝÿ[ë<Ϭ÷UËßm9Î6"b˜RJ³fh¸‡Ñ¢pç@è^øh†q<ˆãÅ”ÌÉ ^”˜ º¾M°‘BCÀ×GûI×KhßÈ8 RbÈàø{ó§Ê3îW£$A”8sš‹Ð‰`Œ".Íå¼{bĤݎcX̪¤fÑŽ‡8Žm÷ÂI¼¤2Ç{G¥‘C‘g½±É˵VÖ:0Ë[j2Ó5fZ×n Ë9wX éD5 ,L³gRA_JÍ}#I¤KEƒ°˜´lëñ¼… ˆ½'jpèsÎá:ô ÇyošÛÛκãl¬^ØüñÍ›7oßüϳa (è/ì|p +ÐïsΣ³°("Ïc¬ËyEQÔï‡ ô‡CÎ#Þõ˜Ç¹×ÝÚrÝ®·8ÿܳ ùúù¿ =Õ%À– €yç§N›¹[.clóÒæ¦5¹‡\»Æœº xú„õ<ïW—~µ¶¶véâ™À€_;3Xs]ïW—…º€8§nàÝÀ;[ð‹{1[Ø +À­-kÀÙó?»=)&³Bk_žZûY«•:«—}u‘iߟJ™ÒÙ®¿ÛQ»ÎÖ¡Ï1Çí5Œ‘¼cÛ¾ê`!…KÛ`< æ;„ ":‘!í&Q´–ò0%De…À¬–ÆìÉ>‘¿+KSWÿ‘!LÁzBŒ¿’¦ ÚUe EÞ%wÍCöè ÂmΡŽGD¢òÇèXı‰Ö"MÖð ƒáhŒÂ>þcùvsÝaóQ@X!I)â0 Á` K"(Õñ[¾ïû_i]#@~xx8Ël$ài•¡q6¹ ¢¡ƒÅh’ÈóùÜœ¡£ã²|dÆG†Ì\${D)¥e5—Æ`*D…œsX㜄Œ±æÆ;R  RÝ%%p1V4¸ê¬¿óËqÞüøæíÛ·oþç›7o#ÀÚ¾ó'zøÓS‚ßöûÑ{À˜=úÝ.úIÿ0„ÑðæoŽF£áÍa²0=ðøÖ–»n™‚çu¹×åœy?íx̳ `Åq\æyï@{Q¼ÓøõæE=€ómïcÌÛZ6=sÏ»¶é8ïc–üê|Îõ_Lb¸¾¶æ®µå¸ç`±Õrœ–ï€-Ûä÷~ÆôÊwÓÝt¯Ôæ€WÜM÷Ê·a ,íùŸM&ßN&“Bk­>-”ßi¾M·TJëB+íÏfjÚÑy‘)ß÷;­]Ÿ£Ã؆s LJ÷¡ögœƒõOK¯m죋â8_)–ÕAÿjPYÛùààòmÆ‘ˆŒ£Æ]øŽ°»3"3&D¤ò÷åQù ŽƒÍ©SÊý ’&ãŽ~¨îÒ(I‚ ðvm ÌQU"¥Ô—_%BÎÚ7€Cí)DÕèsS!bÇçÖ[¤ †2" `€hªˆÊ."Ä©ïïúY¶{Ùït–PÎf3ýžËžÛh\ZóÚQ;p¯\‰Ú^Ûóv¼ÏÛ ’ÏÛív»ýù^E]ogggg'øüjÔnEŸGAEQÁN7r·Ü5÷Wk—.]ºô‹K—Æûƒ@×½´·\·íºîšë­yî/~ñ‹.¼yóã›7oß¾yûæíÛ7oÞZò~1 ÷•€1€q¿ß߃þûÀ=æ1Þå¼0‡É̓›7oÜ<¸ypppçÎÍ›7‡Ã~ŸG¼Ë[̽.ïvyw›{üÚâä×e@Ïc¶¸¶èœ)Ø¢x¯À/ž0ví}àyÞ’¬alÓÀ¥Kkžë^ºÔøÅšÛ¶¾›—†»æº—~µ¶¶¶åmyö?×  þ0Ûpç\¯{–ÎOö~¦X8¹õb°í4ìó_Ÿ9ÿ6$¨ãû-?ÏòV®ó‰ÖZMtæg‡¹ÒÓéîl¦•òwý¬rð8»´bÝ£ƒ´Æ‡bÍ©ôˆ‚L …¬·£d‘ç&¡ÐŽ"Û¾#²ilü’çADÑâKÇeY–Òö©kJ#k¥”Êè…ÀPòEÆÊèß*¼v-‚(êz^Èà>Qtÿk!8ï@L¸ÕO±N½#š‚J¦(DøÛÐîÚq@!Œ‰¢û$DÆÖ K<2Wçck_öeþ-?ëøNGÏôd¢m'pv^]pbŒqXŒž7JÉXU’Iæssp0%DÆÈ£çæß›s2ÿ>›!Òü®!YÍ!Üð<BÎ}ÀsÛ€G†Ì>Ðw×9s]V;®Ÿ¿œ7–½ýñíoé/íŒßë@¿ú ü6zºœsÎû¼Ÿ G£›£›7ïÜ9¸sçÎÁÝ;wîܹ{÷Î;wnà0àœw½Z7À»]Î÷¸ñs@HÙÆ6J rôÜ€„Ä9÷8Ç÷5~q-Œ8ˆ3ƶ·Aˆk<Ï#‘Á®Ó ç1`M§Á ¦pƒä€3Æ8 g!^çÀ# Ä8¥Ñ㌱hßìpÆ‘AÂùZ%$2¥„1«çÀXÀÖ߈<Bàˆàz×9pÆ9pæ4œfÈÎF@0‡ñmÆ6{=Î`ˆû€# "ô6NoüÚÒDôZý¯×¼k^ã”ÿÏ&“ER¨ÒJ_nùS¹o-ýµVþ´Èó"·Ñ᾿«oAüWßà–`'ÉÞh'tÆC1íìã`€ˆ1çÂC$ä¬q@Dïî2} +“0!øG¢±,‰¢ ˆÜ1(Qþ®”’ä׈$LPŽÈ¦ +Ad‚y›,7® ˜#49çü: 1tRí!FžëE‘1 +!ÇÚD$Çu÷ÑP—J)Â8gë …U$2„q=º&8ر yh=ƒ— µž³Ù콬„;ëuÁz£-3_ ’!& "Ò±¤1aŠˆt7aJ)¦õf¢õF‡^/´ìd‹1ÆÜZÛ{V°8!„ð[l›mo:뎳ÊVwfÎoÞ¼ùÑ>ûíßßþøæÇ7¯ž=¸W=xøðɃ{ï={ñæÇ7¯-P¼yóúí«7oüñÇ×?¾zñ¢½þú7ï>8xøâõÛ·oÞ¾}Ûú}ˆ¢>¼.@?ö‡Ã›wnÒ;æÎ;÷î=¼ûàÎÝwîݹSÝ»sçàæh8L’>D¶gÈ»Ý.g]sÎy†½°¾ ÎVænóE â Ϻ?pÎ9¿Æ9çœwÙº³îôìh¤^ fœó<î¹ÐëÙþJÈy¯× #ósVïqÛra«Î:ãœï3ÁãÐã½èzÝaåœst9[w·WێûÆùpDZ]Í¡îˆõ8çÛlÝqÖÙ:[_·†. +‡ú[FPÿ ‹œóm¶¹Égµáp~ެÖÏŒsî„aØ ­æ˜ÇØÆjÃá!T_\õ’GQÄ·–üÿÛo¿]$gJ«V§Èu¡§?×v˵(ЉVJçÓN¦ýÎ &p7·›À‘ ]ݧ„8cŒ…ðö‰¢„à œ£H¼`äYinŒQýhù¢Vú!Â'8ylL\%S!pþ[HŒÍ¤•_KñI$0yH´éT© .»I‚8!!¨ +J«CäÜ@¤6š$ÁÑ0hwÅ—+ðèØ,{`ó¤+eöšŒ9MÀ¿"’f8'¯s(û$ÅqêgÙ-Õñ;O;VP=)ÞÄÞºÃÀãö +Épay$£ý¥&â(¥ãÀ ÄT âxŸl𬪆1¶n‹Ã•³É@u–ÎyØ«¿rù äõ‹ƒ}Êj¸·€§À›×?¾zQA”ô‡ý¼yûæí›7o¼ƒ]Îa8öaxpóîÝ»÷î>¸wïÎÝ{÷î=~xïÞÇ>xðàÁƒ{wîÐÁh8çŒw»Ýn—os{œó¨†  é8l³É9ïñ^^çœózýågž3æ\â<‚C MÞƒç=Çø@ÏzÄÁ5œ­¯4œž}·{Àg}›÷82â¼É9Ào£®ð8àkÀ˜Ãøuà< +94‡1¾Í;†8F„ÅO.Eõç‘­o8ζÃÎÿðV-ô8‡ÀZ®çöGhÂæê©­£euÛ<ìmõ0ìY¥(ïññ&cNÃáæpÊÿ¿ØÌO•e¾ò;y1Õ*WEqY)¿Óéä‡y®õÔ¶Z]Œc€Û!gÛlƒ§Uß!¶ñ:ç쯷9àA;¨M@x/Mñ`äÙ±Ô‹–NB”ˆÐzD'$¬ˆxÑ*O‘¤””¢H…ÀÏŒ‰ìöŒm”'$ô-Ã8B˜¨qØä<ª¿ÍÿÓ6˜‘RÄqŒ‚ĸ¤¨*e½—)Ê€ÚXVl¼4ý#·"Œí¸ +0 ŘÔði§3SppîBDŒ‡ÁV´ü׎$£Q„UûËÑ<2²­M ovĽÅùߪÛCg)ï÷ë™!„¡Ubº.c++FcÕ9ýµòêõ_À> –œÀ›7oÞ¾}ËûýþÞûÀy”$£›7G7ïÜ9¸{÷î½{>xpïÁƒ>yüðᓇ?|òðáƒ;wîܹyp0JúQ—u»Ý.ó<ÞåœGý~|æBî8œ{¶œðùu×oAÈ›Œ9—~Ë£ßBÄ=‡±BîqlcŒŸ+,BÎÙÆzƒ €à9ŽíØoçh§«aÙ‡:¸îòmæ°¥þ’;cی֬þ bˆ!F¤(†°× yÈ[_çÛÌÙXwœ…¡ãœC¯Çùo{§kx"Þ½Æ[_mlÀ ÜXä¼7VV×õ ÆX³^¼ÆÀÃ@Ïî±8€Ñ…WC}þ[¥OGéN'ϧµ/xÞòõ4oýfš¹ÖJëLëNŽˆ1V]À›M¶Á£äN‚˜D}Îã<'í{þÁ +q{\´‘ñÏì:I¤ <Â>`‚rn¾’pÇe0=¸J)!‚}t"ªµñD Íñ‘Ü3ˆ6¨+)©Ô>€>ð&Ô¯óHð‡ˆ÷ÄöÁß"Æ +!HÄiœ +!ŽH¹•嘄À;6ã ä|D)†!T^b’>ÙažIÚ@$5|ÚùôSûæM>;7L°Ž(áí I’ái/&€ Zwp²{Dfoþ•XæÉbЧR@~sÞäK +°âœÑ8|ù€ ìð•5·×í2À¸³€w{çÀÏ•ýþÍ»n.K€·ïGï#çýG7F7ïÜ»s÷îƒ>|ðøÁ½‡OžýôÓŽÒZm‡Îó¼ëõÓb×QØ}¿MíqNI Lþ mjœ5ÒÅ¥ Ç½¨Ç9cÛÛµ'ÈÙ6ÀJˆ0¨5Äœ3Ï®b;+5a\·¿Ö“wà‡Ü<-,$ï @?ŽnÞ<°Ïþ{?xøðÁã‡?yúäéãÇOŸ=~üôé“gOŸ ° +A¦¬ÈŒ’d/ùû$IptnÔó„°ŽH’>à¢>4[óðQ4¢ ƒˆHÔ5˜II‘‡Æ3ˆao³(鎌G2¶[@1’7§`G.B¼cÄýýÑw:þ§Ÿvv;ê=H¶Ù5îÙæ?%ˆûiƒˆ’æ H­–îxÏ‘RŠZZ+ ÄHðÛÞõëÐã]Î9ãÍ3­À•¢ý¼"!ä€^ý•Ëë`”Üyy® ø¿8x·xËßC€n?ÒÍ;wïÜ{pïÁÃ'?yøøñçϞ>}òâÅ«/Ÿ>{úòå³gÏž>{úøéãÇÞ{òðÞƒ»wîÜõûQ—ÛúŸG÷º§’e9ñ6k"@,*HnŒºˆ` pÑ +Þs,/äŒ-ƒ¢‘a-¾A ’¹‘†qØÜXmÚŠS"Æ!„‘‡ŸY›ZÄ C + öíåö‰ 4tÖ›¼ܱi´øùË + KŒ0Ãæ6k†ÛÎzse¥Ñh8 ÛõK†íïì]jà ¼°û. +ÄJqlïŸÅÀ9o®lÀªä«qáùWZe»:ów;™¯gÚFüîf…úÆÏvJ”ÔMJDôÌ ð&s¶qçIpz×k?«Øé"QÚã¼gUª1¢˜GÕÞΞ™ÏkG´J +ð& }%ÌјmÅ…d ¢ýT9²Ð–Òyˆcë6™$G6‘ØðhÁIn0"z°0ŽKñdG +YŽ£À ÍØÞñ»½¨2Æ ¥Œ›ÍúÈ'ˆOÐC‚Äú’ň1ŽF£ñA»Nç½§ÿhD ¿Æ9DÝU„û´?4ˆCc†ûû#ÂÑ(™ŸT怌UF4Ú7RÒ‘Íâ{^Í pE]Ï~=æŒq¶Íc›Ìq.Õ>HFû˜ ]èEàáøÙó÷,¼ý©À¸àï#@ró€îÞ½ûàÁÃÇOž<}üäé“O_¼xúâé³W/Ÿ½xöìÕËW/ž½xöòÅÓgOŸ=}úøÉã»Ü;07‡Ðç‹ú¿Ï=Z,¢¸ÉG†n £¨U‚#À1Á‘8`̉è{B¤&Œqˆn$xÑ«žWßïöM Òýx2‡‘œÿéäOÙ6óø(Š<“ b„#DL DHHmÀ<¬›7#`.çp£mNªj4B"ƒV>!Æœo‡’p›-òîaëþ1Á!¢À¬ÚJîqg…%d»IÆÊêj£ÑpœzÓ’oYŒûB¢8:©ŽšnÉL²÷àp6ûö|ýŸO´VY§“}“ùùå\é™VJ+•Ýnå…öñæ‰À†yD„iä·Rî4.]iï· Ñ$ !ŽDDÏ£¤¬{Ý B—GDˆÑÕþhD8Âýúç9—”"FЫ<BÊñ-‚Þ´î 2wÏÀÏÀ \lò!¦4Â$9"DŠ"Œþv„Hdì~€1 &ˆh(¸Q‘ D Ùäø1ò¤àÛ½iD&I%Ï¥a7<Â#Â}ÓŽxƒ(’ˆ’Ì*‚>½{ü:D]|Fû£}þ‹ Ò<8øÎŒ~Ežç]çpƒ3ÆÙ5ÆØæ&s.5êÏÇG ˆàz/å9xpþõ%À;A‚£ƒ;wï=xøðÉÓgÏž>}ùâé‹gOž½|öìÕ‹g/^<{ùòåË—/^¾zýòå˧¯^<{úìÅÓÇO?¼wpps8ì÷£ÅóÿšÇºõ•ôäó Š Š¢hïo£ èGQ¿ŸDýZ;ɱÛ]æ°¨Ÿ 1IŒ‹Ö¢(ê×_Ó ¨m˜“$â<âÀ9k8&0Ž0‰×ó¢µ Ûµ·9=AEW(I¢ks¼>&8ÄQ²¹ó¢îâ›'ýh/‰úQ!Š BÀ(bÌsÍ…÷P£Ñh\ZÛbžÝ⪿9FQÛ`õûI’\"¾ÍœÆZ´%{IEî)¸ä8Œ3ñnèYOi€(âœ9 'ö‚À{ý¿\×ç?Ó“Âïø:×·”Êr­uÖÑ$pÞŽŒõFCDžáÀyÄ8[ïÍGUUEß=’DØ€ŠQ@˜>ÇhD‹i@ˆuƒdTÕÏìÚé7J)‰ŽƒŒ[Äpt†˜£Ÿb×@D˜Ü=ÚG¤( +¢¿ÝézAxAˆx3I’!î#Ž(0$R$”‚¤”1@Œ)ßh2n¥AÆìí=*„v½qž •"E$h'à3ˆñ‹šÐAõ.Ò; À㽚Œ, ‡Æ$KðCeˆÈü$pñ‹à×—ß8×ẀÞéùx| ð.ÞE€~tóν{>|üäÙ³ÇO_>{öòå«—¯^¼zõâÅ«WÏ^¼zýúÕëW¯^¼|õúÙËW/ž={úôÙÓ§Ož<¼wïÞÁÍÑ`ùü÷7q`½ó,|DˆQÑÎN7 LUÑ“I2¬=ƒª."úJH!¾@ ׯ8 +"’$Éìñ‡ÐDòªñ¿H)0†˜·nƈBœB€ßéŒpôîEIÍF3€dþÇæà€¾3£Ñà:ÿøõ0-®_‡{ýìñÓÇO>yòàÁ»7‡Ã8÷<Öí2Î<ûvî“€m[i•iè`QÔ"è÷ÚÄí…LS‚ífì’%Ù)âMëÀŠ $$,úpÀÜU¶Xh¾¹é]C­A„=üý>  ö| !g=V°€ã°.?9%ÄÄÀ)ÆqœïñmÆìLv¥±Úp¸‡µ¯(@ßxH@¯*¡VÉ!g뎓ô¡„°®¬X“1+°E«À6zøA8?ÿÓÊžÿÎäðððöd2Q¾¯µÒ™ïk"ŠC‚HJ9'{&­ÿÂ{Œ9Û± mZp}‘A$ÂÊ3)ƈQkw„ “휄’¤‰\WØzç}˜ â Œ1>7Ì"FQ·Ûow cd9&ch!Ã(DEíd.E,Êì9„|›±hNBØÀvŒùZפHž<þú÷c zl›÷ÒÈ#"Û~ö2üP ðÓ  2ô³ ú¹o¼Ó8[ܳڻ9ø—V·Ë#ÞúýáðæÝ‡ï=~øôÅ‹gOŸ¾zùâå«W/_½zýúÕ«W¯_¼zõòõ«—¯_½zõâūׯ_ýøúõëgÏž={úâÉ“§Oß{ðÀŒF£á°Ï=Ïóg;ó®³S}€È›# ëGÿ"®äsš" +!1Îq+±ª‘ +a¥è4@$ÂEšÆ!ð͆;.ãØž/ƒ‘•!˜6@/l²PŒmÇ+âŽÃ<Ä4M—r¢:¤âÄãÛÛlÝqغã4V‡²}<õùo9@ßúàˆÇVÔ=¾½á¸µø„ÒA= t ‡±mÆ C&„ÀCΘÓp!0€÷æÿËó?›ÙßiM•ÒÙn.a@+IÎGÄÚ¤€“ì[LAE†@}ohË $D"cß +k:‘|g…H„ûDBˆ±<d_ÊypôA@ĸ.ìþÝì´½ÑùÞ1ÒÀAËAó!X +QG‘‰BÞ㽓 2õbŽíÑþôû¯Kv­#è…œYˆ­“ Æ8í¿wþ/îŒÎNê& 3‘yóæÍ›×?¾x8„›wîÝûýäÎÓg¯^ýøêõë×?¾yûæÍë7oß¼ùñõÛ×?¾z|póà΃‡î=¸wçÎÁÃ×oÞ¼}õã[»åûão~üŸoßþÏ·oß¼zø €ê/ïüÇK€-¾D€þî>|øàñÓgOŸ` ÖN<pŽ[79 !R;4K‘ÄRÄÐî6Øâó|Óaüº7èÛ¦ôBã6Äao‡B¦%ŽË8ˆ¸Nº·ß\ˆ‘D ðtys¹Æ¹²ê°>Fs[\‡¨–4ƒáBñÆ!c '$A 47VW¬ ЊCèqàYé1X§á@ŽÐœþ/ÏÿíÃC{þ'Z·rßWyI¢@ãÊD•I ±pêà® uFÿÖþ®·,MEe` L·O;4Tjñ¦‰lUT ke,#¹èHG; +/½Â|‹»öÁôœ‘“Àaªp°±á:±Á¹Ë þ†%²;G{8d%A7*¹›`±â.îâ'Ðÿâ\¬J²åú˜ÓáL[–¨ÅÍõ¬÷ãyŸ‡C'§­¶)°êsÛÉ+0¶ÇŽÚN8âЃ<GTà÷|ßoà÷rY‹;€¸ºúP +ð<ï¡p5¹°¬ºeéOªž§¤ùü^Oˆï‡N!7}kì®Á}›sŸÛM»Yj¶Áúý²P 2B™ +«ü÷ÿöþ/¥M¼Ó®Th£‘CcE"€À‡#€›.€çÞ‰þ0ˆˆß /U—Lsí@&)e’¦Y*³,MÒˆ[Ü@v–³{#€Ý.@vDr s»C1[­æË0ŠÂ0Ülâ”±LâT&I"ãu*7©L¤”RƱúSnd­7Q´YÍ—‹ÉtˆžÛjÕ‰Úÿ„¨€##D§Œ1j1&ªˆŒóÔqY«ÕBÆÀmý’¡´Dó“‡w By•}i!sÞá9ªjP!ÇÌšŒQòoH¾w]F5B(T;X Y«å¹Ê°Á«N˜ v“VÀ‘cв46Ѷ8rð<œP%*¦Ó›9î=ZÌ3XSQY‹1й +t×ÀœËÁn3FÉÞ!c‡1ç›Všå¢P"¤L›”6˜£3Ûfm›5i+ Ü{íÝÓÿ»}þÿ¿þþïÿþ?|öþ÷1è°ÈÑLøÆ÷ׂ½Æ0ö4`:0JöÙÎX8À!eŒ9Ný˰êËÝv ãq´<ç¹ëPᛵ›åƒ +xâ³go°I¨Œ1DŸÁÿo>جAóA›Jƒ6w;ó?V¸Õ¸ËøÃ‡C‘þÙGóÑ.˜ŒðÃð ûלÈңꭖçFÓùj†a­£x#eKËD¦R&Iš$2‰“D&i’ÆR¦‰”ëXnäzoâp.góùt8ìv‹æŠâ¤ð/DÎrf?³ƒª÷Ôeð í0×aŒ=e–ÅžrJ(W¾„Èí +…ªÅëpT>?v^] Ô6%û¤ÐlgìðB*ó[cŒ=U$¨.Àf”4;J-ªiDˆ:¨cÁÎghƒÒ²òjÚ+€2½5à0g(}Ƽ¨ík–ã0ä>ç6m0Zz Ê€%BÊå +¥´Ù¦mÖnç@%öàÿý~ýï³ÏþëýßÿK±ÿÿÓßÿ‡Ïþs`XÈ;`CÀ1hù…ŒØ ld:ú¶Ý†=õ@‡#¾±hªŸÏ,ÀÉ€cÇó€£õ²ãät—/Uà]°o@üîÃ5°Û·àw“x–eu]o¢Q ¿ÏYk#V€ükDô£”P¢°Å‚µe:Ú ˜ÿ›ñ•?q»­Ü9KåJ…Vè{pßþÿ` À¹©,q8Lwp_ +°¹?@ñN +Þ“,gÓÉìCEÀµ.)€A·;™Ìgóy®×ëu¤ød#e’ÊM’J™&IšÈT&Y’¦'±LÖr#ãM…Q­fóår2ê]DZŠÈ]'‹QB[ùÆÁ*¸9 0o…Qư +”PÀ"òØ•Š:œ,ÛÇ\ÆÀa€>ïtÔ%û0ŸRÏÛ€À˜â—;ì9S8àUlÖ Mž[:Ÿk„ª(Ü/ò»QO£ÞÌ-½A+åò@ÛßßÛ;`L€Ò`-%©f•ƒ6rÞ6kRmï±.kÁï‘+š|yoooïvP"eBH…RÐÛ̶Ÿ²†Õö4Ç€\{ïðÿ>ûì³Ïþýù¯ÿõÖþÿ_ÿóÿ×a†È; ,:ž…ì–±/«2ÎÛíJå“|w÷Zˆ¬¡~ äFÀyŒ1àŽâÞ ey8Ï€Þ.‚1vø UÀœy7îKŠ‘ ¸ü®`YÔ¢UÝ{à9"‡ªŒr°Oð™2臇šŒ©Ã]@ mUT/W*•Jã=ïðnº*¸‰bˆˆiúgFj'æ@wWèª ½?˜|°ø¯5 BŽ¥õ–û«áp2¯VË(ŠâxÅ2N’$N’D¦išÈD&2‡$Meœ¦iÇé&Žå:Ú¬£M¸\Í—óɤÛõ\Ç¡„rttôòåË—/‘÷”æsž÷‹³%ÜʺóJt %´ƒØó‘CÇ.Sü…ÃƬ@É—©ºè©Î"kÛ”hež»xªB#è€À(5÷0æ²a;ÐnVrgT#eJqç±æC®Æû¼I•’¶§iûšF™ã¾lù9A¹]ˆÄä.¹U;rÖ¤ÚCK‘–ýžÝl²¶Ý(ï?ØÛ×H‰BË´áè ­cŒV´}òÜ€wãÿÏnÇÿÿéïÿ×ÿ¼0®;ù{Y¸U@†²þf>Öl3ûkÎífE£ÍÇÞ DD»R¡ [øŽå98ÌaŽÊ8G#àWÖKœ›"€ +Š"À=Àäêþ`‡I· ø]Àª×ꓪ•à­ à¹ÃÇbÑCß÷}Î{CõK¦mê ààŒz¨S–;ùpŽPeÀmÖ ”R®Tô`žNÀ»Ëüõ"&7Wš%óV«;šZ-×i £8Ž™$I’¥2IÓ$I³8MezÝÑt:]ÎfÓѨ;“2M³,K²4ͶY–¨¿¥©Œ†£Ét>Ÿ-§³ Ô'©í4MÓ,ɲ­ÚåIÎFÓÙ|¾Z.§bgI’ïþ4‘i,3™ÅqÇÓzÝñ\·ÕM»³8É2µ–®+°\G“ÙtF›0\G2V™~"“$•iš¤I’J™d‰”qšÊ4M2™$‰”™¬åf³‰¢õ*\†«Éd2òºžçPrttt¤"€±BP5îî9¸gø?„""x{ Gœ9MãŸdœCë{!†¿ï! +ô<øÞô h{t¢Q!ãqÈ(%A‡à{/!žã8®ƒ3Ã×B,°B!Lª:%^Â9úÏA½=ʦ˜Ãç”±&¥%¢ík¬­ö½#0—9à À÷_Áp(‚Y €@ ”–Ö…çMü'M¦&mö÷öö*¤\&eBèçü"JèáEË î¿öî‹ÿÿëùû;û±t8~_QHU¨?øŸM€1fÿšÛÍf£±×DìF xѦ&k³èÂкsæä€À»–j8àõ¼|Ÿ1VÚïEW“ɇ@lÛ¶_ŠÉï:`Y´nTõêß©à7>öÄðû¢Àâx¡@)âRFÈ—ª€!eféõ6ç¾o36÷gް›Mڤ܅ðçuÜ;]€?\‹!Æ››+K“Ít4šÎFÌjÑz7’I"ÓD!@*“$ËÒ4I¹tœ!Nf³Ét6òœYœ$Ûôm–¦é6M䶈îev»ÓÙ|:›L'CGŸHµ³³,Ûfi²ûKšn†£ét9ŸÎ¦Ãî,ŽS™IUsLR™&‰”q,ãõ”è-‡µêÞ|âÍâ4M³$I’„êD×õ:m¹nw4™NWa´Y¯×qœÈDÊ8ITÔ¯¢)ÓTfišdY*e’I)e«ÎàfGë(Z/gÓÉdäu]ÖR:Á­V«Õr\Ë8|øðèÏ~aÕë†õ•eFÝ0 ×xf†eº®ë–~ôׇõ–eÔ-Ë0ª‡‡zÕzV·nø±¬Õj9Þ£eõº®ë:9|¼G £^7,Ëprx¨ëºeÔzÝ0¬_Y†Z¼®ë†eYuÃдCÝ0 Ã0Z†~øø¨Z×-˰ ËjY–Õr~V§–®ëz5÷üÔ?ØÛÛÛ{¬ÿÌ1ê–aèÚá!Ñu½îÜ,~fäºé–¡ëº®W5mï¡õ•e-Ëj采zݲ¬DàǵCéL'GGD×uúÿ8Ôöë [ÖÞ{çÿ¿÷üW# ÂAËñ9WžiпfŽ90ÍmÖl6¿Z8]D:¼Ç5›öØp° Œsö\…ˆžܳ,ÀUT€›"@“±_ü¬ön àjò»?’ä’þˆˆ\L~×yiYÔ¢gÕª#&B_€£†ãñb¾ïûy,hƒÝ¡ÉC%‡* ”!è-ß÷CÏ‚CjÛ¬¡ €¼ ,Þ3 àÜŽ0¾}É$IÖálºY„ê¤nd,eš¤2‘2?oÓ,IÒe‹:]œÌ&Sáq"3©t™©+ÉR™¦‘렘̦£É°Ûª׉”iš¾MdšfÛ­Ê(Ò4•ÑÐMf³ÉTxîT&©Lò a›Æ2K“DƱŒ&GšN[–îͦÝiœ¤YÇq×uBõºN[ž7œN§óe´Žâ(Žc'2‰ó!•y¾‘¦iš¤R¦©ÌSUÜÄq¼‘Ñ&ŠVóét*F]—µ(Ñ Õ}ß÷}ŽËH…RÖX¨SÀ@G%ç2`6«4 ‹ÀÛ”Z`8ÀÔÛ;×¹FÎ'e¬Íì²F˜ãtX›±bnÛƒ¡ƒ¾ã@¬£Üf„PÆ=è~~H(c¢w…ˆ„€¾®Èð¬Ñü%µ›m¢iÚƒ½=ÂÞœ‰+@ ´Áo 7‹ á«'fŒj{Äj½€`<Ú„6ú>UÂÊF‰R`=VTQg0ü¾sï{ïžÿÿþNýOIt8B`8†P²°œ€ç ŒÅ3køs}hÛn6š´yÖ? ¡ u’²«Òbhþ™Wgò(º–…/Áuœ<ø:Ošìðgy07ź\]}8°o #&NDzêuCò«_)ðEßÉ®ˆ»ýϹm³­PÃëÿämJ¨Å˜C}à aë0×è¬PRy'ø`ðòþp-æw®0œGëÕl6Õ9‚Õ&Žb™ª :Meq,Ë­;ÝÑh6™Ž;Š|—`|…•vè×=Á;üYžì«ÛLÀ€mç¬Ç@«^¯Õ³¿ó®ò"à=æ%¬Ii…å• ýœ¶ÏA0Ô¨}à£sÃÚ¤´|7 +ð¼?‹ x‡ðw‹?ü0½{¹Žë¦Ë0ÕÉÑ‘nâM"e"“,‰åMÕM.[õVw2M¦Ãn‹Nd^ŽÏT„°{˜ [-·;šˆÉhè²£‘”‰”Y’&Yö6˲m&Ó4‘Iš.¡å†ÓÑh赦qš¥iš¤ÛLÊ$“8MSǛ͌hÚ9<„ér>éºÌeÃáp8$:ÑõzÝñ†£Ùl®Â(Š7q,cod’H™©¨?ÍÒ$Qq@–$i*“Lõ5ËX&q,ãx]¨Lg£Q×mÑz½^ϵ”Uî— \ÁqÚc@t`–eQËj1n7HSÉ*Ù ZÊXë6O—#ŒQy[ºŒ1öKJIi_cðltJ)eO•=¾tœŽ£Ø€-&8rvƒP°m5ƒdEÊemèðö˜s8²Y‹QJ 1Gm_{pÀ˜=>Cp€B)CpZè0ÊZ-Öbc%V•#%ûÄqòÁ:Ö¦Ìðy§±··÷`ÿ¡’)SFJ2õy QàÞ{íÝÿ?{'ÿïÀ îûz:`ÛÌf¶­€öÌòcìqyp{༟Ø;xy5ét€YÔÒ«UW€/Åðûçê”pë"ÈÝ.ì6kRJ›|g 8°/)Ñ©ÅVÄzK0Ðk4cBJÝw à—ÿðÍgðçtà&àìaw2™/Ãh¤‘C –Q´‰T³<ÉÒ,“iªHóu¼ád4™ ¡E‡Y°û·I–fª_˜¦i¶tZŽ7ͦÃ_¹­£î&ÍÁ!˲$ͲT¦*4_¹N·;‰áÐe”©LS™¤Å3&2N’M¼‘½Çšv¤9³0œ†Ýîh2™L&Êá×jyÃétºŠVQÅRFª(e*“L÷YºÍk‹yÓ#N¤LÔò©”2ÞÈu´^GaEËéd2ìº-µ +W“Êl40ïÑ»*ÈÄ–Š7)k@óo é÷8G°Ð2eÌ*šÿ |ä¾ïƒ®µØîSfwz:S,}7gá¢ãt +­D` Žvƒ4m`À¾KÏsfså°Ä¡Êe_ÒÏi.Ьíka ü3Œ1 ŠN‹çê¯jqŒÜfMFIùaNþ^gåf³Ã;Ü÷í‡û{{ +qmÒ&¥M[gdÿÀøÿ³»ù?t:ðâ…ï׫úÑG°™ÍšíF“ZÂ9S(æNz`C»]ÕŸS¢éÌ'°®}¯Úõ#ÔR¬†§à¹NìÊ€ðÌB¼Éx>Ôl²<è›.ÀäJü‘ÚwÀ²h½®?©:“«ÉÕ•ÿoeÏâÕ ¸Ýf”6( z"p X0B>W0æ8ð°G½Yn(|q”BµëÀÓ¼Y×¢ pŸÚÛfo +Í©Â6pþ×ÔÈ@®å®„œÉçLp<à¸À(ùš'Ë-¦­Z–ˆüÚçÐV™É^`åJ:À}ŽÕöN(—¢”2hÛ:+=ÐcÌy~Ï/gïîù'þèpà¾Q=«ö„à=ÞF+ ›1fUsUàñ—ŠÛGuP†K”1,Og]ÇqZT·Ô+ñÔϹ xt-Ä"È‹*øENêÝ€—Ä‹Á`ðÛÁ`0èÓ¿xÕï÷;iÖj§§§Ç>¶áV +@½^?Ó«îï®&Wªè³Ëž·oe7ûŸQJkÑÑB(³(Ã*²\4FwBÔïEƒÁë×ÿðÍégµ“óË׬ܧ¾wÅëuoÂ0œè„hy´Þl6qg2M³$-Ê{Yh‘–7FCÑuè$–2S-6µ½ešJ¹MÓ$ro8Œ†.¸T2˲T¦2ͲìíÛ<üOÓT†®×Î&Óá¨ëLã$/9ÊLÆI–¤2I’8^¯GdO;"Gš;_‡›8ŽbU¤­¥–ëyÃé|¾ +0–›$ßÓYš(Ò`šd*UQåŠD¦©b'‰Œeš¥2^o6qEQ´šÏfîç2Bêõ:cŒ¹%´É9Œ9Š{ªðP©÷µ,J‰F£ÆT”2`¨Ä^rÞóÿðß·rf+£ôsªí—\x~õB£7÷náèänI®š:¢ì)V(S¦—ìócŒ 6çœókŸ£Jì³prÑ©0[ôð‰Š¢)!ô—ʤ–VL¬Å,Ö²í&¥ŸìŸ0´Y¥içcß/ï?Ø{°Ÿ©PÚ`ŒÛLgd´Ø‡®½Ûçÿ¿¿³ÿ;îŸ=1ªuDœ¥ååt +àæŒ+Ôœ÷¼ªÅ¥´¬<”„a,”ÓŠkϹ(òžgYX4óÀ¯}Ÿ1ö3þàâUß<®õû¯µOûƒAÿ úƒ~¿ÿêÕ«~ßü¦yzúŧÇ?þø£¢'òñé«AÐéXuƒÖõªçMT + JªðܾÕØ@³A)eà ˆ€‚*^¦c©"¢8”Ðk3Æoh·x«e¹Wþ"Œ’½2x~NçŒú¼‡ ¡²··÷àÁ_kšF+ê¶Á¶uFöû0ÜÔÿ>ûìvþ¼ýìÉãûA€À F+ÍëÖÛm»(¹²ÿ> +4Ô¸QnWÁ¬gÆBJ¿tàðž!€ÊàÅW"8*PU@ÞŒ]\ôƒAíƝúæñy¿aöµO_]\ ýË;Ð7kµÚµÓãGw ßôOÌ~ðMÿõÀ›\)`ïV`ßôr:˜ÝfÍm´9z‘s°¹U­; «+Œ˜`àTu6߉(5¿¹ç—¯/ÿñ»üº?¸Å¸âhm¦!äЙGÑz-c™f2˲L¦‰Ld–&éʱ¼át> fÓa—Ž’,GÅÍÏòV[*WèMF“Ù|:u™>Jd–¦êNr L³,M#¯;™.§ÓÉhèNã4“ª’˜ÊT&jƒJG¢½NŽºëM$¥Tý„Ô²Z–E=èvGÓÙr>âX1¥LS™J)w¼cU¨ÈÿšÈ,IS™%i&ÓDÆi¢8Q¼^¯Âp¹œM‡]Õë”*Ñi‡1V!Œsa@Á(Qèä™&€ÃZшÅ|90J)¸B±Ö:þ9‚ÏE r!Zÿ¼RÒH‹ðý ˆÔâ®™àÈž;̲¥6iªÙÆ€Ñ&Ë7÷ù‹p@ÝVJ LmP +¾ÿ¦¸”P%8…hpµ¸ã°–Ř%ì¼¢qø€ ç«„צMÎ;œ ×±Ó&ÚÞÞÞþž¦F>/Óf“Ù6êHöüÃpëü¿•ÿpþB¢?yRýþû^ÀmVn÷jÌÇÉ_ á.„ÑõsÊ®Ò`ߣ?¶D!ÐGië©:øÝ;UΡƒ/îæ——ƒËËÁ7ýþà²vr1¸0ûæIí6ôûƒôûßö¿5ÍZͼNÏ_½|3¸¼ÔÌ×—————·2Û¾•Ø* mó—¢—“DÛ¶-~¡3ÇVpÌ-ª[®€zý=0 øÿÜŠn®÷k7<€äÞÝŸH)e$7SJh½Þ].×±\Ë$Mâ<|NÓDÆqzÐÌçÓùl>íºs™¦Û8»±ýM³t+ã4MÂaw2›ÍçËÙdt(eªüYª¨8Û¼7NFóy.g³Ép%e+ITRÊd¯7Ñh„RB¼p'2UFRoµZ-Ëñº£Ùl6—Q´Žb¹Id’¦Én„1Ë2™¾ÍT 0¿K©¶¾"-%iKo6›8^Ga¸œ/§Ïsi½^·òž²Íh³ la)n*s‹±p/×Ñ@€Q¢ÆZ"à¹]¦xˆ8æ‚ëÀQø"¯ ¨·qiOc¶ý_ ÆNt¬Êit€Y-Æ(i"¼@®æÝ(ÍÇÊ•ó%ïq8‚ÜgPÓ4íÊ¥ ÄY7ß'”1xCëæÎ]Õ|´pÀ¡IÉ‚€cìøÈ²6à¾/ªW/À¦ûû{û{Z‰R©Ðf“±¦]gd0—Á#€âü¿ÿïœéºñäûÞ÷AppnsÞdtÆØcÞd*W`zÒBÜ­ßd_Bù‚œ­Ìý€ã­F€ÂOÄ—hµÀ¹\ú———ƒÌ‹~ÿrP;1}óoïDߪ`PÀ+³öEÍ<}^ ú'æ+ Ló{ùÛË×—µ“ã½½B‰ä&¸  ʱ#zˆ¼Ðf6€XX?s•f:¹å„½æÅ¾ùì¤vrþ.|÷Ýw{Æ_¾ô°8­ï^ùȬ”³–N)u§Ál>_ΖóùjEaEa…«U4§³¥2Ø›ŒfJS/ +£0R‰¢p.£h>™Lg3åÀÕu…šÑ]…a¸ £0Œ¢h®Ã0ZG“Ùr¹Z.—ËÙhEaÑŒ ÃUø&\…«Ùl6tëu‹Ñ:éFr“(ŒH’¤NiËjyÝ‘˜.çóe¸‰£0Žc)Uñ@µ‹°?˲,Ù¦Û,Í’,ÝUR™&©LãXÆqËXq‚§“n×iQjY‚‡:ŒQ +>¢@-½m#ûècOø€œƒUÇ 'ó0FæP¶ðª¼A ö9eÌqà™7€B ¼ô<ìÁq%eŽ@cÑÃ6øÈ]C¼‚h¡ÍÏ Ñ)ÚôÊA«ˆœȂ߻ÿ;üèOžèúö¾‚€çœÑ?¢B¨æ8€âŸ ÀŠ™vUÇf¥É‘ƒûÔ¹0ǽSàœ¿ô<ä—ƒšùÝëËÁå ?¸€‹.¯úæßÖ[)À·ý¾iÖjæééÉ£?Þ»ßæ@ÿòrpn¾þß.{y©`oooo›  iÒmÚ€BéÙmÆìž.Çæ0·•Ïž€ã¾zççæÅÅ |V;1o§Åõß½Gò^zé¯$•2ŽçL¯[­–븎ã8®ç1Çq\Àu¼®7Šùd:[ÍVËÕr5›Žº]ÏÅ®ãxž×õ<ð<×ó¼Ñ0˜Í—«ùr¾\Îg“ɰÛv»àª³ëy® Cìbw6ŸÍæóù|­f³éd„žãv=ϧ ž ®çº®ã0—9®Ó¢d´–qœÊ,I¤”’ÔëuËq‡“I.ºŽ"ÅÿOåF&INPÚý‘¥[£(ÌKÓTÊL¦R¦2–k'2Ž£h­ÂùlÒu[-Ë²êº®ëÆ³jõðH×-Ë0êFÁ¡5 ãìÌpª†ñ¬U¯u˲ô‡uÃj†õ̱ôº®Æ3K=Ô°ªFÝ0 Ý0 ]¯z]¯ëúáýÇÖ¿«†eX­:9ªêu½X\¯NÕ2ž=3 ÃhµžµôªnýB×ëÆ3ç™Õ:3ôC½®ÖÖ­Ÿº®ëÕjµztxxxx¨ýõÇ{{õg?«V Ãj‹éU½®ëºáT-£ÕR‹Õ2ªgϪŽa–eé‡{uð,Ë2 ýPÿ™¡ëê©êº±S ~øøèãÃÃC½ªëÕ#mï±®ë†~ïµ×¤Íf³Ù|gÿsýÉÙýÌÿƒ‚€p>¾³i¥R¡J5lh¡Á`6cH«Œµ›&çh伫]À˜ à9vp^ûôؼ¼¼ÔÌï.óà··`0¸¬˜ƒ‹WýóOÏûý‹‹.oG¯úýþ+³V«ÕT +púEp9˜æëËÁ.Èàã=z|œ€½ À{¹ l»×c8ôŒ!8J†±6Çyîtv‰€yn^ÜŽ>»?øî»ï¾û?Þ‹’<ØïJ¥ÌR)å¬UWÛŸ1‡µ˜ã´X‹µÇu\×q»£Ñr6ŸÏ—a´ +ç«Ù »žçy.s”RµëºŽë¸îp8›‡óy¸\…+å¼áy®ëüÊÇq]p\çW®çu½ÑtºœGáj…Ëår6u»®ë¹®ë2×i¹-—9¬Å,æt]×e–>ÚÈLÆ©TóD':mu»ÝÑtºZ®ÂuÎPõ¿<óW'ý6Û%)I’d‰ +R™¤YšÈ4‰“X&›\GQF«ét‚¿rZuÕÏz¹9ãŠü‰B D_ˆžßûõZ-_ˆëßãñØñWWjžhl¢'„ð{®ž£DcÐ +T—›Y ÄØGñƒ¯ÆÉ†?8ˆþXøÂ®Æãk¶,@,~?€‡ }ºPt2ÎX»Mí%ä@#_ +0~‡í¼•†ã@`{_ !z «‡~!Æ"¿AáZBˆà‡@û€öp!D1èVqˆB|-ÄKDÁš¥ªؤZ^}£””¨@ø¾wïU@³AY¾ÿsþDןèú÷=\ÿÀ9_'–ÅlÖl²ªÿÂï5í1Ä3 üÀºò9­*ë°6k3ö”w, €åÌËcm¨W´yy9¸·R€A^x/ø¶?|[Dß~köM³vzú~ ÿª_D¯/çæë׃w#€?þøÑããããÓÓÓ\á6hƒÜ)î¢ãFp–9Œ=w ^×iÿâ0?ß}÷ÝÝÀ‡ê2MâX&‰ŒW­zËí‚×uÕ™îzt]·ëu½Ñh4™Í‚Õ2T¾Zár>›ŽFÃѰÛzÃá°ÛÅîp4 ‡ÃÉ,\G«U8Â0ZÍg“‘‡8ôºÝnwØ»]ŽºÓÙ|†«0Œ¢Õ|¾œÍæÃ¡Z¯Ûõ¼.¸àëz¿êv]×q¨>Z'Rñz¥”²^'„2o8™M§Ë0\¯ã8Žã$•±šÚfÛTM'gÙÛLѳL}2•YºM·q–È4Ióá¡Íz…a¸šÍ¦Ó‘ç¶tBH«Õbà9¨³ /sBH§è¨ø{=ä6¥À,Î9"b9¸ê«Á™è(vpfµ€R¢¼Ñƒcmîß(ÏC­Ï |Ä+°ŸQSïJ&¨þ`3›±_枎DÓ´=b1uÁvæè#0ÀQrYFP,ÕC ¼–ßS)V¡Œµ•D0ЯòNGÞ^~°·¯=Ô4Â4,\ÿF«pÞþ¸€&e”²¿ÿûÿÀõ'Otý‰PÙ?ðñÕøÊ², €1ƃýkÞám€:üÞ÷}QUЃ:  mÛöÓ&¥°Š®YÞÈC×4/úýþ`p^_ƒþàõàNp“Ü×È#Ó웵/j_|qO àÛ<\¦ù——ïG˜¦iš&k6(mx¢§¸ÊmÛî!S.~cÄ?Av%v»ûþ^\|sa¾Ÿœß—µJè—T#LW~¤Œ“TÊdî´ÀóºÃ!v»Ý!»^w؇£ÑD̦ÓÙrn¢(Zo¢õ*\-g³ùd6›N†“Éd:Mp2L&Óér†›(Z‡a®—«p:™NG£éh4'“‘˜Œ¦³Éd2›¯VÊÁ#\…Ñ*œ/§“Éh4šL„èGÃѨ‹‡Ãî¨Ûu¬úp­=2˲¬^¯×ë–‹ÝÑl¾\.£8Š×›Y’%Y¦ÈÇiú¶èR¨(@æ|D5˜$i,c™FÑFÆ›p-Ãù|4éº-¢¢ÞTäêÞ¹q,‚’¿âŸ!`n÷Î92€ ðx¡,|sèþ¤Øls ¥¬t)¡¢Ž :¹nè@‡£¡ ‡ˆØ †pàœc‡s†…šÐXǼúG›ŒRò‰¦išÎúª"0›©î¢€=ô{ˆ{oÐz‰j5¡¸s`Š­Z쀌E$ð”2c´L˜Ý¾÷zšÍæ ýë(zÁõ5Ï·ÿز,@°mÔ›6÷}_X:"÷}߬1çÜ·¼1ç¿VfÖFiÇR£¾´¥ì½˜ã˜¦yaš¯úýþå`Я}zlîD¯/ïó Hú|kš»àþ`ðúrp®àòžàøç§_|qjšýo¾yeöé{€ò¡ì€ À1Ô Ë™'ÎÅ7ßü…ÀwJ™6+±›f"erï%“$•qšÈ$ô¯;ŽF“ád4Í&ÃÑp4M&Óùl6Ÿ¯ÂeGë0ŠâXYj,§óùt>Χ³Éh2›Í¦«ÙlFŠV¯£(\‡Ë™Jö§£Ñd6šN¦óù|>›/Wa­£uFrFa8ŸÏæóÉt6ŸÌ&ÓÉt:SÀ1 'Ý¡kéÝ(NwCºN)muq4™NVËÕzoâM’HÙgi–l³,M“m–n ¡mšm·i²M³mªÆ‘ÒLÊT¦RÆRÆ›(ZGë0œÏ糑çPEhcØŠï§+»G çȇ-§4‡øë+Cµ+íˆ"ç~z/oÿ=ž³‰,ƾtœºªòÏ×ð\µø÷†ÒŠVsoÁÐë Wç9WãÀv@T…º7(%švDc0Ô1'1SØ îÕ7z€ˆ½^¯×Cî¿t8"ìLQ9bçØŒ]Ÿ‰tçÀ#û{ûÿF#úC •2-ŠS:h6(k6›Mö䉮ßà ¸8À­í¯&mÑi0›¿*¼Dß÷/‚ñ‚YByØö|ŸsÞ®!Zì—Œ]\\|sa^˜¦i¾ê÷ƒÁ¥€AƒAÿõë»)@ÑP5€DÿÑ웵Úi­vO°'xýúCÀéé©YûÂ4Ío.Ì óâÜ<?à*ÌäDÇB‡åÒpí6»¸¸èßçÚ¨Ú¬<&v£Ñh¦¬˜ÈT¦!8Þp8œN¦Óét:›Ï§ÓÉ|2ÎfóÕ2\Eëu¯×ëµÜÈõz®Vóy¸\­æóùjµœÍWËÕjµZF«u´‰ãx½‰6ÑzGKõ ³él¶Z-ç«UEá&ZÇ›MÇ›( WËÕ|>›Îçó¼<8Íf“Éh4™tÝ–> +™¥ù\aùs½Nnw:™Í–Ë0ŒÖ)ã|~Aª¹¿mN>J³­*ým³·i–m‹úÀŽt eªD‚£p³\.çÓéÈkQjYÊG¯P»âùþï0è!rüÞAD¿×ëù~ý7jsþN½Ä™\×aT3‹1f¡žSòÔ÷ zˆˆB©ÝûØó}¿ÇýŸÐá»YYè!W>Ðö« ÆXË¢”RÚ D#ŠßæRb6(‹l€0ÛGä¸(Gìù=ôÿ­bGâCc¯¸óz¸.c :h8”h{{5ö1­T*”ZÌf¬ 4s ô¬×ë©âÿxœ‡ÿùã{ÀYÓFËSº^È{> + t•ûpà¿VºmJÁ²,à<zqqqa*¸0‹@ÀM +pyÞIj·Š€ƒAÿò¦ÐiÖNk_ÜSüön àòÔÌSÓ4ÍoL3‡ó¢ÿ~¥ˆ‚–Á³\ìàÏë|÷Ýwß}G +¡ŠFìF£Ñh$ɇB™¤q"ã¥×rq4LfóÙ|®Ú}óùr¹\-WQ¸ ×›8^G›xÉÍznÂ0 Ã(œ/W«å*\Fa­–Q­7qoÖë8Ž6q†Õ0 çË0\.WKÕ>ŒÖá:^od$c­ÃHùö®æª¸ZÎgóùr6ÎF“ÑÐkQ©ñ~™eYvtDtæzÃÉt6›…á:Üä,À8‘IšÉ4˶H‰ei¶ÝfiºU¤À$ÉrÑ¥”«DQ8_Í&£¡ë´Zº +¿êCì GŽ~§üÀØïá×ðìZ¥è¾ð}ýߌ=D޽bxÏW\JëËÉ]ªòf/8ž b‡÷|¹Z€¾ïƒõ¢š!õ}ÿ×þx>vò”£Øóóêâ)Û1dÊD+ƒãºž-TÊ‚ì\ÃÔâž Gô{¾ïû>úã7Ž@þ²€,Ž>ö8€°Bp +ÔüÎ+ûš¦U>þ’Òf“5Û6ûK€ö‚ 8_]ÇW–õ¥bÍÁ÷‚9 #£‡ÌG¥yê#âxb]urRÅ×}Ÿwx»N© +.n®o.Ì‹‹<ø6¯¼“¼æ=5€oûƒËÛ]€¾YûâC)Àí.À?¾þ@àøø´fž~±€sóÜ4/úýÁ ÑÃ`,tŠª †Ã€cšÿ3¡´Bh# úó_ÆRfYÇ+·åáp:™Ìç«Y¸ +Wár…á*ŒÂH‰mÄ›Í:‘2‘Q¼‰âM´^/Uë…Ñz³Þ¬W›Íf³‰ã8Š×›µ´‰ÖjØn½U¯?ZEëp½‰¥Ü¬ãµÜÄro6Q¸Ž¢yEá<ŒVa¸Z.gËù|:M‡]VÅ2IS©ø=GGGõs‡³Ét6Â(’Š%§q§2IÓmÁ>Tû>Ûfê3ªA(³L%I*ã4M’TÆr³‰×ár9W#ÁuBÀÇhyèyj”ÑCô¼+@üÊC/7’ Æ×‹áKáyè!" +Oøˆx…èa`ð¬å8žë8Žƒè9Žcµ<ôÃBôÑØ-cì ¡ò…Z<øñ% +ôÔ&¢˜Ñâ“à¹U·,‹êôè°L)m9óÿî‰å!*ùxüÞó<ô”¢ €g¾TîÇ>ðñøú‡ÑC"¢7 +Ð +ôZî÷ÏÆˆJ±çûœw¸ªX»Ío`^ä)À`ðÙàòNÐ|?¸ËÜðLÓ<===ýÓ]€ûj» fšýüü7M³€W¯ƒ[>_"cçæ€ÖÊï@ƒ~(PCsqè9Þh4›-çËp†óPç«p½Ž£HÆëµŒc™Ä‰ÜÈM,ãMÇQ®W‘²à\G›2呹ÞD2ÙHoÖñf½Ùl¢0 +£8ŒÖ›u†ëµÒŠ7I²‘±Œ¥ÜÄŠPEa†ë(ŠæËå|6›Í¦ÃnËš$2Q€4Mëõ:m90šÎfóe¸×Ñ:–©Ld"óJažéçâéVuÓ,ݦÛmRŒ É$Md^r½ŽÖ«p5Ÿ‰¡ÇèÑq]@Çj¹ ‡žãzØõ¼¡çüêÌqϺJBŒzÎÂõ<ðð†žã"»®ã¸^Àq<ððL¨ÍºVËó~åyCÏ=µ8zžóä™Ã<\èâ÷JP|ï¹KG- ¢ç8ÌqÀae–ÅtF Ñ•Ìç!X–ƒçy=OíÎÝâÕgγ®®‹(òÅ…çÎ ÏÏ@pC\  à8žøÕPäRHTÛ{@4í1Ñuj³¾d ½û¯@“ÇWWWEôÿüùóï™Ãœjõï†uàm›s›÷V+>"ç@é £ïsÞJ)Üìÿ óÂÌkæ«{»—îœzÞE¾¼}³V«þé.Àë?Òx'Èà²o¾ ýÁà27hyÉTîƒØA4R|8øP€” ¥•òmh| P\Ý8 =·;šÎV«Ù\MÇGëÍ:Þ¬×q$72Ùlâx­ØöR&‰âÏÅÑ:^Ç›(–›M+óÝ\•G&É&‰“Íf#ãX®£8Þl6Ñ:^‡›xÇR¦±Le¼‰ãµ\Ëu¼YËx½‰Öñz®×*%X†óå|6uÝÖ(IÕŒo"e¢ë:uÜád4-£UÅÑF ™¦±ÎÒmš½Ýª šfÊÒ¢+%©¢§R&RÆ2ÚÄÑ2 çóÉhè2ëè¨ð{éô}#Bàc¯×ó}ô_ZAnöáûþ×¾ïÿæ¿ý·±è €·S~©þM9xÐW†¸¾J¾ýºZ ï£@äW=ìùèûèçCð@ß÷Ñ÷}üß®bkX”è9ÜŒ§3ÆX“²6¡Íf³],ÞðÐ÷ýž@äW¨L÷Ðg×êÎEž`Œÿ/á#ZÊu•!t¼¢‰xå PwÞkÓ’¦i%òùç m°™…>ñ{ׇ Y)ÝÞÿß3‡9¬Zý» (Ìóç(<:€¸°ÀÁç¿þú×=ß÷yÚuzqû2ïû—ƒÁû)Àý`Þø, ¯"€Z­vzoðvàõëuŽ~jÖÌÛEÀ.Ìoƒþ`ðÛA¿ÑᎲ=@Žˆªsø?Bhãnð¡2@œ*ÝÐs»“ùr>_Í£0 +Wa­×ëMÅ›¼Y®”öŠ)z™Ä›uá¸Ëu¬@AÊ4V¤£$')¡žXFkå̵ŽTò-ã8ÍUüâu’¨oŽ×Q¸Ž7›x*vþl>™ŽÆón2Ì€¡qí£Ï±˜Tëìʾœw•‘# +Cädˆè#÷ýÿÓG„¡•ôoÉSªéÂ&kvØ®4zÐÉÇà€9Øãœw`Œª&Ñg×XÖ¡¼ç}@ãž;ï¨ÿ‘‰–ï÷zªîMí¦•Èi]ô?dþGà€|ûäÛ¿@ƒ)ÏdÞYX8æàˆ¨TÏat^Àß\ü1ØÕþœ.€ªÜ.æ!À«W¯úŠT»·Ø‡0øó"SÀ`pÙuñm0øvp9è÷_]\˜fpÄ Ó4ÏUróÖÈ h7иH¤ÑÈÍ–ájFë(\Çëu´Þld¼–±ÚˉÜNd"3™Ê$‘2RœMœlÖ…Oª›Æ2‘IRèïJoä&–RnâM"ãd×SÊ|‰ŒåFn¤”Q,ãMÇÑf­ŠŒÓÉhèÎâ4‰S™&i뺮SÇŽ&³Ù|mâr”jB1Ieš¨*€ê¨D`›$çÜà¼'Yš$2ÙÈx³ŽÂ0 §Ó‘×u[¤Õ²mh·ÁZ¨@?¯œù–@Ììõ8rs(FÛ(w¦C`ž ÕúØé€ ŽàÀ8ïç‹_YvÀfÏ8ö8rßG€—ŽuSJ,kÛŒÒ2ÕšMÞy±[¼à8#P:xàÅÿ`Œ€1€÷zÊžžxÆ»‹».€ǵ‚ ÀŽ¢"´+š¦h””i“5cmðñ/ŒÍÊ!% +ÏŸ;Ž +ÿ«A´Û Ê€QÊxO‡z9÷Ñ7"pxÁ9ÿú×¾ïó/.Þ»î‹î¤—´ ð€êÜ_üöÏgªÀ7æ7*PãˆýWýÁàÛoÜÕ¯U9óO¥÷wˆ’o}7h„÷\2ÙÈ$N“t%&ÓY…Q´^ÇñFªr~n¦›&©êÈ8ÙÈTÑîã$Þ$‰”q.¯“‡þY¢TÅÓD&I'±ÜÈ8IŽ$2‘Q"•"g’ÊDª¡œ8Ž“XÆI¼ÙÄ2ÙÈu)©®õr> ݹjò'I"e’:u¼Ñd2_Í–Ñz“ùs¦J  SRäY&³·Yúv›fY’lÓ,{«ŒLÒL&i§iK)ãx³ŽÂ( +—³éh„N‹X.c À°¼£Î±ï_ùè#¶Äî¬Däx…>ÀбoŠâLy{0p:ÀÏðV@ \fœ §¨vÀ±ï}ôQX²ùqr5‘žZܺ…. nQF¡eò˜hÔ¾!Øà æ[€cßÿ_£0®ðöû¨ìIê…ì}ZL¹„r`Œ9–2į̂ͭ¶w ‘Ïi…6)m2fûœýë{þû@©B€9»í´Û”R¬Á® ñZ ’ø=t1W?ã}ßwÿEÀ‚4¸¯ 0ø@à@N."€oû¦ùEÁøèÎ\~° pz7P5€KýÁ·*Ḹ0MóÜT[=þò.) ¼ãä×üýk¶Z…óù_mb5(7JWLÉ$y0M¶oóv@¶Ý#B2I³4»Rq¢0šÏ&“®q~Řrc¶òh8ðqž8‹V1ÞØQús˜“6Y¾GŸƒ[ìQGuþ††ÈÛ=: ÌZ;ö/ð±ïûØóýq+È{òùû9‚ã€Ulÿ<Çm3Æ,JI›´¬úTX´¸ï†ÅðƒJ0ü±qÍsŒà\E›¾ë8`À»Ñ…Ãcð°<¸18b RÒ4B*JŒµmßÿ5¿ç¿?•”þ†jsŠð¿ÝnÓ†R"eUx ØCà\5TTa…ó_ÿú×¾ïóÀEQìÞIþÂ.ÀMðí··xÿuÌ@Qxõª?èûíà·ßæpQ@Žq €æ ˆ@o@sôþÕuž±–ë 'Ói°ŠæQF)ãx#“8·Ø‘q§Š-$ã4ÉTå MR™ÄIÇI"ã4•U§“In(”f2)>o¤”©2í’Iîý‘f‰”2N“TmÆx¬7qœlb™&rʼn £p®æËùdÔõ\`Žë‡„zÝÑh2_-Ãpo6i^–H¥LcUá˶éV gÛt›n³ÝtðVy•%Y*ÕpAÇRnÖa†Ëår:×µôVë—Œ±6tÐÚUÜøþµïû=ßÖXlt@õ¨%#/òs×a¬eµ˜Ë€9®3<ÃbÿçÞbhíðÿZÁ‹°®ùî˜ïð޲ÍÛ-ÀÕ$›O'£®cÕëuŠ,D{|±ÐCDÑÿË’kxsâÊ =œo¯‚!âB®x  =\\ _þ „¸Æ^…X,„è ËÁBø¿ÍOˆŸ~J~tþùú‡@"_yð_ŽÎB »jqÇŸ€è°/B“24ðá‹…bø 1ì‰Vë*øAøoô{8ÂÅOÉOÖ¿\ADØo¯î"ˆ q€B ¾ DOü |ñ#öòÅÒ‡´Í˜Œ=¿Ýšü³ ïÐ&emƘÂëó}_°ÕPpP¡MB3LóÂ4kf0è¿ê_š>zTëúýÏÎÕ‰þÍåëÁ`0¸¼º0Í‹‹W}óÓGæÀüfpqr®º§...úýWý‘W¦™œžžþüÑÇ}tS¨½ê÷û¯N.^]¼ºx5è_šæëË~0è×>»€Û‚æÅ×ÌZMåæ« ³ß¿¼ì›¦yµóÚùÅ…iž›ç*)ÈqÎ4Í óäÔ|Õ¼¾89=99¿|ý°t+øs`2Œ&£Ñ|µ +Ã0Œ¢M¼‘›8–ű:ÃÓ$7ýHÒ8ßì*ØÞ +å¶¾¹½·²úM +9`™¨M'3™Óo3¹•jp'ÍÝ@Uö ¾)I¥LË8Ž”xØjµœÍ¦ÓÑdØŒ&“ 9:ª·Üád:›«;Žc)‹C"óš_–J¹Í¶Ù6ɲì­:ñ³TU²T¦±Š¤L’ÍFª¾ãr5›NFCY”þ⿨V«gú“ª^­V «Z­žU«gUÝpÎïɳgÕjµzf=Ó«ÕªqV­V«Õê“jõÉõaõìIµø>㬪ë†~Vµ ÃÐõꓳjµZÕŸœUuõЯÔ÷=9;3œ'Ž÷Äqªº^­ZÏΞT«†®­nD-¯W«ÕêÏtýðððððáÇ«z¾¸ž¯ùDÉU«úWù“œ=9sž8¿zâ<«êÕjõ«gFµZÍ儞œýììÉî¦ÕOlT«UݨêU]?{’ßyõ¬øòceztxx¨^©û®?”T*ÍJ³Â˜-„ïe>¤HP¾/Š2@G#”Òf™’]¾|±Û#*€®ÕúƒA¿ßýêÑGNúý~ÿ¤v9èæàR ~æÄA³öè¯ÌÙœÿ­ªÐõO™¯Ì~¿ŸŸýùŽ==>>=}üèãÛ`ö_õ_}vñê¢Ñô¦ùÛ~¿ßïÿÖ| +¨©Ó¿fÖjµZŽ*¸4k5Ó¼0ÍóÚù¹išµÚù…išæùù f\\\œ›æEíøØ4ûýKóäôäļ|}ï€v“w®i0M¦“ér*À:Žâ¼\§išdI±ûÓ,)È3¹ìÎ6M²Ý_R™fÊ€+“I–e27ûÌãÿ4Ëòð ðåȽ»²4ÿ0MÓ$Ùíã$Ž×r­7Ñ*ŒVóùl:šN†ÃÉd29:Òë-èN§³ù*\oâu¬zO¾_(á¿y€ ‡À¢¾1pÏ ? +|¹§ãgˆX XÅ#ä¢Êp!Z`÷¸?þ)øñDZ]b \c|³ +<ØEuçxcx ñ;€á1XŠ!þËÃÀϾ@\®øi ‚7B\ýKðãcñ-g)(‚2zD(k0øð8П™T*ÍJ³LØXˆBmrdÀîõ~#]BˆF +Jª:¦~+Zfçfíô¤Öÿ¶ÿí`ðÚ|´÷щÙ7Í“Ï.—ƒ¾iý~ÿÛ~ßT3ƒ +úýù·5u(Ÿ|jšæÅ+³ÿêÕ+uö«Ý§àø]è÷_Õú¯...^õ¿í×Îûý¾’¹ úèøøçÇ9ÔÌÚy­V;?¯™fíçµWƒÁo//ÍÓZÍ4ÏÍójçæù¹Y;?W?ÖE­–£ÜEíÑqÍ4ûóääDun®%"xFS1œN¦Óù|¹\¯Ãu$e,)e²Ù(ÍBA7•Y’eq–ÉT¦Ê(÷óQsºY–¥Y¬RðDáÒœw——âÜžSyÊ$Kd–C‡2K™¦I,ÓT¦›TÊ8Šã0 £p5_΂Ñ(¿çzRæGÓÙ,Œ¢M¬¸Å‰Lb™Ê4͵~Òl›m³4}›nw’Y–%I–å6F2g&r³YÇ›8Z-WÓÑh躔~®·Û¶]h¸æ(á^ä?>C@DÈëx¬Í˜ ¶z®f9çBïqôs«JßçÊ#z¬¤úT#A)`2T–!‹–œŒÙèpߥ2¤ˆbð¡m7i…4÷|îû¿ñ‘ûõÀ¶omJÇÁbñb} /o3 ™ý”€DT¿u:XýÑGäˆ=Ÿ£?öEë'(,xÕ4íˆJ¡¡$ùÞÿïO€JXâž%ztjšfíÄì÷û¦*»õûÅÑ^;þø¯Îýþ öéÉéi­¦àÜ4;R3kµZî +v|üóãwŠ€*6x•#ÆnÝÿhÖ~¾·w;xôèøññññÉ©Z®V;ùìäDõNM³ßï_öÍ“ãSE8<¯ÕÌóóÏjf-‡%Hzrjšç5Ó4ký¼fš¦yrròi­?¸¼üÇË×—¯/__V*%úN +p—pL&£Ñh8œÎWQ¸^‡ŠX/ó™Ÿ4IÒ8SûJÍÓ©: RÝP{]fq¢"ê<äߦYšÈLu ¶ÙÍX¾,Z…Ÿ" lÓ4Í}HUƒ!Ie²‘q*e¬ÉË(\Íç#1uEw8Ö)¥õ–7Íf«U´£Œ“$Š$I²4ɶÙV…üÛm’Ê,ݾU‘ʶÏÒ4“q’("¹ÙlÂp>ŸMD×uÝz½^·mpí¢¨î0Æœ§¹c‡0ƨAò¯ðktnÑÁ@|SÝq}ìqäâÙ.@PNPJwŒ@PX€@.·csÁÈoqõ9‡ŒQZ©4íbw:ˆ¹†Ð¾9Gsé@@`ˆßᎣÜžF¯~·Eµ`qÄ^no€ãg˜“ URÓ>!„²Üjô/€Ê;@‰ªz&ÎÇã_û½žïBH¥L´2¹‰Hƒ”Ê¢¢~µOòÝrzüèØ|Õï¿êÿÖ|”ÀɉڥçÊé/î1ÍÓã>ªõÍþÅgŸžŸÖNkæ§'7ù¹¹kÿÕNO=>>~|kÿï=:­™¦Y«í…WùG_ÔîÀG}üèÑcÕ +<=­©©¢““Ó“Zíôø‘€~ß<>>̓ƒÓZ­V;¹Ùý§µÚééÉñéùy­fšç§?:>=5ÍÚɧǟÖúýo////{ùÛKz/¼¼Û ÄawØõºB©tF¡\'qçÆtlöT1†s`ÂAØQoÀÀEÝò¯âÜp_á¼Ù¹½8Öôá<…§ùâÈ[â™Ó†S‹þ¾¤JÙÅý3Å`,ÖdŒA.<ˆÖ¿a*«¼@´FÀw·îpŽUÏÉGg˜#p·^ª'·•P…B›,ÿþ|¸Ó`å] +Àe´©|<öý­”Ë +H4MBI©R)“ÚícòôôäääøøÑqMíÇÚG{=:1óÌÞ¬Õj·‚ôZ­vzüxï£Z¿ß7OåUºOÕ,v¿Ú}§§Ç?>>>>¾ê<¯ÕLÓ<¿µZíô´v|;øèãG=~üøøø´vZ«ÖNNŽONNOOO~üññií¢ß7ÍÚññ±B‡ÚÉIíD-~zR«œœœžžœ?>­Õjµs³vüñ£ã“ÓšiæÐWôÃKúgÀ;οR2Ýél6›‡Q¼YÇÉZæsò*ÛÏ#ú¤¨©r[ŠV#³$Éd–ïýd+ÕØ½Tl¼B™;UóCÛíÛ,M²mše¹~ßM«^&ª—%Yî &7qÅ«h>ŸÍG]Ïñ”ô¸ëBê–Û³él¶ 7ëõFn¤\çCˆ¹ªD¼U@5¬ì‰بÞc’¤I²‘qm¢(œ-§“Ѱ«T­»!Õ쌻8Cã +¡hÓçzüºÅw[Tù‚¿ÑEnÄ«ø;È9püñî|ÀŠ3úfq]ì?!'#ókÆÞ8>`..²a¬2¡¹ÙÎyy qcÌ~ê:Œ1ÇU-†*¼èìV>f,°®sJ¸ðܡߒúÁ òˆã–縌 ñ3];"„2û²X¾Ê9@£T¢R.߀]P!¤v+J>­œ?ÎÀ4ÍG{ýÕ±ùÅ-0 ZÏI­vzzüø£NLÓ¬?:QðѱyZ«ÕNk¦:Þ¿PprüèѧÇÇnh@{Ç'§§·2ú[í½Úéñ£½÷ ‡˜ZíôääDÀññ£c•Ï›µŸÿüøTý§'µ“““šYË?:9==>9>>­ÕÎkf­vüèÑññé¦ùÙ±€Á·——ß^¾÷Ì4Æ;ÿDN«eQJîhºX.ó"`œꩳ<É’4U[(ÍKëÛ,ͶRù‚ªH_*|P÷,É2Õ{Û¦o g¾$Ëäöív›—¤T©D¢JtYÎ/J’¼â(eÇñz½Wál.<§Õ²,ÚjµZ­V½^'uÇM§³p®ãÍf³ÞÈX‹ËÜ Ùæ•‡|2!ËR5ʼ´™•*h¸ŽVóùt‚C—µ(%D¥ÎìæügEÔŽºÏ‘w8‘Óf8rŸ3KÀ€Ÿ tSI7÷‘sÑó|Ow‚ O ¶ªÅAi‡çÜçÌEëê&DwWT‘êŸ3•Ñû¹8é×jsªÄ"ÿ#_\T‘#çÈó0ÐQ‹ëcÀÎŽ À +Åâ«|qܧ}ÛŒjZnú¯Ñ¨”Ú +èç{„5XwS€"(W)‘Ûpzrr|üé£ãSÓ4_™fíÑ.øÂüB€y䀀Úééií´f~a{[íÔGï–Žs0Ïk5³¶;ÿ¿ø¢vzüø=PÀéií´vä nE§ŸÔÎk§''µÓ“Ïî€Ó/ÌÓãOw@´² ðnP'GGäˆÐº3™®Váz½YÇJ÷#IT`®H´išfÙ[¥³»sûÜù‹e[U)ÈäVµØŠöÛVfÊ’'/ä–oßfÙjW²ÝJ¥Ùªº¼LS)7Rʵš +^M†-¢‘C¢Ôºë„êx£Étº +£hobÇù|aAGPòÀÛ,K·J#4ÝfY’n•€2 +IÓ8‰äf“Ír6<ÇÊÍA mà©Sl# t¥PËaÐiƒ€”´SÜç C€ã@žˆ±ïûþØ÷ýÀA¸]+`Œ±SFdè¢Ã‘£@`€À³œßÊÞT¡Lt”õ‡ðýÞØ÷ ¸µCU¡¥zoª=α˜/Rnœxú¹&tœçÆ÷ðü9 <€`¬÷ýg˜Çÿy@4íPÆØý\à¿´ PÊ#ZÞ#Í(¿*¨TʤDù%£Æê›¬¡gv£DÊ„þòðJír¥B›åJ³LÚ„¶›¬Ò¬ìiŒ4I‰VùR!DûœBˆ¦ýM¥BKåƒ["š¶ÿ`ÿ¦=xðàÁn/k©”ö5í€PM£¤]®4*ŒüM³L Üh7F5Íf´TªTJ¥’V&D£ª¢Ú¤”PR"äÖ¥d¯ÂÊ”ü[í`ïÁÞ»—¶¯M£!¤B¨®i¬Â€–Jô—eJH¥R!MJ -k‡ïÀý<€÷ª€(F“á¨;šŽ&³ù2Œ6›8QŠ>*ŠN2¹ÍvF;JROQþ³Û™@.½™©ê[¢Fqe–$ùDþ6Ë‚,y+3¹MÒ,Ýn³¼“­†T™Ü¤‰Ü¬åf†ÑR ‡ÃÉpØÕ=«io8šNça­7¹QÂ#‰Ì!Ë’T1¨ +DšÏ(IU$H™$ñF®åzEa¸œD·ëPJ)BDD|)ޏ¾Dñ&ñF8Ö5ú×ã1^‹Eè‹Å›!‹ X àCô‚…!Äâ|ù;Šÿð‡ëÇâú'oáyZçŽø˜"âèÍ¢ƒo‹`, ó{ñ&„@î‹Åáüp,Þ àß ®A(À— c´íÿø‡ñõØþ™=Ž6€`¨'z³@\Ï„Z‚|qüZ,ÞÆu¼Q‹ÿ„Á Kà"@Eã?ütýãµü‹'{œ3`È ðe ‚Å¿V +PD4µGïÖ(m4Iƒ”H¥LJ%BŒV+?l²f[4J„JÉa…Ú• +¥Í +aebj7Y¥Y~¨±† Í<¼(WÊD#BHIÓh¥BK•í€hû{û4mÿÖ¶ÔH…h¤L5V.W*ŒTš”@¹Ñ¦Í +£5›ux³DhƒrP!D£• +!äÐmÊ-hV¥ä!aeZ:ÐJïÀmŸhT#¤\!´¬ýuÍ +%„”ˤ¡àJ+ò>¼¼£ÈD ãÏGÃÙ|¥¨ÀRµã2ÅÎ-’$U†;oÕ_LפÅ睊——Øs?Þ­²è(êoªŸ("nšnwUC¦«¿Çi>oTe½i,å&‰72Y¯×kJ)¥-·;šÎæËU…Ѧh^¨.EšäŽåêÖÞnÓ·ùˆPªØr§D eo¢M­ÃÕr9z^«eÕëõª®ëzý¬zfT• ŸQ/LøYį̂UC×uÝ0 ½ªW«gO Ã0Π㉮ëgÕjµjgŠ%ø³jµZ­uC7ô³3ÃÐuÃ8;;3ªgÊåï¬ZÕϪúŽéW¯Õ³³º®†aT«úÍâUýìL-^­>¼y«<Ôëu]?Óõª¡ëU]¯V««Õºa–±£ø½·¸eèzUÏ?3ªggºQ­V«ÏÎÔM©;×ëÊÞ°~fgÕêÑÑaµú3½Z5tV«Õ£{¯?³ ð^ €VîDy +P¾U(R€Úìó‡ô=øäJíJ¹F(k²J³òPk*¨ì œ@¥R¡¤r MÛßÛßÓ´ý½ý»Ù¿•J…•+MJ€P»Ñ¬0ªý[›o–Ë´AÑî@“6J;(“F³R.€h¥û÷@é6h¬Â R*)*D¹\ù¤A)¡DEän +po ¾{%y¸œEØÎ—QÅñ&Ie*e–¥‰Lâ\V³àÖ¥ÅÑSìò½Ÿ*Ñ´è¼Büjë§Ùv»M³<ðßÊâ¼ÏÞ¦9Y_ÔÞUqËx†óùÔc³8O R)¥¤–Eë” q2™Ï—«Õf³YÇ2Ú¬U/ ˲¼³˜eYºM·‰jümw&Ai’¤q’¤jàQnÖ«Í: +—óù»ž[§õ:_]]ý¸®ÿéëMà/~>.„ï#ƒ…ÄLÿiq}}%èÿ = 1¾àÙ›ñâMpý&øé§…@ ~'DðÍB×c!âê þé÷?þðãĸüñ?]ùx-¾VŒB "õfq½Äý @±wõÃBŒ×ðìM°xó»àÍ?½Œ”Jûûû{{{”r°md šmÎlöˆ7ã^‹^±x „¾ +‹ëk±ðý À"Šë7âê÷×]ãÇëÅ,?ýáŸî‹Þïijç¸x#Æ×Áµo¼Œ7áËÇ °ù¸Ólæh÷F•÷®’vP*•4”JÚ¾¦=Ô´R©DH©DJ¤TªhZ‰²§iZ™TJ¥R‰hšFJÚÁ¶¯=ÔJ%R:(hå’úVR&¤ÜÜ£„h%BJ©”4MÓ4­T*•ʤtP*”K%RÎ/‘ +Ñ4hÚv •´mÿឦ•ö5M{ =Øß°÷Þ™¼¿¯•´}MÓöµ=í T*—J¥ÒV*•H¥T*—K5M+BJ¥ƒ’¦i%B4íP+RÒ4¥©H4R.—Jôq©D4íÁþûûoïÁƒý½}MÛ×öµRIÓ>ÔöµR‰h¥R‰hÚA©DJ%í@ÓöȦi¥ƒü“„ +)‘RS#å»ÿfY–É$K“¨ëát¾Š¢LU«.K2™Åi®­¥YòVµ÷³,ÙfoÕx}¦Ê…ÙVJù¶h&7är›ïÊl›eo³TfyUNë·…—w.Õ™Ê,QÚâ«u¸šOF›¤…Iš¦©eYVËjyÞp:š†s¥a¢‰ÒLJåû!“t'šÏþåuÌ\Ú¬0Šãõ:Z‡ál>ŸOºà´êzY×UÁoÌŒ_ó?ðNs xG™hˆj€œóï* ô{èãÐBßçÊÁš+áQE%s¯ŠÐŽ×Ø::âGþ#ïøÈQ-α tJ Gì(á=–ð/lÛ¦e¢i¥½½ýýýƒ’¦iÚþþþƒÚÞƒâÍÔôù5‡r8Ïí?êÈ9ò‡Î uç>öP`½Xœ¿à>çÔawçÀÁfvI…{öö5­R¦6þ!"}ï*—ËåJ™R©” )R.W*R&„TÊZ.W*„°‡„jWšå2!@©T*BÊ„Z¡å"ˆ.—Ë•J…RÚÄǬR)W*•J¹BIEƒ´’#Që“r¥I}H¡¬ÂÊ„¦2ŒJ¥R&D;,“2!¤T*ì^Îû7;s_;8(•vA|¥R)— )—I¹R.Wh™ÐCµx§R!¤QR¹{¹BÊ„|RÜy)¿Z.—+•æCZ.“’¦hïíþûö÷5í@Ó´=ÐJÊ›µÒ(—I¹’ß@¥\.¢UÊ»W…”+¤Bi¥Ri´5Ö¬ÐÛ¿²»WÞË’¨‹Ãér­cÇIKÅ©K“,IÒ<ÅÏ5ö³m¶ÍÞfEL°M“|à'ͶÛmVt ³D¦Û,“2Ë’í6Ûn·ÙÛ·Å&Ì·ãÛDÅé¶(Ýå`q"“hEá|:3Kr’‘jZ–EiËÃÑh4]®Âh­ãÍ&ŽÕ,€"%¥r·õS™ç éV±’,Q*£I*c)7QÍ—³Ùl:òÜ%D¯ë;¦žg0ßÞá|p#Ç*"ç/:N'/«!çèûâ¥#z8"ú¹Ï9Ï ×Û¹?å·‰gà2¬¬>¯àÆT Ï9v”dðÝâ>¶ÆÈ9rì@³M+„=MÓöTºz§fµ·w`÷lÎ;®ìÜÚ„¿49t:ª"¨¸Å¾ïVà+ ÄçÕ´4:œsìå5BÆè­·©F´J“Ùv` Øx÷¢m4MÞlÚMJG”RÚh¶›”V(¥´ÁšŒúåãÏ)¥”õš¥;Ôh2ÖhRÊ>§6k7(mÒ +¥´Ñ ¦â$ÚMÚh6h£Éxƒ¶›”PÊ´Ñh6› > Öl6)¥‡JʨÓlä_`6k²F£I)k4•ÇŠº4íàv`ÿ D(!üf)mä§´BͦMiëRJ+Ìn7ó/5Ú¬ÙlÐÕ±&¥…U·KéaS‘HéÝ`_ÛWñÄA©D(!äB>'¤ÑØÝy“5*³Rî0Íü¶Xƒ6š´ÉØc¬}ë—ý®,xšÊL¦I²z£É|¶ZG›$ÎåwÕ¸ŽRÐÛÊ"ÝWî:2{››n)Z*óoÓ,•Û,Ë +æÝÛ·Yòv›[tzÜù‰¿MÓ4}+o„º¥Â$™&©\Ç›õ&ŽÂÕr*ïä…ÿ\¨Ã™ã÷8pPÕ|îs¬¢²ÜíÄ@{ +½qÑœïôrKá'ˆ=äÀ9@G-ŽÀ;=t,Ñã úxh³vƒò1Q¨¶¯=x°¿ÿ`„R>¾aøõÀ7^ú˜/€N:à#XW>ç8r>Î.Ü-”1Ö å›÷烊ÍfÛ.zŽïÞ»c¬Ù´›MÆÚŒ1Ýðˆ›4ï-RúüQJéçÌfÍf£É(c`·›Ê‰Ä¶™Ýf¹=1û’1ÖdU¿­ÞêMf7³Y£IÛŒ±&c6c¬‘KSJÙ‘rR³;í&k4cŒÛmõÜv~':©”i™”4íÁ¿ÙÛÛWûQÓ%”²fƒYŒ5‹›§”6k²&e¬ªv&p»Ùl6X“1°Y“1¬cÛmÛ¾¹sÚ`”²Æ!4­”߀ûÚA^3(7H¹¬ë”RJ:Ðf¬Il·8§¶m3ÛfŒRõÊ2Æhƒ±*‡» üŽ*xšW÷³M×Mçó0ŒÖRÆj X¦Iö6• K²m–dÙv»Uãµ¹ô®Ì>ls.oV¨ñgY–Èâ ²,K·ÛìmºÍ“ƒt›½ÍërIZìü­ÒKeÇ‘Œ¢h5ŸŽ\w²É Fê®uBw4œÌ–óùr¥ ‰d«úžêð«œb«î+VH³,SÃé̵Σ( +Ã(œÏÅt8ô€é„O>ᜠcާsŽBE‘sèý'_Qüod;Àî3G ( K?#°ðN”´&8À;àŽã`õ¥â~ÝáŠ`›óÅÅ_æß'œÖ;œ+½Îf“VèCJT ë@Û{°¯i7ûïÖ)ëÜìUXo%ä Ï=)מ (`ÀÜÒ€‚w3±­Þë*P2M«Øí¶ÍÚöýpÏçÔû‘1Æl›Ù³³¡ØyŒ1›!³Ø¡ /)¥m`6kçÍŒ1ÛA¶R[Í­3cÔfâqΚÛfŒÙ`3f±‚Jus{À« +‹Z”Ò]Õ^lf"‡6S{´BË„”ˆ¦i·j€¥ƒJ…6ò vÓmmçwŒ9º×h¶”´i~qc¶P/4gjû·Aa@iƒ6YƒRRz¿ x BËD)0ZÕ\ÊÞ%]¶ÍÚí€q°ÕëÒ¶muG Ú`L§ï¼þï@¶M¶2I’låºÃél®ÂH&2”I³4Mò1€·[UÈÏ[ýŠæ¯Fn¤âÊLn3%¿›¥Û,Ùݶ™T£CI^Ìûˆjl •2I³·J¿#Wr-ãÍfÍçóI׳FŠB\Œb¹CœÎf«yFq.*eœ- Yˆ~%I–&2Í2åTð†s%óx½ÃpµœO§]t[-Z¯×ÿ憦Ó:s]÷i‹±qîü©œù:ÀzÈ}¦ôwP±úœœÖ‡œsV*aá;ʰ*8ŽÓjµÄ­Åñ±—O xàC%PØáœ³™Íš´ùPeÕš–×¾<Ø…­¤B(í€ Ï¡ƒ~¡Ó鵯>rìõÔ&Y ¹Â€÷ˆß¹±“DÌ@ËKc¥=•‘Úm`÷K‚½ÿ©6Ø6·í6›1ú  6¨/¨ýʘå<(cÔb lEk®V 9ØNÜ´Y§@Ûà`s›©Å-f³¶Íì¶ +j€±_à—¥Œ°™ ¶Ívc/òó²É š¿¨š¶¯:ôÑJ͆‚.æ8`·ó­VÐ*0§Š*ì`h3v[-nÛð|ÞáuC»¸th6k2Z¹§  i„PJ¡”Ò†ÎT*ø­™íüT–[j·:Î;…Ù÷¼e’¤Û,‹ºîh2›/£pË¢äž&™L·Ùv›eI’fÛ­Tõ,I¤rÙI·»Z[&ó¾`’¼UD@µû¥”J‰³¨#õÀm¡Û‘%iîá‘ëI™Ä‰”ëU´šÏ&CÇåd¾¼õxøÉáá¡^§]Åt6›…Ñz³^oÖëXõ0dœæƒ¾²à+©TGõ7“D&q’$qœÈx#Ãõjµ\Îf£‰×u[”ÒpÀq —1‡1÷éÍ”òq&|ä}èt +Pà[ÈÙsг¨æêÜpó:ÏçI.¿ Å0ö9a\ùXLaAÿs„ñ²H88ØO™Ý¤íÇ´¬b€R©t hÚ¾¦åõkB)e óÙ DŸw8pëÊGÎùnvÑq . È‘ó^:€À:îÞTm›1Föìí=x°Gö´”¶?¬pß'ó'lÆÀr˜ÝnßÌ]°\í¬º¸9²Û`³§˜;ßçòàÅ´#cŒ9 P :2` 61c¶å¨¡ˆÝü0€±*îgÆÀ¶™Jãlå‹dc¬¡*Ÿ!{•ý{„U´’ÍÕ«dÔÏÞÎg+3D±û°Ílf¦ñÐä¼ÃïR@êÈlÆš JÞ€ý}­DHƒª¡KJuÆ¨Š |ÆÀf¶"šÛ v8ðbPËeŒ±–Í-ñÎËÿN0Ùª ’†]OÍFëxl”rošnS™ð¤Ù6“yçïm>Ú“÷ýÞf‰ÌR)³·Y¦ZùYÁÜfÛ4ÛÊ,M²íöm–½Íú²,“ŠŸ—eJ=<ÍÒd›&‰Ì”¹”›õz9_ÎFC—ÎdÑ5Ȳ,ËÈÑÑÑÑ)óºÃÉt>_®Â(Š¢8ŽÕ<³Ì¤L’$ɲ]}Q ŽÀñFndFárµœÏ§ÃQ×u¨NˆNÈóçÏŸ+=LÇì©:%;y€s€àLpDä>ÏËà‚ :ã\1í:ˆ¹)Pu§Ð}k¦–óó Ÿjqa(¢ÐÉhpö”/,Ìi|À٬٤ð˜VÔqEJ%­TÒTýúÁÞÞƒ=¢òMP€Èy§ƒùâ=„º€9Ìá •ú!€ºs›a=g,>ÏÏJ¨S=vG¹5P, ÝÿDîÆù·i¦ºùRµþd–Jµ“wŒàb¾n[d71ÿÛ|"'Í’4ScE̶Ùv›äCÁI*e–dR¦iœ×–³ÉÐmÍR¥(XptBt¢×[ŽÛŽ&³él…Qn6ñ&Þlr-“D*éq5ü“H)³$M¥²(‹7›8Ž¢hEëp>ŸÍ§Ã¡ç1ªÝ8ƒ2€ÀP$èù)Í#rßÌà€ü⽈Àk¡ˆä¿ñ¹zìØ`®Ëœ¼´V\Á™x×H°‘‹³…òåá¨<½‹7:~^Àó}m6㇔–)-«æ2!D+hý`¯´·¿Ow5vûfñž%r9s?Ï/€c§ƒú8¿ó+Ÿs޼g9ss˜mÛ k”ö÷öö4ºW&eÕ‚gŒAû¾_ì‚#ÿ×Æ×¿ò¯Ô¶¥t&Р;¸@C „@@~%N E}?ÈÙÚ¾@¸¨þ¤ˆËþõõ®¯ÇÁØP-=…@Š—z«³ð}DôÀ@)µŒý…cÊÈœc´L¥eö°q°¯5¹ïÿ÷ë^\ƒ±/|§x¤"h {ˆ +¬·0 ˆNô_ùc;" @D"ð±×CÑAä#ÀNO`üæþ;]ÀÒ)WFƒ1ÆíèÆcŸ#vàB‡Eà` "¼Dãß+ÓWŽˆß·„ø£ç^9ièyÝÉ|†ëh½K)ÕTÝ6½e®—úc~i¶M‡?ËdZ )"`áÏu3(¸MÓ·Û4MÒ·éÛ,—Üæäá4Kãtç t:çbÔk'éN\$MSBH¶èG³ù\¹„űê$i¡,’‹„%IšÈ8ÏÿóIÃX*½Mͧó`Ôíz-FŽÿíááÑ‘ +‘!¦Cp-|_ @QèàØ ϼ@½§,Æ…/° €sí÷Ñÿóâ÷c_Œß(1Qô^ !‚@,ĵð}ö„@!ÆW=a@¾x ®ƒñ +!z ÷œ{Œqü‡ýÀçÈÇU‡1F)£´ÑhÐ2­”I¹|@öööH>òÓÆŽ=€ž/Æc_´•ˆ«`1¾£ï Daý„\!âøÇ?Œ¯ÇâÊ_´Ô–@%9Àiiÿ@«h{ŸÐN“µ{ +#ßûµg¼wYÖW†Ñ²Z–¥-ËzbYùª†®×g†aœýÌ0,ËÒu½Z=3 ð ò,˰ξ2 ]?;«WuÃhY–eX–eg_U­–e–eX-fÕëêŠç<;3ê9¡Û0ôŸuË2ôª®ëú™¡–¡–aÆ™q¦Wõjõ¨ú‹ê‘~ttøøñÞÃÇýðáÇ{{{ ðZ-«^·,Ë2ŒâÎÏÎôºâІa¨;7ô³êÙ™^¯†¡–euK7Œ3ÃÐõªqf0õs[gú™ñ³¯Ô_ê:¹½ýÿúððˆèkšvxxxtTýÙY½nXŠ®uÃ0ê†eXFݪÆYýL¯ê†aµ,uuè>³Zw®»M™J™n³m–ª`†ëõ¦0ÍJ‹ñžÝÞn³4ËT0S3BÛíÛ,KU»-{›©^aRp²LfoS©*ÉN(˲·JW }›¥òmA0PÏ›%‰Lä:Þ„Q8ŸŠ¡ÓšÊ4•ŠDœ$I" !D¯ë:m¹®;œLç³Ù2ŒÂhí\O•OX–((HÓ´–$–Jø4Žâ( +Wa¸šÍ&ìzÌ¢D;üäèèè°^¯×ëzݪgUð,«^Õõê™qfÖ™zÏYÿî™q¦Ÿ†z+Z†e†qf=ùJ½þV‹µ £nY–UýÊ0Î/ÿ¬˜-°vot£ªŸ)Ú¿UWïãgÏÎŒ³bñÖnqãYµøPÍ,Ô©®?®Wªzõððð±öX{øøáÇ{ù˜À‘š +¨Võ3Ã0Îê–egÖ¿S‹Æ™aY-ë+u†ñìߪÅZ–U·,ËúwÅû¼^U[¦ =ÖÔ @UÿÀµ÷¾Yе!ÂèŽ}Œˆñëñâ'4O‡ \€ðÅbÀ\ÏyæŒÂC~èy^0 p<PèÿßQt¡ôΟaà÷~‡>Š¢¸N|ÃéŠ@ X § tÏ—CeÎÂ,g@Cáõ>úŒ1Zfª¨išÖBˆÄ3 „¨ÐÅu",¦ÔTBxá/~Ài9€à¹b1Ä.¢ð^ß +Ä7‘#r!„@ö÷”´ƒŠêú1ÿ„uËÖ  U1X ÁrØK·Õrð:±ˆ]~%ÀÃÅøŸÇ_ãBô8¢x7{— ˜³öÒÜ®˜ÏW¡âÕ&‰R÷¿iâ¿M‹áŸ$Í”×–ÊÖwœB™¥ª°¿}ûv«Òƒ‚’ŸdJ?ËÞ¦Yú6-¤’$Ûn“|‚(ËÕG”coÇ›uÎ'£‘gMbÕ:,² µÿ !õ–ëy8 fóùl†a´‘Ê-¥‰J â8ZÇ›8ÚDñ&ŠÂå|6™LGîӢúÑ‘ö‰¦ !„ ÝápñFcŽpÎp±à›ÅñÙDðS€ÀñO=D!¢¸"Àg(üñØï /ÇÁ?ÿˆ†‹A P,<ƒeà:Žƒ:†wýÆCñðÍbâ⯄@Á›ƒ1ÿR¸p‹…BˆÖÁGì g øØg eŒ–)#ìï= BXežó ĺÁûñÄ¡~ðc€ãï,âjñý3 |ø(r!~ÿ«-ö<ø’< Úç„P†hQj9´¬Àûeô}DäB£´S9÷¯¹ïÇU`-ÆZªXÌH3ÆÀõZù¨4px®xŽŸÓÑ÷­Xÿ”ýÍrãH¶&Š‚fi´»½j±M6'eeVDp–FƒY›³€äb å'¸m!Ò*¤ïzc gpA%ì(Þ­3t¥ê¤qÝ4æÙf˜á¨·¸ƒå ¤È¬ÝçxÊ2~¤XrRðåëç[ßGD˜iEŸ´BTZ‘þLZ/ŠaËZ&©5.ŽN$Òùse6AŒÆIC†}Ë;â»n·¯H©„"£ •ÒHúÿ›iýoÅ'˜Ì¸#CMàýLâäìÀâ"yçap¨RZ+m±á̽˜ è2øïøÔë‡z+­Gr⻿s½o…Ͷ"1WED¤9®´Í©aFÊ´oK;±þ(îmy}=Ë˻»‡õvÇHyËåËzeÃýv¤¶.›Š»‚e³ß—Ü)Ø?YDOSqذ¯÷MUr³ïP Ü·5yîðüpÓT$Ü’U›õvµÞ®noæ3qs€"Ûåù£‘çùž7šLfóùõíÝÍíÃÃf³^o¬¢‘…ùVUY³öÏn»ÝX¤PU•åv·Ý¬V«ûû»ÛÛ››Ëù|6¾çô¼žûß^W@Â@¢D2ŠQ"*¢€ i«YËïw‹®§D›É¢¿¿ú…tž« }Ð[ãÀÆghüók{Ï¢ˆ(1”1 +ø€ngþRa ˆqŒyÇ1¼Þï~wÂm·ã8®ÕïHGÈyþáY”DJgãš¹B(!­‰™ès¦0¡ŒHVZçÙ…‘ð:N·ëY|ÚHýð뀢Œ”Âeð™;œ¤ÎþòM‡Þ063f/…‰´&ÄŒ”B"2Hµ:Á¤µÖ:ã÷ýÇŒT¢'‹L!RF™aß?[ÇÃ[ÏÚÄD”)ÛT¨(Â$‰BÃþ©×CÑ÷ŽºÝNŸñØ2× +Åß×h­G3˜X4Úž À¬5®‰x\„ŠHÛ± +­µRZ›ŒT’¨D)¥Pt÷¨ëºÇýþ8NP)¥üÄï\ÏÄ@L¥Äˆ'17Eë ÖDú/¹Ö*ù?8¦ÉhêušÎonîÖëͶ¬ª]Ýìʲ.˦®žö{;í·ßWUcEvÊýþÉJl´uÀv*ñ÷¬ÎWÖ\(d.°§—â íkmºçæ!K3#ðÃÝ5¥“[&ó®ËvÄÈùžç ÏE“4_ÞšÛ»‡‡ÕÃÃÏØ+ûUîÖU¹Û–å¶,w›Ý®\oVÛõæaµ¾¿¿»»¹¹¼™_¤2ùþ‰wrrÒ³oò{s¸.p€€4XiRIÁ œ”Gd;þZk¥uþ¯Zgª}ϵœ|âaæYdi`øøÏòçÝWéŒHó¬2ÒçaæÉeÛ?’Bõ%X(ŒãX©„Tœ¨ÞNm°ïvÝN×q…ˆàOé$ëE”"EJ§”P{вLçÿªµ¶ƒDJ-ÎþN +“3ÊrMZ+5 ø“˜¯Ûu÷Øõ<¦ +ü?v”iRI¢£/¤T‚ÿU®h`Oä{ÉüH–ˆ ä$ÕZƒÆu6#R +•"\h­ó\k­T¢e™B$ù ©„ ¤uN4ä‚îû÷&€g€$j‰™ÖÚwJEñ4Ž!„Pà¸ÚŸ†aßs»]ŽfŸ3¥”Ò”i6>jµÚfLòˆˆh¤4™6¹F£•"¥ôÒª,*¥Zë¿ä,ÓÆ  »¯ÛíºÇ}†±J~DA,Ü#ïÔBL¾#€ 2ÒZëÜ(­Ù5-"¥¤L-´Öùßò\«¯‹ÌåëU2.ÓËë»ÛÕýŠ‘²U]>‹ì5Ìþʼnýž‘þûæp!3Ñ@Mi«Šö/öM]ï›æ©Í­m*ÐXÉÞf_2Ư)[5‘²ªY¯³Ü=<ÜßÜÌÓ躥³®¢<Ïù£Ñh$f)ίoooîîïîïWëÕz·ÛmYÝ´´ªå›í®Ünv»j³ÝmÖëÍÃj½Z¯×w÷ww××f>O¥ð½‘çx'''Ï÷¿ËÙÃ?3Xj­M†Æðel&¤(IP)RZkç¹&¥~ྡྷG©ÛP,ÓZ/é`y6.ß#¹o´Ö†ÐR‘–dÄÖø•ÎT‚D¤)QT…BÄX!"Ɖ¡L á¹Žë:Žëp¾É´6æ†!:M±5~¥µþ[®5s kM*¡B~>БÖ9Ï-ˆ¼.Æ{Âóˆï‚Ño®ßÀØ8éKðØrýh ƒ%Ú‘‚ˆ)ù)D)só¯ BEÚ\ñ;3³‘s‚”ÿ-ÿ÷Ÿÿ-çàKkMJ-Ï>³qE”ý¨5¾Ág "n9r÷Ž¥¤½ÊuBŠ´Q ¢¢cëÆaØŸª8ì{Gn硈Hrñ¼s­óÄ„3@ÆvN +1MskJˆLÞžQÕNäy¾øŸù_xú"càu]÷øô´/Â8V*V£8G®'¾¾ˆ¸§2´r“EDyN¤ú4Òúˆ*‰x‚mÉêó†#~ÔgÒ7Z/Ie:#EŠ¿ê`üóç\k{gjRô(?vž‘6±cÏi€è Á}ó(øÍõ[€¦Œ‘Ï göéÔ –ˆRN˜Á q&g¨ˆHù‚ç"ôiE4#R‰J¥(Ï.ò¿±_á@ü¢&Èsô£!Ÿgrb¹×p6CëþðÇü߉ˆ0áäM„Ã4„p<Ããã0ŒÇžçv»}~/¢ÏÏ;×D9†ˆÑr I&„”ÿ{FD‰&M¤Teœj(EùâÔúßÿ¢5'F¤D×9îºGžw:qŒ„‚p]Ç€Úi%…‰BB™Ö &ÄyÅ£o¬€²R?å +Iÿ=?¤Žÿ0°™ë™¥×w÷«ûͶ\o˦)­¶×üž,ø©²‘@Yï›}½*KÛê=G;n𧦩žš½ öMµ²`áýËæ ¥mjîV K„°Œøzõðpww}IpSÕûê03l‹¾ßß +1Mä,½`“»‡ÕzµÛîÖ›õ¶ÜnvÛªä®ÿn·µ†ëõ†çînnn.Óùü_ÀÂ÷G#Ï;ñÚó?‰´GT2é.?çŸâL9S”PÄ1ºR +¹B\ü’kû¦gD„cÛø7™,3|0Ž3žÔGú1øœ/~ "äÔ6!ùl\B\ü¯¿ñéÔœø„Oe‡`z(„'<ïÄu]×é:žL‹¿,ˆXr‡°Í.”"Ô9)\üÏöñ^¿ç#j…ˆâ€b¯Ûq\÷Øó„Ç1bôÛë·€=7þÙ{4#"Mf`8Ñ9“Ðx‰H+þ’+EšˆT–i­T!µÎ8oÖŸ‰HÑÒ<¾Ø‚†5^øËÖ™Ï*DDóÇœ¬q†XB%C8 C þ©çŸ9Nç(„ic`”¢ƒëʨˆŒÕuÙì`\Û&n®‘x¬Kk­Ô—Èd¡RJe?3“ûUnxÚ[©°ã¸]×ó<1C€XÅ&@Þ³³|þßgq†¶Áà1*H“J”Rô¨HªSÑãr±Ì^jÒ™‚«cs”‡YŒ«ÇG6^¤†²¢øø¹(H/?åDht^,ŠbˆãqØvOE ‚@þ´,~2ËeF´ ÌÜž}|6>C$4D?c4-óB›Ï…Ñ¿H“/–_¾äŸ®(/ÌÕÕãc‘‘)Š¢(~.Àë:BŒ@cBW"ˆSáE€HËG¢¥Ö†È* +Z…Î>ÿ\ýËD_-–_¾‹œ®æ*|\êLÿôj}Õ,wMÙÔeÍ@ {+^VMû¹JÈ·ö¾a:¿C‹¿Þï÷-5x]Wûý3û§åÞjöeµß3؇©÷Á†<[²¾gÝ0f$«Êr»^¯V7×ò¶¬Ìó¼|¿/|!„?šˆh"Ó‹ù¥¹¼½¹¿_Ý?¬6ëÍz·Ùí6Û²Ú•Ûív·[o¶»Íf»~xxX­ïïV÷7w·w×7sJQNFž`à ‚ï'Á$ò-òi‚`Äè(ˆ‚`4ùý„!oÞ¸n¯×ëø¾ïûÁÈ{óÆ}ûö-ÿÕÀ¾ªèL¾ ¢ üÁ0Q4 &gC†'E¿FAþ`ü*9û:¨ê¦¬«²^§éÍÝÝj³ÞívÕ¶,ùoí½^ïŸêúɶâšj_s Õ<훚þúéY5äÀÈsu]W––¯Þ7L#¶ß³6Hý²sÐ0WOUnw»ÕÃêþîf.owuYÕeS?Göþ÷ED4™È‹‹ùÝÜÞÜòHÓz½Ûm×ï¿ÞîÖ«Íf³~xxXßsñÿöîîæöò2½˜Í¢Ñ‰ï ÏÂóG£úÖÃÁÀgøZA ì”ÑiöŽ¢ þ0 ‚ FL‚ ƒÁ Fϰ±h“?×ÆÏ¢€GAøÃ ²ñ³À¢‚ø9|k(b2ÏQ0 ü‘ïû#ßø¾?ðO|ßÛ{ûÆbל7þ(†#»s?úÁ󷼫aÀŒŸüKÐÑ€¨? +FÁ0F£À‚à÷> ƒ;oÞöÞžôø Þý£.@ñë3ž=’1„抌Yš(#óiQüÛ"""š§†Rc–Ë+Sý)Å£,ÈÂKC&[\óSûi‘›O>áwÇ®ëyÞx,€ &Q!ñÊ\ÿúÃ8?üj)…Q«œ’vŠ‚4e¦®y2™ ŒÎ4QBxNDúÅ(1]â,À<#;“Y +³ƒqÅÆ‘¦Lü]%ʈÈr"¢”ˆLúb#á±Ç1ô„¢ïy®Ûít:ŽÓ9¿!Æ\XÕ™âyÏŒ´ÎeÚêµ b¢3®Õ’$¢,i‡<ð™?5 Òº=椱xgD×qœãcÏ ! ˆU¢HúÂBDBÄÌᨤè5«""Æy¤TšTküõÚ¾^%#äšf}yy{¿Þl7ëÝ®¬ª]SVMSÙ¡Þ²±¼–Ù«*›r_WÍS³çs„ïŸö­FÐÞR~p_€çöMU?Ùyž}³¯ëÃ<°mE0YY•MY•uYnÊÍz½º¿¹¾¸k¥_ø.Îÿ'ÑHDÿìF£‘œÍèr~}s{{www¿Z¯ÖëÍvµ^¯Ö›Íú~½zxX=ÜÝßÞÞÜÞÞÝ\_ÞÌ/..ÓL"ïÄyžõ/'×Y¤IëLS’˜ PDjöúM'Dį>gt C¥ÒäPÌ2¤EšHçùÈ>¤RÚgQS¢Š¨ •½ø‰&íP! neJ&Šä¬cCÔÄ“î*‰ã„NHæ²é:Þ”˜ ”"z–F…I¼Fˆ8‰ÔçÌ~#•*• <ì\åšÉ2RJ›pߺ®ëzߊ0±4€Æ\ýÆÇo´1AÙL\eZÛë–ˆ´þX5$@$<§ŒõŽÒy‚ ÑóLŸý{~c +R¼QE*A,–c$î¥$ȾNëOQÚÖs‘PQÆ•J¤„$"¦ˆøi{b=Ñ÷¼ct¼é[BD€ˆJ[B5n‚5ή‡2+?KXº SD2ü€ˆ0Wê½þTˆ¸Ñíp pÊìiˆJ)ž'„ð=ÂêPr·?"$Ô’§ÔÏó¬}@KR1ÿÏÀ®n˜Ckww{÷°^¯Ö»5ÏÕOVH×€¸§·¯­†Oɸÿæ‰E¸ë}Ý쟞šªjš}U1ƒpYWåþ©fdàSÕV,à©>ø†ÒvêV$¤ªʳÛnïïîoÌýÎ*þT/ö.ÄhÔžáùÞ$ú—¹¸¸6··7··7·÷÷··«Õjý°~X­Ö«‡ÕÝÝííÝõÍÝÍííõåååÅl6›DÞhtò¼ÔM„ªÔ–“• ®žY=Zn"¥ð<(˜—›uH!âEj©¶éŒç_)ËHëÂñ ÿ@¶Cd£¤—Ó¯™=õÚiweÏ?È„‘‰‰-nc¢ »žë:Ž7åI?Ì&&Azaœ2­ØÁfÖ8ãQÐÈöˆ’¶Ì¬VôÓ€@¸Žãº®'Æ0µ£îgÿ Úÿ›@Ñ„ +àüì3úÀ,ƒg8û€˜&¤2Ž’R{?Ïä Ï$jM:ÓJaIÐWI{&hË€¡sMLÓi­ÑGœá åL"ž[¹v¢”_ê¹”3+õ¬PáS€ïzÂOÀnÇéxÐCç ¶õÒZç`XWQ2>4#J%4á½Ùv”¨)ûQ“B èOn+£BtÇ=êñ•\GT¤±ç !FBŒ"l‰"<,¯ ÿPg0£,ÓDxî0/Ú>R»î_¯Õê~ÅåýÝÝjµ-Ëj[Uå®Þílf¾¯÷m}¾Þ—{žØï›º.˽|z†ýÛ°€öuõôT7u½ß7O\G|zjó~ý×UU33yS±¨hS—Õ®.Ër³-Wëõúîáöön½^­V÷«»{£Qt8ÿž7òG“Yš^\^^Ïo®oïîîîîïïîV÷w«»‡û‡»»ûÕýÝÍí͹¹¹¾¼¾œ_ L¢‘çž=€çÉgÝ4À™D$Ê2J¶ˆ<“6Dȹßi@PÊFLå9³×j®s{] ã–áLÊ´!*¢è…òJ PhÒ¤âÁäöÔX~n¦˜¢±ÆcàIcµìM™|Úu»oj¥ƒibÃPÉÖaVhÒ”)D) +Ý'…ˆdËåúyç‰R¤õ£OØw;®ëºžâxÊxÚÿŒ@Hg"%ˆ¤óL%ªí“ÚàY£ÜâgÓC AJ‰šO„J93–¢xßÎ3e•P‰H/"zm´ÔÎJµ.1A¼)gHÈüçp}ÏïøÈuÝnÇqº"îјUm`çò•q‹+ tÒÎåÈ‚D£l›u˜Ífh, ‚bš‚bÜuºî‘7nÙS§€‰¢Ä6EdÙT¢ƒ–eŠàƒD9k+òÍìÅÛòëõºÀYzq1¿¾»»¿_3 +p»­ZaÐö‚nšòi_µ„ܨ÷u]?=±d`ÓÔO<%ØpUOûÊ’ƒ·Ì ‹2WX]Wûº3HóTïY´®9Úßm7ëÕêîæözNi:KÓªf/ϿߎÏ.æ—óëë›››[>ô÷÷wwww7÷ww7··×77×—ó‹9a*!мïµxI^ÕÞ«Ê’ð-ƒ¹‹”’opMš”¢_lõP¦di¾—g¤‹:&|‹ËáÀ&A¢œ“¢ÈbË­q¾Oˆ·˜i–ˆ-ßE΄ºÞï\×íx€” *lyG?`K¿Á"N$ÊXŽ!6~>£öY€¬ýÖ’Âu™ ˆÛÒSDšü¿ridÔ9)"ÔšˆQø„DY\ŸÓ«s” €á—ÊlE’Ž©µ~ĺ‰uÂu×ã5F¦âãüw»Ž3ûÕBDš%”ý»ÖÛ(LP.´Jû¾$3B)g6-€‚ ªâ‘ˆH2í×á Qd~H8ê]êL³æyBD&zlKDÙVDÓ‘k<–i”X/0Žq +ßóz®ëv]·Óq\óbŒZÑ‹`bZïúQ¢ý\*Ÿ: † +Dó™HQ`PJ€‰<<1&0¢Ûq]Ïóâ0œ†c¦aS +{‚©¼‡öD§Î$ ´Æ‰ +Dý˜)2Ö8Àì×ÉÙWà’ÈÌoæ×7w÷«íf³Þ2gFUÖUÙ”¬§azÕ +mr#¯Ú³X€ ß›}Å„áLöÑ$:›²¥«­ÁC°oö{;XïKËb©¼ëj[VÛ²\3c×Íür~1¿|ÐëûÿÄuOü‘BL¢Yš¦é|>§ùüÒÌç×——××él–¦r6‘!F#áŸô˜jåE ðÚ`üaжX=XÎÚrQ4"õy¡EçØ²´4p3N•"e²ÌFìJ‘¢ás¶ÏGñ<¸æcÈôˆp¹PDì&È´ƒ,i‚˜ ÂµíĈ1ö@ˆÓÓÓÖ ! ``@‚”ˆ&MÀIµ\(R˜"‚„ÉäÅ)’tÎÍ6,þüÜ;PHƒ‚<ï[Â4Œ~CÐqþQ`"+®ÌRk­0±ùÇ_}Ãߦåòåf‰D®ÜIØRqÎ ûœMPZWÜF&ÊxVé…ÑZYÚcB|ä Ö¸º°Œƒæ ‘˜@¤£'ÄÈ÷<×uÿÉu»ÇtBqc‚ˆF³n +"&„Ädí/ŒóÈ×åLÎa&g-#¤ÏYF6.9{,‚bÜqÜcÏóÂiØê¥ÄˆàþÎë‹g)D%›À€<ŸÍh™éŒ¯’ sA~µæ¯×õõõõííõýÝýz»Ùl×å®b•ݺ©ƒ¾uóôTÕMÕÔû¦Þsø_–uù þ·µþ§rß2Œ´ŠM«þ<`}@½¯[q]?Yí.몺¥íÚnÖ«ûõÃÍÝõõåååå+0ÿêþwON¿¹½{¸[­×ëín»ÛUeYòíß”ÏöÕÍ“­û1¬÷©±½¿½·ã>e]si¿abÀƒ’`Û¨ìqjꊣf/Û9¿Êj…•5 w—åv½Z­îïîo®///æ¯Ïÿõ«ûß=99ñ=á{ž7Šö)'39™L¢ €˜®ôF¾çyžïœ¸¯b€_qØ.‰ð'$¢+…H4ÅœÒ šRF)¥)¡ATŸL„ Hå8šPJù’(Óšr£¯ åZåD” +» MŸ‘H焨¤?)S¢ùÉ¢s6ŽÅbÂbc²EÉ IÍ’¡…ÖWš2"" =ˆc!ˆ¾{ê!QNˆ(‡‘!šÑâ|N”Y"< KÞ9 TH‰2©ù‰Œ!C…)L–iæÔU¤Ðu=Ñ bR0ñ£W‘“<€çcDxèƒ`8øCŒtÁ÷9ô‡¾ÏLˆ¸õ»á»á`ðnøn8ø¾? Ãỡ?ŒÞ ‚!sŽZÐà] ˜¿‘1ö­õh ‡–ôÀEÁðÝ;0¾ÿÎ÷_ Àý?¾íõÞ¾}†U;NÏÿýÈ2,Ž,#çá»Ê`è3±ã‹„àÝ`ÈÆ‡þphwîý x7‡ƒÁÀ÷ŸqØÃàß÷eýOLz2øÃÀ÷½7=·×cVPÈóAƒwÃ?ðþphß–Áp8ôƒáð÷Áç†~ÃWë«`~qqyi® «­±)Ë]É|ZUÅÐÜjokö,ôÛ¶ù›§'ûÙáÀªÞ×û’ù‚š}KÜ4uýT—MÕsÁj0áHeýE³·x ²ªšŠE»Êífµ^¯çó‹¯S€ù«ûÿkàyþ(šÀ$BˆÑh$"!F¾7y£S¦¶à8¯¡ìØ-â=üßàƒ?òtÉ`0üÃÀoÿxøçÎ÷Gþ °üÐ~ üÁÉÀ÷}û‰a0ò‡¿÷ÿ8øckÿå/þàƒ?özÌÀéûƒÁàäd0ðücïÂ4¸='cò«_~)rCæ‹Y©xœ›G4Dæqùåñññª5~†s* ¥|û§dŠ©”ÅùÀ„øNDzÇn×Â¥œÌ1¥ŒÌ—/¹y6~iV)¥DŸþ÷Kã3S,‰ìÎçæÞÌÓôÑ¥ééáÑ,MNT,s¢ á:î‘'ÆrC*Áó%™á Q-$æq¹\óXÐüºHå̘byÙ'óhLš>š ˜§ttÿh–ækVÐ¯æµæiš¦óëûû‡Õj½ÛmÊŠ9A«ºiê’srÛÎã‚ݾižšºÞWUc«ú{[)x*YNxß¶ë'‹nʺ©jž)jš}SÚÚW ÷ûº®÷uUÕû¦ª›²¬Ë¦ªë]U–ånµÞ<Ü?ÜÝÝÍ/çó‹9}UÄô_ŸÏÂ÷DRÌõbσ±‡E‘™Â ‘†*¢ôJü>PAEŠdpqŠnÍ)Ä‚ +`-yNTèÇeF„æ1ÅÑya’ÜcÏõS"šâGD’Ñ·Ñá£Ûév;ÿI @J‰88G$2šˆð<ÁìÜ6ð­²ÃíO¡€ÔÖÙU«Ï°xW ¦(gòƒ°_.g˜RD¢¼5Nd†ÊlÙÞQ]d˪3Ëìe»NŒeî¹n×é8‰Ë‘”P[@"3¸B²D‘-Þ:ADL‘­x¦mãŽäG Éò3ˆ(g‚;¬"äр ßï÷¹8ŶؑØÊÑë*cËåÜbIàL“Wkö//'Çÿ’^ÞÝÝs°+Y3¸®k&èª÷{Vñlš'¾®ŸÉ}êªbTïÞš}Óªµcûúi_í›ú©¶à}óTîëýÓžÛûú‰ÅGJÁ,Z2o÷n³Z­îo¯çó‹tö/R~ÕUê:ß8í1¶ÀóÄC;£E Ò9Òc%ÈÆÕKæs8ÄÙ¡(0êEöÙ9r]×év/F˜ +òÑF¶@¿†H%¨2BäH`v€%ÍY5%>ŸE‰f$AJ˜®pJ½ŽãºÞi_! ü¦€þ2>õú§@Àb9ú ŒRÛ¶‘-6Ý~S)¤„ðí¯ªh×——××—77÷«»»»Õýf»Ûíʪ.ë]ÓT—Ëʾ,Ø4åSÍõÀšËUÍ:!U; Ì:BO–”ÿbßÔõþ©Þ?5u½çê¡…üÔm-À +‡”MmþwÕv»Ý®V«ÛË›››ëë››ksýª„iº­v×qN¸Ð:áYõk „7úçÑhäû63`†îQ·{Äblýç%<ÏóN&<Ï;í Ï{ñç¾UãòÞx¯×éé©çyâ苾ðNûÌÖ鉱/Ä©çy§âÔ;Ï<ÏózàzÞï_žçyÇî‘ç½aÁ¿àøØu]a¿é©8õŽÝ#÷È;uºvtÄê ®wðKß½ÅW†ëÍØó~çyöžÇñÃïà­¢ß?õú§§žwzꉰ'Ä©çuºÇq»®ëº®Çáy¿cçÿà±@~‘²Vf’ *úÈ´$Å”(ú¬¸‘Šˆ˜³·ê3xŽR¾ Tlà ÿ#â9Ù†âß#C”$J1Uk¡‘Îíq!kY‚Ýc?ðöà=×ítbCT +?$6PDÁï\¡"£^ Œøþp÷¿Ü¨/%JøªE'½ŽÓR-mÈoF‹¸ïñäULjuôÂäô…@Ê<Ÿñðz­×ëÍn³[o···ÅÃz»ÙîÖ»ªªËƒnh½oGx9Ø×5«4MóT?1p¯Ù7{KýÅU½mîë};dQûæ@ñ`hš}ÅMf +)˲ޕ»r·Y¯în®ïÖ,ç±^­_®îáq{qïxž'"µšê‡ÓêŽlðÏ#ÏßZ&¶Ð± Óé|ÓuÝ#ûÁJ»ÞËÃçXhèóÿù·ŽûrÙOw:žãwíµíºn×=u-º”•¼½ÿêŸÏévÛ?^Û‘ø/'¿ûÝKÓGî±ç¹®ÿæÔ&žÇ~ÌsÜn·Óév;]Çé8o\ÏóNO=Ï;òÞ0ªý…+ét]×õFº¼^ÿôF8ž¶ë8|s|ÄûâéxÇ麮ãv;oÓq:ÿ, ‰h‚Ç,³ĉBEê1²¤ßë¢ÓáºD3xÙ3}>64HŸG'ùoÞ#€<ŸäŒ.FBLZF‹ƒq"ÒêYû1õé+írVþ½HÑ?§Þññ‘Ûé8ž€É02¬ h9()‚Ï9Ña¾8SÏ;Oý”^!öÛBÅhö¡½µí”7JßuŽûž'ÆœÛÅSÐÑ£ê÷EBO§˜zÒ(e¾Úúá7‘…ÑZiMéƒqŽ8¼§×:ÜÐÄJÇ3Dî7Þ±çyB|Ǭ#ql¢,‹pZâ ‘Œ¡à#)s¥MnŒÉ?ÿÇÏŸ ¥äå0E$C2Å4EJS2(éÖÐð¬X.É㜮ç­qúž>?. ¢9‘±Æ‰ÒüJk“k“®~^. ál"‹Tþw™"çÏ•…9L¤I?ø>áõ<Ïs]Çk3ïOË¥±áKBÆP`ˆòÜè«\ó¹úyù¹ A$™"Äâ†ç˜’A™&ý>šK"š§ø‘ ™9¦iJÂuÞsÇoŠD蟃€"D*þ÷²XÂÈk’¤Hÿ#•˜¶ÆS™&=‹¨X2§™úh²ö¿Œh»û­UV«‹ sw¿Z­7»v ®+õ—‡`_=íë¦j*– µÕ»ýA-t@´Žao‘Á–=ضž¢²¼á0PeeÉë²Ü”»Õzuws9“—ë²Üî6ëÝúå®Çév;mÏÙy™ØË³Óáóðü‰#çÈÞû¯.,ŽìWw»§säuŽ^D]÷›nç9è´àŸºÇu·Óé:|>mÀqG8G6ˆ¶eùç€Ïý‘Ûíj œËt9Vè:Ïñ‰ûZ8þ¥çzõÏév‡«Çq\÷èè˜@ÏñlpdóÞÀÁtÙû¸Ý#·ãtž#€§®;}Ž߳ˠ×yãv9'xU¿ZQEßÑ$ˆ")ÏάŽòDFQ$£t–¾›œM&Qt6‘¬¸| Až nGA)Èèl2‘òLž½2|E‘”ò̪G2Š"ˆR™ÎÎ&¬–-Yq9`jàÖøp8 ß÷ý Š„?òý‘ï{½^Ïí¹®ã¼õ£(EAHyvY½r9‰¢³(•黳³ÉdM&99‹¢( +dðÒøaE¢‰œH)Ï&ggRž¥ÁYEß=Çq·×;XJàHŒ‚È÷zþõ}ßùQ$¢(Š¢I¤ÃÖø ëQp6”M&‘”Rž±ñ×HÀõëµÝíúw—ÎLq¿Z¯wå®Ü•u]UU³¯KVõ9Ìô4ûŠÁ›¦Üï+®ØP ~¡Äì!LT[îЛøs¼`ë–\¼)«º±ªdÕ¦\o6«û»ëK’×Ûݮڕë×)€Óqºv_ ¾ÿÿ×ù:è<~ë€ÓétºΡ_>ê]û©çÑí8Çαýc·Óu:Xtœ®Ûé:ÝN§ãtº§Óá°ãðé;í¾¸LCØÿUxòÊt^ø³¯-¾ü]×é:G¿á2ºÝn÷¸ëtl õ«ßí¼Ê§ÿ¦sìóÛzxcmÕq;ݡ֫ÿÚ ¥çd }¤”´…©}üx~^£µÎÏ,[iÊ\™)R ç!JcˆÛ؄ҥÉYþÛ\™<7Y1—HiJdÈQfLfˆè£>§¥1”™Å™1ÏjЍ(¡)bãÈPÊô@F&1„0Cáy¿s1E":ÇV=%Õ†ðdZk³ø…… è™û3=‹x‰ ¥Ï;—K£¯2£‰Lž“çdÌÒyJ8u]×õú‚G®Î‰¦ã©ú–l»° TR™Ö8Í0MS")A.S“kcH™Â“¤/_ÿ¾ºú×ÛÝz[îÊruqanîî7›²´@ü²©mœ¾ß·Õú¦nžÊz_–OuSíyæ?åŠ+þƒHÒΠ榔«€ç爆”"ý%2¶ýwè>Ç—à/2ÚÀB!„è{GG®ãx€†ÙÑ(9Ç$E"ÄsCD”ÿ˜ÑÁø”@À$$HÝÇ[³X,H£ÊˆHg˜P¥ˆPwŽŽ<¯/D8 ”¡¢oB˜>¤<ˬ€*Ïv±8.qY¤"M”QB EÑäÅÇW`³ÝíÖÕnW­..æ7·÷ëínSÖeY²^ÈaŒ§ÞW|‹34¸<„õ­âGÕì­ðAü«nžêf¿oª¦~j*Æì맪yª¹Ø4M½¯šºzªlüÀp r[nw»Ín³y¸¿¹¹ÀÉͺ*7»ÍjõÊt;Ý6Q~q3;¯#€çGÒ^ÚÝ×7˜ýT›t:N·cӀׇ§½*;Ï.áàÚ,¤-¿uÜU‰—wvçëþÕåÝÆ×Îë/9D_çöù…¸¯À ?ØuœNÇO/@Çév^x»ƒ³ë¼Œ:—/ˆ#€Žóu¨õÛÀN´›$AéX2<×D”]1¥ß9O(3D9š%`g cš qbŒý#M !"É Ï"')³ ¦Dˆ†i³ ®UŠø¡5>‹@ÓlH€hEv.†aŽû}Ï;r]Çé‰ÉrL09#f%ÒW‹á’Ç«d+>>‹€b€Éìyç’gË ˆQaB™N1%ŒR)š+" @P‰ª“ÖDY©ê("«J>ƒI` +"²ÈkÂl­¯¯R€Íz»Y¯ËÍî!Mç×7÷«Õf»Û–»ªÚUU]ïx€—¥yë—Í¿ªäÚ  lªºÜ×MÃbvh`ß´ºÀUK ÀÀ¶°È¢u]•uSYe@‹.wån»Y=ÜÝ\Ïg“ëõn»Ý®6›Í Và_:mðßm;fç뫽óòo9è¼8‘í%Ü=¤N·Ûí¾8‡3Ðé¼*2t:Žã9Ç¯Ž‰Ó†ÔÛÃë¼8‘ί•¯bv¼Þ¿/^8€¯}ÈÁ5½vί"€ç‚M;N\¦íÞgŸð3tŸ#€CêÑi«¦]öC][|}®L~µøÒÊH)>üsæÔB4YFhè/(À >LÈ*oL&ÀDâ ¤<³° ¥(³ô #å3¢„ZFL2BÔ”exE-c0ÓˆÌ>HTÏÆ¿‹¢g`¶ ¾ƒp<žu®‰™ÂDŒcF,q®r3xa\ÊRʃq˜D˜"À´<¾–Oà\!E ¥D<êYì™ N!Q*âe„2™Nè`&̈€r;«@8¾¾v_áÖëõzµÛmv÷(ç×wëõz[n¶,ÍSÖ; î­ëý“Mð÷Oõ¾)ë¦nêªl›ý¾®÷eµß?=í÷/òý¦©÷<Ø´Háf_Y¶°j¿çP lÊ}U×u½¯ªºnê²,Ëj½Û¬W«ÛÛë4\ow»íf½Y¯wÛÝáã%L¥ïtùìvºN§kŸñn§ãœz|¥ó1êuO;üÐv»ÝÎÁ÷=‡{ +¿wùbç¾{ÔíòñækµÓép ýÔé¾XöPuºÝããã®×ív¸†Æ÷m÷•´YA—K”œst½®ëÚós¨§9N·Ó=»ï¹Óív®Óq:~…N‡_H·s|j|·Ûé:^×ö%Y÷ä8®{||4vºÝn×åOw»N·Ã5þÚn§Óé:®­±t»Ý~ÇÛ×Úv^øÛvÝc×íö»ÝîQ»¹gXЯS`©Ãþ%ç̨5)$Š,éKº2}´1®e[œ!F-úWe”)B¤tÂã3Vü‚¡ñ–ÚdÒ@²ñ¦xŽý'dV”&DaB†âÔms~$J¢œÙdŸ4)LÈowx·ryp]& ŸN8ˆJ(Â$ùk„  ÜîѱçõOYw9FŒ‘1˜ÿ ÔeÕ<5<ÇS·½¾Š,lÙ9!x²Óejž,HÝ4ÕÓA a=²ºªÊj³Ú­Www7—ót2ß–Ûíf³y…üòоì{ÇÇÇ®wäºÞ[ïëºîé±wì@¿ïŠÓã#÷øÈ=>>=>::r]÷øè¸?ŸzoŽ<ïèØ;õŽ]aµG®ë»®{äzžãv]×;>GôÇo„wì¹GÇž'NŽ\÷èøÈ;í{®îѱw|t|||úö¸ï»®{|tt|캮w|tt꺮çxî›ãN§Ûu=ïØó\ïèèèÈu¼þ1· +ŽŽŽûáéé[Ï=¶¯U0,èÈÂzŽÜ#÷è¿yÇÇGÇ=ïëº]ïèØsBïÔe‚pÏ=>õŽÝ£#÷È;>öúýþqßõŽŽŽŽ=ïø0fplaÆGÇî±ëy®ç9ŒY<ž¾ñ<ñ¶ìyÞñÑñ©8>>öŽŽŽŽOûÞÑ‘çºGÇGGÇÇ^ÿ­çZÐño:⌜²'”)e4!ÏA6Ü—h˜®—)´¤œÍ$HœH,hŽHR Ò >HšJ6ŽÊÅ´«–ÜÑ¢ð%ÎдU…Édò|£Fa†cÑ6ˆ›`FŠKD8Ô%àü{å·pŸ™œq¸ŸÂL@¾ŸÎ$@ÄØ¡«â(E¤L$åµ·ëz}qÚžÀ|T„¡çMß¾šO‹&Ó¨à¨ŸÉ f ¥œ´dàÄÆñ+°z½ÖëÍz½[¯7·³ÙÅüænµ^o·U¹ÛU<|Pýjé¹ X–å¾äA`KãÁÄ¥% +jžÇØo´âÁ-)@óT75sVÍ~Wq>PÕM]ÖeU•»rWî6w·77óËtbÖ›íz½^?l^â˜_LÍ¡·gäÔ¢Ï(¹Óo½S¿×!ú}o,Æ¡÷û§Þ©çõûýþ҆ɩp=¯ïy^_œžz4Âã?{ýgDñé‰çyÿ¥‡Ð÷à ŒCrÃ~ÿÔó¼þXŒÙ*D? Áó·rzzzÚýqßm±øý¾Çè\!ø/žç÷ÝÓ~ÿy6 ð¼Ó¾ñpÇžwzêõû§zÂv§½#ÏóNûÏ~Ð÷]—…Á„è O÷ûýÓþ©×âôô´ß÷Nû}†SOx|Lûýþ©§ÆáØ;zþv‚÷)N<Ïû/†ý~øú"öÆ¢êžöÇcÑ?å—ÝaŸ¶ã§§}è…ãp<Çãñø·×§4{€ed…ÈSÊ£Œ=Ãñ&,ÌÐà&‘á0—ˆEJ¡’)ÁPžñ”áAˆu7Ô~ +ŒÊˆã÷ ü¿$JÀ™œ=gÒQɦ1p €G+džr²ßQ"‘Έe +ŒÊ^î|&S@ŒíØÀû–¦KµââJi¥PÑH´à ß§ž1Ž!F =O}å"Œ0~ÿ>ŽgžD~{&ÄÊ­ñä¯ÿ©X­6ëMYî¶·³ÙüæúîáaµÙ1/ ˵ÊSíë†çxŸêÝ}Îèm(PÕMSïËf¿?Œ·8‚ºªXA iª¦Þ?5uU?+ƒ1 I]UUY•ån³Z¯îïno./&×ëÝn»Z¯î_…/¯è»FqŽ…=­Æa8¶PNñ­?y+ F/C& C!„‡Ó8‡Bˆ¾‡@!Ó/÷EŠq”„ãñXx§õ<áyß‚¦(<ßj‹O<”ÓÀÎE¼€¿ @¡R6J(A4¯™¾>ÿëÕj³Ýnv÷r~}s·Ú¬7۲ܖ»ª*Y§³i¸¾W7 Ôoe>ªê0%°?ðú4î­›¨÷MiË5ëÿp¬¿ß³Ã°äàmtQ•u¹««jW—»r½^?<ÜÝ\S:¹\¯·ëízýðRè>~±PÄSûBŒ¿³Cò0B ýÑO´’:ž†1L§vÂÄBˆ0Œs>@† b°cáÿÜ_ˆp >òß +2x¢B(C€8ާüÐÀ”` +!Ä1@Ü‹Ã0 CáÙ#cvOðö;À“·â㱈X¿5 ÃqŽÇ„ïc=˜†Ç0EChé±CÇÂè Äž—©0 §‚B€P„ÇÓððüLãB¤¶¦Ç"žB<…PŒY‘j +Œæƒ ¿'Ð\øq†±‡ÀsÁö¥ŽÃ¦ +Æ­µé”NÔá‡òòà<¨®µ¢ì U¨5%tŽHfR= $Ì0ºßòÃsnÉ$QH™¢ŒÉÍé`œ¬\“e Rç*E¤"XÅ/fs^ŒÓ̸ËÎ@Oc€¦ „çyGGß8Ž€¹@”‰&£‰0¡ÁÏíÎÁêÒ¯&uìá%¥2¢Œù• ØK¨ã®ëžžòH8(ŒãQx§Ðû‘V‡qE|ƒ@«%<Àï)ÁDeŠ2bNtzíî^¯ûõjµÞ¬w뇋‹ë›ÛÕjµ]¯7»²¬weÝT×ï-dz·È?¾Ä÷¶´ÏbÀUS×ûêªÚŽ@ÙL´ßۙ⪳uK'ÔÔuYUUYí¶»õúááîz>ŸMæ«Ýzó°Z­î_îý%Â4™¥6˜“" ,&Ffv$¤PÊ]i2„HŠ2ƒ˜`†SÄXá¯)CSÊsµð!'Š16…AB "D,’4êKúH†N®Íg_#%4eÍ%eˆ ¡&cxPŒT¬5!Þ›i#*cPDDC¾ð$ÄeÅ@@„JabPç "æ„ä"Šc½TEf‘iDmCN +±@DC½ï˜” +ˆ‰Ð¨D&šGT”*‰(G,¢Œ +Sž«¥WÊ$ˆ_¿VBñ–$ÊÉ×q¬—‘„)‹b¢eTBd4¢4„” ÖZá å¹És“çW¿Á xMdñ—…ÖËå9¦h +Jñïya ͯÿžž“çEQ†¤¤9™ûhV˜Â¦ Â<_ Q¦Æ˜/Ÿ?çD?-‹WÅ2 ¥æ‘ª¥¦å#¥iú± 4}, +£é£yü{™«ÖøI†èñLæ¯åoðø‘`–ò¼¢$Â"/@!!„ã8šÇùÏ ¢åOç˜"”¦Ë¢0DsóøwŠìÎ?B6.Ï +Süµ0…1æÑÄqÎ;Ïþ² b:¨eàyj Ówúpê}+€ÀhM¬šò]0QZ›%š”Ï&ÅuQ˜¿þõÚÌï¯HJD4˜Êô£É–_¾,‰–Ë⣹z<{üÊ<Ü߯֫Ín÷¦ó›»‡Íz³YovÕvWÕeYïš²´â]V$œYÛû~ߎûðeÿbñ°­ ÖMÍ ÿà`ÉBõÔ4U]Y2p®îv»jWîÊõz³Z­n¯¯ç³ ­·›ÕjµZ?¼Üü+¿ߟø#äF0j[Ÿ2Š"? +üÀù¾?D~D‘?ð}0èµëÄ÷ý^¯7ð£ÁHß÷ƒÁhù¾ï¢È÷ÛV* ‚HøÃÑhä|ßÞúƒQ0þÀ÷Gþ`ÐcV>?~ ˜9ÿz'=ÿ­ô¼/üß÷…/„ˆä` |ß÷ü“““““¿×ø¾rr2àýôN''ß |ÿÄ÷Gþhäü‘?ðG3õ"ß÷}_ß÷}áFž÷L Fv£Á ÷Ç–Íp4ŒþÀ÷#$Fþh4øüZG£(òýÑ(ˆDE0ð£‘?1"Ö÷ßú=ß÷|¯×;ñ'½^ïÄšû}À쉾ùþè™Ñ÷ïµÃÑÙ:ýàû(Š&gòAŒ˜°ó, +¤ôGþ`0 üè‘?ðýa }߇A4úƒ ðýÁ`8dÊÏ/§ïûÁ ðý– +4Š¢èlrö.ð£`èûà 8‹‚‰ŽüÁÀüh ¾ï³ñwÃQðýß [Gß÷½ÞI¯Ç‹Žã8oþ(‚шOÎÎÞ£(úCDÑðLŽì΃A4ôý¡? †L*DÚü z¦+ ‚À÷ƒà÷ÑpD=Çqœ7®Ûëx¾å›ôý“7n¯çù'-q£}¦ø5?ˆþ ü§_ÿ©¸»»_­VëÍöþbF×·÷«Íz»Ù•eUV»]Å·r]6 ׳ƒ¾Muhê©KËÿÉ¿<5–ø§±ÅA¾ýK;Ô쫺n*Ë5øÔØôŸq@Õ®©ÊºÜÔe¹ÛnW›õêîþæòb6™¯V›õúaõ°ºQ|=a§¦È~@D9ÅrÜ šc¢¥’€¤XÁ%A€Y±"!Ä·L@!!FÍü]}!šZ¶2 +•ÒK`Ö +ø€JÑ1N°%Õ"ÀRJ@5(@2›j€äQ†BØFsI˜\`‚8`Ý7)Çœ˜D‘ï>ÀG1æ+&BDøPAº-Œ% + Žã I%€€cŠÌã8j«Û‡vÚùA¾Ds(l&_ˆ€EÆ‘(A¥ô""æ¾a¸YÜcRØbAÛ—ÃÃÆâXå¯Ù9~kÀ$d>¹ÎÉ`‘2‹C)Qaþ7¡$<7HE@Æ}4çÏÓ i-h†ç‘L^A4DˆdRB’Qd~*LvE&1…!óxvNte/ÌÏ%¥©IÈœ¥Æ‘¡ç¬°i†K”¶†‡¤5*€@x,ÐuÉ, +2Š +Cz¤DÆ0ha3”tŽF)-Ñ00Ø0Їî†Ë4e°"’)ìÎçÉ !¥þ—s2ŸÔo'q8Í'à‰ÔT`9“óÎ 1#Ù"!?) +Òü¶H}…ô5cûÍëuÿp·Z=¬V›Ûٿ̯oïÖëõv³Ý•»ÝŽ!¹œª—Vµ»nöûýaä·nšŠÙ>›V¸©kæ 9…ÖO\2¬ªf¿ß×U]?=ÕÕ¾²DeÍCv%µ¯v»m¹Ù¬×·7׳Éåýz½zXß?¼<ÿúÅB@E¤Z2:DTŠõTÙM,m9É‚=lÆÀwÑx ¨P)M€j’kâIÑvžSåÑR'V i€CŒø¦É–$ñb‚J)ESqå* ÇBÀãU!bÅ”{"¤•ƒ #ì"i%i 3¥5±(©VÈ¥Ši¬B–%¶[™FæÃÔnbÆ·µHWøVTk€ýM¼–áŒóHëÃKÀÞxÀì;!„#!!`d§J*S*»Bxf¡üq``1@¥•JsRôe á1–)Ę“´ÓìE`Ú*Á >HÄó" ˆ&Ñ ûI›ZKVå\O«$A4¤ô§ïñƒJf€¹ÃÑL¾2NÅ@DQ$ÆS` °çýÎu»î±#úÇ´DŠrŸ8% `Ž g1F’† N%âl(éËð"ˆ&˜êvç1JÄÂ_D„#÷èøØóDøÂVVDßõD,„€ïX‚”ârȘâÅr@Ö8¾GMÏo QÎ_­¯äÁïoî׫õê~{—Îæóë»ûÕz³Þl7eYU»ª®wM]Uu]UO6Ÿ?ˆù¶dÿûvV¸í<5õÓ¾©˜€ˆºjªªª÷û¦®ê}óT7û²®[pn¶Z$eµ.˪,ËÍf»¾¿¿»¹¼˜EóÕz½º¿¸½}¼¼r +‘ô¿iÄ)0R‚1¢ÊL¢ª1T8OÚbÌ4Ë—~ˆcŒ•R?(Dij…•äÆÀ*ÎÊ…"…?XåàŸÄ-*x¿? ¾&èH-•Šã)šèß5"ŒÅx ÇS€)ŠÑÔ@LøVýS$ÂÐFád2™€ñùN~P™R?²bG®ùß"LÃqH…"Çq ( œ2‚¾¥!m¥hЂEþÌ•8Ÿs•jUjŠJéQn§ØB˜š^Ât +ÓPˆq(„“ï¾#%˧RÖöÙÛ ýÕš´•1£’„ðJgš!tÈWÃŒ?qÌj©ï%ZÞ/"B4™D0RšKéüƒ–ïo"óÒxbtf"cÁ8¤8¨$ÇzBV„pÆ…2>!ˆ( QÅqÌbK§à9ÂŽãDEJk}å“ÕZÅÙ éCû3BüÒQ‘’‚Éd2äf"©D!J@|b‚¢ëxî‘×á”À,¯Â;ò<Áϼ‡ȪGÛ©µ I†I¾2ÃoƒýÊÜ­V÷«û»ÙÅÅåíýÃÃj½æëWÕ» ©ëªä€¦~Ú[-Ï=—÷k®ßÙ±‹Ø×Ö]Ô6ì™ü¯®ËºÚÛÆ¡d>N PUåv³Þ¬Öw××ótrq¿¾_ÝÞ>ÜÝÜ>¯Wà_ÂBçZ%ქâUHdÔŸ•RJåÇfˆÒø@„!D‚Å­¦ˆ?$¨”ÖÚ ÊŸóLYá(æªV:ZÒ +*£®H=,«ŒñÙçLy¦(a¼i=Eñ­¨³8†8F‰Â¦€9b'‚á' ¦S°èO!"ã#ƈJ)¥´ÖZ+$k…/:CÓi‚W±Â16˜!jË Æ8Fë "ÀV:^g™þË_®®PM~ɳà¢Ò£¥"…J)ƒ±ØÆIq !‹×M Špd,­oΘ6@Çüjeüƒ™!eJi ÚFÀ ߣÄøhê€AÎäìkð„“É"ÄÞ/tž)¥œ"š kùu I+¥µþ±•àbù/…ˆŠ&¬Á̲½3THCƒ|B WJǡ蟲è;}xaœPk3BDKKŠ8û0C…ø>Ê$! D)ßãT4Ã&!ÆEžgÜNd ú‚IÏÀuœc×ë‹q ±…0ÇÇžwàæÆJ‰ÓXΓÂ&B…yq¥ÙÄ¿án_¯››Ûûû‡Õju{‘Î/¯ïîVëÕn]–eUÕ,îmU<š¦dÆ.f¥ïºÞ[˜ú0áGS×uie[žàº~jªæi_ÖuU5ÕÞ~’µA+¯ªº®kF!—»ízsÿðp{sy‰“ùjõpw{}wýróú«µÌsK%÷áyXƒZªÉüG•“•Lx*F°ú¶!¾‹¸ºÄ±R¤3­µüü¯Ù3™-r° B¥ÔŸóœ´./d¹¹¯Ä©úËD1 +c¥´&E¾JTÜF0EÔB!BDZR±BüD(Æ1Æ ¦C8QÅ äŒ4Ýæ:Sˆ¬öLj +„€ +Už+¥UD€(f1(Äl'}”*¾²ßdZkø_ùJ«Låþ‚˜°Ok…˜ \ÂxÀt{þ»»šÓWQ ôPŠ”Ò¤…-Ÿ€œqc~ÓDQ@3bïý‡Ô q&#!RBZh¥Œ¡Px´L‚ðž(SJ“ùžq:˜X《&„fò ‡ˆ…o¸¡ F>  F…8õæû®Ð–ä/ªêfÏ`€–ÀÊ[ +¢Šq@»ÝnµZ?<ÜóTÎïîoooo._2«—‹èÇ/¹Ñ/^0@‹Q +Užg¹¦ óÈJŒQņs—GÀøßþ@™"M$?k­Å|Q ª$ ´Â$!TyN¹Î{(1ž! ’Šcâû{òbtJ ±RJá<• N Æ)ÄqæÿÀA¼RJ)&BüiÌB0B á´-¯ñÁU ýga‚€8‰ˆ§†c¬ò+¥T‚‰îßÛÆÄ`{YbÂà»6:ùüN£ðœMé¡Q &«ü/êGEˆˆ6¡ˆ§,WšŒ  ÌÑôã­DàüW„@`g’QiEú/ÿªóÁ¸-žÈVþ âÁ O¹IDÄeÐrkIˆ&0‰”Éõ6‘'4Q®e‚ø>њȟ-‘'‰'Òï™FM4±ÏÈœ¡B|ô X•eÖ’Š)ŽC!úÞ±ëºc'lC<ÔêÏ:ÿ‹^Ü}mA„ï ’¢Izèú· æÆªAD“É$¢O”[ŠP@\úW„âÈé¸ý~_Äñ{ô ƒâ{îï±R _Ô=0QhKÌí4™L`‚FåŠË7³ÿ-øÝÍÃÍÝÝju;›ÑåÍíÝjµÞlwÛ]¹ÛUuU—uUWeS5ei[ö|ÄyÚ§®ª¦©øØ7UÕ†ø-xßTuýÔTOUÃK º««ºzª8P(˪nšºªªºa·SU»r»^oÖ«ÕÃíå%Íàâ~uwsýŠüÕõ¿ÈÿN´X|Îii¨ÐT$3Çü1_Ò"ÌÍbI‰d¨(rc4Z„1*`ˆŒ1K]è\›Årñó$_,¾|ÒK2ÆMTQ‘/ŠÂŸ¦X|NˆÆÐ²(®Œ!MT<³ÏEôÓ/ŸòÆRZ“^¢YúWùóƒ…ÂBá9"QTäšP«…V¹Æ(BÀœ4 ‹SaÌ‘rËÜ,‰–I®&]˜G¤|ñùJJ2¤ Ô‚4ùgMùBöµ¹1ÊЕùlÈ É—˜þ¼, +c–¦( +m‹å—Iþï‹¿çú‘Œ1¹¦sCY-óE~¥Íç…Îõ'¥ˆ C +ˆ.òO ÒÒL>É Ê +cLn2ý÷bñ©àõ5i(±\ÝÌÎG? Lb52`Ä¢<Óvx䌹îÐŒì#rÂÏ:)LÚŸä<º¢cBD•+­IÓã™QœQÀdsÆ1”“±Ss0“ˆ â ˆ1&h!V#?ö…`e× …€£ÊiÒT:Qˆ³ÀÀ ÐÐâÏÖðÎp9°iÎ`2™D¨P¡²€†E¦Æ®ãõOÇa‡j¤ †„ëº µ„µRpW±Æ kœP‚M52> +P©—Ê@_k^ß·7w«‡ÛÙÅüúöfu¿Zo¶›]¹Û”eY–\—/«ºªËªáûÜ’|¶ÌÞ5ƒ|›}]1°i꺩ªÆÒ´àž¦®˜f˜Ñ?e½«-ßPÕ”õ®ª[ìñnWnËív»Y¯V÷w——é$]>ÜßÜÝÜ\¿ÒŒ¾ž?ξ?ÊÉd2üa0ôm3ô,šL¤‡<‹¢(8´Z”ÜNF''ôýÈü(Š&0ÍÒYE0‘“høÃö_Dï¢(šÈb0áŽkQô½efšDADÑ;)¥<‹¢(£høÞ Eb䟜øÏòQ0„í³"ߌÞ/éƒÑhäû¾ Î&Ò²[M¢ Š¢³AM¢`´†ÃßóG£häùAÄö;j˜ °d—PVLXîv»Õúaµº»»¼œIº}¸½¹¹¹6ó—º@™Ö‡ÊÌóܶ< h(S”f‹\J(7!Ñ<"$JÓ¶¿MpŠ„HFkRIBDš +ó¨ufÅ¥ÒG"úëYQ˜L£¡B/ð22M‘0EKb•™eFD|Étf z¦ñG±$ÇãH”ŸB@"£"ʹ.‰¦‡|°s¯9ý&L£vvD1]§ZkE€ˆ€#4€r½@nèGŒ$;·U:kB"*´1¹1Úhm2m¨˜ÉŸ…´˜O§ˆŠ\¡¡¿QH&ú"€xŽJüZ—Zkc,£¯)¨h×o9þ)R¤´B"m…=€VßN"Å 9DÄ9;€l¤>9|TH|±RDDØÖ6”"ÊÌ`‰ÄÂl`7ÁÆÕÙ#¾¶N‹u+VòÍ÷„ !¼c×qºNÆyû¹o8#±ÆfÖ¸|ü:òØ^©Í_`6,TÂPNyîRxÔq½Ó~Æx‚6×úÖu½Ó>B@¬â±øjç-€jäã¯7"^/˜¥óËô‚.ooîîV«Õj½ÙmÊr[V»]U—MY–uY7U½;ÌìÖM]×eÍ<^UÝìK¾à÷çòµ­”,&X5<^\WU]•MÍÔŸûÚª–UÍ9DU—ÌF´+·»Ízópw{}9OgóË‹4ʼnœŒ^¬×l³‰9ÓZ)Õ¾dR„(sM¹^hýïÜÒSH@ÙD¬T›|NcL¸0ÃÒŽúÇ?+¥?XÕ9EˆEd”^š+­ u™D|1éþM +U,RÜ牕Bà+5¡ÏÍœïâ ªXåZÅ?êþöTÈ·¢Šc€˜õèy„1‹”z~Çà“R3¥y2ˆÑ +ìI€`A÷->±¢8*SÒ¤±ðœDEˆfdÔ £µÎó bÄ8…ï„'”íù "EJsþs ÐYA…¹*t^EA™Î úÆ,)ŠÇår¹$D4Ñã’¨0† bb_D”Q±DÒW i^\D)±ÐŒÆ™ÏZã¦( +C¤³¿R@fyeŠüqy»|dã}^âçüµñYd–ˆ¤ "‰!D(„çºG`A¦ÐºÈ‹<Ë å Yæ¦È‹å’P¢1† }1†–EΣˆ3š%!™|NHTÍ0•X°êúlž† +cÔñÑiŽE + B“1K@ „@Rh L‹/ÆÐÕ¢@$CSLϨ $c !ß2ÍBZhÒ†ÒÙW!ÿ›×Ëyóæí·ç ¥Ë›Û뇇՚¡»ªªv»j[ÚƒÞ”UÓ4MYÖu+b'|ʶ4ÐTüɲfÙ¯ª®*; \ÚêU6eÉ߯Øp]UUYVeUíªr·Ýî6ëÍúááîööö2M¥ðNÞ¾u¿"œúêrÉ'úŠÚ¼ )#TòJëû›ÖyÞ>ûµµ€ÓX©B(!„ÛIí$AnöPKßNDê:2ôã¿åZk“Âsþô92)‘”"­0F\œÆq¬Æ0hÇŒ:@æzˆÍTÅ ©X+¥¦ãq!ô¦ì4Lãic†€>Æ\ÓQì£p)”>ÔâÇbª0_¡ÊµR:Ó +ßCÌú±ÖÌH×HS""T‰R:£Œ!’ÖYB¶Ý‰D„f¤)˯þÌ(«?"mcÒ€ ÆêG…Œ’HÚ0åÙüz`8<üvøÃ¡?‚|Ë‚åÁ_Q }?‡ƒÁp0 †¿†6EÁ`0x÷ûg˃àÝׯ}ÿ]à¬Ìû`0 ƒ?þ0YãÁpØÊªïþ0ò­Žû ÷¶×{;èõz=×bßø/Œû~0^ÇXdÞùÐüáp0ƒÁ`ðn`SÉa ƒÁ`0ø}d®áp¼{AÐcåõ·oßöz½Þ 78 ƒ·oÞ¼ù¯oÞöÞ2Wp0 ‚¡ ‡C茇l90üþ{ÔÿGÚí/)âN„¤ËëëÛ»Õêa½Z¯V&å*Kž®84gÁຬ™(¤ªš¦¶ýÂÊ~Q{§7 ‡Œ÷á.]×|Ë7鱪lš²äœ¢ÜUeY—å®ÚívëÕj½~¸¿»»»¹¼¸˜0ÓqÇù¦ýp^5”2­ºLLÐH³œtžë\g­”™ÐmŒ¯Ã0 ÷ß% b¬{Ï’~~˜)ËH‘ùQÿkÎÒI’ ⌟ü]UŒ€ü„ˆSà.žÄìB nÛMcƒ¨TòƒÂ8þaòÜ0´@ˆ0 c¡Aùñ Žmµi¤"‰`Æ*†x¤b¥þY)¥,RQ>£¶Q רMAVOϘOÆEa–Ædýÿ¢Â,–…1ÅrQ俘¿ÒŠOËÅ2_.)5æËò‘É ]HmÈc Q^˜¥6dSS˜`^|láBzaL‘ßšÏÆh“,£‚Š…ÉÈW† Ó×ÖCÏ9r¡Xdd® +S¤ÆóWc>Rb +³4…1 ¥¦¸ +΋É|2¦¸ZšGc>\žú´ÈΗ‹ÅÕO™-‹å§e±\S,FO½c¯ßg$"BJTƒÂë ¨|Ð4…ˆ€† +cŠü§«GóãG“.fDEQèf±XæË‚Šáùc¾,ÅbyõUÖoy¨ÚÇùÆq\O@z977÷÷ëÕýjµ^¯w»Ý®,˺lJžÎ«Ë’ÙúªºiveÝ”uÝB-›G+ì]—œ*T•% ¨jüªøî/«]YÖì,8úçÞ_YÕÖël6ëÍz½Z­înoæót6yî+¢Íß’ˆˆT#"@E”)-užk…ʸb²œX!EðœDa̰1´Q%¨ˆB$LŒ<Ÿôßþ¬5=k×ÍÒgÍk©Æ1¢­_ñ©ýá‡c˜b[´?Lãx*A)ÇÓ÷!L­qB1œ„qã1Z|Ä1cŽFˆ˜@Œ0Åý úJiÆ1¨øÒ7Ð""@&R‘Z]L´ýS¢”zPiûZ-òœ´Î”R1˜Â‡è»1ëV)ÎPghZéN•R¤^ü@~[”2E¤ð™¡/!De'€K‰ˆøÃ.ÈŽó£R&xLÈJ‡Q¶4Xøüš´i+Rmœg]šÒ ™ìÓ¬Ç:0‡(T&X¢Ê¬ÿBM"ëñœµè{§ÝŽãñf&/¤ËQ)jAhleÑʆêVò‡ ”Ì‚®³,Ïp9H3M”é,ËÙ”VáQ×u]– +ÄLjếó<1q™ÜÏÆ1A:3LNB¤3­ é&õî}û;N×=ñ'3šÏ¯oîîïÖÛÝn·+×»rW–UU•»¦ªvuU–õ®*ëªÚ–U[(˺.K[ à ¾Þ³âßçUÅ=’Û|•ÿ)ëzWÚV@ëveU•»Óÿm¶ë‡ÕêþîîúòbžÊh䟸î7Î7N·ýxå”"17 ë6%J‘2’4i•eºÅG£‰l¡ & „͸D@ SDL”B•… +H%JÚÚOk¢,£¬ Îe;QÞRK€D +–((ú¦ƒ Âi_Äñ4†B€„PqNã)„–n{Èd%vW,ìkA!ÜkާöUÄq"bLã}Äã0V Æ!ðkg¯7gÀ­V7S`¡ % ×H‘¯ÔJý¨ø +ŒþB( }q L€ 懣¦P½œ>q’_-D$•`‚¶s˜œ“ H|lé5™Õ’(!;Z¯è,Ce´Îˆ”Êr’…o~$ëw 5 +D²]wÛAd@@óμ€vY Qd:2DCD‰Â$Q± ÂxÜï÷=ïø´ëxH +Q!þ>â“–• f&xY!®À¦Lÿ‘Jr>¥*#Å`©‰Q*d R㣎붪ւ¹$& \÷Èóø/…ЉR+}ˆH4!ÂO­ 3¸"K D_i¶ü±-Çt÷­{â@¦óùåÍííÝýzµzXm·e¹)weÉ·uYVUS×uÛ,Ëü¹²®,f â‘¡ºdT@Y–uU•UÕTwÊzǧ¿lʺ¬«]]×u¹«w宪ve¹ÞívëÝf·Ûîv›õêáöþîúúržÎ&1ò<«¸g#—)@Nd"†…“nG":ãÒù ˆúR"N`B€ ¸¹ì íÝŒ¤4‰"„+RJa‚¨2m‚œ³ R¶™Ìl<9³í ¶æ-B7‚1 B8õÂ8Ž!ãpO!Š-ï¤åàÐK˜à‡)yBKÒƒ!¢¨EƒÆ„ˆ"æò ÆS!Æ!Ä1ú¿ß‡íü ™ ¾èµ8Ù"îZnJ4IBë—¯ÕÏÙü`‡#°|%ž`ÿůuø‘)mQ%? –ñS)¥~KŒZÒ?ÍŸÛÙŠ,M§”Üֶ蜗ô¶DÊœe¤3¥ˆôÏh‚¶êðƒe±Æ'-Ho†¨p{L"¦ï¬qÖöÄÆó€Ð0Sªø‡°a(ú}ïØ;v»Î)Úú†’/ŒÉÙÉ@Ã4 Ä÷,\H6 E$Õî\QF¬}üsßRê¥P%–Âg|Ôí¸½–›iSŒ'Â>g`±l3/%¤’L’"bã´D + )R*AzHÇùÆqºÝo¾qX@¶ãžx>Ìf——777w÷«Õf½Û­·%kíÊ]Uïêgø|Âùüsp¿Û5VÈcWVuY–; TUUÕ»º®«²¬vUÕ†MÉÒeÓ”Uµ+ÙK0ú¯,ËÍv½Ýnw›Ýj½ZÝßßÝÝÎ///dF'=×qœ.û€o爈&‰Rˆ¹Ê2RŠ0!B™+K¿dC±¤ˆˆÇÃÚÅÔ<©žˆ¢HŒQiCJ!-•"$­tFI’$ŠÐDF±5f‡%<Ÿ"€ Ç-%ƒdES­„„c)‚ÂP@‡ÃÂч·6f5³CÁÅ@ˆH_ˆ8F Æ(bDŠcŒa !Ä |WN…M‚1³Îâ H1EC cy®üOkDšY€ÑD‚D”ܶaÅ[‰(M`Pqlœ"+uH:ÓdÎ )~ʵ֤óÿÏ`$¥‰ˆ~HЀ5>;x’™”3”sŸ5‰•!T”ð%­3M& {[X'ö¹—!ú§Þ±ë8žÒÌc¨‘r&åžô$Ú°žI§ÔÁø2"B"ý£ÖZëLçÿ!MöB15É(#pÎ1ë= ã±çzß~+ÀÂ~Íáí¹BTZkZJ$$Òö}Ñúó„2²å˜¯ÞÇq޲棭°Hçsº¼¾¹¾½]Ý߯VÛ5§â»]¹+«²j«Û²ªêŠƒªÜíʺªÚ+W—uUV»²®ù3;®éí8(«ª*7eU—eÅ”£ìVÊŠÿ ¯7›ín·ÛmÖëõÃýêáööæúz>¿˜I1žëZ×ÕýÆq¾yÝdòƒïAàƒ`Œ‚ úAECæC ‚!cögÜ·üq0èõz¾ïz=—y_Þ|ÿ¤ç¢ üÀF#ÿ€Œó‡£ ŠÞù¾?ô‡þÐöz|?˜Cf8ôý(j»TÜr +ü“ÞÉÉÈôÞöÞôzî›7®Ûëõz½·½Þɉ?èõÞ¾íõz.ÿrÒs{ÿõûöíÛ·nïmïmÏ;±„EƒÿÚ{û¶7œôzÜ£¿÷ý“Á`0œœpËè¤÷¦×{ëöÞöz–Óf0ˆì¯ƒàïû‘eÏñ‡C»;?ˆ&QŒ?Ú×êC~ëÃÁ`8ôexr2´ô8oÞ¸½““‘2ðýQàÏÖ"ßyXŽ1×_}||Ô† QJ…,H‚LÓTJ ©¹@”¤æ~DiÊÊa8/ +v¾¸\ÂôLrJkÌ‘)ÿ[RaˆÈ3ÿhæÚd&£ôüêbi$ÈÓÙÁøèãcú.ÂÖ8…1çóƒñ!GæOÓzéÃÿŸ³·ëmI·…e !l{LkLߌn/Фu×l”Gl–̸N÷ýÀ`­–Í8þà¸~½ÁœÞçˆh—õeQ†1æ>> åÆ ߟ0°Qã›F£a¼n+°ì.‘Ât™gû§ÝîÓþ“éòÙ2вß|Úív›Ýn·ÝowŸvÛ]¹+ËrSnÖër½\,ÅlF4 TÀ\×¶Lù¯Ùh6›ÍoN&*ŒbüÉC‚QFˆˆói6fY’ç4Jý<×I¦“ìé<ÏS$ç¯2”!ò^•k³] $Ìdˆ€K‰ä“‘çÓìé)'ç” õž´Î1ûQND9¥°"=E$Ñã#"Fk’]B€;nߨ6³lÎ æB.µŒ¡Ç8\pÞcîBÙçÀùn5ë{ÇùŒqþÃ÷ã0á¡™!…¹ øZçw½>B 䌇€Â58ʉ²<§4÷>åæíkü8S%hžåùUŽ&†>Τ‘Ùë*'ÌrÊ}É9‚Æ>‡ÞãìŽåˆtI`Š rÊi>÷V„f"Pk­±}vB)ˆÄCÀ…‚ „ñµ4GàûÊD‚G<¥"AŽ¯Äƒx R˜"‚HoU$Ä!ÌAâ!0æA$„JFÏÆ„ |ïAÝ + ! ªèˆ?Ì9D\¼?¸þ¿º¶ÝºnY–Õ°@$‚@¿ü®k¦:˜mYv·Ë…J‡Ãñx2.–ëõr½X–›²\oÖån·Ûíö»]iJƒU> Üï÷»]¹û´ßï¶Ûr¿ÿ´Ûïv»ÍÖÜö»íÞ¨{Úïw»Í§OûOûO»­Aív·-w»ív»ÿ´Ùì>}Úí·»Òûr[n7Ó´\E1Óp0ˆ"ßíÚVãðc‰éø3@@«¬x+ HŒÑ3‰Ä5"@Œç¡–‰”Ðïï›y@µ»šD@x4jb±ŒA¢ÖÚè-GU¥Ä$ã÷"’QWY¨è0‘ì¿«$ÈBÎÝ<ìsÆïñ^¯ö{ŒÝ±6;g¶Ýn·k³»»i3fó^³;ÆÚmÖ¾aßW ºœ÷X….pèó»! Cù§êîCúýÐX`k$’\@©Q£”qüœ`ƒxBqm°ˆÕ^¥”qŒZkã Áïza 2ifÑçRdÖU5ïÀ—<ü€°Bi8(…ƒ±)Bî#’—# Q'’¨³,A@‡ªŠÆÛƒ2CïÔèä°x\wýKDŒQ‚©›kDíBÄûÞJYÙö„œñ 0)@ËjؼÚçó@úÅâ©KRbc ¨QkL4’ iDücS¿×þ‹F@—^›ŠjEß:³,Ûn·ïg¾ÏLM†ÛvûÎÔ\°E %‚” 5j:A­Òj„2Fï¤ÔÙ_4ùÕey‘|!ÓÎìf£e»A0H†ÌÖËÊ3h]nÊÝv»ßl>m7Ûr·Ým˪O·Û˜˜ÝP}ó©Ýf¿Ùí·»ýf·ß™ýîÓv¿Ùìö›}¹¯š‹v»r»ÛîvŸv›Ýf»59¿rWn·»Í¶ÜìÖ›r]®ëu1)ŠÙl<¢(躶ÕlXA%ÀT“#'‚ 3@ÿ Ún¦z4J­Q>zUî7A­©ŒÃC‡uI›‡Õ0:ç cÔ@ïå[K³R‚(¨ÒÔѨµ‰(€ƒ-ë·Hà¢Y¼‡÷Ì^–ôz=Þã½»6cívûܘµÙëñð†ÝõZ`·ÛŒõzmÖn·í?Ü0ÖfŒÝ¡{×»3sÿ<M7S­ r€À‡`ô9$¢ ¤Ô:ÑhSÒ$ûbÓ³¬5Pn.€XJL´Ö(5¢ rn®„ %q¡i˜9aŒ]:yÃ5¾rÿˆ þ*Ïæ(A‚”ÆÔóµ@&¤™UEîå•VHsSkD ¦h ŽªïP 4 D‚ûD¹ŽAʸ€ ÆAæUæ,„1ÎÍÆ@‚ yC‹Ù¶m_ZÍfã†G‡ÅcDˆ8@gZV>_æKè¡4IbS­h ãvÔˆMrN Gg.X³a]ZvåæÒeRË0~c·Ù]ïŽó8Ð)âØ,®µÎ¢ŒëÒà;‰Rçú Ž.Ëá‚ ðýƒQK·e²\(¤áx2+fÅzQ,Ëõz¹\—ûín½Þl÷›ÍvWn7ûr¿/wûÍfcˆþ~·Ûn·»ý~_n¶›r³Ûlö»ýv³ßîËíÖÁ§ýn»ÙîM^o»ß*±Ùî÷»é8ÜìvÛín³Ûì¶eY–›Íf½¬ÀgfHøÝk«ÑhX"BD"â8 $ʽüƒÆ"`LÙTkÊiše£„€”MçO™F"r¸ñàì†ùµ¦_å™òùHˆ'BÊ 1ÇìÃ=2š÷”¦ Žòìé)GÌ €p„4Íò,϶€Ö18U[çwÌbÀ˜ßé‡2ä½°'{ü®ok®v‡rÆ8´€±>ë…=Þë› ‚^¿×»ëUuws ûœñ;Þ {½^Èúœ÷G®Éè,Ÿ>eˆ¤©Cšò,;œ!¢0Ù£å?‘ˆž)#ÄfÓ©¦<£QF(9g¬q(µì1Î]8‚žê,Ë3|^Ž\¤“2àç@F_„Ñø@à\p¡*»ÝãR¡Mãr ’HkµGˆ`Êà¦ãÐøp<€PP…䦈&")ÁÔÃë{€üâjq3™$$D<¡ %cì‡Ö]% vÖ°ï#3…™ùä8)AÆxƒs¯îŒ†Jm)A-0‘UªD)¥Æ R'>×X³Ñ°,Û®jÂ.„a’Wîtœs¸Ö• HýçŠ)H¤±5ÊŒ#œ€òo'Çˤ k6¬–ë j8L'³IQÅr½.—‹r³^ïÖër³Ýî6»ýf[nvÛrmØúf³Ûìö»¡þå¾Ü–›Í~·Ûnw[4l·»Ýf»ßnvåf·Ùmw›ÝnWnÊr³5·ÿ®,·›ívWîvëÍ®,×ûݦ\o6åz½^ëŲ³ñpˆˆ|æZV£aŸÌ6Ï8t|×qÌX‰×qM2ÞñnÅÃCÇõ:ŽëÝ:Žãy¾U︮Ûq:®ã¶Î/,˺8¿8¿8oµZ-ǹv:ŽãùŽãܺ·Çõª Ïñ<ñð`B§ÛŽã8¾ïÝzŽÛq;®ãtϫ̼Žã¹·žç8Žë´..ÎÏÏ/ÎÏ/Ìø•IÔ_´Z-Û¾>?¿0ƒ&ÆùÅÅєֿœ_´oüËŹuq~qq~qñ¯VËmµZNë»o[×Nånpqq~}ݺ¨K­ïÌÌŠãºnÇq:·žçùƳÀu;Ž‘‘÷\Çñ§ã;Žã¸··Ž{4Kã ¸ÏsÝ[ÇiµÜëÖEëââ¢Õº8¿¸¸p\çâÚ¹6ÊõÞmÇëTS(Žs{ w¿Ì@m’#ç Äáù 1ô@>!G#­1AùózÒ(–2–ˆRƒÊ¡Ãs”ƒ *Á,@ÎEt´¸axt°ÐÔ#­5¢‰ùsC‡ñ5’=Æx oŒ ÈY㊠8]\E¼>#Y/žwè@FtfÏ¢ß>3U)5pŽÎüôÍÎÍ3˶³mÆ}×(ßٶݶëõ8]ãsÿVµ8©÷xÜö,àM?ågàÅpàP\^X×¶)1¦H“ñ¬(–KS +Ø®ËeY®·›ív»[ï6åvW–e¹Þo¶ÛÝn·Ùm7e¹Ýîv›ýv¿Ým÷›¡;ìwåf³Ù”»íf³Û•å®,wåf³ÙmKãõ»Û–åf»Û–›r·Ûmw›íz³Y—åº\¯gËÅl6™Ì†©Š„|ßnY –+ç6rGLI‰F:Ñ”æ¯2ÊIiàj¬æôhÒ83áj~gÄ|[¦×Þ4ƒ¢øŸ +ÉË 0A$ʈߣ˜fHHµN"èåy)¢Q¼»å„f”. +5Jä}-Ægœ³›»:ŸÃ¸û=ïÙvûÆØ_\Z—Ђ^Û6Öž6·¬öül´lvÃÚ7Œ÷÷¡ÅûF»Pbö9ï·$y¯Ïûç> šSlöú^Í…Ÿëª…ÜÃ܈Ö爘š½Žð="%#B"ÏÍ^rœqcΡgæÍ__0#$|mÚ#(GÄ™w˜;“^MsT>|œ>8ŠHx8êÔì‹“w‰:ך´ÖSb1D AÊX"DÂ:ìz]-.8r£þö¼xÄ Õ}¾t6Ò¤ K¯ãûB? 9Æî.X͆}0ã÷D\~4ýXÍ[¹G‹S¦G:ÑT-7B@(%EUpXágFÃjU€¾‘(‚ž]uóZد»2/Z£ª&ÝëÅcIP-ÂË`xzL"Û²l7ˆD¥8ŽÇãÙ¬X‹eYnÖeY–ëͦÜl¶ËM¹Ùl¶kóß”Ûív³Ýl7›r»)ËÝnSn6»rW–›í¶ÜmÊͺÜnvånW®7›Íz»-7e¹ß”›Ýn³-7å¶,׻Ͷܖ›²\oËmYnËåz½.Ër],ËÅd1›Œ'Ã4UÂ÷ƒÀï^Û]u¢ xªt‚ |"Baº"À#º“®.²rдàü»×ü ‹ÐÆX¯ÇÃbt(м)iˆ˜$àG£;ÿVÖOŠûØóIFðZ'8p@ä@BÈCÞc¼Å¾ÿÞ5ù?ÖëÝõzÌxš[WWV³Ùhž5Ͼ±¬^ËîÙWöå¥}eÛÖïlӬѴ cà}eßÜ0Öf®ÏX bÉ9g!@ö9ã-Æù]5ÓÄCpPˆá(ˆ€sà¨Ñ{¬Øa (pÍ^9"j-Ðìµ~o Þë»®äìÆîû} Fw"xæš2Få=7} 7m¿æfWRÊJôô«’ˆ!€\g±ü¨µÖöëÁ o«„¡¤ºqðm=”ÁîsQåa…ià=I…yˆ¦•‡t.åßµÖz$ª²DXo‹÷8ãa‹ÝØöõŒ ×óâä±ÿŸ‹¨›pSÊŸµÖzáÑ™ƒéŠ%9/žÎ¬Ù¨bÆîî-×Þ•m·¿g½;Îùµ¡åVôg­I™¦Ÿjñ¸^ÜýræÔ$G×ç–Ýõ…àpÇãqQÌ–Ëõ²\/‹r¹^¯—e¹.7ËM¹Û­×ër»Ýl·›mY®Ër³Þ¬7eY–ëêv^¯—›²4¥Ä²ÜnËM¹.×ë²Üo×e¹^¯×›õf»Y¯·åb³Ù”ÛͦºõËõbmf×År1+fÅl<¦tëú~`·üôd²trb™ "HUšNhRL‹¢X.—ëåz]®×KÓ\–›Ýº\—&M¿Ù¬×e¹-7å¦\o–定à]/˲¨åe¹©ID¹^¯Ëõ²,Ër³^—Õ*ëÍ¢.:,ÖEQ,–‹ÅzQŸ˜Ì&ÃáSn—ù]ÛòÓSúrò¾< ¬,BÌL(ús“t~Î Då!<"à·"`Õˆ{¿nX×@_pŽNy‰™ú­¦@aõP‹UÕŒ‚\"oAÝ"ç>¿‡ÐˆHCÀx† ×e¬ö9»»ã=“tm˲¬FÓ@@£Ù´¬óK»aÙ-ûêæ¢eYÍæY³Ù´š–Õ`Vã¬aY—¶eÛ¶ý½Íìk ++…a!䫦ÖãAb†°bY)ÕÝÖÇ€€óªT8¢æe#DDBLß矑žªGDÔ §Ÿ>=ü=ϧDD£¼*ÆÅ£'> BL$@„?=*#x‚9eH#!æ™6a„ Òû$ÿ¯”ezN龜œ~ú‡Zeù4!B¡”}Ž1u ~`ßÛ¶m56OWê="ffq>Ï5U‹¿G")oEYžL‰Ô#"¾œþãï8ϲ©¦‘Îó 1މiî"‚‘i8Ç;˲,Ûè-Á£ßÍGH„}vÃîŒ|8S"œ‘ ™þícšò©Îˆ²œÌìRþ "¼|i 6#ûÚv}ÖõE4¤ÃáxVÌæÅb1[,³År½.–ËÅr½\-ËÅf¹^,—ëM¹\—ër¹,7ë²\˜;x¹.åf½¬nþ¥A€õz¹4P°^¯7ËõzQ®Ëb]–ëõb³^nÊõÂ$×e±\Åb±X“Ù¤˜Í&Ã!â@EœÙ]æ»¶å§'ÀI ¢¡‚bÔ#ÆÒÀy@õH™Ñ`‡˜#Äè€ø8‚»€÷Â`îa Ðã÷Àx$x$Í€”z¤r+žŠæ¡'É™ +•óx˜Ö”qމ†Žà;Æ8%çÌ ±Û¶/­³F£qYš¯./–e7~÷{Ë>oÙ-Ó«uuÉìv«Õh4Κæ bÛþ5s‡Ðï‡Fq$äÜE3a`œÏ€#Ä(|üÌÄjÈP®â[ä¼"DaÕÅ.u¦æþó^Mu”ô!P8ŠsŸ#b@|’‘×,;BõÆü‚FÇ}yt<Ï$a;×q:NÇó¼ÓV]¥=¯ãyŽë¸žçz^§ãv:ß÷|áˆÊîÒ븮ëy]·Óñ:þ·^Çí¸ž×1*<îmÇ5Buû·ïyž{ëy®×q;^§ÓùÖuÝŽizv:Ïó=ÿáVøžY¨ã:•ÄÏuËþתû¹Ñhœ›¶èN§Óqo]·Óñ¼WF|Õ­ÎÓó<×ûÖØVŸéx¾ï·Â÷<ÏlÉíx^§Óñ:ï[¯SI$u\ÏuÝ 3žs~Þjµ®ß´k;ߟÿÎ8Å~ç^¸•hl§ãÔ‹w„ïy^Çq=Ïít<Ït¿{ÿ×ét:ÆÎôèxÉ&¸¶l»k»Œ‹‡ép’O&ãÉdV,År¶\,—³åb½^.Ö‹e±X¯ëÅz¹^®—ëÅz½6ý¢\®ó_/×år½¬|ü‹åf½.×ër½X®Ö‹õº\õÀQY–ëõb¹\/Ö‹u±,Š¥iþ™ÍŠ"çã4 ‘Ïl×g¶uÁ†§¾'å Àˆê £ô1~kJCx&"ù"wj7š€saä£ T +³@ÎÏþzf€ž<ª5$n©C¡‚s~od'QKÀĸ†qÎ!ÇÇj„¾×ëÝõ€Û¶m]5šFömûòòòêêò²qfY–Õø¾a]^Z—lÛf¿ïÛuãö¥mÛvÏ#†<„0™JΡ ÀÈU`òEî`5/ú} rh$¨g„!ï¬:õ^ß!fCêŇ½†p “qü.•ZÜs IK¨‚j€0©ý…À<¡^ \Í?ÐjED«|>ÍH)ŸÓœà‘ˆVÆò( 0Ïç‚rB€(E¯ˆòÉ$ʽ(½'Dz¸ú©^|”çóiN84Ÿ`BD+T H)³ø8{óB +HsDïƒËçð½ÍÚWÖ%C|LWùjE@«4"ʧó\#Š`<ŸÇ +‰ˆV8 PÕP¾â1Ÿ!(PÒrœæsD$!æ¹ÉÅÚn£asÎì(”¦® à[<Æ^æ€r€i¾€‡A>GPÆ‘€~ʉVˆHJ`µxòu0*˲³Ýn*MÓáp8ÏÆ“ɬX,–Å¢XËe±\,Êõz±\˜ `½\.—ëõzQ”Åb¹\Åb±0-Ä&nX.—E¹(ËõÂ|SQý½rø-ŠYQˆ¨¡e¹\År1™“ñl2™ Çép8P fw]ûÚ:gé©/ÀÉ;+§<…wdÊÃz$5  G™,“V €zE‚ƒqâ…>xrŒ¿ƒ¦¹?G#ž©‰XÓ!€6)ß±¯LVÈä$¡¡"âÀ9—R»èWV~=Îî웫+»šÈ²®.¯,ûêòʺlœ5ÎÎ,Ö¸³,«€««+ÛêÄ,˾â=λaÈÃ0ä}÷q\Óy~vÏ)A „΃B 0 ô‰¬,éaÞùð¼W‰1/눽¾uà5Œ}4~Vœ¡öú©Rz™Nª_úËzR¢ûc=¾‡¦Y.Ó(µøáq«@ ¬T‚zam^Ï‘›×бiõFŸG­Qg‘0?íCŠ”„éðŠêÚ}$Ì«hj5òîk·MªÆ†X¢¯1©ÏÐ凜+Nˆ^f?wš ÇÂ:·ì®mwƒÀdh8'“Él2›M&“bRÌŠeQËår1+ŠY±\/Š¢˜Ì–‹Ùl¶,Š¢X.‹Y¾(fŬ(Åb½\.‹¥qò]ËõbQ,E1[.—¦½¯(Ť(•ÍïlRLŠ¢(Æ“Ùl<šÇ|:À4¼s[-Û¶¬Æ‹*àøéùøù?Ÿ~^)Róù|šÓ|>EÂ}Èu†ëœR€G̉D +ø8ÈÅ|N +hž#ehoŽãüýjN¨4ýçÓO«Õ«Ëç?ÍçDó'Âß#¾zQN€´"|¤¿­<¥ðUî¯rTH9)œ‚ÒïÇyþDP–O§Øñˆˆ( %Þqþ½ýûßU¢L6³m˲­Öh4άFò~g›lÍ~i]Úákš‚€Õ´ì%ÜpftDú5rpEŽ#À̘dç"¥pöj>'¥hžÓ0GŠ”ÓÇ)!Mÿói5u›ÏçÕ^ÓD_ÈìUÑǹ *„\¬ÓœŒÁö¥ÊóÕSFˆ4?­Ç—ìÁ“N5бDm’ƒïPעć^aÁ¹@Aü¾S¶ß›b@%¢ó1©òU‹ zBÁëJ@YK”Rb’huÈ’Çѽ‘0A3ÇoJƒK™k4ÂÛøóY€}Ãt¬º×-˶íë®5(¢¹Ñ&“Él6™Œg³Y1)EQ,³Éb2+&Ŭ¨¢õeQ,ŠE1›³ÉdVÅlQ³Y±¨nêbRÌf‹¢˜/“¢(Š™ù˜³bVÌfŬ˜LfŤ(Æ&)9i2N‡iªEQÀ®[¶mY–ÍÕðÄè”Y*¥¼ÔˆsàV(cÍ#T ¼7 +Á J*5¥ˆçHf|R!ð6„*W +”@Ħðà!¥cjœ"!„ç á+ß¨È @R +ðV)À”fF]>„"cVEˆ@ˆBxJ€Ÿ1øû÷Ï‚ Ãõ¿±.φe*~W–}e8À…õ¬ˆnYf^ôºõCEç÷}ßw»<òÅ­ˆê½(x£”˜Î‘€R „é«TE"±R ¢Ó¢zð‘0WBåoL/­¨W¨€Â[P*ÅtL8eæl£™B +"ÄôHöK­¨1¸µá2@‚ e,5½ìZ3 +fÆ‹<ªšéxEe@Ϻ?·Æ*=U/a>)¥Ö àt6ÆÈ£!pôµ®ªÕ#6äümn3'é±¶ÍìK«ùMã’ƒD_‰#µ" ƬåñÅ©×Ý‚ÀPT‚Ô<4ªG8eÜŸ?WZ£$¢k5­KÛ¶oXﮆa _·nÚÕ< ¿¿?(ÆÀâßV-ìQÝ#D\9š²äËã% *b–e_·lÛçAE*M‡ãa:Ži<™å“ñ8ÎL0›Í&æc1+ÆÅ¤˜Íf“¢˜L&ùd2+&‹ÂàF1›M&“IQÌf“Ùd2Of³Å¤0Ÿ+ŠI1.†“Ù¤XÌÆ³IQÌŠÙlbþ“a:¦I:¦CT¥"°n˺¶­ W¨Áð¤˜zJDSAc@ÌzÞ;=¤ÆòQ?e?eˆÉ#¢„Gcù'!†Ç¼S§Åˆ +ß'DDƒ\#À#bt$¬’ªÇ0F$ʦdR…1`F¤€ULʼÝ `K3E ü®ÇÂÜØ—ÖﬖeY–e]6Íf­Öh]]^Öp~—6kßõàºz'àwÆ’” N·€¨QO³¹ÉBYŸœŠcˆG¯ŽT¼‘FD£"Ó +±ÉÃ^Íà+eÓÜ'i´(Mí#(dRPñ¡'“2m_ÁE àâqŸºyJ#ª~¶_=Îç÷ ßDèёĕ†XGïï kÎEþÉâµôq¤jév8‘Ö¾©èÖÓ!T£Ú’3îcì¦m_YÍfÃæ€ðp´ø}5…¨¢£3Œ]0 3q$/%‡`uÔi 0«qf]Uš€U6GÊ×-Û¶íºƒ´râ•fªB-ãçÅ@JA$>õwx-Ž N¤ƒÁÀ·,«Õ²m‰¤Ãá`0LÓtH“áp6g³Éd<žÌ&ãñ,Óx6çÕ];™ÇãḚ́…Ùx8™L&ãÉx<ÏÆÃ¡ùÚ!®g³ád<™ ÓÉxœ'Ãád’‡˜¦ƒá0§)*f·¬–m]°¤éÉÙSÒšD&%H$g%eíá«Ì”ê,Ë2Ì*%ëÄLïÆ@njÂËÃ]Ašž2šÒA"ß>g„þx-1û,›OñÈL–eÇÊ™¬“…òD‚Dä¼ç3~áߨW–e5¢LÍfó¬jj6 «Ñ8;kžY—Ífóì¬qgM˲Úí6ëµx¯wÇ9\ŒÂ:9â½[Ï«a–eÿ‘=~8L7c’ Ș<£W PÕM…F ’㉵_¼V`r&³×y<2?LÌ^'Z(ˆˆ?g_ãµì¿Î!AL(%J™$Z¨èèÖå÷uO JêV†\RVm÷R¢NN.åÑ€a%È«ÛÁ(Jh¥x$N’eõÃ%yõâ1ç¡1fâZrÆlcÚ°9 +en3Á!¦Êá 5F÷Çgnä`E¥P(‰‡>HãM&%pðèÈC%ô­³3Sæa¼Ú‘F –mÛìÐC΃ :u”ˆj3WSB]4¾ÈTÇ)¤išRnÀí²Àç µ õŠÀ¤[t–ýG–!Q%ìLj@.¼#Ï,Z¿ÓYH)I &¨æ¶€2v’±FMÿœeþ_5à#JI(cÄXÆêî Ÿ@ùdH`÷zpÎÚí+Ë:¶9:k4ÎÎÍÊ÷àììù Ö!xvfYk·kqÆzœJ–þœsèVÞ¨³lše*¯÷*%<|z¹×L£þ(PJ$¡´®‰¶€HA ˆ Í^ÿ2õŸtJŒ%R?ÖŒ¡~9òL- ÈÁ4TDb¸õHk£›!ÔI¤`j´÷F5œº5ß6TJ½lp3|î!æ=P0N¾F $ÓÏ!@=ŽÄ9øk ÿ°¸”pðûó–äw¬ýÛ¶-«asa þaº^<9ºÑ^‹úÌkJ P‚Iwšli EàQ\±±pAßj4¬Ë›ö÷mΤ–RJÒ bËþcì®×ãÏ)ŠçB³¸¬ôe±þ HåA66³ßæ÷ sÐA4PÊÿ¦qaY-×uY7¼òJ™§m:0SCãašŽ‡išÒ0†ã4M‡ƒt˜ŽÓá`8¦j8i8˜Râ8 ‡Ã!¦Ãñ0¤8HÃa:$2Ôb2†‘ŽÓñxHÃ!¦ƒ4M•ù‘ "!¢ ¸ïº¦%¦q 8¹ÿO€2BÔ"ÊÌÉt–UrƼ«Ù,­ 3ªz^H@|„C…@=b‚gaòÑ77ÅÔÚ8˜4@À,ÓZÿû¿gÞ“–ïj© <æJÕùêc­+uýØŒ³žmYͳƒ†ç»þì¥sÓÙYÃ:þdóêêÆ¾i·îX¯$2nô"€ƒ‹fÈ­z «œ1ƸEsÿ(ÜAŒ³Lc2õQJMÑ5ˆû#%©z¯™þàMõ³¬yÏáø±º·ð5¢ÌŽÀ/Ÿ#úø7Aï‘ó9¾Ê>ýcú´å¿ Í2BÄŒÐQšcžSîç„óSŠ!§ù +‰Ö^>çszDúðKŽ@ÿ¢SÂñ (ûÇ?¦O+ÊÿöëÅ s•š¾"Â<'”c>ªç+LA‚€ÜEÔò›1~Å®þ‘þhV™c.²ìÿøéiEÙGTõâ?BnZñ`˜åDå˜Ï?d¹ž¯Ó8ø~8æOs"@𝿸ô¸m]ÚwŒ#—ñçÓì?5­ÀfŒ‡`T5Bú‰('é³y>BÌ“|š%f’]Íç«yžÒ|ôcž~çŸùµ ¬Ù8o4,·kw»<A „ˆÔ@)¥@ ¢Á@Ej ƒÁp0¤*M•ÉÂ¥©aåé0ÅŠQ ùÏ  R•ƒ4(¥Õÿbšé`xHç p«ÿ ”Rƒ7*Š¢È÷…ðcöõuë¢a5×ATñ‚CïÏÑ¡s­µäÜAÔ™~.½7%?D­Œ„‡„‰kUüG<…ˆF†fê!`êÒT€¬~ ¨êg¤¥Ä?gÞ9­ZB‚$:®Œ¢ŒcàìŽÃµÇXûÒ²šÍ³ÆyœUppúo-ûÊn³ vÃðœóP‡Æèàž“ct +ª½’–RbœÄ·4$! àñ°×ÌGÀ¯«½&iÍ•#iäM“ød¯hÊÜf¯1"‚~¾ÿuãáóãößœŽwëURªŽã¼žçyݮ۹íqÕ[ǹí8ޱí3‡ÿêöÁ÷nÇ}ð\ÇíK¿ŽãyÞ­ç8Ž÷êááö•ãx·Žs[}߃ð»žW@;N§ÓqnÛÛÓÅ=ÿöÁõððÐq畱ûs¾sZ­ë çºuѪm4ýà³Ùžÿà{žçu]÷ö¶jktœ[ÇqnÝÎó⯼W¯^=<??¿¸h9ß}gd`Ÿ/ãúÿöêß^½zxðÇypêéoÇqo=×»u]×é¼:½þâs•Æ {ÖhZ ˺¶m×?ΉHEJ½HE)% ” Ô¨Aª¤æ¡=(5 JEj0ˆJ½ +•RÀ@¥¥ÐÀ‰ŠÌ¿V Þ j êMhä""‚ `]×µ¯+¶lù"à"8:NºKrÒÙH¤@N*¥ÖÆÖO€qf­Þý:©5þ¤ãC|„ˆ1Ä1yéGDÂ,ÓÙÏÂÜG)õ”µ¾ +'U}_¢1FÓZÐH“"TÕŽÏ™(ð{Ìf¬Ýn·í£ yyuÕl^]]Ý\6›Í«Ë››f³yuuÙ¼º¼¼ºººº²OMQϬfûÊn3‹Ùð¯¼× %„¼Ç¹rÁ;qUk×øNã_õsuJ"BÇ#AD•w a–Qö÷„\ ”:C f˜8áÀìGkÔ™ŸéŠÔöš˜€¨Ôí“Ñ¿W‡þ‚/@>Ï?æWŸæ8¥9(¢'MY–åsú…pþË*ûH^òËèiõ¤õ”´i¯S+"š“ø_Vsú˜ë9åyžMçóùˆ¦ÑË3³øÏ«Osý!Ÿ½ßý¬)˦Dù|ô %ó_ž²ä«OÙ_?>‘ΫSBXåD3z“Oç3½Êqª‰‰4AÔkýÀìK Ùêã/SÊó©ÎEšã߉²lN4Ó/åŸV$àSþËÇ'Â,Oˆ0Ÿ£ZåDsŠÆóüc®Ÿ¦ÉOYžç4ŸÎŸ2Ê¡Ê)ÿ)û˜Msn·»>…Oˆšæšrº£~(ç3-ø'Zýò”a6Mò÷˜ç¨fs¢œTºÊÿžÑ|ªçyžçTä󧌲_H`~ú¼pkæcÝh4šs˲l»Ëº~Àx×.¸ˆ¢H ‘EQ¤ªÇ°RƒAâÍ`0xA¤Tx©ÈH­ +!„P‘ŠÌw@EBDQ¡àŠ`P}>ˆ”:ÜôApÎ}ŸùŒu™}}ݪì€Î»Á‹ã¤½DgY– þb‰:ÓucÏ= ŠãXš¾(Àç&fCY°¡ê¼7™9Äa–eÙG用§z^‡¦¤PBÇQ¾“IægÉA…%Æ Ô£&á+«Èôü“„kØÝn·Ûí«g›C›×†Dœ÷ú1û½^‡ýjЧÏyû+°®®ÚmfµX Ú¬¾•²Öä¹G•(JÔø1‘‡¢•IH˜$ å€õ^§Í])Q8ìµ?­lù¤‘ÒÏ<Ç =@Å&‘Î…Dá³Yéu‹Ö•zJÀ‘ÑMó„.Cir(–2Ó¨õTš¡½×K|+cx¨œ;¤„DÆU`¢s'Otýç&þõO™I‰ZKt#Ä)‚DIf{&K/”Ã~ýBÞã=yÁì«3;F€™q…â¥4>…Ò>)³‘Tžà¡ÔS”e2>è²Ê]«o~÷ÑOÂ1ÁÞÕåÕM›1öƒó¤„bàv›sÎ¥„Ð÷ßHÇÆÊ1Œ«ÑbP~å2"k³'­Äd@rú°‡ßeÌm6fóܲ®¯ín·kɘïó€D Bð@D"2á9ø›@p!‚¨Šç‘¢ à‘pˆ@ðHD"xˆêÅÕÿ8˜UE "!DàûŒùc¾ïw»®mwm3ŠmLL¬.cæÜêãeÙT89H©)›š[RKW¢é(%‚LWºÖ¤•²ÊeS‡Ô¤ñÑÜÿñ³xåÌAJÔzª!–’4>!â#⣠#PûOºNðȸËDakM ' ßý)ÙÌfí6k·-«ú-þܧš¾ºç–RõÙQ°Ñ8kX—7ívh3ÎÚ¬×å;c/!æž†Ø ›©QÕ'‡+„ÿå!<Õ]€ ÿœeÿñ³ðܨ~Ð26ÍQ8¯øUl’&äW9€c •ø¢IŠb¦A> +J¦ÏðM`så%¼3¤Œ=)H€8‰R¾Ó1äàœ¦2“RÊܼ¥´gP÷DZ¬kpµÖó¦Õˆ¬z„’qm %e,QJ$ è Îi%s)¥¤çŸÀÃ$„aØCÎû¼GüæªÙD™H@ùVJPJš|,ÍÓ$êjñl.Ÿ¤4÷¦iBÌ]-¥4Cf¨õÜËtuæü²i·Ù]«ZÊcàWv¯× uÈCß7—¥ö¯–( Ñø8c'£<¨§¤O_€îéáv]»k,÷¾i|cY×v¥Jnwëv»>ó™0Æ¿RôýÀ?à&VðYÀƒ ðý®oÄ ‚ ðƒ€~ø¾Ï|ƃ€ëúœ>Θ&¬a~ø]Öív͵ÎõµÕ¬úe××¶kŸÀÇ£ãçùtú” %³i†”# "å´zƒ˜ÌiNDš0§ÕjúË_ž~xÊò<§ŒV´šÏ¼ùüÓœVOs"ÄÑÓÏ?gó'z奄ˆùG9)E +óŒ>"a6¢ï‰“<xš>­~ÎóÑôÃtE9­Æÿ{®DN¥Q–k|„ǹΤ–¾¸Fn3Ö ¯î˜U·B¤‘t’7W=§lšåO4¢,ÿ'4ŸÏóÅÏYv»Ýn·ÙŵÍc Ã{#DÉ*@Ĺž#‘N0ÍWó¿¯V¦†æ´¢Å<÷òù§iö´šašÏþù/ÓùûW·?"æsÌ礀³lô1Í1ÏhED &yî?Mç«yNÓóåùêÇŸþ7ˆœV”çó¥H«Õôé¾0lÌ×§ 3 þc¥¸^ËYÇ«Ô<Ξ ~Ô&ƒ)ÀTnÑHkóQû”Äb)¥ÌdLîA¨ÃâaUSC@7â!—:;,.”*a´bó ýCïýoÛVÛ<¶A¾ AA|ræFI!R^Äï9h’PýX™Tõ&Aˆ±Ñ'ªµQdŒ¨M‡H)ù•e÷îîØ9㼡€Ø•Í8‘sÞ圡Œó}Ÿu»¬Ë\÷ ƒeWé\_ÛßÔê8f€üŸJ‰HD" „¹â¾ˆ@ˆJùÁWJ©ÔSBˆÀxð!ü‡Hˆ‘F D`,*„BÇG ÄÃC „B(ƒ@D‘<³\ @!¨„xxxD „ð…ð@ðJÈœÇ}Æ\Û¶íë–õ»otæò@øn×ïv=ß "þ­àœ~àû~àû¾øöQðMãwÖ¹Ý2XÍsY—ùÜç\¤øB€0?Ôó(•úJññÊBˆ¡""àB=( !"¨ÈˆH(O\À˽Š„|áÕ^#ñ nUm‘ñœ_úˆ+Ñm0tÕG£©{³€· Îy¬eÃv26f¦´ć‡ÑûP-.%V¢ÂöelZíª©ð\3¡U5èd0 Œ¥„¾) …œs~wÇy+d7W j>bZpŒˆQ|ȘJƒÏ¨bv´8‚L•ÖX9Æ’ðP‹õò꺼í3Ëf½Þ]ûa¿6Œ˜}ÃxBÀ¹ÜsÎ9fx>7Ô“%‡ÅãôhñÏëضkÛ–uÑh4¿±Î,ËjÙöµmàº]Öe¬ËXÀ|ÆXÀ|Ÿ¾t}ŸAÀ‚ç8¢z«2t}æû XÐeŒù¬Ë˜!¬ë•ð™ï3ÃüàÌgŒùŒu».ëº]Û¶ÍÍÞjµ,Ë2Õñ³ÖµmÛö }9ÙX¢‰’ÑTÀCzµN4 +Ô$ëÆ€×¦VG#‘* ÊGDJI’–ˆ„3õEZ'1¢ŒµÖš•'<Ö^v„ˆ¨ˆäÁ$âb”‚$€” +ëA ömYͳ3ÓùËA‡{Á9•º­én©~`ÌÙ¡xÖlžY—6³ív›õz½Ê^Ç'˜Ômaâ5 ‘H‰ÈŽ}â$bŠ$^DBêc’製blt¸1G”G{EDDa´;ªå ¯ï#JЄø¿6 $LüjÄ·ƒZ®íHW—î#pòjP»Ò1wLŒŠ4J©«'Üc=fÃsǤ:$J]«îCüöX;ž@(wlÌ‚Ÿûd4b 2N“DJ‰¡ùÅýÊ;ö¢Ý¶mBµ8J0þÂp,6&ã„zÈóÀý¼¸– eŽ:‘¨“Ê À(°st#€8–RBh_Ùí^÷|a¿ìf$qáçœ÷¼«¯—y½åèDJ­cnfÞëYOÀ©*s÷äþ7P{n6Ž€u»]×í2Öe]sW3ÿìÝ.ó«x€yJtÍ#+`ÁAÐõÆü Û ˜oùŒU`ðÄg¬ËÜn×vmÛ­à÷-˲*7ðß8fÇÄQ¢1‘:3’öÏh-Ÿ;ƒ ü(2äã#3KBD­ˆž›T@ÆOɤ„0ùggͳFã²ÁB ¸yâ‰jÈí:7ÑÜ#¼~-eŸ]=ÀÙ™uysc ßëU ¥” ˆuÕµ(„„D"¡È°~4V{SÔ5èµÖf¯Ïà AÄDd£çK§µE”`¬êûÿK€RþF÷"à<>ÌÙÕ4餅±ªå rĈkÇ+ƒ”DÄ 6 ÓÄŒ@-æÄïcwvûædô¬ u@Œ=ì ιX÷á¼€{¬Úô9ÀŽ€X¾ÿîÚmÆ8‡;Î púI"äO u1€iÌà<ñöøòEÀ¶]Û¾n}SõŸ3€n—½ÿ˜ø ün—ù¬ë3Æ*`óýŠ0æ3?èvYŒæ/ÏüSøc×7ïv+°àwU¬õ_À”hDIG@:!ÉÀ3TU½Gˆ)Õ5ÐúFZ“¯rU —ˆ¨/p¡teòïWpvf´þ*¨¦kÈ  öÙåͳ¦uÓ6Àïúø“Dàø›Õ @× @Ç(¥¤—Õ…>ü2¼z€¯´Ç_)¿È"þb/@ÝÕ¯sÇÜU§€Ÿ€a?~‰€DJ™$€g¸y >gå`8˜Ôð¨‰Ú ŧ¿p€?ü‘=Ó‹P͆M¼HÁ°v·{ôášÀ2-éÇP1€£àØç!@ð"ðt™L0`,Xuœ„Ÿ1€ +~ÿyðe¨À»/†¿Êã@_fäƒ NÀ»ÿ +Ý8 y¯wL ð‚ðÏ@ Ÿ@³Ù8³¬šð;Þç=ò{ù§/Àã—@Ö@’#Ð õ¿ÂÀW€qï®ú< ø’ø¿¼`”$1H©Ž@ýEaÀ1È_€È„â— 1 €CxH0ÆØç àà(€¨þ«P3uè]¾ìð_ÀãKð8y„²CÐh4¾içëvíÿ2ð!{€oBóØ7!@•-cÇ9€þ×À¯åbraylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_loading.js b/examples/web/models/models_loading.js index 8b12ab9..475001d 100644 --- a/examples/web/models/models_loading.js +++ b/examples/web/models/models_loading.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_loading.data";var REMOTE_PACKAGE_BASE="models_loading.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);Module["FS_createPath"]("/resources","models",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5286416,DYNAMICTOP_PTR=43504;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_loading.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"d":abort,"b":___assert_fail,"sc":___lock,"D":___setErrNo,"gb":___syscall140,"Xa":___syscall145,"q":___syscall221,"Ca":___syscall5,"ra":___syscall54,"C":___syscall6,"B":___unlock,"be":___wasi_fd_write,"A":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"yd":_emscripten_get_element_css_size,"nd":_emscripten_get_gamepad_status,"cd":_emscripten_get_heap_size,"Tc":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"zc":_emscripten_glActiveTexture,"rc":_emscripten_glAttachShader,"lc":_emscripten_glBeginQueryEXT,"hc":_emscripten_glBindAttribLocation,"cc":_emscripten_glBindBuffer,"Xb":_emscripten_glBindFramebuffer,"Tb":_emscripten_glBindRenderbuffer,"Lb":_emscripten_glBindTexture,"Ab":_emscripten_glBindVertexArrayOES,"tb":_emscripten_glBlendColor,"rb":_emscripten_glBlendEquation,"qb":_emscripten_glBlendEquationSeparate,"pb":_emscripten_glBlendFunc,"ob":_emscripten_glBlendFuncSeparate,"nb":_emscripten_glBufferData,"mb":_emscripten_glBufferSubData,"lb":_emscripten_glCheckFramebufferStatus,"kb":_emscripten_glClear,"jb":_emscripten_glClearColor,"ib":_emscripten_glClearDepthf,"hb":_emscripten_glClearStencil,"fb":_emscripten_glColorMask,"eb":_emscripten_glCompileShader,"db":_emscripten_glCompressedTexImage2D,"cb":_emscripten_glCompressedTexSubImage2D,"bb":_emscripten_glCopyTexImage2D,"ab":_emscripten_glCopyTexSubImage2D,"$a":_emscripten_glCreateProgram,"_a":_emscripten_glCreateShader,"Za":_emscripten_glCullFace,"Ya":_emscripten_glDeleteBuffers,"Wa":_emscripten_glDeleteFramebuffers,"Va":_emscripten_glDeleteProgram,"Ua":_emscripten_glDeleteQueriesEXT,"Ta":_emscripten_glDeleteRenderbuffers,"Sa":_emscripten_glDeleteShader,"Ra":_emscripten_glDeleteTextures,"Qa":_emscripten_glDeleteVertexArraysOES,"Pa":_emscripten_glDepthFunc,"Oa":_emscripten_glDepthMask,"Na":_emscripten_glDepthRangef,"Ma":_emscripten_glDetachShader,"La":_emscripten_glDisable,"Ka":_emscripten_glDisableVertexAttribArray,"Ja":_emscripten_glDrawArrays,"Ia":_emscripten_glDrawArraysInstancedANGLE,"Ha":_emscripten_glDrawBuffersWEBGL,"Ga":_emscripten_glDrawElements,"Fa":_emscripten_glDrawElementsInstancedANGLE,"Ea":_emscripten_glEnable,"Da":_emscripten_glEnableVertexAttribArray,"Ba":_emscripten_glEndQueryEXT,"Aa":_emscripten_glFinish,"za":_emscripten_glFlush,"ya":_emscripten_glFramebufferRenderbuffer,"xa":_emscripten_glFramebufferTexture2D,"wa":_emscripten_glFrontFace,"va":_emscripten_glGenBuffers,"ua":_emscripten_glGenFramebuffers,"ta":_emscripten_glGenQueriesEXT,"sa":_emscripten_glGenRenderbuffers,"qa":_emscripten_glGenTextures,"pa":_emscripten_glGenVertexArraysOES,"oa":_emscripten_glGenerateMipmap,"na":_emscripten_glGetActiveAttrib,"ma":_emscripten_glGetActiveUniform,"la":_emscripten_glGetAttachedShaders,"ka":_emscripten_glGetAttribLocation,"ja":_emscripten_glGetBooleanv,"ia":_emscripten_glGetBufferParameteriv,"ha":_emscripten_glGetError,"ga":_emscripten_glGetFloatv,"fa":_emscripten_glGetFramebufferAttachmentParameteriv,"ea":_emscripten_glGetIntegerv,"da":_emscripten_glGetProgramInfoLog,"ca":_emscripten_glGetProgramiv,"ba":_emscripten_glGetQueryObjecti64vEXT,"aa":_emscripten_glGetQueryObjectivEXT,"$":_emscripten_glGetQueryObjectui64vEXT,"_":_emscripten_glGetQueryObjectuivEXT,"Z":_emscripten_glGetQueryivEXT,"le":_emscripten_glGetRenderbufferParameteriv,"ke":_emscripten_glGetShaderInfoLog,"je":_emscripten_glGetShaderPrecisionFormat,"ie":_emscripten_glGetShaderSource,"he":_emscripten_glGetShaderiv,"ge":_emscripten_glGetString,"fe":_emscripten_glGetTexParameterfv,"ee":_emscripten_glGetTexParameteriv,"de":_emscripten_glGetUniformLocation,"ce":_emscripten_glGetUniformfv,"ae":_emscripten_glGetUniformiv,"$d":_emscripten_glGetVertexAttribPointerv,"_d":_emscripten_glGetVertexAttribfv,"Zd":_emscripten_glGetVertexAttribiv,"Yd":_emscripten_glHint,"Xd":_emscripten_glIsBuffer,"Wd":_emscripten_glIsEnabled,"Vd":_emscripten_glIsFramebuffer,"Ud":_emscripten_glIsProgram,"Td":_emscripten_glIsQueryEXT,"Sd":_emscripten_glIsRenderbuffer,"Rd":_emscripten_glIsShader,"Qd":_emscripten_glIsTexture,"Pd":_emscripten_glIsVertexArrayOES,"Od":_emscripten_glLineWidth,"Nd":_emscripten_glLinkProgram,"Md":_emscripten_glPixelStorei,"Ld":_emscripten_glPolygonOffset,"Kd":_emscripten_glQueryCounterEXT,"Jd":_emscripten_glReadPixels,"Id":_emscripten_glReleaseShaderCompiler,"Hd":_emscripten_glRenderbufferStorage,"Gd":_emscripten_glSampleCoverage,"Fd":_emscripten_glScissor,"Ed":_emscripten_glShaderBinary,"Dd":_emscripten_glShaderSource,"Cd":_emscripten_glStencilFunc,"Bd":_emscripten_glStencilFuncSeparate,"Ad":_emscripten_glStencilMask,"zd":_emscripten_glStencilMaskSeparate,"xd":_emscripten_glStencilOp,"wd":_emscripten_glStencilOpSeparate,"vd":_emscripten_glTexImage2D,"ud":_emscripten_glTexParameterf,"td":_emscripten_glTexParameterfv,"sd":_emscripten_glTexParameteri,"rd":_emscripten_glTexParameteriv,"qd":_emscripten_glTexSubImage2D,"pd":_emscripten_glUniform1f,"od":_emscripten_glUniform1fv,"md":_emscripten_glUniform1i,"ld":_emscripten_glUniform1iv,"kd":_emscripten_glUniform2f,"jd":_emscripten_glUniform2fv,"id":_emscripten_glUniform2i,"hd":_emscripten_glUniform2iv,"gd":_emscripten_glUniform3f,"fd":_emscripten_glUniform3fv,"ed":_emscripten_glUniform3i,"dd":_emscripten_glUniform3iv,"bd":_emscripten_glUniform4f,"ad":_emscripten_glUniform4fv,"$c":_emscripten_glUniform4i,"_c":_emscripten_glUniform4iv,"Zc":_emscripten_glUniformMatrix2fv,"Yc":_emscripten_glUniformMatrix3fv,"Xc":_emscripten_glUniformMatrix4fv,"Wc":_emscripten_glUseProgram,"Vc":_emscripten_glValidateProgram,"Uc":_emscripten_glVertexAttrib1f,"Sc":_emscripten_glVertexAttrib1fv,"Rc":_emscripten_glVertexAttrib2f,"Qc":_emscripten_glVertexAttrib2fv,"Pc":_emscripten_glVertexAttrib3f,"Oc":_emscripten_glVertexAttrib3fv,"Nc":_emscripten_glVertexAttrib4f,"Mc":_emscripten_glVertexAttrib4fv,"Lc":_emscripten_glVertexAttribDivisorANGLE,"Kc":_emscripten_glVertexAttribPointer,"Jc":_emscripten_glViewport,"Ic":_emscripten_memcpy_big,"Hc":_emscripten_request_pointerlock,"Gc":_emscripten_resize_heap,"W":_emscripten_run_script,"Fc":_emscripten_sample_gamepad_data,"Ec":_emscripten_set_click_callback_on_thread,"Dc":_emscripten_set_fullscreenchange_callback_on_thread,"Cc":_emscripten_set_gamepadconnected_callback_on_thread,"Bc":_emscripten_set_gamepaddisconnected_callback_on_thread,"Ac":_emscripten_set_keypress_callback_on_thread,"yc":_emscripten_set_main_loop,"xc":_emscripten_set_touchcancel_callback_on_thread,"wc":_emscripten_set_touchend_callback_on_thread,"vc":_emscripten_set_touchmove_callback_on_thread,"uc":_emscripten_set_touchstart_callback_on_thread,"tc":_exit,"z":_glActiveTexture,"V":_glAttachShader,"n":_glBindAttribLocation,"c":_glBindBuffer,"k":_glBindTexture,"qc":_glBlendFunc,"i":_glBufferData,"y":_glBufferSubData,"U":_glClear,"T":_glClearColor,"pc":_glClearDepthf,"oc":_glCompileShader,"nc":_glCompressedTexImage2D,"mc":_glCreateProgram,"kc":_glCreateShader,"jc":_glCullFace,"p":_glDeleteBuffers,"S":_glDeleteProgram,"R":_glDeleteShader,"Q":_glDeleteTextures,"ic":_glDepthFunc,"P":_glDetachShader,"O":_glDisable,"j":_glDisableVertexAttribArray,"N":_glDrawArrays,"M":_glDrawElements,"x":_glEnable,"f":_glEnableVertexAttribArray,"gc":_glFrontFace,"h":_glGenBuffers,"fc":_glGenTextures,"w":_glGetAttribLocation,"ec":_glGetFloatv,"dc":_glGetProgramInfoLog,"L":_glGetProgramiv,"bc":_glGetShaderInfoLog,"K":_glGetShaderiv,"o":_glGetString,"v":_glGetUniformLocation,"ac":_glLinkProgram,"$b":_glPixelStorei,"_b":_glReadPixels,"Zb":_glShaderSource,"Yb":_glTexImage2D,"m":_glTexParameteri,"J":_glUniform1i,"u":_glUniform4f,"t":_glUniformMatrix4fv,"l":_glUseProgram,"Wb":_glVertexAttrib2f,"Vb":_glVertexAttrib3f,"s":_glVertexAttrib4f,"e":_glVertexAttribPointer,"Ub":_glViewport,"I":_glfwCreateWindow,"Sb":_glfwDefaultWindowHints,"Rb":_glfwDestroyWindow,"Qb":_glfwGetCursorPos,"Pb":_glfwGetKey,"Ob":_glfwGetMouseButton,"H":_glfwGetPrimaryMonitor,"r":_glfwGetTime,"Nb":_glfwGetVideoModes,"Mb":_glfwInit,"Kb":_glfwMakeContextCurrent,"Jb":_glfwSetCharCallback,"Ib":_glfwSetCursorEnterCallback,"Hb":_glfwSetCursorPosCallback,"Gb":_glfwSetDropCallback,"Fb":_glfwSetErrorCallback,"Eb":_glfwSetKeyCallback,"Db":_glfwSetMouseButtonCallback,"Cb":_glfwSetScrollCallback,"Bb":_glfwSetWindowIconifyCallback,"zb":_glfwSetWindowShouldClose,"yb":_glfwSetWindowSizeCallback,"xb":_glfwSwapBuffers,"wb":_glfwSwapInterval,"G":_glfwTerminate,"g":_glfwWindowHint,"F":_llvm_stackrestore,"E":_llvm_stacksave,"vb":_nanosleep,"ub":_time,"sb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["re"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["se"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["Be"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["Ce"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["De"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["ve"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["we"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["ze"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["Ae"].apply(null,arguments)};Module["asm"]=asm;Module["getMemory"]=getMemory;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["calledRun"]=calledRun;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_loading.data";var REMOTE_PACKAGE_BASE="models_loading.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);Module["FS_createPath"]("/resources","models",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||67108864;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_loading.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["de"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["ee"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd);if(size>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"a":___assert_fail,"Zd":___sys_chdir,"Q":___sys_fcntl64,"Yd":___sys_getcwd,"$d":___sys_ioctl,"ae":___sys_open,"w":_eglGetProcAddress,"aa":_emscripten_exit_pointerlock,"Z":_emscripten_get_element_css_size,"U":_emscripten_get_gamepad_status,"V":_emscripten_get_num_gamepads,"$":_emscripten_get_pointerlock_status,"Bd":_emscripten_glActiveTexture,"Ad":_emscripten_glAttachShader,"Rd":_emscripten_glBeginQueryEXT,"zd":_emscripten_glBindAttribLocation,"yd":_emscripten_glBindBuffer,"xd":_emscripten_glBindFramebuffer,"wd":_emscripten_glBindRenderbuffer,"vd":_emscripten_glBindTexture,"Jd":_emscripten_glBindVertexArrayOES,"ud":_emscripten_glBlendColor,"td":_emscripten_glBlendEquation,"sd":_emscripten_glBlendEquationSeparate,"rd":_emscripten_glBlendFunc,"qd":_emscripten_glBlendFuncSeparate,"pd":_emscripten_glBufferData,"od":_emscripten_glBufferSubData,"nd":_emscripten_glCheckFramebufferStatus,"md":_emscripten_glClear,"ld":_emscripten_glClearColor,"kd":_emscripten_glClearDepthf,"jd":_emscripten_glClearStencil,"id":_emscripten_glColorMask,"hd":_emscripten_glCompileShader,"gd":_emscripten_glCompressedTexImage2D,"fd":_emscripten_glCompressedTexSubImage2D,"ed":_emscripten_glCopyTexImage2D,"dd":_emscripten_glCopyTexSubImage2D,"cd":_emscripten_glCreateProgram,"bd":_emscripten_glCreateShader,"ad":_emscripten_glCullFace,"$c":_emscripten_glDeleteBuffers,"_c":_emscripten_glDeleteFramebuffers,"Zc":_emscripten_glDeleteProgram,"Td":_emscripten_glDeleteQueriesEXT,"Yc":_emscripten_glDeleteRenderbuffers,"Xc":_emscripten_glDeleteShader,"Wc":_emscripten_glDeleteTextures,"Id":_emscripten_glDeleteVertexArraysOES,"Vc":_emscripten_glDepthFunc,"Uc":_emscripten_glDepthMask,"Tc":_emscripten_glDepthRangef,"Sc":_emscripten_glDetachShader,"Rc":_emscripten_glDisable,"Qc":_emscripten_glDisableVertexAttribArray,"Oc":_emscripten_glDrawArrays,"Ed":_emscripten_glDrawArraysInstancedANGLE,"Fd":_emscripten_glDrawBuffersWEBGL,"Nc":_emscripten_glDrawElements,"Dd":_emscripten_glDrawElementsInstancedANGLE,"Mc":_emscripten_glEnable,"Lc":_emscripten_glEnableVertexAttribArray,"Qd":_emscripten_glEndQueryEXT,"Kc":_emscripten_glFinish,"Jc":_emscripten_glFlush,"Ic":_emscripten_glFramebufferRenderbuffer,"Hc":_emscripten_glFramebufferTexture2D,"Gc":_emscripten_glFrontFace,"Fc":_emscripten_glGenBuffers,"Dc":_emscripten_glGenFramebuffers,"Ud":_emscripten_glGenQueriesEXT,"Cc":_emscripten_glGenRenderbuffers,"Bc":_emscripten_glGenTextures,"Hd":_emscripten_glGenVertexArraysOES,"Ec":_emscripten_glGenerateMipmap,"Ac":_emscripten_glGetActiveAttrib,"zc":_emscripten_glGetActiveUniform,"yc":_emscripten_glGetAttachedShaders,"xc":_emscripten_glGetAttribLocation,"wc":_emscripten_glGetBooleanv,"vc":_emscripten_glGetBufferParameteriv,"uc":_emscripten_glGetError,"tc":_emscripten_glGetFloatv,"sc":_emscripten_glGetFramebufferAttachmentParameteriv,"rc":_emscripten_glGetIntegerv,"pc":_emscripten_glGetProgramInfoLog,"qc":_emscripten_glGetProgramiv,"Ld":_emscripten_glGetQueryObjecti64vEXT,"Nd":_emscripten_glGetQueryObjectivEXT,"Kd":_emscripten_glGetQueryObjectui64vEXT,"Md":_emscripten_glGetQueryObjectuivEXT,"Od":_emscripten_glGetQueryivEXT,"oc":_emscripten_glGetRenderbufferParameteriv,"mc":_emscripten_glGetShaderInfoLog,"lc":_emscripten_glGetShaderPrecisionFormat,"kc":_emscripten_glGetShaderSource,"nc":_emscripten_glGetShaderiv,"jc":_emscripten_glGetString,"ic":_emscripten_glGetTexParameterfv,"hc":_emscripten_glGetTexParameteriv,"ec":_emscripten_glGetUniformLocation,"gc":_emscripten_glGetUniformfv,"fc":_emscripten_glGetUniformiv,"bc":_emscripten_glGetVertexAttribPointerv,"dc":_emscripten_glGetVertexAttribfv,"cc":_emscripten_glGetVertexAttribiv,"ac":_emscripten_glHint,"$b":_emscripten_glIsBuffer,"_b":_emscripten_glIsEnabled,"Zb":_emscripten_glIsFramebuffer,"Yb":_emscripten_glIsProgram,"Sd":_emscripten_glIsQueryEXT,"Xb":_emscripten_glIsRenderbuffer,"Wb":_emscripten_glIsShader,"Vb":_emscripten_glIsTexture,"Gd":_emscripten_glIsVertexArrayOES,"Ub":_emscripten_glLineWidth,"Tb":_emscripten_glLinkProgram,"Rb":_emscripten_glPixelStorei,"Qb":_emscripten_glPolygonOffset,"Pd":_emscripten_glQueryCounterEXT,"Pb":_emscripten_glReadPixels,"Ob":_emscripten_glReleaseShaderCompiler,"Nb":_emscripten_glRenderbufferStorage,"Mb":_emscripten_glSampleCoverage,"Lb":_emscripten_glScissor,"Kb":_emscripten_glShaderBinary,"Jb":_emscripten_glShaderSource,"Ib":_emscripten_glStencilFunc,"Gb":_emscripten_glStencilFuncSeparate,"Fb":_emscripten_glStencilMask,"Eb":_emscripten_glStencilMaskSeparate,"Db":_emscripten_glStencilOp,"Cb":_emscripten_glStencilOpSeparate,"Bb":_emscripten_glTexImage2D,"Ab":_emscripten_glTexParameterf,"zb":_emscripten_glTexParameterfv,"yb":_emscripten_glTexParameteri,"xb":_emscripten_glTexParameteriv,"vb":_emscripten_glTexSubImage2D,"ub":_emscripten_glUniform1f,"tb":_emscripten_glUniform1fv,"sb":_emscripten_glUniform1i,"rb":_emscripten_glUniform1iv,"qb":_emscripten_glUniform2f,"pb":_emscripten_glUniform2fv,"ob":_emscripten_glUniform2i,"nb":_emscripten_glUniform2iv,"mb":_emscripten_glUniform3f,"kb":_emscripten_glUniform3fv,"jb":_emscripten_glUniform3i,"ib":_emscripten_glUniform3iv,"hb":_emscripten_glUniform4f,"gb":_emscripten_glUniform4fv,"fb":_emscripten_glUniform4i,"eb":_emscripten_glUniform4iv,"db":_emscripten_glUniformMatrix2fv,"cb":_emscripten_glUniformMatrix3fv,"bb":_emscripten_glUniformMatrix4fv,"$a":_emscripten_glUseProgram,"_a":_emscripten_glValidateProgram,"Za":_emscripten_glVertexAttrib1f,"Ya":_emscripten_glVertexAttrib1fv,"Xa":_emscripten_glVertexAttrib2f,"Wa":_emscripten_glVertexAttrib2fv,"Va":_emscripten_glVertexAttrib3f,"Ua":_emscripten_glVertexAttrib3fv,"Ta":_emscripten_glVertexAttrib4f,"Sa":_emscripten_glVertexAttrib4fv,"Cd":_emscripten_glVertexAttribDivisorANGLE,"Qa":_emscripten_glVertexAttribPointer,"Pa":_emscripten_glViewport,"Vd":_emscripten_memcpy_big,"_":_emscripten_request_pointerlock,"Wd":_emscripten_resize_heap,"y":_emscripten_run_script,"W":_emscripten_sample_gamepad_data,"ya":_emscripten_set_click_callback_on_thread,"Aa":_emscripten_set_fullscreenchange_callback_on_thread,"ta":_emscripten_set_gamepadconnected_callback_on_thread,"sa":_emscripten_set_gamepaddisconnected_callback_on_thread,"za":_emscripten_set_keydown_callback_on_thread,"ce":_emscripten_set_main_loop,"ua":_emscripten_set_touchcancel_callback_on_thread,"wa":_emscripten_set_touchend_callback_on_thread,"va":_emscripten_set_touchmove_callback_on_thread,"xa":_emscripten_set_touchstart_callback_on_thread,"Xd":_emscripten_thread_sleep,"S":_exit,"R":_fd_close,"_d":_fd_read,"Oa":_fd_seek,"P":_fd_write,"p":_glActiveTexture,"D":_glAttachShader,"k":_glBindAttribLocation,"b":_glBindBuffer,"j":_glBindTexture,"Hb":_glBlendFunc,"e":_glBufferData,"v":_glBufferSubData,"K":_glClear,"L":_glClearColor,"ab":_glClearDepthf,"Fa":_glCompileShader,"La":_glCompressedTexImage2D,"Da":_glCreateProgram,"Ha":_glCreateShader,"wb":_glCullFace,"m":_glDeleteBuffers,"G":_glDeleteProgram,"H":_glDeleteShader,"J":_glDeleteTextures,"Sb":_glDepthFunc,"I":_glDetachShader,"M":_glDisable,"h":_glDisableVertexAttribArray,"O":_glDrawArrays,"N":_glDrawElements,"x":_glEnable,"c":_glEnableVertexAttribArray,"lb":_glFrontFace,"f":_glGenBuffers,"Na":_glGenTextures,"u":_glGetAttribLocation,"Pc":_glGetFloatv,"Ba":_glGetProgramInfoLog,"F":_glGetProgramiv,"Ea":_glGetShaderInfoLog,"E":_glGetShaderiv,"n":_glGetString,"t":_glGetUniformLocation,"Ca":_glLinkProgram,"Ra":_glPixelStorei,"Ia":_glReadPixels,"Ga":_glShaderSource,"Ma":_glTexImage2D,"o":_glTexParameteri,"z":_glUniform1i,"q":_glUniform4f,"r":_glUniformMatrix4fv,"l":_glUseProgram,"Ja":_glVertexAttrib2f,"Ka":_glVertexAttrib3f,"s":_glVertexAttrib4f,"d":_glVertexAttribPointer,"be":_glViewport,"B":_glfwCreateWindow,"pa":_glfwDefaultWindowHints,"Y":_glfwDestroyWindow,"C":_glfwGetPrimaryMonitor,"i":_glfwGetTime,"oa":_glfwGetVideoModes,"qa":_glfwInit,"da":_glfwMakeContextCurrent,"ia":_glfwSetCharCallback,"ea":_glfwSetCursorEnterCallback,"ga":_glfwSetCursorPosCallback,"ka":_glfwSetDropCallback,"ra":_glfwSetErrorCallback,"ja":_glfwSetKeyCallback,"ha":_glfwSetMouseButtonCallback,"fa":_glfwSetScrollCallback,"la":_glfwSetWindowFocusCallback,"ma":_glfwSetWindowIconifyCallback,"T":_glfwSetWindowShouldClose,"na":_glfwSetWindowSizeCallback,"X":_glfwSwapBuffers,"ca":_glfwSwapInterval,"A":_glfwTerminate,"g":_glfwWindowHint,"ba":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["fe"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["ge"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["he"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["ie"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["je"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["ke"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["le"]).apply(null,arguments)};Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_loading.wasm b/examples/web/models/models_loading.wasm index 52fe626..bd28b29 100644 Binary files a/examples/web/models/models_loading.wasm and b/examples/web/models/models_loading.wasm differ diff --git a/examples/web/models/models_material_pbr.c b/examples/web/models/models_material_pbr.c index bbec491..ad89d92 100644 --- a/examples/web/models/models_material_pbr.c +++ b/examples/web/models/models_material_pbr.c @@ -69,7 +69,7 @@ int main(void) SetCameraMode(camera, CAMERA_ORBITAL); // Set an orbital camera mode #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_mesh_generation.c b/examples/web/models/models_mesh_generation.c index 053672c..862d030 100644 --- a/examples/web/models/models_mesh_generation.c +++ b/examples/web/models/models_mesh_generation.c @@ -67,7 +67,7 @@ int main(void) SetCameraMode(camera, CAMERA_ORBITAL); // Set a orbital camera mode #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_mesh_generation.html b/examples/web/models/models_mesh_generation.html index 2fb5fd0..e3bdba8 100644 --- a/examples/web/models/models_mesh_generation.html +++ b/examples/web/models/models_mesh_generation.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_mesh_generation.js b/examples/web/models/models_mesh_generation.js index 5348eaa..6ae7d55 100644 --- a/examples/web/models/models_mesh_generation.js +++ b/examples/web/models/models_mesh_generation.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;read_=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5278944,DYNAMICTOP_PTR=36032;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_mesh_generation.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"d":abort,"b":___assert_fail,"sc":___lock,"D":___setErrNo,"gb":___syscall140,"Xa":___syscall145,"q":___syscall221,"Ca":___syscall5,"ra":___syscall54,"C":___syscall6,"B":___unlock,"be":___wasi_fd_write,"A":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"yd":_emscripten_get_element_css_size,"nd":_emscripten_get_gamepad_status,"cd":_emscripten_get_heap_size,"Tc":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"zc":_emscripten_glActiveTexture,"rc":_emscripten_glAttachShader,"lc":_emscripten_glBeginQueryEXT,"hc":_emscripten_glBindAttribLocation,"cc":_emscripten_glBindBuffer,"Xb":_emscripten_glBindFramebuffer,"Tb":_emscripten_glBindRenderbuffer,"Lb":_emscripten_glBindTexture,"Ab":_emscripten_glBindVertexArrayOES,"tb":_emscripten_glBlendColor,"rb":_emscripten_glBlendEquation,"qb":_emscripten_glBlendEquationSeparate,"pb":_emscripten_glBlendFunc,"ob":_emscripten_glBlendFuncSeparate,"nb":_emscripten_glBufferData,"mb":_emscripten_glBufferSubData,"lb":_emscripten_glCheckFramebufferStatus,"kb":_emscripten_glClear,"jb":_emscripten_glClearColor,"ib":_emscripten_glClearDepthf,"hb":_emscripten_glClearStencil,"fb":_emscripten_glColorMask,"eb":_emscripten_glCompileShader,"db":_emscripten_glCompressedTexImage2D,"cb":_emscripten_glCompressedTexSubImage2D,"bb":_emscripten_glCopyTexImage2D,"ab":_emscripten_glCopyTexSubImage2D,"$a":_emscripten_glCreateProgram,"_a":_emscripten_glCreateShader,"Za":_emscripten_glCullFace,"Ya":_emscripten_glDeleteBuffers,"Wa":_emscripten_glDeleteFramebuffers,"Va":_emscripten_glDeleteProgram,"Ua":_emscripten_glDeleteQueriesEXT,"Ta":_emscripten_glDeleteRenderbuffers,"Sa":_emscripten_glDeleteShader,"Ra":_emscripten_glDeleteTextures,"Qa":_emscripten_glDeleteVertexArraysOES,"Pa":_emscripten_glDepthFunc,"Oa":_emscripten_glDepthMask,"Na":_emscripten_glDepthRangef,"Ma":_emscripten_glDetachShader,"La":_emscripten_glDisable,"Ka":_emscripten_glDisableVertexAttribArray,"Ja":_emscripten_glDrawArrays,"Ia":_emscripten_glDrawArraysInstancedANGLE,"Ha":_emscripten_glDrawBuffersWEBGL,"Ga":_emscripten_glDrawElements,"Fa":_emscripten_glDrawElementsInstancedANGLE,"Ea":_emscripten_glEnable,"Da":_emscripten_glEnableVertexAttribArray,"Ba":_emscripten_glEndQueryEXT,"Aa":_emscripten_glFinish,"za":_emscripten_glFlush,"ya":_emscripten_glFramebufferRenderbuffer,"xa":_emscripten_glFramebufferTexture2D,"wa":_emscripten_glFrontFace,"va":_emscripten_glGenBuffers,"ua":_emscripten_glGenFramebuffers,"ta":_emscripten_glGenQueriesEXT,"sa":_emscripten_glGenRenderbuffers,"qa":_emscripten_glGenTextures,"pa":_emscripten_glGenVertexArraysOES,"oa":_emscripten_glGenerateMipmap,"na":_emscripten_glGetActiveAttrib,"ma":_emscripten_glGetActiveUniform,"la":_emscripten_glGetAttachedShaders,"ka":_emscripten_glGetAttribLocation,"ja":_emscripten_glGetBooleanv,"ia":_emscripten_glGetBufferParameteriv,"ha":_emscripten_glGetError,"ga":_emscripten_glGetFloatv,"fa":_emscripten_glGetFramebufferAttachmentParameteriv,"ea":_emscripten_glGetIntegerv,"da":_emscripten_glGetProgramInfoLog,"ca":_emscripten_glGetProgramiv,"ba":_emscripten_glGetQueryObjecti64vEXT,"aa":_emscripten_glGetQueryObjectivEXT,"$":_emscripten_glGetQueryObjectui64vEXT,"_":_emscripten_glGetQueryObjectuivEXT,"Z":_emscripten_glGetQueryivEXT,"le":_emscripten_glGetRenderbufferParameteriv,"ke":_emscripten_glGetShaderInfoLog,"je":_emscripten_glGetShaderPrecisionFormat,"ie":_emscripten_glGetShaderSource,"he":_emscripten_glGetShaderiv,"ge":_emscripten_glGetString,"fe":_emscripten_glGetTexParameterfv,"ee":_emscripten_glGetTexParameteriv,"de":_emscripten_glGetUniformLocation,"ce":_emscripten_glGetUniformfv,"ae":_emscripten_glGetUniformiv,"$d":_emscripten_glGetVertexAttribPointerv,"_d":_emscripten_glGetVertexAttribfv,"Zd":_emscripten_glGetVertexAttribiv,"Yd":_emscripten_glHint,"Xd":_emscripten_glIsBuffer,"Wd":_emscripten_glIsEnabled,"Vd":_emscripten_glIsFramebuffer,"Ud":_emscripten_glIsProgram,"Td":_emscripten_glIsQueryEXT,"Sd":_emscripten_glIsRenderbuffer,"Rd":_emscripten_glIsShader,"Qd":_emscripten_glIsTexture,"Pd":_emscripten_glIsVertexArrayOES,"Od":_emscripten_glLineWidth,"Nd":_emscripten_glLinkProgram,"Md":_emscripten_glPixelStorei,"Ld":_emscripten_glPolygonOffset,"Kd":_emscripten_glQueryCounterEXT,"Jd":_emscripten_glReadPixels,"Id":_emscripten_glReleaseShaderCompiler,"Hd":_emscripten_glRenderbufferStorage,"Gd":_emscripten_glSampleCoverage,"Fd":_emscripten_glScissor,"Ed":_emscripten_glShaderBinary,"Dd":_emscripten_glShaderSource,"Cd":_emscripten_glStencilFunc,"Bd":_emscripten_glStencilFuncSeparate,"Ad":_emscripten_glStencilMask,"zd":_emscripten_glStencilMaskSeparate,"xd":_emscripten_glStencilOp,"wd":_emscripten_glStencilOpSeparate,"vd":_emscripten_glTexImage2D,"ud":_emscripten_glTexParameterf,"td":_emscripten_glTexParameterfv,"sd":_emscripten_glTexParameteri,"rd":_emscripten_glTexParameteriv,"qd":_emscripten_glTexSubImage2D,"pd":_emscripten_glUniform1f,"od":_emscripten_glUniform1fv,"md":_emscripten_glUniform1i,"ld":_emscripten_glUniform1iv,"kd":_emscripten_glUniform2f,"jd":_emscripten_glUniform2fv,"id":_emscripten_glUniform2i,"hd":_emscripten_glUniform2iv,"gd":_emscripten_glUniform3f,"fd":_emscripten_glUniform3fv,"ed":_emscripten_glUniform3i,"dd":_emscripten_glUniform3iv,"bd":_emscripten_glUniform4f,"ad":_emscripten_glUniform4fv,"$c":_emscripten_glUniform4i,"_c":_emscripten_glUniform4iv,"Zc":_emscripten_glUniformMatrix2fv,"Yc":_emscripten_glUniformMatrix3fv,"Xc":_emscripten_glUniformMatrix4fv,"Wc":_emscripten_glUseProgram,"Vc":_emscripten_glValidateProgram,"Uc":_emscripten_glVertexAttrib1f,"Sc":_emscripten_glVertexAttrib1fv,"Rc":_emscripten_glVertexAttrib2f,"Qc":_emscripten_glVertexAttrib2fv,"Pc":_emscripten_glVertexAttrib3f,"Oc":_emscripten_glVertexAttrib3fv,"Nc":_emscripten_glVertexAttrib4f,"Mc":_emscripten_glVertexAttrib4fv,"Lc":_emscripten_glVertexAttribDivisorANGLE,"Kc":_emscripten_glVertexAttribPointer,"Jc":_emscripten_glViewport,"Ic":_emscripten_memcpy_big,"Hc":_emscripten_request_pointerlock,"Gc":_emscripten_resize_heap,"W":_emscripten_run_script,"Fc":_emscripten_sample_gamepad_data,"Ec":_emscripten_set_click_callback_on_thread,"Dc":_emscripten_set_fullscreenchange_callback_on_thread,"Cc":_emscripten_set_gamepadconnected_callback_on_thread,"Bc":_emscripten_set_gamepaddisconnected_callback_on_thread,"Ac":_emscripten_set_keypress_callback_on_thread,"yc":_emscripten_set_main_loop,"xc":_emscripten_set_touchcancel_callback_on_thread,"wc":_emscripten_set_touchend_callback_on_thread,"vc":_emscripten_set_touchmove_callback_on_thread,"uc":_emscripten_set_touchstart_callback_on_thread,"tc":_exit,"z":_glActiveTexture,"V":_glAttachShader,"n":_glBindAttribLocation,"c":_glBindBuffer,"k":_glBindTexture,"qc":_glBlendFunc,"i":_glBufferData,"y":_glBufferSubData,"U":_glClear,"T":_glClearColor,"pc":_glClearDepthf,"oc":_glCompileShader,"nc":_glCompressedTexImage2D,"mc":_glCreateProgram,"kc":_glCreateShader,"jc":_glCullFace,"p":_glDeleteBuffers,"S":_glDeleteProgram,"R":_glDeleteShader,"Q":_glDeleteTextures,"ic":_glDepthFunc,"P":_glDetachShader,"O":_glDisable,"j":_glDisableVertexAttribArray,"N":_glDrawArrays,"M":_glDrawElements,"x":_glEnable,"f":_glEnableVertexAttribArray,"gc":_glFrontFace,"h":_glGenBuffers,"fc":_glGenTextures,"w":_glGetAttribLocation,"ec":_glGetFloatv,"dc":_glGetProgramInfoLog,"L":_glGetProgramiv,"bc":_glGetShaderInfoLog,"K":_glGetShaderiv,"o":_glGetString,"v":_glGetUniformLocation,"ac":_glLinkProgram,"$b":_glPixelStorei,"_b":_glReadPixels,"Zb":_glShaderSource,"Yb":_glTexImage2D,"m":_glTexParameteri,"J":_glUniform1i,"u":_glUniform4f,"t":_glUniformMatrix4fv,"l":_glUseProgram,"Wb":_glVertexAttrib2f,"Vb":_glVertexAttrib3f,"s":_glVertexAttrib4f,"e":_glVertexAttribPointer,"Ub":_glViewport,"I":_glfwCreateWindow,"Sb":_glfwDefaultWindowHints,"Rb":_glfwDestroyWindow,"Qb":_glfwGetCursorPos,"Pb":_glfwGetKey,"Ob":_glfwGetMouseButton,"H":_glfwGetPrimaryMonitor,"r":_glfwGetTime,"Nb":_glfwGetVideoModes,"Mb":_glfwInit,"Kb":_glfwMakeContextCurrent,"Jb":_glfwSetCharCallback,"Ib":_glfwSetCursorEnterCallback,"Hb":_glfwSetCursorPosCallback,"Gb":_glfwSetDropCallback,"Fb":_glfwSetErrorCallback,"Eb":_glfwSetKeyCallback,"Db":_glfwSetMouseButtonCallback,"Cb":_glfwSetScrollCallback,"Bb":_glfwSetWindowIconifyCallback,"zb":_glfwSetWindowShouldClose,"yb":_glfwSetWindowSizeCallback,"xb":_glfwSwapBuffers,"wb":_glfwSwapInterval,"G":_glfwTerminate,"g":_glfwWindowHint,"F":_llvm_stackrestore,"E":_llvm_stacksave,"vb":_nanosleep,"ub":_time,"sb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["re"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["se"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["Be"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["Ce"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["De"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["ve"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["we"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["ze"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["Ae"].apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_mesh_generation.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["be"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["ce"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"n":___assert_fail,"Q":___sys_fcntl64,"Zd":___sys_ioctl,"_d":___sys_open,"w":_eglGetProcAddress,"aa":_emscripten_exit_pointerlock,"Z":_emscripten_get_element_css_size,"U":_emscripten_get_gamepad_status,"V":_emscripten_get_num_gamepads,"$":_emscripten_get_pointerlock_status,"Bd":_emscripten_glActiveTexture,"Ad":_emscripten_glAttachShader,"Rd":_emscripten_glBeginQueryEXT,"zd":_emscripten_glBindAttribLocation,"yd":_emscripten_glBindBuffer,"xd":_emscripten_glBindFramebuffer,"wd":_emscripten_glBindRenderbuffer,"vd":_emscripten_glBindTexture,"Jd":_emscripten_glBindVertexArrayOES,"ud":_emscripten_glBlendColor,"td":_emscripten_glBlendEquation,"sd":_emscripten_glBlendEquationSeparate,"rd":_emscripten_glBlendFunc,"qd":_emscripten_glBlendFuncSeparate,"pd":_emscripten_glBufferData,"od":_emscripten_glBufferSubData,"nd":_emscripten_glCheckFramebufferStatus,"md":_emscripten_glClear,"ld":_emscripten_glClearColor,"kd":_emscripten_glClearDepthf,"jd":_emscripten_glClearStencil,"id":_emscripten_glColorMask,"hd":_emscripten_glCompileShader,"gd":_emscripten_glCompressedTexImage2D,"fd":_emscripten_glCompressedTexSubImage2D,"ed":_emscripten_glCopyTexImage2D,"dd":_emscripten_glCopyTexSubImage2D,"cd":_emscripten_glCreateProgram,"bd":_emscripten_glCreateShader,"ad":_emscripten_glCullFace,"$c":_emscripten_glDeleteBuffers,"_c":_emscripten_glDeleteFramebuffers,"Zc":_emscripten_glDeleteProgram,"Td":_emscripten_glDeleteQueriesEXT,"Yc":_emscripten_glDeleteRenderbuffers,"Xc":_emscripten_glDeleteShader,"Wc":_emscripten_glDeleteTextures,"Id":_emscripten_glDeleteVertexArraysOES,"Vc":_emscripten_glDepthFunc,"Uc":_emscripten_glDepthMask,"Tc":_emscripten_glDepthRangef,"Sc":_emscripten_glDetachShader,"Rc":_emscripten_glDisable,"Qc":_emscripten_glDisableVertexAttribArray,"Pc":_emscripten_glDrawArrays,"Ed":_emscripten_glDrawArraysInstancedANGLE,"Fd":_emscripten_glDrawBuffersWEBGL,"Oc":_emscripten_glDrawElements,"Dd":_emscripten_glDrawElementsInstancedANGLE,"Mc":_emscripten_glEnable,"Lc":_emscripten_glEnableVertexAttribArray,"Qd":_emscripten_glEndQueryEXT,"Kc":_emscripten_glFinish,"Jc":_emscripten_glFlush,"Ic":_emscripten_glFramebufferRenderbuffer,"Hc":_emscripten_glFramebufferTexture2D,"Gc":_emscripten_glFrontFace,"Fc":_emscripten_glGenBuffers,"Dc":_emscripten_glGenFramebuffers,"Ud":_emscripten_glGenQueriesEXT,"Cc":_emscripten_glGenRenderbuffers,"Bc":_emscripten_glGenTextures,"Hd":_emscripten_glGenVertexArraysOES,"Ec":_emscripten_glGenerateMipmap,"Ac":_emscripten_glGetActiveAttrib,"zc":_emscripten_glGetActiveUniform,"yc":_emscripten_glGetAttachedShaders,"xc":_emscripten_glGetAttribLocation,"wc":_emscripten_glGetBooleanv,"vc":_emscripten_glGetBufferParameteriv,"uc":_emscripten_glGetError,"tc":_emscripten_glGetFloatv,"sc":_emscripten_glGetFramebufferAttachmentParameteriv,"rc":_emscripten_glGetIntegerv,"pc":_emscripten_glGetProgramInfoLog,"qc":_emscripten_glGetProgramiv,"Ld":_emscripten_glGetQueryObjecti64vEXT,"Nd":_emscripten_glGetQueryObjectivEXT,"Kd":_emscripten_glGetQueryObjectui64vEXT,"Md":_emscripten_glGetQueryObjectuivEXT,"Od":_emscripten_glGetQueryivEXT,"oc":_emscripten_glGetRenderbufferParameteriv,"mc":_emscripten_glGetShaderInfoLog,"lc":_emscripten_glGetShaderPrecisionFormat,"kc":_emscripten_glGetShaderSource,"nc":_emscripten_glGetShaderiv,"jc":_emscripten_glGetString,"ic":_emscripten_glGetTexParameterfv,"hc":_emscripten_glGetTexParameteriv,"ec":_emscripten_glGetUniformLocation,"gc":_emscripten_glGetUniformfv,"fc":_emscripten_glGetUniformiv,"bc":_emscripten_glGetVertexAttribPointerv,"dc":_emscripten_glGetVertexAttribfv,"cc":_emscripten_glGetVertexAttribiv,"ac":_emscripten_glHint,"$b":_emscripten_glIsBuffer,"_b":_emscripten_glIsEnabled,"Zb":_emscripten_glIsFramebuffer,"Yb":_emscripten_glIsProgram,"Sd":_emscripten_glIsQueryEXT,"Xb":_emscripten_glIsRenderbuffer,"Wb":_emscripten_glIsShader,"Vb":_emscripten_glIsTexture,"Gd":_emscripten_glIsVertexArrayOES,"Ub":_emscripten_glLineWidth,"Tb":_emscripten_glLinkProgram,"Sb":_emscripten_glPixelStorei,"Rb":_emscripten_glPolygonOffset,"Pd":_emscripten_glQueryCounterEXT,"Pb":_emscripten_glReadPixels,"Ob":_emscripten_glReleaseShaderCompiler,"Nb":_emscripten_glRenderbufferStorage,"Mb":_emscripten_glSampleCoverage,"Lb":_emscripten_glScissor,"Kb":_emscripten_glShaderBinary,"Jb":_emscripten_glShaderSource,"Ib":_emscripten_glStencilFunc,"Hb":_emscripten_glStencilFuncSeparate,"Gb":_emscripten_glStencilMask,"Eb":_emscripten_glStencilMaskSeparate,"Db":_emscripten_glStencilOp,"Cb":_emscripten_glStencilOpSeparate,"Bb":_emscripten_glTexImage2D,"Ab":_emscripten_glTexParameterf,"zb":_emscripten_glTexParameterfv,"yb":_emscripten_glTexParameteri,"xb":_emscripten_glTexParameteriv,"wb":_emscripten_glTexSubImage2D,"vb":_emscripten_glUniform1f,"tb":_emscripten_glUniform1fv,"sb":_emscripten_glUniform1i,"rb":_emscripten_glUniform1iv,"qb":_emscripten_glUniform2f,"pb":_emscripten_glUniform2fv,"ob":_emscripten_glUniform2i,"nb":_emscripten_glUniform2iv,"mb":_emscripten_glUniform3f,"lb":_emscripten_glUniform3fv,"kb":_emscripten_glUniform3i,"ib":_emscripten_glUniform3iv,"hb":_emscripten_glUniform4f,"gb":_emscripten_glUniform4fv,"fb":_emscripten_glUniform4i,"eb":_emscripten_glUniform4iv,"db":_emscripten_glUniformMatrix2fv,"cb":_emscripten_glUniformMatrix3fv,"bb":_emscripten_glUniformMatrix4fv,"ab":_emscripten_glUseProgram,"$a":_emscripten_glValidateProgram,"Za":_emscripten_glVertexAttrib1f,"Ya":_emscripten_glVertexAttrib1fv,"Xa":_emscripten_glVertexAttrib2f,"Wa":_emscripten_glVertexAttrib2fv,"Va":_emscripten_glVertexAttrib3f,"Ua":_emscripten_glVertexAttrib3fv,"Ta":_emscripten_glVertexAttrib4f,"Sa":_emscripten_glVertexAttrib4fv,"Cd":_emscripten_glVertexAttribDivisorANGLE,"Ra":_emscripten_glVertexAttribPointer,"Qa":_emscripten_glViewport,"Vd":_emscripten_memcpy_big,"_":_emscripten_request_pointerlock,"Wd":_emscripten_resize_heap,"y":_emscripten_run_script,"W":_emscripten_sample_gamepad_data,"ya":_emscripten_set_click_callback_on_thread,"Aa":_emscripten_set_fullscreenchange_callback_on_thread,"ta":_emscripten_set_gamepadconnected_callback_on_thread,"sa":_emscripten_set_gamepaddisconnected_callback_on_thread,"za":_emscripten_set_keydown_callback_on_thread,"ae":_emscripten_set_main_loop,"ua":_emscripten_set_touchcancel_callback_on_thread,"wa":_emscripten_set_touchend_callback_on_thread,"va":_emscripten_set_touchmove_callback_on_thread,"xa":_emscripten_set_touchstart_callback_on_thread,"Xd":_emscripten_thread_sleep,"S":_exit,"R":_fd_close,"Yd":_fd_read,"Oa":_fd_seek,"P":_fd_write,"p":_glActiveTexture,"D":_glAttachShader,"j":_glBindAttribLocation,"a":_glBindBuffer,"h":_glBindTexture,"Fb":_glBlendFunc,"d":_glBufferData,"v":_glBufferSubData,"K":_glClear,"L":_glClearColor,"_a":_glClearDepthf,"Fa":_glCompileShader,"La":_glCompressedTexImage2D,"Da":_glCreateProgram,"Ha":_glCreateShader,"ub":_glCullFace,"l":_glDeleteBuffers,"G":_glDeleteProgram,"H":_glDeleteShader,"J":_glDeleteTextures,"Qb":_glDepthFunc,"I":_glDetachShader,"M":_glDisable,"g":_glDisableVertexAttribArray,"O":_glDrawArrays,"N":_glDrawElements,"x":_glEnable,"b":_glEnableVertexAttribArray,"jb":_glFrontFace,"e":_glGenBuffers,"Na":_glGenTextures,"u":_glGetAttribLocation,"Nc":_glGetFloatv,"Ba":_glGetProgramInfoLog,"F":_glGetProgramiv,"Ea":_glGetShaderInfoLog,"E":_glGetShaderiv,"m":_glGetString,"t":_glGetUniformLocation,"Ca":_glLinkProgram,"Pa":_glPixelStorei,"Ia":_glReadPixels,"Ga":_glShaderSource,"Ma":_glTexImage2D,"o":_glTexParameteri,"z":_glUniform1i,"q":_glUniform4f,"r":_glUniformMatrix4fv,"k":_glUseProgram,"Ja":_glVertexAttrib2f,"Ka":_glVertexAttrib3f,"s":_glVertexAttrib4f,"c":_glVertexAttribPointer,"$d":_glViewport,"B":_glfwCreateWindow,"pa":_glfwDefaultWindowHints,"Y":_glfwDestroyWindow,"C":_glfwGetPrimaryMonitor,"i":_glfwGetTime,"oa":_glfwGetVideoModes,"qa":_glfwInit,"da":_glfwMakeContextCurrent,"ia":_glfwSetCharCallback,"ea":_glfwSetCursorEnterCallback,"ga":_glfwSetCursorPosCallback,"ka":_glfwSetDropCallback,"ra":_glfwSetErrorCallback,"ja":_glfwSetKeyCallback,"ha":_glfwSetMouseButtonCallback,"fa":_glfwSetScrollCallback,"la":_glfwSetWindowFocusCallback,"ma":_glfwSetWindowIconifyCallback,"T":_glfwSetWindowShouldClose,"na":_glfwSetWindowSizeCallback,"X":_glfwSwapBuffers,"ca":_glfwSwapInterval,"A":_glfwTerminate,"f":_glfwWindowHint,"ba":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["de"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["ee"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["fe"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["ge"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["he"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["ie"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["je"]).apply(null,arguments)};var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_mesh_generation.wasm b/examples/web/models/models_mesh_generation.wasm index d146900..0b32e03 100644 Binary files a/examples/web/models/models_mesh_generation.wasm and b/examples/web/models/models_mesh_generation.wasm differ diff --git a/examples/web/models/models_mesh_picking.c b/examples/web/models/models_mesh_picking.c index d68c44e..7d1c19f 100644 --- a/examples/web/models/models_mesh_picking.c +++ b/examples/web/models/models_mesh_picking.c @@ -80,7 +80,7 @@ int main(void) //-------------------------------------------------------------------------------------- #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_mesh_picking.data b/examples/web/models/models_mesh_picking.data index b7eb703..25e3636 100644 --- a/examples/web/models/models_mesh_picking.data +++ b/examples/web/models/models_mesh_picking.data @@ -1888,8 +1888,8 @@ f 506/327/93 518/324/93 517/323/93 ‰PNG  - IHDRHÃÛ±sRGB®ÎégAMA± üaPLTE   -  " & ( ""((133;:  '# &$ %+,'(!(/;"8)=7###%&('('&(()%#(&(+(&+++-/0.0..010'%0)&1-,0/030.333568686689955868;86:;;=[<"`"b$ e( h& k)l,d< `>`?h?s+ r-y0`?!@?@G@^@MF!C@>UK$^D2\S(n@bAeEfHiCkHiIsA sLxRfF'kL2e[-nS>yV%uU9i`/lb1uj5}q9CCCDGHEIIHFEHGHLIEJKKFOPMNPGPQMQQNWXNYYQNKPNPUQMRSSUVXVXYYVRXWX]YTZ[[]_`^``a]X{[A`_`gb]bcceghfhike`nicjkkmopmpprlgxrlzvr„HM‡U”Z‚[ •c|ˆd$„x=¡_¨i¥q´gµqª{*³{!€_C‡fJkQ‰}@‘nR˜uY‚|už{` |_¡}aÄw¼€¬ˆ)£7¾‡"´‘$²’6A–‰FžJ‡{£•MªœP®ˆj¯ S½£M·¨WÉ#ɨ2ʬ@ò]˹aпdÙÆhàÍlãÐnë×qòÞvóàv‡„‰…/hþtRNSÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿS÷% pHYs  ÒÝ~ütEXtSoftwarepaint.net 4.0.19ÔÖ²dûhIDATx^ìýÿoWž& + IHDRHÃÛ±PLTE   +  " & ( ""((133;:  '# &$ %+,'(!(/;"8)=7###%&('('&(()%#(&(+(&+++-/0.0..010'%0)&1-,0/030.333568686689955868;86:;;=[<"`"b$ e( h& k)l,d< `>`?h?s+ r-y0`?!@?@G@^@MF!C@>UK$^D2\S(n@bAeEfHiCkHiIsA sLxRfF'kL2e[-nS>yV%uU9i`/lb1uj5}q9CCCDGHEIIHFEHGHLIEJKKFOPMNPGPQMQQNWXNYYQNKPNPUQMRSSUVXVXYYVRXWX]YTZ[[]_`^``a]X{[A`_`gb]bcceghfhike`nicjkkmopmpprlgxrlzvr„HM‡U”Z‚[ •c|ˆd$„x=¡_¨i¥q´gµqª{*³{!€_C‡fJkQ‰}@‘nR˜uY‚|už{` |_¡}aÄw¼€¬ˆ)£7¾‡"´‘$²’6A–‰FžJ‡{£•MªœP®ˆj¯ S½£M·¨WÉ#ɨ2ʬ@ò]˹aпdÙÆhàÍlãÐnë×qòÞvóàv‡„‰…/hþÉ“IDATx^ìýÿoWž& Ë'”eQ#F¥QºÅM<ŠB¥!­R8¦U i—8#&’ØÉ¦óem^9Ž‘à¾=h`ï"hä—™ö/(ËéÚ¬ð¦/Û³«éÁ»Þ¾7¸û½Ïó|N‹)É’“î;é§HÖ÷SŪó|>ÏùœS§Æ¶‰-¢Chj¸FhJЊ6±™A›Zû¿{ÄBSZñ¢ñˆBC=ð‹¯àùÓQös7Áɤ*)jµÚê*SjaÏÇ5ŒZ\a)¯Áj-¬áÖâ 6jÚ+*$‡#M‹…BÑÃd)J´Ëñùw„ïÞýä8îž÷\Ÿ0í_~þËt¤>ô-ºàÒDªnqïž[8Øâã»÷R¸…§á [ÚÁO„û³€»Ÿ ÝO>Æ&îåÿDn—×:¸•9à–¼á#á|†` ¤/5w:;[;;;¤7l¬€ã? MÚ¯ö™mòÊ+¯œ`dWÎ¥x ¶Á맀㠀Ÿßs|·Ÿå*ÇU 0ËZ€ßÕÌ`"ŒæŒj_’áXâ 6¨Åõ€Z@P¡˜›£(Ç®VÃà ÖÃ5ÎùánøùñÙ§ü¹ÿùgð‹Y÷>ùì3—[søü® ŸÜuÙëC ý°e¹¥÷°GÞ Çö8aÀÒÌ*ôãó_7Ÿ¹„eì|qÆ÷xf¢wzš6|vÿ3àÓO?ýä¾Önÿ|†­ïÝÿ,ÝÑ6åÔPØ?äeãÀ38Æ?ü¥ñ§ðoG\aœÎÉmëþ‡Àýþ17ü @@ -2269,7 +2269,7 @@ e sä•þ.DÀj¶¨Ïè¦Ô·³Úªã×`÷Ú€]Ñmâ@ÅÚœ*€=. 7øRAÀ;íN×f= äÿ®– –DoZ³y7 Ëke?üèöb”ðÛ£§H ÆÐú°™=r?:Ì’¦¼:Š{R!\&…žÈÇ|‘PzF¾²@ÓjŠÛ(i#ßóVK¨Î$‚¯F1|…M)€é¡¯¥®00ÕðïÑàŒå8¿Ì¤Â¾²¿÷úO¾¢m–K8e/%î0I¹‹'!¬9Ôœ?iÂmzšÃ8¬– sn:W°¢»Ä¢Ãa0;[ -£ø°Üþ9Œ’œ4D°Ãkˆ¿â).¯mŠM":ò<uÔõm¯‡aTEÈÓS•0ô¡½kÕxÿôIDAT!2xå2eó«¯ÓÃMU_6ƒB!"“ÉÔCã:ËÊ1ñrI6›œœä#±¢$~ò\âçë˜\±7•ædùA1ùù¬A;‹TÀõchùàßÇïVþi§³×ã…è=ÓjíÅj¡xÀÿ.ÞûŽUÆÉÃÐ0Â÷LìhTOÃ2šC +£ø°Üþ9Œ’œ4D°Ãkˆ¿â).¯mŠM":ò<uÔõm¯‡aTEÈÓS•0ô¡½!2xå2eó«¯ÓÃMU_6ƒB!"“ÉÔCã:ËÊ1ñrI6›œœä#±¢$~ò\âçë˜\±7•ædùA1ùù¬A;‹TÀõchùàßÇïVþi§³×ã…è=ÓjíÅj¡xÀÿ.ÞûŽUÆÉÃÐ0Â÷LìhTOÃ2šC €-DŸ ®ª"ÔHƒž@ÑG6f…S6° GÀ]ÚRíØïh A\S â;Ü.èßßïïRü«UÁàåö‡—Yä'ß’ØiTšý°Pò¥Ú’h¨~ÿñQôõqLöðO“Âk5|„žù—8$°X1aùÆÚá¶¶‹Õ"|”ÅËÃ8ð5 ؇%§­Ÿ8^h¹`KÁþT([[ÇÓƒt;9ÀÑ¿ÿJS•n¨!„_Á uuœøeš¾L‡k¢‚hS'æPù¥rñ°•¼Ê³ê+ó$}®1j¢XÝ™%&ÉŠI¶†c£ïz ?Ôr¤_lÖòõ‡˜$¸¥–:ø½ä)}ßô_q³ 4N†_Áb<(›ašV–f!þ­÷µUHE'jLä±vMbZpâ9¶ZhužZt„KU9ža=ª×7¼ •’Öù‚e^U_lì•5ý€{~FFý"çåˆÝÔñTgü„·‚B)" Êl6F%RõOþ†‹Cðã×gÃô€%©Ú$ls,Ö$dˆô`$o!‚Ì·¶éS& »X\/€b€íU· ` h<;ˆ¬´v;à*hgŽ+¸ÓÞ :} vµ-§€eS.€ÐéP¶ç-¡ P‹ÒPÔèîh„´?ÄÅGðÙ¾®¿óK€fýŽ40¡ÿK ;&´@Ìù?×àëaàÍÎΊž§¡\\/J4ïº}Ím38 ‚– EQ}êéW㫳­F̪Z]ÁcU Gâælÿ¼l‡¨úèºK-WŽ üöƒBDÞ#2*©…øV¦Q ôÕ™µòJëm-¶•”-6tjyûåF,ý”(Å«¥äÒGìí¤IÊCÌZ¯lúƒ^68žŸ! ‚dÙéagªáVû}ÿÂA¬ `´Õhm·ÔI#Âÿ©;Ô½q~îHŸj«ƒm^a6˜˵$7Ò‹—“Çù•™ Á$Nü`«ÑHá–ºêøU¿^Zª©±šŽ``_/›5°TZu÷{jºi?—qC\+±‰ùÞÍ‚èâ±Dš3DD©àÉ) ŽÔآέ´ù'q²bšØÖVœØ¥ú7¶¸¬:TÃ)›1è^¢® X  ØYY‘ 0PG5Ë88à¾õUˆC ”SFw@æô<ЇT<·ÙÂèC‡¶'љԶ€uxt¥MyÎ…©ì·Xa§ý´ÒíêÌZú%;âì[K@ðÿ…S¬W A—šûþx{=6±ùD/!€Ø_N ^af¡n)•3@êk2iȲ«²B=¨G®ó 7ÉuµñWÛQŒÏšrp$?nÕëéò ’¥T*Íþt®ÄQp0<Ü÷/~ù¹ Üä @@ -2625,7 +2625,7 @@ i3/ ¤€1V °fÌ# @ À3€Ú\47U2€:ª@jA¨@uWÆD ÀQd éÓÚRähJ@ -O*€žOt~Dæ˜(ÐBR§&6'¡êA, F4*F")9?,`lb(¦R´©4NïÍñÒ•²‹"2:±ºÈåטÖÝÍÆ$™ÁÕúÎÙ„ñŠÜ–©¹9K3HWajXn ýBÈ©”Ê–ŸÏXÏÔ¤™5iŠ©«Ç£Â±÷›ç)ÔðÜÚ¬éÑXéñ!‡iŠƒäÅ~ÿôIDAT­½0GçëòŸÔ5Á¢ú¶ø§¡kwÚ¶B| êÌæK°»Èÿet¢ƒ°DÿÇ!ó,º¼]ÂB,•ýºkƒØÛ޶βò €ÆÂÎæTÑû,iÇ7RxQúó’·¾¸2hÀ£© õ1€c QÉw °&c_1€Q¥gÇÄÜ!ô²/ÛôÞ 5–€ªÒуȯ­·óM,ý LQæ>s=¯}d„¿ý +O*€žOt~Dæ˜(ÐBR§&6'¡êA, F4*F")9?,`lb(¦R´©4NïÍñÒ•²‹"2:±ºÈåטÖÝÍÆ$™ÁÕúÎÙ„ñŠÜ–©¹9K3HWajXn ýBÈ©”Ê–ŸÏXÏÔ¤™5iŠ©«Ç£Â±÷›ç)ÔðÜÚ¬éÑXéñ!‡iŠƒ­½0GçëòŸÔ5Á¢ú¶ø§¡kwÚ¶B| êÌæK°»Èÿet¢ƒ°DÿÇ!ó,º¼]ÂB,•ýºkƒØÛ޶βò €ÆÂÎæTÑû,iÇ7RxQúó’·¾¸2hÀ£© õ1€c QÉw °&c_1€Q¥gÇÄÜ!ô²/ÛôÞ 5–€ªÒуȯ­·óM,ý LQæ>s=¯}d„¿ý `3ÞüXÚGp ß»ÿ倃ºgu+ºcZ[ˆ@…Çý;‰œl*$n¹”ƶÞ*ð‰«pí¤<è|rÐnß.>#˜ Çh‘l À@½2¥'ôθ#‰”¦>uÓi #0Ái¦¾¶VñÍ›€¿¼yc-c^þ„@W¿SºWZúþ¦2 ê-)€%ô ÀS8c.µ“iˆHó6Zw±Ê“wibœ•¶ž_FFÒ­J"bÅIôA­Ä&Ú‡«wÅÁ­«1ƒt£NÛ5YåˆÊõŠŽÍáû^^ö7Öi˜¾è§iÿO‡‡¯óWyÿÆíÝ ‡@ @¸¿ÎÛ–Ž[ûPé–ì:ÎKvŸ“¹ Û_0€1W àb£µ0~‰a·>ùôë~UÄN0€3c_sŒã @ö?úP `-f– >»& ºþ8¦F2×—a*ˆoÿ|çös0¨ÌMû|šæ·ÛG§3€ÖêD™ëí€tЦÊåZÌq’·‹Hûxráè9 ieúŠhÖ àþÀ;LêLŒÔ`·3‹Îx àû¬­˜ž‘ @ ºÌq ô À´LW˜  vó|àÔÌÜä€x0vi ïÒø¥Kã%•Q±•Q>¢ã´q\›µÞ>`Oý°SI[™†…ÉXdÆÆq€dšdœHÍ›?”yZ«è ¬bÇñ’²µùZ\¼f²Ð\ ›6犬ó®4›¡Šòz¸²¾¸Ø\qó«èK²Øh\S„¶Á‚ÖÅóM¿Õö×>‹×He;-^Ó7V0 ¯­kíNòýš,i!úôF=N_bP6D;xÛ~þùºäöpÿl«}sß8ë-­k h `Ê~äc @@ -2995,7 +2995,7 @@ a ðÌ?¹À¦‹@˜ù‡dóÙܙÓC6@nV êNsðÝÜé¡Á¡AFfðÛ‹%†yçJÁô<µ:Þ¥¿Œ×]š›g£›¹rñ ëhà‰sXã¶_8Ô+¯im=Ÿ\hø©U«lëST‘å“JjX¤ïek¤TnL7ÊðªËÕOZ*yø–Ël™„ô —Ùˆ kåeíàÑ˸ֹB~ _šŸ¯Õªå°Ê‚ªþÉý€žôÿ_ûŽ<·"âÆ-n¸å?Tì]ŸŒpħ.P'A= ¿ŸX ÀÁÞ@Ê„ÿÚåËYà:åB3Õ†óÚ}æWäî|€ž ç9Àµn‘“FÆÙì{HñºÄ± <œBmP ŸÎP–÷Göý±!8¥Ü„]À/4@•‚üJ8„q\õÍ `ðH  Jyfü)7à’ÓöÏ.¨M_Èh‚ÿŒSÌ2öÎl‡¦àþü¨i€”LM™Ó ¸íð¡þÁ °i)€þöñ6ô³„Õ ¨àZŒÜSãÿGÕÀATzø ñ>”*Ž[Ëq/“ l訋‡öÃÐ]mSŒ{K~ÐôU¦|²be«TÉ<ûÖ›IØ®ë[Í„#G“ ¬àà²Êøk* H…ªb•5 @@ -3368,7 +3368,7 @@ A ÿ½`èÈþÈ} x 0Ë_`µ¼`{Ca™É:€ÉØÀð(šép}3¾’ñÆúøÚë :€`¿Yc¦oÂѸÀ?Ö+Žæ§@åÓÎ@øÀ™‡èW‡Á!rOvßï¯~p|òEøé•B)¨T¼à×8î|ýù{øÝ(xÙ‰àë¿Eà0lÞž‡æèéXùatO™?C€¬ÀSYÿ¤ ÿ|Šÿ²“àÒÛ @úãén" -)ÕjäóÁ>³2™ÙJË$"ÖTOˆ€™þm|B'`ÏzÂüx’àyP&ø¨±@g2È$´Çñõê0˜þr ?çvN‚íâx–õ‹ÿp“Ss²VÈ—Ì¢0ûð) އêÿ8Èü5Kã¿7ð0€4óm¢ÈðnA?Ìý] §€óC¥4XCGä/Ù0>¬´V¥iø}¾ÚZ°¿Ð_Ž#Ôg «û(fÛˆ[Eï­ Üêäñ9×ý5ÆXçö°Aÿ -ô*Óë¶å5««ÔÌ' «A»¼Æ°@9 ŸüÝêÄ÷©‰ ùA«Êê~k'¬WÛól̬ZIC!Ÿ½ôÕXL%ú„ŸË=+_~æhß–Ü=Bê(@€¯x'hl'IM9MüN9 ÷Á¹Ñ¿›¢Ø8g paÓee&–¬77·6›XD&ñÓ·ícõ‡Ìÿ·Û|ÝÞ¦þ¤'–6ðu¬äƒß·Ã"À®äèN³¦CSrÜÑùøŸÀ?·òãŸÿôIDATZ@·ßˆòni` @äåI~µfïÀ¤¸¾eƒ˜Ôéf؈/Œ€:„€,t€®&^,]2Ò8Íà$—¾ÇÌ¥¹oÀp$˜ùKŒý="O¬2 äÇ3Ù;+\ûÏ ¦QŠØŽ>m\-ͯsIüÇ3Ú <»çVcAð.wıvƲ¬`K=ãÞYpçsÓƒ gpè<¿™úU +ô*Óë¶å5««ÔÌ' «A»¼Æ°@9 ŸüÝêÄ÷©‰ ùA«Êê~k'¬WÛól̬ZIC!Ÿ½ôÕXL%ú„ŸË=+_~æhß–Ü=Bê(@€¯x'hl'IM9MüN9 ÷Á¹Ñ¿›¢Ø8g paÓee&–¬77·6›XD&ñÓ·ícõ‡Ìÿ·Û|ÝÞ¦þ¤'–6ðu¬äƒß·Ã"À®äèN³¦CSrÜÑùøŸÀ?·Z@·ßˆòni` @äåI~µfïÀ¤¸¾eƒ˜Ôéf؈/Œ€:„€,t€®&^,]2Ò8Íà$—¾ÇÌ¥¹oÀp$˜ùKŒý="O¬2 äÇ3Ù;+\ûÏ ¦QŠØŽ>m\-ͯsIüÇ3Ú <»çVcAð.wıvƲ¬`K=ãÞYpçsÓƒ gpè<¿™úU ÂvËwaA|uõQtý˜¡=,Z3ájj$ŠðtÞuŠS_Æ“]™ò¾k2´•r¯ýeŒ×P2ù©£åKÄÈÈ9£|€ ÿíÆUÿñ•!A|PG’Bz#ëz€Êÿ÷ïïÝßkîí0áÅ ŠEB´”‹ÉB€|l@  €IN‘ŒñpÞø¸YïÄï"ó™×ã\À 6P!2|Pç͈vx'©flpçÿ5ÓYâÌ`ÏE ¸žà3rûîg 5ü„ííþk‡É©Ý $y0ªã¦ $/À_‹$˜(À ⢠hŠ€#ø™ õc Ðmàòÿ V}w'¼”ÿ7™ñ,迸¼¼ 0SŸ®!æÈ€mu9ä‹è²•MCÙ0¨M‡Eo1{éJ‘¼$ •Ÿ‘ïLXµýÅ‘ŸpÔ ¿<¨"‡Ç—W«åò;ئ܊–À~ʾ•&€qÎVظzœ;æ‘ø,`"ÿ/gF2y6ôo”+Ó?ͽ6 úãÕ±ò%ôGN7ÂáwR°V, ˜áÇ“þ€EpÜRB‹s%¼û÷wbÜGæÛ— ˜9?ŒRqSKäÿ¦jü7Vj¸.nþßÌ2‘Ýßûä-@ü: 7 þàë :äÿö6Sy=åsè‚8úÈ윣ü $ü?Yå§xï` S ðâ§â52È ¶Û˜S `õ²jÀšLŸî¥»Æqþ…c[}ÀÕHúÛ:˜eSîÿå(~â³ÿþþ¤ýÀ÷VI&V„³KP™kÒ<¦Irb9qÜ2ß¼ŸÏI Ð'Å9À¦_,ûa•7 €ñì»Ä"À @@ -3669,7 +3669,7 @@ P X/¿ŠT›¬ót5€åôw@ü,!3Ó·7;m¦”€¨²rE:)Eš Pt™€Ø†€ Œ ±Ž1[/ÉHPÏÁ¥"`Ç q<I°_R D^Ëg¥Î”[¥Û­ÛI)@k­»GÏ¿ñ²:9â|uniZ±Î¬Àó^ƒŸBËÁ ¢5²ã*@°Fá—½ê+ ô7)±*=õúÊa᳞,@ {Œ‘0r¸6 ˆ¿È¦<‹xRæEà6Ñ­Þ“?§ÿpÒ¥›s••ƒ ×¿ëIµÓ¯7ë‹•©©z3jTÃ÷\jçD8î ° ZFöd:åü eHMPö6pø“öI?Àè¯_b¡5™ƒ ö‡#ã0°YÏÍš€ê O᨜Ài€q#Â;kº-ðÇ8‚Ǻã“; ÝnÌRÊ\ç€ÊÌ@*I€"cióZ^Ñ úgzº€·²š@ŠþY)=ìÝ1Û@¥€H…•ØÚ‚ÿHÉFzC¢íN÷]²®í.nÝ‚‘§) v8¼UºC`¥Á$€:è€ý¥€úÁ+ ê°p™€‚ÃR€²U»cE›Æ¢è³tŠúQ/Žú±WY@ê]µýâþa¿ñä˧ñAŸ•à ®G‡O>ýª±{øäË'_>‰â§aøYÿ€•YÛ¯†¸b\÷~ÔŒ‚©ààñÓÃ_<ý÷n¼ßq|ÈáÆûHaÜ £Þaÿñ—‡_ÕBÜøË_âOÃOãþgQ?aÆþnÈãoàÄ/~­FŸ÷ ~ÐÂZm7 xØ)pÜ;`èÊÂ!Òÿœ@øM™uìÚÇL€-f²•¿ƒñŸ‡Û > ¹…*á”âÿ&zýCáØ8lž(j4¶/t¦,60LÀðîV;b¬¿f•üi[’cQ`ð§ú€o·™ ‹îÂ\¹2£ù;L¹‡I€ÔÈp]7å‡è¯?~°À4Ò -¬`~LˆÊSØ:)Ýí®–JV½Ïø?0ð;8¬³Ó*¶L°³í€ ‹›ìÒÎ[IDAT``` ©€`݆`!!°aŸ€;%öA îgÀêàW«…ññ‰\¥PŸŸÇ†Fcö ¿Q[â_Ãêùs¸N®¼ÞƒÝŸ6jþ |¯iQ»1ÿúK7joïªW6Ôñ–pµ¥¥FpëÑÀ%ýÆ|•´7ŸŸoTAäp7À³ðžÀÚ <›5pCãÛAn@-”æçÙ^(_Á¡K¯ßz}ökà¸w&àÂÔÊ{ Aøby½ÕÎä«ñ—ÒßQú˜`įƒÔ±/?ù%ö‡#ã0ÆÆžÇc»<52v s¸ ÒÀýNg“-€c¢s6NÍœ°ªÞ”ÀúbYÀ¦’úÃ̬?ç ¸2]j;@°”´Ñ_K +¬`~LˆÊSØ:)Ýí®–JV½Ïø?0ð;8¬³Ó*¶L°³í€ ``` ©€`݆`!!°aŸ€;%öA îgÀêàW«…ññ‰\¥PŸŸÇ†Fcö ¿Q[â_Ãêùs¸N®¼ÞƒÝŸ6jþ |¯iQ»1ÿúK7joïªW6Ôñ–pµ¥¥FpëÑÀ%ýÆ|•´7ŸŸoTAäp7À³ðžÀÚ <›5pCãÛAn@-”æçÙ^(_Á¡K¯ßz}ökà¸w&àÂÔÊ{ Aøby½ÕÎä«ñ—ÒßQú˜`įƒÔ±/?ù%ö‡#ã0ÆÆžÇc»<52v s¸ ÒÀýNg“-€c¢s6NÍœ°ªÞ”ÀúbYÀ¦’úÃ̬?ç ¸2]j;@°”´Ñ_K ï0” @ fS›]¬/È·S:Ûï€|ïÞ)•­‚¿ À €ÔÆÝ‡%¤p۴€G0;„¥‚€ûƒ¡Á Dá*—’<†ïpÀ`·fUàAcð¤V w«/äYy^¼ªEÑ£F° .ß vãˆM8hþ4Øõ—‚AsТ¨ñÓpw7ÜmÁþ>ÙÇÃnD /ÝÄ®_¨4 ¡»Št\“€cˆû_ì"æG¼Gœ Àv‡»³»Ÿáæ¿àˆ¤G@ p"øZ°»E¯ÿ4vyzÝâ€æþ­Ê-ÏßðÑ~­);evÜ;p* FDª®Âxš)€!ŒüY 0` ýq[yœþÈœðÿÀV9€â+î¤:Ú}\ &Ô žÂ½˜Hd¸®ÛàTþ Iý¿k9±þª ï23ðî&ê|Cœµš:€+Óß¡¨‰è¡æ€‘>œoNàÊ•$9Ó<0ê,ߎüe4ÝÝF=+@zS&̰Al1(Úœ€È@;P€dÏ8€L Õy_à€%ìÖ;c`Ì`ŠÂ}ðe%ÿbÅã±ÊQuã¨ÀÃGúÄÑAüøsPña¼1¸Õ‡ÅŽzáAŸî¾¬FO¿Ä³†u?\Á3A oá’ð§¡æ¸w& €œC6þX 0ÍŠ€C™€$wVÜ'ÀÌwr-9kè× –\1~ýCáÈ8 ê¹]ô/@óia`“ ÇB9‘]IÓ·e8 Ü)Â9¦úÎp’˜ýçk+µ7áëTo˜ÿC@î3YEF" wãVÖ 6ðRƒ©ÃT@*È‹ £bæö;€ÁÉYSpûv˜l ½‚}üŽý:À:„ƒ2“Ô0ÇÈnGß)Ê 4$pó¦ŸLµ›µ%,k¯åÆs•E楩^@T¿X˜éÇl?ö¤ 8CX‹>k6Ãz=ˆ9j@ îÃÇçÕ~/z‡Áâ¢ïU–{_>nž–ù¦KŽ+­0ç‘첈•ßVª_D¡rqs% <ÅÞìWÿÝÃfpp¸RFõzï˸îyH>¨BsþkÀqïLÀÂñ,~&ÿúØÝÄt‹càfs¡ÕçË¥bÙ5èÀ(÷Ž_Ç‚üÊ@L’83Ùõ‡#crûl ;b\¸»o„ Ñ)æÓ$¶1_³»‘Û¹!ßáÕòÀàc½üjò’D½Òßá;WàÚ©Èü›ÿÇOM¾óƒ`š@ÎÓ–¹Î…ŠÅÎo¦®ÌL@æ<¸Ovš°2Ïý„Á„@€}eàŽÚ-#âg)à>@&A§Ó ˜”J¥ÛeÌ @@ -3935,4 +3935,4 @@ Q ` pwÀÈüÀ3©<s8oÊÌ®ÏðÔ®¸1ú?ðr(<ÉÄ3æp¤îm½@ü>¡$À~JøGàk#ÂøŸ,€|} =ް<ïp Î0ÇH¿»¯´±] €c™n='TŒþ‰ ôT;­JàÄwüžˆMšcŸwqØGœß]Ážù‰T£í|NÎ~›ˆ±-ÀªCÛ&ëâÜDcW•5w:è!Óp ,Øæ.ÐT•À>p±– Øßtù¼Ëþ=@œè›0¢ê†{3×0àë0@÷šPTÀÄO«xŸy6SB!ÚæúæÈ(0•ßÛ ÑÆ>,uW#ŸáÇ—öz€åX - •àÑT@lFè•è.±ðNþvsä>% Vì…ƒöídvq„q¾v{Àȿ݈·L¬ðYÄT'x¥ÿKpßXÂjÖÄRÜÑÝ%ÄŽè$Øjy< ?ñ¾;²­ëˆó”¸‡<Æíå»8€F7 °kÀbýÿíý—e,òIEND®B`‚ \ No newline at end of file + •àÑT@lFè•è.±ðNþvsä>% Vì…ƒöídvq„q¾v{Àȿ݈·L¬ðYÄT'x¥ÿKpßXÂjÖÄRÜÑÝ%ÄŽè$Øjy< ?ñ¾;²­ëˆó”¸‡<Æíå»8€F7 °kÀbýÿíý—Jª/ŒIEND®B`‚ \ No newline at end of file diff --git a/examples/web/models/models_mesh_picking.html b/examples/web/models/models_mesh_picking.html index d0bf7ab..8592ae0 100644 --- a/examples/web/models/models_mesh_picking.html +++ b/examples/web/models/models_mesh_picking.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_mesh_picking.js b/examples/web/models/models_mesh_picking.js index eb3050e..d556021 100644 --- a/examples/web/models/models_mesh_picking.js +++ b/examples/web/models/models_mesh_picking.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_mesh_picking.data";var REMOTE_PACKAGE_BASE="models_mesh_picking.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);Module["FS_createPath"]("/resources","models",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5286656,DYNAMICTOP_PTR=43744;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_mesh_picking.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"d":abort,"b":___assert_fail,"sc":___lock,"D":___setErrNo,"gb":___syscall140,"Xa":___syscall145,"q":___syscall221,"Ca":___syscall5,"ra":___syscall54,"C":___syscall6,"B":___unlock,"be":___wasi_fd_write,"A":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"yd":_emscripten_get_element_css_size,"nd":_emscripten_get_gamepad_status,"cd":_emscripten_get_heap_size,"Tc":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"zc":_emscripten_glActiveTexture,"rc":_emscripten_glAttachShader,"lc":_emscripten_glBeginQueryEXT,"hc":_emscripten_glBindAttribLocation,"cc":_emscripten_glBindBuffer,"Xb":_emscripten_glBindFramebuffer,"Tb":_emscripten_glBindRenderbuffer,"Lb":_emscripten_glBindTexture,"Ab":_emscripten_glBindVertexArrayOES,"tb":_emscripten_glBlendColor,"rb":_emscripten_glBlendEquation,"qb":_emscripten_glBlendEquationSeparate,"pb":_emscripten_glBlendFunc,"ob":_emscripten_glBlendFuncSeparate,"nb":_emscripten_glBufferData,"mb":_emscripten_glBufferSubData,"lb":_emscripten_glCheckFramebufferStatus,"kb":_emscripten_glClear,"jb":_emscripten_glClearColor,"ib":_emscripten_glClearDepthf,"hb":_emscripten_glClearStencil,"fb":_emscripten_glColorMask,"eb":_emscripten_glCompileShader,"db":_emscripten_glCompressedTexImage2D,"cb":_emscripten_glCompressedTexSubImage2D,"bb":_emscripten_glCopyTexImage2D,"ab":_emscripten_glCopyTexSubImage2D,"$a":_emscripten_glCreateProgram,"_a":_emscripten_glCreateShader,"Za":_emscripten_glCullFace,"Ya":_emscripten_glDeleteBuffers,"Wa":_emscripten_glDeleteFramebuffers,"Va":_emscripten_glDeleteProgram,"Ua":_emscripten_glDeleteQueriesEXT,"Ta":_emscripten_glDeleteRenderbuffers,"Sa":_emscripten_glDeleteShader,"Ra":_emscripten_glDeleteTextures,"Qa":_emscripten_glDeleteVertexArraysOES,"Pa":_emscripten_glDepthFunc,"Oa":_emscripten_glDepthMask,"Na":_emscripten_glDepthRangef,"Ma":_emscripten_glDetachShader,"La":_emscripten_glDisable,"Ka":_emscripten_glDisableVertexAttribArray,"Ja":_emscripten_glDrawArrays,"Ia":_emscripten_glDrawArraysInstancedANGLE,"Ha":_emscripten_glDrawBuffersWEBGL,"Ga":_emscripten_glDrawElements,"Fa":_emscripten_glDrawElementsInstancedANGLE,"Ea":_emscripten_glEnable,"Da":_emscripten_glEnableVertexAttribArray,"Ba":_emscripten_glEndQueryEXT,"Aa":_emscripten_glFinish,"za":_emscripten_glFlush,"ya":_emscripten_glFramebufferRenderbuffer,"xa":_emscripten_glFramebufferTexture2D,"wa":_emscripten_glFrontFace,"va":_emscripten_glGenBuffers,"ua":_emscripten_glGenFramebuffers,"ta":_emscripten_glGenQueriesEXT,"sa":_emscripten_glGenRenderbuffers,"qa":_emscripten_glGenTextures,"pa":_emscripten_glGenVertexArraysOES,"oa":_emscripten_glGenerateMipmap,"na":_emscripten_glGetActiveAttrib,"ma":_emscripten_glGetActiveUniform,"la":_emscripten_glGetAttachedShaders,"ka":_emscripten_glGetAttribLocation,"ja":_emscripten_glGetBooleanv,"ia":_emscripten_glGetBufferParameteriv,"ha":_emscripten_glGetError,"ga":_emscripten_glGetFloatv,"fa":_emscripten_glGetFramebufferAttachmentParameteriv,"ea":_emscripten_glGetIntegerv,"da":_emscripten_glGetProgramInfoLog,"ca":_emscripten_glGetProgramiv,"ba":_emscripten_glGetQueryObjecti64vEXT,"aa":_emscripten_glGetQueryObjectivEXT,"$":_emscripten_glGetQueryObjectui64vEXT,"_":_emscripten_glGetQueryObjectuivEXT,"Z":_emscripten_glGetQueryivEXT,"le":_emscripten_glGetRenderbufferParameteriv,"ke":_emscripten_glGetShaderInfoLog,"je":_emscripten_glGetShaderPrecisionFormat,"ie":_emscripten_glGetShaderSource,"he":_emscripten_glGetShaderiv,"ge":_emscripten_glGetString,"fe":_emscripten_glGetTexParameterfv,"ee":_emscripten_glGetTexParameteriv,"de":_emscripten_glGetUniformLocation,"ce":_emscripten_glGetUniformfv,"ae":_emscripten_glGetUniformiv,"$d":_emscripten_glGetVertexAttribPointerv,"_d":_emscripten_glGetVertexAttribfv,"Zd":_emscripten_glGetVertexAttribiv,"Yd":_emscripten_glHint,"Xd":_emscripten_glIsBuffer,"Wd":_emscripten_glIsEnabled,"Vd":_emscripten_glIsFramebuffer,"Ud":_emscripten_glIsProgram,"Td":_emscripten_glIsQueryEXT,"Sd":_emscripten_glIsRenderbuffer,"Rd":_emscripten_glIsShader,"Qd":_emscripten_glIsTexture,"Pd":_emscripten_glIsVertexArrayOES,"Od":_emscripten_glLineWidth,"Nd":_emscripten_glLinkProgram,"Md":_emscripten_glPixelStorei,"Ld":_emscripten_glPolygonOffset,"Kd":_emscripten_glQueryCounterEXT,"Jd":_emscripten_glReadPixels,"Id":_emscripten_glReleaseShaderCompiler,"Hd":_emscripten_glRenderbufferStorage,"Gd":_emscripten_glSampleCoverage,"Fd":_emscripten_glScissor,"Ed":_emscripten_glShaderBinary,"Dd":_emscripten_glShaderSource,"Cd":_emscripten_glStencilFunc,"Bd":_emscripten_glStencilFuncSeparate,"Ad":_emscripten_glStencilMask,"zd":_emscripten_glStencilMaskSeparate,"xd":_emscripten_glStencilOp,"wd":_emscripten_glStencilOpSeparate,"vd":_emscripten_glTexImage2D,"ud":_emscripten_glTexParameterf,"td":_emscripten_glTexParameterfv,"sd":_emscripten_glTexParameteri,"rd":_emscripten_glTexParameteriv,"qd":_emscripten_glTexSubImage2D,"pd":_emscripten_glUniform1f,"od":_emscripten_glUniform1fv,"md":_emscripten_glUniform1i,"ld":_emscripten_glUniform1iv,"kd":_emscripten_glUniform2f,"jd":_emscripten_glUniform2fv,"id":_emscripten_glUniform2i,"hd":_emscripten_glUniform2iv,"gd":_emscripten_glUniform3f,"fd":_emscripten_glUniform3fv,"ed":_emscripten_glUniform3i,"dd":_emscripten_glUniform3iv,"bd":_emscripten_glUniform4f,"ad":_emscripten_glUniform4fv,"$c":_emscripten_glUniform4i,"_c":_emscripten_glUniform4iv,"Zc":_emscripten_glUniformMatrix2fv,"Yc":_emscripten_glUniformMatrix3fv,"Xc":_emscripten_glUniformMatrix4fv,"Wc":_emscripten_glUseProgram,"Vc":_emscripten_glValidateProgram,"Uc":_emscripten_glVertexAttrib1f,"Sc":_emscripten_glVertexAttrib1fv,"Rc":_emscripten_glVertexAttrib2f,"Qc":_emscripten_glVertexAttrib2fv,"Pc":_emscripten_glVertexAttrib3f,"Oc":_emscripten_glVertexAttrib3fv,"Nc":_emscripten_glVertexAttrib4f,"Mc":_emscripten_glVertexAttrib4fv,"Lc":_emscripten_glVertexAttribDivisorANGLE,"Kc":_emscripten_glVertexAttribPointer,"Jc":_emscripten_glViewport,"Ic":_emscripten_memcpy_big,"Hc":_emscripten_request_pointerlock,"Gc":_emscripten_resize_heap,"W":_emscripten_run_script,"Fc":_emscripten_sample_gamepad_data,"Ec":_emscripten_set_click_callback_on_thread,"Dc":_emscripten_set_fullscreenchange_callback_on_thread,"Cc":_emscripten_set_gamepadconnected_callback_on_thread,"Bc":_emscripten_set_gamepaddisconnected_callback_on_thread,"Ac":_emscripten_set_keypress_callback_on_thread,"yc":_emscripten_set_main_loop,"xc":_emscripten_set_touchcancel_callback_on_thread,"wc":_emscripten_set_touchend_callback_on_thread,"vc":_emscripten_set_touchmove_callback_on_thread,"uc":_emscripten_set_touchstart_callback_on_thread,"tc":_exit,"z":_glActiveTexture,"V":_glAttachShader,"n":_glBindAttribLocation,"c":_glBindBuffer,"k":_glBindTexture,"qc":_glBlendFunc,"i":_glBufferData,"y":_glBufferSubData,"U":_glClear,"T":_glClearColor,"pc":_glClearDepthf,"oc":_glCompileShader,"nc":_glCompressedTexImage2D,"mc":_glCreateProgram,"kc":_glCreateShader,"jc":_glCullFace,"p":_glDeleteBuffers,"S":_glDeleteProgram,"R":_glDeleteShader,"Q":_glDeleteTextures,"ic":_glDepthFunc,"P":_glDetachShader,"O":_glDisable,"j":_glDisableVertexAttribArray,"N":_glDrawArrays,"M":_glDrawElements,"x":_glEnable,"f":_glEnableVertexAttribArray,"gc":_glFrontFace,"h":_glGenBuffers,"fc":_glGenTextures,"w":_glGetAttribLocation,"ec":_glGetFloatv,"dc":_glGetProgramInfoLog,"L":_glGetProgramiv,"bc":_glGetShaderInfoLog,"K":_glGetShaderiv,"o":_glGetString,"v":_glGetUniformLocation,"ac":_glLinkProgram,"$b":_glPixelStorei,"_b":_glReadPixels,"Zb":_glShaderSource,"Yb":_glTexImage2D,"m":_glTexParameteri,"J":_glUniform1i,"u":_glUniform4f,"t":_glUniformMatrix4fv,"l":_glUseProgram,"Wb":_glVertexAttrib2f,"Vb":_glVertexAttrib3f,"s":_glVertexAttrib4f,"e":_glVertexAttribPointer,"Ub":_glViewport,"I":_glfwCreateWindow,"Sb":_glfwDefaultWindowHints,"Rb":_glfwDestroyWindow,"Qb":_glfwGetCursorPos,"Pb":_glfwGetKey,"Ob":_glfwGetMouseButton,"H":_glfwGetPrimaryMonitor,"r":_glfwGetTime,"Nb":_glfwGetVideoModes,"Mb":_glfwInit,"Kb":_glfwMakeContextCurrent,"Jb":_glfwSetCharCallback,"Ib":_glfwSetCursorEnterCallback,"Hb":_glfwSetCursorPosCallback,"Gb":_glfwSetDropCallback,"Fb":_glfwSetErrorCallback,"Eb":_glfwSetKeyCallback,"Db":_glfwSetMouseButtonCallback,"Cb":_glfwSetScrollCallback,"Bb":_glfwSetWindowIconifyCallback,"zb":_glfwSetWindowShouldClose,"yb":_glfwSetWindowSizeCallback,"xb":_glfwSwapBuffers,"wb":_glfwSwapInterval,"G":_glfwTerminate,"g":_glfwWindowHint,"F":_llvm_stackrestore,"E":_llvm_stacksave,"vb":_nanosleep,"ub":_time,"sb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["re"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["se"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["Be"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["Ce"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["De"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["ve"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["we"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["ze"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["Ae"].apply(null,arguments)};Module["asm"]=asm;Module["getMemory"]=getMemory;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["calledRun"]=calledRun;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_mesh_picking.data";var REMOTE_PACKAGE_BASE="models_mesh_picking.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);Module["FS_createPath"]("/resources","models",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_mesh_picking.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["de"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["ee"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd);if(size>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"a":___assert_fail,"Zd":___sys_chdir,"Q":___sys_fcntl64,"Yd":___sys_getcwd,"$d":___sys_ioctl,"ae":___sys_open,"w":_eglGetProcAddress,"aa":_emscripten_exit_pointerlock,"Z":_emscripten_get_element_css_size,"U":_emscripten_get_gamepad_status,"V":_emscripten_get_num_gamepads,"$":_emscripten_get_pointerlock_status,"Bd":_emscripten_glActiveTexture,"Ad":_emscripten_glAttachShader,"Rd":_emscripten_glBeginQueryEXT,"zd":_emscripten_glBindAttribLocation,"yd":_emscripten_glBindBuffer,"xd":_emscripten_glBindFramebuffer,"wd":_emscripten_glBindRenderbuffer,"vd":_emscripten_glBindTexture,"Jd":_emscripten_glBindVertexArrayOES,"ud":_emscripten_glBlendColor,"td":_emscripten_glBlendEquation,"sd":_emscripten_glBlendEquationSeparate,"rd":_emscripten_glBlendFunc,"qd":_emscripten_glBlendFuncSeparate,"pd":_emscripten_glBufferData,"od":_emscripten_glBufferSubData,"nd":_emscripten_glCheckFramebufferStatus,"md":_emscripten_glClear,"ld":_emscripten_glClearColor,"kd":_emscripten_glClearDepthf,"jd":_emscripten_glClearStencil,"id":_emscripten_glColorMask,"hd":_emscripten_glCompileShader,"gd":_emscripten_glCompressedTexImage2D,"fd":_emscripten_glCompressedTexSubImage2D,"ed":_emscripten_glCopyTexImage2D,"dd":_emscripten_glCopyTexSubImage2D,"cd":_emscripten_glCreateProgram,"bd":_emscripten_glCreateShader,"ad":_emscripten_glCullFace,"$c":_emscripten_glDeleteBuffers,"_c":_emscripten_glDeleteFramebuffers,"Zc":_emscripten_glDeleteProgram,"Td":_emscripten_glDeleteQueriesEXT,"Yc":_emscripten_glDeleteRenderbuffers,"Xc":_emscripten_glDeleteShader,"Wc":_emscripten_glDeleteTextures,"Id":_emscripten_glDeleteVertexArraysOES,"Vc":_emscripten_glDepthFunc,"Uc":_emscripten_glDepthMask,"Tc":_emscripten_glDepthRangef,"Sc":_emscripten_glDetachShader,"Rc":_emscripten_glDisable,"Qc":_emscripten_glDisableVertexAttribArray,"Oc":_emscripten_glDrawArrays,"Ed":_emscripten_glDrawArraysInstancedANGLE,"Fd":_emscripten_glDrawBuffersWEBGL,"Nc":_emscripten_glDrawElements,"Dd":_emscripten_glDrawElementsInstancedANGLE,"Mc":_emscripten_glEnable,"Lc":_emscripten_glEnableVertexAttribArray,"Qd":_emscripten_glEndQueryEXT,"Kc":_emscripten_glFinish,"Jc":_emscripten_glFlush,"Ic":_emscripten_glFramebufferRenderbuffer,"Hc":_emscripten_glFramebufferTexture2D,"Gc":_emscripten_glFrontFace,"Fc":_emscripten_glGenBuffers,"Dc":_emscripten_glGenFramebuffers,"Ud":_emscripten_glGenQueriesEXT,"Cc":_emscripten_glGenRenderbuffers,"Bc":_emscripten_glGenTextures,"Hd":_emscripten_glGenVertexArraysOES,"Ec":_emscripten_glGenerateMipmap,"Ac":_emscripten_glGetActiveAttrib,"zc":_emscripten_glGetActiveUniform,"yc":_emscripten_glGetAttachedShaders,"xc":_emscripten_glGetAttribLocation,"wc":_emscripten_glGetBooleanv,"vc":_emscripten_glGetBufferParameteriv,"uc":_emscripten_glGetError,"tc":_emscripten_glGetFloatv,"sc":_emscripten_glGetFramebufferAttachmentParameteriv,"rc":_emscripten_glGetIntegerv,"pc":_emscripten_glGetProgramInfoLog,"qc":_emscripten_glGetProgramiv,"Ld":_emscripten_glGetQueryObjecti64vEXT,"Nd":_emscripten_glGetQueryObjectivEXT,"Kd":_emscripten_glGetQueryObjectui64vEXT,"Md":_emscripten_glGetQueryObjectuivEXT,"Od":_emscripten_glGetQueryivEXT,"oc":_emscripten_glGetRenderbufferParameteriv,"mc":_emscripten_glGetShaderInfoLog,"lc":_emscripten_glGetShaderPrecisionFormat,"kc":_emscripten_glGetShaderSource,"nc":_emscripten_glGetShaderiv,"jc":_emscripten_glGetString,"ic":_emscripten_glGetTexParameterfv,"hc":_emscripten_glGetTexParameteriv,"ec":_emscripten_glGetUniformLocation,"gc":_emscripten_glGetUniformfv,"fc":_emscripten_glGetUniformiv,"bc":_emscripten_glGetVertexAttribPointerv,"dc":_emscripten_glGetVertexAttribfv,"cc":_emscripten_glGetVertexAttribiv,"ac":_emscripten_glHint,"$b":_emscripten_glIsBuffer,"_b":_emscripten_glIsEnabled,"Zb":_emscripten_glIsFramebuffer,"Yb":_emscripten_glIsProgram,"Sd":_emscripten_glIsQueryEXT,"Xb":_emscripten_glIsRenderbuffer,"Wb":_emscripten_glIsShader,"Vb":_emscripten_glIsTexture,"Gd":_emscripten_glIsVertexArrayOES,"Ub":_emscripten_glLineWidth,"Tb":_emscripten_glLinkProgram,"Rb":_emscripten_glPixelStorei,"Qb":_emscripten_glPolygonOffset,"Pd":_emscripten_glQueryCounterEXT,"Pb":_emscripten_glReadPixels,"Ob":_emscripten_glReleaseShaderCompiler,"Nb":_emscripten_glRenderbufferStorage,"Mb":_emscripten_glSampleCoverage,"Lb":_emscripten_glScissor,"Kb":_emscripten_glShaderBinary,"Jb":_emscripten_glShaderSource,"Ib":_emscripten_glStencilFunc,"Gb":_emscripten_glStencilFuncSeparate,"Fb":_emscripten_glStencilMask,"Eb":_emscripten_glStencilMaskSeparate,"Db":_emscripten_glStencilOp,"Cb":_emscripten_glStencilOpSeparate,"Bb":_emscripten_glTexImage2D,"Ab":_emscripten_glTexParameterf,"zb":_emscripten_glTexParameterfv,"yb":_emscripten_glTexParameteri,"xb":_emscripten_glTexParameteriv,"vb":_emscripten_glTexSubImage2D,"ub":_emscripten_glUniform1f,"tb":_emscripten_glUniform1fv,"sb":_emscripten_glUniform1i,"rb":_emscripten_glUniform1iv,"qb":_emscripten_glUniform2f,"pb":_emscripten_glUniform2fv,"ob":_emscripten_glUniform2i,"nb":_emscripten_glUniform2iv,"mb":_emscripten_glUniform3f,"kb":_emscripten_glUniform3fv,"jb":_emscripten_glUniform3i,"ib":_emscripten_glUniform3iv,"hb":_emscripten_glUniform4f,"gb":_emscripten_glUniform4fv,"fb":_emscripten_glUniform4i,"eb":_emscripten_glUniform4iv,"db":_emscripten_glUniformMatrix2fv,"cb":_emscripten_glUniformMatrix3fv,"bb":_emscripten_glUniformMatrix4fv,"$a":_emscripten_glUseProgram,"_a":_emscripten_glValidateProgram,"Za":_emscripten_glVertexAttrib1f,"Ya":_emscripten_glVertexAttrib1fv,"Xa":_emscripten_glVertexAttrib2f,"Wa":_emscripten_glVertexAttrib2fv,"Va":_emscripten_glVertexAttrib3f,"Ua":_emscripten_glVertexAttrib3fv,"Ta":_emscripten_glVertexAttrib4f,"Sa":_emscripten_glVertexAttrib4fv,"Cd":_emscripten_glVertexAttribDivisorANGLE,"Qa":_emscripten_glVertexAttribPointer,"Pa":_emscripten_glViewport,"Vd":_emscripten_memcpy_big,"_":_emscripten_request_pointerlock,"Wd":_emscripten_resize_heap,"y":_emscripten_run_script,"W":_emscripten_sample_gamepad_data,"ya":_emscripten_set_click_callback_on_thread,"Aa":_emscripten_set_fullscreenchange_callback_on_thread,"ta":_emscripten_set_gamepadconnected_callback_on_thread,"sa":_emscripten_set_gamepaddisconnected_callback_on_thread,"za":_emscripten_set_keydown_callback_on_thread,"ce":_emscripten_set_main_loop,"ua":_emscripten_set_touchcancel_callback_on_thread,"wa":_emscripten_set_touchend_callback_on_thread,"va":_emscripten_set_touchmove_callback_on_thread,"xa":_emscripten_set_touchstart_callback_on_thread,"Xd":_emscripten_thread_sleep,"S":_exit,"R":_fd_close,"_d":_fd_read,"Oa":_fd_seek,"P":_fd_write,"p":_glActiveTexture,"D":_glAttachShader,"k":_glBindAttribLocation,"b":_glBindBuffer,"j":_glBindTexture,"Hb":_glBlendFunc,"e":_glBufferData,"v":_glBufferSubData,"K":_glClear,"L":_glClearColor,"ab":_glClearDepthf,"Fa":_glCompileShader,"La":_glCompressedTexImage2D,"Da":_glCreateProgram,"Ha":_glCreateShader,"wb":_glCullFace,"m":_glDeleteBuffers,"G":_glDeleteProgram,"H":_glDeleteShader,"J":_glDeleteTextures,"Sb":_glDepthFunc,"I":_glDetachShader,"M":_glDisable,"h":_glDisableVertexAttribArray,"O":_glDrawArrays,"N":_glDrawElements,"x":_glEnable,"c":_glEnableVertexAttribArray,"lb":_glFrontFace,"f":_glGenBuffers,"Na":_glGenTextures,"u":_glGetAttribLocation,"Pc":_glGetFloatv,"Ba":_glGetProgramInfoLog,"F":_glGetProgramiv,"Ea":_glGetShaderInfoLog,"E":_glGetShaderiv,"n":_glGetString,"t":_glGetUniformLocation,"Ca":_glLinkProgram,"Ra":_glPixelStorei,"Ia":_glReadPixels,"Ga":_glShaderSource,"Ma":_glTexImage2D,"o":_glTexParameteri,"z":_glUniform1i,"q":_glUniform4f,"r":_glUniformMatrix4fv,"l":_glUseProgram,"Ja":_glVertexAttrib2f,"Ka":_glVertexAttrib3f,"s":_glVertexAttrib4f,"d":_glVertexAttribPointer,"be":_glViewport,"B":_glfwCreateWindow,"pa":_glfwDefaultWindowHints,"Y":_glfwDestroyWindow,"C":_glfwGetPrimaryMonitor,"i":_glfwGetTime,"oa":_glfwGetVideoModes,"qa":_glfwInit,"da":_glfwMakeContextCurrent,"ia":_glfwSetCharCallback,"ea":_glfwSetCursorEnterCallback,"ga":_glfwSetCursorPosCallback,"ka":_glfwSetDropCallback,"ra":_glfwSetErrorCallback,"ja":_glfwSetKeyCallback,"ha":_glfwSetMouseButtonCallback,"fa":_glfwSetScrollCallback,"la":_glfwSetWindowFocusCallback,"ma":_glfwSetWindowIconifyCallback,"T":_glfwSetWindowShouldClose,"na":_glfwSetWindowSizeCallback,"X":_glfwSwapBuffers,"ca":_glfwSwapInterval,"A":_glfwTerminate,"g":_glfwWindowHint,"ba":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["fe"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["ge"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["he"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["ie"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["je"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["ke"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["le"]).apply(null,arguments)};Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_mesh_picking.wasm b/examples/web/models/models_mesh_picking.wasm index b2f513e..bbfaf3e 100644 Binary files a/examples/web/models/models_mesh_picking.wasm and b/examples/web/models/models_mesh_picking.wasm differ diff --git a/examples/web/models/models_orthographic_projection.c b/examples/web/models/models_orthographic_projection.c index 1b1f0f6..75dfb75 100644 --- a/examples/web/models/models_orthographic_projection.c +++ b/examples/web/models/models_orthographic_projection.c @@ -50,7 +50,7 @@ int main(void) camera = (Camera){{ 0.0f, 10.0f, 10.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, FOVY_PERSPECTIVE, CAMERA_PERSPECTIVE }; #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_orthographic_projection.html b/examples/web/models/models_orthographic_projection.html index 917169c..cba0848 100644 --- a/examples/web/models/models_orthographic_projection.html +++ b/examples/web/models/models_orthographic_projection.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_orthographic_projection.js b/examples/web/models/models_orthographic_projection.js index 007290b..9922cd5 100644 --- a/examples/web/models/models_orthographic_projection.js +++ b/examples/web/models/models_orthographic_projection.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;read_=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5276896,DYNAMICTOP_PTR=33984;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_orthographic_projection.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"c":abort,"b":___assert_fail,"mc":___lock,"z":___setErrNo,"$a":___syscall140,"Qa":___syscall145,"l":___syscall221,"va":___syscall5,"ka":___syscall54,"y":___syscall6,"x":___unlock,"Yd":___wasi_fd_write,"w":_eglGetProcAddress,"R":_emscripten_exit_pointerlock,"td":_emscripten_get_element_css_size,"id":_emscripten_get_gamepad_status,"Zc":_emscripten_get_heap_size,"Oc":_emscripten_get_num_gamepads,"Q":_emscripten_get_pointerlock_status,"uc":_emscripten_glActiveTexture,"lc":_emscripten_glAttachShader,"fc":_emscripten_glBeginQueryEXT,"bc":_emscripten_glBindAttribLocation,"Wb":_emscripten_glBindBuffer,"Pb":_emscripten_glBindFramebuffer,"Ib":_emscripten_glBindRenderbuffer,"zb":_emscripten_glBindTexture,"pb":_emscripten_glBindVertexArrayOES,"lb":_emscripten_glBlendColor,"kb":_emscripten_glBlendEquation,"jb":_emscripten_glBlendEquationSeparate,"ib":_emscripten_glBlendFunc,"hb":_emscripten_glBlendFuncSeparate,"gb":_emscripten_glBufferData,"fb":_emscripten_glBufferSubData,"eb":_emscripten_glCheckFramebufferStatus,"db":_emscripten_glClear,"cb":_emscripten_glClearColor,"bb":_emscripten_glClearDepthf,"ab":_emscripten_glClearStencil,"_a":_emscripten_glColorMask,"Za":_emscripten_glCompileShader,"Ya":_emscripten_glCompressedTexImage2D,"Xa":_emscripten_glCompressedTexSubImage2D,"Wa":_emscripten_glCopyTexImage2D,"Va":_emscripten_glCopyTexSubImage2D,"Ua":_emscripten_glCreateProgram,"Ta":_emscripten_glCreateShader,"Sa":_emscripten_glCullFace,"Ra":_emscripten_glDeleteBuffers,"Pa":_emscripten_glDeleteFramebuffers,"Oa":_emscripten_glDeleteProgram,"Na":_emscripten_glDeleteQueriesEXT,"Ma":_emscripten_glDeleteRenderbuffers,"La":_emscripten_glDeleteShader,"Ka":_emscripten_glDeleteTextures,"Ja":_emscripten_glDeleteVertexArraysOES,"Ia":_emscripten_glDepthFunc,"Ha":_emscripten_glDepthMask,"Ga":_emscripten_glDepthRangef,"Fa":_emscripten_glDetachShader,"Ea":_emscripten_glDisable,"Da":_emscripten_glDisableVertexAttribArray,"Ca":_emscripten_glDrawArrays,"Ba":_emscripten_glDrawArraysInstancedANGLE,"Aa":_emscripten_glDrawBuffersWEBGL,"za":_emscripten_glDrawElements,"ya":_emscripten_glDrawElementsInstancedANGLE,"xa":_emscripten_glEnable,"wa":_emscripten_glEnableVertexAttribArray,"ua":_emscripten_glEndQueryEXT,"ta":_emscripten_glFinish,"sa":_emscripten_glFlush,"ra":_emscripten_glFramebufferRenderbuffer,"qa":_emscripten_glFramebufferTexture2D,"pa":_emscripten_glFrontFace,"oa":_emscripten_glGenBuffers,"na":_emscripten_glGenFramebuffers,"ma":_emscripten_glGenQueriesEXT,"la":_emscripten_glGenRenderbuffers,"ja":_emscripten_glGenTextures,"ia":_emscripten_glGenVertexArraysOES,"ha":_emscripten_glGenerateMipmap,"ga":_emscripten_glGetActiveAttrib,"fa":_emscripten_glGetActiveUniform,"ea":_emscripten_glGetAttachedShaders,"da":_emscripten_glGetAttribLocation,"ca":_emscripten_glGetBooleanv,"ba":_emscripten_glGetBufferParameteriv,"aa":_emscripten_glGetError,"$":_emscripten_glGetFloatv,"_":_emscripten_glGetFramebufferAttachmentParameteriv,"Z":_emscripten_glGetIntegerv,"Y":_emscripten_glGetProgramInfoLog,"X":_emscripten_glGetProgramiv,"W":_emscripten_glGetQueryObjecti64vEXT,"V":_emscripten_glGetQueryObjectivEXT,"U":_emscripten_glGetQueryObjectui64vEXT,"T":_emscripten_glGetQueryObjectuivEXT,"S":_emscripten_glGetQueryivEXT,"ge":_emscripten_glGetRenderbufferParameteriv,"fe":_emscripten_glGetShaderInfoLog,"ee":_emscripten_glGetShaderPrecisionFormat,"de":_emscripten_glGetShaderSource,"ce":_emscripten_glGetShaderiv,"be":_emscripten_glGetString,"ae":_emscripten_glGetTexParameterfv,"$d":_emscripten_glGetTexParameteriv,"_d":_emscripten_glGetUniformLocation,"Zd":_emscripten_glGetUniformfv,"Xd":_emscripten_glGetUniformiv,"Wd":_emscripten_glGetVertexAttribPointerv,"Vd":_emscripten_glGetVertexAttribfv,"Ud":_emscripten_glGetVertexAttribiv,"Td":_emscripten_glHint,"Sd":_emscripten_glIsBuffer,"Rd":_emscripten_glIsEnabled,"Qd":_emscripten_glIsFramebuffer,"Pd":_emscripten_glIsProgram,"Od":_emscripten_glIsQueryEXT,"Nd":_emscripten_glIsRenderbuffer,"Md":_emscripten_glIsShader,"Ld":_emscripten_glIsTexture,"Kd":_emscripten_glIsVertexArrayOES,"Jd":_emscripten_glLineWidth,"Id":_emscripten_glLinkProgram,"Hd":_emscripten_glPixelStorei,"Gd":_emscripten_glPolygonOffset,"Fd":_emscripten_glQueryCounterEXT,"Ed":_emscripten_glReadPixels,"Dd":_emscripten_glReleaseShaderCompiler,"Cd":_emscripten_glRenderbufferStorage,"Bd":_emscripten_glSampleCoverage,"Ad":_emscripten_glScissor,"zd":_emscripten_glShaderBinary,"yd":_emscripten_glShaderSource,"xd":_emscripten_glStencilFunc,"wd":_emscripten_glStencilFuncSeparate,"vd":_emscripten_glStencilMask,"ud":_emscripten_glStencilMaskSeparate,"sd":_emscripten_glStencilOp,"rd":_emscripten_glStencilOpSeparate,"qd":_emscripten_glTexImage2D,"pd":_emscripten_glTexParameterf,"od":_emscripten_glTexParameterfv,"nd":_emscripten_glTexParameteri,"md":_emscripten_glTexParameteriv,"ld":_emscripten_glTexSubImage2D,"kd":_emscripten_glUniform1f,"jd":_emscripten_glUniform1fv,"hd":_emscripten_glUniform1i,"gd":_emscripten_glUniform1iv,"fd":_emscripten_glUniform2f,"ed":_emscripten_glUniform2fv,"dd":_emscripten_glUniform2i,"cd":_emscripten_glUniform2iv,"bd":_emscripten_glUniform3f,"ad":_emscripten_glUniform3fv,"$c":_emscripten_glUniform3i,"_c":_emscripten_glUniform3iv,"Yc":_emscripten_glUniform4f,"Xc":_emscripten_glUniform4fv,"Wc":_emscripten_glUniform4i,"Vc":_emscripten_glUniform4iv,"Uc":_emscripten_glUniformMatrix2fv,"Tc":_emscripten_glUniformMatrix3fv,"Sc":_emscripten_glUniformMatrix4fv,"Rc":_emscripten_glUseProgram,"Qc":_emscripten_glValidateProgram,"Pc":_emscripten_glVertexAttrib1f,"Nc":_emscripten_glVertexAttrib1fv,"Mc":_emscripten_glVertexAttrib2f,"Lc":_emscripten_glVertexAttrib2fv,"Kc":_emscripten_glVertexAttrib3f,"Jc":_emscripten_glVertexAttrib3fv,"Ic":_emscripten_glVertexAttrib4f,"Hc":_emscripten_glVertexAttrib4fv,"Gc":_emscripten_glVertexAttribDivisorANGLE,"Fc":_emscripten_glVertexAttribPointer,"Ec":_emscripten_glViewport,"Dc":_emscripten_memcpy_big,"Cc":_emscripten_request_pointerlock,"Bc":_emscripten_resize_heap,"P":_emscripten_run_script,"Ac":_emscripten_sample_gamepad_data,"zc":_emscripten_set_click_callback_on_thread,"yc":_emscripten_set_fullscreenchange_callback_on_thread,"xc":_emscripten_set_gamepadconnected_callback_on_thread,"wc":_emscripten_set_gamepaddisconnected_callback_on_thread,"vc":_emscripten_set_keypress_callback_on_thread,"tc":_emscripten_set_main_loop,"sc":_emscripten_set_touchcancel_callback_on_thread,"rc":_emscripten_set_touchend_callback_on_thread,"qc":_emscripten_set_touchmove_callback_on_thread,"pc":_emscripten_set_touchstart_callback_on_thread,"oc":_exit,"nc":_glActiveTexture,"O":_glAttachShader,"i":_glBindAttribLocation,"d":_glBindBuffer,"k":_glBindTexture,"kc":_glBlendFunc,"q":_glBufferData,"v":_glBufferSubData,"N":_glClear,"M":_glClearColor,"jc":_glClearDepthf,"ic":_glCompileShader,"hc":_glCompressedTexImage2D,"gc":_glCreateProgram,"ec":_glCreateShader,"dc":_glCullFace,"p":_glDeleteBuffers,"L":_glDeleteProgram,"K":_glDeleteShader,"J":_glDeleteTextures,"cc":_glDepthFunc,"I":_glDetachShader,"H":_glDisable,"o":_glDisableVertexAttribArray,"ac":_glDrawArrays,"$b":_glDrawElements,"u":_glEnable,"h":_glEnableVertexAttribArray,"_b":_glFrontFace,"n":_glGenBuffers,"Zb":_glGenTextures,"t":_glGetAttribLocation,"Yb":_glGetFloatv,"Xb":_glGetProgramInfoLog,"G":_glGetProgramiv,"Vb":_glGetShaderInfoLog,"F":_glGetShaderiv,"j":_glGetString,"s":_glGetUniformLocation,"Ub":_glLinkProgram,"Tb":_glPixelStorei,"Sb":_glReadPixels,"Rb":_glShaderSource,"Qb":_glTexImage2D,"g":_glTexParameteri,"Ob":_glUniform1i,"Nb":_glUniform4f,"Mb":_glUniformMatrix4fv,"r":_glUseProgram,"f":_glVertexAttribPointer,"Lb":_glViewport,"E":_glfwCreateWindow,"Kb":_glfwDefaultWindowHints,"Jb":_glfwDestroyWindow,"Hb":_glfwGetCursorPos,"D":_glfwGetPrimaryMonitor,"m":_glfwGetTime,"Gb":_glfwGetVideoModes,"Fb":_glfwInit,"Eb":_glfwMakeContextCurrent,"Db":_glfwSetCharCallback,"Cb":_glfwSetCursorEnterCallback,"Bb":_glfwSetCursorPosCallback,"Ab":_glfwSetDropCallback,"yb":_glfwSetErrorCallback,"xb":_glfwSetKeyCallback,"wb":_glfwSetMouseButtonCallback,"vb":_glfwSetScrollCallback,"ub":_glfwSetWindowIconifyCallback,"tb":_glfwSetWindowShouldClose,"sb":_glfwSetWindowSizeCallback,"rb":_glfwSwapBuffers,"qb":_glfwSwapInterval,"C":_glfwTerminate,"e":_glfwWindowHint,"B":_llvm_stackrestore,"A":_llvm_stacksave,"ob":_nanosleep,"nb":_time,"mb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["he"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["ie"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["je"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["ke"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["le"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["we"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["re"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["se"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["ve"].apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_orthographic_projection.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["_d"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["$d"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"n":___assert_fail,"u":___sys_fcntl64,"Xd":___sys_ioctl,"M":___sys_open,"s":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"V":_emscripten_get_element_css_size,"P":_emscripten_get_gamepad_status,"Q":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"yd":_emscripten_glActiveTexture,"xd":_emscripten_glAttachShader,"Pd":_emscripten_glBeginQueryEXT,"wd":_emscripten_glBindAttribLocation,"vd":_emscripten_glBindBuffer,"ud":_emscripten_glBindFramebuffer,"sd":_emscripten_glBindRenderbuffer,"rd":_emscripten_glBindTexture,"Hd":_emscripten_glBindVertexArrayOES,"qd":_emscripten_glBlendColor,"pd":_emscripten_glBlendEquation,"od":_emscripten_glBlendEquationSeparate,"nd":_emscripten_glBlendFunc,"md":_emscripten_glBlendFuncSeparate,"ld":_emscripten_glBufferData,"kd":_emscripten_glBufferSubData,"jd":_emscripten_glCheckFramebufferStatus,"id":_emscripten_glClear,"hd":_emscripten_glClearColor,"gd":_emscripten_glClearDepthf,"fd":_emscripten_glClearStencil,"ed":_emscripten_glColorMask,"dd":_emscripten_glCompileShader,"cd":_emscripten_glCompressedTexImage2D,"bd":_emscripten_glCompressedTexSubImage2D,"ad":_emscripten_glCopyTexImage2D,"$c":_emscripten_glCopyTexSubImage2D,"_c":_emscripten_glCreateProgram,"Zc":_emscripten_glCreateShader,"Yc":_emscripten_glCullFace,"Xc":_emscripten_glDeleteBuffers,"Wc":_emscripten_glDeleteFramebuffers,"Vc":_emscripten_glDeleteProgram,"Rd":_emscripten_glDeleteQueriesEXT,"Uc":_emscripten_glDeleteRenderbuffers,"Tc":_emscripten_glDeleteShader,"Sc":_emscripten_glDeleteTextures,"Gd":_emscripten_glDeleteVertexArraysOES,"Rc":_emscripten_glDepthFunc,"Qc":_emscripten_glDepthMask,"Pc":_emscripten_glDepthRangef,"Oc":_emscripten_glDetachShader,"Nc":_emscripten_glDisable,"Mc":_emscripten_glDisableVertexAttribArray,"Lc":_emscripten_glDrawArrays,"Bd":_emscripten_glDrawArraysInstancedANGLE,"Cd":_emscripten_glDrawBuffersWEBGL,"Kc":_emscripten_glDrawElements,"Ad":_emscripten_glDrawElementsInstancedANGLE,"Jc":_emscripten_glEnable,"Ic":_emscripten_glEnableVertexAttribArray,"Od":_emscripten_glEndQueryEXT,"Hc":_emscripten_glFinish,"Fc":_emscripten_glFlush,"Ec":_emscripten_glFramebufferRenderbuffer,"Dc":_emscripten_glFramebufferTexture2D,"Cc":_emscripten_glFrontFace,"Bc":_emscripten_glGenBuffers,"zc":_emscripten_glGenFramebuffers,"Sd":_emscripten_glGenQueriesEXT,"yc":_emscripten_glGenRenderbuffers,"xc":_emscripten_glGenTextures,"Fd":_emscripten_glGenVertexArraysOES,"Ac":_emscripten_glGenerateMipmap,"wc":_emscripten_glGetActiveAttrib,"vc":_emscripten_glGetActiveUniform,"uc":_emscripten_glGetAttachedShaders,"tc":_emscripten_glGetAttribLocation,"sc":_emscripten_glGetBooleanv,"rc":_emscripten_glGetBufferParameteriv,"qc":_emscripten_glGetError,"pc":_emscripten_glGetFloatv,"oc":_emscripten_glGetFramebufferAttachmentParameteriv,"nc":_emscripten_glGetIntegerv,"lc":_emscripten_glGetProgramInfoLog,"mc":_emscripten_glGetProgramiv,"Jd":_emscripten_glGetQueryObjecti64vEXT,"Ld":_emscripten_glGetQueryObjectivEXT,"Id":_emscripten_glGetQueryObjectui64vEXT,"Kd":_emscripten_glGetQueryObjectuivEXT,"Md":_emscripten_glGetQueryivEXT,"kc":_emscripten_glGetRenderbufferParameteriv,"ic":_emscripten_glGetShaderInfoLog,"hc":_emscripten_glGetShaderPrecisionFormat,"gc":_emscripten_glGetShaderSource,"jc":_emscripten_glGetShaderiv,"fc":_emscripten_glGetString,"ec":_emscripten_glGetTexParameterfv,"dc":_emscripten_glGetTexParameteriv,"ac":_emscripten_glGetUniformLocation,"cc":_emscripten_glGetUniformfv,"bc":_emscripten_glGetUniformiv,"Zb":_emscripten_glGetVertexAttribPointerv,"$b":_emscripten_glGetVertexAttribfv,"_b":_emscripten_glGetVertexAttribiv,"Yb":_emscripten_glHint,"Xb":_emscripten_glIsBuffer,"Wb":_emscripten_glIsEnabled,"Vb":_emscripten_glIsFramebuffer,"Ub":_emscripten_glIsProgram,"Qd":_emscripten_glIsQueryEXT,"Tb":_emscripten_glIsRenderbuffer,"Sb":_emscripten_glIsShader,"Rb":_emscripten_glIsTexture,"Dd":_emscripten_glIsVertexArrayOES,"Qb":_emscripten_glLineWidth,"Pb":_emscripten_glLinkProgram,"Ob":_emscripten_glPixelStorei,"Nb":_emscripten_glPolygonOffset,"Nd":_emscripten_glQueryCounterEXT,"Mb":_emscripten_glReadPixels,"Lb":_emscripten_glReleaseShaderCompiler,"Kb":_emscripten_glRenderbufferStorage,"Ib":_emscripten_glSampleCoverage,"Hb":_emscripten_glScissor,"Gb":_emscripten_glShaderBinary,"Fb":_emscripten_glShaderSource,"Eb":_emscripten_glStencilFunc,"Db":_emscripten_glStencilFuncSeparate,"Cb":_emscripten_glStencilMask,"Bb":_emscripten_glStencilMaskSeparate,"Ab":_emscripten_glStencilOp,"zb":_emscripten_glStencilOpSeparate,"xb":_emscripten_glTexImage2D,"wb":_emscripten_glTexParameterf,"vb":_emscripten_glTexParameterfv,"ub":_emscripten_glTexParameteri,"tb":_emscripten_glTexParameteriv,"sb":_emscripten_glTexSubImage2D,"rb":_emscripten_glUniform1f,"qb":_emscripten_glUniform1fv,"pb":_emscripten_glUniform1i,"ob":_emscripten_glUniform1iv,"mb":_emscripten_glUniform2f,"lb":_emscripten_glUniform2fv,"kb":_emscripten_glUniform2i,"jb":_emscripten_glUniform2iv,"ib":_emscripten_glUniform3f,"hb":_emscripten_glUniform3fv,"gb":_emscripten_glUniform3i,"fb":_emscripten_glUniform3iv,"eb":_emscripten_glUniform4f,"db":_emscripten_glUniform4fv,"bb":_emscripten_glUniform4i,"ab":_emscripten_glUniform4iv,"$a":_emscripten_glUniformMatrix2fv,"_a":_emscripten_glUniformMatrix3fv,"Za":_emscripten_glUniformMatrix4fv,"Ya":_emscripten_glUseProgram,"Xa":_emscripten_glValidateProgram,"Wa":_emscripten_glVertexAttrib1f,"Va":_emscripten_glVertexAttrib1fv,"Ua":_emscripten_glVertexAttrib2f,"Sa":_emscripten_glVertexAttrib2fv,"Ra":_emscripten_glVertexAttrib3f,"Qa":_emscripten_glVertexAttrib3fv,"Pa":_emscripten_glVertexAttrib4f,"Oa":_emscripten_glVertexAttrib4fv,"zd":_emscripten_glVertexAttribDivisorANGLE,"Na":_emscripten_glVertexAttribPointer,"Ma":_emscripten_glViewport,"Td":_emscripten_memcpy_big,"W":_emscripten_request_pointerlock,"Ud":_emscripten_resize_heap,"w":_emscripten_run_script,"R":_emscripten_sample_gamepad_data,"va":_emscripten_set_click_callback_on_thread,"xa":_emscripten_set_fullscreenchange_callback_on_thread,"qa":_emscripten_set_gamepadconnected_callback_on_thread,"pa":_emscripten_set_gamepaddisconnected_callback_on_thread,"wa":_emscripten_set_keydown_callback_on_thread,"Zd":_emscripten_set_main_loop,"ra":_emscripten_set_touchcancel_callback_on_thread,"ta":_emscripten_set_touchend_callback_on_thread,"sa":_emscripten_set_touchmove_callback_on_thread,"ua":_emscripten_set_touchstart_callback_on_thread,"Vd":_emscripten_thread_sleep,"N":_exit,"v":_fd_close,"Wd":_fd_read,"La":_fd_seek,"K":_fd_write,"L":_glActiveTexture,"A":_glAttachShader,"f":_glBindAttribLocation,"a":_glBindBuffer,"g":_glBindTexture,"yb":_glBlendFunc,"k":_glBufferData,"r":_glBufferSubData,"H":_glClear,"I":_glClearColor,"Ta":_glClearDepthf,"Da":_glCompileShader,"Ha":_glCompressedTexImage2D,"Ba":_glCreateProgram,"Fa":_glCreateShader,"nb":_glCullFace,"i":_glDeleteBuffers,"D":_glDeleteProgram,"E":_glDeleteShader,"G":_glDeleteTextures,"Jb":_glDepthFunc,"F":_glDetachShader,"J":_glDisable,"j":_glDisableVertexAttribArray,"Ed":_glDrawArrays,"td":_glDrawElements,"t":_glEnable,"d":_glEnableVertexAttribArray,"cb":_glFrontFace,"l":_glGenBuffers,"Ja":_glGenTextures,"q":_glGetAttribLocation,"Gc":_glGetFloatv,"ya":_glGetProgramInfoLog,"C":_glGetProgramiv,"Ca":_glGetShaderInfoLog,"B":_glGetShaderiv,"h":_glGetString,"p":_glGetUniformLocation,"za":_glLinkProgram,"Ka":_glPixelStorei,"Ga":_glReadPixels,"Ea":_glShaderSource,"Ia":_glTexImage2D,"m":_glTexParameteri,"S":_glUniform1i,"$":_glUniform4f,"Aa":_glUniformMatrix4fv,"o":_glUseProgram,"e":_glVertexAttribPointer,"Yd":_glViewport,"y":_glfwCreateWindow,"ma":_glfwDefaultWindowHints,"U":_glfwDestroyWindow,"z":_glfwGetPrimaryMonitor,"c":_glfwGetTime,"la":_glfwGetVideoModes,"na":_glfwInit,"aa":_glfwMakeContextCurrent,"fa":_glfwSetCharCallback,"ba":_glfwSetCursorEnterCallback,"da":_glfwSetCursorPosCallback,"ha":_glfwSetDropCallback,"oa":_glfwSetErrorCallback,"ga":_glfwSetKeyCallback,"ea":_glfwSetMouseButtonCallback,"ca":_glfwSetScrollCallback,"ia":_glfwSetWindowFocusCallback,"ja":_glfwSetWindowIconifyCallback,"O":_glfwSetWindowShouldClose,"ka":_glfwSetWindowSizeCallback,"T":_glfwSwapBuffers,"_":_glfwSwapInterval,"x":_glfwTerminate,"b":_glfwWindowHint,"Z":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["ae"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["be"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["ce"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["de"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["ee"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["fe"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["ge"]).apply(null,arguments)};var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_orthographic_projection.wasm b/examples/web/models/models_orthographic_projection.wasm index 5bf8d01..1c4326a 100644 Binary files a/examples/web/models/models_orthographic_projection.wasm and b/examples/web/models/models_orthographic_projection.wasm differ diff --git a/examples/web/models/models_rlgl_solar_system.c b/examples/web/models/models_rlgl_solar_system.c index 9883857..8157e07 100644 --- a/examples/web/models/models_rlgl_solar_system.c +++ b/examples/web/models/models_rlgl_solar_system.c @@ -67,7 +67,7 @@ int main(void) SetCameraMode(camera, CAMERA_FREE); #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_rlgl_solar_system.html b/examples/web/models/models_rlgl_solar_system.html index 49596ea..c53de9c 100644 --- a/examples/web/models/models_rlgl_solar_system.html +++ b/examples/web/models/models_rlgl_solar_system.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_rlgl_solar_system.js b/examples/web/models/models_rlgl_solar_system.js index dbe71c6..3cfe680 100644 --- a/examples/web/models/models_rlgl_solar_system.js +++ b/examples/web/models/models_rlgl_solar_system.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;read_=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5276960,DYNAMICTOP_PTR=34048;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_rlgl_solar_system.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"c":abort,"b":___assert_fail,"oc":___lock,"z":___setErrNo,"$a":___syscall140,"Qa":___syscall145,"l":___syscall221,"va":___syscall5,"ka":___syscall54,"y":___syscall6,"x":___unlock,"_d":___wasi_fd_write,"w":_eglGetProcAddress,"R":_emscripten_exit_pointerlock,"vd":_emscripten_get_element_css_size,"kd":_emscripten_get_gamepad_status,"$c":_emscripten_get_heap_size,"Qc":_emscripten_get_num_gamepads,"Q":_emscripten_get_pointerlock_status,"wc":_emscripten_glActiveTexture,"nc":_emscripten_glAttachShader,"hc":_emscripten_glBeginQueryEXT,"dc":_emscripten_glBindAttribLocation,"Yb":_emscripten_glBindBuffer,"Rb":_emscripten_glBindFramebuffer,"Kb":_emscripten_glBindRenderbuffer,"Bb":_emscripten_glBindTexture,"qb":_emscripten_glBindVertexArrayOES,"lb":_emscripten_glBlendColor,"kb":_emscripten_glBlendEquation,"jb":_emscripten_glBlendEquationSeparate,"ib":_emscripten_glBlendFunc,"hb":_emscripten_glBlendFuncSeparate,"gb":_emscripten_glBufferData,"fb":_emscripten_glBufferSubData,"eb":_emscripten_glCheckFramebufferStatus,"db":_emscripten_glClear,"cb":_emscripten_glClearColor,"bb":_emscripten_glClearDepthf,"ab":_emscripten_glClearStencil,"_a":_emscripten_glColorMask,"Za":_emscripten_glCompileShader,"Ya":_emscripten_glCompressedTexImage2D,"Xa":_emscripten_glCompressedTexSubImage2D,"Wa":_emscripten_glCopyTexImage2D,"Va":_emscripten_glCopyTexSubImage2D,"Ua":_emscripten_glCreateProgram,"Ta":_emscripten_glCreateShader,"Sa":_emscripten_glCullFace,"Ra":_emscripten_glDeleteBuffers,"Pa":_emscripten_glDeleteFramebuffers,"Oa":_emscripten_glDeleteProgram,"Na":_emscripten_glDeleteQueriesEXT,"Ma":_emscripten_glDeleteRenderbuffers,"La":_emscripten_glDeleteShader,"Ka":_emscripten_glDeleteTextures,"Ja":_emscripten_glDeleteVertexArraysOES,"Ia":_emscripten_glDepthFunc,"Ha":_emscripten_glDepthMask,"Ga":_emscripten_glDepthRangef,"Fa":_emscripten_glDetachShader,"Ea":_emscripten_glDisable,"Da":_emscripten_glDisableVertexAttribArray,"Ca":_emscripten_glDrawArrays,"Ba":_emscripten_glDrawArraysInstancedANGLE,"Aa":_emscripten_glDrawBuffersWEBGL,"za":_emscripten_glDrawElements,"ya":_emscripten_glDrawElementsInstancedANGLE,"xa":_emscripten_glEnable,"wa":_emscripten_glEnableVertexAttribArray,"ua":_emscripten_glEndQueryEXT,"ta":_emscripten_glFinish,"sa":_emscripten_glFlush,"ra":_emscripten_glFramebufferRenderbuffer,"qa":_emscripten_glFramebufferTexture2D,"pa":_emscripten_glFrontFace,"oa":_emscripten_glGenBuffers,"na":_emscripten_glGenFramebuffers,"ma":_emscripten_glGenQueriesEXT,"la":_emscripten_glGenRenderbuffers,"ja":_emscripten_glGenTextures,"ia":_emscripten_glGenVertexArraysOES,"ha":_emscripten_glGenerateMipmap,"ga":_emscripten_glGetActiveAttrib,"fa":_emscripten_glGetActiveUniform,"ea":_emscripten_glGetAttachedShaders,"da":_emscripten_glGetAttribLocation,"ca":_emscripten_glGetBooleanv,"ba":_emscripten_glGetBufferParameteriv,"aa":_emscripten_glGetError,"$":_emscripten_glGetFloatv,"_":_emscripten_glGetFramebufferAttachmentParameteriv,"Z":_emscripten_glGetIntegerv,"Y":_emscripten_glGetProgramInfoLog,"X":_emscripten_glGetProgramiv,"W":_emscripten_glGetQueryObjecti64vEXT,"V":_emscripten_glGetQueryObjectivEXT,"U":_emscripten_glGetQueryObjectui64vEXT,"T":_emscripten_glGetQueryObjectuivEXT,"S":_emscripten_glGetQueryivEXT,"ie":_emscripten_glGetRenderbufferParameteriv,"he":_emscripten_glGetShaderInfoLog,"ge":_emscripten_glGetShaderPrecisionFormat,"fe":_emscripten_glGetShaderSource,"ee":_emscripten_glGetShaderiv,"de":_emscripten_glGetString,"ce":_emscripten_glGetTexParameterfv,"be":_emscripten_glGetTexParameteriv,"ae":_emscripten_glGetUniformLocation,"$d":_emscripten_glGetUniformfv,"Zd":_emscripten_glGetUniformiv,"Yd":_emscripten_glGetVertexAttribPointerv,"Xd":_emscripten_glGetVertexAttribfv,"Wd":_emscripten_glGetVertexAttribiv,"Vd":_emscripten_glHint,"Ud":_emscripten_glIsBuffer,"Td":_emscripten_glIsEnabled,"Sd":_emscripten_glIsFramebuffer,"Rd":_emscripten_glIsProgram,"Qd":_emscripten_glIsQueryEXT,"Pd":_emscripten_glIsRenderbuffer,"Od":_emscripten_glIsShader,"Nd":_emscripten_glIsTexture,"Md":_emscripten_glIsVertexArrayOES,"Ld":_emscripten_glLineWidth,"Kd":_emscripten_glLinkProgram,"Jd":_emscripten_glPixelStorei,"Id":_emscripten_glPolygonOffset,"Hd":_emscripten_glQueryCounterEXT,"Gd":_emscripten_glReadPixels,"Fd":_emscripten_glReleaseShaderCompiler,"Ed":_emscripten_glRenderbufferStorage,"Dd":_emscripten_glSampleCoverage,"Cd":_emscripten_glScissor,"Bd":_emscripten_glShaderBinary,"Ad":_emscripten_glShaderSource,"zd":_emscripten_glStencilFunc,"yd":_emscripten_glStencilFuncSeparate,"xd":_emscripten_glStencilMask,"wd":_emscripten_glStencilMaskSeparate,"ud":_emscripten_glStencilOp,"td":_emscripten_glStencilOpSeparate,"sd":_emscripten_glTexImage2D,"rd":_emscripten_glTexParameterf,"qd":_emscripten_glTexParameterfv,"pd":_emscripten_glTexParameteri,"od":_emscripten_glTexParameteriv,"nd":_emscripten_glTexSubImage2D,"md":_emscripten_glUniform1f,"ld":_emscripten_glUniform1fv,"jd":_emscripten_glUniform1i,"id":_emscripten_glUniform1iv,"hd":_emscripten_glUniform2f,"gd":_emscripten_glUniform2fv,"fd":_emscripten_glUniform2i,"ed":_emscripten_glUniform2iv,"dd":_emscripten_glUniform3f,"cd":_emscripten_glUniform3fv,"bd":_emscripten_glUniform3i,"ad":_emscripten_glUniform3iv,"_c":_emscripten_glUniform4f,"Zc":_emscripten_glUniform4fv,"Yc":_emscripten_glUniform4i,"Xc":_emscripten_glUniform4iv,"Wc":_emscripten_glUniformMatrix2fv,"Vc":_emscripten_glUniformMatrix3fv,"Uc":_emscripten_glUniformMatrix4fv,"Tc":_emscripten_glUseProgram,"Sc":_emscripten_glValidateProgram,"Rc":_emscripten_glVertexAttrib1f,"Pc":_emscripten_glVertexAttrib1fv,"Oc":_emscripten_glVertexAttrib2f,"Nc":_emscripten_glVertexAttrib2fv,"Mc":_emscripten_glVertexAttrib3f,"Lc":_emscripten_glVertexAttrib3fv,"Kc":_emscripten_glVertexAttrib4f,"Jc":_emscripten_glVertexAttrib4fv,"Ic":_emscripten_glVertexAttribDivisorANGLE,"Hc":_emscripten_glVertexAttribPointer,"Gc":_emscripten_glViewport,"Fc":_emscripten_memcpy_big,"Ec":_emscripten_request_pointerlock,"Dc":_emscripten_resize_heap,"P":_emscripten_run_script,"Cc":_emscripten_sample_gamepad_data,"Bc":_emscripten_set_click_callback_on_thread,"Ac":_emscripten_set_fullscreenchange_callback_on_thread,"zc":_emscripten_set_gamepadconnected_callback_on_thread,"yc":_emscripten_set_gamepaddisconnected_callback_on_thread,"xc":_emscripten_set_keypress_callback_on_thread,"vc":_emscripten_set_main_loop,"uc":_emscripten_set_touchcancel_callback_on_thread,"tc":_emscripten_set_touchend_callback_on_thread,"sc":_emscripten_set_touchmove_callback_on_thread,"rc":_emscripten_set_touchstart_callback_on_thread,"qc":_exit,"pc":_glActiveTexture,"O":_glAttachShader,"i":_glBindAttribLocation,"d":_glBindBuffer,"k":_glBindTexture,"mc":_glBlendFunc,"q":_glBufferData,"v":_glBufferSubData,"N":_glClear,"M":_glClearColor,"lc":_glClearDepthf,"kc":_glCompileShader,"jc":_glCompressedTexImage2D,"ic":_glCreateProgram,"gc":_glCreateShader,"fc":_glCullFace,"p":_glDeleteBuffers,"L":_glDeleteProgram,"K":_glDeleteShader,"J":_glDeleteTextures,"ec":_glDepthFunc,"I":_glDetachShader,"H":_glDisable,"o":_glDisableVertexAttribArray,"cc":_glDrawArrays,"bc":_glDrawElements,"u":_glEnable,"h":_glEnableVertexAttribArray,"ac":_glFrontFace,"n":_glGenBuffers,"$b":_glGenTextures,"t":_glGetAttribLocation,"_b":_glGetFloatv,"Zb":_glGetProgramInfoLog,"G":_glGetProgramiv,"Xb":_glGetShaderInfoLog,"F":_glGetShaderiv,"j":_glGetString,"s":_glGetUniformLocation,"Wb":_glLinkProgram,"Vb":_glPixelStorei,"Ub":_glReadPixels,"Tb":_glShaderSource,"Sb":_glTexImage2D,"g":_glTexParameteri,"Qb":_glUniform1i,"Pb":_glUniform4f,"Ob":_glUniformMatrix4fv,"r":_glUseProgram,"f":_glVertexAttribPointer,"Nb":_glViewport,"E":_glfwCreateWindow,"Mb":_glfwDefaultWindowHints,"Lb":_glfwDestroyWindow,"Jb":_glfwGetCursorPos,"Ib":_glfwGetKey,"Hb":_glfwGetMouseButton,"D":_glfwGetPrimaryMonitor,"m":_glfwGetTime,"Gb":_glfwGetVideoModes,"Fb":_glfwInit,"Eb":_glfwMakeContextCurrent,"Db":_glfwSetCharCallback,"Cb":_glfwSetCursorEnterCallback,"Ab":_glfwSetCursorPosCallback,"zb":_glfwSetDropCallback,"yb":_glfwSetErrorCallback,"xb":_glfwSetKeyCallback,"wb":_glfwSetMouseButtonCallback,"vb":_glfwSetScrollCallback,"ub":_glfwSetWindowIconifyCallback,"tb":_glfwSetWindowShouldClose,"sb":_glfwSetWindowSizeCallback,"rb":_glfwSwapBuffers,"pb":_glfwSwapInterval,"C":_glfwTerminate,"e":_glfwWindowHint,"B":_llvm_stackrestore,"A":_llvm_stacksave,"ob":_nanosleep,"nb":_time,"mb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["je"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["ke"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["le"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["ze"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["Ae"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["re"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["se"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["ve"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["we"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["xe"].apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_rlgl_solar_system.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["_d"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["$d"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"n":___assert_fail,"u":___sys_fcntl64,"Xd":___sys_ioctl,"M":___sys_open,"s":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"V":_emscripten_get_element_css_size,"P":_emscripten_get_gamepad_status,"Q":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"yd":_emscripten_glActiveTexture,"xd":_emscripten_glAttachShader,"Pd":_emscripten_glBeginQueryEXT,"wd":_emscripten_glBindAttribLocation,"vd":_emscripten_glBindBuffer,"ud":_emscripten_glBindFramebuffer,"sd":_emscripten_glBindRenderbuffer,"rd":_emscripten_glBindTexture,"Hd":_emscripten_glBindVertexArrayOES,"qd":_emscripten_glBlendColor,"pd":_emscripten_glBlendEquation,"od":_emscripten_glBlendEquationSeparate,"nd":_emscripten_glBlendFunc,"md":_emscripten_glBlendFuncSeparate,"ld":_emscripten_glBufferData,"kd":_emscripten_glBufferSubData,"jd":_emscripten_glCheckFramebufferStatus,"id":_emscripten_glClear,"hd":_emscripten_glClearColor,"gd":_emscripten_glClearDepthf,"fd":_emscripten_glClearStencil,"ed":_emscripten_glColorMask,"dd":_emscripten_glCompileShader,"cd":_emscripten_glCompressedTexImage2D,"bd":_emscripten_glCompressedTexSubImage2D,"ad":_emscripten_glCopyTexImage2D,"$c":_emscripten_glCopyTexSubImage2D,"_c":_emscripten_glCreateProgram,"Zc":_emscripten_glCreateShader,"Yc":_emscripten_glCullFace,"Xc":_emscripten_glDeleteBuffers,"Wc":_emscripten_glDeleteFramebuffers,"Vc":_emscripten_glDeleteProgram,"Rd":_emscripten_glDeleteQueriesEXT,"Uc":_emscripten_glDeleteRenderbuffers,"Tc":_emscripten_glDeleteShader,"Sc":_emscripten_glDeleteTextures,"Gd":_emscripten_glDeleteVertexArraysOES,"Rc":_emscripten_glDepthFunc,"Qc":_emscripten_glDepthMask,"Pc":_emscripten_glDepthRangef,"Oc":_emscripten_glDetachShader,"Nc":_emscripten_glDisable,"Mc":_emscripten_glDisableVertexAttribArray,"Lc":_emscripten_glDrawArrays,"Bd":_emscripten_glDrawArraysInstancedANGLE,"Cd":_emscripten_glDrawBuffersWEBGL,"Kc":_emscripten_glDrawElements,"Ad":_emscripten_glDrawElementsInstancedANGLE,"Jc":_emscripten_glEnable,"Ic":_emscripten_glEnableVertexAttribArray,"Od":_emscripten_glEndQueryEXT,"Hc":_emscripten_glFinish,"Fc":_emscripten_glFlush,"Ec":_emscripten_glFramebufferRenderbuffer,"Dc":_emscripten_glFramebufferTexture2D,"Cc":_emscripten_glFrontFace,"Bc":_emscripten_glGenBuffers,"zc":_emscripten_glGenFramebuffers,"Sd":_emscripten_glGenQueriesEXT,"yc":_emscripten_glGenRenderbuffers,"xc":_emscripten_glGenTextures,"Fd":_emscripten_glGenVertexArraysOES,"Ac":_emscripten_glGenerateMipmap,"wc":_emscripten_glGetActiveAttrib,"vc":_emscripten_glGetActiveUniform,"uc":_emscripten_glGetAttachedShaders,"tc":_emscripten_glGetAttribLocation,"sc":_emscripten_glGetBooleanv,"rc":_emscripten_glGetBufferParameteriv,"qc":_emscripten_glGetError,"pc":_emscripten_glGetFloatv,"oc":_emscripten_glGetFramebufferAttachmentParameteriv,"nc":_emscripten_glGetIntegerv,"lc":_emscripten_glGetProgramInfoLog,"mc":_emscripten_glGetProgramiv,"Jd":_emscripten_glGetQueryObjecti64vEXT,"Ld":_emscripten_glGetQueryObjectivEXT,"Id":_emscripten_glGetQueryObjectui64vEXT,"Kd":_emscripten_glGetQueryObjectuivEXT,"Md":_emscripten_glGetQueryivEXT,"kc":_emscripten_glGetRenderbufferParameteriv,"ic":_emscripten_glGetShaderInfoLog,"hc":_emscripten_glGetShaderPrecisionFormat,"gc":_emscripten_glGetShaderSource,"jc":_emscripten_glGetShaderiv,"fc":_emscripten_glGetString,"ec":_emscripten_glGetTexParameterfv,"dc":_emscripten_glGetTexParameteriv,"ac":_emscripten_glGetUniformLocation,"cc":_emscripten_glGetUniformfv,"bc":_emscripten_glGetUniformiv,"Zb":_emscripten_glGetVertexAttribPointerv,"$b":_emscripten_glGetVertexAttribfv,"_b":_emscripten_glGetVertexAttribiv,"Yb":_emscripten_glHint,"Xb":_emscripten_glIsBuffer,"Wb":_emscripten_glIsEnabled,"Vb":_emscripten_glIsFramebuffer,"Ub":_emscripten_glIsProgram,"Qd":_emscripten_glIsQueryEXT,"Tb":_emscripten_glIsRenderbuffer,"Sb":_emscripten_glIsShader,"Rb":_emscripten_glIsTexture,"Dd":_emscripten_glIsVertexArrayOES,"Qb":_emscripten_glLineWidth,"Pb":_emscripten_glLinkProgram,"Ob":_emscripten_glPixelStorei,"Nb":_emscripten_glPolygonOffset,"Nd":_emscripten_glQueryCounterEXT,"Mb":_emscripten_glReadPixels,"Lb":_emscripten_glReleaseShaderCompiler,"Kb":_emscripten_glRenderbufferStorage,"Ib":_emscripten_glSampleCoverage,"Hb":_emscripten_glScissor,"Gb":_emscripten_glShaderBinary,"Fb":_emscripten_glShaderSource,"Eb":_emscripten_glStencilFunc,"Db":_emscripten_glStencilFuncSeparate,"Cb":_emscripten_glStencilMask,"Bb":_emscripten_glStencilMaskSeparate,"Ab":_emscripten_glStencilOp,"zb":_emscripten_glStencilOpSeparate,"xb":_emscripten_glTexImage2D,"wb":_emscripten_glTexParameterf,"vb":_emscripten_glTexParameterfv,"ub":_emscripten_glTexParameteri,"tb":_emscripten_glTexParameteriv,"sb":_emscripten_glTexSubImage2D,"rb":_emscripten_glUniform1f,"qb":_emscripten_glUniform1fv,"pb":_emscripten_glUniform1i,"ob":_emscripten_glUniform1iv,"mb":_emscripten_glUniform2f,"lb":_emscripten_glUniform2fv,"kb":_emscripten_glUniform2i,"jb":_emscripten_glUniform2iv,"ib":_emscripten_glUniform3f,"hb":_emscripten_glUniform3fv,"gb":_emscripten_glUniform3i,"fb":_emscripten_glUniform3iv,"eb":_emscripten_glUniform4f,"db":_emscripten_glUniform4fv,"bb":_emscripten_glUniform4i,"ab":_emscripten_glUniform4iv,"$a":_emscripten_glUniformMatrix2fv,"_a":_emscripten_glUniformMatrix3fv,"Za":_emscripten_glUniformMatrix4fv,"Ya":_emscripten_glUseProgram,"Xa":_emscripten_glValidateProgram,"Wa":_emscripten_glVertexAttrib1f,"Va":_emscripten_glVertexAttrib1fv,"Ua":_emscripten_glVertexAttrib2f,"Sa":_emscripten_glVertexAttrib2fv,"Ra":_emscripten_glVertexAttrib3f,"Qa":_emscripten_glVertexAttrib3fv,"Pa":_emscripten_glVertexAttrib4f,"Oa":_emscripten_glVertexAttrib4fv,"zd":_emscripten_glVertexAttribDivisorANGLE,"Na":_emscripten_glVertexAttribPointer,"Ma":_emscripten_glViewport,"Td":_emscripten_memcpy_big,"W":_emscripten_request_pointerlock,"Ud":_emscripten_resize_heap,"w":_emscripten_run_script,"R":_emscripten_sample_gamepad_data,"va":_emscripten_set_click_callback_on_thread,"xa":_emscripten_set_fullscreenchange_callback_on_thread,"qa":_emscripten_set_gamepadconnected_callback_on_thread,"pa":_emscripten_set_gamepaddisconnected_callback_on_thread,"wa":_emscripten_set_keydown_callback_on_thread,"Zd":_emscripten_set_main_loop,"ra":_emscripten_set_touchcancel_callback_on_thread,"ta":_emscripten_set_touchend_callback_on_thread,"sa":_emscripten_set_touchmove_callback_on_thread,"ua":_emscripten_set_touchstart_callback_on_thread,"Vd":_emscripten_thread_sleep,"N":_exit,"v":_fd_close,"Wd":_fd_read,"La":_fd_seek,"K":_fd_write,"L":_glActiveTexture,"A":_glAttachShader,"f":_glBindAttribLocation,"a":_glBindBuffer,"g":_glBindTexture,"yb":_glBlendFunc,"k":_glBufferData,"r":_glBufferSubData,"H":_glClear,"I":_glClearColor,"Ta":_glClearDepthf,"Da":_glCompileShader,"Ha":_glCompressedTexImage2D,"Ba":_glCreateProgram,"Fa":_glCreateShader,"nb":_glCullFace,"i":_glDeleteBuffers,"D":_glDeleteProgram,"E":_glDeleteShader,"G":_glDeleteTextures,"Jb":_glDepthFunc,"F":_glDetachShader,"J":_glDisable,"j":_glDisableVertexAttribArray,"Ed":_glDrawArrays,"td":_glDrawElements,"t":_glEnable,"d":_glEnableVertexAttribArray,"cb":_glFrontFace,"l":_glGenBuffers,"Ja":_glGenTextures,"q":_glGetAttribLocation,"Gc":_glGetFloatv,"ya":_glGetProgramInfoLog,"C":_glGetProgramiv,"Ca":_glGetShaderInfoLog,"B":_glGetShaderiv,"h":_glGetString,"p":_glGetUniformLocation,"za":_glLinkProgram,"Ka":_glPixelStorei,"Ga":_glReadPixels,"Ea":_glShaderSource,"Ia":_glTexImage2D,"m":_glTexParameteri,"S":_glUniform1i,"$":_glUniform4f,"Aa":_glUniformMatrix4fv,"o":_glUseProgram,"e":_glVertexAttribPointer,"Yd":_glViewport,"y":_glfwCreateWindow,"ma":_glfwDefaultWindowHints,"U":_glfwDestroyWindow,"z":_glfwGetPrimaryMonitor,"c":_glfwGetTime,"la":_glfwGetVideoModes,"na":_glfwInit,"aa":_glfwMakeContextCurrent,"fa":_glfwSetCharCallback,"ba":_glfwSetCursorEnterCallback,"da":_glfwSetCursorPosCallback,"ha":_glfwSetDropCallback,"oa":_glfwSetErrorCallback,"ga":_glfwSetKeyCallback,"ea":_glfwSetMouseButtonCallback,"ca":_glfwSetScrollCallback,"ia":_glfwSetWindowFocusCallback,"ja":_glfwSetWindowIconifyCallback,"O":_glfwSetWindowShouldClose,"ka":_glfwSetWindowSizeCallback,"T":_glfwSwapBuffers,"_":_glfwSwapInterval,"x":_glfwTerminate,"b":_glfwWindowHint,"Z":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["ae"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["be"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["ce"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["de"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["ee"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["fe"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["ge"]).apply(null,arguments)};var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_rlgl_solar_system.wasm b/examples/web/models/models_rlgl_solar_system.wasm index f696bda..19a8c0c 100644 Binary files a/examples/web/models/models_rlgl_solar_system.wasm and b/examples/web/models/models_rlgl_solar_system.wasm differ diff --git a/examples/web/models/models_skybox.c b/examples/web/models/models_skybox.c index 28a89d4..e6727e3 100644 --- a/examples/web/models/models_skybox.c +++ b/examples/web/models/models_skybox.c @@ -25,6 +25,10 @@ const int screenHeight = 450; Camera camera = {{ 1.0f, 1.0f, 1.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, 45.0f }; Model skybox = { 0 }; +Shader shdrCubemap = { 0 }; +Texture2D panorama = { 0 }; + +char panoFileName[256] = { 0 }; //---------------------------------------------------------------------------------- // Module Functions Declaration @@ -46,22 +50,38 @@ int main(void) // Load skybox shader and set required locations // NOTE: Some locations are automatically set at shader loading - skybox.material.shader = LoadShader("resources/shaders/skybox.vs", "resources/shaders/skybox.fs"); - SetShaderValuei(skybox.material.shader, GetShaderLocation(skybox.material.shader, "environmentMap"), (int[1]){ MAP_CUBEMAP }, 1); +#if defined(PLATFORM_DESKTOP) + skybox.materials[0].shader = LoadShader("resources/shaders/glsl330/skybox.vs", "resources/shaders/glsl330/skybox.fs"); +#else // PLATFORM_RPI, PLATFORM_ANDROID, PLATFORM_WEB + skybox.materials[0].shader = LoadShader("resources/shaders/glsl100/skybox.vs", "resources/shaders/glsl100/skybox.fs"); +#endif + SetShaderValue(skybox.materials[0].shader, GetShaderLocation(skybox.materials[0].shader, "environmentMap"), (int[1]){ MAP_CUBEMAP }, UNIFORM_INT); + SetShaderValue(skybox.materials[0].shader, GetShaderLocation(skybox.materials[0].shader, "vflipped"), (int[1]){ 1 }, UNIFORM_INT); // Load cubemap shader and setup required shader locations - Shader shdrCubemap = LoadShader("resources/shaders/cubemap.vs", "resources/shaders/cubemap.fs"); - SetShaderValuei(shdrCubemap, GetShaderLocation(shdrCubemap, "equirectangularMap"), (int[1]){ 0 }, 1); +#if defined(PLATFORM_DESKTOP) + shdrCubemap = LoadShader("resources/shaders/glsl330/cubemap.vs", "resources/shaders/glsl330/cubemap.fs"); +#else // PLATFORM_RPI, PLATFORM_ANDROID, PLATFORM_WEB + shdrCubemap = LoadShader("resources/shaders/glsl100/cubemap.vs", "resources/shaders/glsl100/cubemap.fs"); +#endif + SetShaderValue(shdrCubemap, GetShaderLocation(shdrCubemap, "equirectangularMap"), (int[1]){ 0 }, UNIFORM_INT); - Texture2D texHDR = LoadTexture("resources/pinetree.hdr"); - skybox.material.maps[MAP_CUBEMAP].texture = GenTextureCubemap(shdrCubemap, texHDR, 512); + // Load HDR panorama (sphere) texture + TextCopy(panoFileName, "resources/dresden_square_2k.hdr"); + panorama = LoadTexture(panoFileName); - UnloadShader(shdrCubemap); // Cubemap generation shader not required any more + // Generate cubemap (texture with 6 quads-cube-mapping) from panorama HDR texture + // NOTE 1: New texture is generated rendering to texture, shader calculates the sphere->cube coordinates mapping + // NOTE 2: It seems on some Android devices WebGL, fbo does not properly support a FLOAT-based attachment, + // despite texture can be successfully created.. so using UNCOMPRESSED_R8G8B8A8 instead of UNCOMPRESSED_R32G32B32A32 + skybox.materials[0].maps[MAP_CUBEMAP].texture = GenTextureCubemap(shdrCubemap, panorama, 1024, UNCOMPRESSED_R8G8B8A8); - SetCameraMode(camera, CAMERA_ORBITAL); // Set an orbital camera mode + UnloadTexture(panorama); // Texture not required anymore, cubemap already generated + + SetCameraMode(camera, CAMERA_FIRST_PERSON); // Set a first person camera mode #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- @@ -91,6 +111,30 @@ void UpdateDrawFrame(void) // Update //---------------------------------------------------------------------------------- UpdateCamera(&camera); // Update camera + + // Load new cubemap texture on drag&drop + if (IsFileDropped()) + { + int count = 0; + char **droppedFiles = GetDroppedFiles(&count); + + if (count == 1) // Only support one file dropped + { + if (IsFileExtension(droppedFiles[0], ".png;.jpg;.hdr;.bmp;.tga")) + { + // Unload current cubemap texture and load new one + UnloadTexture(skybox.materials[0].maps[MAP_CUBEMAP].texture); + panorama = LoadTexture(droppedFiles[0]); + TextCopy(panoFileName, droppedFiles[0]); + + // Generate cubemap from panorama texture + skybox.materials[0].maps[MAP_CUBEMAP].texture = GenTextureCubemap(shdrCubemap, panorama, 1024, UNCOMPRESSED_R8G8B8A8); + UnloadTexture(panorama); + } + } + + ClearDroppedFiles(); // Clear internal buffers + } //---------------------------------------------------------------------------------- // Draw @@ -100,13 +144,11 @@ void UpdateDrawFrame(void) ClearBackground(RAYWHITE); BeginMode3D(camera); - - DrawModel(skybox, Vector3Zero(), 1.0f, WHITE); - + DrawModel(skybox, (Vector3){0, 0, 0}, 1.0f, WHITE); DrawGrid(10, 1.0f); - EndMode3D(); + DrawText(TextFormat("Panorama image from hdrihaven.com: %s", GetFileName(panoFileName)), 10, GetScreenHeight() - 20, 10, BLACK); DrawFPS(10, 10); EndDrawing(); diff --git a/examples/web/models/models_skybox.data b/examples/web/models/models_skybox.data index 10bed2d..7507cfc 100644 Binary files a/examples/web/models/models_skybox.data and b/examples/web/models/models_skybox.data differ diff --git a/examples/web/models/models_skybox.js b/examples/web/models/models_skybox.js index 1b7a65c..0a996f2 100644 --- a/examples/web/models/models_skybox.js +++ b/examples/web/models/models_skybox.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_skybox.data";var REMOTE_PACKAGE_BASE="models_skybox.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);Module["FS_createPath"]("/resources","shaders",true,true);Module["FS_createPath"]("/resources/shaders","glsl100",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=Number(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":195,"maximum":195,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=2;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_INITIAL_MEMORY=Module["INITIAL_MEMORY"]||67108864;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_skybox.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return Promise.resolve().then(getBinary)}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;exports=Asyncify.instrumentWasmExports(exports);Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);exports=Asyncify.instrumentWasmExports(exports);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){getDynCaller("v",func)()}else{getDynCaller("vi",func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function demangle(func){return func}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function dynCallLegacy(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}return Module["dynCall_"+sig].call(null,ptr)}function dynCall(sig,ptr,args){return dynCallLegacy(sig,ptr,args)}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=arguments.length;for(var i=0;i>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","EXT_texture_norm16","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2","WEBKIT_WEBGL_compressed_texture_pvrtc"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(getDynCaller("iiii",callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(getDynCaller("iiii",callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(getDynCaller("iiii",callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(getDynCaller("iiii",callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(getDynCaller("iiii",callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_sleep(ms){Asyncify.handleSleep(function(wakeUp){Browser.safeSetTimeout(wakeUp,ms)})}function _exit(status){exit(status)}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}function _glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;getDynCaller("vii",GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;getDynCaller("viiiii",GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;getDynCaller("vii",GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;getDynCaller("vii",GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}getDynCaller("vidd",GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;getDynCaller("viii",GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;getDynCaller("viii",GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;getDynCaller("viii",win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)getDynCaller("vi",win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){setErrNo(28);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function _setTempRet0($i){setTempRet0($i|0)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function runAndAbortIfError(func){try{return func()}catch(e){abort(e)}}var Asyncify={State:{Normal:0,Unwinding:1,Rewinding:2},state:0,StackSize:4096,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,afterUnwind:null,asyncFinalizers:[],sleepCallbacks:[],getCallStackId:function(funcName){var id=Asyncify.callStackNameToId[funcName];if(id===undefined){id=Asyncify.callStackId++;Asyncify.callStackNameToId[funcName]=id;Asyncify.callStackIdToName[id]=funcName}return id},instrumentWasmExports:function(exports){var ret={};for(var x in exports){(function(x){var original=exports[x];if(typeof original==="function"){ret[x]=function(){Asyncify.exportCallStack.push(x);try{return original.apply(null,arguments)}finally{if(ABORT)return;var y=Asyncify.exportCallStack.pop();assert(y===x);Asyncify.maybeStopUnwind()}}}else{ret[x]=original}})(x)}return ret},maybeStopUnwind:function(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(Module["_asyncify_stop_unwind"]);if(typeof Fibers!=="undefined"){Fibers.trampoline()}if(Asyncify.afterUnwind){Asyncify.afterUnwind();Asyncify.afterUnwind=null}}},allocateData:function(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader:function(ptr,stack,stackSize){HEAP32[ptr>>2]=stack;HEAP32[ptr+4>>2]=stack+stackSize},setDataRewindFunc:function(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);HEAP32[ptr+8>>2]=rewindId},getDataRewindFunc:function(ptr){var id=HEAP32[ptr+8>>2];var name=Asyncify.callStackIdToName[id];var func=Module["asm"][name];return func},handleSleep:function(startAsync){if(ABORT)return;noExitRuntime=true;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync(function(handleSleepReturnValue){if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue||0;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(function(){Module["_asyncify_start_rewind"](Asyncify.currData)});if(typeof Browser!=="undefined"&&Browser.mainLoop.func){Browser.mainLoop.resume()}var start=Asyncify.getDataRewindFunc(Asyncify.currData);var asyncWasmReturnValue=start();if(!Asyncify.currData){var asyncFinalizers=Asyncify.asyncFinalizers;Asyncify.asyncFinalizers=[];asyncFinalizers.forEach(function(func){func(asyncWasmReturnValue)})}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();runAndAbortIfError(function(){Module["_asyncify_start_unwind"](Asyncify.currData)});if(typeof Browser!=="undefined"&&Browser.mainLoop.func){Browser.mainLoop.pause()}}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(Module["_asyncify_stop_rewind"]);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(function(func){func()})}else{abort("invalid state: "+Asyncify.state)}return Asyncify.handleSleepReturnValue},handleAsync:function(startAsync){return Asyncify.handleSleep(function(wakeUp){startAsync().then(wakeUp)})}};var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"d":___assert_fail,"b":wasmTable,"X":___sys_fcntl64,"ce":___sys_ioctl,"de":___sys_open,"J":_eglGetProcAddress,"$":_emscripten_exit_pointerlock,"oe":_emscripten_get_element_css_size,"ie":_emscripten_get_gamepad_status,"je":_emscripten_get_num_gamepads,"_":_emscripten_get_pointerlock_status,"Hd":_emscripten_glActiveTexture,"Gd":_emscripten_glAttachShader,"Xd":_emscripten_glBeginQueryEXT,"Fd":_emscripten_glBindAttribLocation,"Ed":_emscripten_glBindBuffer,"Dd":_emscripten_glBindFramebuffer,"Cd":_emscripten_glBindRenderbuffer,"Bd":_emscripten_glBindTexture,"Pd":_emscripten_glBindVertexArrayOES,"Ad":_emscripten_glBlendColor,"zd":_emscripten_glBlendEquation,"yd":_emscripten_glBlendEquationSeparate,"xd":_emscripten_glBlendFunc,"wd":_emscripten_glBlendFuncSeparate,"vd":_emscripten_glBufferData,"ud":_emscripten_glBufferSubData,"td":_emscripten_glCheckFramebufferStatus,"sd":_emscripten_glClear,"rd":_emscripten_glClearColor,"qd":_emscripten_glClearDepthf,"pd":_emscripten_glClearStencil,"nd":_emscripten_glColorMask,"md":_emscripten_glCompileShader,"ld":_emscripten_glCompressedTexImage2D,"kd":_emscripten_glCompressedTexSubImage2D,"jd":_emscripten_glCopyTexImage2D,"id":_emscripten_glCopyTexSubImage2D,"hd":_emscripten_glCreateProgram,"gd":_emscripten_glCreateShader,"fd":_emscripten_glCullFace,"ed":_emscripten_glDeleteBuffers,"cd":_emscripten_glDeleteFramebuffers,"bd":_emscripten_glDeleteProgram,"Zd":_emscripten_glDeleteQueriesEXT,"ad":_emscripten_glDeleteRenderbuffers,"$c":_emscripten_glDeleteShader,"_c":_emscripten_glDeleteTextures,"Od":_emscripten_glDeleteVertexArraysOES,"Zc":_emscripten_glDepthFunc,"Yc":_emscripten_glDepthMask,"Xc":_emscripten_glDepthRangef,"Wc":_emscripten_glDetachShader,"Vc":_emscripten_glDisable,"Tc":_emscripten_glDisableVertexAttribArray,"Sc":_emscripten_glDrawArrays,"Kd":_emscripten_glDrawArraysInstancedANGLE,"Ld":_emscripten_glDrawBuffersWEBGL,"Rc":_emscripten_glDrawElements,"Jd":_emscripten_glDrawElementsInstancedANGLE,"Qc":_emscripten_glEnable,"Pc":_emscripten_glEnableVertexAttribArray,"Wd":_emscripten_glEndQueryEXT,"Oc":_emscripten_glFinish,"Nc":_emscripten_glFlush,"Mc":_emscripten_glFramebufferRenderbuffer,"Lc":_emscripten_glFramebufferTexture2D,"Kc":_emscripten_glFrontFace,"Ic":_emscripten_glGenBuffers,"Gc":_emscripten_glGenFramebuffers,"_d":_emscripten_glGenQueriesEXT,"Fc":_emscripten_glGenRenderbuffers,"Ec":_emscripten_glGenTextures,"Nd":_emscripten_glGenVertexArraysOES,"Hc":_emscripten_glGenerateMipmap,"Dc":_emscripten_glGetActiveAttrib,"Cc":_emscripten_glGetActiveUniform,"Bc":_emscripten_glGetAttachedShaders,"Ac":_emscripten_glGetAttribLocation,"zc":_emscripten_glGetBooleanv,"xc":_emscripten_glGetBufferParameteriv,"wc":_emscripten_glGetError,"vc":_emscripten_glGetFloatv,"uc":_emscripten_glGetFramebufferAttachmentParameteriv,"tc":_emscripten_glGetIntegerv,"rc":_emscripten_glGetProgramInfoLog,"sc":_emscripten_glGetProgramiv,"Rd":_emscripten_glGetQueryObjecti64vEXT,"Td":_emscripten_glGetQueryObjectivEXT,"Qd":_emscripten_glGetQueryObjectui64vEXT,"Sd":_emscripten_glGetQueryObjectuivEXT,"Ud":_emscripten_glGetQueryivEXT,"qc":_emscripten_glGetRenderbufferParameteriv,"oc":_emscripten_glGetShaderInfoLog,"mc":_emscripten_glGetShaderPrecisionFormat,"lc":_emscripten_glGetShaderSource,"pc":_emscripten_glGetShaderiv,"kc":_emscripten_glGetString,"jc":_emscripten_glGetTexParameterfv,"ic":_emscripten_glGetTexParameteriv,"fc":_emscripten_glGetUniformLocation,"hc":_emscripten_glGetUniformfv,"gc":_emscripten_glGetUniformiv,"bc":_emscripten_glGetVertexAttribPointerv,"ec":_emscripten_glGetVertexAttribfv,"dc":_emscripten_glGetVertexAttribiv,"ac":_emscripten_glHint,"$b":_emscripten_glIsBuffer,"_b":_emscripten_glIsEnabled,"Zb":_emscripten_glIsFramebuffer,"Yb":_emscripten_glIsProgram,"Yd":_emscripten_glIsQueryEXT,"Xb":_emscripten_glIsRenderbuffer,"Wb":_emscripten_glIsShader,"Vb":_emscripten_glIsTexture,"Md":_emscripten_glIsVertexArrayOES,"Ub":_emscripten_glLineWidth,"Tb":_emscripten_glLinkProgram,"Sb":_emscripten_glPixelStorei,"Rb":_emscripten_glPolygonOffset,"Vd":_emscripten_glQueryCounterEXT,"Qb":_emscripten_glReadPixels,"Pb":_emscripten_glReleaseShaderCompiler,"Ob":_emscripten_glRenderbufferStorage,"Nb":_emscripten_glSampleCoverage,"Mb":_emscripten_glScissor,"Lb":_emscripten_glShaderBinary,"Kb":_emscripten_glShaderSource,"Jb":_emscripten_glStencilFunc,"Ib":_emscripten_glStencilFuncSeparate,"Hb":_emscripten_glStencilMask,"Gb":_emscripten_glStencilMaskSeparate,"Fb":_emscripten_glStencilOp,"Eb":_emscripten_glStencilOpSeparate,"Db":_emscripten_glTexImage2D,"Cb":_emscripten_glTexParameterf,"Bb":_emscripten_glTexParameterfv,"Ab":_emscripten_glTexParameteri,"yb":_emscripten_glTexParameteriv,"xb":_emscripten_glTexSubImage2D,"wb":_emscripten_glUniform1f,"vb":_emscripten_glUniform1fv,"ub":_emscripten_glUniform1i,"tb":_emscripten_glUniform1iv,"sb":_emscripten_glUniform2f,"rb":_emscripten_glUniform2fv,"qb":_emscripten_glUniform2i,"pb":_emscripten_glUniform2iv,"ob":_emscripten_glUniform3f,"nb":_emscripten_glUniform3fv,"mb":_emscripten_glUniform3i,"lb":_emscripten_glUniform3iv,"kb":_emscripten_glUniform4f,"jb":_emscripten_glUniform4fv,"ib":_emscripten_glUniform4i,"hb":_emscripten_glUniform4iv,"gb":_emscripten_glUniformMatrix2fv,"fb":_emscripten_glUniformMatrix3fv,"eb":_emscripten_glUniformMatrix4fv,"db":_emscripten_glUseProgram,"cb":_emscripten_glValidateProgram,"bb":_emscripten_glVertexAttrib1f,"ab":_emscripten_glVertexAttrib1fv,"$a":_emscripten_glVertexAttrib2f,"_a":_emscripten_glVertexAttrib2fv,"Za":_emscripten_glVertexAttrib3f,"Ya":_emscripten_glVertexAttrib3fv,"Xa":_emscripten_glVertexAttrib4f,"Wa":_emscripten_glVertexAttrib4fv,"Id":_emscripten_glVertexAttribDivisorANGLE,"Va":_emscripten_glVertexAttribPointer,"Ua":_emscripten_glViewport,"$d":_emscripten_memcpy_big,"pe":_emscripten_request_pointerlock,"ae":_emscripten_resize_heap,"ge":_emscripten_run_script,"ke":_emscripten_sample_gamepad_data,"za":_emscripten_set_click_callback_on_thread,"Ba":_emscripten_set_fullscreenchange_callback_on_thread,"ua":_emscripten_set_gamepadconnected_callback_on_thread,"ta":_emscripten_set_gamepaddisconnected_callback_on_thread,"Aa":_emscripten_set_keydown_callback_on_thread,"va":_emscripten_set_touchcancel_callback_on_thread,"xa":_emscripten_set_touchend_callback_on_thread,"wa":_emscripten_set_touchmove_callback_on_thread,"ya":_emscripten_set_touchstart_callback_on_thread,"me":_emscripten_sleep,"ee":_exit,"Y":_fd_close,"be":_fd_read,"Sa":_fd_seek,"W":_fd_write,"v":_glActiveTexture,"Q":_glAttachShader,"r":_glBindAttribLocation,"c":_glBindBuffer,"m":_glBindFramebuffer,"S":_glBindRenderbuffer,"j":_glBindTexture,"Uc":_glBlendFunc,"g":_glBufferData,"K":_glBufferSubData,"Oa":_glCheckFramebufferStatus,"L":_glClear,"Z":_glClearColor,"nc":_glClearDepthf,"Ha":_glCompileShader,"zb":_glCompressedTexImage2D,"Fa":_glCreateProgram,"Ja":_glCreateShader,"Jc":_glCullFace,"s":_glDeleteBuffers,"ha":_glDeleteFramebuffers,"G":_glDeleteProgram,"pa":_glDeleteRenderbuffers,"w":_glDeleteShader,"V":_glDeleteTextures,"dd":_glDepthFunc,"x":_glDetachShader,"y":_glDisable,"n":_glDisableVertexAttribArray,"D":_glDrawArrays,"T":_glDrawElements,"B":_glEnable,"f":_glEnableVertexAttribArray,"C":_glFramebufferRenderbuffer,"u":_glFramebufferTexture2D,"yc":_glFrontFace,"h":_glGenBuffers,"Pa":_glGenFramebuffers,"Ra":_glGenRenderbuffers,"I":_glGenTextures,"Ka":_glGetActiveUniform,"p":_glGetAttribLocation,"od":_glGetFloatv,"P":_glGetFramebufferAttachmentParameteriv,"Da":_glGetProgramInfoLog,"z":_glGetProgramiv,"Ga":_glGetShaderInfoLog,"R":_glGetShaderiv,"t":_glGetString,"k":_glGetUniformLocation,"Ea":_glLinkProgram,"cc":_glPixelStorei,"La":_glReadPixels,"Qa":_glRenderbufferStorage,"Ia":_glShaderSource,"H":_glTexImage2D,"i":_glTexParameteri,"U":_glUniform1i,"Ca":_glUniform1iv,"E":_glUniform4f,"F":_glUniformMatrix4fv,"o":_glUseProgram,"Ma":_glVertexAttrib2f,"Na":_glVertexAttrib3f,"A":_glVertexAttrib4f,"e":_glVertexAttribPointer,"qe":_glViewport,"N":_glfwCreateWindow,"qa":_glfwDefaultWindowHints,"ne":_glfwDestroyWindow,"O":_glfwGetPrimaryMonitor,"q":_glfwGetTime,"oa":_glfwGetVideoModes,"ra":_glfwInit,"ca":_glfwMakeContextCurrent,"ia":_glfwSetCharCallback,"ma":_glfwSetCursorEnterCallback,"ja":_glfwSetCursorPosCallback,"da":_glfwSetDropCallback,"sa":_glfwSetErrorCallback,"la":_glfwSetKeyCallback,"ka":_glfwSetMouseButtonCallback,"ga":_glfwSetScrollCallback,"ea":_glfwSetWindowFocusCallback,"fa":_glfwSetWindowIconifyCallback,"fe":_glfwSetWindowShouldClose,"na":_glfwSetWindowSizeCallback,"le":_glfwSwapBuffers,"ba":_glfwSwapInterval,"M":_glfwTerminate,"l":_glfwWindowHint,"a":wasmMemory,"he":_nanosleep,"Ta":_setTempRet0,"aa":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["re"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["se"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["te"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["ue"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["ve"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["we"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["xe"]).apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return(dynCall_iiii=Module["dynCall_iiii"]=Module["asm"]["ye"]).apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return(dynCall_vii=Module["dynCall_vii"]=Module["asm"]["ze"]).apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return(dynCall_viii=Module["dynCall_viii"]=Module["asm"]["Ae"]).apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return(dynCall_viiiii=Module["dynCall_viiiii"]=Module["asm"]["Be"]).apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return(dynCall_viiii=Module["dynCall_viiii"]=Module["asm"]["Ce"]).apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return(dynCall_vidd=Module["dynCall_vidd"]=Module["asm"]["De"]).apply(null,arguments)};var dynCall_iiiiii=Module["dynCall_iiiiii"]=function(){return(dynCall_iiiiii=Module["dynCall_iiiiii"]=Module["asm"]["Ee"]).apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){return(dynCall_viiiiii=Module["dynCall_viiiiii"]=Module["asm"]["Fe"]).apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){return(dynCall_iidiiii=Module["dynCall_iidiiii"]=Module["asm"]["Ge"]).apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return(dynCall_ii=Module["dynCall_ii"]=Module["asm"]["He"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["Ie"]).apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return(dynCall_vi=Module["dynCall_vi"]=Module["asm"]["Je"]).apply(null,arguments)};var dynCall_vffff=Module["dynCall_vffff"]=function(){return(dynCall_vffff=Module["dynCall_vffff"]=Module["asm"]["Ke"]).apply(null,arguments)};var dynCall_vf=Module["dynCall_vf"]=function(){return(dynCall_vf=Module["dynCall_vf"]=Module["asm"]["Le"]).apply(null,arguments)};var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=function(){return(dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=Module["asm"]["Me"]).apply(null,arguments)};var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=function(){return(dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=Module["asm"]["Ne"]).apply(null,arguments)};var dynCall_i=Module["dynCall_i"]=function(){return(dynCall_i=Module["dynCall_i"]=Module["asm"]["Oe"]).apply(null,arguments)};var dynCall_vff=Module["dynCall_vff"]=function(){return(dynCall_vff=Module["dynCall_vff"]=Module["asm"]["Pe"]).apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return(dynCall_v=Module["dynCall_v"]=Module["asm"]["Qe"]).apply(null,arguments)};var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=function(){return(dynCall_viiiiiii=Module["dynCall_viiiiiii"]=Module["asm"]["Re"]).apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return(dynCall_iii=Module["dynCall_iii"]=Module["asm"]["Se"]).apply(null,arguments)};var dynCall_vfi=Module["dynCall_vfi"]=function(){return(dynCall_vfi=Module["dynCall_vfi"]=Module["asm"]["Te"]).apply(null,arguments)};var dynCall_viif=Module["dynCall_viif"]=function(){return(dynCall_viif=Module["dynCall_viif"]=Module["asm"]["Ue"]).apply(null,arguments)};var dynCall_vif=Module["dynCall_vif"]=function(){return(dynCall_vif=Module["dynCall_vif"]=Module["asm"]["Ve"]).apply(null,arguments)};var dynCall_viff=Module["dynCall_viff"]=function(){return(dynCall_viff=Module["dynCall_viff"]=Module["asm"]["We"]).apply(null,arguments)};var dynCall_vifff=Module["dynCall_vifff"]=function(){return(dynCall_vifff=Module["dynCall_vifff"]=Module["asm"]["Xe"]).apply(null,arguments)};var dynCall_viffff=Module["dynCall_viffff"]=function(){return(dynCall_viffff=Module["dynCall_viffff"]=Module["asm"]["Ye"]).apply(null,arguments)};var _asyncify_start_unwind=Module["_asyncify_start_unwind"]=function(){return(_asyncify_start_unwind=Module["_asyncify_start_unwind"]=Module["asm"]["Ze"]).apply(null,arguments)};var _asyncify_stop_unwind=Module["_asyncify_stop_unwind"]=function(){return(_asyncify_stop_unwind=Module["_asyncify_stop_unwind"]=Module["asm"]["_e"]).apply(null,arguments)};var _asyncify_start_rewind=Module["_asyncify_start_rewind"]=function(){return(_asyncify_start_rewind=Module["_asyncify_start_rewind"]=Module["asm"]["$e"]).apply(null,arguments)};var _asyncify_stop_rewind=Module["_asyncify_stop_rewind"]=function(){return(_asyncify_stop_rewind=Module["_asyncify_stop_rewind"]=Module["asm"]["af"]).apply(null,arguments)};Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);if(!noExitRuntime){exit(ret,true)}}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_skybox.data";var REMOTE_PACKAGE_BASE="models_skybox.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);Module["FS_createPath"]("/resources","shaders",true,true);Module["FS_createPath"]("/resources/shaders","glsl100",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||67108864;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_skybox.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["oe"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["pe"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}function _glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"i":___assert_fail,"W":___sys_fcntl64,"ae":___sys_ioctl,"be":___sys_open,"E":_eglGetProcAddress,"Z":_emscripten_exit_pointerlock,"je":_emscripten_get_element_css_size,"ee":_emscripten_get_gamepad_status,"fe":_emscripten_get_num_gamepads,"le":_emscripten_get_pointerlock_status,"Ed":_emscripten_glActiveTexture,"Dd":_emscripten_glAttachShader,"Ud":_emscripten_glBeginQueryEXT,"Cd":_emscripten_glBindAttribLocation,"Bd":_emscripten_glBindBuffer,"Ad":_emscripten_glBindFramebuffer,"zd":_emscripten_glBindRenderbuffer,"yd":_emscripten_glBindTexture,"Md":_emscripten_glBindVertexArrayOES,"xd":_emscripten_glBlendColor,"wd":_emscripten_glBlendEquation,"vd":_emscripten_glBlendEquationSeparate,"ud":_emscripten_glBlendFunc,"td":_emscripten_glBlendFuncSeparate,"sd":_emscripten_glBufferData,"rd":_emscripten_glBufferSubData,"qd":_emscripten_glCheckFramebufferStatus,"pd":_emscripten_glClear,"od":_emscripten_glClearColor,"nd":_emscripten_glClearDepthf,"md":_emscripten_glClearStencil,"ld":_emscripten_glColorMask,"kd":_emscripten_glCompileShader,"jd":_emscripten_glCompressedTexImage2D,"id":_emscripten_glCompressedTexSubImage2D,"hd":_emscripten_glCopyTexImage2D,"gd":_emscripten_glCopyTexSubImage2D,"fd":_emscripten_glCreateProgram,"ed":_emscripten_glCreateShader,"dd":_emscripten_glCullFace,"cd":_emscripten_glDeleteBuffers,"bd":_emscripten_glDeleteFramebuffers,"ad":_emscripten_glDeleteProgram,"Wd":_emscripten_glDeleteQueriesEXT,"$c":_emscripten_glDeleteRenderbuffers,"_c":_emscripten_glDeleteShader,"Zc":_emscripten_glDeleteTextures,"Ld":_emscripten_glDeleteVertexArraysOES,"Yc":_emscripten_glDepthFunc,"Xc":_emscripten_glDepthMask,"Wc":_emscripten_glDepthRangef,"Vc":_emscripten_glDetachShader,"Uc":_emscripten_glDisable,"Sc":_emscripten_glDisableVertexAttribArray,"Rc":_emscripten_glDrawArrays,"Hd":_emscripten_glDrawArraysInstancedANGLE,"Id":_emscripten_glDrawBuffersWEBGL,"Qc":_emscripten_glDrawElements,"Gd":_emscripten_glDrawElementsInstancedANGLE,"Pc":_emscripten_glEnable,"Oc":_emscripten_glEnableVertexAttribArray,"Td":_emscripten_glEndQueryEXT,"Nc":_emscripten_glFinish,"Mc":_emscripten_glFlush,"Lc":_emscripten_glFramebufferRenderbuffer,"Kc":_emscripten_glFramebufferTexture2D,"Jc":_emscripten_glFrontFace,"Ic":_emscripten_glGenBuffers,"Gc":_emscripten_glGenFramebuffers,"Xd":_emscripten_glGenQueriesEXT,"Fc":_emscripten_glGenRenderbuffers,"Ec":_emscripten_glGenTextures,"Kd":_emscripten_glGenVertexArraysOES,"Hc":_emscripten_glGenerateMipmap,"Dc":_emscripten_glGetActiveAttrib,"Cc":_emscripten_glGetActiveUniform,"Bc":_emscripten_glGetAttachedShaders,"Ac":_emscripten_glGetAttribLocation,"zc":_emscripten_glGetBooleanv,"xc":_emscripten_glGetBufferParameteriv,"wc":_emscripten_glGetError,"vc":_emscripten_glGetFloatv,"uc":_emscripten_glGetFramebufferAttachmentParameteriv,"tc":_emscripten_glGetIntegerv,"rc":_emscripten_glGetProgramInfoLog,"sc":_emscripten_glGetProgramiv,"Od":_emscripten_glGetQueryObjecti64vEXT,"Qd":_emscripten_glGetQueryObjectivEXT,"Nd":_emscripten_glGetQueryObjectui64vEXT,"Pd":_emscripten_glGetQueryObjectuivEXT,"Rd":_emscripten_glGetQueryivEXT,"qc":_emscripten_glGetRenderbufferParameteriv,"oc":_emscripten_glGetShaderInfoLog,"mc":_emscripten_glGetShaderPrecisionFormat,"lc":_emscripten_glGetShaderSource,"pc":_emscripten_glGetShaderiv,"kc":_emscripten_glGetString,"jc":_emscripten_glGetTexParameterfv,"ic":_emscripten_glGetTexParameteriv,"fc":_emscripten_glGetUniformLocation,"hc":_emscripten_glGetUniformfv,"gc":_emscripten_glGetUniformiv,"cc":_emscripten_glGetVertexAttribPointerv,"ec":_emscripten_glGetVertexAttribfv,"dc":_emscripten_glGetVertexAttribiv,"bc":_emscripten_glHint,"ac":_emscripten_glIsBuffer,"$b":_emscripten_glIsEnabled,"_b":_emscripten_glIsFramebuffer,"Zb":_emscripten_glIsProgram,"Vd":_emscripten_glIsQueryEXT,"Yb":_emscripten_glIsRenderbuffer,"Xb":_emscripten_glIsShader,"Wb":_emscripten_glIsTexture,"Jd":_emscripten_glIsVertexArrayOES,"Vb":_emscripten_glLineWidth,"Ub":_emscripten_glLinkProgram,"Tb":_emscripten_glPixelStorei,"Sb":_emscripten_glPolygonOffset,"Sd":_emscripten_glQueryCounterEXT,"Rb":_emscripten_glReadPixels,"Qb":_emscripten_glReleaseShaderCompiler,"Pb":_emscripten_glRenderbufferStorage,"Ob":_emscripten_glSampleCoverage,"Nb":_emscripten_glScissor,"Mb":_emscripten_glShaderBinary,"Lb":_emscripten_glShaderSource,"Kb":_emscripten_glStencilFunc,"Jb":_emscripten_glStencilFuncSeparate,"Ib":_emscripten_glStencilMask,"Hb":_emscripten_glStencilMaskSeparate,"Gb":_emscripten_glStencilOp,"Fb":_emscripten_glStencilOpSeparate,"Eb":_emscripten_glTexImage2D,"Db":_emscripten_glTexParameterf,"Cb":_emscripten_glTexParameterfv,"Bb":_emscripten_glTexParameteri,"Ab":_emscripten_glTexParameteriv,"zb":_emscripten_glTexSubImage2D,"yb":_emscripten_glUniform1f,"xb":_emscripten_glUniform1fv,"wb":_emscripten_glUniform1i,"vb":_emscripten_glUniform1iv,"ub":_emscripten_glUniform2f,"tb":_emscripten_glUniform2fv,"sb":_emscripten_glUniform2i,"rb":_emscripten_glUniform2iv,"pb":_emscripten_glUniform3f,"ob":_emscripten_glUniform3fv,"nb":_emscripten_glUniform3i,"mb":_emscripten_glUniform3iv,"lb":_emscripten_glUniform4f,"kb":_emscripten_glUniform4fv,"jb":_emscripten_glUniform4i,"ib":_emscripten_glUniform4iv,"hb":_emscripten_glUniformMatrix2fv,"gb":_emscripten_glUniformMatrix3fv,"eb":_emscripten_glUniformMatrix4fv,"db":_emscripten_glUseProgram,"cb":_emscripten_glValidateProgram,"bb":_emscripten_glVertexAttrib1f,"ab":_emscripten_glVertexAttrib1fv,"$a":_emscripten_glVertexAttrib2f,"_a":_emscripten_glVertexAttrib2fv,"Za":_emscripten_glVertexAttrib3f,"Ya":_emscripten_glVertexAttrib3fv,"Xa":_emscripten_glVertexAttrib4f,"Va":_emscripten_glVertexAttrib4fv,"Fd":_emscripten_glVertexAttribDivisorANGLE,"Ua":_emscripten_glVertexAttribPointer,"Ta":_emscripten_glViewport,"Yd":_emscripten_memcpy_big,"ke":_emscripten_request_pointerlock,"Zd":_emscripten_resize_heap,"Y":_emscripten_run_script,"ge":_emscripten_sample_gamepad_data,"va":_emscripten_set_click_callback_on_thread,"xa":_emscripten_set_fullscreenchange_callback_on_thread,"qa":_emscripten_set_gamepadconnected_callback_on_thread,"pa":_emscripten_set_gamepaddisconnected_callback_on_thread,"wa":_emscripten_set_keydown_callback_on_thread,"ne":_emscripten_set_main_loop,"ra":_emscripten_set_touchcancel_callback_on_thread,"ta":_emscripten_set_touchend_callback_on_thread,"sa":_emscripten_set_touchmove_callback_on_thread,"ua":_emscripten_set_touchstart_callback_on_thread,"_d":_emscripten_thread_sleep,"ce":_exit,"X":_fd_close,"$d":_fd_read,"Sa":_fd_seek,"V":_fd_write,"s":_glActiveTexture,"N":_glAttachShader,"p":_glBindAttribLocation,"a":_glBindBuffer,"n":_glBindFramebuffer,"P":_glBindRenderbuffer,"d":_glBindTexture,"fb":_glBlendFunc,"e":_glBufferData,"D":_glBufferSubData,"Ka":_glCheckFramebufferStatus,"F":_glClear,"S":_glClearColor,"Qa":_glClearDepthf,"Da":_glCompileShader,"Oa":_glCompressedTexImage2D,"Ba":_glCreateProgram,"Fa":_glCreateShader,"Wa":_glCullFace,"q":_glDeleteBuffers,"nc":_glDeleteFramebuffers,"Q":_glDeleteProgram,"yc":_glDeleteRenderbuffers,"u":_glDeleteShader,"R":_glDeleteTextures,"qb":_glDepthFunc,"v":_glDetachShader,"G":_glDisable,"k":_glDisableVertexAttribArray,"I":_glDrawArrays,"U":_glDrawElements,"H":_glEnable,"b":_glEnableVertexAttribArray,"z":_glFramebufferRenderbuffer,"t":_glFramebufferTexture2D,"Ra":_glFrontFace,"f":_glGenBuffers,"La":_glGenFramebuffers,"Na":_glGenRenderbuffers,"C":_glGenTextures,"Ga":_glGetActiveUniform,"m":_glGetAttribLocation,"Tc":_glGetFloatv,"T":_glGetFramebufferAttachmentParameteriv,"za":_glGetProgramInfoLog,"x":_glGetProgramiv,"Ca":_glGetShaderInfoLog,"O":_glGetShaderiv,"r":_glGetString,"h":_glGetUniformLocation,"Aa":_glLinkProgram,"Pa":_glPixelStorei,"Ha":_glReadPixels,"Ma":_glRenderbufferStorage,"Ea":_glShaderSource,"B":_glTexImage2D,"g":_glTexParameteri,"K":_glUniform1i,"ya":_glUniform1iv,"w":_glUniform4f,"A":_glUniformMatrix4fv,"l":_glUseProgram,"Ia":_glVertexAttrib2f,"Ja":_glVertexAttrib3f,"y":_glVertexAttrib4f,"c":_glVertexAttribPointer,"me":_glViewport,"L":_glfwCreateWindow,"ma":_glfwDefaultWindowHints,"ie":_glfwDestroyWindow,"M":_glfwGetPrimaryMonitor,"o":_glfwGetTime,"la":_glfwGetVideoModes,"na":_glfwInit,"aa":_glfwMakeContextCurrent,"fa":_glfwSetCharCallback,"ba":_glfwSetCursorEnterCallback,"da":_glfwSetCursorPosCallback,"ha":_glfwSetDropCallback,"oa":_glfwSetErrorCallback,"ga":_glfwSetKeyCallback,"ea":_glfwSetMouseButtonCallback,"ca":_glfwSetScrollCallback,"ia":_glfwSetWindowFocusCallback,"ja":_glfwSetWindowIconifyCallback,"de":_glfwSetWindowShouldClose,"ka":_glfwSetWindowSizeCallback,"he":_glfwSwapBuffers,"$":_glfwSwapInterval,"J":_glfwTerminate,"j":_glfwWindowHint,"_":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["qe"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["re"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["se"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["te"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["ue"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["ve"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["we"]).apply(null,arguments)};Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_skybox.wasm b/examples/web/models/models_skybox.wasm index ced8c80..282b299 100644 Binary files a/examples/web/models/models_skybox.wasm and b/examples/web/models/models_skybox.wasm differ diff --git a/examples/web/models/models_waving_cubes.c b/examples/web/models/models_waving_cubes.c index fcb3e97..a076a5b 100644 --- a/examples/web/models/models_waving_cubes.c +++ b/examples/web/models/models_waving_cubes.c @@ -55,7 +55,7 @@ int main() camera.type = CAMERA_PERSPECTIVE; #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- @@ -123,7 +123,7 @@ void UpdateDrawFrame(void) }; // Pick a color with a hue depending on cube position for the rainbow color effect - Color cubeColor = ColorFromHSV((Vector3){ (float)(((x + y + z)*18)%360), 0.75f, 0.9f }); + Color cubeColor = ColorFromHSV((float)(((x + y + z)*18)%360), 0.75f, 0.9f); // Calculate cube size float cubeSize = (2.4f - scale)*blockScale; diff --git a/examples/web/models/models_waving_cubes.html b/examples/web/models/models_waving_cubes.html index 05259a6..d77bf1f 100644 --- a/examples/web/models/models_waving_cubes.html +++ b/examples/web/models/models_waving_cubes.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_waving_cubes.js b/examples/web/models/models_waving_cubes.js index a2d759c..28ceaea 100644 --- a/examples/web/models/models_waving_cubes.js +++ b/examples/web/models/models_waving_cubes.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;read_=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5276832,DYNAMICTOP_PTR=33920;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_waving_cubes.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"c":abort,"b":___assert_fail,"mc":___lock,"z":___setErrNo,"$a":___syscall140,"Qa":___syscall145,"m":___syscall221,"va":___syscall5,"ka":___syscall54,"y":___syscall6,"x":___unlock,"Yd":___wasi_fd_write,"w":_eglGetProcAddress,"R":_emscripten_exit_pointerlock,"td":_emscripten_get_element_css_size,"id":_emscripten_get_gamepad_status,"Zc":_emscripten_get_heap_size,"Oc":_emscripten_get_num_gamepads,"Q":_emscripten_get_pointerlock_status,"uc":_emscripten_glActiveTexture,"lc":_emscripten_glAttachShader,"fc":_emscripten_glBeginQueryEXT,"bc":_emscripten_glBindAttribLocation,"Wb":_emscripten_glBindBuffer,"Pb":_emscripten_glBindFramebuffer,"Ib":_emscripten_glBindRenderbuffer,"zb":_emscripten_glBindTexture,"pb":_emscripten_glBindVertexArrayOES,"lb":_emscripten_glBlendColor,"kb":_emscripten_glBlendEquation,"jb":_emscripten_glBlendEquationSeparate,"ib":_emscripten_glBlendFunc,"hb":_emscripten_glBlendFuncSeparate,"gb":_emscripten_glBufferData,"fb":_emscripten_glBufferSubData,"eb":_emscripten_glCheckFramebufferStatus,"db":_emscripten_glClear,"cb":_emscripten_glClearColor,"bb":_emscripten_glClearDepthf,"ab":_emscripten_glClearStencil,"_a":_emscripten_glColorMask,"Za":_emscripten_glCompileShader,"Ya":_emscripten_glCompressedTexImage2D,"Xa":_emscripten_glCompressedTexSubImage2D,"Wa":_emscripten_glCopyTexImage2D,"Va":_emscripten_glCopyTexSubImage2D,"Ua":_emscripten_glCreateProgram,"Ta":_emscripten_glCreateShader,"Sa":_emscripten_glCullFace,"Ra":_emscripten_glDeleteBuffers,"Pa":_emscripten_glDeleteFramebuffers,"Oa":_emscripten_glDeleteProgram,"Na":_emscripten_glDeleteQueriesEXT,"Ma":_emscripten_glDeleteRenderbuffers,"La":_emscripten_glDeleteShader,"Ka":_emscripten_glDeleteTextures,"Ja":_emscripten_glDeleteVertexArraysOES,"Ia":_emscripten_glDepthFunc,"Ha":_emscripten_glDepthMask,"Ga":_emscripten_glDepthRangef,"Fa":_emscripten_glDetachShader,"Ea":_emscripten_glDisable,"Da":_emscripten_glDisableVertexAttribArray,"Ca":_emscripten_glDrawArrays,"Ba":_emscripten_glDrawArraysInstancedANGLE,"Aa":_emscripten_glDrawBuffersWEBGL,"za":_emscripten_glDrawElements,"ya":_emscripten_glDrawElementsInstancedANGLE,"xa":_emscripten_glEnable,"wa":_emscripten_glEnableVertexAttribArray,"ua":_emscripten_glEndQueryEXT,"ta":_emscripten_glFinish,"sa":_emscripten_glFlush,"ra":_emscripten_glFramebufferRenderbuffer,"qa":_emscripten_glFramebufferTexture2D,"pa":_emscripten_glFrontFace,"oa":_emscripten_glGenBuffers,"na":_emscripten_glGenFramebuffers,"ma":_emscripten_glGenQueriesEXT,"la":_emscripten_glGenRenderbuffers,"ja":_emscripten_glGenTextures,"ia":_emscripten_glGenVertexArraysOES,"ha":_emscripten_glGenerateMipmap,"ga":_emscripten_glGetActiveAttrib,"fa":_emscripten_glGetActiveUniform,"ea":_emscripten_glGetAttachedShaders,"da":_emscripten_glGetAttribLocation,"ca":_emscripten_glGetBooleanv,"ba":_emscripten_glGetBufferParameteriv,"aa":_emscripten_glGetError,"$":_emscripten_glGetFloatv,"_":_emscripten_glGetFramebufferAttachmentParameteriv,"Z":_emscripten_glGetIntegerv,"Y":_emscripten_glGetProgramInfoLog,"X":_emscripten_glGetProgramiv,"W":_emscripten_glGetQueryObjecti64vEXT,"V":_emscripten_glGetQueryObjectivEXT,"U":_emscripten_glGetQueryObjectui64vEXT,"T":_emscripten_glGetQueryObjectuivEXT,"S":_emscripten_glGetQueryivEXT,"ge":_emscripten_glGetRenderbufferParameteriv,"fe":_emscripten_glGetShaderInfoLog,"ee":_emscripten_glGetShaderPrecisionFormat,"de":_emscripten_glGetShaderSource,"ce":_emscripten_glGetShaderiv,"be":_emscripten_glGetString,"ae":_emscripten_glGetTexParameterfv,"$d":_emscripten_glGetTexParameteriv,"_d":_emscripten_glGetUniformLocation,"Zd":_emscripten_glGetUniformfv,"Xd":_emscripten_glGetUniformiv,"Wd":_emscripten_glGetVertexAttribPointerv,"Vd":_emscripten_glGetVertexAttribfv,"Ud":_emscripten_glGetVertexAttribiv,"Td":_emscripten_glHint,"Sd":_emscripten_glIsBuffer,"Rd":_emscripten_glIsEnabled,"Qd":_emscripten_glIsFramebuffer,"Pd":_emscripten_glIsProgram,"Od":_emscripten_glIsQueryEXT,"Nd":_emscripten_glIsRenderbuffer,"Md":_emscripten_glIsShader,"Ld":_emscripten_glIsTexture,"Kd":_emscripten_glIsVertexArrayOES,"Jd":_emscripten_glLineWidth,"Id":_emscripten_glLinkProgram,"Hd":_emscripten_glPixelStorei,"Gd":_emscripten_glPolygonOffset,"Fd":_emscripten_glQueryCounterEXT,"Ed":_emscripten_glReadPixels,"Dd":_emscripten_glReleaseShaderCompiler,"Cd":_emscripten_glRenderbufferStorage,"Bd":_emscripten_glSampleCoverage,"Ad":_emscripten_glScissor,"zd":_emscripten_glShaderBinary,"yd":_emscripten_glShaderSource,"xd":_emscripten_glStencilFunc,"wd":_emscripten_glStencilFuncSeparate,"vd":_emscripten_glStencilMask,"ud":_emscripten_glStencilMaskSeparate,"sd":_emscripten_glStencilOp,"rd":_emscripten_glStencilOpSeparate,"qd":_emscripten_glTexImage2D,"pd":_emscripten_glTexParameterf,"od":_emscripten_glTexParameterfv,"nd":_emscripten_glTexParameteri,"md":_emscripten_glTexParameteriv,"ld":_emscripten_glTexSubImage2D,"kd":_emscripten_glUniform1f,"jd":_emscripten_glUniform1fv,"hd":_emscripten_glUniform1i,"gd":_emscripten_glUniform1iv,"fd":_emscripten_glUniform2f,"ed":_emscripten_glUniform2fv,"dd":_emscripten_glUniform2i,"cd":_emscripten_glUniform2iv,"bd":_emscripten_glUniform3f,"ad":_emscripten_glUniform3fv,"$c":_emscripten_glUniform3i,"_c":_emscripten_glUniform3iv,"Yc":_emscripten_glUniform4f,"Xc":_emscripten_glUniform4fv,"Wc":_emscripten_glUniform4i,"Vc":_emscripten_glUniform4iv,"Uc":_emscripten_glUniformMatrix2fv,"Tc":_emscripten_glUniformMatrix3fv,"Sc":_emscripten_glUniformMatrix4fv,"Rc":_emscripten_glUseProgram,"Qc":_emscripten_glValidateProgram,"Pc":_emscripten_glVertexAttrib1f,"Nc":_emscripten_glVertexAttrib1fv,"Mc":_emscripten_glVertexAttrib2f,"Lc":_emscripten_glVertexAttrib2fv,"Kc":_emscripten_glVertexAttrib3f,"Jc":_emscripten_glVertexAttrib3fv,"Ic":_emscripten_glVertexAttrib4f,"Hc":_emscripten_glVertexAttrib4fv,"Gc":_emscripten_glVertexAttribDivisorANGLE,"Fc":_emscripten_glVertexAttribPointer,"Ec":_emscripten_glViewport,"Dc":_emscripten_memcpy_big,"Cc":_emscripten_request_pointerlock,"Bc":_emscripten_resize_heap,"P":_emscripten_run_script,"Ac":_emscripten_sample_gamepad_data,"zc":_emscripten_set_click_callback_on_thread,"yc":_emscripten_set_fullscreenchange_callback_on_thread,"xc":_emscripten_set_gamepadconnected_callback_on_thread,"wc":_emscripten_set_gamepaddisconnected_callback_on_thread,"vc":_emscripten_set_keypress_callback_on_thread,"tc":_emscripten_set_main_loop,"sc":_emscripten_set_touchcancel_callback_on_thread,"rc":_emscripten_set_touchend_callback_on_thread,"qc":_emscripten_set_touchmove_callback_on_thread,"pc":_emscripten_set_touchstart_callback_on_thread,"oc":_exit,"nc":_glActiveTexture,"O":_glAttachShader,"i":_glBindAttribLocation,"d":_glBindBuffer,"l":_glBindTexture,"kc":_glBlendFunc,"q":_glBufferData,"v":_glBufferSubData,"N":_glClear,"M":_glClearColor,"jc":_glClearDepthf,"ic":_glCompileShader,"hc":_glCompressedTexImage2D,"gc":_glCreateProgram,"ec":_glCreateShader,"dc":_glCullFace,"p":_glDeleteBuffers,"L":_glDeleteProgram,"K":_glDeleteShader,"J":_glDeleteTextures,"cc":_glDepthFunc,"I":_glDetachShader,"H":_glDisable,"o":_glDisableVertexAttribArray,"ac":_glDrawArrays,"$b":_glDrawElements,"u":_glEnable,"h":_glEnableVertexAttribArray,"_b":_glFrontFace,"n":_glGenBuffers,"Zb":_glGenTextures,"t":_glGetAttribLocation,"Yb":_glGetFloatv,"Xb":_glGetProgramInfoLog,"G":_glGetProgramiv,"Vb":_glGetShaderInfoLog,"F":_glGetShaderiv,"k":_glGetString,"s":_glGetUniformLocation,"Ub":_glLinkProgram,"Tb":_glPixelStorei,"Sb":_glReadPixels,"Rb":_glShaderSource,"Qb":_glTexImage2D,"g":_glTexParameteri,"Ob":_glUniform1i,"Nb":_glUniform4f,"Mb":_glUniformMatrix4fv,"r":_glUseProgram,"f":_glVertexAttribPointer,"Lb":_glViewport,"E":_glfwCreateWindow,"Kb":_glfwDefaultWindowHints,"Jb":_glfwDestroyWindow,"Hb":_glfwGetCursorPos,"D":_glfwGetPrimaryMonitor,"j":_glfwGetTime,"Gb":_glfwGetVideoModes,"Fb":_glfwInit,"Eb":_glfwMakeContextCurrent,"Db":_glfwSetCharCallback,"Cb":_glfwSetCursorEnterCallback,"Bb":_glfwSetCursorPosCallback,"Ab":_glfwSetDropCallback,"yb":_glfwSetErrorCallback,"xb":_glfwSetKeyCallback,"wb":_glfwSetMouseButtonCallback,"vb":_glfwSetScrollCallback,"ub":_glfwSetWindowIconifyCallback,"tb":_glfwSetWindowShouldClose,"sb":_glfwSetWindowSizeCallback,"rb":_glfwSwapBuffers,"qb":_glfwSwapInterval,"C":_glfwTerminate,"e":_glfwWindowHint,"B":_llvm_stackrestore,"A":_llvm_stacksave,"ob":_nanosleep,"nb":_time,"mb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["he"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["ie"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["je"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["ke"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["le"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["we"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["re"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["se"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["ve"].apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_waving_cubes.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["_d"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["$d"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"n":___assert_fail,"u":___sys_fcntl64,"Xd":___sys_ioctl,"M":___sys_open,"s":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"V":_emscripten_get_element_css_size,"P":_emscripten_get_gamepad_status,"Q":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"yd":_emscripten_glActiveTexture,"xd":_emscripten_glAttachShader,"Pd":_emscripten_glBeginQueryEXT,"wd":_emscripten_glBindAttribLocation,"vd":_emscripten_glBindBuffer,"ud":_emscripten_glBindFramebuffer,"sd":_emscripten_glBindRenderbuffer,"rd":_emscripten_glBindTexture,"Hd":_emscripten_glBindVertexArrayOES,"qd":_emscripten_glBlendColor,"pd":_emscripten_glBlendEquation,"od":_emscripten_glBlendEquationSeparate,"nd":_emscripten_glBlendFunc,"md":_emscripten_glBlendFuncSeparate,"ld":_emscripten_glBufferData,"kd":_emscripten_glBufferSubData,"jd":_emscripten_glCheckFramebufferStatus,"id":_emscripten_glClear,"hd":_emscripten_glClearColor,"gd":_emscripten_glClearDepthf,"fd":_emscripten_glClearStencil,"ed":_emscripten_glColorMask,"dd":_emscripten_glCompileShader,"cd":_emscripten_glCompressedTexImage2D,"bd":_emscripten_glCompressedTexSubImage2D,"ad":_emscripten_glCopyTexImage2D,"$c":_emscripten_glCopyTexSubImage2D,"_c":_emscripten_glCreateProgram,"Zc":_emscripten_glCreateShader,"Yc":_emscripten_glCullFace,"Xc":_emscripten_glDeleteBuffers,"Wc":_emscripten_glDeleteFramebuffers,"Vc":_emscripten_glDeleteProgram,"Rd":_emscripten_glDeleteQueriesEXT,"Uc":_emscripten_glDeleteRenderbuffers,"Tc":_emscripten_glDeleteShader,"Sc":_emscripten_glDeleteTextures,"Gd":_emscripten_glDeleteVertexArraysOES,"Rc":_emscripten_glDepthFunc,"Qc":_emscripten_glDepthMask,"Pc":_emscripten_glDepthRangef,"Oc":_emscripten_glDetachShader,"Nc":_emscripten_glDisable,"Mc":_emscripten_glDisableVertexAttribArray,"Lc":_emscripten_glDrawArrays,"Bd":_emscripten_glDrawArraysInstancedANGLE,"Cd":_emscripten_glDrawBuffersWEBGL,"Kc":_emscripten_glDrawElements,"Ad":_emscripten_glDrawElementsInstancedANGLE,"Jc":_emscripten_glEnable,"Ic":_emscripten_glEnableVertexAttribArray,"Od":_emscripten_glEndQueryEXT,"Hc":_emscripten_glFinish,"Fc":_emscripten_glFlush,"Ec":_emscripten_glFramebufferRenderbuffer,"Dc":_emscripten_glFramebufferTexture2D,"Cc":_emscripten_glFrontFace,"Bc":_emscripten_glGenBuffers,"zc":_emscripten_glGenFramebuffers,"Sd":_emscripten_glGenQueriesEXT,"yc":_emscripten_glGenRenderbuffers,"xc":_emscripten_glGenTextures,"Fd":_emscripten_glGenVertexArraysOES,"Ac":_emscripten_glGenerateMipmap,"wc":_emscripten_glGetActiveAttrib,"vc":_emscripten_glGetActiveUniform,"uc":_emscripten_glGetAttachedShaders,"tc":_emscripten_glGetAttribLocation,"sc":_emscripten_glGetBooleanv,"rc":_emscripten_glGetBufferParameteriv,"qc":_emscripten_glGetError,"pc":_emscripten_glGetFloatv,"oc":_emscripten_glGetFramebufferAttachmentParameteriv,"nc":_emscripten_glGetIntegerv,"lc":_emscripten_glGetProgramInfoLog,"mc":_emscripten_glGetProgramiv,"Jd":_emscripten_glGetQueryObjecti64vEXT,"Ld":_emscripten_glGetQueryObjectivEXT,"Id":_emscripten_glGetQueryObjectui64vEXT,"Kd":_emscripten_glGetQueryObjectuivEXT,"Md":_emscripten_glGetQueryivEXT,"kc":_emscripten_glGetRenderbufferParameteriv,"ic":_emscripten_glGetShaderInfoLog,"hc":_emscripten_glGetShaderPrecisionFormat,"gc":_emscripten_glGetShaderSource,"jc":_emscripten_glGetShaderiv,"fc":_emscripten_glGetString,"ec":_emscripten_glGetTexParameterfv,"dc":_emscripten_glGetTexParameteriv,"ac":_emscripten_glGetUniformLocation,"cc":_emscripten_glGetUniformfv,"bc":_emscripten_glGetUniformiv,"Zb":_emscripten_glGetVertexAttribPointerv,"$b":_emscripten_glGetVertexAttribfv,"_b":_emscripten_glGetVertexAttribiv,"Yb":_emscripten_glHint,"Xb":_emscripten_glIsBuffer,"Wb":_emscripten_glIsEnabled,"Vb":_emscripten_glIsFramebuffer,"Ub":_emscripten_glIsProgram,"Qd":_emscripten_glIsQueryEXT,"Tb":_emscripten_glIsRenderbuffer,"Sb":_emscripten_glIsShader,"Rb":_emscripten_glIsTexture,"Dd":_emscripten_glIsVertexArrayOES,"Qb":_emscripten_glLineWidth,"Pb":_emscripten_glLinkProgram,"Ob":_emscripten_glPixelStorei,"Nb":_emscripten_glPolygonOffset,"Nd":_emscripten_glQueryCounterEXT,"Mb":_emscripten_glReadPixels,"Lb":_emscripten_glReleaseShaderCompiler,"Kb":_emscripten_glRenderbufferStorage,"Ib":_emscripten_glSampleCoverage,"Hb":_emscripten_glScissor,"Gb":_emscripten_glShaderBinary,"Fb":_emscripten_glShaderSource,"Eb":_emscripten_glStencilFunc,"Db":_emscripten_glStencilFuncSeparate,"Cb":_emscripten_glStencilMask,"Bb":_emscripten_glStencilMaskSeparate,"Ab":_emscripten_glStencilOp,"zb":_emscripten_glStencilOpSeparate,"xb":_emscripten_glTexImage2D,"wb":_emscripten_glTexParameterf,"vb":_emscripten_glTexParameterfv,"ub":_emscripten_glTexParameteri,"tb":_emscripten_glTexParameteriv,"sb":_emscripten_glTexSubImage2D,"rb":_emscripten_glUniform1f,"qb":_emscripten_glUniform1fv,"pb":_emscripten_glUniform1i,"ob":_emscripten_glUniform1iv,"mb":_emscripten_glUniform2f,"lb":_emscripten_glUniform2fv,"kb":_emscripten_glUniform2i,"jb":_emscripten_glUniform2iv,"ib":_emscripten_glUniform3f,"hb":_emscripten_glUniform3fv,"gb":_emscripten_glUniform3i,"fb":_emscripten_glUniform3iv,"eb":_emscripten_glUniform4f,"db":_emscripten_glUniform4fv,"bb":_emscripten_glUniform4i,"ab":_emscripten_glUniform4iv,"$a":_emscripten_glUniformMatrix2fv,"_a":_emscripten_glUniformMatrix3fv,"Za":_emscripten_glUniformMatrix4fv,"Ya":_emscripten_glUseProgram,"Xa":_emscripten_glValidateProgram,"Wa":_emscripten_glVertexAttrib1f,"Va":_emscripten_glVertexAttrib1fv,"Ua":_emscripten_glVertexAttrib2f,"Sa":_emscripten_glVertexAttrib2fv,"Ra":_emscripten_glVertexAttrib3f,"Qa":_emscripten_glVertexAttrib3fv,"Pa":_emscripten_glVertexAttrib4f,"Oa":_emscripten_glVertexAttrib4fv,"zd":_emscripten_glVertexAttribDivisorANGLE,"Na":_emscripten_glVertexAttribPointer,"Ma":_emscripten_glViewport,"Td":_emscripten_memcpy_big,"W":_emscripten_request_pointerlock,"Ud":_emscripten_resize_heap,"w":_emscripten_run_script,"R":_emscripten_sample_gamepad_data,"va":_emscripten_set_click_callback_on_thread,"xa":_emscripten_set_fullscreenchange_callback_on_thread,"qa":_emscripten_set_gamepadconnected_callback_on_thread,"pa":_emscripten_set_gamepaddisconnected_callback_on_thread,"wa":_emscripten_set_keydown_callback_on_thread,"Zd":_emscripten_set_main_loop,"ra":_emscripten_set_touchcancel_callback_on_thread,"ta":_emscripten_set_touchend_callback_on_thread,"sa":_emscripten_set_touchmove_callback_on_thread,"ua":_emscripten_set_touchstart_callback_on_thread,"Vd":_emscripten_thread_sleep,"N":_exit,"v":_fd_close,"Wd":_fd_read,"La":_fd_seek,"K":_fd_write,"L":_glActiveTexture,"A":_glAttachShader,"f":_glBindAttribLocation,"a":_glBindBuffer,"g":_glBindTexture,"yb":_glBlendFunc,"k":_glBufferData,"r":_glBufferSubData,"H":_glClear,"I":_glClearColor,"Ta":_glClearDepthf,"Da":_glCompileShader,"Ha":_glCompressedTexImage2D,"Ba":_glCreateProgram,"Fa":_glCreateShader,"nb":_glCullFace,"i":_glDeleteBuffers,"D":_glDeleteProgram,"E":_glDeleteShader,"G":_glDeleteTextures,"Jb":_glDepthFunc,"F":_glDetachShader,"J":_glDisable,"j":_glDisableVertexAttribArray,"Ed":_glDrawArrays,"td":_glDrawElements,"t":_glEnable,"d":_glEnableVertexAttribArray,"cb":_glFrontFace,"l":_glGenBuffers,"Ja":_glGenTextures,"q":_glGetAttribLocation,"Gc":_glGetFloatv,"ya":_glGetProgramInfoLog,"C":_glGetProgramiv,"Ca":_glGetShaderInfoLog,"B":_glGetShaderiv,"h":_glGetString,"p":_glGetUniformLocation,"za":_glLinkProgram,"Ka":_glPixelStorei,"Ga":_glReadPixels,"Ea":_glShaderSource,"Ia":_glTexImage2D,"m":_glTexParameteri,"S":_glUniform1i,"$":_glUniform4f,"Aa":_glUniformMatrix4fv,"o":_glUseProgram,"e":_glVertexAttribPointer,"Yd":_glViewport,"y":_glfwCreateWindow,"ma":_glfwDefaultWindowHints,"U":_glfwDestroyWindow,"z":_glfwGetPrimaryMonitor,"c":_glfwGetTime,"la":_glfwGetVideoModes,"na":_glfwInit,"aa":_glfwMakeContextCurrent,"fa":_glfwSetCharCallback,"ba":_glfwSetCursorEnterCallback,"da":_glfwSetCursorPosCallback,"ha":_glfwSetDropCallback,"oa":_glfwSetErrorCallback,"ga":_glfwSetKeyCallback,"ea":_glfwSetMouseButtonCallback,"ca":_glfwSetScrollCallback,"ia":_glfwSetWindowFocusCallback,"ja":_glfwSetWindowIconifyCallback,"O":_glfwSetWindowShouldClose,"ka":_glfwSetWindowSizeCallback,"T":_glfwSwapBuffers,"_":_glfwSwapInterval,"x":_glfwTerminate,"b":_glfwWindowHint,"Z":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["ae"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["be"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["ce"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["de"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["ee"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["fe"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["ge"]).apply(null,arguments)};var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_waving_cubes.wasm b/examples/web/models/models_waving_cubes.wasm index b6cc248..9d0d933 100644 Binary files a/examples/web/models/models_waving_cubes.wasm and b/examples/web/models/models_waving_cubes.wasm differ diff --git a/examples/web/models/models_yaw_pitch_roll.c b/examples/web/models/models_yaw_pitch_roll.c index e57b357..cd54171 100644 --- a/examples/web/models/models_yaw_pitch_roll.c +++ b/examples/web/models/models_yaw_pitch_roll.c @@ -76,7 +76,7 @@ int main(void) camera.type = CAMERA_PERSPECTIVE; // Camera type #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_yaw_pitch_roll.data b/examples/web/models/models_yaw_pitch_roll.data index 03bc92f..62b3a66 100644 --- a/examples/web/models/models_yaw_pitch_roll.data +++ b/examples/web/models/models_yaw_pitch_roll.data @@ -10700,1819 +10700,1152 @@ f 2309/1533/2298 2308/1515/2298 2335/1517/2298 ‰PNG  - IHDR{C­ -7iCCPsRGB IEC61966-2.1xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð -Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX -?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j -õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ -{{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% -5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óûpf* pHYs  ÒÝ~ü IDATxœì½x×u':Ä`†Í$˜-DhØ´ʲ)v+qœ8ÏÍ‹Ýl½IÓ|»n»›¶Û÷uÓv_Û|É×~Þík¿ì˶›4__“4I›Jiã­SÛ ׎YŠhÉ´aR’!Q¤A„08Äp¾sî™? (ÉùÓ×÷½w5ßÕÅp0sqçÞßïœsÏ=7:ÿ;… µQƒO®ëBŽgúÂK”þ°lµÂr}Ù¡ÂŽ±´Qªç›Nxþˆë•àÚ–%D%!*³Ïž<»×Vv×ÏŸŸÊÙÑlø0Á -Kw–û ô¼zýóüÀ¿°ÒaÑqœðC›;ßÏHáyîþ’È}p¹2w^ìã•¿(¼“UmÛ–eÙ4M1*JQÉ´LüÃ*fjB5âãÂÿŸ®#}牃YÅ2-Ûûì¿kQÄné8v$"²¢ëÚmï-Kp²Ýv!Çó«nðÖÂñâ„ˤ¨(Hªà²Gˆ¬Ó¸¬ó¸M¿óÃsYÿgÕbX,]6§ÎVœUÞ5ô:I’à]Õ>üÜsÞñv*^}58¯(qÈçÎÏA^7Œàü}ïýŸ‚òÑ©ãxÇ=Wæ½ñ%÷Ë˦]2²Ð¶Ýû-Xyo,˜M'0Šªˆ«\_m‡}U‰ÅÖ¶³Qµ¹™N ›Í†¹\׺Ù45»¥ª:üg;M1_×ÛŒˆR›ýÕvÛ²‰DEx{‚ì7/ÜAŒ„£YÃçÖ/cE“ù±ÎR4,¶¦Ý²ÔÔ¤°¡éŠc»¶ƒ/ -xCY¤±i6mÓrãÞÝÒº¾xe‘ÊŽíˆ2ž7—ñ‰1)WëK8eÅ«§q¹n¯8j"¡Æ“ì;F±×n­¸ÖJ[î‰V;™|âñ;òéÔ ŠmáõfÍ‘c‘ÞÜûz›u6E’-Ço¨ª -~Å“+ .ðþæ·[L’êfº¥ÓÂΉMB=»2»:®Wh·¡ñ×¾NH3gÙ³5%&ÌÍûýÌ' €Á j~Lëñ5‡áËr…]à ƒ5iÿþýA¹8_\ï²ÿO%B((´WÛN Ë2´aþ Ï÷KÿWñŸ%í{sò#/~è;¸ç@P–£¢Ý‚n/»®7œ\–lg¯F"pQåŽkKbØ{Û>Âðò€/â8j5ÃG¶9¶áð’xcǪ ŠÎ×Pb ˜øžÙGþó'!Ÿœ|vò;ß-ÌÎç*"È]?uä#{÷@þO~ûɧž–åïx'|¼çÀ=÷ÿ«5ùí§'¿ó4pâ>KöŠí¸UUöd,)& ¬Ö)Òh:²Qc’œŒÓµJMPÓÃÉÊBýzšZK)²¼П>ô«1ÕhØôÛ@-b(kvÑßu$‘—˜ýƒýÐáá=×ú×$@9ª8N8@—B|–;R„Ê•š©Æä´®2Hš–U©ÁO¯˜c5LSUUËÁ:¤S@$ÍÕU—П@ñì‚¶1©tÔ‡Æ/ŒV+"ÃOPúE¥?Bòd£MDÐÏ'@ÈôÇ&…GÛŽašŠŒã ?ø“•€ WÄ1ÐßtœŽPyËQÿ„œH4`ûB.Š7‘p€@‚=US¬¦èÿøSÇz/Ÿ©<[€nÓ!©‘¦éKËÔNì…•ò(ÖFŽ¿ð÷áKZÉ-ªòôª-N Y(-å×78a—í;Ο?{>([¼nÀÝ¿#­wþ'™þðÑG –¢€ª¨#1¬8Bâzo5û­Û!?]l½÷—§~‚5þq$-7––ºNZvkê•Ó?Êm'ŸžüÝ_ÿ*ÛLàu“€½ÂHMQlúÓ•t’°>õ$'`èŠâ ¡p ¿'Høï˜(ÝCïWÐóI†e*\cÕJÍQúeHÛ£“üÌÖ’±²×o{ä÷?>ùÌ?Á|ë¹zr}ÆwßûÎO?ú‡O>õÎßþä'Ÿž|Nþ'á?=ð3xäþþwžÞ½ÓÓ¶±çøÃ ”µ°–Ë„D‡5@ðˆl.[¿XŸ~a µ)EçÕd¤Zö°nØ ‘ôçv «©I"(¾v Lô -Ò*p€,Å"¢7:|ýD{0.:†æô÷¾‹H…×§‡õÊBíùç§çæ*££i8º÷.`Œ×jH-S  2P%öst@IŠ ŠøÓHð7MGfJýƒŸ ¸¯Æb¹l -x·š!ø€Ê”È#‘U"ÐÊ• - ?¾=A g.a[É‘>¸ôr ?ä¹…¾ª‹x¢£ö7ê$J2®,” ÐÖj¤X&~hÀb! þÖJˆŸ“ `·Úìú@Ö ì²>è{ú¬¯ô†55U>3W®š÷ 3P8ðS¹lÔl7¤ÁWX]Yö­¿û»¿ ÊZ¿ýº¨ðØC­ÿáÿ0"°æÜ¾%ºZØ×—?ò¯÷,«•Äú—½> D~\÷'€¤ãÄÛu;t_àÐ ÑøÓ˜-ÆŽà’Ô9câ Ñ3µð%†JÔßûl¡É©¿pk ‰ }ðºI(¼Rô?ô·‡ù½G†þ ð(½P.ƒì﻾ 4‚?œ!ñÿ·'CÖ/¾2£!:ƒÖ(‹¡‰§é ‚$û›Mqô–ÈÀøÝi| `k´ó -COÈý1˜Ôäl2V«6‹³5=“å:š€–ë@ ø#ôGe~›¿±F⿈@}رM1"™6ê2.̈d¿Åà«©A|úô E (Üyçxðµ&‚>µ - %C}è‚TJô%@ˆéu¡ÙvÚôKN^£AL=NÆ¢"@?½dÀ$n XK‰Uªøt¢2NEd@ÿZ­!´«ôP´Å“5Ô( 4€Ìy½Þ­K t¥FÃôǶŠ"ÊÃJ@ÓðLî@±„ŠçA h9 %À_AQÈèšÑÄ–E ´³å¼B&Ò@„™}¢Ø -"g´Î é…ÙÊ¡ÿ1­Ó>TÚ­¸Agª]qô x¦ºÔH‹uÓ-^4}kjÇ›R÷¿s‡Ö//…¶ìXÓ *cÞòXN[=©°A;â¡îó_Ð*pfÛ6ys|Ï´>ðóü5V‹—΢å¯z^”UIrWùŠ…ªŸÂkü}ûZ+N×ýù²æßßY±,Éj¯zTj.¡êXø]@ öµöŸƒ¿ŸÏß®Á §¬ü¨òðFðlY(¼†2u~*õßùïùwüòoKùI'x5åE|;šßˆƒƒº‚ ËC‡.¼~釾·e5#lŠÅE6U £Ô†œäå*ø'—Ù…l¨ -ã`Rÿ]J‡Ôõ»e»­6Ü-"(í¶å®Ú’¨¶}éÕµlOPD(¸Š€#ïëóh “ê–¨B­ -RYbbâÐ×=ö…ǼeßÄ;ï*¿v~÷Mù¯†/NÑÂN–Éàx9yêI %ôÑ‘ás#‹‹µÂK³7çrÿ/KnÔ‰ÈĨl»&ûEu¡xÄ:XD N¶’ oÇúvAIi. Õ‹¬zƒéÔ`ªºX]¼´ˆ ‚oßH&“Æ’iG KfÓµ—Sƒ2ŠÒSJÝ0id™Í²ñ0]WÛŒöAJe²?hWžÅÀ±q®¢ÙÄŒ¦!/N¾f:6—Ò« ˆ«†¹¾`RÊ5Ɉ¶!Y{q#øì -p@{Å+ʼn41RAO$á Ö›ОžÀVz×âJÓiÚŽ•T±mÕ¤Î7O’B³¹¤ö3ö2-£\ÎmÉ@¹ò:¾YwU´i€[õ²U‰DÑ„!)‚Ầ͖d™8S -ƒT±¦ÕlÖ,;áÖتNßE’Évöü‘ ø1´šWØô€i5—LЈàUJѤ÷ªHŠ‚Æa8¯Å@|ø¾µlƒHÀQ…_`½¹-tÎFBè rÂ3Fƒ–'T '¥y C褤*&"Ђ³¯Uýüà€wŒ UÿÉ’§`!´×ô'XbBÒ¯( 9Óö€O•ùiƒ¶*ÂwžMèÑü³’ Möu™îÕPÊ“¸º‡3'8?&:7mdÆìžx)~WùçŠ=ï£0‹›ÚïÍ.çM²c&ÜU!˜”W¹z®ô`»H4’Âa ¨æ²IkS~¶à¡/~‘╃·æß?ôtùÁßB#ÞÁÿ’{àþÌî›z~õ_\2,ÓÚüëÞDÜ¥Ë?4ú{‰¬ -Ý–í€À>RÏÄö‡óèÀ ÛŽÒ+~Äëeþ+‚oPâ{ˆÈTbâŽËçú&Á/Ĉ\/¬4 J,Äô©S€þ»'îû¥M}û¹Òk(ï?øþû!?øÇ¯òçÎ-Œn¾ëî½PNg°ÏüêãüÞL¿òGr`¸Ñô¦…ú%4>¥ÉNšTA ­×¬ÆåpJc¦0³ÞIž¡-lAb­.ÖRƒzŠ)sIMÝm…µ|L’ìvw°ÝvGöŠ=œAæç* s¡¥ª±tJ/Ηff¯=GX»ÒÊ–ÛÎÞ(½ŽÕËÞZˆA aôÃÁT ÐTbÆ7¨‰Å«†%÷+ЬÀ¨‘ѳ³³©TÊôU((DúÚ#Àpô16p¨M€ÅýÂ%ƒ%xý’9¨Sæ•¶Øo±öĶ9v»Î\f‡"ÈŠ‡6@ ªJóÁ‚Â$BÀq5*TFK(\푚Ԣ€þ4ÙKü1®Ã&À½FGcŽþ”KB}IX@IÇû‘@J§D èõ^†—ç{üÛ³$b¹|Êã€@ùm…èV(§ úùÄXa+úv›ãlzÕÓW¼ñè*kÇW®c ÄóÀÚtœónŠp&)ËoD–3c¨"š–«*èsšP„›ÓÖÕð…¹}ëÎu[øNwvývk,wŒ -’÷©ÐfN @0RçKó2k§[ú‡Ë-þNqõþÌzû—™†Ò(yýR˜Zv+@ŒÙ{·-ϋö@ˆ€lc5ÄkGœˆ'¡ ŸˆAdA”ÑA ߾㚄þP¡DôiÆÓüÎïúü]±„tBBôGA»~l …šQ;qâ||ø.2èϾiò|~ óWgo¾iG„ëÃä666633ó쳇AöïúíÀ_ûëƒýìƒ<$bxY³å™Ú€t&ð~;Œ,a}êLš¶Ðdaú3ŸPe7’‰d£Ñ Ï ¡ wy)’ÐUàmôj­iØ«m¹/BUöDzí£úe5‰_9úü4(€þ äF²€àr®uŽ?Ž’*ê"Àú¬A¿à½ÄD: è=§š“hˆlìë:ªžõ+–³‚È J€»ÚDk>U²žî ¸æ²M Æ¤¦Õ6^™EZú#ôUåF.@¿ºÁCRH sœ‚Vëñn +’mÙI™ úáO ­(ý²µbÂ$˜ðAÖ<§åͨ;4õèÕܧ²Ü'>ˆ¿YÈrAèi8# &Ô@üç“ÅìM󗺑hò3¹WS¹›½Ï„•8´ÂøQQô'%ÀjqJIKäM@j‡‹%‘„Ó s™bó-óñœàÖn]ͦ¤tšVT¥û‰ë¥tB®4˜ÞÀOÈXá³NûÁë5Ÿÿ[ª*i<ûláåÂÄÞ}ç °Ù$Ш÷¬5NZùÊ+?Z-ÿ¦ÜüàKT€¼´x¿ÆKù-™Í[sO}§cæ`PS k½¯ü)£)CÙìK…nÉÄÿ#Çl+›{ïß²¢úe’ÓÙ|XË €r”`èà0Äg ïß'М9P¤8â”÷L1ìö^n[ÉþŒdBÿ®â?€þP.¿vžÄHÿðÄ“äÇf^C‘üþ{Ñâ?[œè§k@îC%€~ýëËÞe$þSa¦`Æh‚~JÕÅjP&ðhÀï· ûëñЩ‰ŒæDÉ8š€š -4ЯÇôNiÂCE;0oÚ †FÈ Ôeçýk—j‡ŸÁ -“ ˆŒï”“ýǯOf\ùú$—“¼Y[èS}ñ? ¸_,6TU49§-@ÇŸG›»¢4›øgÿ‰@ p#®,É@šŽ†Vÿòš¥Ê à™€d6#¿3¾ZØ\ó—ÿPÞHªÆD2Û¹ŒR,[?^ô‡d,YÖ…Òf&ïnÔ¦^E&Т‚½Ö7¯;Eá µ\‡éõðJZ®N-û@À|™)»NËnûoX•Ø*:\ׯ°9=1|¿bŸƒÓ•ý -² h,&Ñ2"tqÑóÁKöyNJ±~eÙVNÏU^Ó4íØ÷üÛƒpNߘª]®BÀ4{z&5¨üæAa•öÜâk •‹•…צ5MQdqˆÍÔ«ÙÌ èÐåR¥x®P<{füfœ;¥‰ÐÆJ¥nWU) NjÓVq¦–F´5Ñ -u]„|`‡› 7dýw­P )™%¸R‘Ðæ0L¡äâJ”ÖìàÒ’3V£ŠëZ²¬6[ÌO†yaZ «O’ûÙ@tMüO”ÃOŒ%áÀ]»+‹Øc-æâÕ‡›3k.y(ã"˜¡±‰Ì5õ+u(’q ßhj(Q«ºQU%¥fÒpPÑ‘$±í ¢¦ëY˶k8§ÚNÆ"ŠB“”j:=<÷Ä÷ [7{ÃJ‰p¨™þ¼iÍd E ×.Š>ÔØ0ªÛ¶£Ä–L •+!šmâpŒ[{$+~ßs…ÔÆ¤L ÕŠ©’ð¸¶?Ϻ!“ÝHÐ@}ܟμfúg3ÝEèÿ÷Ϙ÷Œ)D×ó·µà€ý¬º÷¼ÃÑ—½êæ·)…3ÖÁo¾?»ÎwÔڀíT½‚M“ì¿ÖÕüã’å¶»NšÍõõ°•×–Eî-Ôú9àC2.×—z[ÛÉtÛÂê+V…ÁbZ%ÅÐödù6M-.‡/ª­ñæ¯îú$õTrã Ù¨˜K‰«6:TH"ÖJoŽÝzä>—?ðVmòã¿„ÔkOOXË8bò;â‡/ÿá_–{~q½T6¬Ég&?øþû wÛ-@ÿ7ôõëLV m°¸oâ¦\kyió ƒWÿÖ˜\†eb·½Î²Â—Ã޲̚Q‰1¨1cE ÈA‹Å“¶ÿ.÷ îÐçÑŸX!Ð*Ö:/¼ Eáü|Gsó%Ès[Çús[…âY”ñý!Ÿ}µ¸c UÇþìKïDX€# i(Ý}_–¦_™& T_é0öÎ=ô¯,TÈǬ ýAõÄÊs¬%˜ûxÓnÂå&s¿!¨”‘–€ 0ˆ Â0¹cb“ZͨïY "ÿÑçÑ %@ÿ q¨>ÔùéYîŠ+w®."—\"*\ôÿl¹´ÔFlºj…9³% 0rC2&ÅšNxWI(¤á)ÌïÔ…›}<ú\R—ÖBíêä±P[µ¬u„ªhog“N,?æ9gîÎ>ûü³Ü5á}bJèÁ˜ôî³÷-w­}8 ¿q¥j ¨kd]•º×PúÇï×Bÿ®xæëýב¿ìþ„qïmÒ¯1èâ€ÉgŠîέýVƒé¿ÃY 6¦ ú²¹e× -Ýl‡`*ñìÅVT¦âÌ–¨²‰r‚fÊ#«R’ ï $9)ž÷ºq™·_jƒZ½bŠ‘5@Ìîßê&Í7÷ ŽE÷«Fw«f= À\Qê53Àðµâé©Üö  pó*[ ½÷ßwØLÞtÏÁ÷¿x®˜ËåŽLýÄ݇àÕ\¨Ôà o(à€[G‡Zr¼pæG]hµš}–ÙôXhukD–€@(Û“ëc1Ä*ïú&³üˆQ ¿Ýr"Q H:|FDôÜþ:<p"AUUÀ}P§dæéé°i™õáŠé¤U©n!Àéšù›3p ùÑ#SÓ§¦éY;¶í©\ªÀ4P5 ýƒjådZHŽ/ÔñLÒw(Áßl˜€þè3¼ÅÇ9L“&ú¸isým6›¬œWØäÙÇ»9 RK§u2gô;¾#f¿JÇdð´÷Îñ…ó^ÛV.u³ÔT–à}I‚dr^ŸWÈÿià€ºé]ÐÅ¥Z)«gÙw ‹©Ì¾ «ëV§·ÅÑ#‡ƒ²½¶PûFÓ³ÿô|PÖ´õîëM€þT y·é´£Ðæäûï -m™™/ý!/•žýOÎ:_úf©{EÎ5àþ‡>aN{ 8 x®Çb‚ñëgŽ!úC¹pºÆãæL%É8[¾ÁÏ x“Ò&»†gHÎ3*,Þ®öãõë -MÎ 4ÆØ˜ Ã ”¯Ðu¸Šòu>¥ŠíPdî}þrÐŒžØ®ô h„­º1Aí\²@ËÁ@`ÁoLÚþ(B(üÀO”´¸bpFKØ ‚›ÈmûQƒ€& Ð?t…›!ºdV¡1aˆÿQa×£àØŠ$×LrqÕérï!_àR8<…€A?éÁ5FO 8³„þ^SÔ‰Hü§B*ååÄm»Š¯- V"âWX*—Ãq§1‡Rý;ˆÿ‡è_7%mYê\“Õ³}½ÿ-ÇR¢!¤u¦U0Ü,ärYà·O"g|8¢l¼å[Eççð',ÌyÏ=À²ÂúðÒÓ9Ÿ'н•ûêeï»<Œåq é*=:{7lš–¬è¸øÖVpMžÜ{Ûž_ûw-–9²çݸ;ÂÒàý¾pø3ÿíS÷¿WðíCÙ7X×òÒÉÂ`z(çOÔ?ö™'öÜ>ñÑ_~˜oCý߸…â|?QÂ:(qŽ„8<™<òÄÔK!WyTbK½",ÏèJa¶º0gÄ¢‚SKWðÒÝc’&)O¿b}îoÙú´ ®‘S1_‘¬¦¨I¥sæì…ýÎcîÃ÷Kߣ<{2|7‡/<ð¾ñÂLEOúÌì8ã¹á¹ŠñÜËHBäZgVÅFÓñVßø©Ì ÀW%o9ßøUmtÉÂÞGU‘Üü­uÅ1½´¦¦U˜m7PúÌײzˆØè!@“ïlEd®œ¦Õ=$¨žJ¿°Ð8«Ð0qfpm"/w¨0ܪd÷ÝμÁj 7¾ùÞtÖÓœhå$ÕÊ]u%QBÃñOr‰òÄ6â¬[á\¹ðÒ‰ûîÞWœ›/œ½ðc–¦(ÑH‡½?3¨Y… rêÕÃ[¶c-¹g€åŸ…,Òí¦G2™ìxïQœªWê)UBI'¬v?'døx®½Œ¥5¸¿µl*죹T§ø0älŠ®eqUZÅ^´g7šJ"›e µN¾T(Î&5¼xïÄø‡þí¯ÏzåÅg=zøûG¡üî{0ÞÃÉ“S€°š–…cï{޾püÈÓ'nß½íÆ‘‡?ú°Ùðxèìk³ßü;tuÃj’ÄÔM[ТÙ³x˜Ë œà¢“F½Q‡Ä2gÅ!‡cÒÖ¦d6/Ýöüá¦*À9N1ùÊøŠ«Øï…I®Ûý’Dn¦¸°+è¸+®Ø8‹e(DD‘|„iò\•#ÀPÏÀ—Ÿþê]æW#& ¬æÀEj žƒ+›HôîÅÚR¼ŽÒ¢Qºle7*ëF%aT’ZØáhýˆÀŽ®mÆÿg>›óÚ§É)1®ÊU} IDATnN¥TvðÚF!@ÿEúÄMö.P­ÎÏÿðXüS{oý§£/õüSTŽ.Ö;ôÍD<Ç{^üÃ¥ $Bs骢šЃLßhtɘ,Þš7 ë¾°¸ÊÀfAÁx‡ ÆÖû˜Ë¦8 èß3™K&I¯µFèŒèÿ¥¯Ìf ý!Ÿ>…pŸÞ4\¹¸pôèÑðÊ“S»vMÀœô‡ÐòÝ{ðü¶7u=ô•ééü-㦹È~—7üg^.V+Þ_‹þ])½)3 ›°OJÜR†úRØ€¼„ -À(#Á‡þE–KLß‚Üî4fÎtz‚îW:Ñ¿3i\,¶ËüÑaµý ¯U`ÞiM¨¥Ùh¢úT*õt:IyݬÃ1œF+|»µ Çú±†Íåf~l7…™ŠªW*Z= 4 ˆ2¨ãÁôCñV;·%èOg>üs&žD2ݨ‡†¸‰Ûwá̼Ÿæ.Ìßy×Û¨ =­rÉŸfh¥ÿU‹ÅØnIqËlÖúÆíU®l!íWÞ²_¥¯ªÀØU¦`úwˆÿ'fœÏòÄä=7+ӳ̪>@Ë„µèO©¹ÜŽ D 'ô§ü÷þÒüäGÔx øÖÉ×ÔŽhX, k(¥+=ÏóÍ—eu@B%Àå<…¼Aé ½é§`^.@nÕŽ—T¿+«ý¢é‡"Àß ¼æ£u'›¹J¢H3 ôÓ_Iü÷–¸­†ó]k‹ø ?á>(òÆ -ŽÕžƒÐ?³E)3ç=Õ2=|h2×íᥩ3Ý× jqkUè5¯7½ðƒ—Öã€.ôÐù ˜·r™¸6845}µy €J­9g@GªÔŒä€×þ@õ庞ԛÌóÏ®„jMöò’äv] Ç$sœ¢ÄbÐ-U³i’µÄõm&èÔƇQ•üÄÑ“’i~08sY½K,fœ åJö"Ö¡rq>½iäcÿ˯=ú|†.èÿðGÐnðÿñW•xö¯¾ø €ÏüÉç‚;L;qhþàÚv(¼<½ï­÷ú᪩K• ôzu0RJÎY`‘Aá$( £Aë,ߌC7q¯¸ÄÍ'P¸ÐÇ!¡Cã‚âÿ4PÑ¢‘Ô‚•WAÿì ˆ -·"Õ^Ç¿k»¶ÝôGXu‰Ñ!¯_ñˆ*¨UåR ¡²GRM¦’©€ùÍ7…, â?)]¦'€~È'Ÿ™þR/C¤ã?Ã]ù'¸¦…»nTd%Iâ?ä®å:uVíšÈÞ=JÀÄÝp@­ÔÒo?v­¿±ô#`_…ºh§Ï]ïã´x<&_{ž cè!—L&½…¬QoØCR£´bˆ åAÒèIò¹Û*ÁªÑSÏiµ6ÝÁbãò"Ù€ζKsZ\A%€™bNM¿üõèÔ4ÐÀ}›F*="ãO@ 8õâ `‚™³eú)*°ã&©Ï¾6{ð«‡@ö›Â\ô‡Ââ¥/þ¯m4 -7¼Ec€ûìš)@ .€“p†Q«Öô”^óô=€0wx3Þ”È6Øèbo7ùgU*èOÐß• ¢úgnÐàµlíBí®–J&d8àcižM³ËÄ®NAꢠÜl¨8œjÂZAS) €¤ þ¯­Í:CT±@ˆ_6c*­Ýݺi9r,\tc±°ÏVånLa¾Qµ/Â%¼¸ˆÕ²æŠfY6¨ÞDQ4f x¨á:,šVÍT7¦hRú|± ÅM0W–r¹LͨO~牺?wS&&ÆŒ+·àm—?ÿ³Ç ðáýHcO>áŇ è 5ÃøÚWÃ%êðp$Ûôæ‚”¨V«¯ÌœŸØ[K2)r¶0k‚Æí›[Ýìxâ*ú2µ£8pÈ©)¿-Ô¥r©PðÚ9¥¥ n‚-Ã[à˜zyJ‰+®¯C‘·•mÙpqŒÁ¥,iõËvD‰±¦¶ [WÄìæô‘g¦ –’óúZ­f\6Y[å”´AUßí¶šÛª×.[åÓIÄ¢0Ö\sÃ%7*¹¼¾P4ë4>zÈc@õv;‰P°Jµ" HÍZç„[wE†gEV#1)†¦9  nbLÀ÷ÞûAMË”ËÅÜyßyoØïEl¥Vž˜ûð/~ Ð~×®Ý{ƒ–܈Åt½ÏM&ÏNŸ|û· 7ZÆ3w#òqDtÇ_±ÚûúÍEý•[ÐÙ;’EÜDi€À›Rõ%CéOÚð–ãÑ­÷H«ÆƲYœwÁà4–BÚ Çʵ†”$µ#A.Xp`Ó\2s[4ÓŸ¬ôÐ?£"ô£¿Pe@ôÇN_“¤¾¾½;õá‹Ð}%»I }î¤sçIg<¯NÌô ù=ŸnÌ&æ^ï–;ÒlÂÙs«geÈáh^¦¥{ÍW§“Øù*WzLg¥4žÙˆ²^±Öý°´¾®=wmâã&y_ß g•ÖÜÖûk¢‡MÒ¥Ò i¯å=}Þ|/gЇþ×bóØÄoÓVûúo8öçæt<.cTN å¼g™!§ÌûÞ’+œ)­Ü R\ìxtnP+.ö¶.e7Ƹ‹¾GŠžLôDÀ^„rßtiÑ[²œÑ¸­v˲ñÖDÍf†2™Áâü5ÂE´–kÁz}mýAçÕª¦å‰¢¢ëÖ.U‚ë5ÃŒ1+* K°_hдÕ·}¥¦ :ù¤¯²8À1¥[ÍÅF–u@ûðžŒdYÕúÍËž.^(xnšF­¡éa°ïáaO”e¥T®–˜GM͘Þu«'ÑŸ™)lËSÎû< ?’ÇBrZ³:{zV8-Ü~ûí;ò;ýg^QýåЄõ »P!HdÜ ôŸššÒõ¹ô'º§€V蟸e(‘MQX£I«éZÒ2›ý$ÁúC^ºP] ÓêP‹? ÿ‰c¸NbÛ-éäFµ~™Åb,›Ôcógk•×­ü„.Æ A;€Œ€©„ô€êåÚ ®A®F-]Õi]X À¿ómïËdr†áIÜüâеiò©ƒ¹­7Ÿ:uj×ÎPÌg ËEŠér츧Àô÷L’¢9–9 «Õ¢œ,Ï‘¨Üî\Ø”ô]ëKF¬_ \`é䞉»ŽOa´p«i[¬·sp¼¤'ð¦@Øâ?ý)Í4Ȇþ¾'ùÁoß4’ÌdY`r]Óe €ÜV¤bÀ}øYÀÞ“}â06 ?p@­êÄó/ÚÛnôZ”€§Žïò×¥ž/5îºmx´Ôˆq~$?ŽWü™(ÀáŒ%âú‹ÅàJ⃛rE¶™Ãi-TýË–û„«¤JͨóNGýb©ºî: àü/> «+=9 â×abK:«©%¡@~ÂÛ'‡Ræ­¨ôca½å`·ã4ïŸüæùÇÁ˜9Q\²©tO!<ñ}ÏÈÞ…þ쌑Éæ{¨¥ËêÁ¢ wéë¸]ÁŒÛ™$Å¡ÁAá jåÎUÇš7ŒŽ @ÿë á,&[I¹õ|Ï—‘ÿ¡—¨Æbk 8³e -Ì¥ðú[åó•Dༀ˜!ˆð†à+Æ’ °Cg0🿉^“ó3kfØW^Îç¦^B&Ð}›;á8ä´)J6“ôÙ_Àyãi@ÿ{úA@8Òƒút¡8žGÔa<ák¥R-ˆ]¸VƒívBý¡LkÊ2Ù ¡?Ð@vs=ô;Hjc*KôgÓY8æ/Ì{¶j [vÀªEúÞXžøíÉÆ>ÑàþU^"6ËšÛ¢úë æoÕùлÁæ07oÌžy©Z˜ªÔ§¼‘ £ÀÐ?‘ô(v±fÀh‚£ÓU[¸çíÿ3h= µbê‰4Ñ@«£¼T<û -hŸú£OÑÇ`îPä" àeç§ Ç;÷G‰T"‰ÓÂ1I4 bª–‹*ƒÐæ¢PM‚[%üÁÖ^]‰ ¨”ïv þw4hoMâ¿À†Íú <ôžmÚ"+ \ºd‘  „b3- ~°9²IÞCñ§>±Sâé ?Pî{«×ô <õý ôÌÀäG’ÎÖ÷µrÙE#à}/ÅU>ÛÓ>Ý'%6{Ñ6(ÑÎp^âžuëjh«m­C Pωí^ÙἘ¤·”T¹¬ÞŒ·àHcìGª¡Vë!nîk Í®=™û«üÃXlpIXÏ †ïq­ÇúÚè¿=3xºìIîë×~ -òœÓÐÚ/.ùïX‹{ÀúÇA›G;?^»bA R=hÚ´ªÑޱ|´8§‚žÁXtôêÞ1XI…lF‡¼ÄŒÔð¸JךèìÍÂyË7¡€Àß ¿Æ<,ú‡¹?úSaçx)˜ ²Xñ¿²ˆ²¡¶šlÔM² è/0Ëð~8`þÜ<íBCa¦¸ßë±%ý3YŒSÄm RzªÊ–íØŠ÷ÜǢP»\# €¯[s¹©mèXÔBJÀÚ_~…—À1—ÄÈ‹gkúã–æÂÙ -( ]ÁĢᜠ-âÿBÑ„ä¸vÒ÷“¡Ô¨7øÙiª$‹¤+:â?{zØ&ý@XŽze°Q<[8ð®ûì#|ýYlÁn¿Ðäœl Èï@¯¡À -$±…¾¤x÷g… )%ÆWi4Áüsû›ï$ @aýò¨¦ƒh¼ôj ÇÆ0Ü’Cü'¦‹ ¼m#ÊR ÝÿK‹8bÙÁo÷Þ‘Ü)Awd/+¥Š’äYÒµ¤Xœ·vdÄ»ÔÉÔÞûžìýú‰S5Ô–DŒ€Ê”î¹’:¾E>‡åŒfüÓ”;v)P8!«uË©\¬(¢0¬©1?ºÅ©öL®þë·lÛoT*—íöŠ«÷ót×¶ü5å¼…€¨p bó–"rLŠx‹åš–K.*Brø¸ÊôRúÕ þ+ý¢Q·qw7I¤mÞð+‚,ÿ‘üçâÌp¸@Æíèì’è´"e²)'c „PÖä~E–caúYW’ƒ(± ›p·XGš‘àbAi(­–öøÞÒm?ãͲ6§n@IÎmÍÏ6¡](U L+NQ!?·ùf£Qa²fÚ­CX¢€ŽUÃÛ¢ LRôç/Ø×çL@ÿ…¯ß§|g‚¼Xáwòfî €þÝ;‘–K8',*L“˜.Úã[B¨zá”uÇ®ðY“ùVz‹§0¢iãTðöÆ|i¢RçÃë³èÐýr­ï 8 H„­àÇ üLULW˜A-“šmÕváÐÙRi¡¢?A?åĨ@@Ž>"€~j\$RŒ;1×+? _Ÿhùßj2<Ô,ôT*€@’±í&P¨/V\\(p;ˆ~‰¢µt­øÂ¯wÄÛ ô§´ûv”,VOïûÍOÌê«×å]óÒ¹0phö†ë]ø¾´´tÿýW¦‹7çÖA-¯ò·LL~ß[²€[ÂDþ‹JÔã—2Û-`sfðByqÍ-Ã¤È @jtÑ<]L!›þ­O ×îúœ…óf,´gÓnã>æ;ð%@¿Ïe¼-Á¶|æëjþŒ=\Vcb8h%0$_ר¦×ÐO9\Ð?)Ìç’ÉŠ#T+ÕTá»Z¯úóéðatöØ}zª”ðn£7b̲¹ós{ï;@¥n,\X ™·k‘#ïÂO)ðqÔ5O&1öì,±ä slûÐ@±ˆÁB AA`kÄ®ò.®™êË2µƒm,¯X©MJŠ™ª­Üötñ´g£¯”ñ[€þPÐ4…67T€Íw@Dݨ¾­]ißžwS¦UZ?»ª’ø/Ðü6n¤¡)ôO~ò·Ÿý.rÞ2V7q¢ ¼É•0¢)ÉþkSZuý!ÎÐèGojì”¶î£=ŽeÀ›Î­û.}+NÒ·Æ$qµ/”¾]Üy‰ Re›Qâ"Æ8Ra¥OW%àÐVÝð7j^¸7<Ó` ª²Ë…›îJ4¤q¡ýP¡ú“†¡¬ØÉ‚~3mYÃk-v§cŸ, ¢"8Éæ¯Úç/ø…Oþ-OXøØ¼4ùœñÞ_+~á×3·ë@û×ñO}u½'\#ÝzSî¥WC_ûŒ¦@ßýÊ7žà¯i,-]X\W€/[ÂÍW}Dñ¥r ÆFp1KQâJ4â]¢´‚Ž€×5€×Û¡Ï,Ê쬟ÐܯÂLpÄ&w0€û¨·IŒÂWmBÈib3&ƒ°âPduâA?yIlŽJOh@† 4 « (ÜÂ>¤°–æç‹Ì#òÔP -FÆœgƒ}àŽ;\G_i(ˆ$´A@ Œ€ ýÉç?-` d¿J¿ À "Ò:W8Ó¢îϾíÎï>{ø“ŸüäÚ6é\-Œ¯ 0[ÈïÈ—.Íû' dÿTçy Ä ЄBŸÓCÌkÍDHù·¹Òam= TÁ6ÍnŠ*`­ŠJ¹7ìïÕ·2ð(ܺÓäZó̲Ì;ÈS|/Ž~¹É@–dy)Êó,™ô€Ô•äz8Œ%d£±R¨:ؼ È -ìw-Ïþ(ÖJ·¶Ñ¹IެFœbß%…ÌÝk5' MlIýа&µ[mH{ ô{í¤G¿n<ò;ú È ”A¸ÊWz¦<Û•©ô:‚Kv£Âs@Ù°ŠçŠ|ÿ}<$âñ«YpáRÅøÈÏ>ð—}èêÏ…1Ò¥ðr«G•ÀXÇï¨g²l¬!5škWer(îšI '~=Wà@ L@üzro­[ÿ% -´à+\+Ló_!ô}ÑêtqHõ -‰d‘‰À ½T€ò‘gŽsχ^x¾è«û÷ï'ô‡#;œôîÙçýoÜ2zøùãÃÃH¢ Ɔ7ӺܮԱˆwý­2€„³ÂäS“„þ}ö±òbùc¿þ±ÙÙÙÇÿáq€~¯ò ÌK 2õ¸ž¨^®¯Çý´,£ÍíX$uC8:/6'¿5 èyñLå÷ßrà=yàøSv„Í‚0% |®CNZ»‘Ÿ€ñ_` ki~UòC<) ÐEܾØe¦!¬ ?h úôÓwyè_›hßæ®4ýŠ'͈¢šë^È}ý‰Ðÿ•ÓèÆº¦B²Kƒq÷‰Ôéô¸ÒF[¬}–…ùE+—‘Rª2¸A®УüM Ãh× W×Äá”´;'Ì]̶˜Þà6š^ÈNU »^w’IIßÚnLXÅÙ¶q…¶ušK -@ÞÖiú,ÑìùÑܶ­¦È†vußGRä^3¼rœ,ŽipZâ<Ä>!ƒ¯Ñ^NÛTQ ¶Ó…KCsÕ:'èÏòƒÐ»gתC~_gU¨&íå]Ö÷ %;¾Wæ4ÍÖjß’Ý^bË£>ìã}(FîG¢rÇcDª¤ 9$ó>¶ I‚„"Õ:¯0-ášWøÿ ¿ƒ®™I‡Ö˜Oý:bïÁ.AÚ~ÃÐæ'9™º0WòB%â“/žîº¾P(f7†/t‚«ˆÿ”N¿^Ûnw°{NS2[rG^ìäK‹¥ìÈ–ž7A%`És5Þ·'=J€¢ènKv¹Žn`²ÐjRÛО²?y#Ëô®=Y¤%‡¦!U¸*âlñ—ë` 4ù×0“‘ê¹ÿ‡ÛO’ž|S©ù›Å³ä®ú“ š–HL¼ygþæm…WΜPƒ0pŽ>o©:ŠZ -¡`n@VËÚû–w~ñ‹‘Ëe À"ÆJ¸!»$™Žã-pœdTSÝ´à§áŠ”/}ùk;wŽK¢T<3%Ýónrp_mµS鬢$c -®óöpqÇ@hIQvæóÿ•ÂáO‹kΊ'/r>tP%9{Còw¼í¾—_ÅY•“ªÚÃa";ØŲ£ibõгÿVìv€û ->®¦yn6£1¯±VÖ…FSXr„D'a†‡ÕÈ•>}úøèßu&©¥{ÙO:îÿ¸nìä•}#+~ÄD>´ò6uA†í)¦/0¿ÏÝ·i(é·„'—vïòà{_ÉïgÓ/¼| €ž\¦W ÿ`XÖä÷N|ì?øèŸп|ÅÀÝŠ³§xÿ}‡˜Þè×ô%£‡,o\+íz›Ø±yj¶Ç<Zÿ™ŒmWX•½ðMlŽ‘…hF¸ïCi@éG³]`¬˜Ç< IDAT ìWZͦâ‹Þ -Z1ÀÈ£½n c²½¥ýUÿzº[¤SñôS1ÌàÐ ÀÌË3€°ÛùÀÝx/×ø„–œüD>ˆË¶û6´‡doHçÇ<_Oà€~yÍÎóåç„ÖKÙt¶Ta~÷[°’O>óä¯ü›_Ñuýñ'qÚØÖ1Ð<øëÉD—¶Ñ3zÕµ“ÈD<9’š’æ6KÙ{÷Ž£ÏÌBþÀ¿Ù'ØÂä“Ó¹­éâYÏn¡mTjµ¦“š›­ò©~Åó³¢°Kã;÷®5‚yu¡­Ü˜léüØ_<ªÈ(™Þ÷^ ý¸¯ùÞSpM»3¢p@Ó2vîìáĸO9p€Àm]NQ L£¦júÞÛ÷=vrú“„–‘É‘sMV–U‡\Ó†wlÛùø“_ÛŠKÞðîJýT= Ÿcá‰nÔ…`÷öD :±Tg3…‚¡ÝÀm “ਬï&¤:† L­=OÑ&\.ž»3¢ôõ…«M¿²òeË] »`…Û{2Å9Ÿ‰ƒ°‘îå|ɇ~঻·uKÇ•bÑ+—¾¶çLWJo '’ƒa³Ðԥݲqö©O„ñì¬8]V _øãòÿ”;ñÓÝ»´ý!9V#¸÷?tKñAñÿô:¾4Wñ¶ø«¯z×['žú^sèõȺ‹–ôweª/g°·l§ÂKçJk¿H©Tž?pç¾/NQl¸ž»ôÿ#=F¯Q«áÔ’åq£Iìk“YqÙ2 ÀâÕã?Ä¿g½©™Á=m›Û»‚½•³0°·&1'  ÙmÒ$°qØî•r¸Í%@ÈÉî/° )È3m‡²paáè÷Ž÷ÐÌüîÛv/[hÔ°«ƒPÚˆ râÓ@‡þþq€~¢”ÐûeÚ ¥GCS;ˆ"ï,O©Þ¨gi€*¬É™sg¶žÛZ~¡½|ãæ„#`œÂÙsln÷Š·«ý\EP¬%S×9ÿº“NKé¤ÉcÍý·ë3gqÿH•­€-Îãݵí·“¢XKnPlÓ.-eF2ç'Þ‚þLŸ:ujŒ[=ÏËPZ:\:Ôàçò ©$NŠ/Ìwìð4_^ºçÍO¼.Ü1ÃÄï8¶N0¸ŽÙ[·Û¨å%.Zè·8Öåj1Ìéï&·;µ÷ä‘m7%S¡(NzúÈi®˜ð GµnXÒîôlø* Ø“_kò* ù˵X-xô/Ç—‹÷Ýsà‰§'»oÛJkD0 ù,Ìî®MR¤U*)Y-^Z4Èí‡å—´LÆ Ukx(;¤­5áòj^A½‰Ã,¦`üJ{…Möú A-àÈl^Ê^iÊ’h;.äýPp›¸M+…²Vœ˜,zqÛ.iíûÒ’‰FäΠ¦éH2œd¥6|4ìUÏÁCI&€´ò7åwlG†k,µË¤Ó# óÅ>ððÑ#“ ,æðÍ7ßñqüb ¿r¾øÚž ŒS3ªÇC¸×ÃóN¾8}âÕÉîkX@‘ýwÜmh-Õ -³¸Ì8¿c<¿-ŸÍähèÞjüÂ%³KïIܵo8ÒrÎÌ›[7«O©ä³j°›I»É¤ìáâï[Ó/CëˆÕË6©òrÝ»87¢&W°Ö¯àÄÝüüÂ0›Gܬ4c×Î]üDkÇú!®Ö1~—œ(G«…Ãë¹ïòS½z<¼Oxp;…­¿éWîôâèyMs]ïòcá¾À•y-áx¹üèéByq3©œO€ãe?fäeCø¥%ƒ÷ðé® ÇÙA­ÀÙˆp‰€±TâæŽ\5 -tš¶e-;Š¿3¨½âÛ| õÉR4â‡kõF;î(Ffá°ÛæÌM_ˆæ } P pF\¦ëéBÜdë}$YáCáßÿ¾3œ‹­QëéÞÀÙœ#˜SV½i"ÔÎÍŒÞrÅôÉ“€þüïÍmß¶sç8@ÿI·HBÿ±[ÆŠÅâôËÓã,ͽ6[*wD—ìJ yä6 Ê}áèÞ;ö’α{Ïnª|$KÔ™™™£ß{ªäýÆÎé - Õß÷ÿ1j5ÒÌç~Õ¾U3º–q`h@­\¡0¸IƒC@ c$'@ôŸ-ÌúC.¶ZîJAetßþè•G¯—öì™ø, É÷Ï“ž?ìm °ëÍëêJãcÓ38ÐZΜîhˆ¤*ÕMçž;¤çwJÏ -U$â€#ý÷îK ûÒ'U?Â%; þ×)ÚOT¿`ÿÝ >ΚÀøæ6« øiáÂüÞ}{ÿæIŠ-tÚÚt;|t¸½Cy€îtÁ¼vXàÿ‰mª•Ïï(€>â›­wMìâ5Þ…ŸŒ§”H˜ej»ªrš -'íoÛ¶mϞΠz?ŽtzþÒzp=éÂëëšòBiszíŽë&k¥É¢by}XŽvŠç,´z1‘€o™-‘dÁ÷ ->¢_?:.;¥¼ÆV¥Ðb1²Dp&¤ 8ˆà‹p8’7NW¨c9 €ÙÚ¢ÕkIÐt-6<’ñ_`‚v&›)—ÊS?À ›{ï¼ Ž£Ï£ûy€þ¹mÛŠgÎúCù”ý]顟í6>P¢þÁ^.‚b~až,<À£Ã£‚¿0È€ŽÂ©)Bà$ÁŸ²¢Ûv¡ÿØV¶¢‚”V³ à° O’šG[Ì¢7y? ¾TNP©XýÄBÔHmÒáÉ—¾8=U©ÌW ý±2Ì®+q6à§ôPG¬æ}o9päû“‡N^?€øù;ßñ†½«?û矽ý¶Û÷ìÞsüÄñëü - ÿsßû.@?”OÄÜl„û>öqÛ¼ö‚øOÇoÚÀ¶íZ@è¿s§L¸è',DnO“øP¹¤•ü­}áu?ÖÒÒä3 ‘I€ûhÿa‰Œ?ÓæjõN³; ?èÐí¯óÇÿ¿1úóON$⿵›ºA ÊÁÚKý7ïñb\1~@<º}d¨a4ÊkëfÒš’Ð -3ëŠÛ/½üâL4–jñx¯‰ª7’FÒ/þç™ë÷bÝÊÞÐ#âPW" @î—°À‘EÝòboE=ËO€þüȵŸwðg;û(ÃÂKJWàvaEߘ$Ùõ€¶âÿ0³´€¡Ù^/Úà<ö™?yè#?ðµ¿ü"¢ÿ¶m@“ßúǮۂøJ@u¨:Î6à{]&‹høÚ¹ó²,wm Å´€Hê?qüýµä³>þÅù„,$øS2¸Ž¢M‚JÀb3=èAó\yx´Ý¹qp€6¨ F¬êÅZj“4BU¥dVÊ&èúCÂÅó¼…YUôט@z ?2ÃxŒu4øáMýŸy?û…@è­Äð±ËÈ–@ÿ¡oü5xM‡‚[Ø%pû3#ÐJ,u¤ïð ( ÐT™÷]îžQ§·Œê/1P#ŽÜ‚u)_v÷Œ)ã[…ã3VjP™=WÎ(P8yºþî÷Œg· ¿5=¾CÏçõéY¬ŠÜ'TñÊyýøKµ'ž3ÆoÕӃʓßO§ÔJÕT<ꉼºïVáø)+é˲V47¾]Éo.Ÿœ®_n,mJ´Œ¨T1pCbûd‰‚(ùfuĆ寭öÑ”^Ã5V¬c5]Çû°[¦EÂoTàî㮺´C$Eú}€n ÎBšD"š{8á<jbØ£j`g¤Fë'ëåz2‘”¥d×Êxè@ýÑõ£¡¾ñ4..aC\X46o™|¾‡eÆZj&T¯=ïØ•{ádÇ ‡×wk~ûK…u]ŒºRiÑÚœ‹õ -¤Å…hT¡•ê]ùÊÓ½ÍD™¸ë\ÓP˜ÇŽ 4V˜.<|:7<Öñ]Åj-Y+ÁGf% ç^LŠ-9¦¯DÂ1i vÏ8¬pïci‡#¾ÍG„›6Zöw9mˆ‹Eè‹w*•J&‘t\…}~ø´öºlf*Él1ÆvŒüú?ýàW>ÿÅœ‘£òÂ¥¹±ûîß•?ôÅ¿ÊnÎV+ÆR 5¦¨Ñ¨‹ÇÔÔç>÷ùáÑôÈ(‚ ’tK«-š™¡á‹•Jõ²1­½ßECéW^[À°ðÊ|Ÿ]Y”Sº7ûºÐËLäfPJªž‡Ì­±X †À0ÛL¦Öh꩘,£w¬( ŽÛ´ûÐ3ʾ‚n ÉÚÕ‹f[h 6pcúº74VÃaXŸ˜t颹ë8jLZXªÍNW¤˜ :„6³[í“/!ú[–kŽÖa]Àúˆ,Q23ÕJ=ÿæ‘Éï*ž. gG†³s—Š‹ånYm·é)bx"æÎ«'ÕæŠSœ-äó™b­ög_›œUÚDˆœzºÐïZMW‰‰FÕæWüÖ–BZçWéú]RUQgªU-=¥h©}tYU‘hU¶¦©Š"–EŒß•úE¹Ÿ­5{“öøwXE;ú?úÓÚÃ\^([€þÁùüÖô¯þÚmgÒÓ³ø^Ò)e–mÂ0[À»ð½N>Wô/ÎAÀEH¿?=UðTd¿P_®ž\¸ðÊ…Ò5—ü‹JsçÑfôÆa(ÀK'gJÁ…¸uk®ëúÂL!?–ÏÝ|è›ó·Œ¦§áÐ4>ýâôô‹žtND¾@M^w¿û}¡ÉBTKÞÔñµV/{XƳ –4S - Zoysñò¢ÅÄxâ€ý)%™Ñ?Áv8ИçäꀋAN~±²$1‡«Þ^ª'àréi.Ûb4 `,0'цÝР@QBú•Ù Pà_›JcÅvÜBþK\`5E„ïB4`ù° Q*ýr©h™ üÉéah4 d;5I!µ™³–;+¸+²Òlutu€~-gEøS.§‘/ÜfNº ¢šþÔÞ­â‚À¤pà€šaÑÒæÐÌ̸τ¿»-ã‚~¼f¥íÝ8`æ5CM ø?¬_I|úoŒ.ø“ÏLnÛž>°/[©Z•jÐ@üO Å Ô¨,ZÓ…hFÃÉhÀäZèuNÜßÖA—Ovç¦"·¦0:ü+‡çø XÏo.þ:Š®nîó -cZˆGFRN»âÔ|'Wšœèâ5Êmý£ Á¢ˆ]è/ HÁ&6`#5”˜}y^UÅáaÏ1OQ"¾à+i ô×êf¬_R“JeÁ€Žª¿¯2ù×ÒÔ1ÂíTjù–¢D3›™ºì*roOh>EE >‚ìoTñ—Êr&\ÈîÜ`i]µ˜ìëivät lP9@öm  ìSxOæÐ·P¯6ñ8sºR¿Œå4{y„Kh,*ÔΔ½Š Èý"Úb’Ùt~å鉼Jâ?ÈþI®bãÛ•éÓW›î–áuIåk—çQŸ éC‘(ð’ƒóÁ™.\¶;õ .î>è:ƒ'ûäà‹Zƒó qC;oÇSº’gÖlu€ûÚ¸á?DúÎg0þ_ñ5f¸°­|žE.XþÂÇáÿŽýÈýÚU`­€©ÇãZ<^,—ÙfÅùÞ¾I§Ï]xà=^\õ!®Žþô•Ì`Y#/£Cg±ÜÑarÃC@ GfpÕ¾›2G^ ýç6ŒôÜLØZÆ*Ïõð…툤X½'‚u_I^…ïm÷×¹uøLö÷¤~²ÿtÑÀ½ï:0ùÜ‘]·ŒÿüÏ>ôÅ¿þÚìkÐçÙ^`ó8ê'§ÿôOÿ´«~‰„NzÀÂ\% R ·,vÈ0ò(Š™í5g;Ætm¶6úƒ* È„þ ô ÐêhBº›ìOŸú Ü–8té‚¿ÞˆòÇ¥c|ú˾Å×sì* µR‡cÇ¥p~¡ÇÐ  Œ×v­;†óÿNv8]¬c_2}¡„_]Á£¿·Á@q?àДØÕÄ;ñéwuÑ€÷»‚Õì *Cñ?&{Ê–&ZcÞé‘$ÈS l_*x×fSHõS5iútõ¾=#ÙDú±oV¥Ãá¯m8 j}ÝL§ÔR¹$)0´Ìh†­(;Áæ ¿ø¢ÿl±fYrNó·Fª®>>¡´¦ž<ƒ&ZMéz<ÊCÙYG%ôuqC‹fÖAëêë•Öø¬^ó917®g™Ú:.­×YJ|&ø¨¥µÖj<ÕF¢B\˜|Þø…?(>ò‹™ßýh78ô„'†ïÿåB驉xÿÕꜗÅq.Èò±(ôZ«h,Agˆ¶„·ï~l¾ÛÙÒö¬~ºpz{&žÍä -ç®í—i,Y-§Û‚S^ãöº¸dí{sîÈ‹Ý7\YŸ˜õ·'+ÀÞw£Ê¥jï ÐÙá¡﹯wm¢Üæã_ ?( ¯×‚J´7¬g[ &Gn”Ïœ2561NFöùŒ³ºY+ò|9Óvïž$áçî¡ÿëË_=5}rknë³ß{V`ë¼ -³3úÀ‡ff –!¸+b¥\Ié)wÅMmLÕ¯Ô·¾ ]õ›KM¡eì¾=çýŽ>+=*Vêv¦/#üßì½}ŒÜfz'øV±È&›Ý©ê.u©[’˲ZÓrÛNkÆväØXßÜ8™`ÇÉbçds'ì%»À.‚ÍåîAp‡|pÈ»Ù$$ã½ÝI<7pFÞ;vlϸÇV[mµ$—ÕR»JÕ]"UUl²É"ëž’Åê.Ùšlþ8àf±Xäûþžïߣ¨[¶qx°¶½Óf ,Ÿ½v·ùœ¿?Xa@¿er.@T«fuÎE›é+lÛŽ’æ[!Ö·cY…¸Ë}¯\.‚ê@÷6¢d²Ô¦ëzmø  ¬`ÞÛ¼pÍ?‹Ñ†¬GÒŽ+t£Ês ööª' MU7®¿«¦~óÒÖ–;=­ìÜi…qÌqiЯrCJ°1§ÔNšï|Ç~×ï«å)9DŠ®G!’€ò) Ðk'I -“~ lMŽ}R±jwL´•Æ4šþJ 9l.!Åá@*&†WDWDB‘„TPÁ¿À6ê±qEL®H’ƒÝ½ˆy‹ÛNW7e}K¦×G±*a"õ÷ÜäöÔN⽫…]aº&Ú]YW(±V/»+§õçe€¸ËôOº«£³ ßôÏþú ?]yä4¢?Þèíy—Ž8¼]¿õŸšòÿ©Q=’ا[÷”mù[Ø„Wþßÿçã};ùq¬:›gÕÐwrèuér}i±öăµ×ÞË‘BO©³³IæÒ•›K­Ü‹PÕ{R´»žýa˜“êÙÅËr%(°/±rßìê‡Imsí¥Ÿ_ØïIOFÉÞÜL¨lzÅ›ÙÛ#iÇwùäé­•y\W#4!ùˆq¾Ê½w¯ÖÆÍæÍÇÅ¢`íÒå«\ýüç>ÿÀýÀÎüüÂÂ<Œ…7Þ|ÐŸÙØ¸è_Îõ[{wmùáexѸ~µY;5B -­OH=ÍIV¥"£²2@Pj† øœHmîðuò)U‘Uä+,çXLôu“2’tJuº‰È—5=ê‡qz1¾?ŽuÇíD•ªÞj`VÏÆKG -Œ“æÊŒ9V— žcðõQÿ[ít’$V™©¬­ýiLi3?¯g´ Dý˜UiPYŠiªåÒCæú*c’:w"b™ëa„ë;EΑ èÖK“ãijµúu‘¨êJª¿GDd,¼£  ¸‹¢¤Úý¦¸ÝX7Šéi•ÐdÂd؇† Ý|öUÈŠ©åÈà@¬^Mж¹ -U—É’ -ñ;2ðN=úÞúÐÐ;‹Ý;b„ðRÊÐpÐvÞ¹ìÆinW^”MiéHNÛúÿÇ=<î¯_Ë]}«wöÑ©çÿ›¹•G§>ýÜÅüŸ¾ý§ÎœB÷÷ÅkŸ`n¼µ>¾] XöŽ¿¾2 €þg—Í·ÄÅ:^Þ•zãÔòÇp‹  ÀvNݬۺqæô© ߟ>4­‡HgwŒÎ þÔ}Ç.®_ köü ýyd(¿–}ýrpJêðÌ]y¸ŸEåíÖ<Я¿}•Ñ_ ¸rÞ‘ÿpÊ\k™ÖÃ?²ü ¿ˆéùô¯¿VO‰ÕŽ×Žƒ¿ÕÀ¥úÆê•êâÚ¥$· ÿ[ßþÈ€ìd€þ‚pŸÿ™INÔá.1_&úæÎzýJ2²KC™. ú2 y q™¹(¥QfJìè x­’·)’©– &ÕÉìý ýEÊHêyž¦iA¿„ªÿa ià ÑNÇ7ˆ< -dÀFÅËãÁÍ ºn@AK?­ùÌRWõ\¯D°]ÊïùcsåJ–1èßÚQs™×’?L½²,äRÌž§­MW')u\ôýTß-ÐðŠ"ÖâÁRñ -DZ}I˜pSo"Rêë7¼J9­Iô3×1²úÇHó Í"‰bIÆfâí4#KÍÕ åÛyšé½‹;YùõkíÚ3úwqVD `ûO¾TùÞ§Ü·ÞwA 0­ ? -€¾¶§VôãsòʲöÎå´}ØÝ¿íDO¬¨lðXydùù_LjRJ¹I·2óV?÷‡RŽ’¡ŸËÌéÇù(­;ŠÑðÃŽ3HÅ\Š—û²‰œÉ)”<+È ¢Ü5HÅáñQ®ÞGOË·n6Ì\¾ÿ`䚇?XËíww‡ÇTçÇ÷çú¥¯ÔçwC IDATúAüÓúÕ. €Ÿÿïîš­?gªÇæfX0]ÆeT5Kì…g#`x%µÑò/Ö“g -G¬_\ÿìã}÷7ïö-<¬¹Ôºqéò]“G§îb(Ø»ž59^=çÀÁ:çöÇõ û{Ë!-Lkk§2ÿC×Ó=òÈò;﬽KÙ;O>ýä«/c‘Íúæµæýóƒ8Y;Éê?üóñÇßÂ<},'|à‰¤]Ô7°õJ»<Úmøkÿök°½¶±ê?[:¯¹{¼ŠhhZ,`1€úÏ2 ³ÝlÍÚÅdg3J¹lŸ -> v@9ì³+ôO~”!³v+SˆU)AðŽGýEŒC2Ê¡²ú׊(缌b®û 1Þj{–¶¡ (¹©>™‹N«»€‚0örž^@Pÿá%ÅœLX# sÇ¡ ˆËÛ@xD½¡zÔÁ(érÑ݃GŽÿþÌCå’à5¬² /ŠL$ìi%Þrñ¤¯½Õ©ÕôOÉÿà)}ó¦zùº¿q¯ÏKŸöò}Ò£gŠ`4ácë†ëï; -Š“HWb´uú‚㯌“Öª!¾o…QÿÒ¶x䨭•ÇO&×—÷·æ–ýHsêNº{8!tJ8SUËumú§åûC@<×ÈäJi<^d<þŽcLæ½RûwN‡£sãG>A× ÒŒ/ë.BûNÛ§²yˆ áÞð:óÙÁžwüDõÕïbâã“O<”½_ÿ Qÿ yþ'P¿îÜNð¥ëíŸÁûÿlüêÿÚ\ZžýÜóãÿ*螃áë‡ÉßGc×p²†‘¼úÁ~¯=úîܪQ˜liû¶]RJ§™ûS=À3qs¥T,t„v›­Û»rs¼‹ ~ ¬ÈÜU-ŸâCW·ìUi’‰’L2> 0Ö(ÀVoÐGø35¼~—é·_VÔÆõ¶ÓÃHìê[ëæa£v8",bsÅÅTq“¸Z˜BâÌ[ÏvwU­Áœùó¯ÿ_|Ì¿üoÿÉfýÚ«¯"èWŽ˜‹‹\ýó«°ýåü÷ÿøÝ·¾ÿÿÌ㺡7v°}âÑ'ª Ö…o¿Rÿí†óÏœ¿ðרiPò‹_|nmuµÙDOàœŒWU§¶Öœ©[ª9¥^ý 1s{]ɱ×Ùõ¥¢Y)[G&´VÛ® ŒÊŒÁM‹Ä•dŠa|"¹¥ù.T¹õbÌ©VŒê,êÚ~¡ñø/—W6®­]Ôj“úñ…~1ko‡ˆr~Œ r@8ë¡9«ŠÔeTv“…Ün¹Õ…9›& -&`ör×£æã.9þœjµ\VËHç'•#è¥X{w ÐÖšÎd\Âa_õûìã"xü¡TBÃöPô§ùŠßñ]F9eyô@gþ¸AˆÖÀD„wo„÷@:øž€›`JëVàz²ÕWêoªÀyH¾b 9òÅdJC¨È®‹ì¢º'ü^Ò˜@-’8ìq’z€-˜÷Bøí¾ãW*LKpç2!¥’K阰­VJr‚†®bSr@ÄŒ.º\·T¯Ó¼7åÅúâ‰4 6ìjy@Ö7˜Ñ¶!¡?Ü»(‡ÚÜ_Îkˆé¸E_mø©6­ëÓÛ­ážPuf åÇ”3i¸»,ˆôNsè®Ùb»ªH—Èà -ØÏ…b å¹íôì|^PLS#º‡*ÌšdèF¾bS)©œ’Ñív;–a˜ ‘)-€¤óQvHóሠ-9~Ú¹³C`ø~~Hƒ!d®½sõÉÏŠÍë  úá«”ö·tb‰dúñý¨9_¾W&l| ú Zf°~ê}aܽçž9ÿÂ(1Üg?…úæ·V"üÖß¹ûÐß¼·8Á¾ñ쮼8–b(¹"4ô“ú‘¶?ìøûe†"áH€öqç³$‡`2*Ë”à¡ÈšUž{Ø0VÊ\´X €ÍÓ„(@ÿìø¯ÿÅ׿gféÌìô3ú󨨏Ê[Àý&þÈAý¹f¬¡Q«¨%$¾£ßú_X2÷|x+0©¦&»ûÀýÕÏÿDâ©cŸ ?}kÚÂìÌIµ6Yí8A«Ñ­Ì¡ÆS”ÀH.•Ó(ïÖB \6gÊV‘ª Û]‹'ýÛ·q&ÃÍDµ:—±ƒ79ŒÙÇ÷þ*K E*ú»xäÜ1Ói»3³C=wwwèz2sÌBþÒ¢Õ MmßöáµxÊD;ѺՂ–Ʀ(ê]z„)JÑu#Pw‹$Ì)i«A¼u½hþ¨Üuãi1{ùA_èGß}1ÓÊÙŸƒOæ`5<üéi¹ÛMsãИÔsL$Í¿:˜ÿãØž_uÕ‰a›bìMÈz#ôÓµ„ÜàŽÕ§ïZ ú±#¹ŠåŽ þÏë!ˆ[¨XGGy!¬ûó(æºw…9IËèïEØáK»&¥J¡ÿ]C6aw·óݰÀ9g€ûøÎîP÷çO©CÖK*ºÃ¿’g03:½»†2Lè/X&éûN§£–è<ôOÉ]g}ïŒ&§ #,’úæåá;‡,çÎ]/„ö“ŸÞ¼Ž(|üÄ\s;‘|ÕJeß‘ ûÿdÀÇOH—¢qæTm,)~¬_«/Ý?n}ö‘*¨<òêþ.}ª¶O䢰®ÜÄ[ô1tÓ7Zc•1~0PÿOÝ¥ŽA18‰|S Cùò°^F—KÓ]/‘| þÆ0¡ÀU”¹ê ×õ&[zfÙ€—Cí†VE;À¹ÝaT0È@˜½~ V'»“ã:—.¡ÿ+ÿóïæ¸|å¨ÿ úÿôã &ì#úïØ; @ýç#k÷è?ÿ¹Ÿà‚úÏ; ÷;áèÅ_üµ`Ày¶m»s%ñ•b¥Š² ÄÀÌ,^!lw¶R1çk¾ã–$žÌ)"6/SæÝÙè¯R™UÛs"™Æ`K±ÀvÙØ9†=™eÞ=ÏèÜnUS@ ˜el³º?]†Þ鄦•6ïÛ ìôwå™ý«¦ПýÔÿryˆ¡kÄ’ê¿GœN9ktí ˆýa«N!ˆeZì|Uf`ŒöHOˆeYêgoD#Ö@Šþ/Ã2U^0„~6S`ËÊm’zk]D2”P M•ýÙÛÅQ8ôG‡ÀÐ?ùë^›øTŽ¡’¯ -d@Ë• ´-¼qÅÔ89N€î¯kÓ®×Õõ»zW†©Ç»};ùOÁ‚Lï$F€¬úOOê]â&4¦¬LäåÇô´Õíâû€ûY#£¿5Mfìn0??Oê‡#T‰HˆA!£Îh9 º€F%÷Aô7@¼‘ ÐÿÂËŽÏ×@ýϰBÌ-~o$evZC‘pÐôŸ>ž}òÜ‹¯Þµ©Œ «Ÿœä³þA=3øDÿ}cjRí¥¡Ýs?Ró½~ýúÇ5'8V™»²ùÃÐÏÅ!'¨H%)áVõ,çxZ›Ëì€~&ö1`ñŸIêøð2­j}ãêAÈ@.Pü÷Á*e#l—´ZubèÛÒ5лPÿA÷ àÌ™3a°›Y€þ_üÉÏ㯾2àïQ3O£èoßnŸ>‰QVÿyú_øö_ó~+%•ƒ¯'Ô[sæÉû‡b’c³ÔÞÒãâ,¬þ ôq+`n€2@"ú¶ܽÔ,@"¶aRo†þûÜI¹+2·‡ŒôA*t½\À\’Bºi:ܽ4†L¹\A@1§IðTÕÛ^8ç¥ÈC¿HÑ?{  „N«›€#}7íp$Ð cJBõ¿*T,3úÀƒ¾]3aŸo® ¥¾tMä¿öæ¦k¤}ÕO8$èGùQ8’ßb;þ}iÛa0cá"A €ÐêÚ]6ò½JqAh¨ãc¬Ù~ù°¹vÉY>c¶‰éW"=ò£¹¥òú:½¡¡7b#åäX’[DyùPñð€Pý1Ûzro-Ø¡°è‡™ZßékÇ5)*Iä‚ņ¿$Ž`‘ÀRq³rÒ`À&¡ zXHÜÉ*W<êÄ­iºïu2*sYl·ÜŽ [eÊHÛßíÒcÀkÐ&H)Änàz{¡6!%ž é‡Ê¦îRí˜z¬s d¬:QT'¬N׫4‘N)k ü¹ªF³ "ø‘‚q¾ÌéŒ#L*5G:žÈ¿BžÄ¿Ø$œÊG«;·H œðâ_ýuu¾²tfYƒ‡§Ú­Ž®btÜ›û ê9V¼úœ×;újaåîøûyç霩VçLŸâÏë›;ØTyl«¡ƒŒóü“+^Åt¹õëcŒß±§Ì¡/²TÇæª7š PÿáulΚ6µÆ¶®ç3ü8¯?¾Íî_5ÐòúAýŸT'at^ð.ê7Ãà6/¹pW¨T k1QßÈ Ð­ xè ÓK)D2Â;LQÏš1áåÜvAßT§TÎäHÐÇ&\i OîÝÖ퀢3Å8k¥ã6æË§×ÿæ;ËÇf¾üSŸ[»¸¶|ß¼¸”wmvÝN/Øü“SÏ>z6N|êôÚ»ïx­Ö3çŸIïª)ßùî…ÿø è–}sÓTåúÍMufh$i%Ð!:ÌéïøÝ;¾Óóg*–×÷;½±ª!³Žvü>&•ûƒ¨uÛÕ'´ÊŒ -"ÂnÛeúlŠ&¹””©—e·Mþ´½²{NH¦?ßš2Z䉄‚.˜njª™åt1f€¾Yrû°r'ÔRÉa ‘PHŠìÚŽ”Ú w:ÉX¿ ÷)A? -°^Òœgì'Šïtׂµë4[·ZÜ|¦IÃBbJÖpn9¦¥vwýb‰\a%A™hß -Ú·`޺Ʃšƒ½k2?ÿWÅõª€¾ 3 -™””’ Ë? -cL!+p#4Â8URE…ÕC®Z›óIÇ-„œ«ËbÚÅ\ªYLn|ôÕ­ÆÎéÅi·)®æ#’ÑÈ"–bÝÔ'W§ @Ôª”‰&x"ð´—ÏX àUÍYHÐÿ‡nÎ3Èøc)Û·Ú¢4÷Ôccã0”J -¼Š(j@؈LlÎëÒuv:wz`¦zALîW9áqCÕÀÜÞþ`nø‡­2=EѸ‘–"ßêΣÕè¯N( qöU@œµœÄdU%¹Ô¾W#¦ŠDôè†óy1ÄÃ"qÄèÏBü½@WA[¼àdºïÀSÌ| ô! UÞnØO<{6{Ð^÷rÿ/ü»æù/ÍÕßǸjïÎõ{i±â±cêÆõ³BÍFu.Ñ ™ÇÙIV>5·~ý$Ï>½Rßl–dõâïM6à£pÌêåD­ßCÀ#'G†u£‰²0GÇNïÜr{ŠqE1ÿõÙÏ,Ýh%¹=SÆT&$îÖ&žY˜å5¢#ˆæ¨–꼺‚ê‹w"bpB”SâhÁ\ŧO“0 î‚ä÷’·aii(%YG0mb¨\󂌢¶1‰_Ê[€þ_ûÓ¯ýƒŸ}.;òþ«_€íýŸôÈ ->ôíßâöµ×_ûuñë,^yó•ìøïôüçÿáÏ׎ƒ8þÈɯýÅ·~û¿ÿ•ßúŸþàù_}þúÕßÿêïÿ›ßÿÕükù‹d%Î:Dÿ\]º»çK´v¬2ZØ^LYü¿…Õj.$ØÄ4¨þŠ@îhE>¯\Ø‚P((R´{T¯J2çþKò„Ÿ&ÝI6r}+ý± k"¥{Ùs%IU&dxÉÊÁ:PÝÔI%kÔ¾ÝQrwþR:I@„{QÖÑSžqéðiAdíSÓðʹÛ0?kUŸêÐé%'Ìx_ìΤ“Ú ¢ *U‹«ÔQ’T…ðÛˆÕ!9M)‰%LÁ-åxl÷õ¬âÉÈÐØ¹Ó1‚gÿ@%uÆgÅf ûùgkk—ì²™óræ,›ÙÊ0Ÿ7“h;»Ù~ÞCêNÌö‡ý°h¡÷ÙÇÇT©ºËÐò@÷g¥ý€ŽÆSYÂIƬJë°=ZW`Øí–bl1 °çɼ`G»˜Ô< |íÞë‡\Ò ÛŒÊ–³¤(ðWÛu-¸»VQ$ªz¬ªR‘ aè2úÃ5ëúÀ%åBOS/ç.³Hbcq¸ïÙæ•Ư}Ð/аj6k'Ïì{Ÿ€—fË”+†Ÿö[ÖG¼jŸûuñ/ê|ó¡Ú§¦.¾á<ü傟™õg]Ú¸²¿ÆJPJ.À:ïÏŽל:jÍ!g®ŸËÀ½ŒcóFk¼ò¾¾¹-Ä6$ˉ¸úßh¥n¢Û];ÄTo¦0 ¯L@ÿjµš{¸ª/ªŽŸÅ§ë f¦$±'X~¨¬ôevértªÕ´Qý·É\ÃÐçIZ3Hˆ\•zœš° À<šTüNg7Ñ™–——×h0[øÚÛë¿ý¿ÿ&lßY}‡¡?€þcÝö<¹:6ë7®×ŽXÆ“ßʳòØþ* ön±kɶÂV–1Ø¥E$SžµGä b¢îŽØ¡wFò÷¸M'•únZûËÖ p bÖËTöû~\ÂH ¼ü¹Jh¾óð¦¬ëH=Dn‚£`°€6¡Œº£)¿êäÐq èv[—„âúá1u:‰`Và&$kJ­_K>žëJ¥bDˆ…CÜy°~ŽÚTgW’ÃaBV^Ñè¤XB‹ëºÖs½v;Y2Á’ú0Ã['줿4‘t<€-€ ­ÛàT–"6KZ$‚ÁʲŸ  Ø°,aõ­:(†óóï¦ËͰ`ª¤ø‘¯¦„ŽÒLÑpÔe.ebõ±ÿ"¢?l}Ïè¯o|÷µwð® ~gÚ…ÙxéÂKÌ4Çè7ŸÐÿÂ민F!Aý¤ûú¯¾¹ -;ùËØó fËЊu9AÿƒCž”ò2ÐeÀD‚þùÁ4–úaÎWÉ"!¨þÃKõ³ –J™Ðº.Ü¥Td2A±•ü·* -€So†{Aü±aÕk[e»ûãŸrã x->‚ H²ÎÃÈ”©Œ¯‚Ó‚ÂŒŽ 89d€½ãÂãçwçæ‰¨ÃM~—>]t»q}ݯž’?d‰$ú#=?9ôo5l0ö}ip¦PŒéþìÙfô?x‘€þ3å‘“¸Ý‘ÈPe,ÒCƒ¶bS!M6D˜./‘+¾û\ Ù-0u©HilœF„i±Eö~ -ü\,2Î -ÒçMc§záÆ\% ƒ™æ I˜^ìúˆÂü,ñåRTˆa_ÐCEÖ½9gH>(f®@,“€øƒ8À®L=¶­V§R1\7ªTt…³¾ïvw“žé ûHD¼"BRJú…»”~ËçWŠ<¬è{<€NÐÑ¡w¬{Ça.‘V¯›ºA&Gª.·¨Õ\eÎlÝàªÅòÚê†uÄ=ýÂK«§œŸ?^yý¥ÕŇÓ7.5—æÛÛÝöNçÜSgÝîVëV«V«]}wcqqziµ³U¿²ˆ=t€×ÿ(ù…b”8m1ÿÚ÷; ‚Ñ °lü›]ÿéÏVŸ}Æ_û÷1£jr„WŒO¤©Í™~g<É2 3௚*³3Ö…”:ó)å‡9ˆ/÷ZWý¹¿<ñÌ”º“Sè -Ò]É;aœÿ±• 3’ñÉWÞYS+×GâP`\±‡Ô$6ì“?foÇÝ£ŒäI¸«8 aòÀ&-¨·ÎübIqÀ–~cÛaöG…ê `³*“ˆZ€z>v øLÆÝç›J#œ ë ¥¢×ZâmõÔœtD¬o­·'ž®-=tßgžºoýâ»ÕûTÓ(;6lk`ãªr¥¼´òeÓ²ZÛ;-æ¤,ùµã¨c©DZ0,W*íNkñä’5ï—[§yZ]o¼¦OþÇX²P(õöµöôwm -ÓPEE¬®7Õ’™Í%Ôi1ã Uû†@¡X9ZÆiSºó’䥿}€†&N-‰}>èý— -ð©B4„­7HV‡:%iS&(šÓÆ㈠-†]|€9ìv]ª}I&*Ü«"û ˜g8 ;«ß2¶Fê£Å‘Ç!82¬$°äÍx(²¡+ è‡ ÈI#fk—èúŸ÷…ßQëù.eÜ5П](âÞË€ü;•rÙî%¦ítü®kΚ֌eïp3ƒ1aIÇqmÛ­Õ*¦©_^¿|zé4láý3¹ðÒk –> ; ÏÍWVß\;÷4BóÚjýüVZÍDÀvg»  œ^ ™Ïâ Xž1àþ¹üp¢Ôñ§>yãê7þò[‹‹èC›«ÍF¶Ãß2SuÇ‘è“ã}¿ø?4?¾üÁÑÈ)×ÇjÇÄ÷`ò¬a™è'tÚòÓØÏҌɩœ0œgÍTý¸ßèôÉU³}¬‚'̧{²8gÅ<ñé‡^ûþø -†}蟕GW^xi ;Üéž‘ ‚ \‘ ÿÄÚªÌÎ,?xšL@°vâgßó(ÏâÇÎ=úlûvC/Z¿½e_6Ôr4p8C ù8ÕDÜš³Õ0oܺ²u d>Ð÷Uýñœ)áO{§©Õ÷8ض¯MXò'&ˆN-B°“T ,³¤9¢¦9ÞÿŠ)Íq(ÍÉ4 D-Û˜ÉÕ PR;Óý‹qt§B¤è v’wìÛ¼ÌC*¼ê›ŽuHm~8œ{ÞÞˆñ*1ƒØ7aœ¡?Ÿ*3èú÷ƒ›tN“ ""}Ëx޳uûL5)çDrgŽt/¾o0]K庲OŸHÉM´Èñššp·îS ziªÿ ?8*tàrñ‡Ë"éÙñ-R1Ï d“C±oQI±4¯˜"´OOפܦlgìhµÛJSsìŽiÜ_{®Z®¯×ë¢~ö©³«/a/Í'ž:ûÚ+oW—+Õ™µï_^þôi:3ÎãzWNžÐ -пr­•ǵ1*K; ûúÃÎò -Z—­F»2W6fõv«ê?l7ÞEFû–ݾåPáXBÁ4M X‚ÓÉ 8 -àÑè¿ðÊ‹`<þéa«RÀ}]û!Úá¾û§K§îSµsãárߨ7Çrÿô­¼æS…³>¡íש…»^Û¾hð±ÊÌÅFr=Y°«'_r\=l6n'rÈ$ÇŽÓË,ŒWÓÁ½Ý~o÷®N¬Kmи3H‰¸ úa»`»—Xý‡†)â -CW&}íqžÒ€ûË/\x ó÷—V–:)q±„ùÎçãuMA¡@±.ƒâ ìÚ¶[©²Òê„ÁP;i4s~Õ­¤­äÂÚÛ­ ³õ†ñ¹š™•g+p ¯î¶Âx3Àà ÿðò8¦Ía³=w(Âc«TeMX0jAàˆ¹ÚÛåÄü¿KéJZÚ‚2 u#»½Ž®iø"ôé˜\§$RZò÷Ò(.œ‡Ük€ €¯¿´žÉ€ò åRìً ˜HeG†º]¢jgíd­~­¸ïPk[Yà U7™„ßîâŸØ¯•}eùÖFNèºë(ÍTñ|ŸI1=p7€þÜhš}Œ^0_Õ;)ñ””Ë[aÇ>ŠL]æÌæ4\HZ¬ ®Œ¥¤ÇÃd’YôRb$+æëßFXX„—Žžšä^ä}L•¡›“ ~¸JÛ¶a« h½J IDATº›†e<ÊŸaõkëæô´Á;KK5x´õúÖÊÊRó£ÆÖöÊ£K«o­‡+Ë.\xùl+‡µËçÏ=!Hñ¯Õ@ÀÎÒC83«ÿ§Ól ØÙæØ²@ôÅÔ–¥*¨ÿ,ÖÞE; uk‡wDZ^éùäü!/ÐḦ>ßÛ#`÷ö˜–^`p¾ibìMnl\;`qãäµë›†ií4–—PÀܼ1w÷.™ŽãÆÿöÏ“ûõß©qc€USµ{þúóŸY¹è“éùfI4)å†[ï®ë -pÌT»¾?3ŽÖÿ‡} êÀk†Õo´…:ÛÇÒô÷}±æGÍçž9·úÖj^Þ”rÄJ`dœ*°òuRªÝ½›ðbôuùßû ¼ívÜ"y1Ÿ˜|¬“nm¶[·F1Ë}RãÔ1šNÐÏê¿$)Þ]tnl™ŒR~wø#óG²ú}ŠŠrÈ^רe£h''â0~STu26²(ºG¬þû¶íG£?3^ <¬x(ÒK0ÁØG/F9ŽÐ_ŸÔ‚­†ê?w0Ü_½Ø¬þRNÈPÿó7‘YB æÒЪ¨Tt²ÆLò½1–/&MBÏW †ç’HÆ”2„~EB½ä²ßTÍòKƒ\CR)÷`¢(§YØaბXÀÂmÈExE¢žÀÄÍ©WB­ê-}0Y9d´ZýÑíE>åðJqír»2kT*ÆÚ{7«Ôqþ7ož~xaÇvZ {y¥¶¶Z}ÿ‰§Ï¾ö26›^9·ôÚ_¯.f ùò¥ÍÇÏ!:7n:gÕÚ·»R[›Vƒ—5e>òfL•Ïæ)¢áUågŸÆ,ºÖ-°ŽÜÜlË’V)kï¼…Õ’ª¼øï.¤fr‚†ÜB  çA-1ëâwSw„TâT…d˜e½zdfáèÒÇ mgÐýksf½™£vKJÓÐòtI¼µK“ãi>¸Þ•fŸµÑû€õ˜¶ÿ,RŒNàcèðÚîÕùòã¢àËšìw}4¨'d¹( cƨ0ňÝäkÖÝ -UQ&yŸRÐÖWבŸ‚ÿƒze=z/$åBÅB!„Ѻ€w1£¨ˆ)d~„˜—¬úR®ËPŒÞ$ô@'$0©§ YÈ^æƒ -ã´¥v¯vs\ˆ‚=_7ˆoŠø²XT A„óx2á@ÒUÑS¿Š"ÒŒR´ƒL‡Se«ÝÄùP­˜ÇOTj'æÛÛxµù>ÑÀ ÝP’¥¢R´L¸°¶ºš@jŸèš9_¨wsn8×ÃÉõhoSßÊ;¾¥ÅQ"% -#.Ë -a'uÄA _—kdßÜÄ‘ ¶O]6­Ê¥«õòá -hõA{¢‹ˆ"‰&m‹Ð ( CÁ–Zý† ¨4Ó‹tå1^¼¢ªŠºþNÝ<¬vöUõÌ#fçŽãõaÉ«ÌÝ& (/SSÛ6~^Âr!KD»À‰@‘$ëÓ’ðBœR±ÚÚj©ózÙÐ#grѧÙŤ£Ò@bZ &m”#DÊ>°T`R &'ÍÀsEÉŒ"—óÜá*ò&ày*³–ešôT#¸i…On;Bc~NÝ"ÞGØiµ‡¸µMÕª³*ìhØìòº=3«Áa_ýK÷ùŸÒßÞÖÞÛ:_1ZÛ]ØùÉ/]{'Íò9ÀwÌ ²@ùHòšô“Y©ZœrúÁD]ôÇ/ý¨Íèvnn¶¶6=ßxuM ½‡~ÿÒñd»Ý„çßæüJrvŽ—]oLqCe΀Vž.“û5 -+Yãˆüݲ¦ðœW¯48UµsAP Yšñ´Õ#åõõ«sU¼†¿ù'<òعüÞÚOŸo6Z««k++˰Åøì§—ßþþZõh¥2_i7Õ¬|¤rî™3í[x-ž=Ó¼QW'S6WS¯Ø£dey˜d»[–>/ÇÉ»ºtÍ?sR…-ì¿ü¦ÿ[ˆ÷ÿ·¹vnE­=¤Ö/ú÷?õq^ ¼ýüÏõc¿|â¨ý„8ÁÇŒ<úâdÛÝ»ýõÔ}sûdXœZ‡]†Æµ€6&ºÞÖ¤.'*!ÖsÄ”†9û˜rNé‰"çý‡÷+U³2g]ø¦ÝjÚOÇ0m}Ð3@ñ+)rëú“ AÄXÃ2€IŠD’'ƒ% ôíT#gŠpÞ¼À‘pÏÃÈê¾;æµÈ¤žþç’’)×"ñn%‚Ýô+ŸÁ¤ÿÃ_'÷St:NÖ °X&· îä”ÅŒÃÆœè'Õ[)úH±`rŠ‹È  ™ tá9ÇüPOÉÚ¦áA„œ$±¤‘“¾»a¶åïåþÀ—¯­=qxè5ͺzè’°/7œD–ÂÔŸžgNUPBÄAD¯¨4Wo7-K­_ÛŸÖÌÂUÏõ}ÜÓ FVƳLPöÔ… ¤Óíq»®ÛqUcˆWê™2½Ñé¸1?¯w:Ãì²Îyúx=Ô¶³RZ'ÌØ1"Z·ÜÊ[X,?l¼ø §zTž«*/|³ñø - ;O>Vàuþ™ÚÚz—4×ÞstuPÎu³;»¨ðö¥ :f¾5;ݺiWè)ÂÎòƒ ­í ÿ2õ_¾LA³×^ºD©ÆDÄn!R–y{;iýìÂB™ËkoæºÙeãı×o\1`‰ã Üï7³&``Î/à§¶n¶t -1Óá´™¨ÿ`´¶Àœo ¶ŽVDàè¿vµñù/œ…Í+çή¾Ž–Êçξýîå*ÉŒFs„k~‡ìîv«Åº?ˆ´ZMPÿAR®W’ ðë/]Z|xЄ¢@5M7˧è¯Ý‡Aig;AgÇö¹~ÄÀ¾›ðc¿¼þ¯~£ö3Ïàm葉`ߦfŸ»KGøƒc£^?ußþš&”Ààn£vô^=Ÿ؃þïw€`îîºåú.ìs-n@Ý›rq!kωpiÎ>ffìrÅ&¥è±?ºÕh·Ét½¼Žx&­Bà’¡øRÈ €MÇDIâu!G_6ˆ¼!qÀ6»<¸˜ª®X†nw†€F€¼ç[†ewlØz{X—l2?0訠$ - •e…‰0&™þ"*RAwP&!DÌVľêÑ*èþíöâêg€Î(?¨c"hâ1¹&—%1$½9È~ÃÙ¢(R ,k,«œ2 ÔÿyÛSdGôg ~DT@€M ¥%²lèZBÝ2à0â¨ÿc'CLišô Pº›”×¾°g»~èŠzë×ÓbÝüq‹­¥¤zAšÝ;ó˜pO´ðð$Ðú‹ `D».躡×;õú¦íJI6s b¾ß–8ä—Åq™|S•„Ýví×ë(rñ¡äø÷pS;Ƴ±2 ÔÜr[î³_ª­¾Ù²ï¸ËWÖÞmøhýa =w„1ÀèoU*j«å_x9Éèxí•ÿ÷÷³@ý_Ý[Ž|!ei#¤þxBNÔéŒó‰WæLƒ$!NÍŸ¨TŽ–Aý‡­KEg€þ"… ÆtU$ˬ½ãS‰è1p™ºD-?¼¸öî†:‚îÿÆ«—çÏX‡åþüB"^ï,¯Ì·]çž60/³Õ9€Ð>Ë;|a­¦“wª™”x[[¬ÙmÔÿ³'ÊÊÊ“¼v@û3³xÜÏ>[­ŽŸŽlm¼{¶\ÛÌèÏÃv\ôÝ+)?~é+õ_úŠø›?\zì!Õ¾°òê°ð1ciN5-‘ómmÔ1mÿ³¡ àä™7×-UUe¿¨U¦öGÃëÿ©Í™lH™SêÛx΄)?ý̹‹ëé õŠÞ‹~W^§XÅÜŒ9^^·Ó»òaóù/žƒmÞÀŒÏ~éþ°“´×¾X>³ètѽ°üÐßÇÒ߇—k›˜ÍÌèÝÛ-XE°ãÞép1B†’3Ü -jÇf>jÙχ¥87ésбxf¤'œÅ3gšÍëXÑu5LÌÀÉû~ÇqÕÅëc²¼·ç›15MÛ` -ü/ÿ´öü—Ì_ù/Ìs?²dλqW2†õ¦¿ÞldüZš¢Zªº~%Iõ™™À…ûì#³˜HŠçž\¹±³scgûØÂ©·~p‘Ñ?óÝÃ9Ìé‘°Ø©Š:C[ô½ö/5ÉiÓO’|ìæÍÞ¨4þ´ªu}¯v´ºtÔÌäOµ»]6|¼ùQsîè\€ÉßµYå€uªöá÷¿úý™ ·ï²#yW@RKjGøEôŒû…|'/¤©&­‚'&` "l±Zະ(*J†1 zÒæ‡lO.±‹¼ ´QÌð]RQ•ö¼½€=0á1Ñ£ *+ó‚äˆÒDUŽ©Fˆ b8yŸŠÐè®d ú¦0a¿Ü´·7!# ˜#cŃ‹è#E_›·‹,XS*þs¿%Õ -Z Q<üÉäRøTánðìŽî”?^k³]ÇíVfç”IÝw‰ÛTR¹DŽ=B±À'Æn] ºb^ ¦Êʼn -òD)”:ÃN9,àOÍ8!Ì|˜ÿ° -àzŠ%‰Y9ÁJË|ýTŸ–pjb„º2œ{îí¶xЫÎP J_^$Ý@è'mÆÛa‘ŠôM“lVU‡Ëð‡„u,é”&äù†RÖ«¬­¾u Ðk×Úì{1§RI¯úÊB¿ª% vŠ$JជäÔ*1ÿ>*¡HX,ÐBFÿØ bsZ8U÷"MS¢žy0¾©R1‰œð)Öo†w¥~à‡q‚…© ×»~TÑà.ú¥´Qª: Þ™Òµ½«õJcáüãzÊÜYS~ì¡dÎå]»ãA¬_ –o%è[xâ­Èضó_xvmuµÕl<ðÐé5J®_^:ýú7WËsæâJ vÌyÓ*[õúʹÛî:·;+‡ Ø‚òÔ&r®2ÛtådÏŸJ| 8ù·V›‡ÇG¿ÊÍ­ìt:^¥b¯X­– F¦eù…uŠ(hšÆ)S”.D@6¡ú{0quÇn1×´ë»\›—0‘õŠÜÂ%©Ø“kXFö]ŽM=,½ÛsÏß^«WãõW¨G3Lýê„kÀ 0Zˆ¿ô¾Ê<¼¿“‹‚v¶jó•$DØ;ŽY“–x -3¢sÇ…W÷Ž»ºŠ‰¼¼÷é‚ß›7’0ÛÊ£g67±i(^…{Éy@=aðj:ÿ“9åÛ ˜öER,X³xÆ™Éм¾ÙÚÜl=údmùÁ•µlb—;yX÷×§u·ë2ú³9¢MI`ú{Hè&sð#{¸šPý/áÏÏÊ€²]0ÿÁ =Òõp,šïU‘ -£2O]VMÆ”ÈÖ4üÒ¨¾^¯Q¶7míÊœÑj$) ûÛ6µÈ¥S/?xÖ`òÕª2^Õ9ÓÙöLÖD181ÄCvGsr2C?ȼ9¡,Ã;£&  ”£ƒ®) %ë‰çI^ÜúF#[ÊÄ™ Ø›6I#|I OˆÒ…3àÐôñ©Z">Eš«ß¹ã€ (}ëeûä}â°óè -NÓ·.våçªõ­ ~3õÿÂn£<ÿsÊ…W]gN(o^ìeF@66êÃÅsæ—N)-ÊM^N áóOý$ïTçæZf¥:¯ÍÆf%­õ¿=šøá·‹Îh¨`ÇvfÈh·‡ïwèà}’ÆÂ|Ð$Á3?q®•Æ“ó½yÛTµê-LF÷JŸIÜüÜ›‰ŒwX)Iöm×:¬ÃvýÒÕLð¨ßh™†ŽzElZÛ;’±«&@×S-ù÷;2ô¯*gÜ?ûäÊ‹¯ŽIzîÉ•ƽσoÜ…w¨6·?_hå~|g5- » -ÑñƒbXâÜi´c2;Àó»NÏá0*žØœoˆãúDÔ.,•_ T^x#òØ–p6bõ_bÇñ²PÙÊÊ’ã çg”eTeÐýý¿»»×ÕÀÛ sPÁ?ijäiR¤€Ò÷.:ËÔáCÊ5IÁlTâ¢Øv0cRE ó1±Ÿ&êx©?Þa% -†œŽÃ8-âo/|êI4¬ÿøO.´¶›ðb €îd"8]‡q<–b× ¬9r]÷ág¦ KŠ"+äJ¢ œ‘Ÿåø8«>‚çèiòH‰q'w‘7°ëº û²*þ”]êlÛ&­¹V³³¶*ºÑ#õ_̯d=d,Ó¬l³€X°íbYŸ {¡óg*Ç]ð j>HµÂ0² çóõÄ7‡ÀGãèâTNNÁ'”—IßÏŠˆS(Ìøå÷A÷‡3‰ÓŽÞí"A”\ßoÛbáˆV­ŠùYô/ôjþVÓU¥Bí¨äwÅÙSªw¿´ùAø“OQ®ïvÁ¾õü–Û…ùW<ÿ„ -ö¼ -÷ëGÔí›n™~¸jÛ…©Z»*“Ž2)¨CLŒì8],hŸGÙ4¢0I„p‘‚‚Ü©A\LëŠ0®ý=Î -€ßãEØÉT¨ Bo|°!¡ú„äõ\&'5* àÏ-Ql»íêU«V9l¹w |°ïùÞÒId\°?j¹w}ŠèÛÐÜ Üž—…B•™â‡U"ßl®ò#ð0i?°£‹Rea¦r˜“ºbc^§ïBF h!´ÊŠZYÏÔ›\×n»ELìiÀœ_8j «jZ³·ÛrÕ~´·ƒ“Ÿªtîøí¶«iÔíT¶žÍ¥^ðw$î¾Ûh“j õm—ÉΨÕÕïõ×oöj¦º~uõ¹/=+î.NUJg?Uý“—FÞ<¿<§ûö®xýêH[v¬Éô÷r„d|‹¼#èÊå÷ŸÿâC_ýÆ6ˆÇNOýÙËc.F3M_8Í;Ý|^©5Uu¦¨ö DÅ_¥´Oœßðû=¸Ÿpoõ 3‹|{Ø¿×íÁ·õ)•_Sa'Ð5‰„05@®Ã VŠ®YØÆ4Ø,Ý6Q&¢ÍJ@d/’ ”4Ò'¥ºŸd¹x‡¿ÓìIX5ØÙcà¼S¼˜MOµ¤öö\»V©%J”i¢5íûLk¬P =LÎ!Ð`·rl8¡) -’_QgstùG ŦšsÖ)%9=Ÿ×]Øó§ÉcíE˜,rtá»!¬.”MSÙØ¨›t RQ‚ƒ)\”$"Gë¹’,#©<£ÂRÄi÷@MQ£8dClcÂðz^)¥(Œª U0௠½òªšê!R„UÂK`ž9u©HÛø¸ÌÞñôi…B,>,&2ñy®Ð®_q ¤)Þ¨G®…ž8Q“ØŽ§Œ—’ÁJ^°‹ù&Ó“·îÜñZ·º œŠ©·¼@•°E¥Âïò±©5`Áæï}?*t X_&ËÒTQ -ˆ oo±(i²×ã¢Ï\,¨zÈOÕ ²[á9ƒ8)ýIP`Ò60ÀÜ)%mÅ¢Áq "@<¶XL$ŠÂ"ŸKÃü¾÷Š*Dé¹gª[Ôlwš8ÑŸX©µ˜EK%%Ráa À £ŽÝLîrú@1×5—!0v4·€~-ÍÙ=Ó€>ì¸èLEa.¥3^žÆT3˜1¼¸q+ë×p¿Øß—np¤ÈÂ\Ádá‰"ç´¡ èG'9ÒvlxáâÇÖŒ~VYÎ <Áa]Ö>îŽ Ó+‰îФéó0ýŽœ•´¾ˆÑg!ñ:P­9l R<º~Pmàx˜ÜYFs~œ>Eɦ©ŸªR±`¡Z¥¯ª«Å’èv¼õ54·ÕI€¦–òmÛΦebÙÁoþÎÏ æs5¥I|7%-¾Ï‚Fõ˜õkÿõŒ}vµóO¾¾£æŽo©%@A,Ksbýý+Ï=}ꅗdzAܸݿÑÚ¯þ_XxÐT±…Ðß<ô½²iÿg?6¦ÀmnJLÝ=DÜlõöU8Á×ÒN©k®ë5áº{6 ÿÁ󴉈 -|WáœQ´»›¼¿@|—ÞÇg”Ñ“`B)È|‰eãðG¬ií¡ÝuÉ×ÁܱèÏSq=ÎPT¸'&kÊ€ã´,’r*Î KêÔrƒÝ’ ë5ÕãñT¥bRß°‹zÞÒB¦Ìäôq—¾kÐÒdM°bëWZ•yåܹ•Œ… ?ìǘ5O+B&o É(&¤Žë%ÁEΊ`-Ä„eËå÷Ù5‹¬ M•I'óÇcr4¦n>>BŠXtA'“‚,²ë‘khПP§÷eΦJ‹”è)†¡v:¾B凕#à êrÓépë›…"|J£ -¬¸ó{6äâб–½i·ÃŒ/E”üݤí¿“µN¸€¨68ŠG3)‘A˜hË Q¶Ñ^¬P0Ÿ ,3ñI–ýad;íô¶údgùHÛs+KlmL¢2è3;Ððê£| «0â‘‚™¯¥·fž“æ&²Ð‹ bü-ˆùnÂü x~éYð,a -fLûŸ\¥ IDATÍRÑ@ØéŇ”ڜĂ -#¾Ñ䪰5cæÙ÷³V;ôÏ ÛÚ= jå»c&•¢²ÄèþÍ,ï-Íl=Œ~ËoÂæ: -§ % FÜG0vn» ×?ñ£µ7Þ´ú1ÛÄ6iÞ®§M‚`gx«•x0az½À±1Û)röϪ4ž¿WÄ~I&yjý¾˜NkOÎþ¡ ßÚ¯Yóm:·R}Ê÷Ô©áô^oŠ¥¥ñßÜ̾ðÜÓæ /rI<{hBŒn¥zóÒsOϽðòˆ ™5Õ†=Þû_=2¦BØ®´lNºŠ·?4>86êÿž#å̧¼y#9?Ø:Éx¯‡|à °<§ë/.bø7_ž†©*/¶|%äN„´ ðÔzµŒÏ‡§wÜÏ -`’ìULeÎË´õŠÛ 9-S|"©“ò¹3z¸ãyz’ˆÑ1’üQÐÄrË? äu¸ïøØÎ%ˆc·íÖHSWØC`,.¢«ÓÅd«ÈJ;C€ #‘jè1¯e0Ö«šÅ -)ŸuÔœB¢_ÇBkNSѱÊW¤ -VœÆÏ`Á -Rä”J´.XM¨Nù.†UyÍî —³¤1UNã†Ï ã„“ù¡°M[ -")8êS¸u«è/’’«áÊÍtVEUòŸ*QHªŸºn«1ÒCЯ`›{ú ôP?,ˆ¢U–÷U/öƒ!¸Ö³ú/RaÀœ B$æó9¦x¹k ½'s³w× –´ˆþ‚÷¦Ãècõý(__¿²þ±4£÷ý<^üÛý'Ë/Dçó•oúoŽ¿”×Þß~ ßMÿjµã7 Y7àŠQ 6Ì¥V ã0eôÝÀäŒB[ADYžØ„zs «1­Âkuu=3Xý‡-€{f.ÊòR‘íœA<׎¦KjzK23UÐûd‚sÁ K×Ád/æ¦ Áq|.jŶSÈ­›ÿ:}JFÏÎÙ5áFIæÆÈU9fY_ýÛºYcÂêªÌ¢‹ yýA;ÔSZfø9¾;Ì;мa¶R'¹+¿™ªÿ.GŒÑ"ׯtR1)ƒcòk“å%¼˜d $ˆjºa¦¢?oY”rRCÞÈ«ÿ•šD‘AS/äò–¸c‹óJ3_3lµ)äU @þ`øgàÅÔƒS†2k ‹ Æýìä *¨¤Ä€5̵™ äZ€ÅÒt©ŠJ‰ãLÃÌ,IEªG'Ç«”Úx è üä.KlV¡ðA_È‚(JŽG(Ê¥Ÿ§†IÇó}§'¬ —ÕKµ„*¹Oõ¨ì{Ѧ4ü®½aƒoJQ°è§üǃ¨çúÒ„Ñòà‡Üáyã{iÓƒX»{ÃwÜ~ÇÝÁΜö¶ß´^A o~¼_kƒåô; í³I¯Rö]<辟®.Æ òÉj6tT…\×0³Óž^?Ò'#äMïÙØNÈG^ú->¨º^èR´@ìúÖ¶kΆe´¶;  -Ë“IO`mNÓqî¸Ø¡5òãP\ßjw‡Ö¾ Í#Ò4¿ÑÜP§$xõ¹zP¦)Øßu<׌t´Ýcáw^©§ÑkfWò£Jâ¹_8÷Â霡ÿÁññèÿÿÚqþ™¥F&< 3"'XÔ÷6ìN…»½ùÑe¯ï:ä;Âå-IðØU„&+ä;¦Ôà ²û",„Õ#ZyF}í•FtÄ/Ïè]\jˆ…Hê÷û¥R©×í1<¤ -"È™Œ à‘_’“ mùSTÖÄŠˆç!g×Àdp儊>z¢ƒ?0úg*sËtÂ;!1CÑ_d -‡ ?°D`R©åS»¾BgO®} -%eãö1e¿¿ê´8 ®(°0bxͨÀMHü{bÌ´ë"–®‘×sä%¼ÿX "A+i€)…¸€þOÀGÛ½€;Q•Šd%ô±^;ˆ‚À -vWPÈ”z s•¶x¡6/7ë! Ü"øZ/†‹ÀbŠB H± býb±†Ôðg -04Ô,K½@ý1’S½K¨•â ›F&K‘~f½BêuQ÷ÇâEøõá aÍ/%¯ç3‘'>‘`´ïíÂß"¥©è e^µDb©C…’Ï<½f¾)w_tz®1E9H9—Y ñ·zûŽ]™µÌ)£·gÞìv]”²}ü梔¡??‘&”q%8Ÿ© §u^Ó§jˆDh«›uHi]"rĘL?:’Í@IÓý%v¡FAæxa*Öž¸œ2i/ üvJœ°pÒêܾ«îOZšà<­(îǵÃ6UÙïG¾—H¤. ô‡)· rÉÉv{¼ûÅ<˜í˜ŽúúÍÚrc‡‡i¾Úíá­ëô|î‹ÛÞÞÿ+;÷@nh6‡8u,I §Ÿ¼òÝÕÙYë7ççøŸ½]jRåuIQýÝž:Ivj¹¤*%?èç+5¢ðäBH)e³C*e‡õÃ>ƒ ž“|jUÃ3£7ÂjÜ µ¿ÓS§UßöK9è>›6…ôüÎ⌑Âßþ°LíNÀçÄo™ãÙ?8ÐuãzwøËY¹Ã [H•=Ê-õó »'Úij¬‘£(ç+çmÞù;L á®d‘È<øì¡Ly.áa5 »$‹›åºN ›ÌG1ú¤õ‡ifj>)>e Jj¯Ò“3~!}<]PâÍ@ïDªñÀ Ôt™ƒXû¬[{Û®¿W¯gרWSÊ®!Ì3ãf ø`.«šŽx¨y*¹Fyã¢Ý0ÚK.l‡Óð%"ÑÎNöü€H¨hh¤ß¶¯½—a)'M|¢kÃ|\$¹d"[æ<]Ø/Ž2Ûwïx)]ú¤r*|t r0ü­hZáoYÊò¾eªdÊpª¾°*`ÔÉ:Ò)‰ºè8×à>?òé|<Â0þS* †9•øx·¶ðì<øžX~°6ühÔ÷ɘ¢–9·^XÚÝwÈz2òaAÈUû‘Åñk’"Ÿ»²Q¢ R:E’Öhª’©t6J (Ê,D*Jqêf‰Ê6#þ)çßÏÀ—Ѧ£¿{;2+ª5«Ößsn^#¯ U—¸ìĹ€[¾#„Êq³\ȉ«°Õ5ù+aëúŽNUšºjuzû5åúYWLöÔñuCÍŠz8%ž• ˜[æL0Üî”ÉÒìÜî€$àR~UãSÊà> « w«¶4 U±Ã*ßC…«:1âV,½É¤‹ÞõëÍMjÙFƒ}ÔÍ™ HÐ?æúƒ0(D‰w[¤€î‡}ÀtØÏDE)Í©ÊvLvô©+,Éôœîù¥$^:P-µïõKZ‰µÈ’¼M$ýcI ¢'Ê 'ciîæ½@›ºhm~4$ÞÈÛõqÄþI”Y0ìpî -;¯w¶‡‚ý؆-€4Ì8„HÆ/¯çñ«´ˆþÅD$YPÝÑ“4|ÀD¤;–r6r2—Y¥MF)@Jù©é¾Ÿ¾e&F¤|˜H’Ê&KlŽ wbR €€ ýaGSÅÍkx‹ ì‡îš)ËØHu:Kd_'Wù¦äEø½ÜÌeUV&¤¼ü£Š€Göe2ó¶Dnq±ˆ”È(i¹ŠÐïñw±£°9¦BQÙ°Û 3Èݔ՜là@®LžiJ9;$ü¹Ø˜>”OWd}` ¿ßÕ,r ú°Å˜jÌ_*HñÅè¼c·\ÙG ú½â@‚:†v@ô}xŒÔWiLÝU㤞ËèñàÆQvCEz¯“ýÌÈÒÉð7ÄìÂp«æw!óôû&,lÂl¥‚:l¤¬×In%c=£ÈžÓ’ -:Bâ: "§ëª6vçGЀõƒÇ¤"ÁiQӆР-ÐoVáEç­Šì¹±¦Ý;ñ<ñzgâ ØUMÃ~.ÒÀ)RÙ?+&j@^¸Ãtµ°µÊ¼ØЧ5·ëéÆÈ“S zÌb€¹Óa;µ´?È€CÖÈ´ƒÇyé*º]ª3æAÆ|ë×çÏs÷g˜oÐGLb@×+þ®ë´[°½ôþ˜$ýGT›Û£'¨ÿ¸u{ª>ÅÚ7Ã+è︉Þ]ê…Ãð‚#K…œ",•øM<[±dj*È@ó©Iü½lôwái—úþPwNFaD ðù¡ö]ü'æ”…ø]‡å -X3Í´‘½ªíÛ]n4©áSf YÃ6ùÚPÿ¹ Sè -…V+ö—Võà\´ffH‚ùûæùƒ]§;95¹¯j$ñY§êöÈ]“MYε¿v»ÆQ©­Œ4©0~×ôG™¬t.YRK+˜"‡%q$²Ly»‚‹çlþªØô´Ê:æbî…~R+wn» 'Ñóyé­º>-¬Y d{ÿ,ö~Žt -%_ÒÓ| ²ø™5­ÛYpbǶf,þƒ/'Øôûþˆýáü’@Ù™|SÐï‘0•¤K¡  OËõud@òÜe©éø°e1ÀŠ?o%i¿"ßn¹ÌÇÉ´?šŽ ÉjAäGì*à~¿N'‘†fMˆ™¸°Ö|Øÿ½@aÒ<…j8ŠŸÐQ– Á @ÿ|zã# ô ²½ÌJ›>¤çI蔜E’¹€ðÇjèJÅ,™*i¬Sbc3:~8Ç3Ç_ÌsÄÃ@èIËìá¬ÛÃ)[Õòw ªï¨ú^k2Ò¼=U%Ö*¿ç[Äjïø°PŒ²¼ÓFç½" §xíßH$ÙD!~>˜Ç’‰9¼¾K~ƒ` ékÔ¤ÕrEØ·ýxPÌz¿ù=z,Øi\·¹ñ/*æ}Ÿò1W¼=¤‹r—x&ÀJ ²*c\{§ì·]¤ô’%ÌÝòý­kîŒ R„ó—dQ]bíºnׯ¬Ãšo¥5ÒÔKOq“¦ÛÛ­Ì•'z»%ijÖdÍQŸÀ”¹TÐ “š!÷d 4¯>võéc -sæÍã} H "„zâ»èïÅR–ÐÆ¤Çp ^ñƒì» ¦Š,YÆ{¯¡Yà‡Cé’wB˜ÓC°vHE@Ú%Ëpní°NÊ¥ÿ2ý€âSÞ«;JF'‹] ¸JkÑ Q™m¦&·`%0æ¡aV˜ëcçXÎŽF·tßE¢4ŠÍÆ9m¿u SŒÄýɃV§UTP2c±B…`ôYM(òɸ3Rä!Ð -Q"I -\_Q£~àÚH9%ö„Û‹j÷Q¶Ø¶ weì*°XÙÛ¾b·¤»Úiw°á%í»úu%,6EGSŠÊbhHLœ€Ô$ 0›Ô=X¼`%[ä\v±¶Úqh9”ÈùíÔ—Ne…`ã`,Ü,¿>îë)—½f÷¼¬Y|Çu5UÂh-Ê!Åí¢$[Çï1c>yöû’z1Žòv¤übç.(Õ9¼ªÐ‚]UFY"Ž1 0öʼ -„9™ÐvA˜¦uÆÈÃ$¢òœÞnb.“e©¹}Þ¹ÖZ\ªk^e aÂ`)KÃ/À¬Ã 0mé]æ‚;˜gŽüNŠ ÿœÖàé¶wˆg Zm·\ÖÛd,–g5ûVG,‚Ì®·;ê”íâW¸ž¯êø8dÎ~ è}…oûQ¿‹(%°‡1§¡:$-íÐ(É­‘@D°´9>“`î0Ô¿ñ7x¿øcò¿¿€ñÙÏ?&ëÍðøáâÒ}Ò×_æi<Í×¾~ù³òÚõèê­vàŸðæù¢¯þNˆçÖý³¿4~üA¼¦ÿñÏ*ÿòá­yã2þikÓÞbé¡*ìH -€ú:ª s§Ô­ º_e¥~¥Q;…¨„;pd݆×ÒJµ^ÇÅ\«Y°Ï ¿^wk5À>±¾î/-©Ntíš}¾Rô_{¯µ´d ?rÍ6-Í:¬ÂNyFã+;î<žùZe«Þ}y¾fmÑGæŽë­òŒ^žÕõ†U±T]µ[¶QÖÜ;¾{Ç«·àƒüYØŠ`kÓ>$S¢¾¹eêZ‡¦ëWìÚ)‹ó7@ÀíG½N®§ÚI˱=–"p©pn/l5ÜÚ)Ó%t®-¿ý}¬>èqwæ1OJåJ‚€ÃA~ª–‚.6„?w¸$œ§¾^—5bT]˜ËÞo4é)©h©`ì1h5Û•ê w3N¦ ¿®ƒ ¢ÑtªR"s3&цŠT8Êäq”dŒÊ³&‚šl€†#Öcý*"°G4UWX7[VÓ"íÆf+ÿþÚ»ØØ§rÿzíÒU~sKlÁW bÃh\̉Yê˜~7lÌ-Ä0M›ÛZs - ìxe¢Èè/ËðÅ®/7½Ûrj2A¾%^ë^jåXr噚϶)lÑՠ霮Pµ -S ™SÉÁÌ+•¹#Ð+BZ`ôÁy'K}ÉM“‹¤Ro:§3¡ WŠ€þ^ŽÍ"뉈.ë!)[ ÷sºší2ä ¬ùŸëôü}®† ýÁBb*CAŒ&Yš¸¦Hîn”ætJð'ù™£ÍlEšAç´»fyšw2üð’>¶R¼|8Q«g,ݪíÖÈÁŠ]25^û&ÙÄtú6!5îl»ðÔH²\1©½«Y&ewî-ZÅ  õ鶇ÓCív=ƒ¬'½cº&3>ÈØéÜ!:9¸ÂkÃKÒ5P=s™~œ'1¤ÌQxa–ÊÍ&Q³Á`ä¯ë’Êž ÔØ9ùÿ°ö6P’÷`TFevfgwM=4ÓÌx¤ˆñÀXˆµ „=gíHZiå/ÎÞ“ñòì'=öqò=V+Ý顇å5²¥ó®žyZ­[¶O2ֈ܃eɈYRK0C5EUSÝÙ™Y™uÿˆÈȪê´ç˜z9ÑYYùñÿþÿþ»Õ‹Îùçàè_¸¬öx•C[Éÿ ¯éÒ Óo?å€WÿÐ÷Bà?wŸ©¿ ÒÏù¢²ól<Å ›éÇÑYp³¸Ñt\\BYf^[þX›s+ƒêàeÕAã2Zw³Þ -Ur…Î3ÇÕ‹{ìá6ÓÕÇé'ᬟh´ˆt …‰‘µ@ú‰ú'`VÍdí¯ÆÎH0:>,û ]Æ´AP¿ýÏõt=€fðQ2=~aÍð PS ý,õsb ñ_¿^ºÔr/àŸüªUFg¡glÜS“|Ðam%+%:\{ðxÛÞlúIRÿáIÊ~´ŠDÇöùõ‚¥˜lŽ_W•M±L=f¢{÷·ñ¼{srPJUþI¢Ñ°õç’ò¬CëYô=à1\$šœÏ”ޱ^Ú÷}ÏañhôÆa[ €Ë„dX®©L@Ô@д®” hûÖÖ|LýMs½éÎ&”ýu þ*šAS`„IÎJ×ÈU(Õ‡aãYŒñX °í³°Ê‹"ªš–ìØZÊQ@?d=ƒÕâu h¯ ±~ᜅ‹ ØÖ¯e7£Äɸÿ‰bŠpN²SŽ}tÐaUÀ.‰Ê‹‡Ó¦$†(领[¢,I(Y?@i”,BÇQ“8ŠKP-öP¹óìÐJ­™¶dÏwàÁ£~&g|L6;ÅVžXÚ4À×™D½ EsLùÇ2!ýnìÏ`Úg²!8\*O0ö™ŸˆËêrß»‰„ZDQ+Û‰œ„x ò"hûÌs9Ê{늖 b`Q¬J²+Å“V]’âð$ˆBM…„¹Zú–¬ç9\„Gí˜jw?ø~›3i­Yp~h‘ 0\T5¤ç…]_Wsul•–¨bB\îLŠ¢‰˜!Yˆ€BŒ2Ø-ʈÑ8èÞ÷aKûXöGñß/‰ FgÃïQlŘcÌQŽR¿t$Çâ| 4!Ó“õ¤Ñ áö^Î’aÚïpN_+ÚŒ3yå$DÐ7ø3~A`ÂãE]棋ÙR¹Á—FŽ»•»¹d&ä™Ì^ôªÄþ¨P¸Í·Ð˜Ãù\è$à·äWŽLŽºÄr”jÀôáÁ£ˆÀˆDÞë%ð8hñ×ÔpΉ‰³˜]Øî—nÌ¥í¨`Ù ð‰dÿÏìJ66+¥”3`CŽá‰‰WáœG;\«†õ¢M5Îþ¬ã²×0êçz‰Du*##R×v¼‰oÎåßþæÓýµ¨IÊzW;¨ÑSm‡ÈY6VËz/2‚› Kdˆ7b‹‡KË­]»üÞj”&¬¸9)]ÄOÍ“ÍãSêèáƒI6¼°±€ ozÎ0eX8»æÙ‚ÐF…¹´£1Ï?âÅæÃjáŽ%µ0€é’;„?r±°Áˆ’'F‚MÄuèÏaй/`Â…“x5ÅëäÀ…IJ^hÝ ñ8XKf›a}ÿ^«Ž®5¼€Ÿ~Aì;·R¨Ï®»ÔÇ {ÿÁ°Çì&™Î:¨iÈfòDÅÍ XB¸£L) |ƒÂN` ÄgcccŽÈ“~·šl Äè~yÏú[ìc+H²FP¹| Nëù’“­^;ð‹«q">_œ†„eÁJWØIâÔ*7#H‹ãD?¸vó&)üd=J݉`;Xán(³dºÌnj»cÃL‹ÂA%1{·²±`˜Rœ äe`@Š(•šùÓõy¸5„vÉŠ"DW$ýL +?Z]~õ.z€rðRkìh NM)ßmöꎛxî9ÔŠq²¸´Øiw€Hmb:y¢ÃP\În…-D˜¨ ¶‘‹;5¦ø‰9Rip_@ÍOçI–¼ÁqJ(…zå+n,×£;–Æi½mÂvqLX·æ0esÏh‘ñO°¦Æ'I¢€þ×1v°ÙòZgè¯ü ºô’%DÛ,õB&âáœËvv89gÛ²„Î!+êHt4O³™ˆ€v‚gÈ—]”îØt&:†§IIœ÷ûI -L=Ù€¾=š ¬  ;Ï–yd·›ì»å¹G[m4üÕgW±† QSùÈ=ãOÏÿ®¥° -ÜCoÀ IDAT4Õ†òÚI­–¤gpØ(ïYÚùÚ -°åý‹Ì€µÈDCeê¬'·¥ÚÏxY0Œ„«Þ˜‰l-Mã~ŸMÐŒ‘ÕÈȨBí»î'»i S+±Œì¤¬@HZ°O¶µ-…áQ UœdA!ª‰æT(¡çlé–iÃS¢(û0{-Ú›Reô¦P²Û78žŸÁ'>2‘ãÏE_ü»Î-¿²üðwÅs/Šë®wÝ'χ_/îùGñL[\}±øÔ×ĵ\~ïãâº+Åskâáãâw‹§žGpË{Ä=ÿ@žäŸuoÿë䪋ÃóóO= ÞÃÊó½Å…HI>h/ýÔr¯Û]Ñ:{¡×c¶öWc`aÓ‹ú©7ë(t¢ÓÛ³Øê¾ŒÀêj Kíòú«=à@Íû¢·ýnׂ 0· ÀZ›¡]çÝh=#kAÈÐQ Kõúˆÿ $¹hk)°VÑÙ.¬^4°îôcÍlA[^8뮜ÀGÈ( ®ÙμÀÌš *ÚgñÜ…••PXZ?~¡¤~ÒéFK;C§KwíBè7mš;[xçðÛ~-ÛÃÀaœpYs—óa0H÷ì.Y²â&w(¸C‹ -} hâF§„®|ÇLôÝÇL#Õ¬›óa-ßgˆZš!#|¬BXI•´7³Õ•¼< ·1ëùãçWá΢wnuµÛ~±Û˜µâ”³¢óBgì'X‰Ó2k»³çI;ôq¯lÂmvr~|)þs> -“~GËJÿ'p’CË@ðb¨#éû¥‡ÅRkÖ—5Hjœ0%¨ðš[s¹š#S Ä@ýA‰ì÷Ò>ËXùY~I¦aVʤ„eƒ±c°­¨ºÃ‚?~“ -sTHømsÖ¼äzÅÌ0€ær-\!càʽ¢ bÆ# õW¯ƒx ©È1Óy~Š4Mä!ŽVš*ˆF_¹.ðZdzó"Ÿ~F«æOf¿;àmÚ4Ï”uˆl(YåÒ -/ H?Ü(<ß@^ 1ã]0â)ðžýGÈ1»L¶xPz/EAÀd8 -Yˆ††V䰈Ƅ¹_Pü‡`ÏffY5ú¾aÀ Qy&“Ëj“¦E£u4†Ò­”M÷¹Jÿ.f3=c²NÞ­Ðz|–Vh:bê©=™‰õLµVÄbêsb ÛCeÙ+Ÿï”€w ÖWƒhW¾M@ þ€ö쪢þø!í݉ ýþ~ ³O; ¶Ä³yíEÙ½ßs¹3“cüYüÊòãq'Ô!ÌžÖ€ú"B§™›'%`~½^Êþ“m)i:M3¦þxò 'úœIfŒÚ@daU1õwÑ• -;ÈŒ_¨?¡dÙMP”E ùpkW˜neÑfÆ8Ýl»f†Ïâ?o)ôBu5: -tøH²¥””ñ{äÕe#àüaÓ€l@ËàÀ`Òàä#eœS¬MŽA·c#òE§2Uì-@-®Ë)£Ñ sj44?Àt›ºìY+x@€Ä/7ÎPÿ———VVÚ!•BTV~2x5>–x¸NCl%Ð%ñOV¼wjCóQîIÃ3¹„@±À°”øom Ô>"HêB¬F±`ìÜ”ì]ÌOyñP !?KÑ&’—Qíª’XeÔ Æ~‚6Vð-a$ÏH:ÛøQLcEŠ­@ö U*Áõä#”÷…Ž£e/4ô›Mß„s=J÷ýDºrLüÇÉ •­†÷ô»¼° -'É€@Cæ/dc0å0c@×YÄHà,ŸèñÇ; Ì‘Œúk­’V1g*ø2€†Œèœ 1[a&Œ›I ÿ ZE× -¥CLò>ûi'Ùùý™Ð$r¬o“ÓÆØ°PÏKÒŸ…,ÅT›ˆøx¤/X¬cÌ -Ü¢$åîÐAoÝ5Ên¦Ô52Z’ ã52‡¹â¾—l¨ç­7—ðu]¾ä?þÔà‚sÔ…¨SêQ+«V Û9±ú2FÍ7æT‘åpÍy‹;p ~pÅÉNW J- Óõä ę‰8Ò„ P¡ ¡ø’í†ùHéò9¼^9$¿4<̰.•<&e¶¾…/-âVªõ«f…ß1‚ ¿ž‚AùP-M+™Ã!БBÊW^©Ph¦¾Pûr"IJ@“ˆ[»ÀZd#¯Ãƒ’6©ˆ:§†’SŒ}ÌO -¢DàÂb½ºŸ’ŸWf¦ìæ0[°J­Èžýï'Û -‚ yðÉ“TdúÒ{ÝÒȃX]3®WsY Ç=³ü~P*À6PNã°°Q-ãÚuð€…•Å- eÏá¡K©8—ƒø0hå„¡C(st™P]C·ÊpÀ˜>:EÙèO8%nk­C9\ébý à. uŽ@ -XH5'Õ±ä°,Kû"S²R^$&ý9ÈBæá @ö7ÖW{fÊ&%_K-k4üö hÃ?oßk°xØ&™ËæŽ$ƒ ±ßáX±B6 zÒÚbH×òP¸2CÀ2MoÈá5Éd«Åmôè  9«@Aà 2sHz 8ú¤È(Õ6Û‚~Çdœ¿RÇN ‚õ’Sq\¸Éh+2+Éd€ÂˆE9ÃÑå’ÆY¸¿ûboº½'VÉ”8&#ÜŽ }à™-™E4ØÁ>< -VbM\Ò`bº7¯&UÞþñã½ÅÝž?_tN¦y‘b—ô{œ—G[µ ÓËK,´x.ŽÓïÖK‹%2ÑÕI³˜£Öd1Ñè®EiLRš¸+¢´ÉR”Eÿ3¢iÌ¿¥Hk5/"#LjáÔ¤¢àšŒq•@ý,2[ÿþZ¯¯Ëdðšâ–Ž+ªÙ&úŠïm; u|ÜhoÔïüÐJ Ô_Z`‘,Þ®¿ü¹òb›"®Ø™Ó=¥þ\;%ÆšyÙÆ”Œj,Án”‰×Ô—bQF§¢$î\ WEiÔ4Gˆ†š0¢Y.JÇŠy1æ™ô0¥ æeQžLA/&O9s¬úì¶7œŒÊ‘"Ô9”ˆÁX X³×ȳËKÉ1H꜒ãÙÄœ%¡Ã'ë=?ðíEà:±(„’›—ëCyhÊyÈpVv-¬!wÂ,´ÉåÄ´Ÿ<“¦Jœ©'ÝR|h… ;íŽ]Ürü2“þÖB+Žc“í…©ü@y‹è2¨)Ah±±¾·žûM¶(tXaŽÁ÷pAŽû7(³Ä34aŽ~B^ÕŠO)ä”' uHdÁyhÇד”­Ë¢²oŒÜDÈÁEª”k -N¨÷kÙ¦-ç)Ú ß­2ÍS˜SD8Ét|ÎÖ•õõ˜ã¾ççƒÕ¡áÂ'#‹C¶,. )A@†y޲»dh)Aa`ÑZT€$aÜ×FÆefaå3´¯ZAC¸–ÕåŒ6+“héÔµ˜IãÉ·¡.M•âtÅ#¥•Ç žEƒ¸ º9¢UƒI`"¯ç¥[¥îwœ¡s’²횈"¯E¤¸$ EF#ó*D„º0J-'2¨5›bØÜa^Ê·Ÿhƒ¼6$PÿÉn‚–‡›%ˆxÐÓKÃQ„tWJ¿,»¾…WÆjuwÅ©ÒyÃrw@#QÒoqí§üîd^Xk?ÃX87p3mSE;WÖ\>žËó ­~Á¡ð°õ­Pæá’sM¬VÆ?G›Î#~Jöë¥êtâîGþ—ЦÃ<À¶÷éüäíH½–ö)×. F -kc„‰€râ5ú±°º½‹Þ )þÁÄ”âhd¸žÑÊsææç†‚gz'=+CXçJõÆ=’ÖŒÁ ဖ23)gç›r²sXÙŽÕE1æ½V†¨fÈó˜´©/ À‹c1ª%—,Ay|»ÁlõAQ¡ct§›Š®hP*#OŽ’‡P2¸J 0àÏ•µÌ¤‰òfšXWB7ÐSò¦–Wohà -œ|³" þ°5ˆÆäY[`P07¡4>=4v5¥¶:GE&¬Ìû”™\ ’øñÕ̸¹•&&,³Sv~"¦ìèJ¥ƒ¹0žJÇA Xå!žUAŸÜ›“Ἃ^“´PìVÃuñ¯±z£®×¨_ - †ˆ¼¥þ€ÿâûî ÔœzÜ)熲JÑ I­lPñ+›Z ývX*þ”¼Z¨TK’•u&®¨Ž1dÓ¼IÍU¨ñÍ>ç±q}F5z‚¹×¨bÿa&°ùyi¹ÉQ¼eä’¨Ü —>¶Mš¾‰Aàsê˽SIk‡¿ò¥Oî"B±…­ÚY~8xÊ -LHf§Qhï0šƒ,p;jÈŸ±ü^`eç‘ÖL˜i ¹)'{F„ßB>—ðÆj„rWÈ&%ÄX£k¤œª©qVc÷y{ í9ê~vï®ø¹+m¸M$N݆>¦Ñôë×ÿÄ*yü)tß-*>þƒ";v\‰Çþ{xÂJNcÒÏÎ@„Ùþ#, €Ûê©ñˆžö˜õ£I6ˆùµ¼V™|°°Yv¶-¤ 4úß/ªTAâYY¯Û]1úl¥±ˆÊÀˆüEÔò· \…4Ĩ¢å@Ì5Oóàªv!pæ5[ŒŠq úCÄ[`¢“[j ñ'$ÐðЂy3+Mj*S4bÏSÞÃ$Ô¯è¥2›QuVµá:|»dW–FGXÁ¾u<ÓVPXsE¸Í~£NÁ{Ù½ç¶ÿL6´Íò­ÐÔßwH¤¤f, -ÁpcQÆ´[¨ˆ  -/“]†œŒ$%K]ÆÓˆhÉÊó¡< RWC9ÄÕb“O I*}=×kGÕ‡aÙÿ$VÓj¯ôÈŒ©?»¯Íý(IK*$”…5èÕà¾2.hÃ)l©•ÈÒ£" ûÑzÎ<€©ùBOgo“V›%Lûu ˆ{¸-™Åo7Ê#9ÀdìûÁK|oÊõ1d€ÕJX¯|óŠZiN@úç[ƒuʇwÝòŘ·ÚÜÿŒg°Ô¤MJm` ù¦å^}‰w‰“?^ïY ry^åÝ4…»â„½ òϼútpÝ6‘~;<´Ý—Lá ŒIÎyêšh"GÍŒe°rÓ¼~0îÕz½ -ߟ#F%;ˆ‡åê²S Ø"Âh²µi°V{Pj {órÊ UÄ:hqÉ5†‹&ÕHZè%I³UZBè*ÅV,MR)“B˜ìXp•íÔtç5\Q”®C¥ôa|ß]ClgX =N ±[ -¶Œo±Ý6áÄÅ4vó-É#ãxANéTy’o r|E®K°v!Ìýû¥ñÆðZôȶZzœ¥ÆOQÎ[ -[BÏŠš¼Á’âÆ[IèùŽB4âޤ2Å1¼¤r($”dñì®’naÕ{×§n–;q>–õ=8-ËÍ«I-Y +ú»²jD{ذœäIIÙü¶*+~?Óý<Êy!0.%ÈÒÑX¿\EŽnis$ ®Hw(£ +˜ªõb9Çð Õ]Å)ä¶çº8Ö—Ç5JÄó#ÃHÑk„–ב kÙH'ãú!­E“ê·±9!Æëņe½z`^&…²®ëß|*àõaZÿZõuý¸<[f!é`D® ‰Ö$8>uÌ´²ÆMÐ 1æ‹»†lŽKi#gá=QõQ‰Õ½œ ¦&Ù'–3Ë#Sb𯿽 0’óP¡¥r[67-©T#Iã­,ÐÑoœ±áQ2›5±ÆôfêÏâÖû ÜfܺYsnæC‘©‚×~âŽÐÐ…ÑÄKSA\ëü–h´J=O7oÖ[I037Šã0P_qúÂÄ™qqñÁÖT^5nx9=†˜2RŒÓúòÒ†=\²a8ç­|¿ ToÝ`sc«.w’ÍL܃Ä&3E1nm3ÒG)|¼1Öz§p”Ö¬E¯H?|â4T6löÐ9Õ#zåf¦Ê3JâZöYXžú1ÓùVÐhúSqx||èðTó>~ØÂaÉg§äê³…ââ£Hà ]ÛKõ5õ‚Îhä 9ÆP†Ò‡ÇGжºpú! ˆ…þÌO^øZà+ORm,å#¢ …0ÒyJPQ޶‹Ú¤c1†ö›ÅÈW4)g…!-ËNåÎøÞLÂõWÐa ©™ÑRà½ñ3³Â -‡0õGéJ×ÙªÔøúèBÂ3¼Âú¤!%[åàžx¹âvxæØÊ¥Õî–»:!SÿÕ¯“"6Zeç2º=ûש_ÑhÐMÚÛ6­ü6™BùõW¦z= ça†4#•ðž[>º®Í`m6«¬“ÐŽþ형C½x¬ïQ.Ćd]͹¥¥³‹ÙÄ;ÃfÈî -ÌMÖ™q TWθ£ËÄ3ê­÷pƨÚvûkI³åÃ í¯‹æ<ÚšûëÙ®>lá”Ícoí\l´Û=.dß~©ÇÒzo€5ÊÛT}i©Õc“…0êF‘Úm?ß๠›÷²®h¨´L¬/ï·ŸÇk-¸|ÎV#ÄŽA Ûíx‰Rûí¸¹„yàý^®Â·±t6\7¡ëÂIÚ¹:¢nÏ'ð¯d+i5Zí—qò-4ºƒ.ˆ“@ý;Ý^G:E”¤‹Â#Û%zhñL ºˆw˜©{¨ÜïžéZ@»Ý^o#[:'4¨È½v¶\ õQ/ó8‰{½¬Õr£uÌ&á¯ò$6*¼×¡+žC‘÷m5Ü“T6r÷îtf}H-\Ÿu;/qæp$†p~ú­ß£¤bx¢ÎIá -qy±%Sl Ià·NbÒF2¿#^\HN¶Å<•2„gg·ƒœ ÷pN#[„“w"P Ìý`¹]Âi€%9dpç½ßÃkl ÇoNÀI?8øÝhy¹7’Œd‡2E—šˆãë èœìcmŒaÜëöZ ­ ïSsb ý¬a`gµ·|¾JøW©­iAUÏÈ(4¬8#eMæNUúÔy‰ŒE¾x÷Hi%}/Ø›É4 Œ˜‰’¦…âÔß– -ÃÖ4-’/¡s!赈ʹ_jû3>~èïÛ½ïiñ´¬Húé*,æ³Ü3?ô°mèq2 -&ÍzƒS‰-ÿÒ"Ytê«™öv¨²|³®+¹²ª¯l|néçôQÿÏ¢„,|ˆÿ@ýõ˜xE‡R€ŠÕ†®;ãõûi5õ$ ;|~¸–°eà©ãm®ŒÖë÷ù9{Ýd‹NDµ<ò9x¹C—“«/ ˜ŒÓ¼EO´O‚Ê™â9_D¡µM†×÷¸:ÙKjÄV¾ßF~³‘§`m?ðVO¤°0–ý9ïÇJÄÀÎ&%”œ$¨ Sã!I’neÆç6¢KÈ&íå÷;þ}Õébp…/6Ä*E9ø‰è¿Œöɘb¥‚öóðŒ5d8m%¥BS¨~ìûH†RÜá®|_eE´7⦠5œ wÎÞ}°}è»÷]ðÎçV¾#úFUd2~YôÖ:½5uÚŽ¿N/Â]]0°ÌcÏ üÃcú=ìÀ¨¯|hоøÑ"n!Ùx.™2½—{I–Üúác'OÜ|÷=÷ÙE¾zk@j['Û@|{Òíwþ‰°fÂÕ\åêjϯûI?î’›ôGkƒý° w’¬Vží¾ó_Æ µDÞ>Ñ{ ÆŽô°¾¿t6BA4,›\±rŒJ&j5Äwžø{uþ n⸭¿…ïäs«áœÛ^SæÏέü@U"¡X~ž =˜WÀ V¾ŸXáB<÷£°L଎7qm3Hm•)†ÆÁ!!m“/4Yö刣òU˜€°…ª\×c  -©°7Xe¥M˜Í>#éhê£Â„,%j62Ó1좦eÇ‘.*™ ®î×Ýv;ëQ%ÁÖŽ§dœ.œ%Ò:Vß-, - O6Ì•Òb‰¡5}LÊPŽ^h áÙr%¢²ÒøRUgÃÓ…g…ÍFø -*N -èëmûí*)lÓˆ¶D8cqQg -ï-¦Å„˜}@÷ m+y@1Ñ™`,3“Å¥,·xLÕw)‘,¡¥ufËczü-S¡½s\–ãs“¸¢ÕøTFxòIÇZK%¦§ÔñÒ, Ãl9[8§ØòP™°pRbñ)¼CÓ&ô¹žçûÎá"†MV”Ïïê߆š‰0¶#ÌŽVÓXùqqb6èû1YÏs1˺©Ê®…óð블vé½Ä©h̓<Ë2²„ÙL x:£ÈYú†~cÖ2Ê›BºŸ ~ZÃ4åI ªåk÷C³©ÇÇSü7£éD 0²]:ƒÞôˆŽÝç* ëä Ý©œ¾í¿ðüãºê´ë¯ßõ¿ùþÊ$B}þU v÷7JðD ¸ï»ñ†#_»Ghpoû·@ôÑèT-z†û}–¯÷Èzž[õ¶ðä½þ/ÿ -Rêwþ`v1×#¦µ•À'9¥ˆ~DL‡ûpl/#U5¿)Ö×Ïþ·Ïð]O~õî·úÀÍ|ã›®œüêÑï}ÿM7Mî}>êÞ´?Ã-ÇUnªþzÊs ˜EZ/Hÿ`=YÄiéf0[ÍËøIÚXÁ/2¨p¶ -F$K‘Hl@Qÿ3ŸS2F4™ šÐ{aÞÖïgfzéoîaÛ{bJy¾Ó´l+{¢hVR[–1²Ôu+Ô¯þÈ7ñÅ?üM”eì2&­}…„ÌWTÚK>¥°§É‹ í‡} ËÏnÆ( ÖÎÌÁËÑ¡·2Ç<·Ú>pàÂ'Ÿ|êÉ'êòö IDATŽ ŸzÀ€ô«¯F²h>ùÔw¸ó†×ï[XØ[Þí\xìØÑ±xÃåW> Zg •ß10ÙîþÊÝÜ9ÕWñÑÿþÆ¿ÝÁ¦Â–¬aXïí?qš4hè6…o ÙúËzé„䤶ï<|õ{ÅÍ‚KlUÌw sËéV”¥‘ë…¢(™¨ã¸çÁ‘òVæêéÂ"¹Qÿ»ÿZ=û·þá¡C×^{èškŽ=úè·¾QÞÆ\Éœœ¤â„çðß«Ø2|J‘iPŽw´™òdC60#LŸŠæLl»Øo^!Ž¥WV'7¨Ã4’ žc¨ÍJVÝ]NM•%Iª´¼À5å[eê -25™‹q‰–ƒ–AäW-(‚˜îš1,NjÈà¶ò~@(»Ñðk¯‰ ¹Ó–·ÖY$[2õGN0-q`áTÅ#ßS‚˜{þ.eêÇ¥xJ›`œc²?Óq6ûœ¡Ó ¨ÝÆŒz“yyi¹_³Â+é‚õìÆ-cÃI¦Xæç‘eÆ&s®RµG7L(ß.)£ÒJS{ª³z¢¨‡xXiŠlÀóRíæ¢m - J"®eÈygT H‡¾^Ž F3’õo}S0G=Â}Ì\Äÿ"P<ºÕ(Ôܰ`œ ·Öcñ1É|§~R“½u±´SÀ¶–§»ö*„æ,Q‚âýpÐ"Ð{):g'þvåùÞòOµ¨8IÚÜUvú«=Pæ}ouµÇH«ýµhמ(ÂÉfÖÚ5¯gÉFºôZÏ€|üAG¼Y|ê>}äkGðø'00Aé9 ûÛþÉ_¸ú0òspôþ#Gï?JˆÿÀnùðï›7áÏ5oùÐMc<àÆÿíƒË{ëè×QZ¶ž»õ£ŸÞî]B{øÁ‡Þþ¯ßiþ\~µªíüÉ?þä{ÞõžþÇn÷C®ñÀvÿd"Š ¨¿O¨8‚ìݲ>.ü^rÙ%@ú¹ø¦©§mŽÉÒØ¤Î°éÂn5ðÊÚ£÷ðí¿íØ™=ï{ÿÿú©;•ÕöퟸýÑÇå¯L”cWðü1ñi«6LåÑN2ƒuõúÈêQ†l€vªZF[¨‹çÅ0‹q,ŒøŸ ¬ëâ?*ŒjLõË4áóíïõŸ]é_J@oê—–è_®m;°…júââe±Òk/ãÎg_˜~[|ŠaÝ¢‚U_ud% -ÈŸÆ„¨_Ja¶·ÔNܰë×ÇÕU©íï²n 3.GJÃ`6€¦âÏ8ü'ô©PÃ3yD|)æ’®Ž0”ÔR"”•ü/j¾·”¾³öûTûw”f)È8ïsG`N,fŒ`íD¥ ®ÿ£™ˆo2Øè4q´+Ž ½<-âˆî’ðãZ-Ù-Y`ñõÀg¬4ן àA\´ád :©ÂUY¸ÒÉ㸓¯†ˆ;i¡iAßœ ØÙþK(ä‘WHŸŽgr>Ê»ŠìrNU‘mm¨&c æU¬ÿDësñqæã J’ z|Ëua¶³,Š¢Aá˜pA/§Ø$Æ”!ÛÉÙ¢lèF4^MËÊ«°˜\Ü-uˆ†ßàg†) 4B›­[ó¸HN·Ÿ-ímUäÒN_0’tøÆùÏÛ÷Sd-.±qõ Í«f[™ ²ZI˶ïÈza6Þ¡´I„¨)³•Í2¿¸6ýµ2e=̱Ú5BVå*CMùl¸˜L ~{Ò…-ôá+è+^É[Ñ8Œ#A]…s€Ù;S DK”¨h.¨¼ .¯_Ö¬~Þë'TÒ×?û«…q§ó9µ‡á–fºDŸã!ÞY53’\ߤ²Ðô’uÃìV!)áíÓÍ -×9q¥ê lC·Ä޲V)Ý_È…ŽSC@1ž¸–˜ƒÁEä¿À¯2m«…ÊÁ›Ñ̛Һ*Çðpâ¢2*[ÒÓs† S=xôªŸ»¶@úá{€ Øgdñÿò*QmÇøªøÉ~ŽAêôN‡xÊDÐn÷}ý>Ø^ý%›;ö|¼Â>Ɔzå–+$GØ?^bÁ4L;tMù¤×¼õÊ»¾péÔ_y¾%>Á»¦Ò dãJJ…@6¾" ûo:h¨ÿÛ§î¸ëý⺻¾ðg˯V–·Ø`–ú¾¶|AD)UGµãPÐRc@ ËÆe"iþäÓS*´Á*z6Éo—÷ò*ÔóÄÁt|Ô\¯É-¬,ºTWå}ÆŽVøUâÀÖ®úGÛ×el(é8RL´Æ®_+¶ËL¶è¤í| ,¼ ’iõº›Ã„#ñºæâ9M1f˜ÙŸÅøP’ŠÚÑ]QU= y®êƒМ+¿²‰xbEþHGÃ>{L/\¶3œûŽ,òÇà¨Üì™Y .$”le6X’cý‚½Œ@ÂtÐj)½{oÂ[ D¨¿­šO<Àf6hbFñH]­Dµ¬€¡é¤˜wîÔ†4á‚ì(ÊXõI䔹¡ÆJIˆj42æ3ä\A­1IͰQµïÊK°×ÌN`¹Ð¹æ ŠÍÎu¥‚`Ó¶#:¯†®ÁÁ£>Y9'̧gh®^;¬À±è`F>t/0ø<þ­GÍñ^´¼D|ˆäÞ+ßðsc'<öÀ‘Ýç.í\'ww¦2“̶k@ÇöÜò»·Ìù73ØÿÓ¨bßò¡Û}¬Â„ J°L0ÈT9æyþø Sÿ·\£ ŸþÞKö’oÿÃãÛÝ*³¬‚$²š[MSßj+#\ªû¿øÅ/nw¡É<àÑ¿ÄüÉs,#0î«lÊQ*mÂü »Ñ:—v5±ÊÞH[ð=gp*Éꅎ㘨=i 4£Ðb’¢õ1“vNÓ&A¡Ë¥ [YÚÖ\Œ¿D ¶Àü(Y˜L'LÜ\IW޶a–ÛDµDâ—fy ¦F¯Ší,ÓQõ¢6韔ýÏ£ [V5  ¿!ú[ž êˆ'Qwf¸Þˆµ‹Œqœ-\) b\ÛÇmȤ?3‡¿â†™\NYg -¯‚â?]¡&·’M@@X½rtÞ±ØdÊ .Æc‰ús‡aŽP Üûçe§À^[ Ò¼ÁSwý' ûÒ~Ý,þ#'`uUú Ä™{e`þ:MpÌråRmÇ´ˆ Q‰U ëŽ;ŽY–ƒ<ÀTfµ@àïj _£«;BkÃD&Ô1{NÉþŒ5m‚§ Èþâ#•ý ÜùÿîcÜQÝÓ€úOží•·æŽæi¾£ƒ@ý?ôÁöøÕO\ àþ£÷s5AzÀ»Þõsdš”`>ä©'u­ €©»óRåbú¯¥=ÓyÒ%?{韺¶ÐïPÄk´Á5¨)mÐÃæb<Ü…QÚ °`7)ŸF5X½\šüݱG8>v̸å?Üü¡›ÿËÿõé×üÌ…?|⩱oþüw~¶T\×#óz -ÔÐÐDƒÛÁeŠ„Fg–¸mh4tã¸J#›ƒTÀ«Ð«QJ ɦ†’|Õ„MVÏqÓÏ“¡ï“u àèËÒë‹9L/­1°à™Ø„t~5"‹´ ¢ç°TW Ø$¼æÍ$M;väàÁC—ÿ˃+?~þÜuîÙñF?wP$Y[[9xåÁ¥]*ƒƒè…øæ7ÿ:E£Î™zF˜9–´í®õÛ«ýkßrøß}˜ØéœHòK’,!_Ô}rh³ÌP=™”“FèïÚI¶r:ýëÿ§×ƒJÊNà½{÷þÆ¿ûþÇòï\¶ÃȦ¨ãí\-ßxÅ…Ëo‰Î–:TFÚ´Âyî\öú9å]ó?£MIrÁtEú×¿ç Ø¸U {á}ãUàÓ±ûŽzëA¶Žõ×ve mWÍöŸÕ×éEàžÑHU*ÀÉ¢•Àå=ËíWQuõ¬í“êÛM¿·¶ò_ÿìÎkßrÈ%tá…&Zÿß÷·ÀÕ9ÁpSUsô¸ŽTQ¥Úf©Ô’G’iÖ—›áâ§p{èе°FöÖ­«õ{iûÝÏŠÒ½'G$ÕI‡,±©šáœ%`›šIåÀìU3L.‘¬ÙÌQk 5Éñ,ÑC†iZšì0J¡·à ”=S¦“Id ­•§y9ÓÌóDJÎ[‚µ¦¥+gšöYB@­:Ûï˜ j¬÷ËÁÄ~cßZœ®€<êSÁè~_óSí‡1bQµ*ï¢É(€°¡Œb' Š(!úUb0Gà*q»¦"2‚0¶rs˜ù WÈRGV#²ˆ–1^Rùüøš ÂàK[0Î…ã:ŒW¬Ñ’UÚˆ%›×ð´¹à1¥ ÝÎ|6ÇA/‚]`”3|-Çp-Y!Êd±}³#JzZ”®žŽ*ÄSL*ÍEvb˜®ÃAD4 #Ì!SåÞÉùF*·;¿¬à¦É¾ÇÔ_Àº´±{Òð»—‚â[#õÞÔ]pý¨3…b/¿êØ|óá}ûî4;/{ýÇ;zß=“¿í¢R;ÊUtï×ïiíö}ï ¢kÞú¶{¿6]ø‰Âá[Ú}õ[ÚßÞò»ï›ú«:©ÆøéÏÁöÝïø…w½]9¶Ã…wë>¿Ð(éÃ1׿÷Ýêø:<˯qŸ 4Ð_ø:tðmoSwÒ>ùCsžfk'wŽ}ðȽ1y¡êÒo·|øûÏ£GèuDŠÆ<Àne½+@SX¹A&×™Œí³8}3U(DÕæ b²åÈá4‰§÷Œp™ºíÂà3?£K -Ne5Î6uuŠ(Áâ—Þ8@]wé;’ùtêY‡I7l!Õ~Mu'Ä¡y€Šé¨Z_ÏUo¡B'@üO5^¯~Œ[ <¼1r„¢·R´Ã‡iq]èW)­†â -Rìòt};ÂÌÓHOèŸÌLš†°&Š>€¸z…*¢LGÓÞõÐüS“1œç1=e á± °c«…vL!¯Ò“)>³G‡ ñßLÛ¢A`± ©R¡ûÃ1àø‡²¬¹¢ŠÙ— çØXÞZâÈ -Eëù¹8ÀJ«Ž}YU±b—ïjY ‰Ð¶Fœ›è¸,Þ`ûRÂ77é!¸²m½a <¦þ,âÑcæþ|`'Ê«_T3Úõ§zì¡WÁ|=öÿ~4ó'° ~zÿ=_þÒ¾}û'Gâ4ÔŸ;À®¹æ0ÿÙÜY2P7@ü÷gÎÀ®}ë!;ëéËýåwR<è½÷Þ{ú~èƒ%¨`[±fpÝõ7¿ëí÷ßuçÇO*x¡éi¡½ïFÀ¹<€;+Ïî2ìÒj4›Lú¥ÿ6F÷|ËÁ;ÿäN±M»÷ëGî ê?• °/B€— O¢ú[¹ŸVãÍuKq*­—³ŸŒê†iÔ±fLc?·›"ãÛ "……Ôf² -4X:šä´õC‘–q0·[ßÖäààøúÆ\`¬°m@òúµÂ3T±²ºúXØk¸caá €y@Õ l ]ÃdëõŠÄ+Q48Mc’ -J@š+Ñ^t¯Êz0ަMÇHÍ™T˜–E¬0‘¶s-ÖTôo倢ؖ«[u'ÜF´v戩J”䆻Hv,“½k”g&;™¾5àÑý9Ÿ«,‘¬,–$r¤þ }e¿%L -Ë‘úcIÅQå9ŒgXÖKƒ²°£‹kµCv¯°Ì˜c[c°¨|Š˜B®ŠÆ1ßJ­ÒÏ?0 ®Kµý|B‡á¢(Ù€ãå,û;®ÌHªÖݪæ(ÈC*Â.Òê{;vl\âÒîü‹Ë.·¿ºwk×¾å0| ÃÜVûýæüé¬ÿåÏßzÈ(˜õë Â3€ß~ë+9·O~ês¦ÿ¥¯Üœ}ð€_ýÅçù‰7mÚ7þñ;ïü7ï59rÌtö_°kòxÐì?¹2šZ=¯C`¼6pÅåW=òØCtN™$:6¡¦<¢¨#ÊÜ »LÅéògëÀ$Tá‚=jå}–¢úÄBžä+†¬ç:ç”—Ò0°Ï¼&Žöd’#èôµèÎ]%þÛÔ1ôIB?Œ&r0ØPcûMøïUÕŽi¤Nê¨ z¹$y™#ú/îÝ·ÿgÊRç cç½QŸ¡÷±ÒËB½ aê[øxf@à‚Á#ùZ­9MwÖ:6°$•ÎqÅÈóƒ4‰©‚©æ×"þaàà˜i.çZ¹)8Íæ*d™ËzX˜×J†å¯í˜N‚¤éÔ´Ó]úíp„—©å¨€Ðä.tR –3D8 ¢‰5mYÃWŽô,ðý8Mqf0Í Ë¼_8.äòtí—OPž°eÈ_$qr–b6§.Baך)¾ó½'ïúüí׿÷CÐïv; ‹ sh4ÿÎwŽ_{õ¡+Þ„Ê e«'Vzø¶89ÃamØ,Óœ_híXH,°ÂÕ~ Û°‹]a$Y÷z+¡·‡÷' &ƒ„Õï÷9¶ú¶OÜšle÷»¸ûkwW"fæÄwÜq͵×ð¯Íîöj{i×l}ßWõÂh!-¿zyÆóù Ë{P*ïœúØã͹¶¯áš“~Rwêœ àû˜Òÿöè¾ ß0èá>çŸÜþþ·½õÝ÷?pT°9«®ÑÑ…2ˆ#Ð?ÙdòRÅWbµƒó)I7l¡±n¢aâK·5ÂøçK‰2½êq¡Þ!?G (zÑrÇÚÏ%UFˆ*âWTg§’ã,Ébyµq–òšp}Wë¨9ÑyŸ„ΚÏáE£€EqŸõPG©“`…6auª€„ìÀƒz‚uSëJàn%|0 qt¶Âãåkb»Q¹3Xè Š‘~Úå›l%‚Ôˆ½»Ï?ÿ¢‹–^}N2èÆëk°=GÒ¿??)Zg/‡l…y?tº‰ÄjÔTE =Kb~m†îBFÑeuÆÏ¶"fq®=-,H¦‚çzX$·´2+=Ò·Ô"ΰãôídqÁ0 X½†a÷½l"%Rí±ü…¥ròäX-­ÔÄ„U£@Õ…>Cþ -Ê€ËÁkÃ$=ÏcØg]SÃ:Mi -œ¨¾&õXÉøÚ¶®=L49f"ëÅ„ÒjåÜ32eYÃBÛMªC`Bîˆ|Ë‚}¿UÐ+rFåiUîi`ta4ó-ŒàÄ*µ®º8>!9?̯Œpç®*ìE–ZSLMts†Ç4ðÓtÿèÕ‡î½ïÈ5W2—˜ò³jk5šÍX'Iš$[ã&”öZ{içÒÔþ36¶ì£Ÿ¦(ùßX[ÜùȽÇ^sïºö ØF@¶Ð} þÜ7™É“Í®Öwú–V}€ƒõé¸Lc-Úè…Ú b´1ãéUZŸf?ΨBåH &ðáÜ6M=.˜¨Oâ™ø×/I‰df`»º¤FK•E¡°Á}½¸bf*|l¸dÁö|M+*ƒC €¶ó”~D¦"ýú¼¥ Ï@)ÜÚ3ÙÆv_ N)‘…˜D¥ù3~2¼îâ}¯{l“ uà7xÃëÆ5\¦þª? Ür[h¨F½‚#Ÿ~;;©ÓÚá4Ãb¥ã' ~FÓÌÓ +«…å;×Ë¢(q)ŽÀ‡ŒTdù,êò›Ž,é)I žL m»—nU"[Ukf–U‹ý•UÅ·²mÕ[6Ís 3k\y²šº ¹î[–2ƒ»Ëze]Žùqxr…q”Ÿlˆ@ñMdGáÓa¡ÆKQ­PVàŽ -FÝÖ‚Çy0ƒá¹½A4M¨Ð1Æ_2ÕÖš„OªgTäjÍHŒ›vTýa²1²µÐõTˆ*(NÀ?¤­ÖäT•ͺÇe1¸Ž<€¡wÀ ò1ou2,ôFyÅCRêE¾ûä“,û Dúì4æÇiÜ~ìØÔý@÷û}…g¢ ýb³º¶Ú{¹ÓëϪsxäo¿Ÿ+Þ|ÙÔ³í_¦ô«í¢7ÝtÓÂ(SZ®%rZŠÝÞÓ-‡ŽüäþŸÆèœ ¹Š$ ^fLXwÝõåýÞgN*Ó2A93öYV ¨_LBkv‰qvô¾{Œ?ƶéÚ‘Ì\íå2¡Ï’JeŒœÐŸ¸V%*ŽE‘T-P ñT¥#õ,͘ƒk©\Lì Eí6Г0`ñ_)0ÓëžòÐK#¤VUÏð‰•§÷,ïã~fY8b[дQ‡-ú–d3`†QXeÛæ»*l~¦ßÚç% þïö¿ñ]E—}¢<Ñx ÁÉi}ÂŽçÊÀ@÷Y Z¬`¢â¿«Ï[pꔋ*ßJAügSw†<àšÈú¾WŒr, çI tE ŸÔ#jÄ™oLCs4CêÊB.c ë(JÔ"E2S¯¹¬ó _9¦›Ú¸@±¢PHªj©|_¨Ï‹©­Rk”®>›†»›K悎ˆ€íKx&Ír¡òlÑ “YQðü½Š&¨„©™>Ëþ ëfÞ èÒRWƒ’ý -Ÿà×D«A㜚b÷¹S““D*NWûÐ -Kötq ØÂZ`&Á¨¦q° ù0eÇlÎÁT$TJ]>ÞDˆ¡ ÈJÇãbñÈ¢´_ -4€g¾ÿäå ú'hÌ/_CÀµW—ÎahlÃñÓ·Å þ=‚¹To×Ùh%ߎôC»é}7í¹ë¿Ýµyÿͺù>mÄžºv<4Þ4 ûg$ý¦*ðÙ-¶Q³ù³»¾òJNån_“¤r˜+³iéTÜó¾e:›l!¹R®¹ú0|lŸ¼1÷£ÊX'Pu8ó)È.d -% «N†7QäÎ4®üeíš<Àh³Ä¦œ -H<~7á‹V AžÎ`O­‚<ŽöÄȺ²?S|„,c=ê@ÄUUû4¢‡ -çÔaƒÞwl0ÊJ§íê·€¾[ÀJÍ%ý¡ÿôw¿{`_(v eBÙŸæÏ$K–æ±ëì¤ßœ¡ ãѰ}Mƒ1 g±mŠÝäÛçšb¾“ô7ýæ,nW -ŒÏc ,6§&AÎʬǡH²"NÀ3t#ŽÓp^ª2¤€ÁY Y®Ööˆš­ôäŒR—b°Q4 -äò”q¨X ÁtDL!!dAÇÍ£õŒ_*¼r®JçXç!5ú WÅŠý²HcÎl¤ *Ž‘õÍ&ê¹ý~¯¹g©¿£Žè ¾¿¸®œèu¬Œŵ³Ñy¾çúÒóinÖIvÐ몘ò—ެô„s¢áÁÿûI%#8Ø‘5ΚàÀMk˜±Š$ÂÕŽ`–×3V @·• ƒ`“Ž;R–м6n^@z-•[‰G>E`2…z(‹DÖT¼PJúD§Š¹3åßúZá55å‘­ ùAŠ ˜=:„s\™`£‹& IDAT¬e:*´Í£Qa¢[sþW¾ú—¸tïÒž•‡ËáŽÆ¥ÿb<‰¿üÍz ø -C'Z#Iêª`Å¢úà-7½ ÓÒ9Êü}ðªk¾õP’Çëq´$ühûä²]Ñf‰¢ ¹Ù«'úwES4š†Ÿþ£_zÉ2¼úÏÜùGï}ï wß}OkgëàÏ<öÀ±Ýö±Ütýy{w ò.íA³LkÂÊÄô·nø¥OþñçôX©ýR ×\{…ïûQ¤“ó6Xìh¯v8ÓêWímï¿ñÖ½:ë*Ó~ŽÞZï_]{Å%.Ñ×*ÀM}'çï©Ø‹@x¢°o L´R³¹«}â8]=¬ÐUSÁ¦ÀV”\ñ¦7@'Gø£LïߪFc®G”k‹«¢pÃÏ+¥‡x%äÆÃ3+é0GWAZÃÈf‚„ËhLh¶ÔhöK²+pMiŒÜeè*‘øÈq<¿&[)¬04²²L”† WPâ…A+º ¤0¼h¼è}Å×Ñd¹Ñ$eá`ަEuYŒ<¡ .²Œк+Gpã{KÈ–q’„g³°{·˜lzÌ£AOº–@‰º1Òª³R5á»ÏÛ·¸÷¼¯;°x’餟 N­yä…4YÞp>Õ]m0™þÆ÷¢?ú |€Ž±èlS õ@ô¹.œŸK/.ˆR ZóØYZÀ ¯t‘Û÷6{pÚV«DZÌ·ÑJ^j3¾øýµ>tÏóòµHú.ðøÌ-5{½ˆ¡qûkm ýá|‹:p>äŸbð'j»y†.âÍð:)Ýq&L!2 ›ÎŠ33n8CËûz„e3=øHý®ç¤irjÌÈRРeئz–hþ0os_Y9™ „óÖpV‰ùÀ‚Y¸ºâaÓÅ2›ÄH ~Qèz¶sO†Êúä˜(Ká¸eõÀ’}”O8UXn\H_>T…‡5ê”8äún¨ÂÿN0œ”á}iB`9Ñ-3lº±êÌÈû-”_Ç8`5 »Íº”: ³ùÙŒÏu”øO?7R¦·™ ~\f†Ã,èï@¾.ã#/»ô -øØoðØßÞ»²²²¼<ÝüݘkÀglçÊ ÚsÅ\så•Wß6õ,íÐ[¯6ýw¼ã00<íÐ<€ùö~ÿ“Öï~‚ðšk¯¹Rhº¿]3 ·c…Í{þæ¾{¾z?t^µçìò«y5‡?yÇ”àÎHTµôëéiÁDHÍÚÙÚÉ£¥ 7aÁŽ#MimQ×>%tj¬¦{¹N)÷7ÕYŸ®‹wK)Ä -g-Ï«wÂþ3+y .äkù:cÉÙÉ'¥ôäÍø©Ö]?,† ®åæv5çLÙ™ú(`Eõ§5³~ÎáQœºÚôjß@4DóÆÀ`Ý›f9«½z §Ÿ@ý÷œáÑÐï¼HmRb8ãlûÆ÷Pn6¤ÿ )Ä `¼…öÔ÷Å…¯ÅêÒÝžXžE¢¤ÿkÅÊótÇ’ýíÖ'Å™™ -¬ÒX—Ù“V<µÂcÊ\‡jWò6<ÆÖ0‘JÝz¬x–Lëa$Š$,}ŠèŸñ‚)µ¨VûâârÇŠ‘7–Ž `œr•o¥S ,q¡m8€P×–žªÙS ã TX‡,1”\Jã*z|…!K(PÿæLÌœ·îö‰u™1KZÏnˆþvÔqïòü|H?0€±¯ÖuQ Ð*↡þB(ãS û{–p+„ÿA䢯:±ètES‹PË»E»‡oey§c²y!VõK’ F´V]FÔÊb“kã¶t𸩠EmùI€°å'¬ºø,§ -;Š©¾f¢^é],²jH1®¤ 0 oŽ ní¼ Ë®Ç⿾Ã3ÛL3K¥n<¶ÑfìâR«Ó®`=º¨íZÑ«ªfEYŒž·¬ (=ªˆÿe«“uÑzfš>f å èêf¨ã’Îç*†²®ÿ†ýPåÖ„µJ¥å3drï…•õ=òZ:ÿJ#ß ¡#X=ŒHW % ͅż‡M@Èf€úg*'ê¹ßfc 4€ÅÅéä¨ÿ¤øo7à ;þÿ’þ/¹$y§ÑENߦRÔSEÐ}îϾú¹??òoåпýÕ·Ù‚ÿÞm”€®6a_ L¦‰]yÅÆö%dpf¸Ùr¦ˆš”´“ŸNËõ§ƒübÀZGSpèä6›ô²|\Ma½Ç#T’tT9è¾§%Wgû¼-¡ËòO/l+]hFÓ9ºu ´ ˆ–iÑúºçMw\𘜆ú¸â Ð7ÙÄêQœ½a.€ÞFÒšãNÚ«IˆlaÚ²¡†Q%· Ê’Cá$¸Íuøæ<Æ‹¶Óž¤|ôTD™¿‘ÁÒVÊšàŠhEŽeÞÂm8‰Qán*#9ò@Z—žz>áiÐٱβbp–¦%†xDHSP%¦‚ˆDEOŽî³œTy¶Ào¦[ƒ (`+ ¯îz•‚-˜¹Ê>®œ¥ -âÁgr6Î0¬±²¿ÛN]k’÷(àÎ0' F,r¸4˜Áœ;èÆhk+e [K€z&$tc5Œ­œc4›ÉËxym’rµZ€UD’,˜+¥¶‘N €ýœ˜Åy"ˆ__aú^Ø?…ìÑHŒ:ÅÜ‘xp)èƒw°" ú]éø888”«={ˆˆã…fÐéG§.gXŽF9¯òQ'9L-Gàë@§·0€©:_†ML5Ä€Ì 'Š÷»„‚,jXÆJõG§4£JÓ œ\t_ê<úÍc0&Õ•EmÂnSÑÝGÿž޼ë"0ô‘•x#Y:{iœúçJÎêB/\³Ùtaö4£8ÂX ºè­¶ù›á÷œûÓÉ+?–¥)èÿoüÈ_þå_®žÀ»{ï¿ÏŸSµ¿ýðáw†sÄHì³9ÇYßD¶ÒˆP]=D]AÈ-ŠØE8î–PÕá¹P‘¿êÍ—Ñ­ª‹Þpãmý÷ ó|äÓO<»ò§Ÿ(ÓÍÞñ–Ë¿ú×_’̵òaOÖ[i²âû=“Ç$†‰ZPBÁŒRt‹·b nù§ZÕ)ù€¶ s(ã_ÿë×ßúû·^ŽÞ÷ï®Ï»~M ˆ×N¼°vÕ›¯:ðÚ}ÿùO>ÉÅ`?Š@WõH·NüYPF:èVwÆó¡3°†‹1B–dpÌH出ìM…™“cÚ­_o)¤@û5× -壺ÀàYƒ^@Q:5—Á‰tÔÄŠñÕj¶î‹Ø…šxãºÐk¿ôëQZÈt3óPä/G,‰45¯y&ÿ&#ÎOÊ6i’¸ÚãIaTD$#¬ùƒé [[œòÜ7D•œ‘ª)†Í¢c쿹äoÜóê%ßvS©×4éfñš“w”…DŠñQ¦0Ú&_¶*D•ê,zpæÎØXd*V2&Ç{¿u4ôaâKJâ/$~G¢OÇŸÁ´¡¡¡…•vßòÎb˜³o¶^XJôð²ÏÛ”'Íγí@÷È €èŽÇ¸42ÚC(ægÙAáÀP#z{TªBŸy<­˜c"½:Í^Ì6v®ŸZœê6v¨˜¬4‚µ¶‰éRžt au^ÔŒB² Ê6а®(8[ëI­fX)*‹ ËJ`áÌR?a*é‡-uQ!F“ -‚?8ºU¶26Íá=eYCƒN-<ƒÁºªž' â–.¾ÓÌœSÙÓB׫¡Š%™Wµu*ÛŽFï@sQ ¡¡©Çè[Šâ»ŽÑ„Ôh°/Žv<ù½ï|á/Ä/ÿÒšÎZ{Ñr¨>öùà±,âWÞÂÙ?ÁôÓíÚ_ýÕ_ýâ/þâyç÷‡Ÿúñ¯€Ø2õ¤Á³"#pd£¸ ï,ë w\š3õ¿Qÿ{¾öÈÎ÷«Ð—ûÅÏùâŸùìg>ÎÇþWÅo—?ê<>žV9o‰î$ÜŽîsKÆË’ˆ?sÉ5§²£_¿ÏÞyì¾co¼ä·Þö‘ëó·xÏC‹l¨?lïüÜÌ‘¡[Žê$Tƒñ‘ÚÍ”—`¢<ÌQ¥ú -=ÛY)qg ;`¬B­ ãAÊ •”÷U÷?‰“ö‰Uìd%z_P÷Ã…ÅlS-À4V|Xà±^Ë_Õmç­jóùºÛði‚õºf~Fá°D›…§ @[¾èbªw¿fyÏkJ3꣤Ï>³¨÷4öG µžtê)P[Y‚4Œ5&ñfÕ"'y>ÅÒT@dúë -Éy@Š$H -,ȤÀ[_ úa=qGåBUa'iz ÉÜu"¤2:úÈëM–I ²8Α”¨x¶¬¡½щÙI¨g(u%M°½ØÐ}f°¾Êg†z#‰œ qÃ5Ô¢,EǬÖ>]Í-$c”±ÒG§eð ·79¿c'oÝ[g—Ðcl9·QÉ'ЃŽé”¾ÂÊÂ53îó¦Ú^úÉõšón¿.tfå.ÚJk?ê`þé¡|pãfgöÅ+ÁuXûÁŠ-RÄéIýf3‹"8>0ø­&8ƒë¶æVˇ¥ù+U!ëqÇlÉo¬ _dô—<¶ÆI€…¶õ¤ruÒ?ð€[>üëoxŸ¡þÜa €g¦ 4¡ÔÖüÎÔ\4½²Êd»ë³Ÿ¹î½7Ø{€øs¯Èž:¥;©Ä•‘u„[Z¢ õºÔßì?ùc¤M{^µtâdû½7Ü,># ¸çoÊ@X.3ÀÍÀXŠ ©_no 7íÉ'¿ãößô1Æ"}‹·wþé~Ï/ÿP`ðyü;O²øo7D=«É2—K™–´{¨¥Ü|¢Ø·Â଻Ì`ªYbÄLí_ šµRÍápÈl Ðõ·•Òà7h]Ó'?y0úøìúŽ7ÇY`ÿyeRužh©FžóÃͤîlèÉgBm»D<Ó¸xc±@ú—¼;ç½ÊìL“žéÚ¢åù yښƟ:“2Nšð¬¸rêÝÉxpÌãGÒJL°X*„fà,˜äøÏ€Ð‹ÿ@ý¡E‰Ée’'@$M˜3‘õ÷ÈÎËï“ÑL:ÙûÆY—y¶€ÆŸò)4`Ó(VL$IŒQjÔõ‹a„ >-ß¿ï*„ ›Êð€€ìÏâÿIñ¢ñ$Iß̘š¨ÂrsÉP›A À~)úhÊ2þm½4Èopu(ˆJ€šAlL^¢šÛiÆ_¦WÑ;Ø+».ÎüI93¢Šÿ -³­¦¢}i‚Ž®Ùdì'ìT`fÀØ@ÊÀ#FT^Q2ú³‡@iuÉ•˜¬›À´ÎKH0õ !ÌR÷Ì©N•fËþþÃÃÛö®w~×—éî3 }æÎéiY†LwBæ‘p"!Õpýw ñ>ü䔃uƒ¾|ø~P¿­di²ÂV <xrÜœ™¡û_ýŒ xÀ…?3ÎL»äÒËXøè­˜<•ú£ò3RkÔ [d`ç»Ø-#xÊNQ’ Ex‚\ÔÒ^1&pL6ö'儿ƒ' -µéï­v`› VðÐ:¯J4súî7K§ý‚_Jú%Ø?¬Ö¢¼3|´Zs|XX -“ÍUØG(7²æâîÖÙ{p{V @_¬díYÒ·x@×tÐT+•e»>*,]‚ Õ€õÑïMZ6ôL}+ š—šþ=T®%9©ØVጒУ°Öè[ÏŸUšR--s¾AÙd^NÞ®%‚‘+ž—p6´YÄ‚@'xM„¤EÄ~ë´ cÔ°\©Az±Æk–aƒß¿´bi(‰®Ã¦îaè±Ät°Øò-EÔœ+ùsê [›´áì!ÄÐu E¢Á@„?‹€'?øþÓóäîöç‚|¸ÞiG˯mŠºªk*ƒ‚ ãé8ÅG++CRúžÃƒÆå$™IÝïo$&’ Tf¬îAÅHåŒd3WÆfTé'yú~”$¹¹h“|ã[ú*„†iôÐ$I¹H}†<9orÁµ$5 -&0:*K™RäÕ2(réÏûX -XŠa>°&îùž§ùJôhá¶Ãê- -޼®Hk˜÷€ö"—•BÖ‘Û›ek‰ºx™&ÀêÀEwÖºœœ)ÐÝzüøÓÿÄaBl·T“–$bE‰mÓ@#>¬rŠ|0r{¾•ô­|‚þ©gVž]=pÆé<ƒ¡1Üù'ŸYþ©?øô[Uã-9àðÛO¥þ¹@š+k¦Ñ£ÂÛtSP¤k4… FáODÖc­«9·þ7}äÁ.jž© Í–@Ö½tá ~_­½ãoû¹7ï¿û+G`TÔEPî®îš…€‹ó4YÈS⣶¯Òã¢,ñdP&úùK+?îì¿èâ®´?öáÜõù²,Z:ÂQêŸ#÷ùí÷)°T˜–¼6w$ɤãûõTG”&=·„Ê®‘,ú_Ô*hµÂ -óÙÚ|ËÌ7s<›P¢GÙ ã³Ø™NuÍhìh¤å|F²V÷‚&N¯ÖêÔ G`s4 £Ìm˜9u•å }›èû"Èò$%k&ÊÔµUÇ.x¥×o‚’SËLK?(«MšÂ™ç_xÀ ç[ Í…¸%-“}<…´’ˆvà‹Î‹Hús‡"—Ȥ旸aùtÕ%MñYÑ[w[ój‘!þ³š°üa¡´iU¥/5®oáKÑOq‘G©Ï<ï#Í|+U…¾Îø@ÙÓ­Ø› õ7P6ÓZ4¡y,xN0v` A8Ý\îh ŒÐn~¨ÅüЬZhaèEUŒ¾°ALh°­âî@)b0Htd²I¤_7 þfxr¥ã*±¸FY–`…R(;Lèp¦ûN]qbN7Cç0Zl¦þÿ@f®òù֪ToàdZ09·¦quéN·D$Ч?KŸ -zv$išÄY“Jƒ&›){ŒIuÈBŸU†ù:þ‡t ¼£S©O8g|¤øªü¡¾„ñ ªïÊÚñªÂCdÃaeØh½t&ì¶ß™¬:§~(•º€[:fßçßó7G¿ú•OtêXÜöñ[nûD pŸmJ¦þÛµ[~÷wnùð-·ÿ§ÛÕßzá|àØ.Ä“AîžÆ…,4 æ'ƒ¼á·Uœe81ÕÓª"»¸«t>ï|;¦FÓ¤~¦ÂúÒg€šlúèíð‰O›gÿÙË/¿á·ßÏýG)Ëvb¹i --CöK’;H ƲŸt#ˆºö Ê ÏÒÔµ,¶èœ«êÍxc@=ÉÆx|ºÚÃBí)$Ž@÷Í·‹Khg‹Ö£p> fÑL6Ñ`÷ÀÙ^{%³,¥ä+ ÊYË3SÿÊõÀ0±þR¢“ÇÚÞ}ö½îógïEÔkÏ»õ§ç–™bÇÿéx£ÙØýêÝ+¿}b¥EÔcñœæLxÃÀÍ­¨­m•dK&ž’xGÞ / QˆQ¿×?7³d–ýL ´£nÕ­l%À˜ ˆ*é7}»ð)“Ýp–?r‰ëÄÛé+U§ú ®ágC;dFH é7× -O‹m=FúrFkt*wÔIRz©:2ÏFVöƒºî íÞƒwιÀxge®= lÀò3hλ QFÐ’XQÓ\Ü£­76Š‹$sð‡€˜ìB:êy©þ-óƒu#HÒ'ñ½@|Avï¯GþŒ ×êw#æÂ‚V*¼Ðþ&vMQÇ‚ÔÉ6ÔVŠ”Î?2M\±j?&%‚¨2mgl -SCŠí þ9Ûþ÷¼òƒúç#ÌDNP%“xÀ;Þ}u¿o5Ïz)U­³ŠF þ °üŸV™ÞÿÇÜÛÀÈqÝw‚¯»ºjª§¦›UìasZ3ªEŠÔH”Ê’¹–­Ø–íUìX¹|ÝAØÄ9ÞÝCn÷rÀ]°‡],68`ƒìl.ØÅX\Î9v7ή½¶yN”h%ËÇHÖX --š©Ç3êasšUìžšª©êê¾ÿÇ«W¯çC’=àž -¥bOwuuÕ{¿ÿ÷ïOŒfE÷Õ$= ÜðpM½åƒúí/¾ôò×¾.å«§¹GºàÜ -™Õ35Ê]¼JƒƒXòqëT!>@r~¬u¿b^R-׋-S›óÎá4X7*ËJ F™¼â^åœwr*̰ñh¢Ôÿ™Nˆè¦e:¶L´sœº°ȺHoî²úàpæåHtj‡°~1…{žó¸§Ú+/cNÅôUCðŒPq‘=kôËo¤š@د½uuùYÉÅÐñß|å™_~N?gÍ•W’ Øìƒî¿ù£N‰¾cPÿ÷mG°úû×.]yì‚ì˜Tùýÿ½«NÔñ•2ew¶Ä æ•VöªYHðèTÅš&ª§´em¡Âc©ÓmDA4ªFÛ¼GLèÆÚ:¨íüX¹º™Ž”®6!ƒXlçA?I|RFlµâ¤£‚…6N†°¯ÚÍ(•;®e ÑEÌ9½nž·Û´À˜C³ bÅ”™ÓòìD:è­$ -á{1?Ò¤jdí»ÊGå˜BR®GÇd°¸|†³?“q}þX-#÷w{eŲpÝîÆœ]¯IõÄi¶ü®‹wÐ!=¥Z1Â)Þ±~˜’ ×Ë&yŒÁ™jÏBºqÜ¡¯(Xýh¡ÙI¦j÷ì#Ru7ú­ãîqÞw - Åí6> î»Ê…|Y)÷œM§Ñî}|L%ÌåÜ8êô·c]t9\}B± ‡r¾ÓQ¹ÂM«Y·å¦oüÙ’@Þ:< ØB\åÀn~NM¶9k éEÓ"mY#Sa«\4>RåÔ -Z/Á7ÂaäÔ¨ŒqV¾ÞMØÝÄéþ¶_TO`VF\¦JÅ2é -‰ÐвfÌd7u—ßéüÐÎó¸‰2ɨjÙc@‰{n”ªFT$|ó ÓkB|d€øƒŠÍ¿ý]xñß~Ù¶ÕóÊ>ýyL|üüc¿ñë_„‡Ç_û÷jW(ó˜b&цÃÖ©Ðý±/ÌʺÜ$øÏªQÝmÞút,ëoðWovA½mÞC“¡ï{Kíêl½š«ä[}Ébvêä)ÃñŠòC¨ jÆ~yVœwCLG¡ë±M#ÞD…ÞMŸ3e8 ñ–ƒ㸊)À2ÈûoÒúDZ|vÐ'‰­ùÄ+UÊÉÿxÀ53inª:“‰ì¨å¸ î¬ÇHßV’ -:úSŒ[£³a”)/“®Ê -N±ÑbÅvɥЗX7æÍF¶^¿×@Š4Ç¡­×ÿêåÞ5d |éë²òØã¿ôw~ãÊk¯nt®ž»ðä¯üר?ÎÎKÀþÙ?ùÒùó+ïýîõ+¯ã~ßš {·Í㸶g-kÛF~üö;ç>zvÐíºž÷Ò_¼Œ„;ß`þ`ykO ÚÝûåêzþÕAc.ëogR8ÝŸIß`¸1¤ú¯Ú,ÎK&‚¿¾æÝ IDAT:3‚ýçèDQ‰‘èeîÜ,N2d·Žf”±vÐß‘¨Þ€“Rººb›é°µÉ€v» 6fŸDºôŠÒdÃMù:€þÉÕxÐ÷ˆ:8Þ YÎÃÖl5;o!"ƒ €}i\®še›Ð3´)à ö^Íæ")1=Â`à¸SõD?À9?µ#ó° ÃíF³.~°qæáÅšçÕº5/ÀŒêõ¹º[sƒ!öŸ²g«!\! €q’8ÕZ!én”$Í–LòuHHt×üÖ²'´ S¬ éæbqaz2C<?|á‹£Xý©uO‘«å ©u«ŸGW°tŠ˜yjزåoõïôG¥ùá p„ZÀmŠ…Ÿžoe:Ibp7qjSw~€rÍ)ZW®{ˆŠ'Œ²Ð¥dÄV$ò¬P‹3Rõ~y`TÀ*•ÊPfáÈžjç-´•Ë tÿæ²ã1Ã;ÅÏM4Àž}õ'lŒÝ½În¡ Ïà Hމü˜q‹¿|ñ•AŒs ,€ýå —)Yº÷¯ŠÓ Ôùl74m;ÝWó£I€Ë7:©6OVV$Ä\¹råõ\Š\¿qýÊ‚3µ»^O1½ŠUuÌY§š?.Ò¦óLeTþ4-£RÕc¹€þ\3LŠnªV j:ÙóŒùpÜΈ†]e…ÄÊ[e0n€¼@10Šè£WGê‰ì‚g¢`P‹L³Z‹¬Ý5õÊSŸG×â͓Ô¼§+dÀ£þÈ'~ögùŸ ¾öÇÿêõK/ƒð…ÿ£, `ƒƒS+çúƒú/Hœ}tÉ´ö‚ú¿ç•Êõ›Åƒ\:¾Wšõ·Ùœ!Ðù¬zUuÍ9ÆÍa0mpø·{JMfÜG5?÷¯ ©77`°I€ÿ -b€ƒc€þ ÔBí\Aì@|A.@xœÍfvPÿúÁ(Ôÿ0lÝ‹¾Ä€ù û+ŸÆZFŒ©Ù\£€2 £`L¦{Øôèà>«ÿú©wû ®þ@J¾•'Îî°Õºbz° öYQO ·}26åÒ›+­¾DqŽÃ¼ѰªUtøÈ/,ô"¦xƒàcu°÷üùh.Ô›‹5ÐýçµÞFl€õP¯¹µabÀ¨ÄÍ~N\憘}±Vè°ñvt@ÿÚ³û#éâpê¶5C¹¦c¦7'W2zl -»Å’„éŒè¸¬öUbšI¨F=Ù•T©‚R{‘05B7Òf ?Õ˜WLYê?€=¿Ô|võ°ú_t9Í-É™ŠÔ³S¦ÌTú¼‡cH€‘q~]2-–ß+ Æ'žzâÝ­ãpðÄOW2àÙŸûy!~]eOÀA9u -§!¢¨šé!i6‚Ôÿç_]íÜì4x¾g|áï#Ê_¡b:PÿßüÞ+ø"A?ˆý -ýa<ý™‡Ô±ïOu÷£¿@Ù:›·âƒ¢±²Ö+2c´QÉkcù¸|x'ÐÏ*%Ma¨ª5/‰ƒVÚhÆÚŽh:"HÜj­I÷WÌ/¶áAÄqTuj 1Z9ÛxÍmNòG˜$±I©>þžã5àÚž¼#õh„d®ö‘FcòèB»Þõ£m~i)žD ÙIÅ H˜×I,˜a²sWd0@òç1rϲ›(^”¥ƒnà4šÑhm”äîŒrZ©ˆh„¹ˆÖJJXcâ•&ØÂB£}R·œ --À›÷Z÷æÒã"qü7>.!Û®j1ˆ/ùpçô÷«c5}Üé äw»^­Õ]ÇÙP;8Øõ†v‘æß©äœPUH÷V׶Ο:y"³ë³öbJC©e˜Õ,²QlY™ã,YÖz{ƒT™¼/ž «æl ã˜$\Ùðy—®ûåýénö93½ße+ ŇèÛ5¤½¡A2Žë³fó˜*¸ËªÂÅ@p7KÃ$ŸKÿÖp0”+R@é>Š­ìYv7{F®¥”ƒìܺíW« ág;o­Ã¢C\<’1˜æ[¸CZÒxG][bÒ_Yy:Ò wcŽZ9I )GÒi$g”¦‘Ð!†¦*â+ÿæ_ÃÆ/»^1g¿˜3{õPþ䇑6î¥^°±arä÷óÌ´ò8ÆÖXD™©|ywûSBÝvß|ë?ùêŸÂáâ=ó.`?œ'_yòq:øá5³üÔg?×"¢ù…ãM>àñÇ_ýÆ7.æ<¬%äv” Wœ‡SV;woÐÊÒýþÕb]ÄQìsÁx¬/#—¤"g/6‹Žr… ÚSxÖ*Y "ØY‡;XBÈ6Y*ÏL®<Ô9ÐŒè–bK€ª!DNèdbÇl[±×דk¿}¢]¯kzÛ¤t,ç\›«Íº¹Ž+{²Go+Æl!\Øn¡Œ©FÕÐ’ÙâÝ¢{ÚÂ1â‡øÑ•ðîÏÿgpÏãµî¥—VÏ>.­®õ›þC?åµÝz= "Š7wðœ¶Ö?òÊ+¯½¾z¥9_o«a’ë¬Ó=)–¾qP+8PÐësTŽÌkè )ˆ_ÃP±(t1÷$yµ@Q¥Ì€¼’A>ïõçër‹¯ˆ晨a”–5û.¼8G¼ÞZöœÂÎãܾŽoû}‹›#›yžbJé)`èIÇHþ‹•GRÑíQÝÁÍy“ýüÏïj˜ºö½öŽ–¤¥ù—u^¡ÉÙ³ítTÔ%Ì:·`ÿÆk˜¤µòðJñ~šF¯}ÿÇ~êÑ0Fü¸ü} ­œ^^¾ 68žs¡´<¨rXäî¬=-FÛ½ÝÝaAû%ós†áÀqêHF£u¼ŽÞQÕg(Æ j¡gÄ@}¶çí?ÅxR­Öª¦›ŒS·FQèa¿»’ПßÕ8V?ý0þÞx£Cœ#†Àp“_ê;×:ÒóÐß*ü¶ÆÁÂ]“Ü#ÈXœê&857þ]ÓnÝ×´g|úlpN{^Sc -L‹CÝ¿²‡ÖÛÂ=úïþqþQÙ˜¬ó£õJ¹rõò)J¹þÖUõ¶-‹\^Mã* 6€GÃ2“ahÌX WŠâ{ÿ7þÛ¯þ» z”À¾‹9 ¸ß%®ùk7$x5Žzú{Ñ}F>‚,‰ *#ÄEÍí|«Õ(Š,»È‹3fÌl7…=v+š³ýå©,³œqÓGЏpÖÐ$§ã2F!ñ VŸ«¡¼"– GªÞÃsßZ>µpïI¼ª<)¼{óÓ).žh/8”ɰ+À~P{W¢Êw²PÍÒ!NÔ²õþÚUÿÖÚkÿÏKgΞ¿zyþ ¸Ï¯_øØù0ŽO ºðÓíøN⇠t0,ÛëT€±ööÆó/Jôh 7š9ŽU”ú¿Gî3ÿóFW€„CVË -ê[êÆÙZA€ 8ÚÇYq{SCÞä“xÿ‰X†‹ål»êT‘³,T(¬A¦m7—ÛŒþpÐï®§q -2€³Ñ9Ýö\©ÁÙc*£/ËbÐýE£`óØ3@ èäQ€þ­ãî­þêë×:?,²§‚-M[·x8*_þëŽØÖ^×fåëU˜uqž_°ºúºžjÆ£¿Èý˜ûF’‡öTlo‚ìGÏh8Öjµæl5Þ³M Ì“Ë} TB´€ ®x° # TéüGZVþØÅa‚Á€WÇÙ F@{ñt÷Ýï~ã›hâ´`ÊŽ2Pÿ·ë 8."Kx* ëx‹‹äÜÓRu7oÉŒÿn‡…v)ëÉ;âÀ¦øÃ§b!Ú €Å¶*ó¹úƒGžþìâEØL¨üPŽ—â_x¢@R_›?¬z®ÓÝ êGÀZvü-ßš¸,ÇX±¡T@ÿ/þ*’¬­¾ñê¯<‡€þ¿ôsÏ}ûE¤[xæ³Ï^üæ×¶w“‡}ìÍ7^û¥_ýbL¬¨O}âã/þå§àã­¥ƒ E×l$) Uxî4wŽhI–[ˆV¿ø ?Û¯ü­_ù½ÿåä5ç…™/¼øÒä¦p·QÄy‰ö@õž929â8²Zåªþ(¥‰©X7&xy©)*pb‚ šºã˜ŽY €²UVt °©ÇRî@ózí—NŸSŠv øX¥0µNœz¾ßúPè˜N«•zþ£œóÓDɰj:Éî Mð‡´Ÿ«o¼¾öýái"¤ZZ^X_ÛôXÀ/Õ°8Õ%=tÿÎóO :š:@ÿÍ·×a¯ÐϨèDóû<ˆá°(×;À,‘ Ë³B±A(#€ Öýy¿Ÿ*\u’{A"rÆ•lœ/C£Í«0BßÇz¼2> ?ì‘f oßÖ³,àœf®ÌÂÌFÒi‡ûßdÎ:a¿—D6š~Púó§Ùp[Çüô¬GЍº£5ñx_ _5ÉT-"Ó"¹™Ð¹š»éDû ¾qÓÃÙ×$=¿{Ú€þ ö” ë Ñ?Áp)fèϬIä#‡ŸUO’luqÑnXµäì´m¹„X ¬®J}Œ€U$€ ÀsºE§Òý6úËÈ­»yz+¨2úõk©•  ÏÀ‚ðàBt¤M48 ßßhº[·}Ø«²0=©\§ÐÑËÔŽöJ €+œEÅä|V[ö¼=”›Ðÿµ7^]yèq@ÿ7¯^;àÆõkð:Ø`,,KEõÊ«í{^üË@¨ÏFÄ"“ewq*”ç Г¤ªtHpòËü‡—.½ÊÇñ¡×%GÿÎt¯ -[†kwxô40!ØÓú.TàÂP2e…ÍC@÷Göˆ,µX6§ã”É£hÝ&6q¯*¿é9èMjxȯ@iž82 j/tßÁ[×í\“ÍÝØc1Õ3y¨ûÖ'Ú"¯ØJØÕ2Z“aYñr2K]€`ÌØFÙèg10Ž}ÅWïL­8F°jN¼¸ü^ÿúX}åÊVÐÇË÷/r‚5ˆÞÖT®W…‰– sªœÒ³…¿¥ -VE<þˆ`å‘ ?EáÌ>);5¥ÎSjÿÄë Ýèhn;ØÒnb „sd Ý‘iÌØ`aÒt.@+]ˬ{ã]lú‡…£“‰àÒ»,sêõ‰¿ÞƆíÎNÕïöŠPUÅbŽìT®Ÿœmœ–Èø’ ±ãó„êcÓ,³ª®s¤Iê³=Êž³œ$Áˆz/ݳ\?²äÙ`Vºb4h-I ·gàN?Êä‰ý4Ê[\Ö#wÑÀÒnRÊt’+,FUËà/‚ý©‡ÑÞPÌ< -á~ÚÍæÂü±yÕNZäùÚWAA M¹ÙB]Xùû}%öãp`ii”Üõ68àrðô äNÅ;obú1³{mã Ã=ï“Váìh¼+s/½í¾/²•`ú½õµÎCœ0¸ˆ{¥põÊUOKÍôjÅq™ û4YÙôæÌPI‚ p]YÖ¯´i0ÆYmÁO (•ô\/¡Zn8g£Ñˆ»ò>þòòÛìn.´ddrËßjPä<ŒC™ äߴÏ&©iêF|ÿóú[×aSè/¦Ùi÷°¯ûìþ"þ"<@}æFr9ÁudÎT-™oŠÜ$ñAúµÞýUP¡õþqÝ0úÿÃç~æsjö"©5˜~À‹ÎŒFû?@矑]d5ÞŸ(Æ´“úp?Ó«æê½MœÿÏåTUó›W¯^y»#>E·®Ó±f)½*NépÞ|ËâG嚦í8ã’$Õ`n¥12X{Z_mooï9Ø?üÁ^®-5úÙ(W)¤fÅ| .uØWåeŠéÜÖÆ’ø};‚:a Z• „¦è€ Е¤ÁVo㊠×%»;N­æ eÃÃF] \×…íRw›,ü­.l±Úí4Ûíåö}ËwÖœjœ’¦{^ùã4™{D@ööƒm¸•üÆÔ*Ù¬øÕxïÝêÁöÊÛ=€þöýh(Ôë6sÒ,.zãòÁnžŠ$S%Æ¥ýQYy)tߨwÂ]:ýAÐÌä ¦<p`ƒ^ˆÈâXñ„ wÑÏŸ&¡fÉ(ÂÂù(ÏTÇYÂ謼ùØ.y0h=ÐŽ·Ãh‚`èçÚl;s¤!·âòû·dþ%XúŠžËw²æôAƒú1eœZêÿâ='`ÏoX^lÁ¶Öí¥Æ5e¬ò+Å_|>ýăµ_ãñˆµT\]Ógpä= Åè"£©˜ê÷ú=iºîìiüea€ ˜ª¾¦G€* ”g-¨EI.ïLÇIwCY.KÍ@N>ˆÂrRèÏCM!e\  ú€þ løëàøê«RÎ=‰ò“níìÍ«ßXøqYãÒ‰GvÑòf‚¿ÑmÎ=®õŽöÌÔvr÷ƒî…¼á¸mÁ½R‰Uj­9³Ó~9X3LP.W+e€~8Xj¾©³gNç×Y¼xå¦Ì@?Õnƒ >À¨Î:±L4$ê(Sñ„l aì ê8`Y±ÿP^Òn¨"+RýÏÑ_w̺s-É(€¶OØó#ŦDåŠÉáÓvÒÑ”K$¼Ówò|¼¥S’‹"¢èQóÞ6È€êAJ[c¾¡ãkñb ‘Bʬt2bÍq¯¯è°T(¦ž’kŠ öMzy¦_ç@ÿÓŸüÈ€Þ-´-¤·‡õ}‹Ë0GάbÀ “Oóö†ÉÖ¿ï$¬B)ôW ý²á;Öó¶x?€~u=:ô‚3½OhÔJ0dªCÄŸáç:ç`2(‹=³9KÓDFhYA‡†Þ$cÜí;¥ô-­ ‘—aÿ[*똩¢l$h2à”0 ¤zçÊg:q¥¹°tyõRo°G©½5¼Å`ŽÙN½êÔ`¿¸(5e˜¦Y2Ž#‰•aºÞ bõÓ‰´ô¸È¡7‡¬(&#Ý©ï±üX. Õ÷x¦&|—¤·Ë™3ýafÏ›O°Kžf:íj4äjÑó‚a1(õ_Ï÷ÿ . ÝÂ`¶»¾ßW. …þj˜¸øMfDȨ°™[ˆ1p@ 'êŒÈ¦ãE§8uãúõÎú oæl” •E¶§6J—m ¿Á öÓC‚vÏÅáþ ôÈG¶•G0Uºu4b’%ü#ôTåš„67tSä@³á1Q~ÿ\]Í›â`k•c]ñž@±J•cŠo{ -ñÁ`îã¶T,€=¯8‡¤©€þXp;}Z7#±åÒ{¨ÿ‚Ð_í÷¬‘–(&ïIŠ­â¶8>Ç À dl,™ñ£óä™öE™›íÚ|ßAпûÎZÕµëóÍÁ–Íp8d!¼›{f4Ž©ô0û#Ž cÚó…ŠàzˆÂ,X÷ïtP<;Õ©Þ$†5¥ -¤‘ŸR" €;˦›ô§›†´øplPæ°awÛå<µñù?[=qÿ~­–ç_aÅ´¹Ô¬ç±ŠŠ ÉŽ§\@6œ4‹íXtß‹M×i•£[Ýr÷ͼCˆ8È´ÜP£l— Û(ÃJÁÈ1Ì2ư‡çhØõ1…ï­Ù:<éR%Ks'5¶ NPO#K0„`sx§—ÌØaÂÏnž<9¼Õ5Jå¹z­y²ÝÝêö®__|øìÆ.G0¡…ÑÝòÛ'Ï$ñv-ÏH;Ö¤GÒðŽH‰jNL8üQ'HdM@<²„Mq³I(v}þ9D&“&ÙÜÒ=˜'›òƒóËí~«ìvs¶ž‘ D}»V“ÃB¦hÓð=FIæ’ƒ @M³bQµ8gθôÊïÜà€*—·èéã*¨‹>‡‘ØènÔ¸øN°kAË)ë2&)Äçã;u'„úy’åA?hŸnŸ¸÷DP$™ tsŒ2zÁÈ(߯vÝŒ5s“‰©åW'¹wåÃO}|ñÄÚúÚÍ5\<þ¶¯â“0‘4ú-:)aJ¶kôo£óvc»ßïÉûY«¡2®äGoMѽz³ž³&׈€:ï…’ŒEV±ˆ–5©—AcZV]ä©„øé9·õΜÕï|éw穜)è§–YÝî¨Ëƒ_fb¡ŠìÝšDìwdÞ -'ž î&pW'¥tc ÔD³µÔ‹zœe,›7$q¤m$ÃÔ®×`jqÉTæ–A|˜ h±%ªFA/Ã3”g&L…$ÃV°qÒJ‚Ü„bð­[ñÖD¢¿ ‚lxºÌ#HDdO¨Y˜ &HZ·¹˜‰qo­Ã>¾Hª,ôzõfsx÷‹'Oun\u6`[}å*(þõZ}$à>@çÆµÎ Qµl÷ª¨^³Õn·;ŽJâL#”bÅ)‰0EN,MeþºG<ÕUŒÄfkIýRª¤ª IDAT)›ñ=©eÿ¿ ý‡%ƒ -vòL£}®>¬Kr2èž•¯ÿ)üØÙA×o\OGÅý)wµ -I^&ëò²\Þ‹t°´Œî:o_Ý“§/qn¾!r觃*'„(Cž)¨²ÔàQá1ö4åRk*}6Öº[¶ÃÅçx0-Ôá{a«68¿ý¥ÿöÿìŸÿ€ßü¯~CLæb ò{š‘7¤Õ_t\'ÛÍT·dñ>¡¢©q¦ÝîùCîbà}SA¯äÀ~™˜Veâ {¥´¡ºGp+¡Ãw -§Ÿ€ŒiÁfZUfuåîþ°Çþ"8(•LF¦Þ:ðä:ú;ÔU€_áNÆÌ"wË0d3EA=Ïḯl%ô+Þ ¾áܧÚÐâ"l XÔÆ¨K Òe—Æ…G(F)U€÷É'Ó ÅÜsM?Haóê† ->•á¶§ ìÓ›Å+/zº¯{ubâÈ‚ aÏ”¹ë±µ¢-«Và ÙUϬ±wÓ~?œo8 ÍžE ПûDDeÆ\nº„”A+Û@ôËî¬4g8oÊ:ÄuÀÄ<`À}•‘)4Ò°iüÂÊhzoÄá`¡½Ò¹‚Eù=úAýIÐ_;Öõ ¿À®˜XÃè¿v8hß/{ÑØêûåS§A(Ü,8F´±¼X ¿7ðè@î÷º²àÈ[\ŒÃ*¹€&¥±øO=ª4q‰ ¯V­y~—¸æÜf“laÚÃäSbìÐ>´š¿xªìb1}|÷ƒArØOèçÿ@³kç¥4Zò‚èu‹4Üæ=͵µ›ËúæüÜä×4@\½v5‡~vUËÉCþÓ é®é9âÿç¤ÄšÐõoËØïq®Gé˜yy%ÀÔa©#©HB<ÿ_ðØ£ç~ï_üÁ¯üÝ/~ù_þaóžVïÝ®8d`«Â,5J Å(7m%qbUNKý cO+æ©oÙË™“8Âá–DE~pîý6Rýš÷ƒh$À¨a1«Mo] ò°A¢±fòm¯mÔÐW¼¹}fªà.$_`%pyLªºú;ÕÄù ¼¿ : 6@ýú[:ë‘ÆJTSºÑa='@p&š+~]’î½9 ˜—W –“Øë(þˆò‹&)“·Ã…À5SÿWêˆ™Ž£Øô#€Jà 'ýçîUúðìL^ª<- ?È{úoe=ÜÃpš3e§>õô+…ŠqÈØèŠ†‡€}ýòR±Äbôcl -_§v``m¤™@š1{†”í°1‡:Ca¯vj/)úP<”Mø5ðbû‘óáÝì€ùæ‚C¾û^^v¸øðY«/R×Ó“$A‹ÈýW\±zàç¼7½nûáó€þpOÒCA­PC`5Ç«ÿ¼×e˜QGa"»V÷76b:ÞëÛýO:Ú§V0Õ¬Û±µjƒ^Z¬1•µš¾±>wî©÷ë>Cx„ìÃê(iú}ßûÈTPþ4:7Uíâšõ†!käðá½þM—·}Ì3ª©ê… H=DtpÏ9¨û3Ìôs‰µœ,eú³b+mtê'ÊpŽƒúé{¯‚ øÇÿ×Î~è<Ë€X³¸59º+&YÑg‘à†} ¸K²ÁN§Öœ/r„ - ÿ¸k ö…Ÿ”Ö¢Xš€\«\pöDüDCAÿ°Y>…aJ–Á5Ãm˜Q–mlt¸Ò%â¢Ì8Ï sf«ƒ(bob6Bõc-ÞM—×¢~Þ°t†~u-=º’Ó Ò$3äSwk‚ØÕDº+Î,Ší±ˆ2\Þ°lJ%Q* Îë¬ç80 ÃX0ŒAl#H»&†'*qRPÆ6Ä;CÊJä.b «aJ@:N4¹¹—ö‰œ—5Š|fî®õ–î;íÍy–0ÒùÈõŽÃ´àD@ÇkÜxýUÀôÎë«­…åöÊY«ÂäñÆÜÜh~òLg­‡¥“÷§ÆFIl»^­&»¿ÂÙÖ‚@”ä·ÇCØõh8€Ç™Â»Ö,¤Í¹v©ìÞ³¿V'ÑÊ#ÅŠåX§Ö×€fÖ ¢°ª2ÒôÈ'åËÖyØ%³µúÆ;×ï;uá“ÏôÞ½a»¸º9K“Œ¹Ú§Ö›v|èÛsâ࡙ɇ¥0éAæ©@1zn ÖÃàîVx§?{æ”íÚ«ß¿¼þ#™ bí«ˆfåCÿ®¬”eyïdb¨èÔXX·ú°Þcg\L úQ˜Ê³L²¬L èME#¹P°Û·é ‡aÙ£žQB$&ç×êÑݾÅØõ5w¶`jr’Rº,JŒ0ɰù‡`§´)(šñþ·šÇa÷)êãÿXóøâ?ÿ_ÿ¹Ý/œ}”âFA`dY ª9ΛÛ „kÛË«uF䬚g–²ÞvÏŒL×sãtlVÊÈ!:ʸyk–a‹¥ÊŒUôŒÍŸ{{éžÕ«l’2Ná¼b¿¼›ù›éLRÄ‹IjUl¸×·JÞ«IÞ·gË<¬1faâ}{Àåcäÿ-ç™ÄecR#ÓJ)Nݱܢ¶9CŽ-Œ4›Ä¼É­¥¢Pycm½ùz.ÁÖkYã1õIÒþÄÂ*±¢š‚Ü7G¦äÖçÀçqåg…ëZcC§hÇÖ«† ͺ\¶Ëy¹/+þJÁA;ð50¢Ø9y֎‚ÐßÏ®[1=ÃpðÃÎâbó¹_ýÂWþ?úíß9'>ð`v°Dø&¹ÚœY'Ü ³jU ØÌQ™uó¾v/¯4!S%¹¶œÒW;kYþÀœêÆ=ÞÞý5ú€­¸ÈÏcPì´Ð8âõïú{?õG²=°æê°ª€î5¥¦ßl-ôó?ò‚­`M»È£²”é€ùìý‹П Hö¼¿µ¼¼úâŸ`Âæ¸ÈËGx­åõÄO4ên£Z1jÇšõyôCpíº *x“9J“ش؃$ZNŽ'\à Ÿ\ý‚Ò¥0ÎL±U¾\T\¶ËÕE”¹¹/…ÞÐÖÏ{ú·£`+^¸w/C÷?Gh¸8EúA1!þæG­vdvØZO´ÆØïI·še5@RìÕHbéWÕew|ô×ià˜Å‰ƒ0±VT†da_n-‚Š [û>äx‘w™`tytéôºÝ¡à¿nüàò ×[ùäÓòð<ôÄG°hèh£^«¯o u³´Ø†^yåe>• è—8O=¼zãêé§ÏP\q?OKèßÌ»ñu×:ý›?jÃ;gâCš­«¡ÐŸE…|¿^‘›w½àº?X`ì?ÕÉ@ÄZnžNk§ú9õêßâýS¶ºÎ`zØ{4ŸBU³"½«(bãýùªSÕȤ ÈÆÑÄЛe“Å=ÖSÔ8£T¨Ré|p² •P•qQ¹Êc›¾Á,‹ªŠü3 {&È]ÎnâQ8µw°1^³9ź±ýÕØØèîöÑ7¾ô~ë·çwñ DIÍ@¬µ Њž¬*lEÃÙÓBäù6{†ãºOž?÷‘Ÿzô»ß'ÒÀÓ5ô©V®½½vÀg´ÁmRø†síUcŽÆ”„šJô7ôk”£qDb¢ª;ùôSO-_Pô*£¬ÙlêLhñòžÚe§&5êÇ÷› ÊÛSÌ¥t7UèŸ`§è̱M8µœõ ØsïE=¸®£ÿ(ÁåQ© & 2 »VÜ¥j­îk¸^Ÿ½Ävs1Èe@D:7…ŸºT=6)Á¯¯{ vÎÎ;Øêñ\aô/~ʧٔË x7àƒÝÈÈ\;c·ÂFrà1qÜRß\;Aÿc,¼übÐŽÝy"@%]Œ\½ÿyÐÿåUüâ3펟yr~}ãö—ÿѹ‰&€þR0c-çQLÐÿc›h -€9FI“ŃÀaj~nÅSàöq9fÝŸí¸00…ƒ”HXŸ½^o¡ÕõŸK½öäÛÒÜk^¿¿u Ðß§¸.²2ÜîúbÄo²?‡·{N8‰êÿÒÉÓõYgI´C9}•qP\vnTgëJ cgˆ2€^_¸¯0Îôi!ž÷ïøL6"¦°£¥îźepX¥ØH¦²€JпýÁBþŠëW»º‹Õ=˜²hjô~4hîS -ÔèþˆÚø´öê\kƒõµáò‰bmWŒBJq(‡Lõ…{§™ECpÊà0˜¦ %¯]Î<™ ì3è£O•â‚(¹  atRR–„ -c°n’ûyA3ÄL>ätÃÈÚ9 -¥2Öª³Ž˜cÄ©VCòäÖ‰z!V•K±ñER—ßxŒ€/ýƒ×áàÜ™S,`o›TŒ&{ìý8ŠÛ,eª¯Ñ`[åi' þ‡è261íú{ãZkìüiz°Ì§dÜp“ k,‹q_z“¨ý  H:iÅ´‘êÿ¬¿³¡^_}cuU¬J@ø°ý寘«;´–õ9ÏÜ_€þ`hèO_GÆ4Ø{Úð™Ðߪ”ÌO ýå…²¸/—ĘŒ “<¯w” +Dçpþ£Ou×¾ìw×úÙ£È;Ú`²÷x;öò²^åá k5Cù^íwëa=9ý™Å6 }VÿšT0£z=tlXFu[Wª-  æB ©ËàݔՔA -º¿¡U/qMø÷ˆ¼ÐýÏ?…w5ØLúý€§–æµ¢ø¯ªñ„ ‹IùÅgÛo¾Ó9wÊyýzè͉³'ë—o êu• ˜/vl °#‹Xø¼ôH¸¶ð-Ö"hF¥™¦!¢ª‘FqPÆZbVe™Y‰, 9›'ºóÖ¥ó ˃ Ÿå8É@b&a˜• P@–Ac8éo/P¶WPC_g-éÖíÍÞVWlûg½°õîZÍ«·OaÆ f솷B¿¿¹ÖXXÎ*Ìûˆµ ‰‹g9 A–ÄíjE¬<ò¤wß)AS3«80íˆÙ"õ\Ës½áææØeQ·óæâé³úħßxù…5âäúIÆ”CN^Ìòý§ÎêlQ*áóü«=’–+¨0+¹ m´Õɬù5qr!æ’5ƈîø!&Æ6!=k¦I•%EJñh%É€k8â>ÛÍ|tyõÐ-ƒy¤õ -p½+”]Îy ½ú©Ÿ–2‡°¬ðçÏšöŒkë][ȸBƒ6ÁÙs¹?žõŒ=€±{ëö¶”ëõƒ&9ø]#›}"0OÝ9—ËágÂÈzÆ -ªÏ1<7c”µénhéÔÐÆ9i5Òë»Ý ÛEBÖ~ϯŠì£0´]n~na6|ͪ#!çÌ©BiênÆ­9e~í³M`½’@ïÇ ß—7÷µ«?9Iä{ ŒË“¯FÞ>¯Áaz‹ââ|ÀÙ#Ä -&£¸JJ™]uήœç†<½­…”R ú·Pºr~HóøbóøR÷Ý·ý៸ÅÌ!áL÷²ë˜’ÀQJI5V¡¿zç"å­ü û½Z£ù±Ï> `í­«°oiÔá¶u°Â¨û1R‚¦÷.èÇ>õ € J›…-a[ì÷†šC?×Ö òø˜ì‚@õ·æ„-DJ^6$žÃ!P¢Ì–?ͱ‘  ЮǴT[DôĪ%©è{ýÆõ‹Ï_TÿIpQ\|æo>bàäÙ“7.O¥Üñà2Ô1¼XëMŸâCÍÃ$S*?ÈNÊÆãü*ÍCúýG™•Ûœ›1u‡éy -ïÙãMÂ("ëV(3:‡ÉáÓñ$QL8 „åù¦—¦³#eÿ¯ÓÇ3Ÿöâ׿OsOµ>Þ7°AŠæwÇ™F 1éHvBÓü9ª,Ìh”ø~üXGøþI>+a]Û'>‰¢€þ¯|ç»'îÅ@ü©Žh·"¦úUÞ‹Š{á쉸trºYˆ3£(·Tõ8DèW¬· 僘3õtwkÙ©hßƈ¥~d"P÷¹Ô—Í™f¸-íòju>KQcMS¬b)S!gö¼æÙó:âReÀb‘~†93#°Š¦iñ¾ÂL3#‰OWeƒ°¶~@úï…'>~áñOÀÁïýÁ?>yâäp8ä*nÐ^j… è/MÐfsí±kU«Ž2M&ÍÌ8 ÐoÎÈÔa{Îó%܉)sÇ™‡ÛW‰·\ eŃ´šwÕfÚí4 -qú_»Ãöì3Þ+ßóö³-…þ<À`=d€Àöñò_„S¿7÷Ò›Ì`'§Ôk×åµ>~šR?+EKŠ~Wš¨ýw7œùÂH ï·²æÍ<_äËàÐ\ó„¼D>£NްÎ3ª5¥eæØn“j¯aÏÚÙ“ŸAìôû½[ë=bõoÍù§11ô‡²\(ÐÓ+íÚ< €Âù›ä)•X£HÀ±D±AîÀå°[~ófá#ú±àþrû$ì×Þ¾z8£?ìÝ£Vó¸ŒCÐú+—®NÌÈ8Â;•A‘Çk& q4Q”Ps´„úè2EA ’¼zpß"þ8)YѰ b J7éâÿ}‘òú÷^9¼~ãä_þ[¿|àïJõ5­És¤—ô --3]h²°Tmúý'Eýh‚J­MY%qgã©ln°m°€Q‹…Ž÷e"ÈZ0BÌMÄœ'¢Ó&ðâsÀU`  ¿ßcÐ?‚§H2Àm¸bzÀšF††\èVg« ŠR®lÂ$wqà`èg1Àèh¢Š°"úu‡¦í@ïVöÍû‹XB¶›<ôØã,Ú-ОøèGÀ¸ôç_SèŸ_§íTR%BÙºÕ‰©NpýÆFÿÁ p´‚åíâ1‘!ôÓ`>¥d;͹@ Dá&lUE‘\³mòÛÄ}«ÌìÙ=ØDÙ‰wúöl#ж¬Š‘$9¼Ú@LßrþB{a/ƒûè -ÊšSB–ÏÙ“ýƒ3Dõþ”É Çr™íyJ$\¸p÷ãÂ…á ¿À‘tÕëõ8gºvªöDD0û éG‘SÈ“€8!Iªåw€úŸÂÏž1@TÀ;u²Šö}St,óÇÜ»Ã> 4L`Ï•X€þÒ8}Òæ}³9åƒûgÿÍ¡½oä/|ÈV{•‡~þz:&ˆðêµ,¬|ó‹Åù}¿0Óâ ò7:ù¯ÚYyâÉ Ò©—Ú§U–®¶ÃGt%«·ÕÍÏCÔíÇQîOœq·68ÓÔ–úÐÑÿÀÁ*6ïÓ\S†ÈƵ¢»€@AÀiBøjrpñ¤RAJ5[hš4‰unœN*g9ɣʀþ`¨ƒÎ.»¡V°]µ¼6Z„ŒãLí8[aÞ4l! å§ävªÅ MlΓ’háô šºâ/úçã4¥Ø‚ÀÿDËàÿ¼xê‰)ïLIÁ‚õ“ÁW‹Ü¡ @C %CA?ŇÒümxd~§ê¥«43ùÏé6G˜{6­¶Ã›8k>oô#SºEQo¬¹¡­‚ÀÉ´Ò}ýZ”ÑÖ*ôß3²ý 9LÙo”öðùè ;ÕÐ9MU•VL×ìí+lL‚԰dž]; yÄCèçíÁógŸxR~v»Hõaôçпý?ø‹D»òd -XYý?p(ègõ_ -ÌïgÐ/×n‘½èÏ{üФñÈ-ýÞe»†àÆê¿WßKî ƒ;¡ ´hp†—x )Ü€(œ%2óŒ¤å%\¹§î_b€c_¦ªÃw´¼Œ²(‡{Ó²ùwQÇcÎà¤èþ(F`lÞ‚1ÆÙn(IÜygÓÈ€þ­Ûl D*õ _e1Tb?øÌ‡K—oÕÿÕ Žj¢ÖÔŸ}Ø>×T]ÌÚhJ›ÐôåúÔ:¥Uœ}èÔÆ»ÝKßê‹+×W-Ïúø³?é/.]zñåÅöÉáµ9cÆNF±5cGÑPÂ1F0q¿„)Ø3ÒL2)À‹F–‹ÖIÊÙGÒT)¢ÁFfØ ”UˆÕnÐdÌÒ3DÊyÒˆ¼Ýü0 ÝA•_æfùü’yD`‡`Óv1”°_>L‚˜þ°gà î0—à ~ño1­°B„pF•Jª/ z†ÇÌ2]c&¯#)1ñ‹•æ »]3Ø?Š6ƒ8 oÏ*MÊŠïqAºM‚Š©Â_|ñE¸¸3ÇÍæ‰3rš½{] ÐG Öõ7­w¯l?r^äéáV×!L¸~õ›µ×_TÓ›½ tÎ#¿ ÷”KëVÚ°—!+tu£ž¹Ý×fÉ{ƒw,Àä´abUÌ€!u7…Yj–e2ØãQÈÓ4Ó WÉÆb§çVmø§MülÛú¡yšH‹<¯ ³ùEì¬RÅÖÁ1%€a#˜ÿÛðíÙÝ+10ÃUxiñ;\1‹_Ú:«Õñ¥ Œ–îcG?~Ÿ±ˆ¾kÞ™ûÐÄ9Ý~héøÑZ}ž; µI 6 -bBuŽ*]´äxorª°UBú 5_ñ‰|\JÍsœ¸›äÛeoÆÆ’]Œ~£¨¶ÎáÅ0í‰ãR÷õ,ôŠIAJÛ6[^ýycöî *“$AUcŽÞ¹œ Ðÿ+o,>÷èFcrKþÄEÑjÊIðzÏUüÝßóA[Úë#¼+­6ÓÌjáüô‡ûŸ‹÷â‹°Gç¾õÕ¯œZ9 ›S1žÿ‹—Ï>ŒóµóŽ®ÙáÃè¾§w%&ðâ}ÊÍ£‡Ss÷¤?; O4Dº³W/ rëOo^‘_sßbÃs»+¤ pÏ~èl¯Õëu{kkS”°Ê‚I¢a‘SThÔ¸ÙevÙ$ ·Õž2Ûú½Föꕈ:ÕÀÃæŒεô‡›Ð_Ð:´ºW¸ah[¦ÊÍý|ŠF˜¬á©ú÷üüáñfW¸Z÷´ý/}çE¼™G½ :¿ØÝÜ "Ø×_¹ô§V¯± È¿ËyzçGÒ‡#¦‹oÙƒoM+Âìñ× -˜ËúG”– g“&EîPšcNs,ÞLÿîLšªXßxœd“Ð,óº‹8§1€ƒÇ;ÿ‡ÿÛÂ1AQyé IDATt×»nÍaÚQ.Ž ËûšõéÕË5ü¸Bÿ(Wo]ǰàÉõÛ:ZhiÿðýÃkýzïæµÞM´°ÃÁ°—÷írJñµ¬"úƒ}|rÅ™/Œu@ÿ?¼ {n™éQÁWÄ<ø9IƒN<Á‘Î>)Mð»`zÂäÕ”ªÃÄ8€þnÝ!:)yË47Ô­ Ø‘{ÐJs{‹e NÎqP±+u@7*±bþ ÊÇç?éµ2a4Tæ Ç¡ÅÚæZ£Ž7äÕ×Ñj/µW¨‹äC§Ï­Ü_T{¸óîànãGxo“L3-Lûã¹Õ$ŽJäOGT LÀS31Þ›ŽÙÄÇÞ L©•Æ»aœ„È­‡°L®ügùý { l8Sãà5~½½Ò®|éÛ(¾Î\¾U»Þ/òOôm€~ùyU²ÿ½¢³ÒùÅ`·RÌ’I¹À¦žÿz¯u®‰(î®?—.4ÙAˆÌfð»RÒÙUßÒRó[ß¾¦?ó Ï]¿rÀÓŸ”fis͈ub<Ÿ_D' Øt¿M½Ã¥B8ða³5*c¤ª&è7g‹‹wêuµ–¼Æ¼çJq ;¡«Mc4fC¿`ß (åîž&lu· 掳L €2J÷_áö^ùÚ ÝíxS(è“Xí1‹td’E>#ÍuPóa–ãD¯ˆÍÛxZX`˜A³CFÁ@yÌ‹ cn™ £jëá€ûî¦I8õ† ›ÝœÿÐy…þ0÷7Z þdNýH]µà–,(] ÙéójrŒÖhX(?‡ü<ê<Ê÷R./rëîab0.Ð*6¨‘£ -ÈÓÂTYCîEXŸÉ ù'¦Cà:2yC(nF@_>œ¥§µÐ~íµUØ@ýßó'Fðý<9až” áX¥?5fXJÈ®Ã#J -#€È…ûÝ;Áõ¯ª?1ú÷¨ãUGëEܦTq°òäJ˜Ü -ýEýú¨[e`»è;¦ÀƒÜåLÇÈAýè‡=lR/¥Aº³ŽJž9Üx´˜0*:$ Ì9G´p"•Ǥ …©ùϨ -‹td°*6I aº˜ÿ“ ”°Ó½±%Ô`èÿÿò·EËVTaͽÃÐ/0—¿§…JQ+∲+ƈˆžd%<%hTgf‚à"!ÅÍ®+—±œ+$“v -ÿ„;ê0ìÙ*‘€þ€Š°ï\ëx9ê?‘£ÿbÛkµÚþm 5r~ ÄTCm…þçšÁv½x=Ü}Þm@µw¥Ù( -í8Š -@4æ¤àY_Ç70úxffd;´u¢ [4S ß“3Œ€A¯ º?l`pn¾*³J¢d€#('7wÌ òxƒÛh(Í.ŠÃq¼•Ïö¬þËëwðúÙÄUA]²™z-hªç2À*[á (–}žwÜtꪥ0˜ª¢ÉסNR¥ù&ÙXºë8ÂÁ¹ŽÓݶP·ÚM‚A¯Ã¶é(l[¥„ò)8ÕL¢³fRë2`Пòt+ôç±ÞÝ\¼§[?7„z÷+.€,F1G°±ï[Œ2s@ËØÍU¨LùQ¬:•±‹›©z—«×ù‚ÊDÒ©tT©`ï¦Ì4-çQ†qñy [ùAF|2°GSà=+ýa€úèê?¼rþÁ÷ ¤ Â}+¯^VnF|#¡n|&bbÙ,b½>*"pOú{”èÒÖ@ÿ¦ïÃ^1¸¾ôâK—ÿã×Þûb@œ:ýPs…²é®¬^üw_9ìõiâ[Äáæ°´öŒ1²Úäñ p¹5 ®ÏbŽ:¤eŠ#2I"U{¿ì YÈÀ€ù«ç?¹t==vu ÐG(lf€~<†uQE9îNÈ-zèÀ -wä:ugf—–O´NÀþ[ßAž±ÇÏ=ùÞwOúóû”)/8­9KV2¦Òÿ{g¦xONö€laÊqÂîK|†|ÉçÙ  ûÑ_~œœ µO˹‡. {ˆ;9  ìƒ-¿Ïwl'$˜ËR-C#¤öG–®ß/Ïx‡<9:àfZ]ø(ævÞq<°…ízOeÌ c¹Bh ñïÃïS$YÉöfx‡Â•u¼SçNyb´6 ÆrñlqïìUØR`ǭ؃°Wwð¯¶V•š¤ƒ3'óõF¬IØKwzƒÝ" ¹5Ü#õàî ¾ÓëÚÒ@é÷};¯rLv埃ëìÑyúi¸U.Ë×èçTëé¡sÈH®pB&ÒÄ!ç·-·âIØ: e Ù‡–äGºV&ºtý1üµ:K^¹RbÏQŠJ—¼¥ßÉFønžÜq–úÃÛ£§2ÌËÝÖÊá.%íLDJ&-¶¦²ÐoˆVs Ô #áÔÇ/1“-JxwÏ -Lý^¿'J†“«Ø(F*ç:%‰z2àñyó^w³Û¢u°Þ{ ¯V‘'-”áñƒ J“ÙQZµ¬l71`ÍOÆ‚â«UÌI@ÒÍt ôõLf Ûœ‘ ²Œû2rP±•vl‹’û‡ Ò¸FT}Yß|Ü¢<ƒk',ødÊpm©ÈãÌc®j–Yr^Ìø"H¥5‚nLâÅ2L“qb;Iý­ ½ÄÖpüÅ_ÿµx]üúŸÂ†·K«Õb¹}úµ¿~ƒCŽýÛ{ùÙŽ$wE5*ŠPÍ©VçQ…ˆd"ABÙRÊåJó\`‡ 3‰zVµ‰ûZÞ/âØÙ†NXV8UãíöBkqõ{—øßË÷ŸäƒËį¹Ü^„-ÎÑövÍSÝé¿ ÐÏ^rÊÄéI$±&HyµêFÓ œÖîqNˆØ›s] -µHŽ£>Jº6eX$;~°Çû£Ý+X-ž`—_ -ÖŒÊýñ -*Ì{Ð}˜lõ£±¬ÀåDH·pÌ…ÏŸØC -è— ³NŒŒÎ&3'§è?%·i|×°ÀÆÆÆùóç»ßì‚ àWàŸKIºœzxö±ó—_[•W^«Gƒ¡Dlú†Uß&ryR![šú[¤¶g2¼Q°BòŸÊe­âKã5 ™¤[-wõ îúIXôgûW`!Å”û^ò†j ñ!©–YƒQb`¹b\>(ÿ‡ÇïýÏ¿wé»—~ó¿ûMÝgåi­&Ê•bòm¼{K+Å.—),Pö¿\)±ËK}Gõ¯„þ"‡~ØÓÝ0ÂõDÝ`q ¶ý'ÄYÍž¢€¾÷äC«¯¬øÎ è -e>9Ý%¼#ùuKŸo,>pïþ‚Ž’ÆB•ÂÆÉu2{oN¼;â½) ® æaæŒFfEÞÒ˜x>ô¤/nPVtpE³{´Ž´vl­4¬4Øw·¦¬ês<õèYìwáügÔ‹ð\¨¯A¸'¨7ä1Œ§fa˜_.ôpwÈQY¯>m CåÛQ®o¬ -HË aWñŒàÜ®kCVàžÃtC gŸSÐß™­]½Ü9³R ÁíÐv`ÁMe÷Uz¾tË`·¶!Ÿ"vÐýyÞ],;ÅÃT¥Üýnïͤdþd–îØtP6\ŒópâÔ´£ûÇQó›Ñ÷ÄÕ5¤+á^ÎçLF*·wœ/~ŽÝÊïlWú¬)ÆÊ+ÁÊ’`KI¨?šƒB­{–@ tÞê,«¶ÕBeô—_rÅt’ÜNâß%õ;9 À<×L[@v¿þÖêL#"õ¿j7ÈðÝ9¦œ>!ÚÙc=Ç7kÖ €£»â Áø®üž|À¦1þSUÁÂKŠŒ ¡õà”Y¾?0×A%¢ÐóšÑö ØWãÝ›\øð…K…Rö¿øìç>÷ÙÏâÃ+ ú¯®ñ¾†É(¦}ñ&éìÜÈ~ŒÎKÑ ÃŸØÍ›ìFXACÂŒhîËÞyQ.×xÃ#Ô2ȶ£˜-€8Š“({fñ,ò,ÀÜŒø#­¢—œÆF¾àµƒ)/Ð ùüÕ7ÐÏþåýe¸X‘®îµØÇ´úµ¯£CFõòÄkv=nMåIº§àì'õøxHè¿Õ½y«;¼[3ÀýdšÅ~ýí7Å9î½åcŸzæ¥?¿¨¿HêÙ±rèßSÀèÔ‚IÇU;HUxl¾­ ,R‰8;™Ð-‰SÌG‹ˆúóìm$,5á#0odß—Íò8ÝÉŸ€þ½ ÐgúçŸXa1 rôw‡³Úº›ä%®ØgÏ`†úÙÏŸ}ø`Ç£ÿžÏ>tv8 ’$’ÊJ–3).Þ²¸ÈëÀÅŠ» ˜Îª¹&–}i'¨ø›FÎÙYŽã<›$.ˆ{ìb3œîRÉäèý­£ cÞ½z¥ûâg‡)kŠèˆ1Ëåÿáqñë/Š‹ –M@é»ßÙ0g‹8†ãaZŽãžñf¸-](ƨè_­Ö¢hˆ‘¨¾ÏóŸã-@jBó`| œè6ÝGt0è¹GñK9«Wh‘úAXÄÂí.èþ!)ÎfI·Ttî,/VrÓü<þÝaëhÐ6øçÇ>ýŒz?(þ|°ÖÙ0ÅÍâÉXÍÍŠÃú ûcßĆ·X“eõ8öa“_õ÷ÄýXKŸå?É¿¦…+ÀÊ mÀˆ1„EÎʤHq(O§ÏýùÑÒµ1A‚ì詯ÛMܺc”ʼQ0ÀÎ} ü,`Þ³€5ê"Œ©&‹ZqÜ7¾ù Ðú[ -Ø:ë,¤nõœÅf™$Œ<â—B.G40~›ZÏÝ_h5Òè#bwùH™˜R’ú/èWüw1¹ -ýÍY§ª±QrXܰÉô–³PïPAè—Côµc$–žÒ -/|älâ'ûi·á2Ò8 €uÿ$ÅÆ©öÌ”Ôi5üÚB?Ð|{%ê‰4–îhãí+?îµaAbç×£xÄ<è¶æ³â©/£?ìõóèê|qm˜ÊÌ)j¨øîó@‹J˜œºf™-6I_ØÇÌö”\ʦb!ÛߨŽCì÷dœ?ÿô“çßß›/JüÒ?ùÒßÿ;_tÝh` -ì¯w8¢9*>x`om ÓßMöáˆT–Ýpm¿i(õŸâ"(‚ µ«e€~W¾ŽE?,æ-Íâ w†NNX¹E®Å¹‹7ß X÷·©Óß#@€JfxË!7™3¦K½þÆõõ·aåtš'Ï:G›Njþ{ÔÞZ]cÊÎ +òÀF®H-h|Wšº°zâ;·AþXw›éèf<œàÛ‘]¿A¹ÜûTþºÄŽ€lö~ Ð ½†÷‡…šÅ]#ã–^ÅYì*.WçÙé…;`IPˆbÈ'ýJÄAa†Ÿ{h)Þ‘éªþv’îIä—á=Yî7œ±œI æ±S­ÁËJ˜¸%òxr:Š P2ŠéúM&õHœw.“辯 -@iÕ7Õ0±† pw ]4UÔåÙªùûÜt\F³)"'o½ùÁÝ!j÷£”`¢J¦‰“dÉp£±M¹Ãðf¤™5ó¦ÜCŠ ”ÉgºšŽ¹ug@Ñõì,I†aœ%5{NDQo‹•[ÿù/>ûµOnÓQ¼úÊ•UÈ¢?ǧŸ}º·Ñ ï[ân èJÎÈcšWÙȨ“2OCÙ6ȽƒmœàÅ)(þÔ8³5 “s½²RЬˆÌãIg+^V…wÆ8«Ò ?÷àŠ=çQê™a5¢]!}3wRpƒ¶‹Ê¶ÔHlš]Y4Š\MùË&–p V «dÈÔ ü0þpâAÚBm&x&”óZ5Ò(3g)<¾#+ÿCJÔt0M aìø|‡ÑäFeNÝ¥˜uÇêÌ|)+Ä9hÏØŸ£‚‡0Õôn\7yr¤]_§JÚ:µÕÝÚ7±Ù:‘¦úzŽÕȉýˆ´RçÈquÞ]y‰hîñ¶–-ªx°2öòÛÉц¾eqŒ1æYeÎ8á°'ʆrÏqâ -§y¥|ÕZÌÁ}Ê÷ˆ"©kW«RiЍæ°Z¢-l—¿SØs‚•´¹%›bs$Ø÷ãqÂDói‚$`æafé!õ9ᓃŸ©¸Æ¶l@XJG³èG…ÃxèzM%d‚s>8ƒ ™ˆîÞŸŽ F>¹Èýûüóa3Å´&ù É JŒ¹ïÕ8c‹Ô¥ÕxŒ1rez60 je‰d#1è؉Z¥0㵫k§Ï,?ûsOI°o<û O/ܳ¼±¶×Cȃû)¶—’žd°.³‘J)È[Z`мÙ‹È‹{1° œU¥O?“€ -L“Ëû©=бµŸžê½»Ç8/FA¿1°´ÔòƒA§³ÞnD¼á ;ûHÛÏk>üAái¨(è×e@ãžÅ0çî @LŠù4 ôJÞ‹Çÿ/iï·}ß b KpW€A­¸^ŠÒZ2Ú´*vXÉRR³qܤç¼W§iâ—¹?™»¹N{íÝäÝu:Ó¹™¾é½Ît.wózí¼7íäunrNò®W·¯nãºNé:²¥*±ÅØ¡M‹‘¼ÅÕR+®í,vïûç,–¢’Ü=AÀ‹?¿ßçûÿóÝE‡»w‡xÄú@?£;•v‰™-dá~Ìߢª:Ñäù,’~³( ² vâÛÄâßwÀ€-ï¤k+ý])®³wÈ®Ôb­Ðß0¦cgzÂþTâVˆÚ,æóìqà¢$öj:vˆ ÆAâÏ dFÌ"¶£Kñš%ÉÔè -DÔ㉯[Ýœ3‡Ÿ˜¨dà> >ozd”tá\ïݹ3«ï£gùÊ{øŽ¦?R™­NSâc»-ú¹ïY@·Êv•øDŠ‹x ›tv€þa誮Ȫ¸j͇^üz4!7C¤Mrl¬¦ëÌÃÃÔÜ¢=OÔ,L³  -GôÂ2]HUU´®È¢LÄ€r—7 ½€úoÆ*ÚälÜh5‹y=é²€©zYT'÷òލôCšf³ä‘y¢puÿõ.¡kgÙ=Õ pe?òî^¨#@?X:6;uu¡dÀF܇ÙU Eq=GŽMÍ}8QªÓ­§\¯”€/é@ôš“ký“ñÏ;,¹9ø¹üÖåùÍ$G^~¿^=Z%V=æ[nÝPÕÜÜKË2 ãîãZÁƒë-Z·J•q†þf· úŸxèñ4î—Hª1! -çøþ˜:¯þþïý÷ÿão¬‡Ý}œZR:zG'Q†“†Íq“¹}àQôÃèô×FP­Aèg’N»Y0úó“5Ôý1§r§'J›b=&ˆÚ{êƒeºM['ÚpÓ€wXt¨žÀíôôB¶FÝs ´ ³`‚5Àb ÇCù{7¸po7 sß"˜íýùm$ä\cKK÷ð¼“êÃû¾@²ò…Š6&þÔ‡÷º )ö6k¾Ã2 ÓÙÌRò•ë:(H*‚úF@Cƒ°â<_ÐýÙÿvw†K@?þÉîÂh|̧ÒI{ªÁ1ÍK$àO6¸ ‹ÝèL èŒH ;ŽäºÁ 40™Ú˜Kä1àwEP¶º aMsmˆÊu[Å4aø'¤8AÔŽ{ÏUYuÅžñRÜйåhq)\è†÷rly€)ÀŸ$ùû úyv¦æPçñoàr™<Œ-ÝAl\QÄ9¹L‘ªºrMôáFĆ…úýplCVÃX6 º‰Åú -ìp&5å•¥ülº®í úkì¬'=M¸\È5dJ%ø â2ãìúÝó|T ,4-¸Ë;Ÿ4ðIw×Ù³€îÏ2L¤xŠ(ZïÆ÷ýÄ`õ¶H;ÓWýá@ßÓŸy€/¥b!BPž'„2s=‘H.,À}ØaP=˜êæF[@°î¶ðàéYî¡Uw[h¬3î§½Õ€þÕS éZ¢ôøgêY‘´CÓ´q£5ÿ±½¿¢Qí£Æì€î· H/wëþJ‚-IÞû9ذ¦òQ[õc Ÿ°¤˜nkÏÂÍ,x'دk4/Tmƒ57ù¼ÒØòýA¡Ê_1H«Fûžíã.qŽ!ã[g+4&5gŸ°uÄØt75ÔE­T6Ù; ûó¯ØËï…êk þ—*JÚ(dè×(––ÃàJ_’6Zr¶PÆ‹‡Êáîb›,ž BŒµëúܸÙß ’éÃ7ñU G;—Ê”b~Ú‚"Ú€£pÉ‹; ú‘:¶¦ ¤ÈÛWDÊ®ŸÏç›ÌS©ÌËu¨bV%Fî÷À½Ô]aÚ»wT£ q Sí¾Óâ‰æ'd„)ú ¼ÎmÞŽ6")2ó8’ûUÎùNÜ-r³A÷ÅÁ¯Œx>Ø®h×@¡Ð+òíXE#·‘à*áHÀÒKµå·Ñ¥öGÿÛÍÎÏ>÷‹Ïñ9OSÙó2qéEc²2¹AN¶uj¨kÝg­ýhMKUcúÛ>óï'ÌpÛäJÝH¹¿ü®aMYÕS3hty‘£r6†žëïºIîKçW?sŠ]F†‘o·ÝRE\’;)}x -,\å>{Ö1‚êuq›ÏQó[fþQ%Û¶·Û¶×Á -N«IÙ|Qó2ÁÖí›mzËè »¯'ooá3iwÚ€=J?°Ì©øúãMNe*&Ÿv»]¶ò§VšÐ(«€ÙԌɈºÄJ. ¼ù,‹yÍ3=GŠvóÞ.êg˜Ó5K·×A¼e ˪­ÕõbiÜ,­¯×­ûŠE+[_oV C34'”v-ã žuóƒ¦}G“l©±á$ ź–7‹dÀ6êÉæ}èþvÃ9>'̲©ä² )²»8ÇgÆVÇ> IDATD‰”ZôÇÚ¢$Ë‚•í5bu =¹©\þ0€Iœå ©¨4—8ú£ŸÁßñÐ1C[×|2âü¶Ÿüz’xkc~*µ3¦Æ@ÎPV•¦Ã·G©†+? ›Ôls„qÁÞ¼$ýØŽgà­¿ÛV¸`Ä÷uÓHõÐÏÌ|†!&^ È{‰7\_ÔFt‘J„Œþw/ß~ñÛâê?6?nŒ/,,l¼Ô©¡ú3ýàôzc`E%ÝW¤ú×××y'ù39 ztª±‰ÿÊVVk)’ÎÊT¥¾>èñôÓ,ç¾{îÈTóçžcP=^=÷êÒÙ'abv~í·÷ýbbEEب]T{¦{äÁÒ³T )ƒd¹„þ®±GeÛk²7R׋ŽËê?l{‘0Ûר®ìº.¾bÀýpDQ³xVse²„Õ:ù`×PHå}s]´°,ý!m7íDÍ'ÓJQóüÞãP?Eï~,H6§ìo"xîŸ}}¤ë$˃Ó‘ùŸÂ]'صýaG"N|%˜ë$Åt`ã&ÍýNƒ©Pª³“ `M~¢T›`^è¡ü9mCïȹbé|ãÍáÆ“3OÌ€ˆ¯'Ô‹zÂ.åwx›ZÁØXýiiDŒi•^ZMD…EÑ`ÞŠ‹o UÕÅèËÉù…KˇNbS¹kaà³òwA%×D®S=o·ô±ÁÃùÚ¿}þ+¿ý;{>üé—fÓ.•L×õkµFyŠ*Zž½˜Vѱ:Å1Ô>-r˜·ïà ]ý!NU dXÂPMÚœIu¦£Ô\Ð_Š[´r/9€~ó¾yzÆFúŠW(È—^Kè¢ÅÝé®lt³ÈçL\%¼¸éà•ÈÝÀ‚V0 ã´C˜ Á¿‹sMܶ9T+‘ÃeÞ~©c¼ é9é‰Q0Pá™ÕU?ÀvFP.4z]œß(ϳÏÇup8†n,šÁ2€ÁÞv‰çG)ÇÆ/t0Ü'è/Ž'vV˜Ñ¬Úù–å”Êä$ ÚD‰±pzáâù‹åûËå‘tñâÐ`•0¢ni”C²vemúøôÙSg_þû—;À™'°Œåëßà#Ï>qvþóËÿ%Ïóùä“Å'—^]JdÀ õÃõ‹oˆ_\ü9ñ% -3âÙž< ªwò'/ë×Öa=9ÉÔ`sìéè?}bÿ®è”¹¤âƒêÉ{ÚD3}Ûà!çu™*WÙÅ!  (þAqr©Š… ÈmÓü%Bÿô/‚€~èQ=¡ÞK– •IH81 /FƦj{ÛVÁF œæ=7¥ÝåDÕHKá}Ѱ…"Õw£?ã~O„Uq¿Åi† Ðln¶R·¶[rŒþAè‚Àz:ÈþMqS¾ÍÙ žgc¾C,”üÀ·cŒµ rÏÛ§4 ONš¸‘zž,²£b?pD7S²¨o­ÄŽeŸÎ—w/­f{O¿Ü»—ưÿпu nm¨Á"îOE zîÕsrV©P}m¬ç¿þüú5Fý+ïqÓ»Òôõêú‡µçÿìkü’§O¼óÌ¿øÒž›5 -ùt]£׈ü‹;×ìÀØ.¥ÍÀü$^ fùONöó¨ÀYd•-ú»;ítw²@TÿáàØå…=~‡“ë¹H¶( ˆš?ß]qÌd ìwJ3нòè¤T».Ôºc «fA´(,1sâ¤u¨<õÀB?- úãååt×kr=ŠJšJ,R?êÙ{ý©5žŸ(þi^Ø%’8 Iýh”£x/Öd.ÛCUµìã7¥¨XÒ çæ§››­}ýø ú'®?Ðâ{ÑÐ4)OX û}„ÁžOÊÿ˜dÛ&”@uú‹/’ú[£/”6~ªg—tÁ?ùVíêúôÌ\ò¹¦ L]ùÑJÉ* -òïþÏ?üoÿóßxóW.¿öå/|eù‡Ä:5°ÔYýw]¶` ôóç Å1ôò°Ðpƒ¢›]DÿÚÚš2À¯­ÛÒÔ@¢ˆYÀÐFÀÉÇçé‚…’Çê?lmÇK²QrÉñý_yN8p4Òzxšõ‚vaÄ„i - §Žˆ¶•¸éæ5â3ð·}‘çVB&#eTЉR.cù5U&¨’Ïsa–ú;¢;ѲD45ì0•“I÷3(ÿ‘û˜˜ÓX¿Žúœù¤fsr¸+R-)OfÂË»~€m€07."e5ÈôŽmòZb´ŠGT¿¦s]®µ‘£¨È;ú´iH«‰ÊB À÷ü÷Ï;›µ§öóW×0ïÅeËc„³c¾~ ~€YžØ¼"à†½º–dR¥Ò~6Ö7EyméµÖV ƒòÔ$Nªµ+W­ûð…YVIAP€KýäéO.¿»üÿðêáj¹Tž}r¾²~Çñ3Ÿ{F¢²¬©#èäyîKÏFŸ;ŽváÔÂÄÄÁ—_zùܹsÖ¸×0;; ‡¨hÒÂúû›ÿô¦JNð2µîi¬7`ÅASž„¯¬®®Â‹®NUmÇ2Q iÙ-Ó‘a8”#ßv<)V–¥Œ´öÞÛ;Þ/ã3É™Á®ŸÍ©jNǾ»îL)É™>gåÊè—˜{²z¤ƒ#× %n¦ ˆÍbó[dËêú"ìãVK1"5CÅ -úëÃn`cbVxàáV8vãâc|d®S/a«æuý@Cå=b:€«Mê„A0™GôŸ˜õ~=Ìá¾`äÔ@—šÑ#q.±”í²Æ3…ïä)Œ}ù¿û5 k…6¯)èªäÜ0ípVqA‘)ÎêQ‚´T#ØôÂm7ÀpQúý¨¯GýP]”~eÇÛÂ$fdf(¸‹’ ±(‹Ô¶nm`RrŸ-Î|S©·„‡ šÝ˜)Z2ÈR¤Am5™Ç¹ç!·kOσ¾Hë9UÏ)«Ë”×JέNs³Yš°4m§T±š7qðx]ßè·ƒÎØÕܵ<ð= -""§ gÅh Zíø¥‘,XbîŽt½êÌ„sÛkÐ@cÂÙ‡¦­ñ&è æ¢>ªi#ñ f¢ ‹mœa #^ÓĸðçǘYˆKÒ4S‹)Ð5_ìDÝM ÍÏÿ#ÎÐk7P<:üßý鿟{x~qé;¯|þ—ž‘GüOž:+ £œU8þWóaûæ÷W~çÂï&ÏÍvba©HögæQ¡ƒfc6åzÍ-—°ŽwõÊjɪ4¨gYuR«møy #ÆZAq:Mд«U- ·d!@;UñígýÈF¿4µ¸R[Ÿ}p‚I@Yý/•,@)—×ryöšæZq+.«Run¼ÀZJæË=…"%Š%¢Ã‰÷c™ÍÍû,ûv Ð_ÓãýÅík‚\WÁ„ª(¡çTbZÄtƒ\²Ìm¿r PÐEl©¼åeòðäÅ ëõÊd Ö ¯_€-º‡(¶ [XNY§À¼ k–›7›‹O-Â%a³ÀR ÄÃb =B5°"ÖkÒ ÿô±é¤ÿ—yŸÉŠ]¨é ~ì‹ý-4G@¦û.­öd®×õBAúOXlÛö:6W»Yo;N‘’Ö`ÛºÕÐSìߥƒ( @ë…´hYÖÖžSª¤ü–ª"‡JooJ’–|ŸÅ€ßÜã~ Êd-D¢ Iº!¢½Ëñ‡}ú—¾äoo-½„Ô µ+W¤Hè¶v«ŠÅÀ7M‹¿ÛƒUŠóÙ±4]FÎs˜8 ˜Ì5eì0}¼¨_Eq5¸žy ›ú]I¤«IDCÊÍ[âYÃyƒánÈ„PÙS³@^ŽsI -EŸc6mó56šrn(­³tè'tâ»×båµišÕ˜f™aéRÖ¬]¹'îʲø³(žÿîܹw~pÀ‰ë…Òê{8~ï_}ðpî‘éo}s/ßêÉù¹ùù¹åeœÝM{`É•—/¿‹¸<~P_]v*Uêuè„€þ”“Zww:%KÈ ZVcè;vl¢†1°e#LÀ¶EН¬­²`Em:èB91‚‹÷·o\pn‰ˆ·^ãö›\BMþû˜ÿ€þú -ÑSîÂ9–øn7­ÔC{áÅà],>±ÈX|þ­ó $ì–S{þë² ý øO‰z¶Àdýº?ýÐ,08^ßz>9óÄ€þ­VkúÁi°÷—^AMпtš&4@ý‡ßmß HDþ‰¤ÀĆ€þôŸë+£Øe9ý!£¿^¼· 8•º”,¬|´$)}vSzè°À‚¢a€H8·ƒÎ}´“*ì K›F¸~Ðt©µìøŽº?',(˜™)ã@äôj‰iÚîy­üC‚×Å£óÈ.fbéì=à> ògõøqD¾£V,ÚLQ€häÃÅäq£ƒªÌ5¼ðÄ °ÈVÝ?¤ôdVˆPûIšZ“WÍ÷}ˆè-EÅ% œ Ê»R’¼ÀÊ -€PÁ–9Iød¸N>!”ÍÉ¢ÚÜ Ožšk\ošF¬ƒ?Åâ‹í;m9+Ô¸SOžŒKü×Õé -=–ŽÓj÷á³ @Š…–W}*Ž-M˜î¶§íCÈóøG÷gìX¡œ…€È%O/ ˆ"Þ¼„Óùµ×Л¿ôç—^»P¤‘ÿ/ã¥áÌ:@ÞÎÍÍpÇ÷ß\yü±¹JÙúÚ¿ÿüy d€"-|¼rñ{õÉÊИgô/JqÞè|‚úcUB7q.y‘œeÖ<Í¡QÍ(º® -ƒü½€=dTê\)ÿ¸ÊV¸s3 ƒYÚë÷@Ô>Ë\õ‚/2%²í¶+>è8k¤«’%+ °­ý7)éÛKùÄMª#&¹½Í¹@H7ÚÊÉàšnÚÞ;#+…©Ù·W;|…éb`õc‚HéÒľëƒR/ƒú¯(:lÕÌ€E2)•b’Ebðh1R¬þƒ 0 -…¦¿~jŒþ¦ÇnÁºT‡+G> êí]ôƒ³ â-MÙ#Ò™ÝO?ùôìüì·þ¯oýÊ¿ø•ßùŸ~Ǵ̩ɩ#‡€Ü @üÂe 뢴FÇH8œ›mýÄÙÄ2;räH ûƒ6 6@<6ÿ„§OUî'7ヸÉò,p‰P€ú2€ÒØcûƒdKDƒž§cïõæPüúÁ°?ÜÜè­€ h·š°æÇL؆¡>¸Aü䜗÷Z´Têj;+·mˆ¥Ê?èþP¥,«ÿ`„®¯R:YWÑ€. e0fä8—Ü¥ä -Vÿ÷”¨Y™ÕRº1d=ØDmŸn{ çW•˜Iÿ×ó7akT¦Ó§ª>8¨QbÿiUjÄÆCèàNÐKÒªãÒ]‘·Šb 'ú=„iõ¿ÎG¶4 +A°F¤ÃÆ}œ_;a›Žq·}Xõ¸-p³¼I)@ÿöÏþð±,Ôk©”åThùØìù‹ç¿z×çë{G8XxÙ —ÀìCÓ+?|G"FÀÙ3'{|ÿkbÐíëÄUPÿÇãR €~Ðýa…¦rcôÖ‹Ü^Éâr -‰‚ô…›e†Žã’w+fDfÊnT[ßœ}_wqLkÃñÜÑÆI9×ÙÔ ÃuØJý¬>f©Ä²’•1åÜâF1ZBÿÅNvGQ”ôRðS ^ -’œtÂò(g¶QT¶›©ÜaÏ7“ôýÍo<™­‰I-ÕG—mjkÍ«ñ1ÚÐÿ¥–Ö ÃÿR¥\1¾0)îC€s¾;ˆ`„i^•­‰Jk³PÑY0`pv -\ ì¬_º¨<.äe?§$«ÐÉuƒÝP[Ó­éâÄÙæÚ‹pº.cëÔ€9ÙÈKaJZÔ6jÒ˜´¹µ¹ú£ÕñûÇWVW`­V«‰åüøV× ·vµº9ìØ-{åòŠeYÙL–ã4k ØI2766@…?~œ)ß¶K–5g‹šÌòA|æHª•eI3;$üY˜»Ñµëˆ;sóB-uw]îÀuê§NI§¾úû_]¿*l§8˜Œ5ñw†¾‹½iPûÔŠ; aÛùŒ’##çÇËúXÑÝn³¥aL’ÈšÚí4 'Ú½1n©©›ižŸd)0àý@›˜fäã3³‰?j8k‡Øfü;æt¼„`îì5†G2$#_#ƒ²åÒOw%APÚ‹|âêõ¸à¨/óç2èsOÓDîWš[~èÊ•µ«—._»¹Y·ô÷NÝwVãñÓŽú#Ÿó‹EùòÚF±øæÍÆLÜ[Ó'ˆç4x“I˜HŒ–Ã&YF^4±Ý¬œËëšÖ´í’9–•ú¨*Áõ¹,ý6:1ãÃ禱i;áÎ -7Zù1M°¡œAï+ó²…Q˜Wò˜* -’txÔ¿ï –_‰›º^ÌSIMù~„žÆõwvåÆ É+•ﯴw˜àîÞjPK¨!CáþR§3P<_š¼1}ãFÛïðw)E2åiH‹æÙGpT×®ÔíÍòAá®xýÕפõ½16±ðñO.|üg%””ùÏ<õ9þ<#Ù›(wˇŽ/½Œ¬'_ùíß[{åÿä·}äôÛà=ñЗpÚ¾¿òÅgÿ‹-ÙÙ,~ù¿šÔ5%Ú•>y­êÑyX?¬ÿ«¼éOŒ—Î_ˆ½îã£ÑnÄÁÿ`W:r¼àoGÞvÏÏ´©ÉDž˜Qvv#–åûµh—î7‹MA”Œ z¹ÄÎíL*±Q@Þ ÈXcæ}zÞÈË­Ž}Û=ýÄlãfY’pâxÈIúýn(¦Z³&®É¥ ¦›–ݰͲéu<ŒûÍVé@ l`èGÏÀ­&¼i@–\=X4Ø’"áJ••W=[ûfÝôOÌÎ^PG%6ŠA”¦Ÿi~ð"<7Ã0ÀÄ`®ù0’‚hÏ™¤+kÂÞO'æï»,~zqå­•­Ö¬ãÖø™…3Kß]‚µz¤ÊT”ñçÐÿéÏ<}åÊ•—_zÙm; <~ù¿Æ âÛûW °'@å?6}Œ3y^ÿîë ¾ø…/‚xý×ß¼ˆÏó¹_~v}£þÂ_¾À¿ûì/>+WäÿòE€~‰²Q¥¸4!½°­“æQáeòpuã:ÞZeªŠ7´˜T&4 ¬ÖfP(€u˜È~N.0˜ZÒ—’kª6£0y脜Žnùº°ØâÊ«l‘w‘R¹ðxníBg¦~íy¸ØF™Œ tdž5Êå™”¼«âO³”ˆªeæè@±EèÿÑeØâ5ôpz»w6@àÈ¡d·½Åô×ÍF]Ž­:Ë*fSÅŒ‚‘T¢Ê½APJ^’“N }³‹?Ÿ„A ÔˆþAøK{2v "ô#¨Ü-ŽOË)v°†ý¡ñÊÓÄ£¿„Ä_¦çcæL~$«xù|2ý}·Ç`u±{<.]\aͺÁvmc›š*‡¾Ü=èÏ;•Š˜Ú¾çUÊB·s;ÒÄýB‰Ì§Ié¾ñ‹Õ'a@<ý¹3W/_= -ÑÌq­;¢ú)⥡óLÜ<¶yóª4¼úŸ˜;ë;+æ>2+~öψ{92 ÷Øj5,K\Þùï r@yH›†Þ¼Õf+ìØ›a~, 2@ÙÛ–bA±w£Mjé¥)²FÜí¯3èì÷ãž‘lÀÖ08 èk™ÈÙ‘Œ©Ér¬þ—ªUØY½p^7,<@ý÷ˆ6ÃîÃ…”øçAÜ‚‚Ç’>?4õÞ–'i¸o|¸üÐGOo|xÔ±“O~¶FF«ÏsŒ¡zbvÊU4ýÁÐH--–Ê•‡A§üþl‚=É/FkR$XÍ͸sï4Pù“-‹å ž²ÕÔ>€¾@üÊT:Õ ÀàYœJ}>àTÂ[»¼2II`ŒþNHR aG·†,YLëÁ{Ðùå$”*a¶>ò'§Óó÷,K¿”•²3Ó3—×.óºH~öÚµZãÏqb³xíÕ×®ü(T@,<¾ðµ®|íOÿ¸JÝ>¶pQº2à_ÇŠ3Ÿ8Àëç_ÿÆ7éÏ'Îä³ò¹ Ÿÿs„þJ½G¿w$7x™þÈôÚûxÁ3δîkmÝFGJ¸×¸ñ%ØJÈ#ä€þí;¶:.FÝŸd ¿¿ÝNÛÎV˾µe™‰U'¼1¼0óRû‚×ÎvÛ°†êzx«¤žýñO^ €É–šjbÌ6`èõ_)(r¿‡Ðƒ_Îkœ°‚àÔµ¨C-ÇWßw´¼lè`Š ê\?äÔz£»)ÿ‡½@µ«€Ìb.4ntklÎ7>¢ - @š»Äè/‘/xÏý€ú ˆûú°s†w$´Í@°0 ÃÀ“ñbúõî·€lŠýÝKÅÒ/ÀvõvãÔg>᥿€êV^]*­‚|Z¹°T"4îTñ4¯_›;u–Aúc{;Ÿýåç’ýfªG9ÀñxåÈV}/AMZ÷_9÷:ï ÈÌO@ÿJ,í9•(ˆÝ£\O„,¾-tñ‡JÌL? -ò–kÒ2`þÄ|•4»§áé—ÿöåä9ßKÔ®Ö zS‰ö ê?È€ZÜ ùâ…‹““(±ú¯ÐâRä†ÑpПüâ—¾º’ÎÏÑ`X5âZ˜š¤„™ÐçZVÁègô‡_OÐß0Dhc†W_ûôR_¯ÍEEs%KÌ Ð÷›·œ&¼÷áôÓ3Š¡?Yâtþ6£?<“ꃳùœy4›VûòûµÓg懾¢¨JNI:ö`fNL‰Šz=ש S—þ§ìÀ·…Îl›Nã’c¼˜ñ„nœ¬b Àù#iÐ’EãZè8áízñó-+º)Ʋ“ ƒ|6@ -€ X~a}½qíúæÙ'æ9NpòÔìôúô×KsÍõ\´…/lÔëW®nLÞÚ­Ù™2Íp¦ƒa +ÀÇßuÆ÷êÑ û³ ¥Ðÿ'.‡ö1Øÿóã°öý Ÿ -NÕþ— IDAT$wë„ ûG»{Ýðè´ Ï­  èöü˜„•Ú½… ¯k±€í=( ¨zl  ªöú=Ì&\ÃxKÁhßñÍ(WK`=è¦!Èn§S¥ö¼¸óУpNÛÞ„†Îâ³_´ÛN´+}tÁ»½5z_ytT«_«UŽÍ‚Ö¾Ù´&«è&ŽÝÙ¶)øæ`gœWg»ãoûÍ[0Õó¥ÉåW‘Gaþìâò¹%c¼4ûÈÜ…WÏO?Ú­VѲªó^{«?ÍT èh͹Ýd‹€X1²ÈâÔņÕýÜoÚïkQ´ú`>Ëaܼ- $J²H”òDÙ0Ë'æƒí•µ+´”î´f³)gd0¨ÑÝ?¦ñÖºÏ2ÆÏ>óÙ‹o "ú»yÈ|üãsj,H‚GyÔí´a-*ÍÎ̘J“eaÐX‡&¸È`}cÝoûÖ „Mõ”7õz½<^ ¯¯®¡qÖɇON=0µþÁúµÚ5ÐSسŸíϾv­KPP÷ÆtËTëÍH‚<4r¥ )yµú‡«Xw»Û6Í -ƒàÒsPããaÛ'·žç dƒ9^òº½m'­h:µõ ŽÍÂ;å˜P‹¼ˆ~Ç.€Œ¤èN£ŽŸXÄÜrš¥‰Rà»ÍÍæ¡˜¢Üß<²2 cjÔuƒñj·|ƒÁ„άª½ÙGHç¸Ñ˜›/±VUšœs·®§Ów^xå)¨Ìð»þNÃó6óù‰|dñ.‚¾ÆuÎQ/´íDÊûŒhžê4áݕʓµÕK­Ûþ‘£å(ð-«øèül‘=m´º¸XS ЄNÇÑó&6挲#¯jOÉjØ~6’ÒÕÊ0嬂LÚ`˜Q”ÁNl.\^+“ýn¤å¨ÝphPu›‹ßEOÚÂ'ÎÌŸ|’Îà’º~yjJzBB¼ë4Í’—®fa]¦¥zá†;[ý°‚P²2¨ÿìâV6¼8U6$ʨáÁ(Mì­GkPý[â° !°çNýJ£&4ƒ+«+õÍ7çO~vpI£åôy´̆Ìö‘QÐÄ@{gÚ0E»¦s`1è2 ö£÷ØÄg8uv(ó VÊb@ç­+¡ ô‚Y†]Ôcèç4‰09 XëOW¼ §¡Š‰CŽge0žM²lgáàa¯QþÜ•D÷Z%¿Yk”°™— ¦¼p&£ô·[.ØèLt˜hèœV~ON™®Ë~i4"¤›æ¾êš¦y¾‡¼Âšf“:bt´ötYºk#àgÏ~6¹ò0ÐXK¡ìýúïþëßÿÃ?øßÓŸ0ôK)ô—†ÑŸ…ˆs¢ç/ò8éfíëµÂˆzj¡´Y¿dеÿÕÉ%-Ø^×ÕhâÀ”&ÇÑh·XO7 ¦ë¡R àI¢ßü\&ÓQ3ݰ›ÉH8§À–ù@âtòü”•'К7æM{úáê¥ï¿W=6iÞW´o·µQzä=lÐ…Y ÜbeW_t»“zèÓÀг®pýƒ´è¡ ˆB2`qš5è[QV‹v…â1ÛJ&Û'}v|E úh=€Z.…¢½ÆÛi<ØTK¬eèm÷ßmo·Ýö¨äu|mÔ—v‚$ÐzQÔ K÷½ÀM³{Æ ´OS”Û><ØŒŠ&ôˆ®Žè¹U$t¥p;*Î4[ì:kfQ·§p7]ò¡gñª?uæÜÅ¿ú~-5~R½ÒsÁ‰#R¿üÏÿù™³ŸìÒPìR§x‰s3 ô'=ØÉ>¾Ï~Ùk² •söD„‰¨šFæ@qŠj;ÅK$ƒ@ÇþT¢¿F™ZRh˜t0ÌÑI]sÛ¾¯ûn·;Í`iØX€uñƒC1Aôw][×Í^„™zAàÆ-áótð$Y0sn̈¨ß ŠÆ‚~˜SØíŠGâÕ8š‘x‘³²œÉ²[IQX¦Eñ: Xb›IÁaš>U''¥ÍŽ ¥ª¤­‘ôkIk%©œnUhÙAJcrÒ€›j´+â¯ØŒ…wš·:O?sb቙úz«2e¥ûÖ&\’–¬ú®»Y"~$?ní©•úÅoy©ª‚LÚ$-^#ÙôïíldG'_˜qªF¥éW×jW/ùWgêIBÔw—ŽL¢ÊÉÁØ v:Ønêj‘U³p×õ{¨Ï¬•ÃÖµBþÄîØ°ƒîìÝ Ow èoQØív)N§³™Ö¡eEÞ¤ðW;Aâ–QØFLÑn· šk—Hb³™l¯?¤uºmÄ€9®1Qšx5v¬ öb'øú"ÛÉ×[/¤ê÷»\±_[Äfhri.wM×'‹ß5q7ö¼écûtÈjn9Åq#ýI:KuÏ‚œ Vqb¢Ôl îEÓaL Ô æG¡Æ9J’t®¨ûüô½çη=& W’1Ï>Œó_ù—¿ù°6® ‘(¥èD©É“²gžødòa.§õûr¯×Ëf³˜ÝGÐߥY–fÄèÑÙ»Ø?°›¨‚AmwBX™~‘î#Ï…„éË€³Á»Æ’RŠú*¹´oSŽÈ Àªï0€•Ù@IH•‰‰ú¦ð“ëÚÀÒÍå ú¦Ñ|2ÚÄXú*ÕßÜÇ’˜åŸ%¸¢hü{°íuú¹ªçØý²ª®qU!)þ¶NMÒ–>ê÷ú‘mT6GùøA?“E“MžˆyyË /†G_¸wñŠrµ–ÒùÂ2¸« õ÷Ñ A&L`¸.GÓ#<ÂnnÄ(S£Nô䮿ÁÈ€ås©Jæ8=Χ†:%MÁªíãêåמéþú3xÝôbîùÓÆ¡Ýe6Æo&µŸJL í^J©ã‡*[Òçb2H×OQó䤾 Ð_?ÜâöÎ>@BXi€[ GŽ$^gSMŽáOA Èy+ÍœÉô‚vpìfr•@„!&ù)Z %AtÿiXAˆ«ºVƒµ˜o˜ÎN»Q+±Ä¡9ØÉçÁÃæ,ë ©%RØ‹cºÝ–l*Ÿ‘GH±Z™ÄNUT†Úºi¯P›?%X|Ïè—ó˜¥ãGB•1 yØÂ%Í}Ïçnã€þ`M†€Ý2L ôUú×V/-ûÚ܉j“úâž|' þKÏ`Õu”^œî…šÆX¨Ž €[Êòˆ;2ª‰ƒ&ñþ2G!]×ý9!´à¤ß‘DÐÏ;­›)MŒ[ ¶¶ìq*ÙsNéh¥ö#ðÕ+Ëÿ´êu¤¹ùAº=£¿yP×òŠ¿jÔ]Û0p7IXìøå¯hú˜ÓZ7‹øã: wê°(Ó©m\Œ" gOX*‰Þ0±IDú§\ºÝ½NªQ—w3Q®+£=oÃ_³ç‹¿•П&^¶äáAK”)KÕØ†@Ã.Dw”úúYýWè­%DgpæÂ˜Ò‹Ÿ.}¹z¬j˜¦}Û¹¸Œ. …y¢Ä÷ÅM·¬÷ï\aÔ£ì¬4i·!uŒÓô¯FÛë )Ï> 3C½Þo¬¼sÙ*󸘞çÉq OS5wÇ‹‚;iÜááÓÈZÅbÇua¼Åb뎸`Läè÷ò0êH•aµ`4£y~{ç¦x‹Pö"c–q èÂ;Šs½¢\ìîÎI;nh•ÍÖM5¿òN d ì\x±ùÔS§ÃNÓ$Š·-›f¹· æ¡mʽ2Ü'RH|„ò€»þéÅyÞ9ù˜ˆˆÂ·¯²—Û-gö¡9x)íÛ’eU@´½³¼éw5ØF‘׸!æƒVh>Áš„ï |DyJ“mܴˇL.:˶“‡}9À–U¿Ñøö‹ËÕ*Õ&}ßFÅCºf%—ÙX«¯”'Ë^Ð6 ãnž—„–,Û“úrªÝo†ç‚J {>N,œYüɺ\–ΰǧ'Q(Ч´%XY3 Ë#JÔë#Dn'’#º6xÞm40Tв9ïð§.ùñÈÂHhFâ 1¡¿‚IJÁ ú^ 5šN Ì%ß±ÊG=ÉŽzQ–ò, -£V } ä¼Ž(ß³GþöVåðtñòàg1 -pŽPxœêÐOm€eÊ¥™L$qA6’i®ª:( ~’* -³§Ñ=íuð1Ü`C(¦2Eb2=Š8ÛÓ“ƒ¸š6q°{„b‚42²i3"¯¨ ßa±{N˜#¨þg/ LÒâ1ËJÉ"úS$šΰà ØxÛl 4PJŸÈ²cžLo?ÝÑÿ·~rK¼=K1?”‹Â¨ÇÄ]0n†éÒNÇAkÖ>øI2|ËBìFNÂYMg²pvøØCIÃ=v%ÏÄìf²IÜEò=ºu™EnF”'ŠË˘‚=ûÚéŒkÉ‚žMtµ©¨,úwÁÞWýÁÞ± OÏóý’$˜‡UMõˆP–uf †{”!.É¡‚þæÍº.‡•«Èn)8“}x˜I›Rœ’Љ}Ð[­æ e ß]Þ<~¨4sbŽ‚„8$Óÿé{Ÿ”š€Å°u¯Õt’¦µŒþ¸³Õ²HY†ó ¾uËuf¶zéÒÍž|ü!Pù£næÈQÑ"tz¶záÜ%kÜK˵“äNÓ?3 è¿UÚßÏKuZ±¸:¶†·Y:d -2`úÄ ]^Ë:„™ÍòäD£Þhßv@2?G5]ùœ¸~Ÿ°±ËØ–&Í=ÿj·AÿÊ#ôÏ#îƒè¯]ÝPƒÌP¦TH6²ŒWQuuQ^AZ4%€é†ò0£|CŸi|$j¡Î1jЧ̱+òˆÈ±öª’ ¢HE¾r„~Ô@S˜¯PÁâfŠVåD`Ôÿ†í£S\)d|g%ÇÔ¼è .‘–*TI¤þÓוj?Ë™ìh¨#ƒcýÙÿÒ”¥Ôý?*63èOÃf0Ùšqpré•ó³­š¦iÛ6:yˆ¸©+CäfbHÐÛÆNƒûÒÔ›ÍÙjõòÚ - ÿéS‹°Ï©z´¼ôê¥jµ2 ºÿ8Q‡^^­™Ô Ô|ðÝÌz ásX\â¡è–rÂ0´FÃnlÉ„·KäY@èk[¥îF–9Ü)׸g=èþ€¶€ÑÎÍ6èþÖ!kíË~|t0N.̃ÖW¦ üîÍFTïåsÍúìgN~û%4 &ÊÆù¥ÚÉSh*5®7O?9Ï©«pÚæ&î,~Ú„P“‡…®øèR…ÿ‡€Äb˜ÛÀŽOï:a¶™?; 2À»Á<ΤX3ÓÓoÿpd€/ÿ7Ï~ûo^[úÎÚ⧦A \ùà÷Xi•Ïê¶ÇÙU©ebºíñ,‹ÒðÎF‚6÷?'1p·îŸ, •8©‰¶“›º(1[!@:¬¹¶1Š@÷§n -W„!ôK˜åɱUCçÇEdèú«©qlµP®âXbÀ€e™°£izRó‘ëw1Ã^É)¸JÕ|Àø•.û]'ÄY‡¡BÀå,€ Ðàz‘ì¹Qý&Û^˜dQÀ„ÏÊYf½· O™šˆIè( -D‚{ØnIÁÔÏÈAj‡ÒtQ*À?ø»½`W8úÑËÄOG¹Éjk"N ’ùr5RÀ³Ôá‹<<œs…^7Òó:¾³,\¹Ä„éðOù9/ -Ö¢Àõ¸¸†9Ü9WÅ÷Ðq¬›–g¹Û·PŠÑv‰q5Õ÷{†¡ƒCdž㲖†ö8<7[-”ÍfmoPW–}ì;:& ö´CG‘‹RÜŠ²Pd܇mQ/&¶“Ü|4’b+©W°_ž»ãF³îNGtEg§?æ³÷<'GH\-a®¶èœüPÄ?'–Y"¡‘W™È~¼|ŸžÄÎМäG>²OM•4 ´°ZV.ΞxÔ/5ˆˆØÔTtvaô«™,R–Î!c‚ÚCÉæG”bÜ7ã*4–ÁZE³F‚—kä]“CaœT#+Åãǧ`õw"-ŒòDU˯ÕÞ÷kRcþÄÌòòeÛ>ýÔé󯜌[øôÌóúí©ÊGªç_[]|j^æÒ+˧OÏÂI}Û—ôuMouµêQsc]oùŽ1iTŽ˜¥Ã†¬÷:R¯¨ô&—¶Ö#Ûnlݘª¯olØõ³§¦Ž»Rkbµ¤|ãëK|š"þÿö?Õ@Øâ7Û`Ö'ïÝO)Ù`±LM¡öº¾Þ2Æ46…‹c–,¹ì6ÆÌâ(ÚÅØáÆ(ëõuÔèg©®“<=]Y[«‚Ã>ãJÕ™²Ý±Ac°ÊEL„àú¡i`ëlû†¦a}(ÕFÁp vC¤Ú-`Ϲåp]XÛÅûu#Wuýê±b‹cÚß~ñíé™}L»ôƒõfÓ=ñØLãz Ô¨/ü -­VæKØ3Ü›šŒ XIô'Å¢›Ô˜g8úÕ ²Y5Iög5=121¥81 ÃDrÔÈä5ï!ø…Åúp%ôùø"áŒnóÛE#_wÃAáUrl,CµÜvƒ½.l`u ¹òÄ1ØŠ":­)¯N ¿çaÀP};¼°‰'‘Ë<‰+6=¿—ðZª“œ¿%fçòë/Oô䞃5¬¼(gtðšÁ_Y݇Τ¸î5 9î/èÝûXø.~·×côgÒGv¯a•g:•3å&bn¥ÔŸ‚Ñu÷IÔ)Žé¿O ÇYbM\Bÿž5»³`»ôÆÚÂÇ1'g²b-¿u©q£1ÿ1|zßf#€î«cð"Cƒ$á@0ŒDGܽ–W³`ÅåÍгÁ`ã5±ëoT«m øsƒbýÏÿÒÓžã/¿s¹|È’NÌܦ.Q€þ67ýù°ê±ríƒÍê°³Yšé·ÿò6V•¤ç¿þ·¥B¾ðõFåHyãÚæÊ -¾ÙëÍ‹$­‹Ç\|Ѝ Ò¹ ™EµqcŸRs«TôFÕñ |/°MR¹K‡¬ôaù´9D÷Ê•«?ÿ™§k«—.¬V§+¦U<¶eݸÅ:‡^™8Z’*°£dôË$wZ[m‰T2Rxjfƒ£±Ù:Im¹`gfzŽ›ÐÑÓn£¨^|ò$òóŒiÕãø¬J˜!ån»L§Ï„ôVXl† ÈR!çªëcŠ›*”±.FöPóyloK\¤qZ«(X*ж˜Ù]Ð1}G¼S@Ðļ]<Ìw<2E=P¿±µðØLåFëâ›—7þïóó§fʇ-éçÌzýy‡ƒÀü¯Ù,#ñ“av«·¬éº—U‘,ì£e|¥Tº 7ô¥P7°êcðT‰[B‘ŒŒæ‚JÛc_HVè=D*Ƨr·c¥pLõ&µÍ>ާhÐÐÜO &A‚mNŠ‹uým—CºÅ@mÕ L9FØÊÙÊøÃŠÑË¥Ó>¢ÆN‰xÉ1mH$j€m¤-ÔÓ~'¾½¼’% vÛ~V”çß±é#ŠöϨ)Ñ*Ä3ÅΪc$²ÈøC$>}|¦©¥sá››°‚úÀ¿3PÛa NL+OŸ?ó´f `غ~mæÔYgkp Oƒy2—2@|˜TÐÿnÀùÚgŠï¶î7º‡53ªàñ¦,K9“J íbw6Þ×õ¿M¡ÐÞ¼¸`\¶c¢º^j¤ ¾¢pàJJ;åäU‰yW\RYY 4o¸ÒÇÄ1€ûL0b»6 ¥B›ê­b -â¸HF^Rˆèf¿˜E!8<ÀGJñ,…1ÃWèb |àT¢N`e€T.}¯¾úÞ•¿øèÐ>~½ñ -2÷y tþAá{åš`÷IÀ;µ« ú=spýygáÔ€ºCë[€þŸÿâ³ëuuTphKÂَ ßZͶN¹[èl)‚Ú¼Ùô_yg ÞóücÓËo®MÜo=0e{}íž+^Üß½ô2 ¯I$¦v«]ª” A ´ìfá€^ 0MýrýaGÉb=ÁÌle }åQeJäËçdñNgf«Í!L䤰M#šKiÁú~'Ü’0ó âšÂY½„(…©Ê$äù\~ØÍìÄåLoÉ_á¤þW•rC“º0°ž£Xƒôîê:;W…1ü}~ò~ëóŸ;}þÂåå —ávAÔj7“ÃØG«çédž ”>¤ÀÒŽ¼ÇÁÃv@z¹WÞ5£? _?%Kþd@è3{ †ðæ²ô¯4µœ¨Øn,VÓÀœÐmP±Ή-G -—É/¿¿ÆIRLKÃ@?ËÀý,eöD)èA¬0Ç·ï{ÈPN‰Æ¡ë²[$èHÄ8|Ý•8õXÉÃ?£œ'•(é1Æ-y~ˆyª×ëcn¨‚ý¬)6’’¼ ú:&—Ê,$Øbp1¤™$`@^’¤Á@1‘²úœp=ºÆ¡…$äÛ¼¾¾ráÜìc§™`¶ G1QÞ¼¶ºù‹ÇëWŠÛÒ£iikCV†s›[Žëì“jæ{Ç„’¶ZF†N"^Uìÿ‘$)íëW(UT-º;m9.µS€Ûd³²H=íí¶BYRâ)2 eûŽí5±8ð;y)DZ@2¨¥á*Ú°RDä‚kÍ#@>Ý¢ÜØlp>¾šp•ÀŸvœ5kuª´B’ÅÒ½$¥˜\–u}@9§õB+uáC8ÔÿjŽ#饜үgNÌ€кÙR -)Š‹ÔÛ8yrƒÝX·)_£zÑòGƒú?ydbå À`š—k×7@€°¾Q?½ðØò[+åûKó›»ðê*èþÓWÖÞ­O=`ô_~»~úÓE@é«Ý¼ÑÀèŸ^Ž?¶~ýÄï> ´‚è—î½úK8¥µp` ´¶ö‘v[­æxôõ_ü\Œþ „ô¸Î‘Õ‰‰3{ˆàdÄ4åζ;¬Ô'ê?™&}:»£Da®â¯$Ó€)ÞÔ°€tÉzè»LÊÌ9𢨤G²T¤è_¹|ãFkbrV›–1±÷~9[:ýI’ôÜëÝÄÏ_Q{ÈÒ3€J‚þAVÿ…+ißB0ÒÓ`]‰ÑîÚÙôMVµ,`dW³YxØØ_5E ³°.ƒÏÆ^ {“ã¸2¨ÿŠ®l5š[·š3³{ùkAýbˆƒ‹P5çuNÂX[Awe’`YQŒ´œa>AŽk´‹Î_uD)‘dß²eJ,Â×ÏäD¡§äå‘Am7:Ì>¹íûìûÊ¢b+Ë]rÖSì ‹}YÑ;ŒSý |•w¤)w‘¢Ã¹:ƒ'Kb.v"¬È§¤£¬$÷HNa:0fÏxØx\Þ îͪ‡«‹Ÿ{®Vu¤r ² ÷ªÎ.½Ðj·Ö]{SŠv [kþöIz‘~œ ÅýW£–£¬\xþ_ÿNø‹RÒ³}Gì„]Ù“ÆGÄàr{B3rvÑþˆ”ÉÂCsw½l?k°8­¶#wŒâDQ7(oÞÂf,VÌp¦ÆÝñl1k©L\«oÒ螘?9>a\¹ŠŒãÇ@ûsªqÎ‰í °À¡Â«Vso»GŽ p7vSÀû"iàK»·«îgû#ùPëÌ‚yþ»µöÇÓŠcò…ïžkÔ›ó§Ø4jWÁ èÁ`€¶Q€ÏÁ ìGžE]™I%$¤ô‰ô -Ùʰ€««É}2½ññ{< -¦ Òöâ+ OÌ9­òacñç©v?.©_¿¶^:„¸°²úöÜì̵Ív½V›?¹º| Fþé³'9Íqñ©“ßþËKåŠ9Q1.^\v(ûóò»µŸY˜ß²Öm{æªu @ãm{~Ç úŽ”óííš~ŸôÈÔÇßÓz/ÃŒ™8jÂlµo×gç¨îÆvaG+€êþô%¿’å~ÑpH]áQ šB!ÈQ.«yÙ ¾¬0À¡ŒN16aõ!ÿ™Ê`‘Ô“î³X‹ãXÓ˜,+teÝ4Cßwm‹³Hµ‡_4á^y?瑉ë -©7‚d™ëÔàly ý?~(šLÀŸ`F h ³ÃSáÇÑãÄõ"]¡r  !”*ÅP - בÏ<9Îÿ¿Ô½}çy'öîôto÷öN£³ì` íjÉY ‚‚Ç"NŒD:¼³¥sʶâä'N9º8U±êR¾¨ruŽ’Ô]]þñÇ9¾ -s•8’}ç“?ˆ²Š1h 4aˆ$Ö¢—Xa p€åfлÃnôlïôvOÏæùèîéY,%%%/ºº³óÑïû|?¿ßì믭ýôÒ3W®þÙÏüÔ"!:9ª¢Ìƒ½=`uq_Lªªtä•Çï´<ã’»ž* º|¼È:Œ&älh’JÃ2M·ç€èßw>» /G¯Qªq‹ ‚v)‚”/+å4ÿCS4òë{KŸ¬UkFë¹ìG@´†H5Bx7C’»U3Ê -n²š‹!0+/žM†™Ù -lï¼”Þ^»zíÖêÊÅgøéÊw^¿xéhM›Â Ý´nÝ0-'—W -„KLîÏ…°ïBei°#¦,sþTt@m¶R#c¶ÊtÙná¾Ӷë uóˆiMY=ϯ×*nׇÍ,™ÜpŽýxëM ú÷“ëãcŠœànÉÊ35ÞUíZ‘}yÙݲë9Z`–ò Ö˯€@k 5e¯³èè§A—daß}Á¸ÃŒàóœc˜,¾YÜvä÷DýB|X¦Î|d“'?ø˜¿–Ö:Ä,ú™‹‘뙨¿'bŽI‘ -|Jp.èC곊(~¦=‚<ËX¸A}àúÎÇZAí9„N¡MªIHÙOüæ Tgª¡¯7ðÍÖGüªÌBÇÿäFéÏߺÇáùaæ>KÎ'–F–À>Plïÿˆ*PÖ -AoÝÆz‹º‘:¥ªãR¾(QpWàv‰(k“"¨‚¤_ -DK½T‰CÆv3¸ÔKeÚÚ»Ø*žJÔ˜L‚Ñda¦èa"^‡ gËÉ»Q΄dè§è‡ ‹qÍÑÏ!&>P®g––VnÄ÷Ï¿Ž8W¦™Ö•Gù׎­Q]@oÇcÑ>Šž®ŒÀ!—¼Ä‘RÔh¾Ïù& ó¸T“óäXYE#W7Â&µdX30üY_<^`×Þ‰Ú‚œ ¹80iÎså>¶ÛF'±ÄË݉ ˆ³-0¾Ý“Áõ¢æn8š  -B^¿ó;›t“ÁY“Sé/„x¨ ÃxHp~RÏ@Š¥Â^ü0 -4}÷<ý*¬‚?ÁA–ó€Ë—ö'%9»ºäKc$BJtÐнÔ2N} 8ÀY&ücÆ7,ýô&@úw­Z}¾‹½;ùÓ@ÌQ’®Ãs¦s’Ytb?ŒP81!ƒ5 ->KW°7ØþLÞB–µ¢£„­hÔ7ëÐbpÛ™®ˆÁÉöÏ"ø¬”$ª•ôîòÝ)£©H1àIy!†f¾@hòdâj(â¥4 -”Ü#MË:’Ǒċ7¦Pôw7´ôxð,ìK @G>93»°¸öæëà¼øºüâÓÊÙ%³¡>#^}[‡í¹'ñ†³Ä´Y÷{{>q«¢ó”¯ö!ˆÚáŽ%ïÒ%‡ÊĤ*ïQøVÊIÆr½ÙÊÃ)„z¶îÞ4sŠÇ!c¾.),¤¹b|’³JÖr³=ÝLbÖËß[ÉB@ž->Ó`E9&`74'ôìÑs9%»Àêˆ,2Ë2ÙÖöDó¤ÿ¹OÕÏÆFs£6s¼ïþ°æØ}Ô@á¡•¿o”[½4¬dÒ3P©–O|lÆI£ê`þ;›ÿz„M‹~–æAðDpsqªÇhþ÷Á­•¡2#ØÈ]ýXC@œë{>âdéUGÃDZŽ ³\}B:yÛóYÐ~HEƉN>žÆ”©<}1BÑKMF‰GR‡ †iϾB&÷Y…°ùŸR„‘(¼¥TO#™-÷u“ôÏŸƒ l§B½¶ÛÜÁ—áã‘ãúà /!ý"J¿q™©¢Àò”r? -r?£Ï„ñô³sà¨8F1íeL:`o˜f•º¯àCȉ=9’ãb…D+ˆq½ -Eܸ'€<ó¿*'sÀbP P~pIƒu¸ê¸”ÝØЂt7Ð ï- D, ôgP/3›¼@·Ìôì  N?6S>’ø@)ÀM$+zQ-bÀ yÆØö„Â貂ö¼ž£F4/4áúဨëÇÀ®Gp>Ã!XP  + IHDR{C­šIDATx^ìý p\×y¦‹â\‹3˜!i·nŒ6 ˆmB Û‚6F Ì6!ˆm·6 d 2hˆ)H P”H!ÔÊ’)ahk¬˜þQ[ú/G>9¥Ù)È3ã[ò›\úúÚ–'SÙ8uXO•îó­wíÕ €¢’335«žú°z÷îÝÝ{¿ï÷­ýÓ5?=ÛQák翞 ðÐOùF… ß©pþÛþýWÚÅ[?ÌÅçùëouÎÿiÆÃ2_NŸÿzÇùow:²âôsžµGy4pê³§bœœx¶ÂÜñ¹À‰—3ý©§Ÿ +<oÏT˜ûݹ +Ÿ¬ðØž>þt`.Ƽ›'ÞNû‰gl›|â“OÌ›%Î=5(†NüÞSbbßÇ“÷MBñÖ" ÜÔð‘k¥Ñ8õG/À±ÇŽ Ûž4ŽÌNN=¼kê¡âätèLÝ!&¦ =“‡JS3#ÉéR`æhy!w¯päñ}SÒaÊéa:ŽüÔ#»àÀLaò¡Â̱òÔ#Ã<:2õð8p¨H|àÑÒÔ#%">6"˜yêáR þvûì‚øϱ +ÓGJ,áð±2ÑVéo±ãÀL´bÖ?lŒÝ7TÚ—ß?]³O–Ì V~ÿLÊó°ïÁ!–C„É£Q>Ð7²·g|jÛäÑ’ñý›bæ¨1Érî<8sËáÇG`îÙ‰ÜÖìø=¶(ÐBÆî÷ /ˆ‰û‡`òPQÿð(ŸCiòpqbz¨|_^3x‡fGöOñîŠf^îC'²µ})øÞ¦^x ñâ‘ÄÜXg·çåÇë_{.µ¸°¨o9õ'~'kxXÜ^ùö+ÿiž§žfGµudE?¨¿užzJ@ôòö?tËnHƒð+µ\.À¿ýö D§ÚÞï×^>e +îÕܦcLüyd‚™ƒ1„šÐã'ýâÿ¢úeÌ9ß´U£þ|Õqxó‡oê¤ÛÓ]A6ðÔï>¨?ÿéà̓ڌÞüÁ›çΟGúåaãÇþ`¦†HÿCÅœîˆlàÐce ûHÕeHýeS‡G˜b";=ŒîK‘eH¿©ÿ#ÃÈ$ýDIÿô‘a:KÀ’Ä À-¤xÒ¯…«"ý"º?}t*èY `ê‘¢ `zvQÒ éÏ ¦ ·wUÀþaüžt¿¼/OÄdŠÅ‘¾*@ý!¨?˜Ð*²>AúÓ€¸=Hú‰|¡Hÿø}ƒ¬ T @ úA÷‰¾©ÿÅïf¥þ3Ũ¨Ì`rkÍ© oÿjcÅ(€ +À:ÎP‹žÙcs·ÄZþ¦|àæí7WÊò®°þýë™õâm©é‰‰@íŠÚ +Kµ+þo@€’5 ŸP`6ðÄäþ—oÿïo\gŸÍøÇÿ ·Äоk™÷]í{¿F«ªÐ÷×^>zDp6ÀCohºž2­GÓyø­^ûºÍæßÍ¢Wvæ´ßUâÕ3Þ@%ó|ýÒ/0I¿< ¨ÿ¹ŸœCý®ag^:Mî7ôcoþà b|{Fúƒ8òÈ‘`Ó9¤ß¤Ç¨¿<€)ÁfŸ1é½%ߟƒ‘ÛŠbü;Fw‹ÂöB~k¾t›åû0÷ÌŒ Àˆ À%ÚÒ™(õ÷à¤3ÒÞ] ÙÂ@Ò?wr‚ØsSWjmŠ8rÇàèí0q`Wéöäó01iïè¾ÔŸ¥Ý= €õÑ} û ©¿`ºÔŸŽÔè þ¤_ÿBy_Nê ÀMÉÑ¡ÀXˆ-go>0º"ÃÞŽiºÓ÷y*.ÂtƒoÓyÔçÐjT†€¤øAôãHú‰¯=k‰¿Ôÿ€úã²s/e.~?+¨€y€SÿùC@€ß5]‹‹rÍ5–j—3Ï-þ^ñfɶ@ÿÀN<¥ô?^hˆ"`QxóÅô[?Éç³§¼ +è¼õà +~¾ÿVÿxrUüãšš+ÿùéÖ”ðk4€TúGØD!c HÙýt,cø–•n6{V¶¢Éz$î6ø_wõ£@€f˜o|ÃÿQP+ŸýÖY:Aý‰’~‘Œ5ýƒ²*Ðöœ\“yÀÌôL¨”UÈHü+£@G>T„ÉCæ’ôã€ô ží<`âî]СÀT þxé¿9Ëýz$õ§ƒô›ñ*b“ª$ýª~½#Ÿßš•ô +ƒyîËJ£H?Ì>9A”臨ñ‹Ný©ÝG4U¸a+f¶gg—CÀCÀ +»³ÊýQba$#¬¸g@Bï:yÐ(&B0Ѝ2(ìÎ)¸Û¡SÚ{îê³ÄŸÕvN`¥ÀýCÌàj3ÖŸˆuÌ?p¶ãÇ_kW'>¾ÿÖ÷so~¹}v¤¦w֋ؽ,0wÇ2³„;¬óÄ5€7¼üXÝ[¯gáÜ××ìÈ¢úãÄïŒÔ^Á_SŸXMIÛЫZã»ëW¯L$j߆‹3¯Åå5Þ‚ú_âµñÍ\weÕŠUZ2ÃÉ™§n%,\~͵ž¹'-Ç—î)ÿS¿kÑ:K 9š~ëGYxó«|ÙÀ›g®…·~…WžýµÆRþÑZø®njÈ´§ùàªß^íŸþåÛ+hñ×O}ïåç’ýêK‹›Á÷¾úH¬ãÓã¸eþ‹‚ש¾fþa—OŠ×^b™.â:ß>ýêWŸ+#ÜbÅ øô‰OŸ.Óá›…òeV;·);yhjWi¿y¹–lNVˆmomk[DÿÖžÌõÚÀfÏ<ñIŠ Ï±ÇÀôÃc¨›%¿~4¾ýÂ1ajþE#è»ø³/?ïãTžz‘ų¤öÑ9Çg^:3¸µ­ïhO‰ÚÔ{ëV% mmÊ”ÑIÛÄÝc€&vnì”8&“‰ŽŽ6}çs¹®½á·ë«ãããÚ–Ž=v¦Gì¦,Ãì“ľ\_i¤CCC’þl6‹²CÓ{š„”¶Î5·zQ»2Ñðî†Ôš±¥¥%˜Áжmcc£0óФFá§&û¶ƒ±ÎulÔm½ÿÈ.qàÞ˜{feL·glèß (éHCæúLª5•j®\•u‰yëSÿîzh¼ª‘ùÃÉ€æI;n¿kfŽNÌ›˜œ) ´Ú|¼A§ÐL><|äñ±ÀsŸ}40vg)0ò±mÑCÉvܾ9/vÒkS##1psw`ÇmJ¹ÀÈžÀ{‹‰ûó¢Ó–ff)wܱéTŽÄ àÕßOõ¯2I?6`Gk—l62›»nðÊ3F0€Š\†Hú%Ö¿” lh\híÍõ ¥‰`°” þd:OF¿„RþÒ(t&’~ÀÐý@©?#RÿÈPÿ©;n9<=éÕÿ˜’ Kíìï§1€WNzéÄÞüêµ€ú‡ã¿T“W¿ó—?ãê—i:)@pmÓjÔÿÔÄBˆaÒO<ûÙè ˜”G qB¿0›ï/0€™‡fˆ‘ô[Ë\·^Ú'@ýŽ @{ ê/hÔ¿ïÆîE  {KwÜ$ +Áì%Ný±@•ú×­®ƒ•±¦5ôý+Í<‰Dð€lg6xº7¤?@ð©ñÖ ¨¿ À«kªÁ5üºÄÊ+‘~áVÇÖG5³&ó€J]ypè‘2êo™òQóD“€ô I¾˜Ñ±| ³!H¯¥ZŒöD… 1:“Ö¦qH6ׯ¨ ¤Ö&Ùî¤XÔPûw"õ?4»cþAàHˆí|'ýqÐðŽ—~±dóGç`è†eÁdò€Ó%5€žµõH?6€8–·¦nÙÜ(ßßÈmHÖ¯®°¡JÝ)(8d¹ ©@ßz–1uŽ:".âÛ&Jq"R_Çø×âPÌÀB˜Ü™H¿ `ö¾20¹¯¬6IÿRðoH6“ÿø¬±™…Fú/ þFN=ûÒ)I¹øægŽ€÷€/Ì}~ÖóÙ#Y…•ËýeÌôó³V +üéçÕÈúŸþÑ ‰0Eºö³³zVQêÿ•çŸ:ù{fêR"@(Ð}yE€*àßѾ§ +é×CêÈ$ý€`'Ž[”(1ÇÐ}©?Qêïó}'ý:ùMroË] gÇÉhò x@yo!xšëÌCú¨¿ 'êßóA¯þú/úðv@…heh~%\«]‘XÔX‡P þòÀødTÄ .èÿP›¨ üú 0€@Æýu@*üüýv¦HÿeH?1Åzõ¿<H²Þ‰Ô³#5 à©CÛ0Ô_u@<[O­ª $WmÉ•ZÅSÉ +(T >=¾Låþšžd±šBú_5ÿRï5ožØôø:„ó>×½§.>œøòãǤþªPÿPxéwdé?uòÔ?ŽÐø§âAÿ-±¢zp éÇ ³ö*?é×hßúÊçÐñ3ÏNгÏ΀làô3“gþ`FpæÙ™@˜ß:'™áˆ"Ò–Î|Ì þ«0‰Ã¨>Ò/‚ˆ‰±Ò/0Ž)ýaèÔ '4$¤þ:#Èÿç®I:ý(Ðq#nã{K@Eý;+êO êo,Õ x@Ôð€<ù¤_0ód‚˜ôß:è¾H·ÇÔÕ¥®Ýñò¿ÀõÒ À×îÚZè¾ÀdpáÂoüð• +?¨ðÚëgo¼þ<÷{sÀÔLN½0 îp‚±ãöÍ÷ Í=;!Ðý‘‘Âkß=kÄ–óæ^«ðý?<8÷“7*üe…S/ÌÆ €oY±æ¯ÏvÞz=ûæé¶Ù50yërAª~êhr|Ø_ŠUW· YWÔ&µÄ»–§ZµWÔ64¬ '³—·'^{6ñØÇ— àÌlý[?Ƚù¿zã'î˜Øš¼.•¨­¦UËAçÈ¿ãïð›íü&+ª[YÇ?· -¯]åÄÊåþ‰ªæþÓåÿlÔ½k¹`KòÏÎoË®x‡6»º+—C}‚Ìg™.ÖtµAb¹_‡å‹ÌkMÛ.å,‘ŸZALôƒ¶ ëûu@ØNý‡¿P¦5á°Ãæ|ìÄ|o6ÝòÐâ…-Q[»êó®Æ>¯nþM¾×ÙOyffQ¾ø©)4Ÿ>>8srV¼ðÔ”Tþ‹OMÂéggqÃxñSÓpöä,è…§?5í—p|JŸ="ξ0'38ýÌ¡¿ƒÍω±±rww— xãûo>ÿüSãÙ )8òÈ ¶ç‰¥‘2<ýéçˆä"…Áœýúé¿ü¼xì±élW;”ËÃsÇgŸþô3pìñÃ3¡Å30r{)¿5/eì¼®³­ÍެÖ]Y·r9Iµm–‹¶úUõþšù×Ö¸ÂÀ Ywí:Ði£º„øàä(pä‰=sÏNgŽ–ÏNˆ'gfÍŒŒ” ¬Oæý™T‹Wÿ®ù·YØœÐ{¢Æ? Š˜jNµµ´u¾¿XòhyæŽOÂÁCÇ#¡Gí2àÉCà O½ö½³.œ?÷ÿûÁ…ÿü³·´‹ÏNþá3ßûó?›ØW†7¾þê¯^‡7ôÚéŸËõfø'Ó™Úpôüßœ–÷w?ƒ‹¿¸ðoãÚÅ‹à§ýïÿÍÿóÕŸý§Ÿ.:Ïÿ敉é¼WM>3€ ÿ['pæáº…ÔÁ¦«–c€Ö¯»†/Ôëþºµ¾ú#ýØ€ Õ´\€îÐ9E¨?°¨t4%Ö­Y ²¾6¿×F­öŸ.ä¾éÝ ÑÖhxø_jj° bÔÐeÔ¹iõÊ–Æ: °ÿ´kWü? t¿þ]ËLœù+ðŽhitÐ}(s’ô7½{¥eñÉD0æ©Ì椮¬ÕI¨ÌLä?]öŽlÀ¨]VY¦;Tgñ°w½O&Nì.;z8n4À¢§¾ñÙôùÿ=#ν\ÁnÇñÆ.ë†HÿU«Ø±½éÂU«V þt~嶥˟´°U©? õÏ´ÿ&¾ú…ßGë_xò¸Îdé?ùè8Бôæ± @¯õI?œœô??7 Á-àùÇöˈ¼0¨¿-dÒïÕ?2ÔñÒH÷pqxásÏÁ7¿ù2õ é2!õŸ=2‰(<@Ò/õ—Hý%¸ Õ¿ÊšÞÓ¤-­-x€Ð³¡Éêêê4§ ߟ—`Çž²³<‰U õ°Pýiþ=\K®© Ô7ÔCÜX{ûãÔ_Q k¡r¦ÃÊîox`ÔÿÔ¿˜Eýñåû² ?¿ðwÿîïñ÷€î¿ùCró×è þ2¢¤ÿgÿáÇq˜œŸ;~(€ú¿øÒó2tÿÜÞðüåkâ¯ÿúMÞþîï.%ýðÊ«g´>Þ.^ü{×Ì~q1€Îâ_³+‘þs/¥é0ÔŸÔ¿ÓÎ3Aú!¨?`R+œú+òÚà2ÁJÅÂBȶZgÙ²yJ-õ'…G÷åå<@ýEÔÐÖ`Ì,ðÏEÒ7 Å0?J x-ˆ»Ô)ð³9é‡T²VÒ¯ˆúWˆf†K@¨”ûŸúì©PàU€î¿õ£¬ àÂë׿¥{BTñƒ_ñnT¿fúy\ªÚ/U¤’+2íosœàÌ 'ž;267]:Ï™Ônº,õ<‹ôŸxd<7;`6›svÂx´Â‰‡Êpêw&0t§xõ ûÏ?1'šôÏNO˜ Ì7Ò æžœÀ¹¾¯Îýèàè>{ý÷þüõ¸@y¬@pê³§©Plàà½qúÓ‚ú¨OÖj†›2$°vb( Ã¿šSMH$5åþ þãwÛšHýµ> ÕŸ¦å§ÞÛéLS åšF ÔÙájS‹®jÉUÉà2è¾<€ +€ô_¨Pú/E€¤?€ÀtIÏ)0:H? ÍÄ`DtÿÍ¿|M þqøÙø+ sá?Ÿe÷ÿ÷€ÀXŸ¿úÿþ€ÔŸ&8õùYº¯"ÀW¨?ñâ«•ô_€úZÔŸ˜^› ÷'ʨz6¦ +ýéÂÖtO68Õ ¤þÁ n*.a¨¿ À^<¿a(‚r ev­á=€už_ þ¨³Ô_Ä+t1ZhÈt0ÍšWöØ©¹ˆ@h̹¨PÙHúmžÈÄÛuºOúÿÜsÏQ¤Ñ! Šy‰¿Ÿôj€ïýíò=à—ÿaÝ6¿ÿmÊ @êyÀ‚®8w_ɤÿ¾’ŸÇK¿šˆÒ<@Ô_‹}îÈ8Ð1Ý@ú!^te³ÁÑý`UC@ò•3¡xúÓÏi(^ć€+jâ "‚úCHÿã á–µ-Ù”Ñɦq¬-ÐÐØ`sGM<œEý‘~  °³¢þ°xúïÖGêŸíNgûÓR*Ô?Ó™è6÷|€`•"àÒ@r `â¾¼Òÿ…@ú¯Ä‰ggCúïÆj| @ú_e’þ¸m¤'Ûógÿ‰€æAúy£ÿú_ÿ«yÀ/.†Q  þVè +,q¨ô1»»ff$qöX2w=¥üÒn:kë ™¨êmšÉÀæöúBK¾7 Ùõuĉ©Îuþ°jê= °¯ç= „ oXùÚÉä‘ÝË`b°æÌ“‰pïèò`¦xCËÆ÷Ö'kk‰]×Ôšbƒjõ‰Úv»LÌë>t¥Dã»ñ-õ¬áÞ·mM2©úÂm›‚kšG` °.UÙk µÚiÈEX™¦ÕË×_•¤Þ½âë©–\Q«‚:Þ“|Œþi×Â2AëБªvÔÞöúRwŠXÞYxàž»•ûÏý®ÝN‡O|ú¿¸XûÒã©‹¯gþü_þ†OÚÉwýnÉIc;¹©÷mª>©Ü¦E ¬öŸ\Á>ìD0µæíïtú…S³K¹ûÐåyÙ·Ë:èò=£3ãE¢¦Ïî™>²WÅdŽÙ{˜‚‹ð*¦ÊNœ=8¢™CgáÃ#÷Ž‹¹c3rzUÕ™ë×A®?KýØ`a{NìÚ¹mîÉI"LOMI%¿øÂ ûLÑÔå“ËÄB1?º§H¦OlK·!ÁŠ'Nžûî/l/ Ü4 2í™¶T[ã»+Ëßµ´ýëdÐÒÎRoo/B/:;;Cz{zAbíRkn_³[.&ßL·§sì²»4lr¦Ò/˜º£`’½—q׎©=E"LŽþ™»Jðè¾Q±ÐŽ™ºs˜ÈٽÓ» DI0€‰½ã2€TkSÜöÝ5,&Y·{Fu ­Ç ÈdÝ—¥wÚžÑ}©ÿÀÖ`Ý7tcRÿ¸ îAý‘Nôx¢F5€î¨««ãs°r¡¶oÃ&”~úêÈPÞTêO³6Rê¯Ïªûƶ|1C„ÎR‚é´¸HýÃÙA@84ÀÄ}ÔŸAý_þÆóhkÜ¿þ?†¥ àìÙÏ¿ùÿzãäó'Á‹¸S¢ Þÿ͹ód¨ÿRòt_@”(Æ õ—Òš àø³S2€‰û†DÅfM÷QÿÉ.ƒþ«а°ï!ýåþòrN€rÙ@PbPXŠ€`_þŠ û“E‹x‹  þq”¾ÖºðÒÈ4°#4p/ëʾºЮ"‚Rc©Dm…Hý!ÞdžØY@Ò<á…_‡ þ2Ÿþ» +@¢¯ÄŸþÛ^pâ¾_eІõDú!ÓZQm€°DK¯¹ÔÛi;ì†êÁzªzߋڊ²x@cÃò½¨]æí"NŸÙÿ±¡ÀÔžá +Ný'Fò€ô$ý09RÀÄÄÎüÄNbtÀ`f¬òI¼úË4EÏN•‹ñ + ··[ ¡x@0€™é2êO”þcHÿ›ßTœýÎkO?÷ €ÜàC9"ûï;0 +xJGú¯íÝÒ/ ý—^˘³¾¡Þ²{×ÐMb©Xª°³‚¤?ý¾4Húåa©T*³!S)øÄ¢"@€úCHÿ—2€ôµMRÙ€ÎЗÄo™ éÇ´;3Ô5=¤ðEÀLiöØD• £2inHÿ­9±®2ˆ§ÿ&¢£ + €*Æñé?ÿ“×€ŽKý­ñVèþE$ÞUúƒÍµ¸HúíׂþÇ €ˆøô…ô‰hôõé?ø@ì\—PúO, ¦¤þq€ç¦–‡ +Ý@Tî¯ ¾ò4Eø—zS3;ÓD]ü%TIˆøô8ñe÷¶æÍ»°ëæ® +ñ‹ÂâÄ_;¸¹)PèNt©šˆ¯CþºÕ=Û·¾èHýé,4龯‚þ¡/ã‹ö=×.gèêä*ßs²ÎWïDô¡„´ÎR€GúžkxÇå@¹˜§87õ75wÒ € + ¢pº¨ê_e‰U¼ ¹s˜ÈÄPLlÏáPe¨¿Š(lÏÅ `îÉIyº¿Ðèøg:3ª$ýº·ê ÕœÂäª,ýßPIÿÙð€`(¦©?Z_,uºF #ÞŠÞˆv!jaU "à ¥6õ§Eé¶ñC@€î§šëßßH§í}IÒ€ÒX—i ˉ@Õ(*l é¿SÒJÒ­ô_HâÑç·\‡ÜŸxâ™™…ã?ĸg—åÄø8>üÇ¿yè`<¿r“¼úÚË26tñ»™ûBJ~ÔŠgö%&Š>wk]ç\›i§¶²X.¦Hý6×CjM­è¼fy¶=½×Õ±‡Òu@§¼3•wfY—HÔ-¯ýgþéôˆd&ÂÌH꫟LŸÿv†Nfmj຦‘-PèjÚµ¥E oIAykÚèM‰]74onš-¦÷´Ð Ó£g›DqS…¸ ìáblnÝÕÓVîOš«‰ê„‡ƒ]†×úÍMØOþºFué`B¼P°¡Ï?¿B¸°)9èbœ|nmb`}rðú=üà”~ÇÃßÂõg£›Áõ ‡öÖùì_ü¯•£¬¿Ÿ·þ2û_HƒŸzyíÚæŠš³,¥ÈUM‡²ýƒ-×™‚…Æ Æt2;:<}9oÇl©ß¶ñ¢Ÿ´t;1÷X1ß=úÑÉñh1êÜ:å‘Lì.”wŠR¡Êü$ÏôÒöÏ-FùÖA^;³¯|àŽa+ Ž£ï{K¢´=7‰ Œ•ö çË¥A` o] ñ_hyo9wSN1ý¾6¨]“Ìwu¦Ö¤*´¦ò==DH;ÊÛõæÞȬÏ$W%‰ é"ˆ/´\ÝÒR>‘Ûí7ˆ¹è¨¶µm,då +—¹»è'³›²zG }¶+«ã¨t?<صÂG +yÆhÏðrº|ÅráÊštçÆ®§þ±q? +4{ÌNÿŸøÄÇ ƒ­Lçur¥í4¶ÆÆD[º!³É’ú®-©|ÑjÅ¢ŒÜÖöŽÎ¦äšÐÑ8Sk“Ð\I Àʨ­|×JH®Iöt÷À¶Ám¥‘ÒØ¾Aý|؇ó#©ÙO»<Ÿþïþöoÿö‚kÊ»/ü§Ÿ1Uî.ݾxáço¸wä+_;I|ãõ³qÁ5 ãÜù7Oœ|ŠO>?80Xèèæt§_<Ï??øüçO¾ù—c|3ðü=øb¬}þKsðÆ_œu¿Åf¿JF„y€î£þƒ5§JÊPÿ¸ þ’þö÷,I¿@ú!¿y5dß·é'º¨ÒÇ‚ v/‹Ä @ÈPa‹Núe…õ€úËPÿ`Û™ÒH§°±ò”ó¼®qàÚz@UUCä;¥é»Èý]G7uÀpM1±¶é6'2ž\{26œÝç‡66™ljêl[Ø«tô‚‰½±…ÄÁÐ} +Ýéòö|܃úÃSOÙ&Ú©ƒ©¸Hýe{wþ*§r¦›.Óìr¥ Ykà,Ö‚7¤›ç½#ûm•mØè™3qU¬øX´zæD¾7ƒTy þ÷ xˆÔßœ`x¼ àÛ [s€°I¿< t°¢™ÇGäè~i02€Bd©–êODý'ú͈ï7 Z'vÐUœúƒè~Þ5ÀÀ=`\o€²@÷G>¸t^ß qPC‚IÃe¨?ù¾»©y@©T’(¢ûhÏ„‹~5`q`9Á åš¤Ô@÷ƒõ'¢þ…™Ì¦fó€f,ƒÜß{@0Ös)xå_}EÚúˈH0žBýÝW3üìoþ*€î‡¢Ô?nµ‰VO“÷•áuà¦ß<µÉéÉ@¸ŒÜp?Ì)سo@`§b/NÄ+€¸Ðd!ýG÷!¨¿  Ð›+œôÃÌH  ßA0€Ô»ÐB@÷ƒTUƒ×Y.LÌoHê H%Q¼®> Ü †Œ»ªÒÏS2<Àl`s«¹NO„×j¶€* €D?Ž @˜¸—+òá–þÓÙàÓ:h½É}§¡¾Ç©ÿ¢€LUy@¨0+b­Ê¨T,j¨¸!¨?-@†d.2úY™¾Áuò ÷ÇTh¨ªXÊè„ôŸFâOSGêOÏtö-ó¦Ó‘úg:St$ýKUqxú÷žXh¯ÿùYñÆÿùg¿Ž þD  4–“úã5o½žýâÃuúýÞC;k¡Ü_sæhrb{Bçþ§›—­»feÏÆºB’˜m_™^³<¹¢–8´917’Øÿá‘­‰[>˜Èm2ú®«ëj[™NÖZlIdßßïµQ úw/_¾rÔ\a©â©é¸uåÌî$œÿNîùGÚ:Û+äÖ7VÊkTîî9p]…¸pn¬?Ðm©;-ºÓÙöd`©÷Š/¶7×kz¦¥>6=¶œ æíÉ-ë¹8±yú64º×§D¡7SÌž:¨ß:âÚ1×.e™ý‹/™&žšN½õCú•ãs“<{á;—ɹú·WçHªNUʬ[ä 0ÛMáÆÍþ« |o鯢 +ó=#•¨ÍnXDÇíPp÷¥ÎdÕàËô€Çç>Ð%u†|oVô}`ãàÝÂ黓ì|·±5JÑæ)潚mgh Ûs“áÅùû»Îð Q.æûæ™ÍP_·˜1Ýê}bK[ µæ±“è‡vyØþ¾öÄŠrlùþ@>Ó‘:ÝèÖA‚ü`¾¼»dÁîR~ oòîýyÒvwß|^®›ãéwe»fŸœÙ=Ò³¥Ö­[2n©$­~u}KKKfƒùÊžÛ÷@¦3“X•èì윹o†ž1wl®§§‡o1|ë0~@ ÃM~Ah®kïIumÎB¡X»cøÀäˆ+t?¢ñ»Æb»íóu™Ô{m…íÒ­æø§µõÉ´¬m€®ž–Á[;ˆd÷¨Vio¶gk›uÊÝ H“x ¥!»¥¹¡±.qåJ°Uq—ƒÙ5kïnà_³ƒ=Ý¥‘ÂľüsxDñïa×ÓþÝÅ¿»ðsËû½Äâÿ×ßB8`@» Eþ©¬ÓñóÈýÅÿëoßú…Íÿ·ÿù?Â…¿9ÿÿæ¯/þü"ñüùsç~ôÆ‘G§þä«/Šù\úÅ—^8÷“sð×çÿЧˆ.üÌ\°f;Œ|ÁÞè'çòÛsº0 lúßÙô*.\øéùóo*N?2XÄ nt€ ßÀ0¢ @ PÄ(ô&¥þKê_eìÞÿh€î~MXbzl91qÿM€¤_gÉ>uŸI¼Ç©?QOýk7þßúô¥NæÁ|oA[Ôhl:“c%:—£þj,*xêmsèaU»´Ð5€LÛ"Ç90€îÎv©?N€îúnŠƒ»rÝ"¶tI¬ý³²§þù¾l0€¾-] HÿÀ»dè>°Ì`ZZ•hÀ7ý¾vÔ¿ë†.ŽÙÖF´Óuð€` éW”ôÛi6»K§ž=<@ê¿ÐXìåŠ/Ð)@4¦HýÕª @Õ†_3€ººº_ÅäWT € +õ€ô·¬­Ã §þÙªo¥Ý Õš¼„eâÕ?ÿ&ê,4Ék• œ89{ê_|õ'b¨?Ò/x¶Êào/\@åQÿ…€îKýy+tŸCØr~~%›þæ·¿ Àžú» Õ6pñ¿ ýDþ‘ç?¬0’þ Ý—¨ó£þÝ—@ÜtmÞå@ÛšºE `}sôÓ.¢õ·«ûÊ€î $2-ž†+kí·à#X@Ý»jñë ˜-þvÝJZ,=Uõ é©ú@ç—5t?pp÷H0Šnyu‰?éÿ%*@ú…¦+ý=\´]Bý—ªÔø~oºañ‚6üV-èì hø­ ·4 ƒøYkéÖ«ØH(ÿ¯J.þ«‹¦ÿ™µ‹…ž}h&ÓžR@Tî/Py‘Û”A¦•‰›|ßO‰fÀ$ýž#nÌC'ÌZ –#õ϶§ª õÕHðÔ_Pæ«(ï.¯o_/(2À³Ø€¤_9–úÓYʘ¾ÐhÁèHýIÿww ûäþЬêt­ª  ä<@05slfé +€*Ô¿¼/+@ýN Ü_Hý‰8Á% @ €ôÿ‚;÷?€é~Ô$ýÒô ¶g¿ýb,ý?§ÜßÔ?6³qá‚@ÇýíÞ~ôF•ø·q-@¨ ôÿÇÿô×·Öõ¿,¨ª2tŸ"@Y› +€hÀÒ-‰P·ïºå €¨Ü?¹¢PŠ +GÄo¬Å àÿ®†ÞÔêq wÕ&VØpG ­)¡ + ¨¿cNêOCúÉýý‚Þ®aþÁbzáàOh|)U`[LÔ.ÇÐ}Ð÷Ë¿/ð3-hÉÄ +¤Ÿ‚è:|DÞ á·® f°èeÀKUEê¯ + Û™€TÞˆ‰µ¦H¬E˜é×<è¾_Ž3û‰Wç~ ‰-Sê/@÷ù´ˆÁ„¤_ÔŸˆô˨4þ#˜ê—S˜æº&ÀÀT²3ƒúˤþq!ý—h9j6ú³˜„ +@p©! p @÷e€ô³%VEê¨0·.0³tê¿íæþcºÃ<-Ö1ë8M'‡7ÿòß"µD¨2€³!ýzIPÒ¿h ôv¡IúõZ ŒIúur*ÈÌ.þ— ~ +Àkß=[1€ ¯f¾ô`b¶XGF—Ád±æÔ}‰'Æë´A[ó;ÙE‰ýhl]³|¢˜"BºaytƒøDw‡¡;õuÙUÁï]Y´M¨0˜Z÷¾z:©5ËAûÞäÎÚã÷7Œ'fFjŸ›nyãåqìŽ1ѵ±«gKw ßß(íº50xó`…Á| ps…ôÚôÐÍC¢0T!ÞŠ·…Ĉ·h쵚x‹-Û+t]ßÐùvbèæÁ@ß}¿ŠCCS÷OùKÀºWŒxâ“Oô ÿF°”°I„ ¸HÙfíì®ù~;å2"è{‹µ«~Ëo¬OzþèïÜ€=DgšJ@Õ-CåÈGhsÇf3ëZ4d’ãîëÛÎÁZIÍEwW‡°9]T'{]Gns§†è¨oÙÃ¦ÌæëÚÃü®Œ&âFW¦ò“R>úHzm´ù8ìÝÝ9ä{ò¾Yë8‰ß¼qóÄÞ‰Ñ;îdS‡¾›‚â÷Ý8`—6e»õ°gKß©“§ˆ‰„=\÷¾uŠôÈí#l<ÄÂöAؼ©‹wA£Qj/”®1…·èìꄉ}  _ç#˜¢1澜 ‘þ“i-_Y¹ðª±±1Ó™Ã;Šå½ùÉwÉfÝOÄèGiJÅR_o_G{‡ I%V._Q©H’«!½6Õñþæ¾ti$}Ng:“¡ïênÁblj“å­í©æ±nUÔ^a×7„•i»ºÏ +…ÈoÏÌ>>)Á×¢L$»B?ÛòÌs³íM¿pzî;þæ\…%Zø¥»™]wú“¿ûȹ½éx-_ŽîA$FÇ3›R¯|÷4¼ûQšWþA÷¤»ð7o¾ö¯_:¼\¿ ‹±Êäåél½`ÿÁëk¨¿ Ðýž‰x@0"êôc€ÀËÏö@\ÔNŒñlŒØôÓ/œ®ð…S^¨À8ýÙ +§bœyñLàtœ/°Øˆø{ʼnÏ[þÈÂÌá劒~èîÊÄ `êþÉ?`©÷¶A0€áeP* û€:ãè¾Ô?nÄ}wÝ<…)R²o Ÿ¶Ÿ‰½åKMà=à.óbèèõÑÛíì#Ô_€ôÇ \SV;ÀÄÁB0€©Ë—6š<0¼'+ptŸÊ@õ'R èNÁX@îÆnêÿ+ŒÜQøG3€¾üœ àøsÓ—oÏš©€Ô?€<àµg“ƒ›WÆ @€Ò"¼¢¦ù]ËDª¶é'êO :€ô0€xËÖŸ:–ª2äþþ‹­­üŒ-µ&5&¨†õ¸ÂVhdÀãÒ¢·¡=FÕS¿9Hÿ‰Úò ªˆÏ¹°ÐôÎëÖ2×eÅÅ ý:píºK)uUûÀUõW^¾ÌLO²iR/ý‘dÚÓBÃ’¨?‘‡¨vx*þPºï€ @ÅÍ#õq8õÙH¿ê€è~W›·<$ýDl€ÍéŸ9:kNà¤_”FFå@î¯ôâ6ˆ€inÔüné<€]/x€åÿ…‚D‚õ§Ã¢¤þ2©¿ €µå 'ýD@ú+¿L3€Äª üÚ8`}‚ û¨¿n}ÔŸ" ¨?Øé­Ný〆¶‚¼ògg1¢×ýЖ6rbzCjßdé—5€}ûG^øÜ3ÄË7ÔlÿÔ°<àÑ''³ŸÜ²˜ú›¼ú¯Î,YȨB ñJÿå™Ö $ýÂþ¸"@é¿ð»]MM¹XQÿ`¨?ÀÿØ ‚®-4¶õÐâÓ%ý:6ã^8ø÷Ãì?åßDãGm©ø6ý¤XËnH¥¯YDmÕøÖ|ïòZº9ñë@•úëGV¿³¶\\¤©2]ƒ‚ú['ÒwÃM÷xÉö¢O'nêÄIó’kÛ< ž`±K€r°:Àmáx€†€ätPRÔ_ ì&§N½pZÀÄ… ! žžž³_? q°ù!÷U@ÓÞ'ЀOha(¨?h+­2'¸ÐàF‚Xàn3'ÀTTÕZy€dT&ýn (¨?õ—xõw õ/ï. ýùí¡ãB׈Ü`*@âô €" "µ(™î +Jü"q÷t¦ñ‘Ï“íMtS<¡Ÿ±’þȾùÞï§fŠ5plOÍÜÞš#·Yÿà­‰Ó%»‘šÚšÆ¤íüDH®ªé:}›Jƒ©Žkй6‘ZUK,mOµµò‘ÖvgíNpËW.ãã&Ö¿›/Ìd+›Y~êhjü£µS%ÏäîôóÇ2¿Ÿ#~dÇ.휡-¯]žXámŸåÒêuJ^ª‰µ†w7¨:m"L4b†l¾Ÿçrˆ-¤é=Mr#:¡ï‰¸½Ç¸±;-ww£ÕXäj—Âøß±£>mN4®iljnz¡:¬$6ðΕïôŸNÔÒ­éO=õ)á'ýzmÕ +;*\ÝÜë^\—3­Éë½à†Nhl:צ/u‚iU#Õ¸©w3Ñ?ŽµÄŠw—µRÿ’&‘´Æ-â ü›Ó åþ øI®ÍLÏ4¬Z‘nMFÌÏW_ƒ‡×TXwõâ,5ƈOYÎÜ3s3Möôtk»ê¼Îÿf¡»,6 ;n-A¶;ãßOœ¸kR¼òíר,''§O}öt~`mãÈ£Gμ|†/o¿¶-®OÖ³Øõb~kaðæ¡ñ»ÆtòåäÔxy÷Ha°-îЫZ•æ&Þ•hXm{Yrw¿è,íÎê õgå}Æø½ƒûg†Ì@€ôãÁä–iFê/€Ù£ùîl“ú²€<ÐÈ6€úÛÖæ® þ;ëe³»ßÞhx€ @ëø'ÖîçètjWÝ꺀¦(ꔆ…4&¡~•ï,ŠÎiklh4âMSòû]:Em¾.©²ìCÞ?p ø‡®ýšð柤_{Öã'-Ý.mê þùÞêyPÿ*H7'oúÀ¼ÙVÄîé/ðkIwm î ï¬F©7½¨è§Äp‘ªö߸Œ|lè:X5åï ןGýO|ú3Dt?PüHQÈô;Ž2Ñ}CNÒ1  ëºLðí}^n]“4]Õ¨?‘M:Úª5gP€Ô¿»§[ê3G'æž™@úeAýgŽ•—2vŸ…u« Ô_:Yõ¯]±Ü~šT2Rö÷ þ€úÃø]E Ý€îãÄÒ˜]K x ôtàÔyØsc“¦÷ÜÔØÜ“¹þêÊé'š t¦ Ål®?[ú¯HÐÁîwÔŸð¨?Ða }[Û„fÎoï ôo/ÜŸ@ôç\ú/‚µ·Ä 0tõ |  +é'ýGýq¤_ @úe¥ÁÚP`¯¿¸ù°ìŠeËj+øoÛµyfkÁ@×y‹øt5¶€ÕÑ5ëþaô ×Õ8ðÄ̃B„M?%R:¦û«ŠñÔœî;\5#ѯj¿‚„ÓÿßúaæÌ±`?9{­x뙿äJÍF–0€TrºŸZCµÈhßNa«x!}¿jÕ +ˆÿL\ýi €ù«nõLCý³ëLÐSÉÚ¸ú“þc[ÜYÚ1‹ßíàÙK@ª±þ! µ¦áÒ0>1&Fû¯ß5€ê€@‡ôé×]Á‚ªô?T*2²¡ÀB€ÐÍڀϹêêdÿ´kAý™.@ýAêOú ýõ¤`ò€Lf]ðÛÍÔ´¸Húé’~ÔŸœ,¨ÿÀ@Eýé û¨¿ €Üé7õ§p  +€Üßd÷Æ&:T¨¿êÔ_З7ݧ2€ ܈u&{•6€Hý« ݯ°¹²[-)¹¿– ^ÀôÑâäÑ‚  Rh P) ¶Z¢‡úƒ€¤¤_ê ýåþÀfÔ?TÁP<àÀËE•,l2€pn/1naz0€_ª!ý¾çN|’~MÒ_E|þx“ô¯N®6ˆ¿d‰öËÀ+ÏØõ_çÎfÝx€ž¥À^{ámê€* •¶Ÿ\oMÒ!÷_Týi|TxÀ¢'‰.l‹V‹€ïÍoÙkVƒïÇ.ûr¶øÅn“wßͳ‹‚`ĈoÑ¿,K,çŠÚ +±éqˆQ„" †î“þ¿ö׈ñ +@ @÷5DD÷« €ô_0xóP0ïÏU<Àm½ àrZP6Ô þùíy¤_êü‘ú‡ +`A   V{€ÛÇ=ñ©¿ @êŸZëÓ»»ÑH ÝGýñzÈŠ€E õè¾À4þƒPÈPÿ`ª$Ù*¤ÔÁÂÐR A÷¸åȪ @ä©W¶w(ý— ý³O–`žœû—ëÅ©}µÊýçÆ,ÎŽÔì/,/&¦‡—z(5qk½pânw;¨RûŽDbÐá£nk^ îSw¯ª­»ÕÔjw¢¼½–xl÷;ÄäöšÙc¥·^O¡|û°ß;…™ÄÌüż°KñÝ.ç½bŸóRÄÿÇìæl8Ô®ýÅK×¾õ“ì©iSüÙ±¤J:z–vþÛ™÷åKÔ“<bÃ;HyCâ +¦o^—*o_ü\ÏkS ÌÂkÓÍÕYùRm©R#Þnʦý™÷·U&Ú`Qä|–U#Q¡Í=9›w?¾Û³¶VÈmÍæO_œü`&=U³1ûäÄ讑L»ÝG4N-$Äíííå‘r®¿pòžíÕ×àÎïâñ§óƒ…ÀéÎ>4«È]we´µØ­žûr}@'µ&]CLúg•aúáÑòÁÒž=ösŒ:Y³¥ÕnF¤6oSŒ·ØteÙBÖµ®}d7å °½ 3øOarºt`z&îËO.8\$]<ŠZ•f£ÏvæŠ;z>Ø éµ™¦÷T†ƒâïå×D-¾>ó[{{Zèuéö›aÿ*9‘s? ƒnöÜÔ±í#0°½}°ØLWœ ïæv‘ÞêºÅ‘òw@ÿÍ^©CºûZ³=­Ù\›ÅžÖ[üÏU¢þ]7ØÍJ}ÜÔj3÷Z +ÏKznjóô¥€™‰è~7 éN{úÛ Ýž²N˜ù¦6ÖYvgÆôÍ+ÁûQ¾/ï à­æ0€‰­ÞÝ þˆ} q@úuÁ0Ð"õ§yõ?ñ© ng>“LjÿÓ*-ö9/ECcƒà¼XØNL¾­\Ÿ¾ +üƒ-qE € øÇ®%WÔ¢þ2ba°úÑ‹6þéË1€¥~>,·!÷€ÐªEdš+7·8óÒüë<â¼xâ±¹)1s¼˜}¶ü¶Ì¬0õè0Ì}vžþ\…øäNù'bú`H¿l@Óå@ð€u×®«x@Ì´>jóÖ‡ºÉ5*ž þ2©?°2û{‚d6‘¹[ âf  0’Ñ9„æ +ù)>ê/@Ç…Iw*n:¤ß”úSe„ @ ôîœ7ó€\›I®Íèo#÷Ç:7UÜ¢o[;¯’ îìÀ~À.‹¹:¨À+Ÿj @D÷)@< ûzÿ­€ô`t”þGE@¥u­_Žô@î/âoþËìÿ4€êÛp—"þ?²q/jvПd'ð“¢öÊï]úÃéc—º„ú§’µ@U€úç7%Ñ}=´"àò €võ{¯;™çº%=‰ +À÷æ7Ô¡ðAjŠþÂ3Y1€Çlqœôß½&î +ì?TÙÀþû ø<“¼$ð`I DÇ?ùÄ+ß> 8;lŒŒŒ ôþ«aûïžFýÜâ@tð€Ì†Œ Û™I¿.0´1Ÿ¨@÷603=<@Óš&yx­u·vðƒ«I?¤ZSAý!¨?õ'šîO)*÷—ì»·<@ е ²; ÀšøUŠV$ý"¨ÿÀÖÞ þ3ÇÊAýƒ¨и0° í•ôßb”þ«Èï4¤Ý‚~¶?<ÝGÊñ€Ì¦y€#9õ7ú¬àµf½)<ÀÔßURUÁòÛ3Þ!bPËfÅÄTÁ¤_õ ‹ƒ#M²¸Å›¬?[WÞž”ô‹…€¥ÿGkQÿ`'ŽÏââããå@9ÆÄ]âó„­ +âÓËwÞ^a|qÆÆFÅâP`GñæÀÍÛóba¨Âp!PøH>0T¨PøèP`èæ@i¤ zz³CÛó›‡nª{ß¹9ßš”ï(/j4 @é?øÇ‹µøønf§>Í~À5êÓ2ïM€àZº9µ¥k£°tc›Aý)t'¨¥Z|<*ÞRk’KÀRC@Ÿ9õÕºø €¤_ðËÒ þ0óÐLð¨2"º/õr @û €ÿºÊDj $ ÷WúOÄ*0è=Ò­iÀ@iµZ¼R‰ŸÎ(éïéí)Mýñ€Ù£“Fd é÷ØÖæƒ4K—‰É¢‹ÛŒôÚtê=)0'ˆ5­¡çªBPl/¨?õ€D?x@WO›þ¥ÿ¡’o)¸€<À€<@@ûûƒð*¥ÿþU”òt_€9Ad ßh%Yˆ @£@ñ! ꀚŸ}+sîå ^|¸NºÔÇvÛâàà­Ëßö%ïÛkçî©;u4IÜkb «6•$ô7Œƒ¾M˧÷¬<ñÒŸ} òðd…'>½4ýÔæžþàS™ù³3ÇïÀ)ž/Ì.J˜ùا&âË?qr²‚ŸÁ¿ÝâÄæ×qê ³ö¿üáôéç€ÎÜs“ÀtˆÏ?{|"pø±=§¾03:ž‡S/°Úž™Gö”>æ§ÿÔSâÈcÓR·Ëi¯|f‘ëcCs>^›»Û/#Ö‹]foé–ÅÇmh©U h¨¿²öŠãŸpmáÑã¯njÿ Ö®^³ä9N§?ÿ9ürÖýªÚî–'ž95}dbbº`ØÉ"ØÁÉéÂ‡Š¶#=Äþcך*™:0Ã<Ì™'–F{Hü™ì¢rúú¾ÝSÕÿì#·Â‘ÇíX(Ë™{fæì×ÏjxÞüÁk#· +{-~dhfz’¯¦££ý‹ôE)àN<{J¼ñú›çÏŸ?ýùgòßÍ?áô½ˆòà ]2&¤ˆ6¤7d yvº÷î™=^>tl—ûÍüþûÍŠ¦)—÷FwƒްbÖ0fÙÞ\aÇ-w@y_þ‰OMzanêáQ÷1ô LÞq`0ÐýñûuîÊÔÃ;* +ÍYÞ›‡m7÷ Ö!×׫0o}6¸Ë»ñõÉõçŠÃùñO`ìnÿÓCÃ]ÙþT¾Ð. +#,-50”¡ƒ²~´nFUí°þA£okŠ™®îötgª/ß&rq"— HyØÕmt»Îú÷7u÷´äÓ©ÖdÛ5Ⱥ?Œ¾‹®Í-]]9<@¸#Àñs2×§ P̱dÁÄVr«EÖøèöMm;ð`ö?`±õo}wž þ@ýçv[Ä 01³{å‰û’ýº‹@÷ƒôõÇQ0¤nï<¸ðj6nÚIàðïŒN=2,Ž|rìþGJÃM>Äœ"šÿ±Qßy|Ž==Ú\4QϪ´–y䉲`ºvc1ý¨ÁÖÓ³£R:“¦Õ¹ +®“óû™ǽŠgŒ€æ ðvHÿìÿ…Ó—ÅØÿ@1ÛšÁˆÀ£scP %ÙŲÝ"L>Tþ àm*“~ï’Ú­v™PXp_ -k@ )Uê¿°%jkÈ/qñéNIú库=<6{ìÉG« `êT{‡kêè@ýBž&;t)˜zd×Ää6<@Û^ܪDŸ‡lDúRˆÎ„1سgÏÜÜ6@çäsO…á œ;מûá9yðÅ/ýÉŸ~ëU¼ö¯ÿ\ è—Ç&â`RžíN¯]/õ—õ'Jý‰0õà˜<¶m«x€nMêwt÷do¡Þq‹À¤þD €“Ôã¤_6€úóî¨?‘]Rê¨N⛘-{ð€¸d7w@~¨§´Û¤€™‡øjLý±ÓÍþTï¶6SòýÅ t<èHúñ€ô†4ºßÕÓê @eyÅgfA_N€ôKý3›Èè[ä@çF +»j0‚ú;q¯õçµù›»z?Ô^eÀzŽŽÙvˆ ý|ª¨?¶€Òÿ¿û³Ì¿ý\[Ðe;Ù€¤t_êT;W‚ôõ'ÊT(—®»„˜žÚe7t?xº/é·Ž“~½<QÓý³Aýhfê2i:º<€|DêOGRŽú;*†Ál^ýé8õ¯2€™ß©¼)0ÛÌãeÍ'¨¿*¤_6 ÔŸXeHÿ©“§ñ/o¿¡ö¶ˤÀ?XºU@~}C©»úU +µ«×Tn:´”ÔÖšøóÛ’ðùÏ!ý7£Òÿ§Ž?¯”û£þ¦ÚGÍè˜9|õêOôÏNnß¿×:hý<Ñw€M‰Ô?`h+Ò¯Ô_@î€éþ}‘H“úcÒ(Þ  «Ó_!V°VxØöÿH9€ç%<@ñ–›oÙºßwcN ûP+¤öè ûŽÚ§êm5V°R°¯À©¿}“CÁ&§KÁ +Å| ÿá¾`~ÔÌ!éÊýMý#h"ý2€ª +@¹¿¢Ò©¹2kKÿ7Ð7¨€ÒÿhNI?±R Dêÿ1൨0tŸ‰Äüv[O¤Ÿ 0¶gÙÀ¼! ‹¯f¥Ë ! y€*Ï=uRÿ·5€é=+õx‹Uî*€×?×¶Ðþ'Žï‹W †WÒ€„^ L÷CàÔÿøï€^…îûÝqûÔ„×t—ûÛ–7]ú[æþ°]§~ìSûTÈ<¿3*°Îbé?è…–\ÅôìHP6 ©ÜTTÒüf+péQ ËQZ¼¨u ~¼UÀŠî€0€ì†Tæš«.Q`¹ÎÅŸºD ÅÇT +œxæê/ Ðסñì?ò÷T¥PúHÉ¢C@x_7¹?Q6 >Qï7€#Oé¿<€Nÿ¤fzRàsÿ?ú¢ñ¥?9ñì)U¤ÿÔîDZ‘ŸµëÃÒ Œí¿¿7€¹g&Îä}€@yw90\*ˆ‰ƒeI¿ê_eöñ>TÔGŠî³wÙQÿ`¨¿Í«<îÈl Âœ>~² ,8ë>}dÍŽTx̘|d˜È +LÍŽ‰¾íŸNôQ}ˆl4Z+˜:2ÌKXsú<ÄB;¶mÙ.g ýl$ÁÍ-ÊpmY¨R `òhyÛöЙ¸øv ·u±¹þ,qü;CùøSOÀ‘Ù)/o®½õ£l…f*ü Æ÷/¥ïU¿ÃžLÔfÖ&ÓM«€‡µWÔ,¼ ÄR í'z.ú³_©dâÚµ•¶‰µW%+>qUòJÀ ŒÅnù¹Ô¢‹ÎL;ýùÓOÑŸ;6§Î£Gî¶={dö Fù'¨üÜw±ÿ~“$É·¾wuàÀ 0ä·Æ{‡}´ctŸ‚­9µíM*¶[ù +Ð9òØ0ÛñOMá•—N?}dú‰C“#ù¼èù@Ͼ}ûtÆK®7·ÿ½þÆÉÏ<ÿôï>ýæ÷ßo8žzúÄP¡09R.ôögZ۰ϤÝË3ß*רš¸ÄÅ¥L§)y¬6q@ú¥þ,Ÿ8ðð0êOD÷íYÙ@4à°u“?imõ^2 ÏmȘUâU¶z°ªöÑkú ºÏËÉ\SQóE[•,Údé¦ÕÈ:d z*ß™¾¶iµºO'»Ø D1€§ž| +0Àf¦g"0@VÝ—AEýçÛ€Û¯Ì ¨šŸ Ï:Ný=º‹¨J[OÉNœ“ þÙµ©¸èÄMÔ'ÀäDÐO"…kŒÚZ<@6pàÀ8Òω³Ïêö;g« dåè¾ð[²3˜›ÀˆÖyÒv<âÕ9{(Lθ]Õ½(AW´ÏÓíËt˜Çt?:õ½©ö{Ud|>v 2¢¾)`w˜>Z‡0yȦk}'ˆ€dËñ]ª @0CïM­ @måt¨öéȬ& ö{0>`0ÏtµÄ  kK+ÐAâ»{ýµÄ¶WLÐ ‡‚Û×'« @ÈFîìŽ< ¢QÞ  xñáºéà[Ÿº*pöx…×¾x´>pêx6pú™ +Aý« Àö ·SÙVeÙˆ,º¬Œž‡Ú,´ÑÈØdm‡ŒÒþIfVÌ–‚Hý-ã"}·²àKóUHú‰¶ñ=<̳öÔ,ÛíÆÒkVL°’’­¶vc°Ù”4¹d +Ý—úË xVèkPgì€#Ç €ô¿p{v¡Àì3öùÈ xy‹5Ô@÷ýã_²a[®OKýý¤¨Ù©;- ¢ê.ÍWÿö¼[óóÒ¥FoB«2€«ê¹É„ @}Ö§ÊÐ}Þȳ¢–¸z9Aaë"UŽ*y€Ù€û…@ œ lo~ǬDMgÃ#–Ê}ùíY"Ä+muDK>Ý[‚ @ ÑH¿<0€L2uö¥StHÿ« @,4Ò€*¢¤?n…B¡Ê$ý¶ÑºÄÖ¬«H) é÷Yü£{*Dê €:À:3;¤þÀ¢<ô;¯“~E{ê>ÓwUšS6 Ožè¾Ùƒ>%^E¶ç<é§ö…ÙãUà‰ÔŸ(éè©ñc]Á,ýÉ”÷Ú @Ã>< 2€ÂÎt¶;•»±Cêo6ÝÊ:7¶‹`*”þ{è÷C@U@ õ¦ ý§þDú³ææ²w^àÕ?—Îöšú³æÄÜÖTÌL ¤Q6¤ô_@àâëÙ·ç»Þú~ŒäÄ^l¿„Ž<^ð½JýÙ©‚Â:.˜-C‰ƒmCÑIæ¥ +`ö™ ‹ÇÙ*žaÒÿÌ„9A¤þ–ˆEc;ˆ;æ×(ïŽ=«9Ý»˜XÓ±Ä?›2ÝwË”ð¬ŸÓI¿"«D梧¢%x|è~i,<[>`º£¸m{nt/–P1¾øøÈN04q0Od‹ÕF˼ß4½tàÁ"°SÁèø/Ñ}„LË"PŸŠðE +kĶ7ÛþI8*Ì=3911\*æ§Ü3º;ù­v[¡Éo:å}ùÉ;³ÞâX¦fFáØÜÁ÷øcž¤~èhÍæÎÇŸ!N=\ž>2'ž™³Ó%UÊ«¦ÝuàPˆ.“ L=²Kûk8rgÎvÒ‡ +wÞ=Þ ²;|ð–€vœ}÷æô<²£Blßj÷-pu€Ø?SLLæAh|Ôá3W>ËC:èÆ©¹]t…˜¼ŸOµœëÍìº-‡¸w°©½¥hYv~;©º1XlÚiêoqg&½Á~X†N¶?Ý7˜îq—òæòQØ•Kµ¦r¹Læº4±4V(”r¿%“ÿp¦´3 iûm€Œ vÄ+  â[ZÀ*€µÉT{2Ü®’æGc>zØk®ž&¢œznjååë;Cô¶`3Ý9ælÅòîv¤ü#¥ÝÙð¡A͹—ÓAÇMýeðRÚøz‡õCxú—Ó²/ýÞ<üÄ…0s”¢Ï`[çk j/bSÓn óg¢íÀ€y€û +A QšË7¯þ1€`À.Íœs'ílQIÿB@÷Kc¾„ç³Cú‰ÀbùJ†G»ÕÙuGêOG€ÐÓA÷·íèˆ2¤Ÿh{ü¹YŽÊÿ…îc² é—õ× Ú €èåí7×PùÛ‹7û5óîЉú_ÚB[*sGšÞ]Tì<@}š @ftVÀR€øÞ‚Vè_lè §ƒº/ À«ÿ!вTOØn©æ€v- @êï:™áÝ=2¥º¦þQ2DdûW¥«í õŸýä8ì@ë#c@gî™™À©/ÌN<;Ð;Ëþ Ô3!º¶q.À³1fàÔ 'ˆHÿ±'§e^úuh-2—ãï’ÙO†2é—úÇÁ$ý—oñûÕT€üh¯‘IúÕGýÌ01µ è þ2@÷ƒLë½ `ò€*êO”úû³×¥ Û³² òÝ’Æ@пµ ˜Ô4g0€öëšX‡*g ñÔ¼3ˆœIÿ¢ @ ÐçF§F²î¥õ§ ýW õÿv†Ü_…‚úìkJ0M\¬XráRm÷¡søq%¶º/(4:¿°ÐW«¯YQe–°;(ï@ú‰Àl¥‘,àúá4ŠâèÇûØI¯dùbÖæëã³;ñÙÉ`¨¿êåþ,D@·&ªPÄâmYa…[ìî’¤ÿát4¤_$I±·fçž-‡ +é×OÐÅ ÝúSs—oÿî‹é‹ß½ÜjÙ¬H\QSÚš?ué¦ó8ýƒ¥ý¢‹ ÞâÐð[•g5Îc?aUvÄÂÝ´|Å?7wYÊ‚úS<ñä2:ª€N%ý§ÔßÒÏFK'TÙž-ËÐý±{¶ÉlûÆ=* ±ÑöÊe¨?¨/õT¥ÿž™‘€rAú²¥ÿBÏ¢þÖy¸`Ý n`B|¨P!:@ZC@ebd¬Tü² 7õ¸a%À¦gwöåyó,¤l ‘2•û˨~€ýÊcTHúe2€®-Íxê)@úÏÿnºŸË`Ø€T6€ ¶‡§tþ¥ÿlõÒÚ­XUÑǼ8ÜÔFî¯ôÐý¾mmÀJÚË×&óƒv¨@Ð3`×"Èíb[ÕU1€HÄ2Ô?"€Ä+Ù¯ª ¤þÎ0ª `ìþÀF €ŽÖ€>Qê?{\±<÷ì[ @?@Hÿatb`ßE(Œ˜4óÕ¢ÚtÊwÝ„ÙÒ±´«l)In0k6ðd9·=-à%LGýé ÙìØ2åþB÷™â32[þØwß¶ê/pæ8äþC;³DÃ}žèB)˜]ÜŠ#=2€±» —þ«P 0R.TUxÀåÀ§¦dá‡.Ñ4 +”ëÌ,ÂTè§wýÔùíªDm¢ÖÒÿ_Á”ûWµþ£øêÐÔ'.5´y] +¨:÷ôË_úr0`×>vÀ¾Åý÷ì¿×¤™ÎÁ™"ä³Ä±{ò(é3‘ÎRrw*SøgÆ X§7}àÁ[€3Œß;8xkéÃÆÜ3“ÄÇžœ:ý…DµóÔÌøø[#c=Âiw%79¾ÝåA–áEœuëÌ´†¢p[÷Ää-bòÁÁ[ë®>âÑ'ÇN½0CÜ&î„ñ©ÁâHqæxyün÷“ö[HîÀoy_ÎE«] +#ÝD¶ï\V£d³†Ÿ>IôòæšÆýòʳi8÷jæ­ Ù·þ?[üÜ Z8íg˵‹È7Ï]â÷ÙCÃ?â²~‰fN3ÿ¢­ª"€w,|`ÉcöFý‹ÿ/ɵ ÿ*€§Ž?…îëqð€Ã³Ê³Ä)]Æá>ç 4töß?sŽî̓âÈXîàƒ{ÔTƒ*Óº2À &’ (™:\ ø\JÇN#¥&jáZ fP¶DÝ<=‹Eù“¡'£‹LÄ]Ja—”Ç–ãedb~¿2ÏÌÑrþæŒß?Å€h††;P¢ÁB»uŠ«ÙŠEÓYëä?Ú(”±57·A,¸Å`ttNÛà­f6C·¶ƒu†;„Þ®ø±Îh +ÛûnnËö§†w Nì+#¸}ù®ÒÞlþÖôÎŽÝYÛâH'èZ_]ô[Þ]À!º·¬»e¨§o° z¶¶B~È){»óôåé$y9Ö°÷Ci¡ŸžíÛæ/Í5ù044ßíÎí¢&ÀnìH¯MºãÆ-™¦ïbsoK L„îœÝÎsc ¬ßØDÌnéH¯k!ù “ínùÁ®ž›2PÜ•›8X88Sá² à­×3R:qøÁ—Ò€ú¥þß;ÙLé?1Ó¦˜í·”|hWÙgËÃ#9 CV‹ô[n¾Õtù¹c€ˆ¾û#¨÷är)¹Ýv±`S ©¿ú‹B1à#ß·èäsÁB·~VŸŽÓý€—þáÝ=¨ÿø½ÛÄØÝ6Rä‰ ïèîíãóÄP®ÿ‘ԟήÝ=26Ùƒý˜88DN„ú[r´« `ã ƒô“xp\ÞläÊÔ_ÀΜÌ@Ü&*#ý§?{¶Êþõ¦‘{"ÌŽy¤#õ'jÊÛ6Ô³ØtXà +*äíÇ錑;r5o|¦åìÑ$"Nç•ãÖ!ʤþturÕè¾<ÀøRZ 8{,©Hâ/ÊE>µL@£ožè7ð°ð;yq Ž|<¤ÿD þ(*÷W.ºQI’Gï(êO?`‡mIÿé û|Ñ(Pé·ŸƒØjÃM¢ƒî[|0VŒ7€Ò9§Î:JÿEU²I¿'Rÿ*0Ý?VÆè°+ýPé¶Q Ë35• :àÒNÖÚ­:¯½*  €é`6â»óÇ3@m)õO%ïom€Ü†”îå© +àæþløiÜÔüû»]ŽH®J\ýÛ«„†€ð€ø@ ! `¡ €È'Œ€*‰¸IäA»Kêohœ„éqÈ‚’º—[î/Ðô«ú«@÷Mݽò+ã?îºÂmÒì$;œ6m§ND  !Uà,(³ò8{!úî$Þ»ˆþ¢žÕ ÁÐ;º/#‘ȬˆRu‡ +@£@ õÒ_Oìµ2Áøx(õwów²î‚Lúµ|À¢C@6³3åþÈ‚*€`JÿU8Ý7p6àÓ[çb–OèŒîÉë÷„Í!¶µ‡ +@C@riñ! tŸŸ:Àèl"÷WìʦÊý×_—466Ð}üÝí¶žnHC@BÒ6ô—/¥¿y¼Yüùg¯'&㜚®03’ÌîNœ™Man_20³Ûøü±&ÈnÍŽÝm‰ql¿ ŠÃÇö€î›?÷섘::Œæ”a•ï¶ C&îݦ[*–Ê=øÛ± ºc¿¹Á̸»íb®7žtlαÍ0¸£ L÷wtå‹Ù©GJÄщ<ûdØ9ãB|èè.öyÅIvQ·qÃÄ}ƒÀ;yxxÿ}ƒ¦”îè¡#»º¥HΕ.íÎe{3öÔîÜäÌØìãGN<{ŠèåmA›ÛçKW~/ý/þ‰%šÎÙ‡†wÖ¦WÕn^{•ȯ_(tgàúµW%WÕ^¿¡"ÍaìÉ.Í?çêúÚlk6·®ÀÞ+Ó¼zckCzMBqaõ°èù¨?pxÖÎÆ!ê/„Œ°óëG?ÑOR‚þÜ?4{¼dÉͨ?XðÔ‡€ŽÆßµ]xÐ ´i®{V³¡Ëaj¶£ÍF'Gº‹f%ÐD©6QÂmýèÔUø€»µ½K‚CÇñþÌl f?Y&âyaýãf0õÀȉg'!Û.oÝ_lt_¾´×;˜ï57¼›²ÀGöÊÂöеk¬{äŽîáùQ£áÝ]€‚e!¢p[×®=ÝöªÛº†JPÝè:ÅQ‹Öq#øB60¼§ Jwt²›Ò÷•òÛ²€â÷ ®ëèl¢£w‡Ü€U PØ™ƒòÞB×–u0ø ÀŸ&Ô»µ-?Ô‰¬³ÓIº‘]eß[†®ît¶» 2RЗoëùP+XÑ›ÒUÁtð @CF=7ÚÏŠ)f:Ýïºlic}dšyË6§&Ë<ìHòÖ´¦¡'×Ú7Ж´11¨ÙÍ)cóŸóh)ÖæTƒîŸØ—ôÌ×}ñæ—Z^y®)ðÕ'®:ÿõ´Ð/yy¾Ÿ \ü~Z¼ñbKP·—åÄB1ƒôﳺŸ§€Úi\oºèÓ)Ü–EýY{ ÝçCa˳¬ª˜9ø@ˆ0¥8Ú#¹3'0¦¶aD@úa|rˆú{³yÄÎ2 +èaCœ¸7_vI:ò€I¿‹ã÷ì]‘›Hg¾˜SêOgQÈö§‡vt >®ÂH–‰¨? à- nå}yýÈ% @ õÇPÿ·ÎgOí[䂬E›¤ß?ˆzúëlKÈ´Î;ʺzE-6@ @a!éÇxí¢­0_îþ4Xæš«ð€d¢öªßš·Ô¿öŸ\!é_tÙU>D³! ã'P“þÇžx ‚_™¤ß²Il™;ÀW€/ý.¢û `#^Åv¨,Áf#Q8X9«è@¸ƒÍcêOA€î;ö?`?—ˆúóîÁ¼âG`Ý©«2&JýIÞu:5¼ À6òGm*t,:éŸ{f4ü¥(Ôö.Œì( (¢þ¹Á” ÝgÅã õè>;/È‚˜îQÚ:'pÇmÎ=ݨ?ÐGú-a7¨³1Q¹<º¿ÐÊŸ`¯!‡3À ˜m¡8rò€®Ú%ë2tߤ»ÎE÷e ñwî‹î~3÷Ã^í á#ÀtIp¸0tŠgçæ6ÔŸÜ\€ô‹pPx:€N'Õ9E²- ÀS~ç:¸ 1x€7€¸pkœG\|58w¶å­X„ þ@úÿæ—R@‡—ÿû—Ò/o¦£Ü  ` Žê€r¶?‰ú˨‚Œîë:ã÷䨿ÒU¶¹:õHú‰YI¿@ú…*€ +Q‘nÜÚ%¬ˆ„˜Mßëþ½ùŠÜg'ä¯(ÉýeÅÛ³=7¥E8zcDœÁ]Gã  ´§GïKGé?@gaÀB(~5¸ÌvÕªyÒ»PýÕ0ß[¢¡Å(on} +õ‡¥t_Íe‰ñ"93Ø!Ðúƒ•NúÇö÷©Púè¾Ò¢Ô_6€jc²Jú¿ÓÔ_@DýåÚ-°I¿@÷GÆ»…Ôâ`@úeîêh›3R›ÙØ•Aóöº @¹?03êOzN`D§*?ÀÛoè{—„ +˜!ÜY—ú›p»Ü Ú·Û*æ‰{€Ÿße÷è{¶Û&.4ú I¿œ@ "À*€¿|) Taü ñ?;ׄúOM'1"ºŠ€¸ þÁHüÀ*ã?ÎR Iú¹•IÜìð€3€Û´ÎM^h¤<¨¦;Eâ?:‘:@'¤þéM©¸€dý—À¤ŒºÏ¶‚ ÀÈxß-·²]ú! B©[1½!YeùvÒ1³tTJÿyVé?êÿm¡5¼ÓTÛF~Óz ùK´…Ê»TË4¯®2€Ì{Wx)ð+@²ÖV#{ÍUñ S'OÌ•PHúƒ<ñÉÃ^]î@Hÿ1€±H¿:ú‘BÀ Ðý`–µDÛ!êoªí"âFxÐM©‡4öî3e¡H÷½(GNàuÿa»ÖÝœ :PÌÂM÷Ý%52¡W…¾þkÀ¤þqл,5ÄZùôy^Ø”ý}åƒ9 €hD;  ýÅvûf³ žUJnटȳÒ}bÔ±jâ€îkù®ÈÊÀÿÝù0É5 < å~µXÆ’°S{õ_ÚÐý¸­ØêO2ˆÔß„ûÆvÁ4$õg¢*ɽÒI|XˆÑí=€ ÷—0¨9s,ù½Ï4ÿô_¦éüôkmðÊ3 â¹?n}ó © ýWÛν”úñW[%úô/|;?ûzû…ï¤úÕÖŸ}£Îy¦»ñåÿðµ¶ÿI ¼õäég²…1?R¾ÇrKg(WÙè§|9Ƕûi¤ßê;ïêÛ? ؆”VÓQr­íƶ³ñ~äOóìqçÆIúØ]}À`›ž×i TµLÚ²éìÙÛ«;›ó‘Ž Lä…}“¬öÁ¾áÝÙ6)‡¶ªÑ½= Û*&†Nyowi·¥-tz>ÔÚø„žÏŸéL¢ bôÎ@÷·}´“µÂ?ˆÅ]¨Ž:‰|s®|ãËËvuåòí,„Niwfî™9˜9ºßËÛo´e3 @džzÖ&ÒkLS ’úš™½y7Ëâíêú+æöüƒ¨åØ…:Ve[íâ-»6™Û0oT*óÞE.1»¶éÊòà⇂wô.~_ŠT2QèOW]Upæ gætÙ—ÑÇž´[0yl‚­‘ŒA‡FÅäÑÂøTYÙÛ;º·°^âÄ=®^¼'7goÆØ“K»{&îÙ~{sóhþEѳ{îêÕV-îd‹uûÑ8ºïjPöfÞ³ ´7§îw«'ð‰ñ{(8ð;nv± ·ßí90 Žn®I 3V<ã΃ƒã÷Ùag:z{#+tJ…á>a·´ô÷¶²]r_?Œ±ŸÞ;ì§wF{1‘½•TFÖ„1"°¾»2dO7}[”žë1wƒiÃ8Á9>Ù}ÏØ'ú`”Eñ¼„ÝÊʼnûr¼jlÏè8¾Ò f$ë,ïc¶_ÀØæäí„”Á"3XiBÇÿºÓh›é´:r£î\KÛºú̦Զ´‹ÁC%»â]l“LßÑ¿M#0Ö ¥~ÀEáì6D7„B´MÜ€½Êm1DH÷éðPN À¶­1ŸÁ,)»«1•Ðëf 2Þ][›žBúºYg{öÚf§XÞkD6€|[4œú“ž¨cŸë ï¹GýÓ):Å’’ÿ¬Ïkvf˜¡ i%ùg¥þtÐ} @ÃVè>Û"o-@úeìºìŸži»Q¨¸ÿÑDO•cø‰s'¿‘­4XIÌ¥þj@¡÷jð´Ú+jîÞñ6%Bh¨~Ó<@ý³k«  ¶¦frç"ç¤Ú©J[/¤óúêQ¬Ïü‹Ç›  ûbúHõGúE• @26€•eN²…Jê/°ÎX6Ì#PŸÎÄ=ƒ¶õÞ3(õ—Îj³è>ð^€˜ +£Ý÷Ù9 €•­H-OÍ )ï=MǘS6€îƒ½Äíw^ý„—ÄßWµ‚lÀ :åHdåO åú³vc+†õ€ôctÐ}Ы´4öV05¿Ã4ÝêÚHý­JØ—“úƒ}¶H|TC ýå}ÖaûðÇyh3´W2‘äLà–Ð=rÇFÛ ûÅ‘Î`ƒ50vf¶w ‹Š®c6ÀbQÿž\zÛú«ÓŠd:âJé,ZDƒúËAým\È  ÔéWÄX€$žwTò.ä²*ðÒ/œô”MÒ/ø0ùö¡Fêïq/þé¿°§œôcæ1 T@é.§þÎ@?—€Ä_$þå1‹À¶"e— HñAÕ€hó’ô15éwuÀ¢Aým[‰@˜lksé¿óÛ.ÚÆ(eê T^@0MT ¯…* ÷§ øHoHÆ+€Ò¨ªP"é¿ Àv†Ý™‰ƒ˜ë~âýGJìŸDvËpJU@6pÿ‘]3Ç +@‡™ùd0€ÜÀ"™µã“­¸ +€F ŽÚ¥ €VèM€pɆúWU‹­Ð›ÿ j×®©­òÐPÿ…0w²ìïøöÐ.P¦õ'¢ûöI:Ð}6 îc¶1Œõe‡`ÅÛl{óê@Ü4îï¹Ë6]b˜˜·ñ»"@6 égã'Æ+í_¦ÑÄ{œ¾;PÁC<@¹¿ ¨?š.õg¢ö&ôc¦þ÷ Ù[0§làæ€Ù£ +é·…ëµNýÍ?öÛ~Ê?â‹õƒþŒ[17@„Öƒ¤Øž5E V2•¤ÿª”ûS°tŸWÉÂNŠ þx€@úe€úW(vªÀ`±‚ÐaÏUú’þxàqw +€+ùdÈý•þ£Å’~i8ˆˆp‡ + ³±5n<%¡t_S‚ð(é×ý…d][š2›’(Ë T*€KÀ¹?n•ðõGñÍBú ¼˜ +\Â~<ÀlÀm ¤ÿ é÷hð$2%Xµ¸›MÁ6¸èëUÚÈô¬ÛŒâ  +@ÛA|(nq–2€0DÇF~¢Í+.÷‚)({x¸¨úÌÉ?KØVìd…‰Áè`H¿vÝ þ…¢é¾Šâ% xÀýGnÓý#·Û”X€ô;õ¿¬ + ¨ÿÂFðßiÃL÷# ñGî‰êÈ(Ð}<@bmº¿·WhK@ý­w 6 ! ÁSq×Ò"$ý†¦øy¢í¼¸û:À¾qÙ ôŸŽæñsÞãm€È&Ä®®m @ ‰ é÷¸™q‹*ô«À¤þÀÖ‚ôS,4ÝÆ' ¡þaoÕ®ŠúkeÂ"ÒD_ãé¿Ô_¹?mQ~/°oÝõ5„úQ A¨ˆ$þNú-Júµ W þØ@•øÓvÛÅk¶À¢Ýú-¤ÿ|2qP¹ rl8éW @Dß™¡ƒÐ/ôõmºSdÁJ›´¥ P6]}êþfp?~©~úR“øñ‹?ýã&øñ—}'ðã/'Ï¿”üé'éüôWW`bĹ3õðÖwjO=™ÉíÌ—ïê|Oè²¾{}=|g6¤~g÷Ø]!(8 ’Jرg3.4]Oi9žy;UŒ½Fþ#™ì–tù`nàæLñöÍà @‡–`ã}–õgÂUˆ%¢nå.fÑ…‹võ +Ó‡;ôãѺ¿Å`‘ïÞ_„¢ëPò;\Ë€–&òvK&[„>6Ýœèd6$Âú³ÕîºÃ7ñ¾E÷;ÙþÔ€»Y•À^m»¯K8SĉÏN°yuü½åúíôbÿ‰-I;Êg7'¸-îN¯"Fï²ÃBl<ÄÑ1Rò|¶;C‡§n)®×<èàíc[µ½ùׯ³×°Ñ’s¸”BÛÿÈ,ß3Šn~¢OÂý¸×ºóƒ#q$º}m`ôÎ~¢ö8)õ5Æ‚Ôê]Z%㮾Òv^bÓî}}|2FvS¦|Wnòhcú@3#÷R|#ZPÎ®Žªs°-ß­Ô¿l?]`é 9±;~F†^Úm'öŒ~‚OÀV•Ô¿»öl„Âm°ƒkÌ_h64¬;µ?Öîló±p›‘¿µLÄoµë…ú¶»dÖ½¿Ť£Ë}ÙÙ×x +•gc°%;r"òªƒ®égN¢€KÛý<-™ëLe{Úˆë;›*÷Ë‹dž  Àð³îçé­®ø…mC]¢4b8RöUã"€úËâêO_ƒúŸû‚7¦ØÄ—’?~q(ìé  ÍNÃ2ñíõç 6õç»C廋£] A!õ'{´vB©´G;uV€‘ËtåžÎC¸„l+˜ú 3s>ëb»l ïn\æ‘úóeKúE¸·Îö4/jRÿE ÛÝ&èÉÙ jBê2€@îCé*?è†öæÀÄô ÀÎŒÎ\ÔvŒnþø=þgËànwËu"°¨‰nöË|äVà)ÅÀ¬?Ün?yäV1A?6ÛýL|¨@MñÙ¥ûí§[á[ïwwŸ'2'µ ›©æ¶ppóƒY/w«ZšÐšB‰Ñ‘ùÿBhi‹ÌQ)óýêÃ×&!õ¼Õ¢$ÐôŠú³å@ÀÛ…ÙÐý@˜’Z:¶òïÉRí¹á>¿ñ³XI¿æDýGîèëŒõ ÛÝÆ+€¼¢þ2íqv@©?(Ë& +?­’)ìÃÛ€KÃ•Ç  °#“ëMɤβÔ_ºuÜ©ž;üñ[2k¶vÔt¯;™*Z:6&y@yoÔŸOð[ÿHCPv Ã®áöÝ×ÅÀ2€Ê1€HýÍ vf}Eû¢£>»d0€®l_&ò”¶ÄÁlÀ‰¾ €T:Н—º¯)šˆôëFžä‹ö+Ä©V»§?ÑˆÝæa)X± +*èÙõÍD[!ú•yl bçL¾½ú_nDâƒîݱJúÿÇ«õìù——¬pmB›¾6µPð¢þ"€>VÔ¿x›EˆO€j± þ|¾brUéµ)ÜØ w =tznLŸ ¯V þ " ¨?ÑtÁ€ó€”ÔŸ: |Ó¼µ €Ý9#Ó™$f?èÑ÷¤Ÿíg#“ô±mYÇ¡hïèÔÿ02Æb`u@\àôÓ7vÿ€!Ô_šk¥Àä Òo7™±_Ñ3é×H"€æ3tæ-32€8LÑÏJ=ýDçzVS@:z0gtþàþ¸óÓ©z‰Ã<À€õ„¾fˆyÿ…˜/ú0úñàû Húõµ"ýRœ@', +6?dšÜØvKdTâ¡`žû é—:`¥þ.Júµ©š˜Ø±ï8éG=Íœ¨Ðà8@úmøèÎ~çÑ÷©7‚îÔB‚[='ýÞ"õw±0ïÈØ\A­Á+þAžÚkêxöö+ý'b–Z €I¿3©?Ø©ýî|<–ÏZÇ ÌJúUHd’~Õó†€\à‘pÇîD¶ÇÅ €)ì˺åƒßbƒîÈm3U ÄŸW™¢ +@ËQ  +@Qà‰Ýæa>ÍI× öû6Aýéxé_Ô~úrõKüƒ8éDß<@ýhЍCú•û/¬d¨?Øö=Ûœ„)|ÖJÿO3h=ê…bÚpcèzõçãÎqì¤b’Ñ-aeŠüßy ûùB‡bP_°íö®àÞ«rÛ¸”Ç +À;òZÅ|Á ¥åqþß`a(½–ºÁv$ ¨¤þ2¶u]XÈ'°¨GŒMú!‘ÀŒÝ9Ò_4D´ZÆÈ^%ýU@)€b’;K:Iÿ/Ë:.¿Öl\M‰Ë¨žõu@˜á‘X +‘^«šM6Kÿ} /„¨âï¥uðkÂÂ]ú/ØuGN k…Rû$l+¬ƒlwôýúoÙmÞˆ’~¾8“ËhXÒ¶êh’66òÓ¥ŒR1› ·˜‘BŸû»ˆú«Þ7'pÀ7hããNú5þãå>–þ+JmyJÊkŽâ @릵ò©·B÷Y¸< ¸k ^ ý2‰WzÎìŽaˆ±}}Z ÍàÆî«§mÞlÀ­ êîl@vþ´©?°d©?ËñŸ˜CÀ–„ñé?Ù÷ÃA`êo+î£ + Œü(ý¾k¾Y¨`:`y¡{”û£þy °Q FvË´;K•õ%@ÿ¡£ÜÿWêËwTØZaÑ! úi¨æâw’âßþ‹Õ^NTx)Æ‹µ‹/WxãsËç_¬ œ{1!¾øhã¶[7ë >èl»µ½´×"ð0ÐGYć»Û2¬øôüv»£“bP:üHß=ÐYð-†»BÏû;ñ+u{nª¼¤»¿-tºsvÿUÏÍÝPÉ[ÇMééoÊ·û"³=öãRà­{úÙžl2ïoɸ èðoê^çÀvÆ6G.9`÷¢²K±ç¦;‰hovÛ* GG&ЬAûå?Aû@—ø³!+,Ð}¶B[·ÞÔðîîýÞ2ûL™N?0c—•ÂCv/þA ¡Ñ¤ÑOšæF÷ 0æßÕR§–Ó cPñׂ~U &îš´ V#BªncPƒŠ˜ÙX#¤þ#ã(Ho+–º€—®âá£Cӻ݅øÄðE„ÔL;'ó³ë2Ån¢¢¢Þ¥xº‡e¸™¥îDF‡O[…£;‚¡2DÝ@ð”É"åéHe¬FÜ!Jª¨{¥-ÜÝÙ†ÙvìÞ¸cÏF¾èBÑjY¦0§že³Ñyñ¶.íÔÒ +#v¹‰®¶Õ› +^®™Ò= 8j¹³FQÜŠ¿°–Èü#wØàv¡Séò>|.½ ñ궃gâÈF"³Éü …¹Ht‡†PÖuæ>Ðá!È¢ô°ßÙÿ‚?E ŒÙ£ mqz +|·|¤ ;éεCaW&°í#þnqtnÙÙåƒY‹{³Ý7¶Ürk¤Zì}šMÚÀÐ:È£é=}-°­Øa›ZØ+‰Ð÷á´ÿU™§;77i÷¤3@ÜÔ t²[Z ?d¿QCV7ðá tçÒ}îGtÒÜÀնò¹\Ý.'ÞjÇuXØ¢»:ÌùÚ5bÜ5hö‹1¶·Áß²³‹}Ä àÅGë€Î—-ÔŸøÚñ•Hÿ©}ËeÏÝõ⫟\öü½ï@ú‰ðÖë5§î_t¾ôpÔü#MAý!³) ¨Ï@&×—æ"êßsc`¨ÛXgw¦ËÐÉlj›¾‰dÙ>ý´ý¼Úg¿³Cìûp[j­ý¦êO‡Oµu:’H­:ºs_¡uúÛÖw6²1×ohfÿ!ºOåÕ¹©… øæ-|F™ÌuÍ:¿³«Ù¿$¼öº&N4'¸¹›õÉö¬·ŽÝý•ïµ Ðýõ]M@‡Õ­OøéûæúíŽ}²t¿<–'º(Ç €ít1:ÈØÎ‚¨"Ñ&¸ý9ˆìÚ½YÒƒ–SÉDX%¤_ÈtdEýíÖ¡Œ°»#tÛ¢ub?l"õ¼Ä;…]^3(ß= `öÙ²¨2€ø/©Uî·ÑŸøp;{‚§7%õ'šîGWäóÿJñCš&pÓU¿›î‡Sùö¥5 oœ.˜˜^ïö·„”èC`Rîî<¬±J"Û†„›Í˜oà-€ej§ÐKL÷àÒe-§Ê˜®EIú…‹DÕVÏõ9ýtw[ŸeZU͆¼ÆoÕ AGý¶u‚ €ÿZQÈâ꯫yuAo0€ò'¬¦¨ü¼ó÷cgÉô¿ä‡ÖKýé,4€¯þU zõ7'8˜­2E€n¿,1lõèÜÔ(¬¿ÙÑaî«Ïdoh¶%8égº €ïKÀgˆ!@Ï–äÉl Îøßã¨vÅœô{t-±Û’ã§õ¸ûCÑ}{£·5¥ÿÄן[ €E—ûË$ýª^ÿô2 €è>¹¿<ƒúCHÿ)ôåþ€ð)-î¶" £e:‘]—IÂ'éW ŸRìäz*È<îGØÁ¬Ó› û¨¿ ^0§<@»¥^n¸ +À×Q`E@”éÅt÷M-  + ¬ÖVÿº*rdE¢ ¨•è¬26¡-l!î÷ 6Ý€î –É*@ú-÷wwFýA6 üí65w7ɱ~tÇú€nh,ðw¡qb-óà…’~ð¯ýœ2õÇ +`tb Pê +Ä…ÞãŽøt @@”ô‹ðAɤø1Ý·/ˇäºzK¾#}Ñf6Zè”nߌ"ËÊ톃îô^ްj9R@/$ܲU*/4'˜¸ + x[§®†°… Ô·uùÇα…("šÁ~¾}½J²n Ä?Ü „ €Ѝg…é¾+ Sa‚ÒÿPõGúÅÐN»+g(änùf€ú[gg6¼\€ØˆŽj˜úó±­gk´ñ¨=þBC vâ5Ø ÝI"Tq ÃGêO'¤ÿt´÷ D\H¿à%쌋ŒxIè(ýRO¾ ñ/³ªæ ·*¸Z%¬mÀlÆîP:Ñ=‚xÈ—Þ§ÛŽö{ <ÀÈÞ¾šÙ±D…ݵÉÁ +ƒ5TD˜,V˜LHüÓkÓ@'ëîÉ.HüUîæ¨‹°Ä‡EŽ,¨H±%ÌÉæD…52n¾­ÅiNVÐ1w‡÷ÿøÇ^›?¾J±/2¾nª´Jó¦Çn>…ô'“ ÀøÚ¤þNÔlðGQBæ\ЩҔ¢É‚âW!é÷DêKU>÷wC@2€‰iw?›è=@ù»^0¥ÿtx¨ñ#ÿU2á_Òÿ½yÒi(ßö2Í(—wÄ…ž(Ÿ*:Aýƒ(b× +êO?T¦û|Ô :Àtßy€ÉtT˜8DVé?àAýƒH»Í-"@÷™BD¸e7'ôx€ @ ÑrdŠa~PÊlŠÉ +»Ü¿ò’¨!÷Wú¯ÙäFTv0§òkjÁâ@’ú»Ïg£æGú‰Jÿ™ŽûóͪÇ6k]”§å„ + d›Ý9ÎÖp¬éÇôµö}Ø®ƒš²Ì&Ô#™ûpHúµŸænŠÉQ´`7ïþ`‹†€~j)y€ìÐâÐ:ä[1°3’û) Ä5 äq)EÝ—ú«T ªüø3€pêoNàïçLõ·b×* 1Ï^;QøóO×¾÷© +¯¯ðÍc^;^áÍ“µð•‡—ÁkÇkÅáòÊöM]=-"×OEìÙü‘é´‹:;›À:\oš¨½(¾ÎÎÎFuüÃëyÈÎfd®ã³kÔan:-éՂϺ­½Ú;‰ö}´¯nn­ _LËÚÕÐzM´]»:mÓ›uÇu´½ÜÇÌuV£k³ÿµ6:aݘßfsð’¶uõí™F°í,Ú2Ú¯]ݶ¶®}Ãj¶Q:×5¶µÕC®—e6uÛ'&-Kuw§zœhÊf +ˆþtg¦›DJ¬Ò䩊¾ÛܳMm²ôÁ]È6d}7ªÈV¥+{>ÔšÓ5)Ä~ûq")5˜ˆ»zzw @„¬¦æ ‹r¼,Æì"¿p»5˜¾åÖÎîÛ|>]=l3M™î$Q²Î–Md+Õ®6÷ªNxè«М†v Ö{égží¨¼A_Sx +AÔ>;Ö§#:îð¾4Ý6Ô!Á[;oiÏå;€Œ§°«So=ü±ÍîŠSª¸æ7ψÎ5¨;ãƒÏ9öëc…RGþ–v`U»º›Á&Ú¿ìó}:ù‚}_½Û¬ÃÇg€lL1Nô¬ýwÔŽÑ¡]Ý:Âçëõ˜ ³k{¹‚’?§#ÌCt2b”öæj.¼œ +œ±&pÁúϡ›'+ð”ÔŸŽ @Ä Àt?ì„’þX:éàñ/Cê/ø ®Ýp•  Júè~…pžù-`ºß +@÷Ãlè¾WÿÈ´AðH¹/§æÑûVÖ'@Õ†%ô/ý"¶HÿR ¤_`’þLWTtÐà£FýevÅù­—G(2Ý2‹Ù(aN@tPÙ,&»—ØX“þÙãå¥ àÄÉ /÷1ì<Å;z†vu!ýD6ßî>dÚH­Mè“—îwmi >Ìî\K\ñ«ô=ôµc0E¢oïãuš­ò”Û ´ã1Q)?%ÂBÆ oú+æoq»+ܤÓ:[Óº_Þ—UÕkù¯Ô?2‰8Úú%8qTàÇ©­“~uM!JIõ›‹ÀUt~Ò:Ìpê ÑyâŽwê_ÞZóÂËQÿÒ`0€T;©\ ¥@zmé'ºÏ¿ +ÖiMv´›JU$›D ¶ðqÓÖI;Úë­ãBj®M§ëÁ:í~ا½±©¥ÐriM kZé¿›ÁŠ€d245[õ×mbÍ­õ€Ø éz €õQ`‹Ò@PsÐK0€Tk²}=’Ýœá%Êý™™Ö»£þþµI"Ò¯…ÐÁxGb0oÝ&ýÝä @ÈLýoj‘ô{rm]7´Ê$ýªl[‰~×Té¿MD÷o‹ê†éõ³9b¡ìؽöL @þ#,Dk%´Š`F¤øqXçðb¶eA_þKñ‰±åÛ<ê³2€®š7hfО ÈCÓ/ãé?mJd€ø½P½ôÛ Ný‘~ *ë¸w”H¾‘rJŠt$Ó`‚©?ºÏ åÖÇ«Üq2[ØKlfwØŸè4Ý&jQÌæç‰Rl€|Â=e@Äô/y€ú6¿“BE-0¥ÿ6œâÅÊ,ew × +½Ð¯•¤¿hu€¤ß>p7z)õÇWÐ}û„Ýke2Eý¹?`Pt7‹ÅÛ»`Q€ˆ< Ê•ô?27€øÐbÀ6¿þ´Oÿ ’þ¸ú°}ÐÓ/nöTTx)×µc.÷— hk’þøf}Ù@µÈˆüÁ.=¤ô¿jHƒ?ºȼ¿‘ôŸht6*ã?tœ@Ûº$ZI ¨õt¿c}½ú ·ã?ª€¥ÑýÒò$¸2 + jšû˜®Çô¾Hé0'¨n Ð(Etßÿ Þ +€Ü_Ì  +€ˆîKýeÀÿ*–ŸP)€dD›yÛ +ÒÏFÆvcNà\Žÿq€h"ý'>;¡ +ÀÜ(¿*_’ßfHÚ´(Ák¿²939bWO“„>S¤òê‡)á-4…«aÒï À½µA’ô3…¨q Ó?Ø.ð>%&bL7y­ªÜ(PÜgfI¿XÊ”þóikG‚¼L=]@ô/ŒœÝ·ºÁ0˜2ú:éÁ,ÁÔÖÔ‰¬rm{Ê€«Ì4ä^eÒO'¨?h µ([±¨7^B>îßÚ¾¶eºÇM±ê¿Ó˃NýA € þBú7°4$*%µ¸™ÿËœÀ:Î,Î7©¿*€ÀÄÁJÀ{±òÊâccª©<ß‚“o:zwÔxßÅq âÒ¯ŽP¢­q¡øóúon³M¸ÏSàûúbç"~Q±C\ænN+ܳ¶éºª¥bá7ßø\#‰|ŒÊ¹ÿoë¶µ«­ƒ µ«lô@Ñ= ÌlÉu`í|”h†¦æ•ÄÆ5t©DË5•þ0´´®õ[Ñëöhi]£Ž&ÑÑ +C ^‚÷8lŠæ¼ÖAg½mëØ…Z¯N@sʰñ«u ׯ>¥L#ŸbWW´w4»oH§š“ù­:xtd¡s“÷:z¨DÂ&ì’h:11e¶¡bWtýŽÉ}8 *÷á4eJuî6}wùK”¤k!ÄüÍm…bº7»ÔS–ƒcnÊ–½"{]εvŒPʰ2Ý9œÌnbeÛtt$€·Z,ÿˆN}c~M—‘ÐÑ{ÙòÝÏpkzû@xÓ^}¨5 ûxÝwû}¢†‰ÜC¬A÷󪬒é5Ÿ ²å¦èÄ¡¾›^óývmi¶Ë_J]>öVᢥö…àµh_¸µ”ySFûGúí<7,xð¸ãÒŠ’†ÈJšµL‰¯/±5tö£yô*Í EÅ_k¸ƒq“³Ù¢usø9Ù¶{Úø0Í`l̤b`<ËéØbãD¯>=}8FtY,x©rP^³±åSíï''óí€Ý¹©Åvj+'Vtfýf`85ò¡…h@I„•ìú¹©åRméˆ'7-kë“kÚ´øÇv\—tM›\¿—ÑÕÝ·¤ÀÏßk}=d ×È-t}À¯s;²Óœõﯴ¥ŠøÿmÕl¢º65לºÿ 3|¦n]˜ØÙˆêöa‹ ’~xþ@µHýöÕQCè‘WÔ_àÕC=™®gÑô î^ý¯©3‚¬]f0HUô=Å6!æë>4®YŽúQÿP¡%Ñru„ý€/ZW³<ÀÛºïh¾ºÝ¨¤°ª‚5—ôàk ã LÖb¨¿ ø’,®«GýƒúçzSë;šƒøMÐÙ@0ð¥’îô€ùÄ´»ïC•sç•[ɲ¹fÀˆ:·l¿ŠF`B‡å¨ƒúcİ|&ê'Ô s»{ Ù:nÇ€ Àœ r ½DË´)NúýÌNú»¶´«Ä Z1-DËAXe6D7fЗ0% €hÂêFf¼”GçŒÑ}ørÛ  5‹ò™µ“~^kŠ9l·–~ªhjË"ý0°Í€}àî3ç]´Y@ÁmŠ“W›âÖ„)6stƒó›SâË<°[U3`Ì9–E·V¾B*Ú¥L"€eñ¬C4le‹ÒEªê}TSÝ'Ó›o?¸¡¼5Rÿd3ûlRê¿Ð;ìUM«mkI +#ÞW':o°Kv*ôWè»y]@ë‰úºßøž„и‚F4ÎÜq}#d®oJ¯o:ªûõ™HúYx0è¼a^'d92yÂ$Y¨¿M‹xŒß¼dÛkÓ(îa Ô« ­°¹W‘—›úËzZ€m ÖÁ¿£O*+îÓã)ûßY`ä7ª‚𬠻%…ú³`¨?êÏ6îû=Q;ïU†õWÅpOEÔÚ®©¯à†…EÇuh·§em]ÝO¬ªZš<@BAóÄ·=Ù ÿÚ®ó€¸Húýåãе™Ï3×÷áNF~ YH´¡±!¦yÓcó÷Ùa0ƒíÁ½ñ¹Æª! 3Gê@Ü$ýgî3N4é'º@úÉý!nN³ÜH·C*¯ +ÀKd~¢«¼²7ÛA`C6ÀÈ0ƒñž’þ¤cM§ûa›ð[  /Õô=e‰?ÒÏ–ÚÚlƒ‹Í£ +  9Q›?2гñÒ‰¹1‰¿Æð€0þ#pu’^â À‘”ƒÐÑÒPëPaðZgÊý%¬BºO¬tœPz]ŽÍ¹° -‰ŽÄ]"+Q=  åWÞb1$ÇD–qE±ß7¢! ó€HÐÃ…½c¿%¡ü/2a‹Þ4,Ä–3±!’x²]‹ª@ +¨ÎI€–iˉ ¼‘Š*}ªa"ºŸíOÉøšLúµI8ОÔ*ûc´óz.Ã+bDÊÄ]Ä§Ç 3àÒÿ…`û`dÜ~¤?ô•âh;¯ª~lº{Ø)<›s-‹Â«ÂŰ›oˆÑ#6?‰¿ÀjôK¿¯?×ø•ÞùʱšÀÇ=3;“ùM‰0ýìÑšðœÆî«™ÛcÌ+”úkEßuËRkVzížOfm…yOù‘÷DÓšåM ‹ãeݑ仉¨»²‚¦$V.ƒºF2QkÄæO®v[†‹xCSÃÊàô«h|÷òƤѴf¥ÆŸ'ôÝr–§Ü‘hk1ô?¶]íÿG×I¦šq;6½ZÀŠÔ‰¯gý»—CÕôÆÆ•ÚÜ3ih»&)Ú¯MùÃËŽL&™Ý”TœGLè7Àº* +jÓÁ~Y":+‰íI{/tçŒÜVwÕâ–6ý’µëÄy´‚uúy»&Åά0{¶·Eä¨KLÐÑèVi9|¨§Y±;·. ;¹zú[:»›DØâ¡çÆ +¬RŽ:`n°1nSCüÌ轩-?Ô.¼Ü;$‹~6»0Çët7V&‹ÓôX‘¡“¬üKÈv£÷–/XþPì +pÞ‚,[X–m^å é!K=½°;gÿH‡‹’>M÷8ÉÞN¬†V†8€ÜGä0x¦ëí¢û y:/^EÃÊ€>½×À`&`—8 eÀ¶œOvKs؈,R+mko€¦T`z½éµA§nõòŠ^ÿ–í)ž+(þ»jW¾kY Ææ ¯e™P·<±zee"ÚòîåbuÃJ½Jû5U)£ú:š¨]Û§}²„Î&ý tô¡i¿cJwo[y/û‹»Ð`&Ù\K˜Ûšíº! úºûŒú„Ïg!ݽ¶Xý"ØÆ4:7ñÐÏÓµÅC]mgð9þˇja¡ ûÏßíYÔFrfH¿@'Õ¸ô°åªå7¯ïè¾£.±¬î]‹³úµÿü +ð¿ñ1¿ÕþÓwx®°_¦]Yûl`ub꩘¬sê¯èT5è¸),Šï}ë8¨vgšAh~3Ѽ²55Ï K°ÄŸ\/©c“j[ÛÐ’[Zë ñª•6}¤è4¿'7'ý)׉ԟì#&ý™Ìêƒúƒ$^r/õÏt5˜À9 šX; Jý=Nú‰®c"+ô`¶ZØ v ºU` fÀÔŸÎMæ‹@çææ`Á‚úCçæ¦`Z1"Â$éW'.Ê6%èW¤þ ‰—ÖÛSš®§Âét¼î»d9n$òz#:’ZE¥Se é—,4€ì– l¼¡; éAýeá_êï–éÕ?¾>ÔߦÇÄ]Ÿ3 áßD÷ îœÈ… €¸HúåH~»Å*Ð;„ÝÐrÍê`dKH?ÐYýî•À2G•°Çy0âŽú‹`u‹€öG[ wÀ†Ž´°“ÛÅNA÷c`u¹l@S0^_ €/î¹Iêï+i>“ŠôX©¤Á%%ýúQ°˜úóŽ)y ýö¾ õÈ nÏݵ,¨?HúarÈt? éïxï; ¹ +YŒ¸rY ¾®Â<}G÷Ë$Ù—Ãå´øüu+ÞáÕTnÿì|쩤*n õ¯z!SVXT T18Ý7ð¥ÿ²;å 2¶©?å>Ëp@¤äÄ NÒoKv6à:u ¨‰éuvXõ§Ã›"ýë‰ç]2è² \è*3:è>Óéw>êoVØK66u¹+àÙŸÁ6ÜÕ%û¼:hMº¡ e·Ng#à–i›¬­FoŠR€·³Xø&»[–_ É®ÍÍ@̦݇$ KöP¢ÔŸ×ÒA÷™"yâ]¤þtÐ}<€yèø…»5”¨Ó“kæÃA”é°‡Ø nEå”t˜SêÏN+‡`"ÃSá݉2_°@–s£ut”U%JmY>íØxQëý`+ Ó~ +í]R:éõ›“Í9Ïšl Õšƒõ×mFD¨ºº½磃î‡eêà9ëCŒ¯ÒßýA_Ø¿€ÙDÿ‹TŒÝ'ªÐ' t´òþ“tŸ¹¥ÿ´Mé·ËªFÛ~T°ÕÙí6?:-kë5Ì‚³o<€Í;x@0€y¥€ˆ  îÊå  RÄ=@S@Pá… øšõ§.çaÅœð¨ +@‡Û7 úMŠ2yÿ”¸„h{<ÀEó ±|}x{Pt\AêÏÎe¥@g²ÊX21TP1€;ýh>êO|n"Qe¨?œ« HúKÝFÏúšÔO2QaÞ¸[mM 6NL Y.§Åçç­5É÷¢:^é;ˆK¿Hú…*6YPî/‚ùzâ`ÛºóT[逸„Q ×1õçë§“^ç ÀuìÐÐ}¶bçõMú¸èR¦3‘§€‰5òju€ýX’*Ò²9þ Û‚#Ueç7Ý @é¿[¦ÛpÝ(Т@ PúèÎæQ¹y¤  +Àögh.À íµ]MÈ1@‡‡:=Ã/Ü­X¼Ã +#ý@¾˜  ñEMš(_“0C•0½Êì-œbÒ±7rçb ¬­Ò €ÅÒÑòIüù@J»3tÂ:°|RlSdw¸݇Ts*êï `rÚÛ€ @èT€Vû¥UË:¼— €ÿ¬ÖGÀKd¶>|z2E—ûË4$úƒ}Ôîó1÷Úž6Ýÿ ÿoVPÉÊÜã €­”ÿ/+Ýa¹¿ÔŸNc³ ÍÐÆ2‘Œ<€(±žÇ¨= û‘IÌ›S¤_1^0ÑOYî/¥kaõ_Ôl³±ßïuðúzH6×"ý @T¤Áy¥*Ð} ûR}`6à< ûFW\ünþô™Ôá‘Ä©}5Ó³;kFo²+~…LâÈN£Ô_Óû~#ýžšÔªšåÿÔS»Ìà*^Q³¢ö +XùO—4}Ù;æñŽÿÅôZ}Í`üg,Š%C˜>ÿå¼VQÐÞÁC‡úŠ@ÝÊe:žÓøn${eý•ˆõÊÆäÊúU¨¹uãSB¿i [^²é=«©–† +vMYD,s_Šd²>½6E$¯¨_hll Z;iX)ãá©X‹m ÚëêW¯äßiºÊ°ÿ«q¹°cÑlšýËšØF£“Z“lki"΢„mÖ-õ@‡Ù*´$!¶ÈG‘N7Šöõö;vŠÍ-õªÚÜÅtñŽÐ¥sz÷´]ÝmÇHV´n}…ø«ââl6mÙ:ÄO.§ :*ókÿ’6¡ËîļyÜ€›ˆOßñ–Â-PsE 1Õš +d7eA8 e¯RÏ_ø’jq¯©¬R­méö XgCL߯ñ$Vgjé‹/ì§ÓÔÒH®É´¤±|SK6µ6ݘj:ñÏ0|Î_öš[¶Šì¦L ×›]”[¶ßà+èÆ¢}CŸQtG«ÿˆbß‹mrWû3/êµ+j¡åšû(®Y¼ª´æJŒV7VÀ*¬ŠQgh¯YØ×ÕƘpt} E@g)PõÌ/ÁñäPúØ`ÜæžzôÂÏ/Ì#ÖÞŠµø<(õž±ɇÏR…Ó¤ÒÌøtw´3¹¦ÐýÖµ=UPsE +ég±_|ñe  %Ý#'p‚…Ë´ƒ¨ ~’Õé³ àÂÏÏ;*ë@ôÏ~ó媉âì×¾¨ÍâÐõö@¦« ð¢}Ý×Û†äά_-°té$ºõL˜ô_³Úpßþ/kqLâë–¯^½üD§þö*Ôÿm ÀÔ߀¥:ß@êï= ’~"ºï¤"§€¶ƒÀ¿œ ôUÐ]‹ -YŇï³[щÒ/õ7vÔÐ}Qî38¼Ë#éù ÔâÍk´“lI0€¸ô—âÇ›¦øå€ z¨W-$ÌUº ýÇ„ @(ßÒúøáÆ,+·fÃ<ÀI²!a0ƒh\³²B4†ÇJÈd½ÀTÈ~vÔß:fHîVs¯þõ«x‹$Ò/C"©×鈻dõ'Ê쨻3Íàæ”ô›ˆKú=©°±JúeÁô’ +Nú‰@% qä¨L)ðÝÈ",q³¿Ê©AvÙ½˜ØW + {§Le R™ôï?8ãw•Á†wõLì L>8Ö9¨ÿƒ#î  þâÒðü瞟zúSâ\³"¹¿Oÿ[HrWª ãtŸ|Ùú­3¤ŸÅÒd¤üUªêI¨¢«œéO¥êˆ†[ÁÎø¶P5åùžw6@Œ€ ý°aôÊ6.8Ç,qvਿLK;‘l@tÜ„R½B:qbO™ôAÒïi0ô}-Z°ÚüEjvs—hü'¨¿«ØÁ=­üSQàΠƒ¥ €í9çN¨2°§¶b«fñéacT@yoÖ @êŸ[[“k±Á#dךô!¨ÿâàFlâ°Tî¿°U¼„gý<˪Ññ ‰ú+—WŽO¸Ì+ Å?$j@&¢rÞq˜­š°ðËa  à¡<€N²"À¥ÿЦûkìœQ@ýê•ò¶Ý0„ô76š]™ °&Í4ÒuVÛt§é, ‰?Û.°½²e7µX@Gsú—¤©ÐMý5Ä«:õÇ´P»)s:hn©—°‡`óAñC‡HÀBì¡«xwSw«%¤ŸÜŸr +Ÿ'º¢žýúi8ýÒ û³3¨¼üõ/þââE4×ñ•?9ÍlJÿ'ï+DÒf\|ëbð€`ç~ò¦ò÷o~ëe8óò ¥ÿKÀË_ûJÍ5âÁÔÔT˜m¡øQg"nŠ<À«Ü2› +R¥@rMˆ<À«ÂŒËý…—þ_èèkÿUC÷ßúÅÁÇ8q° TAý —þ /ý²'ýBbÞÜN’&ß×”8+ËUO-ŠÆš >d¸c€ ÔºÆW‡gD`Pj·ÖÉŠ´…+™TX»‰&ýét«tð3v"<@•“’9h¿Î6¶Ei'‡³AB3!Òÿ0½m­ß—­cK°ýÑ¢3Ò3€ ßÉÀ+ŸN•ºýýŽŒX|"â„zúNçvלÚkqb{ÍŽžšÎ¶¥ @„#½Ÿ#Þæ=môÅ@\Xãó7‚ÊÞˆF2w§ÝJð:¥NS£‡D[ÄÒi´STWÚ©™ÍuéÖdšª­5ÕÒÜ`¼geSÃrEQ6Q!,Öd=¶Ñ8¯kl\ èrc£×q:¡¦¨ÃÒ¢g}ú¿¿ý9lŠŸ3Õà!aq϶’lÚ°oªíêFhm©o»zµÐ–,H|{ЍíLWtÛ™.Bf§å%twºóú– +ˆµÉÎ뚌ëzê³¹¬‹l‹äzÊJÜý*Ì6¹ŸËpg˜ÀÆØœhqoªë†&èÎa æ:Èú7ÿô+0ûøýhŠb×ð!R¡FH#"›’ç~ô&œÿ›óâô‹ŸagèÎ¥‰“÷•Þüáð_þÖÆjXàäÔH¦Âx ãï¿öÖ/.¹soÒÿæwÎh×…tg<0j¯uíôéÓ¶Ç  ÿ¦þ@zmzâc.œ^1ºgXšÒÈ9ÔÍWã¾èÚ¦fÌ–’©¶›MWçúžjω‰{Ž˜Ï9掟ª©If6æ…œšZ{›»RksÄúd{²Ýàíܦe„í³Á  X,°¶ö/º…ÿÂÞ‹ÏœÿÌ™3’ÅÚ+*|êé9}t†kJ©µµö]GtX²ïóÓ8)b»îšµ!Ùº.ÙvmEõ ojY æ•a+ ·}Å;+hŠbø3‚®\¾¨¶¬L,g>"Ä_;øû:¼w’fÍ¿Z­9UŸ^רi…N†È.ƒóI—;66¹ùyغf"D{ñBÂÎ>ÿ‡°b´­mŠÍ“l¾Æ• Ñ­ò{Ò÷åçÀTÑÔèè7¿˜õÌìüÿ3÷?ÐQgš/ªu;YW³ìt«1‘[–Z²L5eAµDaÙ +eÉ +d™ŠËˆÂå*rD—Á"caÌŸŠ0D 1QÛšØÓtc÷xéŒ3äxœC®û¸ÛÏÐã¾d<É!ã¯0™d g’¬ÃÜ$ëæþÞïùöW[%Aœž™³îæ·^¾ÚµkW©jïçyßoïým­/€¼ïš÷ +懶=üG5té–ç·jÔ¬˜Ü|Që±ýßz/Ñxc å×Ô`G +Ü@Bí»qôô4³À5qéÚîçtßöÀ믱™Ñ‰ÿx€—þȬ%f`°øZƒmbñµ$)JêiPQ²wù¿åºEd2üB®ðû? I|©¿ÑœÃ® °ó‚œÄ~a6Íñ Hú…ÛŒ"¹G¬íP„ó€Er›‹÷€T’l×Ô¿ƒ,&¦þH¶®=îvÑ¢þtßüàVý``Ò/õï©Ûçk¢ éW&¨SØ1ˆa l€§~ˆøú_ŸÁê?6±¡ÎJ[sÿ¸ô£‹€\Ýü3MÁàôé“u€ôëT³ØO,é¿’HÓƒœùW¯Q~ó[oõ¯3Ô¿f×7zõç]P·áÊQˆïÂöT+5õgºª0áMÍ á·–†Í@~ ,Õ«?™ì­S®$²èÖºU>ó’Ø…™5«ÃÉ¢õ µ6¡ûT õ ÔÁbM×,bommº±%#Âó:Ú)”ݰEö×)éq¸ý¥I9¬°?ýgŠÔ÷žÝ‡þàŸÙÐ €:àKÖ‰Œu¿¬hëH×@ÐôþÛgˆéréá©«€< ¹¹ÁD_6  +€ðaPÿ\|ì`’þ¸úP(¼ú3ý*`ŠÿÖÈr/‚ "OHðrÁ|Ô–o …¥Ò"37_£ãmsDv—.ûj~°gê%æÑÐÌÖl[×]³8†æ¸2y[wbE*a½¸­¡øp¾2]^Øh`òb0€òzÓ}<ÀÔ?fPj(®õ ßñ¨?Q`ýãm‹œ xì{tg¯·Üxõ7X²ý:§óf;¿JD°&.€"ëòeÍh“Ũ¶…¸Hú‰®AîihìÊ^[¸8* ¬áÔŸLßb0wEâ pÏZqàVÎæeºOÞáN5ÓÌ8Á‚ø¿Úþpÿ§ù—ØžЫ\Öo&ªïľI7ZºßR—FêÏL'ñ"ÚŽÍ4'¹| Qê/üÔj8Ô +R{¸D_m=tW¨[Ö#pu€óg&ýÐç/v¿ºh¤þ2€#Ÿ#ŸcÚßê àìkgˆq€ù@d W1€ž?u%н`—Îç©Àî=3 ²÷Àç@pꟽdªî&÷§,4ýÜ<à ¸ýíNv…ÖpúKg0€\®ôÅ/žÕý³ŸFd×mXÐ@ó ÀJŸ˜Œ²2€·¾ý¦< Î0x€2bUè~õ·;¶.u÷m]È€-ÿê÷„;(;Ø®ä< Îê ÀæÄ< Î:oñƒÿ`Š€ÜH?¬ó€ þ2è^eWÝÏ7€Õwô€¤å« þ}ÏÚ¡ÞÁ`+×ôÀˆæs `0×·€Hú‘rÿàè¾lÐ}yÈôZ +Ô?€Ô?n7ð„ú[Œ ¼TÅÎK‰€<€‡>í54é÷ õg¸ú-°êÛN( ¿¤#({¨€ +@ ž"`QËô¯ãáûæ@Tø"WèH€©¿Ók¡·Fúõ=ضuËu²º¿=üù4ôgÖ‹ gÂ^èt?Ž6V$> Ä_ 9.©¯IÁ¬©¿ ®þÖ½ÍAÖýX%ÎV"ýqõ—D tß:÷cPÙ¹¡‘©râ®%ã 9á)BêTÊý¥û|$EkØ-=\¿è²xúß.õ‡+º²ûÞ»ú2k³DôóÐÊÉ@ õW7€îÛ{ƒú×€ä[(÷×Q´>¨?騔û_Ý$ýQ€æ’~;q%Êý wî$KCj…èÕ­,ñŠ‹`LýažD9Çœ¦_ÉÚnh é?0æ€ C€¯¤òîµ°Z6 Ü?<+鿎°í²ùØ©¿þjI³lÀ}“ö‡õ§‰ð—n=Z•¿=Ž’”˜¢øÉd›]œl êRy‘\~Hjƒ8A÷Н]×í½®ð½ùŽh% eB⯶E?L•U"õ×’5õ¤ÿJ]@Pg3OO…^ ×þòLM£þ¸Š|ϵ#¤ÿLW7õÉ䣕úxé UË»5€P`‚R@ŸdÉI¼Š€ð‡Ûß©ÿ7¾ñw’~ÑØØ&õ§XÐæW¿ø…S¦EkÛºA¿…ò!õ—  ûêÿ›o6Ó%ÚlØÄšú‡ß‰õ||×U^ý +÷¬ù\óµ~aºuþØÃHýejÛ§U•M¤þ¤áRH÷šú×€ê’{Ù@Ô?x@z *€ZÿOÔ„úg7–$ý‘¸ƒÀ/®-Ûíå[”óž‘»Mñ%• £Y wÿ¤W4¶u /`ŽÖd2A„޶–6\–è¼¹Õ¸¥=ykKk´ßÜ"ZnZÒÞn´Ü¸TIøz"ú!¡­mQ ~ Tyý¶ ØÂâE¨¹¿¸wÉ‹äO¹‹­ ]Ó«3 –ºx¿ ¸£vï­7Åi +tÞŒ«Ù§bóâ%ííh=Žø¾°vŠŽ-–\õ!ÊÝ}(Ã2áJ“Ú ç‚a@rÙbÐéÑ=®awÑN%ÉÖÐQRgþ’˜×ôÝÆ“Ò}WjsÔk¯Åtú¦|ª×cÚÝËNn7Kê]3çfñ^úÝM]4Ç|Øo£_ùÛÂÄî Ô7˜„¦N<[•<ýèG? >wr¶©¹FŠYÍÿÅ/~A¼ø½ A¸{?ÔmK+; +çþöu¸ðÝ·.]ú‘Ï'ng^9ÑKî”'F0Œ‹?¼ FîÏ+±ðÄ&Ôÿåÿùe}ª¸\øî•øý‹ßûÿxh <ôOšÞŸºsÍû:šËOMgâÔ$Ùýñÿõcp"í'[è—¿,oÛ×Ö‘ihlÓª~»ù÷+²¯¿ñºøòK/žzññÌWO¿ú¯À¥^(m«Ì5€Ÿø>j•^•öaS°wï^-ÿÂ?{¦¹£hœ{óÜ˯œ|$ÞAý"]lNÞÆFèÚd¦øÒ}‹jt¸ëÚ;‘iÄxBSscóMîàðÍ‹Z؛͔Åè8 S»o„‡ü4‹¯·Ä,!öÔä¢ÍŸ_Ô¶´ÙzqÑ ’×¥KZZ+±k¹iqÖÅ<%tPº3Ù +|-I²«È® %¢#±]Ý]©ît¯êYyGoº7îë=w¨y[G¢sé²ÌÚœèÍÞ@å»ûúÆ¢…»W{«Xv[7hð(»~ðæDÛR6¡Ôàý£Û«Gfž?Uý'Ǧ>»§òøU À¤_60Oîç7©?3³·¿éwif§f …ˆP’êŸZ‘òt§1á'p¸ïÑÀtÒ:`˜G¸ð)wv(;Ž€'vÆ 0€šúGà‰Æ„ͤ˜{^PpP Ý|¤Ÿ%åúäºcš¤_àÕß’2OìžÉþµËQg½5œôH­´âÚƒÅy@÷*R?C$ý’ïZ†Ž +£ì’xt?ˆ~'г,I´Äß¼>gw€î¤òDèè̸{É4ß<  }ÎÃp§ø˜l«ŒHn0 ÙDú1œ@ó5]ÝP–!Í¿ôãKuêß¿xáÿ@ýáwÞ‘Y¨Î<i8ó•³2¦«À™¯¾ê‚h%ó àÅ/ýÐø•ðÓŸþ8nË–-óáU àô—NßV” ýR€°£;$úñ›n80¨¿ÓÍH?ÏÆ Àá•ÝnïÚnûˆòÓ ýöЀžrϚȂÐê?©?»’¤?@Ww*¢Ëòñî.ô‹t¦?Òy  ;,l ©¿ @ê7ó€Hýg_: ¼@ÔÔ'¸Ë$ž(¤øÖÎxx¸îvõO'M÷1¢*Ô_(÷÷(ÇO&T€/ni‚ÞÚÚ"š››Iü†›jß¾“QÔ 6˜j»$Ù*\ãZÖ_ì7w~øü8îY€_³cŽèÇ1¹÷WÄ+Y+”„"@ÒŸt÷LéŠ>˜»Aòº`R z2µ¤FÔY_wÀõ‡Õ}-ïLfR¨? piç\ºî$;h.ÒWÍÔØñèµk˜ô+j1Ol%¡ëFHÈl Nèû½$enÌ[ï.÷÷D7‹ ”ûßú÷o^É^|ñÄ‚@î >¡ûçßúæëßøœûß^Çd“»ÇѸ+€ïü¹²Ä<`aê°ÐU (Ð}·6›d?ú?­”qÊoÓ‰VSÿ_e*~¥\âŽ@Ë-þ/¼² ýÁBú’~õÔ*¯ø®í“kæ„v!Ph¿ù:ˆÛ?* 8\îïŽJÆ ©ÁPyÓú(µ¿ÝU®Œ¶”éWâ/d¨ÀtMÆÀ@ÖÒ ` ÖŸƒðfx€XÞÓèü½žËS5–Õhéì”2Òh¾©UÔUè~ð€rÿ}[šH´ÖH-}ÄÏýOÆXÑPÿ©ÿÒj&2Óýš‰R|ßÿs³ÝäÖ:{ÖóuµÜhn¬. -/jý?ü®mþ°¨PÐìŽæ«`%ªh„þ[•~~‡:˜©. m1V^O”¼€z6‰E®á;Ä w=ƲûØkezé—úCè@x€ˆoúJÃQk¸wñ½ö±$é‡ÌZk þUò€¸pƒ @àçØÐTÖùÙ€*.‚IÐËÒ/0œô« È‹¾ntÝ£˜9ö0º÷o¼ Ýç]ˆUPŠ€×ÿú,rƒúÓÀÔ DC2¤iûŽÂ• @ý?ZŒ"@ ¡H¿Æ:óõÓòUW2ËýçÀ™¯ž¹ð­ ù\^â(½Õ•*€0±ÐÕ x!‹… +€Ü_U‹›2k +ïÆÎ|õ´<àêÀǾŠиº¼ö×gë*I¿/ؼíþYFPÛà£+©X@ý?Úì¥õ ‡ €$>¨¿æÄ T¸e"õ‡y€’ýö›`RPî—~©¿*A ê*€xйt™àa 9Nk[jÔRã¹HýEåñ2PëzùóíímÌt×(¬mÈ®òçõç×Ì)£ñ%©ÍFù£F%ßPúH£¢lmõš ˜õ­^ ÖQÕ›®±&½2Ýݽ¢‹¸:"µÂúË’·&@gÉ[“ŠqË5bÎÌš\ŽíËZÀ_a@JÞÜHõîA…$‘MÇ­Ö»GCÕ°.þ÷7¶ßb½¸H«]“bvÒ¹ÔFÌ'ºÑ—S+®è””FûÍ‹!½ÊVÊ’l¬­M=é¶6^Ø«CúsÛ’îÚé42n@¹ªv L»D×J×eÏÞýD#€úw¯ö6@bèèè_ÛIDRÖ&‡º€|\‚.“°"ÀÑw—©0‰r|Nï@GŸ»#.øº¯«jÛMØÝz¤ìzUßÝè»»™{tOyëù±¾³†®çÒK|Œîbo+>:¾k÷Cèíå—_¼ð½ /þ‹“|a8`É®•vwÐmÂxaùÑÂùoŸ‡ÿò“ÿbŠõóËŸ*JÖucK¨NW^ÿÛ³ðÖ;ƒåÅ/Œý¶äÄ£# ¿wÎ_ ÅäF•ùâ³O]¼è,ß{ïÊH5\+«ÓÕË—/8°×ݶùòÏIÞÀ+_ºäoð²ÔÿAÍÇÞçþéO/ ½—¸ð]ëAb:ñì©ÆkÉLE0€†÷´GýiELøe@•<47€0ÿûÿñû˜–`ÿ•ú_sÍ5Dþú½ûì*0À;yyo_™è+§áÿúÕï|ûïYU8 ¯4¥+բȫvì²Uva»íŒ°:`Y‹è°ëQjSðŽ[xh7€x»íæˆöHÖYàæ%@ó‚·­mI{G ´´._<ÓaüöDìV +KÉ.k´’øûß:[–wÝièuEªkUoò¶îp:f²»˜™êÍtßч¡ëƒ=ÀCD¼ýw—[q0Ÿ5ž®Ûx»L [sç­] Ï&ÂgèÿèHaÇÔôs/œøêY˜}þÌô3³“OV ÖÝÝÁ¾üÙÈâ¢?r—€îC>cP¸Û@ý± tr™&°ïeE +õ§Ñ}›]³J&¬Ñ›&êZÞÕýÁîÔÒêO„Ìš4ÒÏSDòîÎ[Z}×èt6`ßû­Ikt´!ýDHÝ–”úÓô¬Nјoí7[Ï;öŽÈä½î/dò€u×Üb6ÁˆÝ\‚ôû+]ú tÊÔ<º÷–5VYÝ`—ÔRó:|óã%:mF Žx¢Ôß}áÇïn[Ùgè>²N$wFúRï.'ÇÐ}“WÉw$¾qݧ¤œˆ€ @Òï³õ^â}^od×'ú×ÕÖi Ø­t @(´€Ø»GŠ &Jåe°ó‰±¸œ9óBskCxI¼sÑrm›bÀ³¢ÎH®ß¥ þÁž{î¸ 3€p[ŒÀÏ|.ÆlW1€/åk|ê úq‚œýúk À5MI àÅþvï>@÷Essj¾\úñ¥ þ2¤Ÿé½ï}/‘¿~A@ú¥þ—~x‘UIý wâ™Äé÷êÏCrj€]=«ÅÌ$ýÉ[ÛƒtÚ8%m(~'âœLÔ¤_ ýÔô¨?hfç--Ⱥ”Ý%Î5€–¶Å"n-í6:›  sE7ê/æ@j¥I?"ñÓýp6޳Ôßn‹Ü¦­7èêéH׸̓ÓtÞj òŠ ¢·CýGÛƒú×xfvލ ô@Ç1€Ì +oé¥)t¶èÐjk û,Ø€xQYÕ úÁˆÁPÊý1Ò@Hÿ±åû(~]õOEÓêÕ=¤?еrY@€„>€¾Kë­Ö-ï_uË"á6\ªN!ô Óî€3fb$Ý*þ¨¿HøÜ¿÷.ƒWQ»÷@‚:Às Évªí{fh° º•«'B ÜÑ[ k=îµÞ@s´BV<@'û£þDžÕb¶†¨J`½0•¾h ýqÁ*;G¯d¨¿Oÿ™æU,Súİ ÀŽ4ü7€Ô¿Î4¥@÷ÝL×™uêÑòn~ p%ê!ýo¿y±õü´6¡¿u é!ý7'ˆõÅKýÁœ ºý[=^ýƒ¨>;”P  Ö ä¤ÜÔü®NtŸôÜ2ô¬Y©3ú«Aýé½@^îÁÌ ´rÿÚš hm¾ËýeÊýƒèµ¶XtœÀœ þ÷®iS/Е µŠ²É÷ÿ@ÜjêÏ´PûË„. àÿHýÇÞ#ÓçþðDª7Gäý,7•¶Uÿ‡€¤¾LNmçåÄ:ý?F”øËÍ´÷¹ +Ý–Ä®nH¿J€5PÿÈÐýùP×d‰¿FzŸ×„ ÂªÕ^À"Hðe&÷®ðhŽ3°Îìi_š$Æ  ýw—{éŸg¡XÔ¿´FÒ%@ýÍÞ9“Ôµ`^JàpúÉ¶Ä Cw¨¿" ßé}† þÓWsbD5FÅЇšºn÷ŠOƒ/eefºûzî´#½wÙk½êëègK¢a±¯hô¬2R+RÄ®•5#•t÷ô¸Fº»ÇX™6/a Z[ßÚ¡þ¡a¢®’è½»¿§¯'µ*Ñå.4_*CCW9©(³$Q k¯´†zØ…ºh„îÊÖŸ¾ª­··­ÑYÕÖsû’€ d×§Wß‘°eîì¾¾¯v’¥nJ”Kô}xΜ5kM©%¸‚9Âæ;éê„Ì‹µesÉÜHDyðž$qè¾.5¬K®ë$Â@Ö’qž»¬+“MdîuÑõÔ³  éýë:Aú.ô!ƒ÷ðø‡Où£®!E‹ }û¸7xõ·"Ã;„™DoÛØ'î=ûõÓð7ΆàÄŸ¾ðŒûíµÏ©å{×tBó ÕÃI›Ÿ0€EÝF&1>ttê?úvòÓÿë§,rþÍsÚ  ­£fŽºŸ\Dì±A˜æ€çvßÃ#È®ö60Ük`(Èô6'V™ôwßi€îÀGDúñ!É–v#âЗéäþ¢ûö^<@¬L÷Fêï €—`ZƒÖ&é ÀPU»ÎP£Ž¸Ñ¦ »ÇÔ_—¶JýƒHú½ ¸žwuÂõï¹½Þz×xúþìr“þdc0Ô$»}–zwfîîDý=Nú3dÖNÇ…Iê‡ =”Êç6¦ˆqÈ®O3‰’~!é/32DP¡O‚ú#”¨?«ÍæSƒ÷š 8q7éO¯‰  F›–¡ôëƒÅm€†Ôß>ÿ\mt?؀Ͱ~¤:ŧaËÇ €wôU‚;b!Àê< <±7Ý ã×5¤_êÏôî € صk—Wÿ˜\¢.‰€Ô_ û€ $:Lúó ÀÝF€ú7·fPÿÁÜy@SsêÏ_zEŸ™)nòyL—Ú§ÈøsâÀ'¯3€éé©Áì@øÛeâÄ=£2õgB÷ù«e’~¡=Z6 éçá|€ÔßtŸÆÒ¤Ô_t¿ÎP| ôlðëê¯ÜÜ­µ3p0€Ôš,ê/0‰w´Þ’ÔòÐÒÖx¬MÑLm·tJâñ@@É~ìaWæ·d>:2ô`Iê `ß‘* ýPy¼»óäþD3¤ÿÿsÌ7€ÁU†ÔÌ V7dº}Àdc@⥵Öú ¥ÿªHÿMú (s÷àr›ã z×dˆ€YÈí½FOpN0'ý«Jd©T ý±"À2kyº£^ý‰y·+¬gÆI? eè>( ô6߀ú£SD @@ ê/ðê¿6Pâ'ý )©qO ½ç¾¤Iÿ}ÉÂæ‘o!é\Ÿ‘:@¢h±¸„ +@ ú×%¾pÀ2¨´Œ}ZeýŠPg5•Q7‰ɽi}¬Ìä[ɺ @œ89óÒWOÅm@:Ôßlã×1€3¯œ~—pêOŽ{ŒM^ú•À• @E@[{·´PÝÿ饗¾†ô UBHŸŠ€Ò½—‰~dqP"ÎÕ € +àü·Îˆé?¯"ý§!õ'î;°?Yê7ꀠþÒýÎdR6€Äßœ¼UDÒ_3€š (ý'FŠté» Täþ2y€–¥ÿ¬?µ*Í_úÓ€ÄòÌ7€€—xê9+ã¼ÊãÁB)à‰©| Î:–Õ«¿¥ÿÈý\@úKOLƒ¤_L?= ¨ÿÔt…ÄP"º¯þß´`€ÊKýãÌÇd2_Pôzdu€áÒPê/0ÝÒtŸô_Hý­§(~ð`MÝÎLýã`é¿3€P ýB€úËÐýt¯©¿ù½^ý}MuåÓ¢ u­ÈâóÑ}iSÜÝÏmÌõÿÉ®çnÓJ x€ä5›©? +Žô׈ ÀžÍ["oR€@ñƒôË ô‚úš<À}€ÈÔùãz´ŒóŸ0òµí…áÀƒý]>ëgÓúHú5Ÿ‡F$÷ü(j j¦¾yɺ¤žúü€@ý}ÿOThù_×ü³n:ñŧ®d»oèWº € õ_ÀZ–þG þ»÷o¤þ ŒŽíäc‡^  þÄ%.凸H÷Õx7€ ®b”è>êïÉEê õO¬H$—«¦w9áòQ9`aPÚÛ‘H‚*€šˆ;PCh~¼ ¨Î|ƒÄ_Ê뺀HÿùC,*÷—¬;éo]šŒ@g—;û3B]1">Ô AÖãÄ  =‘Àt (÷u¥2ý™ £¹mS¦û/žñÄ @Ò/”û‡ +  ßûÊ­ øò¡¶ÔRÓ÷€¤¿ï6ƒ‡Cé†ÁCó‡ït‡YJ„Û1ƒFJè_ÝÄçN}m΀Îxõd²5î4½&††ô:íÉdØ€ }X„TO/ôô!ëžÔí½«ï½wg}YO÷íéÔêö+[bÔ³:£= g…RHfÚ|d%BçÛˆÌ`Bd×›D.ï^Ò‹„ t¦ºÛ‡’DÓh“Î. 1àôqЩ<$ÊAÙs…®á†„Õwø¸Ü_9>Øœˆ¡û’Ã÷w×b§Ôùbš82ºzèþØòˆø½I\Š˜ÛØ]7XÔús…nÈæºC#]ƒ8ÄHW®˜Ê'©0|T9Š}æõ‰Úûâ=ÑGd¾ïÈÜSœÀ£oϰŸÕaŽÅÂÙ¯Ÿ~áÅãNíý„–ÑHD2]÷ÐÔŒ”]í'Ômbò! YL奯œ’d‹™#åÆkº{: 2€Ý—~I‡7¡²£FF3b“rÁÛXrãâ–›¼·wؘ3Dh³Áq=v6KDó ©—¾òÊØøN‹o´{üŠ%í} FKGF4^›)lyáŸ&6^kGK-­Æ’–ZnÄ<ü …‘‚77½óý‹¦ÂæÒ™—_¾ð½‹PÚ\ˆÿícãe½éÌKgÐqΉ´³ã»ÓÉÔJ Ñ¹¼ Ø1¬;«½}I´§-™ªu}–´µ7µZ;:ëH¬àÝ»õ ´/[Ft]ðFK;iÏÜ!ˆ;𱻺ÓBòH£$ñ:ÞK í¸â§º3ÉÔj]µ«?Ü÷êD_èÀ2¸‹¶jÑœõDŽ’h{aÇT¹zdꙓ3/žÑÙýGžÿs˜yöD z„EÊÛåû›îW¯±€€]å{Ë{ƒ ûýô é×| Ýî 2XB_£<@XÞ7ëÉ!®Í!ý]·¯!Jôƒî/h’þ¸ˆù ¸ À|@ û™TÜЦ: ^Å2Nï~ Ÿ—~‘O!ýDl@ x—,)¶y ݧ¡¶2}½¯< ¨?Ê+éCù.Ô_q¸Ð €%ë @ØKœúÃ|ñèYS§é¹º@ýõÈx-QU…ê 9œ½µ«TäüNñ¥þ4ôÐz·ÂaW1¨hˆÏ÷Ϻ‡:ýì*„È ü(uõ·è‡±3‚Ѓ¤¿ÎŒØz$ýW1ãҥݟÞí‰&»¦+f$q@ýñ€ x€¤ñuM2€@Pÿ`"€ó€f¼±cW7>̯kÿÛ_úÊ<@ÄÅÎK¿»B¨s9rß-å¹Ýo¹¹3nKå… ê ÀwÊÌŸ¢/Ðý€NÇÔ 9R•ÌPŽØ}GÆ«ÓÔ¿kuH”ëNì¡1ÇÌÞVô©}ü;YÐú†ó=>@÷a×玺¨LÏî{ú¤< ¨eÿ” @Ôçþ ïÊ­«oý ‘^Ñò€\oÍÂÁa*åþ*怊€`æèþÚœl@ßì|2C5$ýªÐ}×­g}l¾€ô5Ò ÄwìøÐÒ&¸zê±12!y[sð€x¾³5 Üåmëhêýù²õÒ Æ @€ÔŸ™$þRk8)7õ_oóÃSH¿ ý–þS18!ö3¥ÿò€\¡dJÿ] +ÏšY7 Ð@÷å2€Ÿ$’~Xžó¾^ú“Y>ž+êàqW*xˆ@h[ŒN?}— þŸxð?Ôž®`¨ó Mªtâ•* ”ûÏ7€81õOIý)h4Ùä^øX´u´µ´úÜ@'ç€&/ÿ @˜0€MÇÅN'Dâè&:.pÔ @Òï’e‹R-_#(¾cñ’%òMÑP µŸ_HÁ…)Žl@ü=k˜îGÄ_}Óý¨''¨?xéŸk&Œ±ï$Hú‹í›zötõd¯¼ó õ‡+€‘ÑþÌÚ t_05]P·„7€_¾‘ +Ì7ê"Ò/ÀÔÿCÄ ü‰¡kÌHüe €t7næ ôeÕ¼1¢«§+ÈŒðpÎÍv³Òωqü<@F¬}û+RT M$~¦pby (·ÒNåÑœùÌY¦6xȉF¹‚pÂ8¨ÿGË ý¡H”ÑzDVÒO;Ø@asJZOC‚›+¦(x(x +é·ì[u€“þóíÙtþnO1 £c™ò¶likfdtµ(Œe@6ÀòÂJg~ÎXZ€QL©HÀCPÔŸhþdÕ€;>a=]]­0 HýeTcK¹Fq¬?J Rç?–¶b"¦þC<µÖ"dï«q÷ð­úiÄ—®1°®SÕ5C†.|“d÷õw€ŽûcÈѸÌ¡ ôºLZ—ËŇÂîYÝR㎶äŠf"'èú½%ÍlÞ­ÿÀ àÂwÏ¿õíozþý¹7ÿþ¯ÎýíYâ›ßzƒ9:é;Þ|û·.þð9±!fݽ íŽTíÛìÖ‹Œ¥v¯+¬ø&» ‰L¢i‘]p{êK³Rd¦3_=[ÞQ…¶d6žT¶æàÈñêåŸ_´cÔ?¿üâéôvm7·@ó’EÍ­äÆÍ-7·Bp…Ö›;;Ùƒ\ðv»÷ìÕØD6úôÏyö¯ÏÁ¹¿?/ÊW¿þ¿¾~ñ‡—Ä·¿ómaŸíë¯×öÇåvµ”N¤‰ζD—h¾©ô\ ;Sw˜3E¢áFÜ÷©açm¾ËQîîëWCÍ›>¸ænГìÝM…˜Žî¬¢ú®IaymWOo2ÕcëYÕ‡°ˆðy@ŸG´ÅÎØI$Ób0?šÝZÝ}hçÑ爕c'öüÑŸ*Î~éìØ®‚Õæ;õÚ¹ÝO/>R™yþ´˜=åá»ÍmÌ}óÂ^üs#£ƒH¿âºáH¯J§—Š[³Ä¾µ©†kr›z§öÀÀË3­pæh»ÀÐ}<`yÇodV4ô,«Ñ»¼aù;TC÷- Š€>J„®S¨·QôÞÖ®†°o-Ý |³ŠõÔ«Ó¦gëtsQ>¾Ûç®~ð=<±nŸôvñ41Ë«ÜUþ%îÙÕó„Ðk„îûÒHhß^Ý× ¨? ýX(@’¼úÏ5€ôªæ: éÇê_ÙŸCýi ýcYl€8öðºÊdh]ÀˆèïÄ.“c˜Ü]lÐý‰O?' þÖp?§‡ûajºˆÀ̱J €áÞQT×ú‹¹ëϯõ-îØ5ÅO˜ ý¸ ë‹’È$ê7€ÞL{ˆ@ÿP§„³†Xm_4D]0ÃuÖÉôë£þÁôûJúõ©´ ´·/Ž€¤¹´^`à @œÿÖ9<@q¾P2Ú@•ó ÀŠ4] .þð<üÙ—NÒ/^û×g4ógíË€î¿øÁº„ú›¸i¾ø'Ü7ôWçPBí¤ø+ }g²+ NÏm¦$DH®îÔ?Húå€|KÁù¼µ!bè¾Aàay5$P2aÝî2] À<à]Àà†Bü(¨Oæä™À¡S§4^Û2Ôê›*£þç¾w‰º¿sÿ>¢ @`’~íÒ +< misâ¶–šÄ»€.¿æÁ~<õ7ºMúÑ}$žhÞHýi,õêOCÒO@£õ–$Øo–êiO.Gú‰¡!K`û@ú•þ‡’ + ñï^Ý‹XÓH­ìÁHÿiP‘‘þùå”û£þ Ò’åmƒëéáYÒÿ¨ÄØïÍ©¿5œî €5îj_ÐÐýáÝ¢ôp¿àKêoâ»?' ’øã€1cW¡:]VDƒðd^ú%ÖNý¯Tˆx0úPM¬ ‰OÜéîþL6—&÷ï¦@ú¨æo±Mm|" cgGô6À×(õ€ @Ò, Ô×dÝMÃ<´CëqÊý…¤?T—B à· ê’~`?.6 ô_Ýw¦ûïo"ý¯«$ý"T2€€N—œov'Âù`¸Fêÿî `|ǶPÌ7€ÄŠÈÈýƒë²Xš°`ðæ¿»¯‚úã/ÿ«—ÅìÓ³lÊRP™îq6о̧ÿ`Z©÷wE@Pÿx< –þG +¥5ÒtLjÍϸa—„N¾öÄî–îMÜEÔ Ñ½ƒëz”ûÇ @è/•  û¥mÙ¼º°9¹Âjs×qdé>µü6;`C¤Tz3­ºõÇ‚1dóɬ;r®"€Ÿ)€F(òc9eǰT4T*ðÓ£þ)wwí aÒ8ºÀ|8÷æë^ëÿþ¯@6 9<Aý뺀ü õ2t?Ùl¸ +@ÔU¯ýÍË^ý™2€P8õ÷]@À{5/Y$t¿Ög½Üc¼¼Û/¼"%æ€<àÄŸFýy  ¼£@÷qPç©9¥@,;uZÒ#¹ŸÏššHôQvE5ŒXŽæ Ô@¢<@ë Ò¯,L›‡ú«¨ö`‹õ­X—Y_(?>ôWŸ?tñî @ ûJÿ©þâ#7€ þP=R +H…ZÑ·6µ€¼óÕ®‹¯¤ˆo¿”¼øÕ”°ƒÀ®g¿g©âõº¾]¶ª!w‡o‡ †i+æÖ4äîl6hw’=ßßc’ê‰*]û»VQXQ^õCêöÞÔ}ÞLχˆˆuøåì ÌJûUˆäÉnò…4Vfú»oïƒ4˯aI[¡5¢¤€WéÇæWëZi÷Ëïîëcïúàímž¨«74Dö£ÝbKyðÀ‘Ñ@¼dæx¹Æ³5ªO—3OWÕ§«Ù“'3Çg³1ªÇªÊdtÑM¨Ùÿ!Dƒ”Aè †úÅÆŸ4ÚÛ ñÚÆôêtù‘R¡˜›Ú[=û*û¦w§/O>1^=\%:'(MíÝ4vïÙVyt´¼-g<’—˜%ä=é;–w¯ìÞˆØÓÓ©5ŒèÊ,èîíê&Bæî®\>-²C=ÍáYèí[Ë›±Û}Hgi‰'Í©ÛÚ Ý›èícI£çö´w6õW?4>zéò¥oü›¯×ø×_«ñÿöëK?¹”ßxoãµ °äÆØMH:š¯¿aQÓûßç¨ÍÒô£ñ} ïi(?Z +LMOÊV…±Rà©?zòŒ’-YOË­bι’QߺËÖ›rGO½øçðê_¾¼D–»öOŸyåì¹o¾ ßÿvk¶0úÒ™Z—ÈŠ”Ó¸ÇËz7ûxd©Þ5FP|d7ûð$“黇zúì¦çÝ}¦ Dæ€l`åÀ th€Ø{w¶o]hHa<¬ŠRÃBlý¡µ “‘ráÈ?\)}ú@Éê®§¾(ªÏ¾0û%äÞxꟽ˜}ñÌÑS_†CϽxèONϼx†³xÃógfž{ÁˆÛ?“göùSbp8£ºt<—H¶åG³"½&]Ú‘­ÎŒÍ¯¥BåO­ßÇàÈåSMÍÉŽk,‘*ŽõÉj`yÐÿAtÔØE‰¾<tp0²©aM€îw¥ý éÙ@øa‚ئÀÏôk;p Â/„´ß’ ÁFKõïLvAê6@“~­¶öÚ¾~Y=6Áˆuä†qõïÏ&$ý"»¾;ÛØpWŠD¬®áNötß‘£[s›ÆŠ±‰m  +ftëx ´u Riª±‘Í› ™JA~Ã0°re7Ô†A­#6*j|~ïí½]›Ó{Go|™9¯Aþ¡[²Ç}tð€ÜzDÜÀ̱*êØS݉ú™#ÕêÁIÀ0€ÀÔîqõ— ~¤;n ýwwI÷ÜI2ë ÀgЖD×Ð"„æ¤zÚ­ÑÑ„ú˺>Ø é5)£—hæÀ‹þpùòÅ…qW{,÷Ä ®þ€ƒþJ8ñ'ÏtÿOO¿4Ž?q8ðùYˆ€¤¿í– ý-7[w¼y€“~²ÍB@<4sdAîá­ï\?úÏ—â€îûáî´ +õ_yW?HúW[×üšžõz?<ÌþKì»'Ô_P §ß õg§F÷A'ó˜†Ü•2oW6€ìÇÚ²û”>%rãÛÑ}˜øìlüô›:Ðýàqú{ø“Ó¿ø§ðn `òàtûT…ýÙÕ@ú'ž(€%—3c•'F°XÐò£}AýapݲP4„ô¿ÎHüe4Pÿ܀ꠈ€J‘½½ T þ2b}҈̟ßɲuÿ0JBPgé—  þm ¢•è~ä2€r¨ô#’øËÞñ€ ^`èþÔþ1ÕK&Å^ê¡LSccÓ¸C:Uþâ=1âËÄ^ËJk4Ô@÷ƒô¬ìYd2)½6bóež;Œå+–ÃØ,P{áU°·öÌ7"@ʯ +€ ý`m§þžé)Ìž €ˆÊ#ˆÐÖAVn‚+x6f…b& Ðú¸ðôTvˆâÀ㥞ø+Æ+~:}*(?Z®±£txÊsòùç‚èŽZš¢?Öl`ñ’ÅmnDbÍ­Íò ÝWŠ}î›oH…Ïýý›Ä—¾þ*œÿÞElÝ?ý¯Ï_º|îÛ‚N@2.hs祠þDfêD{Ã퉮@ wÉå x€@÷»•r¯¿qNÔº¯}$ýx ýR¢éþÚa“~Ä£þİUìË£S9¯d¡‡òô3têøi¡Q§õ "é'^:[g¤ÿÁTxéî…_8ŽîO?ó̾§Ôlb4·ÑtŸÔD€î£þª¤þõ ûÙõ)Ù€¤åíÍ7ÔÔ¿Þ”û_øR¢® H@úOCêæw4Úˬ·ÇÄ+uÉd¡óGÕ ÓèÓ}A…3›ÐÙ®ó‡êü«ðÈØ‚ƒt¹ÂÔ ¤·– „ + ® H#Õ@¡˜Fý4ë"G-ý¤>ØPî/ºÓrÿ€rÿù@\Üç0G¬ åìó @Pg!ß¿"W5€Pô˨TP ʺ/M4Yt‚+ ñ@ê6èiÔÿÁBPGЕ  /Ó-h£þÙõi ‚Pÿ§³5ž=ZãDŒçfqXüE°äÆëˆ$þ2èþ’6xA@ýiHý©h¨À¨‚‘~*€¸¨ ýê¯ôß.¹Š«©3ÿWÿò5ñò×=xÀ‚@7€¸p+ëè¾úc­±¾P#_°ÜßÅù@úO̬Í!ýäì2*’E'ýZUo6'Ð}Ô?sߦl±$é{âàÔ³§ªÏŸ•úçÆ&HÿçW@î¨ëªñøL压©§OL?÷6R¨?¥ô¿úô ¢¤êØ  ûS$= ¨$ýïÒˆ’~ !éÏå±Úº +À)þÛ_IB0€Ì +«÷‘wË߬¡á}²½ ¹ytÙ@®·a$cÑ.‹®¶ ÁV¤“«ú„OíW¥WÞÙ/|¶³|e&Û}û#ê»·óºzìÌÑöß]Nƒí¸ui’ž¿‚Ng‰Ôí}å«kðî¼£÷èÀëo¾¡YGÿ «Ûç°Á†r+ÇÎÏ®ÂöGʬÄçJ+R©Õv{ñ’%áx—¡å`תM±²z.¾Ã½iQSÓ¢Å1xh4þ£ÆÆt h>™袒uëÖU­G7–·•••ÀŽGvâó§&§¬$0õèT >?N|¼|ÜMa=…MØöȶB±°oï¾Ùc³GU¬NW«û=:ôÙ°™ÓöôÔÌ‘10`cLþæoýæ’ë—€ÿ&ÝÔù»íÐ}{Of(›[oôõõÔ‘BîÙ€–Ïfûµ™€:µzï\ «W¯Ôrº¡ÀóX¦­µÒjËÇ·ðÃþç§/ÿdÎݸæ»øK£Šj`QÄôÀg(ëokïh»¹Óhïh¾Á.hjëh‡–öö%m-‚27/¹æÚßœ:sñ'—_ûæy8õÊëðú›çáüw/Šæ÷·-iël¹ÅΠ'êülm‡K:’в´ :’]Ú¡hP¤FG]½1gÒeÀLÅm•¯½úÚùo_øÆ¿ý;xýó_ÿË7Μ}•Fõ؉¦Ö¶ž»³¿ohx0_ Ѓù"XãþQEk8WX?Bä%½k‡2ë]ãîu5\G®ïÎŒtäáÛ>5¶ïä¶M›' ¼ÿhõäéò‘¢øééÜXypCQà ì'0ô±‡z¶7{/d7–g"æÆ*П/‚æ¶O•÷ÏÆíéèÝžÏî$N®ˆ]ÕñÊþLìÙ:Áz|b˜¥üh®z¬$qŸ˜.?šõñÓÃcÛúÆödžSûs…ÑtúN~ÓÆÄŠæž;[EüÂÉì¿ +Ì à3Öóƒú«  ¿Û €Hy0Iÿ&×(­óê  þè_ݺØt¿7c‡äº­g?H¿éoÔ]Jë²Þ©¿3~Nïîþ8<$²½ê(Mâƒ=ÚRU6ꇲû þhtÜx;™ m.¶òy¸’ û°ú®A¸æ}¿ÙÐÐ@¬£±‘ÝÇO×þæo/HzÇŸÏ»4·¶±K þ4‚¤W¥³ë²M7ŠA]üëîY£…ÂÆsˆjŒDÓðððØ–1‘ËçæS+…uó÷ç’þL& €(é?tøPz©¿iýt5nRRÿñ­ãèlPcާÚíJÜÏ·þ»{C£ÿîL__š(@ú½Ì3y@0˜o¨?ŸM@ÄνyÞúÎyâùo‡ ßýÎÅ‹oÛÀ™óøÁ~0Çt8ÝX)PÄ}Ý(@lèþ›ÿî-qîï=zú¥©#³2œ@ðµ7¾Ygì;H¿<@gè1‡ˆî˘¯[jÏŠÀO¢Ék¿›ê éó ùî_Ÿ5Ïú0´qÔ«¾8ôÀ˜Ô~aN é_;d\Õ†KeôëêÙÐ?3ùôIÍè~ téÇ ¨?\Ý„ôúîɺ×ôÔi,”û{\÷”*åþñ +@([•ȼ¾Oæ@°}‰ÏšúS +¸ô_Hú­oÇ‘ú;õõKúý©ÌwÖÀ~¡ô_`8Ç»2u¡þŠÔ¥µµ" ¼ÞŠ@i¨º€$ý²eߦ¼kìñjÈ6Ô߆ЋÒsÓh×ÄÆŠ Ä €-†-UJÐÖцètF뜹½oõÝv~®._è\§·Ö»³fY4ïÒÚaƒtÊÉfÔ_ñ*h±*=?ŸªjšÓíÇw9®6Ÿ + ñ]ƒôËÔ4ºyTµ½R2kˆÏ/o-«ÿ‡†ºnÄ»é ++­äê]@ õ§1slÖr|×@÷>5;ûô ¢=tê ‰`¡ Ü05s ê¯(éÇê˜ :è]ÝÝvC³*õÿ„ +€©•)ÞTà­Îѯ£ +­`‰dî„Oèÿaª7P¢3Ô?nÁ7/¹’Ä+À—ÿ×74´^€ú³Ó1GPפ:`¾xá¦:@ýÅ‚À>( ÷—˜þ: ¢ûRÓå!–ñ€îórïQúŸÛZ©9ÐÈ9"=Ì7Ô?½*Ü;æmÝGÊ%AÝ}uíB§»Yèû_2´‘èN$,2*$KuàÕßê7¡ge¾g?ªvîɃŒœ.¨(lNKúñ(Œ¦…*€ÜÆ”l@ÒO^Ó6Rô—›¼ó×ô/’jˆl·]Ò…¬»Ãè;Z/¹/~Ø—0ºÎ`¾5ÖzƆ(ïÍ4Ý a²]·vßiGfìûýРÀHy¨(VFíà´)¼ÁÁŽÑ¾<¤½é¡\reZd6xØtmÓ²ž^bóï´'nëa“%¶/[¶øÆ‘ø½nHß5Èö§Ÿ\(ýW‘Ášõî¼6‘ì¬ÑÝ68œQ®Z=:+J;*ü ¼¶oˆ¤&¯ÑÏ¡é·7^sÍw®¹ö7;?ÖeŸÜ D~ýåm%µÃÞº¿½wö +ëþ^›Õ©>Fì ðœå£Âñe–wE¯rô¹‰ÚwÔÐAàÄ-¤ÙÉ]“ʼn&ú‘ CuºÆÌÓ'ûþ`60…¯DŒ~ü¡þ»5TÌ›—´¶Äšî/iefsóõK@ÂÚܼX(¡N­¢þ3$åºA§ˆÉ²'ùØ™ÁAÑ;0èï&Dcp°½³ƒ< (³³äî‰}_~ùká‚Ø·Þþ~àÒOjgLþâÿû !==xð >§Ý•Üq‰3ââZtTØ8%7‹—´446î=Z»X´19ûÕ§Oð.ß|ë‹/ŸýÚ7¾yæµsD àÜ·.ˆ¦f3©¿¡CV7¶,io·Ø:p[»¹JÛ­]ÆŠ‘½i¤8zù2oôK ñ¦á Ï±ZGþ¡m§¾„ÜŸûòËgWΞzé 0gæØ‰A§×fûïÛ„ûïÛÝhGw‰ØO­¹7Oƒ ›½)ìž5†k¤rCŸ?`ýøâè /:õåƒ'¿|èù—Lå1€gOücOiY;KçìΙ/hbI3ô®5éOv¯Ö7¬/\¿HK‡±¤µƒ/mÉM5ì7vëä0½¿iñõÍ‚­¯ý–®ž;û]ê9,?(?Z¨.IÍaûcú7Keaû.›ƒ"O|:71•ß¹w‰SÓ¥m»r"¨6”wdÂòþZúõ×ÝŸL­jëì$öÞÕ~ïý]‰Í4ú³ÀÂéÞ¶Ñr?þ±m×04Øù?ÿ")4€ÂZÓý€¤_™>ºÏ³c÷R= €ÔV ÙÐwÎÔs'¡×=Âtnï‚]wfØ ˆ(¾~*Òßò;‚¯l¸xrÉöÍ 1¢íH‰Ôík€ ‹ß&xOÉÌœôë¤l à¡r)n³Ïž +@d +`Ì“ïÿvÞxéqA Àˆ'âñåk±e˜žrúM¿ŽŒ—ÇKŸ(ƶUùb)PüøCu ú2}Ë–Û`s2'ˆÔßÊɬ1×43À×åMV;Yžoßÿá¥à?ûÅÏ„´;€DÇKOdmIçn\P򾧴Ò¯ž{~¥M÷;Ø€9j‘eæqôÃ[ß¹p|íµ×ãúUœ ä€ô‚â×Û@Ìâê²›¬¿x† P;Ãòy§þbLâJÐÉWá¾^_¸E§þ‚ï;º6ÿCø…oj_ÒÚVã& @ Æò»+»£Œ~w^@Ä~€=5•@4–W®´­?Wì±nœõ‰ü) ‘³û2™ÐÀPÙÒhð`¹bºf$þ+€õðHý]WIü‡­!éWqÒ(»"`¾è«œÀv¡ÈdBÆ,À’äãl‹4$ߺ/¤ÿ=ƒYt_é? þ õ+\Àˉ@ /ËS Êx¯ù@ú  ²×< Á¦#'£q=Áo/&‚>ç_´µQþƒ4½*íòÙ4ê}™^þ`Éþ‚Äúîçðn–‰s¥åÝ<€XgHÿÀà€õÎ-Md‘Z£o F¼Ï½ïîAÀ@€ÐQhl@ºlÝ&[íüv)Õ$þÔŸÉ}ofòbXÏà Ÿ_€Ê×€fÊBúì¢û6@ãÒÏy Ì7>¿ õ7ˆ„ì·wm’þ À«dø$qN©ÿ|ˆKܾö¯Ë”þãó ÀŽ;`w&ýÇ@Ò¯"@Çó„¤ÿÞÒ¶â§ö•¦ªI0%øÖxÞ<@é¿ @QÏ + `Cy§$(¨ÿòU½ún…¾mo®EÀ|€¸ØÃyàŠoD*y(÷'–wdeˆ> t_@”úGËI¿ôËd €Â‰Ž@ikZÀÂ}wuÈæ@]î?ßhäÖxõTgª‚ ýx`‰UY @ð½«t?nÈ.E ö7y°˜Ò¤DúU þH?À7.žecV‚ Hýe黃°¿‘þ£þ4d*Щ?¤‰ÝÝò€ZÿÖl=ä)2ö¥P¤ÿ›ø{Ù+¤þ Pï‹lïhÄçëèˆ'6ÎòWX&>X˜[ rí:¨©?(»th§Aý!¾Œ:B@°LMýYÌ­ÁÔ'XAf×î»tÝ·ä¾:3~qÙêŸ\Þm_,yCÆN$'k2AèãŒa¾À—_þðÚ7θð½‹x€ @Ò—~íŽw±qJtÔùÓ–LXt‘æó á`Ôó À¶òvu%ºSR3×ùó3U0¿ (nRRùßÚav«¸”§gããçÄ â2©¿ˆ/9¿0õçKŽ zÜÐý¸ú/¹©–Tô¿Ñ\€+UÁÐ÷ þ2õíÈ\î_ FÒoâŽîã"ÀèC«yjx£éטWØ@]Àò²9]@ï|%¸øÕ„(¬ñ#û®lxè#®pä2 ›=V +¸c*F‡Œ×7lúð5PZÛhKôfºúºÊ«Ÿ‡èú½Þ»‡Â¥B cèJûQ£Ù=$µl캽ƒvú-‘o‘pÜ’h¸¶)÷€¿ìï¿s!pþÛž¡Íc§NŸ>û—%¾ö—¯‰o¾õÖ±“/$¨V}¾7@B–¹'/|߀#“/²c•â®êŽÏÎVŸ=uôT>âù—‡þ䥙çÏÀÁ?þòÁ?6Ýÿ3ŸýÓCˆþÉÓ3qž?]yò¨F!mîNëkêBÒ QÛÁ[j 1bó•6õ®ÊKùMƒJ*Æ'ò¤ó;÷nš˜"»·?°í±\`êñ‚(l±ÛwC¾h÷}’‚tåìλs¤üöm“~"ä +žÌGHwš56"¤×´éάvMëXÐgøÕè~ €y€;ì‹–¬5ÔÔßõïKб¤_ T°ùОt'þ»á£ùµÔåb ‚36Öå+{‘~`oÄ~©?6 Î"U]Ýü„¨?±³+%°Ä €LD¢°°üáq»zûÅ32y&u{† C94]×l ·{{ÂZ yÉœ‡×5‹ÕøíìóL}k‡1}6ÔdKQ04œìGjôßÝÈô³´§ /0¸¶F6ÎP ÃË#âëÌ® fûè¾Ëa €/GбÌõ08$ý€™F“–FÀ³ñÌW6`VK‰ÌÑžIC½´Ñ:M÷kÀ:ÅÒDç­ÝgD°cþ®¾$¶/[P7#k òd”°ÀvH¬3¤ÞþO?Býñ€_Ë܉bÍ4dD<éWùâlÀ %%fÇÊx€çÈlÈ^|ùµ^ñ,h¶Îùì2h ýxÀ-öÍÇ €ç¿Å(¬)^ñO¤þƒ6lÛ-¶OÏJúÅì—ÎTG60ׂ îµÎIÿógæÄ ÒòÝB5™&m`â×2€ÎÝË»{¤þ õuå#»v6§3€±‰A¢æƒ  <‘uÒoÂ-eWvoºÿ`· `ÃØJ˜7D> ÕKUmþP+5k©æ€$6ÐÐqø§»¯ @´1>3 þ®¿1°CQ×P0€âZo úƒóªÐɳÌZïÉüÀ Õ©Èb5š†r€ú³¢û–‹9é?–ßéTú`ÌÁh„ôŸw4=u—žÉT‡ªH¤ºe0Vó õwP9v"êÏçaË@æâ²^SÿyðV!bSÐ}MRâ|€Ùgkww±¼Dc/ƒêJÁ¯ ü °Xw³Lü¦1nœj¶c@úÛX€´á²Ÿ‡:1ò‰5ÈÐýPÈÀ˹‚':Rg¥ÀÍæÞXKÆÖ ªLÙÝå‡2`/‰€™GíÖ}1  ûÓŸ?.Ðù—x€ à§— +4â Ïìë€öv ‰ä‹B÷ç ûg_ÿ† àô¿|9 Üÿê€¹ê ¤ìƒ @€}cQLÔ@ ÀSÏžD÷ÃCt_\¼t)nè~»k@þá +º¯>‡W¨¥ÿ/|ùëè7õ?ùe©¿¢Îù‘Ä˼ 8ž<ñÇ g7•'â@Íø$ؤP•¹€®<@g×ò+R1ìâ‰î5v)’¿L¬X¤þÔÚ5dÎæHÿèxìªQÚ7ba,ômi<À¥ÿ¾Êý¡´5î£þ ûìݾ@úÏkƒ¸@us­ôûq@{=æÑeÀغoÇÖÖ T*dÝ´ÊýÃh¨¿/œô³g²ã¡ûl²êRî/d@CÒ êzÔ„ØÁáÚ˜IÄxG<€ +@€ô×€* l¿€D€¨lèøõ7ùþèx²-a;[ ¦z\ç þêüAýãP~´ ÊÔˆ‹õ•  8V,0,l¸g·l†°@Xfôã먶ŒåHüñ + n¨ “ù +€¯EàºkTX)0Gè£ô?V@0ã¦Ö €•;é÷ßm¤ì¡¨|ÀŽ3õeTHúù*Cù ˆW2õÿ¨#éE€Ô߯„¸üÓù`8êB!€ádXÔÜŒúû XSÜ4 +©ÿçâµïÜɽ7€pª{°ꀹ‰ÿ«ÿöœþúYt?0óô,P_2æWè>évsÙˆÄHüÁÆXÞ?S3ŠÕ‡þøÅ¸U,yðý±_a'ÿœ<}ðÙ?…êñ’~¨ò!€%—BgòþcD× ²@vDWÔU(Ô1Q[‘ Ô@ú£‡y º¤_(ý'âNj/é¿9ëŠ€Š©?6 €ÂÖû³f€¤_4\þëÔ‹{[ÆÅWb|©­°¦áÐØ5ÄòPÃ3¿©ãºíg>,È 4ºû²ø—XK ÚÁM²{`cÅQù61UdÚn–/ôf‡Õ›ÿøxiGÅ®Þ~`Ttõfš—&­÷&;¼ì¶nè¿gÌKp…î•þèNdøÜ·.¼ö·o‰Wþæ›@åñ*\¤øÎÛßýþh\ú‰qñG—€—øìgÑzÐ÷Ðâ.Ðåc˜"ß’h¾±µ}i'Ÿú»®¿Á2ŒS¯¼ŽÜc*@2þÝw~ t¤÷µ¿=ú믟øêY8ýÿúÆ™×Î}ã¼°k}£3[`Î×u_ñùÍmëîÛtæsûŽÎ–Ý-_†‡‡º)¢–6C⦦ÖëÍ Ð}ã{!qý5ºeqº»-¿©0ñDh”&+°gö8 Å0u¤ +»”f¢`ì;ºÇ6ïˆ}Ÿ;uC%öOõØìžÏî!:j÷̨™Úóä6¢ñùià…SONd?ZH­ÊaÝH1½/_ãþ‘÷ÅØX ?Xì¿ohl+ ’ÈìúL|bßáq¡DjÛ§ÖÁÈèjÈ %ˆhz.ŸÞ0ê(®,l¶²„‘ÑkSC#]žû=ƒ÷&ÝAà.„àþ¤Ýø•½w&K›K[³÷~4½æîÎÜæ¶‡!%öä½|óOÁÎL ¾|xñkŸ_ré« "TK׈ÿA Ž`H¿@ý‘~Ë!™¼¿kry©?NP«ˆþõvr'(…G÷6€ô µcsY¦Î@£ãÛ£-ïTPÿ`ãOLèûÈ0PØVÁóeñ¼þjÏy,‰±¸¥% õït=?Ùœxõ?\Ù¹¿(í~Tø_wr˜M Ý÷êÿx~çä4Ð}–!ÊXómɘ8{`I»& ‚úÞ=8×´ ÙÒ¿  §HG¢ ¼ÐHtyé—LGºÏ@ÔCkG§XPÖOÃw™XQÜü2®÷Ãú”b2uIuÞÚmÒïŽèjX¢¬»Ô±©HúåW7"€ôÇ @ê%XÂ_q‹KÉð™¥þ-ÞØæ€¤ÿü…w@ê/¿~îO_y 4€¶¤·/ñbž¬¹'è¾Àd¨óµ õI¿h»¶!^•ªõ¿Ç‰v(ôËÐ}±³:¾óÀØFnqyT?@êO£zì˜:¼õ‡Éê8±òDQì~rÇäѺ/ÌO꟰],Ûí|ÈK~Ô ¹’~7tÿå¯ÿàèþè'ú"Y7(mÍ¥þª¤þêßGú‹õº/é—ú  y€ éÇDö£É*ô +`P-6pbG³Oÿc¨àâKmW?ׇj„™±÷Š`ÓåE°á‘©@ÿýEÁŽÔïH ¨?þˈêPS.†ú‚ú;±ÎâúÒÑýàˆ{ÝGýÙ²-:K°ô¬‚î >º£v¥‚Š!ý_xêtãèô2<é þx€l ugæl$þR"_‹ÔŸˆúUlÇÓk§Ý2¤Ÿ +À~Ý(ý·tß¿ÁÛ€ËýMý# `­DHú=îŠDÕó+€ŽöŽyU‹§ã–Ž+€¤ß@Œš:C”ûó“ñ5 nÒ}"B¦Ü_Ç L÷#Ìð"×;<(ãá€Ô_6à-Á7€o¼ùm©?:+xæO^TpîÍó2tÿÂ÷¿þ»`¾ þüEÁÝW©‚ôÇÕŸ +@ ¸ŠtÝfcûó›è~yï¡Ù—΂rQ§þ2Š€¾ök²K›D"ªˆé¿D_¹¨”þC¥Z ûl¥bÂN“÷ØÆ|K0˜z² ¦þŸ?PÙ_Bú††WSW'ÒÏKä辟iØ u€^ÞòH‚€¤?’#|¢Ž5C÷$ý‘nxõÓý''áåW¿|é'À$ý€ ÔŸÌVàsÿ|ŠXÚ†=8õw*ÔßnL{¿×} `(Ÿ €…@0UH¿b…¼Ð©­X° (p%¸üJsàÒ—šÄÙÃ×|ís×Á¥¯6ãct”Ï +“Õ@nëÔš{ +Býû2uþh'¤2€µ/¨WÀ tõ·c s ¾Ú õ¡…Sqx€:±#ê)ª#t’b:,©>D¤_ê/@PÈØ¾U?­ýº.——Ƭ,ˆº€'Pw¤gÁ:ŽÜËCÿ þqðêÏä_]@Á µ4  g" @ZÖt‹õJ£Î’é`ñôßf¶‘éhVPÓn­§ÃεWÞ"°•È`"€¸àq#áø:ÀuyˆÔ¾­ëÂ(hõ¯3uþÔ@¼ÀSó @ê/@ýe¡ ¨ÎlDèÜ÷–L˜î»ó½ +›K‡fO|ýœô‹ þ0<<Wÿ_ËvœT¦+5ªemÆu郠þlêò ¡ì©©¼¯€!€*€`£Á÷¡òx%Pžäó” š¸Üß×.ý_“y€ê€ÂÖP¨ hçþ©ÙggÁtÿ²™¾3t_€ @ê/Xàä[6 ô_ÈsI»lm"H¿"¨ ˆ—« é—¤Wµ°1À¥¯¢ïm¯=·ü™'{gt‹Ê£™Wÿi:¦û¶Œ¸ðR"7ŒKq¾ž¯þYæÐ×åÚ†»š¿ZTN?qèÙç¶ï;È:^üäNâ¾ã'³År ®Îê÷dbDB kî!eÎað£dGFwéZ™N$S4Ø»2:µ¯?=¸ØÏ‰SÇfÃçŸÙq +ªOϸƉÑG&üA¤Ø L¾pïØ6IFÆ+¢ô(æWÛˢ?êæú`-T—+v ˆÂîjIZïEßí6¤öÄÒŽlew¾üØ0Tž0 NýýSµ=Í0Ÿx"?±ËNÂzXR{ÑÄTnç^?DíØïo€Ômv¯pMÉßí,• ·>ÛÓ“’4¾§¡'Ý3{òÔØ¶í ïi\ÒÖþ›‹škB¬(9vcÝÑ·ˆj“Ÿb±ÞÔ<¶¼±ciæˆøÍv¼Um¶3jÜå<¼,ºü::Õ=:æÀ™¢Ž)µÃA ;<U åK¿?qñò/ÿêMr;õžÆ™¿xýâO.çŠ%\×<ñÒzáâÅ +~ðÐgtPgTK{+ð Í–R÷´»á9Ý™–³‹nhm|󩯞EW¾ùw€•¿þ¿½%ÎüÕ9Àà‹ÿò,hιï^„§N¾Ø¼4Õ×Ó†ïÎö¦Ãw¥w>R†ÇOÌ>Z:6«k_ÆK£jmjjlÍM¢ûÆ÷e–6 .kºÕ蹩1y}c¦ÃÅî¶ÊÔö™gg‰SÓå]J¢b‡¦†‰¶í¶Xb¸–Æö]C~óû´ßVm™ÉœÛ,s“.‰.—µ.Êhc†ÚÌGsz¢ÛþµUIOõH&«£Ž"hN8â©ã»¦?W h_S‡Ë'_œ…o¼ñõwþ¿û/ÿç;¿ü%æîïqá»ßݬò‰¢ Ù¶¹PüâXoq¼OäŠéâ {šøÃ¼.š²»¾~ØÆàzT¾Ë `(A˜™jËÞ—Ô­R‡7v³"Õ@î~¬%—ZÑ–¹«Ö}S‡©œÈ}¼ W7€P¯î +Ø€z6o$ºû¨æ€öpŽ?WgÓÇ»†©¿À`ç“ÓØ@²ŒfÜ(¸F$è0x14œî‡‚fŽ ý¥J©2]^úØví5õ§-é"ϦÀv$7IXé„™£$n##ùëÿñõRR·³¤åz<€(€¸È‚‘ CÈ÷„Ù€Kö±#¶<ºFj$O÷êï d,f+qÒ¿€€]ñäTÞU!Í‘@2Õq+1A„ þ7©¿@ý«Gg1Aýá—.Á»4û¨‘úË06bõ?ûoÞ”ÜËBÛŠƒÈ üèÒ @w¢­åM"Ñܲt?nHÿÀíÝmïo”ôө箑Hýe<‹Ш3¥ç;÷lðæG³`¢ì¶L°4Å-€ú;üˆÇf“¹ñfÄ{6 þ`Håi°ÅúÖª[Cóƒ˜åÄ·ÿè4¶íHúíS÷@ ’þÜæ4°#œø“Cðúß¼|é‡è>€ €¤ÿWÀÈ–^(mã¡yŒl6éé tõØñ^§þ Ò¯‡¨?ä +=D¤ßæX§Pw0ÐA=½­J‰òÎ\ƒ.D&ýÿÀ±Ïò Dnk.Ý\S»³ŸÚ[ +Töc˜žcŸ/”¯aÏÌžÀ¡Ï + ý°ïØŒ*qê•3JÿQœ ô½îü­‰ƒGA/å3Øi@`x´|H¹.—ZéNúF0-ŒÆÔÿE¤ö›&Nª~ lbzd|Bø×< ¨ÿ• ’þš¬+–@Ò/Hü‘~6tÛÖÙö{ g×>`»Ác.¥z̳_ÑUÌ,¦rÁØ‘µÜ+ñkêŠ`R¦ìP6¨? ûTxÀ|H¬Hí·Z¿J»;!Q®¥ÿ¡ÇßÕ–øKýhyêo¸NBß]ãN´•Hî%ýBÂZ3Ã)~Hùƒh#ÐÙA¡_4€óß»Dâ¯ô¿Î~zùr n:.ØO`–Éú#Ðßµ ˜ôÿõ9#}¯ûÚ’~!õ—Üë7š#@÷Aý먥ÿ–þËr+šHüy0b@âôKâ%ÇÞ¢E€jSXænN0LèþCŸ²ÈfÌ&ú›¸ãn¼ɽÖŠvž•úÛ(~0›øöï¤_°}*à @Ä @ÒÿµWOƒé~¸ã[Ì$ýpþͳçÎ}-7t_êo=?èþxÑØjÒäïÈ7ÈÔÏÁBÔ´•þË|îïŠt ý—Hý©Ð}• 5qêLÈÐýÀ• õT/  z¸px@0À~1ßDè|‡ø1{bFä¶VDö’r !é·ô߀º€T„à !Å+l« û‚RéýïAA ªOŸ8Ayz¶¸sŸ(ì˜Ê=´MŒŒW† +¥ ûñ. Â¶)1úÉJeºáÕ¾€ ÀôÚuî3Ÿøm=JÿÍ¢ ü´Ã80õ·h;‹YŒ Ä ;P»Ô_ŠÉ +êè~0t_Ø7ìúÖ½¸ÜŸ_ÁK“` ˆ¸S,¦åõB©¿5¢£µ¶ÎȬP©Àtß÷ÿD‡9š©†} “`;y 'Xš¸Š þç¾ýNP@è¯4Å+ýEÀúe€TÄ»€¾ö75õÿës¯ÿÝyÐY’þ/þ˳ì#5õÛ„‚úC|~ekIêO#.úqjédž—ûÏ3€šú£òÖcé À +ÓÈÂx8&ߟ¶“¢ås2mÛqúÛÃøöïº4e¦û‘ß°ýËlûº7‡R׸·´##Ðý§ŽïúòWž9÷ÆU5ÝÌ3Ô_pöë§ ÎÐ_“~‡ú|3ì/L÷#îCC . Ô_`¹1mVá* tõÛhBÖ„ô+6”ŸÚþ™i"Œïš”¶å`ûîí0q` Ê“¨†ÿâ<Ê߯ŠÔq»Ì¡²gÈf¥#S6ÒνÅð¬æ3Çf©ÀÌÓUØóävˆŸÏ«„«ŸÛGœ}öÄô秉7‰é/<£^Ã] >ýGÏí{êPåðL ôx*3Lj›ÊÛCVÎ~ÞwO^¤VeÄöÉÉ*oz|vÏÑ}“Õmµ;2?nÙ1,ÝNwåÄã#̬™šyzFTÿðç,û³ÖŽTËû+¿œúìžê3üu.UÅ$©S”ÝØ÷¼s¨°5£CÒ¯¶v†…í vPתfÛœ ØÖÐGK²ÌÌÓ•}3þŒ©Ïk8#Ûs"(¬/!ô"—ϵµ^ߨØ@æ\Ãõ¸QC㎗¡©©)±*ݶlYó-ÉÛz2¢N­AÄ—›öéF7A 5_OA|~0é`$]«zYµÅ²•iwd5‘`UËS)Wùµ/ï-7'Û–uÚñ•o9½£ÇÍQá¢ó—ìx@wº¹#>^F÷Cç~º×øot§Øs £ +ÂÉ^Ì?PÔ…`²8}Ê ìÊÜÓJàIÉæöΦÚN¼töü÷.¾öæ[ðò7Ήóß½xñ‡Æß¼ù÷/¾ò*5«NW³s—Ož†É½ÕLo*qý{¡ù·~ÑÏÿ£_ûíïoê†ÆÜ@Z]ÿ4ÚšÊú!Ñ| ‹õ¶_ƒ‰÷ Ñ·b ð,¤W%ÂãµSшs5„-°²÷þ€²Ñ†Mw»C‚^Þ5TØæ·j~±s¯•ÂÛìÚzî×½oàØñ¥mi1s¼_þWϽùïÞà÷TÁ†[¿ð?½0µŠÆ›ÿï7£ŸÚø~Ä…ïž—ô{þÝk¯¿qhè ðîý%«ê…’;·gÃf»”—…Ívm—ç®áûIêS4rÌZ;ê‹Ê  ¨€‘b·1Ú?t¿ J)’Öú?œ†Ì@"WèÎÞÛEäk‘>ð}6Ly*$­xu`ò³‡õǼô_Õ¤þ'îB+¤þ€èY€Ýgoq×ÁqØ152€ÝOîй\4þ©ƒÛ€ê €2y€ÅȈ᠖ñb ^R© +PœØ%¤þËf9‘úW&ÙžÊ;÷‚6býQØ߀N¦”JN}¦ŒL}v'è´e@„™Ù‰çOŸé'±ã +{f*H?ß (O—°ÝãŠ:éS;?ªö5ô[~¥KÖpÀVD5²qÀ_@ÃVåÔß‘ú[%áþ®òöâ–ÑÑ`=«íþ‹€`ê4dü±ÁêßµÚ_Z%á–Ð'?¸$èÁÂS]=éÑÅYz9°*@ýeÖ tC[ë͵1G‘~!雇ðÒ/b€îk&Úáy0ñè$êÿ—¾üâK/¾völàì_üE n’AcòÈx¯Å̉n ŸðJ '$ýJ€L÷£kVâîhÄ”õ×ÔÀ#ã¥+€—þÄûr+¬ç釡[ͤþ4 +Å»ç€æö¿ïï½_ÛžÔ_ ¢OY"&öl Ø–¿Ëmÿî(qÜÆ?5 4ÊŸZ¶#Јú|‚Tÿ  zSÀ«¯¿þk7!÷¨ÿ¥K?¨3€ýèûŠ€ào÷ï辸øý·âÛ˜ +'öØŸNý}Ë/@ýõ]o~ õÏ|ÏÔ? ˆ€©ÿhªWÈ €7å›1ep•“U‚:@¹¿  zü”À¦ž>Ø÷ô3;?3!â_¢¤__±~³Ò¶¬ ÀýN&”è~ÜìçßCmê/ Ê„Ö&@úMXL>9!Êv~¦Øwt_§ö|þ8ôÅ“ é¯þÑs   ²ËM;!Hü2-õ—°KýC#àAýùÜé˜Þ¬Á¦ï<t¹ +„ +ÀŸ +ýÙ=ª¬;® @€­ü + ŸKÓõýë¡Åè *î°€-ã~AÔþê‘q£~$Û…" ¢ûÁ0H§STRÒÿù@ú¯ + € è$;æY—%è©î; Ôßwô–¬-Ü݃ú§²ÊÖIÿ1<€({0‡hk'hjimUÞ-­G÷½+D€ê7€gþä4êJ ã}^K4¹Ä¥Ÿ\Æd|'>€ ”ûÇ €" Î$ýxÀþÅœ³Ô$ýq(>Xøu Š®3Ô?Ý“~×@úUõ_7°<¨¿»Í,ì;êÐ̸ú %Ún¥þŠW7bñýÙõ)¯þÎTØÆìÕÉ1™{æŸVáµoœ¹ô“KÿKùÉԿΘ~üãKH?b?õE½æG?|Ðý@Ø SRàaÖü#°C¸Î@ê/@ú¥þfîH@°º¥­9k¸ +ÀÐ}P YPò×údêîÈ ©ÿGuÀΙ}q3ÏŸE@÷;$ªG*»§Ç@o€€¾nÿc{ÑQ_PXLy®êÏ$é×$@2t¿Æ¤yB£¨ž‘€¤*3QÞí ñ  ðt?@䲋üEÑeÒ¯ +ÀK¿ˆŸ§C?Áj‡O / û¡`ý~ÀvÉ@ê @¿+è§ÕÃIYð{h Áú¥þ¶º +€8ó´ *GÅ GŸ +€\> €Äõ— ¤>˜’úËþxº€’{BæM÷ D C8†;¼÷½$nêü‰UP/Pèÿtä$ÝJÀÈ$Ì'nh^ÒÖªuªß¿#aDÜHü}§À¯oZ§ã ýu $ýSÇO@Pê_×ôëÀÔ£•¾ßKÊ~©v©I0t?nRÿÂÆLÜÜŽSo¤ß¶½¨è¾¥,J_öl@ÙAˆÖã GÛ˜®3a=ŸnyÒÿ3_?û‰Pç+Àü. "?2Ï¡þnb 6±ªˆ Ðzé2mUžûí’®ˆš þÁ$÷ x€Ëýeè~¼@ý〠¡üä3[YØV¥ˆ‹G +á'Q90¦ÆŽÇ7?8óxaü“º…‚¦í;‡!<˜la®Ì,ÂÔá2ìž6üØ 1ûêçö‰©#S;«e[D“¬Y[¤¥$lˆv%E¥Î¬O¸}×pÀ I§ºP¢#]Æîð°ù*‹Ê;Š@„í»ÙšíÚ«ñdžxyXÞ‹…íWt;•Škõì+ê¯öæ¥ùP~l¨Âjw³? i 0õlj§b8ËÙUÝî3·óvØ_´e¬PØX˜z¼œ¿¨±±Éˆî„þа›T ì{òàXyÜ  ;ݶtYó -’u@¯5¬ð¬Wê;ûSî ®Z‚{_÷ý:³kelDqÝ2¨ÇÍéJ÷é:aæ·ÞR»Ã!p[u˜™HñIV:SÝ`cÆu$‚+0ñù7ûû ×"2‰Ý^tÃ<\øþxç?ýxþËO —Dâ—:¨5„(JlÎ2®¹•ݰ»ui„Nÿ/gYÃùÿýC|úàý)Ñõy~9 S׎þÉ‹vÛÓ³ûöï!–7溗¶@SCHôE³cå-K Ï…c3‡ì©Dsc¦µ†n[ùžë²É&©RK›û;‹›{M£cÛÿœíÜmcž˜ O°S&˱Ǝ©Û?}o`xCzìa;¶?–#£™ûGÆw  ›3#ôV•¶?v¯±+/2i¥¤ÇžÙsé‡ßüÖóß>÷ö;ßùÑþAî_üügðs7é÷zñÅ?­îŸâW£O„]™óóÿa£½þìò/~áá%ø/°ó‰Ñô@sÜrtæ-+‰Öóuåyø@÷ðýv6çÐúäp¾K ÝgäŠ)‹¦ {Õ€]]<8”·ÚîÒÖ zú:)ñQz8³ûÀ&ôq 6 ý€,hBÙ–£÷Áð'&ÄØÞ££SÓÓ3Átr¤3aòèS°}ïN¨ìÛ©½€<@ ¤þžHúÇ'úã– ü4|ì^y€- ä ÚÂÔÿà¶ þ ɶCýæµ®ÉaWߘL|š-l˜|Ôš ¸d–•8#)?–·oðñlß^X¢è‰<0qv$Å þæQjÏúõ·³BçþhZÔßeCþ ç©ê‘Òîê&{ »åNþj±Ùàúº°<õ¯yÀB0´>ƒî_ÉØ¢ˆè¯Ô¿f·÷épsºwnï“€F“• @ÆÝ9Níù€¸ãêù1¢k Œh&  ûAXk—×^šy€NÕ~!ù–œûwßÀ[Þyãïß"ÿámÈDÜ:“)a·&wÒOä;AýAÖ>$ û¨¿FÑAýu¸ËyÀ—ínE3°sÛ¸ @PgR‹n‚€< ¨? §IýiÄ  ¦þ‘hûg‹eK»ŠŒníG»ƒHúÑñìP*³6a‚þé{‰é5 <€ubH?›.êŸY›’°@а¶3¤_ðê_|EƒóÀ‚ð³Ë? À7¸ëÖ’~îãLD9„¬¢ÎDñ¡^t?›Oan¼Ïè€Ö õ÷ ûΈq@÷ [Óò€°N<@êŸZÅÕ Ð}Ý'€Ê Ì~Q9r";›6qèÎÔÆì®ÇÝtEôo dó…â¶ŠÛ½/°óÈÑ@¾ÕˆŽ7ÀîÏ?•êv#JÿA¹¿Ç9‹ ý&ýÎ4GÆ é÷Yðc÷¼¹>%­Ysâõ +Š)ÑTú/ÝÔfñ + x€Ê}ˆÖpÒ¯ =€5¢~L%÷w•2ØŸ  õÈœ”›an€+—ǸLýÝšís*Ó‡)[•y ͧ Á^<€Ä_êï® –Ñ—ƒ ýÁ’6j}»  siÒ_™,ºó u–²Ó  —W ™ÓñŽÄª´*³0–¸SyÒÿP(š‘Ä @OÃpsëÒhŽ<€7Õ9ñ +€ˆî«w(À’ÖN<àJpösÁP`ñܷ΀¼óŸ(.©×½¨3Ôø˜c_×2Küý×3€õ#’þ`ªÌtʲ«$ýqÖ÷hþ­÷ŠÄõ×õÏg{vî¬Ì7€òÇ7õ‡Bosð€ þÙµ×Ôß@ØþÙÂÙbµYJú3w/‹ÊŽv=’…x Pú7¸’dÖ$~l T#³{r© ^ ý^ýÑn”Ý©ÿ• €ˆ²3çJàqÏjɸ°ƒ« "ý¥­iUêüÑ‘åþ2©?Ë[tÒƒÙ$º¯ŒHu{_q Ëý3îÄ ,ñJ$¯Ãœ@ R|Õî¶”&¾Pú%€zÝwP\Åá||Pÿ(í((ýW°ûÈ¡`Õ“g<ÏR4xfžžÙs¸TR"´žoSÀ÷h12€ÈL¯þ®°¿\Z¶úƒ®Š a%"ýlvê²9n¤"ÒϪ@ ôßœÀõ<;€··6¾wlL )g=ë¶"ýÇ´<é?Àb¬AQo$ÏúSèåòûœî¯V¤4Ô¤^ @BÂ.‰u!ý"êü!ÕŠ?H@³'ýé‡ÏŸšoJÿ!¨?Ѥ¥£ åÔ_€ú³AÊôBú ÿàzÖ”Ýîéfê¯9AI 7GŸÏ{É@[~¼03xÀ• @€® àú‚6ö¸`¡°Ô® HHýÇÝ3c»IÍÂ)|V +ÄŽiúâs —ƒИš,Hw Ýž þ•mµþŸ¸@icnäî@¾ç: @Ô¿<ÉæáâÛ|»•$’Íó @ý?呂¸ðPgÆÇE]Ð¥Ø7IÿU à›ož é ûêÿ¡Á2b¾Hý‰ÊýÕ äsÿ<_‚ $0† &òwáD ýGÐU¨ÿGû~hëh ]@2ô'Ð:ô+ÇNfÇÊm­mË{V;ƒªo`oÑ}0ìòÔèÆÍ K™ìj¦|a¨0*L÷7†Ü"4öNqûî‘q À_å¹­S…Oúµ “Ó¢´ÿ)bùð‰-fË3_¬<} +ª_< ³/žÕ “x +¦ŽÛ>; Û«UQz´.d3"çmˆWÂÆ¡­Ž—?uoeªè‰ œwZ›´>ŒÕ ü:*K´.š'üA-]öRÙ›KÇ)=6{öµ³Íïo¹|Îάÿ6H­H }dˆ‹ÜÔy³ 1Ýxmc€‡íµqÙZܤ›ˆijëèÔÈÒ-¢¦Ð‡c¼‹‰—t-ïÒ¸ÿÉeIÞw±›â] +ZÛÔ‘Yhz¿3€Ä²æ›ZhÊN¡Î¢ºõhÏ9t$@°ö|¨Ÿ«ï©Õ½i7Àxó Í])»P+±¼ÛV* G8 +ݶ4a÷¡sgýöô Æ»¤Âù¦}ËÒIJÚÍXšn 7O$Ê¥;/þü—¨ÿù o_øÞE@ßÿêo¿yö¯_‡sß¾pþ?¼óÝïÿàâ/ùg/¼ÍÂ/ÿr÷gü…`|ÎŽDRël_f÷ ‚²1‘^C’»}öä è4‘¼ç³a—ËDç±ã[Z~—ŠCÃ’ŒBq0»6éMxXÍj œêtyw¸×ÛÁ11{¬²sïC£f{7TksÿË´j8º¤Ö.Qd¯±áÑìØ'!½¦mê°i7¤{ÛÆÊƒQêSÈ ¤ +­±=eÂΪؾ‹äý^ôñJ$h”wº‡‰ü&;ŒisŽu¹«âJdÓ™v;ãå£],ýþdPÞ4TO\üá…ýç·‘fMAÁá—1âóOú KºâóãË_‰Ë—/BõÉq½PÌ çV\a5{WÈ/‡Â6à¶þlÏȦþÔª\1ÝÓ×N„Ì]ݹû/dOw›è»+‰AuC~c_nƒ»ìn*ƒ¶üh˜˜R—†}OäʇŸAý‰SÇOÇ ¨?É—Ô¥» žv9JsípÜÐ}ÔxtÌb¤þ>ƒ-@ú‰Pz‚7%B\ýçšÕÉ,‚Q9f·öDÜD­tˆ˜üü3ð©Ïì¿Ò@ øaÆIÃÉb¶f¶Ú%5‘HúÇ?iN  d4Øèe‚ŒÝ÷[íÞ¼Ô¾x}mlLßžFý«û«ÁYy@\Ä¥þ2I¿¬¡ÓM4‚Ðà%¿ë×Àj¥þL(uûïønœw3ñ †î ³†´+S+uv´ÝÏŽ-hJí»Ý­7Iê%ú½êËAÛÔ@ÛÞÀP0aš¾ºW ;´ßÒ‰ôcغ‰ôký=ö(S=w2¶^¤_÷%¥QEb¸“Må¨0€®ÕXŠqxýÍóq8÷­ï þØ€Ô_èYÔŸ…ç@çò®+ÀÀp^ÒeŸÔ&«6&ÑøLö™"†ƒ[Ò/ȸePþd~ÓƒƒÀ‚Ja2ôÝ#à²ø x@ÜF6õ…MÝvD?2v(Ù€®P}7 ~¥ŒOdG?aW„a ÷@:nRÒ_gDˆ úåŸ^2Éþé%ÃÍùÑ¥wˆÁTh&Ä…þJÄ  0%H÷&d €¯‹ˆúêoÜÓ…$V4ƒFõñ8é×Ë×åz€ÒJcY@ýÝ—@z  dè¾ïŠÀ‚ªÖ€Š Ý'÷W”úËÐ}1T,!ý^ýGÇ +[+HþãeêO Ü¾òÐýXûŠÝ] (ýŸüü Ç35'ˆo°³WŸ?«3Ywv·ê/ø=æ1¨?˜ÊG ¹Gý… €Û1ÒïãÔ0h[P*•¦M#ýÃ÷ Iü‘~Ä+@š_dE àD Ëlweih(l´ós‚”6—î !(KúEeG%xº_(úúú‚d?’ÿ ±q`í@ü¡ @¯•ôËâÔ¾ê Ký©@Ì ` ‡lj…‰z-`óˬ/P éÊýQ¢ €7¢é~¦¿÷#Ãu`÷" ÀÞ:ê’’Y€hð¨ùPW`¨?Q@4.¼ ¨ þIÿøÔ¾™çOõwDW#NÖ’‡©6êO”úkŽº\À5jgFì-.h†3!¬»»KŒŽÛv€5¢Êøê0>am]ÝPÿ¸ þDt¨3€ÌÚDðÍÌ7€·¾ó¼þÆ)âÛß?ÿ£ÿÓ:匟^ºôŸ¿¯zßþÞßÿÖY"óã@|~ÖÃÿæU8wî,œ8Y… þÁä%×e €rQKíW%‚úãÊýK[ ÆX&wÿjE¤Ÿh™þFö,+°R„ + €*€z˜ß–þ» + æîþìíÝWúŸ+«ÿ‡†9ShÔ¿ôhµ¼wFT"é÷°ÿ©òáj£þÂ:‚Ž2ÇTÒP ÎŸº. Ç®€ÒÀœëbçMk Ø÷ùƒSûË©?±0–Ù²mP ý`ê"ŽcۆẀPëŠ ^ÈPÙ€º€‚HýƒþÓ@÷§&§òù<"ÎLÔ ý²åþLØZœœ€ô_êLCkέÏá¨?Ð(o+£õ‰ßMº_ÚZ‚Î¥sâ_> „òì« @Ò PX7ŽÝzÜÐ_¡(oË:Gæž|ÀßRÙ‘ÛüP†yx§+P«¥½O›&‘šÓ³Ý.&žâ#Eí£'¶ùÏŽ~4sû‘ãÇž+ö8TžzνöÄÔÓ§&Ž<·óØÉ‰£Ïmÿƒã¶Ø×kŨ»èaìÉgÊGNTž>5ÎkÝ1†Ÿ?«켺À$Ù×ógr;¦2 ‡N~艠{œzv ÷žòc5ÂHml—:_Ⱦú=5oº¶©wu/¡åø‹>°¸QH$‘³%ÿx òJÌ ù#ÔçwÚ²CYl aCE&†î™Üܤ¬4p÷@ç-í퀲â÷/BÊÓ½i">Ñ{{/žAÄZ¨-€F²+ ì- îßÃãÞ‘X*ÚX@‹®[4ÚÚÛš~»I`½XÿÏF›v|fš›Û4\K»_£ïÕ;ÀÛ3¸.Ðá†ß»#8Áê»×¥nï#v’Ýai ïÉ•i%+½ëî ôçF€7J$Sƒ÷ÕîÞ·ÎqùxO¾ÿ¾ 2¡žAH®êEîû†j·£ÐÁƒ‰É}—¨¾}áÍ o¿åTÞ àß÷¯þþ6ÒoËG,ÃÔô>s‚:8õÚ9?üçªtÜ”Ñ'¯gŽô‹_ÇeëüqçÒ@úeD  ç®l0`÷]ÈPªòFuПÛ$ð »±@¬3€~2O+‚s7‰»<€—þï8®j÷ÜK%Z}ú 2’~¨ì%ëw61ð¸S€î[gã£Yaô@¢ÏBœ þx€²{6E©ª;EØî‡ðr+^£>b“T§þ, Ô®õóÐpÒ¥mÙÂÖŒ Àp§Ÿít×ô ¢û @ p¿®HýËŸ²ã™€ôƒ5Íj±ÿîpé‡çõGú1`¹|­ßùéqbåmùÏî#Bþž@y2ÓO0’ôuù$Ð@÷ñ|(×3|_`ŽlîþŒ¼Ç. ²º_Øœ–ð0çþÄ ØÀe8Ò/ø~$ýÞúíÎÈvpŒ†6DýáÆ‡ íiò€¾l®ÎÊW鯩?¨Î’~Ø~ì¤qôÚIvPÿ€-yä •c'@Ï¢þdî¤üRjŠÈ*ÇN™úÿÁq½d¨¿ @ÒOÄ ¨ê<@6€î‹º +Ýx€Ž+ˆ©™j¨Øß4b³ÛKÍHÿ‰AIƒ¡ìîµKú €: n¦²ïiZÒê‘xõu“ @¯ÆP[›d4~¢*÷ŒM¨­‡Ç½#Æ£†• ·tâñ +ÝW”ôÞ€{ì¬)¾Ô|aÔiãP +â‘ø2Ñ +mËts0"›.©5<õ'òŽx€ÆÞÉm-ã@ƒÍØ«ÿºé¿ÀPÿÌz³< [,]ÝLâôSÀ7ÿ½I?ÑW0€ñ]{BW$º_Ú±ÓÔœô—¶åˆ!ý·>œ]y«5wé´‚ê ÀmiV +(÷Ç@v’Btž4ø“ƒÝØ!2 ás]VÓ}œ@gv‘~ä¬Ïç“CBàÕ繿ԟ·¨+‘ûÇ  ¯¿êþcx$îËp‚`<%éH”þ§dÁTØç|4;º5ƒúçÀW¾úÜ‚ðµ³/À™ÿå4Ä @CG¢þªˆ¨?èZwt?€ú *€¯|õ8PÏýíi©¿*€‰Ç,¯¯3©¿ŠQ õ§!éW€ôKý±9¯ˆxêÐIásº€â@â¶žÔýD@÷å 1h<\Ý?(Â9| =SA¹mSàë€ý3H?TŽŸ®|áE˜:yƈ )á™p ûAÇ'Ž=‡ô­ñ”ïrÿð·¨Àˆz• ݇PuÐÚ0€©òBHý뺀vؘ9y¼¸S ´OJúD +å±òìÓ³H?ˆÒÏ2É« .K*BîO”ô‘fA€´w´A@¼ H¨ÿGXÏë2¢Ó{hðv*;äRHu§Bp% ñW@²Û¹¬‹ôŸØl™o‚ +€Ç渾õw‰€Ä¿3iu éë°Ñ‡,dQ´³™Ðx±ï…Hý뺀Hü½¾û‚ àìßž³^ '÷qxëw.üð¢ @õ—Ôøü!Ô¬áŽ-•QmÃúâ]@w½¶7I¿Š6BŸþÛÑ)ËýÕd=?JÿY’•h[•ØÂvÕú‡¸Œ þŸ²• <@Ò¯‡H¿<ÿ˜_è½xë:äH¿ÔHÿváp¡®Ó}W”¶fCѽî+Ò¨¿À PØ›³ÝÕJf(íY› +¸Ñ¸Ûd2¡ +@A辺€ðtÿâ_  +@0s,§ +@Ò/ÐýàAýƒû³I¤_E ô_uÒ¯:€Ò˜ß4æ¾R©€Àè§IÌgQêäŠîž5ƒ°z€ÚÙ•ϼ¢:z”8üàxÿ}E"èt ˆ¢:Iãd7Yê0oÈmòDœ¥{ùm;íîœc{f„ùAÜ$b¼úTüôÐøSêñ;>ÿ\#Ç¡úübpŸ~ +lÓOu÷õË?‚…èˆÂÈ®C"·£:yô¨~zôhi«âßîF.$ÚžicºÙá`Ùµä&åŽÎEÕ^H0Q ¨³E +«ÎÒüž•=¼°½½=µ<¹{rÄîh^?Ì2þAwwvp0ÐÓÓ“[Ÿ…b¡÷Î^°F_oËï´¡T, `í ƒÒгº§+ÙSO?aÔ¡Oåô¿á7Þó^â{¯lEÛ÷=õÚùö®” N‰ wrU_h#Çv¶þê>Ë'b‚®³† ýáu}^—ŠÎå'¾ø»ù“ŽP¡núýJ¨D s¨@~ëv´žM.»q‹¸¯  ¾®53X¿I[þòÕöií%®üMß5¨¶}×Ôå_þRÝ>â›ß¾_{ýñož—~rŸ€7¾õÖŸ½ô’n’:ûâb¸éÅžÏîœr#V‰ê>x>›O×åÝ%</ÓdúHv¬w^¹<Ð@s¥¼ÄÉý›ª‡KÛ's4”Ë ŸS»WIèy–8±+cd c²¤^µóq»D|×þ Py"g—ŽÛe.þÃT"ï Ÿ°òxvª:Rýì”+EH÷¦¬ñðh.×O¬NOíܽ%@‰|"0|O\ˆÓk¼¦ÓHu7â/ÑaOQØ< é;ºI82nHdÏ)‚'·1}èè®Wÿêeø«¿ù‹ÀëóåÓ/Íêþ +\¶ ÁÞ`¿>v|7Þ|ó^|njå—?¿üÊÙeÞúÎ7ßyç<èž0—.]€ÝFy¯Âf»Llز2ÿ@·b.Ÿ*O¦KÛV6woÚÒŸ{ GWß{—(~¼[¥@n¤+3w8è\Áî +YØœ‚á‘d “Mò ‰8A¹’Í=À—ŸeKÀ‚Ç{жÎÎÐÖÚ&H$Óx@jÕlý}Ùa¶u©5ÙÞuv€(õWÌ•¡ô蔣(“tœ¤*ûˆ¥ht¹Ü'*ÅÝ3÷~¢q€Á%Pž7™› zÛpäË;°eÏÁÀ•  ú¥³ ô }N!qèpBñ‰£@yA”xp›ˆßi]F¦“‚ê ­DýA3ej×@ik õGú™hT¶U~äžHâ6tYs3ºLoظ§”®siIË`µDt¿å¦`ÍÌ‘ аԽ±Q6 Ïx€w‰þ’,ù  ¨3t9x@o6'´½V®ÓNcõZ߆lq$Ù…­•uGEns)°®`è¬3%(2Ý; æyÝj#oºÏòЦû›ËÕƒéþÆRßÚüà @˜îGHú«Gf Ü'µòxi²:ŽôYùÄž¢@|‹ãƒ€àÚŠ„“uë®t9tË æìÛ’u–!ûè>`ìü,©… I¿ë©—ÊëY©¿l€Åâ ”ú{pÒ¿ûÀ&eìñÜîi‹óÔæX¥zÄÀŒU‰kLÓaÃDz ª¿  øñ!ôO|jhdïImÏ +YŽÐ_!tà‡>?ñÐÃCÄӯ̞ùêñºj‹ø LþÛ¨ þ¯¾~hÌY>ÎåKÀß}óë€úŸùWÏåé>4~ €ê?ßÊ;Ò¨?ÒÙ\R €n£QBÑýüƒ>æ6õ@ýÓÍ2€Ð¿G£Aéÿü +éèí`ÀÞb£6®Í±Ëñti– Ð@ú]€î“ûƒ5T•ÔŸX>v + ±>~*@â*€±ýG ÅK‰ …{ExÛpP^†å| øèž@ÜâŸþÄDPÿÒðWD@î¯"@€Šô ¬×/¹Þt?2£ÔæWH¿ÒÄIé? I?é¿*M8º¯ó2qtŸô_ IE@x;<Ý—0-¹iIú_rO Èôf–'–Óà#…cšæ ¹¿ `ùí©?1þ«™î;ð1òPõ‡ÁüH@ L÷cÀ/«8¼Ù< b;à| ©?ð!¥þØ éO¯ÉuØY 骸¼ý/‰ýørh8^œ|錤?nºaªºeÒ¯ô_  +nè¾zl]–•ÎChX{ÒC‚€–H€*“õ¨—ßæGýþÿ:©-î×ôï6ƒá£bDÃåþ2€Ü†AUæÓS¡˜=^£ênÓÑ‚± Cç«Ì¯ŠÉ'Æ‘þ™#eè¾<`j)~!U®Ø ¤ÿüÕªT þBpé‡çE\¸çº›ê 4´ƒl`ÎòqÜÑx1^ ×RÿÒÖ^I?6PØšFýåf[s¨?6@â/°Nž\’ôŸZ »Äˆìú„ÔL÷7õÈPÿ`ös;°oD€ÔHÿ2Õƒ÷é?1Þ*"ÒäÇvÀÕ €²ˆúóÖ¨¿ùR«ݧ(NVi°ˬ©?K¢õÖá“iO¬ hlïL`tê  þuG5ôtTŸD˜ÂF·åþ*âÀø'e@î/æWH¿¢ 3P¾M0"²Î«¤ïšð¢ € Ñç¡"“*"°ÂP„ +ÀŠ'ý-¿ÓíH¿º€0°WÝ´DÒúCª;U;|­5®bD @  g`ˆƒ €¸ø Â€¸¨#HÒïÙè=€¨ +@€ôó|àŠUÁ@ê¯Ü KH?ðÒ×Îba  ÝÿÚëçN½t¦ŽÍâI¿7Š !õ—  ¡ª°ôš¶: "Í>—w"å>ýGÙÝÑWUêüAÓ%½ú£Ný™IC¹?è¡ ôSÈLëÛ‚2Ô_ õWD÷-÷— Dõ û;wo!ý§¡ +PîÐ ¢ûD*j ¤?ÕÝŒÈ +[ze2¼Ì‡­7€xÔÿW€Š€:PúuP/Ð|[Ó*Á@E@¨@Ò/XI貚 òµÁXJ@0€x?¼¯ +`üÀSH0±räÛ½]r9`ÃÒî];dçN¬Ò Ñ:3Z;-ê?ôÀØPñ!·_ù})ÿP +Û¦Fwî+lµXz¼::y°¼¬1=‹p³±ÓزwxS¢]ñ»÷)°‹~wL>1SÜu€ÆØ£…G«`æ”/§ÎAb§+nP-NQ?•Mè ¼röËøõÏÜôSMÑÀmàæýXÔîséâ‘#‡ +s² àÜ›¯Í+5ú“Ôàñ§?þÁ¥^¼ö`k›³ÑèoD?_°{Â]¾oƒÁs…îM£}@c(Ÿވʣõ>åWî/#‘ú[ÿk3_€¯€îé^ä£2U0ž €Ãl¨3yÈ@÷e– ¹[¥GgDLúEdîàr0ÔßwdNìA¾Çöò¸Ì}ôñCP>8 ²`åƒ&¦€$@ú‰ õ2ÔßÕY”öÔŸ˜d`€î@ý54)0ø`0âÈÄ–ÉËxúΟ)Àoª_zˆäÉÄvLÉøx:'ÕŸ\]ŒVÚ?³çøI €(õ6MtŸm×íxµ ÁlIbY\¿ Bß &¨ :'@!ï/ÙH?2ím`s X'€ôO=ZAýYCçïØÕ¹Ø´´¶l(ˆ®TÓµMÄ%K¬k°åo±·ö—•¹ ìô¤aûGâÐpÊoK¢þÁ4¡þz*ÀØ£SÁÞ½ˆ+€rsOlyIÜR@÷¥þÁD0ÈŽŠòÔÎí{§ªÇg‰xº¡r @ú•½#R2I•TØ©¿i7xp‰#îØê7€˜˜ôG`à·.wÈõA2I?l@m©?+'¢û]$ý»}Ã` }Ÿ<0‚ôóZú#ˆ4Ðýš°€ëÒ¡ô`¿Ù’€Vb'&Qpì·Q~A oFêO,Ù`éfRÿ`v¢çÎ!Ô_W!˜îo ìüôx0Mè>šî=ÀK¿¦š þ¯ý¯¯:ý¯7&?èe¯þÆe5æ @ik6Œ®DúM÷x€ÔßÌ€ùE³0 @Z< 4$ýª|à¾t?À¦ÑÌ| 6lwAЇè#ýƒÖpØÐCvN´Ò<@@½ ìQxê^ú·MÑ@÷IÿC ,L÷Ñ÷ÇÍ PJP€ôˤþDc÷!Ì7O¤þÁ„¤_ ýVˆ¨P Ð}¥ÿ¡PD÷·î¤ €ô¿®ÐÉ©fO=§+â õ×IxJÿ!^`¤ÿh¥ @Ò/Ð9ø: Ót¿Ã]ÐËè³KºˆLê2p|¡þ®°I¹?Ð@÷1Òé?‘·–ú«0±^Ùƒ ƒÐ`rE¤_@DßS+Rm­vJð’øD €èGyº_üÔnñ±Oî +”÷Ì•üárÿÀ• T _þo¯>…úÓ˜3?êöI¿Pî/F)‹©ÃSsFÖ<>+ @÷Ud×··æ4‰&ÈÀN•qãöàDlF‘i—ªÛ­ë€†Ô_Y”ÐȬM@ú1½…¶(çÃñnŸHú­‹_@ÐýЖìyrdö©öoˆ¤_u€©¿¢r4xV@¬3Á.ˆî/hè~($ýblû 0°1æì| +ö¦:§ù£û (Œe0OÌt’~TÔ¦Ÿýüg¡`"¨ÿ—_z1¤ÿL2€Ó/=CÝ·Üßݦ¦þÎqPúúÛÐè{Ôùãæð”9ê_ËšúºCúO#¨|\ýCxjø~»,ÀÒ뢼°:@÷ñ˜yºR=\Fú…Uqˆ¾º€„Ô_¨óõW  ÖÒÿm–þ#ýåý3µôßuY_«¤þÂKdJÿM¬¯jÞ\îÿ+ 7*€*€ê/¨â]@ˆ~e¡éWúÚum‹U€î#”2€B±® hd¦z˜¤þƼ‘;Qj¢ÖFú¯CaR X@êJíe~ц<@ IËÿŽ{ª©I %¯4Å @u@80ájj#ºUN >CÁfPÆ Ø„•#§¨ÿÌ‹ge2‰Oî!B¼/¾dð‘ÊO>Ùb¹PÙ—Ý<åc§ +Ÿ>¨>ϱSã‡ÝÅG¬¨ñXOàÀ¶›ììúL`Í@в—ñeÖ ÖHÔÐ’žØ2k˙5©*ˆ¿oofY`Í@ø2ám˜¿žM›ûgŽ—÷µ[.{œˆ_: OýñIeFÄÆbŠ-è‹,v–hØÍOªÏL‹S¯œûT)›ÏœxéÔÞôøìì³30}l' ¯°ó »û&¢ŒKšwW­M¸¨¿ž ¦ª£Pzd°²;O„ñGr|{¬„Fa´õ¼6dè¬pr_qÏô(Ñ­ÊŠxlßýÝ~gj¿½Ð½ºGcçÂèÃÙl>Íw˜Û˜æ}k;ëÞe×$ÞŸ±ƒè›ÔºÏ‰>uˆØã–gaGtÚO R%°"­'Âþ +Q[¡ë«©[M „™¥ßï^ŸÛšM¯JðÚÒö~þîÛ©G{íôèöÁ{Æ>9¤{ ˆÑG²‡¶ ì]¶Š þ8ÁØÄ ŒþþTvcK†3V”Š…@¡˜ „±¦ŸÜ‡Žÿüç—Á©9¢ÿ ×{ô3ÍD㉪Ì ¬GÈOÁªÓeí4P»-_\ Ň{KºûÃléÑ ax–XÜl£:Ûü"_Q +)W”úGZß50”’úÓêßdãû»Û¦;š[›oi ´Û™žÄÒËbünŒ®öñåãËÜcÎzZËom$nm«‘¨ÑyKK ±´Fry»Xü?Ñ?{²\Býs›ÓÁ5=å!é9¯¥!é':¼ÙÈ XR° QžkŠ|{q(•1UR–¯¥ü{¬«G„&ÔÖAä{ kźÐ'×hÖ3¾cà-ZŒm·Cµqg©Î7ÔŸh¯Š@áã}qcŸ²‘¥ƒ8é¿Ú‚úË~ Ô@”ôŸþ—'/þðâ¹s.ðÆß|#ð¿ù«Àkùªpy¼7ô#îh½¤?š_3€°L ûNå»i ûø£ûxj.@Їî³Ô^êõùxÀNÜCóW +Ô—wØ \eH0r<@Xàºà­OFê/²KJÿ‰¦û#£€„ô_€ôoØ:QØfêÏC@aÛ ¬@‹kU¼)» €Ä?x€NHõE€{V>ú$ßÞL÷-µ.¤ß* gz#s‚½fŠz-ðZÖ,ŸI?Van±›·8Êz@ÒL={:nñ +é‡ñÃÇáJ@âé•6 Ÿïf™C|ŠÍolh ÄçÏÕâSl™x—Nã{xè‰/s%t‡aççUGDùÓ÷b'OY8@S‡v¦??@Ö¡z¸b§$ýûŽî-#ö™y@¨@°ïóU¢]…ä ø R˜°³rMýiHúQ(è>-R3ŸèošXŒN‹d4:TÙ!ÞLïTdXÀC#.ýP ‹Dœ@/„B1…ôSÈ$ýzk/ýÊè£Ë}U ýŠ®GÈ]*ìø‡ææ²û¨NýËÑ0…cv,:’~ûØtø´&âÛ³"Þµ‚ú‹uùÔèÖ~ÈoìAÊs#=À 3vÍ×ü +€º_ó€ÉàqÒ/#‘ôû{SO~" ûh™ˆ€º€tÝç—Ä @šþî§ òNèkƒØqàg6ñÚ:@ýQm"ºo*ïb¸#<‘‡6¿˜†ZúŸ?ó­GèƒúƒÓ}:PPP4R½m »¼õ¯¯Ò¾·'@÷À¤þÌ·"À¥üRt_½@x@èÿ¡ æw]Þmâ.}7ÉÖyô,ærÔ?€–Q F»•ÎDZ:`·­Ÿ¨ï¢w´—¸þ[Ì•¾á¤_K*ý`þäz¤þÙbÙz>}0)? ÷—Ì7€L_û™/e¥þ"3bþ‚@MgãS˜ymSóâóçð. `Ió‿‚ÀMñe®‰¿øµ @Dg¾á*M é¯áNA1€°·ƒÍ92©§T@Ü@Ò¯ëQ•þ ^"(ïÈ Èò"Z#é'2G _$þÁxT°žP”+vW ¡StTøë%ª˜£w”ô/A÷™q˜ß¤ +@@¼Vº¿}—SüȘ/p¹¿êËýå52•éï£ÃH¿Ôß.@ë´FJóÙrÅ5é“o"ø§{ÛÖ}´ÛkÚd®a]›ˆqx½ÝÈWÀö@€úƒÝ)ÏÆö©é¿äF6÷‚ÆöY7’ÝŒ‰îæÁõÝ"³Þ†Ê þ¼ +P@;týw1×µc]@Äø|U‘øexmÜB åþ|Ï¡ Ú|—ø åþ!ýPHýe*œ7øå­˜¸'º€â€¤J;2þ ðö'Ÿ)¹Ó@ap¤˜-–úîͲùÂ]zcÒ_ØZÉoñ7{É#¿¿³ôè”Ú¥G«vêç¶)Ëý]¬ºçÐè”; hêÐX”Ë«Kç¡GÇ?c*O ‚N 9–l9`ðh~P3š¦£È£Q‘á™™£@™:äÌŒUŸr'Ù§²w9à `Ú×ùm“éÞŒ¤¯?øÌö?øTÜÈtÛ‡ò‘YÄ744 ݾèâKÍpáEÏ/¿Þ<=Þ’èHˆ¶Ú-×·€“ê¦æè>‘õðTÄ•¦E¿µèºß¾NñºE×-úíEšÿ¾kß§ãÆ4ýÖû®ûm0X-‹iý4êÚ¼âó/Z$QÀêÓ¥íŸÎÙ-3ÝD»2ˆTôÓùM›Ay«@š¶"‘Aï&÷ŽGÔQG +H;÷Ü]}ºç`‘ùz +bÏ÷µögŠ3O—FÇ3¨ 2q gý¸õ<ìžÞÖˆ.[åÝ'÷Ú=R§ª3%"ì98ºƒOxp”—ë !ûŽÁ¶‰áÂÆôŽÇŠÙµÝD…OPGŠÐàebÇy¾+"(¿;öä z¬d1Jóaû£9ίžyºœ/fÆ?é ‹ò'³}?ÅRÆâ'2ƒ9ÓAâÈÇ2|Zì™? + K@7‰Ù\7 ücØé) Ýjœ•çGzËl¬ÛÀŸVÙ±³Jã¸4 +E;ÎQþä:¨ìÉÊÑmò øP&0µ¿äÎ4L€ÖgRÝ)"’T»ÊšÔð†>¡Ó4Åê»Жl&òWÔp3EncFŒ=œÏæz+ÚˆåO” Œ><€ŒYŸÒ@ns +þôK³—cª]‡DÜtü¿ò°6ýâ?ýòå_• kŽ.û…Ã’7Ø3ýPf¨Í†Ûš)~¼ò£+Ã#©üƒ6(\>am :j.ÂÃÜÈêl.Ñ ¤ÿÖp6™éÛôàºòÖŒl̦V%ò£ià糤!J ÝÇd¹ €è~jMf݃ãè80\ÀðvÝ< ýʼn]¨?qä÷'…yÀ'÷©ÿ‡uºþ, ¤ly ú u€©9 Uê’˜ú?éË!p û ê/(Z‘aê ­'šÖ»D cà)@ú½úW­ÔÐ â õ×¥Aýë ¨ÿ¯eu´ßÔj#¾-¨¯š¯[,•g’LƒÙ@$ßšƒôƒ{*’~gÒw¨[>ŸÓvƒ÷€ù ËAõŸ9†¥!Þ}vó,‘,˜LÅQ¦ìÙ<€†ÔŸ™D¤_ê¬$®³2ØùDéÁˆ2[¹; ò‰¦{Gï²€<Ý'yœyºâΚ¨7˜}v +Ý—à$¿áƒ¡ûÓŸ+)¢ûãŸÊŒn”úÓ@÷‹ˆÂÖ  ¾þR"Ò €/ +ùÃh˜ˆ;õ§ÁçGýïIYãÊPØÒ' õ ´`Ì݌ƹ7 õ— 7g0Ö¦™!cÓX†H)ˆ‹xº75üÑŒúËÜiú=¼NçàOÈÒPÞ‘%êÌz‰®û¨§²_Ì̱)y?Ò/¨)` ál¢«“H9ÏJÓ%ý’u©yd~×ÏãÀ­¢fî©9Çdè¾ `äÁt_' L¸1pòôìX. úH? Ëë]‚îËÔó#0”[P+ô8 2- pÅÙ‰uú Á0b0"Ò@úe¤ÿ©¿@úÉýeR!õ€Ô?^1î „XºOîOÖO[éåÈ, î¦øNßÕ›ÏC^…îxJaàTõuûY‚ @Ò ¬øp6¤ÿé¡BÜ|î3 O ñÁÞ þqøéÿÜ|æps0€D{"•HeíËÒý:Ì>ÐÜ~c›ÐEXž%6`8éAÐ¥à @X´|–±Åb€ôË®ùGï)fê ¨Ð}<€¨ +@¢FÝg7V©?ÑçøNîÙ|B €¸ïðh€ÄP[d.^øË€wôé?u€¤ß ^†îÞƒV +Hý‘ AQú?ß~â‚ÀØÃƒ2€ÂXF1ÿ±4ÒŸY› îg×§5Ä›ÚÁÔŸ† €Z>n¯ÐýxP=ÌN2î+Ù@÷@úŸî&ZÃåþB€Ð’xxéŸk”Á@C8þã"®Ü_u€u>.¡þ4øŠ~lHüÝ÷¶'à%ƒÃ) Aâ/p^¤œ?Ä4}{?¹¿l@@úOõx@&Û €ÄŸ•ßeɽ!Ðä÷þ2€Ó÷šô+Zâ¯—× c@ú!·1…î[î_è¶Æƒ–û+šîKý#@ýAE€·—û;Ñ7¹)Ú5R¢*¯Ø¥$ÊýU +X kÁh(÷ר)qômI?EQ€º€P;ýÿÑ*Ò@ñ½úc«+¤ª!ËF»ã?bü ?`¢ + tYwMT@è + ·IHâeö¾ÑÉ?2y€Nòu€»oL0õÿëǰT Pî/ïÆþôŠ´'™Fú‰¤?þP`‰hmoïoöý?¿íU;H9êßØØ¸¨ÉÔÑo™€Ä=xhyÕjCxVéÿ| ¯ €î«¨3uã¨Ý×é’ˆÏJë!ôÿ%ýþÙ¨ÿÇ:pŠ<7€º +€%ùTfnàbyr €6ê/ •ô—vdy9é?{êO£ôû6‚Š Ðïg%ýÛ&†a¾¨ôŸx¾ €"ø¢l|·¹]@xꊀRydH¿Æ4¦¡ôhèY w<ãÖ>PÀ’òÔ¿†ë.*õÿÇÉæGzÉýù!hTTBPõp™ + Þ$à«–TöäHüÕÿCƒïõ—ˆ“øS`ª‚¨Ä+½Væj‚šÛû•þÃäã€Õ„ð“amKÛX˜RÝWÿO]À×ý€ÔÿÿÕ¢×~7IУɞµÅ¢^ ÖvÒ/p‡lšoúÛ!+|¦þN÷1ßáãD_ý?~ÎÈjÐýåý}Èý] B @Êý½l™œ.O?…ŠÑ`èAæ!·µìî”ä‡Ìµ³ƒŠ¥áÑqaÁCÞ £ŸÚ7Æ*u!;î®io“Õ1„yNÍëu=mÙ‡.Û  : *ë½q™¾©¶ë,Š'æz`ŽÍŒüJúU+ŒLºSƒöà4þ,#i½ÌC; +¼hÄç—§OF?}0½&K·ªã0uüÔÎ?´iôÐ=ǪãW`öùÙŸ¾‘º¸üÊÿºÿ’ã<ïr4ì%f{A–Ýf³è¶Û]êVÅ.v#É +Õ(°º‹Õ¬f¡›Ý( f5¿Ê ¶@j ‘Ø´Ë]È^MÀ§“†^íiLË«]Ø +yáÑPYC1y†d[q¼Ïó~3ßJT°|wÜu|ñÄ‹¬¬¬¬¬ÌïçyÞÌ|sÝ'»’¦¤¶û?˜êÿå>¹?êMö&»ùçâ½Éû,Z£;ÙÖ} /г±ÑØø_ÝÏŸŠŸ-â²þ›èÆ·Ü\ë׃´vÍÚ“ƒ­“Å=Ö]c£\›cråt3½‰j7æõÖ‘ß®ë!98²î%.üV(Yüâó%wÃT»ÏÝ£BmìiÞ:‹²ûñ_½Ê¢ZËe¯`Ë:÷ú²5ÜsšŽ™#f­'ªA,•‡W¾ØÀø¶VÒó-{!»-¢ÑhÈÝ-iç`1ÙóØ¢Qª¥y qáù"Izn[omOŽÆìîrêá1¿e05”˜_*oDc• Â;DZ=üx/²{ Ë+nâ¸Xæ±DC™8*ç‚|Ú‹ƒ¯¾§HÌ«‘l>…‡‹ùr?â»§÷V^mdz4Øn|"“lêRÕxIƒÕJ8¾M‡g­ã ó‹ED±B¬Íey¯Ysu€FmŽlpñsë²™µ{:Íì1AS{Õž?èføú ‹¨2“­ï е`<¥çG2›ŸS'oYB}Wnbg†XÞéNäÒ¶…ØCÍÂa!vçÝÿEÃõk!»ezv4·¥/Ù— ’FLLJ6èæTêåßkbʸ¸ ÚPÁ€?<nrèìNÌÏd*€ðEoýþ¿Z4üVHv¿‰º L£AJGòÝÄüö$*Ž[̺A¡óÅH×zJ#[ìU"¿WPêE4P.èF#cÆà`/*lË%Ù—Üž¦œÃ=w ¢58o¾Fžª!ÀÎúŽ×½û#¹?‘é¸nB‚®CºçÔGƒ@8›ö@Z]ˆ)£g³õèD®5¢ÞÍ€äûJÕi0Eýû*h`Ö0€LŸBÅò½òcP#ïþdó«Ð8ùb(˜ª¬À»¿ÿÏW ¿§ðáA¢é—û¼°~Ï€¾_éC¸?1•ìõŠ@îï t`Àÿ}ê.«n®Øüq}Ê® +Ûrÿ›@},ø5Öñý ”‚Hã„м˜ïG ÐD)nôøÖb ºœÆf[.Wêöí8ЙӭúÎÌí-Üáû¸¿P|*0M¢î•Gé¡0Ë–X2ÈgÙ÷oË]#tø¾”²ë/ץ곉ŽK};Ò¡ßšE¸ÿ¹×W(2°þF“­Dq“h€ÂSƒ€ºeXQÖO´Æ^«Àʵ Âúçž úü¨—Ü_Q  "Ê&"Áƒ™þÎ/ÎD"EO£™Çý‰@m.‡x¿öðÂý½43îOôîOÔõ º3ß—˜gb&#X#|Ÿ½ À€dOëâXíþ’y¿cƒ‹æïú뀽þ·c9zuU`ÖODëGA>‰õÛà|·5œõ‹ö8°è/þ »G‰¨mà%ðP؈°~ Phç{ôÛñ»ø$Ì ~ ¼ë§p1ÀÉ ù + Xm(÷—Ö/ü] Pú/Éú­&8ü’útBÖokbwc™dî²o¢|_.OÛ›>R;üoT^¸†aÃ}"™¾¥ÿ¸?Q]=ˆ: €l¹ŽR›¢®…•ðý ¶O h¼r —j4âP@úEÀGo%ã®^ødÄ€l_6;ÆúéGé¾t_oˆ11ÝÛçÕ÷K½^²~Iõ„0Ðsßýîú”„ïËýï¿oCâ;ý mèÚàuÏ]Ÿòºûîôºçî./w½¨ =”òû«›%^ÄÀ>‡õãõ¸?E=G¸g€7}ßP[Àý‰ÎB èÜ—›¸¢»KP Ò‰dµ€î^–: ÷G2)IÀòÉ& Ò¾¯´ìNK:ýëz†u%;îOĦåþ#ë¡AÄìð}ÒÿÉ„õ{áþ•Ú(@JÀ`Âýa€Tk {áþèÐñª5öæ½äþˆMݯ8¨P´©o@mW4̉€Šu¦áþVÄ“úéìä\N +­•ÀÇ×=Å€á¬)÷—û ª¾ïå€dýÂ@vsŸgÀê +€È_ܸÂé€Ìëɦû—|;¾þÜ:»€pŠÕX¿Š€ ŸÄµ€ê¹?Ù½ÉY¿ê€ÀÝà®õÜèM_E€d÷—lQˆ:ë¯OW|à ô‹­@ ¾ ("¾¯ô°ë1C~b0EE@q®iùD¦›žÊý‰V¸žwy´rÜŸÙp™8 ¹|h÷Îú%Mñm¢9~4³Þn/¹å»†uþ‘Oÿ‘ãºûeý¹êŒóîÜ_òîL5¯âþ`@€€Ü_@ºiuÀê + rs|‚¬ß)SæWU±¿·_Êd}ŸJ÷„‚ø¾Ü?Õ“´Ù~)%ô<Ð#±üTOÊ+ÞÝ”¸/âà¯oºUO=y"Â÷9°ÕÄ Þ÷%–Ìóý…,@~"3cýêÿQ€TIü½p^¯åèR"u½tªND ÏîOÌmëE­“ Èz~"øó}‰vüb‰”¬b)÷w瓲þT_‚ˆûcý|hÈýã ðîdý*¼ûß’rZ €ÒS)æþØzèþÈxï&Z£éncV”ø¾ †ù¾ë2¢õKÅÚ€¬_î¯9õ€8dý“Ñà Jÿù, 4ÙÜŸˆÔù ÁjÈëãÆmÆßfChñN¡û«pþÞ¶~ý­^« Qu™J-sw]@X¹=Ü1@¾h&r€—Â>¢(÷d½@,ÊwÁ€À~ývh™¬ë¼ÆÄ3…rP­çvTíÎ/7è—Ïí¨<5CDù§fQPª µFifQ²®wõ§ÞŽVUÓݶîįÎýʯeßjÛÝ?–Åziò·^ª=ÚuóÈ÷aR•ÀfÖK²~Iÿ%¢Ò"Gm‹Èr|·¹t©¨½ºk‰%rdo +–¿üfý³¯I3'ÏIöÀúg’}éRc)³•3£±‹Éý@û>7(´¢6&Z·nýÕ¯µõÃÿ¾­‹¯v õöJüÊ#rvƒ¿:€FÒY×ù̈bº?<H#Ùáê“e"*¯àÑœWæÓÙÉD” +5[­·ö7ËÅ"¢áBAÅ|Ñ+›Ë¢^÷wÜÙf÷8™;»î +¯µË@‡’­'¤#Ÿ5™“~®næ;[P¬ḭ̀6Ÿ/™œÕÎkäa7þ¥uéXÞO$i`DƒCG0£Y™µóÌ8ŽE?Í.æYß´»yQyj8ý\À±DJHdÅ8táû|±rºÑ 8`Ê;ñ»¹inŸ]aiW鯔kv+kKc$ß“êëÒ7 HWy7[»•É5”“ên¬ÆáâìÒÖ0ºqÙ³þÖçì¦\Åæáz}®XÏÂìÛûfu:GE_Ÿ ˆ˜£ùã3™ê¬MD¼Š*;G8!ç­íÒyïȈÒ6Ddôn¶œßÎ6ÑÍ£™µÁÃÿîÊaýD5´M!jÊìBÀFž?xºö_"£o]Áýƒ¹&±Š)ïieúÈû¾—NÌâÝ`À»?$Ðüz îÏ DÀ/GÓlà¿4ô’ñã€;pÀ”–û#»BôðKЬ’¾¯å ÌÝË€FëËo®¾¯Aqqäþéj¼áÈý%¹¨ÏŒHE +gýÓ÷÷ZØ9ãÕxºæÕZhz­]öÂ÷½¼ûg?“í{¤ßKÖ9p·éŽŸ¿}òŸµå¯Z €åÏÕÙÃŒ/VÏ|±!àû0à6ÀøêÑSª€¬"ڙŜuȘˆü?’íåÓu€RÕ.JÁú‘5– +v‡jÞÝ#6e­àM4JÕ4 "€õ‡ŠJîOÔúOïÕé Kæ¿4‚|RwE|߬oáï¸?²ÆÒÖ™…R§¶o)í ÆSžc57±š‘ A4ÖïrôÈÊq׸ŽuÓŽ|¯ÈÒ£Ùô®˜ÚîÏ»o=RÙf÷ýв~ËÜõl÷-ø»)¼æÇÝ + ßW#.¬_îOˆvis =Ô…´÷ÊúÅ€5X•P^8švã} +ÖŽà:‚Bàûb€5œû«À÷ÉýUÈú%Ü_òîÜ!›]ñ)÷—ô*­y:¬<x ÀIóKäþ¾õKø>f­H ý,@T*@üF0¬_îÏ2ãXû±µg÷RÀ÷¥ëÔYø"ß/n +Bm.z­@sO­mµu¸­8Hü½ÈýûzSRâ^Ÿú—÷xÝ0䃳þ´‡ÑÀ÷=VÎ6B÷wýúôÃi/uþhuþ Ä}If­]í£1!ôÜ-€ðåð¯=€ÝÇÿ³* ç¾ÜôVN›õS¬î +­ß=zP–§ä—ÃU@.k Ÿ’ïtty3RúïZ8\Cæû?3ùþm@à ßOź€<–]`é‹s_Ó¶òQ ë¯àû¼ä(zØb£. ùbŸ€,åºzäþ€ï"R &»X3ì»÷(©-G–)k ;à ­ßÏìÿÍi –/+—ü¢”û‹¸¿`}Pû-ºjˆÙæG Pîï ÿ‰¶|×ùƒÊ;mè7$(÷÷`Kþ#*ŸæG ¹¿þBDý?}ð‘䣈îM!ÜòyÑ–c » TÎ.¸Îý°ÿÇK]@qH6ÅuIvC€sU@~¬Çwñ "ÜŸâ{ W;r‚XÚwHC>è†/¬?³…"ÀúYö*TíÑÝÜb6dØs¨ºtÕÚ»Ìw¡5yàX½õòÄë·¡áV£ŽïÈvÚvé +ÿ 3¼ì2¡ž\j«“žä%Éî¥òc¨ñÊ9âÄá—¼âó4Ož)?;?øè²Žª÷öpžÆÉs}Ȇz>qfb¶™ìIѨiÇôz^’J{[8¾H:„pqJÜ»NêïßžBÕ_ô°\ÓÏð·.ö:³û '¹?õÑKá$÷·~ïå®çŒ3ý¦Ç´>øüÙœÝñtè… +:òâÄòËuÅ•³¦` »cvî¹Q/ëò>l·èNMÄôuÄj$zú + ¿ˆõå§›¡‚R*»9U® Ké¡+¯kð= Pe*‹&§1Ð¥ÿ¥êáafñ49“³yfÌ1k»±×PÆ$õÏÜhñêrï¶Ùæ?ÄšÙ‡[‰3‰»N9–©ß1ÌåÝ…ÿÄI×ï/ï¶åD$0¹>(-Ö›>ªÎe1}¢iÖÚößY,>S˜"ò.­|…”ç 0€ Ól6Âo™i Û³é¡ +ÆMÿúË¿kö;ð‘¹ÿ‡þä`¸öÁûz =æÚµ÷ч^E:ûáõkH ¸ñ/œáêßüˆEµå¸x¤b÷L§K“}…r/q¬öPe.E vôä +½ „åû[6²gs '.¿ÙBvŠ˜)áõ ÷ €|±g䉈™G I©4ùˆný«L¥“mH ¬Gìrq±O¶L7Ëú·•åþéÍß·Ä_ (ÕKÓó€h÷ýF]@@‚r ¸° ÂÓ°áúî6Ý(Ö ê`¹ êÌ{”£,[†k3@v¼&äÊ5Í@`ý$àñ«ƒ`@i± €Â³‹¸6(”JK#•ÉÌöJr -áûú"hùUSyºŠt("R9»,òŽP,>ûÜc^Ê=Il‰³{ó^õùǼÂÃÉ#­­}y¹ge†R'‰ŸÞ8¸5¦-^Ó #^óÙ]Bù‘,‘¬ßÀ ßo,WÀŽÛ½¡•û0Ý`p§jåþ|q2A;MÊ ŽðÀË%9Ÿ +Ý_¾/ÌöãÜŸï‹ûÛcÊÝÈnÚõ‰vK¤³~aÀ§çHîïs@ëd] ûKX¶e$‡ˆÄ*yñ(üõ÷š?y¯’Ÿâþ,Šð²ùe¬ ,¿Òàír=0½ ÜŸØ>rSÜdÓ™Á9> PÔ~2ƒíFòÎNH¶Îsaù¢¯€D±b³Q“í¶†Rø°ljµRÂÞVäþVDÔaËø”i¯(Œ4X©à…›'ûqVR°ù£Ê  dèX¿€<$¹?Âů]3 æ1<8|ø“ß'šýãû^\ýÑ{ï à׸¿„õ‹ K`ý•éPf´ÛÆ­¦pÌ=žøëZ Iî/Éý9ˆX¿ Œ6²ËI~ÿ€€ dýæþãuëÊY^u€`è Tœnª@µÖK÷'úôß1@/[@Ãrÿ…Ð÷%0`¾ï`$ˆÜ¿€žá^˜]¢‚©Fzs±qúëgŠÐ<{á¦Pú¯N|ßVà€î+¢Ðu_‚èÝ_Àúu€%þNÌÿ:7º)ÐjH¤Øÿö*Üå•F¥j»¬ël ­Ÿ<Ú¹!óû +h0|_â»+÷·ô)¿rºÞz±,É2äJXáÉ>rd|¿0Þ€ÿ¾îOÔ 1Üßä.ÑAüFÊýmÀýƒy¬Ÿc ÷Gú¥ÀÂ÷¤ô_ZŠÝÇ`ŒqÄ2m…íÑW£‹ +€·ãþòS_ @Í÷²@{Qu†]8ƒõ“þKø¬*G;u,(ý—̦ÝçZ#2w*kHƒ…û +€—Dfc› ÷ÙüH?œºqìŠÏ…ÀÒR~gý! æì|€Úrd?¥.èt7÷šï/ŠÎª¬L`%u€ )÷W ôß u¼N쀺hˆ€—™¾3w‘ÀåþzBdXeèÂî/]}ïŠwÿwlÖÿÎÛß»üÖE¢æ”û#ë¾Ï'•þ«(LôàþDr¬Á€Ðúí +Ñõ=©òT¢0ƒ… Y¿;i”$]“&àþÕgÙ’q±[†(í;ä@`AnÄÿpÜ1@?«ເ ¹?ö'àþ ÷—ï€âœƒÁqk¨ÈVÄYöxµ +'Ï­qú\v¼û[£T×-»¢€R›/s  ½÷ׇ¼”û‹áE¢®X)¹æ$_Ðhò‰Ž”êüéèBÞýKóKÿ߀wÿÿÖ¯«£ HÖ/aJ¬_Àú½ÌA\ÿ Ù„„ïÃä+äÌ(Lÿã$àxðßWé¿0ÀO S6wvîo™¬€g¾ï“ÖÉºŽ¥8nÕ¤ +@·/ЈöÓGßÝ–=ƒ—î¯ôßw¥ÛwÑöÜ_ÛJÖ¯Ž |_…‚D>TðþîÝ~·—ª!ü<šY¿u±(¥ÿÈ^u0¸Îû¬€ûãõa¿¿/ã\úÔdÖ¼h»w”þ#–ïrÿ´“ Ä€»W€Ï2 Ü€›V€×­ÿÇWÝ;r7—Ëý¯99ë—­›ï¿wE À÷Ñå·/#¹?²"àFˆ€ÜŸ†r¥ÿHî/aý0‘NYÅ=Øðà/öàûJÿë{Bëg¿í¨ø™´ÿ£5vž¾™Ý^.>;OD#;jÈÞQ«,4ó“õÌEâ踩²§eÑõóäksı]½*ÏÖD3lˆˆ™y–’»Ý™LÍ7NŸ'VðYò÷Zƒˆ‡f¶Wˆ$ÔÕ™òâ1¢äoÔŠ+9”+,’ÑÖ²WßHÁ?d¸R/ï;BDÅj½±¿…=©ø‰_"MìYLvSsÍÓçø"…©ÙäÃ)bñðÊÄQ»™ÙkæÅÏ»«€L•C¿Z§Ï£ +G…;øÙw‘ò_¹’ü‘CÙ-ñ û‹ýÑ…x—¼ƒ÷j!3Ñ5s(Qh¤²rø~ßp€`@fK)5”åà ïãÚØº5Nœá-býø¦Pn>æ3å¾ÏÌ«ïO÷.ßáþ¶¡¸÷²Êp¶^Õ æÓ!ãŠW̲åþ«¶é…õ1ë—-¤~üóXí˜]Jô ’X8ñRrp%€r|3 w ÑÀˆe +‘B÷çØóï%:ß4q,qÈùCT*L¤€g€ÜÙ'‘`' ö Ÿ„jZ2ÿeMÌ£#ð^1à¦À÷aêîŸJ’ÍÖœÌhÉòtŽy¹'²ýÒÝ:^>è²Î¸É|=QîŸÎ¹[º"”«ÖW ÷'Êú…¶ßØ—r§a™BƒOa È>.æû¶©Ì¿"pÐÆà×ø»ØX¾ÜŸ/h$ˆ‰ÕйV@}PóÚî_Íx ìæ¤_ß7ô€F6$ÀýQPJ­ÿgÊö +‹»@B¯4°7š“Úö—ûËS!&v?HÕÅS”8¹Ó¹ŽÁ¼Qî¯ßȶŒ›‡OÄâ'qsÛå˜N´¿NÄ‘}×?œ¿›õÓfй? ïþˆMÄD$°dG8¦›û{ðëWÀË|_2\3,ëG$ûï_ý±wÿ÷ßûá;WÞA¸¿k˜õÿðíKHÖÿ½ÿÇ—¾ûÖÿ柜—nÜ_‡4 ¸»”€<5AÄ|éí@îÆk„¤üó}³þ¢pÿÕÓ wÀ QØó/¹¿Üàû¸¿€/Èý•þ•ûw¸9"ñ«Õ1›DàûÓé?ºÁ¾âæ.ë¿ |îï+€T.ÒÃÖ¯Ø÷ØVb¨‡Sý |_ nÎ# M·X? HÀÌ¡ÙÕ@J?Ù_í`p™¸ÄO¢#“_hö9³`" ÀGôÆ8œB - %{ºdý:6|€)íQúÏtÌÑ’Û'Eñ}Ë©´2ûÎÜÚýÇŒbîï:dì¢L †£ +@kÎwt Ë‹e‘Úµ_];ˆ˜Aë#Búš¾w{y#Ë”´äpóºÄ_ P? ÑÀV¤ôß>½i%€V^¾ï…û“ K¢À÷a€ê€ÐúÃ"À*–CCÀýihÄ ½ %‡X{»«áf­ ØW‹Š,^2»ŸËNZ¿IÐwZ´Â¹?‘M!gx¸µ €xµ¾Û†õð€Üùëb}€ûwàÃk×¼t™fXÐû»ÂX¨÷~ˆ~|åûD¬_îùm³~U—pßoË¥ÿ¸?1ܘ¾€Üáûr÷—ðqõö€€x‹É9> |æþE÷,­½X? H<¸xHkZ¯ž—,‡yÖ²uÒ@âo¹¿’ÒœýÆ^%ñ÷E +}üôù¶b殞ôPñéNB‚r_¤Ç*IV`¬2Xª¶û‚¶–“} ÏÔÕD}#äÝ«u9>EÀhm^ò]@¤ÿ0@ãüLìYDúÀÄQ’}ìÞ„û Æ!×ùãÎxß¡õ¸.ïþü0æÑÓÚØ³•þÛ%á.°´px É)8ü-ÒÐ<\GÄ…ƒU©u´Ñ:޴ΟE–cÔqG¯ëZ°^ ¢}¨;ŒµLlËá¡ DCß÷$ÕꢡÜ_ß§ð€D7G펒¼e'Y3õC9÷×GcÖxGG`¸r¯ªH–ÿÚæu`û³IIÿ5âíH[Õ@Q ¤„@ë¾~E@~!H°…»oç…õcgaவG4¼ûÓЧ‡ë`cKܼ H°ÆNËý­“dgØ$áû0@À÷£þŸtPJaýÖ_¬\Ã^dÐêµ÷Ûßý! ÃaÁ®þ:¬0QF¯ùÃb€£Bø5ݳ‹C¸Î`=W®ó'*L€Ü_Qeb@Zs@]@€t«. «ï]õ + ©÷?€g¹?îåíKD ô_é¼ utiüaoß ¼}£ÜßHPMyÈúa€õõç“TáÓ€Ýl·Çl¹Ìl ÂŽ [t9{±Óì«kÂ4ÿ©Ykd²(ñ`á˜=¿‘‘ä’½ŸÎ¢ôc¯Ü““•ý-I—lJ2ÍHçQuiÙ5ÚÓã¶ÏÓK{¡ÌÖº'AiÝ’Y¯ÌÖ²Ôuo"ñ`J3çšÅÆ¡ Ú ²p!J¶^9x©8€1å}ÏóÒ¾£À÷´¤äÃiu +•šÇ‚éFq·]ãφ¢1yôe¤åÔŽ~òè)"ªúñ«¿\_œiž¾@tÇŒH²W=³Ûíî¡õ‹:ìe öŒrâb«DTÃY~¢®ÙބֱuãUŸ…ÖÉ•W–.ÏKË/-­¼²räXÆòÉeéèg›Ë'ZèÐÑ>µt´¾p¨hON'ºó¶z@­­vµ%=* ]žÃ÷%×dj¥ÀÑRmÖÜ9=”Ê –j6Nt‚”²þ ÂŽÈ'’z¯¼Ú8úÛÕC/”µÈ“ÉÚî²µn(dž{Ćšà#ì´­ýˆ­DÄ¡lhÒ¦Q*Ó'"mRÛ˜Çí1’]„zºŽæÙG„(r†®¾ûÖ ¨€ÁZÓHÑîMíë·ç¢ÊN^!E&?Рކø¸jcƒ&Êú}€T«ÍîAóPŠ4rLpzßHùéAuÙsû‹ågp·Ð²ÕuSÝ9RžÌ­ñT¦úLN‘]®PŽNWí®1"*ŒÛÒ%(KàÄΕ&†.-Å7IŸµ†’=f}*LÌCƒ{FšüšÆ6+„uÓ!x—¹6“â$„JØ•d1:)¢c„wÙ¢,ÁPßm[Ì^uÛ-ãÕ Èß (ü”¦†Pyr´±¨WR't&ùdãòÛ—®\¹ìuù?~ïêß¼/½ÿ×ï{|ô÷ׯþõéGï¿ëÕ¾À`ÄθsÅáß÷ÞúŽdÝJ-K‡'Ó›ºòÛ{bê—Àd6ÿÀÄt_óh–XŸ³Ó¼Rà®óÉâþ›»G¶ô Áá(„2Z“H=Hz:›TÚ‘‘2öP›ùC[Q|ÿ_ƒõ{ewLxeò¥¢{ð¯Æm«2ƒÈŽL‘û¯ÀD³%aý#ãu©sÁ«/×–OÕ-mwì¸?±íþØ.îO¬=oCI3/žB+t0›_\Þžáå¼>»½*èÁ^Âý‡Ÿ¬ ¸¿c@Œ °{I‚Ù'k,ÔŽÛmÀ¸¿d<°+\CĠÃC…=X rHË’Â|Ü]{‡Œ.W’õë× +ÛÞýiÀˬ†Ø€…#e„O‘. .u ++ „õKGÏS 0 AKCvïOøÿz÷Gø#Ö¯3H°pÖ) a:l&^ljô¡0@°>¥Ê¢¦ó¡j謯kÛ…¡fØÐ‘ÂýãHõ%ؤº­W@ÚªÚõÛ“Âúuê¡&€T‘ðh`=^qvdélV0Eî’û#ä ø BªŽï `¸@€´]™»5Æ6.ÐΑb)õKl3zW Èúy•ˆï{è~;™<é^­YUAô}èZÃê\Áòq¶<î¯íïÅŽ-Ùïhn=uß—øîv`âÌ#NÐ`Sh³ðª ðéàFútgv·2£MçÝ5PX X­À4`ý0@ÏlˆàÒ÷.Þ +žÀë ó}¯Û@u¤Þ|Y¿€ûS+ˆÈ€ˆïó|?ùp×Mà÷ÿ5a†~ÀÆë/îizx÷»!‘ø‹4zÓ‰R •+zyCGʾq¢w듹/Y˜[ +ÕXÂ:•þ‡ÅAôT–ÊáeÌ—)ÂÀj Kÿ] ­€— @êÖhx €s¥À) +÷GêºU`&èê_@ý0fOr„¨_˜Ÿ‡‰_Ë»?±þÐý‘2£0RH¦ˆø>îÀ¡çëÈc€¨ô_€úˆlÝ\ çUC+oSlᥕWZ:À¢Èý…¬Ÿ" ^ˆÞý‰n Ø¡pžb‚ø D4øD›Íᇆ®ü±)Ñ bl[_Ðð¨7Ø8áØÔHn[R›”í©ôË€Êý%ø9ˆ²”Ëgz~uÈ«ëî$‚û«À÷+;md„ûK|.K°=A ‰ÒûˆÆŒÌ“%6k(÷U鿯psßÄ'úôÉú%ó}çþªÂôßUÖy¹¿Xª­¼Kÿ!‰?ÖÏv”ß8™õ3'b3âþªð}¦„=?6;9Žïˆˆ\âoOû²:÷g²Íè8¡­WŸo3ß‚ñ”Ò Ìý§3&WˆðbÀG}t+ð’ÿûÎÿþm¬Ÿˆþ?@æ±4ð}ìë²ÆæÖ¯:``Ó¬?5ÐEÄ÷íÁãîý÷ûÝëñý”{"? ?ý›Ýˆ¾sv»¢wßÿ×Èú‘õ¹. ©ç72ê:÷]@ž( ]÷&<†Ÿš•²crÜŸ†)ìÿ)íY"ñ]þÆ“º4tÇ–ôÿÔÛƒâ ý_]ÄL7‡Çg<‚éÆM`C¿Eëæ+äûT4^|Ù®IãÀVîoîOÃf'¶èŽ4‰ŸG¿@mg0`éØP†JHÜ_Àí`1ªïBªd‚2}µmÖÖ@€ù5 €Ñ³üx¾ßÑ„_¸Fhý«àÿË'ú¶:ý‰Hý?RÐvß]É£"ÿ ;ý£:ÀÜç@5¬‡tüÏ4ó^º«÷·{‹,iuOÔrC+ëd2ÆÁ¢ †œK¡•WZÈÒo…OQ—šÏQHÕæ³Öp]C|kss¼Ï¥ÀDŠ^sulÕ Ì¦Õ°wE{0j¶Ê^#g9±¾PôbëÍì$]s)UŸÍºaMl¯å“•™ÆØÈãA²'›x0½ñ¡¡ð"ˆO^3s ¼$uug?õ‹™;» JOÛm å:ß:p×-[wÜD}Ñ(<Ù_FÙ\²†«ÎfÓCötâüv»¥¹y¼B#óX’–h'wÙDT®e½Æ&ÚÝå%|?Ë×G!beç°l¨úè:]ÿàÊʩ֛|Æ™ÿfùêõ«È7¾ù§_'^¹zùÍÿí ÅË?¸ˆfçÇPc![šèÇ‘‰•jÑ+zcfð7{‚b¥3IdÉþ@"»Ùh1úx©o…oáÕ?Ø-%{ºRýÝ(ñ =\šoÒŸîµÆÃëA;ØÔtçHtMÊšÂnë$‘äV(xzë/N7Ðp©* -@ÖŸÚž/”fh`¯m=w”… §ÎÎ|öº=˜Ÿ8süTµ#/cý€†ÀpuF¨=¿‚n¤õÁ÷|×À÷)ÈÍý±õ[ [ªj +È–g°~E ½­(5<l€£Ðý±bEw/q4HäªfôÑÝO¢@€€ïó# üWäþÀhv_û +–`ý®ÁeÍ­ÏVð}"Â÷yѺï?[Åý‰HX>Ù²µQ¢}{¬œmxØ’›õà ?ÎZajîሖY‡ßšEaåb@üüE†ïqfÝ0mútaïÀúUáûÅ +yÓú8Эò|ß3 øTÆ÷Çú%¢¬íº."ÇbòÕ|t@°Æá ûx¯€ïãÎÔ74ô æÇì93µÆ(Ö¾X²_ ­ Y¿êäÝßôL¶­[@îOCÖ”û<ZÇÅðÆ·ÛÀfpîïæü™POißðîOÞŠï{ Äì=…ñ~48ÜÃül=„û³ ›At(bý0ÀýâIüýo\p¯oý/ßðÂ÷€$ë¯ÏQe*DÔX(zÕ§/UÒ’¬_y}²ÇS)/ÝDÞý‘¬_æ.ëÏ>ÖGd6¹?Ñ»ö±^¬[¾Ï¯@D²~v'€wH€ï˰¬ŸhE@ õÃöèG"Âúã ÷—€ :« +àVˆÜß*ÜŸhÄ€û{y ÆÉö¸o·€Šä  +0@C°‘'bHç+fý®P/¿î/áû’«Ìýu߯·Ž°JFåÔ1]mîÏD‡„ æ܃x ¬ªÌýÁÀó¥…ƒVx(zŒ=õâ-8²€@ÀDH@-ððbC †îÏŽâ`¶ëì¹f€ûÇ 郈|¨ìÞW¤ÿ’:pì[7GX {¡ ]g>„ €Ëý™!º¸^óãþr@ 8óÅ–•¬Ÿ#‡ˆï§7Ù#½hp²­À€zð¯m½ÏôÉý÷q@†î°þž_Ít`no ø"@@¢;å‹¥ÿ’¬Y6-óBäþHEÂúÝëUØxÚdýqH²~IË—þQàƒâÖ/÷·èŒ§a@¾ÜØyˆ£Û{ù!`|éË»Yó’°(½)!äK)v ¬?·µ—Fv4‰x 1_²…ØÍ"®.$Q%"~vÜÁ?Ö +÷·Æ=b€ý¬nÎäÃÖ°­7hž0Žº—ø•ŽV1A™¦PÜx‘ø£`s‘û{5ê^²~¯8NýÞQ¯sÿï/½¾‚ÄÿÛW¶üéÀ«8n³!•jàU|r´>W £;óÊF„ÅêáþD+¢ +À¶sl,€/°*/Ü_ò”ûKø~fKéV€@€M‹·€ÜŸôŸwu€¥Ýªø€û+Æ+Ü+äòqUˆ©ßéE@«@É ¸¿zX7€âœùšú@­3Ô=STç*€ÊTëW€û·NÔ Þ‹Zz®³~ælåP4â8v¢¦·XõÿXb„]º£Â÷ÿXÄ÷ù¬Ö„ûGE€œW :*É‹ZÝ$ !"7GX¿-\p'¢Ž ¹ˆÜ½.÷'µd÷RH6‹ y€âdV(<™VT@D¤ÿ¢@``5°~½À¹×­ÀÀÿ›U@¢H’¬9Qø{ÉîWËããøG|q¬0›Oñ»ó;ì®.–@¤ÀF™>º¥[ ´ð ¡‘HÛØyØOˆø~Oµ^©Ó`±+§—v a€Fzs÷g— ¡Üß@÷¾¹ˆíX?28÷OöuÑÀ÷S}]Ьª&…‡¯ô²¯ [7g¢‘ûK0÷÷Ò<¾Oîo} †ÖOúé­7Iü}pýúu!uIáéßð$p[üî^êöY-õÿttñ]tbV òÃX¿"ÖO +¯. t†4 2…]_„é¿z\‚ß§ô ç{mΪÝÄKX¿:‚°~¾5 è{‘A¶ˆ½JfU ­úó–’g·M`ߊvñåÎ}¡°ÂHX3p/N[C„@5ìØ!¤<(eWXž±G¦81‘9fŠíª'V&޼„hTý6ÐíTzŒæ©,ÙxAé\ͼÔ€P‚jƒ— Eó‡P~z•÷,!Y¹Ïë·îœGùÉÙüÔ<_ŸÃ;“/ÞÜó^ÐHÙT?¼Òóë™þǶækóˆÿjMòS~óùLåàËŽG‰¾ßßÿ}ÇPå€ô´u5?wЍ“`òå™}9ñ»72›TO[Ãõ*a¡Á>Ï÷Ö¦‰%*ý‰´þœÒÚ™³­âXŽFópÅkþ¹‚—N¯Ö¡£U/ãØò+Íù–”]ônR#ï~ž’¢Nô€Zç’»y +±caý¬•uÍŽÊæM¼:³7˜.Åa!v{_ø0çõÙ†—¸xdLmu9X§ "m{ûÁË$6[5„;gg«©¾T~ËÒÌoMû-©˜±†ˆ†íóJoÊ®¿;…6lì—­‡êNõ<’EfåÑDLáê—_ûâÙÑmÕ5ŸHÜsÖëÞû3‰ƒ ÿuÎ1`PªLÅ~¬£Ö%ÕÖ‰J}÷(¢QÛ5ŠÂŸæÀ*–³g^m6æ«c¥‘åMbi<·°TK%iÌ4òì9…íý(ùp×Ì\0’„ÆD=£¡€­¤ÐÄÎ,1½)Ta<“ÝœòbJiœœÝ½:“:U(¥ƒmÀ2[~: >º%\OLö¬Gƒ¿™°ÆÃ]^Þ…JKس›{'¦rD”/ö{hŠ4¤¼x‰]H{ -(¤ý -Àes\el |&˜”ñžb!™}¬PV’È%((]ÈÐÔÆ…Õ>~§ Ää™î©(ö’Þkš…cÃëÏܰœ{("=ìǘSÕÎý=!õÒ¾*ô]Ó¹h‚õt?Øþ°…Š=öõÔü ®óÅQ´ôCfã+ç>ûµßk­7ÝžY,ØΧÒQìe5¹^BCì…L&35e¬Ñ$|ùͶút2#+µÊÍ›[ÓS[à öŒŸNEŠ#(ž1F³¹c5'¸óX1N=tõ3G¨’ï:Îa©#Çœƒ9)©ªÕ«Œ(á)iŠÖ {°/½HñŠ1Ѻç8­ƉâU×Õ ˜[ˆÉ¡ÈAA§_ˆXÞ}är2ØyÁÑD„ï‘é§)A/Í*ÚÇo•±¹dhûúQµjÁFxTµbF—¿õÆô´Y_xÔ÷!Ù Pü–eè \ ‚ŒnGRq¯¦ aÜFý,DSB&Ô„¾Mc¢ö."âb‹P?6ËË«å© -èNØ0´e_8¦ÓqÊe nÖD*È¢]º6aõä›ï\›:еqíÆÍé:–<Ûïߪrl\$‰»~»3{ªû9Á±7„Ó £¡ÆPò!£½áëÅ\iÂX.0¹—+}+ó¾ê| Üþ–6>|dccÃïŸ/5ׇ¨GU°ãÿl×ç0ÀÛŽ›P)„ 0‡}Xú×toý>ú1 îåñL±Ä÷ï…îßL‹^R1êø"•ceñýäxqi¾DæHfÙÕÆe £LÊ^é*dêa“HÿÝâ‘§¡B–þ)„²à&aÐq¿Ï,˜KŸXÀ9ö:S%·\:Yì+—BÊð;½ -Xó™9z8£šXØ^ BV}Ró¨hÇ8dœ~¤jßß²ïw.=wA/)^оÀfož#±!™Y=†]ú%™kBÕ›ƒ –&ÿw–fF#•K©˜[Kæ?Uܧáß”•Ç0É)8!‡xS‚åP~öå‚Â5ì1£Õ¿—džùñe9AÒŸ+;QîOª `ÏüÉÙÈØ ßCéCÓ)Lï –S<9DÇâ‡áÿð ü0%i›—éšGeŒ1÷ÔÓJñð#{‰¼ÊxÊ -E ,£LÅILE‰Ú›È}0µ$°•{1è€Þ΀“(•#„™OÕƒ8ÿññV2ª´l¹ƒ%Ä‘gÌdœé”ðà7TY`~ÁÆ/Vr½ë<ÿÁøH¤K /ƒ2½˜J -dêAÖu ¤ûÖ*ìÕÉ’’1¡ƒR 2駨[)62ÍïAÈ­Eó_õ¥ÀËÔ MÏ;êá§²Ú2ÛÇÖ‰&8HúûŽ£Sø»±¼\››ïv¶šk7Î_pZ-·ÝZzþ'–¿õ͉£SóŸÛºuÕ“sí´Â'?š·×²ƒúùK`y€È äòÙ -þxJãjk}R¯Låø© Uj„ÊR«çÙ…•ȈÖ©lÛû^œ¥ÊñÅ'fW¾¿þÿöÿ ÌÇw`ÂR3ð¥yks«³Õ¹pñìYöt}ßÝô§‰:[9žïwÁëÜ¥°Ïî@7ä 2[h‚…Íd¼ч!ö‹¦¦«ÝÚ²ïu.»€‰Ù\y;˜ÿz.UÎÔ.¬a &þ8¢Û†yéÏ2+è‚X±³ÈIcu•uK—d´·“X<•jÙšÔX*Ziƒçð+°Á -‡U —‘XÎ(h¸hG’5¤ÔÀHF•lR¯ÀM·³Y;Yc`õ -R¥†!¬Qfÿ$Õ–…8¦ìÔ¸äw#iL rhø,ý±Ç3ŽY¸£Œ¦œ -ÜRŠïnÀžÍð峯ÀˆˆFðäjIRÖ”´, ->Ö -¦¦ýÄ„|I€œ‰¤¤}2‘'ø(ûˆË:ö:(")ƒ½ž7ÌW£¤jüb3'r’3$~p7Y"ý‰SÁd”¡lŒ$ÓÓ$÷ÑöO9èÕ}Š´ø"± ‡Ð/Ii;€ÑœÕÃùHc`<û " “ÃÒŸM -˜èð «,;¹ËúãiFÑnœ¡è÷]œóp'gNê úñ=Û¡·=€ÈóŸÛu9²C=RÆ¡äŽùÏ -¤^0‚Á¥wvX˜Òľ´§ôr¶<{ʤIÜçûû/²„¡ïøÚä@¥úÇAе N€…¡mƒ£’|xŠ~KwZ®B©»eWª•î§¹ÞXøÄìÁXXZZ%*ï«W¯9^š©®6•ú°"¢Tžò:Ђ*÷ËXÒ×¹¿ñÆ«|ðýï~tÀòkÈs«Ä’ý~ÒtËÞÛ6PÑ ,–¢N­Zàxý2耥§/Uvˆ¡‰å©QýòcŽÿ_H‘šÿAR!¸ôï;ñêïù…yýªÀaÈR5ÍÕ»)ËJ-å\+éz/”ñ‚ïE`–D»iïh¹¥Äh¬Û ƒxöc&@’*Õ©Å'ÉÃK¥?¨„­ÖýJ-I3Ÿ—ãùpö8—¬`¦¤?ÓY‹kZ-©Ò`ØÍŽ! fu‰1\Éõf9}¾v«³š†€å{¹K™ê$‘f³0ê•rH€é§kÿŬ8…\¨H4¡ºóõon€=5 -€è¯¥ûû²Á’t,¦Aú“‰V?Yåd,¥2‚ÛŽrâý):ˆÈʮаÓd»Ê¾*^óÜå›U¡€$ )œ’|!Ùþ‚t@8†ßÏ86ùy‰¹˜4ýf¿»íôÁÀy¾JÕ´[®ï ×cçSÖÌÊÇŠn êÅÞÈzd @qÐHBÊtò¬÷ #rEYî‹ 4—ß›dØGúO_dïß9ÔCm¬lð³/Ì(”¶?O†êôh'IÍÊ;Cp'9ø#p’ûà dž“7¦7wbù - vÜj¬y­–wæÉØÛ÷1ÓÉ: ›ÿ9´¨ýO‘d¿9’‘3Ȥ¡)|¿¦Šrµê}èÀý ý[µ³Õb×Ìs:†UvûÉËa¬Ðzïó³¯.¿U_Xt¶lwÓ^¸øÜÍï]ç?y±ýæf0S_:4Ö5£b­z¶]žžSÂùÞeèçZ¡ÐíØŽ¾Ý¼vÍio8íÆÚ›xÞΫI´§ÕnäÊÓ¸H -“0ƒ†,’¡‡+° „ïL™ÞÚDûôÔü\•˜›÷mä=àlÖ49Ow>Xõï®V?¶¯¹m×8ZiÝkììú–Z”¬\3‚]GÇʃ^_Ñ}ürI%L˜BÌp¤°þÕ´"6"â„ìú²—q¼Ø§ˆ9Û)`H°Ä„‰ÞõqÆMä§øMh:{”Ã!uÌG};îë¨Ë¥°ï»®:njãVoω|\4PÒ1ÝáAÄ4jI™ VkhzÔ‹`õ‚@”©cc"4ïÕq]×a_(â+Ìd„~)…>ƒX¼òûo,.ÕÝn«2mµš÷û]ë(å„ àeb”_*H: ô4½mðc“Ð^aÒàÅ"æ"£"U(ÒnØlQÂa¿Å°1óÜ®|¿±øX]-¢åOaöx¾7iOO¸Ëã½Aïaþ‰]cÂg´Ë¢*° “¥X£†Á@H‰ïijP©UíÎÿee ˼pêDëÖºª‰ÀíÎ×g6&ä^ЛÐÕNÇS­—<)臌 †˜Û¤ ‚B@—C¶¹„ršíb½c½#XÐuigLr7=gË;sñQ½¤€œ¢B<·Kب Q"^Ëñ¬Y)‹Y/zT-£¨R ZÑ4µÛ¨ö´¢osOö")Lû>wÛ¯`jE)0;Ì>40%8ÚÆ…` úI0‰–à„ÇxΠQŸàø2aY?@Dý>¦5øº°ÒƸ®”¬:ùö‘€ÜÑîìÆ]nCç°½+˜ä øÊ˜¡ô©x”Aj\¦Èiy}²Ä5Qð •£Õ¦¥µî9Ó*#߃éíbÞxÀ5øR$"º"Ìu¨¹ào”†â|¾˜[Ø–•`RöWª2sLFsŸØ ²ñÂhîÑ „Õ¦$ôrQH{¨ ÕIÙsüx7R§Ì=ªº,’R‹@ çs#Àå–ÎÿÂ8ñ± œ6¢8`c¬¦Ó%ðWœ-›ì¦TQJ¤MXú¡2—{dÒˆiM¹&¬ÃåV­'³\­àïøúB{ÂýWëFÙ4[ï5Žž¬om¶`›_8³qû&HÿGÏ^€ƒ©™SÓ'?¶üÚ7«õ9sªâlÚ&ÙG=ª6±è¸ÓL,YPæôŒÛÞXþépÀ¯/¿úMY×ìfãò¿Divî€É±>àÁ¨mæQl¹â2J«R£‰ÐüPÕ\é%͸2½_8íߟôaøëüi½ûo0œÙð486 ó{ ͇ÔöIdq/é»®OÎOƒ‚•jvKž)ñ%ë:É_ „ ›²ôÇA "¦ Ös×È%û¤羫ÏЬƒ‹º”&¯l¿ÉŸ Pè$±”ÕÅb š°è,÷…lgÿÍX¼o’tpÙ(H÷¾W¼{XöX}@!+‚ %+&ŒuËò‡Ë3¥ˆr‰Ã[GEß ‘7ÊÞt±sõ±¡_h·Ìbýcà>¤ì"ÊP•[ma¯ÑbŸÍȼÿ†e;ê„Ê=…Qxó3gë ýa£#s.¹ê_ð³‘Ï?ÜOŠ”òɇES]/Šþ0pâ~Eÿ ăn°hjï¶êæÁÕh\›„•t9)š |„=b»Q~þç?»§‡¯üSbl¥¸½˜Jý €3óBÓ $-lÒ?u$©24OÁÆx©wÞƒ}«±,_Áï-ÔX]yø$´Én -øú!‹ãé"Õê ýñ?Oq¾‚€+8pdZ‡x;‘ãÚø -vn¾u¥s/}gQð9€&¨W«`þ“7ϤÓBUTM£Ïà¸ØÕ,™Ü2Ëó»wó - 9aX`Ø P-t[ßY-Fèöd.øƒÔÔKA¸_æ’&H~ ±SÒ×o¾Ó˜¦¸˜ÿ‚,öFÎt—¬Qó6&²˜¢¨çƒŸõ^ù/kìí‚s(²b–LþyAï¾5iéB‡ƒx‹)$%Áü'ø°†ÝvÎ?» JþÈì­^Âäao§Žß‰ #Ôü™$”¬&xMÕp¬#ÍI¦ï¤b›Êsñ±‘7»íUO[œa†=—úñ÷s«Qò>‰¨ŠúÃl!w_ƒ@éO:qø¹î -/GR®´Úöê{ç‰4A …wb,„S‚[Pâ.ߊ•Çá’¿¬ÚªÙ´;MÏ"æNطڧʸM,¯•‘Û‘C<14Œ&» ßc9(ÈjE¨Z%œÇu4²‡à@§­ Í3L§ëaéö°)lßé¯N¢M¢1g)©O¸˜ 4Š b!ÆÊÈ$ÌL'—’G>K¼{¦ òžqß$„éÅ˼³èäÛ<ÌW/¥à¹ç•;)_1ÒeØA×ßj<,ýÃ\R$Á“(ËÁÅžôÛ8›ûYn€J'ÁNB]Ns©/ Ξjpk#ø+ ל¤gƒÑß7àºÕl­qƒmœ^‡t`$•²>PÀj÷'Ô^&¤‚‡5.Ÿž W‘š%l ¼¾Ú8³P· ½EâÕZ"º³2ë"w - •U«S¬r4½i3¸¿Meòï%F1Øþ‹¦[b´Ëô`>UAÎÏ#ö¸þ·L„sùrÃ|­úH)äCìä»^á»›mÇnÓ®ÓNÐ`ʇ+™èw©þ½v -cÄñ`øÙé*!Ô´[/<ÿ·7½©cÈ÷R>6ËöûKŸý |çiTu¿A -À "-]ÆrjÔøT8-Èüønd#D4?á Jq2†¡ˆ,ül¸‚8ë%Éüæ¤åøwQù‰KˆçÀt©ºF–}ô2«Š^襺½]ªï*øXqEpȱ ‘6µÑw¢hÎ#8Š4 -Ä -@M낸†Ä\L1úBáÊr£2'jD?8ìðGØz„g@Z¤PÆ@A´MÏÉÀñE(ÊIZh`þ_~íú¥g‡‰™Å¥V,,¤1´ôMKÍä…‚S<²Ìt5&1˜ÒPRñ†¢4 ¶˜‚G }êŒHs? Ì©’Ä™#²Îp$û¦~(^ð,ÝøV1[Ûy4©…×­#Vc'[}aFÔý´a›K}’šŸq´Ø PÇAiçb^ êz5ÀÇ Dj01âLU{}9Γè¥I8à1lN&Ô|-Z›dy)âÍ×o>¥Kƒ·òQ/­ñ~`’ªGTçâYaš¡ú;‘>!kiÇ8¡]g»è‡2Õ‡ˆ2+˜nñ¯_¹ÑrÝ ŸZbZ¾ÏT›|XëÉvåvWÄÀ™`«½H/ÉÚ$â/•ø*ë&‡áb=p–¨ÿ€[™.ÿàÍo|óÜé³Í+o_$¶Ž×¯põõó§Ðõë×—7þà˯Ñh,T¾ñsWÞ~“Æ•÷.þé·ÿ€—hœ>³ÔØ\yïåÓMöâW¾ö¯¯~pµ¹PÿÖÿòMÔ—ß¾ˆ^>}èú—ßø£³Ù|¥†º +êÊæì‡#VŸÉvðÕºáD±š̱ݺ‚’MA62hÐS,eó…~Yw?0ä+ç·ÛÐîä°ACm¿2E“~¼‡cG2÷·ôË,¾<óÂ)4q k‘¬_ ˆ ¾¿UÙ½$áq©¾4  ï£I7ÖôØ,²cóD§Õ¨¿`}„qx÷·yÜõBڱɠ8·Ô€lµá`½ùø¾®g5D°Æ­@C À÷%6ˆêpØícL:ðR›­CÅ=†Ò|1À¥ü¢1 ûks¥Z•ÊObUò,@Ù Î%eMö÷'¼°~”z8i ˆ`ùd[Þñ;tS Y¿„gÉýíâH3ߢ ÷—ð/fš!œ¬p÷`ýïÅýuîZÖ¯9q|™¾wM‘Ý+zöŒI­¼Úr¾ŸZ>Þ„³¢ºªh°=sbü»×£Ë§+ÀúQϯ¦Ôó«9‹P¸ÿÂçþ³»—1 X? èâk)Þ«¶q8þë²ÆîÑ`¬—¤¡‘^X1bj ˆ0ßgcFŠ[s»bõ­áv1@¼û;€`€a`(lé“ð}/¬Ÿ=Šèd—'Iê£(”¨KlH /7þp@D…"îOñý³¹¿(ÕvC¦(6öËOÛ¥bD¬Ÿ]H Ày¢‘/¥ŽŸ¶”¹01HBc´ØkE µÚ—€šq$Ö ÃÁM€û §Ï´¸?zýõ—À7þÝë¿÷ÖEö"Â÷½äþ@­ãU/õ"]¨#l«‹©2•B¹'0÷Ùfå¶Ø Ð’Ü_÷ŠÖ‰DÄîÅL?.Ü?ý™€bË3ë‡h~)|À˸?ß'ýG`ß·«þ7Ûåÿø]ú±¼`¾¿¿êFàþ¨£Àý½B+?qfbÿr¸?Ö>Ž1½ª: ^x˜á.C« ëWÐ1 ^^8¾°þ®.Þ±~ÒÄñîo$pµˆzÿƒ¹ +1àÜùìyé.÷W‡± üËË€>åÕÜo¢@ª$Y×]눲~"y,£gFÒÈnJ{åÇ2¨6›GÕé(ÍQWä#ÈýõYø¾o´ìI yD£2•A+§+`á¹úÊÉîOƒâë·>¢Z˜ù–Ò4ðe¥ÿ4Hü±~~J1ØÍG| T`ý™ÇRª”þ3 %õ€ÈD¦h:¾Ï/ED¼Äþ£9ñ}¢€©!_ð —‚*ò[ãî¯ +ëG`€¨ëôCEßýî·±~/÷w²¡$v¯Û€ +@õ ¸?¹¿¥ÿÛûeý’¬ |_þРVÀúÍýsVàþ¾ðð Ü \ÏÄЮ„5ãþªdýÅ©†*€`¼Ñf@ æ›Î¯;@î/÷§¡p"(ì´¾#Ó /‹Ö/÷_ yn]@ZCߤΟŽ. D⟵{’‰$þ^æû®Èw!6H0Ý”û#|ß3@¹¿Š€æçNáþ€úpWX[EÀM  +À@Ö¿¥ÊÂý‰¾PPµ–—Êã9Éá˲B4’ïÓø9ROUë#€wdÕ´«Pr_xðLtô +_VûWæ²ê ‘ûÓð0h§ü®Èà†íæ . xà;hø‰|*©ëÞ„Üß@Y?v¿ñ—:ðm¬]—Š@E€ÃÀ àˆÐk»Iî/©ÿG]@Tr6)¾_ÏáÈ+§[x¹?P€õ«à#ÔÿƒÌsÝp@ø¾Ò;¡êrÿæá<ë*ð}@fæU@TXîÏOé+©£ðÒiRUø»‰¿W|ºOÿ‰ì6äþоÿÇ‘õKÑõû. 1€Ý@ø×¯/{H7²~Š$D øGÀWðR°²~bft¾¦ÿÄ€|ÏÇ€ÜßWG¸?² + þÂ)dÖOãøJ¹iÏr!>Q”F&êý¿9ŒÂ»‚ÝTxwi×’,Þúyì®#µƒË’NÌ¢”6§þüIiâÐKõã§%rj¼f]Cn&(A޼\_þ<ï¢T£áoRCÍ盯œË–kI7rC[6¨0½¯ïÑ|ãä™Â³ûΞf^ª^~ä3#ÁS34`~²ÖÿX¾ç7²¨ë>»-ë—@¾ÚتëD÷´Ææ–‚©¢Îõ5v5“YRÇÂÞ–TÞ¿ììi¡ú±SG^}}ù‹ÐÒo›k–BÛ +;µvëš ½ioè–QT6W©¦«µATŸÎ¢êTÆ7&ÆûëSƒ¡¦³ù-)@#7Ò/µŽÖW^i¢Re5WFï«>kÇªï ŸšBƒ«ìÌH¥§úQ×}ëQùiÜÁR-D.†²›{8ν ¡×‘ÒÒ 5´pÄ:âÑÒ v_šu£+7öÙ­¸ÕØ“ÙåWóK‘Âß' +íæñâ¾ÖÖùy‹¤öûƒ}öè® +/qk~·gÜå³lÃY7¨†žÕ…X`ËZ¿X'~å«ç׬YŸ|hXº÷ÿœñêº,Ôú»Ò¨X±"Àß!Œ´U7žO¥–Cü7Øb?ÄX%ƒØ€åjÿô¼]yIC§ïDcê^ƒ¢F·Fl@¯…Ãcìr`Õt×ÿéX¯âÚíªÜjópC»(SÂûÃG˜ñ®¥VuùD#üè…ì$ »ÅÝ.gìþ^{üržˆt9ƒ®k˜}® QÐäžH¦‡º +iT®º‡Û¸{•'j&•º–)9±|TÝ™)O±ž4ì¹çO UžÉ ~M?ÞQaÂzWu:#9ަ¸D0³g}å_»~ýê~ü} Þyç;Wß»üáO®Jøþß¹§À£]ùþ÷ßúÖÅ?»€.ýåè‡ÿÑîùøcžŸþ4”þ+]½zåÝw/éÜ/ Ý'Üz¡Ž)ëq`R¾Ü+•'‹n$ŸüŽž­O=”/%ÑV7Ê[q<9òDw¾¸Ù½¥T®Ð“ l„8g-=’{µAb°-ÅN®¨Óéü¬å©´(wk\Ï; ¸Y°.¤Àãò;غ€]&Ýø<Ö/0\²›liàûdß’Ü¿ùêùØfçþwßc[=X>¿ p`o/í}e¶×úryt+¾ÅÃä ™m|Gü]¢Àý%H ÷°~I¨]Y ¬_îï€ûWªIïþø—Ü¿2—&ÖwÛ˜DÓ³¹Æ¾é•aÀ9~±”Båêm¢Ü²-Õf€@â¾õD¹?¨¯Õó²~õêbý²^æ½£ÁvënÆ´?Ѥ3gK­’Ä1?r¦24ð}Iî€õ·N4Àm÷ß’ÝÁëU–°~ àûd»¤l¶7w¬_ÂûÂýa€¡™#ëw×Eî\ma½çç^_&Ü_Ì)ÊC –°'Èdí* >®PÊáþq ïþqÜyo8ÿû_ëòîÿ Õï,)rÿÂS6Šƒg€b`±$ÐÀ÷y—„ÃzW[ÿå%¬_Q¨_÷Dz…ƒù­1g £Û’0@{©ÜW¢O™kÚÓ’íº ¶=Á€îþ?va›³~>]9/ÖŸ/ "€ïWæläZ@î¯+qÞb—0º »G¸?ÖïF­ê€Æ;â7e:ó‹î¹`ÙŠÚ‰ž5Dì¸?ñÚß¼kÖï†À¾?úÈ¢ý}pU @rÿ÷ß¿Ì{yU¦¯†f&"ö +bWßÿA…roe:M ¶%±þì¶î_§”‘õïèa:Öï%ë‡H§Ûl€6`zfÔžFб~¢6Ø–êû„Ö϶%r( Èàpe¸([ª¤ÿ˜#é¿€Oÿ1DY¹¿¯<š§Ï… 8~š"u ÌýÝjàû~ UJÿMt{ˆïwu'UbîÏ~Á· âû$þ¤ÿH¥€—?,`ý’¬_ û³}n€éã+²~¹?‘ãJîé 4d +sÜHø>þ®:@Ö¯ˆû#0€:€û VÈG0té?÷—`êÐÿ™ûQóp@ôî/xiåõ-ð}T°WÅ€ñ}_àûÔª@h÷ÑþGC¦æÝáûK_uÀpãns÷OxãPú¯õ—¡H€ŠÜ_éÿÏ€5ëòé?ø>(*;ù"àöP ¯: +òvÍ%Eò)9’5‡ÿ=j}k’²{ ß—äþÞÐåþHÝÁ³ €ægN½ HPú¿|4Öï+ïþPú¯ +@=ÂÓ-ïqîo§†À€õËý³ñ–8ô`HÜ¿ªðh1€æþÞÙí/Ü?¤9;à…ïߦЃ!•þëÆ1¬_îï@@[CÂÁ€,^`î=€½0lé àÒ$HìçÃù¤€tÐé0\#çÅ=«à»€<”&{ˆ¼=˜n–öY]dÇë¾Pú+ÈÄ[_~C@6<‘x…Ö?”Jÿ­ÿÇuQ€#Á}I€h°þ;ˆ:$¼Þ»¿r5n +€ TÏŽTÄÞVñæŒÍWÎ ŸþŸùÊK¿}Lî/èÐrâg0˜Èˆq4W¤ÿêÂßÅ"î_Ê ÇäÔ 0Àt¦AâZGëha±ª^ Dútg©ªì̈=nDú@ùiKü½äþDÀ>¤ +€èŸ¡è@úIÄýã]@±^ Ðú½³Kr=aÀ»¿vV½Ó×aD“»yBÛÐ÷ÿ¨Htw)/RE/rß „û{¬]—ðZó‰˜>ÖååÓþð}_¬œ½B}Œ·Ü ¯ëAÙ|L›Û +¶d¤ôPxÕ£:‚ÔÿÓù¸Ä-ñÇú#Ðû«`N\Hü¸¤ÿ¾@òoéÖ¯Ž UR0ž’û“Xðé€x«. H AŠ|úõ‹²r"b=±~ŠD›Ü_ uyàûÌT°ÝVw ’*1à[w¼ûwÀ·ÕðºþAXtTDr|\ @ÞýmbTKüIöqÿˆyäþŠruerVã©|bƒûãήÒ‰Í{œ¡ÒDv(Öé΃xP0QÛÙ¨ìi:µFŸ¬'zR4ÔÙ‚j¿õr­µ‚šg/¤ÀXEW¡êÁeªÅä@:[ž ªî΋%ý›Ã'sÑHç‹(€:KË3'¾ÐpW‚Ò¨EcáÅ0 ýx!Ñ“$êºÕü”]ß)œð½ìœ³³þêâÑòÞCÁd#[ªÑÈĬ®ïDÅé&ÊWgMîB™‘‰›³Úí¥äo¤Ó#…ðšæÑƱVëì´øÊ™…­Ö«çÐÌþŠÆ,Ôø…ºT—Ú§'±U-QeOÖ.\9ÙP½lU{†žLÍÄaà©Pžè¯O¥y¸ Ñ(“LM€ “ Ä®?šÏ”ªáx^v(ºñˆPˆ‡Ýb31•ÖõrÍ,#râlÓº‰ùƒá¢4ð}l—ˆx/R^ŸÝ”ªï!KƒÓûònHË + 3”öc]â©[âûXadó‡K³ûÛ~ÃWÃq=y‹ŸÌÃWh¬ä·•Öý|—TßêǶêº7SW[îZ|±Ž‚'Új,,{­¼rÎëý¿þ„öÿÑG_¹p~fׄË­ö?ó¯þGéè §¼Šã ¯|1ÔÚuÉ5kºÚZ›ðZwW²-÷-F‚<‚­“ö¼»cÎ6…1E[#¼µÂo¨xEźïˆ%}Äø6—­íG‰2^Åúdf±T’üD‰ÿÚµ0RÝóbŸG2*ª's±‡gFzF\œ°nh¢5fsn0jÖ“ŸR£œZ?ªzÊp&áõ7x²d‰T”k®J®¹†»'Ö¹?åE:Õ×5’·›Îš«6^ÈÁ*?Ö‡×~„®¾wٹߟ¸ç‚ýí‡÷÷ç%ã¾ö7WÞÿñå«ÿ÷+H¿µj…ðÁaë¤)?uúÈ¢=Aþ¯ß½zå2QËY:b£â×b+÷Q+áË—zF¶m$Ú5I4²ÝÎñŽlénk›€è¬Ÿc61²í¶Uv´Ù£`ªL´á£¥á-ÝýŸÞ€’v„ÂD¯~ëA%¥Ãókf_ü<Š ´÷(6:” $à+€ámåì¶Š Ì÷÷¸ê:˜õK·€†•ôÔ_@Ô‰ ßÇÖóÓó2w ¸å·ï7žîÆ4V †¾¿¿¯p:Ì‚ÕP€ûcý¤ÿq\~ûÒ¹×IÀ·^ýàºøÝ7¼ô¨nðÒËKèÜ—.ü£€ü£pöܬ_:÷¥?]ãï휡—®6‘.þ™I(<™õÐ0v’m«èÓÚ€æþ‡ÃKªB9ëGúeÍëcå Ó*8»¼ì7](xßü<¸?¾€öy@Ï–Àý±c/¥ÿ€öO$ £‚«p@_ æª@Hrç¢. ´ÝŒ¶ +z¼0Z¹Ó‡Xw$\[éÿ•·/¡6|Å`rø‰‹îZ û‹*Ô¬_g€ã õKƃí!°~Ëô]@Ù¾õüûë¿ÖpîÒCÖÕ£G ¥ÿª<ª³6¨€BXú¿ +žq¨ (ê +0úd]¹ã•3Ȇùt ‰“0€ˆdý`M8¦þ²þ[ÀÒÿi  ø{Ô‡ ˆ€˜-Õ±~R~€°(r¢Îx#ëGë­÷ Tc­úþº¬_E€Ž‰ãJ;´BQúOTúû{¨À÷uÐҨυ °þx€¢Ü5ìØväþêÂ,ÔFà|Ü B bµ`þàØ­@úϪòFsmwÂë÷(?m¶õ]@Hpa~dŸè¬_Qý?ˆ¶¤"Àg¸HÖ»±2ø>꨾¯ô¿ø>¹¿àÝ­YÓ$¿êþ>üàš‰2à:&þ¡MùÿšlŠ/xoˆ‡tõo®è—ýÑû︆ -w¨UËæì¢L©2íž_z[G¥É‡0Z†žB©‡£›hmî¡ój.èÎ o æ‚”Þhz¬;÷„Åô¦ÄP®Ûk0»¡XMŸÝ;fC²Wêó£úMgÝý"kt‚q¤†²rÿ`¼ŽïÇ€õKÙBéNZïøè* ëõ5Í~ö4î_o²1“Xß‘ ˜âŸ¨¥+”t€ûåþZÔjØP ÓMÜ¿¼'Ä|B0€ˆû{lYB€(Ó[¿ @<»äÝú·N lÂúÅ€ô¯uW¶¥‰`í'Ö"@\ÿóëPÏ/m@¹Í)-¨Ã÷½¼û#²'ß—êÝߎvçþÚÑub TîCñ¦˜wƒ EDY¿ç$àî€tS˜A/¸?  !Ë}Äà»wä@cåtSî/HغùKteQË=ü’7êê`ñ蘺ŒˆlY¿¢>Ÿbº¿¾ ­úW_ü]€ó_>sõêeIð—~Ï€B©aÞïþB#_õ÷³ úLSîàþ€¬_êç ÷ÇÙ‹áð¨ì<†è4€$×Fº7[7iÛÏçä ¯÷¾ÏöÔmO–âÅÚn|8˜]2éÒO4=É ÷GÊú‘À®ŠÖ®€ö=9¾ }XõW§]áÜ_]üø¾/ˆãÀý% ý_ ‹.ù½-°~~b^ÿ»vÍ0àšö+€k×Þ·éàÁ1àÚï¿õÇDd¾ ë—ÜOÜ@¡lîOD¸¿åø¥‡ <€X¼‘ @©ÊR~¬ß.ñ”õ+Š"¸?Y¿½äÜŸ˜Ù¼áþ,YÖ/Å ëw'ضTÜ’>¦ú>3B”õÃUºJé2P©íþ7À»¿àÀDËýÝ£Õeý€OÿÚ£„vÀ¦Áý„¢*a@ ,P \â/¯Ç÷W`åËDCî/ (÷—dýÂÀºµkÑÆî.lôŠÀò5½QÀñF4ßß›k,Z–§CQàûÐð²~4¿d÷vâþq 'õþãþ€ŠV ÷xÖß:i U@€wÿyˆíˆË'*‡Üèlëgo#ýG¤ÿéMIÀ¾—3tÃ@d +”r=ã…DÕ¬_ˆ€ŠÓi…äV¥ÜUn7ºì.Ê–Èý‘°v]¢’:j¾ôú…Ûà«ÿöümðûÿæëîJ{÷`Ý/¤:ÏýÑ|å4ñÊ{oÜ´À÷%¿ó¨!ßg3*ú†*a@ÜÍîZÚ’Ú˜DM hÄ¥ôŸ˜â€ïv¤ +@Rîû«~@RîÔÐs(%Ú¢‚ùþtŽ:€†Ö rT `rÖ¯¨ +@ Àú3Ùû=Ö®[Ó@x +׫\ Üÿï0÷® üÁŸþóçx` @r"Â÷•þ¿ûãËï¼û=ÄÎæÐ €Ò¤@¹?rÒ¬?Ÿ4¹ +@ÀúÓC]Dä` pšû?f¾ûó_;‘°ÕŠ 8Þ‡8$MG]W­ëe]#÷×ÓµnSô|:+ÈúÕ $ –€×?¤ÎߤÿÖ å¬_ °SQ ÷¯•l6ê0€žÊY¿dÎîÜ)÷ðýâž–`¾?½/´{&:÷Èý> |*¯J>€‘‘>1€†€5>±%i#Ht'P:“*Nà§–Á)ªó|ÿŠº€Ü_u€¯¬µN—_±ÇóaÀjèØÃú‘JÿãÀý‰rÿ•ÓËø¾@T¦/háá.¥ÿ4´«­îò`~ó×ôFÜßttLðKæ]DŸþ« H3ø†ê€Ÿñ +àö@”ïþ'{\øê?|ÿV(×áþ·‹½=ÐM»€B¹ŽŠUl@l… {dÜæìÎý‘@nwµ[LF|⯶þkKŽ BúÏ^Š$àûº™€†w¤Ü_ ƒ#UÐÚwù¬Ÿ¨S°{Äh¨gßÕ²~]-°Lk(÷×£"õŒõɰè&€ëôwýø¡û ¸¿ÆöáÏY¿u¹6H¸B 뮼w ø>ºüö%“ÛÓÄ€¯þÛÿuT¸¼r÷ÓP}È@7‚áþDfðE‰¿ÒÀ³~^µŽ W¨Àý=| (ý7T['g_zÍî¶mÔcaFjžt¶$@êÁ&jdrÄúþV¶8‘út64ʹ¦¿Â²¼t¬´ð<ª¸1úÕŸƒÔ)o#Á·Ç~i"š8´\Üß""8QÞoT±±"žM|‰XÇWˆÅ…c•ƒ¿-aý5÷¨HDƒ”ÔÓÐ*•ÜùÞ-Ó‹+'ÚØŸµÆÖ7¼ ŠSÒžCzh ‚[Ź–n1«ìoIs/®4û¥å×/ ‰_¼¥N ì@Ò+ØdÚpÏ(;ÀK¡t†à“Ÿüø†®;Ö®]ƒúSÝÅÍé{îý…µ[ƒhð{Ô÷ƒcÝ%C^ÑEDD;Pwáàv…ƒj^kŒ§’öäO'?Lôp2K¡GÒ‰®ûÖ§6%–OVfŸEz¹žÁ­G¥×w[£¾ÛdRç°Üž’¿ ù%´|²uè…9Ÿ‰[Ú¸˜_.`Tg°rÛuQª¯kn_Pª¤%Ü¿üÔPÕnv±…øKþÕÏF÷e'gXæHmްK€hLRòÎe‰ü·lW¾e«s¦ú´] Wê/Wûª“ƒRêáõ3³¹dÏÚ×ÿû—¯\¹tõ¯ßQûkŸª k)êÓÿðÃ÷…yô£÷ÞA¾ÁÏ÷Ãw¿‡hÈô¿÷¾….½õ¦Äqñ¯¾øÛH9{¹–æ›æwXclœ¬¿U¦À€þåˆ6”’¹|·®¢áNöÚóÅtq¯ºC€@’•àþ0€”’ì_@X¿€Ø]ÿLd9).¦¥9C—Å ’S÷•Ro Õ ²zLäU²!âjÄÿÄ€ð?7º7¯Ÿ·¾ þÂwº¿›à[ú]Ý3|S$&Îþ,øæ·~÷÷HojŸçð)90þ.ëw?Dèþ´=ìÕˆ ¶Ñœûó^ÓB^®-Èýi¨Úcæ°q¼ˆg™¢°åG7”„9*wVÉ@– Ìúg¨\­’ÃúGØZ'*Âîß]ÛãÓ|„õËýeý3Ï9†=——û @*NB÷Ÿê—õÇ@\ €¶Âš }‚÷ÚµËî=Þ¹òC/¹?úþ_}ßÿî_|S×n}õ:'÷ÿüY{î<°~d]ÿ;ø¯¹?@æïº ÀÅø¥>üWSFžHáþDPŸ®Ã@Ö éȽ€Ž»b5îOýÄoj?ktåû@©=ét¢'‰pÒ_øk+aî·š{:`Êa|Þžlé¿6Uö[7Ž]t(ìÏÁýÕÀåÉý'\Ã]›ä ÷GvÂÀ bý^@é?R Éú‰m ¹%U¨¼^>„T„î@}o ÷ï¨zþë.äÝé„°”z° áþ` ´þU0ßwé¿ÉeýEw/¥.§Óõëáß¿3ƒ¬_Ž`GläþˆCTª€ûG ++€`ì‘›€ +€Øû5¾ù*ÚG8X·L"îoXqÀ÷}À¡[s—¯˜qG=‹Åhôq¶‚¹ ¹¿äWÀÞâRZb¨@·@Çu¾ßf€wÿÖý=7­>üɇ7ñ +@ÖßóÈ’û Ç–—=.¿}I @ø¾t› +À»¿™xT˜ÝG=Z]vlOPù¾“aÀ]zÀþàºT¸_AîOú¯ +À¢»l—ŸLg}üod¾ï€ÀäLFÖŠãvÑ'‰ oð}Ëa+i ÷äþºÜS}ý Á¨°Û®5‚Jü€X)`+l‰ÿ€*Ü_ëoî/z Uï¾óC èbͰðîÿ“k²þÕ¾¯öå·ùáÂô]zë¢ÜŸˆ”þãþ ñ†€V Ë@íP%þrö_÷QŠ"¾ï€ïËý­ÈÁ Qé¿ê€Ž +@­iž>Oú¯îY?rBIÂ"ðý?«»€Š,Uý?&סfú€õ3E /u]@²uD€ïãþH€`X‰À«|´/dým»wZ ¬ßÒÿý¡ûGëß +Ý?é?Û×»?’õ#ÜßWÿŠÀ÷ÿx„u€ëüAÖ¯CHîï+Ž1µñ}¥ÿ0ëW) pÿäƒ]€úBƒˆÜÅ Ü_ `iÈë_ €xœ:´lçûD_è¬_NÄ’}ï"bÙ*TÈýÍÇcëìÍ…«!ó2ÿr+€Ä¦Ä06Þÿé\½ Ÿõ;$ûŠD¬¼4q“+‚8ø±þÕîÏ_cÿJXÊž&Ö¥ÀWÿí…8ÄäoVè¨â­_>Âe³óÓx´Ýßý”~*ý'b¸€Ú†6§ó}É0àÝ?"t¸|~;W¨ ìQ’wø¾`u@¬ H?ªäþ\Hî¯ +€ÄŸÝU]@æò.ý‡¶wE]@6Å¥ÿ¬•:„¥ÿ7íRpù-c€0pÍõçX¿ô“k~ÈKmÈô=TèÔ$ b@¼ ßTÈýíFœè&5äør›.<‘B€(ëG££ƒ¾ ( ûúqÿ|qÄ_îßÑÄPChü)5 Æëº¶g0_¯I£åP¥ÆÒàæ­É‡S…©y$«ÅC-ƒŽÝœU=l'xËûÛnn×áïîÑ.º†§ö +šQÝ;‘–õÜyëS:°Œj­"É~»ë?rÿœHÜ{g0Ô۬ġ_}­uõ|Ý{×(õË4üLbÃwüs*‚µ÷Üó ÄŸƒkÖ$î]ÖEÂzJFiç ªÎqÌØ\žÂÚ\îcÇ’ð0ƒ3.dg÷åPõYª9»òÓ§ÊCºÅ†ÊÕ~–ÈlT×i¸ëµíˆu¬3óáM,–ÆÌ®BzS’X( ¦‡­W*3ÍQ´x¤ÒX ZÇH雺tÑÒÑJëx]G–´p°„xceO:½)ÕX,Ç*YWÏQèݲ~gIá”ÈýYg™—µñµØ9ÉÙ%»%¼Ý] koÜ‹)Øå‰öØ©ÃA®˜^÷óI´±7õȯ}Æë¡˜éÏzi¸P‰ÁP¿Ø¿áþ¬´fM×ù/¿Z;ÓG׿rá ½¨¿ øF×½) »h ÛÓg1Õ×Vvóc^ýŸÉ¢ÒS1?6â8uÝ—BÙœÝævjKÿ‘¶ùÌ>!d,•¶{³æ's—i…ê!föÒBTO¨­ÿ‚p[–¬7Ú6·aSrÖÇ2RG'Š)ø&wÙÇѰ ëß#*ɨíÊ">ëìàÊÎAþK´«t4Èù¸ÝùU~&SªY,VÓn—xL?±öíö‘föE/¹K?¡ itú3™æž ±³„KŽmÍgçØò눗!ë_|S÷÷šþÓPhôó~Ø d0$hº]å©ôßk°ÁéoLWß»¢†ÿï•+—ÑÕ«6Ð×ÿçóhéùzwÞœô=?ù&݆‰ãKؽQ'‡3nÜÿ‘¼=ù+¿­·AÞž€–ÝÜkÿ-e5=­oø/ï¤qSd’¤ç¸w®_‡ô×ûH·€õ×v‘ðŽàû’;–Ìàpj‹{nbÿ =ÝÐ`x´÷'rt…î¿ËhÔ‘cWkÄ~(ë×0¢6öd ¸}OÚ@. Áýa ÙDÄåWêHX>Ù@€ïƱ#ÜuJH¬-ßš*A ù‹,F+lÛ!rbc‘÷»JJ<К51}ìæºÝæþq wÞùQhíüÝ€ê3µÕà¯R7\»yýúzè‘A¢¬_*=eCAÄ ±et{ðìsÜŸ­')UW§L\¿ÝÂ!»Õñvv ù¾–fËFŽNýèâ‡Þ%Éú%>Kà7 |™ó»ÖÀßô+ë7÷·3ºæþa\Ø‘­ž³þ'ëYÄbõFéî_|_hÌæÀòá†0€õ£/}ñÈí |äž àõáõkºØŸ†î@vm(œ€®hðm‹×¯²Wv‡Áß_¼ûIi¾Ï÷=Ÿ·%ׇòÀý‰¸¿!ð}wiPàû#[z€äÃëa€¬Ì.³v—kpX è^YUˆ…!ßö|ÄÃ+²~»d3v…&Žï›M; (÷'"\Ûë¦Púo¹ÿÉ3@P€û“þ+ÊúYHß?ÀV>¬ˆ¬€¬ßÖ„Ol#"þ[;ò’€îÂ+W­`í'Ö­ù)¼aýu@&Õ-÷§ï+ý‡º>GÀýõ n +"ÖÏaƒ8–Hÿq_Pç" ÷·«€žÍDà!Ü?<6"÷çø±F/áþ|/ëîï+ŸE9Œq"ðÞACÖ±¤]x÷7ù>0àú%âÇ#Ó-ØÙR^FÃg9¯ +À»IB À÷Ë;‡·özþÿŒ@úÑX¥ÿDY?énk#4uýEîÿú—.¬¿» Ýõé¦@îŸrî?tVWÖ|ðHzPˆWü lmsCWÕaýx" ~MÀŠ€¨/ÈaúOcéh)ÄBˆöÞ¨ª@b€º•X¸ÿÝ¥x`Úº¿ý¬.÷'"WØðÔ¼‹ôu`½‚nGµRÀ¹¿Àþo]@{Crd;säþÁ¸Íæ‹ßÅdýª°~ÒÿÕÀ›üû0 Ô[/ÿÇKr@¿¦`Îîâ ¾ËèF±K`ý«àû|ˆ¶q`÷DÇ¿DMöÿ(÷Ϲ¡ÿã0ßo¡¾ï@à¯|ú JÿW@éqºï#™)&ë ÷—€€ó_æÄýib€,ÛÙuUö;÷!ìù‰÷é?ðîÂ5qË à`¾ïV áþÅ}GÚsF  -¸h’*†ÖüLe¡¥É8òc€Ò䀰~œ=Ü_ÀýÕ$÷OܻޠôTFª)uù +Éú%|_@ø¾Ô<t€ôßWH½@:<8rLÑ5vÖ‹ê W}5nìB¾À•þóD9‘\ÃW]@ø~¼ HE€9‹ëÿÁýÙÂ@ 0ËpW¶¨ÿÚœÂÝíECÖ¯LßGlÀ›’H€|Ô÷g‘º×¤úž¶ löP­ÓÅ6Ç€Æá3rð/r^º |/ÊYÿHÞ¾{óp%¦0É@|}/­- RÈýÛœ9eÖ¶Y4@¥Æî. wþ–6rý?7tÞ" $,D Ôh\q]@´-’%¸Ù[\/}ht"ýW/Rú/ûÖŠ¹<½m9ë·þŸ)ëÿQñ}í½q¸/ž9C|„rÖœh‰¿€‘àf ¸ð‡g0Üß äÓ tÿ‹™¾¤"@P°º@végÁH€ûsüb÷’ŠaÀõÿøQ€pyò}¬_ ˜¨"ßÿÃŒû›3ÜüÐøÏ=B«ö¼ëawNL7¶[m½Œ,7Ü–ÈlÉž¤næø)d¤qk;ù[ö­˜$üˆCz£>ŽyD#ćÚ[ÜU§åÝ û§ +ÖüLðÔˆ¶rq<ºÞõ}çÇú×~líºŸ_Wa㦓H? ýÚ•|º÷WX÷‰µ÷Ü}gvS:ÝÓÕ}Ïwü³£_¸ãç¬_‰{»~î_÷‰u¨¹¿ˆØ«³YÉÒ(×múôÜg¬+sú3’¿Ûé#½âðˆ ùp×ÄT&»™ ìŠVâ‘G˜ìvMÊáç7«Í’<šåŸL§3ácèè s|.qåd‹dÁw.ØÈÀøršÆR«®²i‹Yú¹0¾…ÒCÉB)½òjm¨cµqÀî Ö5®}tWº.s’fŸAZ¹RèG ²6e Ì@¤~2T.ÒÈ|æ~ÄÆ±;€ (|ðzôÝ«39=!½¾ “ÂgíS’dÖ­OwmhkÝ])é÷ÿÍ>ëGÖµ}꺹ã®T:—íþ•4Š[ÀÕLzö@²wè‘_Ϥ‡²H(×X:ÿÑ8˜G|uÔk,b†ÒSÙ\rþ`¸|ºÞ:ÉF Ï{è²µÝ& +f(ÌpùšÖÙb0ê¯3w?ŠÿõEqÞÌ,¸Ës z£ù¾cbù¶µ£û3Ô9é%аÚ4N®m­î{'vÔÚìp:—Ì?ÙOC'+î–±§i'¡Á§ÄöaûRj«Т4³f¨Ïe&¦‡Pƒ/E’ñÌàÄSý¨1_>Z'¦ûµZFzíµç/~û‚ô½Ko^Áý݃Ln gÉnóŠÿÅ~kû_û¶M$þÔýýÝßýÙ€HŽZí«L§ ¥^„¹vôH#Å$Êìê x)0²Åù‚#åž°1Ÿíò!´;·9‰‚|Ê©¯¸ $ô¥s]CÙDf4IÌæ-),–‰¦{(›év¹ùö˵`rh¸˜e¾Šry çM?6â°Zæ§ö.³x€Õ†îï®ðá%çþË€†‰Æý±~{ÉÆjÅÁDù¸* Iî¯u°Ù¢ÆýÅ€pµûÛBÜÕ¥ªK´äxCÛ;w ¾+aã÷€îû» +ˆ†Ü Ä ÇÉûïT›?Ü¿²þò3DöŒ˜Œ€€h„}D®ÐNötu@Ç*?0pÿððÞÞ¥©ƒSÖ¬¯v–<‚Ò5bX8P’`€ ]‰ƒ2qÜŸÊ@X8PD²~¹ Ö?3oWVƒÝQ 0ßwÂ,t;¢fÌ‹OĹäbqàìÀu:KšÁÎúƒÍ) Ù½^(îo°Y,`.ø>²[LkÜŸÆ·`,wS”kMËç#÷ý¿ûªï¸÷@k>æÆ8A¦ LN5îÀðã®Ãªn?@¬§~Äáþå§1Ø–òÙh¶q­äA™‚wÇ`›4º´ßËmgë|‹€k¢·ÛÜgÙl•k¿b€U¨îçÔ¯÷ʬ½e>–,TÒv'ð“ý,÷Gºo@`±^þ³$§ýj„/àäþÀX¾ É×âþ—þòÍwþê’WÛýoÀ•¾…þ±øHp0 ²~sÿ¼¹驇„@ ¸)LÁÆPX„>”ÝüÂúm¸ˆQ@b¨OÙá^¸„2kv?<m¬'õ(-´Ü“hÈa/þ÷P?F›*çÝ¡›Ëîµ@ºr,ñw ` z ro±Ü_ëÐ8q&LÿIð]îÏ +Ó–$@ó0Ò{ýº" ü/á§ç+A¸‰cb5¹Í„û«Àú)Lnøa @î/ àøqܹþ*âÖ­HÀú%ð4‰¿+høôƒ¶¡Nž +o|w½«¸?Ó€Ü?^u¨DhŸˆ‹œßÇýo*ÜßrÿÐð΂×àûª«á@îkfaÑ T8¾÷}K`cÀú¡9Qì®W½ª¬Sé?(ú +‘ø·‹—ûëªDŸþ{ Š€õ1¬î¿æc‰›€F8nÄŽ†Àë_¾à+"òé?R àþê¯g Ä+|ß ²3ã‹eåD¶‰±ó¹6ô]Øz–¼G ˆÿ.Ìãrÿhè6´‡ú>Ë@^Œk‡”µ3Lî‚ÇícÊ3ðh‹Ì Ü_À÷a€¯$Hâ¯"€™½õ»}¸y Ѱ…Gó 0÷wRú¯x{\}Y?uúÑ_}½ó¾E¤«ý#$[÷g}QèüáŸY¿DîÏßjPxàì@ÂëÉîCÓΘ¶„=?V¸‘Ÿ-Ú(–ûgr bÚ€ôaýGé?ð@Jÿ‰€™Ïž’âðækÈýÍdo€úôÍOÝ«aÃuþ¸4<Ì襶#_ñÀÙeýz‹ Õ`~ÜŸ9‘ùûó¡¿Ó`ÅøP±Gé¿ x¯½½íþ!¼û—w7t–÷}¯› “NªH#ÿH¤ÿЧÿüe¾÷—âÀ»]çu¹Ä_îoRÀe¹¿‹²~pø£Å5ÚR`ý?®` D¾£ï¢‘èîÒ^‚°~¬AðîÏá'Ýéf¼0crþBúï m¨õ!%—û ðªí—Î÷}) ¶ù~$eš!ܲLG€ŠÒdý?®ÀúI-}®8Tî¯:@Ë‘=iÏÀúò[fõtßtÿJ:1@@ ñ`ZîOCî2à`x¬µ=¤ÅŒ8‡·¬?Þ¤(;–ôTûQž³¯ ú‰›ÈÄùEø]øQ'É=†ùÝ[Ìý…m+ÞÎB<X‚ù¾žhäNã«`;Ëúõ£øŒ¨ß—]€DÀ¢â]@LÄýÕ`fÍ&[gD}./YÃåþÌ  +@Ó™Äߎ WK)¹?Õ]@À÷.µ‹YÿåñÒŸ½yù»oàþDĽ.¿uñÝw¾/é¢ÏðšŸU€äz€nÒÄ¡º¿«TT¦lø‰ +@@¸@¸¿Àåþ€`#‰¿ÜŸ¨Ü_òîOÄ÷ã]@ø>¢€k*˜æ¡—Z§Ï5Nœ.ì=‚tÅÆ*WE4&lôk”àÈø¸E™¯æ¡Q9ø22cuF&ïn9öÆhhOÚõNU˜?RýÅS-›NTCò3Ì|ÖnQFó¿s;üÚÌ‹§ŸÕ|åª=SñµÚ1;EAœyé UÖ0<ð`ðËDlî즮ði;lß'ì¹ +vRÅÝŽÁnj:^Ì—ûÕÛ³æckîü?­ë}  é +IþÞ—ê-ææÕ;iœËÞy×/Ðà¯ë_ܱî?ÿ¸iÝZ»ªïDˆ¹ŒÉî¨Î™­—§3ˆÝéÕҤɮ•žLçÇûQyzˆéWª©`K¥‡Ú|ð7”ÕçC °ðIwŽ•ÝsS«;3åI‹0¦±·d€nJÒHõ%«õa}w¿@{þ»{Rü¼Q„›¯œlBêúþ,±qÀð°èFögŸk¶ìcäñ^¾Bª¯KoÁ¼j³8H^Ò«ÞDËC]šéd+0K’K†ëëѺéë˜å¹÷þ¦]w›þôý(qßúâŽþÖÑFqÊÆ°K×çðˆewѨîAú¾ùRfý½iií'’ùâìÕëWÏþwpÇ]½k>>=øS÷öymؘJo2ƒ®_”=ÿýÒë_¹zõj¹:º{úÑÈ6{ª{Ã:^Üp ±~vmdyèô>S¹>Hdß›˜Ïëø»xì»?—÷ª7ìiøD$ãDôÛ!¥ÒÒ‘Š×Ì®|ëhE$ìØ«ÎvޤK +å>¢ÎHIú!B5rÁÖ^D£:Ël¦‘-}Ô[éO§¤òähcex¤F±:˜íåç³FÐÃŽT|ºŸ«=œïC4²A_ñ©ÑúžJj Q›â[Ôóù,ú³APH+æó}Íý¢5‚‘Ç’ÕJšF1ߟì©W³Ä…FÝ” ^ú“s¿izó마—¾}ÞëüÙZ>\#¾ñåe¯oý»×Ñå· Á›ßûËo¢wÞþó«W/‡¥ÀuHpíÚ‡ï¿ÿ×?TÔhƒ?úO—¬ñ¥Æ¥ÅÅRÚÝ¥ž† ýï†ÿ$݃àG¶™ Ñe ÈlÊ¥¤ôMã¾±„¡Ü”ÙÜ=”Kdxus‚†!á1ÊÊ‹Tú3[ûHiàþq…ÀýQ0×ôÀ[}âoÖ쀰~¹¿]3ãæa"Ö_lF½+ÎýC½pJnðý¶>{Ɉ€ yèU$`ýÂ@ã•s0ÙèÓ/ŸÅúÀ÷q&‚8|¿PÁØîŸÝ ðâþ6Þ^q£‘À Þpg57>t@\ë>ùñ®®;ˆÎìíïSwÝÙvþ>¶¦÷W’¾Ÿìî"29õíDR„L‡*¹'\WæB”w‚³þ8Ä€XyfÐ"Dô¾o~çžš„Œ“&ÜŒ•3¸?±øþ»hÄ u¼‚æÛEijû­‡ýè‹uW³™4¦¿êR­z0sv”JE¨³ÜP’õ ²~Dƒ´RrêO_Û×QŸ 9éÞ°>°á9{ca<-Ã'¬ßàÙ}O +åÉŒY¿‹Åñl©2€6˜Ýk92ð X?¢áÝÝs_?Ö¯(ôüê @üW @îoÞêî¶•”¡ó½`€rgU3 +J)«çØ ñ 1 :“+õ/¿R'"ÜŸƒY½µ)ÉvÀýi”§‘ÝZžI¥pÿ|a0ȧWN7ˆßgý€¾ sšûÓ` XnK/âÓélÄý‰X몺 [¥-¶bh0û¿TáÉ>n} 4ð}Ô<^a7еXÂîïàöNØü7@ àëÈúÓ)"¾ŸH +icÃ(aý©‡»Ä€TOë4âÀúßøÊ± ¯7‰çÏ•û7§4Ä‹T¯ŽÈýWŽÏ|åüKHð'aÀõÞ7÷'^½‚õËý¯\¹ôμˆ 1€¼{€~Mïþ÷‰:ÓÔð0¹Kƒœûó~1 öŠÊTVˆŸ&—R…äþ¥Åe$÷Ç…‰ã+qXî¯" êÂôãõuÎ §°~DC#û#Ͻ&XÃ5Nžh½û/|îîè÷¾$ ´Ýߥÿ0 H(Ž×E € + sÿ¡õ¸¿ÒUr‹·E€m­ú 1é?bš*ÜßWróGw‚—ôŸ¨ëá÷Nc€0€õ#Ê7Î$@PèÊýË©éÊðYó}©+ß'÷W€õKÀÈãvŽ-½PC0€ˆ¹‹ê@8šÿñ +/uÀá!ÆÇWÃnÄDE¯¢9ß·þ¢vÓÎúCÙ«ag‘–¯ +߇·@$ó}@ ¶êÜ¿Á†u P@DÞýIÀý‰7€ÔvëZaµCÅ+|_âëÈýÁCø9<ð8rÿ[€ + ¢@Èý*U0…R¦«{]ab÷GX?"½ ¦ô8wù&û˜—¦KX ÖODñéüú¶8 wd¥Ä} Y?Ñ®PTÅj $câ¿¡°~¯ø<$þr„û{Éý‰q|é ‹€î”û«H»±ptæ•äþ*ð}@tJ‰äþꀮ1¡¡‡ÀÄ@úïðÞ ,‰Æ÷Ø/I¹?3»häþðsö»Ä ¤Jh ØÓÂ÷=”×+y_ "G¼f@°gY]@Ö󣓸9üÂ)dvü‚»±K$pÖß<}Î0€¤ÿbý@ëôùå³ç=°x1áûb€E'a€9˳MûÐgp ~<–þ­Iëº)äþ¨÷®`(©. Küo €ðÏÏà*&Àê€ÞGTŽ¦ÎŸPÎúÍýŸq©+¹¿ ›·~€†€û X?© úR@&ˆõ1@Z>Ñèîßué)íŠL÷à†D@ú0ðuÄÚäþØ"Q÷%„½º{ÂÎgñõÿÐ`•H“Õd¾ïpàþ’1 rÿú\€õ{xÉ»ÿMè¶þ€[U’¬?”Ëýq9ëdW`ýé®ïè+À¾8za@j¨ËË;™]Ì4õ#J²Ëá|¯™æP +ë¦ÜáûmDîdýÖï%ë'ý'’þ{áþˆ +ñC«@²~õÉý©ê’l÷p?DDî_ž +Ÿ VßSQRRDCúšû­¡Î"ªW³RG€r<ÔäЀvÐî/Áïþ€âX?¢¡g¿àþÁ6Kü;*ïþ¾Áli÷àÊý À¬¢þŸD¯pÿöIàçB 5e7†*->ïÏÖÚ9R7¨C¨ì&, ×¹Ùò~|ßüÈñk`ÐÑuƒæ?g »÷çÎΟ<;{âµúñ3]ÿOXœ<3ó’95qæ³§g_b|ÿ4oafâ¡/|É&LîÿÒkD¼Þ@ÀØwê¬8Lcþw^Óë|µ¹fcù”Ýk=ž¾ÖÀL!o ¿`Àκt—*}Ù\‚HVÅ.Û}ß§Èçѧ>µž½„ˆÊõ.Ï=÷ß»É÷vkÝHCÇ@æ;±3ƒê»òÈ\{:#Ñ®ÎA»î³ôÌ „SàvfC}O:¿£'ñàúÁa+Ã9tÍåÙûwYϸ®»AF Ù½|°T3&\|Ò4³;@Ù¾ž\80¦½Äz ŽWŒÙÂÝ=Ÿî<ð—O6祅#6ef1 aç9]0L0v˜óËäݑ̎Ýw)×2U»™Ói* üéÝ&†”õë w8¨iLv车ܣÉÄÝëF6÷.Ÿ¬@|¢¨GBé©L`'ËTªÙÒxY㩌TØ1Tœ¨ìÌY%[(åúú2]öP—˜îJ¢‡úRÄDwj`S­[—ŒÏÓå”É6¸îøCvj„¨­:³ÀÊÛ΂™úTЦÔQÊ]z:‹RC‰C/ÔY‚×üÁ¢W#&cF$-DšÙ7Êj„r;ž¤!:$~8Tz*gØ<Ô‘*(R}÷0¢QÙ®gPìÓ Ûü¶Þæñ +'6Ä +Ð(>fŠs(׉4Ò[œ$êGGýÃ*Óƒ(³ôed,Å—å½4´"âG·s˜|"¡.u%Ñ`(Uû9šhd‡¨>—Î?‘ XÚ\šˆ*¥dž n Î×sÙ®³+ ÿèÜ·¿þÚŸþ_O¿ù‡+èÌñz~S?ÝòZ>ZŸ©dlÄ3¿³ˆÎÿ7+o|åüÅ?»øÎ•wÐÕ®¶}ßž!|Uw]½zåý÷¾÷Ã|шŸÎ¯b²X5Ñ™ò‰üv»@H)D׃¢k@ÝöÌv¶’PŒvÓ&òßÁì• Öx̆M<Ø•êïÆ"òãýÚl—ˆ.¤6Øå‹Ï‡e¼š—W¾¼æû‘ _®>ÊàÜ eýõå/ñhóq—‰wÀ¬ÿs¯¡Ù—ÍÄÃøÒkbÑN38,ц, ÿ€é4d÷ò}ÀG„ûÃ}újˆ®l\m2¤gðkD=`ds”&ôõ&Ön€®»Ö¥ìúä:Kü‰ëþç€Fp·B©?´~w%€ÜŸÝš À& +Oõ+rØŸ$Þîï…õËý-º~ÿêÎ ªL›û‡r€ê4{I߇ê#n,nXÃ@ä\öß8dý¨²'‹ïÿ,@º4ß—ŠÕ6Ì1Ý@ˆOä«aÚweýnW¾3s9¬?úúm`ô…Ò‘ÀÀþëÄí0€Í«…#0ðЯgÚþ¾/t@Ö +ßwpž¹?%Ž“Ù½²þè™ø¯P˜èйחñÁÒ”¥É4ðýrÝJÀåWê•z6ȧZ¯Ôu] ¦I,Wm¬êl±¿ÁÒssÍ‚„=0¿=pö%Yvsznoaf/ïí"Êà³A©—¾ŸÝ”D4X8Ö¯OÒ]†RèÝ4Ì÷÷É H=œðH<¼.?Þç·³0PÍbýD¤ëÖXëo«F•V$oéÁý{…Å9v°tyâb­úˆ@…ÍÝD€äþ÷ß75rS ‘ì#hùhàþÀ÷ÞúžžæfˆGX ÷äþ«°•ôß¹? ¼ë7÷. Šú h»¿»ÿË~;b°»G¼Q$ðmoe”bX¿ úó~Ÿm°å×È…Üßrw•¤úLÂK*O`ÖŽ”þW5Ü›Ëý;€‰Ëú‰HN­l¿6Ë>iy½ÜßòtŒþDØó0zçõv)‘Ÿô_A…eò.ì^Q 0ß?yFî2` ÷g~ôF°¥Â +k‹ë€€Ã‹Jÿ…Y¿ôO>öé|í?Á÷ÃööO6Ü}‡=àî;¤ +kóP€ =þBõ« ÷Çúƒ%Kû)óÙ àþ@Á§¬¢¬_L°~Ù®wÿ d¾ûs$c¸? sÕ¨NäþØnvc¡Öh`ýø¾•&ùÒ@}:ÀýipËýM !bf-°$þfý®ßŸ]–o'Uæ¤"àVà‘º”ãËèÛé?(ýGäþJÿa¾/o2áÝ A~ÌH ë'"Ü_ ¦ÒYT|Ê®¿l»ÿ*ˆ|#Y?¢áhjßÎOâÝÖ+Ðð é?ßçÓ‰€ÜŸÖÄPª "öÀÙ½E/|Ÿ_ ^ÊýC¹ô_Òzjù@$»ÃHöû›õ»ûþdýD0à÷a.'€—– y÷ÞÚ£ô_{Žb ’õ—¶%Ñ­@ú/­@cê1IÖ(_€°¸*€Kß}ƒ6ž°±€’[ËÎýQÁ2QږܺÃÜŸ˜ Èë»1¼ 嘾|ùôŸè`z¬ ¸¿€¬Ѹäþþ¦­®œÙ¿,­·ç¨]S/ëWr ÔkóZcù áíÄË_À©‹'B`ëÊý˜yÉÜßú\Päþ!x# 耈â ”_hc`ù”@â¯õŒWÙ¡ul#õÿc·t+ý'Æ»€D÷_ó±µT€g€ÿƒøþŸü8 âû𒺀`Çž€HÿÛCÓpHÄà ¨Hé?räJð¡Û?³Ü¿>g££¨#HïËý­ár_fLûÂè€<hÜ_õK]@’*ÀW¡ø¯SuÚ€TÈú=$¾#Ö/÷¿=Ä?¤ +@F/ J&ò’À€ï« é åjVîOƒµÅúÃ5wÖ/­€€õ‹lRoú4”Ž‘®àCÉõRC º’:„Ž. éywò`U`@¼~v  ëwý?/Y¿¹ÿÓi¬_×’ +Jÿ‘¬ÿg€ÉY¿Änº?9Aäþ«Üà€Ôäûh€ä}ë‰(õðz/|ßë–¸zUî߀ë×Ã^ Õ]@î +߇€ËýqÿN¸ÒMõcúò}$ x÷·G÷w .ÞÐd{…ÛåÖÈë) ½´tL*,<¯K9ÍåÝ8<^þ²N„;Ï|–œÝ„qK2n|ÙKî€rögOü.y‰Ùô^þ;óÙÏמ?EHTLL;áàŧ½lÊ 'åò7èÕó^­/^@j¢uö|zs¾²pˆ†HP¬åÙèÚRÊýñý°ÿgsbt[Rbc•‚Á®»Ö£þÞWþò³¿shýºµLìMø“ßüg?‡Ä¬~ÿødª{=êZo× }üãÿ„( îûîÌoˤú’«•´Q[SYd~íŒÛ|Ö¬œh׌îÌ"Žð‘ 5ü¸÷mwQìè“CY3]`jɯFÚªʦÊt¶4ià(S8(ÆÓƒÃIÈô@ª°=3³7oj -{Ð#qùDcþ` ±Mftо‘…yõ Ï* ™fn¡U°çí7sé¡dc_‰8ödfaqÂ=ZÔT ÉP·‚»5q;¹Ç‚ÛgÙÕiê¡ð 6RÛ…]Ãî+÷Ô]lÁæG€»‹±Ôu÷º\ÐË« ¥49„Ê“dúvþÃÕŒ;j}AL©îÌé!f{hT§2¨4ºOBgMˆj œÌÀG("¦ðY²àÙ…  ­]?[¸÷3tyÝg§WuJfr6¼^‹ˆ@Äv­šý”Dk¸odrgw}€½”Z0þD0·­¬†ÐrPøsÇ€›œµW-Â'+NL 5ìðµj¿T)¥ªå‡P¹ØC¬À€mÉ|ŽÊ{}}|xæ³³¿væâ¿=‹þøÂ©7¾¼\ß‘I?œX-ÕëÒéÏC_:÷Ú…?¼ðæ·ßüþ_}_ƒ¿öÁµ¯ˆ 1áøï¿ÿΕ+—¯]ûQ€£“éœ]µ1öä¯Hy²Ï|7*ê pdA¹'ºuÿ—Ýæ,^‚ +#ù¹ÍÝ&7>(¢‘{”y¬;½)‘ º2ˆ)wuV&ÛKdoOô¬/VûÙÔ?Šö„5JçãÀý]ÉC”õÏ|ö 5ü”|?º¬Sº¼^î¯ÄßÛ:RúhhН„û{ ¦àéꀽ1`úù“ˆF­õr¾>ûÓj @p)6· M¯ß€ÿvëG4p¢ ë6Üs'Š0 ‚Á0pÇ?û8î/áûÀH®ÇœÝSݤ­#Ž+ÝœòJºXÈ€Lª÷Ç 1@ ƒÃýõ¸%~7î`±Ñ§ÝuôvÙ€<eûK´ì@ÄÖÑâ¡ãUÏÀÍ_ˆßOoJ +¸¼Àúàõ0™íºƒ?ø:q÷÷—Qj÷•—Ý +$ŒfýÊc—ÊúÁ÷÷@X¿$·Y UÛ™ÁúùôÛÀZHwØFw3àq&¦³ª^rFL×·P$€•W[úú’ž¿&Ùǹ›i„ö5‘S[;Z1>BG¾Öa~) ;7’õ‹Zg} +‰9 P†®ßÎ ë/L ªY“c*›Q»(»™&0ÒŠ¹ +1ÏY°d+`/…@ü^bߟ™D0 ^Máþ’€<ˆàÒ7Ï{Ü¥Çíik0Ø€ï\úNa¾¯gÂÈý㜛w‹@ØÿÝýK0›¬ÿ÷nˆ@ÒÓÁìaTùt_·¾ß€©a`€Ü?pö_ËïKÖ«ã T—u:׳ø8˜è§Ëý™™è½ž*A3ÐVÄúÉý•þ«(/J{–<°þòÞ%bP­—w/áþÁxè€dý(µ) ýG]÷%ˆZÿJs`s#ïû>z”¦ÒÍé"m àû¸ÿ'êD|°£ÐPîÿÉÿüŸ +þ2P|_ ÄIð@Øq?e¾/p ÈN©9÷ëÏnNŠX?sê]Jÿ%€£ˆ†3߸?F uëçX¥ ã ÷—ê Y1€(ëW ï(¬¼ÒôE€rÿÐmLJÈýU0‘ó`m;*€’]hÖ +ò2öã[÷g¢œ]ª +@àùÏ,ÆWDP©¦UÔŸÍ­JÇîÄf㳉"Xîo> œÝY+Y°—¾’õCx¨é°¥ôëÍ£¬ŸO18ë·Å>gig€b€¶U8[ôé´ñ}¹¿‘ çÈDÙnØm5>_ —õ«ˆKÖVr¦;H€+2BéÛéÑ’@ ´D\@d3Êým±Ñ¥½¸¿€õ7öd‰$þžXæ7îöRİҚÄñ‰¦ã ¯ùÙ2â¸&.nÜ´¸zõj¼øðzT¨Êýe踿/°ùÀ«ñ +€ÿZà +ÆüÖÀú­ÏÇ=.ßWôÀýS}–þcýªâ€ö7íkð}_¨@Àwă¹?¥ÿW/ønz€éö’s@ |öÄïºFX ÷àx>âÒÉdIÖ‚é&¾¯NËë«uÄKq oéhƒ Oÿ}€Ôä}Ÿ¶È»zS—úÔäݪd%@™Âš5kÜ¿¸¿Ð˜ ¼û#åþH ý'zè˜ñ½éÐÁcî¿ÓÜŸ9±QŽ»Æõ e×ÿ#ttµNV<ð tèùÖ/ x˜ã8¸s–û«¨ÌÙ3=¼ûÓà#|/€ŒFC6û€bÖÏ÷Âýõ¹*Ng‰ìÁÚ‰Ñm*ÖP6Ìú]' a¢à€dXb€ o€Ž. ~ù¦*¾5ò묆¤ÒK¨T¬îBás˜]Q]@|_y´o }SˆþÓi°J‘WÙñ˜™…°þÛÇ€†‡„-*ê ÷ X886³7:±„Úp]@X¿*€Ž. 2À‘Þëg3iëí²¾ *¶­€ï{àû0@RP1ŸD«+€ؽ¾¯·T€…g‹qè¸^9ÑÄú%àÓUXˆ2}ßÿãເ°lÜŸÜŸ7"y‘ge†»É0ð}]Ÿâ+Kÿóá<èVèèÒ> 6ˆÆoج0׬’û;™õ}Y’•WŽ®ÔŽŸš”yÌnÂä·ôã=UgÜ%¤îØ@zKyrèÉêgX81E¯2½TDìafùm4 BµK;9³ü+­a5¥ù#EÄ‘¹üJ;h·¸x¤l=!n4Ó(/Ÿl&{#6še–I\~¥ÁGTžÉ˦j¶>;¢“¨í¾)'[±xV›V7TÓ~(Q©O¥!M°9I£Ñ ÚŠH «µmèÌ]F>ŠÝU3üvw˜{JšäoCsÍr©6œÍ§Z'dý¨> ˆWX¬j ´xdkëxqñH‰¶ GÔ(ÐîÁŸíZ²ç.°o̺ÁVñ\ÌW«ªù‰Ìï2Þ¸)ˆW½Y³´ºû^ĉ錮DâC‰Ú—‚|ªPêO¹»ë¬dÙ(‰Uúšl½}£&Uuîþ¸øòC$Dk8=ÌŽÄ–XYÌXDuS,÷¡êT?ªŒ§PaK? &»“À³;GR¯ÿÒkGm ·o]ü¿ýÁ›_;wáõ$¯?´XGç^]&&L ¥ÅùsgÏœÿ¢éë_ýÊ·þô[—pùÝ+ï\½jæ~ío~„¼ËKö`w‘¨=8þƒ«}ôÑ·þׯ½ü»óÅj²2•+÷[6¢ü67üL>Fžèn+Å'ˆÁ6”Äî%¹(¿,t#ì>·¥eF7¸g¹›œ¶¥È«F‚¾T_’˜ÎÞ_¬DpûR€¼û›"÷/ziæÄç‘€õËý‰@˜ïCgýq÷ÿ ÷'n)"jœ>/÷§ï{ >^Äú‰É‡S²~„=f—ðÐ<{©’ðÛ½„õaßjÍE6±Y?[Ÿ-þ„m_0p{`ý¸9Qî矌y¬swè?J&»pâm€ï'ºìý&gýEve¹¿‘À¹¿k4èþ.ûã° —ìÀt]ŠtÐÊJâÐîÀâ‘*êßD ‹áH¸¿¾?V&"¬ÀÄ39/´<š¶œšÿj­ìÕhßÇÄ…[À»¿åõná’Ü  hJ`g–ØÇ" axgæV b4é¡.¼^›ŽR®­FdýÆm¨p‹Eîï`]@v} + À÷ÐÂYŽ¢5\¦Ø»ôñ +8¸ÿ,";†€ 7\Únƒ„¼ëg…5ا¬_ˆ»3Ö/÷gÅØÂHè€]t{3p¬=öLïû’¦x÷§Ñî 8Ñ/ÔçÒq €õg7 €â@hbŒòΞŸ%¶Œ`ý’wÿKo]ö@€>SÌ ëGï¼ý=b|q@[KÆÀÜ<î/9XjÏüqäìº +$|¥7uÙe¦ÎúÁn0˜éE€˜xÍÀ»¿ßGºÿK®û1w¬_u¾/÷·é'¬ð@TÄÚgÏ -ß÷ ïþÅÝK²þÔ¦@Àͯ_8Eâï+Üßwã${RHÀ÷@•¥cõÉú%Y¿$ëWÄú‘0°~ÂÜŸ­ŸëÂ÷qÉ ëî.÷_^¨,Ï}€ãSÔóK þK¤àU¬_ræo”Jÿ€…fEîï0Ý V^mU¦X`{| ÷”þ Hcþ1ëgwHåL„ +€C߀„Q€ É +€Wž3ÅÜŸ†ì óâ#°~ŠÜ?^ Ü?^„î_Íʈeú¾|JÎ ++ýo¸qüq(¹ºÔŸ*2z§¶aÝtÛDl$Ÿþ#¹?ý,€ò}åþñ +@@óK[åȪ–ð} ôï àûb¥@6Ÿ”ûƒº:ŒYUÒä6Eí+ÄŒ[$“å×Äýõ³†Éµ³u› T8Éú‘md-ÁM—)Û—²ñ÷íŽEÕø>PÒÆŽܽuoýÁÖTú3 |÷ï2¯ûnÀ€Ü_’õ‹¸?Ö)iàû HÚ»ÍÜñ»”¶?dçW:*€Ëß}©ð@$þ¥bY¹?’û ÞýãxÿÇL4ë÷ +3\Æú/¿uш@¹¨|ùhÜyýHÞݳ~ò}»/ls"¿c#R Pàþ›(Ž÷Ž +i? " ;^/Ì51n¢»ÊÓÆÙÄ^ˆ€Œ^ VÜYÒÞ£Á”-J÷=ß§! ø# ‘ø›¹» +À€†rÞ¢ +‹WrÜÜ +ø¾*¤Ü_½@ø¾€ŠÕ”Ü© èV0÷w@Öÿu 4îÈýeú]@XÿX)â ˆ÷·Îyt”û#Ü_b¿Çýû³«€ï«@fg5çûŠí»CPàûL´+ŒæíÍ8ðí1@Ö¯ì2´~'| fíÌ ¾ßŠú,a >;‚û7H`™â¬YvŒD¦0³uÈ8(÷÷`%Ñm*÷ÝÍý­?&€¯ôYHÈ1ߟΊ¸q[Z ¸ÆÊÄ`‡YTø¾Xç8lsá³\Ûù¾P®*ý÷]@€iÀ¶d»?#¤ à…kKüúEÔÐT ½„¿ È»?¥@¸·(_. Üß·}ÿɹ?€)Jÿ)â¾ï»€Øn­ì‹³(oú,‡¨OÄ÷ýÛ}?Ÿ*@T ð‹¨ÿ$΃Vw ¸νºÜÖ*àþÈ»?Â÷¯¼}™ˆdý—pÉäÜ?ÜùþÙE(Ûº@q[’ˆ‚ma€‚(ý7¹{¬Ã'°ô_ ¤áûˆruáûb€º€üïuªG^B: 0\™)/ZrM’^ÚÿJö¥‰#Ï6S›‹Õå34·”ëb÷…ùð´júñ±Š»Z”K`9,FqoË+• Pyßb¢'Õ`ªQYZ–Yë]’* æ¯?Õ<}žˆjG_fÎüô<™ãŸ×øÕö`™èÆÞU~îØðø â»4N¾æ5¿ò¥úBsöù—i”Ÿ­ ?ž”ØÊpUwdsêîþÔZþÜåžçO6Qs<‹6Þó©µ[{þõ3ÈfX»6;JÞ¿áîø$JnÜ€ÝÿÂá(Ýß;YͶŽVÝ•'v"·<9PÙ9ŒšGÊ(=Ø™×»}Ýv÷É~¤ûGÊä>6¼~rx4ÅAÂ&$×Ngz8\s›(Œ÷ÑÐ{%T›Î¡É);Ÿ99“«ql»ƒª63,aÅñÁìp8ZKÍ‹³ë1Ì¡Š‹-åF4¹Éü‚û–RB4¿wbå•fêáäÖ­˜B³z‰“õÁÌ£‰(ë«ï•ÆžÔ‡iÔž–XŸ™}y¯Š=&!/!mÆÙÝ¥•Ó­Üc½‰ûÖá#¨ë®õm¶Z8t¥ú 7)—´/NCW¸ K˜Ž¿èH§£ÝåIå {´ˆ4ÁöùM;ëÞ„CsYH“ßšB6dMt’–-ã ­dž»>ÉK2vϵ¯Ì\åà4ªÏ΂~ˆ*ËLÎì.žÌ9¤õÆú®a­­dSÛoOSà[Ï’­ï ˆ´íö«ªÝ…;ñ¬³~7ζi.#Íì1s—¿K.뙯I'xuVñé³û‚곬dx°.P­V/2¶¬Êî2_·m>’ÄT_WijÐl!——þÔÈœ{àm·Úööè~µÂ¸]Á… íÔ“î"‚ñ~öj"‚=ùBø{•н龮ÑG»‰•ñ!tîì±+o‡îü½‹o\ú“ ÿÝ…7¿v^zãÛºðÓ7þè«èâ·ß¼té;?ø«ï£+W.¿ÿþ;?þñíBÏ÷®üðÝïK—p}ï?|ë»ñÍKÿá›ÿü«oþÉyâ•+—о­éõ[·cñØ}·5òÝåñ^bv“ ðWØÆWÈG‚DnÔF‚î|a£¤A*³£V +`ùíöx+ò ä5t³X:›´Ã÷ö¦;ùp‘Í^ß—“f(欣o„F$`—€€¯^õ7_ƒh¾ò 0œ83XªŠA½!Ð` KKo­$N#Õº„ ©qò†. øupÿìx y÷ç#ð}ÜŸ·4_=ïžì:"]ºZvOc™c{u5ϾÑ8¾â {íÂx#æ«yÜŸ˜O÷"èÿõrþ߀’}þpÿìPª™¡¤ÆÕÁ÷ÍÊ'â Úð YÀ;¸™øÏo É¡b9z¤0îoV: ÈýÁ€@zˆÝˆOi߬¯aËÂûW[ÇmH2˜vf¶e&,,ŸlxH|(Öß"ZÇ‹4R‰Ö‰ +°K\Ò¹¤0€ñå·÷b¡Òï …ãþD¹¡t4‹­6`ŽmÊ 7HFhýNú¦bÞõ›ƒ»”YŽcþåP%Ù,¥ðýôÿz‚†w{{¤-¯)þ1^¬³@l®ÈúÅ@ hoàþ°÷.m±µ]Ú¢/ ôhe¬_ ˜?¸•ŸFîüå44ð}€õdQ|MŸÝ 4ð}Û[t¥¿½ÅÜŸùñ}Ë-žÍ‚Y6pi5dß²~‰Ub |®¨Ã¢äþ†ˆX¬³⤚ Ji1@`N^*”úÉúÑÖ¢€úLÀý»î^zë/Þøão|õâŸ~“ˆdýßþö7‘€]üã.ð—¼ûÿ¯¾#ë¿øgo˜þÜÜ_Š ©ßœ°~¹?À÷s¹"Ro4nî˜pÿ¶¶= äþ(Õ7¾¥pÀvˆàÝ?@ùà1ä éÒ‰ô_íôßuÙ  ó‡À‰? +ç•û«À÷%Ú‰–(÷×=Ì ~x/ÑW a#Tx(ýÀÒÿ/Qh,*½­é? ±ln ô§6âþDr±?Ÿþ‡öﯺþË;qÌBPÐ*ý88Ò̳äà“ýÕƒH`žÐ ýOt Æ ×Uª·#Žçê¬%þHE€ÙÜŸ½Á÷'bºþ±Ìx€—±@€YXhyÖA¬ +÷‡ºnRÂý½â€Ò´|º”þ[ +¼/Ò¹ Ô$ø#[­ŸJºð}_h;hˆ$¾µïæÖ7õ0ûv~'Èt°~d'oUÁ¶^½ÕÜÅ?êýg³h[ l@äàÏÖVt"Ý6àbÞ»?€¬Ÿ ü—EX¿W¸À4Ä4îϯƒûÓ0oÕõ¶†svbŸ‰XC½üíÜ;vÖïž$Á¦ð ° èÜ_€d»ÛjÒ´jw™˜õ{`ܼj§Ã±ˆ­6Òçê£Í÷cS$-ÙÏQµŸ5®¸Äõ«àgòE€¬ß £ÀýÑå¿|óÒÿöG€x黀äÝÿÒ_^Äý}æþ1àþ—ÞzSÖ þU¯8¬ÃGîï ÷¯ó[T³*ÒàÔŠ¥¤ÀY(»l=€%þrÿÍfý$û¯®Ø’rö@qK PÇ‹¤ô_†®. É.»|8j(ë…û“û«ð ÁÄåþ¤ÿ¾H¹^ @ ÀÊqjÒ¤7BäÀ[T°p"¾Ï[Ô¤ô_bfϨ^ `ùËoxˆ€ïòîoçX"÷oìÉâûêR ‡›b¡ëÇþÔ„ï •’=*r5ˆÀÊi;Ý×%òæã´‰îpr€Äá»Üø?¤ÿº„…?ScÀŒ¥Nñ +@Â;:*1÷Gª”þ+«¥c@ØÿÃÊÇ»€2YcÑôèÆD÷zDƒÄß g÷"ñW€lÐ$—þ["?MöçF Ì%ÞÈ6ÄýaÀjþ{h|$ßg!l=uY#ê¢í@Tܪ (m íƒËÙèî\Þý‰Ì +©hØ«7@ºi@l§ÿ4Ü$@ P*-µWróܨ‹+Ç…åé²~DC›BÀ÷½´§I¾ÿÇ6Ú$\ ` »J¨»€XÛxý®¯¿éž™c;°Â}º½Ý1€((ê¿Âýù­qU: !Œ>Ú½º È|?/о‰Ä?ìÿyï +®^µ[€¢º€¤KÿÁzÐå·/Þ4°~$þ#uùô_]@¾°ôß‘ãÛýbêò€]månï_ r>íV(ƒvã=Øc^PiÑÆû,5ÕOžKç‚ѧfò;®Ö×Ù”¸/‘-UÈåC½r®räw¤²{z°Äôì¶"2g?}^Jo‚ú|¥õ2¢‘Þì°¸l:ho$Ž +gª­v&yÊþkxpI}v[1›]¹tbeÆo³ÇÐëG_žp®©µ!©s•J%ût§¦=¢~xyþ¤XW[\TQnMwSFq[j ÿþĆO×­[WÌg¿x1—îõI}èýú‹¨¼oÃúŸ_‡­%ïë’ægj‰»Ö§û6ÊL1=¹•*´òjƒÈAÎÁ3öTQ*S½ÚÍ\6âUyjcÀ=é?›ÆŒ ;Òƒ&ù!J¾üÒ»4ÖùÓ ÝAÑ aþ«ÓÂjÈî³¹j,Ø åŠ]lÃ1ÙVìzÿð‘âÎÝ*séùƒ¥3¯®{iaápAJoN–Š™…}“é¾ K«ö)vcWˆ×Óâ®4¯Íp0§ÙA¡7í9’{¼%Ý“ŒÀ[æÑÞÒÄ 1=”Êo³ë”P°­¿±PB+§›gζ{KÙG{QëDqrzГۨáöX`¡Ô_ݕٖ""3Ö}%©öl-µf­± ? +U(÷éb*“ݪÑåK¡å•Æ\±ëÞõ…­ƒ4ì&¸½£¡ijf?*ƒ®eΛ[,"(›q~i 8Xo¾=ŒÈ.¥mÔŸ- æÁj±Ò_ßmw#9øüþü¾Ã[[%ÿN>‚ÚBqׯ¦äº6?"Mî6&15>EY¼%àÑ«D!04}']ØÃ6qC橞p¿Ʀ»óI:å«Ëÿ‹Ñóˆå§3ÃA' +÷¨p¿rŽo½acVc´gsϸsõÕ¡øýŒ´‰HH@€í}¨4ÑO”ûo-º"`GŠœ˜zx}m*“ìY÷Ú«K—¾{áÒwßh ëÿÁw®\ÁÁ¿sù­K^WÞ¾Ò–û{ÿ¯ßGøþµ,zñ_ôá‡W%¦P¼ÿ×ï*jžÅ¥RzhýV7ô‘¤^ŸÍýWé¡.ä»Q6·Á]þ^¤û„Qnóþë¦ØÍÀò+Ý·”yŒhcÙ`¹äÀ ‹µ-P©ûú{Ý]48¸´Á9ÐÂtÁå kŠ ìAÇY¶=,ÀúU„§‹Q&W˜žGÕ¥c(˜kyàûb±zx9t{R#˜yÉ]é?‹é ÈÚ‹¡¹ f÷4Ä€`ª!ñ’Ü_’û ¸¿^FC@…ÝK‰SÅ݇4?¾*=?,h.ß-¬ûÄ:Óºu¸?øõÞÆx€4òOhýîßË I³Õ’—òî‚RªøT¿|YX8hÃæÅ^9¸€õkG×ãýÂÉצ³©>²€i95”@z»$˜ÅGc +áõZ ੆Š7€»Ü0ÌR‰²³ù¥< Ðà¸?Ñ`åt}å•Ö/x÷À‰ 7'ùÏBztI­‘CX¿$x)µHÖßu÷:„û{hÈUÜŸØ<îÊ65ÖhàûdŽÈ€¬Ÿ•ù@„¤´m'ݓÎÕïoYÿë'Ö²ÞýiàûÀ Êf°×b)‹û!¬_Âú€Ú²~•’ÿ "kŽ³Ë¬½û[훤ì1¦è¿ø¾€¼û™4_™¾] d¤€T <¬ürW´ó]«¦Ïj6é|ødtJÆ‘û#¬_ ðrEXHø€HüåþDYöÑ„€€oýÉï{˜ïÿà;²éwßù!ºŠË›Ñ·ÿðýk^“>¼~MŽo¦ÝþŽ ÔM¹ö!o¼¸¾^™*D2÷µ —7¯÷Àý‘@€Ý±äîÆ÷iˆ¸? ‰4HñÃy­ÁÓí1± +@Š€†Ü¿ve§säÝ?€êÑ— Ó È ñêy<Ýð À÷±xKÿy‹sÿˆfÖ:Qì–Þ¿FâÏšŸØQPj¨ˆÍ_Aqè¡kŠ7€ÜŸ:À)<L(ýà̉ÖGÜ5p»x9ªp¬_ÂÁ‘Kÿ‘Y¿ÖhÄ+fŽX¿B:—¦Njöß(&býì1£Ë=‘¯ŠzÜŸH ‹²±}öõ‡½jÈý!ß;‘¬_ÒÌ’>WRú€„ï«‹ aý*)Oÿîß:Ù@4VN/‹4ò¥4jÚ£ÒíèX?5™€¿–Š·óÇÀ·ÀOÍÚ\˜•;àþË'›KÏ[ï?îOD7². *73‰?H‡±0@Cd°‰¯>7ÜΪäþƒý..ýÂ,ÛÝ'eýÈîs”û#ÚÊýùÑmïr¹£K–m5G|ÀbÝ +»^)Çí½r|Y¿­€kØ`!nÅÔËää@àþ¾_ÿÚYd$p€lZÖ]ÎÄo*ù¾·~é¦@q(÷'ºR  !ÁQÁîÈ5œË;ªœã‡ƒF`ýr 4ÇR`€í|+ø>Cd ý—¹“û£ÕP—‹0 ÷Ï?=«. ¬_1ßdò® z¬®ÔùÃS¾Ô85$õö"†gÜ©ïþ÷ˆ²þ8Hÿ  Mâ  +Å  +@…•®&ýÁ ^ 0ðòbë'^úÃ3­¹ +ÖÔ4øk½¸? øÚ…?ðHܵ>tÿÒ *"ˆãöP–äà‹€[@î/x÷¨T(ß÷ÐMùâ@GwäÝ‘ûË­PJÿ=äþHÖ/ÉÊq*ïþÀ­ ÎIµ·-uIv3jIJ±©Rú¯Ž ÜÑК`»DÙÊòÉ: ÛÚ·ÈwYÃ¥ÿ²T¼XÄrÖlÖ/¨ Hb3Rh{ +’º€pÿæÁª¬_Y¿¬_ÛÄÀ»¿„­‡Î¾Ï®¨Áa©h°bb€­¡›Aó°¶Zm{){·; ž® +¹Ä?ìb€Òaùô_@*¶Œöp£Ñâˆ*‰!ý÷€ä?ô}'›èNÒH¬Lœ’*€Ž. "8ÿåäpåÊ÷eÓ¡õë/fîÎÍo°{tSèÁñéˆÜÿæ@‘õ›0z +àþkøñ‚<ˆñ¯ïïB¶ ‘@¸ ˆ×”CE²~a ²hWÑA£Š=ó=’^=¼œ|0–€Æäo™tÃWõÈËH°¯95Nœ™yáT©yÔ+³½–ÈÊî/ÁHðâJãh€ÚCæÛ“þ {‘$"ŸúÔ¿´Ç¿ÜqÇ'½0÷ùJ€h¤ì*飻+ç_i5JAî×{Ãó¿[›É Õç*÷Þ·¡ïW˜›*QvSªq´XÝ5‚Æ&ú$öÚ‰:)gI&{ºð]ñé.úì•*S}¥É~¯âD%º»ˆù±ôC¿n×7*¤TùaR™Ââ©~‰C…ÃXŒ›èG–YJåf6Ì€–p(¬Ê:FÜ=øž‚Èañ}ßTw×~„óÚ_Z>Ñ:ttnæ¹Q¤•zØF—Cìs3ØÍž‡¢w"+6³k5öóÏå‘®Áz „ aóØ vC€²ÂÆü±æ¾¶9Yš+&Ô­TŸÍ NJZ½{dÞÝßdŠÆ)²ÓŒSƒ(ØÖKÆ$HÑY‡.°*läÇR¨¸£é†58òøCèÌÙF­tÝ»nù„5’&šû+h¢Ò~ú +ÒÀmR|z}kU'¢¹ç¯ê³Y=›•}2½)5³·\(ÛPü¦þŽ~”2ò—~ZÃMo/Îqyè,Uê£D4·7ïUß;ÚVDSôÆRm°\u—ØÎCÆqyƒz˜ÎIlOuîY†5kh?7ÊwƒŽ4Qi­£dÏzd×inɪ~bíút +¤A¹m¿g 0¥§Ø¥M¬€WaG?Ò«f÷%Žšt~[f¹‰¨2n7 d>ÓMTúo¿øÒÅo_¾ÿï¿ewr½÷î5=à×ýýô§Nÿw^qCÿð'Ähþ}¨ŸºñàB9h9*é¡®|a£.í·³».Áט [KáÈ68„ëÜ<퀵3Û=ˆÜ”˜ ÚcþÛúŠãY¢iKe‡SédeŠd®+ó›=(½©«²3ìvSj"ÞS`¬ÞsC×6Ýí7îOC5„àÝ¿Djß´åˆaŽOîO~⌀¬_ ˆ­Lhý’ˆD€¨Wp¢wJŠNˆ7À»¿Ð÷HBè¾ÂýñvàÜñFæW“@îOhÿ¼ñ¬ÐÐý„k׬…Ò @û?QïTgãïb@¡Ü‡âHgz: ëG`@»‹¹ÿ3vÞ8tŽMŸè/×ì@ÊÂ4šïòÛúå›X¿"Fï+?n xઠ8žé€Î[²éd‡ýln5, –³;0›*';7è ÏŒ4³Ñb*;ñÌd$pçKÀb9·BZ¾¤œZb÷OÊÄ÷ÅSæþăë%¬_ýK4†2I€ûÀl¶O Á×Çây#üØ#hùtîï%ë§t¼°~ ¤b%¼Œ‘1ÌÜ* MÄý€dt5WOIÖß²G?þÃ@r‰}ÆœjÃx8÷' +ûÓ ðÆú+µ Ù‘¢ÍÛh»€=oæ»sQIa08Èèqy~_·»ŽMã„Y¿ÖÏ«4p`lGÈ?Þ‹€D÷ÜÿÊÛ—ðý½û} ëÝÿFã&›¿)äþRø> â é9¾€ÜÇ“qxX‡„;lóÛÌýÍú7oDÃ89«IÖŸÝü€ 4”û#{ðT ~ÿñÕ^Š7ãÚæà1°S¤ó•Ž + ýèH¼Àýu.²sÈn!¶œæ11€¨³¸z»|µ¼ûgžld·›¿Éëy׌» €îOÈý…¬éÙÅ,“O¥½Ï›ã¯*í,±äþ”¸¿Ò)¹? |_€ " b¾ï¥Ü_ÂúJö~¥9TðK $þ’#A +ë‡4*€û¯¿{ ±£Ðcîoÿ˜û DUV8H:ÔqîÜ€¨`GÇöÒ¬Ÿ5¤!˜ûSãj€¬ÿ*¾Z¿$÷WüôÓO±~0€ü ¬ëßUDäÝù× Y¿€Ü_ðé?ò$0ß·ÞþÀJ÷í %D/~ë_V_QPxÐÈ­3Q°a=l¨z ×ÆÊ£À.÷¿X.÷Î%°$Â÷ºÉOÌ¡ìp£'_Eñ»²huGÜ릛Á€è{Õ¤†w€Ü? +ܰ6õê³ûgMê +@°œþWƒô?Ú¨ð}Éw rÿ ÈU¹?š-!uþþ«hé?ðé¿*€ú$¿¢ë²ÕV˜¹»ô‘ߨ ˆÜ¨À÷-i’Â. 䯠à€÷ Ái¥F°„'ö¡`úš GZâð&ý÷¨³Ã¹. $ë'ZàrD)€ûcýͽE¢%þV„÷#ŒV<»ìþ<¢·øéXr×v)þRPÔ&(Py )|6‰¿D€õKQ D²SþAHÀñ)Ô/âV¤ÿü4@ަ + ÚÔçúpí}´Gذþ~pà?¿…ñ@•AhߺÉ(¾ïE⯓´îo?V7»½€õ$–j=X o,RMº«#Ð$Û¬ŒÜŸ†¬ßÒÿ° Hu›= + àû¾’µW(ý—ð}ö1Uü²X¼’}söd;CžfC!a€ô_]@H?f‚‘. (ÄŸþ#Uú3ß!ì5Á°sóLŸßd ùäh\?ÑHº¿#Y¿ê€6Èý,÷GF‚Ðý­XÄV6ÈMgs‚î]ð]êx½ Ø×0Ð'åG§4áZ¹yÕÎöóáisÒã§KO¶Fö-x¹z"¸äˆ]h\àÒvËîÇ¿ü{éåÕ¿—nú^·¦½ªÎ¡Ž›Ó(\²}VÇ·nŸ/=Û8lÅ⪼áßùÅ\µ10\G‰ÞlóÄ™‰g±Îõù…ñCŽ´÷/ néòºý ±t2nº‰D~ÕÚN`·v¹ånëøÿÑ?LßÑéÿÍÏ¡ìoïX}ÓšßìÄûþÇÿÉî¼ú×nB•¡,šØƒ]Vªõ *U“ëÜ7Ç¡ÎÛ:rÛ²ïòhŠ »îw”}ÚÎWMÁÓc…Ü=¨u¸Î1³>ëÏÛ%Á,ªPÚ ˆ¿ÓP¬TS¨XrçÇH †Y ÷èN¹’>aÆ’$¶e ¼©hΕQëp•HŽ6ÎÿSmd¥…#M|ÊŸÉŒ?AE•X8Vi<™GrUyÓøðÀ6ÐÄS3[&žÈ#s“FÖK!ét1_ŠÌé;ß·Nƒ@îjg]ì¶üRT²K‡`cÌ^OD;5±4‹BŽkÕxÒÐÅ+ë“÷#uñJIKnL rÝPzMcÏeŠÄ¿#!ƒ³ã^ü‚‰ð^Ðéî˜WГ»5Y|p|Ë4-«l±N9"Z<Ñâð.=ÜO#_HÕœu¢úʤñFÅ×Úœ¬õ]Y<ªB9Åïå~²ÔÀæ„Ô<\Ÿ*¦´ŽÔ‰¤õÝ– æS,–µ-?ÒG£ïD¹ž•ª}º°ÈÓ¹¡‡¿(Gzø5YHO_Wa8cc¦ú@±j·Òߟž­‘ µc¬U­f§Õ.bý¬¼sa߯Î.ãÏ,ŠÀ?=qô÷!AXÿçþI.dýŠ ñ Ò=¢à-4dý ûë÷‡È€hæ2Åú7Ü£ÁăÉ—€âö$,? + ä•r@aÀnLt},í.4w €r¥4Öߘ&ÃÍèSòÛ6` +ø~ß`R°4?d€¬_ ¤`Dä0½o`ýÂ@°þ`4¤³~i +$8 ëºlýn$Œ¾f,°ÁBæ³6pÈlݱ]Ð%²7:˜ûÓpÖÈܱ~À0–áâø¤ Ob!²\ 0ÒVƒusZ€>—Èçª3 +ÉèEž +Öùñ~ªÁR—µYã  +I¢­kÐÀæ ø~¢;N¬î웞©áþD ÷G_.?’µß.ÀÀ@ÏÂqÀ\ôR§åÅ@!á€D}T"H€q£Rµh¾ŸKÄ+±~0`·¿Xx8•íÓðîïÈ-ñudýàû­ù¦P›؆f÷lC±u?d™:¯4dýªA}údý`ÝX¿×ÅŸ÷ øðg—åþ¯ý§³è«gÐÅ‹ßA¸¿þõ @44èSÀú/þåË‹úÆ7Nx˜õKÅub€  Ò”·R €nübƒ|ÂñþX¿öHÞ Z ÜËc»uG0¥ÿÅýqjUõ?is/û + ¿}\€ kö@U7%Ö/÷¯?ŒÛAÖqàô‹ç³¿Þ_bŒ}JÈ*ø>îO€°~d÷4vðE€¯À€¯ *@,5ÊTÈò¿IF/¯7ßÿGÿ:À@xˆ€IÿU$þEL>ýG¸¿€ð}Ü_à_eýJü}ôî D—iîß¿)­äþFm> ¤ +÷—äþˆFõð¦²Æ€¹2y¨0Ð:\QúßÜŸô_Îx(÷g9jH˜…R èÓc€fªÑ4ÅÎèÃ|ß,/¶’V—’96û{aýãŠ+dýæþäþDY¿X€¤µrÛÊ>«­°uƒ‘$*ÿF@îO) PðÞÉ' +^õº)`€› $Ðá@¾0÷ß¼÷Nñ©ðÝJ÷—pj|QÀ€ÜP‚"@’óJ×€á0ù;¹¼É M6U.0 nSz‘û Z¾,1ûàz¬?Ñ3ì.’þ{¨ˆ€}OÖ/Èý)¬Ý_Àýñ}@ªP +¸gu&€ôßöÿí&ÜÃÝ·"@ÀÛo¿‚T´UüX2àþçÿÃi*|_"ñ÷=?’Ä€ ?8€wë +€ÔùC¤ðé? ÐŒÿ>ñoÒE¬ø>Š';‘@lmNÂ/.ØÞ»ÇõEocÐýß”¢¦k`¹Ø¤ +€î¯iyˆø>j±‹u£hì=ò«€?€5,\@¬*r«¢€€*²~û÷‘ ~$èJ'åüÁŸwy²~*äû…Pɧã¿i“ÿàþ¤ÿÄÕ¿vî¯^ U:=ËO…Ä€6H˜¾"G…€"¾o½Ž¸ç­{<î/XŠ^Oâ/Y_PØñM ÎÒÿϨ€WcÚŠà0`Ð ¢Àý±~ßVJÿ‰x„gG8T°~‰6¾ÏΪ +Àþu °F8FɈÍ/(üåÄÓa¾é¤ôßÀ*o\ÑdÅÁ£Ôóz­›€ûóˆ{ÐX?>]°]ú¼Ý€èÀŠ]€¾/÷v!VÆK€Dâ/ÏEüj^ø>¢U…—*€ñ'ú$àEâ¯2ÅWh0ŸR‡• O¡@X? P—~0pÿž¾®(pÿ(¦gkFâI›©ÿ‡í/a@¹?Û6 +„õë4;¿»Áv’hà+ÍÏ# DÜ?€þÜ_û/}pQ}úR›ûK€Ü%(Ü »`K¹«èîì- V-ª!÷‡x½¬y€@ ¢]@DÓµÖ/­2¯ ¥ àÊûÝ< +îTj:7„*ÍC6 +cm*MDåÙCÅÝ-€áBäÂcÓæÎž•xPw™/NÛ¨MžÒè"âYb®<ûç«þA¬yädàô‘¿O~ñ÷_ †^‰…v{™êS È:|Âá@%;æžE¬-íjËJã™»2Yñáf1Ò¥ÍgÆŸ¿{Êux‘|Ê?REw¦ÖßôVÝró?A4>÷ÿø‡x:Å~c5êI®/—J=鞎_ïÖþf'úÇÿÓjôO~Ý¿­3›ŒwüÚ*”Lt–«é‰=ET­gíLìÏ`ç¯ÊIª× é˜åh»±˜T’»ÜÅÚ4ˆÎ -OGÅ‘õ 8ïbv#@Âî8º­«ºÝ5rÂsv Êæ»lð@ގÑvi>e*ì^zv˜e7Ý^È «„Ó©ÄžÜk3¿ŽPÿæ8©mÊ0'ݲñÄÉiëX÷J¼}j_M4ƒ)‘€kî,†eìBM7«¦7° \ƒ1 –Õš#‡÷=÷³˜©!»iÔ¢ø¶·’‰=6çó¸;Lô#½ÒÎ6;ÂÖ•âeÖYÄBPèøÄ©f^cL‘½æñÚNØÚ˜ÌžQãÊÔ”;³=•Ÿ˜˜Ø=05'ÚgU³õÇ{òhbW¿ÔÜŸkáïOæ(|.«Á*¹N­Á—upšxÜ:Д}_Ø`j<á*›ÑLŽ À”F‰®˜ÝÊíXeºU¢ÕÏä·v¥»;»—öÂÃIT¢^ S{wÛçà&3l[¯‘Gú¤ì}©d÷¤Î›;l¾¦!»«(ÊÞŸ© JõÇŠ‹Ç›¨;C*jä =µÇ +ã»Ê^SO–¼ªcضÕG³’¦ö“”ãKÅí½¨òh†h p'ÆŠÃÝ…mÔs_à©OÆîXuæÅ¯\ùˆ$ýŸþÍ[êêqgt]WþÏ?üäj8”\Yzï½…ÝDçÐåËï‰ þ¯<ÊdCƒL~teéÝKvšáâù ß?GÔtr=C6ªÇ]fWxGºˆN놆»‡pi{¼°-^µ¨gñzŒ>·ßWîOÃîé&Z£õ¸½&<Àãwtfî[›üâpè“*Ÿþ<h~÷‡QÄ“iëÏÕ¦ˆø¾€€@O?‡Õ" ÷×ã–˜;á×þÅØ7¾/@‚ÀõÃ?¹ÿ•‚ Zn€ìÖº€ B´eºî)1÷G1´>Æ€'m~鬛´ ’1ÀÕ( £ã&|¿¸5›úÇiÈý×Ç>‡Üß`ÝÖy@C×ý +X¿ÀÈ/÷GÒˆ˜cçm0éWD¹­]˜¾¤R@‚ø¾ˆ«’a-áû^É"Ö_Øl“”¶%í.âþê¦0ELкª<fæ‡Ðìá2î/yÄ“X3;–00ô1€Àì3|÷" pŽu$˜ÜÄ`À`—€åX¸í¯î„„•#®CÉ›;Iý¸NŽx\ýkðý©§†ˆ|G¹¿®w¥n˜˜@4äûš‘ßÇjw¸k˜¯ 3bW—hD¾§c€s"$0ßuÍvf=÷äa€[±åÓp–9 Æû›l"¾ÎhßG`ÀžÂ÷Ÿè¯Sß §K¥¤W}Œ7¹?E3ýÖñ +Ò ‘ø¾€ðJ”ÙÔ…t†`%¢j€§Âpª61€<P¼+†ð}©ãæY?; «‡õ»;ôm)e7ˆèº q]h“ +Æ€ánÉöÉ"î$\ùhI @þl¹KÿôSÀÕ‚Ñ;0½ó×?D¾ï‡xÚ»þnÙý‘ ÷¿.÷wˆ( |_‚zVù>þî¬_FσÆaý^ñ®ÎäÝ·ò€Øöêà@¸?9;2D€õû +@Öðô(,Ñ~ú9|™¨GļžWyjâÈïaâDt]üýÿõ÷Þý¯ 1€E ,YpsAŸÄú‰\G²u{òR€ï{|p@.óhîm!€dýвþU«¬ñK`J¨0±s„Šš¾Òµ±~€ûÓȸY^w§€Üƒë<pD)P*§P`^»‹Åj¦ Ö])Ñ݉õ D u¤dý`á˵‰,îò%ë[”l„ïË‘Qû‡€\#jýß'µ×¿€ÄW–`€:£x¯½ÒPôîôˆ$r_…Mwƒõc+bG…ž‚ÊýÀ^LÝ3ܘaÈýyîÏr Èú=êX¶«$Фˆë÷Â÷y}PPsŒ÷«°Äo® ß×HGÑ +@¹?î (•üüÀh|Op 7RîOà áãÙû±u§ûR¤ÿ¬<ѱˆ¶K¸ùM%*$h‘ð})½1ï“û+žüZ3»)ûÏ®ºJŒ4¢Ðo*áû¹R@ýˆäà+à¥ô_Rú­<pÿh o„®û_þà'ÈÎ3ÿÜù—Ï¢(¶”îDTöQP`ýY÷Išo]=>÷÷I¡c@ã»ñýÜd¢m ÙÙ5—èD€×; àû¿x.î¯"Àw¡ óçéçˆå½f»D„M«»Æ²uwWaƒÁ±“D|_øäï?ùUàè + ÚÏ©À÷åþÖ žÌh@n´¤™¯üÛÖ çˆë/<] ˆV@¹qkÈúÓnð¬QDàûïÿÁ׬–F‹¥þ„ï«;ÈÜ$D€û ÄìÆÖ¯. Ï€¯dýò,ßDÃw X?áþØ®Ø=ÔÄQÝxbÄ;2Â÷ ±: < dý Çë@àþ®ð$ð鿲^ ÐåY !{ÐE¹¿}èžrgbÌåƒôß@â_ÀÜßõ)ýÖiã6 ¯±?S@ à)¥ÿêRú¯®ôÿÐÀ÷÷YšÙºKÿÃ"  'R +`ý,Aãû õrÖ/ñ¹êò@¨ ¹âz/uþ€•]@ÀH-+ RüޏïBù¡0 õÿHꢠðî/è\7ÒÕjb€€h´æ+XzÀn®7¸9ØoÓ²û?j7;B×­Ú@€¨`€0à€T>ýº¿€ÜÿÚô÷÷]@¸¿Öoc¬óë¯ïNTvÞ©Üß@ý®ã Oÿ:‹w>@0´=(°~•í]@ˆ +@°óÉܪò>ŒÒºJˆÕý ¸,oEÉûó±®ZÚ5'w·PuîèÄ‘v~¸6Q;pùîrçsG‘¦i³¡Ÿ‡ƒn¥ZëY„•Ç¿˜Wÿ~ôÒjmbþ.ÿìCmþÚãó±®\:WWâš6³t㤉äTL;YšnI:ý‹òM7ŸLod/1õo«búZÖ¶ghÅîJd󹪻5&Äou¢Îÿ'(°\Þÿutt¢âÿ#†rùn"¾ŸÜ/泟ÿŸÿÉÿ¸ú@º@¬kÝçWÿƒU[ +Is"›+SIÚ¯¾=!Õ§³©ž[â]:TÞ‘(ñ8v¿=Q6ÙlqUþM"~BTÝacº›ÓE×èDÕÉ-·Wxýæ®ÒCw¢ÆX±K!;F‚‘ 4puÖ(¨Çz̵B€‘äÈhÅï²K‚5ã˜æžÔA5w¸‚¨ êSý‰ÞNSê¤}«¹¯Tyd0ÛŸ^‘¸Ð¨ŽY’4OÓ(nsó¦lËÄîè¬>:»cõ©ÓGqçÈYßk®¾FÑ×\£å¿O Õøðg^þéå¥w—ÞøË×_ÿO¯\xõñâ›ÑØ®-‰îŽ™¾» ÐU®%Q}Ò¦oÙ2|'€9äK]ù£([WʘÙëí7eó±üCë6¯UìßV ý±Ì}¦øÄb)J¯éè2‡î 7ñ„]à÷ÿUx¨@CÐÀPÙ+@ƒ[›Š¸?jž°¹B¢z`pZ¿2ß ~ü™çÚpñÍwÚ€û¿Ãvtøƒ?úÎuP?´ˆ¢À÷a€”)”°~@ØÅb»æ@ü® "¹?«Ý¶|ZÏ}ë4™ OÃhxp¿ [yÜaýËÃR54¶B}¹„°~Ä€]3¿›Zªè@_ýÚ1„›/üðBñAjCK]ú/™ïïεÜõ•á´ z´Y?Ϫ=õd¾ €¤ +€-†Ã +ÚÖ€Îýih" a@„@Τ‚ y>¥)¾_ßÅg™¢&®ßˆ:E+|õô¯G‰dçÀ]ª¬bß«õä:¦$ÒÈÆ¤:÷§¡ô_Rúï+¤ +@¸pá¥æÞŠ¬¿9m×taa¾É¿4¾ñG'±û×ăç?²þ€ÆÊ +@õ"ñwî°~‰ +@îïúúÍ÷U`÷JÿUuÉ©pc@Êý=ìÊw0îO4ÈImÌŒKÿ±û¶ +`eRj>Éú%ÒrÿûÓí‘À`ñÄiïþ+Pœ°»É#ó}¥ÿûrÃu€¾O ø£Dwš˜{¸*Qx£Àú%êïþ¨ ^é@¹|wrC\éü‘þ{¨ô3«°_ÈÀ¢ózI€¢@8rª;²QTw&s›âªU¨@‡¯p¥ÿ4¼û³nø>k+ȶ4û|Pra@?ˆ"߯L¦‘º€Èý‘‘À¹ëpHú¯ +€äƒó€õ²~I¹?†¥ +@îOCé¿ê€eÇw¶.Ùƒî×T ëW/ÏÂ=ëÓ5‚¡–X¿Î+äKë92~žµµ‚¡û#©ЧH>ý7Yâor °ÜÒUÈ»¿€-Ü%þj\¨óçF€ ëG4É ±¿$ë§@ÞýÍŒ\îï+웈dýÚ,ÞÙ€$xÅnëˆv)ý·oº?Š.{‘ø#ÜDGšÕª¾ïЖûcýŠ Gؽ¦{¢qúk‹/ýÉ‹4Î~óÌ;ï\ræo¾¯ó—ú—?€.½}I h€ÜqÈ—kI¬_ÑÀàþX¿*Ÿþ[/Ð&c@6wˆt¥Òk°EÜëDí J³x½uÑаä=¼Ì*8 Ü_DÙ‡j‰^rüÅbc¶8ÙDÕ} ˜~*WBPhüÐ0Ð9;<î&æ4¹±ÿ:mëOÞ"––-OÄîì¿é×b½ÏÚØ+)òK\|{IªŒÍÆîÊj•PãØéÌfû\}[ËåݳˆFbcÖ+»µR›n?JÓõý|—‡+PAwÖmâgNœ"X:~º²»™í·¶ÅõDmâòhz +~ºYÝq–©}CÚˆ²BiºeãXJ•Lêž®Î[;Ñê__½þ·Ö’¨ò ý`~T~Ý®üð²âÉÎúd¢ðpåËw»ˆì…á®RõN‰Ob_ÑáQ£Z´ùëÓ÷Ær[âÄB>žÛ+mÝP)¥ëÃéòæd¶;ކLå²´(wßúô]±Ê¶žÆdÎ/³º³[·?Ô °²$›û+ñdl¤>¨q;:«ÞvÜÁÎÀcõÂðKL²1”LÝÌNÖyëêäÝ·èR†àPw’YG-±4ŽÛ w["JDÓûÊ­ùºÔÜ_oÌ–$VÌß8 ‰7¸JÍIfñá¹âÇžÌIÿœ5þâ<Òë¯\¹rᇯù[úÀîߘ)%z; +¥.‰â>¨ûòÛHü‰Rþ¡åÉà”8¦©Â¾ »G|hýR÷½·"NqTÞÑQ,ÅûîåJ6¨N§±)üþÜÞ@²ÚþR˜ï{M6'Žž( +|_îHÒ±~ELŸ†Lß“@@m8ûÝWÎ~çåÆÌ ß—b]Y`pÇ$óýdšˆ*µêÌA™>’õPQ48 Õ™ J1 +¢ù~g ð}„û€Ù§Kr +„õ£ñ¦ñ€}Ú ß7»¼*“‰Ì¦um°]!€»ZØ0°lÖã©ßî„_Ö¶¹¿îo‰­î|ë¤1À»?{Œú[dܸ? `ý¹|\ Àýa€0 tOQo\)["‹¡ûÓoæaiæË`þËÐ呬?À€€ý..‹÷— x÷—õO»ËLÛüÉÚûù^|÷(‚ò‚ŸÏmæq¢–Ãø•í†ÍTÀ¾?5=¢¸x¢áÝ”Æú«;óHýã( +€…cÍ Üq ˜;h”pC¤+®;«¬ÂôßÎ=dåþ˜Rîh(ýÇýŽ5O4ÉýU’\¹?éÙ|BÖÏÏAôÀÂjKÿ‰0@€Ö ßXšP,¥ aúÝ +@h4$00…Ž` Or@]@r«B\0 ¼ÔŽ(£W ë—äûQùv²~Tîï+¥ +!ø‚a"ñ—X%Û¯àÛíÏÁßä•/$<:×Þ„„uù + pð¶¿ÐÐMîO½@X¿€êc‰" >Y!÷WG ¿h¾‡sOÖîABA#÷w1¥ô_æCú¯" gó¾¢]@ª¼uáþ0 +€Úã$(®²îþp +åÒžy¤Ü_0è«N¦Kü[›–¼™²Ïæ'¦S›Kø8±zÀNü*êâ¬@ᨋá0Óñ“ÅÝs2÷x2»#Î76l¬¬½«_ê\›Ž'yÊ4µw¾ÖhñHï@ÅîÊuþÓ4¢¡¡>Òø—Ozñº0Íä`SuÔi>Æf…«Ô!™úÚÙÉ£'‘Î +HÕ™FvS§Ä¶Î•Ö#6ßÔ¬]Ūã_]üK”‘!¬d{²+ž¬ä´™Ó‰ürÅuy?ñ“æ…ðG~Âò£òeÜŸGÖÛe½U>.èü ´c½T™L'ÓkxeÖÆ»:J#]™ûÖ ÒVKÿƒ";î6Y£T¸³ëª”(Åmë+Û“¨î&:®>ÚSÞœÖ$qÖnبùl¢Xî™Þç¦ØW@–¤óÕð¦ý[Èd›óe^Ÿ ³œÝOíÔ|p­úgÓ÷Åânî¼­ƒF"ÙÑ—ûi9¶¨]A½o7–:0$Q+È µƒzc¢¡:òÞÆ¬·=èâ5ØWFnÿ^Ž®>°_ 5ÜMØQPO8 Ø¿Ä=9©ñÔP`jº˜`Ns_ãž~ýfåŽÕýyò¹gʺxŠÆäL®ôˆu‚[?¸»_«]>²9]+åòøx 5”Qñáž“_kÖ$-î®–W;rþ ºs©¡É'$~¾‰ÝvÙ‚%‰»bÕƒ4fÔŽ4'÷ØŒ›~c"}G3e|Ü¡WìiˆVm°Üëƒ~ ½Åÿë—ÃOÃæâ‘‘‰L}ŠÂÝ%øÑŒNëÊs a +hruƒ¯l‚^¦`¾&[òãÁ%ëv^ÁæR4·Û¼o•G{l*Ðr*Ø{¥p£!û¥¦‚›é³Xtì_μôÊÙcÏÍJ|ÇtobrWUj<9~ö_üÉH«VÀ ü»úòŸ}Gš?<çU.¢ÅÅ#ÄÆîòÙo~È[Þ±|oçÊh.·¥Gêé»]C­Ø `v +ñÅ54’雑;ÞcÝ™5ÙœÍøFäðÇUˆ(ۿΫÿ¾øú;;Qe8½þÎÏ÷Üs 1v[Gõ±ž‰=ŠÚÿµ˰¡>!ˆmè/U|ß3ÀÀK£é£(=1/˜"Hç«rÉúÑúÞ‚À·¿û² ytüF<žŠ0 <ŸaÝY:#í&ƒÃúåþ:}ûÛ½ž?#ë—¦~÷ÔÄѯÔŸ$²ª…G²b LLó¥íPA¸!Pê*YVë6.‚¸?*USüT½@l€Üß 2–”Å#UÅá8î_Þ™DdýöÛGИN@¥Dà&së‚ÈàÜ_òÖü‘SNaý*D„_ 1<¨w,•=dýîß“]ƒhx°ª@ @ÅÊòÔÈ3Àúô¯€Ø„ì …õ“­+m÷Û\ÅVÎN*xͨ »èl¦¨ZA¯ç)ÿïþÖpî#SÃ÷=¢+Ÿ¹¿‹ÚN0ßw½dˆŸže@šbañT±HÉî/éV0lp›t7o¬'ìbo@úÞuzMJ.„ASÓ6Á*jî… ƒX? d©ÚžêÀ±¯Iƒ7ºK¬‘¬ø®!Eÿ[èþ_-±­p´Õ 7Õ`ˆ?ûˆ_ ‘Ç=°þàÈb5Üa{xÐã{ß—ì ³»×…FÍG’ºè’¨9GŬ_¸rõŠŸ]xýúÊWŸ¤xÒnª¾xâ-,´¾÷gçÐJ,ë `ÆùW^F0ë—8`ùQúÖ+z÷Gì0^mà]¸?¸£©“†þÉÎä½Öh€$ Ü¦ ïÔ¶µ{¯º¡ù ñ=ý«üú¨ðøœkF€û§ûs€=µkÜ?–Lc¬4ìÊ€GË3‡Pi:»áâIµ¹< cM„ûw®MÈý%Y¿„ï§7Upy¢OÿÙÌ ÇOó é¿1À¹¿g€Ç‰?Ö¯ +À§ÿÖù”û ¥=-ˆŸ/Y¿NZÖï*ühÂJl€¯œ×«0÷Ï>8¾*2} ”û뀈¬ÛÇ=èÐVXC¹?ÿ† P ëgeP±”€þ:U;Ëj˜Oy\s¯gÁ¹¿Üß.߬_šŸ\|¾%ù +Àư‡WN©àh'">‚è³›D0@£5_éÏ­G€ÄŸŸRNDà+Çs¶›Eׇ£nåþ€߶¯´ï~‚¨äþˆM$Ùs +¸? ¥ðòq¿|25[@¸¼1OôrEÖï+½‘h öÕÛÙ0àܟ趇KYwa³  +@ PúÿÒ÷þ¤«W—¼ÎÿÇ—‘˜ÝØ]—Ný›“Êý¯ €e¹«TP 1 }ïz¤ÉòØ‹(ˆ÷÷Âúu¼{áþD`Óý—8`×%’·´ë_ |ŸF„«”þÛ €æ!ëêy|Në¸?l„]@X?Ù 0à@V,Ð&Ú]vÉý§ñ²(’ýE„û6u€¯Hÿ=­ÊV­SgäþHÖ`Àõÿø. @]@Xëkg ÷G€ïŠ@é¿Æ† ÞýÙ}‰ÈE+¬ €Dúf„ïãþ<øu±~©b‚Ý­ÄÀ~ø´ù~þ» +€Ü_¨8 +ÝŸ" ¸m½z¬QJû«Hî/ÕHàKi ô_ýõ+ 8© ÝžêàÝß@"Áñ `s‰†k+lBfááû’*ëÌq²¶ïÒq‘Ý+÷—x\o1¸ H€WâþDK„]>Kä³ð}óAׄï„f¬›‚ +#¼û[GP¸ø +`%Ôù ¹¿“Ñò‡{(¾/÷¯î¬ ïãþ`€(ð]<Tøí)oÅúå pÿ3q¥ÿ€}÷K@jÙDlý.$þXÐ þˆ@ù;¢Á»‚O·¤ÊÜNÐÀܱþ@VvUšaÆý%@ (²ß:÷Göo>ý'«) x8ƒ ‰?é¿´Üÿ"&îû(~øÚ¬_ ˜z6ÛŸF4æÛ‰bâËú’Òÿàí¾ È«2j½@êÂý=Èý¿8â-^²~õy©ˆ óæÕêŠQ;÷‡ø¾Ü߀o(Ï,H¥'Tö¶J»M4tµW¦XéJ¥@:7”{¤xpËÄlþÑiTÚÕŠß•&âøÁíbž´¬Ÿ¼>ÿÂgÓ›ÊRìŽtbcå–/¤Ñº ¹x*ŸÎ×7dËÆ€»²¤ðˆÆºõ‰Þ"Å»‹ãO.,}p½pö;·¥¥ØÚìç3…:nMü¿ÖÞ:oN \½Y?r2ÐÓ6óÑä.mÓ5nÉMC•ý ÄÁÑFóÔ¯ÖógÆœ” `OÍèDJ0ps[W}:;½È]ÑjQîc‡Êt0ìÄ Yá°=~œb|7Na“^©JÕEÛ2¾¾-늣v ‚ùmÖ)¤Ù?tõ‘ýu hšÖÎ=h–Ú¿¹ ­O­Itc=éòŽõ¨¸-˜f–F±¸^ [ºÑÈoîÊ—[†í$‘£EÙ½I™Ôd6Wrwø³;ÿYcÜMÁÆ¿48Âñe “BLÜ ·üÍ(¾ÝÐö.ÒPŒg,÷ïdµ‰(Ë òkýЅ̦X¢·3 -Fìö÷Ú†dÖÄÚ®>/Ø ±ð4ØÔ˜”6»Ž|ÝàÂl7<£k€§Œöd“iáˮپWØg2΃6j«9½¿Šh´æ¨Ñ,Ìì«Zï_ÚL©ÖD$¹q6Q£¬È+½xYÃ]ìfoqkŧ[®À +kæ »FÚn²ï°dƒ +aÃØ3™=h÷_c›GUu÷q¤8è{`½»ÞÕõÑÜÉS­¬áhnz&7ÞÈz,›:÷§/žø×sÛ\WùI~ò;Ô:b×÷œù?žC/ŸÑë­·/\ýÅÉÍ+w嵿‚(&Dj ?–tþð¬ª)?”@Úõ±\¡˜&¢RRµÞûØ€Rìb÷¬!ç“nïúœ†YÓˆ…£ìw“v!Žh”ßܓɬ'"»˜nã-ò1»ZtJ— úY›yÖ¯Xœ Ü¿<} ð}›ô‘$àA¬ »Ìl¶û…õ #ø¾—Ü¿8iÃ4ÜŸÖpéþʆ{‡ ðèøxáÅsÀ•_\Ý1>+ÜëhnMÈý!ë)÷yÊæ8²û¹Iî<Pýè‰ìhƒˆ¦ŸF¸Ŧ,=J;smÐá{ž`~DªŒYäß`¬!2ãhä™#irþ¡u©{)ÍÌú‰"`à%njÀ¾e{`ýÄ>lÔÀÜ[9~}, hàþX?Ñö~+>Â@iG +ÊIË›\2¥¨IµÜŸÏ"ÚLœlJ–µ€­ë$»!QqÒ7õ ÑýÛkäþ€F/˜œû!Aq{P¢¢(°~¬ÖúˆÈ÷²%2ohðv1À Ân3µp8]€ÍAWÌé×d帿ИB4Zóu ‘V#@œÙ7N1j¬˜ú mÅÂó÷Ç5ÜVßer&û#˜~}ÏýR”n K‘ß(ןÀú%|_é- Ü?Ýçg‚ù­=éî{²~}¹?Qlœ ÷˜œ×Kž&}ºž2›û#Ü´ÜŸ†  . ^ivïÓ|~SWCèÓ‘=´mj Í­¤×ˆ ²~a€†î/ÁÜŸ%ø¾d€e¿òýoy½þŸ¿çõâ·NJÒü‘ª×é¯-x½øíSHˆžW¸ôîEéÅo¾Ðzf ríÔ½1Ô“‰ ßg £@™ÜZŽ#-!Ù»áûš–%¿¸Ž²ÁdÀÖ @%7˜0 ¨÷/¨œû7) +|E+€\µá@ w¿­@½YŠÕø¾:~#ŽûKÊýa ïþDåþ€wÿ6øôŸ¨Ü?`À­‰ ™¢€ïë+XÃÏpDú]èdräh@˜þÙh0j!÷w¥€¬ŸtÒ ënñØâC뢠¡”_ÒkÔHÿ=H¥Ó;=(ÜßW€¬Ÿ¬ßê€á„Š«”#”LÄ€†ÜŸOt$AÏLÁ:;x÷§ï'\âOßw»¯`Ho´"ë_–úÇÜôø>Pß÷0ƒ7;‰¿ïÊÄúå³Êµ%_€¢ùþ´y“  @Ò{%¹¿äÀZ lé¨Zó-1ÃäÓ'$¸ƒn.óÖÝÙ6Y+á¶mî_Õ´ +õž(ÄŠ€•Àý‰¿Ààƒ–Ê!¿¯<…ÛVîo ·¡ü–ôÿÊúÕIèÝŸ†7hü€hŠls–ϦÆúõF™»È­R0½ï’xëgC äþR}W¿¯Ö¯ôŸˆïÛ§«ˆ@Ý2’;—þEúñ/¾ñªW´ˆ`ñù¦—?©€<>E È» +÷Ç»Iêa€²{›¿èছ$þ÷‡80@Òh¾HÇ5E@D`ý]ŸGHÖÏÆ PÙ¿­ˆ¦k+ߤÎÜŸg”qPúu¶¾v©HîO»Ãúë} ôŸh pnù§= ðîß0@" uñ¡X?¢Pÿ€ yré?1vWº83ßÔysmH—0úú3'Fö•ìßPå' ðÀ7¨NHMLÿwN¡™ßûº5Pq,‡¥û;¦9á&®‘ع‘mÇ™|Í.’t˜»ú'gó^éb¹Ò×w +Ùy›PE¨~¬ë·n¶§î±þÜZS~Ç!ÑÉzÕÕµÒ3\A¿«3uÏZ~ø¾Üz˺;{úcDÖ-‹ã»ž¨òÛî¬O¦Qe¬/ ¯'=$"A*íHÊ´í|€ª~™Á®„õäª.›#ò ] ê. ’ÕÙ|9‘+­C:UnÜr»ñˆD2‘/ö ìýks…uD”\Û›]Ct;q|€ï˜_ÛóÛkú7¯óRÍ”/Ùˆ©ÚcË—üèÄ ôØÌ²0ˆ0m„Rv%-_‡È¿’Í'ê¬_2w(òß ›ÈC2®¸Ñrh*2'oaQŠX¥ýnú: ÉM4ùèRs¾²p¬…ZÏL6[¥¹§ëºÜwê)Rétëp}zi|zP¸ÂyMÍR}× "¶óu69’­Ïc¼L¨p‡+"kÙ™EÍÃÅìý‰RÅ®+&Nî)Nî¶^uâ‘Fvcñšú®\㉒Ïx¢dç 3wzéò¨\ž½¢§2n×÷"v†é§Ê¥ív“›ÓâážLv½õìÎí2ñ‰þj,b©f8!¢±©/H&ó¥`5Üìú×¶¿»b@'wŒ¹›õ»!¡;&²ˆê“h;uƒ»¦]Ì”íElœêD&·•œ·»©LwÚÏhøfdgFGßWÿ÷Å«¿¸ú‹_˜Áù NÕ:ý½û³É?ùÄž õ‰»ý‹n) èÏ¿ñÊÒÒ+þ-tæQ´2hÞ!e7Ù­½ø.äø(;h'¨ %;<‘Ì=´!›‹gâÉ´ÝâÑÉrJݽÖ+ècpʹzzoYßõywp,•ú<‚ˆ~â?í½l6Ñ*|ß3 â®h@ü®„º€p"bý¾/ ¨PÜÕBQÔ>¹ÿÍé¿ùªŽÍ¡6ß÷’ûçKW®\‘ûKmÀý=äþ(·}: +»ÀÝ ¾¼ï(Öï€TrëAš×V{ŒÒRÌhÙý] 7¡ïû"²þR5ã iç“0>ÜŸž†¬Ÿ1M]ä-Ø#ÎýqU ´÷—ÑÓ°iC"¾¯èæY8òaû‹ÅýKU¼>À.­p÷(Îo øšåÑ î/ˆÄ(X+¹?ÌÄ|€(Ü-g; ²~DCK°þü:ÄMÑ“¨ 0#|_¹mÿp8Š3ë`è* Õ<€;růì‰1Qxè -â[ó¯·0ìë÷làM«„ò@X¿@‹ê/²·8³¿‚õkî… < ˆ«§Ê½ ’ŠÛk<¤Åã¦ñÇòëŒá m7ØÞ‡ÀÀ÷a PVbýÄrÅî*ãåÝ? +ÖÖÿ@×5dÈ~ˆDùkûÛù'Y•l|Ÿ—Í1‡{ÙhHÆñö}Ø÷JÈúÅ€6ð'ðm¡"ú^!¿÷Þ{óÍ·. oû*:÷§/ÈýQæ¾µ(_\dô¸?÷ˆø¾ð×¾±ò™uÉôZäKÔÕukì¶NDßG×[÷'úýŸío€Ò#»l%Ø~¾POd“.`—Îý¾/4ÄýƒôßUÁrßúöËhb÷|}r™>ý$þŸEàà`EÀ3'<ð}ÜŸôŸ(ëç{6*Ô1 õ¼ Òù€‘éqr¶»õK”â–—¹Ñ(¨ˆÅgýh¼9 h¥&‡‘z²k%–#¨Àã¦IôÀ¯•þK+€iÀæg7Ǘ黋ÈmNAþU¦/ ¹¿; °~÷Gø>é¿<ˆÄëçÑÀýù "Òᧉ°~1ËV`=<%»´A,¹zÖ@[ᛊäþD²÷ç)@îo qî/àþHÈm[_Ùك؉ùôh } ä ÕúÕûv‚Ý«ˆÖn™eäAx‹¯RfÜŸHú¯ +ÀŠ1 Ò$ˆØ: Àýq4KüC D*^ã Ü_j€Y¿“ÜÍî¯àþ0@óòû + RËÈú%¾H üz<+è’Ü_Ò R@Ä÷)=€ÁÍ]X?@²~1@Ö¯:@Ÿ¢-|Ãú¸Â"ëGâ¨N>ù +À‹=S]LDYP8÷G@2Y"Õžï ÷ç/ppþþ.†æ.ë×_hýRpkè½N¯é/2rTã…Ä|ŸÝ>*€ú7­¹?ë¬ +@ÖœÖyõm +$Iu¯‘ðýØ­Šê»ÿ_¶÷ +²þÊ~KíscM1À†ùG€ï³¥=t +Ur€Ê~+|ú/´1@J…μø-¬_î¿HK€Ñ. •@¬aãøi`¹ÿ¸. I€"éàþ×@é¿0 Ü?(ÂtÒ %¬<ZÇ+ˆ + ïþ”°~ý»µ)ýÏÜo¶¨ +ñ+F ôe@î/ „ê’ÝËý£m¥ÿÜ€ŒÖówîO`¾ ˆ +Èýu,ù#0Ú„YËúûÇÕùà +³>¸?ÖOúOÄú%ÀK¹?b;T4¥Ýh¢P¶ô_Ó£{H¥7ÅŒ“Y¬_kb»rx’ðÐüZË×/°ô9RÈŒXˆò}|ŸˆËû†‡‡ . ¤#Gw$ÛŠ ±7K”õ !$þ^æûÓ91@gh¥€€û#ßÿc ðSî4ó"û¤¾P@ Ü%ôE¹o!‘û«‘ø£xWŒHâ¯ôß:‚\ç"ØÀúU@àûVyÔæ Z8V—û«`ƒk›#mFêüQ ziKò­¾²NóJ²~1@ÖPÄý Jÿièâa@;¿ïòæûØ´‹²uý ’:áeýR`gú»1¼dýHõ±¦Wñ@¤°õÇý‰ˆÃÄK]@êÜŒ@Ÿ—õ{°ñõ[¬*Í’ŠÓ­Âøli×17 ;\Ý•¨ï_,Ô§*íšÅaÓ›rÒ »1‹Ô8b31Œ8J#[ªwüz"¶6‹< 0÷膻ú‹Oÿþÿ +¶›¹òч?ùàò+?xíõ7ߺ´´„––® þþ«Vuê62’ uÞšöJõ×¼ï7Ü=d¤º»$8?Ú bý:kê_>¿ó• +oqBhrˆXxnÓ§`„­Ã•™C Îa^ }šmª;¸4lw¥PJWGs¨8œE¹B2{ÿíwlm‡’÷þÍî3÷¯U÷·\XE€{Ğݴå†ãÉ»×j^õžÌ:–À¾¢}• òØñ6¼2P!Tiû9ªË||¨šD[†m,Nmç„G•i)WLJ¦8’â8TÒ=ñD¿ÇaëˆÍkÓÌñ]ÌoKzÅîè,–Ò‰ÔZT&—tû´vÖÁµ&¾¦Ûéµã +ê>òL Š/a@3#Jåê“i_–mîúÖ¹tÔ½ùÖkô­-mÓüBÍ«>5 ‘eó# +î×äg5'"cÂûJêL¢Çéü?Òþ€hðz š"ZÆ€›·¶í_7”–§t§-yê)»Õ$$(Â’¹ƒ“¾kf¨âî«ÓØ[)?’C‰d\wb ·çòÝ”_2w»)Û¾ +?acoü¨'>]§7ø:à\2 &aoægZeM^=¾gñöÜ–¤vvQ§”Q¾DîŸ+Vz!íp½ÿþ µÖÈmJO?Q«nÏ£‰=7´VåG{~„Ê5ë¢ÑÀß|%å–Té•"„ +>B ÅZ +UÆ{ˆewqªŽÛä õÉ~Í*¨Ô&2ãS×Tÿ‹O¤O®~|õï>èyÿäï>–õcPÄ«¾†o¼åºRv;³¿œÞØÑŸvfjtsDÎg•tp¤[ +¨iãwu8¹KÃR±ô½qòӽЂc‡v<·©ËËÏcŸXÿ¹D—î¾ûó¨RM°%ÇwÛ.íÒ\åFFA b@ø~<™r£ Tá]è©CrHàÝßÕŸ~öº@Ñ ôÉߊ`Ò#7À‰/ R¹ñK»#çà§ Eå'[Xvk…†ë ÇýÁ@óÄiÜ_ À÷ùµÀŽy׫£]Q•Ô̸›•ãHS€Áä@ô0ï~p]`ýÚ® }Â>h{†ŒÈø¢àí0÷§áÝ/.Ž&–°5Žõ“YÓÐøÜŸƒ9°~6 €¤3·{ÈúÁ€€Kú‚ÛàŠ6‹}âµHen²÷¯¹­]fý’Ü?g$û³bÖá£3€+Èî‘dŒû7œ)(ì%| ‹Ï·üqëw0HpòÔ¼Œi…=ÔÓbˆ zÁ÷ûs³™up1·Y§wäw€ÀîûsÜ ^€t«2"˜˜±c‹†VaâÀ‘Räò{+bÐ ÙñÝfÓˆ÷¦»­ÿéþÌzJÖ0À]€ˆãìÆ4p/Y¿Po ?}c°6Õ‡õ‹zÈo¼û#|áp@‚…ã•|1‰€¬ßÜŸÕs€PÏ_X=4Þƒô‹x÷§Í¢äþÖh\Èï'èãŸØ&Üßtþ˜–ðóv||õÃè¿~lÿFàU[ €CÞó`ÜGpì É{¬‘Ý”@zë‡B‡§Ì÷7®S\ €lÿ-H„üäþÀF‚>uOÇú…6,+¬@®6n7]9|²4uÀð´MÁ¦ + Ñ[¼.r–üfRî¯?=.½»î‰­Îß ÿÛYT}´é@q€V@ÓÏEïC éÊ5`ñw¾â€ï 63è®: ÄaûÙLŽÃžŒî–)ÌD|_ @ÊýXŸ¼Yö È‹•þ öó» +€%cÀpPx¬ßp‹€ÍÇpEÖ©©°†êÀ^`Àõ3 UbRo/55ˆÀ]Šr³¢ÜŸ ,ñ{N|G1ÀŠ_®ÚI`ëèÖçãÜŸ•!ÊÖ5pVf¸Ùq)(ѽúº@ØwáÂËß÷‹™À†Š’ý²þÔŽëˆP ÷RÄ€†]BL(Ó·Äß1 yØL_e½À…†ð0S@Z=¢^u0@$ý—V€-ÀôlIð¼@úO0ÁÔ˜×'Ì÷Ý*Y2(ë÷P L(!À  æ‘"bUUxÄïèDø>0ß—ûC‚Do¬¯`CN­±9Nú/ÉúU”ÍHbÖ_ts̤]47œT°ñÙ?­¦ÿ4x/é¿0Àñ‚ÿvüüë]ùðg—½<°ï?@â]x¾äÜ_úð£ËX?ºü_­»1E€ê:¹¿Ç€ ì>”g€Î,ªP0 ;VÜš4V@@m¬›ô_€ßW!ÝƬÿ¢uíšË6$h@Ï%@@i—½˜õ;D»€°~/óýë`ÕªÕž÷»?=¾îåó7€þô®ÏžC•±Jo¬´@ÖOŒv!Šu ª|@£1¿à‹ö9¹¿s +s%}lSõÿUèŽ@îo6…$ÞÝIî¯]Ç‘*¹vhÜ?Ó¿ß—0µìƒÎj4˜ïo‹²~œ—Xؤ=O]@ðàÐB0 +€ÜÐzmÜßaÀnðMÿƒ†Ëýa€aÀuþX ¬ŸÏ%²å"@WK`ú›m´¨n~` +'FWàõ«@Òå9/~ë+·e+¤Î¢ý¾ûPð RueÍr]®ýA’Ëóv€=Ì÷ƒSÖ䥽÷W iÈú%¹¿ïòX<ÞÂú%¬Qø>NAÿà+ðE”Ö?_Œ€èÝÿº´Â’r€°~1%’1@D¸¿Ò‹®ÿ'ÑÛI#½)Ž`È §½ûGÏð‘Õ–ûCr]ÀƒX¿vW–©Ü àï\/úù‡²þ+,™ð}çþ&»=ù’põ£«&ÒðчW¯ðð0ßç5æþ]ÆúÑÒÒ1 +wÀšû{ Q÷—w»²@ÖJ$ר .¬_E@€øÚ*ïþH¿8² +ÀzEìZYSÅ ÷,hNP×É“«ŽÇ1„B9Ñ›Í?:…(n±¾—7íÛ>azâŒO«QãË¿_?¸Ø¾ú zÿÊÇÿê½ó¯^ šÞ^zëÝŸ¾³týí‡/5`,Ë9¾rúë/®î°…T›’:¸XTj’Ø…«-w¸utà‘‰òîÙ©ã§$Á@ª9¯æds$ XšpÓX&¥‰é#³N£¡Òö™x¦m.÷g>Ùn¿³i™™Áu:{Ö›µ‹¤Ì¸Ã‹¡ ḭ̂ëw§}âwÅŠ¥„îÃŽXÅ Ñí:&:æ½ø>ŽOC£éñ\bc?IV²ôÈzd©tÉæ‡ m7UÆÄt&†(Y2Ü’ã í°!¤¨ÞÈ ÌTêi–¯n%Ü¿Îå7è¦Tñ®˜ú‘²ƒÖ¡„³ëË"¾‘Ü_½@Èú|°~»xxÝÀƒ†M€H¦î#ì˜qǰ¤æ5"ß=Ñݱx¼±v±Oô/¸êÇ]øCÞˆ#ö•¿øÎ©ÿý¨Ý³,̌ڼ¬8prj7jÎW8&xjz¿@3óCˆMDT~XNpfÈMh©wx74{Ë2äÌä¦ Iz±ŒU'“mß›1ð.1fáH£±§HD6…‘u@º7˜Z£6¾ -¢`†XáÊ<(J"“Ôh’å˜ì»ï ÆòÓÀ;´(µI›¯ßv·~—x\7GBlŸæþZ8RG:]|8ÝÏ?œR”º÷ ~ÚË‘z†Çщ:1·% ftÊ¡Î}¨Âídƒ;ç/+t—vôxñõÇ÷ôÛØß1vx{„ býì6APx"×v v•Ÿ_¹úwøx(U^þøã£r;RÐ¥Õå+ï#A--½µôî%ôÖ›¬ñÁE4{°”ÍwÚ¡íw`wDh„F‚dúÖ#rÜõôÅm\“꽕R›˜L[¹OD©ô-ÉÔç¥ìÆXê‹·&îê$R + ôÇQŠƒŽâÖX_ÿ-Hƒøí¦°,›í¸r#`ýÅòîßu õ#'ÍSgXyÜ¿ Ôê ²3ÃTÝ5Á…©Îú‘a9ÏaÙÜ_wÿÑG€ä=Ö{ŽÖ0À@ P^ ¤zl~M¢@ÌM¢’=6ñ² "Þ[ sÀúXJÆ„û»Çï”™ãW(·ÙÐb¾ï`rîߘé'bý0@À”±þÀóÒ=,!M”õKÖ½“3ªyh¿÷°¬ß]Œ­ „ÊýÍèÝgE õï/ÜFþ,q ðÉ's0+]ð-xåûçNüë’Íyy÷GÞý‰D=+èÐ’d»bn-ý 2ÞbäLEÝßÀ€a·Z€Ü UÒlO1À`ü‰¼€iÞ¤d?2—‰Ud븿+j^Þýí»ïÁ/Ù× gàÀúuÅ–)œ‚Èú‰8o}÷ಠ¬Ö}}Ù=…&ŒD86ãþTÀ÷½ñr­e7%äþ`@î›" +[“=ý*=ÚMÔn€ ݬ߻¿JŽW¯zßWCò¦¯èX¿t¸ý6Hò8"°~r("»±Ü?uïÍø¾ x ºÓFÏ=k<zîŽ!0 `ýŠüd¶ Ò£¸i&Ìý¤ +@î”þW¦ZÄ(JS³ªÄ€ø]¹e¬Í +)Ÿ¯vþ©¸ôÁÜÑðéÿupàà¿´sÂÎú)¤t¾"ëgý!ÁÂ7Ï{˜ïù„æå'gô#©Àý-RþÛ„?4pR$ Ö@<•Ë'p1À0uÞ¶Ú ƒð ÀÓ½|àHÈÞÜmQ;´^£ôßWfôÛïD€¤Ç%õ§líBA'Õ¦x®ØEúoU…@î!»™0 ÷oλKêiNÀrXy4Þ-ëª`€uy9˜Å».~[ÿ°`ååþ¦­ÏGPîŸ/Ûhh=(ØÁc§Î ŠìÅðžþ[¢¸ùûðCW¼G`Gò +ØAõ*W.œ;q* ÎÀË4£à)!ÜßW²WUæ’áÐ: @¤ÿfÊnH1¾Oúï "À€Ó°£÷)sä^0€õ{áû&NâoÖ€ÖA+)©»FX<¾ˆæŸ™föÕÅŸþ Ú x+ìž-n +Ï•0\õÚ æûŽ&Ië†Tx(÷—dýª/V·8ÇQ†ûCmÜŸ¨àY«\€VÀÜà ç·ašr¯ ¡ÈÕ€ +vïø?ýà=ÉSAfý—Þ~ aý¯½~"`Ål7vuuMÂ;¹`GePëS|ú°~ àûheÀ¯f®åê¶&¦-¶ +ß_–» +L ÷ÀwÜ¿¾wA]@Hðî°~¹?º¦Pú¿«Vu¼ð‹2týE»€PÈàâ/Ö/Ýõ_ u©dóE_XãˆIE€ï²M©+†´¹¿@âïØú 5@àþa d6ãîó©ÙrÔé[@úßÖdî_ +züoTHêü‘dý*Úº€p0 . Ü©h(+Úº€ŠÕ, @ø;ßÔ:÷íj€.$°»«¼8<<´|ùh$þ|SDC@¾xíG¯mìXøî<ÞÇ\öž<€§_X6'è:®.y±nDY?Ñæƒ;~Ú3@ t°èPz¢±ƒf61³à®ÏLóöö™ î‡G:ýÅ¢<ÌÓxëWôîoºÏÐ"¢($ͯ‰!"¹| ðæÃ®Ûdùñ­]V¬ È*€±„uË&;£Àß…(Šk±~‰àþ€Mg_áv@±œDø¾—í÷áÐ7R31é€z6­ñðîϳáþ€¯šÈÞÀ«?8‡Þ  *^P/°ö·Åã­oýñ™(pôÉ/>A€$kxõ‡ç Á⿞».tcK;Àf\o¡›¬”ÆLk Š@û ¾¯’‚}‰CTǪ‹,WÚôvöJÇ€¨û{H"‡Žs]K, ÈýÉýù\¹?ëf£•\ â¨eÚ#ºzyŠÂýÁ@6µYßS@v/ 4€’ï |ýk4P€÷ˆHÀwlÌZ§«g„¨ŽÛdAçã©3XL”͈&7¾÷G¸¿ÄWÆýîOÒ¯€e8\z÷’úðÊûW®¼ïðÎ__ôÐÒO~€Ïº;¿»´à™ïßs«`¾ïLߊïKßO¥>' x¨á/ ŽZ?å‘?—Ì$àþXÿJûø¾ð}\u%&Žþ¾pCüf¯wð3ø-„Ñ?ÀWDïþõ]‡ü{Qø¾fX›åñô@Uî/)*=Žû7Ÿw竸vkE`µ-÷W÷‘ï2*gù‘<,ñw`×T T. +Žû é¾À»×ÿÖÍX?K#býx·ê|_J÷Úì +Dk„H~ÑÑ"x* +*ìRîï{Ï»n=oòîÏk”þë|îOú/Ppä´U•±¾p  +Hu@xÁºM‚Dâ/ÁY},+°Â’O¾ŸuWÆ **£9|_@T[†í¬†Þ.÷ À¹?y!ÐËg<dýrÿ• Å᜾ﰜeœÿþ· Ašð÷·{¿„ÓAÓÀýmœ˜ê€0o°=Çÿœ»Ç{‘ªeÛ"Y¿Š€¨õÛS둬Ÿ +£äxÖix÷'ÊýÕ•äÝ_Ðë%¿|ráû@ç–1M?UE4”ò·€(ë÷¾¿ìõº¹¦»Í²¬Ÿ×hý +ª‡ð>̲þ6 ÀÑ'‘ûSxè +5»H­;¦ +  ôÊâñ&îOãõ¿êpùÊûþ÷¥DŒÀ ß÷^—//yáû’ÜßÀtD|_;?¶Žûãb@ÿƒA@CÖîŸp“)ý7¥>'åûÞú} ý +‘°¹lS»íÌ$Ô÷/ˆHÀÖåþQô•ª4z†*¾ Hî Üaý!dß#Õ=F:£¾@ýŠ ý_ „õK¾ÿ© HE@`ýN¸¿/¢ ð`Ûáþ`Àí|–lj@ý?Hé¿´ˆþŽõFïú4"ˆý ÿP0=¬yå}k= Üßžu0÷ÜjgVeý¡i.K]@0€ÕÐ#aÃÝ/,Ò€:‚Ú`÷nÄhY@u€¬¿»§ ‘ø«@ø~¢·SE€k Ÿ¼e@ø¾N°þÊý%ïþ÷—ÌîGÓX?o'®€*¬_î¼õó纮0  ^Ÿ iñù0°þÀý ‘øcýÖß:\DÆw +7PXhë Usv0#A˜žGI€|úž” +Ú¸ÿ±:òîoÀp ¨éKúq[Ìv7Ó­]Vq×+–vÏ)êB0O¥ó;§2[ÊDlÚɦÁ`Æ&Ò± Á¯=ó©´çPù©£ÕÖ³È>ÙéghøBÆë¦Õqôõ3ß¾9ºL‘?;gwåÊ·þýËèÿóâW9yêÌêŽx¬+,*€Îß-*Ó XyýÀ"jYÙg—%£âÞ…‰gž“Ê{æú®Úü ½YJZëYDƒ +5ŽýQÐ}tìteºÉÏP&P´ÛvG]p$sTïÙ7„²ýTÙBi©QªfPª·«óÖN¬¶¾++ÏÕYSTŸì×ÐR[à,‡tµÜ%W|\áádç­«“ië&Jgck;ˆ=ál È®ÛÚ(Üɶ\]UXtþîö“ˆ/¥3(?ÜÕ÷ÀÚø]¬¡¢.Áñucz|™XªÞI£:ÙÃb'fš‡‹ù‡l?¶«±¶Ås[º¤xW,_Ì úd‘Èç6Û-°‰p%—O¦{n§1ø@2™¾UªYMוí·9rË#}¨>V$l Fyº/L5xKjckœ˜/wI‰ÞŽ…ã  þíÏ.{éZÍëÈÆ_ýƒçšûëÙþÄËF=j×´¿ìZéŠÿ`7ýôÓ÷/_kW“XN Ë±ÚƒCåÁlqˆŸr|jÑÀm±rIWÿr—IÓŠˆ_Ÿ8µÏž%îᑹÂÌ|‰X·§‚a£H©Éô¾²wµÜ{[vâ—†<ÑŠ€ƒ%ÄÞ¥®!ÕšÀ.!$¨N 9î† D=1`'3ìܲy½f°ÐåÓvõî¬F¹*ÇŽ [‚P^,m£Pš9öÿŠMMÊ_@õÝ”fú’][°{ 6ich°„êdyÌf&÷³„Úüèò5/»ž>þyp7Á•ðÀgÀ¼Õ ôHfyW‰ u¤î‹žÂýµÉú)ÈÜù8¬Ÿœ¹‹@ëX€ÀýY‰¿Ü?¬„åô¿U2ßw†k;¶îf¬D$€c€¹?²>Yd€r/ˆut¼P‘ ÷'Ú5e¡ï{§­[ v{çæ€ Nk½Â€–ÃNBÔ‹%@ XZºèuõ깿„ûK 1]—€Ü_8²¸çåW¾¥Æk¯_ðûCìX¿v(l7.w‘Ý äþ0€Ä?èrç8øë8Uj ÀýUd7&Àõ+býÑ + Ø‘ aú°~mé¢;ë µ ñüY¹?ò]@6ØÆÙhP„XµªS?Q¼úç¯WBë—²ùúJ|û¥órë_.œû“þ€ÊôB[à€X1aë/ï™SG@à+a@tûv8ê¿CÛ>í2¦_¸¿À®DÇäÝ_°CîˆÿÖÍ4tvWæè»’PylY¡uZ`=?á}†}úoAÃ]žê€ïŠ2@ËT¹¿ŠÓ–.›vtK—/fpAîﺀ|ÿÒÜA*T¨¨ÕÿCÄýÙÅù8bfÐ&)"ª@|¨5VàõŸGß4½÷“7¬ HG)îåÊOþætéí‹Hî¯éø=ˆKï^¼üÁ;z—fÓ1šïEzÿò%1€F 2¹8 M¶cÓéÌänuþn´UÀ€¡j&ÝŸX8Î^‘Ÿ}[çAûõåþŠø>î/áûlUø¾ÀA>Ý*ëÿqÐBPÐù£^ 75…0€\[ÀñÅE¹?_Í€†nm¬hYPŸ¶ë"uP %ë×ñbyc€Åùåý?júD98Q”¹kÊrm@ÁdŸ® Hһ·댂)Z´ ¢ {@ÊýÅ€J5‡Ÿ;D vÐÚߤñúÅWϽ|VPâïðï¾à€|  Ub@Ф^ M±Þæþì9ø>H¦ÿ½Ëð€¿Ãæ’T°µiðÓHÔ«ªû–§I¥ÝX ‡§[Rü®t~G©J(N6KOÌQ ÏÖç{J5Txl&»µRm-Òð·ß*ï;Zk-JfÐk—åN”Íù“¹‡¦VÝCJçQ쎜½å¶´.äyùÕ×tØÑˆýs3}E?ôÓÆÿ¸›ÂÆš8{óØÉ±GÊ»æˆÃ‹µ¹£k|ÞVÌkráDëÔTzb>ÝŸ«í;šd¢y™ýW_ŸþÝS#F/]ÊrÃXvcl¦ªÔ wFqì6~a敽Ìõü&zc¹Rrv¡,MZ–Äaf‡ý6a¶eGš›]®bs¶gÉîÜÐI4É®E4d+’(Ò­äÅÚF_œõhf•±'ú´rÍ.ËÄâ%?Ç ši !Ž^äûš¶ “ªwõd×I¹‡ºÈeˆ•GSº`=›H±b€¸5œØÜÕÓ·ÎNÐi’['?„cðÁdæ¾x¾˜ÄB W-öüv‚F¥f³ä6gh n^çuìøô•+ÑKúõó¯|CZZºìjW¯¾ñæÅ÷—Þ@—Þ<^ûáYé…3‹éîØÙoºòÑ%âÅŸ{ïÝþí•÷ÐÇWƒëÅpÿŸ|ð"å7½}}ü1,9ßÜ[ì¼õ¦ÒÃ)”+Ó_Ý ñ«u»q +²ßn¹Àýñ•÷̤ÚcYVC??I$ø—MW}Ì®™j«†“é1,*»)AeIc\<Ì!þm~‰Ÿ5G¤­Æ÷[kŠ·Ù§0ž¦m$˜=XžþR ÜD‡Îj]öäøö5ûäYv]¾){2ò¥Œ›,ÏÁSv²z:7w”#²F&É·ã_}ßèþÏš×§Š£Ù‘‰~e&®#‚hG‡N¸“̼ž†™>íæ€ND£Úã]F$·@ ¿3uåÊ¥`oXñçüzy¢ýýí‡ï¿úý³è+_]hì­Ìîk lšX+¢Å“GÎÿå“ÏA,€øÜïÏõŒâ…×Måí=Hë€ì>0¹xî¡ ˆF*»¦ïÁ®b)MÔ|¨óúÌ`0/$b€=}kLa_b§Bñ®ƒÄ=·H7‘2®Ov¢þ|\ƒ•ÉÆgr5íWC4#&›æï»g‰mû{ ò̼@|cÎÀyôn®{÷ÿÆ¿¤Í}ð™“63¨³þØ?@2}2z¥ö¨R›n@¢·Âã­îo©ý®91aý0€ÈN7ñÌ iêÙ¯”nÜy÷'bý|a€6" ïþ–÷¹´]y–ÚÈ`áD= +‰—±ësÐ`ÿfŸŽÊ ²3s#Œí1ûæ8lsd‡kx k»Â21€(T·»N·†ŠÄ÷•û“‰ Ž<L.Ç‘Tµ°×ZÿÕf»õ¼0@YSK䆬¾ñ@¨Ö/Ætë—’÷ÜBåAŒÝѰ~ð}/íoúûø£ËžÞý[‡÷ÈæTHW>z øLp4Yíºšÿ½Àú‰ú7 +9‚ ñ4¢X8^G<dýb€óý2â©(pí À»?ÑVÃeñ4dñòz¿ÿ³_éParç ø²n7vóª:Ø@UŽö@öðViáDh b@Ãýßݧ!ÜùÝäBÂ;‹yàø^ú×AÐíKµ<~„NÞýÑÕ.yE«¬_ ªr•dýµÇòÖÿÜ¿šŽy÷÷Ü|Ի€M£Ÿ;uï­’€äHÞ|#àûšbDW˜k³p …>ý/OÏEy°’èÎ r ©Œ qâ Hü‹{t'^$÷¯=>geý’¬_Âú%1àFÐÀ ýLn,"*”«6"‰¿Ü±Âr€Ü߀ô_E€*aÀ€Rë§ "ÛGû#ŸÀàL_Ï.»¿íÐA€°~ÜiB1sÿݔՖ@Iìè>÷—@~(û{ô=°®\ïÑq+ëÖd8J-Êî¯U-¼#Š*ÞŽ›“þ{HQ U X5ëW ò÷§hLgåþT+ ‘ûKªlì©«J#¬ŸXŸ´Ä_¢ûÇ»Ø×Ùã’1 ¼$ bÀÓOÿ¯ÏâþÁÑíþt`G ó£Pî¯rß×°Ï€(>ýôÊû?ýQrÿ((ÐøÔ §QMIŸí94VVQø +€±~1@îhØ)ðä0?4 àq€ïû½K¹?@@bŸ”¹³GÉßiÛŠ9£GÑý_/°v§ +ÔÜßë'ò Þ+é«y÷WD¬’g¾¯}UtñÈSU<(0 H Ü_’í +KóÖÅÿò’ôþåwP°s\ýøÊ•÷5tø½÷^÷ºü^ìnÏØ¥ *÷—X¾#{mýŽ@¹?‚r¢¯uµ*"®AªDÖu3ñº~Tuê'DÚòÚŒV؈ #h®²·%µÀWø>¹¿$£]@÷WÿO´ Èôøœ/¼û¯€úhx æþÅϨ>×™ø¾ເ¢Xa¬¿yü´¯$|þìß÷©ÿuþx°MU“þ³«à_Ò{’¯h“þ rd¾N(æœ`÷x~Q þŸÎÛVuÞ  ¨ÉK‰ª» Z'7šÙÙƒ4üTWl•F{¬‘•F‚ˆõK`€}—ô_Rþ·:$ (Âý}*׺Qhs—Ò[Ÿ¡¸Dà€8T<Hü%ß$3#¹ + 2šõE€ÜaîÙo¼yñä©EêüQ \ýè"1 +Yÿ/ÖÿßÒ'êÌ‚ _J^·@Xä/Àä“y€å)ýG~÷C>ý·€{­±­°Ü?ÀŠë¢õû^ ŸòÓPÛVÌòû?ÿò ^Cþ.±K¸ewûKv8D¤ïh_6²ÿÛ Ú|VÖ¸61’ãGÅ#ø¾Üßa`ù@øþùWOK~|ÖÀ»?ºøãs^ê’n€OÃ9Æ‘ú õÇÖ®Fø>»òÐZÅ»;`ø~®”&º†ÝNUu€Ü_½@þd ílQpð~aÝ?’@îOl%my«ÜHM»%dù©Cõý v;ø]sÈ;~¬+‘}¨ZlÌÚÝ*?yHR«7Ò UæûË5Í )ë—*ûƒwk¸ÏŠý‹þ›\_¿—ÑôxìŽìº;º~+VwÄïÔ7.-Áî+÷oyÌ¿×Sd`»MSŠÒ¹bÃ&û,泞Ÿ=sãóGQmï!bãË6#iî‡âØ4èŸ_­SgÑô¿<å5óܩƳ–þÏj´Æm?kkd…ö¹=$A‡+D`Åj·TI ב\¢Y®u³øÄQSyñ^/½^ãɦ ÛÖ»9DoáçO¦oé¼Õn'Žg7¯ífoˆÜD·Mi"Ïn^KC¦¬‰"okhbOv {§.?á½/gíB_sð¡ê!ÚÕ&2ªQ@=nú*eñý›Ý f7*»£Äúèd—Ä#º-0üCî,´»L.oî_Í!;K6l ŽùæÃ‰žûcñd•Gî¡$² >+ §%>wüñH§—+£Eô܉ôò÷^–Èý_8s +]zûâTsì;ßµ¹ºŽ;€ ÎKß NâE=È¥wÞ} ½÷×ÿögKíÄæ|…# ¦QÞ ƒF…‘õÕ‰‰Ý@Y?ß4pµˆÕy,ƒ¨´Ê£iŒžˆ*£)‰Oäõ²Tì[“âÉÊù”ñ' ådm²Ÿ#|j6¸#)¹9Öˆ vTtÄMáz)÷°A¥ÚÓ€AÐôt0 TëÒ6gÎëÃþ(´çÀíÿú ¢u¹~|Y¹j‘ƒ×‹g²û¶E r¡¡:]¬‘Öþ\ áA²7¨¦Ø'²°C*²ð=sCÈ>eÉúfÙgÜÜZ¨/}péòåe'øàý·ý]¹òxçÝ èG?^žÖíG?~éw¤ÊýäoÜ ‚¿sãÊÉþöÄG Wøâ¹—Oòʾqtj_!½©º£þA»{WüŽÎÔÝaìêÔÍ߉ù-™Tº‹tOgº ß+Óß%%ï^“ºgM_.IDìÖ_°ÉLŠë4‡Ì4ýÛ·¨2à_¢º˜ú N®àæ.uTX›c!2•‚š@çÔ†"¥¶†äΚt˶;¡OqåÝÔÐ(ѽúÿó{û‚Ã×þ®üä½÷t¿ÿÁOν|–ˆš{W>ºòÊ÷ÏŸúêÉ«W—ÞzëUôÒŸ|£2Zyõ/ÎK/ýÉ·¥Ó_;yâ+Güùç}ûf¼r[^©{(ËV‘²û@ݱ-ë«;{Pq$å¥ +O~g»M(͇ÆwõåJ]^Í܉º@O .«ó%‹Ã©tψfÜx}XÚó¯-ØÁo{l§%bIsKˆ/hf~h›3€ã ©óÇ@502<ØãJwTõÚþú>ò§t€Èģо†6+£5T:n^¯¤2BõÄÄ´ëSšÝBCøq_$  ò µµUû6#*6ÅÑç/üÑâùWÏ"] (E+?Ù½ôÆ›¯"íKŸ|b…Jïæ|Xùw僷òîÅKo^ ¡wéB0í·ì´48(ØÛíŽFvt¬ED<ÂòQj§uɘexÅ`0¨&úW}ª#y÷óÛ’7¯&²ebë>/Y†áºõ$Ï`´ €òÞC¸?Ö°QÜ?S¨xàž¸ÿg`lgSQËE@0#вv|é¨ ˜ŽÌóÞò/@eçj€—wÿxwVÖïPkÙ`'bq·1Xtîßž¼Ûnã [à-¸?–š ^e@k;`€¬_QÖ/2}‘€¶ÉMÇ¿–ìãõÖ07—„€û#ëÆ‰À»î]nugð}$†À61@Ï">]ý?²u=( ø×˜dúÛ’&W@X=1–Ð\Њ:„ˆŸ€+ÿõ}/|ŸÜ_ÀýNmÁ@½:×üE’»käW^úÓK•n«*Ý({ÿíX¿¢† +éÌ¿¾Wª'†¢ûIzc¼ðpJÂ÷Ó¿½ ^¸¿8ÎTª ?¸€GP³UDDÛoéáñ}ö[Ñ»¬#Ź<ð—Æ=û‡êo®öuûdðÚ:FE{ +*„/³w…°õóA²«U1ôÈ T5ÄLÍ"Þúåkjñ}[Ž€Üß-Ö¾¯5tî¥3~HÕxøßE »oÃÿ^ýh ë_ vfí·Díí€?ˆì€r}r«›ñ­ÊçÈe!š6ÅS½kQ×]kð}áþèÎÔ¾Ö¿jÕª(´ µ‰´}V™‡:÷‡E+Ò$è’±êS‡Ü¿yâLÏÐ G¶†ý?Öf2ë7ß?ø,ò0à.Ý‚ÀHµyæÏ~ù¤×ÉóoÑÅ7/!€ò£6û´kלÄÚJ@vk…"À>wº¥0 0‘þ«`M,ýw°Üßa Ø˜Eb€*„ûÃ;~ÂSU¶q}1@`ë×@àþð¥ÿæþƒ6•+îïÀ‰ ˆÝ¯@›äûH=3ì.Á#áhH€w+ý‡r÷Ôr ÈýQ*8 ¹ k>ߺNPî/i׎›æë„ç‚]\w²Tú/9÷Wà€XO¬ß¡a»Û%R2åO¬eoi€$ë@Â÷5€¯þ;€øÑ=4æ¤øp’¨Ü¿¹?ç/JŠVQi?ËúmŠz£>Z.)’$þž+¸ì¶-ÙŠzÒ|ý:n*P› ú™ #Hb_Å.ñ}/ÿ`!äÔÑiöÚ¤C’¨ ¨ÛS=Ÿv„îo‰¿k˜;ßçHñ ×õ+ôˆ^ƒõçJ$vB{&¼w‚*Ä:ÛjÏnQú¯ +@êT„—¬ é_Ö$`€sd¥@øeÖŸÝ“4 6:ùÕÖùWþÔu$òø“ã‹jð'˜û¼×@û-‘ÃC¹†¥ÿÈ›yÁaÀÆM8;|‚$&÷HGÊ`>°þ6äJuÄIS9×rׄ ø¥ÀC•ûãþõù…(”û·uYlÙŒ@ ÄÏîõ*‡`8—“¬%dý¬6Š÷‡ò} . Àw‘û‹ÈÖßl_wõ¬í»ª‚W@'ÉÇ%øâÍräþ!¢ `w!¶'URî/áõJÿÙc¢m—k‰¿º€@l«€g¹ÿJXGÐVëŠvIúPíèÞýtVÀ€ï«^ ‰©´ÝF‚ÊúK;îTP°ÚÃaî@ðýKo^BŸ¹ÿÿMP𣠩{lîO@ƒÄ›†fÖKÕ‰€Ý†Üß§A”UÕÏú. ¤RÌw-Ëuþ€ïBÑ. Üa|¾àS¼o.©`ý캀ĻpÉÒü° áûûÓpŸ¥. ŸÑG¥-=Ò¿¾¿Ô/®ÿÇ?È¡„ïëJI|}ÏÌKK3÷ŸÝ¢ï¡éKúW¤"Y¤GnP Ôˆèä©úöwÿà7_…Xð/0~÷ >Úum'w7ä@.C2ë·ƒˆJ=t¾°†rÕÎú%¬_îOÌoKÊýÑu`u@hV4VÕ÷/zUüðž½ u$cêy`(/ÖŸ,í™GåæA©ºïPùÉïNlÌj ©úÔB}þÙæ‘“DŒU$(î]@#s á9"Òƒ*4|³81ëÊÞtS¬XœÐ6…W~võ'?½réÝ¥‹o_zõõ×Ï~û®T¾ãæÄÀ¶‰úޅ„M¢–mYÛÁá:Jo*²J|t¶T#Öž:TÙÝú(yjQî‡OÖ¡”Óàƒy)ÝÖœ µýGQó„1÷'6ŽB•ùÅÅÎÍ>3îw ©½ù=û·p$µƒ¢b)Û›µ»»d­O&¸Û-V^ŠÇº:Ößm³¹Ù4ΛÖ!~ÑÞþµ6ýœwó@õ?¸ lv7ˆp»>usìŽ{$pƒ@4w‚d ~(–¼eûùm–e?nW³Ç·™0eëFw})ÖRJ ÒH²\K^ðz2MÖŠ#³´Ãܪ:‘‘ÊöòMgÝÅn4€éBë¿ë¹/.ñv¿¿úŽ~Ašãvè|iuF•Ö™\÷ÿ¢Í%¼Þ®Ž¡¡SÙÁ9m×ÿÜj¯ß2œäÙ+á‰äê“ÏÛùÞKo¿Þ|óâ?6Ѹôæ[Kテ®|°ôñGÁÍa¬ñ‹«ï-Ù¤oç¾{6—Ï._àé¶·üì2úäçËw•áO—Œ¡s/½À&ê¸ù&yYm¬×î@»;c·y`ÓgŠÃ¬dz¤Ö]<ní ìD65Ç0õAýñŒ5æ‹ÅJJ (mOË£”ŨØ_œœÉ•êiEË‹ëçˆ<ë3}vKìägj~©ÜØ[$¶ŽTýÈä,oµ[…øA &» „]3<ë. °¥µŠ³­Ò´s|¢¦³…ð ›Yˆ×ÛÅeáUÇH—’é²2;;_ +®ž‰Ü£Ø/äL¬*»\¡œÔ™mÿ”jÜÊ®n°ŸÚ¢µÕêag’|_ GQèN ˆ†¾`¨à@f;ÔuÙš;GÊ»¼ôËJlù/×Nœš=óÍÅ×_½F×üY$N4ž¼‰=¶Tµ«,M¥xe'€·Fp#¦i{$2@ƒÃ$sÿšPa6i÷ŠYÛÛg× ó»³­R÷®IöÜJÔ·ëSý|͵ÿüó7ýÚª-I¾#?´m%ÜÐqùZ#÷ˆÉÆý%ÓîOÄ÷aÀà#4Š»[.÷×ÕËÈn**eÎ÷ƒL_¯‹Âl—Æ5#…Päþîï€õ{ï«oÊS¾˜`€`+Vª ÄÆ±E¹¿äÝß4ÝÄýK;j@¾:aîÿüuIQú—6Ôï7fýŠn—˜Ê¬(Æ#@Ú ðG1™™j&X›ÐØoé¹?†¢H¤>ÒÙ˜à|68ßËbå›Î4íuáû4ô¹€þê_”½ß® ¤Þ)@.»G8ÜC¶Úh¤Ó¡±;:@N÷#Ó±!nÆ€ £_£zBxáþ¼Þ¾EÑ Qè[ö{õÿØ·  ˆõä¿p]˜õkÀÏ›oy|xå2 +0Éè@k~ú3€.ÿô=doŒ ¸5ûlíÒVÂ÷åþH÷±*×zîØa ÁàƒqÜ_P‘TßÕ·¬É,î7ßî065€ïg·ÆQû hÚ}óR뗎ׯ1Mwú ö–9w™  +®f7ßwCHMˆFnV‰`Š!íÿð`á#äþˆÏò/‡º¦Ñxx›%xjî eî<¢òB\Ñšó8¦ÆÁÝh{D©€ïëbl¾WA á6EP?©wwÅk¶|^C Jk(üں🾇~ø£—½Î~÷ëHUTm²O  ë—B-_¯ã€×ãûê-p {¹†€hC€"Àú@ø5íçÖO ïEäëÀýc]q¼÷÷Àý î"/¬_ŠVëë—pÿ0ý7ëÇë¥ÿD¹¿"µÂg÷G/E âûrÒk„ð€„ûKTàGé¿ifží‘ÝM€¹¿  +@E€€Àâ×N³)©í${mÏð{Cut@Öoî©ð²(œïPîèZH¸úÞ[€u… ‘×Ë4µ|þE<«§$«tcE×âÝŸ" ZD@âõ«˜v“‹ Êý‘ì @de÷wP?å/nýÙ­©ð}ý;ÀSn#P ¹¿*­¤¾‘_g€oGô X €‹¯/W´ ›ÕùzÀýaÀÙo~½ $þX?ïBzç­’ø#ÜÉú%*„ûeý `ýb€€éZˆD|ß ëçðV€ï{Tvf÷oæ•û{ȨÄeâþ64ô²<ÝY9¯·Fxï’õ!0n€…cÖ35^¦"€FëØ²§“ûkƒÐMr}ñmð¢áGª¤+?0ÿ ++IOÄ×dýü‹ìØ }Ü–ï.)§Ú¢ g¼ÒÖ-Š.“M„HÜúD)º|Y¨Èã͇†Š¬\îoI½sIG±&¥ÿ¾û heÐ/})ýôÿÍ]@–ø{\[¨ ˆ"@¹¿„ËKb€Oÿ'žîЋҹ*@Qø.  AÈýÕ„õû^ ÿâ㳈uó ¨·¬@4Hüa€„ûcý@zcN]@ªp0€<ZÏÿ[Û¦n?³èZÈúÕ„ï Äžþ˜@CÆHé¿ÀrÿÏÖ`ð}⻀|/þî]Þ¼rûÅQw÷ dŽéîÝhˆô§cý•±´Ðojàþ4Ø·$€õ+ý÷]@DÐýÛ1¹?ßK?¬?QÖ¯^ ເtž@"ñ7[»€Ìñ]ÔÚ"¾ˆ%þU»[²1à]@X¿L?ª(Ôä…ï èüËg–Þ}E+Ê|ÿwñç¼û« ÈWrI?Qàþ€¯ë¿$|Ÿ"À@êüi뺦—ˆ8þÅ"Ϫ+ÆÌ×Y?+,,3À HêÛ +˜xï à>Ë>bîËe¤C@ý?’xŠó«u ¾oþåz´¶Z¬y´sj@tÑ~-ˆ•G©ÆÌåþ¹G*{Ð-PG·^€æ¿\óò+‰ø,/-9”w´ü¸¶¤­g3°fuqxj4„;9R¨ß ¤‘g¾¯ +à3 ïHäS؈•ä«ÙI`2b¢5&pÌ9‹cÍâc&ëEéΪW]öª¿¼ç*M‘w[Ï{ºTIôç‚ eÞ1wT²°š}AC€Æ=g:ˆ¼2»EP:__½:ŽtŒ]ùèêûÿõÃ÷þæ²ð½ï_8÷òy´xêLÇméîM;êÓ‡ªî.öÄò+{æQî‘ –™y ŒJYb0v 01M²ÿÈìA ÎÕÂ(Ö°üØÊ•*ÕñæñÓ|#âôñS³'¾Þzþ qâèIdeÁóg(æOü^øc`ç¨ï1Ñ®L攇Š÷܇?:mŒÅnë òàÀCëúÉ4_ b`—Î:uÙhߺ9{Œh§þª‰žÁ¿·™fx2ÀÁ è.'Fï墪ÜÕ‰®“ÁîóN,lKödíT3¦@y´›¯f·mÚ ÔÔêÊ +qÑÉêüCë¶ŒàÑY[ËŠe)ú7¯ãƒˆZy¤‘?÷oùgR´.É=Dq§&Ëní¸åÊÁá½4´5Ô7Bƒ5·ôó:@wÇâ‰xóÿ¼ˆ.¼èÕ ^ûO¯I|ñ½¿~ïý¿y]¹rå㟌€+-Míª%ºb(—OxÉå¥é'J^•j†­´x| +M<‘gªn¾£½¨6–Á¸Y½ZxãªÆS¹úž,ªLw8AÕ†Í`<îfµ´³Ùؽ»Ú1žÑÑm7ZÜ­y±Ä[¬ؘ¨?†aYÖ<6ÕWM£'íÜiéã_îÚ(uQ˜ÔØ›Ÿ æx,·ž©"7‚¨:w¸BƒˆfÉúö æ¾\5„`ús‡ËóGªÈ>%tÃ9^ì.pÓõYm¤GÓû,Iâ‹è‚¹§Ý[œ²ýäÂv5–ÆöØ9m" +æÕ|¢î^†¼ž57 ßÓs¬IÑÐü<妸4û´MŒÊ§ µÇ²H«ªÔ~08´Åî3`  Šr¢í¦oqõËâ…ˆG æøŒD™{º<õT^QVnñbêóÎ}Ö=eÆ«á®ÚÕE[vªÇ³ò‡¾|—®óB}¹u^ª$=[2×:^OÝë¼muðÃ3ÿ4ì:¾/œÛO0¿XÞ{HÃ@ÉîMnD€€w"î¯ÛXï +DPnêÛ>.ÔÜœ6Ç û f_˜_ûk,PàþbÖÀ /œpÿ(¤(øt¬_ %K¼+Äëâ«OLñýÆü"°þqW‚€±}‡ÄY¿¤% H HQ°Mµ} °Oø~æþ¸„ïË¿$ïþÈ|ßzuø¾=âzN>> Ñ6²æÈ` GÖXijÞú ˆÏÂÑäþ믌¥w%¸á”®ÝÅýQ6—@‰ù{Öº/Ý$c@8ì‡O”õóÕV[Õ ¹?ë)맸¡!Xà¨&ñ/k.ÖSZ €?å{Ò«ß —Þ¼´Ì€®|ø³ èÅ÷è;üõùƒRÙ1/6 ð_¹?"ñ7ëw÷GºkÖïàÝ_Üßîk·H <ŒîGÁýy§…P|(ÖÏ¡Žû£ê„Ýg?d@0ƱéÇåeø>§Ø:R7ëW à­j®Hdá0÷7.#ÞHdÏ'òb0û%òt«3ˆË—æ¶lˆîÏ1GÄúõu€z£ÑX<ÕˆÀ‹ML#ên*`ÿºÑAø¾_˜\BûY”&8ðÜ6LÍÚ¬«žÞýi¸÷ѽÑÊ "›Ñ^à¶ž=žÓ¦›³=‰r{½c€º­ÀÒë‰Ö¦áÈÿ@|´¬Ÿ^Öޢ扲þp:™ñ‘ú¯ô½EÒ0PKÿ¯OyHX¿ÒUø/Äú=p ¨@@Öoî?o¨ÿÝt,(r£Í6D+ÉWH@yP¨`™Ä\µnøvòé?¥Àý)h¤ÿDP=$áû×î¢àG5…`[ ¾Ú*€¨†Yÿf3Jõ˜+êȱ|+Dª”J#™¦´ìþ®ÀýÕq¤ ZÂúYC_h®€oD R@“ª#@²Ž&"Ö/ ôß´<îs ÉúÁ€H PÈúeýúš|/¿òl–€Äë?ÿò9Ó8ï ˆ€ê З$Hð­³§½¾~ú˜—¬¿ ”æûcaànY.Èú%|b&'¹mkE œ@€´éVˆTÄë€Èo-÷w|´À‰ÝÕ\Œåø4ùô©Ó Ù*#¬_òQ L „„@ÖìR`ë7ÇúUàûªÞ…Šå¾û«Èåã¾ðîÏ2IüƒM´Çå鎆½E_àû~±º­&Ñ \í¡W²4IP”Q²qlû„@B¦¶§:Ä\PÀÐeýÄÊn¾c9Lÿëx£åþRx‚Úä®Ò"²ÎžÊö] €6•éù‡­ÇÌ WÚ€û·@îÏ·C, +÷ç ð}ÀŽæ‰Ù ÿgÐàpÝY­@½@êBÀw¥ÿ@0íš»'{Ðù# |ɤ"À€øˆV¤ÿTHÖOd™¥Æ,‘ûóE,1¸^€ï#a€ï2P—ZÏŸÁú…uþàþl„éCS€(ûÝŸˆû'ï &G[ÿEÄ) ëﲑ v‘÷Cë|GzŒáᨭÀâé? @Êý%ö +‰:@Öüëf±×¶míà´"÷W`Ý_Æ$ð.íRÿ |Š%‹ËÀíZKcƒå„îo²Åzã3÷—ÅèY1@V"÷Gò}Ï>Îbƒ‹>ýo¶ÜQaÀ±†0 -€°æhw_x(ýWNÜ_ŠÀÍvçöØ§í££]@ú +’ÜŸQFéÞTR˜@š{V§BC÷à‹S ¶d¶$¯g *¢}ñú$W9÷ÿeØVµ]ƒîOú/•¶w#>ÝV ‡²Ãu”«ŽóÞÖ×΢‰£¿ç•«7êO/" /œASGŽ–''ømŒíÁd¿q:ûŒ^·F n²ÑÎëJõÉtêž5e¾èîÕª¿N”VN«³ùþØÓÃõ¬¾Kݬ³Äövw™UÆÍ¸€9J¼Ì¼Þ%þ¦ÒzdÓ«•Ö—v$ e×óS¶žÌ¥¼#EÃÎý†* È—ÌÇke^†û³©§¡Ãž»)N-¢ã]=Ù.)M&²•ôÜd_ms0žž„³3ÒÖÍ5àîÀ#® H‚¾~ª´ÍHë¦o'”`^)Q6mÙ¶^êJ}náXóêÕO_ÿϯ#Lÿ¥ï~çå—_¢ñ½ï½Œ.|ÿtñõ oüåë—Þ½„ÞùÉ;K,I—¯\¶½Îý}øáetùòO—––Þyë"ºôã Ö þøÂ{o_DW?ºòÖ_¾úÒ¹?8}ªÅÖÐ-áªõT˰¶DTp—h{…;‰ +¥dÿ ß á_€ZÇ+H7ð ö¨È~%Õïóªï¶)ãûò6Œb¹ÞÓ÷ÀúÆ~kTëAg7zÃg"ŠšHp?¸ýÖhÌlö*×zÆžêOä–åÉŽ€äF4M<Á<.ß™;X[8Ò º×“/—&šÎUÇž@4ìF7½ñÂÃìo–TyÁ0öIG2›Øó»Í•%+/\ç`îé†0áÈ:õ +ùˆ‹'Hüãhú©B~(¸øMÏ™ÜBì_’9åsø»,ž%ãæ*‰LPÐíÿ¼C#ÿêבXNu,˜å‰EñˆË×Ww¯ç)Ÿõû +è5¼€—É©Ùpm_I¨¡—!6×Ä“áçº:¨™Ü]”õÈx3WÛe³ìy£èB#ìÚwÔH°wÁ3à³`uÑÕ +@<™.ÔHÀÖ õ1Ƹ›ÃÈý­áÜ_¯ÄúÉÁÕ©Ü/çobƒïk%ið8&ެ±1— nkŒõ£ÜhóF`9õùgí.âûùSháÅsr ›Ï!€ÆÝ½võcèg(Vì°oí¯Ô냒rpÉ.¾-v æzä¾Í²õLn-v)€_ð;@´áCk;<à-MÜFÒdT–mÝ>ø~5)°7ˆDÜ_¹³à¥ËS=°~aÀ—áDö{Ž1Kúö-Uw ¼û£lÿíQØw„d4|‰Câ﹆²§p­Ž!jÉ( + Ü üR sß=‡äþÒ›—Þ$ðáG"çÿü]ñ Ä€K?8/ Ü_‚l +Öʹ¿ÀKûè¼ÍîÙ­;‚! ~bÌ&ve"Zžb#_\‡¦Ò~;KÃ÷u~-œh +¨è»çTÈý}pñ͋譿zK€—¬_ïýõÛ\î](@ƒM±ÔæìÉž/àþ0@®ìZ¤ÃE_ÈÖåï…Jz™aÅ€9^‰î¸îÏž€1Àv³hŽv“\ õ¶÷ ”§¸aþa;sÃkÔ5‡ûÛY™­† +êÄ×)nOÿR¸!íQ0ÀÖSÌÄà ÝÀ#žd|îõãb”æ•˲Î÷  >Rxð£ D“;‹(üDFly²f ߟ=l£Úh°õô¡þÅ ±'_BÍã§[¼Û*•ž-Cˆ(>Þ´±ª‡ËO’×£äÆÎ[c¨06UÞ3¹“ÀÙ­›Gúðs‰­õÖ©3H;¢¤ŸD?ak½òH,OÖ†Ìø†Üå˃ß]Ú54Ï=d\É!â°6ÒfØüźìÜo6o—÷üöZ–ôò»ž}}¾ópÕðw!¢ÂH0Ÿ3’»øKòŽtu'¥€ÅÌàíbFœ#|wÿÈX¹FV²ÝÔ ]`¯%êr3)·eCúÞ8¢aóÙ¹Ïêßl§Y¢”î¤w~ù:g],†x žjêàBÂ_mh$‘{Èâæ‡%º;ZóKï.½ôg/™^ú¶×Ër½òÊù ?¸ðÚÅ×|ÿõ½ŽÞø/o\zûÒ;ï¾ã,~‰Æ•ðïýÞ_z÷Ò²B÷¿|ù'+Ó:Ü`iåJßÔž2È!V°~§}U¹BÒî2öØ 2'ÙÇmMcš»‹4 +ÃKDޱN>™+UÓÄÉÙeM͔ѡ£SÄ“NÞUM!Õ‹âSÆwåÛͿơ¢Ö vO4?øGçˆÑ;z÷W4 ¸NQªºCGëˆÆÄ“ùDw  ½†ÛrÕ´p~t¬ƒ¬_8ƒÕæ)w®›¨G]­VßMuuM¯ÃäL¾TÏ ᑉ'Ðø”håPážòç4ªÇYn´$ˆ âþfý×€r@£}Ìú¿d^ãG1 Œ~ ýÃ@ºé¦N/ïþéÜ|_ÖïÝ_ë ;´ßaec§ ¬<áæ %z÷‡c'±~0@£gsY  Á¶D€ïÃt]HQ(çE–熈ÝÑ@`ý†ª$¹]ˆ†ÜDø>î€u¹Àõì»_)³0`¾ïË“ìc÷H逬_Â÷½ðý("ÊÉýñ2äQ𸼋Š$ï/Ïlê¶€„ïKV8Óྦ¶Ëƒi8¨kKî¯ñ} ›ÿ,|çÜ·ÐYW÷ý/_ô£×AQðÂ÷ÿ~ºôÞe­qù'^<© +5 +¸?ÖZGl®\¡+ÝKŽogü<p¤N=<þx߲ܸ ¢O}A‡Y™Àý=a®7‰¨ŸR`™Îî ÿ3ÖkG4 P:¸ŸÈU”¿{TÆ®DàÝŸ†ï¿e9µ]ý¸¿®)Q‘´ €âdA›û¯¨ìžÀ» M ÐJd‹%¢w<ݲ{k„îO´Ä¯Íª§¢ ý—”þK•™CRëkgxch%ð}$(÷Hü)$¹?Er¾šØ7<Žõ ÄXWëW`‰ÿÁE  +À yÀNC‘~~'H» +2>åþæã‘ +ɆîšûKø¾g€\ +LôÜ‚õû +@;€w"î Q÷'7W€|€4ù-u€{‰«‚ +#“õ+z÷ÏnŒ)ý´±3Hÿ]àï£ô_BÊ÷ã»ÓŽ´59„¯dúJü‘ÜÖ»!ο|Nîváõ fýùº‘ ¬Á[o¿%¼·ôÖ/áþŽö÷á‡W°~"RúïÀ‘LL$;ñG€ûȸÿ²œõ«¨ŽYÍýdzm`ã{ÈýÖ/‘Ü_3C(ý—”ûã#ù‡rҢ̷›¿÷ÆZÇmR„B9iôÆ ”Rü‹€Þí­€W¤ÿË`pg›W +ëGªdýT`áXÃW2Ít¿¹'ÖÕH± oy«xˆ¥Ñ4Ö_ͪ(¸+fq¢VÕwÙˆX¤Ma Ü×’ “×€ßË5®)dô4|ÒÃëõ+è)[l8 Bñèï6±~6#é?Qœx»Üßw4EÛh°(1í9áhW@x{´(öÈý%±Ü?€À¢<¬ðý?ªÈš‰ŸÑDâ/åþű†€ûG»€$Ujcúò}¤¶`€û« ©CF‚^++•,´+µô&;]Aßç»;nŽáûø¸Y¹€uþèÌëR/rÜáûäþ¾O "@ÀÂñ&›µµ0ð}€^,h%‚Üß©¢±ðêúlàãX?X¦€°~ Økj)Ÿû{àû6_‹ªv‘¢Mhlûó¯ÀÁÀÎGÄú\'å¶l ýÇýù¬e÷wàH°~ °^ 0ññ ÊúÕï/©í@¼¨äþ×íBF1À€xéÝK0@=ÜH¡k@€û±¤:ëg‹ 7À²û_ˆ†wuÙ‘€€ìCbçô’é _àþDñÀ%U(Иp]@ lN¢…c"¾ÏW&Žï)4[åJ½oñù"÷WúÔ„h¨ H")VúŒC¡ÔDD(€ M[—9Íhúä©=Èýið]ü”Úðˆ@ƒÜŸO)a×<»¸ðµ³0vêKãDmn5šóõ±'ìÊo[' ÖöÜ{¡’Dñ»‚)^æFmv!ÞïÌ춛ءsE€ˆ²þn»² «MÞ³fp3o±Ó¡,Äugw«)'7Ö³š,¦Êµ4ªïNWÇ¡EŠ#Ÿ°õò£½¬31;p{q$IDJLÊR^€4·ÿêÎ!Çú+Õ\"i4*ÃÅB±Gâ)¹¼ù»› Žhr3¤"ß Á‰2´„·¶ß²ýN›ÞÎA”¸e[°e„‘z~û–æþú¹—¾è»ç¾ýoë¿…Î~ûÜùï½|áÕóèâë_ûÁk¯º?+~páÕï[ãõQ¼öÆyýÒÛßûÉ’d£#0Àÿ}ü‘ ë» +‰»âDl±Tí!­æè¢açBÝlnå½¥j/;¢QÞÞ[ Û­Q®‘ã³?fì j5=²3ƒêáäî0¨Ù<ÒE~,"èD_m·½F.`½îné<ˆê»njhkDÀS¼±½’†-rý'ãxIâîQÔ˜rW™UJµÌd3o“O”IíÉåòqb¹jS²p|qî¤Blz9·5Vë!CßSD­c âÄv«2"j4‹écO-¾¶“˜ËõJyeÖ#Ò¯ìýëM›°û@CåeÕ'ò(·9Õ:\¯îÌ£“§šÄÊh>½ñN¢ØOì$íþzµž‡Óä µÅþ\šu.UûB9=þ„ñ€¨S®ÛVj¶`^ h„ÕÑL«ºø¯æ¤Ùýãåábº;>÷LyöP ñ3ùòÂbx‚Al@ú-á]ØhhP©N,G_ïvSóKåÚÄ ÊÙã…u«“6ŧöê6r7”ý v»™š€ê€UŸ#àû³–ƒï9`W°9—4äþÅQW8Hø>¯°þ{9÷?jûiÂpñ}˜²sËǯ€¬¹¢7KÄsåþë85 |uÞ#æG²{>(bý<ÂÑ& €ø:äûDk¸áLîÀ²œõ—ž:JÈý‘€hàþ0 \Ë|_ €ú´ ÿHßó°5¤üvÑ–] ¥ŽoëG4<ìšIãaÈ»‘KšRŠrF€wàûX ñ¯¦z¦a'$Ý^4Ù'âxF쯸?» Ù=Ñ@‘…³2ÄôFÞbîŸÉ&¾PÿƒfëÊñÍâõû1€º€œÝ‹z›Éú½û Ø]U]GÛ‡†G+ ý&uÀ¹s/½„ûƒ»*øÕW‰ÒŸÿÇ?—Ä€<Lï½ãµ´ô®Þ_ºäÛ܃p ‘¬ ÙøòtKi$°yÖÏÏ<ÂY"ìhçÇÒq+ïF¼ÀÀþůe"Îú/À‘ë»úGÆ3D¹¿^) ØØeÂý» QUàþ^ºF·é®×Z€J­‡ °AÜ›÷_ÖŸèîCÛ-ÙÇEhàûhñù„w{5ÃKpÑHÍf¿ ¢Ê#e$¨†Àý‰8;îODÙMT°þÎÛ8dŒ²~DëEŒ@Àe +,X©“ÓÄq¥G2V‘<’Aø>[[Àý5 + XŽ5B÷ç__@xÉÜÙÄÙ‹Ã×ó¢Ÿâ›†¶Œ€ï{5Ü8Q@7Ñ´’bÖF Áaàh|¤†ÉËý‡O®¬0pÀýQ}¦æYS-(÷—ÕI¨”û‹Þý±×~7 ) Aâß"ý¤ÿ€ +‘øcg¸?‘ôƒ#ŽÔ÷WEÒœ™Z<¶€h,izñ.H€$Ö/B <ÒimÒHÞH*ˆDrIÖ¿ø|ÆupæÅ“QÈú…ZˆÀc€†Ú²þ°°ôßú‘Üëý‹€Ö‘*O±‰®[°ß—ûƒ–iû€ë². „û›iº1ò×íRú­ˆª$åþåǦ‰ð# +1€ +€ÈÇÉýÕø‘ûkf!¬_Aø¾Ææ#Ÿþ#uIX¿ïÂâ±þt® ðqQHÞý3[kõKá @]@DÖ÷G¹±–i· ÷'âûªˆnËÚY€zòÛlî{@ý?¾ðP‡ëçqÅõwßìo' °þä=k¾/É÷•þ« Hé?Â÷åþØw÷—dô¸´ ÈR’° H{¡k¢„áûJÿQº¿C 0¹Ž@êü‰t÷„ Ó"ßZl û›ã« ñ½ž§´}L჉dGÔEÀk?xM]@F7A$ëW4ßÿ«Kœû·aÀôæ„ûƒ¢¬_X €ò¨û—Ä?ß $ Ô<ÝM +\âo  áM DU^ªÀÒpd^ïÞŽÔFXæ~ÑîcW‘¸ðçhüÐðÚë^ÿñ…‹o^x㿼þæ[o ðºøãó½´´ô£«W—hôÜßUx8…›£Êh¶4ÜKDåj†¶b¡l*P!-?eÏîÀâÈ•‰~¤Ínžî,Ûi§ ¼› +`2;5“Ÿ°Kpù7(h8fªÂ'Žù!'²"ò¤1k» \ÎhÃÉmšL+ …] NT¥È]©„\Š`¶¢ÚÑñÉú—,¡=5;„ü‹=cá ×±L©šÁLÍéŽØIWÉö4{Ö.–F¬áÄ“y·žæÚº±e´qx®[Öåi:y®ë'°ûØm–"”·ÄÖv€¨âéô½_hÍWTÓ ßc·&E›œ±±IŠÓ­bõ±¬Äª"ÙÙü²¶ ¥‘ a“õnJQ ¡š;XEäþJÿ ‘û'û‹×P@=î®0 ZåáŽ;d—¸×z¶†ø©†*)¾æâÿŸµ?ŽŽâ<ó|qþÈœ“¹»Ü3Y_ͱà…÷ZƒÝ;:öèD¡GŠâŽdá¶ÛˆÆm 5M„Û’……e°0¶±–Liý’åà LaNîo•ø|¥ Xúj¬ß ÷ç8Ç÷C‚_¤Ä"žÎþ-®ît2P1–÷ç-ffN1@q"bzòVÉa"ư÷åÈ i+²~€ÀဨHL×B¬ÉuÅÑtÀÖϯFTH©™²ÿ>;Gì³öÍú7?\q°@JÝ”YCñ*¬¿íóÍ +ü•£Ê‘Ñžþ¡.@ÅÆ•[`°"ö¢á ñµUJF)nãOÚ)ñ»b¹<2ZD;Ÿ¦tŒl®Œ<ÒS€( xÄ$£g“ÆW¢•6ÿ›ä¾¯ï ÀÎgHkR0ÀÀâþ|Êv_Ìí•l=1˜í^@Ê, À÷'üÇF±~IˆÂÿÊÿe¦TûãþÊ’È•Ê=#T:Še1€ +î/ |ÜEì/¹$ öç]’œ_P0zc’õS¦nHËúI(-ð Þ·oÄ÷Å€¶Ûì„°+iúc_}Ê…õãï¸ÒîgË“o¸H@½_êÀÊq%rv eX?¿Ìîírª +$Æõ»ûÏÖ(ug4Â÷ÓËÛ:¯G´ —Þ ð @q¥gTdý¹¿`mèâ  íæÅX¿àâ-Y? °ÑŸáJ ÿÔéŸt; ø –(öWçOpJ’J–阙¹ àøX?¥ËžóÆ”na÷p÷I±?b6°~sÿŸ‚ +cîÿð@BûI@2 ”û['O¥ƒ:•¨^Éþ+ p6ØÌ±û‡Û'˜ó*(®³$€†dÐõý±]bÇÚ_丿êfÜ¡‚‚?F]@þÌfs>h¾¯ðŸ}'÷·Ån)@²»€í·JæS@2P‡§Yy¸]Ö_`º!!6À±@@]±O…Ÿ£<@Ö¿áÁ%mLm¯pàþÊl ›zXyaÀ—Féî/¸,ð€@Â÷‰ý)­²£Œû+ À÷]ÊTÚÚn-àþT°~Ð[µ +?ÖO@‰û#ÜŸ߇Rdý1øsÿÍyw;Äâ `x[~óö( @ÀxxPb1@ƒMuŒ¹?RìX>›…-&ÓG¾ýk€º€Â0ëªË’]@_VÂýe Ð?ˆõSbýÃ;vQ"@àïJ5¥åþ˜2±ï°pFæø– +4g¬:‚ÌèCÿr÷GžˆŸ¹?y¾ïë ëïpûèŽ]û^xMMÏ ¤³+öON¹œÚ«Zž`O¸?¥`f½>Kómý\* ÃÚÏ€uþp”:Ⱦ’ Žø>`+Ð A¹ŽÍ2…(ö À/Ê$„1~Ç¡2aë—X¦@]@fýiDàÏD1@(–°B¦õã×T¬ŸÀú)Õ4Ûý]J ÝÃ.X¿JÄ2g iý˜z3b@”àþ`€J˜3J‚ûG î?qô "ðG³39¯ Éåé[ß@‘õØ)5öø0,Ô1€)$ +‘ûû‹ ÷§â€dQÿýÖú‚¬·„Éú ÿ©8L[ìL43’ûK´"¤$@Ö¬"ßÃÌe%ÑœñͦØj?Ì÷Møº¸G¥E€ÌNÖÏB,økÅw‘¸û#ÅþB£2›ms·úìoqø@] % ÷—ü +;À€û‹HÖ¬2€$Ô„ïW7ç_¤ Rpÿ¨èߨE¸?r÷G¸? _}jÝ'¨ÿG’ûÛþ ’HFsúGÅûÇ(‰Íu¡/*ܳá¿n—X¹BqãÖ<ùÁè£Õmc¥õC¨LB°~hÅíÅ–V,fu¬È?*U*+Öô·|¡ aÊvÇ…å¹ÜÊÞâ=cT7•[Ñ[-¬¨nÛ™+éßÕ½váÎêÕɯ¢Ôi‰î¾ªÒ‚UÊî»Ö¹|UQþÎ>Wú¦|BÅᱯ¡/9üÊäÔÿ3­ÇÚõ<ñKS¤Ñmcߨ»Ÿ86ùáûºÞ_a6À¦±íðfðÁcO”)‘î\ˆÈ.Õÿ#ɰÐè¶|Ç—¢Â-ë×9°Òî~l*”2¸?¶®Ž Ü-'-H”©Z>¿¸¼!KÙ¥ÝuûR” £°Ù»¥Jëê5ð£%¿j)%vß•|ßhwûp¨5<¶æ®§’jn,ÜÕ2òØj4´%O©‡À¨áê1ˆ9ñâî„;ᦚR+øŠJnõóAÖÙ¢ûBZÂùŠŽ[R¨KÊDvÊwU3ƺ{xËdg>4þµ÷3åxX”’å:Ê{|{† Áª¯¾v$Ö„4y"øþSo½}™>ƒ4Å|ßå´øÉä䉉S§O"*÷ûtM;8õ³c4*¹î¥æÚ}vïe~£¹ÿÚ6$sOJ'K}ä&¶ › £_wORìÏ¢ A¾bCwîÌÖÂø‚×÷o4FmÚ˜}süþ ]ë6`‚Ý,Ê:ëƒûGeàëÆ cŠ$¬¡.ÐébŸ-tž€Õð_Ë{$fˆçŒ®6B€à2˜²éøÎ–•ƒrXiDTìîAìëL{ªûŽLe8GEXBä(zrŽŸé™Aó¨d5¬S+:¬$)Ym?ÿÁ”Òú#6ê¹£uðN‰-6¶}˜R›N›Ñ¶d¼q(õ-‚.µ“Âvˆ6µnµÆá Yo÷ÈÃ*~ËsF¿5Ý®ìalkî}­çö0Û–í«cT·|Tƒ*„ò…Üc8B‰v=3šíJ@*|dóöžF؈ ­¿¥}á—²Ç)#ˆ@H" ù©Y?o¡JÐ;0R¬Tq*ø¾ 2-—Ü à:ñ+áûø;°î—B€$딹b% ¬ŸLÂÊ`ý”èr˜3¯ëW9²}½ø_€dÖ±jFþÂ{Ò{ï )¯üÝäÁïÆ÷€ÊK€—–ö¡A·ÜÙ¾ÜdñÎ…C)Æ—[UîY>ô@.³,uýS:°’PZ¿Ê¾õ+ˆ²)“X±š·ÂÕ½vÅïŠB³€qÿpy)»<Ûžéém£bÁþÚVD8¤$Ðh|aà’Èu¥ZZ› dm]€ÂªùEX¶«‘’‹õ;ÌúŒ6H;÷@©. eÌÎv`Ä÷Yº2NŸ>…û‡ÛŠÛK HÀ|?蟽!÷—¦§ßpzó˜ ÷Ÿù…ÝàûXžÐsg+Ö/Èôo/}VÖ¯Q@lüëðýþûº›N6zê ÷GfÖ£¡VqPw Y¹æÁ¸åÝHåYX›Kó31T"Ÿ2O< Î&ú¢‚ƒËÈ€áŠV…œ6C€Äº…XÉǸîõãòTdXê¤bŠ`$ã‘Û¥¤œ†Å"ï³B|î_\Ÿ¥â ’]žv ?TÚ²­Ÿ±zb€mÆ`ýrÿØú5®Æ¬¿¼!{Gù“íJS&`+3@¿:lØÈýÿQ”É»Ÿ">¬ür¯Kã4h×7Ç‘m}¬ b@´•´IC ‘ Ã;l°&Pì/Ï­Ë’páûHIÖŸº6…À¾OìO€[¸`?"  ÈPïð£Òl`ý’b%îþ@ª%+iU‡ÞŽðý=ûö!¬<„õÑ+áþ¨€™w”HSNO[r€õ“hþ+Õ@îuþ$3€ï“`â€ú€Ðã@]@”u@|)H€¦cýIHf(÷D¨Ëû#µB¬Œ=Qõ‡2]P)ë'ž¥B€psVßwàûž°5”Pºû#Ü¿h—M˜dý³€õƒC1@óÊÀý±~àBü‚z4üÉ©“ßwáûgþ–Í­×ûžyK»÷¯îO*ÄV (ñ}¼^RìÏvCšÂ¢@)\ ÑãÆ´Ù5XSbWû‹Ø–G¯|Džn +®ÍDZš¦Ëúåq>3óÈe¦²u}Ö&†åDÐ<>¾/˜ÇÅî/`7JøT4sðýd`±ÿãöx¬J°dý*# KÞô8ü«“Ûb€P§CO+‰¨'3w„û òD@ìÔÆ±zø®x•j`‹Õ6i@ÏZ»Y¾ÆŸEîþV‰³+*>ݾ7ü +ý.¬4~Ž6T¤G +5…‹4´:Ô›ÌäþÀÖÇK«­ BE?P²a $Ð~©@r¥~ïªIÿ©`÷v¡E€‡ÿTI]@…ÿ ˆV '”d¾˜wÓWì?òØWv}sß¾/M¿3£RÖ/ÉúõÒ¡+š)üOÁ•ÉãSWÀ¦±íÙ›RmqT¬Ø€»|)œp d2qMJïÀ÷CçŽÙ|IwÈå“ °À?ž.¨e+ö7÷3£:h¢0@ûH@ãvû³œÂY]@bU%3ôU7"Uø +¹¿•á9‘Q/Ъæ.Ý/:ty€ï ˆoqÈú¯ €Ã?ý½”èäßOé+Ð{|€>øŸï¡èë?üp׋‡ÓËSù5ÃÛÖ!±]›^q½|@ïúÖÊ—V`­SÊ~Ánƒ¬ç…­ìå#Âc(hxs1ûûÍÅ;;PG÷u‹æ1Êo”€MnE3K+VZQt7Ê;Z¬2Ëv\O™/¶”Ö·#µéRÿr›CåÇŸ,>ÐÅ:P~Ž<܃¬#"4Á­áÒÄ¡ØY>*…&T\“N·4Þø{KP>ßFYXÕÖñ…¥™e˜~›.U˯ISfoÂîÓ™–PI\P¨\2zI¿²¿ë:¨X©Ù¨„Aè¨÷î ;Hgq}®:bvÜ7 Ñ©yMìã|nóK‰;ãÁ££ûÿð.oQÑ<6[üA«R£5ŒRuû`è¾ÇF­#%ÀƒQõhH’ÜÊÜÍ‚};9l燃ÅP"ó}Œ8œuÔee£ÛÊ64vC*÷>iüé*A ¢]z[«$(¬Yføo¿+aˆZ+¾B«Á:hm‡Ð½á‹p|Û2vÜ®í²å‡g!øogê/BjضXÛÎ‘Øøƒ#öDB¯äž’û‡ØhEfÐcÙ ­´ç¸--,õÚ6˜"ÞÚ.mvmdý4Í Ÿ£MGY{, e² lÞVÚ¹{¸´¦aú5i4Q¸ÖŒ¯ÖjX‹÷2ô>\@~`˜.ÖßYê§Œî„û—îÄý)@¶3‡Tº›w‡eý¥ÁL?)¹¿0ðO`ë|edÛöý/¾„êT9ï…|Ï”8°‡7aý¼.úÈÏgÎüÃJ$èuv¦¦ÈþËEH–\xЇ¥Ö×Ô?œÅýjè$zI |_†UÈŽ>TvàûßÏÒ”ø]im+h6(ƒ9šƒ$Å Á";Àý©àþ½ØSÖ/Xô½r©`ÓXiôñ²ØlÖ/ј¬)‡ ¥2”sP +ÕõET^ϱ‘‡Itä›”ø~ê†F€orÚåŒ6•¶.;=À´Jpÿ¶œ=¿X¿—Y?šy÷â¨?±/j Es†×%ÀËâ(Üe· ‘³‹X¿3@uJaUÂ(O|Ÿ½Fßg +1û˜=áì#ö/ug€ Oç{#—¿?:KliAp|½E© +ù‹ÒB"3 +D±¼›(˜©þŘܱþá-„ÞÑ弿#XáÖp¹xÜA)k(ŒlµË‰C=Õ„CÃ@pãÛW(ÔÕïu—¤Ô·°,P_¤5Ç÷åþ=´Õ|?é—JúTøº‡£“½X¿¾:l|³xÙ=¾$¦0]HcLˆ¾Ý|‘V’/Ui͵‘ù!”þC˜UÅú€)þ-T¼°nÙåi ØCƒç,ü¯.f9¬€Ù‘©‡l#€Ü?Òå3Ü_0ßß>Åþù0ÊÓPª´Ýy«x_ ÂúÉ`fçHfTx«ùÆù”0€Ö&™ :¨"u\ŸnÆ^-±e6¬Ÿv@é@¢Ø?H· R{¢Q +,Dˆý5Äþ.ÜëW Ĥ éW+À÷;:— #Árëâ7Z% ÓÒH ÒÍ ¸?•Ìçæ³ÊÔ óÈ”L¿3½óÉ1¹?y€ZÑı#ö'މ袶”P˜=záûÚ¹µJxùBê€ïK0ÀM_¾¯r6À®aŠgÄþ‡ºÙôÅy€ýl]¥™T`ÀÐfÌ(ºÿ»M{)õA3 ˜”ü+KR™”ùl0Çàõæþ±Ì|ùÉfÁÊ4Ý&†  n9ÁæVs\˜ wv µRÂJg€ þx"RŽûô]î§üŠ$üq­*ù{š$ë~c€òÅþŽå^ï°ýéb¨1S1/ªgõøQîûÔã޶³Aè! Òõ–¬_y€~ˆ~‹vœ­Ø}]ø>ߨ €åxÐ&i³û¢œCà¯. ¤Ø_¨€waýÑ#Ã`@ìþùRY@³ ^ ÔugEÊŠ™®HàѯîDû^<ˆ¢cnÖ«îøtM¿1À0ŽÆ“ožBò€}û0§ G‹‘ý_üª€úÈ.Ù4;w9ØÖ +ÿÙgêÙp+ Û´y@ż/‡„¥º¶‘÷÷. àû5س¢V4£ü-H‡±¿Â¤ @í,Ù„ïÀ3ÀÝÿrH·4^Éù¦o¨‰ðßÅ7J$l áþ®ø—šûë°Bÿa€bõãÜQ¡ áþ£W©|ýOþ±)¿µo7mcìñÑ£¯¡²s×#jW¾gÌ8uê$b·j"…ÿ¼EÝC]«¤þ¤žÙ½cÀÝ_ÒáM ûÓlT +Ê8αlÉvS\—Ñ#¾÷÷Kd÷z+É–ã‹RÆ`ÿÆN´Q–‰%!mçÑmxGˆL·Dö!™ï‡Ÿ€1ÑÚeʶ>!ög¢>n?*Ãq! ¸û'»€ú‡;ûˈýâ/ÄÂÃBB%62ûÆÃþÉ À*³º€ôKýK‘÷ÿPZ€?d%òðŸö¯‰bƒÒåìM) þ—Ûø™’ÜÂþ¯6²~Ó5%?Ä ÷W’§£˜ÝÇ̸QÿOœˆˆoç·³ìßG–TßEi'øî·§£˜Fu[4‚}3ë›ò½UÔûÀcÅä­ Ö¬(õJýCCéeD¥ÿ¾Í®ê¦­.Ú¸4üøScOïÙûâ¡WOœ"޾èõþ…óïž{ë³(²äð:ýæiý“x½õö[§¶òâ~üòÀðËu˜ +Ë<~⸤Ñߑޜvzó4b”§ÏÔ¤#¿zÿè¡¿>¡~ü+èP‡€Vÿà_½˜éJ£Ñ?ñ j¨”7ØÅÀEL¿Ò²2Œî—‘‘Wª…î[;(ó…šÁi'¥]ÌuÇÒRŸ•hp¨˜mÏØ`žÕ¹Rx¢@ÇÍ×Sé%¢¢qè^(´ÊêýÃåúìNŸ½w·"_]ÊÈý™HIË“ˆ²sùæ¾{:(­­ÜÏ¡nç»ÐæGŠc;ª[¿\FKvT‡ërù&dWóæ›xÓÍQHî»4W*Wò…Umö€J¾¸¿ŽÔuërW¶-íÊ„«¥Ö¶ˆ^‰þíH£t¸£†ÒJÅRþÐ_¦ÞœtiïD¯÷/¸fÞ™BžžØúØJ4ºµ:5=±oÿ.*Ó3S£›«ˆÊWŸxM¿9A©%o|óþï=—ÍÝ8üPµXÎS)ßÝé*ÜÑÚo§Hφò½9Wõ¾šä,ROe¹ +¹‰˜FVÔœWê'´Œ¥ÇøHî(Vˆ,K°ÀÙ¼O{™·¨¨”âØ"ÿÞÛt–Ð_²S¾”Vá#aä¢ ^ 7¥°åón08I¿BÒÚRzИôdš_~uFÏ1·ŽÙPH$b W,Š‹0G_ õ/…~JäÏ6ñÓbåº3´O~ŽéñâÀ¦nIAv,Ä?ʾ%X„èK1e8T$ÍÀÄ ±°]H`SEüX™¸­¤ÝC%üüm6Q+Le0dg‰Ãó{ìçºì:Apâƒ0 + ´ÎÎê!b)ÊlÛõùU-°SE +×” 6”J[¸v@el'2÷GXÿPÀÐÿR˲X¿ºtÒËs³µó;5ŽBÒK¦/%MYN½q +½qêM) {Åî¿ç›ûøï‰¯ïö¿ø¢ ‰ã'ßø®“oœB,2éþø>zêÙÝèÅ#Gw}ÇÎ0_¼ôC°~ +R=œa´T!Ób¶4b"¥ò€}v÷ÏÒ€±íÕápCi וVhð÷R¸ÐÈú b@°~JR`©¸¶UîOIÂnü äþë—’@Id>·0uC Â (¾ßö…ë» d?€²- +xˆ†B¡ÔYHKÀ óv;ÛA ::—&°ãÆ•ª.W¹ÂWŸúú×ÐèCU×øWG@~àYîïÂ÷yÙuâoNH/½ø\X¿@6“mO?dØÊ÷˜ûcÂûHî® ŽEÊK ´¾ír`¶:Ø 0ƒR°þÁúÙ¹”e3Qá°Üë—hø¾Ü_ a+¬?˜µnL„x×¾1ŽsY”}*ü™+,TÂsð©ˆÊ莲@+ϯ I+^v¢X>±!?~>6ÊJš™^ +ãÏT¶œøO“Ñ#ö¦•  ”íÚÊİηØúÅÛé¥6•|£ï£Aò€­‘ø÷×:Û[Tì+î¯Ò°±H|©@‰ïSÔXlÒú]üë;YP€’€YÀðŽ]¸ÿ% ó´rÏäþßÚ÷ü7žÿs"+Dd€bi¶õKx1Ö/k–õ;,ø/ÜÿôéÓbLŸ•ñ§wÕY¿¹?ÿž|ãØä$¢¢oA“'âü੷ξ% ’€+gï½u;•ô´Q˪öxEsÿ ³3aß' $+{3Hïøãþ6ŽÓnðõ !@쟢"ë2 —DÂÖh[”µþŸõíø¾ÜŸÒ|³2Y¿äî/ÌÎ2-ø~k6ÝÙ}#2ßÿÜB` X€õ3§Í¼&·ô³)…ÿ×Î˲ˆÐž²ã‹)f(ÓTðz¶†9~8"X%@*ßo*¬iþ.LK2héèßq=÷ÜÓå"áíù!7e$2…ÿ’‹ ë—ûS*üqÜq°)ü§"pR‘õgo²Œ„þ+øH™_•á@Ôˆ¯Ê†\.”hŪ¥rÿ+@Ö¯ãÜÝ_@ü‹“ªAI»áþªU›wþ(õ‹´ìÃ| +»ÜÝß ³VøO‰Ü¬M6BÔÖ-\2fNg¡î¦ÚCðc;ŠÊ$–¦_¤õWà¯eâþþä2%¿‹ŠM ¶.Qg +0„x_lp1Ew®`w‡Ž­¿Ú_b| hgy%ú7ÿ©ÛÅÝzŠý1!ð§ ˜û¯7ê`ýu€¬_%^/°}DIÖ¯Ÿ|q`ø ºï²@çÚÔz{oÚ`s|ö¹çÌú‡†&ßÀí§•P‘ûKÃ?•¯ 9\Ç^?~9ÔL9!þõ$ÀÍ ˜ïÇ À÷ ÿËÃT”ì;б×ÙÅŸñ¥ÿ0€eº|™H]@Iˆç/œ¯1 H Ô ¤  ¶¨Ë’`Šd=?~Oÿ¸ÿ‡Š€ÂO)¬Ê €òwI$÷wÁa@G/â”û³L€A ]€Žû“ +p¬¢¾ÐªØ%»€Àáð5á?êè²AºÍ«$÷—û ø>J0È÷k•evÒ PÁý•P*Àý)ÿÝ3_ÃúU²_°þèKtIêü!ü§Ü·R/ÂÿgÿÃ×’@ÅRN  ’<Ÿ¡G¢ ‹}äÊßa³G`@e˜eåÞœn9I…ãP"PÁÁ¨ŒÙ­([2á\e®`w¡ Rª,|–²oÀFñA*æ ~ +#?ô‰c¬¾sÙѼ…µ!š`e”ÈúG16hMÊöT²è$0Rûq¿æƒvW¢¾o³E ›ß![àeº€<üGŠýõ+|ö½‰çÈún‹ï÷¬®Y”^–Ps +Áë×Eg¬³Ü?ú9~r;lù»Uî‡:8xÄ&²Jƒàý?ˆÝõ ²~­eõóÓÙr4˜Ág$Qì¯ÛLÅÖŸ_•Í¶ÙØn@*à§Ð‘zÿeúª°bTì§Ρ9½»ò£®Üša p‰;þäèÀ‹ŽþíáSÿ}á¸ÿâÀضQ*ÓïÌ4Þ.Q9yú-×ác“O}ûùL¡Œþúµã®ÉŸžœþ‡·$=‰ûÔ›Äþ§Ný½I¦ü§Çí±Ýñ-½ÿž8yB’YOŸ™F8>Qý7žÛ7ñêäèCv ׾`&Oœ0…Ͼúw¯ýÛ£?8ò×GÑdüpðè[NLžœ:ÉWS°±'v>z”òè+“ßÚw€Ò†ņ’Pxå +9¤Æ­ËCÔbçM85ÿ*;ì{J6tW½:Õ Ýò‚¾õmrÿvù¨¤ÝŸ¾!ýýLËïÛcå)É 2ˉ©[8ª)u‘%ê%À—û¯·'>Jöì—{¢é•p‹]©¸ÖeÃ6ÖŠFI3âà§¢o~,\@´ÄÇý6 Ȇu65hXgKÛ]ñ´Dâ'ç +6´}…Ò $òáöánqÖwd—H}òòéBé3Ý«š)ƒìœðÊðX`Þjë\ˆXŽ„Ã‡ÿü»Ó;ŸÞú­};gÞ{¼zô•ïÃìêýeÊ#‡‡7/\˜yö?S™zãðèCEDeìñÑoýŸÏÒ~©{mâÂ… ÏÿÙ7(ùÔ±×'(‘Î*KÓïLHÏîþZGwš-SZ—Eŵ5å‹öPr)Ób ”ýB Jã¤$0´#t:±ó–¤60xo©§§mî¹+‡ø”ìtÖù)+÷åºWY/%ßKX_™Av–²=U¸£¥xE®+[ <,÷”ºFFK¨wí +Ju>D +&)´g‰æQé’ôpyI¶"]´œ¸w¥\%ˆ€ª;¥Çþ°7{Sfu%'õ߉#¥2ÔéR? ’¸Çåmøó]x}îSÿ*ÛpM†2՜РKQfyeãµYÔ|c;ðµë¤"‰ˆRuxEMá{¥ò`th[…C;V5ÄÝÅÞVÔYhaÆûX¶0QëM£|(œàµŸŸ ž5[ÿF‚}òÛnëÂ% Èxc¹» C«{ÛtÅ%„ù•­‹¨h‹Qކ}„6‡gmzl%²À “ö¸õQðÒ_‘ìxð×Ì4º2ŽLžÄúqL*õ?ü•$pX–”@äþoFÖïÀèeÐæÑ¯OÖ¹¿UNNI`@K Ô@îø‡‡€J1€ÕÃý…±Ç1”8ø"¶ïØ.Èýë°òNsyJvU6²3¸?¥b º†H±@ €üíö8x@dý’îð„ïó¥€&˜õoÎQâûjyuÐmÕhpÿ­ÐOK²ö_ã°».Oµ¶§š—-ÒËf «Ð¬ uÝbWKºñƒ`÷/ôÚ )]>m×Q' ÷— +Ø&Í,oÀ÷q ÆúeÖ²ïHfÐÑDøþ®g¶"*¸ÿÑJ`|Ç(%îo•÷/<¿ÿ£Ûª,Mw”ÄúG>tøy€w³eÅqRÒ@õä&é"sŒ?ˆ +wµHI @Ê.Oפ‡ $çgw ÜáûÕáœ@îOßǤ€ñ'ª¸?H ¢ac¬eG¾™5§,}©ƒöÜqó’R•|ié¯ +Z”pI ~K¦J /ic™U¶»W·fÚ-°Í­H#\˜²¸¦ëÏ~æa½—X㢠’õKîþ•{ª²þÜ-y*X¿€2¿ßQ,w]£c¥¨¼L³@zØø½ëWhóê$Š1öµ3€Ÿ¯nÀG:áþƒ#¶Ñ(9äa ÉŽý€Rx”4(qtãg¯ØnRòÖÓ¬ tÑîÏúGÈV†‘»ÿö?ùÆö'wú›W¤šûãªÉWìþ³€û{ ǬÀÞ¿<êp÷ê2I.ï^„O($žP‘)' çC%?Ö¯<€Ã› @æèÙ•þŒ>n#‘†ê’"ÂJ{Ö½v÷€ïn,"*ùž¥( 1€oté]‰ðëÇô뤡À¬?  …àþVy¢Ü³¶Ù-nmFãOW)+÷Øâs·¤¨ø³÷)QOÙm¨Èúu\f±¢´ aý\HÖ/¹û'0uâ Ö/Pg@Ã"“0°ºœÅú¡/|ŸƒNð»£ÛýÒCìaàbˆˆ-õÃ$HŠý±r»>ÈB„ˆ#fýbQ#ˆg&ùb+Âýs… ÖïÀRØb‹ÅúõË:œý¢ *€­O~íúÎÁ—þzéȈœ /û›W¶ŽÛCQ"%_îþ~8‘Àøw:ð^ i(·Fã$ ¯Wà¥H0”0€_}+ Àýž8Ä€(ösZPÿÏžï<Ÿ€6Nô +Öÿ£×ºkÿÅþ’п1W—È­”È»€fÃúcD7I€ Ü? OdýæòÑiËðúd ÷—’mEíF@]À÷åþmMø¾wåKÑMßP¶Ë$ `ýêò. õy` èmv„ ePÀg킃Ý(BŠ dA¿6ÐG€„û äu@² ±÷)u ìS@þퟒÀŸJfYZ]@X¿õÿôtÈý%vwì&ù¨w;hl‡‰$ûKäÉôþKø¾Ü¥[kjnR¦½Ñ¥ý‹`€@øŸ%? QK÷§òØöê Øµ{XÖ¯. Ù2‰!²þÔ )teþ RžÔ@bË?YÆýÑø“U@fYƒ@E»¦¨­4þD™’ØŸãÅ3 . …ÿDv|%†ÿ[%îÄÛ\ +ÿ7ػꢔû“P:º€<ð$ .@|‡3«Íb‘u>óV]ôÊë½ÄUŽ¿ðч·û<çÏŸÇaÏ;7óîÌÛgNO¿1…ŽÿdòôÏÞ˜Á²öÆÔ;3C[ET¦ßÿð…¿™&NL¡Ê¦Ûó;¿sð…#ǤÃ?ž<ñÆ›,“—]“Wz¿ùft¦——ÑÛ9[ù×¢ŠÂv‹ÜCÿþÉðx^úËÃÛ¿º“ÕÞ¿ÿ…㯟@|êèÄ„ÔÄ+.¸UÓtM=½}Ñø’ Xg4þÇO£\©LÐû[ÿrñœÍó±9Rfy®tw®úþ5m´ýÝww z{Oo‹"º>Hâ-fМ½ÆeÙòÝv> +Zä{ŒˆÃ’Òb“umR©¹Ëß°>[ìha¬Rß`RË&AYqûR¿BT†Êl[°­ñÕÑÇŠHÍ74Y IŠk—j okÛâp’¶I•Žî& è¸ÙÔÞiÇs®`Th7$D†´GÁ¬ºs§´è¦T; `g˜‹Ñyfa@ÃJÝZÝG1,øú£nîçfN£óï¾þ­™¸Nÿž—–6}êgÇOž´‡Qyû·ÏÒîfÎÒ°Ï¿Ý$ŠWílÿûÑqqþüY4ñê¡Ñ‡ªÞŸ¡ÄÙ ”¥/euUۜҽ0tݶ[¸ø¶®Ò_—߯ùpÍ€¢nuèÂÝÍE)Ýœ®ÜgÏØéY“¡BÖÕ³¦Q±º¾­MEH}¼LI3`o²©«˜•K_â[¬›B–!=YÞðp^Rëíè ,ßÓX¥|±EË”2ÁŽ;oM#Õ% è̤ÎÛ–"%(+W·I#£½éæTCýUˆUíêBTŠkÛdXV±s¿‘ò¥Üâ¦V©ñÚ Zt]«‹ÿN[Â4úÚS;&ެ ô6\“B­ím©j]@©X‹²‹—,ïº5'q”Ÿ)DëýR·kø¡ñ'Æ£RO´²j•MöhûÕwe©ð[6=Tݵ{œ2ùZE|&¼Ë¯ˆ¦íëû­ ŒlµÓÚúÉ•ûº{ïé’*&I=±º +™ÜÍÙ¾r>½,=º¹¬°OKÓI`íSsL´< ¾ê ÍqgG6œ%~ùÑB0þòÁC>ǃ`¯w9\ÞðýKÀÝÿr8q*ÅŸxÙ½.@2ðÇÄUšBDïûó)¹?Ê—Êø>k~ôÚk¯}D¸®itß7Á€O.ü”Vô,Ü_{à ¹KAžÛy[KµÙìnÜ €û£Îü$èpºÄY¿¥Z!ààÜh(ê¹+ È`% ûƒ2îOÉ‘©É×ÕûÉ0Òø>î?÷Gž = g7ÒöI»]($ˆiÂýc)éãþba@4¶'À»ÁËxïÂ9 j¸¿ A_èÜÌÙð{]3Ó“X¿äÀý)× …³5a$¥)¾ +W¹9¥z"õkÞêc¯t©d +ÓYølÐQ"Y‚0jcF‰ B.R}ÀHà ‚ï§[vl‚’‚ïËÙ­ÒŦnTøv„ûS2sõ>ÛJ©î©HêñÒFˆÔß–¿}©DC €L‹ Ñ‘ûwugñý®ü¬a¯mCTÔz»o7àûó>‘qÈô)S7äÄ*¸áŽ^Ü?9ŠõKž0 Â@S`ÎÜŒ0$€ï׺§–×´º7‡â9#ÂÁ °*G9¶½Æ6î¯RCrm²¹ŒúæþÚƒ0@¸2ʤJd ¨¥!àÑÇ{)•Ç3Qp\€0œ=z©¡KÉypÝ=Í|:€$ýªõ#–[—àþ€‡¬÷sûпfO¾PœûóмO4¸’À÷]< Ð.Áý1qráK ³Ü:…€äB…Àߺ§B@¶ÊŠp9gÃ!÷-¼ i +ÿΧG)¾û[øBø/é‰jþ½šû#|Ÿx_p :éLŠ€õÀ€¬_bÝÆÂ(iëXÅ¥ðõS@¤»²—Àæ‡Kv¿÷ äyæþ„ÿ¶[í‚ ÿíÊŒpR„‰´|ß =ˆû+9ÜŸí`ÏMáû–àbáb"üŒºÀ;ìñ_¼1€FšøñÄsÿù=á×W]X¿ÜÉú¥ÈûÃ ë§ @ Jäþ—û[åâ΀øˆº€€¬ß3iòGþ)¾‹RøÆ·÷nG¥µÕ†)IÖÿë¾$Ý—C÷NÜÛXÞb ÷§¼ ( J5@wõ¡TàJ@²ðÿâ @  ‚M`ý0€Š2@¿EQí%»€ìÖ@qÐ’]¬ÎI p¸’p÷7àû¸?oD'ì|€ ÷¿ˆýãþT{ÉúÕôà_eˆI€ ÀðÁ…äþTtDàþ”ÞäP)×CfÂd„¿CðqþUEûBõKÑ> +I€>¥é²þR_'eO¸ˆì£ßwÕë—)àû.µÞd–4'á?ê­f]Ö€‰W³Ìò«£O $œnÎ+ü§¢ ë'ü§"`†+÷oXPsÓï´!™>"öWàý?€’€†kRrÂÿÒ§k@:3¢»)#÷ßµ{ß·Ø?f£bØ•ìÂýQ]ÛPÖOi}AáZ0&Ò°þÑmQ/Âý=¨€wQÖu±ƒøØ÷Æá?+3çkÙ¨Œžo^ÂÀ{ñoýxᛀcƒ2rê·ÏJÖ9>qLÚ¹û¹­;w!Ý?®ùô·Ÿ?òʱsZ:–.DJ,G^º²—¥žŽ_§Â¨üÉwï×éÔ›§ÜôÑôÌÌÓÿq·Ê¹óæ‘‹Äš–þݞݣ;v¢ü]åÔõ鯦ôÇÿ÷«¢Îœ¹s?þ‰«®Z°]½`ÑüE‹¯MQ¹ºq!Ö¯rþ§R|Q™ÿ©Åèê…‹La~>Óº´pg´3†0©ù–×gÃè~;Ç«&>òpe[‡]ÑÓsgÂë{ûÛ¥ò@Ò-Þz+:u®°@…|±P&ŸVì@Åþv“Ýg8ôÿxGPÄa¹nC$õYlFŠÔ;½,Õ¿¡@eìû+O9þDuìßVlØÃ¶¢ßÀ a»¹›SˆJÇÍi»¥”iiµKysëîoëZÜvÓbìEí¹EÙöÆŽ‹u&À0*]ù&I!Ã@trØJûw•uMP!ö7èaBÂÍ™å O=›8_•b"$œ§ÝRžWÓ奟·ÿá4‚´eDåÜ/Ï!}öü«¨tÍœ;«®$DHÿ´£¡5%6ÍƲ¿4œ“øWFfGuü¼Ízc˜ŽÓuUî3õÞ§;ÜýÕä‹•ùVîé$bÐ/®µq8ˆuÐËp?]Oäð°JœºÁ$*Zg› É$a^³õ‡ë¡7Ù²†ÂãÐàÆ®Á hèþ.D“%´ßØeb•@I •ö!æ âß*©§Gô(ÛNJŠÊýƒ– éjXÓ†®Áí^åõD6¹Â ²¨±)éÓX9QkcS[#¾ŸêæýÍÅJùÈß¾, n¨îÿÞ7(SMéLKnÉï¶-Lµ¢ÚBl9щ–ßÚÞQªtIù[²_FTˆ6?ÜGâ‚6õHY;BüTEÕ¡‚Õ·ç Ùê€2z(65[UǛԟïW ûEa”ìGZ˺¶€Ý‹Ôn?F¢´¶+¿** ?¥nÊñ£¬R’Çtñ%îO`g€Ù•a}´ç\xÿC¬_м?¼"¿_N‚Ú‘à/¬Ÿ·x=@’õÀ½/Æ÷5½‚õ#HÀ¢BÄo/YäúøþÏN©’ Ñ a~¤ø¢Ùp OíÞƒðýÂ%4¯¡aNâ…û_õÛ åééÚ”º¬ÿª«çSq $4³æ'pŒlYMWûöþTð}¼^÷ÝLß`O•BÑzõÇîÏ«َżÅÒ´Seý€ìÞÝß–:…Ì÷ï¿'P€Ñ1öãýr/­ÇÝ!0Çý)±u|_€ø¾@ÖßÚ¾ÜQIvu÷Øù^{L<çP÷ª%ø>™A¡uÙ@ h èGÀ?Òà ê¹äE‹Îþü-¹ÿô›Sû÷Ggqv6?6‚)ÇrlÿçXg!Ò53Sù)u$°gÔ£ä 2X¾ß! àû61”šYŸÂú¥î•6ÜËzÆÃžh¶Cã{A³ø +ÿ¬` LÀ\> ΀äÌ@4B¬ X¬¿:5gìè¿»]0 ´W×gq*}ý&v¥µ­@aUØúF[O·C@vŽá¡ÜgZÛ#ÄF߸Ënµ!@ÅÓç|¬|øáL¨ø¾/êÚìüO¬\”ÅúG·“çÝý‘ùþÃ}R©Ú†ÀÎgª’b€÷whËÛöŒyàîtôEÃrÚ ÖT€áÍåᑊ@EÖ?°±Ç iùÑ™d;—u˜ãáÿÎ +Gw;à°áàñ£ˆ—¹yâ5yò¿Â„ï‹T¢9ÂKîŸ ÿy)äWÒýùWƒ2#] v¨³@ø¯ À…ï»ü]îæu’›{ þK~{A" 0÷|fJàIá?  }SѸ7üÉâÁÀØŽr `?aýú$˜àþIPâûTf@Þ¢´ã*Çì ÷w`ýHI€"P¤ ÷WP—Xì„û“àþ¸¤ù~À:1 ÈýÃâíÄ@ðzþ5ë–¬2÷—Ô¤“X?'º4~Âÿ䋦KcÌýßœ¢¾m=@V +È*p"¸ÿ™8E‰ûcýI¨´m›èëOf½!®¿ß ]žKÙ7ÀN ^¿=E]7ÁúÉ Ñ‚ŠbÜ_€Âø‹o"v¶°@îåñÉ–À%9»*æïñ ×’ 46è†-ÇÜ_7B ʸe”Ú„ÿ˜{¹’• îõ[ìÿBÛð}BXq;)¬€àþb€UBìoáÿ¶¼‡ÿ|ɾþS¢ØÍÉðýKß¿®¦E–ƒ÷®F¸?p÷7ÅÂú€¨F4!¶°À&uP‘G#0 ƒÆý)™¢ ÀÚÉ~~$ÂO°~Ô?ØpÏzË]H öWÿOèÎÎZdpEÞ^r|½‚ÿ× Ô½dëÑËŽ½H“į̈ ˆJônxø+öçõ¶»ð’õë%Èè@40ÿÍðü–³ñ pÀÉ×'_øËÃ~u§Ü•/øàœÿ(Pb ¡!Ù ‡ÿ®$p1€RÖ¯K½t0mK±~1@?êµWP]à]@Rž%÷GwúLb@ÿâþÈ\i3¶  Ùbë—h= +ÿ.€2ÖÄ|_îo•ødR– (üW¼/HêüHÖïÀe@ìÿîE záoÞ ‚ðzÇ EÖ?3mî¦Þ˜Lvû³—S»ØÂ>^Ùõhcµˆù)Iá¿@ý?Ègf9€ï ƒ–ecÓØ(d•üm9!¢×<6[X²‹…k™3È,ûëÖ7Iû+ü÷ @À÷%Ï(‘à’€$ëFmË>Õ=ü7ÈèÅ€r%a:ấˆû×àÂûSTd.€X‚â. ) ððÏÞñ+ {+ˆýUâ¶’6#bÛRn +WÕ(P« \ÖTbàþ– &@øoeœ¨ È@àÉs¾hŽ,>~áò‘"„WôfxqðpØ„É(•¼ìSÀõþ}êCŽÁ÷ߟž¹0öÇOç+UÊ]ÿé[v†×[gßr»…ŸNÛÍŠÃó„­Bž1îô9=ö=ùps¹€Ý­Áoƒûò.¤ÛÆ©d0¨È†¢.&*Ö àt!à#&⌠ü+ÙÊšÖÞR eõî¶¾µ­hxC._èvq4­î+IùboM«ú]sç¥]sæ6Öô±šæÎôØc„ ½õÎéc¯9xhßèCÕo<·óÂûÓ”ÉùçÌ©iîÜ”kÞ'LùUTÝ0º!ƒ¨ï,×Ô[qõ”JšgûWÅú5´É†ô àò¬áñ !·ër}ƒk€¦öÀ`º‚ v:ee×ÎS×äz¬g8Š0F«äº2ˆ +A4J¿ ˜#w4<¬F0l&¶§ƒQ݇—úQ6@OéïñJFOæûñ¿¢­phé³lzÞuøË#‡ÿúhdÿ¿öî݇Jkúòw–ѼkQä÷á5¯áª†ERdßצ`ÀUŸ¼Ú0÷7æþæo5ˆøþâßY‚ uîï s®Ypu£õòÇX¢·g€ôï5ëÃúC†^'P<Øï;øˆß¾_†Nûp :àû·§IÃÀ|\ƒ>e+rIÖŸ —2Ö÷§bTÖ?üH²ÓJ4>Üß…ï -¿ßD^bCû`%¹?•öÏbÄîs`C`€•Áú£·V4 HI´~¾éÒÀýã}¦Èú©;NŸ™Bæû§#zó$ ð}¹¿09yQÈ€Xs0 ¼ ‘Ãaß@ ð}§Ÿ·p*u@:°}¡Ð~"0$@Ü ÷GZ,à³X¿Å’1\êÒ±¯…BÑýyÜý-ê Ö¯^ ø)T0@Öï0ë·"vò²–ýí)ö/W²”€œ~à˜ülÂß]I£Ç÷»o” +Ūë‘GÿÈ…ïKvQkîï˜xõûèÙÿ´×õÈ#ä*‡\²~a@Î.éâ²H×Ôä3@‚ÙŠîZjÖ¯]·dÀÓ©ÈúÙê|óÝá©Po]”µ»Ìšû£ÏŒr˜ô¬±[*!¬ß¯ÖYF$ŒYža¸D ÈÄõ²ÿcHX´^/1ÀbóË÷GT"ﯩ7ínû³ùËÝÿ[ßÙÿôîݨ«P@É®Y¿Dàïr÷wàþ–4¥Àƒë˜ëOÝ`ý<Î7™õKLoŠ“€¦¾’ˆÚ«-!ÊdýJ’Àú9´tbGáT»eü/ìëÜDlÀå­M¸ª®´d¿fÚq*Š÷õw«‡áÿ‘§Ä÷¼¥Í)üïémEX×Í–Ã:€ÂÜ‹Qøhø5ø9@· +Àý¬¤D– ëOßÐ(ˆË‘ÑËú3'€ï°þð)«8:o]z Èý“õxàîoÂ÷f½ŽÖñøæIg€Üÿ䉣“ÇbýGH“aü¨€ï#€ Žl­¬Û§C²î”àþTzChï¨ÄÓHÜë£x-$müËÖÖôêÆp×É8è^e—#ÿ°p\¾[7~ˆ EÉ®tgaï«àþTX%M¤""¥"ÈP°~¹¿å!öGTÜŸR±? 4Ä]@øÇ ÿiÛ:j>bàÐíâåïW~áþuîOø]Ѭ³^“oN Ê”|” €Šoäþæõñ=®‘Ü_`׈È6uÜEœÌ pJ¹?y€¥ýÝžàþÖ¯rÓX ‰4¹?•ú À%×ËÞˆçÁ£åû¼dÙÑK@>Åd²€ Ùtþ—v'5½˜Øÿå¿}eÏ÷öoAꨙ3×FdJ¿*dýæþÁÄåþ¤r‰Ø_ °ydý  dýè:ê` d©&Po ˆ¬?Ë© aAc]`½@—¥aýDßu@2t¬œJœn0€vÃüb@¼‹õã&xbI’ QJÉ. Ü_ððs·À?îJÀûXU@Òý,q1Ë•b2zï¢Â¿êäþžðYë +Ö껀Þ%qŒ%ë ‚õë”»ÿÔ“á„S$þ‚b÷ð ß÷. õÿ¨ Há¿•!öW©. $ÈýÕ$µžÀ?ìS*šÂç]ÀŸÝDì¯þÊ$†G ê¢ä«‘Œ¾|µ*²þȃB½0€ï{úøRø/áûÄþbÖ¯3À”ÅU™$ÔÿãÀïíB;ÿÝW&~|@²‡¯Åòšìzêßïì㊯Ký“Ø·ïÅþhç3»gÞDûöïS'מ'øÞží_yÔà¸×ï³Ub¥@' ´ØéÞ$D a@fw9ò|ß ë—¢“À¼ÿž +/Ùý…0<4 c!¼ñÁ>¥U>ÂkæÝ {öî+®é£Â2]8¶ï؉²·¯¿±õê… ÏýÌíÿþ‰ß"ÄFó.&HG ¯k +au£}•A£¦ôük›Ìs-fΫ?µˆÒ*±X³ýÖ'çÏ…"¿ù› WϥѢԤ&hR¤O*4-AT7-A‹äïצ®n\è×444\ýÛ jD²~aÀ•Yžé­,ÉIƒÃ=®Ê€=|QzÜ ÿ‹·$dåf§»¯ ÀCy3 ÒR*X »6êq×£ê#4#š -É*!ä6­*ÓÒ˜ëNn²«ÌÆž¨¢ÍÑtÌ÷·þ]M®Å,_†Å +Wì2T¤¶–ÜðÅ%©æ†\w +e² `C['XÔvSªõsÑ-£ùFûÒ°]&¦|ÂS«èöÑ]v¯ˆ$D‘+nY^ZƒOå)Ë•¢†NÿÃ)?ÈÏ;KÖª6ùÞ?ž?ÿËsˆégH‚püɘ>±¿‰ŸyûÔÌ/ÎRúM'&\ÇŽA๽O㉹ۮ/öÙ#ª÷uô…Ç-P®°]Öl‘¯M½.ô›³%åéì\^7ù—½Ã[¾ fмÿU¸ÐY°Ë©F·Ç?IÌÉXŽ-*qþÖ–çaÇiÿút–l{J|„³†j0¶¡ɪîµÎL+­VR˼/'•+™*¿7È0Pi-—2”¦þöÁÁT^“ÕíÛÆþͨàÉñ‰c_ú¿÷Ùu[¯Fo=……È‘÷î;@pÕ5v+ÿÏkšó±ÆbixÆúL~æß¿Þû³2üý›X>xá/¾5ùúaôÖÙÓèü/ÿG4küR é«lj¸&3w^jáuYÊâšáߟ9qbí|z¼zyÿ÷öh9ºÄŒu~nï®§žþ*š;¯±»ÐÓ]X:º½¬K·ØÔ,æïW¡è0’àîJðG9¸ÉžŸCÉv¶v™öˆJ¶¶ïDÚ€¸„h ™ö£–¯  ´iÛJ4òP ä‚M4 4RxE ˆÁ€)XŒ —yiP&a;ØûÝý¥µIæ.áû J²ò…©&Ô¯tîoúÔ¢:ÌO5Q2›@9oÞ¼ÆO]çH~]éS‰€¤éX?°á@¿½@²pr°†u H`t{^ñue›†{5tt¯ÊJ ß—¨KÔu¢¶Îë}ø (´9t(*Òì'0L@-é Åw° µ¤bŸ Oì±ÛÊGÀ÷¥1 ~¶¡76-÷7¿þâ@ ŠL 0Ý’``Ù ³¬ÁʖƶÜb{7·˜ð»˜B…Òd¾¿P²X¹?¿”åè$0º\33Ó0@¸$»ÿÙw¦åþ—Ò[gΜ”ê¹€$ ÀöÇ÷Y./o5$ )ldfÐ>ŠöSzÇ—e ø¾=p8@îÏÌÆÙqìï^a¯i²Tô–)^,&ê-{7tAØ¿÷uÉú)RdýÌf_ªùï *0 ÿî`Ž?й?$X“…ÖAÔß.D@@¤€“?{í’æ}"ö|óÀåðÁÿü÷?õÆ1TšÇ%°ï;/`ýî?è«OŽÁJ„ï#ÖœrêÃY?-í,¤ýÈÖfŠT\ÛÖ_wvyFPÏfÖ( UX[‡ìV£€pQ@4eVðÍl Äß™YNv_÷Úóí} +ÿ/êÀ JßwÉF%¹¿‡ÿb~zõ‹@p9˜ûG]ü)€ À°øúf1ÀJL\>žª…ÿeX¿e§¬ôYÀ b€`áu){uP ²á‘MÄåîäûr|JÂIÊ$0ýÖÏÛõ·€¬_¢‰(¿C`ZàI(—-㨓òr ÀúiŽQ2µ'¹?á?û×gìB°Ï6!eøÕ€  ¦àþ’|_¥ºŒ4JþG'’ø¾Àa0þÕÇ®•×FTffþ‡ ßw Q;N¾¼éý z, ˡĚ3í$F‚º o$;KÐv»#Ú ¾/´#Œ1ì-Y袑A³pŽ[¬_lô¤ò]7d A Á8ôo²~síØø€)|Ê*a}XÉ$0@b6¤åÓ¨$ ÷@M!üG0 „ÒÉ `6ÜýˆTà’¸BpIôö¹û'Ðúù"ph $¨¶ÂÇìáB³3ëgƒ ¶ Ô±M)îÒö´OÅ»ŒRû‘­Ít©ú”$P +dì#A|ª™òàe S.¼ÿ¡1 €Íñ¾=övö‹Cãè+ÇžýöóÃÛÆñ4ç7Pï»~U8‚íÆð @ÖŸ€2€y¿ù›ž€Z/P³1€/2ûë|o“$X|C³–ï0Ä]@d¥­‰> ä(…ÿTÜý{îhüHÖ/yÔØUIH³€ÙñåxœÉºÈwÌýƒ¢€Îéà8’ZR¦¥$ ð_%-I‰åÓ% ˆÊð. Tëÿé\œ€,^Âú‘¬9 îÅþÔ@ª€îHr|êµÙ€€.\ é~(È,¸´ûóJÀ"¨ ø»Øø6&Î8V‘º€Ø òVy´\›½ÃÖnÒtW;UÀ‹êº€"÷3rc@0qY³ê g_T²ûô¯}i|‘æ·U +°5 k«NÍÉZy ¯°Õf qÐÏr¬_I€  +Öã#¬ŸØ_úU3€K@úîw^üµðÝï¾0o^ +]b€– ÕVøbÈúUºû B²3¤Â@Òú‘A…Ò6lüè¶°6µŽY;l îë¾BB7 êŠ÷#åœóṆ*“¯¨¹ë•è»· êcíÚ <òhë͘ãUW_­á˜Q'~Ã'±È…©ÆÝpM¥¬Y]:Ñ©W »W +¥…ÏQ)[—Å ó?Õ„û+Ê–_·ÙÉÛ0]þk3ˆ"a~Ão/lL-QIðŽRË2¦æŒGú0Á¢ÌÀý=\†¨°è+Ìô#Þ $Ø’ e–7lz¤Ob|ëñJŽ7WyàóEë)þrô%éðÑhò§G§€pA¯Ý×!d®ŠuðqFT$ó÷K½f~Æ/œ?ÏÇyù›C"Au½¹a÷Ê%•{Ú9¾ÆA´÷­_ޝ2 S²Íý <²] 3·a6œ×M\ ™³13q»OÃv«Ãlƒ ˆ0oŠì;˜>uÿ—ê¥.ébXæôyl†M¸”‹ˆUƒ£…þ´™n*Ì Ø OYÈiXBµg¶‘>?„2܆ÚY{ÚïëÐ`Ê/îA»žOz+:õ³IÛîÁyžÛ÷âÜyéù‹Z±~JtõÂ4ÿS6E–]¼chêÄTdaáÅ~G“ÇîùÎN8}ðо©7'ŸBÅʨ.ˆþ©ViqSbzWaPK{¶ÁGfÞòëE&áA¬éwfžþ÷{æÌ™×us±ÿÞNÂ&¢=K£‰¸^9¸¥€Øn†^m7; c›:LŒ`ÇxØYÉ}ÁDÞ*»{…ÄâhͯÊ"*š_Úúå^øyd¥n5¡wµ»çè‡ñªc€mwÅîÿܾïîùÓ}ÅÞ>dNzMMÿßþ)˲“Æ žèÐèû!v6] õíPúr^·d6˜.(ô&Ü®ÀBû4%†L LMKQ°ò€R2°83Ðõ½ú^~þo]ÓÈ»”΀­cÀ)ܽÏàÂ÷}‰0 “À÷ø¦ö+À)pßÌe‚ûS±:lð{­°„Ë`ë„BÎ1òôÓ;€ý+˜ñ…±ðu5s0S2¿úv€l= ÅòŸ±ï[Å!!ë﹫e6°ò?béPG2ÊØYì)u`Ù—†é¦`ýÌÐ_+*a9£1€Ò#Ðàe!Â2í,%íßçç“ßHWÜÇ[¹Ù8tèÏÑG¥›5ð°ýѤLŒ×lˆîþ+né•õKZ¦-Ðî6Z^Ö/B{ ‚ïüÿ§]I`ý;wãþ÷Gì8bÓáþƒL´=kÛÍ6]|â×÷±!N»ÏšìðƒvCˆòú.*z"…$ëôßÚ`n¹?_J©wÙÑ|E u¯Ðì/ìùæs¨çÎ^$#S)Ùb¤‹¬¿aþ¡nî¯ @ °±˜Š¯Ì÷c)P€õK$ +óõ]‹>õ µu°ë³Ò*#ëÿm½ƒû«„X¿Åþ! pÈ÷U7÷g"…%“€|¿ºö8 m7¨‰^xyß%`WðßÝ•ëíÙî’‡üʨ0…².`Šëh(‘ûÇ[ 9~¬8üGø¾@™€.!±–ôþ[%q…. %b@q}šÀ?uC# "àþTtãeªÃe +ÿCÈ_K(™ˆ(0€ @±?îŸK:澯fl¯`ô¾`¯äô‹†;‡ëϹû –„—°.Ý>»hŸjk³Ë á + ÿÍ©ÍÙ)Ma¯1±]Ì ÷gždÀBäþÈùZšÂá-[g—ÉP4Ñ,^Hˆoì#0…9‘ÜÁVXѽ|ÜŸxV€¾ˆf wÕA„,Ö”þG]@÷u$¿jpõ‚–¤Y;’xêO¢Ç€óº2žÝýÜœ9 ¾@SÈ'”[\WxÕÀ3|Ÿ,Žm(¶[p@}>ßGaÎÐ_tÎG Q:ð¬ß ’ó)DÃcOT)É×þ#ë £€©wf~ð£‰ñ?Ù•__5z|D¦‡±¿¼ à‰d€wEÀgC/ÐÕ  ðñ×6ÕÀ“uÏ4ݾø=tY%HÖ¯ÒÍ ©@Ö¯3aN@vŸÔõ7¶doÉîèýÚŸ<«GߨáFúðÖ/$È—2v3/ø¤ »—Œ +÷G=BTùbKÂDëRø/(üdýŠFqù‘9NÈÀÂýa€gÀÜ?@'1 +£€,üWîï¸DÒ-€Bø¡»ÑCÖ_ ½ÿ‰  ð}…ÿÖ_®dˆ `÷7¿ê0ïðWÂèñ}…ÿ¼püä[ü‹³dýáuæí3S60tŠŠ¦ðb!Gþæz.Ù„7t°äþ`@]@Èz‚ÅK€d»,>7cjítŽ‚’]–‡í#`ÇZ>í)òø+"ß§®ŠM ±?°T rø#ÌH³«µh€9P`zH"€ +~)îo_ÍÒâðXŸßô2øîwžMZ?:{6ìÄø ø»[ÿå9Zxyc¸\P] ¥I€á‡vF‹»âërP`Ûà=qF×¶R̶¶Âüxºí#¤mÊ&»G“%3€±',/” »˜_ @îþT¬]ÅÍ`NuÛêXÙƒ#»ãËôçýÖÕè·F§4e¯Ÿ\ô)—ùcÐ"œzQjÁuK$…Õn¯€ ¨ètèÂëpó‹ &œ'âþ¡¢x³X¹‚fˆ–smS*A³xû`´ª¼¥›í†L㧯Có>a§Ÿç7.KÒË2(bϵ|>Ùˆ¹X¹ÑnÚÎ7~““n)TíI Ý«š©°œn°zùÇLcX¦~¤Ç¯Vóêߘ+ݽ¼»ØÔöÅÅ*3ËR¨¼>×aênȯʴ}q jíXÜ’]D™íJµfÛ:L¹.”‚F‚¨b%yÀòÆv3šÒ=¥‘N w÷ØEa”…UKVƃ,ö6K™ö†ñÕ Ñc›§u0RÂå/z%æ‘Sœ<9tóA4ùÚ«SoL¾òÊDezú”ÄGŸúúØÑ¿=H¶ 󯶗óù¥¨zOWß:»ÊÉ®t]“é­´VÖ·i<Œí—Ð'nž˜»FWiQê¶ }ÆøÁ ýº)M‰(;Ûž^q{F*Њìh$ܳÁ,8¤ãyTÝrJ]þŸðÇ€,xý…Gì)äý Ê(Z‹zöc'²–,‰z‹Š>b ¿Hñ‘±íÅÍ[za$cM6† + Û„Óx-xúÀ÷ö §þdÜ/ó3ùc•0V޼¤û+TǬç]“‘Š}›¢/zz|ÿó¾}eÇ£“oLH€O`Ù‹¯ë¯ÍÍÿT%ò»Îxñ€†³ÏÖtB.|8þÕ]z%AÏÎÝÕÍÛ{.øhÑЃ6êß*[™ÝóÇ’ƒøú/8a[Œ&ÄôøS šc_Ï—§Ü0š—†7õ¬¾« Q!è­¶ù¦õ(`JÞÐÐæÂˆÝ|Âz„¢³¶z]uÍ|ù¯)6VÀ•€ÆÆ ÅM‘™Úc=Q<ŠÆãkÀbÿ0Œ‡RÓ‘;»JY ‹GJÌé@!H×]jîÏ̼…ûk6¬¿á“óUÊýUþªhïÌ£¯<õïÑîï¾€ûOÍ\  +R¼awžs< €s??3óóé3§'u%çôéI—¬ÿÈ_@‡ðÂý)ýe$0ùúQÖ`€€õKXõž60€´† (?åþÁ² ²~ÝTˆ;,²8`sNÉ´/$ …E…Á`sÆ|©7)€™€z¸òËzlFò¶bC‰ˆ^™$ë×Wð¯ƒÙX «§6FÔB X „Z%Û÷w üÊ|£·¿ån^éÂ÷]W}òÆ$¢uÀžo¿ÙbÀ%ðê±Iw„ûKItÞÚ¿â–¾Kªë–’KÖ/éÌ`@ {shÛÂÈÚŒ.¦ÈýÁ€)diˆmË[#ÅÛ@ÜÝÏÂ}=Iá?¡: `õ€Èúcxö“@Ooÿ³Ï=¦g.L¼9íÂú€¹ÿÌ…+À‚ÿÐã,÷!ü”în¨h '%;Xá¿@ $6à¹Î@øÏ±”Ìáx¶{È µ9K?7`ñEp +H€ï+ @IÐV*JfIdZ=€rJd¾’æÁ÷ÅäŽù~Ü;Dìï²À?„ÿV‰€ÿ]€\~1û£ÃG÷!1 ìsÿé)Üß09ùýÃ?Ü#Éú5$Q1i¤ýû$pø‡$€ïãþ¾ÏîˆÐ&PzøŸbGØ + Þ¶/6vüwIQìÿ`Áî†_4ÀÞ,õg2Â\F{D:% +K³ˆÛ$HñÉ[“‚z|Wì?F…Ö¢ïJ½€X¸–)ºÊüÂë§|D `›ÈýÙ&$ë—æ|¬¡¦9ó\uû'`…ů„ï{põB–f â@sæ°—TmÝ’`§ˆÀ6i`€ta¬'Ûé(NnÉè_øJŽÎ1Ø#6^ ë’ÀØv„Ò”Œ?Yu¨Uè@N +ß—Ø)`và@òÖšû3OÜÿƒ¥Ô Ôä‹Öó²`K@¸?SôIhfY?²«½4&  wö`îøvY–ͦU½x‹ý#54( 2ï_мj½^0 ÛEò5úÔÚƒÈö¾ïš %£ïüˆP/Àtw›ÂÀ“w2Ü_AŸ2Tl»,ðý?†Åe‰. ÷w ‹ýí j÷¯ØiáÄþö,°?Œîdáܰ p´}q1² Há?ÂýQB) TϬ¿æþ ý fý*€P¬df : OØ!la€ À“€_ ( uyàPJ<λ;Ôÿc'`Â.¨íŽ8 ¢ @AŠý‡·)ñ Ä~d:¾(9ì“]@¸9±¹y:ˆÝ?ÄÝ¡ó±>Áú‡t!æN\ãP ]@(ØMäé’Û“èBÉ·ð¯ØÀ Ɖ8Adh9k‚õKÚ´[¶Ìåp… Ààîõ¹±oÓ%0´q0Ýœ.WŠ—Àð¶wJY?áÿ¯‘(öG0@±?‡ û«H?lC‘€U‘ûK +ÿq– ëG›€+g’ïJ â ¥©ÿÍñq/X¹Noʈ#ç æ+H2ÙØÊ픬¤èY6¯GóC(=áâô²lꆥ ®mBÊäþÖ‡ƒ‰œðZ¾—´f4¥)­­„9#ë—šþu³K—›IsæÎs%OÛ¦–e+6£Ý{Ÿ?pèð‘c“'ߤ¹àõ¡3xfæäéé‰SG_?a:Fÿí¸´gÿÁ¯>³•7 O_øp÷ /ëö„¦é™3gã{΄‹ì$Mᕹ©±ûŽèÁ•{íªQü#ëýÒüœ!Sp%W‘§o´ Í Å‹¸‹-%Å fëè¨l°¬œ +G,­P³Kо¥P²À¿£³¹TÁƒp{¢4mE æ +;°ó±öœ^»8×ý™åÙf*-ËfØN«´G!?+Üú¹ÆÜMmL¡:ýeýÉ’éíí‹:nZŒ–Á8 ÷/4¡pò™¨ô—”+”moxâë[ã½7=uâ :óæ„uÍz™žœzã𫇛G˜ˆemzêɯI‡Ü·wëåÿ²ÿð¡’ߨº¾w×£[èË.O÷Þ‘èè)4«ÌÝ”Úpo[鎥hô¡œ]÷·¾õÜÕ¢£Jí‰êÛl`•«úÀ +WÿHMÚÊÕªCˆÝ„¢~· B îCÉNwU†kÚð@Ñ¡(Hw{dœˆ4¼¥&ó‘!*\‰†zïmØÒ- mÉ» qB·Éã·Ûí²ûÚ튟“»%]씘Ò?Ô¨”ÖÛ/’ºWæüd¯0 Ósç¥Ð¾ï†þ¿$8œ:þ£?Þ•jÊ ¬£Ü_U¨¦€LJÞþ!,¢˜æ5dÓ¿gçÛÜ»SF¶­zÈ®ê2… ñH£­O55(ÛnV-9³²Á~…pÎ.0Ò‡ùùøp8ARå` @¥N…†®îàg€q¦€PY +'Ä|_°ïRÀ¥5pÿT³€Jdý¿"VÜ^BøþSÏìAv›Awí7§±~Pd÷A¸ÿ_;Ž’@øþKóŠÀÇ_þÑkÑ¢pžsûóº$6=ÖŸ¹©! Ù½¬_@82‡Š]Ì»j7VÒCäè@™å¸¦9-Èý#Åhi5ß`€â} Š+ €Ìò ÈL²~*‘û#¹?¨ÖfÞ™ä`(ù2BH€‘†s7åú×WP¦%C™ÀKžwàûI`ý ÈúǶ€±mùÙhË]¯KÁýÙ,Tðtv%[›2G ¾Ëº£ßÏv¥Ÿ™‹wµ +²È$$v·NÜfAhJk­{¼šœÿÿsÐÎÕØµIPÝ`G$€õ[ÇZhºüÚ³0À¿Í7.—Y{€.Y¿@ª/€»¿¿+<ˆx›9©›)îÏV¢„ÃL|Ī#”ï¶cP`UIñõÀl:mþ‡ ’@æn„ Ò +7 +%tÓ—Ú÷Æg‰ÙtZˆ€Š»¿Pû¬»Tj¢$@® +ÂuU Óbs[¿Ñ¬¹È” û7 ]Š”¨3‡/2ðE!AÉå#fˆa`î/ÕÜ?ÀUŸ\øñ~Ut.;¼dýž +zvÏ^‰è>²~)YÿlDÖ/Åî?9=Mø/P’ŒíÞ§åþ#1àü…÷¤$^8ø¼ÀQA* üö.%Ç %:ý‹€g4JÜ×pÐò`@g>ãîTÔòµ³þSÒ8dý8µ ÷G´'¹¿QÁú%  º*í ’#S%Y?«jø\äþänýâ¢z°~;2%@î_$ö/Ùca$0 ÷Ÿ¸û;P¸£¹½lëä›(÷‡þ=kûǞ܅öìÛ?sáÃH‰a[þ[9 F5Ǩ1`Ô”\Ž ø—Âkeñ+Ù„×{ÿR‹ŒB…&…#; ‰. $Ô$÷GšAy¿à¥Ú“ÜÑôE€g4)õÿXJ\JžÀò›‹þÉ  Ö Dàï ˆw©çGuJ›@ ÷:‚n1(ÀúI”àþ—€»?Â÷]zÕ€ŠbÿÙ]@À€ûcýÉý“€DàïJ€XÞ%÷gk#6KB) s'ð÷ù ÿ]zW³ø“HÌÂúq¨Òú6*æû û?cÅþ¹[¬ÂÌéæy”` _È|åëUJ4þdµ»p#¢’½)½ºœÅý©ôö·!üØc- +iŒÉ*k2Äþ”€\Ð ƒûS±ž—0» H ÏL2€$òk²”²E%Øt2H@î?®y éÒÚa€÷ W}²ÔÜ?kü Ôܼ ˆ#÷·þbµûS:p€ŽMÏü¡ÐˆØÈ”1àrPï?G®-3€y,Üð©õ;. ·!ؽY󢯯O‡ûðØýÔ̈UZ×bº]œeb"er9M¿{#^¿øw˜Ç|œwµX#AC£hѨK«¤ëÒ.PQSCMÉá˜sç5HÅ;+å £;ŸýÆáM°#£ÝŸx}ðÁ‡ï½]E"íý‹ïoýêN=Rø0Á~¬}ß?ì:ðW5ýpÂïöÄl?9)E8ÙýêæQÌæè›Dæ:aÀòÉ7O£·~>ã ÐÙ`­ÕЃEW9Ü´™Æ´nCÇà¦`ÜÁˆÕ¤t  ±y(ÃÂ;ÕÚY{*O”מJ-j,Þ7HXÎàƒDF¤³Ê®KXˆ)„o*‰Üi%o…;€Ú™½Ðh¢¦Cü>àÝ·7éfŸmÍ™åüû*-ñS_P„À¶–7¢–ÏÍG­í ‘â}wÉþ½)œ %ÊuÚd”ÝùšVö,Éw¥P!ßTº³YÊ.oø£?ÞtáÝiéÜÌtþÝä«S;!°³Á3ÓÓïLIßÿ¯²7e&_ŸÜó­Ýhç;]_ùòÖô ”öïÛ÷Í]‡þËþ‰¤¬®ÏÿŽhç[÷íݹnm‡TeûÇê]Ó¢Ë_M›JŠÎð£b¥¥gMkå¾NJÄî+”2ÔÊh_Û¨ªÜÍ­(uC#e÷íKÑ@"å YD…ßèÒSDz+TZÓá*Žm¯Rö¬Ã[ïÍ#*¥µ(ШŒ…†÷ÜÑJ98j™ÉJÏÚl©’ÅzÔ“3º-OÙ·>K…UR›¤2º½ÜwÏŠô2»õHö¦¢¬÷(•¡¢„¸VÉ*ǵ+ãÂÍ´¥TstÿŸH 2ûÔñU, Ï™Û8Q jÄ÷›2K³9«,ʤ—¶R¦–´,ý½üœ9”{öЧp|Ôp ‹5åò]¬võ.4¼%:m«ã‹_1Æb"ŽšêvEdß=ü­[ãµóøu¥u9ipÄ>HiT ˜²p8NS†Jôë`—¤429}ð.Wuc +¥DÖG¢iéæ]¯÷ã7sÖį˜ƒG»q;Ìèq )ÍôÈý=3b +ó‹êÑr°~¹?$ ãÓ¿¿J•*Ú·q¿=?ªu`ózOw-ýÀÜ_’õþѱ}ß;ˆïç+UJHðÕ=ßÅÓ÷þ—Chן½äÚó½ƒûþ%pøµã²þÉ©SDú‡þf÷§vîÞóüù>Yÿ«'Ž#{ìeÌ€÷â«OYÃç¾³+ÓÞ àûÑ“[6tÈ÷£’†Dß×ðÍ$¨Èʃm”Í6³k×ù3bp9†7[ãÐAEßWw +­9 5u©é¨%û=D¥¸&TꡊX@kû"ÜŸRäï’ú" t™4ß—òù¥ø> ¡,ô,qP¹ÈP 1¼;8ªÊÛ. |¿´z¢òŸ=' ¬úÍI@vy#îO‰ïçXóv«tv^pÿ̲Æümö¼°ìòTy]kïú,„oÌ1¸nÅõîþì |ŸÆ üŒ]ã¢ê=%4þt †»÷h¯I#£ë\Õ¢«§”“.¹?•l{MìJ¹ÂýÖø-¦®´dý`aý.{XBhH@TÊëi‡ö„ Pìm“ÖïôJ7YTŽ,@ÅÝ¿¸f¹=‚FÐw÷9z+£sÿ?èÁ÷C¨ŽóÊ Í©±rÜS dw`µ¸¿_Ý‚ûߘ] PGwÆ­_bðeÚq¦À»<“ƒË8Òt½ÅD¦0Ь¿{¥=OÀú‹wu±ñ:~ù8âÈ•hN€~ÅEÀ£k^ïÏÅýtÔ c Înž,ž‹H4Olüþ,Ì»ê·æÌ™S€¾JíÛ`ïþ¼$ëŸ »GWpá¿gS§ßr á»°~0€ðý{˜ûÿ_/GÖÿWNÊúÍýOLaý’€pv ëWpøØ„$œþ‡3¯àÿ¦;°~B{Zƒ0ü»ÜL_XÖï*†ÛE(%ÈOI’Àý%ˆõ+‡åÒÐR@€*õÞÒ”ggIÐnÔ†Iá¿@ìMذÔN{<ºÀÝÏ*üdúrÕ±øÜ-)ÿ%]dko%@ì’X±bq”ØÖ§…|Èý©ÈúGAÄþu. ÔÛÛ")P@‰ï³7)€Nˆ€ï' ew(ög'R)æPà}Nø>€Êî[›Ùk”•j¾¿rµ•;ŸÛ>,B{×ÈÖ¡ñ'Ç%âúšóx€dýIDˆ€´òÞäÊ$²™c.ß‚” ÆkñýÑíUÜý1Pš¨@‹Åd wE(–k#‚*wÊý‘»¿Ð´ty¶+O߯€€ïãþ`@û£à¶þ›Bì cÖ²NJŽˆšûã¹÷ç±~@…™q~fXëü¡4ÄWÕ‘È÷ãÅÚÇq@îÈL\!—ðàá?rP)®Í:ؕι +ã|ý îþæàñ׋ +~Üïu`åHÓµþ¥ÄúÓ˲M¿ËN½(À÷ñtÊù _µ`þÇ?ñ›Ñ#çÌÁýa@zyîÞ‘Mèð';~.t¾/Ø ßƒû þzF1wÀ¬?î2ë’õK²~DE¶.þ+ ø¾ÜŸ<à +û X¿º€Ì¯ý?~…ÿÆ ÐmR:’P3Åúµ«æ?Hœ’§”û+Ðá¤CKÖJk[s_\âPçe²YãÖ?úx‘ß·»ü‡. Üë–Þh×ýJ¸6Ö/ ”&ïñ¥3÷‡²~ÏŠ«²êüÑI`„õ«"÷¯dëY¿^¸ÿ/ƒÞ¯ç ’ (Æú£î‘„°~šº €²º>Ÿ€Ü? S€ ÷·þŸÍ9|_G5ò. {„ÒÛb +,ð|TPÿO8,¬?Ó’¨(ü§‚§+ü§¢À÷WeÃHR]@Äþ”(ß“Åú)AîOeð<¨0öDÕ*£yiì‰ò†óh,\38ºÍž…‹È0;)35=M‰¦ß™>û‹™s¿¼ ñ®Äëk_T½œ~v—ƒ¿÷îŽR¿ÿAvÌãøáàgß«P*~§D¥5Y3¦5ÙŽ/@ÜTÿ½+ØßÖæF{\Õ+\´ƒxáV µ­ [_-*õg³7¥7oë“hˆæB[±öŸ7Öi+ 6uç‹éÜŠ*V2Å’…<”­mKúô¯–¶¨3Ç¿ãSÊ”`ôRG—™¾|ßúÂ9ƒövš¿-m÷½9U\•)Rˆ‰ÅU©ÒþKzzš‚–”×d(³í _æ1NËÅ'~­}ß§ÔÍ>ÏéaÒèC£[·Œ¸FîDÅUyT¹3ÒÁý{^~a/:úƒ&VÓîÝ_}¨ºë™Q2€ÞÞVT]×Ò×»”²¸*].eк>²lÿ@Ǻõ픦 z\0eß=UöÅfbÉŽÞ\ÅžaòD Ë m¸A(LÎ,KUî±òåDÅv®ÌÒzâ“®*U!Œ¨„<’вÉñ£V©dG±ž÷þá®Ê†ŽÜ*ËN¬Ò•ªŽ¬(®i¡Â·óÒTˆ<ò=ö:*Õá.”i!„Çòéå”Ýwܘë²G•©[ß*·Ø­ëB%ÃOCTÆw KÙå™rm¼¿lÉõ°BÕÕð¢‘31x²]6hÇå—ï" éYú{Ù¦MHÚ²ô³­ÑµZMY—§…’­Újwg³˜)ÜÃGWð²é´=ùÉìl4v–Õ‚ª»;Puƒâm¸f.%k«Ô‡Š6¾nÅhK‹oý}ï–š´gYšÝ¦)q²×~ìÖÛ#?òå „Åñ'Ç6?V­ åídþ¦R®+;¶£Z*¯Èù}\¶7?¶ÚP½%_6z$mXÄVc±< ’ÐØ|Ï wqþ×P¹»ºÿÀ§wKgb‘¬_zëìŒëôÛg±ZJ€`7í¥î¦Î¼…"üâ:óöY¤Cüð!|ßàîïøÁ±cHÖŸš¶{€™û 'OA¸ùËG&IÖfÎG¾Ÿ´~‰×‘¿}YûWÂÍÔP$|¿tOtyZžÌŠß9b™.¨Òuk‹@™_Ù‚tb`ÄÀBha^ªÂbñ}0ödy6é/0›Z¿)Œ^à] ¬ ,ßG ó–æ|)õK‘û(Àýêñ¿Hñ0Ðàõz[uß’’ê ÷¿Þ³AXæþñý=íé`%¿%‡õS"Y¿ ÓœìÝ% ¬ÿ’Àý]X¿= ½¿Õ¬?zJ¸·+e/Æ—c×[¤)ð™õ„®?»ó­IH0ß·ùuqÌxßkªãþX0P½´Àè¶~|¶ƒ|_A¸?ŠâÊ‘N9 ½[ŸR¼/ øøQP\cvO‰ªtâþvãÛ:{î\^¹ÇðV¯îÄú‡7öÖoâ·Èý‘ÜÊ‚{ëádæQ̯Υo\~I`ýÙöPùÝ–ìMT.³~ýÞûÍýaÌZ:*5Rápt¬T(öOÀzb9ãÛ¾j±Á÷s€n¬m @¼ø€a)0€÷— €Šßóƒ$°ªZmJß°îþ1Ìý¯ wX‹€ïcÜÊlžøÑ¸uð{*¸û—Ö‘ÓUöüé~DßGæ~è~Ò…·¢:˜Þ™‘ ?¯IÖÿÊOO!¤´Ü?™ | ºÁƒ ëŸ8qÍá2@raÀ3%X¿D÷' PÀ¿’^r]á% å) @Šý‘áèU”ûÓæ˜.XøCÔ¯Š d–§ìà °†2Sø÷Çú#Ur;Ÿ­ÒÌ:f€—Ç÷€d`Ïqìø”OG€»¿“@fÐPÃ@ÿ)$”ø~þ–eÔÑ¿"xçJf»ÿÓ³øþä± ´÷[»÷}gúÚ_¡Ä÷qÿ¯ýÁ–$¨àûWÈ|ŸØ X€;(ö·ñ]äÁú•¸ûSqP:¾ïð{Y»?ö¡=«½œÜãr€µ¥û±×’ RˆÕé²fËÝ? ”œßwÉâ#mì…ÿfÛÓùÛ[¨àMnýˆŠm„j¤5ê  |Ô 5W£Â^9T¢›¸Y%>X˜Ç|?$Tø—ƒQ£]/Ü? +ÿCàï’õ ¶@ÝŸ„»„ƈvº ‘ÈýÉÐlpl"¬ßº€X[ûЏ¥W€1ˆá;žW]=ŸˆÞ‡á›>6tVWÛýí}H"}0¾ ï£re\BñÕ[0@wÝ‘dýq—ýDrÿ:þÏ|ø!%À÷I„É7§îO9•¬‘œ~™Xެ|ÏwXÿÄkÇ‘»¼„ïO¿3-9ôR/õüĽ@VÞmyàÀýó• y€½È²õþCJuÙÌ¡ÿGÚṵ̀4<Ú<P#FªÐvõ¯º€2€$îof¾ùÈ1©ðÿ’]@Äþõ¸ÉÜß ÷öQîO] ÀI•À=@]@„ï ÿ+i…ÿ—€¿ð}Wø×úGþú¥bë—€‡ÿ€0wáþ³3€á,µþHÀò€Äá°~Æ€Ð×,°yÕ”Ìh!IÈ¶Ô ä®a©@ ínßwÊz;2‰À_îOEË”> +Üý?"þ#«lì•fwaO2}‘@b +¢íÑg@*äs·v¥oì@uPÀ÷Kýä¾]£Û/ú,öê½@îþö¥‰ÍˆºŸòà’@î;+cŸ‡bËúY2%~ìþ9…ÿ’ý«ûBoîÆ÷ù"eý÷çÂZYéîŸì¢¬ë(YˆO×fÔöœsÕo/ŒÜ¿)½øw®w%Gã$»q’÷ÒÉÜ”G›ÆÆ_xù8AÌ.ksûìÝå«÷îÙÿÒøÓ{}•›|ùÇǤƒGMMPþýé iòïßv%M_;ÃÄOükxåÄÉÓï¼…l¶³g-ä;wÎ-xæ\dÜÃ=ûܾßÿðÐ+Ç(Oý?oýÅy±¼¢ºŸT¨»˜K¿T¯gŸÛ‹Ô…M +¯ä j;í +žý{û*¥þ¡<âà§,Û1i­Á*ßÂEM'qGÏ r7elhö޲uY†‡|™Y„oÑòÔ +å&f(±õ#këqPÿ@çÖí½#\û“bxóÖ2¥š‹Úºš¾Ž¨™nê.„+»í2àLKcËg— üªLÇ›­ìJK­75!fh'ºÇ胺òM‹¥l{ª£ÓDEHˆ³ëAîÎ/-ô´äóKr7¥(WßѬ @I€ŸÎå|ýß=RÛæÿxþÂ/ÏY©Š×ãf~qVmêä‰c¯þøÈáCJ«òè‰c2ú¯<6’nNåÚ3ÿáÉǤ½{ÆÑáCû^øÏ»žøãá™™IÊr%;Îá—KUïÉ™ )XBôƒm̦sÀ/ý£ y@¸9hð…Šì#ÀÍ×KºsEÛðæb¦%Ó[éÖ-'Õ6ØA¾¬ÁÄQžö8â]ë²à-J Y „ìÂSj·«Œö¯®?²æ_AbC¢51ƒÞÈÒì6v¬žÀÃt¯kµ51ù/% ­Ëc!½•ŽLKZ%?¡¸.ú-¼Å j·~K 4¼åvdžheíáéþ¥”£Ûò#[Y‚‰ãBÊ´7nZA‰lƒ®ÃÚºøãUÕQƒØtLÔ/²í0<¶Å¾Ôà•/ßcä*öu{Û3Ÿ] ¨ Ú)wD¥†± +lúuño,×ÎÕºëXÓ~dGØ Ñ°V’í¸ ŽJ»{Èî¹Í±ßû¥<Ö?þôðÈ#Öƒç}¼¼i¬äLÝ:fc:¨ÀËþÖ¿DåW@iM¥çŽÞçþô»È]^ò—uÝÄÝ5¯œ ¬ŽðÕ§Ÿu —޾ê8|ì8Æ€p NLÏ€Ùzˆë‘aàÌY1áþIhfä¸ðð}„`€¬ÙÉäXç~ùžJU’÷óy?ñÒ=óó™G'”_~Yoñr£1×îÛû¾æQŽŒ–åþ*ö· ¨¸~¹¬?„ +òk’ðƒœ·p`x4Ÿ€šo܈kçp¬ Ô€ W†Hóû§”‰ bÀòÏ/Æ÷Ó7ØÅJVi&¨ÐÖµDî/ R#ù~#r÷¯uˆø>î/耒¬?™G:»¼á" Ùý»3æþÉ)A€Ü_R‹K«»îOéîŸÀ®'G1ôK Ò—‘z{#àþdÖõÜ `ýŠú©àþÓ§Äý9D¬i§ë1p¾/PêfÑÀu =YcŠ=B ]ˆF©¦¯Ëýë*@ËçReJû›û‡ ñA€¤Ø? Ü¿XÊ–+¬Q)WÒ: HõP¼¯ØßÃÿË Üü'ºÍ'±¿DPbpÿ$R×ÎM@Iî'±þ( 7üÐ=?tØ#%ÊŒñ‚FôøQ ”IxÛ@¾OmyøoA½íµh:s† Þ*#¸|¸:$dÞÝ¡qÆaºþêl4„fC€Ì:¢gð³H=&ŽšU±ùƒyñ–Ät™»Ä’qÿÎ-€¼ÑÚlø>™hÈ´¡”(Ê}#¾ïx"ªË¬s=‡‰@×ꉚT” -ÙÛ?•°ËL€( H;v`ýb?ëwÈú%´LɫÙ€Øò¨¡ Èn=þdÕ ðp ä{¥Í¡®N3iŽŸ¹]«Jhxû8ÚÿçQ=¯:O¼¤dýÇ~:…ð} ªAû¿ Ê”tIàþ:õŠïKv.a–õë%àþ0ÀlSò¥«@¥x…€bɧ×é’ˆ¶KüÂúín£=%0úÈ£Rfy6Ù]æî_2€bÿˆë—ëþ-´E?0b=-@Õë2€p x­¹jĔ̩‘ú.Ù¤v¶Ú±~ê¨ï¾.¬ß»€p€»?"ð$ÀÃÿ\!€’€üªz˜ûß’ò Àú‚ûgdýIÔ€À?©‹€ûŸ9s +÷Ÿ ¤. õÍÀ•3|_á? üC`I@ æw÷W ð_¾¯†aoF7Зµ É. ÊdPÒ¤dg¸˜Y˜nÙw4'‰„ð÷Wà ˆbÿÐd• Åþæþ|SÓÌ~QèùŒÚ¿§›º°~Døeû›ój"ÀoTøÏþ5ÄWY:®,òE¾=±þ¡MVÚº€„ ôÿXP- x8J(uvðȯ©nÿã§_úÁùÙìWì’(iˆ‘½^¸ðÖÏgd÷Ͻô2zö…ïKOì;°ë?¿ˆ¾>U~|ç×¾ù6gÞ¼†«æ_½ šj²»*™5úCuæ}bn÷í-Õ ùHalê4wÐ`2¿ˆb µNiü骮Z¢R} :?L…æ%}å‰~Úz©lg‰ 70Ö¶T_xôñÞÜ-•ùU9š­ð?@ÇÙA:Ž«÷w÷ ´uß¾¤­³ Y%—æ÷€¥¿—J55Èñ[Ûq|;‘ÛuÛÒŽ››ºn["ußÞ¬á%<!s+š¥Âª¶Ž/,Í,KQæÚÓhu1›_‘é¹½I²^ p38”moØùäh|¾úôô)¤kGx…Ó¿Aöd˜0tzúäÔqôê+GÀý{¾ø<¢ràùç¤}ßÜuà›;kâ­ý{Žù>åSO}åÃ÷/”+y*{ž…dår«iMfÝÚ•ë¬N°Á†ÿKaŸÚ^6 Ë‹ŒÞžÝ@.¶+-Z¬nìtagå{r6lf›Ý„§pW –§§¿×´ŽÏ!Y¬pŸ &¡\_ý§ mo†“Ì61D¦’ö2²õ T}àf*ýxåhQ‘%Iö-É`9 L}ôÈJy¬‡ J†»s]™±Ç«™öÆê0ñ&;¡%»´­ÿ4Y$?'%¿4_§ÕÐ×ùÊo+ÚÈ¢U­”×6€®?—BrmSž‡û4 ŽÀ?}Ü4òðJV{$ðo8¯-}¿÷þ®‘®ÞõùRUòÍ766,˜Û}kft»= Q)­ë@ìÛììü}%ª>`½@aóÚmáÚ¤ ƒö¿ Å‘Â:tæÓ¨T±xŒ=Y¦¬ „œ)häÑ"zôq{dX€pQ[Ò·çœø˜0Ež÷!.ÑÖ^çi’™Îîâ÷‰¯íýs4úôž±Ýû°~©oLãþH±?îÝ ˆŠ¬ßÜÿ¬¹ÿ¹_ž—°~¹?ëÉŠ>ÿÒÁþM£ßO·d)€Ô²ìþÿë%›ÅÝÿýšû “'NQ€g¿±ŠÊ¤’¯‹ÞºðásºõôVüÄ Â÷]ŸnÑZ –†Ì†‹«)/@óï-vDc3°r¬a”Of ŒbŸÐ\¢Êᇋu ¼Øåê[ľ5¶G×4bý•ÎÙàÈ „°. ?¶CË‹`#ìJàX¿ ð}aôÁë—"ÞEÿ#XÐmKdýê ’õ *åJΠ3Àå5i¤["À«¯Ú¨ Â@È!…¹ÿl`ý‡½$|ÿ/ö;ð} :üÀú%R +5š €þu­X?eu}ß7ë'üGÁúÙìå°s©ô†»³Uƒ?Ú]¡üP”î˜ü+ëgwùŠ{r€ÈúƒtH«dwÓB¶ÅîÃý# Ù"+QÛ'ÍÃCH|wËú¬?œ94ØB šS敜‚pÉ‚ô3–ϲæ3ë×Õ¿H€Õ†ü@J~¾ÖŸÆg—PÑDd$ˆiÄ¿¾Ô˃HH€³+~µÛõ„Å +$(0@ûSÚæâù®¶ÿG@´ÍñÐð–ÕÐdÉöíÁúû7òuµgÿ^¾ï(®ÉÒHØ ”ø>Ж×UÁ[·—œ*/€.®2÷pžÃefæ­_œwœopï£bÿ$Ä’€Kf`@ÖéïOOMO‹²~uì¸û²éÂ¾ßØœˆýI”J´¶l%m8xÒ oó“ò×þï½°ç¹½([ÍýDƒ«™öœ@ìQøþ€O׬ÌK¨`ýŠgg4MËî.®^k—õ ®$:nN×ej‚ +Öv}sTª=iˆh+yhi ¬eìÇibJ¤Ø_àHs¹õ“$€ï“èô½C*¯Ïcýʰþ:”îXòÑÚ²a@]@ʦß14qô0€ ß—x÷ÔŸD¸¿g”@þ`ý”F‚mùÐÅ@ÖMOÜÖÝßÊØýö²í¹ry]1 >`{*–3ó„%gÑgã"ë 0¿Þd«Dß— ž”¦ð£$…ÿÚT´n–Äß+ùš`ý³`•ûóvÚ¶¯Cð[5¹?bmÚV¶Vº)Ep0H®€Ê=kY¿’ üc°¶l1ý|_`µÇv”g ·’íý’ÝJD¥±IåþH±¿€ïëž.[’­Jå#`ê“0 kÆý)u):yúŒ÷ÿÀÜëßwè0Âú¥dPÜßåîê€#' $€ð_¥»?¯™wÏ£iÖþÝóÞµ;À8°~DÅà½@?xurç7÷U†®e‹Î‰‡×å0o^ƒúÀ¾Ÿ@š9`À€€÷Éú€Ü ˜Âõ0À0Ÿ¡2 0nÏ†Ž„ïKûöáþIwˆîi%…†RëÚ¼¥"÷§"ë—Ônh£áÀæã¶uI–Ä]@¡u!õÿàþžß§b'%Åþ0áûÅRQ¥î©<ß' p¨ÿÇ’€àþu@?>ŒŽŸx ¸?¥ b€ „S±‚õKËþúeÀØ#¥d`Ö’Ü?êÿIdˆë ˆ¶j Éî€oR*fw9°f%VE;1±¨Y²wã>¤wiöodý–Y²2rOJ|1Q€d ˆ–Ò<+&A²àû„ÿúösÌLƒû+ PPdaw)ö—œm-“O™ïoŠÍ¿4)[ŸKuQÁ÷‘PQìÏÏ2ë/o°RÖ/é²PÙìaú÷W/º`ƒ2JuYøÏwmYí'µ¶Ú’¬3‚D²þ\!M‰ïgZìÊÿÎvÊUíÌÛ5€¥JJfÖïÐ&(j!a{ÎQwé©p¿„·fιùj <:ù³écSo ´®¼EoýÜ¢§·~öì/ÎQÿÙé£?9~ðÇhß÷¿<ñš4ñÚ14óîÌø“»F·³ä#?>†&^Ÿ<ù³S’»?ÒúHgß=wîÂy):ýNÀú«#¹.itÛ:öß&Ÿû?÷=õíç“ÏGÜýg~nc=u­ËÙxáÝ0ÉÇõ‚‡^9VgýRßý³ý½}©6§¡AÖß×:xwtTwíØ»/Âýíñj×Û# "ØS‘#,º¶INä@²þË@2ß°hp0à3­ˆèƒRã¤ü]-è¼5ÝžýH¡ È€â—tÜ¿¡¼m‰Î äþÀÊøÙ÷—‘~zTîpù5°Ü6~< œúÙ:ù“cfô?9vjê8tü'“²þSyÛÜùôÖïØõ̘ß÷‡¸? Ás¬Ÿô+ÎÀØ€@Ѻ‚ñh~3eýìô:àþö ÖaÀÌÝâ}JòþUO Â=þÅ„Maä›Áã¢KmñV<7Ø´‰ ýkΈ݇RR{àS¬‰>KÐêC1€…0§è {óÃ…$ð}²(@ߨ¯Àý¥u£[% 6¸¿ËH(M€ ”êëH€Re0Àz‚ôs,Ò|K~Ëc«g€¶‰$Wê/ÈÝ’X% «ûF|_  ¢Þ€€@ɾE×Êäo' ˆ„õ?úoúÑ–ÇJÃ[¬»aý.`Ó¶•ÖÆâßÈ”9rIFŒSºû'`3„ëo ÿ“îO Dò£Äz`"í;ð‚2é­³g]3çÉÌ#].fîÏayxE–?ëUçûh÷Þ}¨çÎ^4wÞ<äµ™õÏ€¬?) !<Yq=îÏÒ””¨ñ²Î8 ”I(·ˆð =Ø£ €RGH”’' „XgVy(OìûSé»§ƒ]K‰v~s÷Wii( «3H ß—Ì+ÜÞFY–B|JÊ…û ‹–ÄWèPø;ü€–Ï6§š±~iyn±KQ?¥>B=þ,iD€¨#($ÊX©t#%¾òvgˆ&…ÿ€ÄþO¼Ý>±õ[ 9#Lw9¬_9j¢a^6Àú‹%cÐ 1 r¬S7á?Öv·ÝÃGîo'ÖO*rÉ`޳­èȯÊxàþ%ëÇ© ìÞ ÷§‘ˆ¨ÙÜ-¸äã±Ñ˯©Sj¢¦ó/oé]Jwdûlâ”QrÍú¬<]ë£>ôðŠñgìÁ÷Ê +w,M€ïBø>sªŒÖPß:m”ø½€(üÇ£ƒõÀŽ/6;H’ð“ú:¹?Âú夯€V OqP°s…ŒJŽ~¾_ÝßW0¾cëW€p‰$@í_bå%’€èh ¨å%V÷ ëÓ·þAIá?¥Üy _:gòi€‡ÿfÁ‰ ëWøïPPðýè"[Y?áÿå@à]@”½§–NM¿­%(°¹Þg{E~?ëE€žúöóÕmã…RŸ?9RÖÿ¿Åì’À3€¨(tÕH ¤2wÉGD•G¶öH +ÿËá2ž º ÙäÊ$Tî¯Ò . ›Ký?Þ¤ã9™¨ ëW Ø©ç‡Ø?ÓÞBo¹?Ö/('P@øûK„ï‹”I0E øˆPøOƒ ˆ€¦ß4Ôe¿°~¼ (Êpœ=ôÿàþ’€<Àú—m†naÈÁƳ»€Ì˜±³ŒüKRì/ à¶Ø=F--Îd—‘iÆÃ‹ƒ±š³#·lÿjоEý³(¶~5›Z[¿ÍO%™$»€˜ЧÔÿØ&ö“ã^ ¿Q îEè XÉ)üŸ”ÖÚÈ}uQñ$`$øÀ¦VìÏ9ówe_‘íJéI>¸9 p¨ ÕÀ®§ÙVÝ+—"Â%H±¿üßwÉú•(ü—X: žPþËý‘ ÉýùQ1`Ž5ê »ƒqpjw%®G§Îœ´Ëqíq('ÏœA§ÿá­É7¦(‘»ÿÌ/púÄëÝ™óΫÔhtø‡‡¿ñý¯§ÄÂßûà½þ爊ì[/€äòãØåD7Ž¿öÿù=¾gmÓ¿n¾êšF¿ðjÎÇæ~|Þo^uÍ|„Û*èF~/ë«®ž?Ñbæ¤Dîø_ÖG"›^´H²wuv÷ÓM‹gɢ뚤…„óá`ÀÕ¿Ýhìh©”=ïŒOQ‰nÏßg5b,¼váÜߘÛÚÞZ\S,ÜÑ"™)ß”vut/EºÙç’ßmt)n’¢~Ñ<Êܪ *ö·Ù‘iH¢HP-iËöÕÛ¿Ö÷µ?©¢]ßÞ÷½ñ]ßÜ:þä´ë™±íØÿµÿߥ›Aê.ty‹,®Ét®lBÅ +?ÜQ›ù½f=¬jiËü¶›®CvqÙªtî–%RÇŠ&dÀXѤqŸ¹BTú¿]=K:òQŠ_µ¤¸†[ZPèY"áûy|0<ž²ë¶Å"fojØùô¨?&ºþKJ@íõáû3”h×ÓÕ/e¥¾µ­Ãr”¨ÿžv4x6ÝÉU·U@ºÈ–ŠönhÎ.–*é! ¢'ö Bokï=m¨såÒámyüÂvt˜…ÔÌ=çGi=!øãVøîbq$ =Ð=²¥ RN—Ñþ ŸeÅXšI†«yhfŽÃ¡<>y@{Ó©Ñâq;Ÿ Zì->¢)ú]Gd?y´ÐÓ›EjçChÉ”¦‹"ú¼"Ó¦þD5rÿÌú}9žzš‚õK¬d‚ÑsW¨”Ö¶E3`ýI´ü~8 ¬_Ï=¸¼€ï ßß¹{”i;(·6£ ‰õ²TîV» .Ь_úýë$Ðo^ +i-³gè°µÌþ!¶R$ýj}ãPH§¥Ü?b@lãO”T8 +°þ”ë§ PvË7ÀÝ_›0( þuC¯WxaþQeŽÿä¸@ H`@Ñ+ õà£B©¯gMŇ`Êú%¾Åþnîƒyd»À\8d0Àúñ,´ñšÁ¦›G ¸v±9xSÊ2@ÊÂ’å|‘$€liJšÌúQª9ƒlÂÂ)€@ XÒ¡Ûêª)H¾ã‘ïH¤–dÝ8ýŠ®:H€X‘ûC‚(ößVTà’€‰¾œ¾»—;Zs‹=þbÜ·¢Dë0 ëgŠ2D–-XÖ/÷§4¬Šp9þá$`ýÒÌô” àû‡î“dýèð÷MüpŸ3@î¯$ÀÝÿ/^úÖ±c‡>RtK…ÿ0ß/W²ÊÜñ¯àѹëàp»0ìkwÿlWZá¿à h IÉñ}•ÈLg» :D6–‘˜vwà³Ù»Á»í2.v4á?ëãîon»>kÖoñF'ÕÞ<`~e”ÌO‹ÒOã]­ @ø¾2Ê$¢5 ì‘ûGc6åG+ Zø5F(á] è™Jð}—»¿•!ü—ÔQƒÈÜý)qb©Ôßæ _܃hÃHQrPZŸY©@?Ê6ר1@ð.)Ê‘G{´ß•€ex¢Š”àþl a æ&Û l7œa[ߘs÷GH>",öp÷Ÿ ïºäëèñS»¿s``ëX¦+øµøWáBóåõî¶’¬ÍûDƒ¬ $`•x~›3Ø70|:<"-`@î/`ýêмyó rÊÊôTdø~ÿð +Éoªþk ÚÓ1ª~Û–¸aoA5ÐΤ]ÏŒìËô½ HSl5¹>@à/Ø9†ßkö. Ô óäþ”X•  @°{uþˆÈ* ån‰@Å|¿Bâœ1”¢þ$ dÐ%3iæÝ Ô Ùä@Ô±©W ï’]@ŠýŬŸð_ÏÆî]Ê(‹ë³nÖ”v|Ø…Ea/+pPz 2ív+PåÀ™l³~ g7lj ‘ȬcÅ D¸˜Kîeâk`Š€h9Šô)“Ëô‰”öKi“Áâñ}Z¸€ïó£"Ä}úÆ€Í!MÑ8´`ýã;†Á€SŠUÕïE´¹v¹Up¬ŸEÕuáû+òm„ÿ¡Œ\^Fow²úb3 ð‰€Ø¿ÖÖ\Aêüq¸þI bU²­-ÉýɾÏü€€Šž(P0&„ØŸ‰@²eÇ`å)çXçJüzÏŸ¨þAíŠÙ³¿8ï'~gÞ­Y÷…Œº}¨Súüèr¯G¾üe>é‚iï¾ý¨¼y4›/4^·dÎÇæâïW-X(¹ËãÑ ¯K¡ùŸ2ÉÁÍF4ênÓ²Êôg³L¤Ì¯æS©t-Ð3ËÔ³ˆ¨¿ÉÎ߆²áš†ì-ÅÅK– ûw_±dþ§š>ù/?%…Gâ\»…s¹$–Èúù:*ó?Ý„l=?ݤ¿Ì\=NÇ÷ûkµ/Ò"…ÆÿÆÇ)}HjÖ”vÆD¥ùÆÍÂŽ@]Õ]Ü1bƒð?9üèVF¡UE©âðÃ=¦0³.ôñÞí;*ÈšÅXïØH[[½aKžéx¦dì±¢½A,GO+Ë—27Ûp©X"κ>×Õ‚ÒË[²©Ž/BÃTÛMM­íöÔxJÝâ2ÛÞØzS +ñ/¥Ù}.2}–©3ÃT44HË/ÜÑlß²&ƒÜôQ¡)ÓÞ°gï8-íÔ›ÇÑÔèÌôqu"êz@9=I0ñʹ?•é7&ÏþÃÔ¹sÓèìÏÏHçH ÓÈ΄ӿºà»S¨º¾xäûû:ÒÍó(›¨Ÿ²(Üå?ûƒ»*vƒ³\o8Ó$ÏÂ(ý„m%ƒ”½áÞpê ²a 1õKëÛ ·†KÈÆ¡û_†Êàƒ5U;9×ÅD2È`G£*ŒÙVìYQÓp®pG†uÞ¶”õ¡Ä¦1¾îUU’˼œhŸ®jxdy¤Žd–§ó«³;ŸÞº­Ü?§ä§ÕÒ&Ûës=wt‚ÞÁá^*d ݷ߈¨tt7Ûýv*RáëŠå¶ÜÍKíÐÕ¸ Á• ÷P‘tJ¶XîB½_Ê lŒ¶Æ°­F¹:Òƒl/Äpeù¬ Z7®Íd uéQN¬$;‹®£j¸¯jß}]Ru0#•Y­=5òÈjDà…ųktÞ)ëR·[8õbu*ÆÂÀEJB1‰°ŒŸºoo¥’_e·Ú¼­ˆ´|}ißæGVs#¾Ž‰,œÊœÈûÃëƒÿùš €äØ¿­æŒ]Ti¯@ +W)1 _cð%|aÓ’ô² ZØÔ„ÔGï‡7àª`ý«z•ì­EÜŸ²q . …×.I5¥€æÖ6*Q7N³9"ë 0÷w…PÿOäòÌóé&~Žuò\·„Š}£z,ÿ=Kúl¤€«®‚ù•v—G€ Dîÿ€Ýº÷×ÉÞ­ÝÜãbÈý)·„§@Hîþ̯p ÐhÆŸ•ûC‚ñÇËe]dGÓÖCŠƒÊ—ú—;ÒËð}ûkT ð}¹G×b|Ÿ£·‘±û[…< 3€ -nàR𣯽s(iÐÇ;2Ô3~\Å -ä^Áô)‰òí} )a°[ÒÔX&ࣰ³2èc7µ2)ÁÌ,€é1.û¸‘Š #gPŸÇÒZo±T7·±ÑÐr¨ãDVŠXg vY.ɲÛuYÖ†ˆR9Q'öDR7ÌóÆ JúMÃï\ßX“ÈBªžœe±' ÒtÓ}Щ] V–QÒÝíiK­VVËÓŠ±»•êEûE8Ì!!ÀhwŠU’¾#ô²JÅQaîÞl6œ.›ú¸îŠÊ¡òzóVÉÐ¥c(Ò1!TÄJµ¨+µD‚ÃAR‘ÅÖã^”)€‘0 ‹k6>üºu7ñ$Iµ?ÀcØ»î°>/ΙȾ“ôâ‚sй‹"¾râ´}÷–Uqê§™°ô™¹êŸ  ¹'Ͻü»¿Ï~éÙKüºK ´Z©DWTs¨”÷ç©”bi²Õâv¬!é.ü+ä*@AîónTâpÍÝ´­c³dà§I)Ø€‹Þõ ÈüƯ˜$öÁü‘eÃ&d‰c6p/¤&@&ýù —J4” -’F°¬Aè‹\£ -ŒnOÔ€©©Õq¼' ò4*&q!]€²+šrß…½Tp9I [ÑN‚½Ž§ a‚I%f‰¨W8‚OÈí3‰éŸýÖüöfU’HpÁÕÆxä,( ¢¿–YýxÝßñýžÏ×üëÈ ƒ Ø÷ïœK×¹/›†1}´²ôøêa«iWÕ{¹¸M>òÃÅiŽïWËå¦Mˆ úÐÄ&ðœÁ0g@cãºÀœ=×¼ëgö–Ä -÷}Ò_ŒÐÚ¤œ¯££M°yÌWH+ã0žgíT%¼3üT -‡ìËA`u¢[¢*ø,ôîÆ\$QÑ65î€Ò+dT`up²d=Ê]N€$5ˆt$ýJÄÐC"ªâI‰Ô‰K….±Hêy@”SO™ÿxiÉI‚€ÒŠ b„ IÂeE¸^(o„L œ -Ky‘ƒZm»d¯ïpÚÜ)­ÉC·•ñ_o¾³¿ -Üñ\Ë884Ÿ/²2S¸0ûÁ(ïÞ7fOîý~Ô0Òßj·‡¥˜õ“&w¸.û÷r$Õ¢‚<¼ìnÇ—Õ4ñ „b™ºC•£v§ÛâÜÜÃ?šÍÿââ'/ -º¡ïÝbó_ <ÖHöÀ{à°²Ïe†QX`ûg‘"<«ž/tŠÁ—wŒ‰2lp|'…¹Ã äšBmR»ü­s%SèæZ¤?WI²ž : -%«§ÎÜYÀÍDv³ ݧŸæÒìÐùƒÑqƒ˜i!U¬0Dû¾½üÎJ^œ9·hYCyŠ cñ€ƒu‰*P*z¾¢Ÿu€ŠL˜–‰ y*˜Ëîus#lÝJðN«'®}—êètlA -¤¿û 4qç“e]S0D“Š9,#}BÁîP=ÎЂúɪZR›Äß j`ʳ2^o%gx177ÇrkÖ0íFhPuµ2ެkp©YObþ“ÜϤ|Mið$ðê'°Q?äÚPz^ þp ÊB¤šŒ"‡Ô†–Vª$f«Œ"´[©MŸ~5„ùSià1ˆ·].ÃgŠ1¦šAÔ†CgŽÙ¯À5  È î¦Á¶?7ÄÍ}yþñùu€7éxpÌCåŽs0pP¯ãoÍΞ^_Ç(ÅÜ#§|ÿ3<Ï7 Ýëb¯zíD Àòrsi©Ö¸ãš&¸ê*ô‚XS•VÛ±rßÞôA7ÀÞï†õ¹JcÍ0÷xÕ¦fÌʬÙhØ®ÉÝd~¥\æmemmnáôüÇOñïæçÑNc/vó®ýÁP¼Ú»MfMÀ! f‚E£96³Kãò¶×׳(PÆ’:0´é“õåï\®ž¨/=óBî’“¥´~z®ñƒµÚÇæ“W¹2§6¢3ÁPôý%´ÿ›ÿ7B‰Åÿ}Xd\€Ðé©þ w}yü€ÓÀÚ:’G$ž”,*R;4æ£ØÁƒ[ê¡S°ÏLÄ "ÛŸŒ©HReX¾È¬ $•, 9”Ñr+½ x ëpÀ¶Y¸GD ÙY1ë¼3J=8ˆ¹V½ïÂf•ê Z›Ë dk“’‹E»LÓ3©ÍÒŸE?¢ó“ÀÊÞv¤?:„Y4U6Aô³À¨8~àÃûAR¦-~3½ñAâAbu|× ’ œœÿŠÿˆ”•<€ÖýL§ë×V.<³`•-‡~7“’ HÖpÈí -ˆþZ¥²P¯ƒ&è|ˆßµ%Š´_ä>›ÿ"Çð·q7ÖŠ¢vߌ®€ªd -À,‹ú¬n¢ä…€@úƒ`NªI”&s²Ç,©ìå˜GLÐ úu,Š‚Åßb¶Õ7ùÈS°©Ù¾Fæ "åÆgÁ,!x Ã,H„Þ£*û®`w¸^ UÖaÓ© úñ ‡Ôz½b‘ ›¥?¾¿\^[EuÅ: ?ÿ‹o}÷Õá/ÂÆÍÄZ¬Ÿ~Ô4áþ˜ž‹áúcIz-Øö²Â×_þ?þèéÏ¡!ÿ¸ja>ÖsÔqU%+Õ:2ìôÀàj"Éš¦:–0‹P4;ü§ (Jïìv³l;çI]]ôýÚ0 -á@Q&3E® FXÿ‚d»XÜÂ)JÄ›÷»lºÂG¤ „ÈN×ëÀ¤²D©„(£»A¸»]HíPøœa–JgX¬p©>‚‹ÁÁù]i€õoL)ÆAVÕ€¾˜Ó‹%ÉÙU‰N»¨ê{1VþøHt §pÓ`zG])Éœ‘Æ(Ø2>ì’‡‹òz®H\ŽE`O0ËÑfDF!QЕ’<.a¯zÌêú= ‹…C.† IDATõ¬[¸Ÿq¬F1×è1UÂxQKÅoÉÙv’~,(tP‰£°¶µq3)¨B #¿Ô#08/¼ ¡Pðv\î‘@Ðì„) )uàÆÄÄ!ué©…¶˜üLÕ@Ä_‡™€\X·'qõˆèõÂA®’ŠðEÔD¿8 >…TG±6¡ *û["Äó˜háò+GgƒÚÚìqà«ja¢8àæÛ4Œƒ˜ˆ9vjN¨Ø$ôóÊ݆ýë¿þÏ^ú]¬5ÿÅÿôÿåoÿιO=U=wö¿þµ_úÒ/ûµ¯¿ôåôe³d®|€çz›7ŧ.á^ˆ ‹gà÷Ï<¾47;óæuQ­¬²¡úÈÌÛOÀÁ'žZUân;>¹0}Øjm5ÿĺÏÎéú¼}ÙÛ=ÁƒR¾Û1TݨO¯¿×©Rè»}Ïѳզ2w³ ýÑÃxEëwÉ #ÎN<ßKbGëk.,ìÖ=Ÿ™Óã~Ý*NÇGZ—Ýtpëž=FQ\¬+‰ãâü“çÊÇ’Ãìöƒè4×k”P-¹nó½V¥êPõ$Kÿ|˜Ì¾×¬«µ7“ض?ìxf–@¦¢:>=@Tabp´À ŠÁmWäx±©ç½Õj‡0úÌb4ŽÚ$ï‡Gáe°T7-X‹È]ˆ¤ê½?ènÙÙùdÁ^MIw­©Š³e³’Ü{fŽBöo*ŠÔë%€ºÙP'ªao$ˆiy$UÓç.A t‚ÚùXp+†à8;±_áù“ôwˆw>Þ“tã€`(ßÏü“>í=˜¦j@d &Ø$—p>IHß otõÈ™Ö&6T íÇrÂd°gÓ¸$­½cÏ=žÜÃ5¤ wÏ_Lö3&¸H$ô#$×d4­JâQ ƒ´x¤¿Bhš*âÊtY¢Ñ¸Æ×¥¿ý¹ì#ŸYl´öcCñh~ЮOj@²lmº Gîº_M®¤ÿ•ïì÷¥@¤$Þz{ùì“Kÿô×åÕ‹_ÌþšHRÔÕx¯×ç©S{ à`ãN¸ùÓD ì}è0ÍÛÍr½¼Iû£IoÁÜãó`ÕH²Å1å·‰· ¿2ÈåÛ,’7îƒQìÀÓ0L÷°¶Xú×g+¼ÄÍrÉéxKg«Ç*ÌV5$aT̤ç^3ì:õyŒ¢Â^U$°ýÁè:#Ë1i=ŸÕˆþüŸ²‚§€dÈP¤XKºs°èOÍÿ¡ôß'¶Œ2—ï´7æ?¢œa* -ż@# Fâ×å£3¸5!Š\“@ð³Är4ªQE?nº®•F²F½YTþ3‘XÜÃH€s-Øiô£ÝwÉõ#ýh|X¬ {Iмß0ŒÆ¤J¹Â\"fa8n’wþ¨Ïè{Q^ € rò4G¾z¤?èÇwÀ©°&-p0O1.&óÑj’À긌Ñ-ÊYGŒO.c„mä:œ.N -Ô`þ¹an¡‚€ešK0ÈÖJFéGû6[œmDiÑ‹\àâzþ8Höd9DV¯c(¶þÈé•åDb~í»|á9\„×ÿjù̧–Àü_y·ÁDçë­sŸ^ºö—Ëpð…Ÿ}áæ»Ží\xö̵﮳xåë uró5-5z¦ÿ©³è?÷lâðH@‰svLónë0ÿYúÃAí®;þ ÖÞMÂÕ×õ¤|´|•è‹eMeþzØoÜm--¥y{ýù“a5Goe÷âÿÅhµ×ÍÈ~аµè©1a§E8×W—Ï,,­oÜ™>7W[[kFý v¼¶º² -{C7Vÿzµv²f˜ÆÕ+ËðèYO,=ºÑ´›ö¹s‹o|%f}¡ÞXmè%cn¡võÊêù‹ ®ãÞ\m\¸ˆxeyíÒóçaÇóÕßxíz¹báÁw휀Æ{v½ŽRèæjúëÜs瞬ƒó¿.j°ÇwZ•©£˜ÿà¼å£øðæ›oþÙË‘]òO Ð °úv!{=ÈW-Žb|-¿sýá[·øøÙìØ°†9ÔS'“¹:`‘¬"þ•£àØ×²÷øA"ôËSå|…do» - N1}­H2Š"ùà'³ô¯Ÿšw¶qþÔғΆV3Aôƒà–»Ëo­´U@ Tÿ>ƒq¡ ×5›*†'Ä‚2ÅÆN€Ý´±Qdþ•cÃpçÛ¾áÓ`f«^o?‚PzñHÈI©!(Eæ”§gòE?dH˜fùE„†«ÙDšº0èÉQ]Ë4¢~ÈN€ù˜Cyë Ÿ$D‚|bPp'¨1I0OLf$…pÉìEX((ðñ®ã‚íÏè–QN¡;~H-æ°‘7•þàÄ{{îfÀ= "×ý8”þi\žEs§uœŠV+„ý,øKgŽ|>pþA°ëha¡'R3<Ì•{Ã{½wŸÈ~ˆ:¿|tø@Ë„_ÖI[u¸’G•¬)‘é–@ú£ ¹ì‡ò j™aVBR¤6Ò:Ql"ÅN@ö‹³'’g„Àú4* ¤¿½éÎÌVAô $«ÞL…/ˆ˜éYœ€öúö -œç>’&ðF®=й„FdEé¸Fžè€Îƒ¤8¢zÔáÐÊÛ×ÌØ¹¿? :`ûßh4ëõÚòòª(ªõ™jc£šÀ8¤µî´ª'«à€Ç³ðñz³i{]éühð3žZh¼‹†Zý±Úòk«fͬ·–WZK‹U× Û9óì™Æ» û/<ÿÅåeDjóyùÍU>X½Ý¬¯˜‡ôÆö™GÑöÏr§dþãò÷x ú÷3ãÖuÈU…çÎÒöµ&® lÚZmÀ>ØW¯à;Ap}3èþ†Ëߺš=üÛyÃv0>Žæ?ƾYô—§ô7®4œ÷êË :ëõ·ðüA´^]fé/HôÃÌ8h53Ožó^¹pî Hÿ_ù/~YìçÆÈÍð<zžK£¸_†ðX½q½þÁa½ß˜¦.Úkoáåá/@úÃ>áY¦á¸¸§ _›_˜ƒý`/®ÏÕk §ã.|böú_ãÉ×OVnÞnL&Ôgk®³ -À:|lÿfÃ^Xª¯.7àü—>Qo3Ò£šµ¦x¨(F[ ×QL‚;Þ‹WßZí匌ò1»C•¬åÃÆN×+Oþ”×ÙêªäöVŽšán’Ñ<’ÜEy[uÚ˜:9]ó¶áûq¢ |U‰³H¦ôf/QK,Щi… &ÐUBÖilð}¯\©HÛ²ß÷u…nÔ²@IÑp ¡öKxæ¸Ó‘T»gq–;ncÅ9ÿ,.XŸ·o´íûÎ¥çÎ(cÁPQ1Y 6:v0Åó• -ˆƒˆccˆ4™ç4å!@G„qšÀOðˆ”„Jžð–ß¾¶ôä¹úñÙko­\{ý–"©×¯ 8˜©U¯ßXæ;y÷v öƒ1ñw—™§ÌÝò2Ìוn¬ÔaŒô©lötÃBCÏa´úÉúÏýÔ%7h-=µ°ÞÞú“—_?u¢w¯@ÊZ:5qûA?Yl'f+玽Š<™Ì«Ö=üÞê±òÆF‡nÙz»{g—–wÛÓ“ÓΑB»e[“ukÒ/F©¸òäÜô™)æëàšÚÛÀs#¢ Á7p8¶«ZªÛ –;(g›mŸeô¯¢„µ~íêÍ6õêk(=ÛÛ^{ßÐ 9[™¶®/&®aÂç90iþèß\®Õ*Î}çÖå)kå{+‚®ËùÄ[„•µ±‘ÈÊk‰ºyñ±8¨V…O,¶Û¶u¤:¬ã$‘jõDvKTk(|wz×¶Á,ÒT´QJ«3NŒòœr*ÁCCÛ´þµŒwéÚ_ÿÅÓçÏJ’û‡ü[/>û…—_ûÆÕï½ò«¿üÕ—_ùøë‹/üýßþͯœ>½øÙçæËÿÍ?xñ³—æOÕÿù¿xéËÿå—Öï¬_yíÊá‹/ÿéŸÜ¼¹òåøÕ—ÿô¼Aü«¿ð•ÿñ_}uîäÂÅó?ñÏÿû¯¼øS?3¿°øµ?xéWåËð…o¾ýú/ýìÏ¿ñæëkë֔ʼ³3ã†v0'Ø«]Å.Ü ˜:ö`Ì…Ú Z%PK°î1wsæ6y}\•ÃýŠWÜï@€‡“^cXŸÁé"ßÏØÍÒ$–0~(lg娬}o·fb`Úi -K¢oFi«iHEÓÛ {„?î<°ó7èÓözTªšYµSµÙ#'20Ë(L ¡A ƒXûµ24’/G!­ÍœnÜj6nSãèüðr*9”Ag?ÚôªõÒS3?ë¡ÅøûnÜÛíqÄ/KÛøm“?ö,ýñ{6ý'žD<^.ObÄ$…Á0°Q^áz>­ˆ+œ¿V×àö°y;Û\ŠšTÊ’2àJ$Èdz…¬3þÕc3ßyÁÏ]ܸg׎ë3Ôû^kNÃÑß±J°WX™õÞétNÏ'Ñ¿Wþ¸eè~%Y&ü î7ŽvUÆ -5Àyš?ò“/â(€ü­V)ÃgãòköÏý•Fƒ*…êê7_½|†ŠV¯¿³ræ‰'Z­-ÐgÄüÅ Ï_¼põʽ@½ô·@´.WŒÅr«m·¾EÀ‚"hnàƒ&î3Ò¸T5{¼zåê2ìa[¾†Á“j­ÜB@Íí{Îô1ëÎm‡f…a·½}ÐYÍv«ÆØˆ 3…vÏ·&†Z«Yͦ†slf÷ós‘²åÌ/Ô{9:CÐà•£†Myoc¢bÛn¥bŠwÅÒ^xµJ³»ÙÑ{5Æcðb«eÃ>ˆzÛ-WLØ»Áâãõ•w jGLðE@ëƒ_²ÞNXC6™z¬{³Y?¹Ðl6Aú/||aõhT}áóŸßhƒÕo¼ùƯ¢­/nÞY}Q0@úóÁ|J   ýEZÝ?÷ñEØø J”P Hø_þG_å–þø'*v¿ðÔÓWßzÔÀL -èôèéºßÅ{µ°ˆm:ƒ½º> îiåˆYG"„ -ÕÿttÍ©d êzæç £ØSeœ¢½° +d¸ëºÀÈg[]Ç·¨•›!¾¿:@P- ÷7Àâ-šâ}*²Âø -\ÅšÀ4-×u¸­·½~{z–Jˆ¨ç û&²’Á‘†#š õd;ãº=uŸR ˜¹á@˘( fš h·ò: ùòݹìaé¢Éç¨än/„„m/Ñ Ì±öÐÈ;ªfn¼¿Æ›5=½òÖþ 54RAšØPÑ­qA€€¯ä» -ªÛ:T©Ï.^ÿ›ËZ€p —)1‘¢Wªh,QQ†5¬L­L—ƒíB™’þâTM%ìÃÎFuýÝaúú6šrë·[³HʸQ?…ëünh3ø1#ŸÒжÒüZ°O+ÕDðÕfrœ½¤$XúWÊuÇõsŽ #•²ŒÎ"~Y( ¬Ú ?gí];ëH.ŠŒ¸Þ6ÁW„(–þÌ %m|„.Ù¡Š²|68ëH€WTTÃKk“!R%بjw„ýÆýÆF³uíZbþo9]tªn7Á¬Y:—,rE•nÝDðí?½yc5f r™§$e=ÞüÜß¾È,úA ¼ñú­’‘œ?Ãodp{Ùxéi_zÖé§šÖL³¨V1÷ jlÿò‘©ÎVd)™õÓÖ¡êt;5&Ô\¸Ïïн­ ÄÏ/­Ðà,l5; ðkï¹Õc&\zþQý‚ 2gbiiæ•oÝ8·t¤ÿµåë3 }§aÙõSppéù3+Ë„ét±Òßó‚……êµk·@úƒùíÚ -+€­Mœ€ö½h²þÎùå·ÖÇ¿ôœ±ò>š ŸªØ›ÉDæ?ìAܹƒçpþìÂÚí¦J¥ -ËË+pvƒA|óÝÆ¼ åvßÉ P/Ðuü<º´dX#yã’‘ä?jµZ0!öIÿ Oa5ÎüÉ…ù_ø -ê€g¿`šø+/þ;?ÃïÛö·n­€ùϯÀÁ:Ýü‹ÏâsŸŸO5Äüâ4}Ì¥±šÑÏI*„Z2*Þ»ëÙ~à‚Ù¤§¥%L†#¨&AžáÀu¬|ß1D8~šR -£v^è3… é/°t*ùÓÔôH-,‘TGE×q9Ì:ÔHšÿdûkÓÓU×É~8Ÿ˜ÌöëXœ*i•x´’'ÏÊÓüS¦êåÜ¿MËPs’ —ÆÜ¿ûî¡|C°=²Þj˜€ Œ4€"Ñæ*dã+ÕÓ§ÝMÛGaªâ¥ôß3Ìé„ä·xö"*€L7]…û`[å -—Á7qÐ_R•6®°¢"#J¥‚Z0M|x€@¢Pô\k1{z:;ˆƒI>¾ôÙsBŠì”(»Qv;¹?M¯c{½žËlV –¯›ø@5—+•)ò–òÒßu¦ÐYª“/‡é<‹ûçCÇöÅcéåÜwÀ|»ôœ%ƨAÞfB/ éû*á ²áŸ‡OYÏ&?÷!gcû’@é¶1]Åé¶ÿ9Ú7[mP‚¢@³$¥^Wßo._[©Ö* :Ó[µÙàu DÚSF•SædÃë™)‹ˆHQq²Ñ¸ìSÙ`g¹®#SåÒáÆÝvýD¶×^[™&“äã¹óOl|Ðóÿó?ý…׿» -¢ÿÒs—VÞY)™ˆþ»mØ—N¶7orùíuq6©,|d®j·<Р Z¤ ¦i¿ÑBóœV¿/Rñ¯ÍNC"dÁü©íŸ?˜§|ïô±2l `_;RÛ[|x'©7–r*ª9yÕÅø”×In®u¤|g¢Y³,Ëq¸‹Þ‡.¨2J¨vhÒ¹Är}~± j¹)cý°G=ôAÏå¸$¼_µªÈ÷ÓëÂF篦4Æ"ˆ£`'ªN•§”5ÊÁzöÊQÅ+Œ—0«GÔ®‰˜†ADÍ·Al¦v®g{!k¯ç)2WX#Å cy/Ò²&—¢Âf‘1¡­“’˜:jhã’i–«SÓ×ÞÆ–ŽÙ…Êʵ›•™©¥…ºÛIMÂfG-Î0­• X`Ø¿þ:žyæ‰Ûï¯Ã&HU L奥9µ¤²ÆX_Ä})qEûI™/"¨a¡€ì©à–-=Y·& tÃ쉺ªéž¾£‘uÌôË|ÓdIÑ©=Ñ‹‘ŠGêõ½¸Q¡<®c¬(Üö»ØŽ«è¥¸µø+¢ï«ªÉqön·­OJ§çNhàaíTMº;ISÚø«V¥j‚äfû2wEùݨlêe³¾òn£|³Q!Åpí*Ì„j§`g±a•T›w -j4–åÂA‚;ŸÿÉçR(CkõƵ_û¯¾Z>¬ÿÉï¿lÌ%Vw;Ä™~橮 h¬Ù ~J ÅЬ1Èúñ( ÀT¦%7nûkÝå*y37«º¡ˆ Ó˜=©x»-ÅŒëfuõö›ú}¡6× œ…3s¢ ÙÛ[õ£ zÁÂ㉨úÜ gÀ-«XÖÑŠåØÞ©zL—F£5÷ñŠT”@Ð/,VÁà[ߺ{þü·»*UóˆÎÆÓÒ¹ÓAÖN”U‰"ç뫬¶–~XƒZ†‹dBÂÉI±Y2Ü.±0×&!ëÅc‰fS5ussÃàVŽ£>H2qÞb[*£™hJou½ÙQÉuÝÂ^¬*R¥I¹‹Þ` )ká®O}yTÖŒ”Š -aÃaǾAªãººÌ=Q±[( -¤½ÁųŸ2&ËÕé ïÁ”VdðàYOÔ›”£,+Ýí-¦&ä …®[æd=‹p`½_±y«§†‹ï»ª¤²‹ŒÖ …7Å¡ù¹C¥¨n -L])õHúÁJ/(…ˆÖ#2^ ›2èJA-ª±¤‰V’ì¾$4é~G¡‚xà *B[Šc ä€*7Þ[…i¼E²¸ycíÂá¥Î–«Oš …°¬£P("wŠ4é?H; 8p¬âî2sý¦‰X»Õ»¾aåéZ§Ý„JV’ë÷hêTfBB’”©ªêåcÿÂ99˜î|t¯@•ú„§kIšˆ˜íæ]ÿ>ÈsÏ~öÀOåÄ3Þøã?ë)]-¿†Çý‹ÂûÙó€=ÌéA4ˆzÔD‰ôDšhßÇ«»ô\bÜ-rªÕáå b5+8Ë}PäDa8áÆ®ê1 ¶å·5*€æ”Ÿf!cÒâ5Rn#¦?(i‰di¡ÏÆqêòAúÝ CbÚá\²G (ÁüÏöí´“ˆrðõ#–m» ú7>8¸:ùáѼÓü¹ÿ§ÑHÇ•¿¼üktpæ“O½ô[¿óã¨Æí¶ê‰á1Ò :`X’ää3vÏCJHÖ@`f«´Rax´Kî¼KZ$Ã%L®`ä Ø”¡”d"̇‡®¤£ðÐu³ô×uSÄ !L/ì©ú°¢ $gÈœ‘ãÈ: ¢Ÿ1AÁDǹúaõ˜w¼œn `Ña m®½3kr ßaìÏ=”°u2f O~‘Öaó$2PL¸é˜Ç÷+XßÛû27L-Ö©êÌáã7>HX“`ïÃI ¢Ÿ¥?ðz½ƒÍ|>ëd]ü9Ún­ÆíÝÕ ª(+ËW |ý€D=ô{µ;·› ´aAî_ÃâÁt®änzöÄÒÓIÖ»D>ì°ô‹ž¤9è““Ÿ‹QÐlû¯¯HÏõìZm¿ôçóQ.g¹$ò˜-rîÔ]zrXšW©T.U.Ùv¢Z¸¥@Où¿X¬³è—rœXañ_ù#H€ú£‡4¶Ü<ÁÒŸå>›ÿ õÆ­oü[û¹Mcð‡D€”ƒ(ßxÐéŸç¤3—-!tÈ%÷ö™ÿ`ûó‹þåïa±oâòçã •R0DpÜœmæÒfªkÜ㸓B”TQŸ¨¿S|ø V6°g¬ÿl€¬S'q?H¹J¦î=¦¬¨×f· -,ENcÖŽ£å±±Ñ±?hp4A¡1H‘Hƒ?¬X”3Ö?¨0ÿ© - ¹¤¨÷J*¯"„n•¢”ã%ê{±`û3±0ÿ lÿü%°`ÿ8 -¤ÔöfÉΈťI<í òÀüß§DêäÉÝx "NˆQ }@6d ܨ~˜h\î#I³k1K‘Bü³@Ý#E>L·7c°ˆÓ`42›ú..üîļð4–¿¡rM¿¡ˆx“8â©I=‹åÛ= ûYÆè‹/ãìÜoi*b|ö{’Ð:vëöêÊÑé`® -,/ Ðô`Ò¿"­9t¥Eîx•cUØ«*(«M#84=ƒ=½ë`©ë‚.é^yÕÝlÁV9>K¸’ª9UµŽTuÓb–(êáÂR{ ù»UKQ¤ï_ývõÄ|}(™¦gª³õÙaÁv0ô.£ÄöZŒÜƒÄ­óªfDÜÚzh*ÉœPÕü Ú†%ƒ¥«Ä.[ƒ)¨cÝ=Å4Ç{1í{:=€ÚáU] ûÖ2äΘÀðΛ_ßÚj¨z%Œ\¤»+ðãP5T ”˜ë[$Yß E0Õ- -5X]]æTó °œ\ ç'Éðq}ôŠŠ4NÕ)ý Éñösã. ñ¬ÚP–MWͱ‚^2— -0Tþ¼´ ÔÏò2ªÏéiËóvâBLØ¡9¥2 µ¿këã•B!@ƪ~„¤~²*íIpÁ®'I=í+á6Ýlù¸ü­ëõ… -ܽ½Axw}½y{cá©G½½]?GÓ ²'4Äž -Æ=4PFщOÁ±ÔAº! "¯¶P*€D“{…­M÷ÖÚÝ Ïž‘¤éVûlð祧f_ùÖwøÜ¬É| ™»¶–HwïÆÙOâã‹ÃaJ0kÃãœ1ñÌ3Cfº+ß½ìô¸ÿöK?ÿ‚:ø]~ÝnßËÞ³rsØ›¥/¿r9ȵXæIHà¶_'ñ™¿uvÛ­õÎ¥®GZvŒ‹bð£Xæ»á‡ƒ]cX€"htE£€ <·½‰ qQÌ¢å Z÷Aš4ã½”p&Ç t5•£ÛQä±Vg-PIMJøÒKÑzaT2Aúw:¾“½.’,Kz¼±F@” X u§ãö¸X/GÐÕSÅgW™”ÜífWy!ÿåždPÙX6Tº-i$(Á(æø`Ý=ä4ˆ# …Û1븉—_¹J†pPÒ\þÎ˰ñù¿G6=æm·PG"Øi<È*Ç0ßi˜eXbaØ3žÔ“H‘Ô¬p{èÒñ•±ïHP*SAticTOî*Ÿ `žóHp<ÀbPŠ -R®Ž¡$†gFæÜ ÌsMâïKq€•r v$œy€-áC K‡$w+£0ƒDÆ! JߪS97.ȇŽÓò6äãÀÞ×\± çNA²r²ìB -AS­²†äºï&”Gmä‡Hÿl/0’sK|÷µ™S“—2Yºôï}Ñþ`€ª&ú4CF˯$LU©r]zæEP,Ô:)Ã0v Òû¹Ñ‰É¾µ‰ý -9IRõ#º­ÈñE>«\Y–ò(|¨æ$õǞ܈~u²Šøªf7°XÛwX¤(N×·J(ò`&_K ÀXß‚ÅHÂÛuñÄA3 Ó£\æbÄ2¡lûa‚𗲡qåîÃ'ÆHã =öžØ÷6ŽŸ¸žgÛôô~»&+ Ñ -à€ÚuôqK¤ă8k—5§tØþ ÿ"ÿp8)¸,JÜ€¢J!åN`ËTÖ5ªÖB?D A ž`FÊh!oÇv˜ÆsÏ= wë…çŸáÿŽÅÃç÷Óî¤ï}ÿì™…·®¯Âö?ÿ‹ÿúÂÅKÃóüh®‹¿øþþ—"Ú¿ô¥¯Àþóo˜µä:‡ Cðip@?2%Æü‘2r!› ¢3Œ޹8†TYZ¥@WF‰9ø–cz!é°0K`$R“öBô Jš·„<‚œc/˜¥6!¡8 sÈøôˆFi|~Åq]Æ5ÊTA¨!µ†Y¶¬² Ò?èEj:ÛK%µÛ¥5›ç¼Ü S“펯L2z(7Òaô7¦°ž0ƒ¶£s£ÜF ERÐ: è$R°wÁ(†!†qÈŸm~IùÑ€6v È&+ŒzʸÂHŽú2¦0–5<¹s)\š¢IòxúþÌz, ’Jè>— ô¤\+²»õvà %ôLmNo®%³ÈëbQ¤+Ž»ñqš'(˜qŒ ÿå -l,Œ êÁÎ ‰~3E#éO–>„÷PìLã]L#¯¼}ݾ·ܪzâôT¥6UÁDBêé/HîƒùÏoÓ-+ìõØ $ É!Lô‹´½žUøB§† ¶Po§Çj`ÛÛæ×Q¤ó ÃÜù’Íôiñ“½®'ö] ¨Öê×GîÕ¸l <°À2¥Â¼³ -KP]jÑd ÓjaEíÏìWb/Þ'ý§Ó0¼¬îäé0Ìá1œ_3ê5%˜ô -Z!û¾@ÅXD'@·|‘Äý]WG²!üž¨Ãóö© !·ýÈPú‡ ã0šÿü‹îCø·Ö$‡—åWÔ‹uM0ðšÿ}X©cÇDž^ÐÝí¹!¨Ô8ìlv§Ž˜óÕI$ãŸþ³_»zõ;ßüÖ_üöoücÕ;Éǭü¿ñ›¿÷+ÿùÏ¿q-ñnÿãÿì¿ûê?>ÿ÷òèå?bÀv7€ô×&TþÌô£c·¦Íb|Ó†pg½ü Dÿå-X˜„Ç@yú ý‚üëÐ~´îüp·ö댌î§v´ï¬˜ÿY”#«SÌ¿ÔwL0õ1¿ˆæàs¬“;|4d0ãÍjóúU´î[ w£×£¾ø8ƒ -8­å`;9UÚC¶»¼4ZQ’áI±paÝúÈ - 4>´ÁÙ`BvØàg/3™ÎæùGwÕÒÁ®XÆÈ—–q*e! ¥¥úò²`^Ì|œ¤?l¦RUdYˆš„)>”°m¬ÚK“(JóöÒ `éÏ¿Nì^ -Ë#ƒ£&aAÉ=‘Þ«(*Ñî^¢!ð,!¥½úŒåùÆk×çGyáÁüð¥_ù'¬²†?HÿsŸDý ¶öúö|þ/|í÷ëÀk32ØtÐý •Á`À¢ñÁrÍÃS¤ŠøþX¥…$ óžïX#*MI‘¬Ð#%v<…Œô°ïÁ¬Œ¶B†A†¡PrŠE킵ª`#ü—’g¹<ˆ6ÕÌa=\AÒ{iäÁ…ÅdÀ‰¿Ù6ÑÉ€[Ý€™:ìµ×mñ·_=u}—cÔÈ3u¸<;W‹©|û’¼(Ƥ[EHÑ ,nFã8êõ»¸Ø|ôšcÒI`y¹ìÂ+[,É'¨%V*Õ -ö>°ÅÐ n?ËE€†ªPñ\ŠF "èèL+…éð¬˜'ó¡æžÂçÞ{„d¬î±%0ˆâ~œëÁw0åãynÅzDõ×ð³x‡ÄŸfár0—æ¢P?,–ŽÕçâXyãéby$BVŠHö”p‘»Ž F¡-…ŒA¢àÙÅpà »ýMs -V> -.£¨3ŒG†îPÉ““§lÍa«ÂüBë]Ë<ó'ü¿ùW¾ôå_ùõ…§e|yùz£þìoþ«_{á……wß]…‘D"bª\\xaáëùzé/Ÿú?úßý—œgý1Á p[O·®æÒë¾Gd ÿÆlü\ïb¿HbZÁ8xžãm³FUí[}»ÛQÉÆZ»×klÁ3ô·d›Bº‚õ0 mÝÒÑ$FXýFfb–P‹ƒ‘AÖ=H5­Xâ*íÍ›üôˆ¶Å7|[<Âá$ë>LØF\^¯{‘gäBcJõ¨-‡’“Èâ‹…k*ðžq4Úñ@éh9X š£AP*€PÃñµ`ú{EÊÕüÊ­Þ®€(:T ="$ZøÑRƒ~óXäÅùÎ@¨EÈÌ×fàG¸(BèÀÐA.€è…z<òEãPõ䉹 v¬ûVçXóÌâüéá3­Yó åðœJ¼ðb✪±a“,E¹¦ùƒWÁ0FWx¶^@àºÆ„ñR„;žV4ø;•\žÒE‰UZ†Šuœñx´¹Õ¯”A7 ÀJ††úc”RBJµ‹vTÅuÁ´'gÍ8¿G†[òhùáÜ(ˆÅ‘[Ü<,*‡T»ã!”@ VÿiuéÂyw³Çó9OÇ‚ôc"‘²ËIéƒAg€ô‡cõh½wb†Wk²Ľ¿;œ´ß]ÞA[oÆô„ä¶·éUg ŽA3",ã4s/AFfŒ7 cÆózž/áKÑ>ÊÄÇÓð‚Hز¼Ýîmµa6›»!i}Àœ W屪Ê[=¯aYÎ Á–(•D>ä& x¿=tÓ^5a’‚Ñ£»3Ó2ç=ÛŸþ»¯}ãµ?ÿá?à?¿üË_¾˜Gƒä§o°úîêüÖÜþÁêŸý»ß?ð ÿm úAüè÷¤ìF¨¶îúfAÞ8hƒ5 jÄ~‡bØHý0p8.”d<ß%²÷„‘‚ƒ9ÕÉläðü™K"eþZä…'yû2çj R*•+Ä(&9E ±¹)ª^á$¤ÌöôßsKU•Q~úN ÉãÈ#dÓP×ó,ý÷|V£ 9O4ÁeK {|òÚkµªmLô(·ˆ†‚E<×ÞÈöêçóœA¤ë¡F\¬±,(\;;¢€ûFiŽ ÑàOÁu†;x„K……cŠ¼ÈŸ¢¶?AÞÕóáØTŽÀׇi­S†`aËŽ\ Ò0aëßrè…íÕ2©§©d;ÜG«hÿ;…¿íÁ®MKlêÑÆ¶m_ùÎ%Ð=Û6ɦF'àh]+WªOÈ~ë>ÕÔ³ =FLƒ@Ïö qÄÕ@·‘çš÷˜ºõŒ’Áeá@|üÈNS‡žP•KÔß’åç(ˆþ<µ-‰$«Ì3ñŒˆ½Ã1¿0¿òæ7šokKç.´ÌÍ(?q-é¹'ÀñðWÖ©šþÖû0ˬN>w"ýªÖ© µí -v¨(Cc—Ä*¸(ºšG@+­Q7A`ÁÔ®äjµJMäI™lÅÒ±uv78H’ à‘D¢8‹h<ï¾ssýNïK¿t®sl‹ ’”è€ôEôOÁ4ÛrÃñCUSg`TñærûÜg¬jÝêuÝkýåN§{öX‚Æl®ì|p˜{ ‚0¤ù€(ÿà«Qù–ï8NÊÃC÷aÏÛAóŽLÃÒ*&Àá´¹Êmÿö…WÁ9÷‰ôÏwHîŸ~}þ)t o ôú_¿vé¯çA|ñÕ‹â1Ûµï_yÜá7üûïþò¯þ[½p@Ð,>å Q7¼Ià jæâbíò›2BÅÊ[~œOÜù…̺~$’œ0k‚ô¤BóßË̳l‚FécN+,¼ˆ’7b-Žò³\ËOð¸@êO‰í©y5©Â M.¨¹'ØI­ -0Ø–þ ¥¶¿À©ˆröI‰# j -~§2€<Á-ˆ•ñe ˜UærÏ´‘;½ .J»Ã`Tغc¢`%ýöƒÍÚ‘™ä¡¼þ…Ï%iÎå¢ ¬ ô¹î@I,«î«â@B¥šq¤÷ΣÄ9s%‡ÕŸˆ¦úœ§$5PÓö•×󥆤Rä‘nßi˜ªä=7BÚÎêˆ~~eóж™#ÓÌdAÁ&íÝ[OŸýߕ٢0‹È‘îQ4‚« #³€`™!z¬з¤‘Ô¨QÈA®Ä]Æ+ƒÍqˆ'(?'§ç¤^ÙO`Q1© -AIìüP²Û$Û†&þäÖlܽ“Û’ï5Ð"TöšOÖ:wmðàä»ß~›ß³v«»ö:ˆþÖÓµ×ÿ -ûÈM³Þ´fgËð$°=ŠãN‰¦Ó­ÑNRY\O˜Ârôz=—uˆ~<šz­ÞÛtwÀïÙ¸P‡ñ'À €“æñ*ìÙ÷pYѨ‘ª6@ϹÅÎö%'¶›ÿ,Ñì¾ÇÒß(jç>ƒ¡¿Þ†:`¶y@x~w0ðàS$Ì®,ÖÓØF¨jhã[?bÖ*&+ËE?È/$U§&—Çyû7ýÿ9Û/ÿÊï~ãÕ‹ÿóÿøÛ}¤²°ýøùý/Êþê¿ð¸ÿÝS@±3Êe»Û¹ìîµ[¥@Vªë±G8Y·,ñ¹˜ŠÿäWìž“vé§n‰l²"3EŸ\ è˜P°æ<À—yóCØ(ü…ðåÙµÏTþpÀü -ý+—W­Ãå÷WVApH–Àqʪ¦PÜŸ)éed_c9HرÚ ÇL^¯bAØÇ~x¬¥dñ†ÐŸ›O=€/~~w’_’qG¯Iö~086TÓä9F½0jG®f‰žúÔƒ¹{TfãW o`/ÿÓM±{‹(ÇÇøCìx±b“U­™~ nsÝÈ4Õ uˆ 7 ¸ÃÌsÆ«Çë é‰Àj ŒÃT¸›»æ7ë -|ǬØvGa7jÛ‹rˆK7B®X…Àе¶œiÖtÉ©Â@LQÈyЕ­ª0ŽEéyµ*_tŽ$À'Mª0‹GÞ¤n'Ê-õRD ë#U€°*e ÙtG"'Ü­<ïÜxãZ*G1¸  L9­à4½>w„Á Ór) $Ãp8ĺ܂®ák±^ë±”"8h=ËËCíý˜Ùh5ç"WM ”¥V©˜Sjd=-ݵ›Ëÿ-8-(þ²É+g m·;Tàt²ÖQa\¿çrì¯kוµ.ÆÊ*Å=…Ûù¨Ûþ@47Z¿òY±ãÄÀŽª‡ öÖqªa>…V_áIωY0SÀØîG¸zCÇì"»HÃ2µºiÂÕ¾Ñu»÷œzËj±Ö7z¦U -ü £dU-ÒWæÈÊZ›{zIQ‹w7„Ñ–°€0§ãœˆÆ}Š:CÑJEÃõzzÑ…¶ ->õþC‰éq>ßYmןDMáÖ?¬nn’4$Ì+cÄdUõVNƒÕd'`7Œš`g2Â<òt]«&‘¡èÜåI³¼z¤Ú˜­ýÐ)1É(”ÌiB'cnOçF ¤ú[¸ÂæfÕ£ XŸÀõà7'=þ¬Xˆ¯þß_ÿÖ—ºí+É‚œïw:Ý…gÎÀñôsÏ£Ó±õ7ÿൿzíÔ38mŠÕªdÙq¨¿dZ˜Ó’)?èûçÓHÆ£(ynß?ù“§Oœûîß½Ózª–ª˜Ã2˜Ð͇ãöèÞg™Ž·¬tëWônW ->¤©ça`¹€({ -ÎÒ¼ZÒ¼¡§j ÆéQxº#Å:¼_óËIOÕçÑÝB²{…£OMúB¢@å*êx”0ES}íì5¾˜p;'Ì^ìð**ºeÈ^6¸Èf¼@Ѓ¾Ñ 䤈<ð×Ñ!Á SƒÅ–‹½¨P'š‚3MŒß¡ =‡l€ã9ü 4# -¢6£\~ó å ŸÂ>ƒbŒyf§ä ¬'”Æ$ª%éá -”'¬LlË¥€5²0Át <*ß`Pdªßáù•¿øÓ§?çï¼÷Ž>mêz©j頒㨤¶üyNÀ|òœÿz¤çs -ü÷W¶FÉ€7h¹™ê‘öoGN­1?èoF^ÏÝdµükzb"2g¢¾mÛ`B”­JÏöœ @J¡eF'MõI–ÿ4]g·ƒÖýF§ãtØÌßåkcD…IÌI«°ôÏ«y,æòà ÚpÄä®m=]¤ý½CÁ³ >ˆþ´ÓŒŒ÷%u¥þΰTÄ fŠ£šR IDATªH.eƒ©ÜhµàèØ6L”Ðóâ¤Ú§¬Õ]õX਒€=å •®$%å¨Hú4›-PÙx7²ŒZÓÚ»´{ý•›IdsZ¯6ì‡ÞÊm»JÝ+½G^¬lò®!Ô-ÞïÙ—q› W\àûz ì+fªCu%Mƒ&iM–Z -µfŒtÝ]ÀÞo¶¢îA`o¸Tñ&Å -—‡6ëÕõ”c€Lú,DQO!¯ù ôz“ ¡·M¬‚½ £@Ô±L¥ ;žU©±¿¢Ÿ«ƒ@ô‡IÙ\wÝA€3çÑV¿·Ù;ÿÒ9ya”!ˆ¤Uqêù²• $Tu wÉL€ìš¦ÍÍT+-_]ç…˜ŠÈ‡›£ü–2™õS6”ÝÖ;6HÿÇý¯±/øó¸­Vk.,LfZ‚7®˜é^TÀ‘–4 JÔ)Ê®iºL‡˜6@´K¹÷%%ð`›F'”öö@$…Nh€\&dPwˆÈÁRgÞE’HH„éȆ!4EÕ´ÊÔ%)®ÙÝ|àîxÛÒÝg3ŽÜЀ(it×ÃEç¡1Ý1¢ ÏjP~ZA„©a‹•wW_XL¿ÿÍø^zeÏN8 zŽˆ¥#뛱Εbò-ôå|ÓH©‡œzX¶Œ×o»s³-þpü«¿¯üÍkNwçãNºœ-æf5¨Œ•˜q5*BI£BLr-BñEÒ—P¡ÊÉ>!¡éII«®qò²eTLµÓ&¼¬™j-Pf–tN’«?@x×î u™-5NzàŒ¤qœƒ+Ö’†µ¤J˜*,S(h£”𮸛_UU«d:¾ËšV¾Aˆ«Î °*àõ+ÝE1T€ôóŸ~+æ¹ÎŠ:àèØDlþóû‡Éu³íƒæW”#áÔ—r„×›ÿ!r¶$Ò?³¹Ý úÁ{;hÇá­»“ 9È}‘€¯ž"ÜÚ^Åëõ=ï18wÁv¢û•}_Œ#°úY²è·Ê /‡,$æúÀ lØW–Û­Cuf†£š-êÇâèQ:w]ª7% ŸùøRã‰F£»á>Ü þ,Í„£ûœŒá[* @úû™LW¶BÔÀÒ¹VcÖZ8æŸ9•ò\c4 Ó–`øf5'¹eX¤´9)}"Ò$ HôëI¿aéÜd‘?nÃýŒ5ðÒ¹¥Ö‰Vûv»•Pì‘þáÔ{àŒî—þÞcMÎ~bñÕŸ}5ÕªŒ_S‘›:ùéÓ§'a(Øú( é€G¾òƒ6xü§iM<ΔT0÷“K$öIüd4qj‚9êùŠ'dËXô™/`[)Q=”Œ`¹¾§P0Jÿ(3„«}àqÀ¨t7ÂÆƒž èiînáIEÎ¥HÖUMC‘¸iEÓîö.~-€KÝ« ÷o¼×®Ö¬™#¦³9H«9ÁüéÏN7âqÿ#LjXú§Ý¦¡2êšJ¨™*†nP vÔ¯VŠÀ¼R/¾r‘ s`ÑÿÒO ˜‡Ÿòy€šL¢ÑòɳôÇ”([áê%N ûÐ줓±IúóŠ›#â>f7cª -€n6hP×7H?i”î ²zšbá:+FëÃv„Àœi¸;ÝÕ•+Í'eá;Èý ‚åN¹­á¡…£ëÈ% jÀ¦¸© ¦P dұрµ×ïtnbÒiýæªÒ¤ÙòúŽQ±¬ªQo6Mæùй/©M¹²ž{AS\A]F¤°¾®(R’¦ž¨‡”ÀÚø+õð~hÍÀ1mh‚“R1QmåÐäócU”©÷/döËrô"%g¯* âéïÜ» ;HÿÔü·zÛ•Õ6x뵪|}íþ¤ŠãêJœ€je’e?ÉQÛ8†ì ô'ž©1V²F’!KÓRo '](¬Ð7TÕ&:gŒË9Aß #ÆÞ×sñ3KÁcˆ)8ãÄ1_–þ©4ìv7Oì-X2¦vM–¼pU°xØö/ >I[ 7¯ï.¿ÓdñƒH¿Ô€¢+†!s7Iyé¼ÄÓÁšiàÀƬ#«JO”ßþV2‰»þäbvÛ¿ÍÍ6ZO¡§ø^ÔäÉ †°ÿ‹_ú¹ýŸµ©aþ_ü—³ñÞ8ø“n ý%os²ÕªÖéíÊC¤: UµšÈz»ÞL%ÿ\–Ãl9 Ómàà‰ /‰ž Á0*¤0jFy]ú P¿#p@  %Ëèoìù¨Pà1Ø¡RÍÌ œ•0ßI©÷°Ÿ–!¨¬€äFK²iìî$ ÍÒ4ÏvoÁ®”dN^©³ûA.¸‹¬Àüw©«‹5’qÐÁöW dþ“Aílùl³§Ò¶Ëo¾!H ýÒ6ÑûJq¢h¹þ‡u€–ýÔ€¨až€~šÖfLüŠü¿Û¸pîâå«—¾A¶?ovÏ©%e{ŽùÒ=€BÀ¹ô”-\$Ò?õÔ´|÷­ sñÛÁp=)Q =ÚÁå¡iå~8Õw#=S*3‡ûÆá¼põ›_KÿÃwݹã­îGíÖÓ ÆLÕ˜6Ìø¢rEíÜ]/Wk¡WèŒH#åÙ7¡‰]ÒLáºà…-?â0Y£Œáná³Á‘Ìçƒp¤*y/¯ò¤©ù[·te”¯y×áü‰jLQo|Êf‹ÆxÌçT u‚Ú)HÕbá‘éä,OI>qA±ºR¹¬äSWki±‚¥ )œǵ¡¢@ ×ÛàпóÁWøÝ+ïwá÷åÊÂñæêGEŒ.ÿ(™_$²o_ÅðÎÒü\›h¯­ŠÑs¼þ 0M¼C­ ÷Ñ“YÓfo¯øÙ…†óÀ×ózL]²9Åbü^Œƺ¢²93ÑÆáï\ fÈOϲZ>‚ßÉ¢S -Ía€Õ> èØÑA4 GùBžêb…Ì/å„Y©²ä3<ò÷¡o¯÷´ü”:¥™’ÝÁµZÑ«þŽŽ+ Tx4Áv\™Æþ!U-ÁMIn9ðÀsŠJ}$¼h€qo<×ñ˜×7Ö7ºݪU…Ýõ]l£B Ðkì´»à -œEj.Åðk„iù "êAÌÉ!Gë!%‰>»?²ë­ê½‡×¹ïá¿þõ=­Mܵl­v!?ÝNКm¶ & UÆç¸j1u¿øùÏNBÿɵê-1¼öú·×úÙOe….ž[øúñzà35¦­|«4òE‘”’#ËÿÉÿ‘¾ßóðKçæôµµ v$Ó—KÇåïÛ¥i=DÖ½wŸBcJ¶‘Vƒª’®ä”®)Ã#–DÍè -Dž~^“i‰«el¢‹ÇT* -WŽ1²l††\a» "ðª¶?< Ä¢ñѳYe•žö à”ÎÇA©H-¶"äíó%D( <ÿ -®ApŒ+ßY®ÖðÑh¥<R®Ó‡“`cÜ0‡y~fö6¾z˜ Sò¢L£4„ëшcíPúûr¸˜¥tbJ@ŠU·À7–ß[iÔj¥R#Ÿ‹á9ÂÑßê;›‘?P1i¤cÉ?Þ”>Éc#‚’ÌTð-RS®”ÈbƒýtácH &xÞUÚÀÏýÒÏÿÚ›ßÃ:àÅμyåLÝ>ñ‚èÁöiϘF ÔãPŒv)¤SÏ-œýÄcƒK¯ýí·^ýܧ÷¼øÙÏìå÷ÕB__~ž3H8ÞxCpsOkz¥ŒZ=º×ë•…ùªlâÍA›”¥™£m´QRŒ&AA† ê@b ²KÁÕ>Á‘D³œ °àÐ;§)ÄA6h”œäñK+û0’E¬ZÓÄYá<å½®ØX·üöjP…É)›~“­„=€…`8”GêÐDi˜Xß[ä1—&A¾/¬¨Q ùºinÖ^@ýϾ|±kÛ]£=ûcçÏþع½c÷„!^·ªFc¼*À¢Ã¤ ¼%KÖOä}£yÅyo&ç&&=‡%lL§øÒyœ—¯ àª6ü9cÊK ™‚îÖ)œp“Hæ?ì0ÿ¹‡Û lCOÈk ½PV“F8ôB¸P°fÊpÙ¥ÍMÇ{$/»K\ÚÀ®¼ƒP`Z¡µ '·»i3& Hÿìp€QpŠû„gêÇzݵj o<¿Ï\ð â!Vøp)g@~æa¢QDÉ.ÒŠhÊòQSö&˜; -¶!dµTd+8B*]:∣µ‚°ˆqËF™ -V€Î¢Ä“¥c†“C!ƒÉಀ' a÷.ÁªÉS|VeäîE¿ÛEi˜€°‰›7ºAà.PÓ/x+·eÍëÚ½^~ß¾‹ã{âÉš¢«íšÿ…)*e½O:€EgÃó9_8 „å…ž’Ëq`Ñ@¨Â­‚Gà³ V1¯Eóf‚ôçOULÌ€JÒ%:v–þ^3eéë'ÚIqeólû35¼réòе™ª òá0쀇.…H®ƒ#õFú0Ôjªqc®yØ6Ô2H8ýµëYDèn¥Ç® Ëõ& IÄgO¨Çú4iîZ>2ZrX «Nt@Ïîo>Ì?'1“çˆqåÙ…ÿ´ O‹öDO¤4^‰À¾ùÞê«¿ðsÍæ‘¥¿øË×ã·Nö+A:àu"pWж•JKd4Ë™¥#é9{¼ù‡qµ Øc,åòº÷ˆ·îþD™1ð¦bU~uhµ ²ù1„ÄŽ¤|@‚Ÿ #¦éYäG‚ÕÃþB‰'¡(œ[…CÄ%lRɧñ`'fÑÏõïàV‚ùÏÁË@ä+.aÀD4gø°GüŸ˜DrAúóÉBk–u@ªît7GatkÝ>™¡V7“ä-HÿA’]8Yï$ÁúSÏJiåeR©Z¢öãLu„¡Kée†Ã˜RkUc{2s$ñžGõ¬ª’ì)˜Ä? ØbÑ1M\¦I1ȶ7{µ#3Y`U&<µñHæ? ©¬* ‚à @yÛëxá®vVþËËËèd HAý¸<†›G`ƒaˆÁŸÈS“y€…ô»r’aÈèJ¨È3öP˜ ÜMµV¹ñ^§w¤|ç¶á§-VúpbBgñýõÂåÐjù—¾áNt€ éN@Bê €Ø·ôÿçÿÕ¯×ïÿ¹¥ -€·l¨ºÖP— 1Ì"-NfHqHã £ÞðàØwÜT0þ¡±ÞÅð,,¢«ƒÓi’ôÕ` «>Ìõµ|Xú †AX“å9>©ÐgÑÏïá¨ó ð6=¥ÃŽèÊ´t0æ#ò$MJ0buuŸçE¨ŠÙpõ…̬í -rI¦_–Þ+ë˜þˆ Œ£T n>X¢ÃÉ—ø#ö(–©n:QDP¦  à)¥ÁŸ´#UP0€¨1o'3ƒêwÃDtøEn´G±9Óð¨2hãC½`°ÃÀN-€ 0ë5ÌéZL¢³±ˆ3^Ÿn°ß‡ }‰ì™‹µúCªØG4 •Íy°Ç¥qÏÇèŽB¤Ì¡šƒö{‚䕎ð#ïÍpä5£®è‚ªûáÉB‰ó¨ÉãŒùjX©)B5, À­†0}ãU± ¹¨Š¡æBäF£ -%4Ï ÙaR*¯ v.)gàZe3Ócömãp‹~DÎÍׂÊU6ƒæ¨œ„#Xðš5c¼Í9Cÿ;Öœ™«WW>êmºýqAUÌZð =ch·?ħÂ]-öƒ¬4„e?àñœkT}LJÉQMX&È“R#LKÁ*s·‹ ªvA1Ö`w‡)|8= ϸü õ$e"• -Ü;6ÐŽc6…ÃQxîVÞ„[ËëN×QiN©•NïF³Z©LUÏÖŠ -A´çÈ« ¼À­Y-]Õã°Í¦ ÷TçGãr¡|ñRà ƒÖIKŸ^Ú ÜyØâòSôb^)Ok„61œ/ -ETó¨°7+eBφ¸R*ydˆª@‚Tº±aç_^ò\¯q¨nöõcóö½žþ$šH2Ý—õáNäû.!}ÎÝ`éŒî8qûÃȪ¤"F±¡ónÎÖ_ZjeÝç_ûÍß{ý[ß­¯†bqÉúoÿû?†ý­+XPx†ç1¤Æ¥~‘–Ïs]?1«†_¢‹{³&ù£Òé€éöšÓ»ï.~|>诵>y>JNo2‘\?`³Lxˆ(‚s˜‹PHqc¶A‰^|³QTÒúÚžÓ3Ë&‹Ä0‚%¯äX݃=„¸ º¡*#Ϙª-ÆhŸ©y~Q/`hZçæ<¤eùØPø'zÿ¡<¡̃Ô&òÈ2¼rl§DçÞ²ZÐoÞîTWªVy4Šàf1–/â¢1=$K§â@Éy‰ECÓÔ=¯2G&£P^7Š °¬‡#Ø-ðá2vÂñtU¬—‚¥Ó'»]»ÛY üøôâY8;…ù# ̰aUŠ’à„f¬OsOõéIxP¢.óLȆ‡¸Z'Ð!*(¢ì«#|0ªdK"‡1]{&ª·5Rrq 9àF#l{’ª”²’þHPXÌÐÉ™c•|yxn´¦äx>{&f¼Ð Þ2Ýï€ ÔMӾ綊MQÀÙ|A±¨ ;aÃüÉ­ ÙNÂ¥õôšÄ_þTJt/ˆ{˜V†Îw?$Ú(¸±’€l(ðR@¸GÏ- d&çR‡±€ÀH¡Þ?þ_¾Â/CôʉåÉð}Çz&œÂsÆògÕ$­‡têŒ0Á1+ú ­4±pAîû½©ôç]×5©füÆ -Úû³G­kï¶×ï;pÂo¸¼|€½ÑK»…ÓͦÒéF­²ô\sù=iVw6ö¶ær-[úªVJ}Æáe?[@©ÐT -†«E¨EÏËx[ZB¯e°íqk8uƒâZh‹E\gÉíš1#ƒ(‡põ­ëÕÃVÕ2{ -½¿ ¢@M7ô©d3"kþ†n²}§QÏ0[ðé{—¾y=…`\^nw7œ¥¥è€`LJ]‹Vž†É’ç²?…f ¥{GŒÒš^X£LŸJ—‰÷<­Ç0 XQvÛ®µÐ Ñ/>.jO qÇHnÏÎ3…=q¢j¢ !­€VK öm_üüEØSð_ÿöoü›ßÛóžZ]¿ôÍ®uäüŸýéïñg&ÑÿW^¹øÆ—JÅ] ¤zT½w?Vò‘>•ÜH’ÊUÕæ¬ÆìQ»‹ƒ¿òýý¾×:%“F`§3ƃR—CŽÌ‘ÍÔ QÂæS³]Yb‹•ÖTßɉÊÿ9K«IݼxœhœÆ*{°ÍïAJ©’Ê *,HUe8­ -ªÒL¦ÿÒ·QøþÆ{í"bë9ƒs?¶Ð#xp$rI’®,ýù$7žxÀ<“Ó¨&>Áa>uRh“R]‡XŠŸ©,X^΄€þñ»¿ñ¯þ»³?þÉJ&Áò¸ªB÷!¾yxæÀÿ}ÜFe¨ªZÝç‚ GNO„qcÀ6A³p €«R11qœÒM ë@ãöƒáÔÖ¢z®šPZfÅ5ŽÛ¯Î˜33Rjq¹×¸n,»äì.Z¸ -2¾&qäÄ7a{¿õâ…ôÏ,"˜³LæÍ1wË2ÇeÊ¡FÃ(³ôGXþÕøÃ:,ê ý&HLËoŽB’&À!| -“™x+8(äež4"· À§´$÷¦«UÖ³ßÏ?‘jûö%ïáØMØšRMp“$8‹þ/½B-S4WA¬môt*pdrß~è-ž¨Á öd¶f½V™6ú[ÞKŸ|nrº‰m àbŸE¿?j9%å;µ(ÝÄI68)[zV,/߬׫ӇxÜò¼6R7œLˆg:†ŽV^õðÁˆr¼pa†í„%JáF;¡QÚû~UµÒ¦˜[HŇ<3m{Ãi™“S½Xrû‡æÒâq P1ܸJ[~7, "ÀD€'ÀýM -)Bƒ3K¨ðORº,úEjû³È«\ŒGL¡²™íƒk=¥¶Új÷ètpá%n ýÿù/þf}ö€&2Ðý­à—¿ü»ßø™‹ øÅŸ"àïŒ@8„Ç}¦Ž·:€¹^?'€ñ½‰‡m2™ÁP2y2«ZX=¤° -,kPé€Éšl,mPš\…œih>ç\1È}†€ä -,1sƒÀaÞ˜¤ª!%&OæÖ r§j2Râ@ÄÜeÂïÁiFWÂa ì$êLBà †?x|+y† -ŽÇ轂ôÇ\èÄüGS&ÅÄçØH°(9?Ь$Kx –€Áýˆ-¡xd«Ÿ¢ â\(A2ŠÕWÖé4?²AžŒù/7VbÊA9N!$oJ2JýÆ0ìÀüƒµˆ‰¹|6Þ•4Û+qN‘ÙLA°@ @˜T§—§ª™)Åq‹hD*ímº©B6Þ³ƫ×h„E—¾Ä4›ÏxÂO1ž\SºÐ·H"‘S’Jcf_™@íK‹æb4‚#ܳ¿B’é!<±aœ±Ö'NsCk4‰Ñ6)¨à¥²€à!&€ …uOZƒ”ò¨¤”¬ôç¾3ÄGˆÁÁÊ Aà’÷ú©àrŠÝ“ÀŠ ‰L×¹mN8g“ -qî²ÉÊ (Pîô:ÅW9$ ù°HIË ÐÒ§º2¶ÇQ+Èr ''¸z-™•Øì}ˆ«~X\Z}`VW8$¿Ù0°\$D‚þadŒô\¢¦Ü €ÙcèŠz ¨5‡§ ”HµŒPÖë1ò "ÊX¥¨á$`Ý>«ÔU_W•xäÅðEo%ß„2â¢`&qlBȹ§”°'ÞYýÓ`ÓU)aȾÐòî Ú…l]7ßïp‘7x+´]K34~·?â<Œ>7Û\vîi5\ 1˜²~ IDAT–V^7¨Ð:;çß»ßî¾ú_^,YÖ÷Û"WBx#†I樣øˆë*°™…‘Ä©•a¦Aì‘Ôð -~DHGMÝyD5¯eÝš1,ba„Ї©L„”ŒÿÃÜŽGÁ([»×b ²»Žk«W¯"cÏÒ ‹àôô†µ£+Œ°'+yîÐÉsž…¦ü^ßÇáõ‡ncºî&³Z*¢ä‚Aë9§\ûï\üéßà«ÚíöjûÌÔ,õ k[Y»5J..¨—]‰Å¸Á«?óÉŸü©3ÿ×ÿóÿæ_ÿ¡½a·NâbJáCpT+qmÆC?_)ZÜWÿÏ×ÿîï¯ü/ôÛŸ~åÂ'_~å«ñÆÉ“8˜§ÊÍ&²,Sð(%Ÿçê½h;f‘MÅjžF¸w¿ß¢6fÞbŠ¥ ‘¬’RR§B (ôAúƒÂ B¤ÓõÈÍ´Ê úÛm»A*³JÍ,܉üM—\c`þsÄ OYf. ®N©Ž?:im/&’¢þ šÁÒŸªÑlÎ&ßÇ$Á œXFK‹Rs[<µ°A)bSÚ(ê†VŠóämì„ 8WƠͺºÛÃJ(˜½µ¶õ½~Ðpggªlþã/RÃèØ-³jZ†ëìZ§à›C¤?¿²ºzãkßtñå³`û r^ÿε?ø_¿Â:À¾/­ÀÚQiÙ€ùÿ ?’Æv[ÖÆC> -¥؃ȎfMÊJ6ê.¨Î›4A$oÌêPx,ñ8®Õ¬Úsí^Û²¬Ò”ÎAf-xT²Y«hX39ÄÌŒ•'º0J¥Ì×¢o;î6¾^™ÂÞ»ïÀÉùŸæþ©NŒÕ­JÅ…ÁíàpKa¡÷ ˆaIÁú¡Œ‡±N1Qä’â¼K 1lì \Ó2ãaä £Ò8+ õLU©¢¤ˆ,½A­Ñ°t½ä kgÀð‚p‹Šs-†Ûï<-§„‚¯A FŽB† Uºƒ’¿í[UkîÄÚvv½v>ŠvÑ·P­Eõ¸î¸2ÒË´™‚÷aNŒ§,œÖ>¦[Õ’ãÀ•‡ˆd7”øeàÀ…àG~ÜI AV! E…ì’ååÕêá–x[úÙ³gíGÄY#hš5 ³@±Ι&dy=ÔgŸ’á`žKsÇçhÜÅgžºqÓž?U™ÒêîÆZ£^ëRù²9SvÉÌ?ñìÜÆZ,kèöÉgð {]ûÔÒ"ø 7WÛç.,akŒ´N´–ßÂôRë™VûÝŽÐÃÖ|娩s!´ï½²…¿Þþ¨Ó¨WЦxK/ž~{Ëm.Í]½Œúbé\µýö;Ús§ªµê•ºzÞD,‡wn]=ó±…¾ëu>²…ÖZ»Eµ‹z£÷À‰w‚J<1°«Ú?tÁi¶¢8hÀ}.´æ_Pž qLJãÊw.EAô©—Ï:V}V$#·¼Þ^œo]~sùæ‡ë/<²h[õ*Ú“ Ã$%WÈH0Bs1[ßAÈ(§ -*ú4¾9æuÂê$Ù5"tŠÇÒ«Ñt”I€ˆÅXíIß k“aïbŽu—° –Ë{`C‡ìE -7cêjÞ‡©¬€ðD/?ð#+€7û;q÷‡÷K ´†üÜa-Ë<êŽÑ ]q ™ØR>E±{óåϱ®®Ž|Š,¡fCùºV -B?ÅÔ‡{Qhì69þ#ˆ³WbLÙNF+¨E^â2%͹ßOðÇBK$S¢qâ^d}áÈC¢?(÷Ýκþ$¥ïöu$2@Œo°¸´±Ì õ2 ¢,úO>3'/¶Á\ÃZë:i'ðã¶Ö¬YŸ±n~d÷\¯jˆfãö]*É*¤¨½%UbrômI‡j@lMŒm‚=155–A8NßÚÇIÀJÿ|ŽüÉBÕKj“ ÏQ.’Õ;IXÂ~à‚àsî0`AÃGý#`'è>D‘&¸„4³±¶?tÀý{ó™4Àã6TQE*ÐÌqUzÁz†îNŒ£‰ËÈ™.yÅ -«uĘÊ|á±ã“XVHØŠ"‰ªñ†UãQHF7ÿ)ß ³+Â:+klWaðápm퀚«î:BýÉÒž×YôËL‚¨°p;JÛYØêçèZHÒT+I3ùɧZ°÷Ï.57+feõŸV_<»˶‹/ŸY}¯íØÎ™—Ï\ÿÊÙ…¥Öêr»bÕzeùívëŽFûÆÚ¢˜·»›ö½ÞéOœ¾qC%çÏ¿ö=¯`ûí¯^?yâ$ˆþ^σ=Îʻˋ/,Ù÷7îtºŸûÌE¬¢Ù°/¾r®M%mKµ -È}Pðý s©ÞWô6lÜÈœ Æ¶pF™Td KØ<*=ÔK—/-.,ÂÎ3¨u\ÀÒ¨Q(XîpF=¨ [±`=Î?‡É<9A'N¯jUûÖ_øX NZ‹¨„¼GAíI+Þ -¼­€¯* -üÖÓ&XiæleueñÙE°/SïöÛß¹vâøÁsun®17·qgmcnÎ25`ç×½-¸kši,!A¦Ã‚g - ÃíÌ=Ÿ`]–N±T‹÷Ê[n&éhØœÐÃ:! “åþDð˜8Nù¼~ÔÙ²—žG‘e2´Ò„fŒ­ žr…6–˜˜o,¨UŒaJIH^M!|…™z­¤bA'-]µ¸K¬cø>ÌTÞ®'yöê¹àšÈC4ØÓP.)9YÃ@òlH¥ý2™p?HÐ(ê½P,ýS'ŠR -ú}ag]gC5Lð("Ïê.™…cÁXã$ r÷‚@ôƒ€Îßü~ÔÀÜæÍ›k`þË K2x°¤k3F{}O»‡iÒSÇk z4SM³;œ,.M"->¡&èÅŠUž ´³|Xá.ñÀCÄWœM¹´XúÃYpôé™#¸´z›ý„z[DXìtS“nšQRÅÒuö¨Éeñ¹–}Ÿ ¦ãºµIèƒXOcƒ JÅRͲ²³tµ®¡ËÔ*èŒ^˜\T½ž{ãfûü¹%z§_3-j$ö ƒ‹I]‡ /¡%ñ©Ê(ö8U4 I2ó‰@É3J~êÀ 'ó´É:Á¶(êbרʰX|Ì%†ô_ŒÑ¤—tP½ ¤¿`50«ŠŸ îÜ ÅH_ûåþÜq=¹јÕÍ~¶õ”{pï/Ç¿ÀHj¯fŒmÄú€u@³Y³íÉ÷TÌÊžmU³@À‘aB* |KÓlþײ¡©Z•Þ@“¨:׉®™ñÜΟkqª¤?~ähŒnýøU50ÿ[ç“¥Q²€ô‡žQ§hVƒ¼>µÐBÙ}Īi`¬¸ÌµÒߢÄœ´N5/^8˜]§vdWIu÷Ÿ›zóOI€–™ÃÕ˜ëú»³» o D0‘=fzP}™ì]&W–¿Ç'·îÈÌóÚ8hZ¹ºYð8 LÃ?µ:€Õ€1=1JñMž˜(ú¥¨ãbŽ›½ø…mÒ[y²v1x‘ÌÎ){çèÎŒFJ²®­#ºu¸Âajóad¼ºY=Î]ÃÃ5ÂÜ´5Mþ$ÔN¢u‚ƳÊ:ÓöSºA!ûˆ`%s0|ŸÓLê¢Â@ËO vF±çßfÛ?HŸ|ô>ò˲W•V"g·†l¯ ¶Œ¸‰# -Ó2!Ö -è3rÍà'Š0Ø\ÓU\‰w0þÃ,w•²™ué€OýìKo~ÿÖÚ=w­á‚€O4W(Þ„À¹_«Dõ±èóŽl½¶?Ÿ´\KP™jZŒ¯\Ò 5œÜl(ËÅ$³ëeÍNÕò F{3¤Û ›™‹ÃšÖ‰ u‰˾ -,ÒŪPÁõY©í¥ŸTAÀɨ¤i˜´DÁßñ'™ö ÀÜL !ë ö’nÕªÉÒß“<8Ù$•¶…ŽÑ̈Ü9,™yÎz!Ò}¢-~ôælÉkcÞ¡,‡8 ˆ}NÀb°(žãôPª6ïít››Sa“éòwð ^¶ºbùªÒv1FÑÿ¸ËÐu <€´—EHV©¼È´2pt¸?` Acõƒ¶ã`ûó74•OàyÁ®š8mæ–,HÃ&µCƒãȈ~>™©Röæê¡]u_i–ø?ãü*óWëµEŠzI¶_P7¨ÀI ¯ä[/à•· »ÆÞ´k„?æºÏŸìÛfŽT{Îda‚ªcé:oxÖ»v×cj\ØÀö_Là/%ƒ,©p¸˜{Ý™xöÁÖ^ßî€ ¬ix|ººçe™"Μð–šbj—Dž¢’O„»Šl¬©:صq6{Œ-“ã®ìôOd™÷<‹Z1@ ´×î,.IÜâTúÔ+ÄØÔ64\QÀ}¶*Z÷`«#)/„Š¡(>‡ æï&NU㕃†áVLÿÂ;Çcn®ƒµ†È?qlê%„u;Á0‡º^À"'†0ÌÏg"|Ú*§øØt -¶Ýj±´ùÐ-¤Bˆ nÄýAåð^žn•²:*éº(i³{§ôœ¹c­KõÕÖ3‹­…Å.ÙÑú¡YD4"î>8º®Dã„–a¥Ã5ðAë© B€Eçã6g/<­áá8ʬõ Ôƒ,ë¤õ#5·ª©SßçRSÜiñ€Å ·Ìñ‘ï6ÕXêîjN. Îä •C•í­]æ HÿþÃë€~ØKªÕÞ½õ^·sêãgáÄ^_;ó_\Ð8†6Hå(+ú‘I°/©)¹8h›£ª8‚ôã?^æߤR³—žkÁI5ÃÙs›w=qWœzÒRMcµõdíUÎxzöì¹Åæ¬ÝY·›³5ô=*Èk>Yyýõå §^—³=­­cwlʾçV›»Œ„NÇ.W0vÜ÷™ª—KŒ‘ DHV\\yÆKˆ»>ª¦ V[j¸Ù>è>÷|¿Vµ¼í€¥?Ý ,¹~r¥o蕚Õ$@/Níõ‹AúwîuÏ~| N¸ -Hpäg( "y'7sØ7m2¢H8§‚”‹•)2 -“6ÔýsH)Ì8Jj'î£!¸‚ŠªçQ¾“«÷… 6„Ê -\´ú¸ß2«CiP“s<²­£'—IÚŒ¼*3=yþsL«|hóhsv6•þ‚ø×Òs¦a‘'É:æ¬Iʦ)r2>Éá&^ùð'Œ¨çóÅà1ãi%ÕhØú+5°ú‹¾Ö¥ÀßW¬€ÒÞîÒµ)mÃØøä¤?-È}æÉ¢“  c92d”Ê‚Ó4$?¾´Ô&ðÖV ®…eª>ö6†Fû³S®ëpÄKº’iéZ^Y9óü¢Ndv¥âÁ1ófãÖ™xŸ›Û›!ð¶½ìÌQ -{E•¹1aâ^W]+€ðamÆgZ”*ÂM™ -qÖÅL,Ê9K~s¶fŒ7†èºD‘ÕFËeÛrÙ6Ꙫ-²_} WÁ±a‡«ëµ ÿAúƒ†p4è »×¢ýy 1Ê\[œçVuÖÉòEÔœŠžÎ!ö¸«›é_JD2b(€ÍîúLC‚aè8›ekfõ­+•CÕru¦só†85!f©>1 -€¥ÿõ¿¿T"[¤?x ¤JÕAï÷µ#Ä1ùtè…¤m}’‹IÿW.¾š@ôÿí_¸ø‡~iùftÀ©Í›·;çÑçEÀcˆ ûpdÛìnòÂ4p[*ýƒO#Ë‚M*ÌQÓŠéÃÂæÿCü­2VŽ'^E!AŽ£[V`ŒÔ™‰­ÝƒKŠQÌÙ¶óöRâ/–(ªãûñEúz"~pwýA§f4©¥2èX¸ûÞg_Å ïò÷ñÍ ú;:;‚’÷§Î¯<,+Ð UÉæx0T‚ó8å·]—±Ž<|ìÅ©}àê¾6ô¸ íÈG €¦=Þ‰/X©j‚GÆÕ¢DoÇ®‰:>ŠIxjzèvpÝ:vÖîØK‰Œ¦ø²š°aó+Rb&9°(¥7à pÈ1ºdÅÁ„_ýÁªëv@ôóÛî®o>91ö  IDAT+#9`û‡‘¶?ÚdC? r²$5ü™^é SÁœÖ)¥”ÏàËS….„ߟåf€¥áºˆÎÄ’9œ%|‡Ó¡àJß³ü´*¥ùEé_åpU©#;YNà,SLËSd,LˆüP¶Žã‚ €À“^0ÿ“oês4 ¼ H¿y½ëTÊRe‚è_Z”! =!4]8ulõæÚÏ}žj=3,r'1íwùÍkÇæfûŽ]±&k6µräœêô%«Áp–Ü/úñ‚Éü÷é˜Ú.øDvƒ*“€G<9²ÈØéüO…gúqÝP»m·RÑjµZ»Ý†g×µ{õ$Èó3O…I‰ˆ¼è<·qq± £Ê+H ±±…GÅþ^e,ó< òy5kBñ-Pqg‡’` ’ûHÀñë¬÷ˆT$ÃfµæÜlgmöc­c7–1ézþ3?wý;¯ÃIóÄ|çödÈ@0ÿÎÕ{Åóƒ>Åc-š³ ¨zRˆo§rŸáé€]zÙ´:µÛ?Žý›ß[aW€¥?ˆ~‘ø£@ø=§/šSøgeﳿýC[‡Mš lT™³@‘æR°˜²ƒÊx\*楻CŒ§*©œA­r˜Ø:–Û Ô%”…§v¸f6ZAÀ\fJiZq\糟õúýÉWþúò§?}±×ÇÜû­ÛoüJÿW?ÿª5ÓÒè V×ÊVµ\*‡1<7´ÎŽy>VB¥uFUãBÙAá+bÌkߣzج×M”¸ÑØß¦Ç R”4ˆsI,¨ 0_7ŽÈ8C¡^¬ßI4l(Çd…MAÒè†CPÞ6ÍÁ}©ë…’ç…ºn‚yÕ¨U'Ù´1&@0½6"Õ&•'HÊdm“åŽÒW‘¢ÊÊ«Rú?Ö#ß»±ô‡£ÓíÌ¿ôéMRÍŸú"ü Ò߬ÏvWßÙ¸õ>èØo\»43ÛÚ\oƒ°2xf˜3O̱ô7ëÔÒYËþ -耹8ó £bl¼®ÁL€;™¯!ù%£± "µ¬ŽÓÌÛ»?”_ÎÒÿÆÍ]¬\•CLÇõܤ@mád]/—VÐ^xþ t¾t@l¯G((Õš!(A‚²4…4E „çÒÏkOÐ +‚G²ÇÕ2unXcÀõ0¼8cr3>¶—úŠ N–Šèû;»pìžÃQT8úàMÓJwdÍܱ‰­×hV7šU8 -$íZG,:LT71˜Gૈ Jdæ–âVĨ4•aDJ:m)×µÇØÿdò§@‚Ì|…jLÁel°L-zø9ø ­˜|[RDK“˜zn ý»Ž{«½ô CK£Ø)jG]uF£ ”…r*ýÓ­R1VWÛA`WiˆiÓnµ<"ÚãžËˆp§•Æ‹¹^õ$ƒ [É’$,ŠÉhÚ$ìòtÊ[ÀÎM¬+G†)ÂeÿU -éLùu5gJ×öl)ÒÉžmù;WLp -¤;Z¤Æ¬¼ –)£ •i0âæ˜ì·ùaÄO‘ý¶É â÷Än×Ó§UØá•³/žÍ~ñb¹H÷·~íkßøö·þÃxþÔ)þéŸ$ýkpœ ZxKôãñda†ЗOOÄBwݵªFàG0±© A½Ž'e ê0JRܨ”M3(X»†A!¤ðX&C¿Žëš¼TÝû“ÌÓÅØI %¼bâ"ï»nÅ4‘n¨}ER¢Ày"Á—W3„4†‚ðçiþ€¹Èå¡Ù͹¿Îís+ÿpiñ'08л·vêãD‚P83‡NV{ùš»±»ל»Qû°W›-Ø=wD¿|[~æ=Ñr¿qLzm(ú -X±òÙ 6@úk庖ô1EØ}g¨„”—ÅG¸µoËÉñÂ| œ& -zç¦ü•%Ÿa}V¡â„#87oo˜æÞ{ß|¸5øh#ýÓCB 7û°`Ç“Ýìt,ý7Ð2zµ|8ß¹DÆï ì{}Vç_Zâ\.Øw{0F´Ýj9‚§X@• ÿ—JwVÿiµy¼Y%^ÉÉ;#Äê#ת:ýŽUi†Iý1ƒÞе*5þàJëô= Ô6ºîëW¿~á“gY 0:[Ú,ªìÖ n˜Œ¥ôâTú+ÄäÀ爮H“•;Nt›EÝ*› ÒXÇØ$y–[Fžg,)ßuáŒ-J£.„ÄåÂê{Tš:8Û Òt@ëð.ÕÎ5v`A' ·É1ÿ˜Ë:ÇPf; ÷`#2DIo\¹z&Ì4°ý]—šªLkÐçô©Œ½€ù/¤HQ­@žÆÄùŒ Ìú”ÆõšˆEj(쾓ŸOC ðª™¬Y¤Ê !áEx.k”¢Æ BDÎ…¢_`²D³LÃ}øÛ¸ã+œn5±Î=œßp”¯¿u½u¢e¶¬#P¬ÀP€‘Ϭ/©à“´5Gª -Y³Ñïxžeˆ½ÄΆOWEo¦LxÀõ§qÜ6~ˆ+îÚÛ×Î~ü,ý©ÞÀ£Ùaó¥/|êíwçÀöÜwj’céŸ\ªVÚvÄ8]­ORb&Vp@Y-È}0ÿÙ¬ÁD}(9U/Sß)È“ÀTâ:“+Ï0Úঢ˜ê¤eßÒÿGÙÛÇ‘žwb/¦§=h̰›61;XpgÉ" jWôR»–—ÑZ¶ÅöêÜN®ºÒ?q9•r.©J)IåÊU©Jîê*Wv®êªTWeG—K®$Ç·gÉò:\Ë»&Ò.¡]a—Ô,A gÐÀ°›=hL£{z&ÏÇÛ= +'½]½ÍÁLOO¿ïû|?¿¸"ŸdX-×óŽ}©mCeœÎcKËWïm¬­è¯7­f³0mYeD}àU‘ö:e=Y„‹‘Töº `t`ÄÁÜ„™ä´P¥ÆÆ½dåÕך﯂°çË‚¤?˜ÿOÍß|ý[‚ÜÞÍ·ÿ¼J - R[÷Ï,#õJí¹¥öGQ.^¹:@’0g[•+ 'ôéãÅ ¼ôŸ=s®}ïìK¯8»1¦Ê¢¾ -@° ë`¥Çä`«Å¤’>Ùл´(—÷¥…ù÷?BoÖ$¬Ì=.@"äÿÜ|£4Ým~ŒñýÆ3¶Z˜Ø}ˆÑJ8®¬4Î/7ÿ ÃìŽGko7˜9%!Ûþú>^†çy„U¹“jÅRZâ¸Író§ÍÅOáW½ÌÐx¤²<,þ±Ià ª^œž.rXÉHiu+föüÈÓµw7@ôƒ' ÌezôÔ@À˜ TN—÷xë´öfë3zNêHÙÁ²ªwNCjUÕŠhþgIÚ’väã‚ ">‰Ä%£%Áø>_–£« š&îð²æØF‹R1šª@ú³ðI:€~]g–úªx³•QˆŸÿ©LD®m7”ËBEÄšlŸâ6­–“$>KÿÅ…Å••ËÿÁãh\®#OçØðd€r?ìsü‡úrä E³ž‡•Í8vŠ.›xÒëÊÃ./FcHÆa1‚Y9CÇš1Ù#ŒÂ(`ß·XÊðŽàäò ¸œ›Ä¨Ú¸°èQ«MÆ‹* -¼ÀLú³ŸÁßÈðôÁ¯_ˆ!Š’R(¥þ_œ3üóS¸‡½H/?9s“Qe÷]?ñ͂Ԁ@3–þˆŽxq3,‹~Éë78Þ”°ú.â–¦4ÿ‘·3·Ø$¦®sº4AøG™œCø2ˉšÑp”"K€@ÏJuYú—tÝE],9N`Öžz‚¨,òÒÒf‡Pt£Ãvï§çžÙïÅo~wù•/ûþ¶³Õ³ýÎÝf€áš—º[hƒom·ª³u1¡n¼ýfãÒ -Ì”æ{k+ÿÁ—@SEQ.e>…O³ùÁœ¬¯^«bñÂÊæk^» Ê@ óQsé…«g>u©¹q‹h¸òꯧƒG€!ë«ÍõË/¿ -¶ Ágž¶o¯­nm¼W­Õ‘p¤¬-?Š2U36o½35=Óíl»žÃ3>ŠCPÉ£vòh[+ÛÚÔyÿá-&Љ{!xšpÛØr=Âgr÷#lg רáÚ¾EÈn£Dܾç|ë_ýœõ·ÿSAåÂm§;Q0ZÛÎ,–[9µÓU³b6·Ö°×>wåÜBu¾QÛj¶Å@ønâpR"˜·Š^AH÷(Ý™„rñ &‹EŠ3jŒ=÷±Ûs«3 -c¡pâCìe˜1+!ÃUb‚Ëd>‡ebRúL–=Ä« u^W‡ ª?pÒ¶œ2ËzsÏÑ'‡^ö£DDÒNÐõ)SL Aôëš®Rèyz±¢UdmûT0ؘ:ÆF•êÔìü™Úþæ=8z¾_µK?ûéQܰ̽lhïúµÚLHŽsx°O.ªÖiï•ᙣÙ1ªZzï æÞ×Òž~ÃhÜ)œÍ øå&þ¹…ʼnÁКÖͪáî¹ð£Šˆ2 J” ³‰±€PGˆO…9ÆIEHr!ÁKW-Jç6ˆ†!õ°t"QDêòð‘Ћ†5ƒØ8înÍŸ"8U0 KÒ´¡Òðýš¢s®E$¡O#ý1úÿŸÿ]Œ®þävóž³pÆ^R ê´½åÏ4柭=þí*õ - j`F#Mšx™›¯«†iØaä£ÿ4iÀÎv\p4žnœ®¶þÁú±kš æƒ°?ÐKE{@€›:3Åj|GK˜ý>»l¶@{©>½¨–Kzg×ã¸?Ç÷™ù Ú”´«`Œ\_TÖê Äþÿ’>‰ãçB… j:àøCPÒ@×ñ2VȬ±™YƇû‹17ÃëÄsÂMØ C ¸«ƒ1è~R²ªm{TI%5n†P•®æÒ§þ£À'P„ëo¾qí•/Œ¨l!¦Ë®6¨} -ļÑ'Ï@!yu¤Ë!3 1ègå=Q -(G Ÿ. µAÌîÅ1'#ØUXÚ°ô·gmPAÚê”uócɧjÐ,‚„`ì2º7XâE†˜ÃGéO÷©÷zA¹Œe½nsÁ«¼çTú ÅäѳÀqz° {º"Þú)î×·¾ : :?æ?¨8M˵ù›k«Ãƒ¯Óqw°dåm Ç+3öì3 þ ´ ‰Ãš€.˜ÿpM–þ%Žæl­[«ƒ -£QAk ^åjt¤¬›.Þ>w3ŽcÜlÅÞöâ -ªßÛnoQjÅûO(èf™ÈçgŸ³aÿþë«ëžG×ñ6ï9_þ¥eP ¤ÅýÎn÷Ø¥Ú;ãWš÷·U-Bóÿ¾C ‰A£þ'½_ŒKâ(Ü9!¨¨Le…¶ÿ±ïj,ØÎÇ-ý Nä’ G…ÁP@óCJ´©º(²ÓÆ€4Ÿ Z£êL¥zª¬Ljܬ/RàzÈ84aM/îjéÈÂ|ö–Ø xùó(îÁüߺ×÷h.QÍn…ºÞúÊ5÷ úÁ ¨Qzjå3‹üâfVÊ @,_:çì:°-ÜüØé¿ò 8I¢dùÂÏ˨ [EÑ聾âYù©‚É`¹¨’Ñ‘°ôÏþÉB‡>’Ý‹'DuíšéÀC†hÄß+Í7ÖJJ‘]¤dâu¥`M3{šR ïú1è€îN_„ËAU%rË?iÖç¥ qí•Wó1¡Ê7³j…ÈÙ‡¡™`¹—˜27Xú£„ðâ” €gHÿ þ€áȱ^zBŽJ7õ8×úÀÒ®¯u§ãdàB²†>‘χ{•0u•Ž32n¦9°hÐB7½=¹H-Û* 5î ‚ctÔÒ‡€ùÊ÷¨“TÌæhtFfÉ2sÖßD’´ý·ˆca C@ÿÁ­<–DVÅÂ*§ÙYët ¤9¿Š4"Hÿµ`n}ŠD]§½ˆkµü•Aú{{¨<@€Ú/ìw£"ŸÀ¹b”´ëþöÚ*;0=:ïhÅ`îž—®Ûð×Ì ¨Í̓às­<ÎãÏÌ]f'`Hþ¾Ì±HˆrqîœíuÀö‡ü&¯ÿõú?ùcªȡЬ}p¤H 9ß' 1_oná \ûÜ•7oˆÇ6U+ñÜGw᱿2 (‚Ó2,L,)EªÜnà¥ø-†9n`!Sˆe bb G ¯1SIÀ,DÑ Îã`QõTùØ 0»/¨sÚ,1• ¦[†µ7Š™˜ÙD±ƒ5àu‡ìVŠÿ¨È¾„í¤?†€zÂèUN²Y€í/È éß~ Õ^)íÕ\{;†º],7ZX¨ƒì}ÿ·³4>¨2™l×ß\5péâÕ;·7¼`þ»倕,aG‰Ìÿ,¬Ìdô°¤=JØ>~&ìeíËÀÈ?ãJö Ý7З`š)v’PP^3Â(ýÚ©è×w̲Q3¨çÎÝ É{&ŽªÎ)e¼sMIbC¶O[UÓízZ.f¶#u3óOpñOœv -ÉŽoÆ@Óh˜•ôÌ9ä²Ñ!%“Pú+„AË/ -£„þ·ã‰Q¼ùA“=Æ4•! ŠÙ2߯.t/ ؈ ¦7ãâµ ×Iý‚Q¢`zÔ›Jvã§TN½Ç¨;@ô+9TmP–Ò =mòÒs•,Ö);¤ €ÀHB裬 `¶zqìŠfØÕ€ ¸á ñAîƒèîùpÎ!!$[ ÿ -d`Ž%Ø&ac©xBRp›ÇÔ5†?ë€v³½ôéóÇh…äWƒ+Ì4ˆ‡qq8RKªÉ¸%]²ß9¼¨’Êé9Ë2á¨&ùú{(ö]ñ ÏÃÿ¯ÿÑ6ž»º´òböC™,W ’‰#cJíÌÜÆ[¦ÄÒË¿žáŒ¯}ï[f¯gÕê‚óré&Yè9mÓ®Á”…]¿èû>Èn¯Ü|ãÛ $Xµ¬½ñ]½Xš_ºäï9•é„ÙFŸœèÇÃ~\eÚ˜(D3OÙ´;Aª‚ãEAká[z¹¦QÁ%µ¨‰Âd!ÜMÝl?ð;ížÿ°ÿÞFëµ_»¶öþæ¶ÏU S°p=¢§¿kéÜ|{Ä…*@Šâ"“ªZ6|®öŒíJÍp8DZs8F‡4ÎEQ­`ìšx”è%„[ - xsÓ#bÕa﮾/†Í´ÔáİPÇ9„ðGž~ÂàÔ“Ï0®-Sµ "vã},(VW¢ˆ¹À¨Á?GàïÓJhþG‰2ÕÁÃ)¼‹ücq(ûaŒÕ>!+@"¦ˆf1Ø ÆDÕœn3¬Úêì¹J *EQš’T«0Ô6wi*bn~.mÀÆ$s@Qg1Qpöel¼g×,USœÐ®Ù¼Š’~¨ ûdÝÙmå±@‚ž[ÆõÏ)6—4uÒ¨LiÔ²¦-ëT)¼³AFý)Ûzºäd>W.Q¿%XvÕK+T’0I@ƒN&‚]ŽKsQøûxñf¹F.Xg°”†5]c>?Ó*›'+žï›L¤Ò¿ˆUðå2æDñWh˜T „SJOe~Œ9UävÍ’‡Ãaœk -cq÷6fxH™ê r_F -„¤«8, 6Bÿö€¬·ÈøPF WëâeãrÌ•(e5TƒGÔem’aTšB~ŒPS䃫HàæWžO•™R€›ÑÁ íq…ZÌ”rQ )šGæÇ†{ÃÐa Ô -ýA FC‚õc¬z(°ù IDAT#!éH„ä0F…Ð -õ…y·ëît÷T½°ú£Õ—^~Ñõà±ëq -Þ„½èØ}°/ceYÒs¸@Úh°ÜD -²¥ø·èE°ßUC7 ™eÅ´KØW'õø0„£2A?IÓÔbð™ ³Tœ5&ýn·{ùÓÝÞ] –˜~¢’`}D!&Å~ßS. Hkà4ªN]cg{þòËÕ¨ ‚á×í3ç*fµÕ¼]&¦žn/¶NŽl²R-Ÿìz”þðÝ\Òæì<ìÞƒmVp„s–ûøž‡ø~øgãÂey¾¿´´ÔÜînvp@ú/œleÆŽ)QÌ !2Š( JðÛø&Ï.;ï¾1û³;µgÏÑc Õнa/»K³‘Á‚‹Ò!;ŒHA!šËgë¿÷µ×^ÿkÌplµÆûçŸ;ÃçŸy\hüƒ]i-¾ñßé¿òŠlAlï¹àw[ä]r½f‹(XÍSDrIupŒBÙòÎç¹ôÂõ"P‘-æàÞnás8OÔ\Ũx ‚”í€ñ!@„gå4™B£¬ÛuË(.ñFfAeQœz4в)h4úZÝGÛ©*^ûµ«bP[}[â&iêŽrQ©ô«)öHš!ÕŠ ~Z.­“£¸Geݽ€s$n¯Ólnôo~¼Z ^Ùø‡iîÙ±rŸÍ+÷åu}­iSS¨óÀWÀÇ…“…óçgöå Wœ‡ã2b’þh<úŸÌûÆHÿÖgí§­å‹Œ$Êa¼`ë°"å2(p¤ÜÀE”\ÅäÞºŠaNi%‚ ï%ÂÐ=ͪٹßiî{ÖÉŠûÐoœ­ -×iLñq¦8å²dc¦ÂU~ƒ-r1YŽãp9÷îŒÑÇpî ÇU:Ó²ØèkXóh3ì<¡çDXR`O ÕŸa0§§"\‘åÚbr‡Q‚°ª³Ó0¦¿ø@Â…2?-ˆ~A“0—2r‡¸û$ý…ìòž²òn è¿Û'v-™à.'.x¿uóVÆñpå¹<ý}¿’âtrI¨Ž)FŸ -fJìäšò’Q¢¥¥hEqu|<žKKPþÞûØÙ"ò?8®›ëElàXž1—WdÎ`ù3ËöS6ìNÍYxöÒ:VmÛöÜÆæûð×…¥ÆÍ·nÙ§ ÐëÍ:±#vMˆ'möé#5vY‹?8[ Ø*—µF¹TÊRcÔ@÷aSE®˜ÐëµõÉ'èà[?ÚðöÛ+/,yÑf„+¨…˜B ‹Ä“ˆ!Däp·2·&ã΄»bZÚèp˜„¬MÊÉ4™£fAø&¬Ê”4¶hvR¾YµtA/öÃA†'ÙxÁI7Þ¼)uq”s×z%¦¡zðf ‘¸D5¡®(䵎¹~˜ÕìŠBYÉß+«ƒ&ÇüºÙ²æžIØÀÈt@‹âÃårYK¬D*úeÜæo©èÿ9›¦•’x<â¼ ÇOËn'DÌ;UÏzÁÈÍJŸ, t]ÉÑH‘ã$ž HØ\ÐÆa˜«J;²1X}!mÿ ¸êñ›kÞĨwãÅkìÀæÜ»{ƒâ³àdj@þæ\Nʧ@X·Ùà Ì·}Ï=Âí±NaýèLQôƒùNÿÔ^¯ƒÄNdÒ_¤@†|ÂæþNÀÐ|gµ“z8XþO-õ¹µVH!31樋µV­½‹SD¦gß߬]½ÒtÀ™úïþÝ߄׾põ2(€ï¼qsãÎÖ‡݃½}óG úÿÎo}y}c3/úÛ;+éI(°ñÇ%ÜCÃ/bh j”Ã|Œ±6ÃÁ?>6éæ÷Æ“ ƒxC‘Ùãù‚¢ ªW¤•YÅtà÷AT­qE|~²æq1|üXµ@¨Ÿ# >­­­:ÕŒ1L#›lY•7¥þ€/Êl«Ÿ¿å;Ô ƒðˆÎ0‡-¬ÓÉÖ3rzø^ÌN€@àÁί—Šmñ® PÙ  HÿõV«§Læ›À ¶Ö}t88¶¸ÔØÜh<|BÉQ>šÀÙÝcI -r61륖%†û£Ð2,—À|Àöo¥èàŹÊqv––ÀÛ/€ôç‹þcø3`jfÒŽ’óJé“ …›7Q¶çŒÄÊ’Cšd& )dúÎ ª,Ñ[ƒžœ~ jKß*Ô˜RÅ0€ùϼ›0©`/M©Ì®óøËšá“ tCê$é¯I Ké6ÌpIðRE‰¬†ÿ£HvÆÊoÁHzQ4n×uSS‰uKÿÌ (¥ -à“BöBHž">ÿ9ëü-íVa–ò¼©€?a)c¯Fˆ$ï  -Å# -&&ÍÇþHÐèY?–|†ªNrn jiv{cÜ4Œþ‘¡ÅÃ"|<3ÿùZ¬Fe'X[ÄØEøÐ³‚1ë+õ9T4…Be¦z÷f{XŸ×§ M'"6%1`Ú™f­kÌÜýÑ0 8lí†×qæ/>Ÿ ^Õ§ëK/_ëÞoPòö\QÝìÕD­ƒÏ{^ý IFRƒ1U"döàF<Ó+åy¢ÀW§ §µÅ™†d„²m“tTŒÙKßV`„2ZJï¼ûqÔ¨}R>œ®ë}ëõë¿ý×–¯ýÑŸ^ÿ×ÿÏ6‚0Üø¸ãî¹þ#í§” -.ê—ÌÊÚýæ÷ßZ}çÇï¿ðüE°$ñ6fE Ü À8eL€³¬¬°&O¢Hxá á‰@˜ÆŽT`¸üžwîlC×­í{kàIT$^c‘IJt#¨Dý}¬œQ¿Vzµ:7Ž|/²ëÔ£[¥2ØC8ñúãì";pÄ Æ@’ÿp »22 m¦»âlqé ìÍ[ý^©³s-²nÆ Iá‡"8D¼­¨«ŠB¯G|nhj†Gï!æ%RŸ":n± -0ÜAÏ‘¸=‡X°ÂPº8¶""GÅ«M6´Ií,ôey6^QžÍõ<¬©ÎÕ¸i½Põ´9$;½j›[?k3™{û~»2­#3M9sƼsæXX{ºvçnóú­}éË×ó³ºÓ§° ]ŒPrü™|Y…úKüý@Zt€=½ÜÛ¥57èsY0(òâxÙü ¹ön{ùââPÙ/U* *ªÕ - ÓdÄÏØ/ä–D*ËPE1* ÌùrüeèË”äRÆ‹~ˆF²æ K¡hí|ÁP>—Àƒå¯$Œ› /VÊjÖ[7!Å÷`ó³0¢NŽQ1ÄVà ‹ËþꃸŸ²9饩k_ÂÊï÷Þ}/AB|ÔðKûû±÷H6)TÕ{˜ÿïÇÒ.Q´!¶F,.òÄa‚üNGî^jDŸFH¸dcÿó¤Öà´bܺ¹QÁ€Ê<6ÿßÿÉí…ç¤ÍZ)W1…[Ô1[C(:"C3#5±H2ékQáî‘Ðb: -D«¦MrŽ„Ö!I°TüÃC/ ‡)ñ 8…£1ž9 2ÌgÓ‹ÌHPÕª¡ãØ1Z†.ÔgV ÍP5Z‘ í µ”ôà ´fDrØ­˜Õíû·ã‰®ç&)†^/àl9Â(Ê8â‘LÛ\ -g[§ž j|æŠÛÞ®LŽû19ˆ$OÅÛÙn\¼Ò|_¬½ñí, ÜX¹¬OW‚G)æÓuýp„=Ü2­OœS¶œ²Æ4Œ4ú¦]ì!ÿ„§Êµ¸´n¯«“G{EAô–ðÚùײNÞ¶ZRØÜp´Ûuœî,E-/,xî Ï6@lRã8ø Ôûz»Õ½ûú7wîlýÿâ÷áäŸÿó?~þ…K•©Hz»g[84ÉÂ…¾.ÊųÈêZ?ŒYá©ÚxxW'¿emÆþ£@%ÜyeRS¨á‰qoÒjŠ-:X3äþçý ßmÒ3‰U¦»Û«ÎTÌ’Î%pt}ǪÕÔ¡Èp ‚°ë¸›FIšÿ׿wãÚ¯]u÷Ž»àcÁžÅI1òð¤ 'hæ0DBsʶÕ(ŠøÝaÈÊÐù3Dt,&ð¯ýhX“Œ­¶·È’aËÄœt¬ë¹´‡× »;rÜ“Ã~×ñºÔhë¼@.ÓZ8;{ãN¯ÿé[L×Òt0Ç`ë´÷ÀQtt×ßݼöå«ï­"{̕ϯ¬þ`­–‹õQW£<„8Áùè[ÑÞ.…Èm‹!‚íÓ3ëïoÞkµ®VLã( ÀÚ6&ËóvD92«nºñÖsD7?hYvÅÛEÁZ¡X?ÕYýíT\•r †ÎF˜8ÎJÂàéßÓ> 2¢c ŽsÛâNƒ&.‘þ¶º:;'£…Rd -pj -Œ>b`>‚›ó±#J½©·Ÿ š’Ea#¿Ò‡)y˜FK¸OxŽ@|¹¿úo}ÿøoÿéç_þbøåŠœ±¥2Þ §óS’ëå,JÚÁƒ'9¿m˜ViS3¿ð¤p²¬é¤-}šwé©—ÉÒ+g»G¦a?çAèDц=Ô¡™ùÞ‘Êr3ç°ôláGX”‹Me_r¹ä> ÒßsœÆ…#0ªV]VÖ7ß]mPãU‘6Ë.¢ 5Í:ÀÛ©»I‹Ô˜¾Ù7NŒ'4ˆþciûn“ºEóÃfã|céò’·ïÁ³à60ÿuï?I i¥À­íGDÏÒ‹×ôbéúŸ| œ;½ç#ãQ=»w÷mYêSúÖÏpΓElÛÕõnƒô¿öÊ‹*MÄ÷6¥Ûþú_^¿M]ãUŸì—é -ç‡AôÃ.Hôä?Ë)ÆRMM‡µ™#)“Z]Ž è£jÄ1þÜq -K,ʬp8á›lS -z¿ßÝ¢"ÚùùƇëMö`ï£é.PúOj 1‚i9R'¢‡“`5:WLã—rQvëã–Ÿòóu÷üî^tÅ.â8çf"ìÏàˆ¢:¶ÙD=áíVªó3Ï3ð‘#´#¬NŽ]ĆŠüM˜†¥b‰ˆl0Ê7©˜eÕCl€˜Gð§(UcX4=àŒ"E¥Ù8ÈyîlC…ƒñ QsJdØþ|n–gÅùzè†2|·Ó ‚þÂâxè¿{§ ;ÜìÚ»›Œ·uýuYòë<8²öÞògá¯ËÔñ°¶vke3[›ÍEäÑEé?sj¼JKíììPz,‰4Å€¯óúø¥,ý›9º ÀÇ—¢aq ×ã7.ÔA ¸Žß8Ó¸q¯¾xþU7Ôê3íÖx9ÖÌ‘¸ü®ÒYªU–ÃR®&gšUJ#SH55Sç@Ô¿£M–W_¾Ì¿—R ’ŠC™Tã P C~oYÀ!~îƒ Ö²¼ÄÉé@'¸`Ùb )Úþ*¢klD–ˆr®æ˜ {˜ÿà -(!¦‚:ä>õ‘׌e—X†¿×š)=ôñA ôÑiuÁXùìÂÖÏÔèÌÓÇû¡PîF‰Ä‚Gˢϴb_I;59øÃËý²YÎú3õ…yý‹X虉†‡12=VŒ¬ÍÊЫbâYð2§Y;úà0î"’=±AëØ¯À€†jÑÃÂãæXª¡–ï8ø Ç¢ ³3åt{3Å/GÐŒ]ÌGñ·mà$ýÜôH§JítUÉùavU48–o~'€{q·ÿ¨=w¦úàúÔ   ö -òÎ9 -æ0¨‰à<Ýxó˜ÿðâÝÛnVY´ùQkñ¹:›íuB½54œ€¬ íhš9Y‹Œ 8pÒxºvëÍ ùÓº~5çI€ô‡¹t뇛sxÍ[o­]~yÅïù­VkéSKpœR kVÏCl"䘪êÓÂõeV ©oT/b\g Žá1îŠÌü%wã­[œTÏ)!QšTQ/Ö@¤ÒÖµŠeGF„;“Ìì#ú1¼®© p’0]„‚0GÌö7š•´¢lÿüŸü^tÀ±Ê@f¹Á:¢8È¢üY†_`-¾j2Ép{ýHW”R¦‚U²ßdý/oÞ"ùˆ·›ƒ¯«=3g_xíóp|ý»?pzŒ´ÊhÀ£ ~:§ºZ€tœÄ˜ýddE3À3 - ‰â;ÛóÏ4à&u]F%¡0•¡«’÷ÒMSå9ðãÞ#qޤª³³æ<ì.ƒç^5Ö7o÷ëõuV€k WÙúY“­‘ë?DÿvzfÖÔ+§kUÓ¸}·Ùu=®µð}|bå†Q©0£@á ‚7ƒ±”ŠîõBo¿ß81«¤Äod@iÓ×°Z)‚«¬éôW½l…Ó ÍË;éMÜÓèïí·Ïªì£w G•¥é¸ -<µA\*‚:AÞ ‘’‚R^a"+×&åÝzgãê/^e™öKº"á QL4¸X©¤Ž†F†Øµ€‚UÂgD]ÛêÛ3g¯¿qÝ>mƒ‹Q²ôk¿²ØîP]!Z$u)È {!¡†2üQ“˜ ‘ a¶bûÈ’d”„¹¶IÌ-iñ©`/’˜£À7 -Sªg±`× Øì6›Z¨Â^ŒÔ:b¬?;NR“MC¹3œàt¨}²œ$1'0q›À§ÆÅŽ~Úi ßÞ}¸a"#جFE3Y¶-FU=# 0¸ŒÞ¦!Pß ÀÑtwÃëú ¤†™ÓpãMXJ×A”¤å 5‘øöŒ¦CXHºª»>øü/Ô¾ó|»>?wåsW~pýêI»Zµ»ÛŽQMS”ºPØ/ñJ2áÜzWº­í´ãÎÝ­3gì÷ïÁ'Á£>ìöS³¦¥+‰¢V«u;~§Óµf—îþtÜijŸªßxscñB½bé›6gˆº®ûýþÊÉŠ.tÿ¡_1µÎƒ½˜œ27Y'*î#_/¥¢¾¹q{æTÁsÛgLéz¢+F©ô»š"ãàœ.Ò©vF/©ð¼aλÙE"ÛeMQJ -œcÒR]‚»ˆÄFªÀ aáÎ^^™mïµn?¸³<:÷öÛo\½z­?Ã}\ÈaèwU £fL•¹¬ zÐsh|ƒ Ô¨äŠ#Z F8cLWá»”´¿2³>ãó§a~{…³Ò `ñEE#l°Æê• ‰N -µ HÆGIÝJ3%ñV-y '^81A=&ƒq¥)HƒrIë_‹Tî>FE -‘u²lž6Æéâf†4Ê4ë 'H*—ÀÖ½²ÆÎiït È¢·çPJ®ß¼n?ݰ*Ò‹£î{TZš0§˜¤4ÑP <‘°æò —f)uù•¯`ŽH'ðK¿öyþ+HØù¼”«c«ïsz Ž U>ôã¨Danª °Ù™HØ.ø~!-ÌJCµ|¼'P`ß–¹ywŒD½~ß¹¶Üp*Áû-ý`ñ‹"eFÜsñPÙG@ú/œm¼LÝ.K„$êÃÀ÷r%襨ԃˆÁvÚ-·V·`w;.gùEÊ4;ˆòB:nª? Œÿäs6­Ãæ6q"mÍÇ´Y”0a=o¡.¸ážbWÕ Ÿp„Ç$E[u¦ÚÝCAã³Jéš -¢¿ßûXe¬ŠžØvœÊQ4æ®ß6*ÖòÅeP Ž0j§åðH×8YRN±e“FD³ÔPà|ŒYE‡ã¿ŒX€m5ÄPˆ¡”(•òÉ|¢eÑ?”þ`(õŒÿ¶×“AfŠ9m"çpQKt•«YpÉþKSÀ¹ÑiËÿþ^¤g*«åIÅ£ÂPœ5©†V¤IÌd8=ÿéœÃþøÔé¶B‚rvºíŽŒÁIV?3?ßêõ77l»bŸ*·¶¶AúÏQÔ”¥?>ÿ‡ ê]Ù%è|ðlö0Œ~ý©•tèéwèYFuõÝ·³ æ±Á³„‡H5ŸH‘M SSÄ0nÕ Õûsï´à¸ËXá™°fé_¯þÁ'þ~ùàNi™of -cÐÈÛ• 'PÞqiP»oàu SÊðŒÓ­;wÇHU ÷ENF”/ØUJºò@úƒWž¤Yõ|Ëå×çk/åüù—H÷C [ãPW¡Ý®AÀ‚†‘ÀöuÌ>HVë7%É胊‚AÑ\N^ü€òÜro[þß3'-Ö6)'÷6ò­ãð×ëõž/ƒn¬fs”Ó`ûƒþ€OèõÚó|öB-ýY>tØM4áÌ Ë}Ñþ>8˜ÿ}Ž!ؼ4WaÿñGæ°ßW©^DkæÌCþ¼AC·Hd‘LØd0‚ðöc–þç—Äèp•‘°Fê•QlYàQE ælÛ'QëM·8;ìè MÊ8Î !0©¡Q͸ôàÊé…ÙǬsšŠØ–¢@Mùˆ˜¯I”9õ,â©{@‘Öˆãþ¨Bjäá>•X€«ëí‡Û¤LLJCQYúGô¶l‚½É!iŒG+I -mRÕµ\)¼Ít€—–E¸GC@,ý±`‰’íà€èæàž"RÜ\bŸ®ŽÛÒ -P -åHîma Ïqääqv{w?@ÕÀýVëÁñ¾¾ðÜ2§¬ " ä>ßúþ*ìÊtPKiMä°O›°S:I†eúI4 [Ï•^ÂúÚ`£%ZàÙƒØÛíÍœ*/^jTO›YÊO²í»p\y~ií ýD¤ÿ­õÆÓu«ªƒU¶¿mmÃ4+–5îÚ Â®Z,3D>ÆÁAž»[(ã¢á˜]€$wnê†æî¥)U)޽gÈ0¹ÔT®m¬Îžš«Íà/}é%‰d™øÏ>EÏ‘/$õTl÷5b-ˆ¢À( -æí€c潕¦Êª‚8NÆ4|8¸ lúHD(Œ}x'HЛkcÆà¢Èìa˜~X0ªKÀ>6ÿAúkzA›(D9JÙ¹ù˜%Í/KŽÊÆ}ê1œ’·¹å¬œnd8 $ÎÒcB­¨Xl5©›OÍ "õ¤¿ÝX€c7à Dêò‹×ظfébz8¢¬ɬÝÇdƒÃñWž¿˜…€~Îöå/IW€Ý‹þ¡´S4JNªI¡TDüAùCûðܱKË™¨à£ p¿yn¶S6øìhO{¥.€ßZß—ÌÒoLÌrÅÑjö8èæÑ-fØ;äZV©-nc³ æ?ÏL?˜ÿN í£HHWQ}¬‹$¯ðéM—²˜`)>ƒùÒÿÖêæ°:ø-xq0ÿƒ´€*èETì£ÀIŸƒraRÒ‘ö’‘uÁ€?;ÝØHî+'tЮ·¯þ⑌‚—‰øD¥H©;÷‚ R|ù HðùÌ% IDATlm¬bÊÒÃx=€d%¹Ç< Ëd•3ÃÙe!0 ûŒU‰‡àl “ÌÆAŒvÐ!Bêð¢b`‰6Rš}Zʈrµb?%EXI«p&ßét“‘ü ­Aø0éYtiôY £°r²R?[a<À ×ã³Òow¬ðuëö”m-ø}‡… HÓõ©±¬0qÃ>Š~j,gûúèıրË@D¬b\ÇV+KWÚ{òq½ýö/Ñ@1_šn™ôÏ6Vž×¤«ÉGæ?Èt8êEËHiHTýøÈbé99Rú?¶EX؃!  Ç:ºJc&CxTØày.ÈÓM&”Œo™Aâ$L³’‘îŒhqU¦Æ«À\aiÜ[è -Å‚àeã¤3Ç,/°R‰V”^*(0‚VÅr°(¨ òb~^–%ÝyˆD%º4,äª0Ф¾òƒŒÃD’œƒ<ú£Ög¤KägŽ¥Jn úhÖ:¶ÇÖ(8OøI‘Á@§ÂÄ ÃIå¤ÁȺO¯RNbHu#‚9$^7¬ZUuR±I¨}v;C):öIi"WÓ°$ôÀóAÌÁ½©‚RT)¨$`œ”K½ùù´›z -$ -#L– UX䎄«# ~]¼ð¹KB?€³FsLƒn»Ûít{;'÷îÈW"wÀ&ÎuÊP§‰»fº0?c1`ßÙÅÚ…OkÚ-)¾;Û=ÿÀ÷÷÷ÄÖ^«Ùm<רÚ2›â€*³OÍÌ~Wirê¥pz|ø~³ÑÀzÂÛïoVOÏ€æ<éŒL†f¤ŒS"*r¢RQ^tH¹¢?L’£`DI6)°`R í£=aÁ<êxóþAЃºDœÀ'lk¦‘Ä>ø:­nÂHaGP›ÀâKA5øºn%ÉA]ÇÅUžžcì.˜ÄãXfIº,¤_ÂÌð!üL™’».,>ÿÖ¿çP6.„“êEy¿¥Ý–pÑ¥‚,?Ä_ 5ܧˆS‘h>d³T×ÅQ8”Xš£D›Av -;ÄÎvañ÷¢Å sà°Q…Ð ªt˜uF*yÌÜ‚7pa;í•—^i,,¸Ý®U­Ž{²ÓÞýÅ‹WhjÆGkÖ¬•ŒÑï{´HÔ|‚{éâÂU¡G7–þqJ|üå/_{ýõë~×Ëf\ -vXHlA«%#î -bZaµ¦éôP2è]Õíl7×V­Ù9·s<@ÉA=ÏàâÏ/^ÚÚ|vxåÊ‹+ ýqïú ýçNY&-¡¹\Û³}Ú›wýnsù,%]Ñß:{.ìç>ݸó¢—ût£¿¯;­f@d~`íe {hø"ˆ6A°PÒ ÊÚÿ4š"Ý=·»'{Vyk,؃q¾$~‹Žˆ>À‡/LâÇO›Áˆð8Jû3ž©›§ŽwXÄ]H•VÛ©–¥¹´ý  š’A]@ ¬ýpmå³+V'ÿqÐyz©Ï€šøï‘`\AäÁÑö Á!úkE–a¸½~L <"™µŒaR*è3ê(ù+%½bœ1Ü -²Ë´ÉRtØCtv ø3£aFsÍØq¦ÈbŒ!aRŠ'm„žƒÛ@dƒVöÚĶ‚¨ö”…^è yŽx‘ŸWOsÓcA[UÃ¥“þATš’ãV¡Õ‹«*)©…iV½£¿½E¥TtÞúñ†=ãÛ³ÜtÚ]®3f'€“¨åô: úaÇûÙuYÀ±G1è6=™( ÖÎyÊX´WÔ©iCõúa&ý)=Mx®+­-šæ øag Þ’µqFÇõôPeAÉá$ʤF`›µªéù¬ª´S®ĸéO•ÐDm=ŠVa¢¢óräšgj@Uôö°ô Ÿ3 &ý€xÈ^oö¾Y/Böº>u\µÀB ‹)¾7V¬†œ…F/` ¼“ -zJ›å/‚=ŠXúƒÐÞÎqP§ p§åd­ñÇ)»6³œJy—Š`8i$jí]´ÕÜݰ–†‰D¢ÍΕAú·[¾U—³®Þ¨êE¤ÿÂÙ­¨`8ûìuñš – ú9róö<'Îî¨S3ÆÅ<ó´½°<ÿs½>gÏ=m¯¾µ¾´\ó…ëíÚüØî©äšø@ÃnQtN(²Wt€nš‹ ,ýâ‡ÿß×^ù >Ç )©‚2–vÜ{%¸wRx¼XŒ)Yåq,gâH±kŒži|F} c;.¨~˜Á㋬²¨ä;^ÁUš) ú¹Q$('È`÷<ù6qT è=þ9Ž?gZŒzìšVìÚ‘©ÕX’£¦OéˆÙ\?7Ÿ#Ô’ø µÌÇ6–àùwn¾)©ù Ï÷i‘÷1_ƒE1Áû饄»·0á_3­H«*U¨à€ÜWx‰ªÿÖ{à€Ÿ³ ÏØô‚€8ÀTDPÔµ'5š¶š›••«ÊfO¨ðÀü‡ ð`»·VoŽñùAôÃ/d'ÿùñ&èv³è8X.NÀõwÖXôÃ>{´Õ‹mÞ`Rü÷!. Ðàä#Å£‘@ÅœÓÙæ¦d²N¡ž=R7ùØ–Iÿ’¦èóäc»ãX&CëÔé§³‹ŸÕ@©Tj·Ût†¿d -`¾á{£¹°„~˜ÿüW89ò{™ …(,Ô‚’yfp¢ß®ZE“¤ô/•`……d5ëXÌe2¸J¦×9-‘I”ï{™o±áÈ{ ‚ÜV6à`Ûë•1e£D@QW -NX+Ä)“¢Ju)xÙiL³¬áètiY‚ºK~+bXâòí²ÿ± •4ö\aœØü×Khq³ªD9^_ŽMÙx?a§Ó‘E嚺¡N_‘Å‚9éÍ[Pž·ÚÓcÑ“©lcÛŸ7MUö¨8ªS˜ÿ¼g‹`È»{RytØgÝîÁ -À°Æ÷P{ -¿±z -£@Õ“¥ìu®…ãc›Ê¾I ìñ_GNK6ÿA ¬o`pªµ=¾C0ÿ[÷E£^k¶ÚÍíöµ+—ßù1v´ÕëÖÆOÛæŒU#ŒCC…nÇe‡=ñ¤-¡™©$©Q›kßâ@|25ÅÆÃQUÎ4ãúT‰ òbÑÏ4¿`ƒè·ª*øa0ÔóTÃtYM•¾”R•3$_xÁÙœmMýL SìxsZeÊqÄâfÊÅr«ˆµ· -µSÁݨJ0@ÖLVPaµùy˜XlÓ%ÔS­lXÓ¦³uçá6' -e bUÕµ–ô¦ùn…x'À@°Ix"` -¡S\1ôiÍ4õöÖVœ(©ÐÅ*¤~ƒÃØ£ö%ê֞iàMs@ð„©ë¥NZÎ{†^A_±×FÃGAOE>wg§5_?»öæw:„~É4·oã<]±}çPëîFãéšO‹êòË_r ôï´ûí!w£µv|ØggqúF§¹å(j\›³ÂA»û°ã¸ÞKŸ]™­×æÛìkÄ ÄyÈLT?Sï{ý8 ‡ãƒ4¡2·•€@énÜëûë™ú” Ì`[dQC: ö‰þ|ÔÒ༅ºè«xBïéGv½235…urä€@@Hú‹ÏªdL]ÕÐð·Qe X^¢D²B =ò1Y7 -5ª‚!v¿kŸšŠcµßë#\"Ö–a>@vˆ‘…Cöàvlo9¬Ü‡[vOŸ¶gKž‡Îõ1ùÆ@rá‹Õ2iŠ^™¨X†¥kz¸6—61²Ê5·ßÖ†£þ0bxW,ÆFµ*Fí™kלÖK“:ø%UF„Á‚žò]UáS^/0(à îúE‰3ƒö‰H[Hâ_òsÛ?¦œ~Dg¬1‘!„“ìg„,áÁZ¥Üèž@6LÀ@·æa÷QÇ`›(>%*1˜2p\­›Šæ^詳|É+=:T³¡1}bŸüü>B=†iZgS õªEC¶¼Ù·Ð¨ì¾ Ì#ã„¡`€CŸ]RÁ/‡á+©x§z…³©‚0ýÇBBWûûÁö]D1ñ‚°„ඦò´ÑÛê³¶•²Š?{qii“½Û;[­-UÑ:;÷Ú;hm?¸KG|›}zÖ!h û´Ù:q¯^O‘0è·TOªh?á,:»ˆ­šbÐ?÷\•1õšwäoÞn…òÝ××jus¶n]3mæL¥ÙÙ0‰mžª”ÛAe -˜o¼¹¶x¡í †þ6¦±sÕ(èÂ*2ƒžçî5k´–%8Mq,£óÖSV¬ëYø™d`2~?Êñ$Q¨¾-‰D!Fñ ˜ °”à -ªfðõ£Á<‚ ³P|Í÷ƒ‚RЧ Ð Y™ˆ¸¹i<ùaÊ‚eà±ìÖ§…©fÙ€ˆÚ´ŽqÕPItsõëVõ¤U9¨E=8ØCÂzCéé@®•"GjÊ·,Lƈ‰o\J‘Uj7ï·–Îå0rõHI@Çumë8îwónëú÷W¯}SA³5Ôí>³±—&ËýCª´ÓS¬‹8ÒDPLz$:›¢$Ôj‰á‘ƒ¾KôWøˆ´{Ô@iAð]é èÜ!(r,fœJ‹ˆ(LCÀÕD™¯Àu#X­päR~ãP2j.3•ÓðhRó\9Èá\fòÔu ~’6Ác´ÓžŒ¡î‡Hæ¥àÈÓü'V?}5/¢ÇX*õã~àœJß)«Të"Ë4p¬?£”o¦È-‘"BU˜À]Ë¡2*M°ƒ¨€n;èS%Øá¡ôçüÜ  Ð›±ý]þs§çë§ç½ÎÊÅ—e¨‡pn½‹&TuÆdGð?VWqÑàŽe›*ˆ,k¦þô„1®ˆµs. bWR¼,ýÞžÏ;–®îøöiœ`{».ìUâˆv:Hÿ商Óv;;Ý•‹»Î<ú·þæ¯^ºúùoÿ :ú_ù­¯ÁÉùóÏ/]XÙø` Žâ¶Vk«þ$ ™cÜÿ_¶¬…ŸƒÓcE+ÇWôi…{M°äŒú9 Æ¡‚\&SîÏ” ¬Ê ¹=*Ü…ê—Ë•¥¥ó†A1ä…‡qÈ”Ÿ°“ÔõÄ ÂW#BÃâè±A¢\Ì>¦“Rcƒôï¶¶@€ôçðK©¨3¼;3)YãC•¶Æù³ÍÑÑCfœ`éG-wí­öŠ ' ->¹0”mÿäbÏ=}¶±¹†}õ×¾ÄÒ_ LŸóÿØ\ùÿ«óçÀöçWZï¿Òö'ŽÙ—¿‚Ò Vtó.›']îºÊÔÀV+E° 1¸ùãæ‹¿€&K‘zÛífþ,x|aꈲ•#cH;È­i©²… rˆºÞd–°<üþÌLôÜ0§±Wþ)f:9ð§4ænè]™` ÍÈùwyyÉ´Ìv›BùmofÆÀp_¹Gp,@úºŽ—ÆÙ:èØ¯^YÑÏ:lÿðÐ×'+V¥–‹ã6™íÄ*ÕþA/VÚ½&8Íò>È}سk‚ôbùK³‚ðÅTL`ÂQ»€ìCL†rAnsA––ÿDØZÙF ¤¤álŽ÷öCð03¹G´Y%5keÇ,ýHã - -ËVg˜-ÀQÓU™¹1ͧ‘9»+¨Í<•Ô*3«`‡š¦yAbš$¬õB©Té÷ûœ„oßo©¡§ûÈ/(l†µD¡d¼9Ê^öÓî“8éfx›6b‡y”¼ÑS“NÏØƒKºš‹Š0A· ŠÖ>ý -а{`y¥ ÇíõjµÙÙaæIýÚ«©H¥uÁµî£€:Ñ<Ы7×ÅMÁ: pl‰ 5èøú™#ŠAâe¡‰)íq¿ë;;=®d]÷.Hÿ™SÖæMø À à·åÙ¶Aô¿ü¹_Îþ¹±ñì àüÛÿç7¿ò,ïÿÛoÿî?üÆÍ»wo}ñW¾r‡DDé±rÏlã’ò PššfSY#Ø úYú3Ó Çx38?‰î‡õÒHWþœŠ©’ËAP¼–<,n,´Ë™Ö ýÓŸùáó¿(‘Ü€Oâmãœ'>R`~‚ Ž3‚¯â¡8rÛeëÔ»H ý/þÖWá¤u¯™Ei³ª‘j'Á]È€ˆ1Sí(XGžÖ#“þ?Jеy»™¹'íµÚN2ÐÕÙZu¶Óí´o|ï»IßÛßßi0m9c®\ÿÎ7ù¼u{@vñ¥W¿*éé3ÝÇ¿\n`ûó1¥“[à´<6ÿÇj€t€Y+öm<³ÎÜ]×÷VpR™6rD.Rúg#hkÐbtºžsòHY·}ªÜma,÷Ó¦3ÃMI$‡.vé!Ó pcœÃÆqù`ÔÖj&©QY®€,i0Žæük³ÇqaÁ (-þµ§*Ȥ†â’*¬)˜z°ƒà‹6×ÞÁ‘¥?›ÿ‚舓¾ª”Z ëÚw{žÇ^‚ÐK2ü,N£ô׸懛t¯ç©È$&²ÛKÔ&³VQ9M’r§`h`ñeêdðá f\æÒsy‘Šqû£»·7Ö_$r:o¯c< ¸ð´9žæ@-ølÍG#)ý÷eýq:|Š+8 ýÁöç@–xSÆ ,°cýɰ3lT¬ŒŽxؼaè ÊHØ šm9C¸ì´¸î®g”$ý/+€2é†Lë6––ÛÔˆ0Gr¿”’ ¶w¶ô)«Ý–®pc»;1=;ŽÕÇ´IèðÉ6…û.‡€¼½~¦†B™%dÆ 3‘7â -•kÖü|Õ^ñ)qŠ m·dàCîÐ5ß¾!1À °«3KK—>üéûàð‹ßøG ¯ûI.#ý_âûŒ¿û;ßøÎŸ| œ€+Ÿ}ùú›ß]¾°b{³,À&«uÉCÒÝÁ“F&ýáhO§Sĉ7š0¹âR2©Ù ©PÌ^¬ k¥pZ®-,.1ê‘(Ò –Ï5EQ¦Xç^rˆ”Š3ƒ>¬QÝEóÃuwǹüê58r‚Ë8af5!üœ­×·~v§~ᇺtöb†:csærºÈû¥ˆó†µgçÀ hÞßËÊ‘¨1BΧæ6N‹—¯¾¸|ãGï”Ê%nÌ1OÕÖßþs{þì;áz°‹úìº?û—˜}™eÖÌûù_úU¼ÃÛë•“ÕÝpÜ_<ïlݽøÒ/Wí_ôZ­–t¥ï91IÕ¨ ý=dϘ4 -š1Œ‚dH@u{†]› è=1އ%ЍÀ:³N=Ëß„N×üdëãîÖ=*§ó\¥\)é¥ÍÍmÏíb=8ÙΊÎÖ4êzéÌœÑ}NOaQE  0u 2>PØÓLF‘CÁßᤫ•Ð:©o|ÐöÜÐ>¡#9µniE=ÜïØ–áìâ+…ŠÛMx4õ©–×õ ucR÷ûn´OCièQªv<7€ñªÕj8 7&±zlê8Š-bep\·)Í 3s5§Óæ€á¹³³ T®ÿ?UŸ«^yq‘~–\«£Q—0+r1ãôaô¡3*$A?Þ?ôÑÊ>ÄvŠ ö•¤dGE©T3ÔZ2*#¼Æ…ð㾨â£T‚~_£†•˜ì ÄÉ]PqRÄy³V€£®z ý$Ô§šF ³Ÿ*)!"w•ƒ(ý8‰ÑuüɃa8@á›Vš.ÕN7¢CÕš6{Af&++Ko½‰šóÙ…êÖ–3W·Á…Õs–#[dœßSÔ±,K›º1] ö}}µC4¦Ô ±Cή]45ªxáL ¥¦¥1ïéƒ3 ôI¤y=¬ô@©¤«í]·ö” “$(ªFß›P@Ü rˆ®&øü,pÊ 0…ÎY‚nôG+jTµ†j+iOB¬sëDa2BBy¡J¼såxLŽT4Hº».ؘa?t».wÒFQž[aÄ7»&5Ù¹¥åþ~?Ø *âìîx]* èv½h˜lµÐ(»ùÃgOË–YMKZ­ZްhÔëUX°-[­S(©b)/~~¡»;vca¼¿qç7߀ó«+ãÈÏ×þþïÂñ½[·®|öêò"†ˆï?CPwnógЈÖuÓíõ»® -à÷ÿ—ßÿýÿî÷×ÖÞ¹õãw¾þþ“µ[7á +Wh|•æ½nã ®ö˜1|WÄê~þ"DèÀÃ/ÀêƒcLQq¦æŠ¢| ‘é}ˆÖGåCŽæsfˆ’Fª,èÁéÕX"nÑ}Äæ«×ò4–ã+š¢ÄÉ‚mŒI§)Eíh3jÿ0„=Ct0L+ð\ó´ »›6yÚóà‘çlià¹Ï”¼‚ç¨î›a^T,»N»s©†ÏçÏ5?<Òt{ýÍUøY×ð#þ§÷HÚ¹7n¾Ã¢K÷ -@ ˜èØUEÙ¼ùvõi´Dì§æíÚ8ò§šë°ÃIçãÍÊÉ«K/`;˜ï’¡±…]Ás^ÔAú‡Gt©aÏ)M#9 ÆÉ%ˆ¤”‰0:Q)c®ë¡Ç$¾b¨ñt &ñü9)A ,.ΉOØ*¦ºýññ¬@+œX¥5‡B•§8þAÝŠö©þr&‡ÃІq=Cv(XÕ²™ƒéoÛÈ8f¾OÜž‘7Üéìq­ " ¨^Ô@ -€¹F·Ž-uò&ƒ¾mˬ€1m´¶»ßù77@ œ[l€¹.ÿ8õG›ž»ûXn?bììü é÷Ÿ ‡#¼™€XˆË“6{ x'ÔÓÀ¡¤hØ×”R¹ ¢UÁ檫² B:)Lƒïûi¤žk‘±y0 ô| ñÅ@5ækŽe|´øË"ŸQ²†Ó©Ñ]«Y®´Û®"´3ós[[­{[ÛºRÙjâ39óÌl½nm·äbYýáí+Ÿ]Ø&ÜŽ3Ϧ!”Ýq‰”=c#gFV}ÐÚDäø1)‘®Áw\¯ÙîÌP*žûeXoçP0à>V¿LqUzŸOÙ³ÄzvŒf2L# Y¨[ -H¸§"ªº½¸M•NÌËX¢Qã -¬t쇩"‰°I{Zþ$à IDAT‰wÐ~ƒ,ÜAa‚4+ÜUµF‰$‚€©T¶F¹µ»bV|×CÇ(묪U³Z•:2L¹›Z­nyJwvña:N·ÝÆ]îí©ìžûÔ¼D=M$d°ýê«¿ñÅW“¡=¾ð&vϘö­¯®­­ÒxÝ\ý!óý“F -L¹|~yn¾ñÒU‰Jð•ÔEøÆ?üFþÁÞzÔ ¾ù¿Ó:9sí—¾øÍ?þC8Öês7Vß÷9­ûGÂr¼>Û4 û“ŽÝ ƹâÉ™U¯ôçãDû~X{Zg|8¶¶Üå_Äh{Ò ºÅóŸø\­r°ô$VRoÇ1©älÿ€ä²A`û¿ô…_ö\¸ïfôÝyD~^rX™.?ú.‘ÿ²4ˆþoü÷ÿìØ—†á‘@Ç7$¤Ï½÷ßÊ^¬7_|I £Àü÷ÞqÚ÷â›\þÌËÞžN€u -v9ü‡]Ä„ Õ…v&cš§71*`ûƒô×gqÏÉ'yTMéGôÄØËÑoPI xåÜÓcéæ¿ ']ÖÒZò½€O‰>0ÿÓ盦äBA††”WÔ*£úð1ë‘óß´t8Â.0d„ÄR*¦YZ˜›™è?,^þ†Qr·’æu{~Ðjm®\:Òõà k¥b‰;³øE{¶æ§o¹#ùˆ~Õ{]Î1ÀöÚk×àÏ#ðÝx‚kŒ¦·Ä˜Í%þAD Ö®–Ã}jêN‚&64¼g8¢„Zo†_Äç ¸g™‰&wVƒÏª4ƒŸã{à÷äñÜ3'æt…á4,Ëø³ûöü|}‹PÍ6ÿa{çÇxÂ<$™`ΘkoáŸK;mÛ§@ÝŽµ£Aô„Áa Ò<»b¨…ˆ~¤*/éáÖ˜‚µŽ¼Œ‘¡E²OÀ ØÑH×§ŽI|;öØA—ä› ¸8 -&!âi—Uþ úS`€\ª®Gƒ¨ß¹Íý€dH¡3l×Î[(¬ŠÒ ý‚<…¥¿`ÑïùiwB)ƒ3©ädb&áIê*˜,´œS¶ÖQ¸ý±,*ÝÞî¶HãÂû‡)^ËÂņ(%†âÕWH_Y¹"þAöòï±0tmýÃuÞ›Û[ÿÓ?þG‚²qH,-._o=ƒ™Ï{ËøêÑûÔuë;‚‘F,ýÍ£‚×ߺ¾²rNš}Øxî¼1©²` k4-4pØû!“[! QY Òæ L¸Mr_Ê܃0¯²„ÌŠ*€‚’‘ˆi…q+5ü•½ -Ô+¡”þ0^30J:˜ÿ Ä”Á­vÜláí'ì`ÏJêQ=^­¹ÓzÔ‹8þCó!dœQA¡Î,$0ø#ý$¯—6šÕ«YÇ€Tèyur¾»;ÁÜœükÐU™åíöûÍæ® ZüùZ™Fiö…W¤€ - ·]ù,Ç B°ýåKä\ráÞööÆæïÞnGüKü;耵Ÿ¼æ?Hÿì:_ÿ”ÂAø_ýÿó?þ_ÿkA@þ‹œ–ê ö×; ©Aú“À4(«Á ¹>16F¹OV•ŒÁ8Ô¢8¶ù/ÈöGéŸÛ¤¿E…3ì|AßÀ‚I -XTqf“çhìA8ÒµÞîÞ¹O_#‘‘Óabhd0öö{~Îy°ííãjD÷½¨(àÈOª ñ¬ª% Ì‹è@A~ç™Ó&xííf«¹ÎÈa¸ïÕž[#‡hÕ™©©ûê+/ùÃïÿú9B\ØÞÑo¯ƒÙU -·‚¹ýðü—^ã·™«0ìSà’®P`\°~ávå­ÞpÚmÑÖ½æÕW¿è¹çm¦j}¥õÁw’>³ðè&)ûA5• ÌÊΛ‰DS -L—È¥;~Їg8*$žëaÇ“:Eu{ÿ/goÉuß >vu«XìbÕ4ÙÃ)ŽÚ3žÉH#9–2ÖXŠâIlÅN´›µ×Yçp› @Î »H`àE‚ìñ%6֛ݽóÆ›]{“ÓÙëDŽ#yÆËb$Q¦8šQk(¶šÓdO«»XŪ®îû¼ª.’#opO…R Ùݬ~õÞÿûÿû…àÚ{dÖ%ÄJœ Â9 ûðJ×™u‚ý‰”òª:Á$0`c ÁŸ4ëŽÈòh:XfNíÝ¡iV;·Q ƒþ Ò_?BÙÃïÇBQÓ¡lTÅPôà$Á”UƒQìíøUǪVULoÄiôÏÍ‚Y`¦¡#šC¯n\šŸoo¶L1 pÙÃ(§Q4¬Î²„ó6 ¶Þ‰àâG/ÿ¨Z»}æt,ìŠ>i8)⫚ÌF!Xf^#9©§{ý4Æjý’0‡©*FŒš’«Ö·”œ$ìcè…;ðDt$ûJ¿Ž:‚¯oÆIçŒ)t&tÎi›hU‘g9¤ä31KëeÐ&‡AtczX^iNi`–…Ù†ÙÒ&KºQb¡æu=]“¢¼Ýn#ܦNˆªËu1QcéûÍÛõw¶½nÇmµ\¾Ï~°Ò8]¯_¸±Öò磥ùS274÷ͯ<ÿÊ +ë?ÿÁKW~°?ª/΃Y´ÉÄô”ñZÓÑñ rg†¬A-¥c‡µl¸dai.”TµÌjkï:VO€3‘È.“ÜüD´mM#D¬—Ùr‰Ë£^2Ó‹M©e`ù,ºt “À#Ã"ÉBm55RÂ^À:Ô*ܳwŒF©ãLsZ^w,|šÒù(0•ÓZc>Çßõ@¹×ë5¶¸ |‘ö–eÕ°I¢ÝØ!¢½pQÊ«–5‡§x€Îð<ŸI@obèøþ3§z×£/QÀçÕõç_|éùæ ÷üy)èKšqù‰Çøúòå§òÏÑÉÈxì'QOä± þÞÏ}OB=wv:íî7þý›„)ååw?¼òÃçíYíòûžû -ìÎj£fÏZ6e¾½Q'ÒìÈGDRFÇëlyUG B°3üÆÉÅ[¯û»amÁñý Ž(96­F.Î#ñý°@ë;Ð;H)šœ{ ÑÒû÷æz×÷ãÇ )Å`;úÓJ ‘ˆÆº1|²ÉÅ<íAÔÏÀÛ1é®sl^8çh˜çëÏx?)VDå $¦eŠB8bå;×@dK_pɉsÛR?s™i­^‹3,½Ÿ}ßã_ýêÞѬgÈ«îfó…o>sáI‰&jŸÃÌ:‚5ÍIeyn»ïE`ûw6šçÞ{yzÆîÞÎÊ\E6”Zµ³½í³~GVˆæ Hd…á&¹aÖÞi¬KÙ“9wž);õýžÆ4?¨ÌXôÁAÌ1â˜,)Ža‚;«)H2? *‰iíˆs-¢S.†9àúQüdTXñq„‘ÅF"¢Ø†ç.‡¹&±·/?ŠZÖëF¿]àæAdc‘Œ*¤þ×mîve`ÈàÀk@nö2û˜îŠn§»N•Ä–c5H‹3.1»üfE÷CN¥Œ§…jœA»æhˆ –Sze}að×åC¤îD¹iÖ`ª˜äÎxК[ØE0>^éõÚpF tø-žß¦×Ñ~ÈÜa9û˜²À‚I°_7“-vÕ~þû×kYt一ðàbRét:9}îìœÍÍ6µz5¯££ìâ¯:[ÝÚ|õ™o^kz3\€E|a5e½> {´~oýkþõ b^q凫ó„Ä7ÉrLDõzùŒ1ìŠ «ÈFÙ+à0´WÁJ¤<þyè‰Êp^vfƒ£HS&9àfT†;Í Ž‹$l}0ÀkA€&8œŠ™‡øÁð‰ -u}ʨĈá¦(²òòSCv½!úÅ å¢,0x­DÓà]E(S0! B!\ÒŽÎZ2¦Ìp/€³7‹l Ÿ?éÅ1¶çvúDZ -»A_|qõ¥¿G§í™ï¢@æoŸ½ðvý -6!=yÿ£ïATüK/‰ƒã±÷J…ñØÅŸφˆ@ôóuóÖKÏ|ç›|½þR«z¼×½íW[š>ÆCeþNüüÇ-wç@™5"T¢NË÷]7ÕvÓƒ³¦kÍ7=ÐyA>jVÑ^/Á$0x{¢sL™pAäz -–º(J™[iàÁ·cO\ãGèÓãÝØycȈê±VpÒËó¿óÊ‚Õç¯-œ8Cy3 - ¦Ò(¨ÕA_uZ8g­&Šï…Fã«ÿî‹`òk@ àÏd:H%ýÍךØ{L -Ì8^zuã›DÁ -: òenÀ°œöÍæ×þÏ/ÖO6@ `‚Âð«Ñ^š3¥C(7›y`çöÖìqÙ8Æþ/•*?¦¹ƒ!‹1d1æ$'‚#‚êàæa;0Q©Åœ®€“:@Cl““`…n÷ÕážAÔæœö–ÛÞŠÁ qL½¿2'É¡¹8ˬ¥?NþKDÎc™<]?àÆ[þzÙ<ÅUô¼@ðΉ -»‚D§ÛiÂŒUk%­”gŸŠÃó’¬nÂÓ4@ ØU“¿#Íjæ°{w¼•;+ @°¿Ÿ‡}Y Zê”®fü0œ_/X.{.z‡«Q9ì¢Ä:; ÎT‡¥œ°2ÃýбpÉ“Q‡R $Cn  ¼¸‰œ«Y´ÉW©<tüE{.ÃêfàÀ†~î‚|…¾rQ! D–ä¬Ö0ÿáÀ™ïŒ5=bï,Ë\KµFÝ›76›7[àª1të[†/\]ÐÞÜjÜwHÿ:%u×^m.PM½ß .=rÿµç©Áêžšƒ;R±^1Á8®‚€³ðaŠÈâ3ˆ¨1¡qÜ,Ï ä@Ä1µ˜9<Õ 1 XLƒ¸©­u¯QÓÔ5N' N•M…C¦§ShÕb½Ž"ç8¶ŽdtyhN·'!@¢¬Ô˜Ê(v³G#Î1OŸ›.áQIw£±:`ëM”þ¨þÜÈ=ôˆÀ&Á €ãì©û³?ø©•—%V*뀫߿zåÚ•?($‡Ï?´Üh`À9×Åæ¿<“÷ðÌw¾çî®Ä£`UéBóVTµ˜À™Y"ÇòîøfŨQ lÃ’¨za/ƒô¸û–¿¼Üð¼ÌÙ™yŽJå.P†ÃáK¥R¤d˜=xðnaÕjð¸TÍßéZ³ÕÞö\œzðraÈÀ0&UPnéºv,@u¦†qžOaÍ1¾üæ(v¯}癣÷Tà!MÀüÏuãæ]°£a€€ãÒ—:BÆ óïEj is:õzãÁ ,ýá æ?(€êqœÙ°ïQ×µ\啹±8C@ʉXؤ?–ÊqeKæ9%àMëüuÐFãvV˜^6†’C°Žy¨¦(D û$ ýçGåÀ ÈÛJÑèÅÅ:hðrÃQ72BËì5Ð)2}b¬/D‚Êž+µr¹ºçÓË †À^0Ãw/ÍgàhÌQÏJÚMB£Ã²ÎÂoséŸ&<Ç› @¤Ù¬íký‘q™ñ+ÙVÍßÈV9Hœ"Ÿ*ÿm.Å·h&Å|P¬«TN -gkÊt3x¢¨@õ§1¿”„­)ã²gAÓÀßQèmGX.9YR'Tæ*M°Ùò¥ @΀® Jrò?Yôöcïä?iœZ„ØTƤ`Y¯eûÍöÚ˯/¿û8‚é,ýÙØ|«³xO Ž0 ‹0Y"ƒwæQ!Ï'q/Á¾hÙ,Mh¾D+‚û%ÙOsë>§íÍ’?‰}Do0Wè0уÏÄ(ÐHÕhµÇ vN€€.$oéuAÒßçfcFªá‚z¹ò©›šõ½Jd:Ö0Ò¾S– 4AŽU…S­±ùgš«Xª@@i0íRL`+[)¡Íd5ÇbˆÜvŒÀï@P IÊ8=¯/Ä\‡ z²tRµÊá 3„­U_f«MX-C­Œ4ÐMAXMð(»]¢úC4Ž ‰5nD¬éºŽàFqÀ|#AàsòÐ6¿7 #.éŒiLšZ9výN´ä9ƒ-Zä 5ðèÀåž:ûà}ðO>wn{•}ÎS¥á­×q[•JC-U~㟢½Ù%aU%2 -’âiú‰FÝ U ëÁEHv%ÜS“Êʉ>ÉÒC u婪|ìlmyÝnóúzã4zâÃI°F€NcdOfõ,A÷€€yH$‚Ñ^ÐuÉ@–GƒÄËp~òÎO¾ð2ø‡b(#7V@ ¦‘BdP•ë²™pÊ&\xX-`ôð6æ [ýœøX)¬¿Ö©VÁÂåp²•ˆi6Èâ~„ପIØP …¯YÑâ}4´á fSàbƒÿn=0®chUN™zdÈmD(e™êá`È€3ŒQš‡üÝHŸVÊÄ]n`A¹O5$Í7;ac©ÁhòÅÒ&œ¡¶ÅØ0œgâÌŠš5–ƒùæˆþ8‰‹lk`ckU%6·”As¤°žÁ»Š“N¸Jw^ ¢NLF†*£´¬ËAsäQ˨\øð£|½´°àù=7ÈR %ŒSD?:ç9ଠ5ÌÊÌÀ˹‘-DYÄUÑêt¦¦TÏ—ÜÁ¶5Í<Ž‚ªJº·+ÕãÖ•o­iqI\}a¿Í‹ˆL uR®BÐ`û¯¼¼Â -À²A¡YïÃ9E¨‚¼ÊS6F¨å!üA'gä1-™Ò Py‰£Ð?‚¾Ç|é ¹1XùÏÄŠÎpø¼fœûõ¡TŠQä™÷°Ùm­¿Ö~ü"U‚¶Zµê)=Éo}»{8@J:@Éx-ÊÍôî –[X{åÝÙŸ8 ÷Ë,J0ÒAîÛ²êWEö…DEó¿°®À`éÏlÉ;eÚB†Ñ…^¼¢ê…W‚5Š¡*eÉ.S©F%”Xíê¸q!ÍÃVªVÂöÚ)zÆMbLi¾35ÉÑC\ÀÃUÈ>HPž`\·’{„0ÎÎr¼?#Ö^cPv»c”—‚u˶?Ÿ‡û -'`,-”øà9ÙmðG¿:à•ÀFît\ZvXÀ=ÔŽ÷Xp¡5Hëx?(mØ P¨QXbGÇ‘á_Ðÿ9,œß˜¿+ÕCÏÅ÷Ö3\pØʈÃ-—#²a-ÍÿBœä¾·½Å! Þ* ýÑç¢æ>0ÿY¬Wçgë pvf‰¨0MíæôM<öÂ@Þ_À6 @Þ¤: —¶µ…Ú]¥?þõ’|ð Œ\ú÷Q€í?³ -À©Ú® žzCϬEŒ €Õ²¾²jÎnwgùÑK‘E°i_³ìÌåÒ”êýàä÷ƒŽ`é¯dØnB\oU®@ (¨ð€ ´«µd€[‘—»U­øwȦœi–!ñO€QªIìïÙLnÁ]”ÓNö9„*^ -÷†ÆTI T0ÃÁLÃØhš2®_ ë7)9ðùÑ~ ¦ïzAóÕÖ¥ÚòìœÃ ãI²aÎ^ÛÑ‹ÍSôQˆ:@4ŸIñ;çÈp±ù²çÔMÖìèÓ‡½LÜû [×ìõj ü\róŸã?ö4梱€?CàbÒy±Ü·+¶d‹+ƒPÕà'FàRB\~™,ÆÄËŠÅÃt¼tÍbéÏ#Ê ›\ImT¬)+¸ÓÑ/_£ÚpL -%ë”ò¥w(¥QX ’”†àDä072#ô2æ¿»ÛwfHÿ£ãCýyAj@IÑ\«Ú·Ð¾©Í; @úƒ¸¾FUX3 -ˆþÊ1sáR]YÄï¶ò÷ÈÒÞ¸o¡ùF«~Ï<¬gn§€ ý‰ôŸXú£& %ÄÒŸû‡¹¯r‰´ IDAT‹… ‰"U’s>ïØ‘¤uÚ"®ö¯a´Y-V‰ÌHbeÉðbfEç×À_9D‰‘#ÜÕª*wPH0Ø¢1eD²Y¤ñaÛå88østDx­Í¬d‘òg·Þ¼Î:ॗÅÔþ0ÎÃõÐ4“Öæl8”‘ÁÝΠÂýßË¿ÁѺ R(ÍC@¦3V\—È:D?†Àv¶L*›±67à·¸Æ&8EcˆY4¸.«œ¦’PÀ+›Ô`wbM¥1K‚‹t³bƒ¬ðªV¤ÓgnüPÔµ{C#ƒêÜuEÒ§?Sò@èøÑÙ §_ø›çqmëN°/,ÏaZ¢ŒY+kôøÂ§Ó¶íìîÛÞÙnè÷ýôãÿÏ×1Ä#¼Eǹwv:VJ D[kõ…zw;ÁM^ —?2èE…§Îþ|2¬¿àvg•°%Î=ú8ׯ`$/¨D¡zVŸ=m­q(0Þwz>£W¦Í„,ó -hðÝáFºµ¨“Š1¥gÐX"ê¹–&jþ¡ÍõÍö8X0瓺5¥ÓZBhþþvLD¥o!µ û½\†·»‰5CÑWX¦öÅh ØT¦…ûýÈr*7"d¤šTðó&RÈ1üý¸V²¼g¨ˆ!W -‚Àö)|KŒ< °–ƒ°šr?–xm˜C ¥²©! ‚Ó‹˜ ¸§CÌsÀì–ÁEH‘•=íõeµ6OI02´š—LW8ÇL¾Z_SR”!,¡‘¦¨*BÒÁr1 -Ÿ`!â±€j9[ÍØ<”‘,„W…2(+å,È£L¤~OvÒÁ0Mkk{«Z­q'qu¼¢ã–1¥pˆwZ¤iÏˤU°Ÿä#8\-‡Ÿ_й:窄q?+ðN=›-Ö1ÒÚIK0{š¯ÃÙ)£=äXÃpG+[¾»Ûì ¢ú\#ˆ¨F…!F&(!1T¼;=}²Ó¢‹x4ˆÓÒƒ³íÁëâuÍärIÐÖ\¤ßÎ9f›sÎÖN{ý•æ,”’î÷=kÚÖõºïmÁïC¦%d<]œ_0 µ¹±Ü)…="üº&1U ÍÛé4 Ù¡6(Yº³ÙÚiµºþ'—®}ïÅÎvïÜ b?G¢4¡XǸ޴bw:ÝxéÓ{ʶÆÖt™´ˆÀ6Ý„óChãR0÷Ñr -œz #%M‡ -r:[¦Ë1\-%AhBHf O’ÃgšÄ¥¥hØ.‘f âo¾96cš)òfPKJ§ÕŒÂÈ…'JFñü=K:*®2ŒÁÿ|ÝV ÝGÎåDAÙŒH‘0„²^¶OÞ'Å¿÷ô©óÑŽ·¾l²­Öîí[m¯mÍŠ-ü‰·“%xž5;.ŠÑmÛ%>mÏ­× Üÿ ãÄÂII*‰Ó6Џc#pÉС^‡`zÜâjVRt©%E%>—[o4{Hè[²µAÙõY61è˜[dÿÂØot™ á[βXd>üö©åK÷?|Éw»–S…»¢8!Ygj°ófSÑm}†Êì -a\ìàH“µ®ÃÿüÂgÿœŸþï {îÙ×úûÔŸ€ƒ¥?Œ¹Ù¹C/Æ7)¥6Ú¯·æ_oÕÏŒ'Ú #Å‚ó_¯w3›Îæˆþüe ýCn"ºú´¬k:»È"É–ôÌ+‚œ8ĺ¹ÓögëÒA›#>áø@t¯Û »]Âø&«G5à%Ú£]²Yͱ%Uñw¥(sZ¯ÍKt³±À_\ÈáRÄ0´¼@sû®VFûW-Ô‡9³“”]ÁVVüS( åöQ8Ï⺮lme!J2Ü…¿‹o´fä…üÔNd¬Š (ì´‚å¡3n°0m3F Ä8ð‚­ˆò*ë€bƒŒ~æ©J^ŽBs›ç]´ùÀ¼IìG z²d2ÇŽÑi€£h(å!&5BTÝ„YÐ(”d7¦*º«óï5Ä%X¢*ö:Á`™\j†×†Š€¦ª“sëŽ( „bÓ­.H…s}ÖövÇD?(€£wŽT’Æâ`½ ÷“TËáu5k_œ’.ŸF˜Cºy ; ÔSç¯~ÿ¯®\űMba³ˆ³,$åçm»öœ“=?X½`gØ  Ò ‡7æß)XÁ>bî¬iXad˜:w©þÌÃnxÉ4ù¦‰~~E|$SÊcóæ:HÿÅ“gà̘°Œ`.(‘jàòG?á „»ÑdéÏÄusG°d£½ ô¯ÿÖï¶_ûkìüÏo~Íùo|ûYpÛAA<õÁŸdøýù4åƒ8ºLÕ–­×7A¦rJFÌ¿]_Y©Îoq¨¶¸jŽ‹DÛXÇ ¶ÞXo!¢<—LÓ¨–¸¼ }d Ób p¹LߨÝòáp·Ç–…yL®`«*ŸMµJöi’›T:,ôÔ`Å}”0}(é‘ =, =€è¤ Ìi™C–AU"(±([c¨ºt(ãCp¬¾Ð8ÀÅÙ`‡Œ¦¯µáÃï­m¾Ùùg…ØŒ*Á@\ºÇõëMÛV¹L×KŒ|éíx¤äá>ÜξuZ29Š˜&‰»Àm×ê&û,ýƒ0)en;Í>ÙëׯÃEÇõ"9°+Öt¡u»Øü/ü›Z.‡üwqŒ¨ãz ‰B‘En&× RCl˜å±°pŠ«ÈN@D HD—Å4èØ\ oØÌÊž‚ :@™HòÚw}Ê`a ã e=Û\$B¢uFNŠe+ÞèùOÐ;œõ…³N±ÃôÂ)pWä/Êj7Ê,ýa6ìó1 °L7‚YÇK€x¬^}<g©Qü¡$œ®`óŸGý?:€¯Ÿ|ÿc|ö²… j€Û‚r%Q?÷þÇ~›.”2S($éàî œ€û:z£Á -ÀÌëÒ!˜ÿg -è¯ úW¯> ~ˆòCÒŸ‡¤ä&Lv¢sK%^<7OpXŒœSTÉÀ¥b;‰ûf¸þJ«ÛA#«×¥§ÒM@p›ÇG`þŸ>Û‰ô ýâ±€_¢àà‚ŠBNeÆ,®ž.ðÆ„´4ç [x lò’•þ™Åƒ)Ьï±n°€4éûÏáCä?ÒŸã?"S‰¹W­Ö®__-jŒø™¦‡ò'æG†ÔH\Éš˜Ðó%> † Žð›Â&/‘ ÊÒŸ-$µð˜À`¤I j«0ÚïŠ,¢ :@к BÙ¸›Šx ÃeSà¤)¥)+¢E'@â±³-“@{ãJ(ÕšjÀ¢nJŽÁïslq·aÏZÿi/¯—–â_g? óÖvg»×éø êuÏ¿ãbèŽ[«UωÓp'Ìÿ…“µµçQy<°|zíµ&者zí„í´àAj A³ƒL“ o)wú›r?'Þy™±VÝ o5²¢0ÿ™;6H Aô« †JÒ?Ì:Òy[!1Õ¹Gø˜ÿÌDNGœ\LLð+E~̓Õ¯´H«ù‹K¨ÚÞñÒ_úå1ª+‹þ ‚?X(¯Ä}ùw}OÚþüÏꬹ@ÝêOínã§­½ìÂN<ñ‡•ŠœÆlýKF°4F6T ¾üíµ¼â~H³V[Àð+Ûee¢|ÜOô)ÕZläRöú®UÖs¸A½µÝ»Y'Dsý†è‡Î<1Ä’´ª7~fmå+úôØ‚ž—2!>üÔ“Sà 9Â!$^—¹')ð'9{êé§¿à´øs˜µÙ(•VëÕMDZ9ú²›u ˜:!ÜušÍZ%]Å—>øº7Ü™Õéz¹ -¤¦)Vmy¯sÿÓDЛ>ÜÀªšÔf«³Bgc8Ëc"”bÈ0E8?îí¡ÓÆôŒR_ Â'²"±Gq¯â`7JG¢³“‚Q—Ÿ#¤èQ‡Ác¦¦ÍŦØäɘɾŸ#Q_¤ù÷z¥2ÍO nO'4ðžÚ2Ã4eb5Ø'ÁþD á’*e½¤bƒ|¤1%§ÎÍ â¢^$&Rð-˜1×Aé`èÝéÕï©)=Û²t-±kÛ`?Ff¥ªi—ì ¯ßj4Í LEVk•­-.uP•A"IµáÆ m8@ çEiâ(9^ž˜f;AÄ…®l–Uz~›h.jsˆ,g:sÜ4qûvëüý¿úäO!„Ë[×tcå[ýç´œ¢œE ÄèјTght0“¤±>iö"Op+;L5gŒ8¥ˆ>”ÛÈ’-»²IlÕç*f[^!>Pµ ÛE¸Ó3ì¡HjX0éhˆÝLÂ…¯n»ªHx£¼ˆm1e¢]›ŒYÙP•&&¶Ü ííEŽÓàþ2XüššÖ@ާ¾×j“†ßv/—N7äž äíµÌ;…*_q& ;‰åé^–íßC[GŸ2OÜ7 ç3÷ŸètZgD=|··Á©Õâõõ5ƒÄÓÍõNuÞ:ûðY·ãÏ/-85ë¸SãÕm}Æ2tçÊwÖΜ>  sv‚f"+`_ͧ§@ QPuì Œ“ß¹Ó­"*Žâ˜Bö_ˆ½(P«%Ceˆ‘[»Ž'q§IÉ@—fµ4‘rq-¦¦6Û㦼 )Î0âDV¼Âµ[éÄx½å*IÓ•®2é!:‹ -µ"€8Ûm‡˜òòÁKì°P)Ç¥¬[QÇànì!©‚{eð[·ßâH5>B}—îeÄPÍ -]…˜tY‚¨þ–Ì¡~¬—q%Û„;®^©cz²,,ÔÖñ¨˜6 ; ÇѺ£µÞÝÛ­õ¯9…Sl1Ǽw[¶5/¿ÿ#Q?<ô.tº‹À…qvù#Í×¾–ÿDÿpX¤ŽyÛñÔS? dzW®=ýÿþÚ‰;ov„¬Ò FÍ0)ç™¶ g8ë[ÕùÅîÖæÂ}‹•ŠÛ¶=cBhG¦BbúQ`g…GÈPˆ`ד&ø œ¹vc\;\ÊxìêBgGm-[O”kŸ±Îdf 4'EV§˜¶¼´}!$fÏÛÞ|“Ü?Œ€ ðÏ(«×¤N.xÐ -8ËyC E„äóŠ +ç r<½n×®JcܘË=F¤­)iØA\«™ÆtãñVDZõ³o<ù·¥ë̘înÀ¹òw,ýÁ¬fŠd@E˜¶([ú§‰îPù‰¼v•^™AÔÙvÅ6;(JN4°ðä>bO8½xâô~æŸÁõ·þú?owÞZyY‚v­¾‚ñÆsY! >ÉÉÕ ëƒ•C5DiÖŽ pÙƒÊ2f¼ð }n äfPLhê”’—Ïæõï°ÅTØÆûñÖ¶&°9©qJÈÔ̈ˆ0Á Ï€§Âœ$´Ëȵ§æá>òa®çŸØº}‹/z{@æöècŽéñ0§lÑE5ª¤?ëF-œÛ€GÀ]BU[%Šó0Dx‹$M@ô›&ñ–¾(.\ÄÄ@»ÕM•A·ÝãPçækTU³¼íÞ†ØZXš_$澕>U>?ú2×–‚HÑ‘8ò°@96,ýE– dhE>¶æK×¼ÖæÙÇ?äï´­Ù:s¨‚‡»u÷Vø_ùå_ÿÒŸ}AÞVAÌæÓϘ_9,„Aò©§0”öñ?%þX°øöw®<ýu© š7P°6NˆD îåP/{L~5}1yºnt@1<‚h´šÆakºÂkFP`‡‚û1{fEuwÐ/XiÈpÙ صbºý±,âTóyÑŸ¦Ã‚ÇYb‹d8„ ¤f‚^“¶ô•1 aó?—À&äUŒ­™â`*·!1:(B‘XèR `xÙžVÈ4•ˆƒÏˆ‡TÔ æºˆÿ70?o#J -v`úƒ"dÕxBå ÒlÄ€ WµŒœÅ°ìÀI!’a#5„8ð);[›³$.Ù@†nÒöñEö@îçç0êd;»Aâµï^ ðÕÿúô¯ˆ±8:lvó±uq<õ äðÑú!8³øËo`§1¨ækê"Àö×ÊŒO+y:K7[_ þµ‹g œ¢Õ´žâ¬Ô¤žu¬Ñs›,ý‹¼²bBçÆ´ø&?EEjHFÄ¡ŒK‚©ªøÞaWQV@S<‘‰$qÑw—8#ê€P‘6³ÄÈÐê6|Ѥ¿NrüLacºF H7†ü´GhqƒpªŽÛõ½nÕ˜ÿÛŸ3Ì™ú=5ÇW7­¾„™iîgY~°áíÍ\‚Z(h¤€ˆA2F,òŽ0’ËõN°Ks[‰5"GÆ‚}…å>øI’°£À€ÈˆhþácùÁÇàhna÷ê€ÕkÝ]¿½ÓdÞwaå»`'ý€m¡"Ã0fUÙ@‡~@Yek ð…;'D€ å~À©æ’žu/#²M¶Þ4ÄîN9’¦º¢˜ úƒý±Ìuƒ6öôØÄAÑÿTzyGkîÈîåí².Ú¸Œè`b™-¹¼ðÌÿdo¼8A XÇЄgét€ù/ЩÓJùîPÇa£¥‘ÒÍF{»¢ÿ¹uØoÕEköÞ*è€êŒÕu½õ›ÍK/¯¼Š»ìÑGÎvïølû›Sœ]—æù“ëj]wXúÙeS:êÃ~Ìæ#Èýl†ß•'Y޼¾'»f? %v - gÛ_Uõ8ޏ‘ŠÁeìúEáˆs€ÿ5+ Û0K;™ˆr ’ÄÈ]†¹Ù02 =Ú?,7Àü).½µåÁ.C3+ CEAš0‚ Q4=€œ«Äx™ !æèÃ05D‹âQÉ(SUYшÛm~×!Ð4VAt£n)#–/<yí¼ÂÏ™²¢8´MÇ *@L#˜0ÞÇdö½K¥ùųW¾ã·~ã3_øÜgŠ_ q~¨Ã6ˆbEEv£h?… 7Šr~DhVVÞËa÷•Áã—°qìëßxö7~ûÿУp³Ù^$(:ß%, ˆ8½©«õº]•2K¾ßé¼y˱¬ZãH^ -2¦¸Î†H¹éõ´$'’Qƒ`!‚ù6a=¥%,^&ô<…ƒá0E¤mCïlt:;m~Àh›“pÇü§hÄ^õá!ÐsÈU‚‰¯Œ$"hå@$¨¢dM+~¬f‡©šu‰æk^ãv#Jß @ð‰>µ¤ÙsV§åæ þ.Løpö8’¨x}_²gíæf»±XÿðcŸøê_J¨ö¹PpLiveS!6a‚]<ÂTšJiaA¨3/‘B6ÍütQ¾)‚«6l’àœ‘g섈"JjªOlÑË5Ù—°w°ê˜»<0Ø)ú´ç±&¸ P ß„,Š`kAAònF|60,\V²°0Ï…!ðG"ê¦×LR)£I¶¥‚/£2+¿r æbæ$Ö -pЋï<'Þ »Zãålï´­š ¡t[/<{öq‰Ëœ¡IÒ?J«,YØ•ÚÀrÿõßøô>ÿ™Ã/+ Á½QA0™G_ÌDÿ×¾ùœý¼N=̬?­jÕ§Öß…Ó§íYG|O€ô?ôz0Ê0L°ìÊñàíÍÎ{IÕòúñÁŒä»°¿î ç”w s‘bÕ©TÆÓËe XÊ]b}ÁæyœÅ:{½!(€^o\ ê‘« «H0$婬k$„¸ yÌ%pšk\Qj V0· 3œPö‰’Ìaêv“ÆnT—P˜mCâ.¬& †À-ð -õÝ ÷€šxŠ5¨ðxô© -ÅÙÀhl†rß}Kº$,Ö€¬-ζåsŸÏ”§?-Ž#åÚã‘â¹È›¡ä?'²lrμã§«bTziÈ_¹ò¶*'ÄŒ‚ÀÌbašŠÜ%7ÒŸÁŒàx+2:KsjrThAšA(ëËΡË̓£®áó,ˆPXÿ½òÊJ›òجä{§Àl—ù¹ê¬)$–T˪Lç¼uµªƒ¨A]—MÇAqâÓMzÙŒw8¤ 4QŽ`ç|"—¨”!ò!‚Ì¥Vg/¢½ãIÆümã†x á¹îå{.1cÁW6@Ä·[]8tRü›Ï,.Õê„*€Ç"– ^y~í Q&tnw'1ZëºUÑÌJÞpnåà"kþà„³ªåÒ?øc"߉gªúT"²*_ðY¾w›H;TˆEwÏ4䃃9ãûÌ ~'°6H ×ké,xf¡•‹¬àÛðw™Ä±.ã´C—Z=¯ Ž[í`¡n&ƒÄ®Ø\ëÌ_šïBn¦Í -¹DÛ¡8AÏÖÀ+Û|mÕ:&C䌗kh¸;`,œ=—_ëô[þ`ƒh¤‚É…G{Ž, :à—~é×ÿüÏDZ ,–­Š²©ïQ|Ö4‡è¼mšø÷ÿóðŸ/¸ÿ˜aQbjíêÕʱJmi©³±qù—Å™­wÞðßEù ÚÕœ»?ØÁ Aò7$*èÒ0À3uš°Sh6gL¸(èçÒA/ñý(Wì²YÁAgÐ©ÎØ–ÔxL•¿|9'ÌÈŠèEÖ Ã)2×Ã&{„i¤ÂM“*R*éÏŸlOcê«Á2ë œ€æ†ÒŸÕ@¸—€èóÎ,ýáŒ`Ñ%áPÜ\Î^= IDATæ#¥9ADUÏ áOÃѨUA€°çpßr‡0œívÏÉ?^N”2ÕhVò…³L/ã¸-:d}1$2<0¾uÉ'&„ÌiÓœ‹*q0ËùüB'–̱ZÿgŸ„óC¯< -ß”Á‹/£&ØÜÂÐÄâüáÜþLjSæVòB»®E×u]W¨±Ç˜áA`¨*ñ0F7—6HÇ2ìÐ(ØÍB4‰49iÏB9"øósóód߀`à0º“ê鳇#Z–¯æû™r…‚°§±bÝ:½í<ƒÈË@äæ?¿…EjÖРrÙBL8 ¬‚Œ«Ô€ÛG‰Ì€]sÀö÷›ž3CUŸ>ƒËc™² ½~Ä}RØ™s³S'|ºöæŽåØ ý™9€}Ì\ù>‘ú=VóÕ6èÓÂoÄ:ÎQ~G¥¿ˆš ÒŸÀ¡ !ŒH„ÅG>>þ%ÎÕŸÊL€¢dmýCª8*•´$ Ò¬^%ÉÄ=«„dfH?¢ûîçY>MÛq=WFö€ôç‘c×Ù@50ˆâBCraÁòƒ jéæŸ”Ô€L·1µò´&Ɔ àëºß­#éðÆ`'‘Š»Óq -ŒÕ Ð ÒŸÓðEgN€ù©ðbŒüéÕx¢•ÿò_ž†ã£}êÐÏ#BÀÁ«Bé LÇT]{µù•¿øŠþ;ŽÆÎ©¹EœPp~æOÿèÜû~ŽeWLþpFWÜäÙ³p°…ÇõÌVATY¬¶µí©%Õœwå -@V)Pƒ®(p^s ˜Ê±õ ¹@ÀåÐùhµñ· hžËe×i ýï´Y°èÇB–‰¬j(Hdó·húÁ”õ4É~(‘‰Á7vAÁèp4)òM© -û‚9^2[µ vî¸ÌC ÞŠÀü˜@¦iœ[ð(ù V6(€ (BcòAðD)­hÖ9Ÿ {ò+—OÁüÇþ E^”(‡1.£bãÖúÒ‰3E{ž`„À¹g‚t€8:Î?p L£ó^úø/tÀÍk Zí&œu¡;5\ê ÚÓ}в3E£%8)A¶îé3ÁºÔªÆi¡0Á2žÿ¼­$—þ -à“'õ|»À‘ƒ¾/è™§¤ÂÑ-ì¡e †w'@󟧔±²ÁU)ëcâšB¸¿ÕY­Œ œ‡ J^$¼¤Æ¾ C- ÙΆöõ@ @4/êÄÌ“¤’n,ó]XôóðÞ†³Êlì[{ɽRŒ$ˆô¹Ã/ˆGJ!ò[¬Xú耕ç×î]éßz³5Í59ýz9SlÖ! ù4sR âEilk¢ÄÏüV ÷¹éùOÀµr®’APÿ6œö˜ †¡\—œŠ Kœ¬.V ¡àÐÁ+!{æn²^Ô³k½ñ“íõ’JE-‚ãš-,þ2»˜ë#L´’bÙ¦KXúlMšèƒ°¶t -ü,w»°e¬:7ßÝjaÏ[è_¹ríÌËUòCÙÅä9´çªÍíú¢Å³.Ï—íGÿ§ÿùôW0œ–à#_.BÜò]{ûÊÞ¾÷ù?ùÒŸ|þK[›M졆át”‘èÆ‰5cž:+M¶@–X!}ècï‰1©<}ÚïËÔVçÆƒ¨2­C ƒ%‹A‘—kÿé‰êÎè\(ü‹EœC1ÉÀÀW&Jz“ßδèvðAGÄ îRNêªÚíôáe0$Xf)‚< -crò™Rh¥xè÷Nuh¦‚‘%Ú·^ßõ=ƒW«Í™RÀ()Öõc‡$\t`gVà†0îM¤Æ$ÚüíhŠèÓ¸ÂãÅ“ê(¥-MýÉ.È]ð'† [YÜ„ƒ,òSBç R¤ï -&d‡e‡Ö´>z½éœ¥„ÕÃ~Ï_\XözbBÛ$âONåqg&ÈæüûCF’íУH™œÐþÛñ¼šmÚÓllêjòJö‡L35m*T»ë¤,ÚÞ–»Ó¬˜œÊ#%žÍ4 †Cpç±¼©i¢ù|ãæÚÅ ?ûÙÏý+1P.¾ Þ<ÄûCÀ¸‹Ë—/>ˆ±ÍN·µúÚµ[k«¯\T6݈^,aE”’ÆìcjYcœ¥tDˆfe³Šó +ó½ ÿÌÉ yˆÿDL=“áz–a&klXb +°¼E*ŒRFK«x¦¿Då}«’`Q©Y¿GV×øadB5ã¹í<_=Òä÷#L*x¡ËÚHËÐOMÍîFiÇß0õ*Ý­•ˆ€íc”eÁé˜M}ÒLÒU«ížßI -Tnq<."2\êD’€­¶¿:`™PœšeZjã»ÕÖ›0ðýŒÇ¸{Ûå¾¢ª¢¸¯uÂ,­šíÔ7ßð´ ³³éun»çjtwº;;Áì¬ibqáô³×¾«•o§iOKÃ8¾…V>PðãºÏ‰R?Sœ\Q˜¬#!¥3<ô±U±Õª×ëÚ•ªÍì‡), pÍeœvX0%³õS;ö)ÌV’F|°UÞzƒŠD ˜,ÁÌ”`1ƒp—­Ž$yôÔг¶m_jlÞ"ü êq'ÝO/½GzùºÑè´ÛŒäÌ8?óm7D ;ôöæ­õgþöéO|üƒ ðàOÝwŠô}3‹\išØQ MåÖ3et࣌ŒÛ]SÇ*YËwSåLYNÚŠ!Ó,ô@¥;)rLlƇMJá™RBi<МöGìNêç0‰¹Àh¥QÈ·—Ôˆ€/èÇù5÷|`ù2Á[éHvª–•B³.‹þ"é‡U«·ˆóúìò²Oý ÷ûý6,ë€õWVfçæ9Òµä>päKYjr!}ð‰Ý ö‡Út¦ÙšhßÍYo÷²â¹ ¨‡w,¸n¤¿19~‚¢+°üÈrVÅ”wJz^¡ú%C+„g §*눻QTÑB%]éßÛ KÚ„d¹Žìà$AÅ´,s‘H_]Ï-¢’J'b¹êA:*¨[¤¿ž“´pžE‡Š~žuW¥\«š‡€Š£³Ý+ú<VpJG°Ë³~LHûµtŒ2ÿ#âÐlµ¼J϶*ؼ#$í¸ŽWCÁÙ(;yͬÌÌPbÎne# ‚»>n ŠXrvšu@QôQ9yœ:hþó¸«è?:–¸Çÿì3_üw_½ü>ÔŒõÏä_DR&_ Òßah,%LÇ&¼Râð`s ƒªHv4î Ër"ÃÎKi+I€êú¹â.jÕ²:O™°Û]„­ÅÇî‡ ý¹o4“ƒðú’rg¯7õ*˜ÿù?AôGq:@+s©.¿%E:ós(Ž=ÿm{wGòr¬ý´@7Ÿp%¤ðšU¾}?˜ÿÕª gUi×êõñžôºÍsᬾԼÕjƒôgÐÚ‘¼]ûnç-Y%Õ¼u}íÖÆ©_;õ¹?ý¨'ßÿ›7Öjó  ¸êß4m¸à¥(>ĪŒ+¼™;ùcæ@VµŽÎH1¬ª¦]à ¢_Cg#?ÿQK(´‘Tïèä$Ø¿”*âðÚÎGnU¤ÌÅte¥l -ì„fFˆÐ:Æ‹ÓAöA“F´çwnݰæHŽOY¤Aa¯ZÙØëwý]ãÔ»°÷>8èv”IMå˜$¬Ÿ=»òlÊó¥ó޾ÿç.céN±t’‰&ëUõœô×Õø¨T––êËúÒÿÕ²÷²7”MzIj˜Vãþ3ºnx]JG›b4T2ŸÛnd•5Ž6&{þN{óÌ»/¢)§ë]ZÕ{U²ìÒt¤ wî>ݪ֗ãݦ`™Ý¡žL ÷Å÷¹æ;<+&‡È(:Iv“ï%-!\BÝ(2–™§–+·vÜÎñ‹ôiS­èøT_¤l¬l×nmt®¯ošÇãÞÛÅ-‚ñT<ì3,Ô0UhŠi&Ù”bãÅ[°… -žlŒ‹—ÅÍáf7TO¹ÈTKèG­øï6ÆdbLf:3*vš ÒîN¤R«zu¶ -V¤jªöq»s»Í9¥Ò=°ú ¼íæÍÀßÅÏ¿ð.„〩;ºSµÜ®¹ƒîm÷\Ï?qb@#&Μ\iƼ­Àœ7ÕtŠÖ«…œºC5/îîË5 ßÛúpDÝ+£Ržì1çØö¥Ÿ|?ÿ3.lÀ£ÌC½œLb¯„ò@_ùÚ—×®¯z;í„BÛ"£4)¾¾8¸ß'g’ê—繉D‹£×쇆il¶¼jM¾Ì™žîá{m¾ê+ý\(#…kÑ›@[,xÏ‚Í|T®ðpµIÌ$Ã!÷FƒØÊêñ´i-Þ ‘>:†åˆd¹ð[Û×0 eÀOëäÁ·]×(—"x´û‰QÏ“ðy2¾u‰õ;‰Ì`Ý A ŠÆ]¡šT:»7Jª¦Àmî;~ÜÕ3… -~@}®aèK !¢ØËž=cÔOØãi¥ ø“Hø=ÐC*W †œ?Ð9§À*_öÇ‚“4iƃ„e®ZÀêánXoǃ??œènmu1ø }¤t¶w@ª.ÜkŸ¼žW ¸ýܵ«X#~å{ÏÀNˆ>‰8`ò⵿û.x^¶‰,Ä_þÏ_þÔÿþ)¸ø÷_þ÷û§sކà4‹»ÈýâRµ:ÆÅ¬† ©†1aÌF”ʆG“HÞ9 «M”".vàL/Ár`ùL2ˆeøP¬ÝÀ.ù»à5šã'£ÞåúoЈ=?:ù@Õ´58?Ö%ÜH1¯kŠ>…¯½0ÂÈ+Èþðyn?Ô°nýmu.ˆž«ÑcƒsÞâu6Mj@7‰{þP"¡þŽ¥öëG?êÿÑûá¸ë_ù‹§Ÿùŧ.ÿ˜Û(޼J—‡{Ûo<´8oáÁ82¢}ŒƒpTɶ'UXÖÁ~\½g~Hÿ.BŒ£F9‚Jø½|Î’ÊñlBðy¶£c07 =ôn*ã¥þDÝ[ë½Ò߮ڨ -]Á„¥–¸™,»ö6)°²XXª‰ïøÖöŒÞÞb6Q;èÎ+Œïó -.\ ƒq" À”CFëhèÙ³ÄËh©Ý¿»#ã?ùªÀâ?Â瀣Ӗ¶WÙÿRçvŽÚqôaµÚÕ -ÃÌ]XF[Û±-Û«ÀyÇ•yø­®>­Ùó&ê35§* ýƒ½ži½m 1D˜.é(¹ë ¬Hx4dÇæÝÆG~þc__^ùÁ wýíÑQÄ{Ÿ9Üî¢? Bdë¯4ψF®VWÖAúÃ!È„g<½ûíã ”Š‚°CÃLúq·¹~ÄG1Éb@ä -òʇ0¸øSÜmÀ}g\„ZCCJ¸Ÿ:–æúÒÞÎ׳V€cé?äOLu)«g«Æ —®¬"Å6Þ˜Ú£d÷øPc¨mÜ/…ç¢?ßÜÏ•‘ ý~¢ë ”T8P PX•ƒyÁ /rözᬈqV#ÊzV¸(ëâ£_|ô18¯­ oºò÷/¼°²ríï®ÁÁ/ûÝÏüÞcï}ü¹ï{‰V´ -ÇÇ>ö«+/àk–/Œ¹$ÿ!CUÍ$ 2º$AtC‚M~Œ4¤ã b$Ù—PìzÁÆ7î„E0þ-|¾ªÄ_êÌßK*¼—Ô¨ -œ²ÖI+A«p%°­’B#1u 0¼X:¸U8çwðÑš'‰C8´É;3 61V‚Z„ਖ>D¸Û¨~ÿô‹wÉý‚èÿ˧Ÿó¯!¹†ˆ"ß}îÚW‹¯Ãë†þðýQß’ë·ààWÚUŠ$ìö ¦²BÆÁÒ_NÓ¯jàú¯=úÔGø‡9jéü¨$ò5/z~=AV†äðV2¼½»:þú]éb7¯7õ)ü´¨èX(a‰Ø^@„|¯Þu U}¡ý¾oQøò€(&Ë%£jÁC(ɘƒ~¢”ê‘ÁXX8¼žð-…> Yz_1½í.–le8é`û;ÇT8ÎR¼@7\‚{ÝâLÌj.a·5 ë7[Ü݃ßtZcúè¨#ÈÏ^@mnÁõ±ÐàÀGNÒcòÕ,¢Çó{ðð'„+Õ¯ç ¶åí¦4I00ý ÷Mã0‹=¢ ÑÝX<óáõ"3£U©ÕªG_@Ý@r©ÈŽ%øì9€ìй㚰 IÃ>2-ÞsÉèÌaH‹PIUÄ \Q\uš'‡ñ†i1°ôÏ»ÌA©c™?ýy=ÃØPR –þ¦fz½¶KaPá€K]¹GR¶¿`Å*uª3Ú6÷‰¼" ÄêIlgͰHú‹ ¶>–@‡d¶(²ø‚×½yûžÛKôxhh%Py`œ€Cmƒ0®]ELÀŸ&€þ ËËŸø5aÛN®‚¿é³Ï=:`ùá ŸþÝOÃ?ÏÝŽ¥??þüï<òðO?üî'àâgžø¥Ó?q—ø!ÇY.K¹C ;®TF|S™Yd˜¨ð$"6ùžYés‘B•¬±|§YãPje3)óreÀvÆ¿CÑÏ Åèj[ƒƒ[VÕb”Ñüg'@àöˆe+é08»³ùÊ*èùŽtÁhYï@i&itö}å‹?y1»ÈS’ŸbÛŸçþöÛ‚Ìÿ/þÛÏ>p›çˆþ×_]{ú¿}哟úôêk«nçò{0tâä’¢Hûà9¢“·Aƒ¯ »(¨3Ъȥ/rŸ -¦ÑÆ–!YtYA« ŒãÌÿøßØò¹`²ù?ä¾²6,£»‘ÁšÅeÌ&Œ&SSçE9Î5‰}|U<(­F¡‚Snƨ¹R½ï–¦q“´^¼êwÚ ,÷¶·tsN+)í >>€‡~êáöÆFÞèÔ8×øÅ=.2Ü¢Oÿá—Ö~tý«ÿõiüÕ}u5ƒÝX{yí£¹ò/àÔÍΩSK^?Bkì⾇øiá“Æâwä;§Ö»3ç^xg™ZwwƒÝ^ITàõéÄp¢ Ö -z[po¼Œ&&”S÷£VKGêÞç»p‡°OÂÐu0£4eÎÑ ¡ §g}¦áû¾^iÄ#_Ó" Â2`/Õ׃7OÑ $›Bšö†õùj,8+ªVÇIƒi vñžeç÷~?Ƹ>AP퇈¼=÷*Ð\͹øÞsŽã<óWל™é \p ÜtVù.Ki‹ÔJÅA% u²tþÝø [­õuÅž›·©Ñ´·;ÞHëÔ0Œv£á["êÎöÄ­[(ຽ}ÝëÕºí·:wÚÈZ—˜6luÑ85_é—P{ ^t—’F‚¾M{[8iöZ3è¯Å¥†Q¶— EÕl§‘«ÀRTÌæÍMÛ©ÁE7ƒ%?îÔ4¡EQ{qÞ~ñå5Ú^·Ó8±¤M²™¦lìlØ\ª4Àï{ý& -î_úGZ¿Ù¼úgü~Çë·áìöUKTÕ>õë÷|‚ôïGLƒCJq½-pSà\ÁåÕ*–ÛîÃüP}&‚»Ò£a¬¬~•ìØXÀš}¼®L)í¾çz¡®«~ÀªK?Ás}æÛWA›bTM7Vš­îå^‚÷¶7Ý8JÏœ]Dpl˜C«ŒHïG¥žk†l›Tƒ=Þ/ø¹è”1yƒ¤i“&ÚPc²¦¦ïk2¡Ú]hÒÇæÄ¦£f³¬æë?NG -Yà‹Âb0NƒépÈÙ¤Œ”¿iÆ¢ŠöÕ['%%}Dç¸2¡³·V™Hõ vý¤beÁÌÄ–a `SÖhÐ’ÔJØÓgϘ9q¼i”¢ýl¢‰ã—/™ÎZŽŽ´ÉwÝ -Õ0·ÝÃC sÙ¹~ýy¸X}uÍžw¼äÛßøöó?\yøÝË¿ù¿~~¾|þᕟÿ1‹Ç.ñOÿ8õÎ?tîÅ—Vá¬ë¢:§l¼þúÒñ“±à–]ÇUBò/1‚ƒNPeʪN[>LHV¢v}Œ‰®„›à)#ìÕÜ÷R )Y »Ä ç÷éP -sÄèíG­7ñ£ju» +65ˉFñÄ@poÙØAʘÿ(ãDx{¥ƒF°UuŠÿ„-« gžÔTÝÎlÆVy‘ƒC$Ω‡ÎÞø‘,•ûÃ?ø|ñ¯ÿèKÿæsÿi‹HzÏÞz5Úë‘æÇX?ý;ŸýÌ¿ü­â_·«µ­=Ⳟ2óŠ£|,ȯ…%^_V˜×ú =k„… ë¾Û鮿²~æ3ìœ~7š ÷1À:â$ú1p 4t¥âÓ°,KIJÃA"åH¾k?I&¤õ ;ë ßÞWSX–éR…Ss IDATûHgêk‰ŠFÔ †GÎÚþ.5‹w,4_oý¹@ãï-ØõÍ™»Mq±ü]ß(ЛFk%Ž}ÌÀF˽³å“Áø&3pQrÄJËJ3€Ã¼ZÉ:&¿¸ë\…†wþN^ô#$1žÖMÃìlûì`*éõEã$xØl—G°üÝ =7¥™žß¡¤Hu6°Ñ8™¡ywƒ3§kë×±$üòO ýðÃóž?Ð…ž¥ÅF:‚~ל®Â™ÒŸ5Kï},ð¤ßcMW1åž•“c(ºÃ§Ã³ÝO¼­€&PæBþ 6¢Õ#1«Na-Ugïò¬s aP`—0Õ0õc˪ÊÒ£‹ ý²î5EanÔèS:Uº¹¼þ)‚„¹.Y=¶jZbÍ(‰mtVÈØÄB‚DG'SS!# !(Þ;”ý|ý“Pê\̦Vr0ìÿ^T9h*Ï K(¸)ÜìûÔ¸Fid„b¯üWÒ·2¢ÜfuJý8wþÔÚZ“ñœ5rÙâ$„ ¢R-A Z¬ùã±ñzÛsÆjcýÅÕÙùZõxMd¢Ÿoïè¢ÿnFr&9bˆr¶Z³ÁñêÍôHààSq€PÀ`gLpÁû6-»¹æá޵¦à¸°é‰Îóg½Ä -èXÖ°'Eó&Þùû—Zovî­Y3f'c]÷w]4uw¼+Ï®8…¨þpÁ:.^Z}é¡sÁÅÿ¯/íù§oÞÚX.´ãƒè‡£³5f*-J•i4h@úó?s˜_]·‰~$KÙ;€– æÔ? n:·‰±®O`A[]8üžÔµúÝùE†¶ËÑ•PÝŸu@­î @hV¸cƒý‡QÒXŽÄ2Y¥Q@KÂAãÀâ…)k†Ã¡1ipÇ€‚À‚¨„<—ÑiØ®ƒ²D7‚ó¨D&G(Â’D”à,ý£,¤‰ ÛÄ¡ N@³)'»Ô‰¥?'pý—E³å–:¾YY0ÖÎÛ*wÉéJdQ©޳ìƒÂçäI×"—²·Ûrý /ïÊ ËÌàÎ2D‡4ïµêÌÿÇÙÛ¹q¦wb/Ðèžnöì&f@@‡„HÎh¤¹Ã•Ì%#-zµ¾ÕÖ^âu9¹Ä¹Ë9{—Ø•ä/»œrÊ•«»JÊ•TR©\ʱ“º“\®ÊŸ×I¶¼özm®mÊ¢éÕr,îH³C‘‚83 ÀnÓÓ=Ýh ÏÇÛž!µN®ÕÕjbþxßçûùýžm9}õßûùtãûïÞþ«ï®­¡>øßÿß‚-Hÿ_ø¥_áDW*ýí9ë6 à9 tÀÎ6 -LÝÐëåKÿáþ@™D -@˜ÅJúŒ[êbéÏÕ:²"Hè\×6Yêd—JÕÛßã§7c öý`„:ܶR-陼5NuÀÂd–þ‚DL&qú§9*m¿¿Æ! AÖ¨ñ½¹±’¸ ÷¿õ‡ -ë‹/ÿ¸¿'>má’ílêt@õ¹úüŸüÌÓÇIP¶sÍí{-X/ñ…€MTÙ8ƒâƒÆ{sós° -¬þ\貕zœL”ÆHp6â#âµfÛ\^mj -³x óŸË7yq‡tû¥äÓ’ÈL6‚úà %.çÉÒ¶³T6Óúhûú ÐëïvYhÇðmù$ºÐS`œ)1™0ì/Íù@Ö}uà‚ù -¶0ô9Õ.”HHçÚûÄ£@&¿•´€aÀÞ´PÌé¼³¶Ž3sÔ…Ï"ÎÆ_?¦q¬2oaæ?8,hx`{«Õ ®éÒq»rRr¡€²u'0l;ð·¸Ì°ý៰ÃÒö¯ÿÙÕ‹?±µÝºqóúÏüôW[÷ò³RE³cH¾×/üüWA\ÿýo¦?Šþ¾˜æÿ§ö”t©T˨:½Á^?ûùý{ÛgÏ5Ž,M–Ñ_Ÿ^š›/mnlkº: +ýÓY -|€ðÝfÒ˜F¢C*!·uƒý#—cÔwØr“£v˜Ú“ºã8ÿ 6y.ä#D-Î3·^PÑöE:!˜ƒù„‡T#µ7åù«¾ëîM% Ëʬ#Â1퇘rT°±s1¨, }˜ÀY¹ :@>¢Ø«Ï¯$kŠçö?/éyõ£°€¼¬®¾«øYÜ¿ùî7Áü—ç¤1vë/P14Ï5[‡¬*!’mÜû`¹  @î£Ð’:‹ŽÍªÁ~DÍïŠlBû¸ò´§[®”ʆûûaWòq+íÏj€©"¥ ¹%b MÅìåòß¼ -æËÂRsg«%FâæÍëÖ‰róìÒÎ'ml©2”Ð5ðuf”þ“¾Å Ãû5Wim¬»½î¹—WAºÞx~ÑÛïG Ú¬®À½ËñV4=Ûb¦aæ±ÇRŒ‘x±Å Z~¬€A¥ô>’–Å8¦nŠžY¶å~ÉT7:P‹ÇÁ¡'¨gFÁÄ^†íŽ$1H:|÷"j·û†¥kF^Ÿ‰‘i}¤ÃŽu¾` =0ŽiY“3‰ž4¾aq5½Ê ’TÏiÜT@å @ߨ*nC¯Ÿ"Oìtºµç’ðk(ÑÍ Ýè¸8S P±ñ7qÁC PƉš3Šˆ+ÀÆWZ'ÙJµ †.÷þÄŠ"¸Õ“º7Dó_#¿d®QŒgw›¡ªßsÜþcçê«—::ÖI¥IØa•$!éµL£qï^ÿ×ÿçÿ þyõÊ0^Y½T¶jïÞÆé·tö"ÜÅ»w°Uø•‚õÿô×ßüñ[yyù7~ówðû µ²õ¬èpö²Á ¸CE`ë¿®ÙİY"ÓÁw^h6¢7JGAtz±R,…ì<õYeá\¥»Óu,Ä.›ŒŠ\‚0ª -&‚™%;.˜`xÁ:àÇ‹Ç+ñ¸ /.¤ê¨à`|ú\íö_n6Nã`îõýf\ÓÙ÷0.­*–¡²sVÈmaØ1©ÌëHäºL<0­;·š0QÎ|CSÕl;¥³ÛSYLÊ„°ưÅxb¢j,]Öj\û·~âú¿vhvá¼¹ -jQ÷TJSößó,ò÷ÿÓ_úGo®=› -øòçWÏ׸1gííëà†XÄdä>ÆÙÅ¢ŸwŠ³ÅªeI@D¿=_i.¯ ]œ±ÝíV÷aËœ«UêÒdÍ'm -°dgd^A+€quÝ]0ÊÜÑÚÚšHJáá¡ÈØ=ëïÞ® ݈dŸlÿ1#Q+¯›ž-¦©šWóÅŠ*½³d×êÍÛïM™LÓæÜ[±T›-U³OU×gaíöܬôO»Üô÷ãÍ–þb -o£›eðÌ¥¹’ T–¼ê™p༊‚è¶]A>I0œ'²DAúwºåùgœÐ„qµ?>ùaÝ× œLÆÑõ=‹Ê®À¾.Ð-¤ÄÖ!Fl‡h·³ðÂEþÎ.^&ºz(LoŸ¬µÄš×ïvﮃ0Ë-£Pî³’AÝðÞŸ¼ÛΆ¦Ø!€·r…ØþßþöŸ‚ø¯þëøòÅ—¿ÿÞ÷å½=_«?_…­ Ñ_]hÖš¨>w•¥º€ଠÌ<¤%! N¨~ç-HÿÊ©¦yBšçÈS¨évQs†!ŠË\â¤nyñÔ¡ -rKÑ4ŽŒÕªµ* -Áü§„mAô³ôÖê¶·äsðøå¹9"á#,õò¼ :Ìÿív¶¬Jǵ6AAè&’¿³ôW1'Ï€‹HâI)ðjyPû,÷­¢*Š*šÿ `\,vE¹Ó ›ÔÖm{9M€è|‚“äˆè//1üºº ’ÇÞ£€Qð`imS“ZV1&•Žj`"D^ðd&”Ⅎ‘£ºž–ЫÆÑ‡:œ¶ýa¬ÂNªi@üÑÿHÿ7¯½ùíëXx÷Oÿɯ±€ß„íwn°Û|Pßúƒ?€þí[@¾ñ¯?û…=µTþ$,šG¤?/Ò<çULJ‡‡ƒ)"ÿ¬é<šºí«—§9°¹9Ö#'t]¯L ‹{ÅQ¶âø©7:.â$‹Êɹõ;›yU{ñ|ÌP0Èù,°¾¿:cÀaj—!¨(Y¥¦­Ãx XwD±~$ò,hŽïÙ†©ùƒ^e^á•K™¸Ÿ€¥?ï„ H=ž*Mó&xv¼MÑèð%Ž‚1yZðÛLÊf’œb[¤•…ÐF24 -:<îeMƒàµ¤À0„¾wý_Ëð+¬Rwº|æÑG]Dí3Çì8`øëO÷$ –é2vK¥ -¬B¤ÚùB<°Ü²¶i•z•G&Ô÷…Àöz÷&^µcòçJ–ÒnEEŸ@·³]©I‰ïôײ€kûA‡^¸ü|tNÌ KAˆ×aüšÍûlûÃÖÝ݆Õ:‰?ÆØ# -ag¹.yÜæøGÁ[ÑÉÜc-U¼üù×@Üú£·EÒÉ6‡Ùž^ÜAfmù:@üÒ?:e°4Á©‹§ÒsVÅæZ÷7›g—ÀpÑ`²ÍF9’`JŠêµ®dY•F<€•+×Zn°`Me"íeôà]Pxg¦!b©r=lÚ2óª*uÀ§TzVÏÉ·2²/ú=pý(a¨3ŸŸK¯&lÔçÚ ÷àI:¶•Ó¥à¦{q -Æ|Úat@¼…$]–jwá‡9ä¡f k°ýAôWê¦YR÷)iÆ~@ˆãÞßóÓ–ÆH/À è÷ðæÊ&{úü9ë'3hÙ¡1Éðư5 ëŸbhá%òyžO?Éš) #áA°¹ÑúüÏ£ôçÏ_ù f¤Þý+ôÆ~îüØþ¿ü‹¿ û­7Ø€åÿþÆï€ù•ÞßÇ -…ü«¿"~Uüèë×D<̃ÔÐ+^©”OŠD˜†Ö~(ꧺ…fc§Ó¢c(ôgM%Çj™µÆÆÚ"4ÿí²iÍSu@›qüåñ©+@'Á¯TN–¹š¨ï¸—¯\jow`5—u ÷‚íqY¦™˜À‚ÈÐùaxÇ—ýe¶mseŽNù¶ÜÓøè«(SØ'D0ÿÁ832”aàXôu„@Ú©ÆOKVÖ€¡ˆcCšÿÄM‹ŽÔ«qò€t·3’Uäy—CÛ_0ÉDþS’N´¬ýÕÍK¯‚èÏHÿOí6GÑ/‰€4ñC2Clùn1‰"ìí¼rñò»õ àØ”\›Õ¹Û±Yª*!¥ôiTôݾÓ÷B<Ñ?´Æ—ìh–@ ÀÜ)¯´·ÖOºzQÞ”mÍN±îÇOAæc`§à8.«Ùžó¸à˜ó ½PEÀz§T¶ãÞ–>èõ÷Õ^q~Naæ€êDHŠm„ðU˜?Z ¿f€¹œ«ïaSX»;ÍWĹqýÅ¥×ÀVí÷ß¹±á§Tj#.Š¢-Ö³ËãÁ‚¨•ëúÆX - ç›+W(áì Ò„­Á4[Œˆs©VJßuµcÓŒ¿~ñà2ïlù•«îC !é|¼Ñºó®U“ü¹ÁHúÐãÞ`bÖ-sØqOvv t!á:ñÄPIÕ•‹(’ÀQ”„º6Q~æãŠæyá>fÈh= ¡(ɸÝ—ÂÆÒw‘QÄšÕÁ| Ä)҈öû0!„q#&çPâ†cÃ3 M˜* ]™²‘ù#£ ZI±'À'/ró-õ£Ã½†ˆ¬©÷„1ks‘N8$ÊÊzð„|?dE*¸ç`Ö5¡L`ú¡uú /<ÊÇ#}0ŒKEØ1ßWAÅHz,çõÐåõ|€ÒËR"Æ”€=s† 'I?š:yDØ'„xp“˜ ]}?NtÝp>Úþ@|wo^ƒmÐÙõþÞßÁ²¼n¯sùs™¥ùkÿË×~ñ—~essãî>ø¹ð÷ÛmœK«_þg¿õŸûû_åSy{Ò‹o··¼ƒÊ{w0…ðîwç?O£¶¸³ùÇéìêwñ¶>Ú‚5Ì&UAU M/ Új–!•««éÞk$Üdœ<º¾½»3=Þ2_¿x :A¶v£^†m»ÝËçå{]§~ª“?Ø“…>¶ûRS.!4ðHí;Ì“86âb.#ë;Á ?m7Á„U$ç‰ï1ì&†.ao d<9?F±3ò¸r>À$0W²q·n˜T៱ՔZèaö‘‡ùÞ¡ ²¬{woŸXØQòzNÖÂO+yïZL@¢`Sê*'œ%¢Y´yqš3W ò±†J¨3¡¬Â(7›Ï/9Ãþ×~ó¿4‹Vý¹fã9)«/\MŸs–Á0 æÊàw{8H*sÔ¯)‘„ëBbpö3šÆq‚BPZ–mU—é­•àF&Â×gyÃ>¤_fʈìW8C²‘éð8?±–" ,ªú¬ìµó5~G<÷½a¨ëÇø$ý^ÿÞÇzð »pgñÆ­å Ó#{ué?á)ì¢EK!leps4­t"aîõ7Þ©/£|äÙÈ 9Y?}®~ú>ì,¿:}plhŠ.ã\óãPÉH¬=âg7[XÄ«dðÖ¯}é‹×~ï÷¯Ÿaê\ÏS£|ªº;ÝFµrª†]ïIÊZ1”æ x‘ÎÛ˜êé¶Z¦eUšÍÀqÕÄSæM#]j#qqÊ\yãû˜7ö©~´–è®·u)¥ÿ aÛOHVq|ƒAR§c.]Ø®V7’4ÿ³ Æ‚€c`Œ>}ž³z¥fw;NÙÒûîÑï²iŸ&ÄòôE4µh:ƒØa-"b¨Ä­©æ£|JH™’(¥u·Ë:@$æ¿8œ1&$¸픲Cܲ‰lÇE5ùâ ÕñÒÁn„l!5Æ·§+ ЕÉ8Ãç- -Ù/¾´ ¼až Éü»œZ(—®gipÔC÷£[™É³ôO—%jêi·ï}å'1¢Áü+,—_}ýÛò[BHÔÛæÙ:¬ ýaË¢e:—¡WIDQxä$î¤0äGÏ!ØvZSµÑ>SßN´ˆ¡äAô¯"èzY¨ÛÙ¶j ®ã´K6lÑë'S¶`2I=÷¸˜3›ÿ†1’3h ÂD‘ ÖAŸèJŠ™N(8&…¼æf¿áÎrŸá͆P„×˹bVØu9ŠÀ¨Õj·×6;Þ¥Õ¥`Ï8G¥ šÆ¥GÂ$1 s #Hùq6ÑÊœÖñ1¬ @¤:€cbˆ¥zbëï]çmó ÈœÿV Ê÷ÕÏ]ä¿./½’=8å+E6mrAD¢òùCÌÿC¤èò[;¯ˆú)#Ÿ°#õž«‘üœr -iôŽ´dN1Z3L|Xk¤Bî³G½b9Úzp(!Ì -€™'X@¥qî<ó`–þ2”Ä ýAô›I6ò¼tÈò»¶¿ë9Ì`¼šh/pª‹S‚û¤Õbº€@†¿ç{u¶2×`’Zå˜O¤ÿø)ÒÃìÂCŽ×ui¾©ô!°“mb„!zZ À>tF:LêsvjÈsÖ¤ÿÜüœjà{ýo¬<ã‡iÁB¬TZA8ß4j¡]d„EÁJcœŸ,¿zmð¸;xÒmá %„rÿ=LG—f”A¿ß| 5›È䪜fò.ó”r÷g«gcޱH@Š)Œ™<²y$@yΪV›ú[t3Uµá Á?1ꢋ1€能¿‰qbok"–vL4ár4L®qؿ纂ñ(tÚyLÖ`ä3þ$ìågT-7V°³?IHÛ Ž‘ïW&ñàh•pÉÔŠÈÕ9Ó>av -œÓE ùBÉÞŽ˜ÄJ׉½r%Ýls»iŒ-åÞ=o0ÊetQ·?víš”ej!³io yF dî_Ý@j†Áu†²i¶£> îÊpo{Bù`N{‚Á"ö`üå *XQªQò÷P…«J\ÕYu&Xëc,¤£$3 6?P|Íй•Wý˸H¬~¯[ž«€çíô:ç¬"’L9cy¾±Û×ç¦/%Hã X”N+'šàÙÔJsÓsƒÆB¹rÒ÷¥y¦¦ÏL`NTÁˆÂA?‚™¤«9›n¸®·Õ‚+±Z÷ÛîãÁê«Ë­à•Ôëõv»]šµêµÊƇ­åóÍý\ ׿l ¶ñ>H|ͶËë-}¶séå RÎЫõä‡Ñ5ÝÂI.6ŽéÞp¨ä! «Ab~%I¿cesN¢ùjÇLU×~x|ùèÀ‹ÂP“´¢pã¡nšc"Æ%äG-…1þq¬å4pGÆ>új†—Ï¥¥ ˆõ‚Ê yLTN–×ïlvwûW®¬2Ó@”ÃÑ‚5£3'IÛÍÈøã`”ª¦æ-ÌÖÙ=ÎG˜ëÇJ>Ç¢Á`ÈÝøÝ¾:s,}Îi\RöKNáªtU‹3aýµï¿“nA¦Á€™›¯ÀvñÊŠ•^Á MÜ#0uU³É8¡­ç§cÍZÈœ¤jj'mç ¿& }#oÎãži*î0ЍÔ¦j,Û°bžåÄF1¦®[ƒ½.ÆT -c¸‘Ð…»F˜ÏZµs®lÊ`ˆ;+ºž×&¨¹@cšè~Òâví8]ùDÊ'kýÝÎÊkŸßøîõÒ‰JÑ®Àk¶ ûž8°¦h°ÛY~óK¼O¤?£ ÒHʈ'Û0ß›Jÿd©-Ô×Ä¡…¥?ïg«§ë§ë xß,jáŒ`]ŤNÜ'|!§×ë Ï£yú¡Y6…tNØ…Ì9Ï/¶?¼[ ýçªUPC§[:!ƒÂš&2°S>9ßß™Ff@ôóŽžÄ”·/Ä+e`¨š1ŒmÄ5B°­€_&~ØÂn,Îÿ"³\zÓ[BFly‚©¸ò9^"–G&…' 2"Û´:áŽNÜaþ"Ù -D lÙÔYéÏg@ ¢IAœnª‹°8ü]jˆö-Üâ ï[…žÕ(VŒil®O“ƒì)Âk|¸Ò‘IyG6~æÅS TH# ÛŽ;9Ž©8^Äj€cÁqÂÓ+êGVð ‡[Ðw™UQ_!³É¡ü# !‚ÅÜñŸJD©0miĄ̂ ÷†(•ô©ô§…‰|±†‡”(ø³¬YJªºÑ –Q:í' ªL;y%Ïš’k@7+(Ä51òaR¥VUv'mLH¥ -E±aÅÂv=:ÂèÂË¥Õ‹·×Þ[ýÌØÉ~FtH “Ó§1ì{ƒÞ½mô3@úÃö§~zÊ_·ü=줥·)€KÆpàÃ6ý–K¹©™“D?èpÀuÑ_'à ýKg› ýË'셓͵5Écã>XÇK ýA hºÆ€kòGvÖ±lœLÆF ¶ý´t¸”´¦£˜Æ:2D$Èt楈Xa¨SL`$Z^æ›ÁRÇ;³û–á»R¶2šÀÄ›Mª¤èü‹?‚D½¸ÜL!ó`§hËþ•xœ4P)Ш›±ŸX'`v–ç£ÄG‚³©”‘”؃Ÿ›·¯ÿþ;â©D?-MEÇ(—" D©€ñ%F£{ÿhºñ²¿î±™BeÄu1Z[-û8:®ãr»+#'OFŸQ;{N5„¸$£ÍcMT”e9åþÜðSÈ‘„˜R³Vã`šT•çš×þÖWÓthó¥Õ”°¾|rgð¸Ë! ‘ÁÆ%+ýa’¨_¸ä&Ù6xˆ,™S Ðï Á ã=xJâ -€ÐZo}ýëßÊž–ÓY)f·8e0¯‚”}ɲۭlõQìŠnm¬¿¸"ŒÀ ˆÕ€¥¿ø *Y £iìmüÅMЂ‚?‹W^ç[ܘ$檻7°’÷‹~VMP\oxHr³èeð$Ïf/lë5»ÝÁ‰~€–äˆ(áP‘ó˜³Jªe1A¹Oñ¥Â&âïWÊ'k…ì/ãÏÁOƒçáHÄÅ<³"+-TÝH>^p™ýC¨”``a†€<¸fŠtƒyWÊAL2Å¢^¢rf¤ñJ,T¤ÐM~”5É¢Ÿ†‘·ªºtxœÐ™”h¨[Òa$,‘ "ÇEWu3ØC˜Y -hjI•ñr‰"ñŒüV -ñÆ Øþ `¶vq£y-z˪0}ö¦ƒ±’xÝ6Ö›±ôÿêøs_ÿ½ÿu{»ÛHè¯ù¦`Ëù›,F£Ÿ ?¦Ò_ŠþOYRó8„Ç+Ÿ|?5[Ô<ðæ‚LipÌ*¡Aµ:À÷#Ñ’ñ$°Í#è?*vÙqI‚-Í š¼t¨#+ȈfF—ƒRöA ½)ÿpözRZAñ =P˜ e?§\…*&n3†u<‘‚}ŽÑ%ö>X·XòäIH°vÃÃ鄵¿Xkžo2'G£Ÿ -<´‘“£ÐŠE£*éX,˜)4$»Œòª¼¿ö‡, úí—©Yä‰%Îà' ýí¶ï9²÷(»®Ëöë]n»á†zE±2‡»F–Ÿö[ðŠÙÀ×]`\ lÃ.€ç n üMê -‡Súô$í“5ï±sòLsãæõz³ ‚•zD¤b1AÀ®kÌ٠–_$9;"ŽSþUôÈP<1ú‚‡·!4jÔ6rIéN^…›´¸ÿEÑ•O)(Sº§ïê†ÇãåóM¡ƒá>Fð5ÝÛ‹ÊåR•Ü$ØÁLiž]Y¿õvÿÁVåÌBéXI$Æö¢¦å(ŒF0fM6‚ô‚X¸€·c5š±n¼÷Ý׿~JÁºOÝ̘ @ŽÛ¾[…jùÔO´[ß™70l]*;±JêXW$ ¦ük «­áÕ ÛÃ’¥Ç -ÖáÄ’†^åòŒ!Xü &ð2ÔÀ ¸¹~È÷0w¤+ºÛG{¥ûÈõ¼ 2oÁ9$‰yqg|0&BQaèÉ»(ä£d ˆÿÁ‰¢ÐžÓRv-D9ðÖe¦sqœ£¾€œ’ G -‰oòW&Š¡å}Fª(èFŽB@ÊXAR$ÌöÁ½°ôg‡ ¥¥ J³F`2t0¹‰ˆÙ’½DXÇQ0ÍäÀÒÑ?ð1öáØàèœ>kŸ;½ð_üçÿökÍi2VÏð+œN0Æaé>în|øÁWÿý¿»ñÁ»jÞD*+ê½ÈÅx‘¬óÐêžQÙyE ¤ƒÀÐ DÛÏIÅæu˜/\Å‹…X…±^P8³ó5OӞʟ` ` e?ä˜3¦eÙ"èˆXY]…Ùçïöv‡Ãa±X$[$ ß©"êZú(ì5= -QAårÊl7CD)ÃäçÀT_%¢'ãRÉöfÉŽñÁê:HLˆéÚ`¯Ëo$/òØR>Yô 6–uxiŽ_k¹Ù0ð`Ì€)Œ&á™F1Ë‹ÜjuÀ…Ö±ýÈ[ý‘•ùjç8é¹ñ$¶L{øUÄ#bB+wà/ -ԊĉV2$hc¾€½;“¼c^K,ñ’9ËÙ‚Ò°‹/âXe37"÷]t¬ä*©’Ž*¹ðkBöj:Ñ$– l4«¾ßšmƒ–‚iŠJW–«”÷–õNhìæBD/RT˜óƒ`“º)/²jPWp˜à’„`dm4j1É\0W&ÉË6^ú1%Ì~b´a™ —šöÒu×é×–¼ÇX`+ãè D£à?ÔV*Mç¦ZÚ!£~à:,ýaG/ÚœB¶¹Q0ÈøÝýÝíÞn{‰ ƒ8)ªRÕF€É ôÈ¢Id*Ôt6F‡Ú¤ô¨KJÌí%:€–o|ãú—‰8:lqèÆÑš*°Sàýq¥é˜¦mWÖ¾{Ýy€M4+?úZåô";yßf± äfu|j{høM³T´ËC«˜6?º'Äåk_Äê@xÇaž–ð¯2…‹˜^-›˜„Ròú ¿¹„},!‡Šã ”á5L-ÕTú‹ ^VÊŽdât<úaéùÁÅ·fq ¾ -8ˆðÝ|RlÃ…L(“F3oiIB‚ -´Ñv„ò¸ôRS¼$«o±‘%i©÷¨P”í8Vÿ‚t€B†9Ë)—±B©w¤µíb'ð~:ÀK„ ÷\ýêQ8*W±)‘4'ãë+ªAŒšvðâ}JÏêü4øü§DH׸ÎÒüžƒÈ“r8& mZ3ï wFÄ¿“<_þ‡ÿðµE¦'C›|7a\¿s'=!w„ñÒyä¤Á"…N¢(˜šÅ ˜2«°ãÂWçãeÓç®àWUJT6 -oT{?Xd"£w—’¯ññŒìo•Kôð^Ø­'¤Ö00Ð2 .bY4™"ùƒ­6“go’Dj‰‰PR,LA‘Fá1}ßÛ+BŸ·a„q¥ƒõ c;&˜M:޲§)ÜL¢}>p5Ä%N%PwÞ>¥RH~¹D½ze¹Ö¨u~w -ö5H¼œ Œ5âf`Ü?ˆ¬²BуÆ;…"6 ÍóCØú#ŸŒX‘<[äUÎŽŠ”M¡ßwËe~D!Ó»bUBbé;ŽÃL2˜N÷øqÓ´aľ–acé2î–¥ú¹Gh•sÛó¸ìûÆ1Hÿ(CJãL,SC‡òÁäè.½U7(·JÎP”üÀ–¸gûDÓk?ÐbaAzÒÙ€ðhÒÃ@Z.Ëñ”€Šð"Э§#ÚžÿaØLNŸÞ -M›åås øsja…É’Àqºà4Ï®tg·@ôw) -„ÅRf‰¡æ9ÛÑDpDèÇÓ¾z…wºi£Ÿ>sŽ -à•›ÇñòÀènµŒj -VЂˆ|<'ŽX±Ö%M› rNÖk3ëø%ðϨ!Kd -cd9°®Æ{Òºa\Éô9XeŒÿR-­Q‚2ä<,ýi‡®<6a\®MJ8%¸q)Ó£<; z=Ñ{ä¢ð>Ö ‚V3ˆC =¶ÄÊNß>L昤ۘks± ¢¿u·;ãLÊ4íÑ÷‚höX¥?8^$#m4ÛüÓ¡B•,_nþâ`A1ä6IlÿO }ŽC?Žž]aÀ”p -Í¡Kð,=j Ûìæ¸Sì&wç!§ â+ çâqZÙ¥Ñ"_\IjVP|×’aÍ5Ïæ| Ãâ`„ ì˜'ô6¨…ã¿‚ªn˜…‰Á‚¶Ë¥æb$C»Ó.&ŸŠc«@ÓúH1(/qŒRXP˜8©ù¯ëV*ƒ8¤fê:8êªD~‹;9¦DRt?1†I8ˆ0¶ÙüWŒ˜ŸÁ ÍT)×Á ðüiMÜÅqGwÚÝÕYá™z`>ZÏJRPh_Žâ¼¤«”ñ5Sk—Ä$¯ˆö„?dó?+ýYp#‚È£™liØ.Çã*}}T„'r%ë€h„!ÆReéσ\e (ZÏD7ba¡Çî˜q,çVSÿ, Ïÿ(ç3—r~¤¢þ¼TÝÝníTµC<3 ‡ Nq´“ÇÌ€KˆÊå{•tQD¾0˜$تÇâǾ1 -êÔ5x2 w<ŽöD.õk±ÌÔŒÀíl¾·¶tq5žŒÃ[Àï`lj ã¸dÆÑˆ->… ž¥C±¯™ÇÁ»vmõë_ÿæoýÖï|ùË×tªbceâö=#‰W^z¹ù­?PƒÀßùÞ¬ö=$-¨àVækpªVk#pûº­÷?Ùj.¯`(ƒ0× TòpûhÁ æÁé7fBÇñ žœaœkÕFçã{_úÙÿö{»S+oã{ïÔù+ƒrój ÜX­yA¨Ýð IeÓÙn¾½Þù¤ož8Û› dÓÿ…Ssðܺ»ƒ…œ&@ØE2“Ê–÷¼2‰mÛôÁ}=ˆ00ºTª¼i1ž¸O¨Ø« hœ´@¯ÀŒZ–‚0˜cõFÄðYg½ËBŠ&S]¢1'+‚tx¾ú1>D\X,Qü§»ãÀ‹/•Jðz¢ýÈ,›ÅcEÌ6„QÕ¶àÚ@ãÁܳmÛu;ÞX0WÑÆÚFföB£ÛîŽý¾U­« -åÆ'ŒnTkÁ &ñn¶ fTôÛÀî£ÿCL0ßàjEÒF'#º.›E?,Çp¢cCO¦ä -­™®«¤V´´É¼lÄ:ŒC?Èa%Äb É ©¦žfy£H W€€.7Ĥ·©mØ<óV»}oeI-ÜBå$·.{Eñƒ½<ù‚ÝGƒzCÚk7¿#i°@½ý¸Þ°ƒ!Ã´é©Ø2jØØ%V=åé¸âEÆëÀx c7öQoiêÚÚðL—^¨lþ »ô‚溃{?h/]¬÷wªÐ*'-P!]×!¦j1ä*à|Z¬âùH-Q>aõ»bf$ÉnÏ›>E3<ÙÀÅž.¡×ÒÂŒ¾‚e") ÇÂQòº2ƒÑQPÛÚLÉœ1½¯?p¬¢í=î†lRüåÀW__6t£µÙ­k\„,„ÚÛï;º®5O•ù¶ú»ý{÷,&¡Nƒ^:ªa]§¦œLKÄoÊ.bCo*‘󹼉°ÕÓ'²Z s¡Ç:ÒÒ±faóClô\9 -³lFÕE~¸Åû𠤀eÜ`ò£œô"lsÓR¬óÈal%¤Õô¥ÍbKËKO‚] -N†ÃÎðq k²hùüAA3º#õ8ÆfÉ‚'©À´¤H9Y áÔK{wŸôÈ.²¢‹jËxÆôw;ýÝê\Uêpg½ˆE|žK€à¸{Rî`µ¢"»bß$|ª9kÌ?¥ê sŒÆÉ.tfy˜Ò#¹ïܸîôºð’?ø«Û3˜ÃO!oÍzsº Âaû„ -ÖÛßùÖå·þõö}º¸ü…Ÿˆ2¾ë¿ýÏa»råõÊ©ÓÁnKE¢4Ò«4ªµ¹ÕÏ.ÙªÝÙ•š9ï¦ßÑ_9Y‚­Hª\` Ò$™ª¦€ë„'`ÍIâ$Ðn9vY^ùvÛ}ñùÀÙ4fl}®ð q5™¢ð²L+1á5ih $ìi+·§¦—šò(…ˆë£alÁ¸ç௿Ç~ÊVmF)W¦Õñúáª|ø`KªTÕ–öI‚xU"Œ‘ô§«ÂxÏ´ìÕ¤@›ÀžH-ÓO[âQÈí )Ø-[ÖŠ*ƒ`‚|däx à‘Ô¶³‰ÍC¤?úAÒ?&Ÿä¾@LŒC~ðñÝ~í¾¶„<Ž¥{»ëæfó”-Ávú&y·nnèI=e¾L©.ñz§ûÌóEãåª<¿m5[÷ð$ÍsMï0ËX¦Ößk]ûÂ*laå³Íµ›¸³z¥¹±Þ²O XYë~«RÁÙÒt@i=¯/TÒ^O[²(I|ßi!¾eý HÒ§ìwFÔøÇÒ¿d™k­ÆéH~ëßkéV°ò’ì«@à~êZcÜ}ÔÑÝZ—xGzZÀzÈüÇ9®))–ÑôŽC©ßuûón¹’êº ò¤ÀÂÐdÞ¡HÉå™è[Å”ù–Ù4dVN·ãÂTºV›ú\eb=Œ§ˆ%~Âô«pDˆš¨nyã#e¹ÍV ¼"ëbœÞ3LPBi²Ä:¦³Ó jÀ¸L¬†/™€0 -Tâ&9rAÛs3¬ÁánéöÝupJåJH)œM›ƒx‡á£y:òUq®“À öú'‚àgðHkFfó`¬8‡Ôÿ‹±AžÂNëãÁkÿÚêwn§·a—°bA™$Óæ¡=WáJЬô—/û0µÀä:ˆþÕ+×Ü~—ËKÒ¥~ö,è€ßùõ_«=ßìlÉNq['éßXènOìÀ!R¨x®öœ¼ÚÎŽäŽrÇÄa›JAiI×—p›r4ÃVd„‚ 'ƒø$cm²Ø dÐ ¦I—°éŸ&?q,âhÃ6ðÔÞ1‹‡ò¨•ª †?˜ÿZG! NÌûQð÷È3\ziqóý»ýnvòšì ‚=ôñuêdÙî„2Q÷*ñ¯I¦Åò²ê9H¥?cPsFª7Òvµ(¤Í§G3ˆÙš)èYš#t d‰$UtmÕ´PªŒøªP ˜6‡’ͺL€³¨×Ÿ&Ÿa½B -D?(€ËW–V^ƃ××°~tååxq—/WŸ¬\h²=Åæ¿21&htw©’À¦$¢Ô­VëC\¯}‹&ú=œØ‚…~õ vT>YºötMV.Jƒ×*M˜»Ž - ï8 ®œXÝØüP ÎyØaùåf{ çQýùÓ­»-NÅý$/7…I¹/°ÒÔÞ&“@Ú : dM/„&Ü;(€k_¾4x<­.‰B®Á§ÈU,²oÔ IDATüÀ¼ÔjË}‡Š¶#iáVxÉcŠiƒÐ3,I ®¼q( (ÏqR“HA<YÀÁ”, LÐ8&‚s¢ªfŒ'Ôøæûè²'z νPãI‡‰ñ‰`$Éš„}è -¯ÑAÌÒ¥(X$† ‚…d‹²VH¹cÁd®ð†o¸¼B‚ -‰žF ¹‡y -ÌŽËTé`û|ší¿|åÚ ß…œÔ³øhà°a¥Òã' ·³N€IšÀÒuº Á=_驨pó‚é¬MÛUTí¨º–¨m`ûÊÓÝÞí;›ýG·ÿ|Ú5œ%à•?a˜­u–þGfÔÄÕõ+ÇÌ»y£\_(×±íË.¢çó¿væÜ­?Ä4oã,NÝÚ©&®Ä:0عÛ}ø€ŒÄ^žÊDz®ºTZ;=qxa€Õ€5¯§N€2£2#J -‹‘˵Ge ,ý­²žæ@ú—Jz©8µY>êN—2åCœ¯Ã8~QªÎÔQá3*að¸ÁbeU†€ø‹)™£±ëô‚8ò›v¥X= ýÆ%˽Gý±ß¯ž“[ñd ä”êD$=),ýIƒ¹­p¡‘ ì 8–4ÙU‡€Aúç ù˜c‰XE*ÂOQé‚ Ã4î—=€ô0>ÔHþI=Ü#Æ®@ú ýÁ ªì? 2ûŒ”Uþf±N@kホ7[à|å§ID¥6LJôóŸÀúÖµ7WÁ´‡¥—¥˜Sýöìy[VFиb`Î&è¡„Íóøð7(Ï™›?è&Ç£’ ˆi"¼Vùw¶ ¢ÖÕW°ïlÎ Š~Ü.â¶ß{,ÈÆçŽ·ï°¸}cíÒë«NÏu9g—XC€ªh}ˆI)Ph€ܡйþ©à²[ -µ+gÇòjÓÐë¤üИ+D6^©T¶Ûþ˜Só˜Í–lxà³·mP)Qjû£ãËê'“ØÏJ®Û¡ìû°ŠD±8Ôµ@VZÖ†EÉ’Ç5ÀÆŠïO{ŒyáúË(C -Èö1×üÀŽBŸÊX"U"ªòa *já´-R·NÒ>¡Hבl1ñ‡\7p´ :l€€á…€&Ü´²§är(&qtØf÷G¢µ‰èÖ|5šDˆÞ‘Ì‚lézQÏçÆK/âœÉáÐx‚ˆ“¡a±9|ÎWE¿À”r0S¸{G–eÃöÿ‡¯õqh:î¯oxp±Ön7_\¶S€É .XDØI)›x »a½ýç7?Mëå7þf»uï½wÿôêou¢¨ª5kÕóËvÕU¥¶pûÏ$Ä¿"âÂ:ýÂÊÒÅWêÏ#,èâ…Ë\ÑÿÎ7¾Þ¼° -`s':ˆÒÜBüˆñÞbÄåF@|ò -õ`´'ˆÜYW+¢È´3Tgé>Q ¾N,JÇ»=8Ô¹ƒ<º)LK§BÚÀ¶ôÖC“•J ˜Q•y[ÉyÞÞž^n&— M µÍ”Ljô+K­¼êP—&†°öf):žy ‰C¬¸÷a»2_ÔueÃyˆ°-𢠼ìÈçw¦+ -Q2ß Œ l> Ÿ£TÔ\ê°·lÃÓtäÅ-¥6!<†Iž%°I*ÁóÐk‰¹÷2‡YS®ó(¸lQÞ[™Ñþû–3>‡= #Ü#Œ¹M’Âx5ÃÁ`†ô -†ÄaÒc8ÑèÙ„#Ä>bxEv1â™èƒ¬¡(Ì|e¶4•#ŸfÎÉ*’ž{B]7a5— Ë6>¶­ˆ%_†©w³µýнví¢U&vÒ~°Ó‡ùR®Ú¶ë¾òê9)0V/~æ h7oè”Oèþ~Ókàœ^Þ@çaÇ:®#Ρ5ÏÖÛ;°…‡ÙjµWW—qçÃöÕ7.m¾ÏQA@Ÿ~+qûíi“&ÌÀáÀ•Ô~Ø|gŸgy®´öYì|ÚeJSõÉú^ûÞ‡pL½²p÷½.ƒ!»ýsgO @¯¾v¹R++m®\Y\¬ïïÅOúb¬IΕïܾ¾°P¯ÌÏ­os奥~ÇYÿäÞêgWv:ÝΓ֥ KU’Н›ßÙ([¶ïùXCìÇ̆/tn§çô¹sóV4ñ#BÈiB—èEÝn;ÖHXçF…J a´¡•CÑ,ŽUò>¼#ö^¦hUU“I sbÌ q\0ÆNvçÈ;¤Š81|ãhÚÑüùñ^:fG‘ƒþ´Šh ¯¿aÃÛäSñàÇŠ!Xú« Ì©q †´<˜ !’°ÊÎb?Ð šl¦£ç/‰¾}”Ô0[S/%—×ðÄìÒ˜n“|1âåGqÑ"ô˜/Çß÷@HPjžÃXa$ÿ z×™âxív%‚[F¹ÝãÓÊïLx‚ù<Ós f;ënºãkšOIV§_8»µqÖ¾q/[}Q;#ÕuóÅsMRÝMR6,ýÍ¢·0~†ûÒÙÚjœ9·ýñ=þë¼íw;­µ5g§ãVw`›’Z-­^.WËísw·ïmÖÏ/¾÷6‚ĸõGߨ<×Ño‘S«V.­®tvºµjåée Ÿe3L[(±«;É:v»ƒF#Ss9#œ!n‘>)+5¶¼çziìûHãèæFwi¹&¼ ÒõsW@Sx®Œlð˜÷ÈF3©Ž¶f.5,ÚEXAjÔ‰ö¬ïe"’uÄ—¶ì»ð.( #lý®ÃÛ…³ÍÖ]ÖöÝ»­ÅÅf¹lݼ¹¶ú™e°ßAúÃy<ú.Hö~oP[˜z0!uÍõ Ó¿â?{ƒíÖz£^iow·Û]®âei©’÷ïm>àµïmž{^ÆÄV.¬°é_©”yôÖž«€àÀ›𥟼zý÷oWª6¬Õ¹jBuYçö¦Ð{ôüó½GG‰yy)—Ÿ1ûþÚ¥R±‹'¦²‹èÇEªDÊ31–1I9oÉù!2EÃü§ÊEWñy‚ôOϼ½Ý½usýK_”HÃ0¢œ¡Dùh'©lø«I%(çôÄ+ Ó²­ÔÕNK‰A7ò‡`ëúTÐôœÁqÁŽ]ÔxlSèI1‘¼v «V÷§(è ˜Ø€ª©²2’BåJE¼½ôÆ[ŒÇ¢_cüïø¨ÀmÝß´NÌÍ+²ô§k• 0ó“¹$©s -Q pÏÌL¤…e9†š/d¸R–vP­VëƒéûÓž‘ÎílMCóõ¦ç ÐÒáôf–B~wFñÃ1—ÀÛŘǶ†27ïcX9Š}ˆêÝ2aÅP/LÅåŠH"ûÙÚvFg [É©×AÔTúÃ㧤 å”þœƒ¿ö:‘¤oL1t]%ˆ>9¹L}£% ||˜÷ÈëïP#Þ ½uߊkÍU9PË¢\+ 9H^9ÈðÇÉ“àÄ&`r ãWq -W•?i@Ÿ‚î¦<’4Ê.\zN%ƒH‘{ {]&ŸáÕ€€ƒ)Ê! ´C fR%èÍ™0ô®ýÈ«¬5ª ýïÿüf0Ò/_Yj 2¯Ú'¤À‚Cê¾5Ì·©³“('Q8¤`/ÀX Ϙÿ l»xòd¹G¦1¬`þ7IUôÅEi0•“=œ¤~ -E<ˆõ+¯—îÂ+×@þþî;•zùìâØà‹/aÒ¸ß^¡aGžkHVŒËBl}r?½°î£½Ês2ç?È,vw»°òþÔ@|_þ¿ó öyé¦rûÎfíä¬XtPµ[<19ó‹«Lÿ·¹²¼´ùa <€«¯_zçÆmX¼Sž³WÏݽ»Î: Ýjm»dY×Õ“v"÷ñÀ¢l|Úð%HúÃví»«¯.²¢Úð˜û{¾'ÖH‡E韦ÝpACC%`šÍž{·Ñ¨ÀÚnT²¡$x_I••Tðq!¶ƒäUþˆY¥é\eËÕ®\¢Ï:1Á`X¶é:Ó‡ïk.¡ð5ÏQïvZs¢?Á‰(Á8B€mÿÛâu¬4I`Šè©´m‹„¦5_EÄîZ -cVB©î>î1©üR”Ì:–þl;Œáb0ä# £¢¤Ê¤??#wÏéŸ*€, RÊð~ý_~KäMi𽡰çjýO¶¶¨}] ²èoÿù ˜±lþ³&(WjìÀuÎÔÀíï\_Z=*ÿé¶?x°ÿ•ÿàAÀÊ ¼’Ý£Ìv¹ÞÙFÑ÷‡Ùšßì1G„Å”ô#³€=—&\Y«ûZ1-3íú´…Ëx8Žo 9$Ÿ kt‘ÅSO̹&tLM“u8`}`¼èú•åzr jgǵ-“B@N’¼k–ÎjìkjõRMUW ý Àpöôlš.õ`Ì€èÇ4ŒÑÔðI»/–3%ŸÀ·â À¶úLð'Ûä,0M">…HX³‘¬—PrÓ3`C<Í -Ô9ÎB‡Y -eþ 2ß4%À)é1Ä -rè‡;Û;·o®¸ô*âA‚1 +x\Íó‹â‡.Séÿ¬…u˜ÿ,ýaG?vÔófý$•w  ¸E‘݈Åå:—ÁŽfºí>HÿJ}.û]#ýz $ôœ æ?ì_¾¼ò` íñ×_[ºñö¦aè+Ÿ]' R›;{¾±Óé­~'‡ôY \§2gCÞ`ç“ÔöÇRÐ"ᾦœS«L•mêô¼~C¢¶P鱃¡Ï&+îdÌØYÿV½Ùéš 2·šBjßý ÒÿÊ•Up‰jì]¿µòRÓ:Q‚cÀ£)÷œF yϳ‰IwŠ6wrÁNo8H@åÆ -Ùò “."ÄNôÈÀj€—ËWVÀ²Iˆpa[MO“‘·ál‚ Î(zÒµÀéwÓ@ -¡:àú·×Ài››+nþ ý¥/Ÿ~ç»ÀçKgŠ9j0¨ÅD^’»fZbWƒÜL0^¦ŒT¨ÜòÀEZFAÂÝÀN¬š0 ÂÀÚEºy­AGÎ\ŠwŠ*AÇ£è‰Ç -P Ä¢1¢·£ †Á$G­Iû\\!ç˜ïùq†Ø¤ï£¨5iXä—§x\5Ww>ºÛz›òëK+æ¬ÝÝn5—/mß¿;xìÝ[¿Óo?-ÓypÏ®T°).‹>gR(–»/7Ön›ÇKð7p&gãÂaqœ¤¤®÷¸ÓÞÜð†Ã͵wáÕz®Û\]uÝN<‘À|ìX1™Þ¾ç¸AmîjÐZä¼AAÏñ¾†°ãƒÀÅEE ±G|¦X[â £¹ùbí”>D!<ƒlÕp”$Šdžéæ,Åš’wú‘n$8`,c» -äíOœ¹rI¥À¨mé^–‹žU(e,äC ©RY 0²„Q>æWšÍ Æ%/ª•KØp4°a£>/(ô©ÏĈc£ëFÓ ñÄöcñ à½ØãB9»ÚÑ}|÷‘eª^,'üÀo3ù0âø%›Gý:­h2ø#G9ÏŽ¦ë5MÁ¨Ç[‰¶Î@p^ÕqÑ3($cÜ1ýQкÿž@cUÍáÆqN±Mª A¶‹ý4øÅ ·ëÀOb–¦Øœ8 m< -¢»2è)Šc»6sy{®9kgíÎV¿Óò/½v¹¶PÞüþ{íÛËŸY^y¹Ž-{.lanÇ"§É’ÜH¡®ìÈÅŽV?u¼ÇáA×ÃÕ_†¦ÅuËÒczHÁ^×ݱì*L  -‰€< Nc)0X‚²‹-ß„ž?ˆ9c‰…+™š·¾3dBÌÓ’UÁ¦Ž»JVt]øL_SA¬¾Òt÷ú çç`Ž;{né„ # ¹µ'±­w?é„ûý‰(µt77ZVIë÷Ü­;«¯,¯ßAýòë—77n•çê+Ÿ½¼µÕ:g7+ÏÕºŸtò“ Q¯mS–"¥«¬u>ñî}¿µðÚbëîýÊñ$¶‰þc*ÚŸü¡tÜ׿۪=‡ý:áF/Þµ7w>Âg;n7²‹•Ì©‚mY‘e5šgšÝnÄm°ÝîžxÉjž^¹þ‡×a ºêÝïmüÔßzkû£Nû“•Ï,ln`ÅvãÔÜú­ÊI«rÒîî:ª‰öþ®[>ié4Þ|¢7Jf¿;àÜI0ÈWO2ŸWÒkn!ô”·¿sãGߺ({3K s c…2 X©D9L¾’‡I_,¸Õ«¾éD~ǾTnß‹92JLzp.^DÕÛÔCA=+Yf¤…'ò0V‰-6E6˪!LÊêõ¤É[¢½?U%Ù|iÕ¥U¤J u޹cjRÿÍmSÕÔƒæ~3à =‘Q•²I•Æ:õ ›:(€ìšIí&Ø?Eª¸X¿y}åʵÒ\ ü³úü"ˆþJ£Ù}ØZ×Á€¹°§IEÄ š/aÃJ÷î&(ØŽóqsåE3Lñ3/ܬ¦U‰2IóÞÎWµzî¡àã‘BÌD±[¦uÎs寧sîeðÄ)·‡Ç]ØI+ISÕ, š÷Ûî“À:.瀦+ B’L,ÙÚõ÷Ç ýcS[ X4Ä ¹„- Â |û¿øò j†r »r[¡ÉŠÍâS -+¦ªä|sm"ì˧1Ä1JËÖA܋óƌ‘Þ,1Ý»l`ºT2·Û]PEÌêÞ®óðq³C”ø˜‰e´ÎH|òÍr,HdzhSZ‘ VbAAÒƒŠ§ýÆ4‘` ž,¨~$9fƒ‘›À–²I‘’l(Õfä°4“[J;¤t}ÖÛs̤¨³ÕÑ+hþD¦þ0Ó©S 7u£p,ÙX"cþÆåš7A -€c®fÓLðè£IÑžªÁ‚¡Ë#Nžƒ"[y"P‚?‡Ö{“Ç3Ñ&V‹!øį̮̂Ši ¨mJ€ñèÈŸ+s8eCnD$£5”笫¯ËªJ¶©yËK¿‡ciý{k ýyçÂ¥eþ·þrí§~ò­µ;ÝÎê…Õµ;kþc¥¹xŽW·×JÏà“ö]•Ϲ ÒŸ‰Ü„ªì(OÙ!¿µÈnç£{ó{ÿÏu„,CUq“ÞÝ^«µuí×a[­UV.¢ô¯œ¬\~ÏÝx®«U× ½˜z£ÜúH†‘×ï´V¯ vÜ|¯uõ «àît>éƒÇ;áCg饯æû(y.¿ruíέÚÉ:¨­æEÎ,¼öÆë0h$h1Hã|œ6sÐÞ“AåT¶7Skx!­e#–.®öw±±ùâßÀòjVú¬å “Ê.Ù7LÐþ„iŸj ôÈ$Ê©é³5‹ª7Œ@úƒîO? ¹`ñ˜ä¦¥ -Ò8I¢ÞdìËG7Ø Jdˆ>aié¦ÊÈ -„®'æ¿`æ iYU¤“NÔ€Bô>¸]߸Ë:@d‚’.²BâÙS¡Ï;A&jaYV³ÑP*š ºÎ=/ìšê€4»ËÝjàäI“ŸYˆ©¬ Å/, -ÉaÄÊ EÕ¦ÖjÀÔH¬?…’KóôbëÁÝôŸÄ½§‹¼b¨(ýœÆ!å0 \$3¤ºÏ˜À$îãŒWN$>D&y4@Lc/ ýo¿½yîå2˜ÿéèbåÊû!ݨºdÿ#ŒoÎ?æðãqh±5A†°SžJW H9i…éÀx—Õeò\ Ò‰$Œ=ŽÒ>ª"¯‡”;˜¡ÁJK„ó©À´©VñähÎ/Ekड़ß9ZÕ{´½´ŒxJ ®}ù-°ý–·® -ª—¿ü#«ì€Ô†€Ó -@ô·î¢!ÕÞÞé|íÍk׿}]?VZ½¼²vk½Ú¨°dg@„åZ¥²úêû„Ô@«b|zL–Nõþ}´Z?hž9 '_Å ¶ÚÝ[b ¤ý¹êõRñ|ý·ß©œ4¸îœ€>í,Q/E•jy¹×gëá3’P @ö¤ÿLÙÞÁþçú¢l@˜ x‡÷m[eNоï±ÅÑ×,À¶A<€oþîõÅ—¤Ð¯TËÌyj@O"+  ”|ž‘G1Ä${ì)Àá—¹=+\d¤¿@}"“ úyó:‚;`{ý~ÈáHß÷Ë')}´Û'àäù"Ñ0³•l²qHËb–þ‚lX/è´:¥8t6ïܺúfä®Hа -àúoÏcôûµç—ÀüÂÛnà‹Ù@Û+úûí­ÆÙ†E%I_¹Êô¼xO…àјU´L"D?w5{ŽÒŸÉå™·Ëó-åØ÷º­)$‹~X°Z†æKñ¸ˆ~˜ê.Y|sI™ 8\rÒß>®gÕ1¦} -ÈÐé »¬²¢8ôSÒ¿G - a–ôÙ13Ú‹r“ Ï…žýv ‚'>Õ律 \²­\"K§%Úv¹”²H‹„•Á852©¦-æÉ‚ÿ˜Eó0ô`”.x DÒ¥<}D3ʘÊ8Äid®b»ÄzH (I\œøfiU<«üè(”|–6N>FJ‚)ˆCp”B‚÷0Bg"KäÍUÿ"ÔLu{!xaG@ ØÐØöö\oo*À ‰ù¼ª££‘}›dïtú¡6£2î! ßÔüOËÛÉð×ÁÀ.9ÙãÍžÝGÀUI5»¼9‘J>€S8 ý5J¹£~<¦y€äuÅÊÒ¶ûgø‘en~Ê·ÌÒÿé¥zg˜ío½ùVç¯uó̰m4++pjÃvFW5áZØ!óäûÚû ÁWvuA\{}>ÏíwQ²_zevÊ•J£^Þn÷a{zaẸq MrñàÁÖµ/ m‡à9µ:HÿíO¸©ÜÞî'ýÛRúuwcÇô~Úˆ7O§ó g)ôwºpˆÍÞá#·>Þzû;7®}qòS¤®8@Cžò£H-> -Mc*|²] üq‡€TUpžŒõÄ•7°Êˆ=A:€w»%U,ý)´€ÿä®1C#»~Ô4„Âk-Ù6ebuý„=èIJÝ•©£RÑòq8ÖLU;fb¥óÐÙ÷=é‚ †;aŽ -O0·Æ¦œMvt÷áVåÔƒ;´]ºpyw¸©PzçdmáÖÿ_œc»÷ýÛåj#>ðJV¹dÍÁV§ -Y§×qíÔÍí‡-°/®\‚ÙR.Ϻ۰ŠúBgë^ãÔR©TîílGnSÛn—†OÃ#%l³™ðަéƒÇníTs›©%w|Ø‘¥¨qùÂÊÖ#ï"Z\8ß:[¿úß#ˆük—˃ ƒp÷à' "xù3°^y±X¤ $þ.ò˜ùþF¨óØ¡FWÅe¸J,DÜŽÎv€iáH=,âÅ(Ü$éÛÛí/]höw’ût剑T6³”¦[[u곚 BÄõ0þ æ§âDÉI ÔÚl†SD1e° -ši(Hp†6ªB 0¢õ~WBí0Ÿ¡å{2MØ -“ŠýÇýQ6ž àióÌa áGbR ß*E‡R𥠶­¨hÜÄÑ$ϘY ©X -³ÀÉÚÖœRúîÖ pçlSăZ]ƒS‚¥¯‘ò¦Ž9,¼ƒmçPNä…æ? ÜHQ™à Û*MÍ$‚kµïxŠ®Ã¬ˆò׈’$ž“¨YGq›‰w UTŒ#˜ç&vÿ@ }žŽ¢s£5¨%« -€Œˆsã0éL$¢ ²tI¯‚·…í;þ^€cLãš=ønúâ$&Lˆ[Ü‹ÁÃÈwRÊ|^(¼V›Ž×ù`øÓpз¨xãÃõ0ÁdÏ®Dve¡ç zCôŲªúñN§eŸÀY?Üï-®,ÀK "ÿê«ËÝÁ–i‹své^çNq^ÑíZÇÙ(À_Üío F­3Øïßß‹zµ²ÔimùW‚öÖö­¿¸õÖ—¯v>éïtz×~ìs´0Âñb³yýæÚÊE¬[]óâg›åŠÝï:+—šÞÀOKQyþ:¤ãÙòa3®¨>¾¿õ%ÙZݦ IDAT†Ûs——^;óú¿ó³?ƒY˜|ÂcbU†7±*êñ …GÅŒ×Xv€j#¡ƒ+À'º˜Ïsöü”w¼2`¯3ظ³ï‚:Ôt,ê„áýÊ•‹Ì|YBxk -¢*ù`2æ <ŒŠ  îâ ŽB˜ä£aÇÈ@î•fì3µk6n¼Sš+ç禽õÉÁÔS•Œ8§ßo..Úå2wö~D;œvû~ëÒ•« ý»Û@ðç`õƒáÝþîvYæRÄ\­+(‘é ¸}ã›Íåÿ—³·Žã<ÏÓÓ4fØÍ‡3äˆai@”hÑb1¦eÉ«8–Öç|ÞÍ®îÎç²c—Ëw¹J­/[{åÛ«\Å•‹WjoË»¹Ueã¬#ù*:I‘å¥V¡MšúÁˆDé!Œb4Í4¦Ñ==sïÏ×ß4@JN®ÕÕjκ¿þ¾÷ÿ}ôø@˜i+µ8ó‹à¬4¯a!H‹1ÕP7-Dúv×BÀ nFo·[qrŸÚî»ÝØ_ýØ10ÀŽž¾ÙGJ÷»ï§çGLf†÷Ñ™P¶j¥¥é `ƒ-Õ« @s‚ .6ÈÚbÐJ¼)‹XÔ>±Ì•2ÌÚUgü¶¼ ŸÚJ ¢ß]Ð B« ‰äKJȱ½¶Ö\x£R¸E”-“ð)y(6ü;ƒ'7[·RI{îZi†½v¨Ö8¤º¦–ó{ •Ü^_€@lƒðäBOñkƒX¶,36†e©qB‘?øðZÞ8…Àø’„7ÐX‹Ä ™ä«TyÕëF4ÂbÐÛ¢ûÙ ë%pI[Ö©ñ¾»x¹>U*¤¨V今Y-žJЃlü@/¥É*àh|ÙºÎÆ¼× ‚ŒwÖèø*wª$–ò·ÀM$u×0˜]§ë• -hh×›Ž:ä±Ẏ,´L³½áÊ8 ëÐi‡Œò6tpÖÄ¢‘ü¨ $ÐTM±Ã þI¢ßm¼+‚‚¨¼S窿Ņ•ÆZëÀô8[0n)-Ëâà ¢ô"¼SÐB7‡Óî¦ðÉÀ1™Žhì¦îÀ -(§Ùš9**>‹Ä˜LJv‰aŸ¹s²…Œ˜f‹]•¨ù ^o -¹Å7+ @Ž\¹Œ×|üþÙ³/`)êìÌÁf‹mNÞðô §çr™zÚ‰ûf@<õ„ 6XZXT†Û¹Ì )¢H4¤M†5d“Ô—l.µ#h°¼àóMQ‹ŒxQN0Ë ’g —N?{!¯ c¡çs¹Q/ìq3¸ÌÅRa%A2 ˜ÍˆÙä!H<ƒ}§FS{PÌTœšŒß€È-†ÒÕ©‡Í¦2›ÊÒÒÔá#n ¢ZY³=mgAîï+ÁÏfl¤?¿;¹Û]dJ¹5VWËç …ñ•wáwÆ÷NÚct$~j8…¹Ö †YÜvD?(P¹­ëVk Ž™YA Ð(C2[–zL×ÐX“5Ëq|üî£ò|=ðÿå7¾öâ¹ó¬>h;ñ1T°þ‚#VÌd2ív†± eM®xx˜åv8—›±D˜µPÔ #—ÛP_ù€m-rKeObí-.T³cè–öb½kkžò®rÊú ¬©À—IÖ˜mÜ)ÜÏ|aLÕF›DRS:ÑH²*>Vo¸™h A ØÅБ%Ѝ‘ 7¨ƒ€=€„ÇÁwI)¥?æuc7(#àh…=™NPQFŒ¹5l/w¥Á±ÿ¶éK¿˜W".ßx}§Âùùˆ±.ä8(?ÃàðK@ùu˜é¶¤] DÒ_‰Á–ðæ8 'ÆÝiN*¹ÔˆA…áèÀít8§Xz*2y÷zØ’ƒíl ÚUâé#xZ=¡sq!‰†Î†ŸÑAúƒ`kÑ4ƒ+ƒ-ÛbZGl1L´ýy™ˆ†,Ê\0gÒ#ãh(c„’D·"‹”N½ƒí÷Ú‘$w¬¤Ék˜Þ‹‡]R¿œPæOçYèX|EåpQL,NÆé8îÌGKõU+Ùwa™Pâb¼@‘µù ò&á¡#nÊݱ\N¤sØ“™"%›©lžÃvji[!jeùÍÒÿäýÇë„­'÷›Ü`¡`ëh <PàÀ³ùo[®ç®_Ãã™çAúŸy±¼goþ Lþ‹o-ÍÞ} ÞѤ­|+Š™ÁÎML¿KASWÁ<Ìï›Ûþ¢£˜ªà@…¸Šûqg•_ç°ôW‹‰» °¶+çHC“`÷KÁPH4˜ï£~!F$RÈT—:ÌqîW7L¦‚ßÃÖ®H~ @'õkõÜ®ajNÍÜSEó¶ -~ðâ+«X~}ŽmÿÜøžN§3¶{œ³Ò@‡ ºrüÁG¹6ŸE†¬-+JHàE?W«å°ÒßBõ0èqÏdÆ´adÈâfZLÞ“¾†oq ò©iðfb‹ÀÌÌ^b¼4ÿê¾ûK¥¿‚ÁŸûÄãÑRh¶ÞZ­(€t:ãû-Y¨DЃpÌX[Ҙ؟ ´28èhwÅè×¹' žÅ[v· ;c<0÷L­†ÑäT‘ú9{1.cå]¡ðXb²€¿o ò²c>U¶ÍvPX—v5|¸G$Îõ޽Ã04.> )“I9 Õ´Ô’³^áÚdîQd)& -„(,bŸ8î™&Eáh¸&0ˆà“Ø ÙÅÐã›”þ7±ýÅ?TTäœqØ_…¡ùLˆl\ ý¹­Aã¶j]#Àóö¦³¶ÿä¾7‰ Ü£ªÝû.²% t€¡%$¤ý×4dÛ›NÖškŽ×£Êô:lwlÃ15ÐÁ80u €¤*'3OÔq¬^h©³-+¯/‚ƈƒ2æ¥ 1HÍN€BÒ‡‹;àÞj& õR0â:R3¤Õ€J€K¹ct‡ÜN3ñÙåÎvð<*}Ãåø‰ƒkÍb$PÞRðБϱ‡½}Œ¿ -Œu@¼Ê¥}Ýe' uÌd«GÌ*pÒl¶âÝpÎýðè±+»„?¢Ì>é¿í×@ À¾ô‹Wà"Mœ“*ëªÎuó‹W#t%l‰Â`.?~—Jר“õx0ÃWª5ÎxóQâM±ô—0D² “Ï9™ä%Ä¥¦ª©ú®ÊE„-Pþ˜jÀÌ$¸s/œ¶Çrˆ±ü~ÝÛ£LɤU.WRUT½õ¢zx^ibbåÝJÆÎáêl7/¿ñJ둳¿1gÙh¹Û¹œµ+§Þ>•!~•ê»ÄæŽìÂËè4Y㥫ï.÷{avWŒ‡ŽÓœ(ð:.Å­vÓ÷=“nÞ¹îX;,Ÿ¼?cX…&뀣U(…Þuoæ®<œ\z7ŠÛb€qòã(¬OÞ{ x~—] HØxÓYñâÏ~êy›‚ü¥Q¦àõF³qÝD!ƒµ‘ïìuòkÅÌÀ*Èd5“¼r¸ ‡ëqý Ó£à><P)#áyxµù]¥ÚНkÊ0RW/¾¹2NÏ¾Þ oÓ·…ó®Â×½u¿ã)£`‘ ýØ«!ZôMÇÅß§á&˜`×7ìf­¾‘ÝšDãc“ b@0˜¥² º‚ ßóÝõ°´7ŸRìÚ¹Jæ–LÄV—ùë y0j¡€ ª™†m–ë907ô¤‘P1C‹ %˜ ÓÉ“Yñ% ^W }ðaz)ò$ZT…,£ 'úQ@3ðÙAà&f—«¢"Îhå ü|¹Ll˜óê¨å­;ÛH¶Â.‘©`ùâŠu;­sCª`•âxH¥„×µ 3ky¯{±ÍÀo6­+—ë…[Á.·12£*»M*ÒÍ‹uPMTâàŽA;Âzl4ÿAÀŽÜôyw3€1‡â4•¯jhËwbó"¤Z„Ëu´¨o¨–‰+šÚí6¼‚‰®tézÈÎMzÄtZˆŠŸÊŸ"R£±FS§(»kX,‹X³ž :VX(k Û»xVsbŸª‡‘¢£Û—ÃT\Œ¯i¦‡¸6˜Ub,UœŸ!Hœ“µ•zsÝËí¶®TkˆŽwbS"~ÏCœJÕ1Zž2„ØkjBûLS+ÌXˆszÔ÷X—XvËóÚ.\8È» (¿Pk4Z šÇ«ï6rEQ‹og”¢ÛkÒ-÷E" -±­Ò æB )ÑCW©—€%æ`V “I]í„IŽW˜Iå>ï €¿à¢ŸÛ[º¼8ÿúüôá ¸¤ä—7‰áF70wf!U$™‰>]¸àlúý4PÀØa‰ÑSôA‚)žÁaÛQpgÃÊ¢kí0­ÑR§¥]ã§gÎO‹÷Þ}l5¹ -ö·§u£›€ëGfÆucbö+€¯'åJöéEá))R[M¡gOœdH5Ž%u€”:¸$4»»°v#﫵ÖZíâ™§ù‹\g6V(N΋›Õ_T@ôOMÏ‚ ÏWaQœÛnåŠE3#µÅÚ…ÌÞ+‹~…t€vCËoOþÍ3üúC|K! è§þëÏ>²\­Â®Ð—–( 4K1åâè+®!›C mÄ{í(c\rcö>Ð:Å‚¨E^Sº!ˆþ³Ï׸*3VÈì*dÆÔ”Õ•bÍ®¼9_Ѝ@úo-Ádq¯7ÌcîõíÈÉ^ÔBÍ–ÛaÀÑ/?³tYt`1~G𠻬G?óiØAlµîo¼!ú}j›ânoŽŒí²'§J oU@úƒ˜º™ôo÷}üÞm¯°ô—ÿdI'K€™Ï}ü€Ùj™¬Îš§QÅXDômO 1„Ã[C/zK9„å¤n“¾žÚïÎX¦³ÖÛߦÀHÿø»¢ÿnX—s¢¶ÎÊÆô!‘°bÛNœk54öéoƒ7Üxk»áiæZÃeÀ²´é Ñ žLù]‘ˆàGá`%JŠ ”ÒM›G ­ãoIœˆ¿Hd0„p’ ¥{ÓÐàó„‚ç 9žœf1…7ÛÞh+1È9ÞÌ! Øh¯õº9Šrßs·ãƒpíÌc˜J—ÍOü …Šn<ý¢^Å ñw9=Èt›X˱µ+þ© zŠGQ”³•QñwCJž‹hLØ“wç¹lvãOr^‡-Ê@ø ⪑;± ÀŠÃtQØŒíÙ„ÄÐO¨Tÿã³ÈA$‰e†°°±‰:ú½ì"}ÂÉÙ3sM6Õ±ùÖòZèÐÄä”àRþ¢p)~ŦÈ/f±àÌVÄt‚ÚÀÝ0Q5q®µ3±ä–& MPòEv¶xp°ï:)¨‰é’Yn9ŒxBƒ@ -̾t±V¿ZŸ><}òÔÉúÕK á€`Τ_ê\b;K´|&rAY7@À‘!bº7tBºð‹å—æóÅAøDÿàaE q}énúrž$S‘ÕƒÁ5Âï“D7õ ¹e9U0ÃÀ! eëë¶³îp<}òð *€Qœ~w±|žËxÖjÕ‰ý¸Xú§3ˆ~Žàã5mýn[äv¼ ½­ WQ™=€•«5©ìÛûäþ}p´wd@úŸ}é8žþ»Ó ú•¿÷vckevÌj¬ Ô ¨pý¦n+)¼xégËœ”þ<}9ó©ªÛÿ‰~t€â‰6lY¡2(ÆJïnS¼-¾¹¢›¥Œwð:^`oM€ù¯`#{ -@Dÿ`üêÊ [°é!ØÃ°BŸR Œ¥P‡RonTü¨Ñ´Ì”‚ -‡.k6ש -ˆhfM0è“)×kÂD¿˜kx+ƒ?!bä&º`Z¢%¡¦ï{Ñ(„˜©)W ›Ÿì¡»7ÇÎln»Iηé‘ùÛlËŽw÷Ô‘ŽšØ"÷ã8ú•c ýA# ÎIȼt¼Ä@ÿ ©¢Å!¶¡++ÆÌãÆ¬~–øplÁüØ 8Èiað_5ªŽ•_äÌ9O¤ô¨&=ÙSÆBâò†u¶ý9•½2B®u5&”>53£WŠŸàâ)9v¨M/@¡ò…`XxÜHàÉ ä°ôWH4×k úÁ à j?HSj‹‘%9PœQ8›sáFÂ&ì õ0Þ…€Œ6¾´=ét×Nåš:»دÉGfŸÇ¦¼0`Ï#õþ®‚F˜WaTaè˜ÿ nþÏ¿>j`f¦Äô†/¥mLY,£áv`ˆ\·É48˜?T+A -€C@ -6°‡­×ªuV:þô¥(ä`H†[Xôãxn%^L"žÌ:/" <Ñ>>0ßÐŒ¥rêž•ew½"ÇV‡ä. B&ϳÃ`ôÕzM‡%{n¬+P•g·3yÇaLp‘Z&е°¹Vcäw=¶*ƒN7Ê£€áŽXÍ!²ßÍÞöøÌôÁƒ·O壜-Çî½Ð·,#ÜÄüóõù…‡)Ký̉‰Óþ8Žl,þßçÿ?²ç¶Þ|]ÁÒXæS°žk›;òc÷ßý«ÏýçÇWjRi=à&ò¥ŒÒ­ùË—(U…ܹA"¢škÀJ­$_®ÉëWP0™ù[5˜ÔXpÃXêÖ«a0Úψ 3ÞíXisbOvéÍjg½'ž;$`…L°ÀdPÂSP 6[®1Í4×à5R掔ϵEÃ:¸‘L(\Ú_8^°—¯ÀJP -y[KàÔÆç¼8øÈ)š2›×j0Mø+ë>X(¡ÂÙÂpa¡‘êã_l6üÕ«u¤l¶[Nk¼T¬Õ±â+7aÖ–×t]ßž|* ]c±@¡UMr¿{ÅtÁé`ç˜Ïúz`ŽbÔÂm!nS1\K‚´µƒ¬–2jW…Äå¶{ö”@eÒ1Í«òä1è¶±-î5Æ=ÌPæëJÉ£…_h½/~ªp[öΚnö2££š‘¶:¤R…äv„bw^¢CÕ_zJ[,;½§™¶ÉøØCØFc’‡»Ù†à;C=Ï÷tPØ= 8(È^€Ã9êž@ƒ²¨Gü.‰r‘ë7Cè•N¢JDTt|‘odXä]Y£8ëaÚÀô/ò4ô•6…IÁᶃ ŒÉ´qˆ| üaÁ¤0–UžÀ$Ô¨„ñyS¢_ÿDS®»ÌNƒN©9¦=P(Üêm†àýxÃ÷hiÆÁ‘T‰¤(•€éÜuá³¢3Õ;œqÅz=á -«(vÞ@€¿-Û‰­QÌÓ0ä ^ /y14މiºàžx g3³‡y`V ÁH‘⣙ì³ñkêÚfäD`}}´8P\º®0Óc–.n(HÝ(IšdÜÒ W¢sØÐº(ýÏ…ñ˜í@!$Toï ¸Í€.¬T¼Èå‚mHcÎqp¼Luœ†Šy…È&ÅÎÞ[¸dÆvÖZ¥©"¨°r¸ª -KZ;>²\DtJ¤’ya‡»ƒÑã·`ü >;xñ†À@0AàxF…ßr~þØý"¨Î-`¹ÂX.Ÿ•ü¾$u±8ñÔXP5öª!Š€‹ré/&–/f*â oDzéßšNtÖ?„ë ‡ŒzÜ•­›>8Yzkî_*áZ=~:€Çfñ®@ú+[+sâ›CjÙˆÕzŸ/c´ -Dÿãùä‹¥ÞÈå²\à•6G¼hì†6…ùN€ª÷º>vÐt·°Ý^ šÃ#‡vâÉ=óÈgEX ¤?–“oN—vgÁö?ýÂö˜vtÑöïqþM~^ÆOàò¦M®®U¤ Zï¬Ãš'@µãÇ"…bVne¯µO¢Þ -6œüÞ«k—Ù\s+ u8¦ì˜ÿë÷0WIP?Tm)*FXúß8¶=´d†¬h>u¢€¾T­õ 3ªé»³å×çÁç‚WúQ%8ª‰¢¿¾ìÂQA+° „no33¢¢·Ç[Í»‚Ù‹(S‚¶¿.NF¹ºå)E…‹²¹:ÛÝpK¥b¥R5ðÛÿôS¬`â‡ß?ñ+'AúŸù»Ó§N¢)°péÂÔþ#7Þé/Ý$I;ãbu|½y'èI @!"6逴›|%zËœlñ%»l~}”¤?ÇèYp Û°‰èí ëï‘Ó›rfô³|d=‚Ó!È<ê8^¬ZT“e¦,Lùœ×‡Ô ì¿%—}vüÀjÓ‘‘e´[cYk/r¶r›—˜)[r†Ç·[Kç ´––ªFëž{¦@ ’]T"É¥Ÿ\Â¥¨*r³k&R"½²D7Ù3¶--TAÁ–nr]twH Šþë]‚ÖðQôóg¬i3ˆ¢sââÝ /•4•É-De¡ -jàžûgЩ¢¦zUÊ] æÉ)fÅJˆQ:ø“!ñDN…º¯Äã¡lx‚J^S‹d±Uß©ó‰ÄƒC¹OËšÖlÏLjˆPà'}âá[¤knð&)Äç èùDS½'ø&ſ୒²ÝÚb×I‰M|e2¤“ËÚŸÿM\œÓ‡0ªóЉãÊ?d£)¢ytŒ–<^ÀQXr¯Ï/˜£ÆÉœøY^p4bp'¸žÙˆ:×åæÿáéIð¿¹tìî-u¾êÐM¼¥R̹obpUEêNlòìq|,&‘å1¨œaÐFÆë¹><Ô#QEJ©(¿´´Z̶:uJ Šd‹/Måœk.8œëwbÏʦa¿«‰d5\|ü•wiðB_p_l¢Ú¶-¼í”r7)Àq¸ÀÎ'ñ˜{Ü=eú0µwCV+7—§˜áz'&╦Pgp‡N6gÃÞ¤8²ÛoÖP£Åô%(fóºâD‹éÛø¸×"µ;3=k[™{'&Kp4âè]žªK¦q/Ö!¼ ¶Áõø^Tr7„ k¡ÈŽzÎzóÅŸ{øÁ“àI-½„EbhÚ$BSU8D«v<¤ö‘Ûç>sŠ¾Õ 6;Åâå÷êŒDØÿ‘ …_›ºíncô‰³/¿|òã§Ôîu,SöS12¾S7FMcïÅ]÷Q%Q‹",íj«þ~ ®MתB J ±â!ZH@\:hnÍçrvÑ0æ{ÕÆÕÜ®´$ˆ@úøŽ^áÖ\¦MZ}ÓtRH %À™ìþÖ­ 7©¦FLZŒÃÙŸ.ض™¿% !½#í€}7lpD æŸnêP¯KT½œÙ¦{7L­3 ³gYöÞÛ0É.ÿT²ÐZoeFñétbž\»5@ÿveYÎ"—»£ñoy†ì”^~{ðÝ ž,.¢È0D±̺ìøó¿øò—»´ˆñ„‡~„8y=3} vøç—~ûKü#pâ85ÅkÞsçìþbÎ[¯Ôk×áˆCñó³S3Så ss¯”¿úoþéÿñxñ«¿ûÍ<þ8œ|þ³ÿàGO}泟ƒóüåãÓÓ‡SÛ-ÕÞ«­ÖVK{wªÚ0 <³l¤tÃ^Ðv\#•H$•^Bíɧ.BEª6²gÑíïvì1‘Ø÷TUj›p³'½ÎE)TD‹yõ »êu¦MGÛSôÞO0æS¸`t#‰X\K¢“zk5”8d…”McüG6cí˜É„Q¹çœÃÞ¦KB8ÚÅí¬c ÅuÓ:æuB‰Àœ„€'ÿÉS\ô¥ø)•4µR}{¡³±p‹å¼ïÀe##q*ÔvÎΙ!¦Üš×mG}Ñ`\‡ú°F¬¤àF4nÕG†àPAóËs[~óN!dŹ£Øz?*•ÆVgØÑ¡é‰›Â”ow>ˆBwH f¥R&³û¥ “Ûð±”Ñ!92Ý™9]ŸsßHòù‚Ó¬‰VC*ó Áh…›*e˜1@ÔcHÚ!Åõê›ðáö{`eÂõ³VqÔ ¬!†ÍXâŽÎ)Ïž˜RÔÂ4…Úéæî!HÇT$ßAKÁ¤R/P1SHGysQwGG‚¢à²òK¶Ïž¿ïø18*±ÚêøvòÁ‡‹'fi«¯ÅÐ:¹…2v"aŠ!Ѝ1à=¦užyꙇŸ>89q©ÓWA|á–íWÎ7F‚Ü?ùñŸœþÙóÑU%âž—Ü@pý*µ’_måò„isÁ`ÁcjGt †îa¯ &_b¶Éô¡R³]QÞŒ W›¥ýD`°îùéÁíܯ×tèaj/Äù«ëá&öT¤FEI"ÃM+ãžA¹ú^#O-òÜmÈÈÏaØ—”UÞÆMÂq†¹ÅÂj6ÝJ¥^*å°VaÈÏ/^Â@RsÔªf:m’>Èå¢Bᱦä+¦ÓU$ŠJ:Ò -í¦—Þ‘Êì0Ò×½öõ¬ØÖÚ`d^~K¢_yu.Në˜E)|ôNT+ÕX4CŒÍž{½¼áµîš=üÊB>öåÇðõ»fa‡“O}æaþ<ˆ~1þ1¾R‘3D, t˜Ä3›*ÿ|ÁÊfr»ÓKKÕl6j@:é Ì7/1â›NoúVËieÒ£7} uÿV¾ -¢e*òE6$ž¡Þ³Ï·³ÙI€hI轞€bä´µuëkA ´[C—ÍÕ–i:õ Ÿ¥w0–¢£~ao›ç?¶Ý©ª Ñ¥©íy¢‘SAÝž}\­Ö¬½çœ|ø¸¬a0(Q¶¤rslBL¼¸ŽÔ$j”ˆçî&M*°MÜf\zCœ—ÏW ]™º«$u—ÇX²jK׌@ƒ•Âá z{®$ô|ìT‘‚}aˆïËØpÙ±ì¹3gáxÜq+ -KcI,ã•û!3ÂRƒø/š·H®N>B.îém­Š5P" -¿&¥ ¢‰n´²˜çó»…é:oNÚMrí”ø15ý7HÿÉÈÓ‘ãŽWÞ8>RúÿËÿék]U=~ Ó¶ßùã?;{þþÀ÷ÿä;'îØ Š–Ü(úy ¶Æ­â[\ôËšk=ªÜ˜¹SÄj^Ÿ¿jÌ©$š>Î!^ðÖU®,ô}lµÀô#÷eúàüõS¿ýß|n¹°½ -VnÛ`‡ê§g9Ìàƒí?…w$ª_ÍÖÜn”à;è¸~ðÍõŽ=ŠS´‡ Áö¯×8}õzkúP1“ÉÈůÓV[ŒRãêÜÚ‘š¿(XÃ@îËãþÛ&Yúãæý_üT1‘²Å?§§&_~ kÃÀüŸŸ ÿÂ-Þ&Ì,¢Oux€4œ,ÿ‚AMLЬ*K•™{fj•Šã8333årÜñÉC¥Å7Ñ Éæí…KµbÅëµÕFqo1Î`qãa¾R9€ÇdRº®Ç G?#)`½=raJ E -ÜA˜ÞLm G.¿¹i¡ga€‘KÉ©sý+B ÆR£ ÜÄP(ÌîÇ]ÄÌœ¶Óò“³w–jÇmˆq5ÀaL.[òC‘A%H lt'ôV%Ñ£ü1X€!•Ë3Óä`Š.ÿÏ Ej¤·{1ž^¸¸ %±&à+Z°Xd˜2 ˆ¹z]èáÐ+Y†²¿¼’´û='Ž7ÖÌøÈ¯€©ÏŠ’…ª+ÒXÜ 7Îíc^GQ9³mvBÍÄâ@ô¸ ’œ{l`L€A1´–åíXÄCX,ýE8N.˜¦([õè"­±ÝùUèƒ-ÿÙV™b¾Ç£ÿÕçΟG¡ÿµ¯Í6R'?ûP°K'ÿ›_ÿ²ñøÿSy{±rIØ_2,“èz¹±›‡Yú“PŽ_ã@%ô©,Œ+SÍZX‡ðØõO|ü¯žø"üéöùçX£n„“X߇ªÝÄSqÛ.ØþpÂ~ob]ʯ0¸"€{?Áãhò®Ä~ž1ÜyînÛÔ˜ÍúÏ$;¹M9`bk:pT•K5^ùæ¨Ô ëÄ‚žÕK…œ%ŠªéAX~¶9÷JŦ,Ñ€…ؤ`Ûäj./ØìD$\u*®ØÎúJË+íjµ‰ð^3%nÍóŸC@`†ûð¬ h°€ÈE˜NÓ‡fD³$H™[†ä~ÚæXS¤ª¡êr3sG4œÌž(¬,¸ 2cúŸý›ï½³ jNÌLúÔ©SÏ?ÿ<ÁöåÕóìEħ/ò/c(Ú¼.¬ð/‚8:{äìËDé_~y.—C°—Ko-^Z¸ó ‹ugúŽ# ýç߸†-‚¼/ì²”·«¬Î“Uð¾Aô³ËÖ$ge-§Ab…nŽf³Ê›8fF*a•Ã[—VQ)¶¬¬ÁU†‚Ù¸Ûòa¬èÑeRèHg-™pÖ›ðÜuÃÜ¡dF#ª hyt×0ï•Ì,Äô ls ¨êÞ¬9«–Q0 °‡šÆJ™*aö ~Áƒ»°É 'nÏ‚û'ûo‡é˜fX*µN¨¬™cà—˜)ËûØÝG°žmÄß±Cµ-ûÚÚR£qG!_úó¿ú·ÓGŽ\x£üÃþé·ÿ{?øëïÏ_œûÊÿÕïÿ»?…?÷Ø?ÿêüáÓûoÛÿÀ¯}ê{ÿöO?óУû÷M=÷ã'úäàÊ/]ZøüB*ÎàyBâÿí³ùF«6}¸ÄRaÌG·†Äka”+ÈA+µUxk•à èÙ¶wy‰åA3Q¾¤¼†å#FöÊ[õ±<è«~Å×sOÖTýÈÌÜyô*¦ît°ôÂéÅÔˆí\çU/$w£Ñ´Æ²ŒköúÜ Ý\sì1ˈA¹DõtÊk¯:×®ë-¯Ýê¤3©äÈà”.*øû•Ÿ5<®¡Ý¹q`ŸVº)XBËT=ò“}ÄÛ@ê>uÅ×õ±6…@­1ËÄ6{G£ÔŒ†å'¡çù õ/^D`‚‘QÄœ¿PF‡òÈÌÏ$_'˯º=1M±¶ÇÇG^Gdžö Z’ØÔî -¡çcóHˆË¤bÏÑ„÷{Ô(ä÷Åæ¬w -ù\Øó”®ÜÅYKåo„é'ú½~SŒjB÷6C-e€Ü -ÿÁÛï}ýk|rï±*:Z õ­´pÛ¶µV{ $ߎÌ⻨á<û…‹Kj"›9íÄ(ºdqŶ>É8sc«ñ¹d\ëlPÃôFÇÎÚþcѰpqAÙº1¬ zFÔ,#b\\ºÒŸ!¹Aú—ÆÁ<ÿÜO…Bÿt»÷ž{zî§J,Íß4Mx|ȉû»±yp÷¬sÙ¸^(Å0‘á`eSõ ÐìG§@ô7c!Fzû8Eâ5®GRˆ¥RG½°ÙlÙöMBÒ(s±€ 5Í×÷Åòf˜#ùIÓT+ïxz2È£îºg¦·—–²û£ÇÆL_—œŽš -nÓÔÐ4c×ÃQrû4=¯Xý;ð Øh¹][¯¼S9õ‰ß˜¹CŽýÖ—áú.]^øÊ—¿Å_ùÂþÈ3G¦¾§`Xov½Žýüþû¢sÞàë((ýŸ{ö‰ý¿ó-8¾üÚ¹ÿñßúÃ?ú6¼ûÕ/?ö§ßý‹O=xBÁ,Î@1Øö *Èrxž ˆ×ÆU#"•ÉÁ×e J£>¤ÎZkd5ÇÚ*¾¸ìàßÓÏŸæò)þwåí*xpRþùB‡æÉ|…~¡hÕªƒËcéG§JpÙÜîÌüëÕúÕÖôáâÙ—*ÎuwfºTž¯€Ñ=}èÀü›K¹]Ù\1;ÿÊ|î–ìsåùBá—siÄ7{g¦ù~˲37 ê®^E,€ü­VaÜ®­4ËçÊ÷Ü3Óh8°8Xš³ -žîÉû§Ê/Q&iªTY¨ÀOòf¹\ÏL{Ì|û-ïí’Š~Øã¿ïǦæß\tšm›úE‚Í¡Æû!ìçÞ+ï…¥½ziÏMÊs-; _ÁãÍ€F@ (7,p§Ñ5ÐXkÀ>ù*Çt×`qû‚* -ƒ ò ˆÄ›„ŸçL5“°ˆ8¨Ëx­é]B R\Çæ{xmÚúÀáFKp¤VEˆ¢ö6ô×RšPËÄ{eEµxGOü;qô0ÿÓ‹µ°$k=þIÿ“¿"à‘Yúßø+Öž¬xÝÙJÐ(ÛÖÕxë×RÖs+&•ð †à%JeÊx⯟Î/^\øÂç¹|@ÚÎq1/ÙÚJ’®ÄHú6P|ò$7Œ0…·¡nŸ:'>v€smÕÌXÌ%¢y¤¸Á­ª¾Š`8Æ_$Ú?AÄÞ"Wìð»vÖ }<€Å%$¤ž{mf¶e‰Xj³íÚiÓÖ}ÑÕ9Ü‹ ¡‰Ýö@7T.W{›± YË“FM€ãÙÀÒŸ!ºÜëü›°„ °øë5œÛR‘\‹†~hRóÈâ'›'ûŠÖ)¿×á…êE¨z¦8|ÌÁ4. ×É ÿAÔC°ÿAoMÄTAmuáäýŸÂ{¯\ÛŸßúÊ÷U4xá„”ÇþýS ýáä½ïþ_ƒ“‡?ý(¤ÿþÛ'.]º"vþõÊ1.T.WfÎÀ¬¿™£3åWÊéÑìôÌäég΂°®\®ÌÌ”ø+ì=Ô¯6K·£Tm\sﹿ´ºB„3cPÅy57 Â.Yb6sP¹œ#Èâú5‡ƒNNc0‘ê«N.Ò_*ç},çk\EÛaßGŽTß©3nàéç…'Æì¬DÈáõúäÁÜ-B N@­VŸ½kzþuª•8pìôsç‹+“Î,¼µP,{}µryŦà8LHyÍYMôÚUñ'Êç*å¨<øÜ9ovú¼6í¼q[­¹çÎ " ÛD?o¿÷õG¾ú»ßiŽƒÐl›#™ìN>©+ì @ )n¾`•_­n±÷–а"øš›õ†MUÎpRØSt$ÆŠáÆ‹ám´˜>¾r¥žË6(»iíÄ·8¡È…¶LêÉ_ai ªbƒaÄ ûk—"4V¢˜åž $aÜ ;Qâ³éºÎÕV>‚Ÿ‡ii©ºS¡ÀG«¢Nê‘gŠš 'Ê)aù ˜(äqÏÃ}¡ý…Ò?¦ ~úò…3??/=€èÆÒÌÿÆõ–£ð^¦i -:NÂŽkíÈØ™A"ˆ€è™ 5Æ1Ä ƒÊ ”R(#ÛñÔÁ)öþ·?ùÞ¬ãÛ÷ÅÜŒzkEͯÊÉyÁÊVYY9}î<¨Ê¥ùI‰?Q Ðs—Þ.¿ývýÒ¶ýåæ¶Ÿ3²³M¾›+ ð¼Á» ¸5fÂbPñ´âßm6¼8RÛ5ƒ[æú<òÔIй°NÜ Apy»‘¬µÔ]ô·H„Š03dq§-“xõ(Oæ?(îéÏ -¯v@úÏãn«Ó~úYAzuúyfÇUX (¨ü+EA\å H80ÿKûÆá­z½9}Œú -œúÈD™¾õЩãÿñ/ñw¶¶²½Š¥“$oó êÏSAô×VyZn—Åñ Ì>¹¤Á¢6·†ÕÀÁÛ›3w–V‰÷D?(ñ6õÁ J²¯™~Ü1è÷od½mM]Htzø›Ùt› -ÿ•ôS«Ùj¿ß>ztZEw13¦£˜Ô¿Æë-ö#zC¢4 ݸ®ë\ï¡Á®j†‘J$ƒvÓ¯½äŠQQ±Nø›.*nLèxȾÛU°pCP˜’ñºoÈ#´È.S—RþŸ¢hC sž2#î6¥ˆš~4*SIñ$ýNG%MoÆWáÂ>UÍr@#N]§F¾Å %PQ{²gÀÔ¦™}â¯ð­»¾wD?>±¢ .0“18Í3¶ ÍgôAfîj­¶ÿ#9ìÂ]÷fî*!bóf0q[Áõ­%;fy^01a -áê»Þ ‰-o=˜šÙ¯‚ÎÜÇîß‘Þj¶k‹—êé[Ôj¥‚®ŸmÏÍÍOÕâÂâñû·œVõêÔG§Êo¡š¹g¶|nγK¥R¹<Gcج×kSE/ÄÐ:Å /O!Ë4—Íq|Ôu\Ó2½¦À)©\®Ç ÞšT±šÝm­7Ý&i²&YôµªJµZ™ *N?‹"~dGæçgç¹ReþµMÁy²´Ø€ßyô\¶+ÕÚÔ©“+¸š”ñ‰‰‹9DÙl¶fï¸tµ5e¾ —DÓ,ÉÜ$(Cú -‹ ¼Ì&ÙàÓ‡öÁô/Žgæ^Væ^^˜œ*:ÍÁê€õ.€?m½øŸkœñzæGsàš7êË“G޹ä.À‰âæ¦öÏZ©•‚5®p”$iÌ€Ý*öhÁÞ¹šÏçæëšbüÆÃ¿qéíÊFP… ƒ' ǰë'†ÐBWCÈÂZ,8ÁØ}T ’ì{r°´‘û×>LHìÀ'²é‚  !Ùs½Nóý^~W¶â·,Ã^½ŽÎ¨è§®i^#JRˆTŠ–ä{“éüo0¥ÔþMZ@q•&•XˆŒ'~3,ØXúȶ¯ËÄÇ"é㟓|ŠŒ§Ê'=ª’ùî`Kð•¹2—.]zøÁ–¢Ðqy°PüXY؇lßøòWøä¿üäùâêjTþ11‘ŒÑ7¶ßïd²Ø*ûÑæ¶}. CÌtºQð7Áë\{ßÛ9°a%·jH,µpì¬+F¶²‚ðH~xîçš·m~‚•[#P©Šè.0å*#îÝg.oN²¥´Ço ãÎ-5f«ì´›7Iø›<¹4C(³„Ȇ©Œ2Ò¿ Ò?…è„]o@àÆŽIE’êHÖ%ÂJ¼šÉ«É(Q¯lã".bäÆ - qQ§!C“Þx#r Úõ©ƒÓßúýoÇ_éŸËYí¶Ç†! ¾Ds¨HÐMâ~Ð -v{ ¥ë ‰ÊÙl»ðt:¾ŸÂ¢Cïì8ÛG~jf¦EùöãQ=¬Y.-îÅù`‘Iè4¶DkÁ;)äíù7çNæ> ÿ,_Xš9r޵«_ýµ™E2l'—*¯U@ôÃ'¬*@úc¿ˆf0þ§fbÍÿƒÞ>=—ß|_@ñÔ®aå¶»8ó¢p§@úWWVÇ÷ÙÕeXC3|Ÿ8±éVªþxQé__õsy1Q¼†>b¿i&ãH²>8qïØiXŠKo‰bÙô¢mOôÀŸzºyà€1y;®4&¯[Ô IDAT˜5FŒåe[^ª—¼Z8öàØ–_â°•S~u‹¸{îÙÓûö—r™¢¤„ä¦c0uÍéxLÃä -°›)DB5àoÚ[6˜6u0¦‡²ÃP±á Ä;:x1"«Ø’Þ’eÚ³cÙâ¯ Ä - b®êã.j -oÞñAÛþ[rû(‰'Îz¼²ÂãÑ‘“L&ÉR#õãÔÞOHcD' ø}N@ú?õìsßü¯¼¾¸ ƒò¼¡JÛÔ¤˜Çq~<ÿôpƒŽ÷ô³O?óì3ÊVZÁ8À/ÈýopeùíÝ»Ç[ /®:>¨Äš¾=ú¤`üμ=× Deø ã6oÛšï»,ý†›7¥¸©è—"“åÖ=¢RéЈ©Xû;ƒûÑLÎÆD~]‹!bºÑ :È…®×– ’NÔJ3÷JEr!Å’™õ·A’øƒC(úÁüO$¦÷ -ˆç ì| À)(.¶¿©E‘#¡Ò#Vb©`…C@ÛC@*‚;èJ…"Þ#6@h€u² -vân¸$¾iéÜÂÅù‹çýÇŸMðÌ ÏÔëNý -0ÿ7® ¬fT™]æü“mDâ6ÁögÊF%pÖ°Ÿ^¤¿6½Í`@ŒÛ¸ƒd¡\.–¶à¯Àš¯l;+Â#¥%‹høfff’'ïÿ4¿ÒŽù|v…xFŨ’ôgVm§é‚ùïÀÈK33™f³ÝºÒšUUeV6x{Êß· -èÆ u 8=? ÛõFs±ºÈ=ßýãïÖƒÎ)“蓸פÿþ[nREÀ)ïmÓÄW>õ´™kÌ»Žº·Xôƒ ÷ý?¨°€EÌ0Æ9¬‚ô§–´Mžø›Ó -°¼\aé¯`ÆÍŸèßgéŸÞyÇž(§u6ÉWkxÛ>ïêQ^š=ÞìBúoùC×Ý=“ØÁQ ðƘnLü9MôÈÄSÁI=›\¥ ù× ª—«…ShErdq»ºÜÌix1ÄÖ8½µÓ”:€·´­·œ Zq9îŽ9ªJ§-ìÆ?«ÞMì‘¶âgÍ?¥ªü¢°º½¿»åw¨ªŠY¬…ôïòìð \É(… Ðaá¾Ì]Cv^ÔÝD/I‹§›“ÒîÁÿ‹ r»lÉ=e`RBzK -Û©Ÿ>+µUUC‰i%¸õôÔÀ(½+û¹æ_¯æv£m7?¬ïÆÍq>ðó`ûv£ôß½±ˆ“+AÖ>Zâ>s•M©R¦:À¶ÓúˆÚ¸ê€àO‚èç+ÖÞ¥P(ìð­µ÷ÛFëx6söç · ´ób[çÏ—‘¶ýü/¤?8Rú+hr±¤€ÆÅ~À½?,?FNÀÊâBµpëHTŒÜÇ(6¡ÀøÔ§ÔùòÊô „çßX¹÷ãˆM91‘{áÇçAŠƒÚZµ :`æÎÙ‚zñM”7GÍŒ5Ð(^×{êožzø×þÔ'îûÚ׿öÈ¿ ÑwÅê|þÇÏ/SÖkáByáµ9pëÕª ¢I¯eLÈŽ1j&ýPŸQŸà¨§ •BçDæIQ6&· -0|~Ýïyë~Ž<ÆÁK «°ƒ€À–cs¼ÚŽIýª{`rüÒBqN(4 ~M5©=—$uB€QÓUGÌ^c­•-°ŒV½´Ür\vÒÁ¢q®»TÞš l?‘$è œèX¼T”1A£@¾ð7šMÏ1’ž -SšÖ :pD¸ Q[ÇÅOl˜ÛLÂÿ»´7ßhx­5G7Òõeeå6@Ã5Hbke(=lh$ۄ[&áß#a¬)HÙG«¥Gä_3#5œ1J$¦ëGdè“lÚ‘Œø!’±i2¸]xJaþºIsëP £6ƒžj”«I‚c4l‚k«Ò=zÝ ¤.ˆg†M¯ãÎ<:óûXrºzÍ…‹Í嬓¹™ÆšcY¢w yÓ°Þ¯‡æ¿Š­¹ømæ˜ó]¥Çè½$Ñs‰¹S„€°v‹à K9z¬X¯·Z­ýc¤R¡.nX0«tîÉBÉ€ÑÈ™YLàH“ 9%kŸÒq}XoS¡š„\ÆŸQ8BÅ-`!׿Â8§S!;¬ÙŒÎvTæï8Å1‹RûAé– ßÐÌ¡b°ÞN§ÔÃÓ¡çN–²Þ-Ì·Ù;&àûîF}ö.œ· õZvwé¡_?ÞXC" m`z*‘I§×£Êò•p¥ -o¥Ù]‰4bð€à26CnOi6ƒ‡~}öØ]³>¥|—ßv>qêž#ÓN½Ö0`}©¡?¢Æ8ÁwS!’ åÖÄÞ±&¡8XFÊ4Pª>ó£sŽ×<ö+3Å"š\Õúe8NìÏœuñÿ©òé_Gœ˜Ú{u˜ÿ£)ã™§ž)äóÆ.¼…‚#iJ§Ž,Yßaàq|¸ÚèðŒ0ZCø½¾¢+*¬…Ì(:Ê -Ž>ëm˜ ™û ÊS®ÓÙôÓ^§cïÊ/P¾‡;ݼNSïëÜÓ§eœ‘$d z„ -Â?õ”x§í`“qÙìÊþK<¤ÓÍŠú;¾ÿ—?¿À4oÓ‡¦¦§NXé#“Q­ERˆ~¶ãDš›J•˜¾‚"6½¨%4nÎ’•!¸}$/l ýùø5*azŽÂ8ðc?yÛtA8««òæ33é\ñ†@J×ã2|ô§4®Ÿ âœM ✴jÌÊ^¾ÒÚ³GALñlÙ8i–ßEGD4y £ýžÙaÂNpÅìî ãhz‚k4SZ¢COݶL×Ùa·³™ -©ý©ÃûÓ0w6p…+jë<„]fÖ8#·S[Ââ§¶ÒíÊBÞÖ;žÇýÀ#Æêʪï‹iî0âXù,ý¹ ­ñ(Ñ5ÆDJ`2)Á Yô:~ f<ÉwaJDWN«"É0ÿct-(ý±¶Z”cÿ`§Ócð5Xúý”&02D ÝöŸé¤TM™K—/-^¾üð'àW@ô¯­5ÇÆl†YfSSK°ÌÙiFÑÎ %è8â/~ôaÔq“:wÂÑíºae5d.—AÌ¥ËõÙ£ƒg纶÷'TFI*AÈQ ãPZ[[Cün½E…Fà”2!`ëȲ`]ÈòkýrƒƒÖÖdÉ|ØíÅ#W¬Ôa½·:8!ÁL±Óƒ…ÜŠ0ƒ—*Ù]RÜ '8ŠˆUô«`À¯\¹ê2N@ùHkä¦õ¥Qè40|ìÎ#ç_½ ÿè€ç£²%±qŒ’e]?dX˜¨Ë•`b¯>Q‹ÌL¢iþgâä³U«µ*E«V¨Îg¼0öÈÃÇÿâß~úoN³à ¤¿<ï.>Í´Ås]Ò_¡t C~bÛp_\T4Œƒ¥¤èþV¦èÒÞ’rkbµ†–Új}ŠT©lrV" -¡ÈþHÍ ¢ ×û  .}}íII=¸&šgVÔv j`æŽéÙéi0ÿäÚóƒ¿z<Pé7üc·Gè!g'ˆñGHØRÉeÞXë ¶¿I¨Þöä®NŸ¼]¬xêÈÞÙ •›n"‡SÃ*,NäáK›Ü§®F !v!ð ¨}E¹rƒK{2~ÐaÌ,PŒujR÷!ñá8>±= ÒŸ{µ$«»çm¿wfw‰¿~@*e0‘Èöt‘– ÁƒDØiXÞ²c,<a'O ¦o\ú7iU§t Àhl ;ú3RÈ\¡¥ —XÉàˆ¨2±°–Az€b4+lð65Ò-|%ð -¼š”:³r£PE7H'·+4VJz°šÍ 8n#97Ùx½ )’úB¹±†8`\\ ا*Ü”Ã=ƒºŠ9a‘墜9  R)Ï4-ÂŒõÌÔ ü‰†„“XÄO-ˆQEÂǶ°Í$‘g˜ëÖ˜„¢R/rFŽó5Ä#‡‰¦Ñ—#€èýk»1áOö8LQ°T‚®—I›`·f"£ -ÌP ýýÍžI̽þF/ëSóöèÉòÁjylqg“ŸÑ¸G+›ýÚ—¾xÓIQo¸æHl5ÉäbdP2?Êò;>+€ê»ÂX<öñý¼GøÕ÷ úA(XÓµJÐà«·/1S܉DLŽôéJ,rÒ¡,:8=áž@ qžL¡šiÏõ˜Aˆu&½FÌÊ;•TR<ëB>7OÜ…EšvÚæP'sxpO?/ý¬påÝTúK“ÿÆmÛëì J܉R1÷Øo}N@ À±â8`þ£8´¥%Gþݨ²3Z¾ÉØ ã‹æÂ|,Ò§º-Qô͘Jën}µ¾\wÎÏͧâÕmIéoÄúþ¡gQtJ¼€µËñ…"?ª¾%¾/u€*J ñx7\´„KdÑÏ­^ØgØö‡#ìn[”L€‹J¢u0Yk[Úa¤¨¾SÏ|´${;›íÖYÿ‘…ÿ¼Ið©ÃM…Ù³[Ã&ècØDÒÄ@b®“¦•j€_­¬Õh ¼ÍàN4Î@`goÄ…Ë8Ž,ý†ÄÒ¶÷1ÇK+TìÁ&]m—¯<ä -"…€=”ÚBET‘F‰ ƒk¤e£FSޓՏÇ*âÂƲö…ôo6êdû éCûñ{1Ä‘}ùu¬A%?ÌÓ0MãæÍ - Ü€ó<¸ö°+´¬0VOÞkJ–0|“j—‘…ò¹ ´J¯g¦F <¿(…À½¬ÒA‡€¸Æò²VÚiê2d×’¿©Èkœ bý+Fœ>>Êg¡à&…Õ_ê‰)¶©”Àha†@¹ç6èµ7ן’þ -/¡Q°~`þÓ ?OC ¿£ ;Æñ…ÊÛK3»çX¹€¶S§ŽÿäÔ¹ÿô£¹- -@É-}šà,ï @oͳù?>QpÞüÀ< -ˆþ¹Wæg¢è«ÕjsåòìÌŒfã•0|`}³&`ÛŸ¥?Ã…J¶(¾,¾öTi"³ô6.8>ävæØPn°ýY,#ô™Œ©€éAu›<«“‰-!”XúYêG))ñÙkfy-™Q‘å+cóIʵ%“Én·k' ½ß‡ñÉü0oeýGbÁøáà6Ú1§ÆØ©X_«H©0ÈLÇ9}útù5íª,-UÞ^¬½WõÖ#ŒïQ˜ü†µA<ÕkUùÝÂ8º.Íïx)öÀ@ËP5aC”rì£íƄԮ‚@áúŽ±èƒŠô*B±ÄPJ@]¾ÒÛmÀJ³FXàé°ÎÜ6b¨h#M§"ÛÛ쀊†m®¹Å=¹ú{Ç4±)‚©Ÿ"Æôú*,5™¬–Ž4Ÿ%0D —޹‰\•.ÔöC·ÓÓuVâX¼1¤ðix\Hï#ùm"!Yæ=P0èF Æ­Ò°‘. eVV¤¶*µVá!:^ÌìÖþë4B««±f±˜!Åü"p|ä»ágëkUкpL‚« _IÝ}÷Ôwÿä™Õ•›}7^éG¨Ûîú½ o€qí/TðÑŸ=w¥Ùˆ ÍÄÀÓê…­…%¼þ£w¢nfô÷‹¨‹“Šª*ˆ>!è‡áöú¤é3=Pu=~Ì¥£.z£âGV,I5]Ä}Z¯j¤•æfšn½D{õµZƲPfÐ4§-äd• 0Ì ¬2#IÅ%qc_†õ†¨ž˜5»Ñ[bÄ=®Ø0 [M-üzŒ›gæðaÛØúö?p{Š‚øO=û´KÍ[ ýáèÄhg­|v>OE -ÍöLÚm ƒºòVÙL[¹b‰uß ÞÚ6éž~¨ˆªP"+¡C€û0ÕxÌ%Q {[ ÒZÕ-D-Q`ÛøÕ¢ùS¿Vå–“–ã¦7W°J?‰r#‚~Ûeb^™ÈU0ôoneÛU@ô¯½ß‹PõƒhxÓñtŠð‚ègs²ã .'…ae‚è_8·PUªÇ·2²ô×5ö ¿Ò¿C9g›×.ÁZÄvÇñ¢Õj…õ:×ÕôÜëÍB©ç($ˆÙÑß9Òƒ­ižà -zvA˜+þñ{=fWfn[†™ÔbA™Ìtó1DvT’ IÛ* Tpu(#êÇ=O72¾'¯ÎF[¾5µà×6[¨Yën"i˜i \7L· …D2Adp Oºaªø\ÀW0odˆ¤bû‡B~^ð# -ÄC4°åòÖtT†1–Q•"@8dqÈn 1$‡ Æ6Ã,”*%U&ðBµ€‚µ¸`W¶J èßÄTmÞ2œ˜Ç#ØK0d„A'ʇ'ä#˜‡¢¥tÔ ÛÊ徺aœ}ITUÅ;ã¡]ðøä 1É—yhòvy.É‘¾õ­¯ó HùîÂÅ…ƒþûÿò•+—ß“çKKï þnŸA2°Ù³0.Æêô ¯4xqÁà”U¾‚(ôÔ¹ÊîÊŠ~Oõ½uD¥„‘O‰¦-.Îaÿ@æ $3û¾TCØ“èÅ•KµÚ;BhйgžzD?—K,h4ÙÙ܉þ@7É’Aè‘Mßë÷‡”È–WbJ‚ÛnYK(ñÌPù <ÂÜ똙=|$ŽÞ'™¦a+ƨ¥[úâ™3-rcŸz -#9gΜübŒÉ«t`ÀËÑémO rŠÒÜ‘©¿[5#H"3#¤¤`æÃDWÏr\áW³(† )·³í÷¹J„Šgz\ ÃÒ_èЃObs‡)Žþ]ÆHÚu…L‘q¹…ÑŠ…VÌ ïÅÛ[­ Ýöù$k[‹—+ à¤ÕqeÀ£º$ýÑŠ§ÙÀ2EQ®ešõë­V£•¡8ÒÊr}|"OH€Ð—Í…DIÇÌT -<FÿçÊwÅZ@µ"‰Ì΂ü…Añn¦F5ýn#0³½ñ•Káäæß0P.BÏñ¶5ûŽç1»aÉ,P1;¾™àwøéÄd.\GœùéEünÉAÄ–¥àµP¨ºGO ŽS·êÄmÒ=¥[sŒ ÀE{˜Ã7Y} r?ð\ðMá—㼃 -7‚Q3°ø$w‡E&ÐÜaO‘„À¶.í+2JA}Õ£L% -‹%’ ŒGùyÞ˜9ÕʘmÊþñÐ F_ Áý™e…‚uؠů`âD.²A³µ&–ɆT“:< šóßóÑ9`°&Ó@0I@ﮉћ(Tà$ ffp—–ß-ÈÍ;‡ã8`bžüÑs|òGßù=íñAŠõƒ6ý¹±b\Lœ*Ý6°ô­Ñ›ÃH,¬T¾õ»ÿ;œœ—«E3[K HNÛÀ“HD«Ï@ºPñ Éî¡3ÜöHˆ³u -„úŠP ðöeö#0¹xÀÐ ƒÀ‘>IåÑS'Ÿ~öéã³GŒãÇäÇÏoßùsXõ“3gW«kWWà(Ý=°ù±ݳÆE~„ã VËÀ.L0^>• é}-LôÔ­ð¨ÄEÐÞf¬æµº¿áÁûfJHâ^)UCÁ[¢”W‰0+L4~Ì †Â‚JÍZn •&ývS6ô´Ë&–=‰¡YàøÔªˆÚÜŽ¦¿)€®eô_„£‘jJt0î×(ƒ™`笵5ª:RõXgÊ3špxƒxmé´Öj9ðÏòk qƒ8Žcî°ÀØ„ë>(Є}údtÄ`¶&& -çܹse;kퟚBJaúRo“ìPS÷|'AÁð@áÎ:~&_‚šJ³£ÜU* !e¥R+mP¦ÍvGéÁ$&àô^¢ „oÚ(°CÆPM•¥ÿÀUPÄï(ÃFÐ'Š2%@ޏŠ~O.;[Nß¶²˰3Ùòù µ*Ñ-ÃäRRí"J\±hÂô{³L ÉŒ+BP˜ÉÁðjÃZJ7;¾‹˜z†É`Ý2ÑzŸ9%è!÷墳[F‰¦ð¾žÄJ\´TOч(KÁ-oIƒ$ ¼Q&…¹â^¶ÃÐÂÚë†í6æl¨_ a‚<¤ðó_ÎﻊÊzHL³0ÈЀ/·ÆßÛ9fpø…ÑœFÒfjKý˜GÏ÷+_ûWÏ<û"Ü~±X¨VkgÏ\øÊ¾ôNåðÔtmµþÿ¶÷Žã¾ïCw{»ØÃÇ=xÄ ȳ(B`É (Ó¢¥H„£È¢CG–’Ʊë¶~Êä%uÆ3I;ÍxFOòÔfÒ‰“7™¦~u£—6i\¿çJVÌŠ²j—¶F*ZaÊ P¤‚xÄé–wXÜb÷öð¾~ûÛ½(§Í¼ŸnVËÃÝÞþùý¾ÿ¿ŸÏמxàèì~µ91X|¥á8­|>W¹´zঽ`ÑU×VM¬C5LÝΛ"`x )ÚY=ËÊZA ?]ôuÃ-º—»*Ä‚ú«À‰×”ÚîvÕ6ö•…æ¨ÏebÀ=ýݹɛÆiC‚€‹ 2{ËGw›Ã6ðX¾; IDAT4#Ô -‰žà¾t¶z¬HÆv·3³'Û¶cû¿pòÙ“på'ž‘•9ßýÎ÷Ô+SaϘ/H G–†¿‰õÑܳ=fŠ©–×Û|­·”;;hµ[MopØŒäBØg$ê"©ÔTÍVKzÈç¢F0cÀý¶ªícÐÔÒé°-#9@Ne3qÈ«ÝIת3kþÇ8éß¾´ºwߨ‚íQ@?ùŽÀ²“œ²¾WVàÆ¥A``‚èçX3âE%ùIìèœIè„BËmÕåePµj{€kBÃÐ|/tÁI &ûÉxŸ\dâ)ô)IÞ ­œ6s]É¡èP~8‹ä3HuŽ!,Ä’h·Õ*âˉ”¬óÛÄLWaÂcà U’Uâ†ÌÈr  ’ø%úlw*Èf‘±ÉD4É^ 5L3§EWg™YIupQÁ–wäUÀõÖ’G°sÃù(̈õ-Fš2¸¡îˆ}Æ€‰¡*…tRÌÉ{®juÔXm8 àTÒ¢@ÐРQ]Ö/· -Ôœd’bK_Zâ Š®T0TüUøóÀt}?¥÷´5HV±oÈæ{Ø^ßðÀ¶@Géu&jÅÎÜac¹$õøWÉD„§ËïÌ$Є’¥h­VÎÚ¡À·H©¾“Ïž*ßttÀ±w¦é¦&VQ[[.îƒmòOn»Ù'úy€ÜéÏûÜêÕ7@ôï¹ïŸºx ÏytÃP¬´¸ÿðsß=£Î°V­ÍÏÍσsk~ÈÄ}b.©-¤1'©!„â©’ P£ûì÷6À#´FÎ:?W+Œâ×'{!aàV4¬¯ büD®·”e iÑ/:·¿#È4]ØÓ ;‰ÞÝ„ÝSß> ž˜ÿ•ê’2q|ûÛ¿+/À0 îc $žªO5!ÉR­÷!ée€÷wÓ²ÄúÝÄ|J“zÀ2Œ)s”u›-=E»tÓýM?OUÞ `feGJà`=h†2iY/"=€„ܭ՜҈=VÆï®TK—â n»Hvủr ¤?]xšc8 -ÈÁêe]¯¯5A#ŽÉÕÒpZ3нfTŠÙä¾bæˆX§±3T?XŽçYÛª<çw¶mø>‰“+µôŽîFÁ·KØ:«Ž¿©è‡è€j[JÞ|/-Œïyz6«SIOÉw1>0º4²ù¼ÈìÕóG¶’Ñ d Åÿ¶³-ì•KcŸ¼kÇËáqÞš²I -&¾Wq¾Ï›Û‚n™x -ýÙŸÿ lÿÒíóob–«òΊÓl•okPû^‰S‚<:2Û$hqS©IÈñ~ü @|sÀ7YÏÜëÜE®‡°îß\Ižè€·ÁÖ§)Çyrf‘ªÿ.“æRΞ¼TD®`PÚ€ÃbêO19OR'©ò9å_w)c(á–u@°£•2äUˆvÕ?÷v,GNk¨ÿ‰|á‹øëÿû¶˜èâÈøü™k09>ÿùßúÎ÷vø$þïßW¾@+tÀGÅ… -îg)v7¹­‰|”é™éi!#Z~¢RYuPû¡|^ºÖÕRñ­ðYo¶„’ë—Ôö5/a;Êžb®ånVÄ ïÆ;bEe@ôó„O§Ð5ØŠÁúû\ùÅ ó‹a[yó ÁÒ]³kžëÿÔ`Ã_—éP N)@å -TQÛí·ìÀð[®ëÔ³ƒñ¼ Ž×0'¥ .E‹-h Æ©îÌ’!=/ž ˜“TÆêƒvÎ' „ÄNºã$MÇS´æ<Š{ -íM Üy޵âêiõs(E¿%¶ÇôûFåás}h -{2IúcÊÑäEˆð#ƒ‹­N HHÿÊùŠ@.¡ž`´eì®&N8Lü2C"ˆéÑý£õ%·¶ˆ1Ýmu ¯<&Ó$Ü… =˜Ä½1zIxØ,• ¡,ý=¡¤¿<%L–Ù/8@l¿!Td…‰ðôùXkŠwIÐÚ㘌Gñ}+*t=¬þ¤ïxüK=BÌpW›&!ã²Èf5¸9ܯ€Õ0é4§4ÑšŒ}õu6ÞQRSüG½yÚ@GwOðqFFðrØ(ìÉÝu¿l7Òi8‡õ”µ¨’®½("‘pïv %º|åSH–Ãñ£“ƒ‘Q$á5D j}£GáOl,ý}¿-ºD@ÍlnäpD¿ê9軥ï#úßg€+/ü‹¯ýáCÇïÿ_ø:Œ§Ÿ~¤¿ òñ÷ù˜Ò¸Ï! Naâh\FÁTõ`þ£¾_÷•À¸ån¢@ŽöÚ -²UYR,JGT.®Ü>s€Í§ÿvA…€è‹DpB`xجŽL)ÿA}ÝÝìZ |xf‘"“)‰èv<éÿ'¿‹…˜çξòÚÙ——Î_t[Í#äÑ…åGvÛ##éÐ3ÌÆZ5?Râ*â©tBPvÅ6)©ë8 RÅ“ˆj{¤ Î(-žÔÙ}¦ªm_#ÕJƒ5j©zÃ!Û´ì´Û³òšòw» Ç3TReº!á_Ðö°º>Ê.>+[ðÂ=kØj¬ùYCyxÓoÇË•ÊØå?õ¸a¤ºÖ>pëüÚ[í‘ënYY™k6«¹ÜpQð“ ÷:v§“ÍdÌLF§–}6ßôN:»ðŽ«—~ËÎ[ù¼v=^›ž×æß´‡sˆ·‚\vàBðr§ˆ›Ëa}nI.:;oâ:ܤJ>ªK/•÷—~¼Øî8è8ø¾Ö¨ÈS¼ÞZ¥a2¥³±¼¨;¡·Þ5‡Ò«?4¬ëŒ®oì¹a—ð!¤,-ˆ®eûi ëMˆR!ŒãT,z¼nWâÇédüh<å2&< q‹ªQºAchØn·­KµUi wuÞ€íJ - %!ÜÒÄVD(ñ¨xÿFóܲMÑ Zlj¬±]çnØ3?:sû æjÃ.Ùú»ËÖ N¬n(cµ°m϶%Cÿ{†Øñu!Jò6$F‚IÝÀØ5bš,Ä»¿NvhªjiÐÐr×Yµåz¯ËÍÊÒȨ̂œ«M†r)ÀlñÃ’³ˆOÆ-ŠQxËÀ쥰‚aÐ’nf¸IÊhÆ Ô-¯ ÌIx‘FSƒ=K$9é„éëÃÃx7,)XŒŒADžÛf4¬ j3ïÅÌŒ“ àgðk¦Ç­Xo'.­]ö‡3ïóo|ñËß|êäã_þ"LcùuMw;\Xp–/ä ×ÙgÍÛÞeå¬;_øí?úú_|þ9±o"bÀ¦GC2ôwn׈ÈH‹j|´ìu|ÅÝÔH g‡ÊšVñœFw3­¥a†…õÕµÒXAÑšIwÃnkÑ™8ªƒ]—É,è²)Œè.:ÔythB†H퉴 × -&rB©î¼kªhçkUœ$Y‘=ò‘8  RÍ>Ápž$ó…t± Å˰Ü'$uÀŽãéo? «÷™g0¤sò¿žL‹"¸ºaå†Ë7ÓÏ'š¶Œ(PîƒQ@¡|þ§ª;¢®çD³MbP†Ÿ Å€ éýö5†·,l%åâKމèg`½"–™eµ7\x™ ±.wDTœ‡X]‘9Ü“ˆp(Qpx!c<ð_X?Ã6ýÓîçŸ?yï½Èw¢ŸßÁb¹Rå ýE¤ r«ƒN×½îMír£¡6‚ÜŸ!Ô\Ø1m;*Þ‘! Iº"T©ŸÀH=<št€‹`úº‡ïûà3æ‡ó ý­FU -©„èõáÂu¹Å‹+á{Íân[R‡(ý¹à_È`¡ÁV÷aç†\ò¬÷µ—÷±hâS(ýAæ)K¶ã°wQCÿònÔж(Fú¶ƒð”‡À%Žë‚Ï É b¼kY"¢Ê%_•ùÊÊE: Ù‹Ã*éVbÑàrLË}ã(¼£«*\þ”S‰Þ~mWú%]ý¬Ø>”°9†l3æ “ŠV)bgÔ—ŒI¹°˜Ђmh%< Îú§ ŒC)¬ý éÔÎùÁgOü͇^“ -´r©‚ø9Ñøü?ú­§O<¢?ù†Ÿ1̾ïÂãHóèè‘ãèîNÀ$ïqíÝúô“Ób²V]3©È; ZÌ|à54A~vÀD =ÙA -©IM!I IÙNC,` êÄò–·­†ãÖêN±ØãÄh†î».KŽ$'CqhGéÿÔ·ž†í‰ï`i&H±)m;À¨Eƒ -ì°×&?’÷eÉP‚€¸^ÙE&èâ3äÀäé~ì‡ja7µè¢‡€Q´@ÈÈZ–ïò–&éÀ: Ñ/ðä¾ê掸n/ Hÿ.÷:Øê‡wB)|\«é¬Ùs¨_Æõo'ÊCúäC°ý…_ø­[Ýßû½/ˆm£íYC§Ž½½ÕÍGQ0Ïô šüìñÒU×¼„þ+îÉà ÔÿD?¯šb‹‰3,ýMÓ“ö ŒŸð\ä„Uä¥}:€íÜF£çY D¿ªÜåa ™à³‚ù -`t¿¹Q³‘»cl$?|ù= J u°ëey–i2WÄ•tŠÒä¡§™ÆêjøUÇÇj™ŒìÞäÀÒ›˜Æäê”|o^Ä¥';¹_^½MŸuŽD°3JÇ84ßE*×P¢Ëè1ùh·GN4`G‰~ù8`ô·±E“a´5˜'m¬Égú-º>ý Ì@5 cƒÆQxw ›Ý\:¾êJ%lj’ »±ÒáeŒEØ»r3Ì1«6ÁŸ]*Œ0|Ò*_""޻ʜ±|9¬-è»ü€è}Ív2ð=}@·rV°À©©þŠn7–ì|ÙNçàwÁßUE£¥]v -ýÑŸÄãŸÀ“Ö’‰¯œ]xOë;ðšØ?Ÿ 6²kýú›‡*9ø€z–ÃêZ%è€ùWA 8ë.³«â‘É“–é®Dé`¦½zFðD˜Q`ÍR¶ô· Ý‹ædmµ‘™½2-ʬÂÀ×dNÄ–Ïa(?è”ã8*æïÕ7+kNu©òÒÙ³§ KG¬ÕYú‹¿–Hp\Šn7Ö®éd5 É*Ù.Rݸ‘<®ïÄX¼Öþæ2üº‘f±þûÈyjZ%¼m¤Q¢7‡Ì¢ŸÓÂò-þY~4‰°@c®úämÓ…=Å‚•»ûÞ{ï¹ï^xg*ahˆŒæ¿r†‡GÙà²z"ýÀœmF>”0ç9¹ƒ¦çØyKaïDïäì| Ô€–fÕè³`Ot iV HÂ0ÄXîßE=ÀçæK£rr ‰"ÚERßvÏ t×=¶ý)äU¯Ä  ¼o”3 åº)SÖüK¦?_–Œ´Œ¦žÆ÷z<€¸Ý$N… ª´a' :ײ”ô‘°}$_`Y(Ó›c ,YøØVjmöÐ$Œ-Ü–³s˜0ä(Pr€ôç› ËxÍip˨Ì@Vµ£~°ê÷È v>àÑétÔêpã€)”QÂ&DSei¤yÍ/ø4Ó"ÝE†û$Øá TüGuNˆ¬›Žå&ñA}ê¯ÔE¤9”»²¢^kÄÍNËŒ½z" *´-jÃàU—U ÷"qY¦®‘ÉJJVcÖ`Òœºÿóâw¤Üßæ]%ǯÿêÃ}ãs¯ËìnÒüèSÿ›O=×ç°FI~ýÀÍÄßc€ìJS  -z:1µÈ&+Má,$±(dÈN“ª”Á½õ({ÌcöÁƒÂ9´À ˜=ÚÓß:€™¼%Î(Ði/²xa2d~óÿø—°wáõù‹óóãfúön| =õtŒt¶•à ÈDf<õNhF>D†‰bŒÉçè3Foõ¬=? °¹olE†Ø²º ¯ó,Ì~ô¹ü2þ¤‰Œ,do ­›FF—"p@™4hTÅX•nÀV˜a z;¥` 77l! -ÿÛºÃ0,„óÅ 6UîÍp•<œÕpêCx£ï¾ïÞðüßùììÏ.ïE‚ˆrV>¦2îˆýä_ý>8Ñîþ¢¿¥s‘b¤?)v–JbðG—ä´Ø±eYøìøá™š™Õ@U Å7úW½ÆZÃw½±bžT¬™.ØyÛY[KM.¼¸¥B°&B} «Qçˆ<ÓÄ.P‘¨fq¤0ÿãsExâÚVíNÛd­lhF{³íuºÙ,¢ÇŽ0àk{ZvKßîU_´ÅìüøÛ®·xqyjªÌÅÄaà†ütÙ®—–¸r¡¶e‚óÇ$yéTˆÙüA¨8#{ïļúaá¦ð¶ Ôs:ç}mðR°¶¤ -_[_«­^ˆWP'¡ ž+ûrêâì’_gìzŸ²5 KWk¦¥7ÉÄ»r)3jŽ5͹³Ï:tÜ ¯ãd3%-ÈÖßm•®/¶Ã&ç“«VàùžÛl& Z$Íùƒ´Hz ÖaíÈ^ë¶×‚/‹Y„†è¤fJàÎÄ´>¤Ïým%—7 ª?ÉfMo34)ݺ¥qt.½‚y?‡·\ Ôž–û!å2âÊ!3h:ÅÊ/ôÖ=ƒ¢F\ÙVU„âi1|4& 2ñ É„JS–†«rµŒàŽ_.jk~(gdµA£Þl–wÛî&<þP˜6€ýÛpVfhú œÉÙ(cµ^ßëI»ŠÕ^³Ý€WÖ”ÏâþŸ™:ñßæÊûâêLþÀ POúØÏÝÛ³ôh®>ÿƒ,½˜ª—ÆË^ovçgÞÿô·žWÑž Ô˜WܸÑñòì=åzËÄH¾kÙÍf»|óÔüùJù&¯x½5ÙÝ 7›§XÎBÂߨMS°ã3æ\1š¹n]à’üµœˆkNËaÆCt&"ÄÓÓß=;uë$CÞF»ñž»p±R,Š»©Ì üêÔ™WˆÝúúØ$×ÐÅÝ=Üyß›úÄ÷‰mãÞûî°ý}÷9pklàs2Vé_ýw'þýWŸÜñëaBBÏ/ÄôØxáÌK‹+ËõÃwa|‰hdWiW.ÅXÙMpl L»ì–…ž‘ºrA˜òæÃûF/§lõÝúÌ2ÅÒ_Ð4è†]V¼mËÓ'¼ØÂ3Íì¿5v™·×/²ôg©Ê…éTŒ„'QAH x›Ø6Ttt@ÖÌ6H8ªã‰ö|íw¡Q5ÁVĦÑé 2ú–=׋€ÐßCF‡ó„—©³FŠ $ýA øm×*J 8¼rá<Æ&ÆÇ?þÀ|œwª‰Œ?h{P`þƒ ¼žã$Gœä¤Û:€`ˆfq÷¸ë5ÀŠ7ïÎ8¥ -=Aú3ì𛈱z¿A!#xU0—ëYQ;X¡hƒôW?í¬9¨Ò’O3u˜{¾N÷ß#ñ„;ìLOñ2XRG€å - -@î¾9ÕhºæND¢•;lq3®‘•×›M—Õ@7„>²°´") w®7롘†wé^Ý„ôð P è zA¸.=X‰ qžXXúãhÅÈé"³nzí0¶ÛÍUçj5zX¨ ØÀ’ -2ÿq·{š!תmõ×a ˆJá+Μ,†}uUˆ­F@1FôÃ@c¦*tšîènѰ¼&ÈšQø%KöAÉÚ¸iÕù†Þê¼Y¹Tsw†˜à"Š9±]4ÙªE™›Ž`öè -D^M‘´ "}‹8I0©Ú6Y+˜76"#Ýhr9W<^,6VÙp> 3ì9j£M5"Ý -^KKhîÜ¢9d²ô‡qòäóñýJxrÅbü%±“ÈJz—1AþÄù×ϳ©¥¹ñÈUµá¯¼z~õÒ×8@|n²†ˆ~Ðð‘܇«µg„†ÕþöcqÁ‹5 kmá?Æ)b£!“ŽÙ]`¹ÿ )̹WÅjum´42{ôH­& †€6ÁGl{ ?Ys,¹²zÏRæ(êŽW™Ô<2„ŠãD—ºÞá ©ž5Œ$>¸ˆ¢Zm¯­€þALoWlªKÃdøJ YŸd„ÇÏwb4mº+ºÑ¥4 jЛÚѯ8}Òjn½æ…=: ¼ÿ@ù¦IØ:ˆ“ìÞŸÅö¼ù~uÁ @<ñWO>ú¹GÞçcjÜsäã¬x€wÚˆc·!Ü`Fº`N67]ÆÁOhÇè+j$©¬T7¢² hz¤}-ÓÄ<$‘~ÃÚ­­ÕO½ðÒì=wKvq46²Àö‡E›ÏåAñT¯4$~KÈp@f±¯¾+蝹K×B‹ÍÿfÃ]Z]+2Dlå¥fpvœžW-„I¦ß¾ÁËDaÆXfŽi¤p[eH§Ùì{3iûsçvÚÈŠˆßØk_Ssï8šW›ùݱ28tGŒœZJ\ƒíO=Pf,ï`ñÃR䤫 ±‘N¤šìÈaóŸ©Á`ë®Ó}Î[ªÀ¿2o×ê2––‚ôo6¼òÍ=yXblñù/ˆ27*#‡›žá:+*HDÒ £?ϧšÆÙÒGAO© ©c"È&Žÿ0W¥êUd€%g”Ùª5]¿‹Hª3FÐA_Vï\³|îØ±XŽ'=€3s—À4b@”d0ʈ^KúÿÞïýxg¦Ä§Žoÿëñ_>þ•ßýŠü-’þ¬B -µºCffߎG¾–cü´Ä—ßYËÛy„ùô\$ØñÕŒ‚. X¨ÚTë¯åç©X+ìºòB€¨ŒC@°3JÔ4§¾zúÖIõuÑ«#™ù!:¡ÛœV˜IS¨ ÃëŽî„xÆÀÜñý-¾Ëx^HÏUn ±àwåñ;h}wa‘ëš,¬¤‘Na˜™,¸»…Â8xÐmx…AÖŒO3!]Yln!d½ßÅVªp°È쉲ˆ$»‰­LL Å+iùݸóÛIô^õê¬K#·<}ð—îBx¢{î:\( ¶=bçaëELµêZ5¤âküwävU..×ÖVn¹í–ùŸËšæämÓÊSk{XžÈíWˆéÊy…”$νûÀ)t¡rvúÀÁ‰ëÇkõª»¡îûå#ø‹/w¸›žÛ -Tn(‡Ås[TÌžår8—ÑÜ%Tûºµ¬S½žÕuÐq!<ÖfÛÅØW -ÍmYéÑAªX¬ÑLau<ôñÑQ8 ×Æ%¯-§Kˆ€0à-ÀíaÓixØÎžŽ˜ÓÑK“ñ -0ö½4vZ¬7´t!ou œ•"à8I@îû>滬ÊKwcµ#y¡ôˆRÀg¥Ö£§UÝ`ÝMc&&Lf/rÕ"úe«i ÆÇ¤!ÖX«Í7Í<ª Kû5(ðÜÞlÀõí¸‘Ç ”c‰¶g^x™ß¼ýƒÓÕjLê»:kbg­öÀÇŽE“ª8:4zÿ½G_üáÜÄX DóÊr­8Z€msÝ<0¶FÜ„…QkþÍjqghk#,s0+굦9d0RXaí_ѸU)£)²ï¹š‘’³¤íf÷V²÷OÍ϶65½T°M®ûDŒ„{B$Jc6¦ÐM/Á…–¦°sä1y29Ü~ZÎù°ãi[©c ŠÂ×ü'pÅ8*‡ÃDôP,Ût¯6¹DûÂÊÛÃà±ðÙ¥‚›ð-$©¶8dMkÀ‚‰}×´‘ó…ÜÙ—ò»ÅØ ²˜Ð˜5~±¹î£0W:kŸù î®ÈºËD¼óGŽßg'z84lŸýwÿ×Ï}ž¦yê…ñ‡O<þetÚ’¹Ö#Óûÿz|”Óy{±ÉŒZWÙ’æ3=Ü8uw¦¥ÿ=÷·sð…ùåf˺¹ K Ì„º@4¸Ë£Ã#0ÚCèf—2@Z -ñ+¬œ¶Ž… IDATÕmÓR¯hx ðô6[YÕðG[-WÓd$¦p½e¦a7[˜®ô:}­B‘®%–XZ÷Ã.޲ê‚1ÖÕIšI@–< -¦3Lb’c3I'@BTRi¦A5¿àH"X[ÆäškI}‰4§ØÿÒ¿áÔòvt€*×A·ÕcúùQ¾j%'œ,$±‚ÕÎâÿ ã!¢þÎÉò§;œ„JXY3Ï—\pÂ\Z0¾ñŸžœmabJ¢s?žpÿÑûÔ·‚M ÊÛ¯üñŸþ³ßþ¢úÓÒ -ꉉ±Qgƒ ˆK¸™‚ºó×ê‰&okWZ¨hçöo¬_vÏUŽüÜLmµQ«:³ÇfNœ+í+üðä3ß:]+¯9¿°x` -;ø|€Óh´œ÷š,xÌl¿S˜³eG¨MxÎ}1Oüõº3R° àÉ5ªâÿ·á¶0Ê—äæˆ:Ãï‰á¬¼ƒ·Ô³C›ä…€ô‡Iëz>ìŒO˜+ï˜ËK8£"Ñö~Agzø-Nýàô‘œ>ýýž€þ±c¿¡¯Í¨¼?JÞD)7TB# ƒéao%«Sw삌€ΟÂW-î -÷­æ Š ¿¦"Ÿ¬íªÈÇä­“mG1Å=¹½7î©­ÅÑž˜i1ìZ¿\2ôˆ<ôF£~À¡^®vg'Àk³¥[µÏ`;è®™-Òh*mÐkWã{G¶C¤ì”?Aq[U…Í¢ÿüB…yá‹Qèö ÇÄ‘¾HŒ ,".ÃҨݸ,ßi·ºÎ{|Iñ.Ȇ¦ºRúÃ6Œêñy(†‰t*Í% }M -}€€…Äx!hIÚ&×µ"¸§äéÏj€RÐD=8‚ØEà úݨ¸ÚÇþ¢K~ú>²bŸ ð—_ÿÆÒ¥‹~þQþŠíÓ¡Èáã¸ë.‰n{ú¥3 oÊÅ j`é&“NU_Ÿ6O¿$ãÚMzpµ5œ€‘ÝËÄé; ýagòö2ìG󂛞)³:@½-H.”d0ÿa‰Çæ^ÆŸ˜š.ÏÍWÊ7`PháG SšZ¹´NÀ샳gç8ïàÌÁ³/㸉à,z¤?èP‚Y -{v.œ}ÿ«ÏÚ•sÉ‚©·²Rƒ­ˆTµÖ²ºâN§B6hðË©tåüŠ ôÏg²f¨¯é°‚´‘®­«Ô1†ÈÇnÈJÐíQ?ô¼ÔY=ýíï~þÑß)÷„¶fï;‚:àè#øÿùBtÀÉgeÖeZÃi—oÌÀo*IjfM6Ïy‰a!lÛ÷6»µCDÄc}3͵@ç‰*Dô~m­Œ8¾Â×瀹„ļ¡®Ø¬%Ƚ^»²¶øúâÌ Z ýk—›ç¦yä9·Ç J ðB9ƒ -™F)Äç!õ•l¾§V]»œƒ•!šŸÒÐwPÂ\šìþÑN×Qþ.û®LrrJ‹à’ä*tcswÝåÿæö!ß81}ð¼àòž"Kº–ž®çž= :· tuJSç{ñ@úÌÿä˜þàíóó¯ýÂý÷‹[{Þg â|yì ƒP,`Þ‰·˜Þ‰ÌpýF;x3’@mÒvjÉ`ï•¥¿H ¾rÃ]ϵLKÏZFZ‰ÃøÁˆ­Ð ˆt{É;€µÞ½7¤íùYÓÀÔå°Ž¶¦Sy þ0üoTÙÅ! õfäFµùœì§OõX¯i`×r! ÌÉ€¥Æ|Âป;´wˆ^é ~ëxw—ÿäÿ|vÿ×X§B@_ùƒÇÿWÿò‰¿xBé€ün“ÕÀ‘HÀÎÌÔØ‹?”ôIª¹Ÿˆ~µc‘µ^¯51ÔóLés(ßµíìåµ$0µÚ Q\•¸­ÎXœæ@BBGp®ºlûÛÃbÛ(óð¯WØö_<_©×m˜(‹¯Í¹Ô€ß -ìà™ÿŽªâÈу/|¯ëž£3'Oœ.]Ÿ-Ùs¯V&öâ5Ö.×§o›t¯¶jK+åNÁ¶ö^¤ÿÂB%—³`§²€^QqÌv³Ä Lã™lÐøþVùÀX¾«ˆ˜ÆSÓ¾?ÀÆnvYŃ=×Ü®œ€í%@j°ôßþ>HÞùµßxìø3³_ûªD“þă÷)€¿E=³ì%¢-ñO)ý·P„b@CdéMf -.½S - I ĽxZ -«t’«ì+h°(ˆªAÑ D?;Ž´–ÆœÐáœ9·aºj2çpnf+Øì›©”È+ Ø>1½t\jÝDmúž2̱{ \°â;fìJ³‘ÞJ¥Iàuü΀–ÒuÓÝô0¡#jKÖk4Vü(åµ·Ž?a _ZˆÓ¿ÊZT†)TƒŸ'’qÌf¦æ}.[(ÎÜ6uð¶[`»½K™›nÂÄû…±ÒüoxïÞûgWV²‰©‘DÛÓ„êoÈv¥Þö®ºÿä—Œâ›óó ÙO_~=èñëKBÖÆ¹m1ŒŒÔô§¤JI–'¦\º¯i­jº‰\ÏžkhH©S]3ŸBácÃ;bÅŽ #3_Zøc¯ S•Íš p;ךΪçß‚e‡ÖqÌ(I–E—‰M4!\°ð¦$]:,;K¥¥×iOÜ å—xÙN–îD®:ØnÛ7³Nýº)¹aÃÝð©ËÜȆ†ºöi|s;™0ûÓâ[£*€‘K‹D=·u·ºò)–áZ©Ð…­ž‘ÝËp|Ð,Á:š” #¸Q» ;8U‘8QA§fx™N¼l1Dx„—÷:mk×(¼^yíô¿ùã'æÎ½‚÷.â>;·pïÏÜýÿç¯.\\œ¾õvo½nsLû•?~ü‘O}>355‘-æ+ü+ÛÑæz“Ñ›iÆ&¦fbNªœSc­ÙíhÃùáVCFvÞÒR!C ׉ÿÖ¦h€™2‚Ml7+OL,¿‹^ÏÒO(NM‡ŒB9æåwdJü™wN•Jhm<óÿžÊÛÎZãâ8ó=§Z£8:Þx/;îô7W]]XűBðž+×®8žã_?Jö@ rù\nlÌÝË~|s}>W(xår3ogW–4+“ÝsÝÈÅ×—ðó…œã4FGó–!ÎÌ-¼k -¦ÿ¹.Ì›­¾[?÷£ÅcŸ<òÒ è»Üródvxµü p\p˜l4éŠ4Ós]¦wE½ù¬‡?šw}§±ço@a|ú—¤Á÷ÙÿíŸý›OMŒ£gì‘)óµZCtL»`8ußÔ&o,þÕŸ?^ïçÑÏ?öð§xôŸ" -´)´ö&Vf9‚‰fæº1ÁŠíÈšöd=>¬MÙ¥¼FÍ1-3K©iÏó*ïTm»4V* Oãåm‹k—q9#þá<†~ºkt»¾žÆ-ü)îjQÞÌnÀÅiDó‡µÁ:²ÑQUŦ¯E­³y;ï4»ùaÜ÷î—SLJ[½Ü€5b€Ž˜BFÛ‘K|¦Ø—E´<´;ÝN&Ý_ÖG±â# TT_/—ùLÏBõª>'Ž2dàù~^÷aõ"ò[Û¸ÿ§Æñã½yèãèè=L1}¯§CˆGE% °÷’´ËÜkóÕ˵éÞòÿ‚Àù7VÖ®¾mrù2j› ¡ŸÕÛ\BgÄxYÃ`,fѹ?ÿæÓ7ß;ðæ™Wç@úÃË%ÿ†·ØîcåY°…ËA­Ã‡fÿô«¾ýŽ•qÏ„¯:ô˜>4=¨¥ÑPu·ùÝàx¿ºT_}§>uG1‰§/é…"z¤X_”ΚgQ( ä>Øn`²€—ü nýÕ‘ZDž—«X3Hö6Åa¬A£¸VA>H­v%ðHúÈô¿"FrÖ8³'!¸T‘ÑÃJØ›ìz 3lMà -‘ >L¦.DÔ.°ãI°¦¾X('/ÏL®{QhŽO~ë©™Ûû{zy€ÜŸ¾õ5põ`G1ÃHÿ©©i˜üÎ…‹ç÷ßx¶`ÆVÞ$AvóÔÚ•¼&§ÆN¿°P/”o*Îým¶¡æ-¾Y9r÷ È÷ÅWÞ3Òß¹ÒûÀ ,ýÇÊcKoU -»óà™Ág&nŠ |K&îW–°–¡|> Vñ½lÆ.ƒÛ”ÝŒ¥ÑQöqz!Òú©Eä謨êkÍ•å&øüæ3ïªÜ@%o›õz“‘&牼·¶R;õ­SÌŠuê»g‹{òõµÆéBM¯VÑQ¹f>ÔïÌÂÐVy_Ü8Ù¨¯KÂû*I‹;ûíØ=j?ùŸ{8›=qòÔ¯}á±ÕÕU–þ}¤?ˆ~uuþèÌ™ÿ1÷ÙOþæà·ÿü¡ã³ðzúÄ)y’¶f>lyëà܆¶%‹÷ÓØçR®Óâ̳*Ç4#Xì껵¹Wç±pCÌ¿V)î±§o+ƒèçFùhÈFÄ<–†Çì"u†" -1oiÜAŽ‚…ÏZ4é$+ü•çðÛ—jKo׎ܞ¨]´*¯×œærù€œ*\k-^«?U¥_Eè—‘wÁsÙÁxíÐFŽn…Eœvè€íß!ØÀ_ÀÂ’+M×û\tß ¶Q7® ½éèx²ö1’øŸ8~,Œ¤?Þîk$A<½§*3ÖŠÝS¬^–IÖî–9v¹¾ri=†‡†¸¶2 ÷^$úQ h!3èb·NoФÿôÔ”øJÿGèÜÀ¢æ& é·Y cŠþ¯Êƒ€mnÙéNÀD¶-Ëä#ØÄÓv)pӆѠ™”OßÚ#9{¤U­ô`ˆ‹B6§2Ü©†ŠbPDhìŒáb±81¦Â¸j¨zm $â Ï*SŽ`›€ùo ò¾”ã ²C¦¿U "' RÂê¥g…‰²¶ý“¾hddDUyzÞájΠ7A§m <ævõƒ¡3”n¦Óû6ÿÏþèåòõ(žª«Kt]µ¾mO8«:Àm54ÖÈn)”Að ƒôçwôq~¤ç´›Äí3&Æê¶ ªeRØ™*/\z‘ßDÿÛ?©íý@¶"¬Nß~`þÜùâh!o½}éí½ûöNìp"Y_­V§cäúrÓÓÁüçxë ñt’ž´WÀ¦šÛ®ºH±þZ4mj`uÒº®Ó/VäBð~EH”V¯ƒÚ¥t}aõÝ5¯¾riµR©NÝr˜@åü¢9,'^Þ¶ÝV‹CØ fÀ˜«Õ‚b§àìùSÏÉsSÒöû¤?8¦\6êµCs°gΰøü¯=ö7Çg!R,ý™ÿ¦¡‚¥ÔÑÒõ=Ïa#À¢Z=çª×&ÛÍÿ®X­âT™¹cô(€ewÐN¦òe¬ÏÞŠó‚²úìF0ˆÑ´'é/¸/ÂPò|Ÿ¥¿:ÿ½ûŠðRa°<azœñâ¢OìEV:è”w™ F`5ÂüçŒkß3FM:@v%Ø‹8ßËD]ú˜ÿðb`Yyþ¬TUÈ}×q…mž–{Ä÷<»XÊï-ß:ó3wbfõ—åà}üÐOáíì§®]öÅ»“JôƒáÏÛOÿâ# BXúËÛ7lqq½i˜ª5 ÿLžjžBÑ û‡ï˜yòÄIØÂdã˜;)€z=x°ù/OÛsuÓb\b√€Q}¸k”E?xX°¢_ÙþÝÌk*ÒR¥Uû)‚f ú}G–þ¼]8÷Šz¿pÝžù×Ïùß -=ù­o<6õ¸zDßA°ñf5Ú׬´ xEuÇ›¼e1¨Ëføô¼üM´ýsvÔ€ÊÊÀŽEŒÒezä>¼N½ˆjäþ)õ£5òhóöÞ¥·e¹ó Ï¿pò„gçæ>Qš_¨€ù?{ÏÁyÄ2:3ûà#§žE{hrj|qaÎ3¿«€˜bN\^]-í±«$È,/žGwaòÀx­Ž·8ŽÒlG`µAEðGëJñ8ÙO¬Qošƒ2r:àHð@€ôÑ/(äµãð,·1ªò–þø±M¥@úÃKì4–œZ¨¶ÒÛs‘³:`ñbDŸô8›ÁÔÀ @M¡ÒÓCGIOÙþw•Ç~@ù,ýEÔ—ƒ- XTÉo:&ÒÖ+ç? -W°¥•Û" ÍvÖ@ŒÇLJsÈÛg¯ 'À.R˜¢@Tòo1~WàP‡„âÛâÚy;ƒÌ½ª„êeXV±tƒÜñ½¸ò‡E ‹6çlñ·H‘ ÝšÎ´Ú^³-=GoMJXO´Í¡¬0ex»†¬»cÖä÷ìß7öÀQrd1Çóz(£Êp -1L™–Bj¼úU¬q£bG3#³Þ&¶ƒ(ƒý…7+¡.n¿mæÌçr¶ýµÿô×o%Þ4ÉâW<¸=ˆ?–¥ŸD2Ù´nI*n™i>uoŽÜyä7ì!Û¶†§L5ZÎð¦Çú#…¡{é6 >;—WwDy¼\ž˜<ó*&Œ­½A ìq÷*æ½%õæ¿é#zˆZŒ~‚êåàxm˜FVåJ­Vq܆oŽ˜9;›Î>ùÔéÙÅ¢ÊËx¡/¨X-•ße9Ž—Âåß:ÈZî¦E7ô–~‚ÖYaOÞëjÝæÛkwÚP³.º¢ð@L·<aÇÛÄÀü³¸¿Ïxá-§˜·”¬ÚÌwÑòEJ¢ùÃÃÖôN»FžLënIsD„MI´Ë4h‹&¨ -Hw\‡êÜÛ%?'¯¯ÁÅy]ÂD¯_YkºMÔ¼¦*›‹).¢š¨þ•"œtêRí¡Ñ»ï@Av÷÷ˆÿyy婉C·ÍÐs÷ЦËÁ(ìyü÷‘fyµZ½R7‡Â σ¹sÛH€¼² ‚·cpšf¸¬ØL½å´º³•f;>ßEaѤJA¸žÄàÚÖWë0½y^Ùù\£ã4jµ±‰âþɱ‘=¶ëú°jµÝ#Gg@Ä„éµ;ï>¡Þ\¾ýÃû½;ÕVux–ÊÂŽ=NÁ1¯;p[5{4kåŒv·nŽxú°×\‡ÅZ93ë;kõvg´N…víNaþì¼]ÈéF8vaê6Ìœ=3ðð´–Ñ_øáÜ=žy{e5¸Úž¹gjŽ¢ü¸óÒ|¥|óÄÜK•©›1'1÷ò³÷™bçæMp·.”Jè y­ª SDK502 s`+÷‘ê&ð×[®62jþƒ\šÍ9ûr"dÆ6r–å<Í ϼ¡Õ®öx'<î9šŸ¸ šn ô,”F€ð Ü¡‚G×mÁCàüÖ5Áâ xa†¯Â=Ü](üäüR臦ìöƒÕ -3–Úâ¶® "Ë󺡩eÌÎ~&•Ñ:Tî,Ù:±ÑyƒÓºA]kˆNq+t<§Q‡¹:±÷p½^]«Wa»w̆‹‚™¶øúJ½yyf¦lïb^ŠM߉D‹šA¡A”¡*ÀbŒêŠ}­€Œ¯ Ñ?ôvTŸ#þÞãø±cÇ?qlµÞºû¨,¿-%h€jõøÁ`éD‚B·w£®B¯ ý˜£UÂx"oÓ O‘¼«\Zž=z¸ég~x–¿«¤¿ Ãbýñ)ɳ ?‘ý_!«ìúÒ™WçÞ €ï#Ÿ”9(^¥YÃÔÒažnöðð¡{Yp9Do†Z/×e­Õ("ã<’}3ä:’s¥B¸(ð­J¶Íæn‘’ê†åŸ9³(cà¢rÅVå"ÊôòäX©$ .øºm›FO†SÖ.;“·•Aú/¾sUʯ„El™v슪&d\‡žI,(«—VíáÜ~`xØ(”ìZ5áÎD–¸Ž½£é Î¥¼M‚ýb!jê5LO¤ }[ðP™9×ìÖ*zU*AÖ sÓˆ¹pÌ¿>?}ë4lEo£ —qúôùÜfÓÊåxçÄÜËÇÜ¡³´íóÜ àFa?Hcƒ’º®rúÎÚ^l9ÂÍ5Ðh‡ìù ’ûŒþˆ°xQ”¹r©¢_¬OJ€žR^ ¤ Ø«Tå…•$ª°˜›‡áÿü¶éÀz"T®ü´ÜË¥õ«+Í–{ËT¹ÙtWý)âTÉ Yu”ië¬p!Î §9CÄ#Nw˜2¤? ¤¿<1 -mñ>iäNnØl¶¼1Êͽº˜Ä±QãÝlKã²y -´¸Ótá^PE2³÷Ú9§RiW~²ƒ]l â«VÔó¾sÓŠþ}ôZØi”Öq'ª<ßr×]^>‚b¡ŠâØk;°oDà¬!71bvF¹ïeH\D²VnÖ{Ñ×AúƒQh™1`ÉH¡4yààÊ’,Ù=œ+l±¾áY¡ä$›ÿŒTßh©›‘r?!ý‰ÁYG 4ei¶ˆ¤?3BHô‚žµÀ’FWïŸ }ÿŸÀEòÌ3'>ýKˆ -¶ Ëqwå…K+j¿@XV¶gùa”)?9+ï¦:“5‚àÖS9ÈZfh -¼‡ò> wž;_9üáƒg¨bïÑ_Æ޳rÁ£äâîÆ­ma0”þp¶„âÂìúþ ÆK2‹õä·‘ïÔ@‚<Äd„^x!BoB ¾C*?´Á[¬Šc9ÅÌ®ˆÄ˜…ç¾£¹)‘Í¡êPós•ÚªÃ%  ÆÇ¢U}ãèX]­è.]2d¢¦0ª.ÈÛ ÖÈc/Áke¹§-^lSÄعwß#æ/û­®Ø6«­bIžd°O£È·›Ž(¦éÞA,þˆøiÕYN€mÙÑÛ »…ÈHIRÙ>®‘ûÉÁ(!bƼrÃûæç>MStãÖ0>>ng0i4}K -Mmeyñ­óÇÜán µéØ ÁÚ²Œ€Ê -õl\ÞŠˆÓ„í¬º„@¯Ã\ÍIé}ÑmƒsU°wå}e¿ßÃ$×ø2H§ÄædbÑ TT£—º±^Õóö°œ3Ë+q¶Ìÿ\ ãDDŽÓd³#êÁêJšdïØh¸~C3eAò¹3q…¢Äù;oͽRmùF¢U IÎPœÿ”ŸÌõ<ëÚe¯ü^•²j únÏ™¸¢FjÀuÃZ­?*;1¡úTl€r{9þ°£ C¥ÁØf’5ÕeA„ŽÍó¤²bÇÁXÜ’¡³—Í”¥%†‰?„­6Œ.¢”#J„U£™Y±àBsÖW‹×á=\#'`ÈìŸù‘ôosŠ–µË¢—Ž”v‚õb3ÁÐ%×–„â›* -$½Ô€“$@Ȉý7OÝ8u lS1/H‘àØ "éâäÉý·ÜùnññÛ±ˆ—Q „àðuýM’8ìÀx<öûƒùÏ€ Û_ Q|Ë‘£8ÃA ôý(bQªÆÛ„{çwuÔaÂå’%á|b°³å«š®l„êxahKï׸ˆø–Ž'yyÊJ6úÈG’ÿ+fô¥”O›æ'±“§UÏ [Mº°=jî°`ÛÇvéÿþC™ÿ¸cæF#Õi¸3‡¤íÈ&? -ý@¦=Y°ÀÐÙÛûÆY 8ލ¾T«ø|÷z,tð\*T+ìÑ'&ð° ¼^Z_=+ÒXOA¸Ä¨8œÃ®F•”lËoqwß(QGÈö®LVüâx§› IDATÃìøIY³Çäµ]¶ý±¦9›ñÚ–þ>NMزÀ°µà - íçÃbk¡Ùž™‘÷ÐÈÖš Р àlí|TX¥HE§#ÒOÆÝ„U*ç ¹b›XÕ{‰;”d¬¿‹Zjïýè‘ûî¾KÈNßT.R´BÜ®;NuMZúùÝÅVh|åß}ff¤¿ã4üØßç#£ðC[A)˜Æ.õ[fFþ., “ 7^3}IkäÓ á§¶œ™ä šÿů? -ϲY[­þ¤òO~ñáÜ9:d.ÕjE®31ƒ’Ð%ݤ K€(û̧ðì/O¾W¾qB$â‰t<8˜Mé;YYÁWJ×2~ýÔ¹W/„mׄ‡ºé˜™a-íÊTD -‘Y‚-‘’! %rid*v‰g4r©4:R,äwçÄz£vuË䫵*x!£»GÍ´‡•lRÒu;±àXlA´ßóÝy{q´pêÙÓöPeS'U±Y)2¤ œ‡¡§a»¡‡Ôèz¨Êª–F®¢®ÏÂîQCÏ—žB$ž<ÐÒ‘JÁŠò¶:ð4”†ø™0èEbî§M7ß¶4-…Ö––Õ³ƒFà3¦M¨#à5­ÝA=!‚Ôg7Doޤ¾ìe  ¯“Ð19Hs{ä:{éÒÛÿü·¿ðÕûÄü«Çï¼óàþqtìæÏ?þ—ÿ¡”·?ú‘™w–ï î¸yÞÊ/½ýÆ÷~ðäçþá£{Šæ¹×æòù)3kJ,ÅM¿ê´årCC>6Í å»QCl=òPJ ƒ! ÁÜ3B r¹v j,„‰GþËÈrX˜¯ „9p}2v°éss™„| y"}r ¬AëI6m›0¦pþyr ø<+–£mZ!ÁÙˆ‚¬“è`JÍj˜cµnYSÊâ0¨&mÅ8FJ(ÅhqJ'Á?±Ó5Äâm,Ú+ïTj“SE0£Í|©ZoæÉ«01 -®ùèüÉvEÛBcÈÛè˜Þæ:¯P"XgÄMħÝ­òúÌíQžÆéÿ¶~ìá#·¿ð‚o¹ï.ü`ç=ß %al‡³’ÓÂÃd¼/+˜¹ø˜kr ¹ŽøHj@—ì!)8«gà-kÈÝDø Æv4³#ÃG|>Q*1ëmu3d¤zXQÏúX‚¨½ºÇ ‚MÛÂ…¤u© \m$ô®kà=í²öNÜraS¾æ9}G™bþ‚÷ 5˜J7 §Z.Á€i„ Alz;{×ÇÉȇ=ôPòOJðÕêN¹®kNȨ÷ß´_}¸ºZëR8˜ÿÉÂë!â9§Bs[©¿YRË\Ðbk:LD6¸ÒZ½éEÕG*hæ7þËS`Ê}ú†xgbw¤ÿD±¨& -7£Æ - !ôSÉÖ^¾†3w1Ž›?ýô‰‰RqöÞkÒ>ýmüÑï~¡ Nž8qìøñœ•_®UrQ|ÃÛ Û~—U Hü†ÓÈ‚\1Íêj5æµm &/KÊœ+QÜi@S1(µ#ÿÄmÆ 7”¤–,ÌÏ-ªî_5TóÀ…²O9ñu.Ân/ݨ­¸ŒLQyk•± -=èdä§Û‘˜Nþ–ÇYôì #„ -(–dæ’gBe×CƒÉšT’2ä€=ǰ·= ™÷"Ú*=‰ŠdKùoüÓGAÀëÐaÂùXDi -èE%ƒi7çw¤bCÕ!ŠgH~ØF€~”w:éÄÀTÓ&aÅqxJ×ã< ÈGN‰ ?eI_ªÄ}\ðŽE?³TŠ(Æ[£\7Huë*oa4t€šðIPc•wVa û¦‘qZž9±æ‡âˆl U]ã´ø‹h»hY±xŽ r++ñô€Ëõ(.‡jÉòBbI%0š7ÖÚcÿм4C“ÖÄTÒ@ä±£íß78Š‹e¬)ÁU=Aw¼òŠc¬PÆ å{+o¾Ü¦‹=eB鿼T£S’ ­VmˆL³xíö`?j5²r¶ÛtP€ùï¶¢2Þ·/ªr=þq¢@¹ÿç°ñ -¤ÿû\a2y+v‚Ö¹ðÖ…PÇœé§"á -"c?BÁ•ÿÔ5‚ hx ¬]†tT1;et°|³ÑrÙIô¾'>F]]TÜ©y/Rà3Ÿ(S—E8?ý¡ªñÐCÇóù’_ƒ»7y*¶ó7'Àeé/ˆ3–w@üæéß$$2º¸Æ4è€v€¢_1—ˆ¢«qTóLAúãÚå&Lnyòä@Ä@𽃹ý8$H^l'eÝ>8â†]õu/è—¡-6‚E¥ÞH¬þ¤¸--S¡Oa4ÈH\D¢¨Ý°~Lc¬1¥'JKŽæO„¢jö&äà{ÅÅlbÑŸIðÊËsmb왾yÀ•µžŒHn—ݼڸåƒù•Ï&߯ü¤Rþ@ÜÅ‚œx¦ú€ás.¢ÿrýÃ# oÁ?¢À ʤNDÓˆ¬Š>(€.!ÀuêØŠ¸LKŒí‹À ØŸcúAqsÞÂ|‹õ=#Lã¬#iLÛG’Ó7‡¨äWP¸V,(† á¢a¢¸‘´õœÄ(lÅ*ÄÁž2+žçŠ7F]×p^ -,èš)êkîÚyóRn¹QoZV#}Ã+ß0êRžÉi)ã¦Ã¢_ì$0N¸L@§Œ¢L`5 úMRx¨W^£y‹kðA(^OT]¾œÿX­õO$˜üº›¬$ß[:#$4ˆZtDŠx§é\®rI #t‚WŒO²BUxb `Élç$ÈBì³ - X”@iò\BŸKÌ]S/¼2•(s[;þ+hÐø ÞûÁ)–þ"Òù©£öÊ}ÐrªáÐmá}gó¿4Z<ù,ÛÎÌ`ÁÀvž[0ÿ˜ì;«@„tMVè_C.ƒô·sViw"j™<çÈp‡¹žT`ûæh?Ðßed"ÚÞRÞ.šùßø¦ ) -à±ßû}þө矟{ùlâK;SÊ5ÝD9Z4P’v8Ÿ`™GöĈ³,=–ûõËq°.ØDЦÝÛ²‚Yh:²µ¨ÞŸ}‘ìN={:ùavHeíp$ý]Z6ì™@s68 Wßq¼õøç¬áxŸŸ²!CüÒüÇl­#gÍ'D¿ß›Ÿ“цŸ¶ï8¾Ó3_'M#m=ÑÜoþ‹¨#NÞ6ÏuÛîÆN-]‡îœiT¥Ð'`O¡Q'·+ÿÆÏ>ñ—öGÿúߨ7•ô‡U –¯eþFYéœURT(ý• àR¡ËÀYz”ÍC$}âòÔ*¨cq«N¢_T.Ö -…ùIîãÛ˜²d`+ä*d®ë±JÀg§x¸h)e Y±Æ¶¿ Š—õvm:gÐ\qK/Y£Î —c -Å2M’N›)‘UÚ“/‡• -ñ•¾òNC@uŠeP¾ ¡|B ãwÛ,ý“œ8af¢[®±¦4xVöQ²ˆÌ£Àæ?ÇŠ]¸Y^¤7@ ¨œ -6¥©ð)˜ÌcÚív9ýÛÞ¸fǼRK—_gTŸˆÖt€Ó¬Ù¹¢iÉN]5H»YˆÁQL BsáœæU^·|§‡€@úS¨X»÷6i$ñAV°ºØÞÀ˜yøs:xûÑáýÙ#‡w<û¤ !EøÕl{óŒ„Ôh:z£AËm’‡9Õð¼³o.NŒc)NËóÕ%Y¦¡i&šù&†4lê`—6»®Åá?†CÐ8L$N½²°ð#Ô´oœ;;BØ?üò—¹·‰«Œë ጟø‹¯?úùÏ”o(×®Ô‹Åâüë Ó·ö¸½qüD *R*Ž˜#Åyæ‡g`œþÁó×—Îþð•»ïž]YºX¾qºrqÞiÔì¡Qƒ[÷Lë #bôN”{o9ï,¾µ8>V”ðs¦lš+ÎÂÇŒŠ«íyíu9˜fUKÆ·9dò²€sPkpLvÐj¡PÖ‚ HàŽ^Ó+97“àEÀŠãÀÎÛhã'Oœ>|×$aû`ç}Á¶1p™„êM‘}·XCàeS†ÓsEÐÆPÆF×oÅë‡Ýume‰Ê˜òMèµPà›jˆоïšT€,(€óAÁw&ö:˜%Õ"x(s€âQ[àIØÍF £v /¯%@ ´7Ú†AAɹûË2¹"â6—ú¬¡?;=(zùpÙ/D*Øà°!µ†5CÕâ¥RÂî¿ñ€™TÞCù­ç|iü–C©œ=T>÷ZåÐÁrM ar5*Qh[a᜻-W0ÒYIõœéæz@•yäÇм%’ÃÂüÚÑ´¥\YÜi°ÕÑEnûS·Ž™9é9èe½•ùzá:k¢”«¿çÊî}ÒÖVJw<Ïq]¯9ͦ˜fÔe(#p˜ äÒ&ÍB7Aâ”Ji#°±X±‘WK™FÆky‘!Â-ä.f¼ Q C¶‘>€jäµsÍ#ò¨4ZÓ¨™PD¼•3gM9u7Ÿ7KùÒÙ«sešì ~ °V«‡àQ,7;:bäè\–¦Ñ®Â@ôi5“7ç^X°GràM¯¾Ó‘…˜{ºíÍQ¤\ÇCŽ9Dª2DëÔ8c¤¥u×à—M—œÛƪ\+«³ŸÝ%y=8ˆ5om΀û>|¾ƒ;nk½±& ò@öÖ¯Ôá Ý"Sb™lÁ=ñm+óvD[´6$Wf2*¿‹ÿ\TgúÄ›í‡È­”Á¿}MÌ|–y;W§Ÿ}cl_ÞÞ•ãPøA»me³ heî–aÙ¨*Œïgæ‰ûGbÛ@[ QâÉuiÛ x€ô_¡Æ³ù -êXÐp‹sÖN.9Q¯,Q}_*"¼À´&Áhž3Ëg,Ú‘‰—¦;KŒxÏ}ïÔwþ;:ÍuÀTÔ3üݼø³÷¾xÿ}w'´Ësö¨üëü<Š~Þîx¶ÛÇÓÿ•B:Ïœ8óJÜ)ª\Zù늼ÅTâw—{ªû¸²Ršo]±•èöÖ€^¶@æÖ®ªÞS` °¶«+ýq¶|îý*7˜Š(\a2±¶½BÊ 2w]ßУ>xÖXÄ–@$(±¬bC®üÜ.“­¬á] ¤ãb ™,} -&‹ãÈ š`Å”¯çt4òüdd•®áÉx›”O‹8{sùáÜQ½$ sy¶în†¢'‚ƒ^Zº01!sNî:%–™C\‚Ha¯g þ°XÚm¸?Vj+ÝnK…*6<“²ñÙa[ÏJ×{öè±¾^ø¾éFÙŒ a[!Šþ‡f€Q£ëL;ègT(7ap°ÄäÖèìër•‹+Y/~ÊwÝYÑÒ¿/Ä—ð€+Â:ùWƒ³zJ5I JȌӶžßaãvŒ¯cXVú¼LóªÈÇLDGeKY¤dßâ«+† ²ÊyŒ sƒô'îǨCõrÕßìi+‡nSz« H·Ã’pûUlÏH¥•o¡NL Ù,O˜{¡§€\Ɉ娊ß0 ŸòYEö¨ Ë@äAØ÷»]Õ“!"%7¤séóO "Í©`®Ã¶³žïð‚6hYN`àeÒzòɉÏnsⓃÁ~‡(ÁÞ*–lØÂºËåk¼ð¶b}ú—¾Öý=ñìs-Â9yòI òœLðJ—¼Áx¯Ë7)üÕx¯/V‚ù°¸/1²ÎÐd -cíº¼RKº]èDnÜóZTàÈ¢BH,YILpÁ”ÆòJ ì(ýÙöçÁÅïf/É%Zß0Â: p]\b˜LƒDã5O©¶žIi â½­] ¬¬: y• Ÿ!“g!î[q–Ïóp²²*J:™ë ¶]äí‚Ë,ÀKD Ãà€`¤ú/P1Rü]F:-{Áô8kgYÁ90k8gFqUýÙ¨±ÀŒ †@ ®£ÒÛbéÔ÷O.­,ÿú¯~ñÐAùË1¹NHÅ -½JëQykto»†lÑÂÐ?F""=ìUÎЖxµ,c>;ï5=#ß-Oõ¥—+à(?Õ¨P´§7ü¥ \௠-W‡%š –{l¸HMN–“ŠM¶ˆn–êªpŽW%• 2¥Œïâ£fe,0Üï2+€g¾{òàmq2ˆ~‰*yc ÅÞΛ¶¡9 g"–bµÆá ±Ø—"°¥1C: ½ág©²§£À) "‰å´=+ÒÜ`z‚ø”­y˜ž‘+‚Ú_ÀŸ×µwkÖ _€jÁûrßÔ sLß0d U/,v€VÎÎeëõ~;A¢Ò’ÿ£XàG¼em¹¡Ö\K1:€ƒiŒéß[2>þNU@pÙð²°5ÉPpÒè¨Fx¹¬Y´cÁÑòü±bž{d4y(å$‡)S—$ýus{äš–…%ª>?þ±YpžüOˆÿ(Àn&ˆ~9´–@˜ݨ‡¿xêû¢~+?Ò 8ûÆÂÜë ç^BAÒ¶«b,³÷ZÔX¹Xi5ð@ l¬A¨?1ž>ê€DÏrœÓ¶o:W–N€Ä0 Û4\ßw£ìhÈ™ŒýE‰ÚjÊ û¹ßøüîž*u‰g¸œoÇF_’rg^Z<|ö1Œäe¼»þ^¼E—ì3üÙËðª_ŽÔ•…l ýÇ&lØVÞªrŸ…SÓ‡>²¥bï‡ÖpÒ„ÎÌxòrvn¼,@´7Ú¥}%/Âme Ú°5ËÚAó’‰Â! ðĶ~K ÜM&¿ÌåÜGÈ”øÄç:ÒHÐÅ=1èXei ^JÙ¦)’’Ü'@Í@sÈôi½·‘‡%öóIR卨 -AôÃ?gîœò:žSÛ9¥ò %{"K!S²78VnPM‘RÛ¹X†¿:ÀYwTM$ž|w lx™`’ã-|>Ã5?"² “Ò_DH$3Áà ÙÀ&ÊnL‘/XåŹ—*¬âÓ@U=oFñ&§C‚\:Žº šh’‚?UVì‘~F¶¸{kÐàBdÞZX$(•wÆR¬)Yú…ë2¥/0!Y -v|×òÞñ¹©©†ã”GlßYƒ—ajÆŽä&ZªÖ# -@8¥La‹R)ØùìÏ_z½òµ?EúŽc?‡~À§yx~aÁ µOòùe®´e±Eù~’fF»_ú5gí+_ŃœøÖ7Ò¦±ü“Ê;\ÓÉÁ»¡œ54<º¯¬E„hŠ¢÷fLäbåsàìÙ¬×öìüpÛu·ˆ«(Åa+¼éš)£Û\H—R]uÞºX]vïüPž±™7H>ׂ©–Ò²D™¢“ËÌ™¦–õ¼ò"ƒtÛ²Fwgϼt&Ü ÃTl渑=ò¼x¥Z«Ï> MTS: -\jaóA3µÒXŽ·m¬Ä5éOfÃqõ(/t°JÁ”5Ý`YØ C<ðéè‡yá¨]#ŸÛ%rS‰Üõ8¹Ml´ˆÔŽiæ:®I¶¡´×H3QŠ2èVE§†ØåÚEu†óÅòÆ´©5Aèž&´ô"µ;È‹¥²8Оª®¾½¼‚Ï1¿»@W­çsE,\ÜÒ%“F'F!µ‡L8±Ú•†>`éZÔ/bš 4Õ>B¬2Ìkäl8ãe˜¢û'§Ì!!Õ5kb_¹ºº :mÉlŒÞºyáV¨¥Íg‰œ}+äžv´,©6X®‘à„šn†,Õ@jc?*Ô$d£ê|17·`  -`/#¼‹ úÀYsXMktæ’dQCj”¹Î=6<1?Ü"p¸3A¸…ïÃä·2èYÊ€¦KËpKCÞ…@Ø„EÃM(»Sš™E9NœE6*#_A%2Kׇã陦OªIeVw+ËÌÒô‘!ëÜ»KµzÝ*hËo×Û›%FüOghâš Ä)ÄŠÏ”«˳Úi î$†­d«&H·4<ßn௯w³fºíƒÙÍcá,Úv§ÞZ‚ûà!' -4ËËó±@0«;–*èäv_©6Ð$5Lç=‡Bèmz -ÉÕ¶ÇåšFo£S0cf1übó:²²hQÕ®ÔL£h‚í‰÷]… 6ðË+ä›ËïÖªïÖ>q|öUÊÜutfþlul±^Â6.¹\îÎ÷çóù‘‹ë#ÁÓ߯ì¿i¼G’9¤†Ü¥G&©é¬â2r⹡‡©~âfŒC6åàòÑþµù·M‹(LÄüaJ&0Êÿ)pNZD© ÁW”5Uƒ'/׋{âCU+nA88Û!}ÐÜaP¯l{Ÿ}Í: 0ÒDµm«AZc¥åwVÅN£¸;vÐç* ÊýäS'ys+Ë«‡?/÷Ê9ksé­ÕÚª3=S†íÊ¥*\Èükè¶ó¥ê»=¡¡ o-ïß?tÝFÓåh°ªù1°”Lj¯Q1. )é;aÈ9Ô@7,ý“¿:€ËT’4/QW=.ª‡M%3Â:'<€Éýûá%PÇÆ“Xˆ#VÃ…ç‘ÔÊMŽ>Ñcú–)Çë÷‹O`çIÊÜ>ýml¿ê«RƒEÿö‘äœKÊ}NBʦÇ‘½>•,%î=XðQ•³FZ=„UêRí€\<+kÕ5”f¡ÆûÉó‰įIRel|üð]‡E¦ÒþyÏÏÌÀ=,]_`ˆƒG¦O=w¦rq@ýr,LëàE$è¶IAúWÎ/ŸyñÌØÄ8lEÔ± £´§/LôeR -Y=Û¦Y_•G øt,®µs[nsÃ&é/°46†,ƒë ÙƒV¡9-Š•"#YÕ"'o;öÁça˘Íh6‘˜J”÷)d±ž5ˆtŠ¢¼ÿ,ýa¶Ã¬Ö·a‡è¦Fh¦Æ@›ÿÙ_zôÿcím€Ü¸î;Á4º§1=£‘`ŽH 5&=4†Œ[´eÙrGòºÖÙœ·nËwW›sîªî²u[©Ke뮲•M.®½ÊÅ›º»õnªrN|—µ“,cÙ²¼tÊThQSi4i˜£1„D˜&zºÑû¼~Ýó!Ù¹º'T«ÄW¿~ï÷ÿþýÍTëÐÕ[7àÁ2€‰¡R@;ˆe€61A¨€6æã>dâ#ôÅS– -r&_Ñ·‘:`¼-þr¤cŠNì0aÚV_TP: œ}¦ſDz,MÇSé4’Õ€Çx€ ¾[·BwbUÎ9‡šôàsQâ>qË òß2—2Ÿ³Ø`)bÑLbvCÏ­=89ý`ù+‚ùÇå•M‰ù[¸k4 6ù éeË Šóe·û`@ý§Ÿ‡Áð¥W¯Ï=йzKµ¾ÙæÐã$Î|\f¨rú•;z0’æ3ˆ°X¹UHPÿv½^ãêÍEõ™kom«D0%Ð.óÎ+“öÉ“úÓµ*<@÷HQùÚù y^LDc( IDAT«¯á¡x2ï WõÀWWïÇgª÷—V–¥2ý¯_>~ª^¢.ó •YdÊðF^WÄDvpŸK‡ÑØ gõ_A0ouA1ëäÆ0Ë&²d*ÉÉL5nq'úƒµ«×p -ÀPLûm·G"|Ê€æ-¿Ž~:{D* ç¯Ü ãM8i¿ù:£?½¦ß¡tv:‰3sYúÄI)#`ÛGíU” º^•r(¿-Ðê©Ö²˜=}•m_ ÀWÿ|m?E@\ü[¬§]¿_ª<_ü7²ú Ä€‰J–Ãb`úÁ)Ž uÚ‰T8û ' &:îOR!«˜iÝXEb/ Lã‹ ¾øÁw¹XìâÊ"£?ÝhÐ+{]wÍÔ‹¼ -Ù,HEe\Vz®òQÀ‰â÷ëßëf3È…âz]c{ïO¦ª}§œœÝƒ»³q*·º°¼‘û—vÌn1ð÷qÖ‚ Їý,Œñ<Â*ÈÚL„U|2|šh6¶Õ”¾M’‡@%ÚÛÅÄDƒ;€è¾Ý­NË  ö¼ÄC’xRP|¦ÔqÂtx€ÕÿT¿S]0Þ¥†w¦ÌeŸ…£?‹'øSq+ñ¿2YþBR}bÜŒ}hèñ“–ï!ÖýA4omÀdÀÚ-„6PÿÙD ¿"feÞs|‹ÓÄp‚ŒûÛêx!ÀœZ× Z랺gŸ<¯1 ^F€`´†»šƒÂÁÅ%`”'Çù5(BÑíu½-¯º¿úúk¯ãl¬/¾¼8nš‡©_zqŽV¡ß‹ó5›«Û Lí®“o·Û• -Ê6Pÿúáç3÷Û—//² È,í\½l¸w=†~Û;Ql îÿ0¦×ÃQÖK% ˜‹¿TEõ¨Ê'ÇÍcùž±LÓ²ù1$ ·uL е¼G‘2†Ñhdê õnû?n±Dý·dÃí9TAo›åvgÍ/º÷zn æ*T1QX7 Ôz®q-õFëޗ¨ÍÖ‚ÜY–Ä0,Mà<‡£tnÔ눈ɠα1 HÀö‡Íì8ØÔ¡¼OG¯:¨ÏÈýb¢.3–‰í‘†á•‰á^ò>5ŸÛšÈ{¸`ø¦¢.;ìa#Œ¡«e 36>˜ AÐÈ‹¸…äþý>4ûég>mÙZÇY©•:¿>äêt¤Í˜ ¥[lbè=à‚vkLc‚C3@ãv‡òzÝMñmǰ¦ÚÓúì`‰lÑš^èŽ#Ox—..×ÖJ¥bÕªb–QLYcŽ%)¡0u,§MSïz}¯ˆ÷šÈFÈóÊíMœ®eƒ¸LnÒô“èº^Í-†]Ò½{3pÀ\y±R ^ë ©«¨çÚ¶ià3¬/†#Yß'ÆeymwAãq;½Ëß[:ù3D+mÐÈøÌá–3À»œ{^×uJtkà6‰˜iYÀgb#UË«@ò&_ݽç…=9U"q lÂb¾,èí °ÎÊ_'"ôò»µê°¿èÚË×ÿìÑöz·y«Uüù)ËÈ#ÑÂŒW›ªjò”Ÿ~âï©…IDêÁVP}Ø~ñ[ ãš­V§µÖv‹.ÿÝoK[£T½iÐÒ†ƒvÜʸç‹Ú{Êð(,à Q©ÄH‘øb£¶\D`m÷wËÃ'ãO¹žóÈY=yl‹àð\¥Ýé€ÞìrΊm“•Œ­Û€Â<ú˜¥‘øŒ†Ô¡Ÿ‚ÑZ6ä5pŸ,+•H@è^ ¼0³ºòÞÀG{¾Çì4µG·Òé¤<–߸þÉgÎPÏD;¸Ü~ÒøËóè̹ðMÌÏô‡ãúZBÅ&yÑ.Õªƒˆv¡+œÃÀb@Il ÝRœéÁŽ~y_ŠÐü¸°1”P1@á2M¬]tºC*ˆ/¸–ÓLšúƒ5nqƒeÁ9¹—_º|òÔɤ]éöQ9PPÇb9ɶb§Áô U{9x½¾%Î~øä`˜"ª,Ú̆°†ò”É®Ú$µßî:vÔ³x}ß 2~rÖ¼J½Ù¿Û|éõ‚¹9[ ­Æõ6(SvÙê܉ÿi³g˜˜äìåV”nŸÌö”4g¹Æ…`ŠÄ˜ó%¿L3kÛz01ö^°Â”ïs¼t9'°ø¤±Š¶ 7¢)§ì}R5·¼Èø {}ßëÑÁÕ æ…@÷ yNï¡ ÔI;aÚ-¨Å¤ãzFlñ|îŸ|Φ"í¥7–晿üÊbóÇ­Úýò‹ÀGž)E¹¡x¼™]‡+ÛA0O«çt½J_A‹,ª0N;t¨æ =lýÑî‰Gk€þ;îEšñI}¯âY9R­÷VÄÏȦ¬ËË+ÚŽ$¥X03AWÿâO"öÛ¶Û­v±”l0y'§ݹ| Ô¹Ýíõ]€Ýå7°véÔG® -ðñäÏ/4oaR ¨áðh¯;pìÜqW®]§OîxC³Z³[MüêootgÞS™‰»³©ÀCmÚ†‡`rKö6;Øû~@­1»]bïð‡Hjn~Uß?å1o‡’<Ÿ©î7—/¯T*%n¿¯Lw@AQÀ ß| ã즜Bÿtò%% J·›ªr.bVÑ6S%áNæ L³i¦Ö“œ÷’œ,ý³»ªj(Îùó_ fô¨¥&ΨùãIÐrª\UÔ.‚ÊñÙ‡˜vâæR,``„èÙiRŒþìÕbÚ&?-PèÓ”ƒŸ†‘¤hSÝžƒÝ€Y¢kðÍ>íÿ`+ù -Øeµép¬Ï%|yìlS;ÖTÐ=h9˜j²cß×Ì})?ìöÍ«j0äãj&—R*ú—ì¢>‚;NñŒ|Ñ @’ÆYª9ª¡©Öz ýõîÉL‰fÓµr²ß!ŒZµÖl5Á(N»›}Ï“·&C¨$;Þ1ô3?óÂâ–&'5:.ÆÒýß±7`ÐwA€yo¤v"³“£OçnbŒ2‰ à 1Ã,‚ èWqæPƒƒžšAŒþÆö®>ßûþ÷ôóŸÓÕ©fÜ?Ý#õ‚I¡ƒLÒ.VÓòYM">y{àN@LX¦ìöš»©d¥WõÝR*äX._ziyæÁ$¤YŠ‘®ÛíMÚ|‚lü Qxú¯·îxè_41Y̳wÿãÛ¬ç[œK“²ŒWñ"DÖ]dz˶9n’$Ð8z þ0)Ü«£[)õÑ‘o¡ ü2j`á‘·ðÂKËB^>ª‘ -êbâUöªTzÛ*9nWì -JÚÝx0Ÿq·ë‚^/v"ù*j”< èè¨t½ÎEhb1°vkýòß.ÆÓ+ Nô/(GBŸš.ÁÏVM¡¿ÓJð"&F`¨Â.‡ôi¤åt%õEŒþ ®é†ÉMAÅ$ñÙVk0ÃTèÎGlòìéÚôätJ! ¤/³ °½˜DŒ lùBX”Ûþ;†5n8?‰é‚‡ªûØþjú¿¾¼ íöQãÊõÕå×–^þþâ•E,q^¼˜¢¦ù)*ú¤ôc"¥Ý«**“iÀ£»Ñd¯ÏÖÓ¢BpR–Iò>9}“=øÊ^ôOŽO>h©O)X²¯Ô~«GœsMªÿ°5.ŒLUèЯ’s 2@ç¶4Œ½X’~Êaï#æô»qØ öz±])X ì Aëþ0*åéë«?Bö?b¦*8áêE¼S,ê=ªÖ#g"áWwÜÆê2È@°jT¸Ç€e•%v(}Œ//¾|ð¡® û×Z2¤:Y‚9Ðí»EðBeÓz©»ÏèGç¤;wïqkÝ«NÛÆ˜Íý0´x½`í36ÞF¹ FÀÊJ󸉹nLÞ®2åU %‡ÓzÛ[§qÇ70Â-?e²3S Öýi¨¥D²˜DèCÈéSL­¿µ&+Ê×eÒ!AÖ=£(#á2ŒR®ŽbBê²÷+lVtÖšmåR4¨` -d…aL)üп^©w]§¶©ô ½@N¼ë?jÌ=2è߼ٜÙqÁ8|,IñèÐwæö{.ÛÍfbyÐ+ͽù– ®Ö¬Ö")ÅîxRXÀ^`õŸÇêå[ŠùÄÙst6ºJ£€ßà"-_¢¿zÛóY@À£hš¥b )ü¶RŠæ Ü_£K˜®•ËË•ZëZ°(™‘ Ì8ð¥ b5”G¤ÅTñ^RªT8R"!ÌRoÉÀ =M˜ñOÄô8661Öu‘á¼Ð:÷÷C‡é™ ŸÕ¾ÀóÏ¡Rÿü•Ë•ë•8š¶ä;NHEMeÚBì”VT@0gk?FÀš~hvíG7ꇎ8í–]©Ö]¸tþ«Ü£â5·š1ðp^°´gØ­ÖçÖn.…Ø*—oð%£Â­ÏŒ@p,:$`Š«b“–7\¾ÔÊsy1f1¿¼Y*ã†5JâÇN¤°ÛïqÚµH5f’IAB[m¬zÝšeÈT \E¤µ¯‡Kßåz¸—°i‘%¶ZÚÝ -ècz£Ùž;:PhåAìy‘†äß\‘ÅjøÁ WÂä°²†YFQ˜CàóÜ¡–Éô·…±üjs9F°ñ0=|à!ý/ìÞ-–Ä+5NßsïzœESÀ6s•˜Ô²{¬T0¡ÀhˆZî• A%ŒË`1#-g†Tqã3îgp"0o2“䟄²2VýËG7Q†!a:'»ë¼Vå½ ‘;Ïœ˜Z]»nÁªC°±ÆTNØcÀ4'Ìn§€ï«@¥YÙWÓó¦A®N(?Ô0òðù,ãIÀã¿®®5>÷_þ33óÒuZÝú‡j|ñ/¯¼rÓ±Ðí&¼Í(_²Â ¤¼{d¤Áèrˆ$?F/ÙÓàâ2#-ŸÃ’ØÂ 5=Õ³¹ h‹ -k½k°CörÀ„ßó@ÀÓÀ+WŠÇh†² *+%‰F« ü“Ú€Tœ"©ÞPs©Û” ®¹—ƒ°\`¥¡gï+v6æ? ƒµ[ìYY¾yøáÚí·:NïìÇ6œA{ÝÐ ¼Ø+è B¼‹°tÉ¡ª6sF‹¸†€Ö8ô•'m¯’höÁ™¢Ul¿Ý­ì/¹¢‹&Yž®bÒÇb“ÛÏÎ=¼Úì´ooœø™/¾¸¸!ęǖ^½ À =kq/³Pl¬4[mDä Ͻ$¨ææÂ_H~Æ&WäP"r•Ÿ}ÎÀÌ{ª…‚Y,â’®PAf¶5§¥á¥ =ÏÁJ”þF¿—E*=λ‡3wa¹¶H ˆ‘Me9fG0%ó>«Ù|ïž§›–ëv9Ÿ*&,ç²t»Ea@Íõˆ¸(66{pﬦFœLåûáìÁX/_¹qæñù®3Èæ:ìÜ G¸ ð+ÀÚ5Š®ïµÉrÒG!ü·ß…çs錚l–r‡£º'÷¨’7XqÍûžžÝèß}üî¿úW|róÍ2ú‹8‰ aŠ]c¨ædãôÃ1¶aà úkué9)íŸRÇmƒ;ÃĺÚDTÄÈV]±TPšDm‘¹lnIW‹FÝ;%;1i1‚ëõ¹¥ ÀÚ6ܱÖZ£:]Ï[ÝNƒ -ÌzÅ•Íò4îhË'ÈXi¯·?l×ß“¤ÁñJŠ)Yý÷ó2jç s™iå-\{Ã&š ïbÀÐÄŒsZÜ”Öðúì0˃"¶·…*ä`«_3û¤_À±çzL8ÊmXë}ÇÎ[ ¼@‚¾uÏtïÊol4ZŠ„¸i†íŽÃ)dÔ^Î>N£'³?CJ—´(o2Ÿ‰c!vÂápnÁ£ÒCy²™[lZ&S üˆíŒ7=yåƒÎÅGº·yb+2Éùa 1hh•¥a®“«3H9[T–ÑÌtýKþÅ=v4v=0 6Ÿ#:èZàYC曲q ÐO½ÝðzÓ^+Õ -MÞ&Û{Y\S˜¢X?›?jjÙ$rÖí8¥²tq`ÃSžìèÝÉèÿ. ¿{·_Ÿ©-þ`Dõ©3§_"ûûÔ™…ë¯6Ê)ÿ Èñ0úæ©óÈ#å?ð9åi/vîÊdµkÃÏ®"ïÿׯV[rû·7Fÿ¥åF©bÚesñ¥VýPÉ7¿ßZx_ëbâöíÎêª\Ø àO徿úí¤zŸsö;œ¨î­?õr)¾¨¼ç܉Ój‹ÙfÓéé´oÝœ°òâ}×ÈKâ&°ÒÐNÅ.o:øÞݾaÛ’¨1uSú‘Kµ€v~R@0ôdkß|ÉÝ’Ödàƒžfªvˆû”¨¦“ðà2Fd3 -TEÖ23SY%Wðé3ÇE\ëb>ìW8ôwƒe˜®Ï¾:” -b‡c…¡?i\ÜÇO†‘T»®§¥Ü;9¦—òф܋2ú¹o¾VœüùW¾ÇóßPy™Û’öꇓ°0/pÖ#¨Þ¾—v˜à1.6ÄzÙÉ'> -' þ Ì™]ô‡#<ªÁ‰“O-Dº =#›“pñ^ïN»x_¥Ø­pi>gÄ*ô‡“h¨‘-–‹Œeô!p“Šv„Ô­¾ë*÷Ž©ra¹¯rVN9±{¢¤h$@ÖCy»81ÏÚ½ñ8sƒ º=ÑŸ¦1ÕÐ-Žª&Dø…uÿ蟂6Ý3ÇŠ àÁ=3š½nqÌÄêž8$ènÃŽCLf‘à8½‘I4ÞZçöpØ” -;žbAˆ’mrÞ'áÆ-pá­‘Gšç&“$£P5ÔæÙcà ÿÕÅ~ðô/Nl³¸g¦À5²rB­ôÜ6ªpn6©þ žƒ£¿悚¶ýú»@Ô ˜Ø‹n³Øq‰€¾„¤)&=T<*쩸à™ðÄÀÜûæà·l¬wËìÎm§q½Q:%kˆp2çcNìH®èÝ•F@´žbÉ^¾²X©¡ÒӾݚ?ºèï íU ,€€Ô¯Cs²œâÔ“ œ:ŠnÏã?âð8ñ èYxôƒîÿ¥?½'3ï©\ºxµ=ôÔë›·6àäúJûÆu¼épL¯U0ËT²_uVŠ4{²¨Ö-m&2 G˜®–%U- /·Öî9áÂÏÌ;­Ð4Ãòâ¦#Üžoaéà(§¸´LcùåLÒ¹ÜÇ{ÄɬΦ ÆÎ?z¸:Ý£.px9#ŽU–^¿W\ÈY­~öÛ†, G8Å•×!ª$7kÆtƼÑÈa§ƒj˜ÖÕu(nŸIØy}?ñã Ã‘©ÿ3¾Ftø1#i`‚‚¹Tᆸí„exC¬ç@*=o´ìÌ„å2n°^Äl¸` 7IN£°à 0°ý,ý´ö0 »AzlÐ4Ô$ާU†Q¡¨Ãí+ï7¯]÷¼Ùãiý¸ÓëÝóG>̺nÀ‡ô”_ßó±YБؓ’EÆ;çbîç)“/|ý¼z~4Ù™Ñ|KU ·ë]Œþ x†"T–޶Wе&ò/ÉÃu’q†>»ƒá®æ÷|€ Š[&#ÉAÀŒ™»Ûß„ ™3ÄAž%'i ËKöþJ}n¾»Þj¯&%Ìø–üÉ)¡Ø;"}M¤íb§©ÜÓKó=gïÙg°‘ò¹b‹M@)­‰@õ¼AÀɉ㧛ë(ؼ˜D! –8’–½}¢RÏ Uȵ†~Ë,ÉAèÄÚ½iAÚHÓ™#oèEq–—{¯‡!VŽÒe"\vØÇ#+ÉÐib”› ﮬ‹É}l½Õ­>PŠ!vÂcŸÛ6B=âÃìŽCý‡^O»2ů~Á^õ‘¶Ítx‡^–uì -T€fò´h\Àƒx­ õéFcÔ¹éKU–^¿1d;žçþ$\ô”Õ8R'7õšmÉý’Z`3å?QþýÆ› .£[üÞÈ€Z½ºú£æÌCµÔ'Xe -À0ú ʯoÇÌÈö!$µÈƒÝR©”Åy§§ËÝØˆtîôÌ‚¤S†£m»ßÛz«7ûžúâÞ#““·þâüÎõ>7bìÜî•¶Wº–& ð@¡ágJà8í¶”:5äqºø±ëÄ…Ðî@êø©ô8}ºòÌèùØ™†mÖã`˜çú«¼^æŸïö±è×ÌíôõiFÅÁ³4¥™Aµ4g€ÍÈâ–ÈiO\}MßžÜVz|†˜Oì ¹¡üˆƒß Gv›s„ÀËÕœ€Gõ@y­ŸNõþòÕWVà8S'n®{ž5ö¿™Êwà6ôhÙç'¸¾—oú«ÿ!ÞÝòî§-€tç,†þŸ8@z¾3-gÀèd3+ªŽ;zôó IDAT„0ô+ ÞýÞüx^INóÅ 3BaU]rKpj¦† »±““N¾>f|ÛFÿÀ´ºï Ù¦^Çú¶&âÜ/b#åsŸ8óÌè/våxñ¸²xm~îÁÇŽŸb ¯¦KV ŽaÜXÆœ¥;h–ò5Î)ò‡=c—Tà2Pdÿ ‚Ù$“޽M™³ˆÊHÖ`ÎBk¼F²GÏ[NßÝÑ&Ø‹Á,‹þ]¿°Ï(îÓ£’°¡/Iýúcjbâ":rÊ#+ü-bXÑ“¤<òbOþFN(f+w¯8°–òï«>ÃiôgõßÙ¦új¢Íb¶œ­U¦?1b?÷‰g›ë ாµÉDÕ”.7<àB|ŸŠ¹¼ßíöK1á6î†WÁ2`c£[{°úÖMT8XÜwîØõ‡ë æËhóT­ÂÐ2àÌ'{­ëDÇÁÀa¦?|]êÂYƒFÞàý%“h±§g(Óq7owüHJ‹µµNpo3ý í˜Î+m´ÖP¥¨NËkèÿÆ·.̾gLN¸/Øf*ˆâõw¦ 7n¢œB¯ýö÷4ÈmÈbÀJ"ö+Î%ÏðØÑ´kÈÇ4EYƦ¼ŽSöñGé˜Ë`+h1A,€ÁnðÝ _‹Sxwðƒ€Eª³çŒþ‚¤·oL;-±¢%°»Ÿ®ËS®ºˆT×I0½¶q•Ç+"^êÉ(Œ°tƒ èÿøý§?~}nw¤ Àõý†Þ¦ËMá˜S(+K¯#ÏÜåï/]¾¶$î¶ýqìY[ÿÿi(ï3˜¥ÛxÖr_0',û©Ø7—©+Oº 8Å?“é˜qì«wÁ`¦øÐí©z.”ä!E¶‡@ý·ö•¬}¶{wo§¡<ìˆBûɲ‘ÁÓ&¬ÊTl±Óüüùëÿâ_t~ˆÐÀ2àྠÐ•ï¿ -t!>2àÈà ¬ªã'i¿žF@•es& ?¾ _xÛh+¥ÃÖ% û»½&Ûüi€þ]·é z`àºÌ™ù1ËÐå >Àò0.{y².€2C¤•üùÈEJ 0ˆ@ýï¾åY÷í=2Ç4u(sÁý emQ$ûBg¨ ¥Yäüѱ–ÆLPv,ÑÙ„„iÌ·“KR|­í¡à¬ 9–éÏD=xÒ¢4Ð\¸¾j*2½@ª%Î"·ï*7‚¿ÿ{ÿòt£yÌ<0=£²€Çå7^{äÐoÿÎçO?R³uõêc.ü§ O?uöÊ+„ûï?&Føë¯\]c%)˰¼Ç5,ËpBêUŠf05Ë ˆh9#4RÛûnWϰ†æ¦›7”™â$!&qÍâêå•ã'·nuޝã­çž3„Ìnåw–·ôLîóÿý¯©EP©Õ*“ŒÃ>¶í8ïC§{¶G"zNF”+)‹ÂcFO¡ßÚ_ñ]7¸ç¦]%˜˜ã -Ù ©(†„9Àz+L}#çM3GŠÞ²0&™ÚýM=d×ʃzÎzMìíÀ©]pnïdpÝ=ž}ûG~ò™OÂ4*—Nz(¦£¯üÅùOž;÷â÷ÿTß÷Ï~™`ëõÄLþ£ÿýOòDu€àø'‡ƒ ¸ö[Ÿ•ÐÏ—O%ï|³eŸ Š îÑ -'aœ{æ#‡ú%@!Ûí@Xâшé$]GŠ~Ù±˜ôÆGÊvq¤ª.ǧ!ißãŠâ´/kÐ÷õ˜¡À*èÕ” Û! A*Û*ÅHëºA^g·O ýBQÄíD!2uU ÏFb8“uRÌ[åòÉÜÏt÷óÿ¿ŒúÁÙæ­Æ;ýëä~k’œòÓ3r@wÚ½Éý…•ךî¨ä+¯5àØ\•»¬4Yqçõz©tμ]ÖKûÁ2+§›âái­'U¬¶½GcçcñÊëꬺ›7WoÜÄ8êÌôÁö†Tì*e¼¹ó‡JòüQ *ŸGydþšÛÛ±qJ+ÇÛMMãôe^®\“L”GIrœ†iQ’.‚ÊŒeÌ a²>=vuFœ^‰K&w‚E2ö~—~OÞ0@n —ŸjáÃYS1©*/on!k!]W&UûXí -æ‚b„ ƒÓyCÐú}i&:›®²Œ¹Ÿš {JÓÒY‘\6Ï*œÊÏ+ô¯Uk‘ˆZ1k´ª£¼qd3…#ìí®%9iì»bE­sS·J™¶AµVnQUðÇŸ=ÝÝL”˜áR¡GØÞ½Ä2Ë:–¤‘©ï`fãÝèÄ^#¥,r^3å8³î¯@Ç>ýnÎËo`â'Ÿ9@l9È€ÅÊ~ÿ÷—Q÷§qâ8nüÓÿⳂî%?yìѾñ`{õˆk_=ÜÂ_ÅÀ§Ö‘]3°;kÏ1 moËä ¸³ZBáBž4ö¡ÃǰDA—åÈÀÂ@aCXž2ðÉ€•ÈÊ*Ê•ߥŠ9Ì ½Ûr5Zå˜òQÀŽÛ’b÷žŸ¥ÖŒóÐfúÝTíA £ú!5–ô‡l‚Íĵ¤à{¤È&q‚ ž)Ù{§¾Ñ%J`¦Ñ&šÓïÕkÓ«·ÐM7S›]mÞØýök¯b<Æ+~ãùç?ú†î¿ñŸžÿìý¹ÆÍ7§h ½ŽOŽž˜ë»¸7ÞvW^k3oöÚjPžó>Ë•Äsè?¹¿ºK)ö³Ûq°€mI% ì€ J²t8,Tÿ÷™ ªSýJùY½µV¹ßj®¶×ˆÌÔ@&ŒÂ‘rçr#ÒÙƒ3Îh£”;è§sùî¹yâ…äì{®ÃbÝ_SÅ+ähv\Ì8¦)¥®Åœ×ˆ¢JÙ™1‚›úZ¦l:Ïwœ2ÖBî´¹0{ÍÀ÷JûlK±±"Òœ©”,,¿Ò¨½%'ü`UpÌ@nQ5IÜ:XrZbÂèªÒ ê„.p©*ãÀʈ}€**†{„Lg0HÐ5…Š©-ðCî\µZUE'Š…B¡Ù’ÞB3U¨Ä2€4akÝ#&VØæV5õm~H^ÿf!vãw]Ðý¿öÕK @¨fAêõè¸\™ìQáÞYV!^Ž)#Ðß0óý‘”–p'a~U…§‚~âÏI®ÊH}ƒÛÙÐÇÑ @ÑÁã?(}u4бqz \ǵ¨'8vŒñBŸv/Î5»© ¢l‹ã fJû-?ÿé… ‹-«€¬Ÿ7"æ(¥¢$_U ¯ý¨1ýn`°ìÕüPµÿÀÙ'á87Tî&bû‰ÔÿßùÃ/‚ðô)hÁøÜ¯~V½ÀÜNmŸ•™³,8!‡sr`í2:,À}çíw4Ñ东y%â$zN *°LÊ>ÄMi*g›ɵ¦-ˆò%£ïˆc{›A©jÙ“V£GU}Ð2|AÀ7üMòæ¥`uí¦‹É†F"·ÀX5MÆ\¼$²¨ 2M&ì¥ò¤œ+Æe -t:ˆn`ì°h`+Ûv v!(6É Çi‹8Õbñ×fôé/þðWžùµ/ÿõ—oüðƯýWŸûÃÿã Åqñÿ³_¿öêKÇŽžš=8;{ð¦@¬œ=KëÔ8.--/½†e.¿ù[ÿréõ„·Êß•Év<Zú›¹ƒê_µTpÕÙØ™º&ȈY܉4mèuï‹ß]¶q«µqu£w ªªž'éQ¾¿Â”±øö­Qa¯^Ê?q”ŠÅnox;‹¤ t`“ƪr"EÊ—N) ôi˜2ªžÃ¾©l©û’Âr£ þ—¨íä Ö5Iý×Ù"a¤¢xÌé àƒÓuX ÈÔ{ÀcZ)tNÐ*g,þà³(Ñ„ÝÊ’ËaÝßÐe)¸ˆ;‚º¢2`˜n»Š®&ñŽ(õßí9SÄqÀ9,Ƥ)ìý:Ùs…Ë­µ 8ô+ôgè·òÚ[dUƒ`Ž[¹Þ]Ge4ª€Æ9Eh˜^gÎÌÆÓ µÍlìR4 3Y•ý!W3’_$6øÿi€ãÂÊâåâþŠÂ#Õv÷¿GŽ0šÁÐËni܉ÉÄÎîæùä4Êø–¤e%iy©0ÖgW^_; ›<í·’TŸÆzâçY8±ò³O<~ö‰3¿ößþ¿xîÙßýßoÛGˆ.éHÏHúO¬Ðã®:aÀ1Œ¾Îç9¿éï{Ê‚š©™¢ Juôô¢hˆ &­[o÷JÅI3W**ÅiÛ%ú—^z‘ïòüÑïu¼E©‰Õ©Jç.Z¥`€Ö˜åϱ -pÌ¥o‰¡lµno_¥4}´ª„©¥[ñëFc»î®âA¡¿ÄJByÞÒå©iú,ÙU‰žÛÒ:9G“ -wú)ƒš?¸‰ÎSJ™rCÃk¬‚ÔeýÅ»vÜò™OÐ9ÒH\øö‹€O~ø¬zM£Ù®×¤Æ„]•3ZúrÒüÕêŸÔ‰@ïÿW?I¡éÙ§“¢©ŸÿÚóü‚K?¸ºð^t èô6>ó?¹ãG=8sùÅ¿öíÜê:KnEX9X ÎNÕ0òÃd?3µÃŽ,[;§ã²‡M¤¨=EŠ%tj¿Í/ÀW†RkqÂ2¬‰¶ûÓÍÔq/¡ÞÝØÿ¶Ï\^nq9¥æ,‘ !aA`Ó•,ň|Þ ü̈‰B·åŠ”*Vw}àöv&ub.ëÆ[+ÎÝÎòK_ù‹/ò™OÃÉsçÏÿú÷ê•€þ|òì?þ?þÖo^ú.VlœzüƒŸÿÝÿ©E–ÄŸüþ“jß¹€¥ì`ö㬇¹Gçk3Õ£ï;öê÷¯ÁÑ‹E¸ùãë› ›Škpâ¼! @Väáí…‚Õëí¡Úó¨ÎHß}kµÃ<×[´]øù€þb{}q_>¦P¶EÊ/jŽe¹Ž^LR‹SGH ûNZN CGäñà匀~‘ŠÐp YT­¢(¤û}ÂT ²]§ËŸ™¾ß÷ÈŽÄœ“pËú×»qæ 6 LHÃüwä_¡æhñ¶2¨E #UH% ¼9ÎÒ‰]:ŒT’[4ÇÅ/û cÏ¡t݈k#!ó²ó¥¼#ÛÖ6d΀sÛ.U6×yéI #΋¤û'©& ™çäÖAvÊ&É~P • Ú·O•&\ùX)•6:=6Ó‘uß š­n¡ï¡mAr‹# -#yýE0¼ÀNÁÛOä\—.‡YB‹°œ¿+@,¼ÿÁÅÅ¥…™@ŒU®.§N]#ÁBÎ0“^‘Ùíî¾çrv¦/Û;P4Ñ ú™¦¿ ¬vWqÓmv4‹¸3^wÖQ…1„>›üB$ê?Ý/RÿI‚p¥Ç°é+¬Ó6A€º¦Rè¿{|ô#Øs¹0ž?÷q<9÷ OowãàDúÃñÃ:ûÏã7÷wÄ ßº0ûÈœz#»º5Òb›ªLrÉŒþsÌýÑ¿ý" 89B±ßC‡Ðuð~ùWø‹ó×.¼tñ3»~ö±ƒ3•³íõ› pæ]WGîOœ>ò3übÎÎc–›op$Í’Ä2Ù¶% `Ýšc1WŠ -ÖAŒòZ©÷ÉëËÂ2xö ™›Å“Ó§ðþ^~ù2þüѼJ”!`,¿¾Ü¢†B§îé_{ì½Ç*åê?„>@é*YÏsÀôßuÓ’ám%>ß©Òd±(ïTºÍgëm´DWo"Ð7Vâ[”šé¥¸ÊÔªV¯L?TñîyI𠽆·×å("5,BÖ…áBx³Hr`®ô¦gŒ±ˆ™Å@Dœî¼Å:˜Ý¨p€î Fá€2|4vóý4×ÖÁÀÌú@Ê.°(“ÆÕÌN÷Ý8çÛwåž²âà‡j>Ìè?ÜòcÙoœÅ -I1-ýù{éD¨¦ÇØîáÊÅøíÈg] -V²Ók{˜´Ó÷Ó”™fR8Ü,½CÙžm”LÒ®ÙõÞ€TPe€îÄ€E¡ï.{Á]TMÐN˜Éö#||1£ô‹"ˆØlÞ'BFc,Ä»lyytvFتŠ. ¡¼ƒ•d,'€þ þ£Wç‚=”¥ÌQÚ×ä¡÷=Ùõmj›[)®Dè÷%¸øÌkl絇%} 3ŒY,TÙ'úOt=VÿQ ÷ï Ü¥ûpÑ2AI2Àß -àadñ?ÊoÞÝd:{XÖÎzÌþ_ÀC‡Ì:2ÇZ¹Äècjr§Kg÷ àŸÿ¢?œìvñx—Þ5pùØÓñÏå7–ÌÍ=÷Â…ÇŽ‡Š´ h=q½Ó˜?öÔ…o~€³ÝÑ*[üOýº%{úp¬¶0l×7Á%¾”$Cz ¯¬K¤/°ìd0¶ HÙçsÂ,›y‡YñoRj‹ž‚Ïòˆ ¶@?[ ЙÇè¿t¨#€þ 4¶D©g€¾jÙ¦¢qÊlq†þô´8¤qƒ]ˆjYLÜÐß&¢BÞä(±ãoó¸èä÷w{]x¨È3X~˜PVèy!)¥uL}4ãŽ1ƒ-Ô$~îpkõà> ?SÕ -|×£}dHšHA7 -‡tý€"„e²ù¼‰¡2Ì» -µ +¿éEè³Ã²̸¢‘x@•ÇŒ•é›!X$¿9æŸ ÃÎúÆdm†þÙä:Ô¯G‰FZÛ2ûÉ7lln$ÓÇ¥Ï;W˜DAròøÂÉãÇgÕËÛ»Áh®·MiªWTÒìV/^^œ•ý¥×–?yêÜ3¿ôâ÷®€•pþÛ/ž#³@ ƒîÉRkƒB“Ü‘ªuÈ ùAÙã·®¾Ù8ûþ°—g‰óÖÙtNã9TšT¥¶Õ©¬®·Á¸öÚc¢®ªR»`aÕöÝaV³}_ÍëW{wnXÖƒpÄŒÀmµÌFÁaûp6žó¶cAN‡l )Hê-zå–w‰§z$ÔöµÙö5l·¤g sB“ühv…­à´‹aKpŠXšVNfÁê´:ÊPž,hYÛ`!…{o´zk½V­,«B`Èy|‹ñØù±gí3; „ÄÜ\ðqýŽ[¯ÝøcíÓKeSŒL‹\¦™á~¶ö>ž]ä«¡Óuo5‚{ñÂpaŠÿ÷d-Lžÿ‰cŸûä‡O>z²~pÞ.UįŠwÞ0‰¨ÛÉBòœ$.?‘$T§e^æÕ«—›ƒÐýÍ  -¦f2L™¹}ÈÏ)ÝW4÷™EËâîªî í× -zý>I€Œã«{Çg&gj&-dÚ¯ÙÄ]Æ›¿Ûïb* c×qóqæ¨y³yH4Ñ£04Æ`QhØGÑ(yåÎK¥ÎÇwlb3ðB-Ò$ú紀؜ P¢CbJòÓö¼^É¥ªé»˜±ïp‡SÒm ÉíªEX‚#80&­j8F[ÂËHÊ#üvöBi!—tÁð{¤MX-ºfqŸ¸3eÁææt]Ö͹¡Q Awýòw+SayÒ¾tqñð\½|À’”Â~à†qe–i‹Ö8ЀþìÒ†ÿPë74ÇÁNË”o$"«ül˜ƒ”&V …~Lì~1p}t4YùšŽ„ÑWS„\a‚¬ã9ð³mìã²/ ŒôÎm: 3¬qÓÁ'fÙ€cHeqÒ†…q¬­Æ7&ø®(Æ/ÁÎ-ÞòJ­¨hH IDATôõnÏ+öJšÅl‰˜‡ª™Œ6ØÂ›žSõñÉà”ü(¾!‰XÖ |Ÿ¥GÞ0°"6ž‰û)Ú}FKöú©ÏÞhµ¿ÿx¹Uü]6äO1ž~•ú~ðƒ‚ÐŽSiÄß•ÓÔäâ¾hÝn/¾º´ptöù¯=ðჳ‡¶Q¸¼ðíïÀN> ǽx~v,Åv?_¿¿úÙ¸7ì—ÿÃW>Mg«€H™fNÿÒ×/ÌP?úW—–X¤ðO¾÷ø3qù×á¤P:Ðè;|‡ˆó‚Õ…©W刜qï@8ç M»6?ñéÇÄ;¸±¹Â ä €pC ¬pq.6§îoPú9œxqÿá¢m¹÷‚µÕÖ´$hÍVS&½5ÑïW*—ZoµÌ\Þ¢Ú%8†q^­V)×Pðƒ P—À NÙœ‰Í¸1—×l®¥:¾ï°Sì’ ÐoÛO<öøc'ÎÀóp²ôÚ~ ȧÛFô‡qãG:šŽ-TÊÁ ê|¶6{áo%“9{>ÿæâ·î¥$妽î4ãœn3n.].‹6‡wz)³y}ÊÈÎfp -$ç¶¶B.ÁâUCpN Dg¾í‘¬ÍDCJ¤ºtôsaªWMñ€¤w„w)¾#Ü“¹áà]VAŸ:¸¥Û· - â •Me¹Ã¶É-Ýq—Uh—q¯cA†#/$™Ýà/=b„>±$E¹¼ »TY5,¢žJHѬþi²TÚˆ¹<{•#L™íõN»Õ™_8´LÄÑ'n¡öÖzàãËÅ4çÏ`pN"ÍÊoc6%TÈ¢ý!ŸyÿÙFá}§Šo…JÓ¤Z®TàeHJæ2ºŸ|Éù»’é”L¢" ]à³eÀQž[å¬ÇŒQ6Mö †ÊîÓ©—äÖXAD­/,.€e|’põ÷ÀÛRÑ‚wëÙ!J à;¶"õòX x˜ŠK^…±PAN…òŵvŠ?c[ºç»nѦ[ãé'Ÿþ…§øäCO>Éè/ÞKg÷`ô‡ñÜ ž~ò,ˆbö©?2àæ›7ëKK¯ƒúvÀÁ÷Ì>ùÄ@ÀÑüIc?q\x•Ðù#sK¯/§Ÿwû¸Û[Cÿ*ýÂk¯-í’ à¤xßlóæó|z·Ó„På¯ÌØn'èõÜ~ßPPÅu £Jnœ"iòõƒ£61¼—b7]÷ϦtaæõèçÜWŸùÑŸÇw¾+qÿê’ ˜ç’e*ŒñXX±¢ãÇOw»­ËH¥@‰z¤ºú J"¿óŽ› þ÷h“ƒPÜgmÒeNL˜Ñ(`3¤¡è 5—ù-ÕêÌŽ'’Ç:CÑ?Å0“Ò°PË‚¢…ÙxI3½CÊ”¬‡yÆB§”¸‰-ÕƒIUK¥r‡°R£?_{)“ ø%Ò½4È2⹼¸áIèI~Œ-‹PWô ô˹J ×A?(9;Ôœ TZ|åZÁ¶@óXþ~£2U†€v\÷Õ?Ãû÷åô™îàEq“TЙ8Ó”®ÃÊ[á8 -†PSY䦲z-]*CšÀ\ˆ3É¡{‡PX–×uÀr‚3²ËÈõÐÑ­¸Ø`Í« 6†(,Á1gîøÄ'A”x™"r©ÁaÅ—ŒË’c–^À¿ -dVeªÔ^ïVˆdñòuªiœVƒúŸ§]Ÿ c»L¤š@ÌÆÉ&‘hyJ´g¿0X‘\Üv‘kJ’µH.M¹(ß ì€2éÅ+¯\íü¸eXré°_Œé£ ÅJ­V?xpáÄcÇß­ÞŸýX’™óÓa>Ž—¾à{ê} ——N.Ìצ* ýü¯_ ê y•E{~þȧ) çå—¯ýîÿü[/œùÐ ± ¼@{Ž=ÕÿÍæQ€¡_}3@ÿŠÎG÷z øÙ@’¦ÅFÀüað8½0W;øÈt`)¸±êµ6؈•ÔôÿlÁÂñÒ)ü\W"b¾?õ^ŽcÀ mÔ_Tœ4€~·ËÍyLN=†uV®¦*Ns¸aÚ婿[è1Ð]wúÙûƒng Ͷ¨üì 8îgí3¬}º™“Ÿ`°™¾ñ‰ýD¸ÿ÷`’«·ä„ÉK ŸeÀÚêÛJ¤Ù:yœýyÔ?ô1ëƒg>ÌϬÝFñ¼pü4€ßÿ_~]½’¡ÇØa0ú×¶GÂ@ €Šq¯É˲¤û¤‚Z娺HÇݸ—²Šþua…™ B²¡®” ²(Ðí[íyj¶ úc—ü6FLö ϳk¨ë ë›ŸDGgU’®šÕ¶-~lÐ/qÙÀâ^úÁh`ö¢¿†å¶¢-¡3ú£+B„LVƒ=,†›–i±Àèßl:prö‰S—î,‚ 8|•ú¾ãI\øúKRJ–¯W«õÚLµ¹Ú‚#€•eY°}ìxÝq]wTÔ˜±3 lScèÅ-“Á°òºÜ>t®Š¸"ŒÑ?Ä()ÇÞH¸úIãõ`à«soN²Æ°“‡*Óá¼,ýééÝ“©S¾k˜PŠ¢“V×ýùO® -æú#…þ°+×7Ö»=ˆ†ã±Ñ¶ƽ§9{5ué͉4ÙꌜE^ßEF ÍVçàÚ¸|WR2à‚šÈL/Ý|\a£)Úä!}ö™Oá;¶ðÈ¡ãs‡á˜vã¤q½»I.¿ClE‡fч㠽å×–çƒ#,Á§>òT(]Ç)ó_ý+ä³ëÅî¦Cg?rîáäáÙ‡é§z_<áñ÷›·a=¾¢apt.©ð¤ PÇŸ’IõLŽ`kŒø6h¬å±åóÓÇP7¼ðÝËÝ çê+׎;–7ó1 ¶Tçùü¿ûêáú<Íïò‡¬CC ‰òű‡gfî/çêÒñ­ºaM W¼´ÍY CLQõ¶0NSœÀle¯ï žBM ÉÔ&3™s¥‰4Â@ÆDìvo⌠Áf{$T‚ R(⢩ˆ¬c"ÎôbžmßëEqjyÑ´=±æwn»—/]vï&Ñ0ÃèÒJÀmìeÅñbZf¸ß6Íb×iΚS£!sÃÁÎ`–»{¶^)ËK×®v6œ³9 »éy9œ2Ä_ÃÝ”â Ðo&ØxŠ4E[ ¨ûc4i*|lp7G ò -#©Ì”f÷Nc†lÌÕÛ‰øüÿö…s{jæ!é·àùo>ã&úÊ—ßl£ïÑù#í»½sAWÒuø§ÑÐÿ¹¯?÷0Œ‡8û~\aõû+Õ -~þÙ3_¸xñÙ}8ýÕ¹=3'âìiBúõ œZ°øýWáxäàƒo ÄS sÓÓÕk?X†Ç±÷Ή]ãƒÇçAt;ú¡³v¹îtI¹iGƒè XºœPæn$yü¹} -CçHpo/Ü9©k ÜkÔá_ËÎG®é¹^D™vÒ“+5¼¿Y °ÏÞÞÚp‚ÕDðTª¤ÑO0+‚5u¾  ª^3ðúðð<€A¢&Íåýai9“»² ‰te鞃9'x¼øb⻿|%éÊà  Ì"áqâýl_âo~ì}6¸x ßûOÿ –8›I´te¦ÆÄdê«©º¸ël#g½å¶Jõ"U´ˆÝ´8}E¼ö©+2+Ó¬xª¾ƒpÂR™1”Kn„Un*AžI@m5Q™ªJ×sŒœ¬•áÌlö¼«mm™Y¥<²fÊç*5Sgòýùqbk`|4|CßC')š„Ÿ~´~ÜÇhkT9PnßÞ¨˜„gÖÜ^¼"mµ—.Êfî+oPNÔ¤59iù÷¬GM¤3y 3ÓYo9w6ºwÞæ'ÍœId¢Óp|êƒXAsæç1·zî‘„üÒyçþœ»Ç•Wç,pêÎÓOžM[ç¿þ¼²ªöòÅ‹ û™?…˜Øì€iêŠÀúèÜáƒá!ÈôN_º?Ÿ€¸±Öúܧžþ‰¿0^å°‘â(zÊŠzöcgMd€ô»¸&“Ï/-.ßqpŃð™_Æg°|sÇÿç[R{ýÀñù~ûJ—ÍFšJE¬Òq9G„dCùØæ\žô(ﳸÆ)P¸r•‹~ ™¡ò¾ƒì%—PF)ô‡øpN #1  ˆMì­+°óÈOHÔ¯w½®e–¨Y¶¦€lH‚I¶×íÄ×2¦;qž%“¬¥Ç™3O>þø“O>ñ©ä©X _ZF/P¬þËqâØã úïÊÅ$R|2‚ {òÐiº®ªdÔoc"1ÌÆý,¾ÃŒ„ubÀ ÓQÇÕžB•£Å5øŠk û£iIGkA•@º ŸówØ¥ÌÌkôÞ¬NþÅÜ)ÈÙÍÕ¹¬þƒˆ¸ôÄ—¸;ªcjÃʱ儠,à ‘zuáõååò}åÃ_ºsézì”G½ž2 ž;à^~¨íœT4ë¸ÁÑ$÷bG\ý ÿü±Ãð˜0ÍMÚ ›¯P°0ÑwÊ1iЬ:XÊfAVZ9=W7Q -<׬  @° oϦê¼ZÝnˆôsè‚I`"zzvìpîSŸÆáDIR=x¹¤øÃÿÄ´(pËÉçÌ1d€~6@ó¶<åÅ,€zmܹ\ÂŽÎèyU àH’ì&0MDý¡’àU¯›Xµ]'ù¡èÓORõµOýòÿ;÷±§f~°\*Ã=†czö7ï!èç(~ Zóv§½ÑZy³qøà¡Cq"¦“*ÀùÎ7¿ú;hñæX[¼vÛ¡×ÿü¿þ|ú3§¦ëÓ÷WkÕ)8˜®ÜltºÎé —.b?ÅÓ§šžñ‡PÏþ›ÏþJc½Å­ÕfÃÏg£D’eÆ Ý$&e1àmt——¯ƒîþ…ïœ{ò£ÑˆK|áiÓjÙÙù“ѳ™,ùîCÎj(O¿óò•k?X:û¡Ç/_½º´²ìM׎ġ…Ø8}êøâr£Û»·ôêÒ…—/}©zÛëÍvkÛÊ—©»½'êëQ±E“L¸× - '„YV éø±Ý3­¹˜03:Àü úìðeO˜ ™T[GwË·FYñè£ÌhnŸ}Gš©I_:g(e;ô£Ÿƒ-áae6 ¯Šj†êG¼A躛¨ÆNkLÛ–©•‚0îŸÌ,S¤’>i‡;Ô1Õúƒ>mÈM?JÒŠü}f©*›‡ÀÎÒeV‚;ûðìü܉ùGƒ#ÜSbfç–òåûf¬|{—“ví4„že/LôÒ dºˆÈ‘‹eÉ’À‘1Þ [ 5TÉ`x,*ÓТT¹ wà ߧy£D¨s¦e–ý0¬Ôu,qÈå»]·XÑAùTÙdjå^¯×~{^Þéô–—׉±wyC ã@sõø]ú¡Ù -MÕ*½Óõ²^“X`ÑÁòãʬY–ÉÌ4pd–_6ªl›I©“霯ØÓt³:]ËçÌNgS÷I&¡sLD¦èŒYÑ™º‚ â`½ëpK/k¤8&Äã¬fâ>¤Ò='4ʘ ŽaÖ˜ -³Â.€u‚}¯ÑOŸuØ–qZê§Í13Ÿ-ä,ú‘`]…‰º‘ÐC Χ´ ž¦½U#´bk¹Vsˆ˜PW› ÑË¥BÔígëµ`¹åÍíÇU׃=&œ–mÁ&š*áÌW`‘nŠÖæÓ3ã,ÜÍa*á±”jì:ÃòÔxí7ØòLY\}¹# iΆ;ñ™MÑÚÀþWþ.ºQ™Ëä±YNKÇ*ò†ÑÅp?~o\¥ˆ]H¼ì8yiãmgrÿ®‚ʵË6¾`åúÚáCÓ•Ér{£S¡ëlxö¤iSÙç°³•Ð~»]¡4§6¼•ý“• -H…ŽrÍw➬ð&g#.¤7}Ò´xuu]Y ëecN™¡$ŒJ—ªàÚÎÈe U=0Ùº½ÑºÝÇt½NY1§ýv£™Þ«‡”ôÀ4îuÕ…Š®žZÑm©¼˜ýKDÉÙjõtÙÅ€äîí6“çîò½œ¬Äf –õ1ÎÖCÀ,çŒåR•ç„þ'-Œ‘X"²‹\öO$ã‹L˘Ù.Ò¬ZOŸ,¾Ðt+ð¨YíDt6:×—WÔŸS±ûûÜÓOƒˆ=÷±‚šoËšH\:€û;2·oHZ[{WœÿÚóç>þ ýo¾¹Çç¿&̸Œ€úLÑ_ˆ§à{Ï Sz@\¦,{'ß¿º?'„½û°â®N°m™Ä~›º6ëþðPo¨ƒ¹ˆiëw~ºÿ0þ6ªO^^“¦î‹ß½ÜëIÿàâë×Óol,/Ï•lM øƒúŸþW°&÷OqÙzk@¡„ÐAÐË‹Aw+‰Ì«ŠbôEæ0rƒ)w£@QOcAo*ÏŒu6?½ØË±#'•˜ÌQàGèÇ0ÙP)¾/‘«×ójµóÓjöÖ›ý©ZAËz˜¯&MèT©RÛ¿ ÆU£sþͽ»^1ÕúÊ*š*OÛ.€ ‡ei1ê?~Ž/Kä±NŠ´ÚÁ=œ%¯¦KvË ô`¤Ø•§åv¦Ýq{‚ƒqwk˜«Àsq3o‚1¹°É~™8ÈË’®!ó¬g¨™äsþ“ë!8å·½Hf;P=ë‘d-H¢5Š]™JÀå· IÃ.ï+™½j€þ+¯EÒǯ\Dfí¡ÄÓ5Y.‚:ê#€¥7®Ï?²-eŽYõEÊ…8ÿè¼xT|éO¿zö‰Óü Ez%Vð$À¶ßvÌN·aH¢nàsþ ÅN³qØVƒ;9Ì*ôg޶t‹`X–d`³Ü?yº;è:Ô -ìÅlˆb`Èam^{^zý«ÁK•<âÓV^wúž]0E®è1‚ 4ŠÏv€ -Òbšæ˜Å[ í€ R…ßä?À(4o.YI˜qÁ¦ðcgMEФ -“V³¦ÇNšü6•‹¡_0ú“úÏz> Šç^ÞôÙgëýáÏœ}°žýåÏ,/½:7tî½ÇN>ЍzŽj¯~Ê«ò}RªkÑ©Æõ xÀÉçã”üë¯cÑ ¨ÿ>lŽÏÆžúóçÿ -yüŹsŸ €Ÿÿä9é J=È€ri§Â’îC èoçY¤ógöþÐÙÿø" -¶@ ìFü(n/;)ƒÔÿËË(™ÿê?ȦÊ/]µ½•ÿ/mo#GšÞ‡½]ÕUS=5ݬb›Ó;³³ÛG.)îòn5¼½£vuôêhÎ^[N²‚9²òGmHâÜAÂŽ'g‰í Ø2r ErdÀÅrEé´'®©Ûãìò¸;G¹½œa{¦YÅî©éšª®š<ïûVõ ¹’§X({ª«ëã}Ï÷ïô‡,X¢ð=¿‚vCCuwB;€°¶Ú^gDê¿(ùµ(I%®É¤cJÂI³”éêD)ISžAV­p¹dœI E91õ!åqÄÞÏɼ(ÆǬ¨ÂÖµµÅEÀÚZ/¢Ôòþ…éàö¢T0uL¯ÜêÚ)¼©úyaè×èQ9¨«Œ ¯.’Ñ?Ý?ÒªJ–¡_õ RþŸ´¸€IO¬ˆ€&®›ÐÂZ ã'ß‹4ŽpFúF€C™u Ê€àšRAÖ·+©Qã] †€¢hq1E‡^ ;“b -ÙB++2@Ré‚(U”.˜rÏ™=—)5]¥ õŸê|-d̯9’öR`kÏÞF—kאָüÆHƒ‡£Î<ÓÜýÖºç‚î?|ÇÛNÐÏU™×Öš/ü½`à[îxZ4]<óM*sÅÿæ{·Î¿ §°–Ñžê7kËœr¤ª‘‰zFrÒÅDÍb ·Œµ¯²¥GcÎÑTšGoÆmg 0I£qýBlývîÍ-p\„K´ñ*š3¶­’vxüË[âp9½~]L?'Ù;@¸nŶ¤“#Š -% ‹xÁ®„ù5 -Ùû/à -ÐYÀ0èctMº-ÝÔy‘±±Âп¢¼8Û IDATdmÁX;`hºwÓê,¦ýåçtE,J½ãŠ¥zù ¯½ò2"ÎË?vñü'ϵ¤¨/m†FEX^=öÓaàãÖQ–0±Ì#¢6ft ¯²Œn,3‰xÄyù¥•ðÿÙ8Û<^ùä¹ çqÌ­P èõ îº³•ÿñ×óþ3TÆ›'ZÃÝèouó(ùÄ2¾iÌÏËøbðÌÔAÓ(´ÈPÓ䣹0kN­†üÝŽYAŠ¥ò}¥Ê­aV €Âk«ˆû?ù×^ûçÿëo¸ªQù ©® -Úzh.‹‰¸B¥gwºëw?¼7Fu‡º6P¦Ú;Û½ö‚WŸs™Øs43´”™Ñ(Ùõïz¾ãó^¼üWƒžd¨¢¶\†°æ†”©âRsžÎ³ÏNKTYéˆPuåŠpËͲÓp²,5*:I\Àg0ó#ÌÌTÇ#¬n»¦a¤yf6M¦L-`Rj"whâl0«±àeÝ‘ê¹ñ˜h)ÒþÖðæê&ËÜÍÃa8¥1À̃,ÞGQš+Å"ÞϹƒ¼@3·L#cÙ€t­˜,$CAñnR÷]ÃâÇSƒ®Gá”ü¼¿µš5×]ßÀIÚ'½Õwî,œô;§ÖÞ‰['ÍfËÛø¨ß€2'¿óo®¶Ú^°ÿ‡?\«¡’+Ëò’¿ü äÞÀœ™ªdJˆAšVmÌm£Q«VâQ„1’< F½y~¸×Õ&T8ˆÂG¨{DÞÑ0î9ߟsd¿OGL@1‰'–S­yN4¤¦ÜŽ1‰Ç»Øë©Z+M´9"¾e-3”¹ƒmìè &ÒqCÆp=³3'”ácͺ¬§fU^4¾Ô -Ö†¥Ô0@(Çñ0k‰} uÔºLdjJ@Æa É}i.`ʵIáqêØ6~’"MrB…´y–€Å…Ù¢ð56Xm¢&¥±¸jÉÆ9Iš‰í]Lé4#1#bÔ» Gô°’\,TûNT"läU¢•%asƒ{"4A1Âïj -+؉ÌEÃM“ËŸ÷»k›q;®  ¯þÛózÀûè+úx©˜NI~Ö4M´œ™Ô¦Ê~ÜŸätbˆ¬þüò¥W¾ú•/ýüßÿGoüMt߯~íëßøæë?ùÚæ}”ogOµýñÈϽ f&¬4°ìr>8OB$Õ5¢L&jÊVˆ˜u›f13‡õ5¡FLBÔäWŠî˜W¾sí«¿ô â ¬×Þ]~íTm®­Þ,9#r:7ޡӦ6ãìln;Í®j۲ň»7ú[Owúuýc*Øsˆ¶)Q€å**…~„;·üg`«OËrŽÙù)Û3âzz,T=(ˆƒÌŠÌ*CK…ÂtØÄE«™Ymélt…ÖI–ë5‹:ê,G|Z pÁÒyU÷-š-·yÂ]Z.ôD ®L܃ AÏ@´¦³Ë±+ñ| ÅûÈJ7æ*h/€‰£½XËìs§K]Nýy_n[ÄU©Å ‚^YÉ8‡YóÊü%¹RE®û 'ë v|²Õ o³ä½ã.F‰²H0½ÏÂö.¦iq"/Ý5j©šhžwÊévÎ æ¦#‚%1Lò"=ÆÐ)/ƒmÉнÝïœ!5|õÖù•³ú@ÿ­Á‘Ý~¯+ÞÁ(Ð:éÁ3ú|\Û^96²6û²«X«~eÍw°Åy½2Lè¿ìœ=uÀ7ß¿ê5]XA ÎŒ¨Ì¢1×(w}˜”&—+sRSm¶+Ûpš¹ÀR<ö”¸)Km9òa¢ÌAû²du_úÜç‚°«[ò–Ç?²8ŽcÖô™w]vàÀ~Âòe±¯•³nd3¨D…dÌ xÑ¢Ä*Ó1ÈzÆñ–!e ³¶d*~ s1Ž4hó&=€þ`¬*´kÅVP_ ¤Ômˆ8x|ìv‘¼ø#ziºÌûÖÕï]ï§~þ¹¯Ý¡g*Å,:ÒD—Ý…¬nKîf¡R3§ì,K”E†5Ìë\1P'ü؂ Ÿuÿ‹Ÿ^ô;a¸¥`èçE'Yb˜®’™z) ¦¡æšý! -*§^´T.Yý˜A¡2á ¾þ»ß|ý¯¼vùÇ/^ùãk°Â'¯\DóèêuÄú·‰ÀÑ_<‘›€@ <„žŠ*Ê'Z. †W—ôƒˆ©ú½¹F¬Æ¨­±i¸ñ¡³è®}cåÒ—½ùÛ t9=d¢“U‚¸oqH»–{(ž‡TÙ& É1½kipЇƒSw¤ó—¹ŒÎóÄNëý#…þg^h5[w|±ƒTÌ¥Jƒ›¿c VPýÙC˜o9çY ú)¬(;²;Ï.”Ñ?‘a "¼Ä,³#ä÷§}÷˜·C–>“nf¥î†F)ZèOÌ̧ýœðÆ‹cl ÂèäKìÙGFtâŽC0PØÕœ¬°ƒ$ß®KžüœÑŸwˆþUÊŒòï2 “ ¶·×ºÍyï̹ì°à…HrvnRÛH¸œÕ8,Áà¿‚úO_¯µÔ'Nɧ¬9M›Í†N—$²¹Ç»y±Øe<ÊmÀ2àÖÝ[åcýësuÞI©µM‰7U§zTàó7¦´°C‚x6%GØÆ,{Já{ó;ß1g†çž;Ç2@FÚiüc¼-é®ÌšÃ µ?Ò=¥óËD;Θ@I@׫)ÉØE„̸Y)ûHÕ5c·hÊ€Àßñ,ý~¿e üÉ ?œ'È]k®…7[H}lH¸ê¿wB~꿵ÜêL -Ì„þõ:ZÑ¥áÙÈþŽÍ-AÐ`H%o¸ªT¬¢Ó¥*AžRI|*Ѷ™ø8måkÿúë°S[îì“o¡ÿ Åh<ø…sßsn!“4F! -€QqÇŽå8vÉ…t‡Ï Flßú~—Ñ_Lg§|üèˆ0¢Ýlµ¯þÁïp6§àœúª]õ€þÝ›« šó…úO×&§ú0ÞÕ]„à.´ [Z×N6Ç45ôƸ0Äs%_tê ‡ÜЖaF@p£qÊê?/ýMjAÃÙ‰ð¦Ö´l~6CòY‚T» êv‰ƒŒÐ_¨6R<ÿ5_ Pÿ[Tè~¸õùéßR -Úã -Ýù¾hJÎê“,c¶ÊCñzw)&Â+Ó Âï=¦Ð”:X„þ¼G},TG{r£a·Ms -¿dûC) RÝ—‰·X:à #8Ò£”Ðõúg[Au?ì_þÂÊÈs‡D‰Ðºÿ`'1pý-¿éÂN¸  ØÀtXýu3q¡¢#ÒèQÆNw@Ö±Ó$iT¾œ¡t4‰6†IÂ} -Á· û b`aô׋?ç°¨ÖþþÜžQ®¶ñ®ßÄá’‰E#£·3⤦4OÈeа«u -2ác\_Ç‚¾Æ\‘æÎdˆrü£Ñ—³ÏF8æ\&)&hîËJ`ZÐÕ=ÌŠ*9;UÑ¥l,òèlÚAÂéž`D×Èb@¨ü0¼º×íR`Ïu5úórú‹[˜‘èÐogxö( -G‚;e*d5DÿÁö¾(„D•% ¼Ç4 E=Vi.ÛiæyZÒ© Í7Ç`—u/¹ÃÔœ™öF¬ºšØ„&3@ËNÆã=‘Í8hZkˆq3ª]‡÷þÕ/`b@8Øvgª²ë¼4ýìRÉu4Q‚ç 3³¿¶WÖéKTMQ¸Å̸w?ÀzálG;4c•™¡gmXqÞ½ -þ?ÿÍß^]½!vÃ01ƒ~oôÁ:<"wµo3I– Ü#Dr¥+áLŒ[sºß¿>Û¸ì`$3@«Jð•Rcf׌ ƒ€¼19&ÚÏ6`;Øé·ÚKl¬Ø3.<Æô Å©Rw\î›Ú¼´ÑÏŸ9;é 2§&¹€N!‡©gV3ø•8æN{¿O‹R‰ñ~+Øq‚'<Œ'êöCOxX±‹¶ŒÇÊa¸Pô¬!™„¨8âý$ 4§ÁðÑPA¼¦óÞÖF*?(þô»ä硺ЊÁìíCÃæ®˜ð³n‰Ò<±“†¦C| Á99 ¢42-vYLPj»ñ êuƒ»Almõ@ÅæKâqèF&b•z6ü—)ÐOi?Ê•}§5‰ ¼GuGÈ“Ocr8$Ût2v‚ÖɦaÄ Û¹cÃtú>Ÿx7öæšñÄÎÕU&WDd­ôÑÏàŠ¯pFÍ/BÜÿ6lZíùÕ·W¸O[¾òïVÏ¿Ôi=åm|°S©=ï ·‡·ol²’þÖ¬ÐÛ´iê“£Àš³Îw:y¥CTÈn4¢TojÏžY±,A5Îp£$´]¬ÁxÕ%ŽË;ã< Mì -ÚœÑãµ*ªßœ¨’ôzIcÁô“ñ®Ô±u¦Â5ãq DÈÝÊš?€Û­¸uÐ…3£êŠ*Ø·$Mw©½»SMÕa³u[By¥–ä™; 8­“{^1¶‹8@J5ÌhªP•…ÀV31(¦°Kì)zÝÅ…Ït¢ýÍÓç™™‡E80ùr ï–\8Ñ2®œ‡AB)ùèT°¬†Â–„pǦ/XÖ:ã.Q fØ< D0©½š GŸ뇅d]Ä(%LëªL ó׿.ö…?+¼ -½Ê³Âw°¿7Qü ˜Ð°ïP˜@¨Q%í¾!BÏäÍíKÏÌÞsŒaB±ôgZ¹åf0ð†¤øž[ènÜaÕ]ëÚÑì«?ûék梙šrºfd/s»‰ñ–®„*ŠdXãr󖚇€þúV»Äˆ;F´?÷CÙ±£¢™ôKW+;PN[¢]Šaxsî¡®^ý¥åú{˜‹ùîûÈôö÷Ñ¥Ã:Ë€•³çʽ龷Z[êt4!%›y&Ù¾<C×¥Àc¤„¢ë4š­ÍÛh=Ô›-vkà%9waÅd‰l ¾têlƒªçú[› ø§÷©}¯+J¼ý¸6S † Bºþ`Ðj67ÐsÞÅ©•bœÃ€mÆîœ4NA%aFò)R_Ötpc­@Up}¿Py®)奰¹À‡éNÂ0¸³ ¡ii-H8hžx¼Ï‡½RòÅ©|j]mÀ­f„ì7`êÖQúë€Îi”Z¬;âg>,A.Å9\œÎ?M”OK)f³ánÝô …Kv½‰¾v{L ,í;æ¥ÑÀ÷e)ûyþDñ»^½^³çƒÑN¸;€0 Tu&é|Òâo„‡Ý»›S‹ƒþpg{töÜé÷çWÎ2Éeÿ~Ðß¿À -ÿ½ú¦jz³/O kbå³ÒÑÏÚ=gß{ 7FÜú-NU°Ç4mjjR‚i똀¿›R¸›·´ÃD §jDØÃÄÁöÎû)Gì-bL+/!V#Š¿½—& œvÃ[·7¼ùâ ôs 1èø,wÇqÒ^ð‚0¶e#FÐcÌšªg13¶t-¢+O™Þ)Qˆcë:ä¶²0v’ÜuÝÒ¸qy@¯ÊJ^;ÙÛ‹Siátì¬Vrxü—ÉA¿£B:ÝN¨BŒäIJ^êD¦ hlaËI4mŒ­¶«ˆþÁú`÷‡{b±)Fc ÊÎ<Ü -€ý†0<©ÚÃêÒè[–/x3ñ²y¿˜8 –¥ àåõ—»ïöwïË[¸€lCÎLö™ÊlŸ´ £šz¤4j_!@^B­-"jc &u!vÑ0GJö»€ÝÓýÏÿ“×¶ÈqŒFçÂh -ÝŸÀR‰K¥x1X™YÊÐèw‡D®ßB“gõdøL2FÿÇ./~ -µ$ÿX d@ç…•Z½F÷s©&C݈aÛ™,“Þ À}XA Àºxæ< q)1ÆÆ–žÅ5îlܽ2 ÞÞl-,r) ?ËP~ÑV˜‘®v -ƒ# œkú»sñXz61s\•ãÃ;49„ËZÌ÷?â•Vín¤G¿ìÕœIj}$¼Æ±Æ!pt±”VË ^˜†Œ™ ì#•Ìh‹+=1Š||Ë‘ [t -í‹rO6ÎÁÕ¡ÝF£±¹9å”JK1€DdHŠm˜,úaÖTõJÍ@½h IÚÛËV¿öX%-h<ô7[Kƒ¾ÌÝ -†øLbú*¨ÿ!ÉæÇ¢÷fÏ=æ´žöaÇkE¾J¶:¨L9U®üîUöÞÜûakÎ;Üá¤9ï•ýõq©Q/C¿üœ>äõ—bB"ÑÇ9i÷mKzl²ƒÈÆþqô‹G#¨G®|k1Ay®2V›Ìáùfã왥ëß½î¨cýï9&ù(ªù8N‰”Äd† ¤ã8gF˜$*H`öu71Àô¥Ü#–Ty|2ÔV¹tŸµO—"sHüP•L'ÌàÆéËì”cjè(Έ/ÏbMˆOû\›O´ ¨2€ó˜¹‹1 ÌÜ…©×Â@">9W½'dgŠ<Ƥ+~ÔôÇñ€©>¸ò2аǮ -.Ï…ATÁZB+‘Ú 7ña„¼UËî:È+ A4=ü•¡z±ºà¡±Ô”¯àŧ6oôP׬ªa!ÒËÝ— ÊUÒÍ¢ Á«)ÆÜTP”g™ÞΓ,€þËñrçFîÂ,¸·°n)Ãf‡iºÌ^’‘T¨–f”Š0Ã; ÃÐ'vÀ•ï½Ï_½½>.~ÿìÂí-ë]öÿ  @&»i®8cQ1÷Âd½{Ñ£á`Š'ŒsÆÌǬJcÖ¶I®@0@ ” â0VyÕû1¨ÿ`€âèÏk«}¶ûCÌ1ÀƒXûdY¹†-GnY ºAÍe„ ïãJ(Â)J-ïÙìƒg[o°üãN2¸2`³#`«Ô± ЧUät! بc§-Ç`á5»#,òƒ—‹rA§ÀG7~ПW§ÒfŽÜ`)@EeI…mbÔÿ îš@Á´¥xÁ2cÕ·À®/JÔÓ%*\wÎô/ÿb‡L°ý»=Œ|²úÏþúôôú‡(*.}þâ ·ã6ȯH% þÃvõ»kÉ~º¿xo³Üd@ý,þŒ¼† Ãå 퓞ƒPô–’ãŒ+’ræßÎ8€éÚž›z`ÀŽA9þn3Âu¯é‚°OqÌÉÐ…9S¼À}N:5ÙËÝ1Á>¢¸:ŒŒÂâ£2[Š^¶ RóÄqÆèê?’òc ™aÇQC«âXe){,@ýÇF»%MA“…0ÜŒWökžò9“0hÕ|d(IS¸„t„ÆœþZ…âäI'&)Z²Ç†à¤ FŒ,ãD;5ãÕ‘NÑ¿xzc´@÷ß$qbÐKy¹Ø zöÛä÷gU‡=Ž÷¶Ÿyfö¬÷öž9-nzõ¬þó¼[lF_«s5¼øâS_ç¿V…ÌÖ猇ƒ ÅØÿÓÀýL;d ìÓÎdslÚš{)9²aZ ¸Eà#ÿ¥Ã|“qžþÄR8¡Dˆ9Ï«{sÎÖç“_/Å2]L¸V‹.Rª–A«R5r—æn€Až;wï †ÑÎ(‚-³<ªZS¼»†$\™²2Ì~±ÆÄ”KMøãØ;דgÎÐöúÝö +ﯞûÌËü§1ˆ»Ý{-eÌ|€‡†œC¾rN“ðZmaÏZýýÖSKêq€Ó"rÓAÎNx˜î17ËEsÈ=Ú·ßûö{7ZOýÄÂfx VgÖîE `´ ‚Ý‹{Ñ úó+æl°sÇ=~Ú2w0x`¤(hsÌLà,4[§L€|šPd˜²Œ‘ ÞÄÀåˆV0Ó@މª+DÆöŽæhmX<í~êÕ$/<<^®Pw%ÉOg5Ž “Þp’žWøŠI±VkÆt*&rº4d?5P©7ù-ƒ6H8B÷”Ût“½ýê<%3,ŽcÖì}©ê ÷0ÚÝSŒºFw´;¬9R¹ÊAèúÒºOÓb8!åK!0÷ðØã%Ž‹BB]ÉÜëÝŒãØwág›ßi}ûÚ›‹íV}¦Ù½Óët±-8rZMê¡ü‡ß¼ÖÃöÉfr´ßjyÞB­õLÌÈÕ6r•ŸF®þ}šn%°ÃDyJ-|L÷¹bvèX ®tskXxÅ_UÇ©Îe@Òbš M±é˜^´?pg@Öœ â^Ýõë.‹:Y.§f –J´$ASn.WyŠu¼®ÇÇÂóLr ß_½îÕ—E5–µ5›ÎfãFÇ(ÕБBÍJÀ\ÊöbêH ª¸‘^•V­¬gèD/¸+Bg+Íœ’‚TSfy`m­ê¢š’>‚Û̽šF²ÎÇ?üqüªÅ#|˜íì ‘§ó Ɖ;CyGØO =QìÑä)©¡,̱®R‰Ú‰ -‚%e¦‚#`Y¬à ĵ%¾ÖXršJ<¶e³rŽ)¶xÁ©1­Ò]8T“±»+ÿûÉ• Õƒ™0 NMÁЩÙ8žhX[Xo¤¬“ -¦pb%¿ØÊ;\·`P×4«°“LÝŽ"Íú£aXÿú[Lo¥ç'>1Ë:Dp°à{4þñ97Œå÷ÁƪÉÒøgW>nU¬ˆëR‚ÒøÅÑßä#`ô™åtõí›8? -ÏÖˆ'ôçV¼-HOÓ\ØsýXˆv€[ÊŸjZh&4íÁÒ³ÑÍ8Z'“!H‚mÑR¹¡(qKšSOEßz»ÕË;¹s?™òî³#H˽ÃA`}X9 ÌèØ]øú“²À0ª‡=zÝÿ‹QüÜõ3a)˜Ü,5Õ©™kw× -ß|GzunÞ+jŠ¡ßm¸ƒé cZ0µb¢ØÜT")zjƒP+¡wÐßôN,Ä?|8ƒÅS8Qý‹ÇEü?˜OQ…ß^yô(ìÔµé^ZOÉx‹Mè ÀœEÚÑ èï/´ÄD¿wÄ@ÿþº×Z`Š7Zý¥~‚èßýVëÔ»ïDïX38ÀÎ=(©ÈÒD]×®ÓÑ4-ÇVØ-ÃÂwÑh,ÜŠ´^…­ä‘+Â4tÛ¡Ú9Õ„U=– Ì™¢Ÿ­Lû¡ Â(ý± -ÚGØ‘4Ù$wà°½„Ñßžµ—ŸnôÓ1©„˜fSØ‚eô¿}—èšøä±1=蓘iZcÀ/]Ã}z”ågzY»…©çξøþÉ—ÿÒO¼þâ'_ùòßÿ©Ÿý›_bîëÑæ{½n·vúÑöÙ¸Þ?í¢I°¸ä3ú JDîH‚²¿^Nº˜U!+Çú(°wlUžÌ&É&FEæYVñ\9؜٠¿f)à%Ænkr®Yf#ÚÛõöûCÐ¥b·¶HèOgNÇü]šèP§Æc‘TÅät?º}îGV~ã× þû3?û·¿þï~v^Ç^¢âÆM¤;×ÞºúÒ§?÷/íÃ'ï¯uÛíf·–žÁ‡s‘šÍ¹ê™ v†®[¢0`#vÌéúgN7#@sýˆ`Û^šð–R@Ò-RÐkŽ®V­;e[ª2 ̾4ãÀ©Ö`',&Y‘‚b@›þh -`¤—]4 ŠŠIeL])cES„¦`Œw%úÃVŽ™ŸûëÝ­írÀR:¤fD­ã$ƒ [©Ìdåì ’›eÊ7Êâ‘Iµ2¯øâ¾'yÇ|‘~Ý?ûÜÙÛ÷{÷úƒîN0œdÝ ˜6ƒ[÷moÞïG»Q¿‡NˆgÆqgjÍc x€6v)µ’$Æ$„<Ú˜¬¨T¹ý¨1cq>"¨mBÙUH”>N8ܪ4#UT4*ä -6ðHøosùÌò'ÑíS›­ouß?uî‚=-£`'£`ˆAÄ+&ó¤ƒ\¤Èg"†»¡K%ჭ¥g;Ã>ÉçªcVk:Ž‚ŒU;‰#n«'±[oô77¢Ñ°Þh l:5„ÂäÑö0Eö CL ‘ðF|ÇIân°y|>F½ø\£ßm=sñÖ¤åfØ3¤Ä®SçL nÆ#[z!—aÄ:èæ)Õv² -ı9÷dV>ÈË9b'%´æºD.>ÍI:Â0N¼Ü²¹½lŒŽ‹,/Ýd†Kó3/Ü)fnr™¦ßƒe6§Etµa0Š÷³…yŒ¤•,3¸æ9|,tÂâXÿp «s˜8‘Ëjº3Åý~ôÓŸ»üÅWe«Ñ²ñ ˜ùÜyÜfû²Ç(ÅïÞÀ@Ü‹ŸZù¹ÿæçõúêõwo®¾s³³ÔYZ|êÚŸ|çÛW¾!2|b_þÊß{å³—þð®þò÷ÕË?l%aÔýÆïw/~YcO5G£ÑùOw`{09À_Dj²µ­rírPB¹ÕM’'ÛÜ -tvršSÿå(ô£ÛyŽ?W›q³ŒÓ1©*ØaŽH䇰+R]q-×=·ÖŠÆ}ИãJ?ÞO¸µ§9©ÔªÎÏÄ.@R’îbãë öŠâ>¢^ÍSéùÁÚf)fÕ3ØJ3Uo/Ôv‘û;+Lb¢bÎ<Ì -&àç˜š¿³æ)ú}À€1SM4W ~“œõpy®iqÙ9Ì$dn ù›aíö¥áY‚÷Þëõðeé7ëd{1U°åK†TÁçR)»¹ºŒòÆñNô°'u °qg‘qGØÁÄË&ìk‰fï™WŽÁ ‰%q Æ‹lX/l¬ ôeŸuËÎQ¸ Ó–-‘Ê?cæ±pu:å[?ÜZngý]±là5G軎p&¢2ƒù50¼ç›ØŠ¤ †G"y Œ}̉r°b£¶x1»¢^“ª¤—1‚å’ȱîObÞÉ~kôÒi¯ÿ[«Ëã<ûé3«¬ -T3©¥ 5dÊ¿©bðÈRjV.ž° ™ý?åþ²X-mÏQY§—«ß•>ßþ×ÿôÿøú¡¸Ù·¤Víâ{A•V`9ýG^g–báåŒl‡ºß¶=fn¡BÓÈF4™dÍ®Êüe6+áT,-@Tôîy¢ã͵ï^…mÝŸ Ùb€÷ 6„aÛ:¨Ä L Xa°ñ¡h’ógpŸÒ:i˜r¯]þŠŽŽô»Fkq)ÚË@ÀJ/Âd- ¶ûO #Ñê0VZMÛß ÂæqÞ÷Æ÷1‰Hub£$Ô“!æ–+#tá\Ù+¹!ùÉ+«ùÐ4·­(©låÃF¨¥ŽãhÇ´lT SRª\ãª!7À‚ç+ÈDPù‘ß_ƇaÂðVp¦¿Â}]g‹Ñ¨Ç.»£áÖzÅ€øÓ–ñ¿ü‹ánÿW¾ü+ÿðŸþCøï/ý׿xãÆõO}êˆ /žÿÚÿþÁ‡ ®ü¯]üì¥kò&¬¯¼ò…«ò&ýò«—q%pû®' ¾ö¯¿ZNB…×ÌsÁ5$ý‘vgÅèèù3‘¢Ž4´\ô1F)†d#ÂØql/V¹ùN)‰{(«Å²é$[NòÙÚ94J‘d¿†JUìåàÔIÛ•hè Ý‹¸&ÌŒ5©z“em“}š&–R‹êÖl‚n¥lÔ¥ñ††Â(“;éÂݲ`†ÑH~H7Ï1€ «aÈ,"†ɽzĪ@·¹t¸M˜SóÃÕ禬I^¢‡]DÒhv“ÅO<Ïÿ5«³ú0³Rx5Œ4’î¾ýèÙtIpRbŒàÈ{™xf±‚¥$ ƒ%¢{ónçü©Î §o~ã_ñç­9öS‰R°CÃL&}‚ðë”SšsùWÎÑ'Øwü™-€~‹Œƒt_Xîjàú½‘jý.ý†(1Bƒ`°JY_›Û›,¼êÇͽw)?"ÖúÃ:V'Ð9A©‰(á¾Kã¶ÊÅlUPì#þSAÀ2ƒ|èœØ:5IJ¥€ÎADܶ Þ -ØÚѾ` Qá¶…gÏn}Xp˜€`6£?ŒKËu8…b è¦Â‰ÏÿèwVW›*P&ɨË.+& þƒ€îÞo-cÏ΃³Ÿº8|´mZF†îdÇp2~Z¤×¡ÿWý&Ȁi”,ËQÁgù$™Ù -g&VW$د*GA4³0Fò5Ëkè?eï -V®Qm¦Ó½º‡&-wÁžnÃ2 #C÷™!1€Ï) 8熜$( Ð!Õ“€¦»a€þ( -á°ß–[*Ê[ãR€ý¬N)•`èz÷ÆõŸÇqõ«ÿÛ¯~ñó_Üêo}÷úw?sAöŠùöUÙóçË¿øót0D¹$@ ÀÐÿâg?÷ ? ⬿$¾ÂÇ÷v -ó™uÿ£ ·cª€XÉT\Eĵl°è§´ŠI®k7Aýw­&ÌXöË J¾¨Q: H‚ñd+Þ—í `ë0Uêö­ªk[ŠÁ…p¾Kµ(Šžk’» Ñ?„+œ±5fe¨)Ó¡cÐrs]ÁÄ€œþ[">³è+)+ršëI)˜4ä„âµ.?LeG 1—„9±KÁ……,¥À4GEï‚þ£>¥r– žy”ÿëÎQ†®!oÄõ;e‚ú ôC”Î3E_à˜SÅ_<ýüÊ÷W×P¼w݉WÊÔºÇûø˜à™¹¿àÊ’ß ur¼% ?l¯üÖ·Dn2ô …þÌ(7V èO€^à91— ŽN0ßšgÇ `eÛ9}Q7ž¦ê¸¶~îG¯À}ÝÈü‘© °&¾ç|ÿrà5¿ŒZµ\-ê³uÞÚª býÁàÞ|ëàÕÆŒþ‚0î•ÏH¬éÓ/²úÿ1‹«´²…þ©.%U;\ÂjëÊLP-K;yå>‹t#13ípz7l(´ŸAu ìXO»°xêì((’ôe)y¢ûŸ\á¦",Cã ÃpãÃnƒóOÉãŒO®æ³XýçÉO‹e@&I -EžŠ V\ê:2ƒ~ü"”ÎÈÊ&Ë€a¨ƒ"‰ï»Øƒ1Nf)‰ÈHP®8!øõY2.œrÀmÆÔ ²áZ,IrÊЯ_\ô77@ØÜÿ§øÙ¿õÆ«îlãô³§a½Û½ËA PÿöZfõÿÕW$‚¿ø©0²ƒˆÑÿ ü¬È°úó.¬"ÙŸˆ²\ÖåL¨Fß#¸ ³dÀÂþJÍZôd€v @Ëù`G ¡›Û˜#M81Ms?\µ ¸¯3ý9‚/“Ý3s8+R,2%ãÉ­Oæf•ú×Û†æ¢dG$ „5¯º¢4(© £¿aÕRÁ<äXú¼hŠ|9D‰ÃÊ©ô“@_Ûmz 0¯Õóð< ÖÃGÃhDÉqäù-Áq:ÌŸ/JQJpæÚÃþ­Í÷¾ÛÞV!N¦ÚŽV aïÉ&½ûÝ»¨A¿ñw/ksŠgMHõe|˜Tìè©êïê/Th Œ€î{w.~F~«¿kzŽ4éþñ¾d}(uáÄEIy©—sTË'AÕ¡àÓb’s1r”k§¼>¬¿úÎå _}ù›B mbµû`pî™Eý Š7 #ü.†: 5ŽA Á‘·Ø{u–ÝðQpF¦#«‚HðTRæ*'s,ƒÎ‚CdÑÉ]zÎÿïÿƒÙŠeú<·ñ´ÞïÞûß„£°Äa;ù ½;‡®Y ÅŸáxçÊ¥WcqÞ©Þ‘ÉÔ0‹¹¦‡ì{¬3/©!dq·>˜D6»È†»ú®vΞuNÌD½Ûg–¥å T¯SôáÎbÙ9(µ¨ MäÛ™óE°M×c©ènUôSR)vÛKǺÉ=Er–ó¹s¼®`7nV×Wo»çÄ·Çógà[<è<|ìòâÙνÍþ5E¥pzÛ^û>¦ Äaoi¡ ¶µš;F 3¸°–oß -†è ¬Mg;ðÒ½±ÚîœCš$øJÝ3i¼2uF9?]7ä1O2îq(ÈI…õU“{ôX*g>¡ï2[î¤9ÖµUM6ÌÙE‹Â„Io`’sw(ÙÉŸ— ýg_@Q9baø(,2FX3 #ñt·@ƒ sïÄ’ßZ¼þ_/›“YÂz7RGØ3. f•Èø², ܺsË[X ¿¥Ý,È4"mj‰þú˜Æ¬»öQ÷¯Ó9sùú[_Ë'-Ér¤‘Ž’•ìÓüÀdSûšZEª¨P¬¶å÷‚$£ØÐJ–DrK¬é|”SÿÝRC`³ -åŠRÆ›£,Ø’Ãq%~ËÉÄè¡Â»aÔù‘N4Š`gø(i³7Öñ$sÞf·_÷݆çæYqµ7ßëë§6E‡ èñ%Zü'à¿×®!è/¶[Kªä¢·ýáÖJñÌØu}X£¨DrF•69Ü3é;` —a5\€\{Æ‹öBWµ8ï6YpZj”àÕ¶ë’œ*VÏ'ˆ6kV^X4&ÁYuÙ(²Ke ¬$ ª9O¥y‡èo©ê>HM5Ù2ˆøña ¦ß@Å‹it"3†¿k±”’äK 6ä¡¶ ª7œ’^[„’²õw™6Š–ÊeD¿ˆeV°åÇ©È%÷ŽÐÎ¥RÛwþˆ‰xËîå©ÒÙby\ߎYÌ#é銭]€MŸØ)B  ÿ_ùåÕ7¿]N=*¸apzÚüü‘{Å0 ŠZÐMùt^S5û{t˜‡ƒtE÷ÎÓ0¹Ð3á¶%ÐJn ú×fÅxO}!&'§«Â”ú|z“Võ|VÎDíùâV×îmh àI ûpÞ%/Ø»wK¬ôЗˆ²Š·A€#Ø÷[ ‚á FNIØ–¹Jü“í.½KïäûCRz`¤4·1' »P‘ë`T®éPÝ M Çè‘͈õIf+Ž×v“I”bݯXeRo}ÓÔîtA2°] ‚­>èþ;Û[°‚<ãÄaT“§éœ°«ŸeåØÖ¤Ö}ïZ¸Ôo6Yý//̲'‚~n®ëz¾î2Àk"ˆûØì"MT/Œ'†þë§‚. þƒ€íåó!ƒ4¶È'›¢¶Fu~4‹LP!a ÷KªœÎvjÒ2îcvöôÍa¿F5”÷ °êÊmL„-ÑüÕ\;ަ&ÀæÝŒ0l»?è¢ %«qÌZZvA ÃÐHÙí;Ç û‡ÈÕ@'iQïK/¿ú•¿÷Ëâ϶lÜ_OÓñ¡ÝYV“¨ r©ÞFÉ ý‘z_.1 Uqܰ¿.ÏSó£1úÁ'wmÓM²(÷ýZ МF‚¨âdH?åX%¦¦q²PŽKwP:²i •¥t‘S£P}Ðä³k¦f OóJ’Ž5?¾VáµN£¿àîÇÄ|-Ŧý0úÇ¢Ô@É‘zCÑ‘BÐøL©ÆŠ)Ç9_ˆ˜YJÅ -ú¼pòœ‚1ƒPò„ÓM½)ÑÿÏ´Lµ{Ê»+Ä4Á_y[Ù’Ií±î9£ý!$Ì ?ÿt¯á2Ž=ØQfQqÊAšA,€%ùDšÀ[ëeõúæä“ññÖ\@!¸ ÷ä(d Î\ÞúàŠN„ÐÑfË{ÌD9QšŸžšØ2ç‡)¦5WÌÈûH§Õÿà¡Ü)«ÿô‹nN2tŠ+ ‹“-€~?ítœàaØÝîx½nVÜâ)T™y VШAýÿû*éûAÐ î{|ªÇlÞzÇ`¼Ø€þý>~þ¹{|`–—‹/]»öæÒtÅ5èþÓ};^ë„b=”ÔÀªò‘÷î*’8Pÿaª€°Ùï3ôÖþBfë,è/ÐÀHÄiú5ËgD#hã1Ñås²:ɰ"”ú1[V}H=7T‘Ì—iïRÌÎÕº'*éŒóš…&ÐZvJñF!Št~¸ÑX«õÂ@Ç–äø2d#Ò¢1”¥Ûê -Òxä0)!~t€]Ã(Zð½(ΰúÊ‚‡¥d¨ ’ uì1¬ÿ±ÝšIL›Ô¢DzX18éö5úƒ°öÇk,Óöäñ ñºÑ˜ à°jÖí2¼¥*»@t(LÀhSÅ"hº—t|ô™ÔœÃEL·3áŸ@#D•Æè4ƒpýÑy½IE©~Fv¹zÛàå½µnÌXa :>zuî|p§7·l›õúf¯ß˜s±¨¾¼Ôò‡Èøúäž ¢a§½€Íœ’ıA•ÃäPRü9Ç ÊÒÁ£67pP6Æ{¸f §OÄlÃô7=¯§c§ÖèÞ|·:Óxú¹sêz“4„ÝE0OóZUÞ5€&÷[OU™‚–Á$¥l™”‹L´y-ƒÀîŠÌÎa¬MÆb»\G†H°R–™ -bÓXKTIT›kÁñëÝ%º<`J`dÌ –#‰ ü³Óý ÊàáƒæS˃½Ôõ±¾J8Ö/âIbî!ú'±¤ÓJ±pÚ¨Ñ\ÝøÁÕ,>Ól7‡[wüMŽÃÝšSÃæ -ðøÒ ±ß ²þ(äÌðRÙqŠW¸öÃ^§s®ÑìI* §Šý†,WHüb%ž|ôX+ÄHƒm€4¢ùÇÀg’w˜Ëqø -’–H-çXµ Ú\‚ʰ=ÏïÉÝÂÒ3ó'ê;Û(–„“ìG¢â–Ûíö[ñ~´±už#„Í -Ûn#‚¡ŠB³m>JîÜ Ü†}ýÍ^> ñ¼’µ¾nÃrëöœëê ÔL ³œ"ŠƒÁ”Ìáhg}óžp¤ï…=þ0-Ë1M‰ª—ÿÂ*@PSæØRkÆsÆ]Œà 5 Ü/»ª¥N“Ð1)ÿ¤æÆsÜyxܘk:Ø€FdÛú1'ì.æ -#‹Ù0 ˆ5%^ˆa­jiî }¦Š&vÕ¦ê?ä·ðj؇‹9 $BE+q"j†l¿‹DëX˜J”Î&»÷{ âšÏ3dÍÌ(E&²´$äØÉH…Ø"I“D†a£±-Ë€¡| èíŠ ,ƒ4JQ›¥vßR ¤$?(æLˆÏžÝ˜˜|P);ÀIJÚƒ‰ iԪȴ©ûÞh´[* ¬0ädÙ²çsÌ4Èóá?øèkÎÕ;bzÉgb£ÓƒéJQg]CÀ K,r–JQ籑Ëe •õ<¸‘—~üÕ˯ÿtw¶4\ás"ù–HdÿKú„)6e!âÃgM‹æ f"иªûÍ…y>î­¹'Ћ³9óNs¦áÛ,E³˜ô™íaÓÇQ€Û`_Ä…3'záÐm< dÿ88ÛÕÄ ·ãFC4£ À—›ËÄ!Óq®¬¢bº²¸¹¹ÞwDÏÌQ ªô¿ûOþßp ²èÚM/I2€þ†JÊiGè“¶F#Ń&° ¬ôo&Á$ƒ­C °àÿš=fþÄâÂòéZc*çÁ2KtòíhS@°oî@ÒQ¤*-6%O:YJ%×¶iFœÓR³¥ò’› CFe×`‡ë[Çðæ×s.õaã­áCéYnc2Àp§×~öœÅ˜#,¡2‰j?#pÔÖÛ7V›'ø·(Û¢FÝÏQþû[ÃÜzö ÈŒþ‡·a +]~a)Ÿ.£0 0)Щ٘Û#Û¡Ýn÷\ç¢X Ç–öï íõÂBN3¥‡Yvs åÊÄ7gL»($ÿ¢Ë_ç¬;d[É”žè/ÐZBWFç¹&Œ³ú1Pá]fDP¯DÝ»]ñlröE4L@ÖÙcÅ~MU‡…ï`?fÍ;åúÚØdƒ£Ôÿç?ƒÕžù6@?lŸ¿ÔCÐý³ý$A§y©© ¾bz `{æS¥îäDÒ©m $¡7i—ê«mËÜ @ýïüèËÝwÞÜb V«a½$ó|ì;Œ†µ™¬²Uì8²ä3 ÿg]° HÈ2œï—z¯'‚‹.õ·ÀˆD„ÜøwŠU.tÔµcòøýÔš9üÓ·Þ“!¥Íõ"I†ï²AÁ ŸÆ €dRLªhXª¨œå»`ÎDÝ¿$ ä#UmÀð0@äå­^\"7æÉ¯Ó·´¡æÖ[ѨПDRy7ÝVëÄ"' †d¶¬ÞDˆß ¼¬Ûw°l%ŠxX¹‹Àæ«Å¯ëgX޲à“Ô0ÑÛVS×È -/PÉ-•5É®m„ €þÜ5ÅAr‰¶LÊÄG‚à±0;¡ÃR¿.…+8ã@çx ”j`d†a¨D8ô,·† e€ÛŠ¥{ ÅI«±¡IÑc¾sÓfÐÒ¸ÅDÃyùE…«ñÍ£F ã¸Ì2ÿ¿ãkòSNNâ­ZéûÚ&@¢ìM[¼vaáõ:xœ¡P^8ÊøÒ¿ -ëÇæLçbȲ‰‰bÍB ˱,Å¡«- ¤Y(F·@œ\’€ ÝŸ—z KºlEûÃV¸S½ Á½¨ý ÂRRX)ñF€€ìóòóî֔禊]>gôXtá³ã<Üýq<Ç,àƒÁ¹ûËða¨ü-:¨…IšÜŠF 2/ÂÈ4¦®¢ª#0uùÊÓT)·ê„£¸F+ÞÛ¥`)B@šÔæü$ŽÀFñ½Z3ÅJÆý<3.þ>¨ { I£Q§pÜ6yO.ö?ê†ußþÎx4ìœ;/['Â#*À‘ý#f*r0˜F£;¢ê¸Ç𑃥$ȰÅ6Úô<ÇaÔx²FMò<“¨æ6/|þuøïšp­M®ûÆL¤íÐoyñ>öÒƒËe/±˜2$n˜{0Nرæ/?ˆãƒ0v[ãd0ÔOÕe;Ç)‡¶xžä“” Ì›æåÈ®#Ë#ÐÛŸîËÊ,s³ßtjÙóÓ4dkóÎÖãX‚ ã9®ã¶|Ò «±æ„É*1Ä£Ýz×ÊXÆ>9«ð‹uŽ»5lÊ£,ä€iî´ý ý° 8æTQ‚úÍ¥1àJsŸs{A¬o­_ç*Ÿ¶ìp;÷¬Œî¦%ª€µ;«Ã2¯uu¼¹)Sœ»¢ ×@)λAë)© ÄqØVu0ãýaÃGGê0XŸ1‹*~£o .ØéZZ㛈Ša²aZ±Çª=á8;ñœì(p«òr“Þ”Tl@Ü­Ñ™LIéL…£»BÉžrÂE6NÇ:ÃGèÂöfë‚(¶ÓˆÉî¿"Z©s­ëHq)ÀÔ%e,À= Âú¾B)–ß³ïÈÌfLÔ¥LtÕ¢ç -ŽA4Sjî²í2ZkÑȰõüûø2sÔ\ûº¾‡q_¡¹_¬Þwf w_vp dD+`´Ë¨ÌRÿ¹aoãÊ÷ßj¥¼„îñÎÁZt Z3C#÷v„ïÊžÀYBB?õyÇ×/D2ÆYÜk½€åÏý&ëO›áÎÈZ< ~UøÎ0?­}ߺžo~>Ëv³s³ëU ÙÓ£÷6™ˆßÈù8ÅÚÎQŠ.3Ð|g,lv£–`7ŽöS—äG9€™å¥ô¸–¥ý å>áê¢'Ð|Ó÷¥­m“ä”o—Ê[2™°ˆ¥&Û¹Iú~”ù$É9[”KD)¹÷Ó1©0ˆþfÕŠ¨¹MBBׯãŸJ…мDaªsé2Ì›à>&öéâ€òâ ÕDÌBÅõZ+/_ê}„·Ÿ^æIÈÆ‡‰–9ˆ”ð&s¢`ÃNÛ©Éõý£®çÖ{«ó'0~ìô1i§«ßjšD\+ÑÝð b9 ¯IwmTï1hù¾Ó\Iˆeæl;K -í•¡ßž©EC ÙÜýŽg&kX¿ƒ¬2øZ9¥=™U‹èj“Qwéóן]¼÷!Üã7BÕlZ°b ÙœþXÅlRzYUž¡.Œ 3’æerã_Çä¯oy ÷%ô/ÿzð0ðûw>X»ó¯¾ÊŸ´¤èØzŽ3Þ›*ÅôÇBêùýI´·Ð/°dtmªÁˤ«xÞã)÷…²>~pè“£èï·NýçjÎKÈ¥'xpK|ìRF‡XnâÝB…bôo¶^,¾@AõQp÷³ Àâòe°Òö>¼¸''ôO%¿­ &阕¯‹E¸/Šƒ½Y,ìâÈÍ•‘%¦ée˜•aYˆF*0;D›R¢ùâ­9ùðA¹þ)Àýd÷pÝÌ¡~”5}-ú2¢Q  å¥l.ÈX‚náRyò‘B¬üÄå‹á ×þè÷ô'n‰ý~ñÔOÖýÛt#øöýõŸØ4ý9ƒ. ¥XG£Âpœ³žÁ«*UœFã!É€/‚ h4 åz®k# œÀ¡x@i‘o¶óÂôÇåˆFÍéùŒK„q\"-˜êPÆ¿uQLS4Ì¡ÿãtåqüØRÏVç‹ý®` ˆ‘«ÄéËÔËät~me2ÚzÄ”G;–Š6j‚¬¬TÆoQ›R…²Õ¾ÀèŸ1½DÉ|aõÿÐâ̺‡¨ßämb3˜ñc¡ÿÏ»è<"AèÿƯ|µŒþhËÒŠŽÍ9œ•«h=…B7ྒྷýýúB0ÚÒ5Òhý#©Ÿ…¶Iš:¦¡Ã|@Hl`>%A°p7þýÍÑâ²^jJ1€F€f=ÊØÚŽÐòÔ­FIA[IJìxc€ålì<’°v@ù®«wÊ%©K÷€›³¸US­F™àûÚßÇû g(³…NðÆŠ5†¯8±â`“ö—Q=²f3vü¶…ö ·–ݬ¯7Ÿ–{ ×K¯Œ†h1‚ó ‘ÎÕ¹°0lZýoA}ÖD{`Â-ËÑA‘H ‡Í4ñ.+&å8 -Ã,»e ËŹ†• [d1¶…áDåŸu¼šS5–;Ýï]sªbé̹Ú|«ÿ€hoaDOn?«‹rÛÏ­´«âæ·¯€õ€Á|Û± #,æ2±) ] &J4M÷©Î$®©>ocŠF®}ÿª×l…Û½þæzkÁÅœÁÄVŒOÌXù~¦ó>AÝϪ –n!ÿxâS’R2I‘3®æp<|tD/\8á§Ç_=úê0!àäv) ÛÁØ™U³×0›•«ƒ,<Àæ\"#Âÿ<3a Lõñ½îçÒ˜€ˆr–Oµý€!¬(0ÕÍÊÁPWsìÛkeûTt3!&˜œ{Ã!b»Z†=§‚öBH>Íf³²©Áa£á8æpÀ¬É@4æ—ÛŒ¢÷£¶{ãå^ÓÀgRÁ\¿{ÇÊUßÐ n?õ¬žÎB+ñq\v‚¸w>b™+z…ë,eßü÷ßjÓ{Q©äÔñq*Dý¤¥D@Vj._Fñr[Óø ôšÍ&Þ Ê<íº‘} ¶Q) ˆ»@»F4š†" [¿ýêå_ùë_ºõö7÷A™íÑ©° Ë0œÙ)HÐ|7,c¿û)¶ž±hF‹1e™F&ãùRïrA@±¸ÇϤ–|õc­F)·Ê”NwÜÖ½yáù«LD­î ˜&§Ïœ¿sãm˜‡`©Sz”`³UPhsü9úPùSM¹<¹¸Pÿé®/|þ‹ð87áÝÝY]½ûÎõú|;$ëÜkµç@柑1!Y×bRdÕm9~ÞFh‹o¿w3§w›í½Ó¼ñæÏæ1Úm Ò2r5¡­6žÈrT—þœ´Û‹ní¦;}|VK'j‹ËNmpN¸á$ö¬PhH¶"wïNÙž‹”ÚÉKɼ:º€¶zÂøÙnÌ7‡;÷„¸¼x¯ÛwqôV9U†yÖræ¥!^F¼èº0½>ÒyKJB|a.#8 -€Æ‰b QêØ¦ïZ1×Å©ïò_[‹ »](òtØltµÐå¾Á(æŒ~²ùzARÎëgÛúÔ@¸fÚ/Ái[`¸`¸ä….¾Æé’ŽQœn_®Yï|òeÁ}y©“íáƒRÈœ3°<Œºo}Ó]>׿×m©£¼—aÔ¨[\ÒŒú»aqLEPÛ>f¼GýÄ)å¶ ý ðjO´uh„ù®á¾`'Áœ6¤„û–ò{ZGZˆmmÇ 'Û]ˆ"©)X”/È _ÙOãýÄ™±µ}jQ½3æÇ2mEÒ -!!Ièm{Be¸¥\[˜‹<ïÜ»ãÉ]%Â^Cycž9®ê6›IFãz½«mû`NÁ²Æ -&*¾ŸÂÝÅS—4ý×þgyÎG¨[-ŸBˆ>,| Ý»ø¦ÙÛz?+ŸMágëäâúÂ{Ã/h•Ú4O`œ£‹õ -דîW%„(¿—„ ÔU7.åçYµR@ûhs¦¨ƒp¨ä˜€ïE Úkè… –#¤ij\ŽÉ2ÿÔYÌùaÑŸãH5ìü@¶ÐD ‘CÄÌkÒxóŽ“t»¸wWåó¸þY÷øáHÉÇ/€û_ü[vNÝx»¿y{í-IÊŸUÈ®åád:ºæ‹UØ©0/Ãý?e¹£­^ØúÊýûµÿþ—„ø¥éb@ð¶·Â‡Áò¥¸y ïúÌ"Í8+Rg_”ég^8Ï;ñîr°þ¢pç–ˆ»yN.¿É…uî1|2ºA,–ÍR*|§íˆÜûaos'†uqÞù %7WšaoWÜÞÁ7uf- Y  -{23@x DºøE|ã›k·ßŸísW»#½UÀ}ÎÆ‹š…:5‰sŽÊpÈíÃqÆqn_çQrK6ÃÕ¶ZÒž#Ý!5Ñú¶¹Aë~l;Žçúq21àLS,´Nv`Ó\.µjqΆ¢—10LB—üA dSÖsi’ƒúÿ¤+ Àó—à5çƒÄÄSgÎÞ½>Üó+oRtªÕ^ìïlÒå-öl¶ŸÆ)Úûhûä2Zù쥭Í{I²·øì)ù(^ÿÁFë$:¦Öð½„ÓÛè.ÑHظ‡;ƒ8ÈÛK˽õòç–°{›ëlUô¬7O.2%¸¿°l­óNãÌn4ÛÃQבò¡U0"Ç”Ÿ]«5‚ê˜0–z{Dk:ëõAýçÆsí§;0ªý[ËE4»ùÔ™Á}<­jmmqgF¼åLýD¤&wt‘¤Ó:BP'Ó3|»¶· CþÓ©ô¼“î‰?øîûúVwxyë÷¿u÷S/ñþ°D¨•oZd¥„–H/AÀªXå~æú¯Oúä(ËË¡퀪³~{M^3Í‹[«¨FÀë€ímŽcž=Ä(þ°âwwÎ$1Z£í› ØÐK9åZ`lïíâ9<çµµdÀ×B3€þ×þkOuúA ´D‹â¦ ʦ(7“)/£íÃ!–*⬪™r(¡^}9Ý?¦SŽª.-¾.épUŽDKfÔõ> -œYÛoº°?Jk–bL´†F¡þ]@ܾúí3/_–?Q5‘ø“²ø•*Š}X¬êTnç}¢NM¢;'çhšYŒ±4åûR%,ÕÎRY¯aApÕ1:‚d—% —4h_ut {í^|þ RKeÎ ,ÓyHëÌJ»(’g B7.1Ó-éõÉcÐÚæ‚°X}ëÈjÈØº —VñŽ,õuNÚ;)¬ÔüžœR’%òñ~ƽVú[­•V‹d€ãʾؓ¬Ìn(OËtð%þ攤 rÅcz¤F–Óg:wnKY ƒ„ÆInúåãÂöäS‹;ƒþ|³Õl¶@î0ú Ôˆ{‡N5ÓÞÝDU)ý‹ëdvIj#S÷ ðî÷®½øé‹‡£ïAL[ü/×-o=˜*ìè/öOþ)$‰OZýy‡¥0Ã=@ÿ¡#ùsüÓ¢üS“~´,ÊÇ3ú rþð–u@“t<‚b@(}ìFØvÏÇ»c÷XÓ=vØÏ.»[gAajLÛ‰<"†nüRr³pR·ÖØéËÈ€ ¯¾Áû Â^ôð6ذ )Ô9$§JoŸ9 €ÞB"jFç-å†-Üö®8Hñ¤û«DO€~•|ÎîGõýÿ_—[P›sn¿wÐÿÖÍ›§?‘ðO ÄeõŸ·ñ®š)Ö“[’rº‚p_ ÖáC|û«|kw=gO$(èèÕA%ìu[0ü©þ‡Cô5æ› ÏY°QÝéÔwÀ¨z³³LpÁ¤á‰¬r€E|Éi°:UÓ¯;â ÛÚîéxbG1[Cm®†©#L©™X 21ýktl.#ÌÅú—4o¢.ƒ÷ óíéÁO;Í–»¨–‚>‹À± fb¸2Û¬‚.ŒCGÌèÁH3~ѱ»IAe¦³9®cWm&¸>RE0ÙçU›3U’IÒˆ­Hê -À'q›ÍF«ãòäéÓ;÷Î9~÷6š¢~³í ¥KªjÆQÜ8Ö|ÿæÕÆ Ÿ°< +ïa_N1xÄ)»ÔÁc’؆mLÌq³ûÅ®V¸ýéââ¢= 'èÏrÎÞh°Õ“Œüu1Þkh_1èg‘Ãð#¢Ç1M̤4Ñ2‹z$ì„’¬áo»âSYd:3±ã;o;3ÒûäT#ÐúXÛµâ‰H÷0,Kd¢Å@4 3cåãäL:3a\çÙÿµ·‘ã¼óÄž®êª©ššnu«‡ÍiõˆT›4¹¤¸Ò’ÖËI+w•uìµaÜKçl€ À!‹;øÓ—÷)¸÷-@^ÙØI°ÉÞ:vt«•V\J2giÄ%M¹­G3lN«ŠÕSSÕU]Õù¿<ÏSÕ=C;RhkšÝÕUO=Ïÿõ÷ÿýû·öÉ3ç6ãY<~Ø&ƒCrf-bNe#?šÓÊgIÿ4ù¼I`­øÃáPb“2Á³!GÞr©¬¦>“§¸1àxÁœF[‰QAÍ)í¶Î¶{×ö†ï‚§qéòó°|Í.ðRဋ>Ö{(øzÏ tIͲ.\¼`pî"<šñøç5ÙSéÏTëíî¡?²ÝÞà2¸Œìæþ€­<y^#3)wML£%‘Å8ð’±ÁDªY67d‚ -”‚Έ&(÷ÙWî&jFЩv«V?s–³Æ9U=8¹õ©|0*:ÏŽ - -“cðÍ€Û««6˜>0!;ëDΠ׿íÁewÏ †?»é4"KŒše¯¬’¨ ®¶Å¼QË™ô;ÁÅ‘æ>K²&?µÑî]§õ•½_ÞûÆòOàE–šÎÝ?à ø|+ -üpo?: 9 åïí2;/a¡ £V«…ÈL&Hõ½ç˜«¤UEä6vÝ‘ª(ÏTÆ÷eü§&Ìj¢rx"KÄÒÆŸ‘5ð\Ê‚á -Ý ã–ÉþÉ*çÌ}ž•Øý"FÞÄè»wæÿ½õSïwº]ïÉÒÅooÈ8’é\ºòìß¿û¡leÕÒýO?–ã\ÑØQ­ ¯ DÜõîŽöî>â¡è¬äçû¶XçûÖèö®˜sVY¤d놔&9SßÙùÅNcEì|½õqëŸüÇ—Æ¢f=Æ%Î<$&åýjé"­MÏ(#>y{ìíÌÝ1e:NÃa i)7sŽ A^#Í­ç*»ÞPƉ«:è¡7YO5 -é3)]ƒ#I£2Ý&}=§î€б,<€)«Q¥aH¢eÙÇ9XT¼Ïv„›+æxˆniçé3 ¦û÷ZTÀ :%J°Á$ƒJÃGãͧ/‚íí÷tXÀ“À Bg–RÆ‚@úÃuNó0 ›´ØQ= IDATqÒoýT÷àá´# ¼:=”û+޳âøaÀI<¸Gp’°cÍBו V°•°iű4¦À‘ʾ3ŒúaÔ;ÕO4w•&¨9§Öš’QsˆÊ6§KELü«ÊyzO•å…çÓ­£ËAôà‡áó¸FþC@ðg¤ .P‡wŠ‡Ò¥z+V‰/š£;b©Ó]àûŲˌçßý úg|¹«ž«RÜÙTv‡æð¢à #k#8ĦNŽí²ôÄð‘'€ôÇ™F ª©‡•$ýíäÊ e<1ý’ò*’¤?¼™Å¥Ÿ‘fL1_6`àoj0á  S!…"sEG6]¾_)Ö©ªËu±O5ÕŒfˆìBšžðºäŠ+¢Aôv† ý½'ʘ8 ¨u(3)[@«%ÀAEÙ-ŽÊøýnÿ9>¸òÒy€@\é=Bmáxޱ~ -Dÿh8äÁéÏÚàjg*£i&d½§AŒ¿ø+–•.†h@úÃkv\~hk~ùæÉàdgU<|\å3Ǩåè™Îó_*k’øo©°‡ÆxÄŒÂ#ñ!zäZ¬5»Ü wð›5ºð,†Î@ €ô¿úÛ_åÏŒ>‘ÉñƒN úùÏî©î)™vzû­ë÷vñ0óÆÝ q¡5¹Ø -Ÿ_Ç pë@Îÿ•u:¶ŒÉ£X-Tøã ÄñäGÑÆL¤¬óß3Ÿr.% ª 7dÈ5[CÑÏìüÌåâÔm?Å |8W= Æû;åÕ‚hãö7¯¿y­ Q¼^ç3ÉÒÐv½„ÞŒÑEø -+ž¼–³LA¿OÈŽ1ò‘hö¥Dq0pÀ$Å.»{¸œÕƒŽ&§åÕŽ?Ýóÿê+ߤ¢„5‡¬õÃf“*{ŸÜ»öå¯ê³Ù,[éR™/¹aãÒöæFc -[Š«˜+kO,D´A€ôWô™¾G˜“ð”xtmÛÓ öl»‚ÄÚå*Ó†: Ùß²‚N×÷a÷G5nÜØ î\Ó('K^® -ÎOBV€àRjLy'‡z±²ÐwÖ6@ T? ÒgHA^·‚ˆ22:H]7Í 3Wé÷ zX*rܺýŽ_†<¿'Y‘[ëml2Ctr…­Að”à}ùŽål´zûÁ‹þÂÊ ¬:±Ó ®aÐ ÷áesëÍ,cPÈK‡.Tªz0”QÁB‰RÌÍí4“ükÚ»²+½-«ù$:é0e’Ȩ¡&Ò: S,[¦eÊÎé  æs&žJ§‰îÏlÕm7·T¾*ý—6¼øšÅ¹ù[dûãQ,¥?h‚nÿù¥/‚ôß~Ü-ž*j?©$õô—WÂååiºÔWÆ:H…bm¶4KªZ Ís)Ê Fêr ‚-òFÈM&Š…8Æ·T]Œ´ç‹j€¥?G“ -ùŽT=KÌt…ÖºÄbáÛÎÙçÀuÚß¡l_mƒÖÅ+8ªOK roçÞåg¿Í¢ýÔåƒÝ·õI’,I%¨¯½„“ùÞnŠj@…Ëþô—ýv}ŸuÀs§ˆ)ýœØùÿ VĽO¤H¬3·N‚ *àr‘Lòw‚ØJæàè[Ì«! yÏYÁØMæAl×¼˜¦è°§@ ¸æ4EoKzÁš}L¡eªšÿêztRÑ2­\eÁ0¯M±{Š0ÛjàsR×ß…³qˆ»¡Â˜$+f>Ž Ñj€5ˆ~Pƒ ת|úMЍÞÿôN3ìôΖˆæjN´iFih]ê1ž$'5Là*²v<ØÛ‡qIˆßÒÒ?WUú•ÊK“¦Q¥ÏM¹)FåpãÔ¥²·I”¡´EÙ”±ÐìóØJ,Kª·”Ú§,µíê—.Ê+?Ýé¿ô‹ ú¹=(€¨‚m×…i ¢£LSÜ€6â&?È\½b*BÁ/ÙÐÈ'¸4º›/¿Ó$Š´ù¯U>þ©ÎÓü)§­ÌTƒ 4kìAfˆ[¸#´úIô‹ -‘K^YTÈàã*04©Ì-ý…"Uf'Àä Á -d›ÌYªÎfeêÂpöL3±¸q—=þrFÍAô{Í68¹)mØ›+ ô/á£GåMµ×{£ £Â´<`p_Ct•¨\Ë[,9Þ~ïÃHÂS®ýîW?zÿ]ý_`þ{ð’·ÖÔ:€ÍVc: -$ˆ: õ­-r¸¸²˜¥scAIhi‹ dzmÑ0¯¡w†ïkp¢2¨@?—JÀDU%pO`ˆéRäO¨ña „õÆ"þõ„ä“6P`w2ÿÁXoÉe»õW?¼|ù+w>ü~§{éâ³ß6lzpä4Åýn·7•™³ó}^V¸«ßJóö½ÙÞ™'¥ú£¯~Y>²z2KŠZ µ=‹‹Ö yßh>dþdbËu©™¢åE‘$½ì®æªO x´¬ÕSJ=·ž$]q - , £”v1L8ìºÖN&¾ÿpÜ>]â‚CYšÏ\Z„å¢/&`…2Ñ[:KòXñ:ÃÈ­'L¬-‡C-#ñ@âýʺ£«øÆþÝÆÔmd¹AfÀŒƒ%ZÔr~4Ç”8áþg{áÁAç©3¶ã¥‡QþDù°¸•‹ ðša…ÛÎåW¾þÑ¿û±*Ô¥aÔ ˜ê0t†ááœ/y4õ0ùŠE½BSbY *Ü4?ýÔ:¦+×^ؾñNøTßk•ãS€&âF‹cÌÃií:¶‡díÂ’Á àøÓ1;27‘mœVZâ]u/)"?µÍVÓ -B$Çp_ þV-Âx‹Ÿa‚t_Èä€Âºfä™Äp XTh£AE{s¹L›žC+6ü ±ÚÈR¹$Zm{P§xs“GÑj£iSù/hJÔBØ ÙFÈ×dÔE€ŒX! º92qÐÃ^Et„Ø­õ‹–±—¨ -aT0ª¡‡`ƒ…™D½¦N<â0ÕÝЇr¸¨¼œšíÄ ¢Xm׬) t3O - âÛ¦ãe3¬GÐÑEY„3&!nX’úMxŸE¼9“[ Ð7µí¯Å=n£ÿéßð‡Ì¨¡Ï{¾’ß‘Â+fܰ1D6(Œ(2£äRHÀP#´ÁÈ‘¦¥ô2seM÷¢Cä-iC–´–¿òàq~ÿ2BI} ³žV…ÅÇøQVÈ(µ€ÿ¢žÕ_˜®í€Ùr8 -5Ô龌EðÿünÎÃp?êοxëO…ñ|óô {{ ×ùRš)Ðí®‰(Áû5NQ0JÁäYF!õ-X—*÷e/ÜzpO°{0 ~ºßÜèa~‡&`@ÙÏéŸ`KEêdV·[k­ÝL=þI½g]×aþð~·½wà¾ÊIŸÁ€]Ìï¥vV°‘(OP½1ÒȨgî -<÷<‰¹á X‡XQœ¦\h 5u·µ»›IÚ9t½¦£(Õ°T\&è.íbž·æJ…’š®S¾Ú…‘ÇT­n¾ˆžÎCRÀÊg¥YAu'6£P+ç‰%ãì6/ ÷ð¨#cGÄë7Ë L~Z„.S±K²W2£”lŒ±(rPÏÕ]'eQ³œ\ÂùÑ‚Ï ¢?d‘\„æÒ ÝÒÛÝçHô/lÈ GÄ·Ã}û¹òÑýƒQgÅJª*¼øëK[~Ì6‡õŒMpT·jÚ³‹P£FmVMÊpX¨øô±U_Ý7àW³LƒñFBÍÍW9õ1ïÅ‚¦øÓ3Åêºå0FF 5‘*{Õ\i nä-™»Í2­uöÙèž¼fļÀLĹ5ˆ>h…¡×F1yø~8Â3tOŸƒ—@v“gË™S—½þx+Š6Å‚] ûâZ*¤qô¿N±/y»½¡ÁX>ñô¶)@É`ˈ6‹Û²$ÇIÑé(PóÉNòYé¼p^½1îS(çp¿‰5…þ_Q‰GsA$BµB0yÃiDGîy\yŒšgh¦ŽB‚ô÷<:sNä³Ô¦å:ü)æa@ |ô—мCE@§ç3ª,£Ö’v8’žWc‘0NÓWÀ ¥e×4ÿù¸]œ$Ò0e%sJâtÀ•—_{óòÓ·þì¹/½zÚ˜‘¬¥*Ë'°yðÈ<ê_íî¢ñ¾|ýqH¦·ÁüéºÜœ{ìŽPh…” -t`»1XÀA¦X.Çô@e|Àõ,§ÉÓø*Ðö‡ÿÝù1™ÌŒocéÏ‚B ±Ï Ñ à€€³–Õ ©ciÁ'€YEIUÙ±¼¨Þ.\¾2z€ZÙeಠ->8kM]H…ìÿ•EË(iP±° á…à1°H*”ˆñ‹À¼gÀrŸXÏè3 ËÆnmÆÔ"ú ³§P äj*X‡X –iư1¡ì\–è« ³WÊÊ2øXsÕÿ6ÐN{=# ò|Õk•Œ{š9uÃBb¤?ªº*0àÚ¯½q°¿çå6‹žT¡à~(´ånPk?×µf`éaÉɧ6¿ô—„„èwd৪_ŽÙŸ*ˆOEE©B,Ö^.íXYŸÕR‘ÿD)L²ËϘV5Lʭǵ½¯~E_¿ÔBÁRäèþQ|Ãþâ³/|¼0¡Á•˃gÈóyKeΟ»/È bãÔ‹ðˆbÿ+~gôà^p|ý›ßÚ£úÖ:S€ÉsÌ -6ÿa¡Ð€€)ûðhbS#]!iˆÓ5KÚ$2ø«Áç˜ôq†Ÿ;f—qg;î‹[­ÉäÙuä1qpTÇ!æKPhÔÓEÚòRÙÚE1g!b]: ²YÉ»jðlpG…€=ªœ’WEª…S²UZóX‘W@½‹9ë}äaæ;ÜÞzÿr÷[ àÕ\Tñâüà`=(Phºù âÙÍØ òñà¬îÞúàÿå?}þw¾jÀz•žÚb&T•°Y1°gP饌9þdèW÷ü¡/F.‹%ÓB(;Чµçº ÿ˜NnôùH›Ûªë޼~˜¸-êçÌíeñGÊ1γæ‹e€í Ž(Âo’paÄ$ÈýK°àˆyî@|€hµ‚TÉ„6.2ÿ©õݶ¹“—?ºß\ö÷îƒè}‘jÙà™KÃ_bnm°9‡œ˜Ùýä^pqâ€&èõÏøÔ ÷ô`x?¹1£‘ã6AúçÊ·eÑ–Ñ$b#‘g—ÖŒV€.)ˆ©ØXLùZ¢Óì”ÂàÔ%VÕÀ”-\j/£’ɬ˜AôKŽ6l‚T0·•ÿpªK§C"¢•µ½eµaÚNF싱þGD?««†Ò_ èëêhg‡ik‡»}æ¼”M ÕÐþ =KÕuZYŒÜ‹©ŠqUû8¡t4ŒT·v!GœÓlžc±ô—ਿ§”3,K«”V¼ ´ÊèV›ˆU’g¦¹  ©šœU=„—±XÀh/RŠ•L_ŠSWƒ@×]Ä—êEIæPÂÑæN°mm,° €peG ·?ºôÜ5d jJ/ÖÖ³å1ô!LnÛ_9ŸÞÞSìuXÕ `kÿ °kY{¦ ªÏÀÒ:²¿ -xŸ«Õ“8Ί ŒO2 lÛ¤#â²á¢F;‰“„u /[JÑ ;uÀ4ɦ±×lFFðfëTÏ[m† Ì£4#BÑ~'¯ÿ(ÁàÔ"_[rxg Š|£V30›¢¦”?£ƒØeÖH°ÄA·¹ˆR5,u Ìw •ñ,Á˜’í ëG¡Ã49´Wš/‚[ÝûB«÷šÖuq°ÿ‹‹_zy ÃW˜YJÕIöƒ;¥›fWVáaÒ&&Ö8FÒséÿÌE³ƒ]||rüƒnP#° (!gööö÷o>|SëÅó¿õrçéç5í¹¸ýþ›·ß_ÿGXn3~€ÿ›‘¨Í‹š¨ÜËÉœã¬à XHžg²$B‘–]óT ¨8Á­÷0!ÑÀ»‹w“T´ê~¢k|b ¬ûDOf˜ î$ÉM#±<¯€#Û+ ;I²„* -&G,ý½Ü˜·\'",5Ì ä^Ê ñþ›¬86 uŒ cUAA¾Ú4aQ˜40¨«„aï9§åh§ -ÐBÓÌI’Ïo'–Ù>}ž«¨s0Òêþü#¦g8Eé8[e®r‹x~´^žÁßúkõôõÝaLBp8ÄYêN#)i­÷R-ƒfq:‹C.©«»ÚȰj9ãý‘ —@½NØkÕùеÞ=$ÁJü$Y í„D¦šsE9wޛȕ:+{s§¥e[éQhQM~nÉJø½¥Ä4š‚ºh8Â":ô£ ܆Ï@‘›ø¶ã°Ôl>y©sö QnijôycíSΚÌQ®ã°ÜÜJ&"öaõ7úY‚mœ%4.… Ò̧© ÷r™+¸S¤¥ÖÒZLsñö5lßåß -FŽãÇi:(sŠ$Öš¡±WUMUé`›2‘Ži0FR‰c[OHŸ§óKÌ!úabš5Ë&ÑjH7Õ‘R"Ï0I…±ò,¯¡7†\2uâ’1)ÿGeuXœ–›ºæ?;=|¥úr2 C¯Ûæš[ÌðÊѽ›•­pó•~ðÞß~ûÐuz›*S½öÊ«Çï¶ZêBL3ÂÈ@›ë*`ßÚ¸–Ö°â=òïã$Êf½Ä Qñø`$Ìs!Òü}j¦’˜í33û ,r0¢¹ F«>€Ü¾nÔ1…KíÀÙþE…£˜ UveàÛ’ŠÏÀ÷³26fr¶)c¨Ä)Òк}ýÍþ…+0Ü(ú¿$îüäÆÙg¯êÏðÁ˜z˜+VF6Ñ*€QŒë:ùl9ÑÔîâÃK&—ûÆ ¥¿üïºhêrpÌÁ6øá( -Aôo½óæŸýÉ÷à îâîÇ%mªÚ!¸N"Ц¨ï ¤4LÐ=Æ•í­õA€ÇÝR©Âdž*bÍI‘"8u‰ÈkË„6Pu±­Ùc,«â…`°'ò„¢Á!BÓ$‘ÈNþJ©¹œÏsžpûÙ€R)Kר)ê?Øn–įü¾„áv»e)¯m­èãÑÃ’zvV¡†ve5C¡^R‰ë¸èZ% zx„l¶¤û›É=±gçyÞ$´Rå·m”taÖ˦óxÃv™@(*Ê ®p@¡j'Ä9˜<9¨5t ˆPýD€P -öw¿qe)Ž—W§Ê¨Ý‹hL¼e‘÷$. ØË8e«‚„us³ÛeÀqFðÚj€E-WÐðóèy¡ùâèÆÎ2éd)ÌN¦ŽÙ½{Ô@£³¥Ý6CYRŽÛ€€×šr²à'`P@ôà üþu-5Öùa¶ýÁy—KÁ"Œüqzƒ˜ÔgG1B2C,û+ŒøÆv·®¿/ìà˜Þ ]Z¼Þ;ÛyêÌ»ŸýO°OIäå -®Ç—²Ž„ìÄm~xC@Ï|õJ§×«vtÒjñ»;믽±±3Ð?{ñå¯~“u¸eWŠ - sk0sAÃp˦ð—%óêø©/Dç)äõ› ªðV^Ƭ‰5û&Gl@:ØXh]Spgy¬í2­VÓ£~2Â:SÉmÙ^ŒAÕ†Ç=mÀ`®!Mg¤âö˜5ðÑvYp°¿WòåV·xVMt—ï/ÆÕQY"SÐoÝøøÃ›Û7¥Ã…¡>°VA—Ù|¿B…€PõÎKa·R/¼,}ÂÈ@˜ ð@즱«êoiZ*ÍPÅ9"fxËm‡ó˜Mç'ÈQ&b¡=ý àÅO´HbÈKÿ|)C–ˆO£´šfÑo5ڙ⬃àòo]{pÿ“0ÁkâºOt'sÅæªøÑš”Ϋž?U$ºQ³ÞØÀŸKbËqÛ=yÉ­†ŠµÅàaWÂ’r(_`ý¤q6+j ú]–þ¢ÖçØe/˜G útæÔ’$)®¡ÅÖbrC:Ý[ØÄ–`‚øüޤ+ - Mž¥3«^¶†NE -ŠG«Ëat@.}& Õ€V6 ¢p<¼½=øÛ+ ·Ye ¸ñŸº†ã[½Jƒ,_yù¹¦ç€—KV0ˆªV»=˜¦_èú@„ÁeÉÑ‘eËtB*ÿ7&¹·ê±ôG‡AÕUÛ+ ËkBEƒÍNG³>Qü!¥¸ôÖ”€Tö†Ô[pÀWÂH!xÌU€óØ!°P€ôÇVb¶”þXÅ®Ü,SŒ:Ø5Ó™Œ«°¿ŽG`þÃ~½·9V±30ÛAdsèÎOÞîìÉAÇdÝŠ/8àø‘… =ôïlÉ¢>1“ApœÕ¦¤eö@íŒÀwö¼FM`ß;3{ñÚ[ñæ -Ðð±Ý_ÞedÓ €`‡ã—¬á8;²ârwbPo»ß?æ"æ€ÜóŸ_VâkŠn ™Z–¤Ký™z‰.,[3t‚ùß"¤(ƨ(Ê¢i »#èÄ zjF dPI_øŠƒDêYµ¹P†¿ŒYöàãGÿöÏôo -<€¯ÿýo‹ÿÿ6Ð/¾‚#:`ûæû7¯ß`'€·8MýI$I¹Ñ»L«eç0ª¼dÁp0Þ"0cIùý€¬býqËF—:h]1çµf©ÆMp`Ö–Cv%Y­7¶ýyÓˆ~xé÷Aô‡’Šý”.Äš­ÖGsÓ&Jç&YîÚkd,Á¼RÇÃN€e9 lÛMӏпrœFRAÁ‚ô·Áˆ67YÛá-×¥nC'–ð±†ØT‘Ç1’âó_(ÙUýº qU©ÞãÙuy*°ÄE!YòL£<«\¨!@ĽdlþÓûæ¢Âé/‡W¥l•mN(¦Ä€®ìãÛÇšÚƒ€WopióÌÆÓgA €ù¯G“kJŽßK;ͲuIÅüO³4o¬¶üdfÞ\k°#%‡É,6Q÷˜\ßk®Vv—]mÀ¤Çô)Êà(>”ó¸Õ¦âÕ0³WŒ+b`è-;™ÁÁž·æEÆç¯½Ø -ÆQ0†‘l7ð( -„ J‚£–|È4‚äË\ƒˆfcFÓ£Ì#çlj ¾6³lÖ5…q–Öæ¹k)j³yÞ¤.˜&­Ë€ ChRbMg Ø/æªv›ëÝ۷ƒñÕ¯¼Ñü¤;útgtžJ»×$õúY¤y*jæésWD&»pŽwwî¨~¼|%¼uN÷ºg_t]´†`=$½ «Éøàª)ª ëõ?Leg­åà“®U]øFΊûÞSƒÞ?úOoüøOÿä¿þßúÇßÓ7“ [Çyïx¬¶ËÕ|²e{½;[[ãýëIæ÷Ÿ½ØÚèÂÈ™õb“!z ÊPÒªò9(yÍ\¹•¯É6ø0! òN)zÊóc_9F6‡±‘-(]lànÆQÎYÄUÄÔ#Ûà”ä}{ {j~ޱ ›ÖÎØ‘…¹EµßF®Ý‚¥p“£½Vÿep{Ã0i·Z\¿áïïßxç/Ï_¹rþÙ+ƒÍJeõ‚Õ_é;“kŒÀøN9·-Y ³+°òöʵ×àõòïl´õþmb‚¼½-邃×nomësö”Û§ÅÏŒ¶Úg*Ç3ëy‘g.bœXY²NuKj,ÅÕ“a'Qz[7cÉ$+æ¨8œ'ñ“‚8Ç6¶‹gû)–q!ð[×Ú£ÝaúÝþà(:â¶É‰a¶û¯& ÑÌÚ§îL)é†l|`GRÀò&+2ØßóžŽË{Oà:Möwà“4)’ÈlxIŽñ"ÄhÂ"Âd¤F\>RŽÏ£d6Çž¬5ǬÀtÒ<1,ô¦IŒQÆÕ(ØsÖÚ¹e˜ -âˆ'©a‚cÊÂÄ~‹Eà IDATªrxfÝ-c@:zv<\“Ι#ÒAzû©ß^k‹YbÔ]¤_L’<‘ÚQªuL€²Ù!í0ëq`+d€ï¢mÖ|1EêÑ®§÷sÌ—`Ï>ð9¨FÞ‘ÍøìzbK-ÏXùpÈY’g\b"í£­ë{Ÿ~ܺ×m¯w7Ÿ¹t拊nˆ$=[­j¾Äù( ÷dGIÆv¨bJÏòXeqÆNSo -Ä`Ô3 -Ũºkô1©¬LÂ1Iôã(L ]°DÈ3Þé?¸újD8¼dš8+àØ t?9Æñžã9¼OT&%†FÔf²K"Ý ;}Œ·µ‰¦†Q–Òãø¶YqŒ@ô7N­÷/a¢bDý~¯¼òZ@ƒAµºgÎvîÑëvW(~J!ëõz¿ßé`|y¬Ú ÄqÄ žËõ(fè‘®·…Ëöxð)‰X³IßûtØ{zðòï}t¼¾üÿxWQÔÂè%‹¡¶î·Þ~“È—0µù…×úg/î~rB'B÷_âûQË×{³ŸĘäë‚é –Óãù¡éä«Nó›ö‚™i¨ -Æ#†J󪵂l”°\/ŸꪰBP9;‹s©ºÜ¿÷á6¼àøÅ—_¾òÂËWŽQ„V7Iƒ“Ȱ§¼`¦r«¬jø¯=ÆKW_€€€Çqó¯ßÞºþ¼ªì•ᣠùD+|Toخ̳ÌóöúÃ)L †S3WZ5Î#î(c¦,%‚ÁŽÆ¦¸`V+~ A`²Ob#TÎcl;ì£ð„ÇÓT`_ål@úg²ï8bd_RB­u¢‚WS£‹üÒ¸(ÂÏ1ÔêR7D‰;`gH¥¹Ô#Ca‰ÕÕ¬Äßýƒ}ðQlElÞÍãOµ,Õ^a$–­Lö@5êü$yj‚%oSÍàÿÎ1¤á ¯ -Ç ìéy kdù£í©þÕKâÿ!ÎJBÊ}‚½ê0;sK×Ãh|—rrà(0-¦¼©Z•šeap9< otæÞ¥³ç/k5À›TŠjû‰L‚²©ÊÆUÁ5˯½Ðµ'õÒÙA•>ãÒ°ÒÕåˆ3hPJb‡âw¼Oë´Ÿe튪7–þÌxÓn¶@„ÅGEKNk4Iâs‡a£Ð7 Ǫ³ 7æÌ˜&¹€8`Åú@(Ô¶ ¥¦¡®–—pÞ;›ý®¢nÝÛ¿;ÀAý”ßí| J®Û?{å¥×áÏVOZãÝûãJ'îÔÁÇL\AãŸÏó¼ZÙä¨Â`Û°è5PåÞÙýÅÝþ.€øÁÿð¯oüŸßß¼p¹òŒ¥èù×ö;oÂÄ3ˆ~N3DBþK:—å¡à5_˹UÂ|YÔòÿz¶4ÿY€ôçʳLq‘Ÿ9×dY:º/£ Z`¿ßiÊh°.”M¶:f²8BЂe3…PÒ™"!h£Ç‹~AÔZãýÝóª)ÇöOnÀ @\yñ•+Ï-gÌD¥ðÇÂIBK§ôØø¨"œÙö¤ 66ûW_ymëï¼j êÒ“Ðo4ÛìÕÁÞu\SU´¢ éÉ<ZCJ™7MŸ -M%ý‘ä¼ns¡_J¡HseUÐAïÁ23Å;’fS9Qïê¦×lGV4 Â0ì÷ûbq &KØÛkMýA€%p%ôÓL¤Á< °x -’YÍ'»ðʦ!småFnQÚ9šŒÀ–G…—–8äþ %Е-…™P[ àð -Èð_ÍÁ „d„–Ç$(ÍúÉï¥,ºÖ -ø׸ÌRDdêkH°5žNªW7YÇ@:`IúKQ®T¸üQ.‹We•¢’J´2Q•Þb0ízÝ®+!Ì.¹#*Üz\p]íÎÏoà Ô@ó‰õþÙþæYê&=ÍØüMPg*DfJÐÍuKnŸ,ÊÀv&?€d‚‘ŸÂ,–î¨ÌR”åÑq[ÚØŠéôúã=Œ§ÃþùßŬ]¤Êp@r±ðr]Ç÷NAç•$³®“¿Î b0ÍE¢¿M×h -ó_rœi‚9eø§ÇC‡êF -ÇæÅ¸I‹ …iغÀU‡€’†Uó¤?ÖßíÉDèPTù­*¡4 Ë‘ÛV#³ÐÜó?¤À‹Hݯ"›FÚHI¸Ø À¢èY*sàœ„[Ù¨B²£Èô"=z)6\\+.Æèü<_Z5BÅ6ôŸ´#íwew3b䢃֛‡g¹N>—Ý“•”'T~ X2e€HŸ_¦ -8m  -5Ê?é<ªþz–Îêv]ß‹P™=³Ô,$¸Õ€2éIHºPЭSƒûŸÜß=» j`ýô&¶ûžD+­:|ê{‘øÁ˜KLn>/òŸ Ì„¦!œÐdô§F§¤YêÖH7ÊË¢‰ Ò9îmÆèÂÙâ a5®½„ Byc°h&ƻΚ¯æ©Îî­›áçÁ¥¯Â1‹³°¢AN'òïRm*•lðb1«ê˜ÖÜóCÿ›ƒj:uV ÐS2rU§,1óš{ƒvCrjŠ9ê-ËÀ(QJñªõµ+¼uà,–cÚÎùk×,B KìþrçÒ+o„ãÑd<‚ýÆÀM¼` R Ü7j٘ʔ8Õ3çibS bpœÀ‰Ÿ…&ÖÞÞZsÑD‰¹²ž^ž#ßR£¨)ÍÁgòDÔå”ÊjT_ ×E££þ™ ·œ·oüøûoüXà8îö;o³cÞî .´(P Âk´ãiœ…ãxI!⢖GÁH Q°§1 žÎ.Ò„k=Q.Bw ^ø¿÷>¥…Á(©¬™d&Aƒ~àßÞØðZ˜ÒÝì÷Î“Ž‘í™g¾¨Bäõ’ ÓÔ.v†œ9LЉhbz,á}¦–qLO?«9ˆ€. íï¶HôsŽš§¨ƒ3štÏ]Â&eq4™Do¿ùã[\?÷Å —_¸véKWq!8|/˜ù&‰P ’­u™b%A¼Q¬•c¥ÌÏðëßúÎ+o|m8¼óÖÿöƒm*>ˆr†Õ@m­´çÕJ½$5ÀýRjá8Oç–¨›3Ó*æ2Q#¾*ר¾L6ç¥xKR–Ákæ3 aƒÔ>?@Š:BõAÙÍ&_7–|^t0L>!›“ÁÇ"d'9Ü3©vMÚ<—ĤÁé±Kp2Xí°ZOv©(É%Ó°iaÔÜ!ÈØ½®ÄAW,M‡éŽ«a•,3íÀ -õÒyÓÅ©;Îé3YasJâ÷B¾[ 9Z²ÿ—rá€HU€|éÔ#Áäø?ËÆš)y¥ bâš›ü-›š kyMÍ rmãÅ:/pÁÏ2.(£: …‹›/GüÅ®“>"•“)ëª64ª­ÂσÿAP4C›Ø¥HJƒšü0þ£ë S¾Ïg¨ÜÑ£1Oô#wÿãàþÇÛ›gÎô7¿p!8Ld?.©×EŒ‚¢r%7!52DÞ48PDHö k°+d~B)(ƶk|‹àòÎ8fªBýf³Õ™ãF» ¢_žLK—×m*áCŠn aP1ëÝLWÃGÂ.'¡î0âý‰GÓ(Ê SRGˆÇä;UöÌì:\í)hÙëüiy%‚¥fúãHÿÞÓ '8…ËÇ,úaÄÊ·&¸†ñ0³H[kílf1ÉHÉÁ`NÓ\aöñÒ€ÐU‡¢R—gÚRdÓŪ#‚w0:k©;éÒÆ¶¿Ê„™eºN³ò× -Šˆ©¡óLa‡Xh+Žhx”d×sn–©Ì@xbAaª†ä a”ê¦ -ë<ž -N©bƒKørª,Wm¿Jx«Šñ1Œ¿.DÐÒS–±„"eO‚{´¸ì 0V -ò’âØjàÉw‡þE€ÙŽRdâµ´>€G让ŠjÉÔ(/E|bõ,˜¢&BéÏ¢›âÂÌ— -€7‡‹è‡®ßœ¨ ÿîÇCþýs¡l[í‚¥Ä@Gèr,œFÌ7-jÝ_LÕ¡F¢.ë€2£¨q¡D€?Ɖ圱ß;üK[·2‹,±¼›ÿ3cjÕ ÒB“žå>o^Ó‹¨zÂZ±’¬ tñJòœ€Då 0 ¦¤?ɼ†-¬jAÒd¤ÀsÐÈHéÅÌÆŠLk©×òO˜Kv>‚è×Ewspæ‹—9þs|k7ÛÜU¹¸Îsz»?¿3R^í;ý3”óØÿpŒ¦ñ½;ü_%"«õ|tuÃ?–aã¿vÛý¿ÒZsF»¨ºý‰IµfËl´ŒâРI<Íe?> Ö˜%Ø•žÍØÇÕ!bëqÅ­÷ß…×ÿ·âÕ׿:àÜå‹°O‚Ä÷}Ý*d bȱ´H‘öË´¢ yŒ-SWz{áï~^ÀïÝúë·¶®¿Ãj@ãÍÓ$Ö¤.4iSÍ'mµéƲ ®¤ ²4ÇœN&‹¥ø5¦ÖJÑÆæHx6íT5¥®`/f1gôéõrüNÁÁ&6Tmæ?UŸ0)…ô ,ò¦Þ ÊÎsY'Á! GC»Õß›ÔËKªÖyÉæÈ[#îhUhàà‹’š¿Âº¡ÀOZ ŸIÀ[¨Ž}é¦`þäs޼«kЙg ì1Œ%eP†øçfÅ8nJ¨pe°Ü7ˆÞòÃvÉ!"ˬº -T ä×ß»?4WœÞ/yóCÝ#™†æŠ ó&‰ ³ižÞÜܽ}·ÿÌ+s¢il¬âÕÁ|gq‘.qãÉ‘€±t’Tm -Þš­–,¹*þÓtÅ®¤ô€ÍÐÄ¢ óÁ -±V0ðEElŒ5Í›Oެå¸ ;>ô‰cÝårgç§ÈÆ×}jÐj¼;ôìž{9Á’®nr"l\4{r©‹yŽˆ®5aÞH_Ÿí“q$4™"\k>ë®#0ûd&ÓËj8à>­L†Rˆ)ö¨ -)n•&à¢y„ŒŽÂ±Ègµ 2ý̹߼÷þuP¥?HÙ‚Yš-rÑÆöìKT’OùyöLÿìÙ«çñþ_[{÷ƒ$‘&A²èZÓ`9Ží:V ´cÍ '©ëbá~†„bvåsÉ¥9[!H„)c¿êÚÃP` m%„¢žz®=ö‘”ƒŽëµ:]·ÎŠ“bmŒø¯mØn#‰ýX‚³9IFŒbW%A² -d"¡qhŸêogEosÀïöÖ»ðjv:ý ¯þÖÕk/ÉÐï—ÞO6KlÌJ‘‡^'›n†˜ÞÔM!Á Å -¼òû÷¶é׳s_<ÿÂßEíÍÿãûÃ;·ÿìO€Ú…SÄÊ×a~ (æBQÙÒYÌÖ …ÕG7nÔL‰gUmœ3T;_Ϧ1µZkÂÃqOõ$Ù½iíéÒ0Ì&!§Ô1Û†Æb‘=ntƒ¥Os>Ò=Õ ÇC/mo×]õ’Y‚]ç½fðp$ˆb }¥ùÓwÄ;ͤI\$ˆ¼˜h0Iä܈‰àÝ8JÝSDÈ1+02K¢ pá‰`âÎÀ1R‚3øq.7åâ$- wÙ5Äw–¼d (—Ùäš¼`™ƒÃŸÅ ±*6ÖÌb"‡ <[H¹økÖI¹ -䉥(¯ÁãÃO昣¨|`ÅJ#œr6üºV;s¼j$¢¨s"\ت>6¶ô ðÞ]&øQ'Äøy*—ðøó=€@U3ú}Çs’ˆ=¾²ðJ(éÏïÈÌ!ÿ¯Ò*É¡4' `&;‰KÞcXrÔÆ (rVqVä*‚6rW]ØÃËkµmŠK -Š‘±€wRe¹# SAwÁ>Jq)Êi³¥ÿÂ%)µÄåÙS PÇÔÀ‰dZ[ñh—°}º?Ä+ßmÞ„ü o¶NuÕ¦<\H~Y¤º£7NáN³ÌkÈá~œr–ì0…²•ôªÆ­òXô-ø®¶‰9/;D#ÊRŠíCïuŸ9ûñg÷5Á;+w®¿=c³ÂhèR­ÙíõŸ½šS¬>ª%¸w—BkË–>—Î;¤@ú;ÊQc£’Å·’>a˜•б$Ù€Õz`ÜüYãz× -ü.‰£ýûCoÍÙ¾ îz«ÓFEuö7N@v²A„éiÉû$¥ªë¡&žP>#nù:nÎüT“ñÁíëïÞ|ûÍ­—®ÃŸW_~eðŘxõõÀ܃ùçà0˜Ãe”`!Žò;8Ðoü=,Tþú?üÎÖ{ïÞ|ï:ì«çÔ¨¡…f jœyÓ«REJ]fÏ7‚û¶° g[ÎðçDoþÅ“»BZ¦˜g²?!AŠÅë*\¿! -o —êàü¥}bÁ ->ùþ¨ÝÚ2ס¬)6­´´ál˜H©ÆO¹¬ÕRÉÏiFI¸x9$ËØ®/Ã.jñò¶N -±+ãÅÇX@QÐã‘ûòœ O)„r”H¨ -apÆt]…>¥¾(åW>F2ȧ:î=ð>‰„Ñr¤ {Ï¥ñRƒ?ûX10H¸B(À 4 ’zÌò„ zîQÖ ³ÈW¨ /Ä´4¼hñ±–þ ŠH3­(´ªb¨ Yy,©5-0HÿÁsW†¾éß}zj !4ó­GqÄ%Çîjé´€«$®¹ÛŸÜþ 1¤™°+U—eqõj—ÒŸ«À¦ 3%¤H23@q]ûúýàÁ}þ°ˆt<Þ§GeƒMm>N´WÝài¢»ØV°ÚyQ£*êµ)×añûÎ:¼škÞMͰ¿öÊ+—®\»D]¼»½« •ETùa’ž™M޶¥¸CFÅ’×óêK¯^E'ã»ÿæüï>øËñÿ2ZU#++϶¹C0½„%ÒR±•ANì Odöp;­S§õûÑ¡—-逯Ððgó€FLã.¸W%ê˜|”ýƒ;ˆA"N@Œ*ñO¡î–Qÿ°º`X‘†Hé*]l¤£²Q`¤9 -¦‘¿Ëp,0.ÁÄðZ-î€$¸O1±!ÉÒB0IFiãsvw¹]o!÷99¤–ZhZxS>³ndúØ*Z‚mîê­‚4Ój* êŠj—66ÿ…Ê¾ŠŠ¯3½¢R°Dç§?_r`(é¿tX2O­²ÁBfM‰ÛJ⑪ ¥]dК ŽuBùc,îù»_MÙP’S-F îkíL-o°¾áu€Þ˜õ>ŠN¨øèRJ -Ô€MO%‹2ìví: àÕî´©ÛQ¢t³~­É œ—ÈLI_§™×0™cF[ç`ÎY²¯,•¹±š‰°‹xžÄf#»½¬Q¹7=Xýß޸ö•oñ1è–þÇoSþÜ -«% F2<S¾Ð5 QÏü¯Íd/N«WhÃqÒëŠðóB}Ø+r®2—~‹70ÿù€¥?øë}÷‡ñøÁÞŸn]|î*È}6ÿa¼Èòü…;åMÕjT—€´iÖj•ùØe¼ü µœrKs¬»aZv^å[V×®Ã|ðÊúRž®{ê±ÍÍ…|‚ÂQƒjK¦jïuÔ÷I T7ºý³›·¶%þg:àßÿSo­ñá¡Fy«+G?Àª™dþ“­W3@|ÃEMð÷GÿÅ¿â_xÿ­o¿û¶Î£0¶Š³¹iÕ¥àáU;€;²é¢8Š-eBykmýpÐy¢ /þK×PÍœq ROWN¶¥•Ú‹è0äN­'»ð -ö÷¤õMYSìñéyèIðõ”ð<ÚçÜŽÛBÎhü^—:aD"ähµ¿¿INvz\ëEmÚ³¯€#¬šÂe¾—/Œ>oÉ}®ý3èîi’¹÷D[<óuHšÿä=(" -)œ5,§šã]ªš:ùò+äqù¢F>†¼6~\&‚™uJò*ˆÒºgJfY¦ÿr$üÁBTrH€~ì”ר CA+Azûò! ûßʦ‘d#¡fž‘¬”±9ª` ³ÈŽdq×àÔÝäp¯èÑAr˜x^Ó(°ŒÌ†g‹ Q-°‘P¯€mÃf"°&ö1ÞȨ¼~49[²Ý6†³bòôŠ}P6&†81Ô%ŠšeaŠ/)Ð8v-Li¤ ¡Â^ÃI “z°#BÔ„1`/`†âëh9¤Sê$S§úïfÛ1Ž×-We®âº@J}°¶Ïëœ9…cØï;Ž{é¥ß¹ñãïà 8N‹‘¯0Ç}0Üà–W…(Ó8NÌϪ#”c;Eš[«œÜ¨#ÈœpXä52caÌ_pœI˜JâƒE¶¶æÆq %Gn±ü4r­W¿)ÐÂñx¼¿‡1«[ÛÁþý«ÿÞ×vv~)Ãu²qû\Fa: ù8ÏÁÎc™µßÿ,†g‘gä²pmÎ÷‚þ{B,ܺ‡1%Û—€ n›-BF–n¹*lFÚ^~§Èu™‹Šš‚?3ÓaÍ,æX„ˆ}¤Ùp.rH4OÜL`»T#¯šû4!aÞ8±ˆµ·ëRR” &’´*!\#d¤çÖ*I´ºkʈJ —®Ì¼9Œ2Ucfél£7€…M&7¯_gŒÐ7ÿÃ?€ý«¿+9ôo¾wãò¥çõŽ“ØQhMäÈ©O·`Uª¾³y¦eÄÞÏoÃ#xáÅáþ³þê­Þy ö‡ne=Óôñºr ¦|‘¥£mJð¼0¥a ŽÿÊ3'“$ üKW{fC_§UË£4E’gì^í‚Q’E!È“0c^Y,' IDAT²I=wi1ÏMÉÒ˜ôžepè†Ãg6£(@çó)¸: ¥ø°a"}FHŃðž6¬Ö^¦,&—ÍpظÉQ ž@t“²{Óx–ÕmæHà:mǨ›hg¯X9 1äâQ-òヤ5’Ás–Å:¦ô'ÐÃpP¢Î‘{3Md{LÏ=¯àpRYœÃS]Ïê2¶SáÒðvLÃÉÉŠgrû* =Jbb®Óˆœx>Ï'º’ vžë$¼iy¬Œ11gœ®¼–rbÀ—g1èWƒj"d‚¶¢àëUJ*^!I«Õ¦JÈZñ2 ¨ò†{kMþ3=Šáe¯º°ã¿ùÄcÍ1ì¥ WBæƒE“ s­‡A{c@ׄLÕN¶ò‚€]BºùÓp¢+ >€m¬\Gx„Ä'`ð×UøÁ„œÍú)¨~س‘?.ÊðŽÚM,’Ša&€c© s‚=^×{}ÞxCú黿¸}éÅ7ª—Ú&ig)#/§”HöAŒGÁÄÊõ&™v>' Š? -‚B2È -ö†ãrø( |kÍã˜,þ=ìv»íû¾lùýpÄÁ¨Û×1Ùè¬oÝÏc䪵±Œ4i¸×OU°‚K÷XïmÛjôEÛ"†ÎYqÜ×—Ù†¹'è‚ôWo–®ñ1'ìKÞ•ªq­åf•§áÄ-&öÊ* âÒ‡AJ‹ÖQØ ß† Õ&޼ñÌ÷ x%Ôç_ÿ—ÿâ³Wnoo_}ùåk/á+™œ|I81õ"Q˜ 6ê1m J6yøDôÞý=¤[q^øí/à Þßzÿ½ïýWÿòø9¯YÞ2¥Íø˜qúHÑ^X˜ýÁ ,g9ó×:ÕNŽâ$ØCÑOkÁ<”²2NŠþ"íîjí?¤ù'†Äü$¼0ôoJß®ÆÆËA&ØHKÈeú'Ðþ3e‰·Qcé¯?j`¦³upEhI§ð¢xÀf>#/k*XòZE“„×ìš+Ë"ßçä*×[è2)ôÏâmðYbøQÌ?6Ò/ªèMVœÐQ²G’Azîbñv^ó\•|+oÌP~[•ƒ eYHàdœ>¬Hý Ô¢B•.+Ua -·Ò>{±ƒ[‰ð‘:öÛï¾¥?«Ô×ì7x«Oõ™D±wíPxñD”ø6MœÊ¦ šÙB§?¸=L;›ûßÂùýI³_ð2˜ÎâéÌ]©ÃÞF3¡JÒØÜ 4.·žb×IJæ9Kaþó`owüÙ}0±û_¸¢Ì8\º*Íj=Ïüõp@&Eù€ÁjóÐ(¸g€¼Ê*?Œájn{<å²È®Ò4QÈn±)YI¹µ³Ü@ŸÌP×þýoùv9S]%Èt}š¸®æ?(ØŸÀO[5,sœ&D¡³*E¿{¬çÏãNÅqy-Ù™€Å’ýÿJ ›PbBT$¸–ãìÊéWHŒr$¤ÀH[â†Ô'‡/–DdþŸø+ˆn x}ƒE/_ºtåÚË'”¹õÒÓgmª –.nÒ‘O§"ƒ®¾þåÿæõ7·Þ~ëæ;±uý­ê9ùQ‚à„™ r}kµ)ÏlÛˆëOå”n¶Ú`þOü:O”ëºþÑoh$",àE–ž “ˆG¨¾éµZ‘ŠV1‘†ž*¦¥?zWšmîX³¼p’ µQ(€Y³÷Ëa{cÙ™$a¥…Õ’=Wåc êFÉ7*\›˜yÊÞG(3¿«Á¼«Q#ŽØ¤qÞ¿(µfš¤ùad·Ú°ÞL¤¶õre„ié/Ïv¬W©šA -çá(7Rx’Ð:@O6HÇÎh+ÖÞAûvÃ˧ $*¦?5&ÙYª -#·HÔ ´Áž²:;DÝþ »9XPé~ªvF%¢¿Ú¨¤Ê鯿?HÿÝaõœÔï;cô‹àÅ…•Æ­)±n€z­¸kmì+»èpûimþ UU/!¡Ü>³åŒö5€å¾…àøˆ`w=Öy>çrPXý¯æq1Ë‘~n£ü²ÊË­ÄM„C0N^wœU°‘“CŸ‘Bþ$nS÷´&ÄŠëƒùÅ—^üáÖ›ƒ«o€ô¯&”ÒYÚÈs=øÝx - -‰±›F¤Ë[à1¶Ú÷>ºÏ<©I@°Ç5¯:LåÚ SC¶‹ÉNá  }råQ³Ñ„e†¡¤øŸ#|h–Ζ‚?jBËcƒÐèš³ã`Öl‘F±€ÒÚHöªc®CÒ3”p_˜x3ù+ؤ¾f`Ab^Áÿ  Æ‹ì—EI&Ú¬IẨVAÊtŸ!¬(¥~ ƒ5ŽÃ’r½_üíöG?y×ñšÃŸß¹ö¥¯^{¡iÛgûéú¡LØ Øª‚„³•ðzĶ0e {i6Û_ûöwàuûg[?úßÿÍ­÷Þ–ƒA«=™$Á$èÞÜPLŸ&f標Ã9;O÷à<sy&ì7ÖÛÇ{ù<µ„ÏÄ©wå=Dî 4‰,jüâºMgÅþ0Ú5WÝ[»F¿‡¡*øJÌ@ Ái#ÃŽUí)f|cž[d=d³4›g¦¬Ö¡‰8hXÌY1£sV=MŒª©°q2gÄ -¿¥ÛüÎJÜ”‘pfQã$ Î[øVã - R*ÕåX•[@€sÚ—ÍÜP ¥ÌxFÓ,QI-é6Å縈ù©Ãº± -÷8B`!ÑYé!5žÀšŠÑîj“Ýz0ïæÌ v튋EcsÉGT 7QŒÓŸØÃÕ€gAzÄô%1¢¹ŠÊ¬7tŸê•@³Ûqj-ìí>ñaï’ ž„ÓlU½ìªÑePÁ·|_™cöjc˜,×MA·YNF‰lÌ$¢JÐ|²ãKW_ ©0Xã|y@  [d;ê‡"Ûõ@¶¦ ©•  ©tÿ˜a^“A8†¨a–O…T\ž²»†O¹µd¦²+®·¡RÞ)Œ¸¥k/wïn‹ W6ΟßúáŸ_UŸŒŽ’áÑÙͲز€-Aw9?AXs"Ò+‰S@¶#w)"ú5J -û-Q‘ 4-×Óiatµ³8w§ £„×<Þ-««QT {‘E!HÀg$Æ€`MK›‚-ñ“âð_ऺž«ËGðRÜåh»‚{ÊxwÅüçB°Å<Þ³·‚|ÔðJ$©– `Tçð±®@Ù‹uf‹´ôo0ˆAŨx.Ë-T.TÌUžD—IP<<#î‡ÊtB1ã©(J.T7qì6’0‰­›lQ IÐç/_~þ¥_ÕÏ bDp`ÕŒ ¬Hdb4÷’D›ª“G>¼à fð‡ÿôŸÿ¡øç ~úÞ;7Þ}»zªý]t¯Y „AÐT-(I@ñ-Y[…Yx“aœ¼l&•L#ýqÅ•‘ôÖ<ÆØ„Ÿ—áCYx s@‡û”;…ÇB!åáÖˆßÔ’ÏøáÖªjGÅ%ÁxÔx²Ëy{|W¹ÆLˆ]–¹â°«±°«þŠn:¦ÝG—t%êêªæyŒ¸¤­L~ŽÈù¯ß©>¬š`àf9tìŠùB[‹IQ -f2ÏU‚Qìh9–YHÒÆF†œÛƒ=¼bEKŽ,8`›Ö„F[h×JÕÓб’þF¥xgs°Ölw{ ýE5Ð8µÊÓiœËBº¦¦œCàxIú¡>bFcœp–Ûȱ€ž[5ð"eHq ðÆÄöz4ñ9.qƒ*@ö‰ä8bEXN(€qʆ–þz Ói.B¸`ËÆÚcY+€žÇL‘ÄÏÙüO°pÄö%•@-vé®=dÒ#¯‰>Ð¥W0åëÓÍ¢ù_Ù¼U<–þpmªN„¨²V |¬¯l מ-ûÞÉBb…m¯R´[n¤¢4ºa…ïG®»‹èª¢ ýÎ~ã’KU‚Û g\ù‰:@¨€Œ¹hYÄ !©Yµødèá$ Ã2Q”%•ÄC! ¥4K©ò3-Û…žTw#*±Z¢*±­J™å¯Ýœ±(òØNË6•5‡Ó•â8Ä$\Ïeë~­8[jB·A¥ÓÚ©òë1Ê ÔÀ»oþ¿.\F¤ÐÝnéhè·Pj€ ¬JðMcy5°J«õù—^‡×þgÿL”íQYO¯õ€»Ã!H­Vï¨%=:J¼e‰ãchqÃp)X¡sëC·×ïÊŠñ݇§6KÚ‰ŠE¬¡ÕK_¯ôêF@4ö½N)‚6žp‹AKCvH?¶±ô‡Å‚`ÒÐŒ•°UtEA -Ê2*(¥§ë¸Ü ¾zþªôGݼØiÕÛZ ër*¼^%Ô›Ô[ bV=®…ý¬¨² úõIàa©ÎÒÔçží5YÛ’Í‘%8ƒ8&úIÿõ§ÍU‡¥¿8ž^Ú’ø,ýyãøDJxí.¨ÿS,i±‘Êmbƒ XÐP9ƒ" ²ýù‘€á¿ûñá ¿Nr¥Z^PÃhĨQœ³æâB•rŒÍE ¹_߸O…Påcyµ³Ï,cJ5ÐHš¨HܘD‰Íÿp<â8WÿûçÎW¯¶ÛiGq —¤]zXÞµ˜~Ž?)³vÔ‹Æ\1©ß ³vÈ"2þ˜…ujšIÕ-;²û.ÈKsô`iî;ý3[?ú>x `I;^é€nàCgD*‹«Hÿó—AjÜÐêÜÿ‰RžÆM2’Ò%ø#¿Ým7›Íû‹-ôsaÑÆ>ã>—Á \•ŒfÛ¿ŠBU¡\ÆŒ6mïüŠ °PªK€è·=¡Ë¦‰ò¿€–J>MØtÒ䔼>Yôãc²iÐD[ý¿â–¶[ïÝ€\{ýÐ/?ûàÐ|Ÿ¥6+@¸°nFÀ´…M­#ìC )N¬{Õ›.(û³ÿõO@l½wö½M\í –†œÛ?Ž"ð`]U˜3¬´ôÇ0±Ù›!!L 8pÀs4‰8$pE·á5Ú¥TÄ#(ÿ'£òÔi‹¥?¦*Ê–ŒûÁ|NE#€›^pç ]š§?/*U´rpLx™°«QPU©Â«æ±,uiB9”ìPËçxz)%Fzý§Ä&0Q1v蕵–…ĺ“»®%¢˜Ö´F­v“™ª³^¦„L3žx<«=êÐæ?€ÒåëÉΚÜ ÆÓ4xV»$åÕmTRk¦ -“°ô‡}»²hêàJðÕø1¹ÑŠ.†„ß‘âmr_ß( -Çl&çÐ8 íìc?H}§ÕI°ˆÙuÖðö’#x‰:òóËz±š - ljêÔaõ¶2Dv{éQØ9u6 -ýàÁô$&ŽÈFK‚X84çÐFι‹t”…öªgÖŒä0´°295Ï]ÅHD:Åò[ißÙX$9™àóðM?ô™ ‰þ„ÉMc,„åi!Ú^yÒÜ0ìáF>U,; ÄÓœ0DY8bÔaÝ3‡ãáÍñ«ÿà;ã½ûø 1û9u”A»œUâ© &~*rÎ9gÌÅaX£Ðä¼4§c°Õ&h£âÁø€•Z€ÜÁ^°yœ ÛõŘ+…‘3XÇÐiÝ¢@’Ägž}Ÿ]:qVÝt!™;o w¥Ìø¹\ƒÒ-wg -Â$:ƒMçæO†l×#…€Zc…Z´˜kñL XûFåœZñä0‰ë±GÔ4Þ)/]d³å„!°V½^g±‚dHìs¦ØÛÙ™£V·–¼/þEåáÆqÌʼny‘¯‚ÓS'ª2¸;Ž}gè$GA³-M]ö3 ´—cÓ ¸UøEx@´r@š‚&®™pQx•اw¯¬¸3¦î(0[#kVW¨VÒi n7 f ˜bZú㚤ª"< ÂBÎÅUU”G,7p¶lšÝ|û:¼ºOõ±CÙµžA††_ž{„a÷?Ó¦.FX¤‚¦«Yž38ØãzC°«PbO¹üÇúÎþ]8xû‡ºóñÝÛïßLU”¬µÖØzïªâ5Œ°×‘é&Ûé§6Á€ˆ,ÈøÉ9Á¨°Y'Æl‹Á [ÈíÂÆ&.Xì–A –"ÊÒ:â}ÍÂÀ -ÇL‹lÝ8„x9u‘ÉÇi¢B¥)¶Þ€Ðg¨À¤ÇÜQ‡±• À¹–º¬XÎâ Y˜WÒ½°âŸQ¥™„,ù¹À5`Bšè~ˆöÊZšÄ”:¢…l`_b ¦ç%Ø'+ñÃwzgg»Høc0¿‚­ð]˜¯Ï5cø™áëýŒwÁ¨Ì‰¤óa -Ž’pâ7í¤ŽÙxä¨ -'› —–‰nZÜ®‡[ȵ“ß)é8{¿qí⃰$æTK…Ò8õ«=•@B¥‹þ5a[Ë8o(ý•ŽAéøp¦„‚ø âÃÈ]ãê­È¤à ;‚ì»j³ÍF»5!öiì-·;ìöl&(zg‹³|êGãÊ%”Xv¬IÔ²›‰Œ.« -wIYoSWaJ³ÿE˜¿¬ð£Ì±6#æؘmÊ%ÀA ×Û¸}ª3¸„\Á`kë°»Næ°¦Á¯¹jZÊOw1cq/Y,†´t°ØduIE?^ÛßÖÂH/ašéJ}pŸe6øÐï‘Ôë<%ó~§ÎŒ?“ׯ¡Ãv»åX^ (ÚoƒÁ•V« Ò¿ú¦»/Áu–LoÆÿ€ÐgëéDÜå,­H2~ aªÑFtP…}E÷n$×0­˜¦´8J¬·ÝýÑ —‘´‡àz™"G˸£>N ±ÆEÑûlV'+ïç‹ô±ÅRqf*ÿ‹ÍLº s ¦Mj@Îpl¯fØL1Š}P pý]zR£Ïvßüì[ï¿ûÇÿ½ðÜ—^>{î쯸µê¦+@‚à ÙIâùÇ ÷áàõ¯~SÁûÝ[7ïüÍìYúë±]:à †+U^BYT˜K™TçÎjªL÷ºƒÎzWBl;Ë—Ã5–êý«‹¤P»Kª‰¬F‰¢½O‡íN™ÁÚì÷óJoż,t2«y£*û¯è.>5k.é~=ðÿ溘ŽsËX¯)tÎpGØÃô°‘n9ª!¯ÞúFµÏ6;Žùbѵöœ˜„ÃRs†³]é†Cþ“X§Êi¼Ä>ÔTqx&îFG¦Q+[óVú؜ȭ ·nÿL·v½Óê´¤ýgY%I’ ùßwQúsÓ¶Á²ÎÀü·W0~bÎó˜ä°þ`CTƒä0Šý·½S+ ä¬y C‘³ߤÚZÞ:e: ü-Päb›Hä5çl«Ìy\Ð {¯Ñfx¥åéEp©š¾":ÌÛ-¤¥†=ïê1ÊÓfï„ä´½b2ìAô·U‰.¬nnŒˆÒ¦å‡™»bÀ‹éå[ë­·¯ƒWºÞ?Ë -€ý8ÂzföЇž¯‡:€PÕ¶¥ü»àï•ÌÕ†ŒÃPƒbô%€ç'Zx±¸4#} @¡VéƒÆŸí~òá‹âuþÓÅ„ —àiéïGa›bß`·A3¬I‚³áp¡™­¨€ôáAgqÂVÿï’§¬që  ª“’[wÅIŒboŒ}•ÈU3ÝX¨$‡™VÚõÕMæÕ -lÿÊo`Æ"Õ b&¹2€x¨€räŸÔuIolQJ&E¤¥?ÿïDŒ)SÍ b˜³O7SÄ2¥·´c5‘Ixëƒð:áò•kW¯\Ã:íÆÝݦBjÂÆ:;Û=d°&6ˆ¢s?~ï¬Ov/< ^wo]½÷3Ì:€€×—¿ñMÖ BÀšá¯ð”–ƒFJÚãÎ$5Á•ö‚È9J œ1—Áz¼¯WLNNórœŽÝºc*ªdQcòvÛTÖKÛýÝÝN§Ã•´h8 ”G ¤Áüw’Ÿë¥K´WÊò˜ãLÃ6׈§à變{Ín:xÏ]‚ý½ÖÆB‹$|Þg†`༌“¸7@°ˆç¡àûFž'©‚1™É|Xõñ93#!ìÐ2šxÃ^›ç.íQ—'réôˆ[›ðjÔ²>éH98ÍnÏiœÑߥ'[ ûÈúhbͨÇYêZv Z7M ’Àb›'(úQXÙ4­~¹*Ñô†¿C8QÜ6Ue,±S"¦lÙ8h>ÙÞýxÈæ¿| Ô¨Z(Ó‘LU6;R¿°„Ï.*SyÍ& -¸«¸þÏF‹~ÁÑóy¾÷è-5Q"cZúã×-t@¢(B9d}¦E2•oÖHú ÚÃõó›°`<¯a×-PKžëÕ˜~SÈ€žm9Q“Òâç.fEab l˜8®g±) šÑ rºØævièóæUD¬÷0éwñK¯ë_ÑJâ¦Ý‚Åê5¢ßZ¯Ô‚¢ÿŽTްo=†£†5Ç·j±ÒãJs5)ðùÕ°h,[@\ÿ¥ï tf %€x¡}à×ä2mÌÊ P§æâmÖ­26#J(ÓYƒ•Æ-E—ÌÛ6ª:@ý­åP_eüLA:ƒq3åFƒàt¼æòhÛ¾y^B|tÀ—¿öõþ™>(€ðQXÀ/6¤š›Õ»ŽùÌÚ÷åãIx‚«:àË¿óuA -€nÄŽ&‘¾*­v?Ù*a«ùTp= -™³‹E›üÎÑB5Ðhpa&Y¸‚ר3 ×H‚ɃÅâ>“õ+WíïTÓl4LÕ>Hîdó|Á HŒ™‘/b+À{6*©fÍmd™2WŒí¬e·A"y®ÿz3Ÿ½• ží:³ -ží€D]B§’÷./ƒÜ ¢ìµô±{$HX³-rÜÈ îÇÎ}«PôSHÿ:§CôügßTÆcJÀ`÷ˆ˜_ýÍS°ßØXÉã|©î1Û%!C´xQ• .å;I˜xÉŽà—+dæ X˜2ÿ¾»Rwìz -Ñ6v ÛdÌâ,š0D7üÇKp¨‘PÓÈ»›ƒ;7ßöG÷½ ÏÇàã›ÿIy)Ž&“ç[+"ð`þETNœaŸö6Ò$w 1'«ažgE­Äuá¤!÷ Ë4f ].´s§{ä·[-gNЧ&¹õDÇ®á7ÚTú±!¡Aáøv` vr8Š'#QC0Ÿ¦›Yˆ{–—©I}â´µ.ˆu'Oræ‹E4j «ÚöV½Éá–¢³6&Ü d?—Q»[É%9 ƒ›¨™šŨÔ˜aaŽ"jÀµÙ-@Zo¾°rœõVr”ŸΪ“$¾±Jd$j­áÊí샞žg˜~y’UgЗk~ÀÉd¢‹hL8[‚ñ;¤'ªa…„l+”ׄQF%™SqÀ,2Dnf¥ò³ë:ÄóÏ­×6uTÂ$›²æÙ&ü—Ãå)¬Ñ@[ÿ¿í}[ÜÖyæi Ó=hö°5£¦†î&=òÄZÊFÚ•«ÌT­¼•[ÅNÊyÝÊ{^òž§}Ü·<û5©ÚŠk\ÎVÖUrÙ²T˵,E-šôPmŽfØTsšÝD ÞÿrÎÁé¹ÈJ¶œ'ŸêÁžn4p€ó_¿ÿûßüßßûÉÞ¸ú»ÛW··a»Þ&…mÁ¢K¦F1>Ù¾´& ·**b~ñÞ¿ŸþDïIÈ:>ôÎòJ³ð–t>c IDATWìÍlhã'’¿% a%cR’•m#8@r­4Æg±î&‡“ä(Â| áK™êSI@'¼:X¤dø£u2“=o³Ã©»âÀt úýV§åSÉˆææ¯ÐØnû62µºÂ’Í¢‘Mc›hr/†@·j<¦.$†p¹Ý\jŠu$4u`xÁU"\Y’Vhî9Í•öúæ ýÅYF¬û[EúNW“«ðØÛ†åàûwWeÏÖ®ÎÒªNEöڬʙ±ÇYöÚËðxû^&8£€@0ºw«ÆÛߦV¯æuÒYÙ¸¼éµÖ@è5 G8ÆCPQ‡R1É·èàýº’j%^èvà0M&mQÃõ$I -r-N ïÞ¶Xmh)™bÕÏ\‡5`ŠƒN7èên|ìåýƒ½=Ømê”Ä`¿ƒƒÑüBR#a2Øñ¸Ì=,MTî!vìB’çAóŽÄ‡0É¢¿ú¤OÛff¡MOÑ‹+" -̪,9Éqæ“ -´æ›üxÎY¡-÷Jú»u¾`õÀoÝ{÷‡Û„îõ¯Þx•3õ¨gh>s5&å °˜@Ŭ˜ †ëBYú Ê:ÄX?ìp*‚£Õ)ÅFò™:yç„|Ôc÷Cô7{½Ý~ä~ku ¶ôUvÈýéèÞé/¢Óà^f'ÂÁ®…] \káM³!%û=òa RÃâÔU¡8´÷Oôe=5ØcÎB×°`cW#Ißÿ$Ú „Ð}Ï îÂÇ5.=ë4ø¾¨ÏU—h- Bª,T‹ ªrNdIe™”Z4Ø.F×,{Ȳ$3Ã!Ñ÷6.mŒ&;ÿr^âïðzæ5/¤Åp©&O{õ©ÔhÓößÿî{õ‘G@ï´VCx†ÊC°jäŒÁ™he’R¬¡5~PbŒ+†»ÛȤ è+'Ý]3<¦ðQ€ÅƒúçÊ),YÊè ótsƒ{|¸Û/¬‰Å(¹´'hß^rÄõPk%dtc0í°ô×Dò¢RyR%€ŸGqÅ$nÒꇲ–=FHÇã!ˆ~ÎùëCÑ"-@ °dÀhO¾ð édSoé÷%Å?·˜—î{É­O4‘u—ƒ1‡€^èeSL›“Ü~ ;0öJÌm(7NãwïÒ‹8‡£ -›7Ü>ŠªåP=V¬8 2êä¬à6ëlúʹ”î}S%圈J2éæìò¿qä*‡·Ýí ÀÞŽ´JºW®íüüg$K÷CÅ[U@v2.à2ćn -£B‡ãùñd(Ü.¨ña’Mε‚1‘ã)V>·šÈ¶1ŽâÀ•¸ КVO±æi!Òk©/õx©€ègx5N²#(qîRú3ó¤RLTðPNAs$ -ìGéöò  - üPög£gQÓ(âí•×¾ÿ?ÿìlþN^º0jòld٣鋢Ɏ·HÂç­t@À6ϰåäÉätr5#'ý‚í ŠÎÙÀGÕEÄÀP¾ë$l_EpIŸE!Œ(®‡\uQti‚((ÎüⓌ:7òÂ/LìæYl\Bán™y_ö2â«Ó!Ç’ì{ËèjP¢9UÊ4c}¡d[£X.=qÎƒÍ—Š·],²­üFGªÚÇ£8V²ts³k t´AÐå¨$;×:­Î* ö76?£;Àè¦9F~«dU÷Ja uÅ)éÏ%Qôy°÷-¶ý9€)z\ 0­A™º  ”ë ’5éL« *ì¬x_÷’YŠ[žiEý¤[B†…áêVš²q#E]ŒJ.^Ý4óÈ#aÝ`öùázG!f3tBÛåžÝ;l2‡ªt€ctñä*xêÖžG‰: †3¹ÁÍ<Œ‚ÍÀo‚è–›ðÿDÿäBÓtÐ\“„µuå\#:6žÕ&¼@¬()¶yiä>ïƒ+à.¹ãg ýñPâ\ã×o @ÐI¢a6ýEýóâÙ¤E€K0køO¦ $¼4“mŠûñû°c)# d“yv­ÔÅÒˆoIsë¤3ǬcæmÔñu×rM‰<àj¯ C‹%é€ -¯ [ŒüPËaCQµÊ‚¤V±V_çÞ¢¤BÓ›ÈYŽàw Z-A~€¸°^™³Tëu ÿÓ Õ9Ñ«óa ¢8eà 3›y§%P-ã~ºœâö–½u.‡aä ”`ÑÏ€lþ -úO ûñQ„¯$šüòïôûZú ì L±«²ÙÈÁ‹"‚Ðó@ärõšÇah {È…Ñ…)ç9H{Û*@¢%qê7(œ7·j)0„‚T›œc+(q$ó!QÜZ¿å°Mßú¡Ý»¶¶Þ*’›’íÏ·Ì× °¹w’ù l.aQ -Žû3è$äèÑÐõüÎó›w~úfgãrgs¤?þÐpèÃ#æt”åYr ü ¸²d&[Îb@•‰ãcFgΰш1D?0|<†×«ÿåD=î=\ëJô^­,’ãÔ_B„ -\ƒ#º¶(M‹]u»†èi!¦~B±y¦O?ƆŽMaŠü%«1CQÞºxEˆev‡ÕÀ«˜ìŒâèѲ@£ZšÒ²ƒàø«úÓ&~œš¥ïÁÉËÿ—„ÅÌŠùÜéœøÓ9ÅGí†ç€ÁËÜC"öüæJ³}òÿð¸äÁ™cµ^Ç8EUk#¡{s -wª9±Ï3‹¾§¼$Luâû­|ŽÅôQ_J?FK -¶ëk˜„LŽÉlÓò={YÙ 50¸BF³€5ÄPô|ã•Yœ@ËàñÒdvÝ£¿T\åˆÚÁE¥ÎðeÕ>£˜Ï1ádaßJbŒ±PI#-„—ÏwI&ŠyÍû*Ü/ÈóAD¯-ÛªØ&Yzl,ñð -n@~³äÇZUü6’BŽŽì™°íêX–gÄÁÓ”ænªÿjšñh w>›¸2A‰²êPÝÙ¼ÔC_¾õ‹»:?Me3"ÔÊ5,*‹k¬¶ÙðÙ„E?qä,a|¼¨;L"„îìLpÌ&F+Aò±ÀEéMÀ ìl´á8Ì7ÄÙ(ž ‡ëœ†gƱt$ tª¿B9 ‡¹ê -m¿'lMƒ£PæLÇÆŸ/ÈpÄ0oÝ*á霧,ú -.ªagÖF£9FƒÁ Û½ÎA­îÙp:šdÓAg£OáZˆóYéT†k â=â²dÖƒ1Ò…9ØJžb€örPÑ’+ý”¤“]’8VVI‚Ž<ÚÝMŽ&íÍÍ# -6ºZ‹ëE,:çð„ dáO¡Âé³½x²ÐsÛ`+gÅBÑfÀs^‡%Àbã¼ëB -A_ ùâÈ,åIϰvŸ€mq„Ò_ðÔ(íîR‰“àj°‘õRqÝÔÄÞ‡š¸ùû¯>¼§Oº´@nú”gGü·Êÿø“a‡èé¨y¡=GO†LÉˤ¿À^¸ƒƒÁ¶×o¼Ü½¶éæ$ÎÉݤ½9œEf»§½T»¢&”à}Ögºlr8ž è?kx -–ªø•§Ž‰7±0Ü´¦ŒéÜZí÷òÕí|yl^ßö„Áë0C©7ù˜Z÷ÚÅø Î!lû¿ô>»\ûôƒ±.ºîéÌ1™NBƒü•e´¯ መbý%¼_6ÒA+œNÀà´.:‡¶U!¥<ÿìÈÒycûey½ÕÍÞö;¶l£°7Døø-ëÌL>¼ƒ…oõœ³8ºQ-"k–D¾[œB^gÇØ…FçBR]êØ Ø… -õÈÏÀ±t ÚC3E]ìÈ·>à,Ù¸%#“3^,úÙi°jÕµÀ9xʇ“­œèw¸¼¸ó’‚p ÏÑ5–örøˆívçúµmRƒ‡Ò|WW¤s@¤ÐêD#-JaŸœµ‹rÖ³c°tRÂö¸:ÕÌßM'ŒùD«p‚¢÷Á«;@’´š¤|uQš©‚…îÍs…ŒTûŠû¿åÑu–¨k¥6bÏŒ"ÙÍæB2£ÑÓÈ -¨¶ ¶N^i]¸Á ú90˜å©ãú²o°7gœ«f+2¹€dÓןädî÷5ïˆ~Þé€ -º¸.ï…G,\Æå®MvFý¶øá9 Ø8ðT˜—ÝÓ:H'°®´B‡¿¶ý1ƒUfš)A`] åsƒ³j*\ƒŽÆš®fa) -Ž’vɹô;••ÿpóÁ?S|*Kùc,@uSon;žLãñ`Ø¥tÇt|Ð$ëX´ÃÁÃá£]ðWž-¨¸· ¶^¹Åj€¯%3P5kúYÔSh^”‹kÀ‹1YÛ@4Úß½þ•×@=žNZN^úËG«AôÇT!A—£xÓ.^+Í„;®¥û¹ƒÜ7ˆÉP‘åOÆËôÉäY?\Ã9'@`{nùp´×š£ƒ¶°’êþÔ þƒ]Ü™‰«ŸÛ|ýOÿ“þ+Ñxëóèõ¾¿p”ÛÐj»Œ/y\3ÜÇÆX׎'I: ¤ôM Iê£á>ø|\È -@¡5P¾ûßpùs¨œÙ~¥Rù[ás[,ýy€ù/ððÄðÙ}ûMôŠR¼ÿÓ»ü™ÉÁÂùïüb÷uµÂöÿƷР~ü~~÷C<æÁ>îƒ8ÝíK¶%‰BædÑ€®(†ÅÌÜML&ÁÒŸŸ4h–ƒ°Ýi­â„¯_ÂeÖêþúîð0úwnŸv´A„•ÕXðž€ù¨KŒ6lr¦qÄ%(šÏ½wçR”×Ý ™3Q„Äi%¡Дƒ‚±Ôa®/dý UßrDÉ(/¶ý]ׂÈ·\&'ðŽ ‹øD– j€ùŸUšd ‹=oÁM۸܃׻?zc÷ÞîN¡{oœ$¸‹Lõª¨Ø¼™Ê -ðûÙ ,YG£ƒ>É[æ1÷ûúÂh¹ŒîÁµÍÎÏòŠòÜü¤öðÁC ·x拳¢o:ºÄ£¶³ÝÚ¿ß=JX€€IíxÌ–¾>< H?Á˜nZ£•N³àá(Õ÷x𨬊A€è ˜†×ÿãk÷ÞBŠðZç×+°þK'Ñ“ÛlõŸ ýI¸ìÜ7/ALÚšKRöÒ¤sÂ8oÍe”'‚¯»Žé¸H±À5eþSûM“/¬pç21P”¶G0´û‰ò›* °¯B¸Ö¹ó߸öÒM¯Ñ*üºÇÎÝøÉ ãì(ƺ@Ò4ÃÇxVš"P(›ýªLíÝýgî–&¸hëêuTþÚòÝn§¦| Ö_襇¿ý·ÿÈÿíß­ú¹/ÑŒ ó_lluÏ%™"†ƒ°‘ £wÚ„|´;—akmõ3ãa:êËcb÷ :&KÿÃ8ÂÜ`JHP±Égc#¤Go…Nû’rY6‚çÖqu!Î<ÖT„¤ *ùr—¨Ö$ÊQÒˆŽãŠ›%¾³±øNáûãÁÀÖø¬p)È€†§ãÙs‘æÈÓWнH%ÓŽ4¦Š2-Ø£¼ -†H‘9>ºBX0'–;¯‰¹¤ö%VaÙ…EiLÏ!9wbžçë– º¶ÃµJL —0]±XR ä¹(Žcj‡MùêsE$éèÏ5ÉÆcÏbK±+3JUÒÒÆ{|qE$ÆYŒ±`feÉ·jëB=Ç´ƒ$ò¹M-Ú󼢞†É´¨÷åWo]½¾õæÞèÞ¥ÌÄ^ÖAbíN’ƒ×{§N8 ;ã#N©ôbŠn–Gö¸m×r55*5˜Á -:’³MÅ:ƒG?@®­ò0ƒuÝë1¥‡ªÐÔ½+¨DC¨z,#Ð~| û-s¶ÉD0§È뎎âÔå\ÝÞl»* 2¡ýÜ%ÞA~)0úì¤ÝY¯’Šì(Âüà\d:"¦¨2èTKük-Ó1¨,1¤¿ ç5bªáš4í[N–¥û¿º×ýÌuøo»î|ýOþÏy2ªÙò^œ€ÕñºÞÿèûÑä>œžÃøh­RíðHÃ勲H“‚±mìðÕÍ®F‹! ¹ìãƒor¶Þ` ¨G}.WxEýEÞA1Šd„w,0É,ûtX5>Ü_¨€ô=ÚS0þ°½óÚÂõ®š£vë"Z…f„Ž8Ü­,\Á …å]>W»»ùàÎû£G»‚àðTà:¨Øƒ]Xà¹d!ÚeŠWJó`×*\?ÞßÓä»?y¶[_~ùÞ»â჻—¯,X.‚ªÿYú %úyl½TUè5ƒÊôŽUÐüË¿·uhÀ¹µ+=îü´ÿÁûèUì÷ñÈý_U$bÞ§¨lß5ÀÙ éSB[ o2:¾rí:ŠöÖ -.ÈÍ«Ô\Èõ@ôËsV§ ·Î®ĈB`s_‡ì¸ÔÒÿSÉ©YÇøI‘yLj† ²ÆgªÆ$î™OX(ÑÏëD—•:~@uª¾IÕcAPEmWH6lù+Û†ÅÑXR›{§Z!#ª7ŸgÌ}"IjUè)V¬J)H!õÔ!ƒâþ,ô-`ÉìEçÃì„|ZnŽªHÛ°šuržÎ ôa ÷ßåÞk_½õða÷áÐ2/h«8–a¸®Ìp•f®èÒ*IÙ’cÅ‹Ñlƒ˜S?0Òf‡‘·Ȧ48¶Ž˜!L%w¯‡|ù|ÁÜÖéÉAhœ‚nеÔ-4×YÝ—mŸ ¸=…bð׃f3Ž"§^ãÃòýÒØÿbnWD&F‚›ªÈ9±*å>LsSÁZkr'¼Øåæ×þt¼ša{¿PÉnï²ËÙg,ûÓñ=Øâ<ë\0¹©P \×9²ôÊ9ÔCÏbE^&ÑŒñÇjF”þðO Íù 1=8ðcgø” -á˜m‹£(˜0 -¬NŒ{ïܾþ%Üv8~ Cãá ³qI*€:±1CyªÏpg£‹-ú¼Àöƒl<„5…–¹þ•×@àΗ Mx®w+ç‚¶ÈpübVù@|É–;Ú[ÿ„±yek÷ÁÝNÏ„C¢`qa3ìlßÀ+êÛûlõ-;¯Cçb>;“ÉRuû‹½$%Ãäk¸ñëÕšIf•ƒo¾oޱAñ6ªG¤,(XG -@¶óV!oþ‚€¤;D%Ôñ8 Ül“z A—j z†Çå£áÁ -À\´'ÂwòWXo™†¥²íÒŸñ0¬ À¨r”~‚ÂÓF±‹06©±Ä 4'¹©®¹B8ÒÍsÂo• -¤¤Ž€PTîuŽ :ŠŠ4[–ƒåÔ6¶îËöL$ú5O/þ,%a‡y%ô¦óÒŽ#ãA‘—Yf©€Ÿ¹UUKv.£±­_Ãô®æÇa¦&!-3ÎOèÞŠÌå¬ZìÖíÍË=x ßý±lM †¿üé8Âf%–#‹ãìJfc9D’µÌ`ÜŒö‘Ù—À³½CV“ãù\€‡\2:Ÿ0cqVÚ®%{7¥x ø™Ä7ôXÂ4…Jžs`ÝB¸ÍÍËlÏ.T,žG`‡èlH,Æâ§ã8JqiÓºFvEgžª§x' Õ_ŒG Ö5è€Ð@mÕ§A5à•J®v:ñ$ºýƒïêq§¬.ÅQO(€xr?ß‹wÍ7ÁöÏàà+5-’ÌßЧ6·"f¥OlÊjEHàC™ÿÈ©ƒ¸S >CDВݽÒcF MeûÃŽlã×h ÷« *ÈÐ …žMøvu·Îôð+™øÂ—z?{gÉd¼YH~Ö+Kí¹õ -:›Wï× î63šÞy¡2pXêùOßJâŽc½0@ú{ž¦òÈ`û³8s/”Á´¨ƒvŒ6¯´Ïû® ýŠ=Í6ƒµáEÛ÷pæ¹à¼#pJ_Õ~ÛÜht€åœ´šÙ àpJ¾h,ƒ& À~’JaåÅYQ.•U±ÞL0wýQÆpôAT¦—9Ð8$¥¿þ Å82­ÆjIã/5å/oí%©fÌŸÀwʺ®Å±ÅqQQ0UN>×Fë…Ó“†?Z“×DV¬"fØÕÀõÊß}÷­ÅHÿñ“½ÖÚ†E2õÓ*yÎÍX<fM/¶?›ÿ¸µQ¢ë:¶ÁÁ¶T- Ö=\…æ¶Âó1 yuF©R†Ô1] 2Óev ΣPñ›Â¸ ’e¥É‹D?²gáK®THƒÌ™Ùk€©S‘Ëüµj§(”äÆjsòŒzÿªV3°R‚fè-{ëÄ*õt2zRU-_ÚÚrÃÖð1ñ¸­u«é»(m„”0µa#˜L«[h3p¨,Z«áøÙdðQ¿wíúÎÏïdÑa^ÒkÃ5š••:¥˜86.À›1Ç,˜¯8 @™¦(ì–“Šyº¶6šNÝýÉ··¾ü—½ÿüêí|Ç„ñ¼uçhæ÷íÛÿt{çƒ >íjœeó¸ýÖÝ3Þ5 »ó¿ûë‡qœó,ètV©wÍ€ùð-|þ<«|f~×<Caï_¾RbWÃJ“S£ökÛ—¯ÿîæà#´.ñnæÞî‡;~¢èÒè§ßµ¨ƒRª;óä©1‡`ïÀ´häªV¢Öð®Ä"(àœõ‡ðÌS;$­Ã?ár›9éá"éCõ£åÃáäÌϘü/’Ïc¾ð ¡ØP ^¯nÅǹU# -õ[Œé€ý­/ÞFýû÷nýÉ7ÞûÑ—Qœ½ûÞΕýáQF °W¬€Š^ÞxÛµˆ‡ŠzJc¸è÷×=Í‘8A‹Œpò² Œ÷®„Ÿ&¢¦ý¤¢T%Áy– {³J·¤è¡0‰y~¦U ìƒáò”3ðžï8·5¥.i -PKåo† Ætn[Ïl›ôߌÔa‹LXî,9ëu‰•Ç+Z*¿þ?êpwC~ü “º´áäÖ,&;ñð ê3;–È zr1ïÏ Í5󸉩u˜ø°µ¬:¦¾˜u®‰•™qËaF*Pe‘ƒˆo­ðÒ1AÐGtçøOfs8ƒètZÔ·GŸk‘±ô?1öwî6.Ušpx C"µÎpð¸³!Ó/Ž·¬?£ï‹~-ý›§keeãzì|ý[Ñÿe_GZjµÊ&^òÕ¦³G1AIDAT*1ÈÕŒ¢L¦ÊÛðbè^¹%¯âWwá…çY{?~JØÛ W;Z¿ÿ¶ñþOÏ€4$²–‹ À¿ãéüFÆK_4ðK†Un4FE˜JÂ~á+7MG³µöëýªá£c.F0¨ŽOr I‡ÔS30»5(¤ªvZívë•W¹PàÆWo¸õ‡ß„ýþ}D*><Ë‚1ÚÇQsE­)r溛½é³MVä)ÈVfPÀÜåªÀj²};ΓL‰ ³m$8À…Añ+®Æé,ö–:2.Ĺ6T‡ÎÁ §yúÆ?|§÷â‹·þì›Õï®^M ú§ãâ|¼’‹r_7,Ãd{ݦZôœÊ°ªH 7ÚË‘—P¶ýñy´—8þ‹M }EÿXu '`J‘µˆnR‹j"@ú t] çNد¦¢òh©ë‡ù‘Üo¯6M‡3V>`÷êÖfwc¨B„Í*K?¥Ôüö Ùz}DñŸöZ[ã7Bú(ޡܽ¨¾lX:Ÿí]ýü6èP·ßº -€K½½s¤gƦ›pm§¬Úæ…^ô´ïQƒMpn~í›,ýñŸî¼þg75ÎÒ) UÃâøxÿP´…¥iX+O'‡g¾Ï]MxÔÏANÖ (tiÀøÆOLÅ\ šf¸¢÷=ƒñ|fXñO†Õù´:ÕçãñÙk{ÍXW†õêf˜íÅ{×6öÎÞ?Ó0>úøÎµ·ÿúoþÿw!Äa„Å -“¾m^Cn|f!^fЛÄù9jÇ ÔÚÆg -ã}ó»æçÏ Ý›¹3ÇcÄ×’ôì9?ï8º0ÅYrÊYÉ2 ›Ñ*aâ"ü=+¤©É˲<ó¨zô®méí.Uz>$@Gœ¤£ÔU(÷#”Zú ,è Aôïïö›«½G§ÛM'…BÖ33ÈtÐ;A›À|Ï(ãRs‹_d楥){m„B‘ðâŸ7æô·áŸå@,jÒ ÙlQGå˜FxAZÈqÄ]TE$Ç¢áUèv•aÛ¢…Ê€(³–Š`³ü‰z˜êÞ‹[ãA -¢?ölçñî#â¹Ð[Øq¹ŸW—d4Q*6ÿšç\´L+Xƒ£ ™È¸dlÿ éäJò!)$ -ˆ~PíÕ’¥?Œƒ8 ”Ä7 è$µ´ ˆ_%Óõ˜PHa”Î…^ü¾)|Í‚ ÑÏ;ábU°Vž³!ÑDÿÕímÞ¹õµ[g~æÓŒh:™*|:‘Ö (€þ=¯û™“ O9¶oTÞÏ9A–]sf(à<Åf"C²¹A[3™R8ûwÿMeiünxÞyæçD3$e|~ê¥/Êr‡ñA¥|R÷þe^Ͱb–ýíøW ÝHRá”óƒ ‘l¤¿£¬®ÆJ+Š&ÃÇø.öïßF/¿ò*–Á 0Ÿ†rð¶¿sWܬÆ÷0²O#KÓʘ¥ úÏBØö«Ö¸ÖµH’Ô Z’p–:ÚjR¡¬É°-GÑ{¤iÕ×[é µƒ`¹zö\LJ—lêRGóû÷]É0”e`5ÊŽ.uK Ó€ Äê_UôÐY¯"–:Ô +}Ò2Œ15ã T¢KFêA0§lÿþwá¶z úãh‡A•æ?Hÿ h#0m¦¡£™¨SÈó`%¡¡˜ Íÿ-½¥»ˆñŽôIEND®B`‚‰PNG + @­¼ó3”ø~y}¦´ö3¡’½ffNGЋ$ ¼f~> H°~J`€û_xŸ\A²9q€¹ ´óé1|ßÀæíº¥IÀý×ÝÝŽ„û#öˆ Ö Š `ý[‘•ÈSü®Ÿl äŠ}µûDaýì1 ¾ËX‚+ ¬ßžØ¾ÍF±HFµ;ð÷l{* ‰éRå¾(È*C9”œ"…öYu×fÕÕ)ëWéîoÃrîÍñëpg«Ø¯Žž#ï xܘ,÷GÄ,µu¦oQvÝ’qõßSÔ£ÜLÛËÕ=[HÅR¶o}îO© ÷×6Äú)Éc¬.l| `k¯ÉúÅ|÷/²£ãë?ØG£ö ‹îåÅ ÷giæû˜¾3@²Þ°øÜ8ßÈñëÀýa€ËOšÎÇÜ_·²HNë¾ý"¸õƒwós¿|Ï€|ä þ±ËëíÅ!çó#ø‹÷þé>Tè)¢‹†cÆîoFI°KRÍé$$òwOSÞ<†¹?¥©%ƒõ_€ +Èú|÷W€õÀ4%3DÀtÊJ4jÿ)ñ}\þêÆÅP‡Ÿ£$À~Ш¡ð\e¤Súl¤4gΜôg–8ð}e¸€„cýÑ™œQk‹rsTícÀ…û ˆØ÷§ QÁúÅ–ƒï›õߟ£ôﵯÞZ°Øÿb(Z~ÖŸjjìhübA‚\Wxº@©ð¿­ËúþBwÝëJ+„¬ ¬_>ëàˆýãð?ÑD晀NK +ÿr’€ÓoNýÀýÙ„ÿ.|‘  .@ظ¿ò¬a+”²Q1gº¤ È€L‚õ_&ôàOÂ.èé½eoj¸?ÖÏÎ¥RXÓb½‘!Ë ½ëÚ2¤ 5.˜—_Ý¢5D—€Ô³æÆÜ-i Û„ @)ë' Ìß±ëÇ÷©äW-W¨ŽÂým¬ÎýuÛ5—oœž5´ Û%€¹û+@¬€ HÀ÷€e"Ÿ ÷haùIØþ +ÕQi•ðð 0`¾¯ðk-üNmÖ¨àõ´Êd@%áþÝQß,Ü%Vy²–°|–ìpð¯1OGBdÿ1”¸›;Ä€Èúãç«øK3ÿàØOwî=P½o)(NF÷¿*< LÝBêr÷d1ø¾˜‚õ«¤¨ (ôæãû΀õ'첄. e&u]œPª P64.D5Ḣÿè_\óI‰í ñKzÍûDCìiaÀ<7ÄàæÅ¶ÛÌýÁ€»¹|D+wØ Á±žT43ŸbNÏ(i^ +ÿ©b€¬_™‡:”¨M{3ߤgþ @Â÷‰ýÁ@ R SW”axGäî/ˆu±¿dÀ÷gÓ×yeêŠôó3:€ÀÔ P1IEîï]@X? ‚ï{pàûÄþŠ^qÿpèZGPüMÊþSÊú% ÅÀR¾¯ Àg6…g@IKÀú­=Üdƒå¶TVÜnf9Tðý±U•´.k`Ã(ü7%ö‹ìÞÿÁß]Œ´zîþÅR¦§ÜŠH ùëÏv5jô‹ÂåÞdI@¸2KrÇGÀ€ûþGÚ˜ù«i8q8 ¶€«.uþx ßwDƒ¬ø9@b³cýÞ$÷g—Yàï +€Ž`Ç&îg%æþñ¥ï«© })rIÖŸI€õ]²~‰‰®9Öƒ÷ûËÊg¿4Sr0 ©w/ìÚ»×ôµ|>7ÿÓ©9sçšÂ+º—Î5ºëæ‹'^½`¡ ËY°C”0Ä0Ö~±D‰ ¯kBM¿Û¬;)Þõ +3ë’.r*˜²ðÚ&äó#ÊiCzÔƒDiþ¹R¥š—.ùLfá§S*=H×ú7¢«,B|QÍÜ/–Ö'wÛJU\s~c^Mñ“ôWä{ÊÃè©gvxåÐìøã-zÊO´ïía¡fC[À£rø!¢~ÉZÚüh/ Ë®7©®è¾µeç“ã[ÿM%zwsnó#=[¿\A¹-c’hfV_$–ƒ¬0Å-ŒïõºýÎ9ëæˆ:̪ä¿k2¹Bªí‹‹)3dٹ楿·„¹ƒßغОÿÞ•jm_¤$@jýöÿíÓ“H–}næíóïžU+Öë­éS§ßxmêÄÄñÉ#Ç^9Då­3'fÞ™¢DÓoN¡Óoœ˜z}òÔÉã’MŒ©ðô×Ç•7KEJ;W5ëø/‡§¸¬ê@Æ€¡ŽÁ‘.ä7tC>¼ùe¥”_Ú˜sù hx´„@{¶=½rM›,˜Ja•= €‰TÝíƒwA{åÞ\w=%Üïû4´©Šm”êû–dÁRò!<åõ’íô yWuC§4¶Ãî€tEëêÞn4þä(eoÕnÃÙyk+•êHÁÇ¿ç ­(»<ÒÍ)”_Ù†”¿¢ÁMÖì‰pG·W‘Úçæm½£Ü²µl!ŽÅÚX­TêF£×åȈlÌê'ûéB½ëíÆº”•Þ™E›­]^S8ú¤ÒÚv)˜;ܘE÷Ú£d¯õ t jÈו²Û!£\!tÉ‚uD»˜‡˜ßRü]HØb•äl²é¨Ÿ Ô‘¨Rðî«v¤[5z°ºqŠ¢ö»¾ERT§Oœ‘ßÏz% ÇC–ÖTP¸ø)zÉúaJ¢Üß ÷gº\•Ò‚âØý“HÝN/Ë8;k~wd«¨{'•jøíöYÒ…k›ˆî‡æ±ÏÆ@fý ì¤B#ÖŸ¹© dÚsü +Ü_ˆV,!})Ë’¿ÑuUÃü:ßwÉúó¥^ôìžç¶g´‰Ã‹ %Ö¹? +¡¢”pÿ¸¿eZR_Ù±ˆrJ +ÂýÅ´ù‘Âý±-¾ÎMŸ«5[£ ·Æ¥ÅP +HÀ¡‡Ü¥šø; ï·´-BªÚéÝìçÉý©’ÎHþ›0×d„+`ú‰³o¿fH[ƒÀ€Üßà:ý÷DZ~•:u"rÿÙØÿg»±þí_ÞZ|Ÿ-) R™{°~J”@q]‰ÜméÕ½£§ÙÖ+÷wP’jàûr„õKà¢(>¾{ p÷ïýRaèÁ‰RÖ€ªCæû5\ +¨wmN ¢Î°~ÿ:w •Ñ^´ó™QdéȦ ÷Gjÿ¸•F!`xsI±¢ÀÜúg‚õ›ûƒè¶†»YT€2õ ¤#Ë-˜˜sËÒ ì `ý<áâdë8Xl†¸ H1~8–Ãñå¿K±O¨âs"¹¿¤¨X~2¾¿¾2ªT~u‹ž¡&l~Œ6úŠá0¬C +v;h 2¡‹_ûþl?Ú½wo¡TBÖu“0µäKÖÿOÀ;F"?½󯵮¹¿gQ?{ìÈú dõwÐEð—qÈôÙh¢P}‘i4Eg#‚üº>þ¿‰’Û•Âà÷þÙþ=ßù®€’õ×€ € $À–G*@%{Zy¸w˶ +²@~[EÖϽL_®ŒíV Ø_¥ÀÚÓ+ä­|3Ù@ip45©X¿’  €ŠÜ_Àß^Dü-Y¿JCœÔÀO åõ5t¯ºî’€€$@û +ÿ)QÔÏ# ¼q¬ÿÄqÏNN3Ä@ø> P€ ¥[äG¸Åþ÷uQ*öÇýmø—[ë`f‡ÿ…4¾¯î*l¬Ÿy¨(Àý)wîU ð}ÜÁÂ6%újdý…Õòe:UèwýÙÒï@ø¾Ë÷µ)Eñ€†sa@ü¥0\²vËEË ðýžr›5€Ú¡Æ’RÁú[ØÌPq}Î3‘À` .2elv’ Jäî0Š%c_jÖŸ€ò¹¿€³'‰f€‰«7ÆÝœ9Å Ícÿ†³5˜µ@ó$?¥™£“Ã1TJ¹[›ÙÝJ ”H@s"û ·Ú?òÊ1ôµÿð\qÃh±¯vá•wÜÿ¯€ @’½F¬_ýìñhœ‹º€(“^™x¿ßw( Dø¾_ÏeŸRº€²~ïBµÕ‹ÿÕ7ò ×4^õ[ó?þÏ3:½úsp~/›%wÛJtðØ$¾Ü÷]IàûˆíÿÔ3»5Míolû°’4º ,¾¯[‡šݺ}÷§R€O޳¿€þq/¿ÜŸ +íIg¢(Ýý©h™ÚŸµ’Ðæ¨¨9ìÚ‚¬¿5»÷Ov%€ð/—¦ˆü‹õGÐÌ0ঔ:(5 +HѸ?Ö¯ðŸŠÂÉÐÖ5? €Èúg¦“Â÷¥©×ãþG"@¤×Mêšüñ„Ü? €á eÜßP×ÄaïPÊý)Ëë³ø>±X8óiÀ¦¶Y{²¬ðŸ +ïÚ !û+ ð. `îÑXu¤Ó±¿r©® HÂ÷]²~An"x_ jYv]ã5 RfY: ¹?IÀø“£Ã£D-A6’2Ru¤àª¹ÿÅp÷<ûoÞÖK;”¡{€õ[×|Ö?4Rx7X|û«³>dbï’ ë +`ˆháàPø/ÉúÅ|ŸE›ž8d¢95l4ü +I[Ã{ó£Ù¼ò€è-Í»ÿèv»á#Öo'`@ìûªôU;(dÅõYÛã19–Ÿï‰0¼c'꺫Œ®ºúêÿoÿL=øsæÎµh]>¬|q¸ÈvqºYÿ"n¤„]ÖΔÆ]:CP±p!ò…DŠ/°Zô;‘RËøº Ò=ôy‹E)Q`þEá¾Ê”:«s°çƒ@Èu7,A™– ÒÉd‰Ïª +}òS‘,üÿíÆÔg2”¦k\IàEg8"ÍCùU½hlÇνû_xõõÞÿpâØ«Þ¿0ºmÌÎ7&^îøûþóÞ:tä¢rôG®'ví˜y÷eyCqd¬Š¢Fºb(Õ¸v¡ž­GEó®ô™¥×шmÇk@¸ŸÒ*!v`kF¡‘!õlJ‰F)©½Úyà6šìq`ÌSì \mru¯l!Ù×=àR74ȸÑÒ–EvNxùbâÐŽî&‘DÆšíX,Ù)Ï/Vfý‚ ÊæóYÝZÂa]°JŸ¡ì¹³qô¦—]”œ;÷:{ö´»v¤Ÿ—&_;zœð?Öô›“ E]@¦7&]SoF:øòþCu੯WÊ33Sä[?¥²÷žÖΕ‹ o˵…ç£nÏSö”[HÝÚn¾>tåEsBÚ­R>ÄòˆJþ¶Žìò¬ÔÓkCb¢“¢¥\ù°ùù;±HK–iô±Õ5…s©¸*ƒÚÚ—˜²©%×/Pû_ò¯®jøÄ\D%Ý<e³óQ¾+UÈI•u+2ËR£•_#¯ —5$ÛŒ¬0¹Vq{‹î꬟oÓC«£Á«´–¿Ù· ®}ƒvm ” ù!Ú¡Yp¸°Ž·¨èD:u*¬ŒÖG-‡’oTJa•-…þº%m%=—ÛGû˜îcýù&VR«g?„ßú‚à×ð(Y¥/ƒ>”ù7?÷ë"~ïh~ËûÑ6HjÛD…çwY%qò–ͨMj[UÛ0¬¸ãÛ +£Ûõnù•-€J9Ü'\Ò)Êà é‰Ü^/9~Pz™Ý´Àìr6jYÿ‚F@Ó#-\˜Z–YH8¿p¡l=2w–¦‹lc4^›^ü»é¦æf¤¬wèÚ¦$$݉({H`þ¢…ŒA¬_ñ¾]è{)dºòùUE´gï¾={¿›<ž 5ߨ»ßé/ ø¾0ñß&;v>ýÔŸìBåõUJ€Z+‰“AɃ +ëÇèÅ5I-/jÁú…] èè²o «£Ñ.ï +ýõíkÜ´Âàþ:ðÜý—·-vPq÷7….ÀÝäºR™ì"€(XîOiî/Á †Æ°Ûaß§Dü+÷Ÿ €KX¿ôÿÐ €Þ~bÉ,@ø> @0 ÓÒØ™6ùÚm²_¸ÞÃyT^×%á2ŠÝ$Y¿T½o…ë£ ×v­,¶4/?ïsÐ’z›Çý@ÅBÚ•ï¾®¦®T¹¯Õ òÙ0lI†¥6ƒ£Y>@K£ IŠîj{Ì£v)>ÓË’ÒàQµC-‡M¤ËªÁ€_K°~–,ør`€pí{ƒûSÑóøTj '%¿EÙѧ˜MG‡}0¤ªè>Ø€¬_Y—í‚0È*ñAmïw”ÅÄ6áÝxZ”ýô‡ÇCâྋR+ uàÐÆúÂý±~%îþ¦p3Ñè2 `ý_Ÿv¹õב@v ššo]·©³Eð~dÖoãpLêÌqàþÊðnœ§6Ǿ•Ô’û ê&r }ßÂR„O.p³–õKŠý/€9›+`ýsÃˤGÇ|÷Ïö£Y^ ‘H–\ 4þÄNT\SÅú%Åþê…“û+ ß½O%;±³­Å ”õÓ†’R㋚ Ib {+$`€ãÊZm8ÀԬžÅßR SCÔ—²4[žäKéдTgü@úÆùrÿ!ÖȬ¬? )êȰ~@å¦ÚÂðz÷}w¦DÉû¥d€ú • 3ÓPÊú/¼c•ÙxáÀ7Сÿ²ôþ*¥U6WþïÚõÕ$víÅý%¹¿’e(Õ]Šû;y@¾Ô—t +•Ãõà | è"üW Àë¯ËJeë‘蹫E¬mþ,‰ø¼H×м#áþ$P)aúIÕ ØÓ,àû P‰bñ&ŽTø]˜š0¬_1GˆÄUúFPSW;´&×˸Ýý©ÐYN豋ÅäþžDjÙi9*=ü·¯f%qX(µ¥ ÷gQ”ëⱞH€š½V A¶L»‰w¸e[0t¾ZÇ ­ƒé±~(@3 ˆK‰ûó-Ñ»:ð‘V@ÛG×jàþXbÿê° +&Þª%ñݤm{믆ç‡_®( ;/JBx¬ P†Ë©üB­H6¿FÍÏêÓÇ÷€2–æQ¼/ßtm- à_%ˆEÉý1q¦ ¨æþרP€HÔ$ ,É,Í´g}ËU×ÌgzÔƒÿ±¹–Pyê?îF“oN#Y³^u^IÕ€×Ö?Ü™-ü¿´ýtUç}ç²Vš;t9žÒåÆ%—ĵ.”D[SÕ²Õ*ǪO…O"#9‰àXDäYø|@Xp" V PI‰b·ÔØ ­—¹Ô²<¯§Ä­;4:d<Î%uã7Ô‰×Лäfµ³®ïç÷|Ÿý;[G`§ó¾ï^ßõ¬çì³ÏÞûìýìïç÷{ö¿¢¬)pÅY‡¡ÎH‡„Wìò« 6Áàà”¦¤ ©ùª)[›~Ð:‚Bû®1€ +øh­-,—ɬYoÉÕuq( +u]@€’üZPZÌÛÞ@tÿ»Â¯€ìRÿã ê¨xPçÇ–Öuò.*ø~ÜÈ—ÞpœùÖiYÿô‘ +•'Ÿuøð?OYÚQÚZ{‚+{ZOò£Ôùlj4±é„–"0¶…wn³›Gha0ƒì!Œ×4*£ÅëÉadõ ­‰–RÚÒ“hË~¢I"~ϯËtÜÑŒVænÓ­ªw6šV˜˜Àb|ü1¼(ƒŠõü$hkoÀ賤=M]ÝÁýÃã"²¹&)ÿ™Vìµó½«[ú +í”ëk/nXUÞR¤òÔñ'k›4 §¿ù ¾>¾÷¥¿|ÊäÊÉ?;vág‹¹Ëÿtéô ÏU«ÃT^úËSèòå‹”ÏýÉQ×ää*®Ë¡Ñ‡³wµIé—XyT,Ù32µaµé6=Ô'˜>ÐëbG¸Öß¿Êå;Ñ”d}ëÚ‹á¢REô­%ŽIüýC55¶,ìøFIëSؘÑURë7-WÙ_GMý:ñ‘™…O¶÷¯ï Ì÷¶ò­º¯o p··™Ò*kÚJ³ë×-GÕ‰rwwfpcž +¶®UE4˜¶æ$ D‚I m‰xÀ‘)=|¶ +¦6»§O ¶rP"©›æðn¶1±K¤qÞ¨÷ÆìëLÚ°õ’éJë‡l²ÒCÄïAÉÁ’ç·¤ÄÚáXЬ¢)§‚§xT†4¼½odw¡²¯H…#ˆcQ1kV !àÁ¿áAG%š:RšØAçGv×®Ý\Y%=Z°Þ¤Ð¨l ­÷Ì~e-$<"4øÛûQfyÛ䑲ÝG2ñ°Ý&¦×Â0Ÿ3áͳKãuyLS<³Šê H?2 <ç €oj\Ò´ R¦¯ŠõÕ„w³kŠH0ö$W×Ô®Ï11òƒ6»¿€¯r *X¿Êhýo ¶=vük¡ßl÷§Äý^#:±EýÑâM²~ ÉÛlê„×?u|FÀý©*ßùιêĤ”]“¯LìETŽ<õ”VÅE¾õÖ·¿÷¾ZXtÞ]vÕ—ê*‘G‚"©P©€Ý¬FÃΦ¹¨ÁYT’4t¤žÊ8eÈ1­Åo¶ëFbkÛ—W#q(ù•½.®èþáв ¾­ëïÿL·p5è¤ùbÊd[2§† =ÃRRw®¹ûÞVWo¡ ƒSÉÒqwÀú®j謁¯cà³EýjÊ·Æñ! (®kë/Ü" Ü¿¼Ù^fçÐS•P²HMÅ|óÝÒm$Hºe¬NŸª']@æÈ!VŸ¸¬ðí9¤ßJ¼'=9Á÷ãr™ƒ(Béa»ÍÓ#³æ"Ö/É©íÂ6½3#ܸk÷î†~!ðyÚJzj²¥[×Å1ÏPÚùU€EéPây8~Dƒ±Ã0¤ébÖB“°ÿ««wvuÖDxï‚ÛÐr`€@O Åý±~°öÓö°<ŽKd:´çáû~•¤÷«HWgÊúÕÕ­?<Ü8ºÖ/_Fò}J$›–<°¹%ޝŠê€p…¾JÂ1€réMË€HÀW>O-]}ŸZK'þô$Â[-¯) ÿéòñ¯$ Àý©œýnì.`­G¯§š /ñsJMã3XÿþÃÓ”HÖüŸCÊ””F+¾q‘a öWh¸ò_waq騰fšΙ8c(Ýý­ÁyÈŸ4J›8i¸”¢Bœ,$’qq3u 0ßoÁÜ-¨@ç]ÍÈb{P¶–d»ñ}@@wx_¼Íó3­@[{¾ß™]ÆX.äè\yá¿!„V¾¥h}Gw5âþXܤ©AîÈüyeö®f„û§p䉽þ_úéEõùHç_=#¼ Øb.uÊKº£UÒÜë@Ù»ÛQóͨñæ—€ÈV­nQXm +>Š +‘©D«Àýë@Eá?¢‚õËý­R ÿ;‰ýeô@s& @1öÏ·š’ Ì¢b^ûóþSWì/X[õn™pÂùl˜‰I†ÝßdäÐogéA¶@F `æ>«°>æþ†ä¢%‡À?“\fmî/ Ä…£g²èþôÄõ±uK¢+ °Âõø”¡Ò‡Xa#Aˆýu(¥ Øß¼xb­¬Ÿã‘ ÷燔ÊäþT¬-k%q¨bý.µº4pKBó» &,N¶€ ê‚êÿ”ad¾ÏG1@ý?1w}0>z!û Pau]@ièc ¿n@,áû0@Zxã¯kðí2ükí&¬ÖÛ; ƒÃÕCÓO›¹øãËRôÔ0¸AEçEX?Àý뺀dñ2÷èýaÐxIsPN 9Ÿ=w)öW}( é. «`æÅ JÀ€Z­ÌWÍ·æÅ¡ý}è³ænyqh©¡™ª¹¨4C¾C³ó ÃOu&£®#†«Ö&ùÒ)Y +î¿~S§@Ö¯;û!A~]›we»ÛäþÂý Ý5só ßO@ `¹ŠýRÿº€È B e»YŸÂý)åþ'ÿìRøY€»|Ñ…ï»êà:ó×3.€iSk{*öW7Q÷Ç;P³^íyÓ‡]²~a€ðŸÍ«<ßWÿwE¹û£Ùpi·J²~Å•úVH¹ÖbüX*úÌýÁ@ Bd@€ Îë/„Ü‚ñ: à}´Ia@kë@Ùó€šûG¨ ˆÖ. ¼^n+ßçßQ†6¯b‹¶e¥€lehÕáïSÇrÿ°I³Äþ´yJhûNῤyjÝlæ¡sÕ $@ÖŸ€¶?uïòþD#Qà”¦w ?íhÝÝxÌ&¬ HI€Üíº*ø' Pû47°  ÎÇu9¦É®§´‘T´5Á‡š8¾›om[¸¤Å‘uÒÅøT0ñƬÂ0дlÁ‚…­wd•Y?I1C‘»´paƒ+ÝûÉÛî{z_<<ýÒ_œ}óÒ¥hŸ©áõ‹o\x=ªÎô¿ñÎèÑŽTøjhtQ9ñÍãßz+>'oÎ \qTÞú§·.¼öÃégOR7—5táû^ÿáßxóЏ|ù•ï¿^úö¹°boýã?ýO‰å¾ôŸ^ÉN|úÝ3Ä>V™npŠ/$Q¦l/ZÒÕýꢵÅ#ʼ[ý<¹NÔÚkxá†^¼§Ö?ô0YpÜlW•07ÍSËBᆚØ/¿²wYÏêå-·5"*d+ïiG7e ÿnëhDíAÍ„·­·5‘Îåz3VùPC¶·™²¥Õ)‘é´ûŠQOïm'R¶¦BWv¥]u´XjlZ¨§wI:üÿþ:ûòéKÿ­Ö³wÅ!u·Æ¬†/•’kŠÐ%8túÏgØ€ýË;ï"×iìüØMˆ-0G ¥LvivMsß}ízHg^O¤I4ža@Å%Ÿˆ=‹µm6 †gˆ–FƒïYo ÊbñѼìÆÔ°£Ñ†Íá·á'°þ!{F©-”íYȬX!õ¯ë”V [{ýÆ”…Ouôß×I‰úîmÍÝÓL‰4ñÀÆNTÝ_Ö.¦’>á)GFÖ–Â9X„ÿnx¨ Ž˜•oØ®Õ |0¥`îãÞôPNÏè·ÊּˈÌ߃ +]¥µhüÑ2àïÈ–Gíêx«$Ç •aŽ£ û9p ­o*PJwc%)HØòF)¨0¥2Õu8Äzˆ½ìð 'ê,b óÑ·ñOiMÂÕü/J;´ƒ†+V—A[=ï*•ßh“ò+ÿaØJÉ"ÂÅÕCö–ÍìÇ[*ûìöàõØñ;¾·Ù”ômßS° FsótÊ7JdâÈN×ÇË:oü°=¬Ÿ,ýpú·AÐÂÇ„‘J)‹ÿUs¶P¤œ5ÙÏ €ü§Ö£#OE| ùÇLsÜÉ^À™ÿˆÕ^~î¹çÎýg«¤pâùoÍ *?'ˆþ¯8ð¥i-BÖ¯s €Äóg^GžzFkø³Ëÿè`bÀÄÖÚGbâÖÂB3b÷ ºVA¬ëç‡V&?´Jê25|_¯[BñpÕƒ îF¸¿)4w55|å=-¨ SkY(ut.Æú¾áþ0 ù–-ƒ–õSvÝÝÜÙÕŠõ„û»©ówð÷4üŽ]IéJ¬¿ ä mÙîe*÷{ñÌ7û÷åo¿(±1ßÞý_ýþ9”À‹/=ïÂ÷›’¾rü÷Ðà¦^D–ãÂ÷›Hîø` ·¶…0s–dý0É÷?³9‹°~¶|Œ^'2ÜE…#ßìžÀ9 ö(éJë7rØ‹…3Xp*6%À Ò?¸‚åR"YyK–RV. ¥Í]iàø²~Pm-°sûú»€ÖV~äNjm)X¿‚Œhý… z3Óš$¨€Kˆ +Ö?þhÉ€ã#Y×Ê*ø>š~z ”ÈÝ?˜ondl$oÿaÍcädÉDÈQl…Ц¯#BG%‡Çzu€P·ß&'Ìø×ö«01ãµ²ou +Eß÷ýzE¡ž”€¬_¿µÅ%¥€’¨+DßÎå +Ï‘ŽPIàïj¾N˜€Ü‘ +d{Ú‘2€Ò¦œD*€õK$@»i3¾ã ÷Ný»ãÒÄF$Bõâ†,jøÐ<Ôxó—»ÿäï–Ùz0€$%—¥†®˜Äñë0@D)P²IåþT¢õoÉY°Ñ’Fb©ì}…ÿVI½Lë—û#|ßÅÎÂýU2™@à‘€é¦.…óZgb àþY¿ààW÷XgVXRCR[ +Éeh`¸a@,p{J³ÅÚ:›…ûS²m±~5Q|??Võ¶cúü<³¢™™#À@¢åè¶aäÀ‘ù˜­Üß’€¤ý£šû'Pà.âQí c$~›t7Ùqšî2 ++`K´,ÄLQQÈŸ¶~UØD‡­¬Ÿ¿I©JZfn듸?%GŸ’­?`ÀÝ߀û£š vñO2gWø>¦Ü¿ ßoj^óï2¢Ô‡_)À÷%Hpý¢®ùåëâc€û3}æc+Ë;Ç8‰üHFîþï€3}QÁîqóÏIŒ™Ü7éÂ÷= X°gžD_Ÿ3¸û§€­kM€oüùÀ…ï_pá¿€¿&hÑêBÀ“ÚAtðàûÞždý–u‚ÄýÐ}%vø…8BíIý?:Àωýåþj%Ö’hm¡ H³²‘jg©. ¬_ÞdÏY,d½ ÷'Ð,Äþ.Åòê’õwÜÙ¤ @Â&šÕ”ÒÏ’å¯ýí9éÅÿÌ©ošô4Êmlh[Ñ áû.@"ðW€ð}túÏg.]¾È6tèÈ—Üñë$ ¦ÊĤhZy¡{? ÿÃÕ2ä@‘=ßT„‡SZ/¹3À&VÉϲ~eαbÎF==?b ¹4È»€˜X_m±¿J°rU›ÄL8^X(¥ú@eWî_ ]IÜßÀGÜŸÃ÷µ³”èÓ!÷gÃòQcldêt™^²e%G.UÊý%YÌm.þ§—kk2÷÷$@ÓàþÓG+Õýv»†0`çt[oÚ© ` Œ ÂkŒÝ !¨'ý6è†ð„)}Ù¥wÜ›Rѽ®ÄÏ­) Ò®Ééã'Ξ{ÅM\ƒlQzíõ7\ßùî«zð"]?óWgU>wòcÎý—WÑ¥K—^øg}qUMIÇOžúOßý¯H¿Å¯EyþÿóÚÌ׿ÿ6¶g¨¼úƒ"­ƒÙ:a}ÂÙß8(T—YËn~vùgˆ¹ùpòß½+)U/~? Tœ¥“‡žxª¸¹¢~‡7.¥^\†m¿ûdÛºòäΠҎr7Gj¦ìZÚ MÁšE%Z¿d-Ã_ê´ûzòé½h¬ZDÙ{LÉã¬Qæ®4òpM?=‰N>ÙR*÷  ö{úânEß”ptæÚ¶z;˜^c½:Áß1ó¿Š1cÞ&Ð4ÂcTÑ|ôªaùD{íý0A†‰d{ø sДñ¡£¡ÆûF¶ÚM +u©”HG@Ñ(›¸¯aý¦°åîï¢IT&Š`8{WZQªùáJQ›Ê4^ÝŒ<ÌGù"q«™¾ù~¹_¯{D뻳w·êê)GæÜ[°—Û„˜£=¾º ɳw·èE½Ÿî^¹wr³4}¤ª ˜É@iÕçš:®pgÊR¸*)l»4Þ€Ríßvs†RÿNÛ ìÑŠaJüW>«o-®Ýô +Ú~q؆MdùMõ±Â䡸ÐEfšŒð`ëø½qnáéo”ì ñÃv“––ÂW’ýðáŒ49‘-oíÈmÊO=²˜ÊÁÊ’‘û—J¥Í©:ÚâþÿgÐ÷©~tìøq?>cü.¥†hÓAú6 €êþ)JH7Ü7•åþ`ß×L¾ó_^•ûÏœ8i•`ý²Zå¥Ñ1Y¿†èýap þ‚Ü? €cÏžª“‡¨`ýç¿{^ p<õìÉþò, ¼"NýùË ò…É鯟¥ø{= ÅY7Fm‚ög±@p¿õ×­Çw~.-°T@çEø–™$­¿ÛÝ_A b>`ùJ»T§&jÆ÷+–!=Ù8^ù"åîÉÔ´¦eÃûßñ}¹?uY?2 šuIèÛ ¸‰\ÁFÆ +0@Â5\µ°#'$@úo"Y¿žzö¯ÿ"¥³®ïüõË0 gϾˆû_øþ+iÈ‚ûc +1ôFÚ;ʨä×òn¬\ƒ¢õ‡kQø¡Ù}ˆ÷í‡aš8“ä„pûcý@zC¤Í$¸?í$,Â~HEî/ÔœÒ'—f*ìu”6fQèêß°Í€^¢Ÿ b¥Þ÷«w~aÙz«;Rç¡$ë‡ ÿéZÖÂú#ÜiåÑÈÎBÏÇÛÑ\°zb@Ønl™ðºSŽ `ývC@Ȥ½ý»ûÛq~¨ÿ¨}À»Œ1LLEýûZ+¾ÅÖ©àïêÔŠ][Uû‰$ÄYíÈÉýU²†òwæÀ>båÙGŠý b¾|Ðz eýb¾/ |¡áþ”XÿÉ} p*óomC2zy}€nòbd£Â•õ¿=ô †4üøˆ@øÉcÏ¨ë¦æt?^üçŽ}ý4P*ü?~âÂý§ÿ)TÞR‘õÃe ¸?% üç'€¨Ô@àp’Mf $ z¢÷‡AÖÿ³Ëÿˆ~òÓŸH€ï}ÿ5ÀßJð 8¾ÈÞø¾'Þ§šE°þÐÇÊG\[ö>JÆÓztSÊý%»ª,¹rÑ ùè°F™ø¾µÔ€J€M ¨+·L ˆÖ? +ÿqJY¿€õ+@îþH€äFúîoÑ_×b?ݶ¼&üè©™)‰À_IúÓSÇP|µu¸¶G8~üˆ?úâøê¢€Øÿô¿?¥ ëG÷Çúi`u ög‹>Ã|V" `“’ص›3yœ4a€&P8æ¤ß™½<:Bî/ÓOOÏÏUÚ ?»ë·©7Ò øw'Š3±e±’ÉSÒØ›Hæ(Fz¢õþãþ1X—q”ìE€R­Žff’ÝUDT”_gÀÀúqóæb&Û*ø»õä$ ö-ÂôÑ1€»?’õ_ ¸?y€€Ò$ë·ö¯W^'I€lÿIÚì'´ÿpŒ(ü§ÔcvøJG¾ìb%bBWü/ˆÃJ `Áý‘pVI¿Zºæ¯ ûº´‰äŒðÈ„ûþ£“ûæ“Ììk°þÔÿã½@³ —O¼ÃW@SËmÍí*¿|ý{çýÂ< ߇-·wd×äþÞ“èìw/ Ëøx¢^þŽ]>áõx +—ÀPb¾ûƒä΂ÿ_" Ä÷‘[SjP€÷ÿ0DïCôþ0Èýõ+|÷gA”š äoþ×¹û“¨ H½@}ï?d»mûÝ']ø>á?°$À|?@îå†Á¸iaÖLCËP[AAرzI)ëGÊÄÍÇf…ƒ„ €J»÷$€†¸þþNœš$€ 8¨\ êüQà@ +ÿŽﷸ±h2”éj´'µ}tiã‡Jîþåé6æƒÝ?€àî_uþX¿2 ÷g¨€º€€šƒ³=7wéšZ¶­"wÙ·‡äTjîà p¸õk Í œàûb€@@‰þ+Ðõ+ëŽ,±T 8Kšê’õ ¸Mì±kd´:æ@àOD(ñ}Üêñ* ]ý9¦l+j¼¹Á*‰û“¬´÷§G`Hø¾+¼ ¼ ˆöï!¼LœŠ¬ßN( +á¿íŽtûO`•Ðþù›6“”úïˆ +óA‘¡cGðð?ÌÍÏx†,AÓxçÂ÷½{G˜­æO* ë—ð}@€ð}—¬_À,,ýÈM®ÆæV—n¿’¼¿¦Ú[b‚z ýèèÓÏœyùÌ+ß{åÍÿöf4Îdøéÿq ùqúmÎ?qò;ÿ¹æÈxŸKñ;#­¼|ù;çÎö¹ê¾É´¦Ÿž9õ™s¯\À|™òÛÿåÂéo™ûŸþ&Y¹=}óÛß9ÿÆø–¡åò…\xåo£^ÿÑÅþý®‹»?ý™NÒÊÊQÇšO<ÿk®Rwÿª ™¾|ÿga0'`øqÔ©ÿíŽÿæð™¿>Ûï§2ó'§.¼z!êbíbò™ožÿ‘ÞõCTÊû§Qad¼«0Ð7\A¥‰)TÜ1‰¦ž=]yü)º’’A½wT¯ð†ˆdÃÛ­ÂGµ*µxkô©>JoÄšŒ:bbŸ²ä—œ#ØY×ÝM™»¬Ó†²õöQãÍ ‰kש«»©ë†•†Dæ®Åmí7 æ›kÏ?°È)£Ï0err÷½v'êZµ”¿ø‰±Ïü){•Ýwù\¾Ä.B?ºð·Î÷ìkg'c^û»×(¿÷½ïæW¿ÿ*¢ÁX0pöå3H!ÿ_ü¥Iuuõük?xíòO/S²ñù×z(M‘£ÉÎ2ÛMžVnCVŽGzüÂ|ß9œ~Ô4¶#¬E蔊iq€uR³8ö”Õìî¿ß®µ™$þΑuæ$ËEä†sEL<œF*~¶Sû}óöš|ý‘ +$õô¶ ]H§³v·]ÖïœbUG¶ þÏô ®»Û›om¤D8²s*¹5™Â}]ƒC¶eÜñKXíÿ,<ë²wr vÙí~ƒ]ùõ+6Ù‹½Tjýu™Ÿ#%4Heûäú:Qu¢D©œŒ„Ö.ÐȦu±\v¦Îæ*±_Øæ#lðiñ•®˜P©#Ž2d'v˜^ת-ÆûÝó.ânîùò?JÌM·o¸¿<°eÜ® +á~˜­¼Þ†ˆOÚV î ]$ÔÜÿÕ 3öMTyl +aý¨±%C‰õ»:×›Wd¥ì@àþ0`ôsö|P•´-.kÁᥣ4D¤ÃÑ”±~**ÍK¶.÷‡”€š©¾µ è'Ì\²¨‡f®4ÝŸX¦vJbÀ;@"¢GÑß“pÞ"úä2PÔ™µÛ†%ï êê1÷Ïå— µñ¸¿€û+Ì.þ袄û§ôšdýÁýÏ}ûåWÎ'íþÖJ€ï¿ùã7$ú3R×,^1»Œ8oý?fÐÁ§‚ ÙVÚâm¯aô‰û#¹›¾µE×£ÄýäVˆ„-šXüêþ.¹¿à*|&3«z[dýíK)ñ} —É”Fì‰ÄviÖ:»ÉVîoþ™ {O›î.W•GŒG¯Çú]Åcø>r`ý¸"ðw`ýÀàf;WÁ_ŽJ¶!•Ò}X?eÛòf¬@A Ò¾ClsõËS [I*D]vQS€²~Ý n#à mÎ!´7ÇÖ†wô"9¾M=”"žaïL²p îïõÙv=Âý±~J°~¹?ÂýUqXeÿ|ÀÆ„³2¿Ã¹û|¶TÄ…e¬²`I®§ß'jîÿæW¾¯™PÁú¿òÇÇ«U¤~|uåþÇ…2Ø”‘ø¾@ùú˜s²J©¡ž˜ïÿägˆé½ßIÀ›íbPÜß@çë ˜ 6‚•I€¨²ç ”-”Ò’õ«$ðwÓ—Ày€2%[/Km×ZdÒ-I2ËOz¸;VB§´Kži4MµQÄ· +‚|J¯ÐY„ å ½ÁÊžÕì¸ZÐ|Ë¢÷-ú—”-·Öžd­?¨cùbäÒ•9Ì +™ûSIŒÞ.ûÁýÉyù¨$À Vg¾dÖOøð}"þD6àæ”øþ+¯¾B²/ÿU-öwxP€`Ê1+Çß-ÆF/ëð_·2nŽ•³³§lg%ÝAÔe©äþìkÆósÆÛLBøo·ô8(ñA2DEHƒG}Üs@€ð}õÝUñ}ÄVu¬Êµ Ü¿myƒÀkò5@¯Æý±~ ߇’¬û&˜ ÷G`ÀHnšS¿ßGÆßäéÿ²eÆx€ÿ±~d$HÂjZ²Ü_‡Rºý§ì¾Ï^`¡”J»% „ÿLcž.iAQ; ‹ðØŸŠJS€ä°D$ÌMÀ÷ObîÒÄü4äøfú¦XÙ7ï©­µ àþwüë.ʈý)+û¦Nœ<‰d‚Ñù4¸Û΀Ë|ß5±è¹SÕ}ÄøAÁúa$Pÿ$êPZÅÒ…W7kj H r@?êˆS]ä@: ¨ÀOdý—Éem%&Sø?ýì ’õ£76Öù¾ ßÿ€dúÊÔùƒä–<=£ðÉúÕ|ícòâiZ’ÚklµÁýí¢~}H‡ÃÏ뺀ôm*%5P…ÿž`|z^?Ößù1+Ñ 7^‡tQ€îóp t yÿ)uif´~)ÄþÈ “]ö1(sWÛ¡JdýæÚ¦³r*ɾ/)Àú"ö?û×®tÀÞ3h]Æ1üßÜ¥Øáõ +Ã)ñ;DæÈÆéäÎØTt/³V]€Mº€Ìì䆞JUäþˆED7Ül¼ä#‹¦´=ž\å‚O±ÎÂ@fE#m÷Ïõµâû$:øJ"öÕ”÷GÖÿ“@7^™[% ¨ëBg¾¯. t€òá…ìæþ…L®q(@` åþaƒàÙ¿N6 ÿH±¿º€°~u!üÔ½UÖ¯€Ý›:b»9†Ãw:‚ûkÑt.‰ã“ÈŒ]ìÇ—Uv­VøÏ<ãR DȪ½”õWvY 3€¬ÿèØûNãï;æÕÜ¿ZX@yä¡Y @îdîÊmßµ|þ…×.¾á'lçуuþäò?r„É1ã½KÿôÖ?þ÷Ëzéö›A:ß †‰u2“ÓÿÛŸ·Ý•«LL–F«ògÿÓy¤ù¿ôWg_ÿßÈOÆŸ8¦ßž~ñÌ?Ž'~rÉæð³ŸþŒŠñæÍ7†‹?†=—~òöŸýùxò2p>–ÒŽÿ‹mšŸ½Üôm…g]ÊùÖ yQiëΟþ/Iú¿‰ŒaQ©áôËgÑïndßÁâhµë“Ŷîj¿;·ªX¢l¼µmõƑܺêîY?œßTzÖ›Úö?‘/?~lý޽Žß·eOat/eï–Ý<°ëA??^Ÿ­÷_Öo¿ÛËîüŠ•ÖXC³K±]$ßIß ›¦´àáðŽ dV2ïkW¹éá)·®M~KÛ"ù<Öÿ/DÇ÷aÁ‚ùyŸžÖÙ}¡B•îO˜ewÝÝH'EÈ$zú–Õ´f ”´8»$tMËÚu· |ªïSQÌ­²¯xö\| Mñ‹¯¿þƒ×ì”{èÞ‰^.ä¿‚œÿÕ¢ûsß=÷sßÁèÿâ¥_>ûÒ™O›¾uú/þòΞ}áÂ÷ÿ††JeìÑ¢B~$ Ö67O'„íœp87Ké%+—›ËëÑãæ”1c!#µl€É´¥þ¾;”gHéiz×uhe¨ä×ÛMÈ™5S©Lä±u½/¾«§¹°!ƒ¨X}o%Чjƒt榴ÙpBÓÒúSÙüpŸÝvtWmŸ°®HFR<°rô‘þ\¡ +þ›YÑVül*oÉ£¾Bûs×½f¦MÙO܉ãSRïë_QØÐE™_¿<·¦²x¸_,Ü5f•°élƒ„»ßQŒÜÿ&‚ÊCšom é¹·cÓÈJ™¥Ûyçjƒe\í\iœ64dΞ\AÇGg›"”ƒÛºÑP¸nGcT‰aSXÑðo–Bé#©°bh˜åâõ©}WX€Žm{7zjó¼éó(щí&lòԣל‡¨Lmœwl뼓U“Ü_:úÈ¢ý\_),8y¨áè„il4ƒæyä‹€ cÅ2qÞËÿÃÎjHàÍŸþLÖ/Í@ÔàþT€ùú[o€™–jPÂY¿ÄH áû®rDàì€é¿ýHŠÐ%wTýJ}+€Ê£ÃÚÕFE÷á¯Î¾pæå½?‰råÜÆšp—Ü߀õG‘êsXþŽÈúÅ|?¿¹‚€Üæ*îúÇ&%0yô”€š¦»?uÀLœRÍWÙ®.&³C×:Oiú”v „Ø_Óø’”²-À~N pÇq À¢Û·áºë¯YúáëåøRWw“” wüâþ‰ìåï”iÔ׬?`@‘¾ 7¶aýÝŸhtÈýhŠÑýÜß_%Æõÿ•ïžsÙÈïë×d¯ÿ“Fˆ¦¿zø>¢¡RN>^–û#w*%Ûëw÷—ä¡éŠby@ÖO‰|ä{"tø6Ûc½7ø~Çï|˜õqPÂ푞ÛûSâû›²0Ș$¬ß%çe­hN@a]·À-÷&•q@WâþRaÀzr$|ß ë—ð}$øÄŠú‘®ÚÄFY.‚,÷§Lñäþ(ÝþeýººF-\%³²¹…]©p>& +‰û#-Ôö/øÙÖ­{‰}M4·U +¾^ã*Åx_?áAu¨lnÆ÷§¸F˜yجŸ™ïï6Á¹ÿ\¼ô¸é{Mæû,B0 ¿©xæÐ¼+àü«$î Êú)Ó†ðMÆ8~ö—€‹?0ëÿqwø ØŸ’ÀQgp÷GîþH½êæþ„üo¾)0DëÒÒ…wsÖ6Àåÿ~ÙÅúû×·áùoáþžhüé¿8‡öN?…r›*&|߬_êý¬ ÷§”û ø¾ÂH€û#Ü_Žï<€Há¿€ï×’ZUYƒ ëW`­* ðùX—è0зjè$žu°ð?‰î8s€û{€õ«£`.pe÷ǸùÊ{“ºsÆ•ný½»)L00 $ pƒ§ž²=…ÿ’Níª—_H\†àþ¯F€hýA²~0P€tпõÿ(ÐÔ–dk#& Œ‘#c÷1F{Ay€»¿2$ hJ¶Âc3¨° ±~‹ëïjÔ·3¾ßØÒ€½kÛ±¿V ™ï'|`¥DC +²¹?•«Àž†@‰õ‹$iàû0 b`Ý +’J³õTô m„õKÖ/it>C±¿¹p€¹ÍÆ ð_íßÃSèR™€´4$-‘’ÿKì¯ @Iâ+JY¼MÃá³Í’6,¥@É +Üßɺ!«lnžÜô>‚}äî¯^¹?¹ÿÌ–pÿÓO7ÈúX?åù£ W¾/÷p)Dÿq!J²~€gºÚB Ðp5L?=ƒø(¨ èŠõG¤Y?kkÄ +KGàM0qéM@\]ò—e¬€þQ”¨zø™ì@EŠÖÿs@ (ŽVq ßT‘võ þ êÿAÙMÀÎ +Œæ= P£4‹§y%¾À1fÍ:¸¿a ¸?%X2„ÿ!¸ ¯4™U÷¼Ã’Ö!¼F?Ÿ dýW€JÎÔÿ#d»­—?æÁñu©hŒýC€ïc÷ˆ +î¯: ©€dv®ïTGPª¤3DE8÷Ýsèì¹³÷·T ôÿHáNà+@'*Ùà@øŒ[’ÌÀÉ/»D²~•’÷ÿPâûH¹¦ÑO²á¬l~ £mEce_ž$€-IE±¿JuàJÒ2¬_%±¿’¤(i}„ÿ)eýˆŠ¬_b5$¦Ÿ d¦ÂJ¤ ü=HOWàî/xÀ¿S`[/\óCÅÊp2ƒu£Ä^m ëê#¬(@ÿÆ&ô¯ÕþÍýCøhÞ´s‰¹mˆ·¨„ÃÍî“ç瀋Ecýzâ¿6‚F*̬ç'HЩ°bjäÀÝ_õ×I±¿„õ?øz‰ðsG ëwh‚BcôæOìá)ø)V{á~ú“ÿ;Fþkðn„ÿðïHI]*?ûÉÿ÷¿ æ¨SùÆß_|ýï.P2s&8÷s•*Չꙿ8íøÍ!ÌÙ*ÁÁù„T—dñ7טŸ\‚ +Ö¹¤$£nð“èÒO/þ«³ÈΧî9пC/ž=ò¯/LüÁפìêbÛòli×TþþJ÷†2²7ý o/n©†Çdú«G¤œõä”eèøxn ¦æ[Û0tÊŽõ¬ÚFÈ/ ”̧÷þѶ»r*» +~(°$`ÛxnK%¶í.î4 OFÓ'NSÒ(“SÒÎÜ#ÔªÔpeÙéfmá m=4PM¬X&6³î®¥ 3A¯Ä1³i«?”˜ug÷Riáû­ççºë¯‘éwܱuf—¢+Íâ)Ñô{—uÝÓ„¨¨NiI@o“|Ÿ +÷|rÊédïšð(ˆO6“¬^w ²·$74ߺ`òñJ-†-‹·$à‡¯ ’|ío¿§Kþ©¼ö·¯ }¼ðýšþæ»/£3/ŸF/ÿÕ)tú›ÇLÏO£×ÿ÷sßþö©Éý%3ýò*än^µ]ãÒ‘JÉ b¦‡VÖ”š¾o]ûÐëà"üÝzf†³TV®j– SéýdG­›þŽ7~h!%‚ ¨gm?ÁýQ³€N3;wº5¾\…3œV&•xUû uyÛEôÈ`‘Gˆ‘QöcöÐ…òöµÒæ­½Õ}E•™åmöа±§Ð@80Ôc tIäzÊ›k½éµJn]¦ðÙxopÈÊX…ÆzN¬Ò&¶9Boºƒ±#ŒÊÄÚLé&¿òæîD¥Ú¿B%UÊ;’+|˜& EŒñ2Y:«PJÍWIö1œ¶™ìˆ'í¤ÉûæWòó)§7ÍŸÂ÷ƒŽ–çÍTLñzžÐ­¯è~ftÞ7öÌ{iÊ¢û3G¢½ŸïýÊá[fFç¿°÷Ýèo޼ë•có^>!qáø¼_óLõúÉÍ ã•Ž ÏΧDó+‰!¤6 7ÿág|ßàîϦHJ p÷wÄìûï.p8Qþ³0KÿíGÈÝß áþiœùëï B¸:Ô¬ÿô_}í?:ƒò[ª¨¯<ŽWä¾/Pf +ÅGô}vEë§sñýl¡¬’/._•§ø>+?5€ïÃaßÇýûîEX?Âë€_dzxÂ’€‡'î•ühMÝÞ™½‰‰©°Ñˆ¬q„÷ÜÛ&áûmí ’»?$ȪC`@²{~…Êz#4NM IR:¤kf´ž£ÛK|%imëð)ÝœlWÓ'¹ ;“Í„ +Ö +÷ueïiËõv"æð}ÜA‚¢ËÅè-+Âëû?Ûäþ%{ë\7Âý býQ(ÖÛîŠÐõQ:q¢ÿ¢F«Õªä\nÖH3±y†´LîO…1öf·ÿPwü&¨IÖ¯3áÙºi¸õ«n +—Iîþëû±~1àû¸ÿ×¶Žm‰îo$§sqâw¬H@iW™RÖ/tñ„•*_›ZŒê€ €¤! €KÿÇO9°~—ªä˜±C.{!žR0èØW޽u¹ÖEmýGDÒ ÷ÿ‡7‘¬?v÷+öJ»?Ö? +ÿ'Ÿš1ýþq9~IÖ¬ßÂÿ¬ €û+ À÷ŤØ €Jn]Ù3Y¿€øÇÂLtEVw+, á¿1 @I€bñB Ñ ñ™»U’ðŸˆVèr.bV›rêTô‘fíš›\r$ß—Ê$|€ˆ„ÐÕÃÄÆ€{þ„ÿ(ø¾@á¿uÜyC1 ’û+:Aj®HH@@mUyÀë¯O\¯¼R“Üÿò?]rˆ¸¿„±õ\îþ(Ûe·áþTòÅ ؇Y¿J6”ÂJuéH  ƒÌè“3´ÈÝÉú%Y¿d¾Ÿ$¸?SÊ4¯|dl@ª°~y–·7¤v…ÚZš•ØL¶æe¸¿gîþ”ÊaÚkÞ*æþzL›ÂY³-Τ-W€ºn´ÂÍ•¦«–L€hüÖþíïÄ‹>5ö‘¹¿ ­_Qªý룵ÿä?"|__iž”6Û$H²Ã$9Ð8ô|ñ1Î!$lÒÐòü= Péžþ  8ùH- øæc1 ˆý)?ò ë¿x|r  õÃÏJÏ`¾Ã+S-b’ûG]=Àú•hP ãÅ. àþDî²rÜß*©á'É@]ó'_<3õ•Rq×T~ÇdMs¬_š €ìê"ïÿñ. %¸¿@ ð_õÀ¶9¹dù-Y¿waý*ÓÈ1Ù6Àà½@X¿'“GªÖòÔšÍý-˜Ò/k› ¾Õï—µyàð:Þ„ã¸ÒXÖ²( ù¾»—ï‹”H¦¯Ø_á¿x  @ÓH0Àò€Ù@êºR3ÆþÈ€¨Óü©Rá?ºøãxû\¥žâqAîŸá¿2€©CU@á¿úëÍ÷Ã+Ïö<>ˆû÷6¨Ü_"ü×ÃŽ¨8” Ê¾ðl÷”Ñפu¹û#|ߟõ$Ø“ @¨îª¨ˆR?•]¥ ²$D÷·nk*ÖÆ’KžÀ÷aeÈ€\¨ÿG0ßL$÷gþ”¬ª–hì1Û}8ôþËýÉ +ápˆ½@á?í_N-è`aQúI/Ä"êÚ?¢^(nßU  ¬Luá¿‘ uu«m±òŽ 9¾WX=K¾“þ¦q÷wˆx½ À( À÷åþV @²~1`.$€rrsCn]>€àæ?û& “”clÓèèÊŒö°³7u® é!¯ÿÝëˆcãGÿšŽ1Ýü£‹¯™¸½ÿä§—ì^ß{âòåKçþówüˆ²g¥n( ËŽƒì•Îÿà"zîßÿš|âØèŽ ì>ÛRÕ©Úü–ÝAfñýc{‹»&)¥Âèì•ñ…mV)î¨J™î\îþÑÌêBóò ðhnÏ`ßQÌ3œÅ—ôÜ7´zƒU²¢~@0Üó©²~¡O•z‡[Ú:îÛXéÛT)lzh¬oh”å¬©áææîâPX™ÉÂè¦O‰ú+VGTh}ˆ:¨¨=9´sˆFLIû¦•«­ËÜåïé‡c‰ãÖš¸×í:QŽ·$¦ +O*·o©èåGÁ/ÈPÒ|Õ¦‡ÃÓ@»0ñÐoÓܲ4,¾.sçRS¶1ó;ATî2Ó—ï3ewn2Ï[ðžýÄ2ÔÙ݈zìÍùBsîÞeˆf»{û[zî]†ì'A…ÖÞÂ-sèût‹ÔܾpïÔÈùWÏJ¯ýà‰ÈÝÛXhf³ß䃢 µy)Ü•b|ë­—ÿêE ¢´i•4¹¿Ü»¶kø¡ÊØ3/ –½…6{a ƒºV67·ÛÛš(‘úëÕe¯kÿ’çã,ò,J==\_$à·ôÄþúW¡â¦ŒU‚ŽŒ‡íj1»N‘²<º6¼¯¼<²söŒläöÂä¾jb÷R¼WË<1(ˆ¦-Ù)ÍäF»9vkŸ”YÞ\ÜH¬P*o'(>ððÇ¥Ì] ¹{;ì½]zEÁÖÞÒf~Õk•ð\ +ÎU£µyÒb+áÚJõÞl‹i +sù*¥äåÃHnû§Lµÿ°‡koøG µ|•šXSsИtûÇâìSúlõ“Ñ]½’ö`ïuXž! ­¾¶ïÎk(ÑäºyèȦ„ü¡ç‡£?¹{Þ7'çyq„»)ÂŵVx±Y¿ÊÄýIÜýÓ]@u°ÀßÜpµ © ¨Ö\CDõ ’ðñ¯@1¾TGʈxûöÏG[í„aü#¤¿¦–oáèŠ0•@ØÈ°Ácû‡Xá|’õÛ +'+ì ´.üP€»?©@¦e¾waýÀ÷y Î|ÿâó&2w„ïKÀpéùð-á˜F±ÿ•º€8…0(F÷“Añzù ¦dðÿ¾v‰pÞ5ëš Û'&)>÷µMÛÇÏÿà•³çΣgþí7PåȱáýG°i”Ý\A½Ûv÷ïœ,lß›­öï<€5¶O2&?ÊH*6Fêß¾J›&¦9 ²¿²W%óÌmvƒeÿè$€T·ˆJiß4ºíc=¨ðи´ª¸©»(öó`÷À†aSroW–1¤Ë]kŠX|ó­Ä:ô‘Rèö±M•¶p}ç–qA¥ïþ¦ìþÔ`æž|gß@óòlib¶îɳª[÷ðú¶íA°Únß álûl,ožœª>q¬P©êð´7ŠÐÜí™~ºŒF© Fcbw‡J83LÓ”ÅÐRѬÃ&ÄAÌŸ«)3-& +w3RÑYMÔ¾bémË»:V4vÞ•YÑ ­¸k‰Rl8L¥ûÀÔý„ñÀžì–·Ó¿=}v4ë’Ðää0 0¨î» ÷§„G¾4©´Ò)Ý/ÿ´¦K—.¼ðïg•üºì¥KgO¿ptò #LvêώîAÙ{Ú(óýÙ…7ΧDz\Ýø£ƒhìÑÂæÊ*•’a„ ›<ÁM¾€‚¦½”úˆ/‡Š]Y_ÝUÝ>Heh[¯$'’”ç¡ÒC9bg—ù¾ûì»~¥ݵ֥ëûNN`#V4€U÷6#@ùŽ˜xllÛÎA¬Ÿáû‡~·"àû$Èv7ãþ”Hî/L?9‰.|ÿ,:õï¾"1ÛÉÇK˜î/H0€­‡]²1Í:g[?RÓÇúÃu8æûâ•rÅNºFáû‰†·öyä^ÙE°ß¯’ý"ŸU‰)W÷ÍÐGCw˜B]JÆhç"Æ;ÊöJë²@(¾ïÒ¡ ë»S4[—ÏÓ”\)$¨ÙŸRЯÔ,€TL榟Çúl÷ê.õ! üH¼ûŠ +¼%7úØ(¾¿÷¾,M{Æuà鮃ǎ¡+@LETN)Ò +Ѳ1üÍ*…ÈÌ€õSN)9&¢ûŸ«€œÞ¬ÿ Ó«`r¸°þ³°àô‘…à•?Œ¾o¾ +×ÿrÿzààrÿ+€‘?I÷óüôòO~f@v|ïï¾wö»g‘®¡¾^xé Â÷~аH(eÖ’¬_Âåñ_IŸx½¬?tåãûá²HcCâûÈrsÏTÁúåþ`€Ø_*1Ÿ$`2@ p uòèšë +°Ò|ßeÀÍ) ÿÄþ€þÑ $˜ï°€<@€Y¼0‚û‡sTHM5÷èõÁ¾ý€Dñ`ãÆ#ÔFC –8Â9¼ÕÐõ[5kµx…<~$3¥ aÉ‚æ[oPø/´-²À?(ðg¯Xží,ô~Ê Éî= @Ôá [äþuÀKqZÖ?y¨zîÜËß8ý§X¿J|ÿÔŸ}EPŽd7¦®Ë +ŠýÕz"HÖ/é[) |Ÿm«< ±m|*HPé~„ï+ü7í¬iû#%©:Q±ëë+kuqNðýx¡Žù¾ùf ½ƒ•³Â@ûÎvtâþT|ç†2Y™¸*ög<¥š³¥Ôõ×XÁ#(ÕäÂ¥–ju¾bȃSìçaÿø…ÀY­U®`ý&¹¿éˆkþ¹!Óž’4þÅɉßM}ý :öbM3/ŸOé‚ëä_Ÿ—À€Ž‰)i5ؘڶɦ°Ã‘¥CÌZBèÓ³mH2€˜,Ÿw„û#ÜeÖ1¸¿å!ü”¥Už©IÜÿå?|ßÀ€ûkû;~øãKôˆˆ‹—j á?  Lw}çÛgOüÙi4utæÐïÃã$<Žð_õ¿=Üýƒã×"}u÷Ÿ•˜ï'ѱû~Úý™º H?é. •ê MÞÿãèî²JèÿQ7޽@ê"öçOQ€þ‡ ÷Ú2.¤3€zÈ< Àúû¶(ÕÁ¥ÿ(ˆÄ4}j—vÔ¥Žk—Ê ¤Ð@)í8L¢DûêŽs™Hœ29˜)±þöK‘½àåæ…X°Й$HÖ+ð^ J„ûó+½áKÊ4;dúLìÖ/aýñ&€¶Òæ `&Ö´)/PâûXös'¾‚dý¹5Y„ïë²K€’€Ó/½t [—jæþÏ€¬ßL!y XØø9|©\[XçfÝý•`ý8~Z0À xøO*àûhh×Èú¥ÚŽ»RPâãÑý)cçO’ÀF†o#É(ãB“ߢá1{tZê³R{ó|„#š˜ÆÉ3ëgæÉü«áíZÕC5M-K¿;P™("`•}e×äÇj:>ãÂ÷á?ÿ%WȺ²kjÊò®¬½¶:ª¹ué‚_Y€Ø²{ߤHum>Rò×8¸¢’k¯‘»ãÂy¸¿ . õÿ Y¿2ïÔ¡oAŠýeîÏšÀÙ?XP&À÷_>z‚ø~-8ÿ·¯Ç“_våCJ©Á›ù©—ξô7¯Ä©m° ã^úOçб3hï‘#Cãë·Œ¡ü¦2Z¿-vvS!\)ï›ÊtçPþrÛòLi‚rp×ð@‰vD˜>åàÄÁ ãEÍ;B‡þ®ƒT°þÁÏÙ4v ßRM„®Ò®)Ò‚êxå(Á¾•(Ý£3À”…m{„*VkëÎá³”+?]B:%¾¯9é*ùàßž pÿhvuAÂÊù_¹ ›Qaë8bÊþí…‘‰¾áq•½›¶³\•à-sOlPÑú õ¬ÿŽpþcÇÞ¶OÕþ—} ðC¤•CÇ&+m/F…HϱÒ!jm”@/Ũ±Ê†¨h Ó«A«M3R'¸B%¦±TÔË<¼ÍÅvQskÇFëGkÏ}ëênUÏUìc2þn•Í5¹VåÚ +÷ÙéGÊþÁõíÍ·¤µ²w™«íŽ¥d üJy4S(¶"*#÷£'ž¤T¿ÍxuØ*ÝÍãÕØ¥3}´ŠÎýçÐùÿúÍ ?8#½ùætþ»§Ñ…WÏüð‡ç/ýÃE”Àô=tágÑk?x]þ§‹L?¹d7oëE£ÑÐVBûÜè#öbôG¤±ÝÈŠöÑö]ƒ¦êb2T™(ìêW©ÓŒ‰ÿ†3œa¯il ¡ì赋twônÛU»6Ñ~âSªñ¡áÎUÑ]3aWúžöï ‘;fM¸ ŽÄäù?Zº¤âÁ/ÒJ«„f“nZðÆ{Ÿò´\?˯¨hb4úHjÏ4¡ŽÍ®ìÇïv5¶4£EKЂ_YXÓ‚šæ§õžhÞÿÒ0ÿLmË;J;ÆÔþ…´áä!Z#„Íd» Ùþ¶}·š’?˜Y±°øÙŽ\߇{;Þ])Ì“¦H¶Í;ûDБy3;æÚ3ïÅ/Ì{éߘƒÎÙîé¥D~v×ìþ« ÐÌþfÊs_ªA¦Q@ÆÌþÚßEiX¦û?~f +Yï¥x‰iŒíîÇú)Qp|c@ÐÀÐÖ>ÅÂ–ŠªeÉPÞÙG‰ïÇË4wÔÜ<¸s|ž)Ù#¦àþì`®EkNÞÊŽ–/£0[“v®šGh¶†r¤çÿÕZ‹Lße3<`Vº0izJÅÑý-ê‹óÁÏSú`Þ/Ì ²W&Ò˜9úgïú…w×I#ß=?jþ{ìevïûÞõ.¹ÿôó§IŒ lÕx½od‡OØ,Àñ9+”ü5¬_ÈÜ<¿ßxÌ„ïc÷”Æ€Tdýß&€'¬"¼ø¥†K_O¬_Âú™L½@a îO‰û×0óï_Šöuø£½¿?ƒÒ—`Êú%|ߥØ?¸ÿ?P™Ö/@‚ ;ì$­0 ÷—°~’Œ8 „û[ìÿ¹ƒ– +0M"€’‰ñ}/öð_ðÞ7}æOéêi ¼oZy€=Ëá³Û`€¥³àWáþü/ÂÊÌ' +rÿ4ÈXœ'¬ƒ'JY?›«´û€þnýIÅþ²@à*ª˜2ŠÆAøO…CN9­P‡±*”Ÿ:\™ÌÚ´:|Bt~hG¦´ñ•uù:4ܸ@¾ïIÊ4dý’YÞL‰ãþ³\ ¸ÑÆPQìš[âûH¶Ç÷‘€ï_úñ…+èJ ‚ï×@y@ŒýÕÕ)¨rÙ 0=`ß÷  z¢CøO`×GbýàOTðSêÁX r*X?Âô)€Y¿ ÅXk½ð¡c’dröF‘H€0qìö¡Ä‰j® ¨)þ‚ºF¬?Ü« ©{ j$”Ì\w…Jˆ´ÂL©¦åýNÊ´hýÑ‚Š7Bê +ÿg¼û_̯É]üÝóß•ÖÓw½{þ5ÊðýÚ¯“6Ü_`=k ûˆzØžºH4qÚ,”Óè/“ Á»ßåI¾/˜Pâûgy:Âߟ˜•ÈèÉ,ðÉ’ MmZ€ï×P=jã×àîÿŸ^»xö¿|ï©?{¡rär—7½H¬çgËîo©À¶q¹?©À\àþêB +ÿñ}õQÁý%HÀ"4¤. JÂɼ2ˆ)¬ÿ'æ¡ ¨´Ë®¡ÔÉX³`c€u¬×@€Åþ¤)T(‘Âÿ˜ÌÉTzÿNÖØw-|ßV 0@ÖßQ6mÇ÷‰ý|ð­€ûó­Ü Ê?v÷œ¸'Nr ð~œ«!ÚÈp¼Í=°ã92U—S„1Öó#¸ÿÜ dïÉ( õ3Ò3œ:·¦‘  ­½$€ë'öÇýµ¸t„ïËý‘“ƒ<@?”0àĉ'ë­_ +<üÌúÿë7î¯È&·~é§—"f@¥º€„Y¿ºt°ûèþûʲTPŒŽ€‡“ÁYbÀ®Tç9ûNó} ‘0 ð}P ¯/Ǽ´Ç)}‡¦Å²Šxýl¨â˜¿šŠK˲ñ7$­Ëú˜ƒ…Æ©åR-3×ü™ìÿV$Áþ5)ß7ññ]¿ð.Öïo´Æ÷„û‹Èþo@èä1ôRÚ^ó³îÁýlJm 2¥@ ÐS?Õ ¤‡9ãþv68¸?¥erv<=ÉÀé‰hô5P‰0’ àÏ÷ÝOl>ûôû"}õÄ¥Ëo½ðíWÐô³'wéXéÑ) …@;»±Ò·e¢¼Zv?ò»_|t*¿£Zzô¢R94]þüáÒžƒVŒM·TÐÀö Ô¿uœ‘øþ`e\ãû‡G¡Âʵ…¶™ÊãÇšÛÛ`C6_¸{]ɽÿ‘½ÈÌŽ?¸?ž®^ ù;cbçO&Ðx7°ÓÂdJÅûø>ŠíöŒãÂTà³ +þ{ü©›ï“™#Ë2‡Ç°ã¶ÙÞ¡Šd]ÿ)õ~vT"- 6fp¤+¿ž¥P¶Ü‘ev»ïp)çHÝP•ú†Æ\0£gÝ`ç=½¨8®âÌZáÁÝ¡+,<ÉvXﺆ4 ª>1³ù‘¡âfW“­x”FkPR -R¡%°É”Æa«Ôl»`ƒÊ¡‘n©¸ÑîÉjëXŒ:³7éiÆA­®æ–†•=­™&*zÇSó-VYÙÛŠòVi»µuÞi•ÖŽ¥77H²þÎ첞Õ-k×Û •¾u5õoh“Ú–/œ:üˆ?úûâÅóè'?¹ˆiÇk4üŸýì'o ÀðÚßž½ðêDåÍx£æøéÁG¢Ù÷¸¦ž¨°õFwÛ5-fá±ïÑ‘“çaÛv¯–¶W-ðg<åèx¦ RØæn.oo +ý*€a{u­dçNu†v;ó´g„#*þ¬y*š3±J°–N¥¸9I³­[í!*yæÓ¸ËûÎ+n ª¼”§#ÿ­)‰!Xgàµ3À”sÕ€˜ÿà‚c b2×±ož]],Y/Ììa–Ñ]q¤«ž ×¼çšïY ]ó‹×¼ë_˜×ÇòÝïr…ÚÐ~G×Ì_ŸŸ|ú$:üo_¨>X&]“©ì¶}䛽àûÈöBØòÈڃΚTˆ&3ýŸxŸëÀÀ¼#›æQÛó€øî—ó^xlÞ7Â# O?6ï ÙÀVùóc:<èÙùg¾4ÿØ–ù'ló¼—§¢Ý¿zÌôÊ“V^xvþôŽÅˆÊñ/,:ÿô¼±J+š—6SÅ’N>j§[î/`ýÁý'±þÊï>)¤€ûKFDZ~€R4ôˆ±A „Ë÷G¸?ÖOEP/Pºb^ÿ9ëŠ]@ !ùþö=” +ö-| c{ƒ ÑŽGì¦*|_“YìáÀú]kŠvaÏŠ,¿úÁ1d•á1›ò³£ò}—¬_%‹ðeù™géŠÀýYC0ØÐ€û ÚJñ¹ÍKntf8`èÑÚùäÇÄJ7qSèOPPI¤E:B=2cá6÷1B*1Š4ë°~µûÁá®4p¤'Þàï­mÂýÍîò… ¥À¦”1 óî&¤«}òº=xu %¾Ÿû䲨5ÍXaã-”+?ÑxE¼ùæÜ_øŸ©ˆÀë?<ñÇ^ûá÷.þýkçÿëˈÊ;ॿ:1ñ…› óúàTÄDÝ<ÂN†>ëñ ›( €d€:ydåü$‡ûW÷ùJ#©Èý±i%‹“õÄù„…FÂâ·u‹ø>ûZL\>î°J¸»ÐÜ?ÀÇãþÌ\A=³e=ù­*0 b Ü‚X½Á䑜F‚$3³º¦ŽŸ¾°uÂy·xé•´¢ïÿâük~iù~2àûïþïŽ +Cç8þ±çÏàûš ò?ÛaãSš’;é,¶¿µ„àþÒ¦ ͹åó€j!€Rˆ Øàˆ% Á“&Ã@€¹ÿ€3ë—û §¿Tšs¹«ë—dý0€$ÀÝÉý)'Ÿ˜Á÷ù¥€Û"€‹)üp’äP@ì?ø>øËÜQZg‰dý¶ÜÙáá¡1•¤> ÿI˜>0ÀÐÖ£‚ï#ÂJ¹¿^áb?YB’€£Âg·ñßîï)Ï•=h ìî_xȶ›2 ‡X(`b`èÑp\o†Ù¶[îoO’ˆø¾3ÀÜ”t)pÀ{ŸÇ›¨` 4IøŠ_™‰$ÐÅ£jô K¯GL^¾ïFß°dÝ1ÐÑÙ$Y°.ã’õKX¿+ÛÛ(÷WÀ¢ ð Ôe)ÄÛ\Ôá©$ß¾¯gH |߬_Ãlœ<5-ÉÙ%|¤ÀH•ª ßn¦ O(Ý5‚0“õù÷G¤ìÛ)ašZø ÅÙ÷q²Æ€’–`%¾ÏZÉÄãó‘R·"HÀ€wèS‰±¿Îý2ß‚ +î8ÁýM!zPàîÏ‚h¢rưh4ñÅÃõøÅkjzÛx¿N×\»À|ÿ—èê €`‡!ÁÝ?@’‘Z2Ãæ{€»¿Tyt¨.@ÚïÚ lv±\J޲èþ¨2š(±~—=nWdÖ/˜’÷A’àûê‚÷GTäþî{ŠP€t f@Ö¿ûKÇUŸ86ò»_FÊ\²~Dàá?‘>F&#F²~€pÿ¹¨ëTÇÓÍû‹W¤oN—ZgÆhÆãûÈâbò€Ô‰_ÅþïØ˜!|_ @ŠýUgÎX¿=Húõå7YçKihj¦ÂœO$ üÃáL X=Üß΋„$ßg D „.îiÕuÅ$ Äþb€2%è%çõ@srjšª$?R-{PkÖuÍjôÊêàFߨT“ÆtdšP¦« ê’z>Þî’õ+Pì¯$ ¹?*nnã8¼bàá:ûkø¾º€¬è‡ßó^ àÌË'ÑñGPu é¿Kî¶HÖïðñr·fŒ`Ûn#AÚýÕù£<À;xwtJÀ”€JÍÙÍÜã‚, H¨c•0M¦åªÄýíªù‰¢ Æ` #„ÿ¬>®HßÜ?É"”ûVçO”õólüfëoT ÎVÌ0°Ë’Ò{hOÒ4 r 0Ã5ךõ«L Á½Þs|?^*ß PÿO”»?J©ñ̪ýŽ.Üÿm ëwÔÇ!öQ²ñk9wnà¡,@„ÿ0€ À0€À7ª5ÉýÉ(sÿãóÿ•XGP€tpþH ”³€ÃVJ8~Á ×ÂÿÒ¾ÃùÑÉõãÓ”M#3—]S¥½‡•êÁÊ¡iDepç^„‹Q–vï­ìŸ*?z€ÊàŽ=.!¡oãpó­måCÇ2÷ärŸ¢‚Štk£dqò}Ó£‡ÑúÝ‘ìmøœuý ”åp½ý£ñý[wã¤ÛÉBìÎ[Fêé ¬¡*}›Ç˜ÅûrS—i&2èÜðXs{¦¸o:so¿®=»m<—<Þ§wÓ¨ë¶îÕ¨áæ¶ÜÆÍG*lÙƒT·Óæ#´ë%[=´õ–Qßý€s +5/Ïf ƒZ›"¿¹ZÚ3…Öo·®-{Œ]|¦)iPTÿNÛPºjàs–® ïÿ2”-sh%¢ J:ج9†s¹ŠÝt ûNY +Oð“]6}à÷`ùLËm1®ïênjlZ 5·/lï\œëm3­iÖÛÞ)1ñÝˤ®UMR÷½ËôXP=®çÞ¦ÞO.£´Û€1ý|ËÚþ› ·¹´©Ø[È |¡ •†{×oè*–²RnMÛÈÎõ§_<)=wÆ•îºÑý+èå³§N¿8SÓ·NýãÃÒ8MorCx2Z¦¸±ÙÍÕÏJÕ{oCT™(ºø8y¤‚¨¸#7}¤ˆXÒ·WÐîµ5í+ºªûò®ÝŸßà²Å%b¦5>fž¿‹R§dm×§›AâÔÝÚïÚõ4oB”X<"ä¤ •˜mùUÒ´–%Ç—4©2Q™<~R*7¾T ÿ®8\ûK ®{ïû$ùþµ ®»æ=×ò•ã!=ˆiÅi~¡¦†58vB{â´÷é>ºÚ¬·mr´¼sm8Åb¥GNlgv7(ëR …lÌX¯”hËÜ:¯ï㋆hE†þ%:¶ÅÎL×Þ |"¹UzÔD*ðâïB‚hú‰<šÙo&`üÙ#Öqd}G â‰ùè“×Lm\_“9}daå4ßzì02LLÂSõ©¬ß®½ÙgAeœHø= ˜ËȬwäî/ ¹ˆÖ/¥ ÷ÿ &}TvdÞ®ôü}äØçG(ë€ê*Ñú¥àûjEø¾6Á>¾oa~`€þ]d€Â‹»¬rLdýb€Þé pÙ5BšËSâþ'6>sx9¥7 1ë7÷?bûS™®.”œE ÄKY  @Ö/UŸ–`¾`"úV ÜýdgvÅz”€U +EOÜý‘lÇ´< ÿ¾Ïx`$HuOû×@¿*ˆ‘û“ßLj½S¨¦ÜŸ +Žì¦ì(&7”¡l¡¨ @Е?È8±9œv!Rì~¨<@ÖÀš„ÿuÀ÷qÀÖ@ºþÕvJÈT²§ÄàÖ°m÷j¬_ ä˜¤™Ê tÀ«@±?²XÃMÎ%\ „ÿ±¿ ÷'@ÑúÃ; Ýý!¾ïÀ÷• ’€â@ë—HÖ/ ¨¼ãj½‹?…õ#*e5mjsé_K:\%ÏÞRéñl14ùÅ1Ê:L<>&MþÞ¸&«W +îþhòñ”€´zoM¿ÿ{hüÀˆ)„ÿû¿45}üäá™S.ù¾„û›¿'y¢ HÖÂGö8ÿH»>ZhBêåp€Ñ{~´·º ø¾6¾`äsCã”û¿=<Ò—Ý»õ3ÞŒüí‡9ñA°!qÿ¶Îì™\N ¦ÐI5ñÅÈÀ¥@0Qê[=»ëWà@Àä„âºÆÑÁˆ2%ÈŸpy]*а~bå€pr—…ÿÊpÿg*×J³2ü[W ~÷W·¶Â4ö­zB 0“ àû’º€ÔÿƒÞ¨® ( ÌÝ…ïkqTþ{`„J"õ¥àþ.׫âò†="\Ĭ$2Åþ€º€äËrÿÒŽI$GuЕ?’f¨< öÿ -ÕÞÁ²@½@”€$ët®"é: üà É|?a@8zÃ…%Ó¾¢3€#Pý¿”¸¿¨á˜g2…ÿ0À[³ 0 ”i¨ÿGI¿º€¨Öÿ€„=Ü_ιÿÚþŽðÃf€ÂT-âûH}ôøþïýÁ¤$÷—Þ>xê ïÿA‡ÿpïÌó3ˆÊ±¯Ï¸¦Ÿ>pò›'¥cÏŸ<üÕÔhæÅÓWÑ™+ë›)}ë¬ëØó§]Ó'fjzöXJ|ŒšJé蟜rMŸà牎Ÿt¥€—9dý0@'{‘ñ‘&¡.ɸ$é6<ØE€Ò0=ØåÂ÷G'JÕCU„ï›õ«o= ÿç`Áu×ËèÓR¼ÿsY¿†·@d@âþÓ/žu÷GÄþcO‰¦ŽLV'Ëhûèx!ðÔßÙ'´+õ7w!@"ö‡€¬øCqJ7z¤ À ´€Š0r÷¯ïQ¶$3EÔqÒÞxŽòABcJ{ÁÀÔÀ#“hø1«”™Öo/=²×5P™@ò}¤E¸Ûàžƒz*•Þe%Ïê?€ÌÔd‚ƒ†öéÛÅ?ZI­-®:ÎÈaýrI{ +ж½’ÙzÅî- ÔiX¼›2º0%Öž¶“Iºlºmy¶´º÷JqbŠÒ´i4·±,õ=P‘`´våº?S¦’ß¶·¸Óºh(Ym¼[ê{h¼P™ 4Šl,¯-?"å‡Q¦7Oi¯+è¿ÃB¯ô‡—ø©òþpƒXº2°+n4&fcêOUM•;8´}­DBëíë)ï"r‰‘¾û©EŽ ; bNž6lÏž\Mšr6Wh·ýöbÐ?˜iÏ4 Ž;nìÌ6Jöâ—\sTòöó {$œÔ?ÉáõAú¶p_'*nÌ¡Í[óV Ѩ޻ÉÄ3þˆú¸Ðøcå©ã']zN*ÚP/¥üàÚò®Š«²Ê¥‹® }5ÁûÜú!ß“Ƽƒª.ÝE™H—“IÙuWV¦·(Ýv!”DR¶·(e>Ö›ßÑÓ‹hÌ”>²é7ZJ[ŠÇ^®ý‹Aÿ—¥Ïœ~ñó’ñÉÈpÿòþ)1 Ü_bÊ¡G©Dèiš`€ñX9«¤‚ +±[F1x`€w¥`Ý?í¨¹Ó× sWëoøPs»Í_›ºûoªÔÜŸY +*;zVI†.2{¾û+Ü!¬[.Jm7íSF÷”X¿ÜŸR¶"}ÜŸð$F(êÖÍÃÁý­3×. 2莫ÀÝßÜ<× "jîjÀ÷a€´ykŸTÝW«qJÄQ!3‚*ºr 9¦Ÿ5ßo½£K¢¨kuérÞD9WK¦ËÕÜž©Éådêê+h>Òm]=¨¡©µ,_ÞØ€oms5|¨ÑµðÆšÒã,\èš؆¹E¥†ôoon®SóG;L·¶µeº•æÛ;Y[JÖ6ý[5,i}õ9*‰õën€Nêjƒ‡Ëââ£FFÒ<”Èúeau¾/ON›~ZW@×'õP^*ì ÙÅ<¿¯î¯¹?#“ëv|ˆóÌÞõ.»Þ¿n°é“JmHºƒLɰð††ùïY°ô_·I­Ë;Qaó(¨T‘À5ùÄ“X?²ãeS³ÜŸJishÌ4iµê¤SÈ0€ûë¡âî~¿ùþá¡w#÷ŸÞ¼€Ê4Ž/÷ÀúÕe$ëGÕÞyùÙÓ‡D˜Ï†$Ïõ˜ ” Î0’R(ø2’û“+PI÷Gžx”T1 rt¦rô¤€•Ab€\,™]òÏZ(mk’œûMBh呞ÁH›I°~,>õ, . ¾ ìq°†²~J0€ïSì ›í½¾ÀÐýÉ"á?bÄ¢í mÀ¾oÖ¯$ ¼Ö 4ð}¤Ž8€´þüýèþTÂãí"økÉ3‚€6šm7veõ€T=4 pÃÀ¨õûSÂÕÊjáÈ” @ñ Ü?2àêÀâ#r͹¾Û„:ôfGv–ÿÛ¥W0J“‡ŒÂ+ÉÒ•pœ¸<ü¿(ç`åš~`õà̱°iTîßÕ[p÷§Ìܳ1J€$ÀŒuùŠžuƒÂÁ5Ö¯X¾­3‹¨´tdîO)û¾­³‹²©µ áþ”Í­X?¥Unløpk»Ðxó-r*úíMÍPšã·g¼D·Ý¹R ö7÷§rO^P…gkhÁbÜ8Bã}Pnê£}Hþìc+0iDë¨'_ìÄ÷evhòéÓ)Õ[‰|ü@ϧ\mwt¹ü• €¬¿€Ä ñzݽ%Q×4x:ŽÿóÑæ5¸û£ôðžÚÓ#ÒƒÞñ±êúx¯Â n"ë)zâɉÇ÷¢¹À¬öœœ@þHÈô6£ò`òðàþ®4pÿ:Úx]=Ìgu +1qUÅ×ø,ÖŒ È*³‹ àþ@~SeýÖq1@îO@…ñu]@u°¾ T \$2 ¸^F­_J.em1AÜCˆ‘ûK5÷Ç|Ã+¬þˆM P1ëO’€û‡< €ìÚ€Šl]À÷ H ¸Ëúê@ dý˜þ…0€õ³&Ê$€Lo¥€Ø;±®Ø?u·„¬ŸŠRû&ÖÖÃ÷™¿J|¿Æ€Ñn‰ À‚¸äØTÊú•pœGƒ]@ÖSt% @Ç7¶µ/Dø~¾”›· +÷uQV÷•ñýÉÇ'¥¹Hò ÿ)ë ÷G:T4 û§§ó,˜ €ì½ø¾JSÿÐ&P¬_’ûÿ¯@î/ Ö/9$Y¿„ûK€KdúRŒý?Úþ#uiUm=ƒûg EÄxOÒJn£BàŸîû­¤ ÎFÒxð}){OÛäÑg¤éçÏãû!ö·Rý?ÅÑ2ÊQã­ä]:(ÚkÂxâàîâýAþ BÈ~šÄþÒ?sÐâð¿I{ + "ÃáO"uNJ“OLIãFhÌqkÏÀøÃ·¹dýÂ@vÅ‚á5×xbÿhrÀ€Œ¡ó÷§‚ûÏjT¦«‹€zæ ?ö{˜ÅÐÞÃæ&³®µŸúüaÜ™ +†²>\`ƒŠãñ™<òß0F«ºØßNöŽM 2Ù5¹a»]J9¸{Ý£S¾mwe;×û¬P2Ÿlÿ -=ˆÚ¢÷…“ ÁÊae¬¡]xŠ)Ø:|î n F|¥Ô >zÅ9Ld†„Քغ[|_¸þ‡2g—U%{BC8!lHØ©Ëí'W µßÕSÞ,7XFÅÊdúj¢ÞÏŽG'Ûºs]Ÿh¾£ÙÉ€]æþ¨oëž qÄ‚(Y‘ÀÖd«=9÷ßTÝÏöo›XYFl™f’mê=Së ')“ 5°ë ž Šônd½G¯Ç ñ=9Ê Ö““í9@ždÀضª¼³ Ñ@ufÏú‚vÅwê˜w ‡{†Cͤte§väo^˜/vTöåËY{üŠØ±ShGºàotWÓŸ(Mî¯ *62‡±R§%ìI…E³3’ÚS·jw·Ùyˆ°b‡ÿøOg¾uqê陿Û:¤ì½ýhùÊ^Ê®>S÷§Pn „TÏo,câ½C”Ùüú\‰cýØåŠ\j[žé¸»/Ó[´2éCG+sRûY¦i_ÑÕqW7⛶ή¶;»©´´wܲ¼Q±¯–gZ>ÚÒ›Zn¡\zs‹¬¼©¥uÙ­íõTcp%M˘€’‹›\ú jn»MbέË+CD¥'Jut÷p¬uÝ›'7E¹u¥ö®,âï³èò®ê±ožÅ‰ªy˜\ ù!ëýKúϦÖv–ú‡û$;K?0Y«OŸD#‡¢êq«èØAéÙ5ÅŽîÞ–ßîB‹?ØtCÃRåu !ÜŸ’\çº÷¾x_{ÝuØì5ï¹6^Ëÿžïù—&*vs﵉ÿþbrwXúÔ.<¸Ê 3½?’{H2Þ†k4„;Ë´ªK×.XpM•×]˜`]|‹ÿÕ2ÔÚÑ™íÍ÷~fX)>ª>}Ú5ýü™‘‡¥ÊËCRi4ï*fÇö#»óñlvM³Tè_6^iAÇo›ØtÃÌŽÒ3_ã:½kþ“æñOÏÏ´/œ9Ò¶·² j HÜŸŠ»?eÉm»ÍÊü7<AÜ{Üý)׎ V æ z\bjHˆe8ë äC¤JnëHÏ„à‡TÒôÞ$F'(­‚#wÔPœ0ëG,Bgh PM·Àý³Åa@,¶O a@}Aæþc{åþ”ö`¥1@‡’ÿ"÷ç[6»îÍîßq€ßו?¬ž[?Í”úHþÄÆ‰ÙÀc_Á`§‚’ë:<Ü Ç¹*õπܟRÈd?ì@T6?¼ +)'ÀúÊ‘y¬ŸRsCE{¯·]OÅc÷Æ€Ú9±p³k¸ñUphê€ÒõK¸?–í (±~€×wÄ€“|_jÿny=¢‚äþ>2÷–g°~Ì÷w,»¥áþ8{Ršããþ¥ÆZŒÓ¿añR×1 V¯Áý%÷7 pJ•’Ý»dî¯Ó¾mñ¾¶³ésCÚÔhä± É:s& +T4ÈŽÖaÜ_9YcS3ÞûþÄ*ªÖÏpàþ5ñƒ «@ƒ9ûÕa ¯f Lt†+àÚ_Ž 4h0 •å0ÜÒÑ)ÙmF¼£“€ðý)rÙ ±»%À5R]ïÒëí$è/| ç÷ÏC¬_Ú°vñ,Äð_ý Z¤ €€°~2süßO%H^,ë/OLRæ·T°~tÿ—nb€Àobg­’SÓtÖ_>4 XDÙ.÷$oR]Uú! ®Øþi2`H" Ì€)€]¼Ÿü–V‹õä À…õû —4Êý~H)ÈýmŒÎè‚ÎD÷GmÝù: Œ›ß·k=b†z7K¤¬“ÎHÊÊD x pY°Îø©¢þ_Êô3åq^ S¸" ÉúKL[¿‹ ÀÃ| õ‰ Hˆß¦º} É:0‡ñ/Œ] 2>¬ï€p%È|?¿>?PNg†Þ¢YÿË­´‹p„¬Ÿ 祔ш÷C@‰çøcý7·!@Pîï0g—]¶ØYe9~š’z„p+omó$@á?¢’¹'Wc@€tExÀ^@rÿôÎB`Vo~%©¾tj­{] i[ÕÜ?€$ æ76`ý’¹ãÂ…é Ç„©2d÷yÔ05?ÊÊ Òš=ÈîÓ•ôP ׆a–éÿr­2+û«œ nl” AOqy ÷§rìù󇞚‘þKø>I¢¢ð÷7 t·!@™½§atàz$x ëû«$ë÷î¿°k @s»€pgŒXP€ï ¤»€®€|9Üî”±P”ÎÒrÿáàçjá?|_½@¤Ùz0e˜uþPêò!¹¿%¡ÿ‡’ @±?î@©ÎßÇý½ È@ì¯00Ü?§÷÷§â]@u ÐÆÑV²]²~ êrׯ ߇¤$€Ã[ÀôåþJ*Eg€M3p¤ ðYΑò‘Øù“+ëWé4²µ +ÖãÐ`ýLŸîÒ¬äþu°37 äø .Ȭ<@y€÷ÿ˜§÷w¨ÛG@Éd0@²Ø…<@Ö/¹û£†¦f )ŠOgc_µ´þ ؽw1»dI@X ++8ÄRõÿ8€J úø—‡¶t)üO€ €mËFfS[E·k¥¬õ÷© ‹ ˆWU±‰ÒHg’ y€û[GÐüùrLei¸Ì÷1ú:˜’ä@¾ï•Ÿ{ˆHü*Ì_î|=±û_¶WϪ¤c¬_z' ¿„ `ý(Û›ÄþdTtçÁÞ#‡‘ž5¢ @ˆý%\Ån‹ý)Q¦}a >w@FÑ”—ެß}@‘¸¼Ø|§jÆÚ¿sï@•ÒBN*ë­W[9H¥¸¥¢ç¾Ivç—úÈÞ ;÷P¢ жBùñc´†ü–q[t"uVHæ×3x4±0Ö +룞Cî§ŸPљ͸ø‰ÿ<Æàº@sÛxèüï{pŒ¶+g¹˜>Í·¸ÓÞe¿ò“ƒý[÷`+”}ÉͨwØTœ˜æ0Àµµ QnK5_Ù+)Z—e¶îéÇ©·Š1vU’fU1õ ±&¬j¡l!¢ØÍŒ*òO÷‡‹SAErh('õÚdÄÇpuP¨DZ$_ÅûÅJÕðº±*?,—¶Yï?¥Þ cÅpÓ/Çì«p™ éI±< ¡iØR,¾esÄLò€¹mÕÂÈξ²è+?”ÿˆUt*,üܺ›tyb¨„{J·u[Òh>žxüúÙégOÊQÛ]Ù5Ź꺷 ™!Š.¾j¿k•„¡£ÛîèBÆ¿‚è®ì-wt!*­+ºÚ üïê¦Òšéjïê–¨ó[hm¾½3 +wí(ÞWç>Rÿ¾2Åþ1ü7…. ›Z–4Þ°d颗Թ?ºñCˆ‰™?·d²’Öh±&Ù|?RÆ“Y“o¾5ƒÚïÎUMÙƒŽgNRÚÞ·=GÅvŸ+ìÄí™|z&íû•'f\&4ûÜÆ‘Lo?‡Rï¦í([(õ|²uæzÙVÄO­¿6­mKùïMË–|¨ÉþWÃÒE¿ÿ×{ÝpÝ{Ix.±ÿu¿ò^e>\ûËï•®ù¥ë<—G›MÿÒu^ÿç( ” ¨ÿÚ_¾]÷«‹zö£Ræ~5Å_ÍùÞ÷Ý€ôZtãbÄ •†¥Íͺm ²éJªêÓ3.ßã_|fâ‰ãVyüÉÊþ©‘=eí2;‚R]FƒõÆg®š3w5¬-¶—·÷!¨àûrJ³Ýp2ÖLÓ|ÿ¢"÷ÌGöØåù”zÞ§ßÛžýðˆ= «€Ø™kH ´Ñ„À"÷ɽ±‚ûÃCQyŒ-ßµºר€KÿBÿHйÛ,µËCkpHðqýÎ1³þê^*XyçêX†ˆOp÷GŒׇ˜ËÓ¶äþ@tŠ”ûS²Fj…SGâÉÞ0¾'Æõên +—fVXOe_*€í{Ø Lo×E7eÄñ{TÂaàm€¡gîî”îþ™îÞšû'èÊõ¡4dýÂ@´~è~[GËí+Ÿ¸¿¦I»¿ÃÀ°<›€‡ù‡èžRîÏH”&¦K- €i à›È`ji[öÑå’¯3 X¾ª ëo½#‹Ò(mÎ`ý’v–”X¿MgìKÇñ}{מ)4¬_ ”û÷ ”€ü@éí ‘À‚ä‹äþ‰®Gi÷7(И8>M…ŸCÑñ¯ù¥kQ­’­•D׿ÿ†šÞW/ùûõ ceÑûcôª×IT˜ÖOÐàÒueÂÀ€€`:jŸš¢ÜÿÔŸŽÆÛ&AY6¤ aý$’ÌTlp÷Ç ƒïWKû¦„ÿÈC~Ç€R¼Ìåè{€`¡Ü? …ó”DԻ˛ÂÕîLƒéM¬_0<H]Ý$»´éCà’û“˜ÂS"='n§%Öù³sR @,Å[Ö(WnI H¾2³{ë¨ Ú¾—Ø_IóQ` +îU0…ÖÎlÿ‘‡ùAfýII…}$šáû’å!öÇýqjÅò*eýEÝì.øÁp)1€ÉÄcFè&ŠÞb)þr˼{G· Ùó¥wååþ„ÿTªû‹X¿øá„ÀÓàƒ]W@O¾ +ÊqSw.­]ÉH¬_r÷w„ð¿=v(?ÅúaŽæPPÇÛkžèJÍ[Ûäìòz…ÿ’ì^ðiÀ’€pY¡àŽi•- ¨€g’¬ÿ€”Ä=¸%:|Üýgð}ióÁ'Ýý30µ·ë§%#¬_Jg¨¸:Ð?.|ë_¸pa¨\ÿÞ…‹„Ï‚"‚®†ä„)É\Édf÷×þòu’@Eî]X msÛì!Zû¯-®“0€ï»é§ã}É1ÀWNeÀ[¸¤A™ž<*VªW@Ä@€\e“—#bçO°p>t’«'Õÿ“ȬŸ#óð¥Y„ÿv@Ò TfëÀ¶¢Ëƒ07§a òzI6§œ äîø;r$ÓÔÏ ÿÍ—Å€Ðù#è©AÈÚt€zÔù#áÚnÜʼni$ ÔÜ?À%ˆø¾‹E(“°¹…Ή͎„0ÿæ L\Ú?- Øßw&±¿mŠä?Ž'ÉŒAø¾]Ö5ZV ÁY¿¤. ø´Â¤ËÄØ?N¡>úØù À@£EÀH¼w×ú°EÜáþÈÿÐÿÃo­§(0À*;r +ÿƒlM´J€¹ÿœ. „ã`úm¿ÝÕÜ’T–gp¥Ø„ÿØ®Œ‡Åúoºµ +Ö¯™àìçˆÛxSKó­e(Ý$Ç—ûGë†.ë—py—w ,HÓGë§¶Áý#RÝ&æÏÄfýáýÕÙ;iAJší¡Lgêz› `v_ÿ,`ýºÇE3€)q`ÉÄÿ‘þ %ªPG9Àý%ËfÑÖù. /[®ý¥7„ŠGɯTIÏSs°Ž{¹\T ë—dúWø˜tîÿ!Âë‘êNƨC XeÁ¹?ƒ5,iFÂ@iÇäøŸq$;«æþu˜::ír÷@ù€=ÜÍ?8)•«ÐÈ#¨ô¹©òþ/#*v|4Xm8O Ÿ² =9ß‹tB8~ v6Zð ‚ßmöž¼•6Z92C9°óÁØ} ï;ŒÆ"Âg[™Do ÀO€µEŸ©~EËôÅ JÉA);V~#` û6<0ÎÎÄŽîïµÈXìÖÓîG—8V~z€ ¦NŒTõr1ºòÓƒèÚ)gÙÙ` ·¬&ÍM7 Ùý_!tBlCÔ·±ÜyÏZ¼ ³ªO¦Ð{ÿhv]‰’µÕ™"ÖÁV£2á‚aêÑ2ª…¹Ùyìð ‰ÿ¢í/ùBÑÐçÆPq´ˆÌdÃ=>f¯áô/¤˜]¥,;– ÌÍÁwÙºhH]:»ìÖÐr¥yänƾU)g—¹§Aœ=öõû‹gQü–߆Óª°DÈQýÂØÔ3Ç}óüѯŸZ¸¤Q’J~ˆšÂƒ¢’»«B©áC|5ë LM¯½,¾±BXWOSk»ÄǦp½?¥ˆò‘–ßD~6¸©¥}YPÓÍ­(=Ÿ¥7YPOÉ_ih\fkþÁ&[çÐs‚ƒ`šÔÕ£ÒÔb' À†®Aj¿³u¬ì¡l[‘é \®Žî\Ëog*‡¦§¿~æàñSTJ£$m¦ÑÇÊ“©gÚH•/+퉗6Ø›”FªÅ-ÕÞ2êê-vüNk›ßXY¹f€9œTF$XÙ‚qÉÜ•Ó-iäC¬dÓoܶô#³¶|¢eˆ¿ðÆÅ2At=SÊžq¥÷WÚ¾•+È@Óãg)õ[…Þ±þ¾š€S¾ïý hQÃâëÝ”Kl„ò†_7nQ²þT-^¢:¢ÂGSèµ³Ô … 4>ý¿Òk¢%²h£`r•”-åƒKšU¶ÜÞÙµº_qê¬å$xúägN ©ã'÷{nòȩ̀O°¯§ž==ýüىÇQe¢bÐó¬’¸?V‹û¿ ø¾`•ýSÂvq0€ÒûëŠ ÐI`|biôÜ7,ëG„Àø¾BT@îOÉ*±D~k•àþZaÖùú¤ ¿ƒ×ËýcW@BÄÀج_`ý©˜câ¡Á"í·¬m0kâ—ÂÖ Ü‹Çy)åþˆƒÁݶíU”¤?‚8læ@bµup¦w­ù~ˆÎLí™ÜÀ¶§@…ú·N°ô̽y1 òÄLZÄ<ýÑFö/ì«6DE[L"Ro|¤®»=Qì´Qü"wið¡„¿C‚Áð†XJ3÷”õËýHœð¾¤œƒü±h&Ö¯l}’×ÏÊñ%€om‚=8 +›†¥òîÇ\£rËÛ]Ÿ~ ìÜ>áúô[]ß;€:{ûê Î®--mn•ŒñBO“¬?¸?$0ë ¸¹U°kc’™Ø|nj–ûÏ@ªÛ$ $´üV’ûgîÉQv¬ìάÁ|GH`búËSÏžq7{â8ÖÔ®dý(HîÚVä`ýb€Îµ¬XÕg w&'§C2b€c`ɇ›–~ÄÜß…u׺AÔÙ•`Ñ–ܰx)¥ìRÞMíæ.D…»ÌâøpÃįäå¹T|V²~Ò‚E¿fÏüÁˆÙ²c hIM²ø”­ *ùhT¸q‰úîì,ί›4Ùþ_¿îª­'YaVëWŠ/ÔD3 »¦Pß;ø>îoWyb€aà«5EÈOe²*þ |Äú+S $ÀÊp’@<˜¼ fÃvó}%Ö@€¢¥^ ž`—ž0¥MºPˆ…û«¢¥«³ˆJ +ó‘¬?2 A_g¾”°z¬§âeÙôªû†)d¬Œ ýÛµ­– âþHÿE7 :™Œû{?²$èèJÓáû®üCV€t®î¯1 tg±òÊìÖPö§ƒ!ë—øvUqQ‘û:Ò±?u³×T€FYm!|¸tÇzð+½JŒ[M|˯ìé`! à+|?º?Aý®¼8as—÷(¬§(@?Aîõé<@«$@@ºøÖ[§Ï]p /ö›«é¯ŸvÕøN””O˜,î|Aže‡7FܰPÞøáeX¶0 ëHõõ§`ÿ­*åþf‹7·j>Q!w©@áã2ÿ„ÿHî¯  myÖ“Y¿ Ø¿±¥Y@rJ|_Ú|èIdÅ–hýb€‡ÿ¤þüqJH€ï÷¬Ri—Ò®ê#ü·2\ ŠîïõKÑú“ €Ø˜™†*æÉý7n*êcIºŒLIø¬Š+ýÛYú5`å@‰õ/¶õaé æìiÉýåì*­…hL8{åiÁâ%jE°h[JXìÞ3_a ¥?(h­$e–Â@y_í¹{@)¥"ë¿ô´¼az°n‹ïW£$À#”ÀY¿¤_) Еþ8%Öï]@²~ ̆p¢4üÎè EzîŸÛRX +T¸¿@éŽï' $Y¿-‘ŸF1+¹¹*ø{ÅÛÿ©$Ó ›Up ½ˆE« H)‹ý‹Ôôɶ¡ÄF^»i›0 ÎÉÃÿz5ËÄÕ•/a +å}Óˆ¯?W‹¯­’t©’£’ß#M=n´`w¼^E§(Éš™¸³·€°þÁ‰C’žx£‡h¶ëw˜£E,…R&®o-O"}ÁÙ‹ã_P ®5‡Oú›öwôC…‰Ygk¬ßÜŸ¶¾©‚ +…»vGìõªu›2Ýyl·kMaË%šoû´»ºïF­w†[À7ï^?¤‡ŽE…Sshei=+öè’J,¾n(ËÙ[Ã*«‡¶QöÞ?¢­·z“}´•yp,¤Õõ• I»¬=ÛC¢Ò¿}ÒÎýÚmÃÈNª&ÒÖè Ojloë\Û¯ìÙ¢êãSCŸÛ«Øß,8)ã˜`¾2\ë²ï¿F•]¹‘v¹z8¥†®Iä@vÆ8y¼0ŠDÙ^&ž\ZªEëf4>æ$ËE’4‚ +H@“_>8}ê%<ºçÓƒŠ9NÚ»ºûË£Õ'ŽÍòý¯Ÿvù=÷Há0âhÑü<øG'*v\=k¯,GÕ#Gó7á}È/%l[щq¸¬WÇ•:Pµ†RSs b&”|µøÃMȧ¤ŽY,þP“É >²÷e¦ˆ¤¥Ãž<È)[ïìÚWötÜÝ‹h´Öt»ÝŽÐñ±Üæ=‡Ô306õ¤þ)ª|ñ¨¬¿ððê]?¼zpQÑ­sÌ„²g}IêüD¾óãf˜(SÑ·RWxšž”éÍÓVµnPŠ­³Ü:%ÿéGLŒ¤4,^ +5ÕÄŸ•]Fýºé†_'ĶÒ$/V'IºÏ=­`ÓnÙ®ôü0!*i1BŽ"Œå¿Áâ}&ª»ôíܯ¨»|Œ÷¾&ÚsãH¤N$âÜpCÃ’Å\Š›ì›…É.?wÐnÁ ‘uœ X0PÊÍe£Š1Í‘+8é8.‰sQÊú)‘¥Àd¹Ë7/&@…ÿH˜+|“ÞUµuÆí¿Ìfb5´J&wÂç‡Æ£3H6ŸCvQ&îO…¯p ßì*Ã@W¢áRÊúWö±Mä×zC@qYážÉh90À%`ýb@Œ×<9®PåèI›®êz’õ#*ü;2°+ßO[¿„ï{ŽïìZ-ØE>ÉÛñýò®w€ù¾ÜïÐ&­ÿ't7©#È—k¾O–øãîO™^Ÿ«÷÷¦ûã}£{¼=û"™-&G‹ÜÿÀWŸSÝók4óòy ”vvŠi,ú@ÖO‰h!Hf·4¹ÉËL0ÀÒ/‹v ¤À¬œà ‰£qÂjÜ_Zv[h_ÙòrÃÀÇrsàÿ÷°þ¾M£ßÏJ€R¶®Ê´C€²5Ó¥[¬uÇu÷§‘ cUodÀòŒ`ÿ=ue”€…Q^ÿ¾E€ ½l¼Ü?ÅÀ<‰¸ÝúµÅd¯(ü°V‘Ë£­‡Þ€ÝŸz +îÚ>“:¥—âS2Æ?"Ÿ@`$€þEüS¸ÁEó†Â[O jëZ³^Ðþ•¦Oœ¾äŒê?ÑG„ûÛ³6“ l¹?¥bçèéêqÆÐå)VÁ»·ï¡DŠL&>Êä\øš¥$"TBÊkàI¢~Œ^<Ðê€g€ÿ;Ä IôQ(Ò_Ð €˜¨W=€ŸËý)•é¬+1bÄN²JW±?ë‰d»È ¬_âï8” ’¹¿ X¿K㥾ûGÄÝyïú4ÄÄÒ@WÞ.v”õó_þ àÝ Ú}è"¾ÖI`CBÈ$À¬ŸJþ b€a qÿÉ'ŠÕÇMg€,,û#±ÇÒ+"’!tEPêâN©#9ÈHðèÁ+@á¿åÈ$áPÑxÕa@¨×„ïK0@EÂ@пü¥” o¼Qb-i\¦sÈHÀý‘Á}ŸŠÆÈîÓî¯R=éb€»?%á]@CE:, Ðöæ ôØa¹n]‰’ÈëGžÈß=üÇÐñ}ÖSo1Ó·”Ѹ3h«±'àþH¥dùJ äŸÊ£äþ7â•öрˣµ‰j¾ïJ WÒÜê>ºûSÎê† +çâ4)ðô³§%/ÖOø–:#5™×õÑK%."ü÷·™¤ÿËâÅÈ Á- èÞïêp÷‡ó°\L$²~Ui.ù9³N>J˜&+#Fø‹ÜÓ Dµ¤s`n¬ŸæE‰1É%ÈúBÂJ-Ñ»€Ü÷©P +²~ÆØÈpVfç]@”ü_ýG4J<@šÊtçù_ÈV8€gX?Ạ™ï»fÀþT`¡ú`¾ß{ÿˆ6zwKÂ%@  l¼¹- -i¾ä]@ZgÿƒˆÀß Ódý*Ó±¶wà€ÂÿÁÍöÇžÕ]¨#^Ý•YÞFè©®E•ýE|ŸÅQÚ OÂì^"ð”ÈúGÆr•]¶>ˆ•¹Pø>ŠhjCÝùpúÜ…¯}ëÛGŸQ ˆøêsÄû€'µw›8Pê„Ì·Ø™!àyóæáþÀ‚p©_d@iÖIG¯¬Áf³Ä>z‰pÒ¿teh»+{Å. Úžuþ$ûsé.9I]@”ü]€uþHI€û+Kð @Pªê À÷i™”„ÿƀİҠŸu[4ßGÑúõ1Ù€nÓÚJRü˜x½Ü–‘î¹µR±ÿUº€¨›HJøÜ4+}ô½¦‘é1éâ£-4,Zc¨\± ȦIþ‹Õb%„ÿæþL™ZoOÔvW Õ'feÀ¡iò3.÷4+OI3Ðs (­’¸[a›=éSÑ+¢Žú©o¶¨ßÅ‘Š#c¥ÕʤTÚ5Eë\¹nuÜÓÛ÷™r¶·XÞ75°­jÑÇæqJ–¨é&)*¬SÂG;% ðH2}õü˜ã‡¬… +®ç£‚±ã'¾8,·nì²e'Ú°sr0ÜøFE'uYó¾Ǩ¶N¬ºo˜ƒ*ÿ ½3’Ù]]:y€·B”äQ¸vÿÈh¡’ÞnŸÞj—äSš³o©ú[ÆØŒ:a!Øý£üdíƒcNñ•0rl QÓýzL4íÊ6·gQ¦·XL: Š;í¾6”ß¶6Ø^C941Ù·©\}âü÷ŠÂ£]ÕCQýŸéÌä¤lOgö®,긽£óŽÎ6Ö‡¶»0¼å#¼Rãº_¹náû¶´6¯Îg¥Â@·Þ*nØ‘¿²Â ^i¨b|Èz„âe£ÀcÓSá^°3m]Ý’NxZŸÃŠl{6ÞþŠã|ø7ZoXÚ´€CziÓòåJ;«S'N"~ë:éZº´>3«›(¨–Lÿ¿_œùÖyÊÊãÓí`àJÃûìrï¨ôAO÷%ßûþE×-¼žÊnøuDØK©8WƒÖIà(=Y(ðäJP{¶…N{¡.ƧB“ÓU"ˆ\ÐÒÁ­ã·]Ĺë7õ¬3Èg×ä»ÙaAƆäùTìÝ;àÞ•®ÞBwÁ*Ê6:sk‘r‘Ž•=)þ‚´¬­ÃÐÖ¡{&N¤›h™.“]Bnô‘J$û#UZÒ˜„á©xÜ*vžœŠ>¿FLlÓSñ¯fEñra¶ó¢àª»©ÖÔÔ|Û$>BE‹¥š›k>é1Q!0å$Ä_%—x¢ëÕðƒX-]Ö¯)Ó +k!GÆ#T¸øÊ;[~+ƒt,ô‡«ÔV H PÅF\I  Ô=«ztþ(™Wζ~¾¯ð! „—áþýí¦h‚ßwÈý%–ŽÌR´Ë.%0ʘ…hmUbîêùÁèJù¾ýDW +1e|ZNxÁ:Ó'`KÀ.ÄÄê°òѪ¬ŸJçš~¶‹õ Ù5s`Û3@ ûG')õ QEý¤÷‹ l+g€€¨àþH¹ëàÂ÷@ïæ +’õ˦=Ñú+{‘ùþ¶Ýb€žíª| ßG??ðýö.C´v‰â’ƶÛZíqô·wÈý)q€ë¿ö=× +ê‘Þß<Á¾µïSÙzë—æ@Âýß½k³»é‰Fïîˆ=a€J|F‚›Æ'ßX¿WÒWSüêIéðq\}M‚:¯08º»Žo€DÔ ”øþ¬c;Åœbɇš€ÌA1 _oÛŠØ Cs•€‘CÓ€Mv žO®ÏöÒ¶ñýõ0€’Ÿ« ”Š®lO@™+¾ŸéÎÁ$ëGáá©íwvמÀošCºÊ°ðFsdÀÿ î0W@./1½];›Åo“阌’íÐõ°^xvS­ ¨aiTšÿ&ª9~cì· +óÃù Ý_“ÅJ8{¡iäþ–2Ä=~%D Ééo$¶\g@Só2š "׉‰ö(j6:(äþ²xå7W±H¹$’…É›ÜJÈ¬Ì Ö›AÞÖ¯i<ôXsÿÏ”€KÖ/øþËý±¿ºƒ-Iþž¤}_$ ^sÿûK˜ ù~`Â÷Y´¹?I@øk$”UpsÞ}Ó9T:”àþl7•,Tî/HL/÷W©ØYd@âþƒØ#B±~ÐÁQšT¯šÝ ¬ß`Ï£N ÷/í;â@}Ÿî”ÓèýäòeÿºQ²ŽŒDîþžxøŸ€«5…ûæÛ;ÚPWWGaýJT]'r²~õ½Me¾Äþ 'ÏGspàØsHu|ÿðš~öt(¯$H£Ÿÿ½Î»{¶^v(\»`Áu ßÇáJ©kþ]ïºdñÑ:Éćÿʈý•`ýʨ¤ ÷dý”ßw!×–$PEÄþé (ð <7»Gî¯ @á¿9~ÿ…@ºbì/D»òºÙ}Ê虌 +a[ÙxSø‰~æ&;¦Â¶KŸÝÄ6gbå©>(~2Ë‹ƒ4+UÌ߃¹›§ãï‰ãSÊ 5¥»?2:b°uíq;¥á§ÄLâÊ$¨‘ I/©å+0ø»_pFüT q˜!†KSÜý,’ÒÜ9 cåþ¸îO…&Â.L@"ðç[$`ýé.  ·1<3€Í?X3TÇú¥hýÂ@õ 3À‚ýä¶w@|&ZpÂ|PÿH‹SE]@€w!ÜŸ•§‚óÂD›v*á)¡x}ª ÈÀƤâ@îþ|Eào±èbc"Í&u÷W@~-ÄÀý= õKuÀúùûÈ.BÝwQéÛd¯@‘ˆQ°~D¥é¦d}86ÔÞËúóÀ»€þYš›š%H yö­éØØSÜd?L_IÀÛdrJü\ “ù?£AíÜ‹ûƒ™ÏÚ…I௠àû0 Y¿0p5̼|A‚8,Ö/ °qÅ€PF÷›ˆæþdr:ÉV$c@HÄeáêäþ`¨ãYàŸ÷±¿úïš ÉÃÛÁý¥tö2ëWPðýØ”ÿ€*&wpï”äòŠ÷5¥˜¡1Ⱦ ìÔo5MH”è£À¾J ¥hÄ^¦?Ê‚Yù;³Òx8¡‰™F °2¸¿`¾ïžžš^ÒLÜ÷µª¶¶“LC $‚óŠ;÷–'W£\;´=w_í$?÷؇ï{†Š<*œìÝXFéñ=Å’õöv,Çh +më‘ +!ÀÌ›oÍdzúŠ;¬ÂLt=™´úþm¨wÃÈÚáí’­4±R‹ÀúÍa+Ö“c½:»-äïß1‰v™pcF ð BèœztçÒ:(¢b[™P¯Nö“(_¶ÛÁ°{êTøØ¼<›YÝϹûGÈ¨Š‰ß2³:üw$£W°¿zx;$p|¾U'OßШ¶Z=Ìdcø~ïgG³eÔ³q¤wÓ6ßžV©ì-™éZ»c hS˜Æö 2û…î þ­»Wö—ü(EÍ+LÝ÷ î> X'Á•dO ¿ðÿø…ùïÁ¤®E˜øÂ_Yˆn|ÿ K·µ4/¿½åîÉu¯ìK%h¾¹Y']i ¸úUM¿ºñ7üÚ ‹[Jÿá¦eY†øUËo´xÙÜÒÖþ[­·¶Sf–gP6Û/‹ëò®Á‡Ðž#G޽x§n»3+™éßÕ#ñ7Û»ºå5²žh@Átø¶µc9މoÊ4Í–4ÞÔÚž-+ŸŸ‚ów~ödM3§D*Ó' DÔäÓv7&%²^£pò€ßêúÑÒöÝX-péBÒx9i2DŽ&&K金ÝðAÓâäl°ÿ¢“Žl®ók“ˆÍ‹S{ÿðkhäߥ}öÞ?Òó©Áì=ÖÏÿ¶Û¸Öô³eðtÄôÝŸ@lUÊžB‡@¦§·¡©0 ÌÊÞÌÝ«MTì9½ +˜ µt¬@·,ïji_‘È|B‰–µµ»ÀÛâ¦fDÅÌ›ÿ1ªÎî½îb$e >MC¹ÔJËRã-Þ·^ ”-ŸÊ.fÛÝðë0ÀeX´Øùaïu÷k¯Èú%qi_±ìP;|8RXnbô¦.M=¢*>üŠi´t‚E5ñ7ƒ–6·ÄÇÓ~´ƒdPvM €tE÷rÃÑëÝýí¢õa?ækøÂÐq”Û0$ ]XæîŸ[WÎm(ãþ”Hî¯;oTäþÈò€Èœ=a@:p X=Ü1žªìGá<¥ë—ïK|X¿`ÓëD+™¸?ÂýQïõ†áûb€a ¸¿J&þL¶˜m+&°OZ¹i›@Ó°UÖ•½ÇFP‘ €LËŽÀäf4$ë_U,‘7àûHÁ `ÿl3BÑýšõËý››€lWp`ÓWŽŸvÿÙ ]dýüü–ß¼Éú%@êîÎÊ ZomËÞ•AW€d HžÒl +¦OÊ6Q½=¼èQQ³¬ª=» +Á±š½w-‚îþ( ¹ÿï}íy€ïž‰˜:~ ÷xj ü°øP¥ùöL4,Ï$Žƒ¬_C|øp`@û+°¿³<‹õËÓññƦ±—%\Æ€`ýæþ÷äWÜÓ‡h*€®{m|ç=}@~cY l¾½Ã¬ŸÖ…‚û·ßIào'~µUo »@¾op1Ù\Ü +wƒFÿj®äwT˜LcTñ‘¸¿d$ˆ=i¶ ƒ½u껀 +¢>ÔŒõ«Äý™À³÷tU(ÝèÍÙƒ4†²nJ/¯g·†Ç`°ìÓE 7J5÷H)a?™Më w’ÇûɵA‚H×P=r›+@I’ÝuRâ/^w—§‚õ÷„‹¨ð1Kk˜€âhÅ“÷5< ÷§(ÐÕÄJÌ÷וŀp7yIpÈú곊]@»Ã…=¡ Wû˜ûÀ4¼H±¿“ß÷'%P:pp 7Çë%ÖV©€pI±¿¹ÿ6s€ßÚ64*)ö7[·÷ à[`ÙwØ>u`ããûLŒ, Ø´M²u 8I€$€ g D¯žDàOø¯<ß—8¶û‹W€»?ÃÕ€û ´ï´3š£@eJrÿ4$~(÷{`ýˆÊÛ÷ç¿×€Ø_á?¥Ü_¦)HX?‡«”]“/nR˜ùÖùf,ˆ`˜1LL` È R{¶Û·9¹WÜþ^*=ž><(ŸŠÞ@"˜§ú#”ŠýÏ€Š‡ÿ”r&^Ñ[ÀýkÝúŸ ×ÿ¬+Qbå,°Í“ ÀÝßò€$ügû+öOò³þ[h0·Æ `á‡ß|SˆÁ$:8J;¾¬\ÕÓ^_7Fu}¤4¯o0ë—÷·oCÿ‰lÔF„ð}Ïdývƒ‚•îþÖ·£‰©ÈÊåéˆ]£Jz¼&öªX=¡฿»ûÛ] ´3@‰Ìú%~¨“@¨é7oC‘ö„’(Àmw®Œ@@á¿Ø½UÿU 2àõ™Þ<ÖO\€¬ÆèÛ«@Ö/k«€Â„ï+ü·rƒ½Vapf©#vFA  TÝz~”D÷çcèü‘ø-‚ +öåþŠýÕd Hú”صOḻ¿™xÒùC©Ê Å ¯ãÍ÷‹ý(b éRçð. J¤Ø_r÷4Y]­ÿ®ÜÊâP]ú¨xøO9êr'BêÁ—ï̦ðå4ðôY˜#€1 L¬$€ Àvÿl¶[îOE |ttÇ»ŸØY¸¿÷wÈúß.œN‚“GýÆ0@Iì}S:”L[r` @ø>œˆ¸ +Ž}ë<Ú¼÷ $àøWÖ@`$˜^—( È 8úŽV¹?Öv.4% êÿ‘”’óŸÕbÓ]9e”|$öÇýÃæîŸ(Ӷ€<ü7 ¤»€°fwyUüczŒ›»{½Æ¨DšL^¯Øß~•dš é¢â ¤ ;þ ²~¦ÜÍ.¤ëT$Ÿ†_…Fß—´8•‹&ü§bòÂ÷I |ŠÒé$¨Á Zo‘šÛÛŸ€0÷ìšõÚ‹ïÝ0,ÅËÂBÆÇW©QÔY#*"Ô‘íaÕ)7UôËž†F­BX½i[߯*™\¡ñÖLþþQJÿ!ë`óLÖ!wßZ¢`ü뛬«dh;ê„%cáòJ;iQÚeÏSÐs=Ùa\•²øH¼; …ÌÀ®2%7”©¢‹dP00ÀÖ?œ³-f©¡l¿;W¯‡¤ÒÖù‘ݦðè:=ÂÚo4Ã÷ûXçPZ%Q~sìÛz7ŽèÖ_JËÂB©0 É$àQ|Ø6 ëI™ÈÞ¨C‰ï{ÿÏÀîC¹Òhq×eæãöÌ%{¹xêd]›÷;rT'Tå)×þÒµˆ]Éúlxï{cø‰_ãòm·µ¡,.Œ²YÜùË_-¥5Ó”9 Ý -zß"ý–aÑ¢E7|àM€–~h)j +CKn¹õÔþÑöâÊå•:'Œ„Êüš¼0yäIõÑ·Ü‘•ð sXOóoÅ1ÖúFB§„ú%"ÔIéâ‡þ[`I{{×ÝêÊÀž7ÝÄ!­ûxË“hæ[g¥ÊÁõ‡=o@r}ùÄóñ™½á4²'Âs&¢ŽÎLýÑÉcá‘südpëXËG;€.¢J ÚSÒÂܨ“œÛüG‰îX•‹î_(vÚ‹Y²7Û5X?‹ò›ÊÙ¾õ™î<%!WW_‘½"g7Ž!ï~œÚÇÕQþáÚFʦ–¶ÎOØë_:îî¡Ò±Ê¤›¿´ãÖ^žmí´>7J> + (ºUx9ÜØÜŠnü ÜŽ}‰ÔÁýëËš‘ltɇíV8|™J2&uâ7š~ðú`÷²Z•q¤8AÄ•ÿÚ” €xB˜tĵhÉRtax¸òJóAòt¯»é«¢‘`C2x„(^Ý8šdç|Â9p*zÈ .uãFµ§ ²•’K µp‰Ý±Œ·=”Ä7-·H>“Žåf@è¦e`÷æû Üý¤Ñ•Ë#,›²=k1…4BˆÀ‚`@Ëí3 X†a f€”m¨»)Zÿ`¨$ Ô­¼<] pPrѽÄvqr¼a X¿$#V‰õ»y וÒð×èc1@@vW°þ(Yÿgc²…õKË…šØɽÑ÷ÁáÃáR«€ì§FÏ1l/WØ}ˆc)>«ÁHpÀ5°‡ÿîå~$æ.èmÀ€ûË»5ÜxãuÀ÷qd0ÐÖn'ÒÀúëÜ_ƒ3ÀÝŸÁÀ|DEXѹ9l‰W€l% ñB¯‚3@Ž/ë‘°$ýŠca.ÒQª0ïæSfóýX¿p5„'Oœrˆ”@¼ÓøNŠ +TÒ¿-íØsE\ÃþI@ àØ–õëov’»¤À‘¥2 €ÜúÖ¯RÖº€Túî =b‹µ®°ó1€Š¬ßÜÿî@ VY%„ï»4&½ –4À€)¼@TrY§ VŸ ¼†RÀ:"RðMJE§Ü•hŒ6»3 ±âY|y8væHÞ.ü´1ÅóíRÎèþ˜²øÿµi¥é €rá¯,L3ëI@2“´Ý»Ò“% ËT¨¨Ç ?ˆtý+%yÆM£" 0Î^Sˆýq6WKxÌ +ÇðßÔrKÓÍ-¸¿•‰û÷~¦\ß„”°ÅÛ¡¿OûÏ÷²þ¾2kÜŸ­#Ëð  À"pÿ4”ØåØÝ9ÄðýÌ=¹4”PÁý…ÿ’Ý4€’e|°~¹?¥î 4*$¯@º=JI€Î7H²~ÉÃ÷‡$ø> ˆ çNpJÛ{ÜýUÁÙåþHV.¹û³\¾b‹Å$Ç'!W© óBà@¸¿½d8Zÿ ^ à3€÷†Aí?@ þ{PÓ‡›Ä€àîï ¨€`î?Äþ]wv)øy F›nÒ„Üí˜IÂOðÿü@üq]øÿkQ‹§»€–ݼ aý.1ëw Èz`OwöÀôQÀ¿=-—AwÙ%(í+º‘½‡¥^Ñîj¹}9¢ïG 7%µ&oxÇï0P<ßÉbæJÑYãGZn\¼”?K™ûÔ@õà‘“/žEêÙ—°~WÚè<{ +añV$<ù§ÃÛrà«'þ‘éÉSvæUëÈvëýæhþ‚š0µ6 7¨ý®¬â9SÒ”Éõ —-Q²ß9‚zÖY´g +7‚!b8eQ._Õk/—¿·?W(utó• ÃE„–¹uÅΞø°dÏ~ÀIr«Máv<¥S†ÕðÂz½³¾öV}œ«ÃĬ(±…ƯXc,E¥¤¾Ôò[^¯)µGj©@¢¤w(ºpЬ \ÐTé”)5ßóæþÉÝ×éoëTÿ- hè¾GDñ^aµÎSYÖÚΖYü¯ìR¨Û2]ê·¡ÂHaÒhʶº=º¿ ªºÄ|hÃM·ÄMA…ߺ2½E4ôèTõèL }Œå†+¸€JÙÇÚ‡ìu† +o¥bJÖ“îã³CX¿KÖ)³6ï  tÜdûµ<àþ¦äù!L–¾´Ô€470àèݨ7¨„90@îoW‚îŒÏŠäþ²ûÒDx]ð¸UøVÎh$¨c@´þð~`|D;\ø¾Ü?(¾Ò iY’Gß@W9äûõˆÒ‚p¥ÝeÍ–Ù2nwG ö®Ð½nPûBXÿãáoF÷·½'œ™€xåO¸Å¼Û€ËËýs½û b@\îþV&î߸¤±á,€Ý €ïËýþKÊüšüÛáþ”Í˳r“húív]tûò[HèDEºj ÈúÁ@Ëív˜)Gñè +O²”õëÛf±ó­ñ¬‚#xG¨oë„àb²¾Fæ…_ûKø¦.s´+7–‰ýÅ€:x`ÇíÊxyÌEB@{ÌÁD´âI@rå ’û ø©3À|?Õ'# *ü§’6Gì˜)÷ЭÅÛ÷ +u’`2¹¿™opU’¥×€Ù*@º~4*€¬_²‘É¥¢Êš —\>)ã§ <°‘ˆÝ-\„ÿs3l]f­ wÿtÀÄîþ>‡X&7‚Í͸¿@‰ãËúNp̘¿(pÿÆ{€€M:Í"BèdV2€÷Çú%`îõiÓy{ Žç®\Ÿ0pú»QGŸÿs@ÄÀŸX œÀ€€¨§KÛw·Ý™5¼Ç$p Ýtk›@Š–‹&ŽÎpøÄ ¢û§2¶•»Lï ”ûGÈý4“¹À÷% ë_F¸šË•õ[_õßêt IÅö‚º>$a é7Z\€¨€ûû9!¡L–@ú+|ß%‹WÐP»è>@]:Ö«ÔlŽlÀͲ~U¬ñèÙ¨Áý5ceÀýµÛ–ÏêºÔH@Ö/釸ÿؤ»ÿ; šHpëw©ó‡‘˜ˆ®³ãþÊäþfÖÁý#BçxàûJB—”eˆ ÀÝŸŠ ÎÀÂÿñbP•xŸÅøÁ +q@~Ôž*a¾¼Ã¬_ °Ÿ$·›Ž]@4ebÿÌÇ i O~èBRa@î/É…£’³Ó”¶ äÔìT ’Ë[U“†Á€Üß°²ßn÷-?~ŒcO@߃crùð¿b$è[ßéJ@’w3X—}€$ˆÅ"r·~Ï48(–ÔN465¦€û«#Ç—ü@.\úŽ@î{§3 ¬ß¥#GǤ Eë¿•hË0y½,F¦o? ¦£ÊÛÀ…oïÞ‹ûƒ™—ÏËý‘bEý’º€Ð¯šÞ®‘~¦+b @"ðGzV’º€à€»ÜŒÁµ• ÜŸÒÌϻ€°n7%9{QìJÜßz‚õG%á¿g-] ¨)œ‰Ic…‘5kĽ“tô¥€Ÿ0ªg¹æøs~L4¾ÏHD £·éCÖèÌý/ë¿™C%ÛÆºáõA2}µ7Y¿¤ +H°~M\×¤Ø —ûûÜÖìYnâþå#Ñú#tÕ +²S—;&uIŒ•õ‡VW˜D“ +ámÿN³<åÚíéoD ¹MÒÚM£.Åæº„¿w`¨û‚DЭ™,bS’t„·‘q#A)E]ŸÈwç‹”VIÞLÄL AnÃÐÚa»RHÏ«Ð, +á º8 *îœÄ”uÿŽ¿ÿ21{x(•ÕƒF‚êÁõüåTÔ\ÚcZÏVÚs°8¶·|h:·q$Ó[T‡;¢"œØÌ1Ö4 »-+¦'a¹:áìÎkK [ØîD£2f*ŒÚL¼{Ð’0f«sé À1Б =ÝÙìŠ e¾gÑhÏá/YOŸÑáj‚ØyÍnJÇG~äPùÍåwj?RÁ&~“ÀJ}D¿½â–]”ˆo¡…Æ£¦ß¸-ý‡t³Û¡Eç”g0YË-HF ù«)…e·´“ÑN|陓}Aò>"täO¾ášš9‰t¯€;*Ù…¤áyÔ‡¿fO¦ÓåCTô‰áê^Lwvå>5 £bO²ûúiýpóc‡ ÃÛt¬¹SSr ú!) Ê‚5†Òy‡ù5›šŠ6& +Ùƒ©óž^¤º„ïÇ ÈtV ,î¶.ó¡\¸¤‘ŸE,ý×­š’ŸØÃÒ%v‚ì#Û­a—™R÷x7ÞŠ vPZ%àAûÌÈÄëÔÔrÛRh½¤‘Š Ñ¢{Ê…764 )ô«Pr¸ù™aì¤J.0‹ JN]0FÿBÓ [go“¡¥é/´|4³tY³J¶¿¥i±M|ýP +u[œkJnE¹ÍÕÑCO"šÇž?°V´÷­b\,^“ `]ŒL:+‚©anmæþ÷D›FÆ€uCr*²~]½œ@çÇóî¯R­Mb÷#ÍVÖŸ€Þ<œø¾‡Ì¸?þš]ç Ç´š<áûü)J@2õ—÷O‰@²—(<~Ì#nÅÔ0év\€ÍggPBVS:@¶IG÷ +V)!ÜÁ*IŠ€dý6ÿÑ=}ÄþÁÁíßt®l­HìÄò'߸ÿÔñ“¸ºú“¡ºíÐ FX¿Ê¹ˆur ð«ñN`I_9Ä€ùDë¿=Z?Cço…ÛÎbÆ‘0 fÊÞs ñ÷wùÁ†ì·Écã̾ƒû ž˜ûó­0€ÕXÞú«@:Ö„Dßà0$øùŒ>^0ŠƒK¸¹ ýÀWžCÂÀôógF›êYk$û L) 4Dͨä0¤¢tJÂ÷uRÁ *xœ²+ç Ö7 ´ *›" Äô.wÖ! €¸§t +!°×Üý[n'Wˆ—ǰüÚ,û£döÝjgt(ñ}Ä¥\øk‹Íì£$ë] ó‰ +¶Îô¬9+ ˆŒÔ¶Õ·¶·uÔuÝè/`Sˆˆ´+¾Uc³)r ææš €žû†võG÷—"rv·Tè–Cè&ÜÇÁ}¨àøX•$HkGÆ-ö%¾Ÿí%4 Dë õã×”X¿*fý:,•tó¯h[Ú‘jø¾Jx£×Î Ì ëG0@-R*`WÈäÃÞÌý·í–Gè1p‰õþKø‡þzÆ{ø¯ @îO€û«Ï«õn%ëca{²,¥ÉVrHÌY °JXA÷·Í2 æAÚÎ:5-„û“8úçû#%üYwÿœÒ¬¿üùéêµG”÷î­€3ßîo·æGàf(¸vë-­b1À*Áú£B¤ €Á ûãþJdýºéLîßÛ›{Gˆ:بØñ– -¥uÅ(œTǹ¿`. nYÒË$÷G²~J‚J½õW ¤ôLš;:9%<óÂK®Ž[Ê/ÿé7€D5ÓŸ ɯø¾'L(YJõé“ζ›À‘Ë#Ž>9¯*~œ"Ϻdv8>M‘JšŒažÈýµ›®2[ßéfb>¦!d^<ÑLÿ.K´×˜)À÷a ++/‘dîþ¦Û»°~•Ì ëggQIß(ÕµBi• +¤ Ù"B…5‘ãSò(%¾òɲü¿PÑåõ¬i›”ß"¶IüwáŸÚ”5~Ô2wÿ®Õkeýz×[ÍýFë'üçØŸGà/Èœk>Žc °< ž^¦ÀVÖVSp½¨àÂÊtñ¾]Ói—ušõǘ}vj­*lÄ^OËHšš’|_‚zx‘º€Ôùƒ )9"ç÷GÞ$È îÏ·”ÊôµÜÆ‘ôI׸ÝB ù+`C±¹Ø8”Æ›°mméaþˆ1ZdÜ_õÇ9' @ÚÚ¸H&ò@O.r÷G +ÿ½ ˆ$ zd¥ŸSõþãþäW@-üŸ Üßà?uûÇ!±þº^ t ÷G +üÕÿÃ]’{ÅÝjÒ]’žà2”Î*A÷…[‚‘ âÉô£Èœ*n”r ÁOÛ·‚ ¸î;’H“Ô_à¸8r¼$ý¨¶C7ÊÓóå€#ýÂÿ`”|]^b‹ +k(-ÖÑt]v˜!ù7Þagf8Ó´E,MM@nœTìm£NKVO?GÅhS‚ô­¢’þ/1ËÔpaJ”‰—ÚMîÞóØÎÞÁUª3Jè‹gÚnCº`âî8‘)^úüé£ì´^ߦÐ-"iâô~${6²’'ÙAL¢iÇn[ÂŽÝ eÚ¸Ão`[Ú÷ô¯Õ—–ïÝs®ÞÎYüUŽgr0»ü©S»¶èL^žs®~bê¯r6¼!vêÆ2ç˜ àÉ`sBŒ™IUhWÖΨRÑmq|JEOþ¡, u‡Ç g`8ä„_ÆÌ¡qAççvßnR£d_Ê ô©)>¤V£èM÷`Ó“ÎäÖ®¹¾°Ÿ³Mè±Óƒ#Žz†Wç£0-Ï!Á†ŒM`B°½u7´°™aào~”Þa6ÕÓ +´uÙviJ{ö&"ë# gZ$¬Oܱž[]óÓâtRƒ!©´¿°´¨®ÒЙ¦¦(ŽsøF/]›œ¿oÝqfñiNöòêék7õ‰.èè¾< ”¡/18Áij&ý5”©$(¤U³†= 3Ë °„ÁŸÔP@j\@$´«êrÒèlJ¶-ÆÁtZôýh¤t¨,õ— `B)ˆl Á\y•mïåy¤ô×µØÕ|£øéÛKS3H?@ ÕëËúp¥;3ª?%SÜ´Ç Ø@Tÿ¸VáI¥€^x_{éíKTÖ1í“éùE ݯÿÓRÔ‚_þÑA÷Ͼ?öŽß #ÕZQ û€ à à€<@ õ—¨q¦gOÏjà/z€Þð¥ ôB}  ø-t¿³Ðùå€.À} ²Ò„ÏÉkó!&д£ð±BKP 3H À< Ah³eãAÃN„z"$R¾Ç ¾ùQ.%'Ÿ¾)Ûf=@B$sw~‹˜d¢€Øâ2@‰ÐP!¹Aý™ˆîCÓSí[ÐĶv~E²Õ`zzH¡P…üqæL¸¸£ûÐütgjM;Úrõ§’eæAýù!;¾œ}%@{öê1 @Ò/÷€*ò›b­I×RèÁ¹)QÿǶ7Ûqo5cöã«eße6 =õˆ%è19¨¿€n„Ö¯g9P¹‘lLÓelv»y@0!è>T.]…t„ÏÔõÅÅÏþ©L]©Mœtrp@Ó±¤¿4Q ÀÚNyZ*¦­Û@n™a$€„É”¸(- ¸Páìaº@Œ§tÂ)-†©þãjP’ HýÉÜPJk²›l­Eˆusµµž0ÆØš[Çlžh‹´gx¤Ÿ +¥2€ÅþÁl¶$°ØŸ<ã´©¿ð @ ßÕO£ûJ¨#ýj¦t?®@–°9©\ZúTûDbþJ*öŽõ’cðJ©e¢¸ÚP¡F!5­gH?H£e=ö˜K¿þò Ü\¶žþÇQ@áO ðßœöïkŠý….]“ïd즱Žh~ËâÃèr7Ï8uíD gljTL÷C3•ìfj ’È<7çÛüežˆ1®Ð̸î\=íbÌn “I€yÒ/@°,ðOŽC +‘9pÈü¡ûü"%È@ÀlšS±?ßµ–€ËL÷ƒzAú…+5èÔª(}¡ne€“ @ÐÆ+üw ˆ$ËTïˆë¾<€EÉ+*辩Կ£×n޳=Ç\™°ù”’~7€ÖB—òI¿ Ý$´=:iÊ éÿ䮑€bÿ¹þ-Hú+(Ù–:¥ÐÒ*Yd +ŠýeÌ $üQy³ÉpÖà ÀÕ=€êµEy€€‚t} +7KÂ!—¸€¤Ô$$ým/Qéùñ¨2ÂP¸å>kÿQ€ìR²!iÀDþ¢û‚:Ò¯— `jü²RÅìŠýcb°mg„öJý¢J‡ +jÿÏâbOÍ»r¦–Ñ}±üû/Ôøƒú“ û$åÐ +„î; P¿6© `½& ‘€<À“P´.@÷‰ý•4À×Ãs¤£È6õ¿¯Ïzƒ€ìF°½ö@åÁ aäÿî°Ûñ|¤Â­6\€J!Dé@´“`0œ´Òw…ôs’ÇÇ„ €¥¹€yÀw13™ +ü_@l +±¿  žx€É¥ +Ö²bÇ €Šibð€Žýdˆ Pñ& pnRv°9×iRÀ<ʬ´V JÃÕOš® @/Ò$ø¨Ø—=(0êO)×j»ÌÔßfN–&ÑwPØLÛÒP‘úSÆÍ  :hWhiJT5IýAÒ¯¤6J Jÿ*@÷夒~áêo`AnÒ—«æï zÖÚƒ‚K÷¥>¡ÇÎÛGħ6Â=~—ØþŽ}”šáõ ñN¢ZЩFës}屿Î"å¦M›Ü]›ŸíÜ’@ës]ÍíÆnNΤþAÐŽˆ÷©ö¼4Üwðõòñ:‡Á*Y+Pû ¥ý¯Ÿ¸(Øv™Kª›Ç}*—ØF…­Àçø ŸžeýÛ8{ú†ˆý){_wÃ+ëùšo›gPÚ¿'Î[%ÙÉÊ¢"áÆ®Høtÿè8娥9§z~ê~ówî&,CýúYÊÒË»Aâ>ñV¯3yþ ƒÐ;UóƒˆÀé½ +FŸnxh#äÏ~h㦯mr,t~Ë\»õ©Vuÿ‚¿¬egËÖïlUO¯¤Ÿ?¾¢ûŠíÖ⇭ ¨¡ÈÌd[|œ°‘¦®Û ®2‰|[Ë&˜zwzñw÷°À–B—àÒ²ëMW—Ý=T€ðBÄ|Äj›Äí2`º=è¾!iÑmGY‡›¾»½µ lXÑ3al_¸7UoÞØÚlàM= +ö!&áþO¿ÕFœK >ð $ ÃÒeݲëI?D$˜™H§k~™Áß}ËØø•M›þvó\ò‚š™¥O' ” Ô>¸U:Vu1ÛäÌ ›Ú:´9,y{¸gUó m­&p&èAï²^¡ƒâJ$•ÒØÓ+MÛülP‰K^!ý¦’ú:èS +Íï3K‘í+Aè™ +½¥Â>ÃYÊ·ºú6“ +»ý‰§ íûJ”LA[žã¤Š7Ä -!ê²q.ûâ»—í‡öh׋‘ÃJj«A+IÅ–½¼Hë,Z{"[š¶õ¾2ª†Ja¸ ƒU{C%¼ÎïìÍ» ãåΩ/,Ö.ŸÔ{+'û«g µu„Á*Ò àf@* ¹ŒNÔŸ±>3 6?‘r¦_à@9ziN`¨ÿØ;7d€ ™è,n¸úf÷óEaºŸÒ/Üäè~˳=©PÂþC¤Ÿ+ŠŠnßl‚K?dšŠmWˆÁÿÖÿ‘ï“Ð%nÓÏÏ!ýÒ/ Àu¿‘°gÇk0p4‡.½:T$ýÂÕ6®c#vLúëÔëg«g‡jóêòÜ ¢OWÀ†‡6¤€ô›úÛèêî½X6@´¾Úìo¥¬Vÿ7gèPê¿ÚtíÅëÊ’Ä« úËÐ})šÉýS…­ß3eÞL„¸KÙ©hin2àßèÏt¹Y˜ï€„ìÖÍLý·ïŒO‹íÜ…ÉÐ}¿—UÒ¯Ddû®VGyŒ¥­¶ê/XüÌžG­$@͆i€yÀk•¸»±À¼GD/6@©Ç–aT¤þ‚¯Hû$^×t©!ZÜ`¤”2$’Rr/¨ ;ða™éQFXm9ºc LÑ)¢¯èWôsd¦þx•_6 €Ôé/¾Ìéa×&ñBÃÓQÐx´µÚg÷?Ë´’B+iFåêÄg’þ¦Ým2GÒ/&¯ÿÂ¥ßI=àìõ9t¿|¤d9Á(ÍÐy€K´Ý¦kAý%šH?óƒuð2g6«LÇж„ š€ û‚é¨?¨][ÈLLËÐ}3ç`è¾À¤þ$\'RÿÖg»ÜTêÈqêP¢þ2eÙ€lLºï,!6ÅÈↄ᛾-èþèÅy•#Ó³½‡«”– +ì)UîÊ´pŸ +%f)@÷û^9,ü9º€Ô_`î较î+ü7>¨WO ‰ò±6©? @êõ÷†~JH `àGí°ýÉG6nܰñ¡ MM¤ R°í‰Ç Á„êßl7—šÈÔúïï…' x¸úSo0€Þ—ºDyl@TÏé0F¤þëpQ)üdQ< e¹Ö¯4€¨t–„aÝÁbì¯XX±@aš°÷o´#åæÌ&à´”ú[hO%„ù,\ dZ›¾s¨Ïõç*  ûšZžnwšÃp¦ØŸrmEƒ È(õ"J{'Aè +Và"õ¥»•ó³Ñ²Q”H¿’¨ @`áZG§Ò¹üù¿ª«B°Ÿ{@0VRàQ¶‹¾‰x×ÛWU•zÚ’ùH}Ñi1® “a5˘ú»dè>”†Ë  ‡d`ÁLâ%÷ü `UÉô‘mݾ‚Uj@k¥_˜)²EÖ¾„°&ž€†tÛ3|nÚà}Hpà\ý‘þÉ c•ãEÅþÂÿ, ˜€ •XouÇ'víjÍߨ¿²ÙQ²ð>ÞÞ»ÊGð›¡Ê›qs&ÏÀø©þñS”Ô@åxIÿçwõL)z/êצ–ÿðÅü{>@…k«]—}k!Ž¥â™ÂÿµÓL¡}ÔýlüO˜!¶;8h6ÄÅúˆ· …oIÐõŒ9–L+¡ëeMŒe}¦×ae¶6¯x HÖµ9ZO}Å·æ¼Ñ‰J—Õ#oE¯¿ùèãsw¬ Èž-a﬿wuùSõè!qégŸÎüÜrDgòÊ|áKÀîzËØf6²—>ú÷[mýw°&æ¦j“/¶`A M‹}ÂÄ·/vØZŸ-ÿ¾È’³a Ït)dï+–¬G‰O¾å#…=Õ}UིöCÞ k•œöb/+(ºì+ÛiÀ{}½¢z\CuYgmPVQØ!\ýq¦d™¥ð¾?(OÍ ?Ëš¨¼xóŽÚ~©ø±PéÌßùj3ã•Z•}³Æ&ûÇßÊáº6âXÍþ¥=Þ·íKȵ[%/J¡UøW`£õîÌ$RlbA3…y´4t¿Áø”ÒÕÔm¥SÝoëê-¾<ƒoŒ9’~Ù€ õ§t äšAýeÚ(ÿz–ƒôƒö«ç«Šî+ΔðEmPZ~½öÿ J?È=`µlß±:;Z†Ë=0r¤ßåNV=“ª?¢/õwépðpÚ{âÍ8 i–PR‘X[=ë ªðRJЋ6}44Ò/Ì Ú ÷›S‹Í~Th”úhc‡‚Pò/ÙóÈ‚n}¹Á¨<î(†­OÄg‰ìê°)Ú"a_Ìr>]Ïnüò·2©?%¸ú>Cw Í=<àÀÑêš73¸š6M'1²Q4fÐú|OîRÏLÊ‘~®ôÔ(¥ªQ^ƒô£ªöÅDÄÑVæa"Ýìà¤CqògV¿HÌnš#ÐýxÚ$@Ùú|/„zo¾À+8Z¡s@™Š¤¿£w˜Øõƒ!ÁÒö¿1.Ð}Q}ÿVíúíùß|A‰ ýµwo×ý¸¸pCêRàŠ@÷í2ÉD¹§tø× € @ +R¨Î&|A(±cºë»‡ÿÕ0œQêOÉ ÒM-ÄáëZe\òZÀùŠúS¦ƒ3›$@²>t¬ŠôSÚpÏU029M‰ôþËô¨@ ÃÂ-üó³|»l,SÜ!ö„-Õæ(öW?ßú˜½ó9PûðöØ•€ €rà°Q±q™S³K9W?>ì,6åÌ/Uœéw\4˜ÝYozФ_xVHIà:i¦.—ݤþ`IÀÑ’ ·ÌCTkC¢üzià@OÎARÛ®©ð²Iý–ð…@ºÎA÷‹”Á ¢úãn¡ À*ëá¿  Ðg”HIô¥Ñ*™’{I*¸0ƒæ±™3°WÄX#R´S´@ÍoZdÝ¥ß @7˜úïHzƒ³ @+ ØŸÒ÷«?€yÒÙ@f¥ÿÉÆƒ€5ÝAMò纯煅ò3‡}+°ò‰i7N Ì&æ7™:…2x¤0:ì¾-•è>H”Ýš¾×*õ—Œ*ü—°JÄù¢•~§X¸Ÿ ôÔIs”ì7džîcI_°¶©–çl„g]4Ë€…k±ú!ÇWÀV51€®Žˆâ¡Jÿ«9èþð©‹P¹¶ˆî‹ú'÷~½ƒVP9]*²ap8{ýêä…QI¿±¿Ê±“}ŠýSR÷€h™F¶¦ðìÉ nWvÅþkfš!­Pj ‘,E°O³& J¦xPúü +¤Ü @±CÀ~Aú¡rn$ñx€•‰û+ü§Ôš°Vlæ·™ÙüéY÷­¡úˆý½·€­ÖæX¥>ï­@¨¿ ìø}xR¬œXpß ZŸÞFìO jüiheâà¡‚s`¤Ã9Xîv†RðAÏä“g¥­†bÿÌÜÖ4€¦$ý™û?ˆ þéÄd§Þ9ø% & v>6€È$ÐР×S#pyEUåAa-f¨~ý?e­@²dæhZ`”øP1w»Xçp³¹‚IyhÛÑ·ð dkðäN"Ôíy|Ûãßi¢Ôé—þ¯6K²§E^ú™5¹è¸Ÿ}ŽÖÖÔîˆdçV ·òæêÿ|x*ƒót'xÛBªŠX€™òÓY¹Bx £Gå—é½NçOÑ!»é—¸ú7íŠYŽÂú¨=F?a=u˪ô I¿’î;è†Ó`ââÍ;²a0é?^00ÝŸìçr ´(*@j°"°†lü»éuÐ5Sê³WEéxáØ;Óù®æ—aÜ—êl aôÙÃ<ûŽrüê¢`¿»&¯-ŽÔêÚqº›W¸p‹êÕ[ SᮼoÊ~s-P9’Ý̙ĥZÝñ•l r®µ«ó?^ÖÕR>V¤œ¿³<|¤¤Qùª™Å€cдý›êkmÀGÔÿÝ¿ÿÉwÓ¿d9¡£a¿ó$#‚VlNò·bþõþV|7!mªÊßl¸ñ‰;Ï>ÿ]§õ™­0|¤»~½,û™~zù÷ž|gÎuSbI»I!H(Ü"†DÂ])‘láFƒþÞŸ¼+¾)¹QkÓÃ[5Š´ß(E¯|ñÈ~é_zÃ}ãþ<8gæçŸŠ«ËŸÕoÚ-(¾ +ŸÎÝ6'˜ LÝXBȪW摼ƒG«îŸh™®Mx:kwPZÐÑMO¶jPiGo ô`˜æ­gTà—Ùˆ,•›d(¸Ã®VOµuVï.8ñYžmO¶2õló+”¬•úÿAgQÇ´>6õë¦Æ%Q|¹<ÞRzQ•^Ÿ%%¬\Y…ӣ춇­+>4ÄÕ?^^þ÷/(1¿ù_þqæÖ’Ðþ‡ék3ÕS6°*'LèMëkVÑD”‰WÒKýÕì#P€îKÓÁ Ô˜ƒúã]/ +KB^ßaÔðÈdÁD÷•Ë‹’þزÃJCJ"paaߺè1޲LúEéwUÔ¼£ž ûQè£ô‡ €‰î$ý¦þ!Öªï-Ô–)aêÚ"þSjº ðŸZXõ›9S×oÏ.!‘†oXõ;Ÿá?^ÞæéI–Ò°( ¸(ɉHàÊÒé KpÒyR ¨]g*¢|¬8|¤$þð]˜MH§§·³ •5I矽¾6WF™Æœ•‹â'"ëýnú[é<éôù›•5™ýh4çz%'Y~ÚžNWÏ@÷€¿À_ll¥+»¢{Ó#kô‘i–Øu®,ͦ+±b÷NQ‘éµzÅD%Œúßý¡%¼ þÛm¯ô!  ’fè¾·é_.Ký- êÏ@ýí¤€¤_x§&¤û'Õ}`¯ª"éO3€é¹é깡Ôþ+È$ú&ñµ~I¿ä>Qÿ!óƒ“ÁN–þ Ð#ãzn,IEND®B`‚‰PNG  - IHDR€}WÑ pHYs  ÒÝ~ü -MiCCPPhotoshop ICC profilexÚSwX“÷>ß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ -VœHUÄ‚Õ -Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d -”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z -Ðzù‹y8ü@ž¡PÈ< - í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ -¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN -!%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì -ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óû%ÒŸ3 cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅF÷IDATxÚìÜMˆœõÇñ_6›ØÌĪ ±­Ø6ÚôÍ„$„Ô*($E(4tŠD‡6² !-„=DÖäà1ÉAˆD±íÔ°"yzèÁj}ARÝ]bju©k­QÑ$›&ûäe7»=d)5øRKÍlæù|`oÃ2ü™ßwž™îéééÕÒí@€ @€ @€ @€ @€@€f¯-[¶Ì¨;v¬–d^’©$§×®];~÷ÝwŸÝ´iÓ´SÀÿÉæÍ›»Z­Ö‚²,ëI.KÒåT:Þd’Ó+W®<944tf6Ü¡z½^/Ëòš$×%¹6É™ûùÁFïºë®¿ Ù¿ÿd»ïk__ßÜ}ûöÕfþfæù›éxÓIÎ%)gþf&‰¸äÝ{ï½szè¡/'¹>É·“,™‰:ûÉìt’÷‡‡‡ÿV¯×G[­ÖX£ÑhÛ«ëz½¾°,Ëï&¹±ÑȆmÛ²6ÉÜ$Ó££9¶ukö—ež/Šb°§§çÝvF@OOÏeEQ|-É·’|#É3÷•Î5•äD’·†‡‡ßX½zõ;ƒƒƒ"@\ÚvîÜÙdñêÕùé®]Ùì -@užÐFGsdëÖì+Ëò™f³9ÜjµŽ¶#n½õÖùeY~}á¬àürãÆ,«Õ>r“%kÖäWÛ·çú¢ÈDQe’#mÿ¥3¡ò³mÛrÓÌsÕ©Ž718˜‘mÛ²chhh,ɘ#—ºyI/Z”ï­[—kG¥,Y´([šÍÔ˲ìj6›ƒíˆ€ƒÖ’\·qc~ÒÛ›ew›•+sùý÷çÇÏ=—¡±±¼Ù××7¶wïÞsmÿë’ÜÒhäÎV+?ªÕ •ÌŸŸî$ßLòª +É‚©©ÔEõ4ùj«•_4›IY–iGŒ})É5}}Yñi·»á†,\³&ËŸ~:WŒŒŒÌÍù÷dÛ1þÍV+ëõœ=›9I.·O “̉K˜UŽ€¯´9º“,˜œüìÇàÔTæ'¹¬»»û¢½Meüù˜M€Ž1=óƒhGL&9ÕÝýÙÁ®®œMrfrrrÊøÓ&SŽ@tÒƒùTWWÆ…hG\yå•§ÇÆÆÞÝ»7¯ÞrKÖ}Òíʉ—_Ρ$Ç—-[ö…_þ7þ\hþüLçüL: Ð &’9z4¯=óLþÿÐɺ’̽ñÆ|ù‚OÙ·5V¬X1þ /ŒîÛ—'{zòF#×\x›²Ìô=÷äÙ±±¼’äÃ/ú€Ÿwü‡‡sæèÑœš jWÓ:ô¹rp0#IÞJR:pÉÛ¾}ûäÎ; æ÷ë×çµø€Ž~“äêF#7µZùá' ÚÅŽ€çŸ~¢^¯¿}òdùl³™»wçÎÿüWÀááœØ¾=ÏE~—äÕF£q|6Qäƒf3O–eFf^ -€ÎóïïHòƪU«\1—¾;vL>|øŸ­Vë¯eYºÐÙæ&¹º(òz³™òÓ†íbG@«Õ:Ñl6•e9Ñ×—Ñ]»òƒE‹²8ÉäK/å/e™WfÆÿ/òK€þ‡ñ¿ÙÌoË2J2â•aÇúÈ7ú Ð1öìÙ3µgÏžñÄç:]OOÏá¢(ÆŠ"Íf2[" ÑhL«×ë˲|wx8NRËù÷Z'ù°ÑhŸ…ãÿë²ÌjµÚÐîÝ»öööú€˜}öïߺ§§çÍ¢(RÉlŠ€$/~øáS<òÈ{9%jzéÒ¥çfÛ{þŒÿ`»¾Eðy"àÌlŽ€ÞÞÞéÞÞÞ‹v‰Õøƒ0K"ÀøƒD€ñˆãÆ Œ?@@U#Àøƒ*ÆP±0þ €ŠE€ñT,Œ? b`üA‹ã¨X@Å"Àøƒ*ÆP±0þ €ŠE€ñT,Œ? b`üA‹ã¨X@Å"Àøƒ*ÆP¡xðÁ>ñÄó‹¢XjüA‰€M›6½žäò$7@5"`^Yf8ÉF6@5"àçwÜ‘ïßv[–´ZYeüAÕˆ€Å/¾˜uË–e^­öÉ¿×øƒ:,V¯Î¼Oû}ÆС`üA"ÀøƒªÆP±0þ €ŠE€ñT,Š"ï5›ùñtvL5›9õØcÙðÔSy{füÿhüAçŠ"Þ|sŒŒä½²ÌP­V{Ýøƒ:8n¿ýöÑÇüØà`^Ir®:ñ裞ܰaƒñtª‰þþþ#÷Ýw_×òå˧<8åT@Ðßß?ÝßßÎI€ @€ @€@€ @€þKÿÿÿÈ{ jyQIEND®B`‚‰PNG + IHDR@õ]©¾½IDATxÚìÝmlÇñßÝõÖ§Õ=ÄÅL@³é6ƒ%&F4&$’tâÃãSâ:p`tHPaЄ„˜ð`^ljRH€ £ÃM@ NX•1¥)[ÛëÃÖ^ï| ÊdÀ Ûý>/ÛíÚôúÿ^{wmMº®ƒˆŒÉć€ˆ "€ˆ"bˆˆ "€ˆ"bˆˆ "€ˆ"bˆˆ "€ˆ"bˆˆ "€ˆ€!Ø´iöï¯Gsó÷†]iUUïÃåªD{{;AȸÎb± ‰Àãñ ‰Àb±d\oµZÑÖö+º»eJp9ßl.þó•Wf÷tv÷@Å~ow Ëu]‡,›`³Ù±{÷W®S§NÁ‰'€áäóùà÷wä˜ À i”g˜ÉIUqêâÅÎ 99‚]×ûD@Ó4H’‹Å«ÕšqÝnƒ®Û´=6gŽîv:Q|à@û±;¿Ú8wnEÈn·CUÕŒÿ¹v;étºß;&ŽlœMCRUa÷]C­VZZ|Ç/þuÝ7ß`ùøñÀ‘#è^»«¦M+ŠdgÛh×w<ˆ"’É$¢Ñè-ÿöíè:xGóòAýGšÌfX/]Ây‡Ãñ0Ì\.víÚûÃŽ?.4Ö6æ~|ñE×›ÍÍém·®®.8N#™LöîÁÏζ# êK–¼õAyyìtI‰Vrê”ð]iéô#“&¢½½½ÏÞ~A2.lø7nÄe·ÛòRVÖ#G“É3Z?"¦L)0Ì¢Ñ(l6ã¾P^^„x|¦gÆ /nºÁ"‡a6›a6›{—c³Ù!I](+ƒqãÊöüñÇL˜pcÇÞ‡X¬²,z?þ ¬®Æ‚-[>oòùšQWgœˆâÕ£/ À°¿Ö<5š)J³gW {Â3cƱ[Ž@OOÏMïU%Äbq‚€ÂB;D1ŠË—eÄbq8÷ÝéðÏ_¹r]ÓÒ¥sàrí5Ü:‰¿³É3G+WºðôÓ¢±CŠÀ͇íA€¦iH&“PUétºÏßÜÎð¯XñYSeå<œ=ët– aÐÙº£\þT*õŸC?Ôáw¹æáìÙ6Þò²‰ ÿ1š¦Ál6CUU$ ˆ¢MÓÜbeøÏóõF†º#H$PPP€ššx½^ƒAX,–~Ïóêðëº>à爠{ š¦!‘H`úôée^¯Š¢@–e¤R©;~nù!¯:::0yòdx½^äçç÷žçÏágh”G@(Š‚h4 +Q{‡˜ÃÏ"ÐÖöÛ ìáð34Š#PYù"þúëRo8ü *bÓÛo¿ŒÃ‡#/ÃÏÁ"°|~vvnÓ¤IcëÖ„Ãg8ü %‚€z·û­çËÊž<®(g^ãð3d TU¡ S÷¬^ÝøuK Þáð3d°|ôJÞ{U99~€ ?@‡Ÿ FàäIls:õëñ÷²eXÈágÈ 8zTðÌšÕ”µt)ÔÕÙ?Y¶¬†ÃÏÜûjkkQ[[Ë5wwÔ¨Û¼ùú&”Þ•×××óÑeˆˆ "€ˆ"bˆˆ "€ˆ"bˆˆ "€ˆ"bˆˆ "€ˆ"º ÿ H…µæ6äî„IEND®B`‚‰PNG  - IHDR¸½A÷ -7iCCPsRGB IEC61966-2.1xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð -Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX -?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j -õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ -{{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% -5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óûpf* pHYs  ÒÝ~ü IDATxœìÝ_¬e×}ðufîŒÇ3öxÆŽãxâ6q“úçÁ/<"Ñ -JUŦµUª*QMKMp”â**´•[”4”Ò6 €'ϼø¡)A¸Im§žØžÏxæþ™¹‡ßïîµgö=sÇv’¹çæÞßç#-s÷^ûܹ’WN~ßµöÚ+?ñB¶•½þ»O  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€€ë^|î‘Cñ2‹v¨ÚŒ6ø‰6ß¡ï¡Þ÷–ýwÇ8`·È"âp¼v¬·ñûa=Újœ_×,(zÁqdÒ7[ ó…þëÑÿÚrÿØ¿ŒCv› ¸(»¢Ýížh'ÛP„äìáZ´óÑ.D{3úfa‘ß§zß{£ïÇ®.ô¿ý/Eñ±¶Ô?ö!ã€eÖ‹Ž,"î‹ö@´÷ö÷cáq9Ú7¢½-û®õ×ÓÑŠö` -•œ¹ÌYÆ·¢½íl´W£­Äï8¯ø€[3X@Q}¹qÎ8f¡q&Ú‡òu>Ÿ?=í7›Í~¶ …Hëý5‹”Eßg?7ú?Ó†bæp?t5~×UËáfÆ!Ë$¨+‹‰\n<¿±S§8þKQLü\–_î¯ìTtôþ[…K\óxf#/÷vå¶ÿ°ÿ‡,  ¾Xn–÷çrã3ã¹(>߆%Ĺôøh?íãøgûñ•~ÍØÿù6Yd‹¾öSù™yòÑ.Äï\³+9Ü`°l€šr·ð,<ò¾áû&³…Yt佯Y,änâwDZçâüÑ~>ÞçìäJ¼¬÷ÿbî3>×ûŸÌÏÈóù™ñþÉ6,CÎ>o.ùo„ïtÆ!K%¨)gó;`¼§x”˃ÇÙœ%ÌåÞÉùéû”»ŒçÆd¯öþïkÃÒäщhwöß“¿óúýÇ;<¿ºÍÞæ}~ÏÇ!µ˜šõ–ÆçŒO “ܬlº|8—"g‘òrÿyܘlt´Æá6)ò£ø_|~ù‘&à`Ëq³m5[Œ|½ÕóK‡Ô#¨)‹‡|^øzo£œ)ÌG‹å2â,@îï?ŽõëFù> ™‹ýçÕ…ó‡ÛÎÅ0yßsî|žËŸs¶RÀA5ÿy~.Á½ ³öëýÜÒÇ!5 jÊÂ"‹„­‚d6›}n>Ÿ*ÚÇûÓ†$¿#NDZM®—íOËš[Û>+ÙÚ%þ[ú²ÿœÌ ‹šD{OB€œµ<ÜààÉ%÷km(þ_k7–áçÏYø/uP—  ¼ÿ8Šñ,<ò^ã\>|}c°(4þîÛ\z­Ý|ÿðôþÅ"#ƒ†Åb$ûd±ŸEÍ—¾É:ì{QÜ´ ö¥½‡$¨-— çÌä•(J~3ŠŽŸœžŒcÿ5^îŒã?Ø­µíK‹ó{$—#ßÝ>Ö¶·Œ…ŠânÍ8`)õ¥øÓ–ßW£Ðøí6,×/Þ—Ÿ3”óÉÏyï~Þ›¼Öûåîä'&çsv3ï}ž›½ÿ¹ø}¹¬Ù-t‹·œë?§½‡$¨k,8ŽÏçógó@¿×nlX–ȵ8÷ú¹/´¡ð˜~wäŒcî6žËb%‹{&ç¯ô¶µÙÙäÖƒKmxÎyþ®ÜÍ&€d;m˜c ÇÂ8[¿´q¸+!û‚€ëA+ -ŒÿØzÑѶÏ2~µ »Œ¯L6+{¬$§ú5YÄ|<;Çñ,f²ÐÉbeuü¬‡ŸxaãÅçÉâ'—0ç}ÏHÛØ[;:9¿e〚ueÁ±õè°(²ˆø\Œ×^ìç® …GìY°\ÏEÿGoñù_oÃrç|ÜÙjÎþ'z…MΈN7/ƒƒlÜ©ÞWÃj{8¨GPÐÂSrvð¥(.~!ŠˆÏ,öãOÅËÿ‹örïŸßâøãñz&®yú×|-Ú«m˜­\_ì3)Dw3‡¾Æ!µêÊåȹ,xÜ|/7{2^ïêç³0Ï¢áO¢½Ò†%gWúk^¾_s¢ÝX®œŸ™³Ž/E{#Ú¥(tù°3〥Õgs ~nÆ—EDÞ—Ÿ3…¹‘X~?äla.MÎâ!—÷ꯗû¹¼ïøŽ~ÍÕÉñ¼æ|»±Û9°À8`™…åŒ`9‹˜EFY„ä¦|¹“xn6ݰlc\¶׌FgÛp?òÛ^ìÌ8`YÅõÂ`-ЉqöqÜ”oÛ†e ×äRâ+qÍølów¼¸5ã€e°å[Ù”ÏF~p{‡ì& €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -pÝ‹Ï=r(^fÑõC›Ñæ?ñÂæ;ô=ÔûÞ²?ðî‡ìcq$Ú±ÞŽöSëÑVãüj¼ndA±CßlY€Ìú¯GÿkËýK`ÿ2Øm€â¢H8/Ç£ŒvO´SÑîè§×¢v!Ú›Ñ7 ‹•Þ'ûÞÛ¯ÍcWú_Œþ—¢øX[Þ_û“qÀ2 -볈Y8Üíþhg¢½7ڽ˕hg£½Ò†bäJÍþE{° K/9ËøV´×ú5¯F[‰ßq^ñ·f°,€Úr qYt|0Ú÷Ìçóg§f³ÙSmXŠœ}ÇÂ# ”,öíýŸiÃÌäá~èjW-C†[2X -@Q}Ö1ïÎ%ÄYHÜTt¤<ÅÄϵ¡¸Ø†™Ê‡vêÛû?¯qÍãm˜¼ÜÛ•Ýø;`?3X&@]¹aX9KøÞ±ˆ‚áwÛ°‘ØÖqüG¢ýbÿT -qæ±õþÏ·¡°È"ãXô}´ŸÊ>yòÑ.D¡³fWr¸‰qÀÒêÊ™Ç\Rœ…ĉ…s× É±,Prùñ‰(.>¹ur6ûbî3>ׯ9Ç>çËÈxÿd¿.û¼¹k ì_Æ!K# —O¿²¸¸ÚßOç,弿Žr—ñܘ,7ËYÅ÷µaiò( šÜÈ, œ,t®ß¼ÃóËá Ûìm¾Ã,üžŒCjÔ5 ‹x -;ù>‹’£“c¹Ûx.-~¹ÿœ³˜LΛ–žþŽ(þŸ_~¤ 8Ør¼mD[Íc`õá'^Øh{8¨GP×´àØ˜Íf¿5ŸÏÿ~´¿´Ø1Îýv -•ÅYÊ,P² ¹Ø^m7Š–ÖûïTüßÕ†MÏò1f¹ûyÎV -8¨Æâ?ïÑÏ%ø¯·á~üKmÆ!5 êgÇönúڡ︬¹M^Gãÿ-}ÙÎFf<û@´÷´!ÈYËà ž\r¿Ö†âÿµvcþX¤/uP—  I!žËŒïŽv:góÜl6û÷m˜©LÇãøßŽöc}—ñœY\,<¦3˜‹EFÞ«¼XŒdŸ;úïüÒíø{`?‰±ôÑ6lØ7ó{1(HPÓøè±,:NEañÔÖÁ¡¸È{‰ÇÂs7ñçãüdzõ%ÈÓYú•Éç´þ~úÝr­7ÅÜ, u〥Ô4]0ÝM|\ª¼Ñ^kÛw Ï¢cúH²¼wÿtï—ŸyoÛþ(³õþYÓâc³÷?…ÌÇš[8øo8×N9“¿ã€‚L‹î,D²p‹„ñña£«mûæb9ãø@ï“I!÷LÎ_é- Í|ôÙ‹Ï=’ïsó³oôß“¢Ùƒl§Ms äXš÷>K‡ßö_À¾%¨)‹€,rÆðÊxp>ŸÿÈl6ûÝv£Ø8‘Ç&×eá²}~-Ž?í±xÿ…8vª LÞ«üñìÇŸíý³àÉ{–· -|ôYßý< ˜||™ÇRÁ¶ÇöÖúëÒÇ!5 jÊ" ‹óÑÎF‘ðé(>½ub{¡q]/$^í×ÝuýƒæóGoñ;¾Þ†åÎòšœýOô —#çŒèâóÏá wêŸ÷Õ0ùßýžCêÔ‹, ²(x)Ú±iñ±(ÏÅËWÛ°l?g1ïˆcOÄëƒqÍÓ;ôÏÍ̾ֆB%ŸM¾¾Ó¿¡¿½¶x*øN‡Ô"¨+ ˆœy'¶ÓmØoü~Èeú¹t8 ˆWúû,"rþ\Æ®_“÷(çÒãk½OÎ:fA“;™_ŠBG‘;3X@Q}ö1—೉YHd‘EÄXŒäñ¼O?w-ÏYÊ,*ræ>Ÿ 3ŠYXä}ÇYˆäwJ*—ûñ쟅͸Û9°À8`™…åŒ`YXälbY„ä¦|ãŽä9c8Ý´l£,y> Œ,.ζ¡ÉÝÇç;õ_Þ_ûqÀ²Šë…ÁZãìãtS¾m›–M®É‚äJ\3>Û|¼fÇþÀÛ3X[¾•Mùlä·—qÀn@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@ @q/>÷È¡x™E;ÔÛN6{›?üÄ ›·¸î¦>À»c° €Â¢x8/Ç&-^,>²ˆØˆ¶š-®¹Ú\—È<Úzï“}×£¹¶ëìsÆ!Ë"(ªwE»'Ú}ÑNF;Þnc’EÇ[ÑÞŒv>ÚZ´Ã½ï©þšß'Wû¹ìs!ÚÅø—¢øX[ÒŸûŽqÀ2 -êˆsæ0 û£} Ú{ÚP|ÜÑÏß9›x1Ú7¢½Ü†È,<²Xyo¿&ÎYÆ,P^‹v6Ú«ùñ»Î+>àfÆ!Ë&¨+‹,2NÏçó/½› f³ÙO´a2—¿?®ûì}žiÃŒäá~èj.W¶ vd°4¾÷F»3ÚÉ(:>³S‡8þt¾Fòxf#/÷veYÿH8àŒC¾%€ºrS±\|.Š„µaéñ½ý5—ŸŽv* -‰?›£Ï¯µá¾älï?$Ž?߆Â"‹ŒcÑÿÑ~êLîC~#Ú…Ÿ{dÍ®äp〥”@yOñ¥6ÜSœÁ¹6cq$Šˆ¿’ý£¸ø­6¹ÙÝqüýøÛpŸq^›»ŸŒcŸóå d¼² ˳ϛËüá;qÀ² ŠŠâc#woîá¹iX¹<8%–Ë‹OMº¿Ò†MÅòÜ]“ãú¹Üh,‹—÷µa7òщþY¹™YÞë|ýþãwùÜs8H6{›³ð{=¨EPX/>²Èųp¸» »ç=Äåël6û¥xy© EÆ]½ß( –œ‘|¹ÿœ›™=09ŸG.UÎÈ®ùïò¹çpä¸É™ûk«1Vsü剽‡Ô#(®/CÎÅüNÈÂ!gOLºä¬b.O^í}æ“sWûñ‹ýçÕ~lt¸í\ü¿ÝsÏá ‹ÿ\ÖŸKð_oÃýø—&!ÀRÇ!5 H9C˜³Žyïñýóùüçóàl6ûçm(:²`¹Öû,—5·¶}Vrë#Úöâÿž{~¸ÁÁ“c'7úËâ?—ðËð×sæ²)ßRÆ!u ŠëEyÎ6æŒ|Þo|ßät.+Î{’sñì—³•ó…˜ÞÿXddßÅbä›~î9$Qд ãj1[æ8  9ëž3òù¸±û&³ŽŸkÃle¹´8g'³ð˜n –ß#yÿ8#y¬mÿn¹Ö›âÞžqÀ®EÞkœËðï™ÏbãÍÞ.ö>Yx¬OúäŒe,¹¼9gïmÛï[^o7Š•éòäÅçž»€ƒlñ€sýçiA¾ìq@A€Âú²ãœ-ÌG„-n:–ÅÆ¥þš›—åwF>žì­IŸœq| _Ÿ÷g2-^®ô–Èæ-ž{þz³ ÛN›æXïcb©ãð6ÿmì#€Ú¦»Ž›ÏçOmœÍ>Û†"%ï9΢# ‡Õþókqþ™èût>¢,Þ¡ ÷,çìýñ8öñþÏöÏx³_»uÏòÏ=÷@*ØöÀlãÚŒCj²ߘü|¶ eÑ…ÇøŒò ýÜ©±cÞâ3¿Þ†åÎyÍêd§óésÏó³§›—ÁA6îÔ?ŸŽ‡‰¥ŽCêEG.>?9–ECÎæ²ãõÉÒýü9ŸG~x6›=¯grrñã\Î`~­÷ÝúŒÅ>“BäÚâ9(hOÆ!µjËåÀYä ãKýñd)7)ïSÞ*Уø¸Ö—îßyü|\ódîY>ÜågeáòRf//åµËùs`_2X -@a}F1—g±3òú©ÜM<‹ŒË K÷×¢ÎPæle.IÎÂ"—!ç½Ë+ Çó³Î÷ÏnÁ8`YÅM6åËÈñ^ü,6Ö'›”Mûgñ1ã½Èù³ÜÈ,g2W'mÃ=ÇðÎŒC–AÀtS¾é±[ })ñ•¸f|¶ù¸‘ß;mrÜ‚qÀn°å[)lä·—qÀn@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@ ×½øÜ#‡âeíPo›½Í~â…Íoµ/ðî‡ìcq$Ú±IË¢bm5[ôÉ×~É­ú®Oú®Grm™ìgÆ!»MP\ ‡ãåx´“Ñî‰voЉ£Ñ®F»í\´ Ñ.õËŽOúæû•Þw-ÚùÞ÷b|ö¥(>Ö–öÇÀ>e° €ÂúŒc÷E»?Ú™hï‹vw´Ã½[¯F{%ÚÅ6Ì0æ5öv²÷ÍYÆ·¢½íl¿f%~ÇyÅÜšqÀ²j»#Ú©6Œö=óùüÙÅN³ÙìâåÎh¯÷CYl<}q‡¾ÏôÏ —«Q|\µ nÉ8`)Eõ%ÇwµaùðûÛ-ŠŽÇ?ÅÓm˜qL÷űÏÞ¢oöËäñ6ÌF^îíÊíý `ÿ3X&@]yoq.1~ ÚwEG ¿×†]ij0Y‰ã?œÇãõ™8÷é~í{ƉcÏ·¡°È"ãXô{´ŸÊeÌyòÑ.D¡³fWr¸‰qÀÒ -ê÷çc¹XMN;‰çýÂ×¢°øý(&þf?—…J#OnuœÍ¾Ø†ûŒÏõkNƱÏÇùÇr2Þg¿S½Ï›KøÓ`ß0X6@MY\dá‘EÁQ$|jëàlößÛ0ã˜3„‡zß,>~« ³‹yìŽÉçä.ã¹)Ù«ýšÜ¸ìøäü‰6ܳ|´_{ýþãž_Ýfoó> ¿çã€Z5eÅÀøØ±Q›Qˆüiç(<~§ ÏoýºQî6žK‹_ž\ÿÀä|öÍg•n“"?ŠÿÅç—iB¶,Ì7¢­f‹1¯{:¨GPSY dQp}&1 -ŽÜ©sÿÑ^|¬õkFùÌñ,d.öŸWû±Ñá¶sñŸ›žå²ç|ìY>Ç›€ƒk,þsö>—àç.þúñ#mÆ!5 êÊb`¥-}ó±¼—8— ßEÇåñ^|ü‡6,[ž—5·ÉëõkÛ‹ÿqÆ3€|äÙÚpïs†YnpðäXÊ¢=‹ÿ×ÚeøY¨¯´%Cê0ßDañ¥vã^â´š3ŽYtôŸLûwÓ{ø‹Œì»XŒŒ÷/ŸŽÏýÒ·ùo‡}'ÆÔGÛPܯO/{P ®é=É£,J¾ÑÛx›À]“ó‹EG~ä=üw÷Ÿµíß-×zS|ÀÎŒC–FPSY\iÃb£\¦¼Ñn -Ùgz/qÎXN‹¼wÿt¿. •{Û°ãø´ÿFÛ^|löþçf³ÙÇš[8øo8×¾ÚÛ^ŒC -Ô”E@Î8æ¦d&Çó{!g³¸Èû†s£¾c“ó‹ÏÏÇÜm{J IDATüÎÞÿt¿ft¥·,@6óÑg/>÷H¾¿Ô†ÙÍüwä†h6ä ÛiÀ9޶%ÃÛñ°? jÊÂ"€|tØÙÙlö³óùü—¢=ï½ 3òYŒŸˆcæqüWâåüø>Žÿt´ÇâýÚðóœ½?Ç>Þû<Û†BçÍþ»¶f,~â…Ÿ{$‹ŸœÑÌYO¤‚mì-åÿ[ú8 &@A}&>‹œuÌÍÆŽF¡ðT ÏFû©[\öÕ6,]N§Çƒca²ƒ¯·a¹sþŽÕü“ߟ!@.GΙÏéæep;õÏÇñ°—ã€zuåldÎ -æìûÖ#ÅÆÈi§8öLŠ“?n7ž3~w<^ÏDÿ§?8‹˜xùZv1ÏkÖûL -‘k·å¯ýiOÇ!µŠê«Æø”Kƒ×£høm¸'?gÁˇ϶ážýK½oÞŸœ÷ŸþO¶añ\zœÅ|39ëøR–6_Šß¥È‡‡,“ °,úýøãýÉyO~¹#ÿXxd!‘ˇsñr¿4ßçuYXœêýó;åjïóF¿&ïU^[ÒŸû’qÀ²ŠëÅGãîü9Óx´ŸÎBbܰl}œAì;ù;—Ÿíýsùò¼mßälÃ=ÇðÎŒC–AÀx?þZ9û˜ÅǸyÛ†e“þY€\‰þã³ÍÇünÚä xwŒCv›€ë¾Ùùlä·ŸqÀn@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@ [^|î‘Cñ2‹v¨·Ñfoó‡ŸxaómúïØx÷ŒCv“€,"ŽÄ˱IËŸÇbb#Új¶è·Ú­,ôÏdm}Òo= -kKþS`ß2Øm€â¢H¸#^NF»'Ú½ýým(<®F»íÍh¯G{« …Çñhw÷þù~¥÷]‹v>Ú…hã³/Eñ±¶Ì¿ö#ã€e…Ááx¹+ÚýÑŒö]ÑîkCá‘r&1‹Ž×¢îïõkìíd?—³Œoõ¾g£½m%~ÇyÅÜšqÀ²j;چĢ}x>ŸÿÆ­:Îf³¿Ü†ïýÿ‡¢ÿ³;ô{&^Nõ~éjW-C†[2X -@Q}ó°¼o8—¿7ÚCïpI.QÎÇœiü®ŠŽÇŸÎ×(@oÃläåޮܞ9Æ!Ë$¨+7 Ëû†óþá¢`ø'[g³ÿÒ†%Ç—Úpq.%ÎeÄ×zÿÓmXrÜzÿçÛPXäùcñ9öSgúõoD»…Κ]Éá&Æ!K#¨+¿òãœI<=9žIn$–»Ž¯÷–ïs™rÎTÞÅŧ¶:Îf_lÃ}ÆçÚ°ûøÉ8öù8ÿXÎ@Æû'Û° 9û¼¹”¿ -ö〥ԕ…Ľ˜Ï{†ô6žËû“õ÷wMúæ.㯴af2gß׆ÙÉщþGûõ×ï?~›çÃAµÙÛ|2 ¿§ã€Zõâ{¥·±ÈžÏç?<í?›Í>׆™Ã,JÊÝÆsiñËýç¼?ùÉù£ý³óºëEþÛ<ïª,Ìs5[ŒÕ~lÏÆ!õÈ Ã~zòþÏïpþSQ|üëÖï/žœÊ%ÊYÈ\ì?¯öc£Ãmçâ?g/³€ÉGåÒ眭pPÅÞ£Ÿüëm˜µÏñrý¿ùeŽCjÔ5%×wââ_öcyq§¢èø;y.^"Îÿ~»ñX±éçlNÞOKü·ô•99>óüÑÞÓ†àŽ>‚,Ø×ÚPüçf~ã2üq¼,uP— ®,r¦ðõ((þ^îÎcãÌaéïs¿EÇöcYŒÌ>gzÿb‘1o7#Ù'‹ýÓñ¹_úvÿØobL}´ öåXØ«q@A€Ú²È骃 ýuü9g'ó±d¹qØÝ“þ‹EG~›ô9Ö¶·\kÛg:›‡,… ¶üÈ¥ÄÇ{ËeÇ›íÆòâéLdÊG‘M‹ñyäY¬ä¬c+'úçgN‹ÍÞÿÜl6ûXs ßâ-çúÏ9Æ 9—=(HP×x?~>Oüßå(ÈŸiÃFbYHdAžõM7[|†xÎ8ænã9C™÷ŸnÛw'¿Ò[ ›ù賟{$ß_Šö6#¹!šM9ÈvÚ0Ç@Ž…_K‡·ñï`ŸÔ–÷õY÷(@žŽâã7ÛP¬¤;ãØ£ù&ŽÿJ¼œßçŽåÑ‹÷_ˆC§úçcï}žmC¡“ÅJÞã¼5cùð/l¼øÜ#YüäŒf>¾Ìc©`Ûc{ËcYü/}P“ ®qó±ËQ$|2 -†_΃ñú“·èÿÕ6,]N§Çƒca²ƒ¯·a¹óÖãÎrö<ÑC€\Žœ3¢ÓÍËà wêŸ÷Õ0ÓM—>¨GPÐd)~. ÎÙÁ—£øø…(">³Ø·/G~%Ú·Ï¿;Ž?¯gr¶r‡kžŠ—¯E{µ_³¾Ó¿¡¿½vþ$Øw¾Æ!µêÊåŹ,xÜ|ïj O¶á±cãsÊs‰~ΞmÃ=û—úµÙ'‹–óýšý3®õÏÌYÇ—¢½‘×D¡£È‡‡, ¨>û˜Kð³ È"$‹Šœ)ÌÄòûa|YÞoœË‡sñr¿übEÞw|ÇäšËýø…~íÚrþ"ØŒC–IPXÎFñ‘³‹¹48g ³ÉMùr'ñy?>nX¶>Î öeËY`dq‘³’G'×L79ÛpÏ1¼=ã€e× ƒµ(&ÆÙÇqS¾m–-\“È•¸f|¶ù;^ÜšqÀ2Øò­lÊg#?¸½ŒCv“ -@(@  €VZ›íõ¿ØeV@(@  €PÀJ›íõ?ØmV@(@ €{ÀÁg €P€ -@(`¥5€ƒÎ -(@  €P€ -Xi³½þ'»Í -(@ °b@8ø¬€P€ -@(@ €•Öf{ýov™P€ -@(@ €O€ƒÏ -(@  €P€ -X™íõ¿ØuV@(@ €•ÖlP€ -@(@ °Òf{ýO`?ú¿¿ú‡â%¿Eõ¶ÙÛüßøƒÍ½ü·AÆ!ß +¸I/*·¡ ]‚âZ?w$Ú±IËdm=ÚjôYÍ÷Ù¹ÿr88ŒCn7ÛDÑGÇÛð=‘- ‰,(²°8íd´{¢Ý;éw5ÚZ´óÑ.D»ý/Eñ±¶ô?ö9ã€Ý àº^tÜít -‹»Û0«x¾·,<îŒv_´‡¢=؆"$¯ËYÆ·¢½íl´W£­ÄgžW|À»g°[l™÷·¡ ø®h§æóù¯Ïf³Š÷Ò†ÂâD´÷GûSqîÙÅω¾Ïäum(FÒÕøì«–!Ã;3ØMÆ{s qÎ(fQñ§£=…ÅÏö.ß݆™Å\’œEÅwïTt¤8þt¾Fòx¿æroWvóo€ýÎ8`·­xáŽ6ïö‘hßÄ?šœOî'ÎûŽó~ãÇQ`<߆Âb«0‰ëí§Î´a¹òym7k±+9¼ã€]e@q_ùÕÈÄóþá,(r¹ñ‡ŠŽtWoù½qoœ*FÑñÅ6Üg|® »ŸŒcŸóå d¼² Möys)ìCÆ!Ë (ì+Û7ËÙć&EÅÿŽ÷¦wÍï‹cýý“ÈÙÈWÚ°ÑXÎ*¾¯ K˜G'zÿœ±ÌåÍ×ï?þÊÍÏ/‡ƒn³·ùt~/Ç!µŠúÊû³èx  K…ÏLºL‹„,PÆâãŽÉñÜŒ,—¿Ü¾£Ö( Ž#máYæ}¶súüò#MÀÁ–…ùFëò‹1°ú‘OüÁÆ^ŽCêÔ5.9Îû?íÃóùü“yb6›ý¯¶ý;"ûæ b#ÓÂ#Ÿ9žÍÅþój?6:Üv.þs¶3ov_ÿ7oB®±øÏ{ôs þëÑ.ÄXÈŸó¿ù¥CjÔgs1‹ðœmüž(:þqž‹¢ã´áûaú‘JÎ2®·KGã²æ6yKü§¿7g#ÇÇœ}  ›åçgAs¸ÁÁ“ûZŠÿ×Úeø9^rœ-uP×Êð@1ù?þYˆgAqßä‘aÿ³ GãÓ{ˆsyr0y¯ñ‘…ÏšÞÿXdä†d‹ÅÈ¡þù§ã÷~éÛú+`ŠqöÑ6lØ—cmÆ¡ÿïP•uÝT,DòçvêÇÿb¾Faò›mû,ýx?òÝýçcmûw˵vc¦¸™qÀÒêÊ{„s6ñâ;u\¸fZDŒ›—åçd“0;19ŸK•óÞçiñ±ÙûŸ‹BæcÍ-|‹·œë?çXØ«q@A€šrIp¹”øå(ļ …x>+üÞþþþq&2Îÿç6ì0ž›—|NÎ8ænã¹1Y®+Î"äžÉù+½åïÚüÈ'¾¼ù•_ýþ|)Ú7ÚPŒägÚƒl§Ms ¬ösK‡»ñ°? -ê…xYxdÑÅAÎÂgá›óéÇFùŒñ?nãƎF!òl>§<Úcñþ m(Xröþxûx^}ÚP¨dÁ“¿kÞ÷Füî,~r374ó@*ØöÀÞrF>ÇAþÿ±¥ŽCjÕ ñ, -Æ•ã=ÄYxŒÅÂè¢}µÏb}c<…Æ£·ø_oÃrçüìÕ ~w?ãcÐÿT0îÔ?ŸŒ‡Í½‡Ô#(l‡Bü|få³°˜>GüÚ°ô8‹ˆüîxk6›=¯gÆË§âÜSñòµh¯¶áÞæõ~÷Xˆ\»]ìG{9¨EPÜ´ïEHÊûˆ7úãÊRnZ–ˈ³(ÉïŽÜl,ûž>O¶añÃýXÎNæ¬ãKmXª|)~‡"Þ†qÀ2¬x,£üÃ/o~å_]ß ‹…sýTyßþ8C¹Úßga‘÷çþY\ÏÏ8¿u­ïx׌Cv‹lÅÇFYdäráñÞüœ\ÏsùCœÏsY`dqq¶ ;’gy‘ŒM79ÛÈbf¹ìÆ!»AÀMzñqmáØæä}ž»}Æg›ùÝØäLÁßã€ÛMÀŽÞMá0éãÞbØÆ!·“ -@+6„€ƒÏ -(@  €P€ -@(@  €VÚl¯ÿ Àn³ -@(@ €€ƒÏ -(@  €P€ -@(@  €VÚl¯ÿ Àn³ -@(@ °â)€pðY  €P€ -@(@  €VÚl¯ÿ Àn³ -@(@ °â)€pðY  €P€ -@(@  €VÚl¯ÿ |'ø?ÿâûÅK~+êm³·ù÷þÌ—7¿ÝþÀ;3ØMV× ˆ#ÑŽMZóh«Ù¢O¾ndAñý×'ý×£ÿµeÿ=°‡,ƒ °(ÇËñh§¢Ýít´;ÛPXlD»í\´ ÑÎGÿ,,V&ýïí×籫ÑÖ²_ï1ú_Šâcm™ì7Æ!Ë"(ªÏ fÑp´÷F{(ÚÑN¶3‰oF{5ÚKÑîˆöV½¯÷°÷ÏæZ?ÿZ´³ýº•ø=ç°3ã€eÔ•³‹Y4dñÁhžÏçŸYì4›Í>݆åÅÙÿr=í#ÑÿÙú?Ó†™ÉÃýÐÕ(>®Z† ;2X@A}Öñh–gáñþŠŽÇ?ÅÄ?ë?æ2䜭|h§¢£÷:_ãšÇÛ0y¹·+·õ€}Î8`Ùueñ‘3ŠÇ£Xøåñ` ÿ¶ EÉÑ8þ×óX¼þÓ8þ©6*yÍ™IÿçÛPXd‘q,ú>ÚOeŸ¼ùh¢ØY³+9ÜÄ8`iµ†m‰""gsÉp÷ÄÏÿ) -‰¿ÚOçfcY¬œˆcŸìý¿Ø†ûŒsF2ïU>Ç>çËÈxÿd–!gŸ7—õGÁ>c°+³½þ°W²èÈÍÂ^‰á‡âõî6'Ú° YÎ>žœôÏ{ŽsÙñ“c¹Ëø+mØh,gß×ûŒNôþùY‡fÃìä–?¼ùùåpÐmö6ÿ¾³ð{:¨Å -€‚²øøÃáQbãl`>jì®Þ²xÈÇŠ™Ïç-OFaòÛm˜‘ÌâØä£²pÉ¥Å/÷Ÿsgò&ç³ÿ‘~íõ"?~÷âóË4![æ9ÎV³ÅÈ×,Ä÷lP ¨ïû™/oD’÷ ç d¾fÑ‘!»/7ûEÑñßúÛ,*Vúë(¯ÍBæbÿyµþÿìÝ{¬eçuöïÌÜ‡ä ‡¯)RTd§F$#.à•7IQ[Tà mb°¶‘D‘Cµc9V „z!.Ë­ü•@²Ù€”)P HÇAÝÀ©\ ªÀrþJˆÔcøš‡Ã™{çÞÓµf{îž«;$EÎ9‡sÖï,ísöùö™s/øéܵ¾Çnû'ÿùoåTæÜø,G7s´R€u5&ÿÙÏ2Ù± £öçÛî}Kí‡Ô¤PÛ8™ J&{\IÈ_Ìc}Ìuʇö¼Ç8­¹MŽ£qŠÿ¼»ëy&9yßó‡#îiC šƒ ÖOö³ì;™ü¿Ð†>1ö½WÛ’û!u)Ô6Nœ‘ˆ‰$ãgãø}ïŠÄãCÙ0Ž=ι ÉÄÔt ÿÞ$#ßoo2’m2Ù?ïùôúAàfýè‘6lØ7ÝcÙý€‚ŠêSñsê}޾çÆc¹IØ8 ?§&?Ÿç"ÙøR$?Ó/Û;ê˜ß#Gúõ­?ž~·l÷|Àwÿq£?ý€…R(h2?“Žœ‚Ÿ÷ -w ÏÑÂqr³Çhº®¸õkN´aJr¾gnZvÛäõ¼6×>O“Þþt$56KX{—œn»·ý[U?  €ºò; “„æóùÿ‘'"!ÿd6"ËD!G"3™N5ÎÉùäyŽ8žìm³]&!Ç'¯¿ÚãÊúæÉÝÆ‘ÍLFrC4›²ÎöÛ0û@ö…ñ–Kë‡7öGàf¢PÛ5»‰GòñH>þI’•L$n×ÇùßhÃÈe>þõ8ÿsÇãÏÅ©;Û0ztÒþ©6$:™ðä†fW–~÷L`ÆûŸ» \sÀy.g,½P“@]™|dBp!’„FÂð™<Ç¿söÿ©õÄ£ #Œ­·ì:í¿Ý†éÎy»³‹9ú?¾Ð‹ãíϦ›—Á:wêŸ÷Ù0Ú -û!õ(4™ŠŸÓ‚stð›‘|üƒH">½·mœÿT¾ñLÛ½Ïøqþ#m˜¶üä>×|,߈8Õ¯ÙÜÛf’ˆl߀ n:o‡~@- -uåôâœâ˜Iý÷E<q2âXÛý~Èdâ\Ä©ˆoE¼Ü†ƼîþÙ>˜eÌ$å…ˆçú5ñ|ÀþôC–I ®]̤áîˆwG|ÿ|>ÿô~ g³Ù'âp{Ä‹mX_|GÄŸˆö¿¼OÛOµa$sœ¾Îâ4• IDAT|9’˦!þôC–fãÊj1Jùw¿reÔñpÄ­mH<Þy½¤#ÅkŸˆ„â©6Œ(æhäñëµóOæ1Ú¤ £‘®Ä¬½zc -¸¹é‡,›ueò‘‡dá3ãÉHþi†™¼=^ûé<ÇÅk¿Ñ†õÈwLÚ± ÉE^s$Ú=Ö_z  ë_Š8ÉÎ¥?ýKv%‡=ôC–F ¶qð+úãÜ`,“ˆœj|OœûR$?Ó›ä(åv<ÿ›½ýçÛ0™›“åšäcqî³ñúã9ŸhÃ4älsnI?ÜlôC–B ®L:r³°oE‚ð—Ú0 9GsŠpŽ:ÞÓ†uÆ·N®9Ôvw&O¹ËxnJvª·}G6&ÝÖ¯ÏiÎ9ÒyuýqŸþ¼÷~ç°ÎvzÌ'£ð+í‡Ô¢PP&‘€ç½ÂÇÑÀL6Æ[ˆ¥L2QÈÛ‹mM.Ýi×&뙸äÔâoöç·´aóQ&™¨œ^ÿöÞû—jЬ·ì;Ù—.fDÈc&â+ë‡Ô³a@€š~è—¾¾õµ_y_®o1–‰Ç¸!Y®-ÎÄüÖù|þw³ýl6ûÍÞv:™Ï3‘y¹?¿Øv“—t°M’ŽüÎùÚüç´æ¼yNeÎÐs´R€u5&ÿÙß²¯å.þ9j?Nó_z? &3 -ëE€q£±LÂsäðD6Ëû’›4¾íÿ½1Nkn“ãhœâÅ×vw=¿½¿ÿÃm˜â|¬ÿÛ¬Ÿìc¹Æ?üÚî4üýuÙý€º&_ êÁEå@Ž2æˆ|&E<qß|>ÿ¥+ f³¼¥XŽ.æ¨ãÞ$}º†o’‘’íMF²Í•'Þÿéô3ÀM#úÓ#mذ¯÷—Ùø?Kê‡þæ¨Ê €Â¾ö+ïÍ$"Gãs*~nöîŒH8þáØ¦ïHþí6LSÎÄE~™œ;Ò®ýnÙîá¶cpú!˲ûå  PÊמzoŽætãL:Þñ'3ò>ãc›H:þqÖ)gŒëŒ/MÞ&¯?ÑÏ›•Ý6y=§8çÚçiò±ÓÛŸŽ÷´YÀúÛ»àtž}!ÿ›Ï„}yýÐß|e™PW®7ÎÄû¾6$ï¤ãò…H8þE¦gª0®Ù¿Ð¯›îFž#Ž¹Ûø­½m&!Ç'¯¿Ú#úØï|í©÷æãLdr-s&@¹!šMYgûm8&óù·ØRûá ÿé¸i(ÔGÿ3¡ÈQÂLÞ5I:þMFã39ÉÄ"G&3iÈïŒy¼m>í?ñx<þ\¦$çHæÑ8÷¡þ>Oµ!Ñ9ׯËuÈí‡>öÇ[ñïÉOÞ¾Ìm©àšÛöÈsYüZz? &€ºÆÍøòcOÆã?{½ "™øÛmH$NÚ?væ¹^9§;çíÎ.æèÿøB/Œ·?›n^ëlÜ©ÞgÃŒÿí¯¤P@mã­ÈÞ¨¹ÏQû3‘„ä}ÉOFâñäÞFñZ®_þFÄ©6Laþ®c’ˆl¯ÖÌÊú!µl\ÝffG€bÆ)øß‰D!§ çäœj|xòz& ãæe9ø;m˜F<ÏŵO´a -sŽFn÷ó9êølÄKçèø÷’|ØŸ~ÀÒ˜PP$;_ûŸþT&ã4âL22YÈâPo6NWžn^6î^žrZqnä—ëŽs -óFŸl› GN9>ӮݭèôC–M ¨H>¶"ù7ãËéÁ×ÛŒoïæeãNâù’‰Èsm­ÌÑÈy»v“³­LrþÃÀMJ?`™6®Nü· œÿüü÷[ÿß/ÿ©7²ßÕÍËâš1‘ÈkÇiÉãµûµ^ƒ~À²˜PÜ$Aøž×¿•k]ú!Ë L -ÖÀº2 -P€v VÀÚ2 -ظ:òo¬-w€6¤ý°þì(@ -PÀnÀf°¶Ì€Ü -0 -P€l˜lø€õç.P€%P€à.P€P€ ¸ °!í€õg à6€P€P€à.P€°$ø‰ï;ІŠû•íô˜ÿð'þÃΪ? T KÉÿ¡8™D>¯ZÈ„+âbFün.þð'þÃÖŠ?¬=w€ûÃ_Iþo8qwıˆ£­f`Lþ/Dœ‹x1âì~âûÎÿð'`‘Ì€Šä?üÃm(ÜñpÄ=m(ÜqpuŸn%¶#.µ!ù¡ <·¿«íþ¤å°(þ`á2ÉÍdÿÄ|>zÕæíd6›=‡Ó­Ï„ðw ,Ž»o#þ€E±/§µç´÷Ó³ÙìÑf Àt ÀéþÜÔX0X ?óÉÿ¸óo?þžÍxx>âù6$º¹ñMw7ÌßÍfþ®VùÁ`ݹ ,ØŸùÔÜú·O¾'“Ü˯4·¼æ6€ù;ZíG€õg,A/äô÷ù>Ðê&ÿ£óøÝù€%P€%™$ºÛ+ý @I -P€Û@f@Æý`ý¹ `  ¸ ` ¸ ``@(`ãjÚ/ÿ€µe ` `à6€P€%P€%P€%P€P€°quæ¿%°¶Ì€ w€Ì€ K 3 ¾Ëÿû÷:0}þ_ü£gv®Ó&çè±Óc¾_{à{£p£)pH(Åáp’‰´ç6#™Øê¯çùlsd™€Ì#6#.F›‹ù8®Ù^öç‡u °W—þÛ ´?øÅ+ Å-·GÜÖ†„"G_8ÉÄùþ<Ïßq<⮈£m((_ޏq&âlÄËyÍûõ™KKþQথ°Hf0&·¶!‘¸'âîˆc9Úx*â¹¶;µ8“Žû"Œ¸¿·;‘£Œ¯D¼ÐÛçuñÞg$ðúôCM ¸H 2iÈÑÃL:2‘xOÄóùüWóõÙlö×Ú0­x«_’íŠøhóÔÞ÷‹öŸjCrr°ŸºÿÆåH>LC†ëÐX·(ì>zeÄqœJœ£‰™tü@FG™ŒähâËmX|2â]û%)Î?™ÇH@>Ò†ÑÈ Wbve -3°‡~À²˜P[Žfâ‘kßñž1q˜È©Å¹ùŽ6l:–S“ï_Œã‹mH.2É8×?Ö_z  ë_Š8IÎ¥÷Æ®ä°ý€¥P¨-Gó» ;#iøô>mrC²Ü|LPîŽvË"éø|ÖŸnÃôäcqî³ñúã™ÀÄã'Ú0ª™mÎ-ü§›“~ÀRX@~ŒD!G3™øí8ÜÏ?Ð_““1ù¸urmî2þ­6l4–£Š9zytòúm½ýp;³Y»ºþø~á»î_ënÜÀoþþ_û®Qø•ôCj1€¼Wø™H8~<Žßñîví÷Ãå~ÌiÊã½ÉG¹ÛxN-þfž£”''¯î×äµW“üHþ÷Þ¿üPS`½ebžøe»}àâûí™­ÉëKï‡Ô£P[&™xäÔáL2qÈ‘Âc“6™¤dò’‰ÃÁ¶»«øôú—ûó‹m7Qi“ö{“ÿ\Ëœ÷/os–£•Ь«1ùÏ5ú9ÿÅ–ëñá¡ómX³¿ô~@M–öþÿù™í?ø{e²0&™täæbÓuÂóÉãqÚþÔ8­¹MŽ£qŠÿ}Ú&8Y¸7âáþïe¢“IÏÁë'“üKmèW¹“ÿ~n3âÕe÷CóÔµá; ¶‰äã«ï¡LNr42Gs”òÒuš_Y¿¼çÜt ÿÞÆyûîd$Ûd²b>Ÿ?ýf?7ܬf³Ù#mí¿Ò_òo±eöCûÔe ™|ìDò‘S†3rdror‘vúkÓ Äò{$×ðßÑŸi×~·ŒíÝv ^‡~À¢YÀ1&¹ysr>×îŸhÃHeŽ:ÞÕ†ÇG›ýšiò±ÓÛŸžÍf6KX{—œîχ>ñÆÿ»1ýÐß|e™À^c’1G3‰ÈuʯL^ËÇÜm<×,gZ‘IÈñÉë¯öÈkw~äyfç«?ÿP>ÎiÎÏ÷+7D³ ël¿M³lfŸxkÒßâÏÀML€©1Q™®=ÎÇcÒ‘¯½0›Í>5ŸÏŸŒx<.ÎÝÙ†Ñû£qîCyQœª ‰Î¹~í•éÌ‘ðl}õç¯ì~žÓœ3‰q@*¸æ6€Ù^§íÂú!5YÀhï(å(“¥e¼s|1Ç®ó~ßnÃtç³-“_ßéŒÇ[_ý¹‡¶û¿5ݼ ÖÙ¸Sÿ|Úöi³”~@=f0ÊÄ GÇuÊ£||¦ ‰ÇÕûÏf³ÄñÜûFñÚÇâðˆSýºÍ½m&‰ÈöÞ× °¥öCjQ`”Sƒ3ñÈéÂú­ÊÒé¶»f9§íO÷3Ñî‰6l8v°ŸËÄ%GŸx)¯‹d_’oŒ~ÀÂ(pEŽÈõçÊÄ#§ -g¢pº¿4Þ›üB??Þ¦,Ÿgb‘Ósÿ=çó}δëßËØC?`‘ìÀU?òÏl}õ¿¿²A_N×åçHãf¾ÖŸ_Š6c‚‘ÉÅs‡ÛðM2Ž^ޱ×Ys ßý€E1€kôäc{Ϲ=ÏóõW£Ýxoóq#¿ÝMÎ$ð¦é‡,‚ßå& “vÖà ¦p£Y\-Èÿ`}Y(@ -PÀî6€µe X˜(@–@f@ -P€%P€P€°[°Ö–PÀî&€«üÀB™Ø -° -° -° -° -° -° -0 -°` ` ` ` ` ,É¿zü¡m(¹èQÙNùýÙgvVýa K` ~÷ñ‡ÅáÈ$òyÕ"@&ü[3þÕã]ü±Ï>³µâÏkÏX°ß}ìJò{Äñˆ»#ŽEm5‹cò!â\Ä‹g÷ñ‡ÎÿØç`‘,€Šä?üÃm(ÜñpÄ=m(ÜqpuŸn%¶#.µ!ù¡ <·¿«íûœå°(–Àâe’›Éþ‰ù|þôª?ÌÛÉl6{$§[Ÿ áïX3 {Àâå´öœö~z6›=Ú,˜.8ÝŸSÿý= c ,Ð~ó™ßù[mÆÃóÏ·!ÑÍïl¸» `þn6ówµÊëÎX°Hl·~ço=”IîåˆWšÛ^sÀŒü­ö#Àú³–àŸfëw~ö¡œþž#ßZÝä´Óc¿#ÿ°–À’<²›èn¯ôƒ%YX˜Ø -° -° -° -0 -P€v—XkË (@ -° -0 -P€,€Ì€ (@ -ØÝp•ŸX(3 (À(À (@ -P€ì˜(@–@f@ -P€%P€P€` ` X˜(@ -PÀÆÿóËï]õglã¯ü—ïXõgÌ(@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -ؘ­ú g (@ -P€ (@ -PÀÆlÕŸX83`Iþ·ß?u Y{?У²ó¿ú£'wVýa X‚HþÅáÈ$òyÕ"@&ü[3âwsñ¯þèÉ­&X{ -°`=ù¿=âxÄÝÇ"޶šE€1ù¿q.âň³ñ;:¯‹¥ Ô§ýnCàÞˆ‡#îiCà–ˆƒ«ût+±q© Éÿ m(€ä¹Íø]m[‹£‹—In&û'æóùÓ«þ0o'³Ùì‘8œnõfBÀÒ)@ -°x9­=§½ŸžÍf6K¦KN÷ç¦þÀ‚mÌVý `ýäžÜùç¿j3žx¾ ‰nn|gÀÝMów³ù“ÖÿÀB™ ‰íÖ?ÿýS™ä^Žx¥¹ à5·ÌøIw€…S€%èE€œþž#ßZÝä´Ócnä–C–d’èn¯ôƒ%)@ -P€ (@³U`áÌ€ (@ -P€ (@ -ؘ­ú g°ÑL€µg (@ -P€ (@³U`á6š -¬=K (@ -P€ (@€×õ¿þëS¦Ïÿ»?wrç:mòæ²zìô˜ï×xsôGÞ¬Ùª?okÿì_Ÿ:‡ÃmH"ÒN$›?õçNnõ×ó|¶92‰üz™GlF\Œöóq\³½ìÏëDà­Øh*ìãŸýßW‰["n¸­ ‰D޾q>óýyž¿3âxÄ]GÛ0ÃìrÄ¥ˆ3g#^Îk~êÏŸ¼´änzú#7‚%|—žlÜÚ†➈»#ŽEä(㩈çÚî”âL6î‹x0âþÞî`DŽ.¾ñBoŸ×mÄ{Ÿ‘tÀ§?p£(pH2YÈQÃL62xOÄóùüWóõÙlö×Ú0x«_’íŠøhóÔÞ÷‹öŸjCRr°ŸºÿÆåH:L?†×¡?p#)pUi§ç(b&?ІÑÄQ&!9ŠørÖ!ŸŒx×~ÉFŠóOæ1´aòBWóSÀzијÊQÁL8rñ;"Þ3& 9¥8×!ßÑ†ÍÆrJòýã‹‘X|± E&GâúÇúK´aýñKg#¹¹ôSÞnäðôGn(¦r1¿2á¸3’…OïÓ&7"Ë]ÈÇÄäîh÷±|!’Ï·a}ñé6LK>ç>¯?ž‰K<~¢ £™9by!§·ÝÛ”Áº»z+¾7˜l/«?f›soíGàf PLŸV<½?x“‘ü^Èdâ`$9r˜IÄoÇá¾xþÞæÀ¤]&·NÞ>wÿV6Ë÷ÌQË£“×o›Äf?—ïq¨)°Þ²?ä:ý¼ßÅè‡y×ݯ²?ÞÚvo+h€5§PH${ï~¨¿”‰É˜g¢p.ã÷G¼»]û}q¹öëO^Ë]ÆsJñ7ûó<9y=Ÿgr¼¿g&Çú9EÖÕ˜üçTüi± kö³Ïåócò¾ìþx¸_s°é{%lÌVý XŠ/É®Îä{¼Ø8Zxå^âm1Ì[‚e⣆·´Ý$}”ÉI&%™0l»»‰§LFrdóåþübÛMPR&.GúçÈc&#÷ô÷¿eÏ{ÁºÈ‘õìW™üçò—üï<ûBö¥ì—Ù'WÑÇöW’¬¿ ÿo°þ¾ü{§ÆQÆL¼ïx¸ ‰÷m½Éxðoôc& -9rx¤·›®žOË ¦ÆuÎmrœ¶Ï„#™cóùüé7ýCÁMj6›ýD÷Œì“¹«ÿ*úã¸ô`÷kÍ€:òýL¼O\/ñŽÄä‘6ì žÓǑܶ|é:ïyeC³}þ“Ç{ÛÛivûã]+ìó¦?”¢À^™\žsúòÞ¤bl·Ý®Ý8lœâG~¤]û]3®…Î)ίD‚óh³€õ·w ÀKýù¡×º¨[dÛ+¡PGþ‘ŸIÇéIâ½wÊñéÞæõ‚1Ù˜nV–r3¿ý=r´ñ®É¿‘r3“ÿsý˜£™/6›²Þönx¶í®ÿ?´Âþ¸Ù¯Q(B €Ÿþ 'w¾ü{§òýÜXìù6ü±Ÿ‰÷tÓ±qwòl“mÇïˆ1¹£†ã´äW&¯åHãÉþ¾¹¢8“ã“×Ç(›—û¿ç6€T0½ àfžûrŒ£ú«è¯ö?kN ˆŸþ '·¾ü{§2™È„#“„½·»8Fo› ù˜´L×çã1ÙÈ×^˜ÍfŸšÏçOF<?çîlÃtþ£qîCyQœª M®iÎäÿ\Ûݽ\òOããþ±°Êþx®_»ß²ÖŒ@!=‘ÈщŸ&ÞW“œ-097¶<ÊÇYHo-–£‹wŽ/F‚ñØuþùo·aZsN¾Ÿ¥Ÿß¾N{Xw;o“þxqòï°ÆŠ™ü¡ÿz‰w¶Ë‘Áqã²Q>Gñ¯Þ|6›}$ŽäÈãÞ7Š×>Ö†[šê×mîmé,ÓÆÌ=_Ø_N ΄#§ è·$K§ÛîÚäqwò” Ì™h÷D6;ØÏeÂ’£Ï¶a÷óó?ó_4êßý€·Ì öIÁΗþ¯S™päáLN÷—rÍq&úùË=òy&9ý8oé·±ç|¾Ï™vý{˜ס?p#(p]‘tlEÒ1îB>]Ÿ¼™¯õ痢͘XdRñ\v7Ï9fã¨å[™È,ñG€µ¡?ðV)ðšzÒ±½çÜΞçùú«Ñ.GsŠñ¸¡ÙÕÍÌ$ðÖé¼ -¼®7š,LÚYS ¢?ðf)@ -P€ lÌf«þÀ¢™(@ -P€ (@ -P€°1›­ú#‹f (@ -P€ (@ -P€°1›­ú#‹¶Ñš -¬;K (@ -P€ (@ -ؘÍVý€EÛhM–á·þå·´á‹÷@ÊvzÌÿÆß¿³êXKÉÿ¡8™D>¯ZÈ„+âbFün.þ¿kÅŸ Öž,XOþo8qwıˆ£­f`Lþ/Dœ‹x1âlüŽÎ+Àb)Àõiÿ‡ÛP¸7âáˆ{ÚP¸%âàê>ÝJlG\jCòÿB - yn3~WÛ–Àâ(Àâe’›Éþ‰ù|þôª?ÌÛÉl6{$§[½™°t -P€,^NkÏiï§g³Ù£Í€é€Óý¹©ÿ°`n‹ó¡¿ç‹ÿòÛ›ñð|ÄómHtsã;›în˜¿›ÍYÿ µÑT`¡>ôû·¾ø;ßÎ$÷rÄ+Ím¯¹ `FþŽVû‘`ýYKЋ9ý=G¾´ºÉÿh§Ç<~7Fþ` 6š)°úÀc¢»½Ò”d (@ -P€°á°þ6ÜÖŸ%PÀF3ÖžP€ (@ -PÀ†{ÀúÛp@X–ëHݲ IDAT@ÍX{f@ -P€ (@ -P€ (@ -P€ (@ -P€ûúÂWž=‡YÄi§ÇüÃ|pçuÚ_·-ð½Ñ¸¸FOE™ÄÁþòvÄÅŒh—Ç­~~oûL<曓¶›‘xl/ëç€u ?p#)pU$™X¸3âxĉˆÛÚP¤L0^‰8q6â|?´·¿«?Îï—Ë—"Îô¶/ÇûŸ¤ãÒR~¸ÉéÜh -\ÑG3Y¸7⾈#NFk»ß™Dœ‹8ñ­ˆ—Û0²˜×Ýß#Ûgâ’£‹™œ¼ñ\¿f#þ3’xmú#‹ À(G3Y¸;âÝß?ŸÏ?½_ÃÙlö‰8ÜñbÖßñ'¢ý/ïÓöSmÁ§-_ޤã²éÇðšôGn8ÆÑÆÃ·¶!áxçõ’¯}"‰§Ú0’˜£Ç¯×>Î?™Çhÿ‘6ŒB^èñê ý!`Mè,Š£L:rð£‘$|f<‰Â?mC¢#’·Çk?çãø±xí7Ú°ùŽIû/¶!¡ÈkŽD»ÇúK´aýñKg#ɹd7r¸.ý€N€©q£°+úÔâÜX,“‡œb|OœûR$?Ó›äèäv<ÿ›½ýçÛ0 -™›’åZäcqî³ñúã9òŸhÃôã\‡|!§·kokëì{½ß²úc¶9w#~@ÞÞйÎýÄÇÇy{°ïDbð—Ú0ý8GsjpŽ6ÞÓ†äåÖÉÛj»;’§Ü]<7#;ÕÛ¾£ ’n›Äf?w¤¿‡"ë,ûCö§émûÆu÷«ìyýáþïÙ`Í)IÇÞûƒÉBþáed² IC&™\î¯ßÖŸçmŶ&o¹Ó®MÜs—ñœRüÍþü–6ì\Þ&ÏÇ[”åwP&Çú9EÖÕ˜üçTüiÏÍúrÇþ,‚ëýWÑ÷ó`Ó÷JP(¢'ÿ9m8“ïœ*œ‰÷8z˜ FN-~¹?Îc&c’žkŠ3A¹u>Ÿÿݼ`6›ýf’éd>¿Ø¯oýñåÉëý}nïÇLFîéŸ%““ƒ ÖO&ô9•?“ÿ\þ’ÿg_Èä=ûeöÉUôǃMòPŠ@“]Å3ñÎûŠ?܆Äû¶Þd¼?ø7Ú$Œë“3)?ц Ãòºc“·}¾íÿ=2®sn“ã(?ÇÁþ¾Ç"yyúMÿPp“Šdý'ÚügdŸ|°­¦?ŽK(B ŽüCÿJq½Ä;“GÚ0ò˜Ssd2“‡Ú Ü×ýRo—·ËQÅmÜ;j¿w-óÔ4ÊÆþx× -ûc¾¯þPˆS™dä(d&&92™ÉÆ»#Ñø‡cƒ¾ù·Û°ž9w¿crý8ÅüÁ·¾ð•gÇ‘ÂaœÞvlÜa<„!¼’lü›6LAÎë2¡¸{Ò>“™ Ñæ3Ñþ£Çãϵa*rNç?ç>Ôßç©6$9gÚ¼œk»·-“üSÁ¸Ƽ?‹«ìçúuãg`)Ò‹9Ú˜£…{7ËQÄL(E’ðäxM<þ³×{¿H"þvˆƒ“ö]§y®SÎõÏ9ýùB~–~~ûÍý4pÓÛy›ôÇ‹9Kè-üÜ$Š™ü¡5ñžÜ&0§_üÞ.gäèå™H>ò~ä'§ÉÊ(^ËuËyK³Smýß|sŸÖ‹þÀ2)0—|'„œ&œk‡sòðäõLÆÝÌsúðwÚ ÌÆsqím˜¶œ£Ûý|Ž6>Û†ÝÏÏGÒcÔ^›þÀ §Àt“Àqúp&™$dâ0]—¼w7óÜÌoܬ,§çƒ¹Þ8×(oô÷ɶ™häTã3íÚ]Ê=ôGE€+öl˜Ó‚¯·;ÿt7óéŽæù’ Èsm¥ÌQÈù¤]Æ–µÆðúôGA€«^c“À½®îf>I òÚq:òxí~í€7@àFSàûmJ¶Œkï¦?p#)@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -°$_øÊ³â0‹8У²óðÁU¨@– ’ÿCq82‰|^µ ÿVÄÅŒøÝ\üðÜZñg€µ§ Ö“ÿÛ#ŽGÜq,âh«Y“ÿ ç"^Œ8¿£óаX -°@}Úÿá6îx8âž6n‰8¸ºO·Û—Úü¿Ð†HžÛŒßÕ¶å°8 -°x™äf²b>Ÿ?½êóv2›Í‰ÃéVo&, ‹—ÓÚsÚûéÙlöh³`ºàtnê?,˜,P®iÿÂWžÝŒ‡ç#žoC¢›ßÙpwÀüÝlZÿ‹¥ –»Ûç.÷ñðrÄ+Ím¯¹ `†;Àâ)Àô"@NÏ‘ï­nò?Úé17òË¡K2It·WúA€’ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€Ø×¾òì8Ì"ôØé1ÿðÜy«í7NàFPà=q8qd™HÌ#.fD›Ÿzo£Ùlö‰6L+Îöúñˆ?íŸÚ§ý§Ú0"y°ŸºIÇeÓá5éÜp -Œ£‡Û0½8Žwî—l¤8ÿ‰H">ÙŸæôã¥|p¿d£·2qÍGÚ0 -y¡Ç«7ô‡€5¡?°( -Œ2éȑģ‘$|f<‰Âoµ!9çÿJž‹ãÇãü/¶!AÉk˜´ÿbŠL.ŽDÛÇúKÙ&׿q6’œKv#‡ëÒ¸á˜7 -»"’‡E̩™Tçÿ{$ÿM97Ë$å¶8÷ÑÞþómX_œ#‘¹FùXœûl¼þxŽ<Æã'Ú0ý8×!_È©Çm÷6e°î¾×[ñ-«?f›s7ä'àmM ˜}îÞ&óö`߉Äà/ÇñŽ6$·µaó±u<6y«\kœÓoœËÝſՆ Æ2ÁyGo3ºm›ýܸ~Y€u–ý!wîŸÞºo\w¿Êþxk¯“ÏÀšR($’޽÷?Ô_Ê?ü¯ŒL¶!iÈä<“ƒÛÛ4äíÄÍçóÿ6GBòÛm‰<Üßg”»Œç”âoöç¹#ùÉÉëù<­Ìï L>ŽõsЬ«1ùÏ©ø9ÒþbÄËmègãzÿUôÇÃýß<Øô=€ŠèÉ&™|çÆb™x£…¹Øù6$%¯öÈÇy ²»s£±ñ}"Ùø?ûÃL&6úq”S–/ök[|yòz¶?Ò?G3¹§–|Ÿƒ ÖO&ô9•?“ÿ\þ’ÿg_È¢@öËì“«è›ä €&»ŠgâIÄÃmH¼oëMÆûƒçýÄǤa§/Nß+’¿˜Ç>ê˜IÍ¡v­qs›Gù92áÈ$åX¼×ÓoñGƒ›NôŸhCòŸ‘}òÁ¶šþ8.= €:òýL¼O\/ñîk3‰¸ºYYÄ™8ÿ³qü¾ˆwŵʶqüëqþËmH"öþ;ÓµÌSÓd*ûã]+ìó¦?”¢ÀTNËÏ]Á31ÉÄ`Lr:òó·F’ñ¥H6~¦·ß;Ú8Nñ¿cò~Óïšq-tNi~%ÞëÑf ëoÚþ£õ{-º?n·Ýý(@ Žü#?“ŽÓ“Ä{œrœÓŠ3©§$ß׆‘ÄLr”ðH?n¶ÝÝûÓt=qÊÍüNô'•»&ÿÆøïdò®sS´›MYo{7<Ûv×ÿZaÜìÿ†"@ -ä=Ç¿ð•góýqä0ÿØÏÄ{Üt,_Ë„"’{æóùoåÉHL>Ù†¤e»·ÍÄc:Åø|¿n”#'{Ûl—ÉÇñÉëc”÷%¹·¤‚ém7ûóÜ—#“öì_«èãƒãç`Í)ñá>¸õ…¯<› B&¹ÉØô¶cc2’£wŽ×DâññH:þI—L n×ÇùßhC"Ÿ=Îÿ\Äãñøsý=r:ÿÑIû§ÚäœiCò®];­ÖÝt-‹«ìçúç˜XS -…ô"@Žæ(âÞÍÁŽöã‘|4…Ïä qü;×y»ÿÔzÂц‘ÅÖÛ?vößnÃúçœþ|!?K?¿ýæ~¸éí¼MúãÅœ%ô~n -ÅLþп&ñŽD$Ïç(d.8IÇ?ˆäáÓ{¯óŸŠÃ·"ži»÷¿#Î$ŽÄ5OîsÍÇâðˆSýšÍ½m "ý€eR`”#ò9xÜÿr$ -O´a²‰Ìe¼?ùsmHLÎ÷k³M®%>Ó¯¹­¿ÇvÏmÌ{šçîçç#é1ê¯Mà†SàŠ¾Q`NEÎD"“L&r„07Ëï‹Ü; wÏ5ü9m8G/ôË_îí3¡o[6^s¡Ÿ?Û¯½´œŸn^ú#‹ ÀU9IGŽ*æ”à)ÌäcÜi|¼íØÅ›ãÈa¿Ã@&™TähäáÉ5'±e­1¼1ú#7š×è Á¥H"ÆQÇqs²«;˜ïMzâñj\“£‰çÞÈ5ÀëÓ¸‘Ø×õ6'»ÑׯOàFP€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -PþÿöîîÇ®+Oó*IQ¤D‰T«ÕÒp¦Ç31’ü¹ ßÄJ:ÉÅ8†Ó–!ÙÖÀ2Æ3˜Æ8# 4˜‰ 0Fì Û­4 Çv#¹H€€WArÿ!p÷°Õ#uKâ—øQü¨¬—{mr×QIIE–x~Ï,œ:{¯}ª -àBñ÷®µ× -@(@  €P€ -@(@Øï=w¨¿lôvh´Û£m¿öê™Ûù³A5Æ#»ð@£˜ØlS!1»Ù ‰[ãܑގ-Z -íÞ¶z»Öû\Ë×éÿxrX?Æ#_”€ûêÅB -ÇÛôw#-D -‰G{;ÙÛs½^ô»ÙÛõÞÎ÷v¡·K½ÿå^t\쿬 ã€/CÀžF±ñLo§ÚTP<Û¦ÙÄó£¥àxº·z;ÓÛËm*>r]f?íí½}ØÛ½îŸy^ÑŸŸñÀ—%`W‹bãÅ6¿ÜÛóÛÛÛÿxccã?ë_ÿE› -нýRoÿv?÷îêçô¾ïäº6!q³öMËááìŸ1î#ÎÒáÌ$¦˜øwzûK½ øÝÑåWÚ4£˜¥È)&~e·b#úñ·óÚ 7Ç5WF»ú(XÆ#ûEÀnžjS!ñõÞþroÿn/~kqþkmº8÷ç>ã—ç½°øa› -Š;I¿îõqê•6-Sþ8×ö¢æºÝÈá¡ì ;ôB ;ˆç¾áYfüë+ÅF<3ZþŽœîç¿›ƒ½ØøA›î/þ¤M»ŽŸìǾ×Ï¿‘™Çþõ[m*drò•,=n÷Sëîs?Šï1Çô¹ø¥;¾òÅìò|𘠓ü]˜7Ë,â™E1ñÿö¯ÿ½Ñ?ýޝŸ^||f!ßoÓcù¼o´iéòìÄ¢mcùœ#MÀzËx¸ÑîíØŸ×ù¾ûƒét|oû¬9@!c6qù|ð#ãT -“ÌÆçïBv©MK„_Y\¾,6Û½¢ã©ÅñlB–%Å?ÕïS€<7®Oñqr°®æâ?Kñ3ÓþQo—Ú‚åß| -ðƒGÇ÷ÜlÆ@ €"FñŸÙÄßÙL,…÷<[x}´6Žg£±_ÛÞÞþíØØØøÚοGƵ)B–GŠ–Ìl^ï¯c³¹Hyf¼¦ùÚøžùœÍë'ã$ã+Ån™ öúK“17›â @cÙfûæÇˆ}³M…÷‰Ñ%…AvÏŒdŠ‘_]ÿW›þ^,ÿf¤(ùtô?Övš—/·Åë,?G -Ž)'û÷øÑ—ýÝàIÓÇÔ·ÚTü§eLži3ç[(BPGþ£ŸÂûÔ^…w/.rñ3‹bãÿnÓߊyéþ,÷$g†2÷Yù˜å½Ì«ÅŲÊæñxúÇc64 -°jcþ¢ÿÁnúñÿèNÇÚv.ÛŸ—ø?;Þk;ÿÖÌ÷BgvóÓ~ý·›[X«·|<Þ¯ë»y”ãñÖhB€"uä?ù):>YÞó’ã,žw%¿¹û建Ùv™•œg#3Ûxzñ=Z»·´ùâxͦh5›²ÞV7¼ÐîÝÿäÇãÖø9„E -È3Çß;{.ÿÙ¿ÜÛÏÛôŸýÞó¦c9—" EÂǽ y³ÝÛ˜,ECŠ“çÈ~þoÓÎâùŒ£‹o5ïXžÏÍÌå©ñ9³¹ÊsÉ/ë= -–Üï3vR´gìÄx¼Úîí5 (@PÄk¯ž¹ñÞÙs RpdðåcÇæÀ¼Ï¬á_´{ÏϦyüØÕÅÇåÙâÞ¦¥ÌG{ònžOÞÛýëï÷cÏ·i)òñ~ì;¹ }ÚT œoSñq|Ïå=Ê°Îæ=0¶Çû9 8ÈñxqüÛ €µ'(d„).2¿,¼çÙ¿ü]8Úî=—<3ˆ)8æ"aöozûñ8ž"åÆ|¢¯ïñíÖ¦ûŸ³üùJ~–qüÖýaÝÝþŠŒÇkY%ôå¾êÅ,þ£¿[ဠ÷ ÏËl}f'SP,ïEþ7mZrœâ!K>Ë”_éÇÛ«:v3ÿIo´iök_~xÂãü¸øœŒG¾,÷µØ<0Ë„—÷(oÍ÷ñ' ¤°HQña›îYÎ,e6»¶h7Ük _œñÀ—!à›.Ý^|sWÇýÊYbèípÿçð`Æ#ûMÀÒÑ6;ÔÛ¿µ½½ýOö긱±ñŸ´éïÈæèÿë½ÿ»»ô{§¿Ö ÖÕnì›ï»?Èñ˜Ï8:®·Àš²ÇóÄãöxŸÙÆG—mnooÿÆòs666þ´M3†)Fž[œÊ.ãYRüÓñ>÷%¿´8ÿÔøü\³œá<Þ„¬¯¹ø_>²ïR›B°ü›Ÿgï÷x<:¾çf3öJ1Šÿ̦@È£Äæç‰Ç<ŸóO÷ã·æëú×ÿáêge‰q/:þ§6î+^œÊÒäÌl^ï¯c³Ã£ÿ3ã5ÅÈ×ÆÏ’âd³ÁúÉ8É£ö–ìËXH(q™1yãq³)þJ0–ýg¶o~¦ø7ÛTxÏK‹SdðËëzQñ?Œc¹8…Å󽨸¯s®¿þ~þ_·Ïíó}Îmñ:;4ú§Ø?Ù?ãG_ú—ƒ'L7ßjÓ¸J˘Ìÿ1ç[(BPGþ£ŸÂûÔ^…÷x4اcs°ôO±1ϦPù¥~î_ôëÿú8–"d{—ïshñõÒ²ÊæñxúÇcú…XÊâyõ!'ë IDATWñ™‰¼>ŽçqdY¢üì¢ÿj±1/ñŸûk;ÿÖÌ÷Bgv3…Í·›[X«·|<Þ¹ßEíÑÇ[£ ŠÔ‘ÿä§xødQx/—gðæY<ï*¾9®Û\|Æòâ'Ë¢c~ùõqýé¶sóyióÅñšMÑ>j6d½­nx¡Ý»ÿÿÈŽÇ9\!( Ïïì¹ügÿro?oÓöSx/7KáYø···³¡X– ¿Ó¦ Ä®sÙ¬l¹ÉØê³ÃS¨¼4>7…Ë©¶sWò¹úd|îGÍc©aùÀ­ñ>ûr¤€O~ãñêhóÏÀšñÚ«gn¼wö\€™]\}ìXŠ‘y9þ½ðx»ÿ´ÝÛŒ,;’¿ž/úñÔ_ÎÏ_÷ãÿ ·7ú×ßoÓ,åñ~ì;£Ï»m*rrMŠ˜‹ãû®>ÿÖÕ¼Æ?®91>ãÖøÌÌ6žkÓîç—{ÑcÖîÏx`ß ¸cl˜¥È)$R|¤˜È a6Ëß‹ìÍÇrŸq– gæðʸüÒ蟂"÷?µ¸æÊ8~a\{ýñüFðä2xÜ•™À^tdV1K‚3S˜â#˳ƒøö8~m´­yæp?ã€/KÀgŒâáHoÇ-ÅÄvo×ÒzŸ¼Þ—ìÕwkÑw«·çïëÀx`¿Ø¡›ýåxo'{{®·Óm*"Žöv³·«½}ÒÛ…Þ.ËŽ/úæëãïõÞξ—úg_îEÇõÇöËÀÎx`? ¸kÌ4¦`x¡·{{¥·oôölo›£[ŠŒz{¿·KmšYÌ5/vrôÍìâ§½ý¢·Ç5‡û÷8¯è€3Øo–žêíù6¿ÚÛ¯moo¿»Úiccã÷ûËÓ½}4¥ÈøK½ïïÒ÷ñ™sÁr³7-?†2ØWîKŸiÓ²á_j{Ñÿa/$ÞnÓLc¼ÐýÑ}Ó/…Ç›mš…¼2ÚÕýý `}< -f¹§8K‹_êíWæb£ -ÿªM»‡§ 9ÜÿFŽ÷×wú¹?×~mþ~ì‡m*(R\ëý^§²|9÷ÜÛ…^à\·9ìÉx`ß ˜ï5ÎÆbÙ8,ÅÙÅéyñÜ'|«ÿºÿÅ8—%EÈ[w:nlü M÷2®9Ù}¯Ÿ#3ýëôËòã܇|%K۽ǔÁº{¨GñÀxLŸ‹ûø{ð%(f—çƒGþä¾ál6ör/~'{p¶M3·}Stü³6Í*æØS‹ÏîâÙŒìƒqM6,;¾8bѶƱ:Gš€õ–ñÇô-Û7ßwã1{×Ú`Í -éEÇêóÁŒSùÏÿ©6Í6žZ\’bâv/@þóåçô‚ã_´{üÑÅ©ì2ž%Å?]\ÿÒÊçÍ(Ëß 'Ç1!ëj.þS¤g¦=›õeÇþŒ¡ü›Ï:ˆñxt|ÏÍfì” (bÿÙT,ÅwfSx?½è’"üÅqþŽ^hü•Ý>«ÿë£èÈ2ä#‹SYÒŸ™ÍKãýµql–¿;ÇÆÏ‘×#_?KŠ“Íë'3ë+)þsûËû÷Û -düdÌÄxÜlŠ€RŒeÿ™íKá¢â›m*¼OŒ.)PRäâåáyÓ±OFŸçz±ñ7r|ÿk›–//Í÷9·ÅëìÐø>)öOöÏøÑ—þåà ÓÇÍ·ÚTü§eLæÿƒó­!¨c¾?øÔ^…w/ þû¶øÛÐß§ß|q\ËLcŠñ>³Û»|ŸC‹¯—–ÅT6ÇÓ8Ó×x(DÀÒ¼dx–™ÆŸ6ÏÞ?³8¿ZlÌKüŸïµkæ{¡óÌñO{ñòíæÖßê-·Ï.×ßÍ£·F!¨#ÿÉOÑñÉ¢ðž—߯¹M`¹„øú87)–÷gã±eÑ‘åʧÆu)PN/¾G¤˜Iñq¼fS´šMYo«›^h÷îÿ?r€ãqk|ž @yæø{gÏå?û—Û4{˜ÿì§ðž7K‘¿ ϯ\šc™aLQ‘B$’[œ_}vxf_Ÿ›þ§Úb³v¯ÊLæ¥ñ3x ,¸5Þ§ÀÏØK~ãñêhóÏÀšñÚ«gn¼wö\€y<Øò±cs1’ÂßÝÞÞ~··ßì_ÿã6-ÑO~¢{=ôãÿ¨¿œŸ¿îÇÿAooô¯¿ß¦Â%Ë“÷cß}ÞmS‘“kRü_l÷žg®ø§‚yŒy–~r<^?Çêí¬!@!#ÈlcfâW ïY*|g&pQtü½=>îÇmšÉ»Ï*Ÿ ’]ü¬M÷?gùó•ü,ãø­/ò»À¸ýײJè ÿ<1Å,þ£¿£ðî…È\ß½ç¸¿Û ˆ?YöëÇÞiÓNäÞî=_üÙ~üÍþúJïÿöê÷LñÒ_~Ò¦ÝËsÍÖ>ü*ðÄ3xœÜ1ö ˜g"#K‚·z±ð·Û´™XާPȲáÛ´—ÀåÑ7÷%ç^âó½ÿ[mÚh,KŽSÔd‰qfϵi÷óËý{™õ‡û0xÜ•B`ì0oX–{“SXä}sÁ1ïbž™Ã+ãÒ|ëRPé»Õ [ü—€5a<°ßÜ1Šgz{®·z;ÙÛñv¯è˜ Ÿöv±·ó½]ïmsô}~¼æïËÍq.}.ôv©˽è¸þ˜~%xb< -æå™1LÁñboßìíkm*:žçæ¿™E¼ÔÛÏ{ûi›fSp¤Hùú¸&ï3»˜Âä½}ØÛùŒþ½Î+:`oÆ#Š€YŠŽ§¶··ô0lllü6Íï´i&rsº™eÊ–Ã}ì;_ÆéÞžîíd/6þp·ýøÛyí…Ç›mš…¼2ÚÕÇõCBÆ#÷%`–ÍIJø“^|»MKŽO×,'>ÕÛó½€ø÷Ó¹÷ù³6ÝœöõùCúñ¶© Hqq¬÷}œz¥M÷ÜÛ…÷Ξ»n7rØ“ñÀ¾Ðòÿ^ä^âËmº—8…À'm*6æâáH/þÓôïEÅ?kSá ÈžíÇÿþ8þƒ6Ý_œk³ëøÉ~ì{ýü™yì_¿Õ¦åǹùÊØ±ü~7ƒuòPâ;€ñ˜>Å/ ÀW‹ ˜=ž+>#ׯ×Ù,,EÃÕÑ7ËŠŸ_|Ìûm*âsî™Åñ ãÜãs¾Ñ¦]Èg'mkÛëñf°NV×—×ù¾ûƒù¬£ã{Û`Í -Ùã¹â1&[£Í…dzã}î~#¯Ò_ε©¸x¦Ý+V"…Jf":Þg³—çó>Hm–¿AwîWn;oëf.þ3{Ÿ™öÚ´sÆÖ¼ãÿAŒÇ£ã{n6c @{Þl³ÁúÉÌzîçÏËL}þg,¤Ðϸ̘<ˆñ¸Ùÿ¥ -¸ÏsÅçBb~>xú¥€H¡ðÜèóâööö?L§ÿ¶MÅF -“5Ïîòíæûœ[Û9ÙÆç§àH!sòao뤣oµ©øO˘<Óf<ηP„ Ž>W¼µM³…)Ò3#™ûŒ_XtÉrâÜ‹|~|^ -˜í•YÞ˼Z\,‹¨l§p<¦¯ñPˆ€UùÛeÉyäØ ‹ÙÆ?mÓ¬d -Ž%YQ‚ãÖʵYÚ?ÏDk;ÿÖÌ÷Bg‰ó§‹Ç›¹€u¶z ÀÇãý‘û]4<Êñxk4!@€:v{®øê’ãó£_–%§hxnq}ŠŒ‹£]צàØZôÉýɧÆ÷Élãé¶ó~å,ežïoÎk6Eû¨Ùõ¶º à…vïþÿ#8·Ú½Ð@P€ €=ž+žÂ{uÓ±&)æ™Ãe±pi\Ÿ×+£Ï™üEŸ)/ÏÍýÅ)>–EË\ͳ–5¤†åc·ÆûÌÚgS¾à1¯Ž6ÿ<¬9@¯½zæÆ{gÏ¥`HÁ‘"a·ÇŽÍ³wîOÞÞÞþnNnllüQ› -”ÌH¦Ø˜M–÷¿èçßé}ßΣÉú×ßoÓ½ÊYμûÎøŒwŸ1Ï^Þn;ïQ†u6ï1ß§?‡9/ŽkW÷` -!@fS4, ï¹0Éß…ÌJÎKƒg¶é¾å‹ãÚ|FІ ãÜósÇ^`¼¾Ç·ÿY›–5çš+ùYÆñ[{ô‡uwû+2¯e•ÐþüJ|• ŠYüGÿ3…w/Fò’b#Ë‚Ï/N¥XÈlafî··ä}žC¾¹±±ñf}%3«ŸÛÏeæò'£ï¥¶ó>e(Ëxàq°”eÀ)2³xn<†,rÏ~ -ŽÜBp§PéEÇ­qKÁü·$ÇÏ÷kÞjӽʛãX>+Kª™ÌZ^εç×'šñÀ¾pטIÌRâùþü ãTvOqqe¹T¸}½÷ÏÌdöÈRäY~œGú^9žÏ:?> xã€ý&`‡Åf™y\Þ“¼µ¸oÙ?EÇ\XÌ÷ ç¾åì:žÌk‹výÆððŒGö“€ÏXl¸<¶g¡0–_í×d61³•ó†fww=WhÀc<°_ìê‹÷ÛÐ øâŒGöƒ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@ØÓ{gÏê/½‡n÷¶ýÚ«gn? ï¡ÑwÏþÀçc<ðe øŒQ<éíØhGÇ©­Þ®õó×úë»ôMKá±½Ò«÷¿õxxòì;ôâ`³¿ïídoÏõö|oOÓ×{;ßÛ…Þ.ö¾)(>é{z\›c7Wú_êý/÷¢ãúãûmàÉf<°ŸÜ5fS0¼ÐÛ‹½½ÒÛ×{{zt¹ÚÛ‡½½ß¦"äêxMÿ3½½Ü¦B%EKf?ííãšz;Ü¿ÇyE<˜ñÀ~°”¥Ã)Rlüjo¿¶½½ýî²ÃÆÆÆwÛ´9}ç‚#…É_^í;ú¿Ó¦ÉÍqèf/:nZ~ d<°¯Ü1fs¿p–§€øL±9Ö‹ˆßkSq©M3”gvë;ú¿×~Í›mš…¼2ÚÕGñ{À:0x̲QX -ŽÌ~}. z¡ð/Û´Ø·ýø_ëíûñßiSÁ1Ï8¶Ñÿ‡m*(R\ë}_§Ò'÷ÜÛ…^à\·9ìÉx`ß ˜eÆ1K‰S@œX9w·àXKa’eÇ'zQñÛwNnlü M÷2®9Ù}¯Ÿ#3ýë·Æu¹ùJ–·{)ƒu÷yÅ÷8Çcú\üâ¿O -@1»<üÈ8•Â$Â3mšqÜ\\–a·‚ãð¸þèâXvϒ⟎÷ù¬—çó>Èsãú|öÉqLÀºš‹ÿ,ÅÏLûGmZ®Ÿlžé?ˆñ8o¸ÙŒ=€EŒâ?EŠï<&,…÷òqbyXúÜ™!Ìòáííí¿ÕÛ¼úYýÜ?oS’Âaù·$…If6/÷×Ú½b¥¾ÇÆÏ‘×#_?Ëj¡ë"3ë_)þsû˵WáÝ “ßjS±qº÷ù›ãØÿÒ¦¥Ëq¼ÿ¯zûcwñÌ(®Ë{™W‹‹e1•ÍãñôŽÇì`<"`)3Ïö‚âïçÍ(*rñ¼Cxvÿa?ÿ´±ôx¹l^âÿìx¬íü[3ß ÎOûõßnn`ý­Þðq»·Äÿ~õx¼5š @ùO~ŠŽO…÷¼ä8Eyfówáäâš¹p¹1Þ_o;w -O±±|YîW>5úe¶ñtÛù³ÌP¦ø¿8^3“ùQ³ ëmuÀ íÞýÿGp…EŠŠÛT€d×ñíÝú?¾ßž\Æ#ûMÀ£ ¸Þ‹ˆyÖq¹9ÙÝ]Ì—…ÃXB|µ_“ÙÄ‹‹kví<ã€ý$`W{mN¶ß×f<°P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@ÀžÞ;{îPÙèíÐ8t»·í×^=sû}¾{ö>ã€/KÀgôâa³¿ííØhóß‹­Þ®õó×úë£Ð8²è›–Âc{¥ÿVïëñþ&ðä3Ø/vèÅÁSýå™Þžíí¹ÞN¶©øÈ¬áõÞÎ÷v¡·‹½o -Šü-y~ô=ÝÛñqìæJÿK½ÿå^t\¬¿<ÁŒGö“€»F±‘âá…Þ^êíëãë¹à¸ÒÛÏ{{¿·ô½>^Oõv¦·—ÛT dÆ2³‹Ÿöö‹Þ>ìíƒÞ÷ïq^Ñf<°ßÜ1–g¦1Æ+½ýz^···ß^öÛØØøÝ6 )4¶ÆkŠ“_ï}ß]ý¤Âµß¬IDATÜÞÿ61›ãÐÍþ½nZ~ {3xÌRDd™ñ\<ü“Ý:õãÒ‹ˆßkÓÒâ+ãõ¥ÝŠÑÿNÁÒ¯y³M³WF»ºï¿¬ã€}'`Þ1<›…å¾á,3~e>× …ïµiép–íÄßëíûñ?Çkæþ?lSA‘ââXïûú8•ÏÌýÇ÷v¡Ïëv#‡Ï2xTDv OÁ‘û…_X̦ØÈ=Æ)²‹ø³ýØÿØÏÿfoÿ°YÉÃýë7Fÿ´éþâOFÿ“ùŒœÏgö¯ßjÓòã܇|%K۽ǔÁº{ØGñ=îñ˜>Å/ ÀW‹ ˜]žYnüô¢Í²,xž%¼=®;½8¿ü:²»x6$û`ôÿF›–$ÏN,ÚÖ8–BçH°Þ2nô–GðÍâ›ï»?Èñøôø~‡?kJPH/:VŸ~dœÊþ³Üx~dØlc´¹Oú?µ8ŸMÊ–3™Y‚œâä§ãý¼!Y[¼?>¾W¾OŠ“ã˜€u5ÿYŠŸ™öz»Ô¦,ÿæS€Äx<:>c³{%ŠÅ -„ÙY<…÷<»˜¥øóùÍÅe™!Ì#Ų|8…Ç‹ãýìØ¸v–¯3³yi¼¿¶rþð¸æ™ñšbäkãgyjå{úÈÌzµ—â?·¿äßyÆBBŒ»ŒÉƒ›MñPŠ €±ì?³})(R4|³M…÷‰Ñ%…Áü,ð›¶½½ýVo«ý?~ù›qªûöâ£çÛ –æûœ[Û99÷OÁ‘bÿdÿ¬}é_ž0}L}«MÅZÆä™v0ãq¾õ€"uä?ú)¼OíUxMÁR”\žõ¾ó>Ÿy«}ö¾áå½Ì«ÅŲÊæñxúÇcV…XJñû’¯Í»…/Oöcÿgyºÿ+ãPf)w[âÿìx¬íü[3ß ÍÌ>ퟗÙK·°îVoøx¼?r¿‹Ú£s` (BPGþ“Ÿá“Eá½\rœ ÃRl¤XÈLa–ÿó6åó²âÕúRÐl/ÞgÓ²Sãû¤ßéÅ÷˜¿ÏÕq]^³)ÚGÍ&€¬·ÕM/´{÷ÿ9Àñ¸5~!@€òÌñ÷ΞËö³”8ÏÏöSxÏ›Žå\ -‡;³…‹çŽÿ«v¯xIáq«Ÿ{uœû~› -Žåß’+/ÏM‘’âã¹Åù¹ÊsÉ/ŸÁc©`ùÀ­ñ>ûrdÆ>øAŒÇ«£Í?kNPÄk¯ž¹ñÞÙs Rpdvqùر¹É,äÝ]Å{qñ_öÂâk£Øh;gܦ"þpïó§½ïïd‰ò(Dž×ïǾ“Îýø»m*rÎë.Žï»¼GÖÙ¼Æ<Žæ0à ÇãÅñs,? €5%(d„)2¿º9Øññú|/R<üiNô×ßXýœ~þ÷ÚTp¤pI¡ru>×û¿¾Ç·ÿY›îÎòç+ùYÆñÕMË ŠÛ_‘ñx-«„öå7à+MPÌâ?ú; -ï^ˆäxf!s‹À¹^Tü~/þpõú~ü»ýåÿëí§m*4ò·äB?þf}e^®¼Ë5?éíƒ6ÍRníßoO.ã€ÇIÀ,3òY<ïÆs<†ì™q>JŠ…¿èíý6-ÎŒãáñšëÏkN´{Ë”ó™™m<צÝÏ/÷¢Ç¬?ÜŸñÀ¾pÇØ(0K‘3ã8?{<3„Ù@,/î<ެMEC– Ï÷¯WƹÜoüÔ¸ææâx®Éýÿ×Û/O(ã€GAÀ]™ ìEÇüø±)>² 9;ˆg“°k‹vc^¾Ü¯™ ‹¶é>äû^ÜŸñÀ~°Ã(®÷"bžuœ7'»»ƒùjÑ0–_í×d6ñâÃ\<˜ñÀ~°«½6'Ûïk€3Ø(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@ÿ?|ÐV7@ÔžýIEND®B`‚‰PNG + IHDR—¨áÀC¡IDATxÚìÜtÞu}ÿÿG’¶iIi¡•¶Äˆ«+sýLÔ–7'”j ~ ÊL±èVöÍ:œt âÜmS' …f”Æ!z–ÅŠüXÅU׺Ou¢]±EÒØBié•6iÒ&¹¾äêÖÏ>îsF…6·Û9ï“æ"=œózž‹×ýý~]aX©T +0´ ³ @€ @€ @€ @€ @€ @€ @€@€ à%¥¢¢âàk’Ô&éKÒU¾†%9þן/¿ÎKÓ ša©T²bâ^>qâÄ÷~á _˜WQQQÙØØøñgŸ}ö%9yæÌ™M .|ï–-[v655ÝÚÑÑqw’§-™‚€£Ûè“O>ù½?þø’Ÿüä'»G=ì‹_üâgßóž÷Œ®©©ihii™·aƽ£Gžøøã/™6mZiûöí·z`† àèVûùÏþ7lØðìÌ™3?˜¤ïk_ûÚ¯¹æš%Éš5k¶\tÑEó“ä¸ý†nøÐœ9s +6—”1f^¨REEEiÿþý7“ªªªªaÆWYY9¢¿¿ÿ©$O$IWW×®Q£FŸdô!ïŸãÊß×&°œGDe’bùêùg†¨îË/¿¼õÇ?þñg¿ûÝï®xì±Çvþù¯¼÷Þ{ÿõ¯xÅØ$åM&å?¼’¤oÖ¬Y×555]ÑÞÞþ|Ÿ*;2*Nhnn^V(®N²÷òË/¿ýÇ?þñ /`†•–Cü ÀÞ½{wüáþá£ûØÇþÇ7¿ùÍ=¯~õ«wœxâ‰ýûÊ›ú¸òÏdð“äû-ÛK#™ásf^ˆ}7ß|óÅoyË[~ïu¯{Ý- Î:ë¬×Ïž=û¶óÎ;ïÔË.»ìÂqãÆ]ÙÛÛ[š4iÒiK—.½'ÉžòßQ(®/ +Íqp$<èLR•¤÷0fØi0Ä7“ùóçÿýš5kÞX*•>ÜÛÛ›÷¿ÿý·•J¥Ûï»ï¾—½ãï8eÓ¦MWŒ3&>øàÏW¬X±,ÉîòßÝ_¾:“üÂR¾h†ÏŸ?ÿŽ5kÖ¼é0f†¨ÞþþþÕo{ÛÛvŒ?þýýýÏmݺõ[ü=ñ-W]uÕ.Z´èUUUµÛ¶mû^’õIX63G·R’ç{{{|ê©§¾ÁÇøÿö(¿T*ý´½½ý_3øØ¹Ïr™!8öüg›Ãÿ±¡`† @€ @ @€ @€ @€ x©©Hr\’Ñåï÷&é*¿?ŽOR›¤/Éóå×1Cp =f̘w·¶¶^—$sæÌùDggçCINœ9sæŸ-\¸ð½[¶lÙÙÔÔtkGGÇÝIž¶dfŽ~ÓV®\¹dܸq“”V®\ù7^xáŸüñ¿ÑÒÒ2oÆ ]£Gžøøã/™6mZiûöí·º‹4Cpt«lhh8}êÔ©'Mštc’ÒÆç&yý_ÿõ_Ÿ¿fÍš­]tÑ•IòÀÜ~à 7|hΜ9›ÇKJ…‚€ªª½½}ë·¾õ­öG}ôÊ$ßúÖ·žNòü‰'žX×ßß¿;ÉIÒÕÕµkÔ¨QÇçßÏ™‡åßÏk“ XÎ#mIŠIöd𬿪½½½ý0g†¨ã’œÔßß_Ñßß¿+É@E’K¥ÒÁ÷GÏÁ;ÍC®$é›5kÖuMMMW´··?Ÿ¤d9Øÿ ÍÍÍË +…ÂÕIF&©3¬´Œâp×]w}$ɰ7½éMó“ä®»îúô'?ùÉ‹7mÚÔúé§ïO2®ü³ü$ù~Ëö’P:d†5CðBT‹ÅÞsÏ=÷ä#Fœ$guÖ«~ô£ýðþûïoŸ3gλÆweoooiÒ¤I§-]ºôž >zN’…BáúB¡ÐGGtf<(&©J2ü0fØi0´oüÖ·¾µ¨··w^’<ôÐC¿¸þúë¿ä÷ßÿI›6mºb̘1yðÁ¾bÅŠeIv—ÿîþòÕ™ä–òEáM‡9C0DíMÒvÞyç=sòÉ'¿)I¶oßþ½$ÿ”äÀUW]õ¡E‹½³ªªªnÛ¶mßK²>ÉËf† ฃìíí}ðç?ÿùÃåïÿms(•JÛÛÛ7eð±sŸ¥2CpìùÏî +â|ß A€ @€ @€ @€ @ @ð52Ɉ$£“Ô%©JÒ™äù$å«.I_ùµ.Kf† àè·Ö¬YÙÔÔtŶmÛžÛµkW÷È‘#G¬Zµêëwß}÷Š™3g~dáÂ…ïÛ²eË®¦¦¦[;::îNò´e3Cpô+UVVtvvV7îäóÎ;oÔW¾ò•W&™ÙÒÒ2oÆ Ý£Gžøøã/™6mZiûöí·º‹4CptQ(®+ +›ä7ß|óßþýßÿý¾ûî»ïö/}éK7¬Y³fÛE]4/IxàÛo¸á†Í™3§`ó0Cptë)Ýyê©§¾föìÙ ozÓ›>–dûÈ‘#‡õ÷÷ïMòD’tuuí5jÔñøþ9®ü}m’ËyDT&)&Ù›dÿ¯8C0Ľò³Ÿýì‡{ì±'7oÞ|o?HV•ÁÜ`*¹’¤oÖ¬Y×555]ÑÞÞþ|’’e<"*Nhnn¾µP(\}˜3¬´Œ füøñ¿wæ™gžú¶·½íú$IN,ÿ³$ãùs_ù®“—†ƒÑuœ‚€ê¸÷¼ç=ðì³ÏxòÉ'×gðl¸ê¾ûîûÞ'?ùÉKÆ÷‘ÞÞÞI“&¶téÒ{’ì)ÿ½…BáúB¡ÐGGÒ¡GÃË›yÍ œa§eD=o~ó›6nÜøÃ$—_ÛÛÚÚúÅ7¼á ¯Þ´iÓÜ1cÆäÁüùŠ+–%Ù]þ™ýå«3É/,ãQ9C0„•>øÁ~$ƒ“ž$YwÕUW}pÑ¢Eo¯ªªªÛ¶mÛ÷’¬OrÀ’™!8úíÝ·oßwóˆo_©TúI{{ûÆ >vî³Tfޱ;ÈÿÇ?ˆó}3@€ @€@€ @€ € @ÀKXE’QIÆ$™¤3Éž$¥$Ç'©MÒ—äù$]–Ë AÀ±¡f̘1ï¾å–[®=í´ÓÆþå_þ媶¶¶Ï'©š9sæG.\ø¾-[¶ìljjºµ££ãî$O[23G·áI¦ +…EÕÕÕøÃîº÷Þ{ç]pÁ#ÛÚÚ6¶´´ÌÛ°aC×èÑ£'>þøãK¦M›VÚ¾}û­î"ÍÝNøð‡?ü‘aƽìmo{ÛmI*~øá×=õÔS#—,Yò?׬YÓ~ÑE}4IxàÛo¸á†Í™3§`óxI©3Cð‚`Ê”)¯ž8qbõ¾ð…W^yåÉwÜqÇ“wÜqÇêñãÇ¿­¿¿ÿ™$O$IWW×®Q£FŸdô!ïŸãÊß×&°œGDe’b’ÝIz’œø+Ì Q#J¥Òˆ×¾öµyûÛßþµùóçwoÛ¶íçÍ›wñ¦M›ú'Ož\*o2ÉàÍ^IÒ7k֬뚚š®hoo>ƒ8ãׯ¢¡¡á„æææ/ +…?ORU*•†½ÀVZF mûÆ7êî»ïþiGGÇI*}ôѳO>ù䉥R)üäø¸òÏ”¿ßoÙ^Rz̼PÏÝ{ï½]{íµ7nÜ…¥RiØgœñº›o¾ùIJsæÌ9wܸqWööö–&MštÚÒ¥KïÉௗ%ɈB¡p}¡PhŽ#€#éà@g’ª$;ï½÷Þ¸öÚk?øfØi0´uÝqÇ×UUU {æ™gšzzz²|ùòï>úè£7'Éý÷ßò¦M›®3fL|ðÁŸ¯X±bYÏžS¾‹Ü_ÞL~a)_4ÝwÜqÇ'ªªª†Æ AÀu ɶ/}éKŸ|ä‘GO2|ëÖ­ßLù÷įºêªË-ZôΪªªºmÛ¶}/ÉúòßÁ AÀѾ”J¥'ÛÛÛVþþß>ÌW*•6¶··oÊàcç>Ke† àØóŸ}Š Î÷Í @€ @ @€ @€ @pŒžä¸$uIF&Ù‘¤'É@ùûº$}IžOÒe¹ÌFÿÞïýÞŸ\{íµ¸ÿþgŸ}ö™¹sçþ===[gΜù±… ¾oË–-;›ššníèè¸;ÉÓ–Ì AÀÑשׂ¯¾úÊ#FŒ}òÉ'·&éïéé9î¸ãŽ»°¥¥åÊ 6t=zâã?¾dÚ´i¥íÛ·ßê.Ò AÀÑmLCCÃé¿ýÛ¿}âÔ©SÿW{{û¿&ùV’½·ÞzëkÖ¬ÙvÑE]‘$<ðÀí7ÜpÇæÌ™S°y˜!8º œsÎ9o8ñÄ«¾øÅ/N?÷ÜsßõÐCÿŽw¼cÙÀÀ@MÿÎ$O$IWW×®Q£FŸdô!ïŸãÊß×fð¼™_¿Ê$Å$Iº“ôÿ +3C5ººº~ö‘|¤p÷Ýw/É+~ö³Ÿ}tÞ¼yزe˰ɓ'÷eðÃdIRqÈ•$}³fͺ®©©éŠöööç“”,çQÑÐÐpBssó²B¡pu’þ®®®'_à +-#†¶š;ï¼óÑ$ýI~‘ä„G}ô¬“O>y|©Tª(¿>î`,dð“äû-ÛKÊqwÞyç#I6Cð_µkéÒ¥ó/¹ä’w½ò•¯üô˜1cN8ãŒ3N¿ù替‘¤4gΜsÇweoooiÒ¤I§-]ºôž${ÊwD¡P¸¾P(4ÇÀ‘tè@U’ÝK—.½ê’K.ùƒ0ÃNˈ€¡mø‚ ¾2uêÔ©ûöí»¶³³3+W®üî£>zs’Üÿý'oÚ´éŠ1cÆäÁüùŠ+–%Ù]þ»ûËWgùΓÇÈ |uêÔ©Óc† `ˆêíïïÿúÛÞö¶íãÇŸÚßßÿüÖ­[¿™¤=I®ºêªË-ZôΪªªºmÛ¶}/Éú$,›‚€£[)Éó½½½>õÔSßÎàcü{”_*•6¶··oÊàcç>Ëe† àØóŸmÿdž‚‚ @€ @€ @€ @€@€ ४¢üµ2É@ùý1:Im’¾$Ï'é²LfŽ-µ§žzê…'NóÌ3_±iÓ¦¹cƌɃ>øó+V,K²»üw÷—¯Î$¿°”/š}}}<óÌ3Æ AyæŠ+®¸"ƒ–w&ÙqÕUW]¾hÑ¢wVUUÕnÛ¶í{IÖ'9`©ÌCw’ûöíûÇC_(•J?mooÿ× >vî³DfŽ¥Òéƒûq¾´3C€@€ @€ € @€ @ Ç–ŠŠŠC¿­N2:ɘ$û“ìNÒU~Ÿ¤6I_’ç˯óÒó+ϰT*YE ±ã3gÎü³O|â®_¿¾ãÿøÿº§§ç¡$cfΜùg .|ï–-[v655ÝÚÑÑqw’§-›‚€£[éøÀÂÛo¿}ÎW¾ò•âùçŸÿÛ¿ýۿݧ££#§œrÊ@’žòÏTr%I߬Y³®kjjº¢½½ýù$>EvdT444œÐÜÜ|k¡P¸úðz!3¬´ŒÚFÕÕÕ½©¯¯¯ú«_ýêW¾úÕ¯®»ë®»þvΜ9¿],+O9å”IÆ•v ƒŸ$ßoÙ^J噌¨««›Ö××7Ò AÀUß'>ñ‰…—\rÉ;^õªW}ö¸ãŽ«û­ßú­—}á _ø_¥R©4gΜsÇweoooiÒ¤I§-]ºôž >zN’…BáúB¡ÐGGÒÁ#€Î$UIÊ3|ç ˜a§eDÀ,X°àËS§N}cww÷ŸwvvfåÊ•ß}ä‘GnN’ûï¿ÿäM›6]1f̘<øàƒ?_±bŲ þŽyÊw‘ûË›É/,å‹fÔ‚ îœ:uê›c† `ˆêéïïo{ÛÛÞ¶müøñSûûûŸßºuë7“´'ÉUW]uù¢E‹ÞYUUU·mÛ¶ï%YŸä€e3Cpt+%y¾··÷Á§žzêÛ|ŒÿoòK¥ÒÆöööM|ìÜg¹Ì{þ³ÍáÿØP0C€ @€ € €QM’ê$õIª’”Žð¿¿"I’Iz“t à×läÈ‘S–/_¾¬¾¾~lWW×þ#jjjFìܹsÇܹsçõôô|×T@øïÖÓÓ³á²Ë.;;/#@G@WùÚe)@ @€ @À—ê$5IêÊßïNÒYþóñIj“ô%y>I—å2Cpll/Ÿ9sæÕ ,¸ IßâÅ‹ÛÚÚÚnL’™3g~táÂ…ïÛ²eËΦ¦¦[;::îNò´e3Cpt+}àø‹Ûo¿}ν÷Þ»kذa£î½÷ÞŸy晣֮]ûó–––oذ¡{ôèÑüñ%Ó¦M+mß¾ýVw‘fŽrÇüžùóçåÆo¼1ÉÉwÝu×gÿàþଳÏ>{úš5kžºè¢‹®J’xàön¸áCsæÌ)Ø<ÌÝ*oºé¦¦$û“œä¤—¿üå'.Y²ä_Þ÷¾÷½º¿¿ÿ¹$O$IWW×®Q£FŸdô!ïŸãÊß×&°œGffIŠIö”ç–›nºéÿKrà0f†¨žCÞ “-ZôÆ ëY»vííýèG?•Áóåƒ?SqÈ•$}³fͺ®©©éŠöööç“”,çQÑÐÐpBssó­…BáÏY÷2ÃJËˆÆ 6ìÜ5kÖÜÒ××7ìŒ3θ4É–‘#Gö—7‹qåŸÈà'É÷[²—Œƒ›ÿñÆ ;Ï AÀÕ¨áÇ_òÓŸþôæïÿû—\rI¡¶¶ö7ŠÅâð¯}íkÿô™Ï|æ}ãÆ»²···4iÒ¤Ó–.]zO='ɈB¡p}¡PhŽ#€#éÐ#€ª$Çþþ8ÃNˈ€¡m`Á‚çzê©U;wîìÛ¼yóůzÕ«.þ£?ú£¯Þ|óÍŸ?óÌ3OÙ´iÓcƌɃ>øó+V,Ëà|¹¿¼™üÂR¾xÿûf†êÝäM7ÝtãòåË«®®UUU50lذž;wþï$ÿzÕUW]¾hÑ¢sªªªê¶mÛö½$ë3øa3ÌÅzöìÙóÍ={ö|;Éðòk}å+¥RiG{{û“|ìÜg¹Ì~ˆ¬¿|ý2q¾o† @€ @ @/ 5Iª“Ô'©JR:ÂÿþŠ$ýIv&éMÒe$ €_³‘#GNY¾|ù²úúú±]]]û_Œ¨©©±sçÎsçÎ×ÓÓó]Sà¿[OOφË.»ìì¼tŽ]åk—¥ € @€ ÿݪ“ô—ß=I†'¤6I_’ç“tY&3ÇŽ1µµµokllü@KKËMÅbñ‘$fΜyÍÂ… /Ú²eËΦ¦¦[;::îNò´å2CpôYWWwá×¾öµÏŸyæ™cV¬Xñp’ cÇŽ½°¥¥åŠ 6t=zâã?¾dÚ´i¥íÛ·ßê.Ò AÀѯ¡¹¹ùêW¾ò•cöìÙ“$£’œ°téÒËÖ¬YóìE]ô¡$yàn¿á†>4gΜ‚Íà AÀQî¸ãŽÛûçþçY]]}Ö?þã?~¤¦¦¦r×®]5ÕÕÕ£ûûûw'y"Iºººv5êø ž)|ÿ—?c°šGDe’b’½<çßÿ+Ì UÝÝÝÛº»»ïnhhxueee2ø!²Ê$åé)­8äJ’¾Y³f]×ÔÔtE{{ûóIJVóˆ¨hhh8¡¹¹ùÖB¡põaΰÒ2"€”7ïƒwðUI”7‘Š$ãʯdð“äû-—‚€cCÕ!wð}I:ï»ï¾üä'?yù¸qã>ÒÛÛ;0iÒ¤Ó–.]zO’=åŸQ(®/ +Íqp$z0â»û2ÃNˈ’¤·T*=»wïÞR©Tz.ÉŽÖÖÖ[Þð†7œ¾iÓ¦¹cƌɃ>øó+V,K²»üwö—¯Î$¿°„Gå AÀP×ÑÑñÈë_ÿúwvuuý,ɾ$®ºêª.Z´èíUUUuÛ¶mû^’õ|´Œ‚€cA©TÚ¼wïÞ͇¼ÔS*•~ÒÞÞ¾1ƒû¬’‚€¡c Î÷Í @€ @ ॡ&Iu’ú$UIJGøß_‘¤?ÉÎ$½IºŒðk6räÈ)Ë—/_V__?¶««kÿ‹555#vîܹcîܹózzz¾k* üwëééÙpÙe——Î €# «|í²€ € @€ @ @€ @€@€ ü7ªIR¤>IU’Òþ÷W$éO²3Io’.#üš9rÊòåË—Õ××íêêÚÿb@MM͈;wî˜;wžžïš +@ÿÝzzz6\vÙegç¥sàè*_», @€ @€ x1Þ/å sÇÊŠŠŠSkjj^ÓÕÕõ“R©ôT’ã«««Ï?~üÔþþþÝ[·n}¨üú>ËeŽ àØx?¼êo|ãŸÝyçsßüæ7_þ‹_üâ«IþG[[Û­çœsÎ+:;;³råÊïÏŸ?A’µIX6sG·ú?ù“?ùÜÒ¥KßÝÝݽ{÷Ö'{ùå—Ï0aÂ)uuu·TWWW®]»vîºuë®lmm}"ÉNËvÔÏñ'Iž³l*Ê_«’ô') >üÄaÆõ\tÑEë—,YrÆñÇ?¼³³sÌ»ßýî7lܸñgÅbqY’¬_¿þ-3f̘ÚÚÚ:1ƒG'©3å#¥2I1Éžòìöæß:cÆŒi­­­uå+YZûFÖÖÖžU__F’ÒÎ;ÿ¹X,®]¼xñþläÈ‘gTVVö%~ÈûäÙC6 $˜5kÖµMMMóÚÛÛ;m G.Þêš››— +…ÏÔÖÖž]__ÿÆ$‡1ÇaåVYpŒÛ×ØØØ¸xñâYI²`Á‚¯.Y²ä›å']‡l¥C6ö‘7þò?sÇÿâ*%é.Ïñý‡9G¿ €€!fTKKK˪U«þ9Ivîܹ®üzUù:hï¾}ûöœtÒI¯H29IªªªNèîî~6I_¡P¸¾P(|.ɉ6’#¦2Éî Ô¶´´Ü¶jÕªÆ뺻»ŸK²×Ý?†Žžb±øP±X|¤üý¡@ÏÁ§Iž¿úê«o[»víÍ«W¯¾³ºººbÊ”)5“'O^’¤£ü3û’ËfŽ àè6²ªªêüGyäsgžyf]’<ôÐCïxÇ;®K²³­­mñ9çœsZgggV®\ùýùóç/H²ö—Ü]bŽ à(²oñâÅï?õÔSëF½hÿþýÇ?ýôÓ×]wÝ}ãßøÅ„ N®««[V]]]µvíÚ¹ëÖ­»²µµõ‰$;-ÝQ?ÇŸ$yÎÒ!`h¨(­LRJ2úSŸúÔ¢k¯½ö“]]][“üÆw¾ó·UVVžxî¹çž´qãÆMÅbñ–$Y¿~ý[f̘1µµµubNRgÊGJe’b’=IúË38œ9¾uÆŒÓZ[[ëÊ!W²´8ö¬­­=«¾¾þŒ$Ù¹sçvïÞýp’¾$£O?ýô3Þò–·LzßûÞwóòåËgdðeϲ%ÉÀ¬Y³®mjjš×ÞÞÞi9rñÖÐÐP×Üܼ¬P(|¦¶¶öìúúú7&©<Œ9+¿VYŽ pŒÛ×ØØØ¸xñâYI²`Á‚;–,Yòí$æÌ™óÉe˖ͽâŠ+V$ùZ]]ݹå÷ÊȃyÃpÇÿâ*%é.Ïñý‡9G¿ €€!fTKKK˪U«~¤ÿ¹çžûi’׿ç=ïùÓøÃ³ßþö·?øÝï~÷Æ$¥}ûöõœtÒI'&™œ$UUU'tww?›¤¯P(\_(>—äDÉS™dwj[ZZn[µjÕcŽuÝÝÝÏ%ÙëîCGO±X|¨X,>\þÍe—]öw­­­³ï¼óÎî·¿ýí“>ÿùÏ?tÍ5×|iΜ9Ëžzê©¥«W¯¾³ºººbÊ”)5“'O^’¤#ƒçÏû’}z©¹¹yÞØ±cÇ666Þ±cÇŽ{’tYÆcbŽ{-#†®ª»îºëú»îºëóIÆ”7”ÝI:“ ttt´Ìž=ûkå÷LÑæoŽ àØ°¿|ý¿w[&s@€ @€@x‘Õ$©NRŸ¤*Iéÿû+’ô'Ù™¤7I—‘€~ÍFŽ9eùòåËêëëÇvuuí1 ¦¦fÄÎ;wÌ;w^OOÏwM €ÿn===.»ì²³óÒ9pt•¯]–€ @€ @€ü:ßåë¿ò:æŽRIꪫ«ß4qâÄ©{öìyvÇŽßNòt’ÕÕÕÓÆ?­¿¿÷Ö­[*•JO%ÙgÙÌÝFVUUÿÈ#|îÌ3ϬK’ /¼ðK÷Þ{ï’$õmmmËÎ9çœS;;;³råÊïÏŸ?A’µIX:sG¯}‹/¾ø5¯yM]EEÅÞùÎwþÎý÷ßÙˆ#þù‚ .8c„ ëêên©®®®\»víÜuëÖ]ÙÚÚúD’–ãO’£¹¹ù_Ëû¨ò&óì!P’ Ìš5ëÚ¦¦¦yííí6#o uÍÍÍË +…ÂgjkkÏ®¯¯c’ŠÃ˜ã°$ÃËî·´8öíklll\¼xñ¬$Y°`Áª%K–|;Éð/|á _¹å–[v=ùä“ioo¿pÓ¦M§Ÿ~ú$#nüå Ãÿ‹«”¤»<Ç÷æý6†˜Q----«V­úA’þÍ›7?ñáxÙˆ#Ž¿ñÆ¿ä±5kÖ\p ' ëîî©91Éä$©ªª:¡»»ûÙ$}…BáúB¡ð¹$'ÚHŽ˜Ê$»3xPÛÒÒrÛªU«6$xs¬ëîî~.É^wÿ:zŠÅâCÅbñáòüGõôô\²lÙ²‹ßþö·ÿþ°aÆŸ~úéc.½ôÒk“äÊ+¯üôêիאַ®®˜2eJÍäÉ“—$éÈà#å}Iž±¤/Š®b±øp±X|ôW˜cÑ2"`è8x^ðÎïÀÊ•+¯ß½{wÏÂ… ß³eË–íÓ§Oÿdooïדdúôé]ÍÍÍóÆŽ{Rccã;vì¸'I—e<&æ¸×2"`èêKòt[[ÛŸ·µµ}¦üý®$ÝIÒÑѱ|öìÙ÷”ß3E›¿9‚€cGoùúe¿Ûß}pÁA€ @€ @€ @€ @€ @p4¿_ÊæŽ1#ªªª^VUUU³ÿþ§“ «®®ž:~üøiýýý»·nÝúP©Tz*É>KeŽ àØyOüÆÇ?þñ;k®¹¦1Éimmm·œsÎ9¯êììÌÊ•+¿?þüIÖ&9`ÉÌý^qþùçúÓŸþôÙ7ÜpÃÚ$¯¼üòË'L˜pJ]]Ý-ÕÕÕ•k×®»nݺ+[[[ŸH²Ó’õsüI’ç,††Šòת ž—’Ô¾öµ¯½ðãÿøù?þñS[[[•¤öÝï~÷7nüY±X\–$ëׯËŒ3¦¶¶¶NÌàããÑIêãLùH©LRL²'Iy‡3ǷΘ1cZkkk]9äJ–Ǿ‘µµµgÕ×׿>ÉöööÍ>ñ‰OüÉûÞ÷¾þøÇ?þòqãÆHr|’š$]Iž=dJ’Y³f]ÛÔÔ4¯½½½Óräâ­¡¡¡®¹¹yY¡PøLmmíÙõõõoHÒs–dxùÏý–Ǿ}‹/ž•$ïz×»î}Å+^1üâ‹/žø£ýhäùçŸÂ)§œ2vâĉ³ÚÛÛ÷744ô%ypã/oîø_\¥$Ýå9¾ÿ0çè·0ÄŒjiiiYµjÕú$ý›7oÞüæ7¿ù¬¯~õ«§¾æ5¯©©¬¬}úôÍÍÍóÆŽ[ߨØxÇŽ;îÉày2Gÿ÷ZF$ +…ÂÂC6˜bGGÇòÙ³gß]~ÏmþæŽÁã—¼Öe³0G€ @€ € @€ @ @€M$’”Ê×Á×ÊæŽÇUWWO}ÙË^ö¦ÊÊÊa}}}•J¥ç«««Ï?~üïö÷÷ïÞºuëC¥Ré©$û,™9‚€£_ÃÇ>ö±¿üÔ§>õ»]]]Ù¶mÛž×¾öµ³úûû÷¶µµÝzÎ9çœÚÙÙ™•+W~þüù ’¬-ß]bŽ à(U1~üøwÌ;÷w_óš×üÓO>¹nĈ›úûû»?øÁþÑ„ êêên©®®®\»víÜuëÖ]ÙÚÚúD’–ãO’R*““ì)Ïn_yž/pŽo1cÆ´ÖÖÖºrÈ•,-Ž}#kkkϪ¯¯ÿ$}›7oþ饗^:¹¯¯oßž=zôo<üðÃó_þò—¿¼½½½²¡¡¡/ɳ‡l@I20kÖ¬k›ššæµ··wÚ@Ž\¼544Ô577/+ +Ÿ©­­=»¾¾þ IúcŽÃ’ ?$AÀ1n_cccãâÅ‹g%É‚ ¸öÚk—\{íµÍIvýÍßüÍø»îºësúÐ‡ÞØÙÙ9ý“½½½_O’éÓ§w577Ï;vìIwìØ±ãž$]–ñ˜˜ã^ˈ€¡«/ÉÓmmmÞÖÖö™ò÷»’t'IGGÇòÙ³gßS~Ïmþ掽åë—ýn÷ÁMs@€ @€@€ @€ € @ÀK]eùêû%ï—ò…9‚€cÄðŠŠŠWœrÊ)o¯ªª:iÛ¶mßïííý§$•ÕÕÕ¿3~üø3ûûûwoݺõ¡R©ôT’}–ÌAÀÑoâ…^xí—¿üå9ÕÕÕùÇüÇí¿û»¿{M’gÛÚÚþöœsÎyugggV®\ùýùóç/H²6ÉËfŽ àè5ê¯xÅûoºé¦9¯yÍkîoooïøÑ~ôÁ}ìc—=öØcÏL˜0a|]]ݲêêꪵk×Î]·nÝ•­­­O$ÙiéŽú9þ$És–CCÅ!.%9ù“Ÿüä¬ï|ç;ûN;í´±·ÝvÛÔ?þã?~ìÑGýN¡P˜·qãÆ'‹Åâ-I²~ýú·Ì˜1cjkkëÄ >>¤>Δ”Ê$Å${’ôçßá¿Ð9¾uÆŒÓZ[[ëÊ!W²´8ö¬­­=«¾¾þ$éÛ¼ysï3ÏT*•žJ²Ï²™#8ºíkllœ»xñâY;vìÈöíÛû^÷º× ûÓ?ýÓš››?ßÖÖvã9çœóšÎÎά\¹òûóçÏ_dmùîsG©á---ËÚÚÚÖ=ùä“/»êª«Îû£?ú£S›››×¾÷½ï;a„Sêêên©®®®\»víÜuëÖ]ÙÚÚúD’–ãO’\•¤/ɰþþþQ(UTT K2pàÀR’1çwÞ7n|²X,.K’õë׿eÆŒS[[['fðññè$õq¦|¤T&)&Ù“¤¿<ƒÃ™ã[g̘1­µµµ®r%K‹€cßÈÚÚÚ³êëë_ŸäÀŽ;~¶mÛ¶Ž¯~õ«OlݺõI²hÑ¢&ùŘ1cj2øˆøÙC6 $˜5kÖµMMMóÚÛÛ;m G.Þêš››— +…ÏÔÖÖž]__ÿÆ$}‡1ÇaI†—ÿÜoipìÛ×ØØØ¸xñâYIrñÅß»eË–ç~ë·~klmmíMIò•¯|å¢×¿þõçutt œrÊ)}IFÜøË†;þW)IwyŽï?Ì9úm 1£ZZZZV­Zµ.IÿæÍ›w~ùË_¾¦«««·³³ó»IÒÕÕuÎÌ™3_³}ûöžI“&Õ&™œ$UUU'tww?›¤¯P(\_(>—äDÉS™dwj[ZZn[µjÕÿ>Œ9Öuww?—d¯» =Åbñ¡b±øíòÆ=îK_úÒÙ<ðÀï»ï¾›’ä¼óÎ;ñÌ3Ï\¹víÚŸ]y啟X½zõ—«««+§L™R3yòä%I:2xþ¼/É3–ôEÑU,.‹–7ñÙcÑ2"`è(ý‡¯;¿ñoüÍ\п`Á‚s“ä‚ .¸uíÚµŸOÒ7}úôbssó•cÇŽ=©±±ñŽ;vÜ“¤Ë2¾dæØÿ+Ìq¯eDÀÐÕŸds[[ÛÕmmmU~mw’Î$}í³gÏþZù=S´ù›#8vìO²«|ýGÝå s@€ @€@€ @€ € @ÀK^Eùké—¼_ÊæŽ£***^yÊ)§¼#É­[·~³T*=dduuõ´ñãÇOëïïß½uëÖ‡J¥ÒSIöY2sG·áIÞð·û·‹çÎû¦‘#GæøÀÊÖÖÖ¿Nòê¶¶¶Ï9çœS;;;³råÊïÏŸ?A’µIX:sG¯ÑsæÌ¹ò¼óÎ{ÓË_þò+**üÃ?üü-[¶Œ1bĈ &œ\WW·¬ºººjíÚµs×­[wekkëIvZº£~Ž?Iòœ¥CÀÐPqÈŸKIêf̘1uýúõ?Ù±cÇW“TüèG?zËïÿþï¿9I6nÜø“b±xK’¬_¿þ-3f̘ÚÚÚ:1ƒG'©3å#¥2I1Éž$ýù÷Gø/tŽo1cÆ´ÖÖÖºrÈ•,-Ž}#kkkϪ¯¯ÿ$}›7oÞÚÖÖö¿¯¾úê?=zôµµµÇ½÷½ï}ýÃ?üó—½ìeuå`xö (IfÍšumSSÓ¼öööNÈ‘‹·†††ºæææe…Bá3µµµg××׿!IÿaÌqX *Ë1Žqû/^<+I®ºêªû>ÿùÏßø®w½ëµ{öìYðÅ/~qûOúÓžŠŠŠýå¡”däÁ¿¼a¸ãq•’t—çøþÜ£ß@À3ª¥¥¥eÕªU?Hr`óæÍÿz饗þÏo~ó›=—^zéß%x衇Þó£ýhË9çœ“ššš±I&'IUUÕ ÝÝÝÏ&é+ +× +…Ï%9ÑFrÄT&ÙÁ#€Ú–––ÛV­Zµ!ƒOr^È뺻»ŸK²×Ý?†Žžb±øP±X|¸üÿQÆ »hÅŠ¯ë[ßúòSO=µ®··÷©5kÖ|ñ‡?üák7lØðÙÕ«WßY]]]1eÊ”šÉ“'/IÒ‘Áóç}Iž±¤/Š®b±øp±X|ôW˜cÑ2"`è8x^ðÎïÀí·ßþ×Ï?ÿ|ß_üÅ_œÿä“OþôÃþð§’ÔUÔ(j -õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ -{{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% -5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óûpf* pHYs  ÒÝ~ü IDATxœìÝAŠd7@Aý"ñ=|<ßÖç1M·1˜ªñd^ÄjfVÚ ÿU¦4¿ÿñçÏ®6§ì'@€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€0k=§Ïlf @€ `ÖsúÀn& @€wÀýL@€ @€³–‡àv& @€ @€f=§ìf @€€q ÜÏ @€ @À¬õœ>°™  @€ `¼÷3 @€0ÏéÛ™€ `Ör ÜÎ @€ @À¬çô€ÝL@€ @Àxîg @€f-ïÀíL@€ @€ÌzNØÍ @€ŒGà~& @€ @€ @€ `ÖsúÀn& @€ `<÷3 @€ @€ @€³žÓGv3 @€ŒWà~& @€ @€ @€˜õœ>°›  @€ `¼÷3 @€ @€ @À¬çô€ÝL@€ @€ÌsúÀv& @€ @€ @€f=§ìf @€ `žÓ'¶3 @€ @€ @€ @À¬çô€ÝL@€cîg @€ @€ @€ @€€YÏé#»™€ `Ü÷3 @€ @€ @€ÌzNØÍ @€ã@¸Ÿ  @€ @€ @€ `ÖsúÀn& @€wÀýL@À/À,ÜÊ|€¸–  @€æ}ùßã@¸•  `Þƒÿ6àZ& @€€_€¸•  àlÀµL@À¼ù7×ò -ŒÏ~¸Ÿ; @€>Àep-à@0¸L@Àøáîç°xL@€xÆg?ÜÏ -xL@€^€ @€W ÀŒþà~^€+ @€W À @€g ÀŒßýà~ž€+ @€W Àà0.€€yöûþ€kY€+`<V À -X€ @À¼'ÿ­ÀµL@€^€ @€00ïÕwÀµL@€ž€ @€0X€€ñÝ÷³V À`L@€¸L@€V à|ÿÀ½¬@€|îp \Ë`L@€V À`L@€Ÿ`®e>—ž<°• pX€+`¬@€°& À`¬@€°V À -X€+`L@€; À -X€+`¬@€0î€+`¬@€  à³`®e°& @€+` @€€Ï%€'Ole°& @€Ü& @€+`ùþþþÏß_¯×¡“ÿ7+ñýõµ~¾þúçOÿþËkýÌoë5~€ÿãó7{÷¯$ÇQp¸g·ïN– 611@ïCʳð:$~ -R  -lc[H:éþ­¸YY²x½Uóû>ÕÕuõ\ÐÙîüÔ=@ÀzóójÜ¿¹~ßçvójÌ'O¿ < À§=lܺíÿpÿfÜ]ÿ{ܾøjܾúæ8ùìÓñöðÓ±ÛïÇØ=u6Îظõ3þáövܽüf¼þòïã³ßýæ8ÿ«ßþa,ËnÌ«gcùÔwØ8;`ëÖw7ãþõ‹qóâ«ÓëøòãO×Ö¿vÀ¦ °y‡qx¸·¯à½u¼Î­×¾{0 °Uóp|ðøö©ÀÀÖ<Ü<Þä?þÜ¿y5îo®?̯ãun½¶þ#°móæÅ?Žƒë½<óR€Sx¸}3^óÏqûâëq÷êù‡ùu¼Î­×VûË'çZ"ð˜×Ÿÿå8x~õÑ™—œÂáþnܾüz\ù·ñæùæ×ñþâê8¾{ù|ìæÅ¹–üæõç>öãêÌKNáððp<ï¿Þðß|/¼?ÜÝŒùÑÞ½جù×?þþÜkÎà‹?}vî%? o€€ù‹Ÿ|î5'ôöí÷‡ñæö0nîãËçïÞüó³O.ÇÕÅn<¹Ü¹ßÅk`Óæ'Ïl€-{8¼w÷ËØíþû½ùúd?ž^íÆÅÜýN€-›?`ÓÖps{cyoÇï}tù.|üøsu)ÀÖ͵úÛu¿Þû?þ»x;î.¿ûÜ¿|?9Ø'ߦ¯°is·ói[6ÇaÌýs—ß»Ë_ÇëÜzmö¶ÍþØïÖýÆåÅwÛü×ñÜ/ÇkÀö °ß­7üïnôýËŸ?½Úçöîÿ A€{·µÿp|Òÿúÿÿß~ú¯Ïü›s;Ûÿ A€€õ}Àîžôçæ:ˆx¿àÿç€BÜð@— @€ @€ @€ @€ @€0—s¯89; @€ @€˜Ë¹Wœœ @€ @€s9÷ -€“³ @€ @€€¹œ{ÀÉÙ @€ @À\νàä쀀9l€Í³ @€ `.ç^prs(°yŽ@€ @€ÌåÜ+Nn6Ï @€ @€€¹œ{ÀÉÍ¡Àæ9 @€0—åÜKNÍ @€ @€沜{ À©Ù @€ @À\–s/RùdÓ!IDAT85; @€ @€ `.˹—œÚC€­s @€ `.˹—œÚC€­s @€˜^Û7‡›çÌa lž @€0½¶oz lŸ#0‡-°yv@€ @Àôؾé-€°}Ž@À¶ÀæÙ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ü§;äo=È…À€€ 0 `@À€€ 0 `@À€€ 0 `@À€€ 0 `@À€€ 0 `@À@  ›­éSçIEND®B`‚‰PNG + IHDR—¨áÀÿIDATxÚìÝ?¥cÆáûyçXÂL$KÁ®bÑQBG$$ ÑkÔ²AAˆB'!4*‰†Š‘ø“]çUœÙ‰O°fžûºÉ„îMvßßÜÏsŽÍ}/ýc’ý-7Iîö ÊÁ&É•$žÔ¸²ñ  @€ @€ € @€ @ @€ @€@€ @€ € @€ @€@€ @€ € @€ @ @€ @€@€ @€ € @€ @€@€ @€ € @€ @ @€ @€@€ @€ € @€ @€@€ €ÿ7†§@˜!\ P°À,àX`Šp,@AÀ@³€[` €)À°Àà +X€Ž°€€¦WÀ`Æp@“€C°Àà +XÌNÀ@€Nnø XÌNÀ@€Nnø X`Šp,€ œšð1°Àà +X@85àc` €)À°€pjÀÇÀ@S€+` @Àÿ¾ úÀû@€ œœðM@` +À@€ €¾,@AÀ@€p‚À€(Ô.2úÀû@“ÀH2œ@UŒÄ¨[€Ö0€˜<F’Ń€ªØÿŽ kJÀ €€ÂúÀ]àSк…` 0y¸­ €÷?ÐãèŸÕ€šp]püî7@Ùp|ô€÷?4.@a˜ *¼ö u0@[\ó+èZ€²0@_Œ$c÷P²ÿú/ ,€¾p'ÐC@é€Ð@WøÅZG L@Wø&@h]`,À´ À’dë@W8€®ðÞ€Æ(\€ +°˜2€Æ°@_xï@[Œ]¬ãè.б$ÿ¹tÀ¸¾xP´¸¥ €€²ðpe0ŽÀ´-ÞýÐ^þÐŽ@àSÐñò€ºpàÝ(— qpP€Àúh@ à0»12Æ’$Y×m²®ž `VëÑŸõeŒþñg’dÿÖ[²]×ãÿÀõð;Lþ‹’±ìå¯Ãß“_H’üuÇùܼ{²ýÇ‚¦Ë^–e/˲˜aöXF26ùöÛoòúÓ÷&I^ùè›<üØ“É2²ný= ÀX²,‹€ŠØ$#ùã·Ÿ³æ\’ÝÏË2’õ¦¬¹æ!AK|õ釹óûÛ²lÔ?Ì{IF.ü^~zj·\þø½|9–$kVÇÐï¿öt6·ìíþo€@CäÊ3óÄ#$IÞ½ôjÎÞ“¬[ÏšàÌ/_d{m›m܆ÿœI®]ØýüûY¿óL -^xö%OZ~ù?ªüË'ï¼õf’ä¹ç_Ì]7ïþ½k@P?zÖS€²øìóŸsñÁ‡’$w&¹þ÷€€¢ðçz¬ëî¨ïÂ…[óÁÛo$G?¯«ï¾ð§º" ɹs·ç“÷/%Iî¿ÿî\½ê Ô€G}®]Ýæü¹³Ç?(Y@€ à†Àð À@8à X`Žp,€0G¸@À) — qPP€0c wÀ@S€+и(( @˜1|X`Žp,€ €S.€€æwÀ@8¥à T. + +€& €á X`Šp*…`þp €€ÂPЀæ_• €€Â @€ @€@€ @€ € @€ @ @€ @€ @€ @€ @€ @€ @€@€ @€ € @€ @ @€ @€ @€ @€ @€ @€ @€@€ @€ € @€ @ @€ @€ @€ @€ @€ @€ @€@€ @€ € @€ @ @€ @€ @€ @€ @€ @€ @€@€ @€ € @€ @ @€ @€ @€ @¸qpà1@•ƒM’Ÿ’ì{Pãðß±T”Õxן9IEND®B`‚‰PNG  - IHDR€€Ã>aË pHYs¸Œ¸ŒÌö»/ -MiCCPPhotoshop ICC profilexÚSwX“÷>ß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ -VœHUÄ‚Õ -Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d -”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z -Ðzù‹y8ü@ž¡PÈ< - í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ -¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN -!%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì -ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óû%ÒŸ3 cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅF'¤IDATxÚì{tTÕù÷¿çœ¹ßg’Éä + IHDR€€Ã>aË'¤IDATxÚì{tTÕù÷¿çœ¹ßg’Éä äB ¹Ä(¹) ‚ŠJ­öU+/(jKjýiÁºZZ¡E-&jÁ‚`¹†$$æ~L&“¹Ï™™3gÎyÿÈ Ö¾?+$œïZg±+sÛÏg?ϳ÷~öÞžçÑW‚HDˆ(@D"ŠQ€ˆ"D ¢Eˆ(@D"ŠQ€ÓÒ9ÉCú‡%Üú8qéÒ%ª¶¶–r8‚®®.!ŠeYÊçó‘ˆïx/—Ë9‚ X@ÀÆÇdzÑÑÑlrrr0??Ÿ«/{kÈ.þaóÛøcg_}õ• ¡¡Aìõz¥(]- =2RÂÐï&¾€óx<>»Ýîà9vì½}ûvZ­Vû233™‰'éš=\$\C…ùäÑ£GEV«U ¼§   ý{ù‘ÉdF£R*•òääd€ÿä8Žã‚µµµv–e½f³ÙƲ¬€ €€ÍápØNž|¸ë'ÙD À÷ÔÁZ ¡ô5E(®'ŸûÄOÜüØc¥ÇÅÅ]îí‹…ûôÓO]ü±õŸÿü§­··×ÀÀ À2z8³ïo|þ[à2¨PÛxžF±Ñh”9rDúòË/+’’’T“'OÖÞÿýÚéÓ§+d2f̘¡Ÿ1c†¾ºº:ÿí·ß®úðÿr»ÝUê[[[[7µÂ2yòdo¶ª-à?È3ضm›$ã‡H—Ëå¹>úè„Õ«WçÄÆÆŠ€çyœ9sÆÿÁX÷îÝk6VÎáéo>ø-ƒwLô{.Ã@ @ÒÞÞ.Û¹s§bçÎꬬ¬¨x fáÂ…êÔÔTaVV–âÝwß-|ê©§²V¯^ýÏÒÒÒS<ÏW¨?vìXÇ9…ÂöüóÏÚoá#ôÓ‰àBé6E(± `Ìí·ß>éõ×_¿5''G6üßÿþwÏo¼Ñ}ôèÑn–eí¡á™»ŸáÙ~Fÿ¡êJ0úAh.A@^]]mzá…:^}õUÝüùócŸyæ}^^žx̘1ÊO?ýtú²~õ«_­©©9à’Ûín\¹re÷¼yóèÄ`ÀŸËÍ"šnÑ…â|¦N§»éõ×_Ÿ¹xñâäp6úôißêÕ«eee]zC†w… Ï\£_(¹„7ôùbV—Ëeyÿý÷Í»wïŽ~ðÁÖ¬Y›””DÍž=;¶°°ðž7ß|sÔúõër§PSRRÒžššê¼3#Èþhˆ.x˜X·n@L¨×çLŸ>}úÆ'egg+ »»›{á…L|ðA»Ïç3»{oÈÜ÷tëW[\¿0†Áîóùì[·ní---5/_¾|ØòåË£¢¢¢/¿ürÞ„ â–/_þy}}½€¼±±±i›Qj}tºùÑÐ-GlZ·N @&€±+V¬˜³fÍš<™LFÀ¾}û\+V¬hmllì``Åùkiøïò á°ãy$gww·kÕªU¶Ï>û,iãÆÃÆŽ+ž5k–!''gÁ’%Kb÷ï߯ óz½uü{‡ùùçŸ÷÷œù ÿ£ SGü±@"€l©TzË–-[Šzè¡á`6›ƒ«W¯6mÛ¶­™çùîËw†x¨Î´õ!"ÜÇŽsO™2žzõêäçž{.:11Qü׿þuú‹/¾µ~ýz9 ˲—Ö®]kZ³f×rv;CÐ)È#‹‹‹•¡,?7))iÊþð‡Ysç΀/¿üÒ÷ÄO4WUUµ0£oÞÓo7ÔÅ÷}0¼.—‹^µj•ûĉÉ[¶lIJHH ~÷»ßåkµZéÚµk^¯W€Z·n]ç`C0¨˜ÄdñÞ½ŠñóSRR¦ïß¿~ff¦>þøcדO>Yo±XÚCÆw„2û ®?q!ÁWZZê›;w®ïOúSòرcÅ+V¬––¦\¼x±€¦iÖ­[×ù2‚¾áˆû±éÅe†ÈMII™±ÿþ¢°ñßyçÛÒ¥Kk9Žë ßÕ/Ö„ˆ~=v ½ò`sçÎfΜéûä“OFMœ8Qz÷Ýw'¸oñâÅ i: ¸µÌdüùŒXß À‹/¾( ñÇ$''OëoüÍ›7Û–-[v‰ã¸ŽñÝ¡†ã¡ßM… àúÅî‚!Ê 8A‹Åœ?>¿{÷îÑS§N•Þ}÷Ýñ,Z´ˆõz½ŸÏøs¹¹û‘i1Ì À_þÑ#MëfI¥Ò[Þ{⦅„ÿÖ[oYŸyæ™K:зÄŽ÷e| ABžç½¡Ïô taoàd8‹ÅÂÏ›7ûôÓO3§L™"½ûî»Ö®];ç׿þµ€Ÿ¦éÀÁZeæh–½®8X+x<€Q$IÞ´}ûö{¦M›rûö_þò—5ÚûõüúÁaãkè'Mš4ü‰'žˆ{üñÇkhšîÐ diff --git a/examples/web/models/models_yaw_pitch_roll.html b/examples/web/models/models_yaw_pitch_roll.html index 528b406..c888261 100644 --- a/examples/web/models/models_yaw_pitch_roll.html +++ b/examples/web/models/models_yaw_pitch_roll.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_yaw_pitch_roll.js b/examples/web/models/models_yaw_pitch_roll.js index 168fe1d..0bc377a 100644 --- a/examples/web/models/models_yaw_pitch_roll.js +++ b/examples/web/models/models_yaw_pitch_roll.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_yaw_pitch_roll.data";var REMOTE_PACKAGE_BASE="models_yaw_pitch_roll.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5286928,DYNAMICTOP_PTR=44016;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_yaw_pitch_roll.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}function _glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"d":abort,"b":___assert_fail,"Cc":___lock,"F":___setErrNo,"mb":___syscall140,"bb":___syscall145,"r":___syscall221,"Ia":___syscall5,"xa":___syscall54,"E":___syscall6,"D":___unlock,"le":___wasi_fd_write,"C":_eglGetProcAddress,"ca":_emscripten_exit_pointerlock,"Id":_emscripten_get_element_css_size,"xd":_emscripten_get_gamepad_status,"md":_emscripten_get_heap_size,"bd":_emscripten_get_num_gamepads,"ba":_emscripten_get_pointerlock_status,"Jc":_emscripten_glActiveTexture,"Bc":_emscripten_glAttachShader,"yc":_emscripten_glBeginQueryEXT,"qc":_emscripten_glBindAttribLocation,"nc":_emscripten_glBindBuffer,"gc":_emscripten_glBindFramebuffer,"$b":_emscripten_glBindRenderbuffer,"Yb":_emscripten_glBindTexture,"Qb":_emscripten_glBindVertexArrayOES,"Fb":_emscripten_glBlendColor,"yb":_emscripten_glBlendEquation,"wb":_emscripten_glBlendEquationSeparate,"vb":_emscripten_glBlendFunc,"ub":_emscripten_glBlendFuncSeparate,"tb":_emscripten_glBufferData,"sb":_emscripten_glBufferSubData,"rb":_emscripten_glCheckFramebufferStatus,"qb":_emscripten_glClear,"pb":_emscripten_glClearColor,"ob":_emscripten_glClearDepthf,"nb":_emscripten_glClearStencil,"lb":_emscripten_glColorMask,"kb":_emscripten_glCompileShader,"jb":_emscripten_glCompressedTexImage2D,"ib":_emscripten_glCompressedTexSubImage2D,"hb":_emscripten_glCopyTexImage2D,"gb":_emscripten_glCopyTexSubImage2D,"fb":_emscripten_glCreateProgram,"eb":_emscripten_glCreateShader,"db":_emscripten_glCullFace,"cb":_emscripten_glDeleteBuffers,"ab":_emscripten_glDeleteFramebuffers,"$a":_emscripten_glDeleteProgram,"_a":_emscripten_glDeleteQueriesEXT,"Za":_emscripten_glDeleteRenderbuffers,"Ya":_emscripten_glDeleteShader,"Xa":_emscripten_glDeleteTextures,"Wa":_emscripten_glDeleteVertexArraysOES,"Va":_emscripten_glDepthFunc,"Ua":_emscripten_glDepthMask,"Ta":_emscripten_glDepthRangef,"Sa":_emscripten_glDetachShader,"Ra":_emscripten_glDisable,"Qa":_emscripten_glDisableVertexAttribArray,"Pa":_emscripten_glDrawArrays,"Oa":_emscripten_glDrawArraysInstancedANGLE,"Na":_emscripten_glDrawBuffersWEBGL,"Ma":_emscripten_glDrawElements,"La":_emscripten_glDrawElementsInstancedANGLE,"Ka":_emscripten_glEnable,"Ja":_emscripten_glEnableVertexAttribArray,"Ha":_emscripten_glEndQueryEXT,"Ga":_emscripten_glFinish,"Fa":_emscripten_glFlush,"Ea":_emscripten_glFramebufferRenderbuffer,"Da":_emscripten_glFramebufferTexture2D,"Ca":_emscripten_glFrontFace,"Ba":_emscripten_glGenBuffers,"Aa":_emscripten_glGenFramebuffers,"za":_emscripten_glGenQueriesEXT,"ya":_emscripten_glGenRenderbuffers,"wa":_emscripten_glGenTextures,"va":_emscripten_glGenVertexArraysOES,"ua":_emscripten_glGenerateMipmap,"ta":_emscripten_glGetActiveAttrib,"sa":_emscripten_glGetActiveUniform,"ra":_emscripten_glGetAttachedShaders,"qa":_emscripten_glGetAttribLocation,"pa":_emscripten_glGetBooleanv,"oa":_emscripten_glGetBufferParameteriv,"na":_emscripten_glGetError,"ma":_emscripten_glGetFloatv,"la":_emscripten_glGetFramebufferAttachmentParameteriv,"ka":_emscripten_glGetIntegerv,"ja":_emscripten_glGetProgramInfoLog,"ia":_emscripten_glGetProgramiv,"ha":_emscripten_glGetQueryObjecti64vEXT,"ga":_emscripten_glGetQueryObjectivEXT,"fa":_emscripten_glGetQueryObjectui64vEXT,"ea":_emscripten_glGetQueryObjectuivEXT,"da":_emscripten_glGetQueryivEXT,"ve":_emscripten_glGetRenderbufferParameteriv,"ue":_emscripten_glGetShaderInfoLog,"te":_emscripten_glGetShaderPrecisionFormat,"se":_emscripten_glGetShaderSource,"re":_emscripten_glGetShaderiv,"qe":_emscripten_glGetString,"pe":_emscripten_glGetTexParameterfv,"oe":_emscripten_glGetTexParameteriv,"ne":_emscripten_glGetUniformLocation,"me":_emscripten_glGetUniformfv,"ke":_emscripten_glGetUniformiv,"je":_emscripten_glGetVertexAttribPointerv,"ie":_emscripten_glGetVertexAttribfv,"he":_emscripten_glGetVertexAttribiv,"ge":_emscripten_glHint,"fe":_emscripten_glIsBuffer,"ee":_emscripten_glIsEnabled,"de":_emscripten_glIsFramebuffer,"ce":_emscripten_glIsProgram,"be":_emscripten_glIsQueryEXT,"ae":_emscripten_glIsRenderbuffer,"$d":_emscripten_glIsShader,"_d":_emscripten_glIsTexture,"Zd":_emscripten_glIsVertexArrayOES,"Yd":_emscripten_glLineWidth,"Xd":_emscripten_glLinkProgram,"Wd":_emscripten_glPixelStorei,"Vd":_emscripten_glPolygonOffset,"Ud":_emscripten_glQueryCounterEXT,"Td":_emscripten_glReadPixels,"Sd":_emscripten_glReleaseShaderCompiler,"Rd":_emscripten_glRenderbufferStorage,"Qd":_emscripten_glSampleCoverage,"Pd":_emscripten_glScissor,"Od":_emscripten_glShaderBinary,"Nd":_emscripten_glShaderSource,"Md":_emscripten_glStencilFunc,"Ld":_emscripten_glStencilFuncSeparate,"Kd":_emscripten_glStencilMask,"Jd":_emscripten_glStencilMaskSeparate,"Hd":_emscripten_glStencilOp,"Gd":_emscripten_glStencilOpSeparate,"Fd":_emscripten_glTexImage2D,"Ed":_emscripten_glTexParameterf,"Dd":_emscripten_glTexParameterfv,"Cd":_emscripten_glTexParameteri,"Bd":_emscripten_glTexParameteriv,"Ad":_emscripten_glTexSubImage2D,"zd":_emscripten_glUniform1f,"yd":_emscripten_glUniform1fv,"wd":_emscripten_glUniform1i,"vd":_emscripten_glUniform1iv,"ud":_emscripten_glUniform2f,"td":_emscripten_glUniform2fv,"sd":_emscripten_glUniform2i,"rd":_emscripten_glUniform2iv,"qd":_emscripten_glUniform3f,"pd":_emscripten_glUniform3fv,"od":_emscripten_glUniform3i,"nd":_emscripten_glUniform3iv,"ld":_emscripten_glUniform4f,"kd":_emscripten_glUniform4fv,"jd":_emscripten_glUniform4i,"id":_emscripten_glUniform4iv,"hd":_emscripten_glUniformMatrix2fv,"gd":_emscripten_glUniformMatrix3fv,"fd":_emscripten_glUniformMatrix4fv,"ed":_emscripten_glUseProgram,"dd":_emscripten_glValidateProgram,"cd":_emscripten_glVertexAttrib1f,"ad":_emscripten_glVertexAttrib1fv,"$c":_emscripten_glVertexAttrib2f,"_c":_emscripten_glVertexAttrib2fv,"Zc":_emscripten_glVertexAttrib3f,"Yc":_emscripten_glVertexAttrib3fv,"Xc":_emscripten_glVertexAttrib4f,"Wc":_emscripten_glVertexAttrib4fv,"Vc":_emscripten_glVertexAttribDivisorANGLE,"Uc":_emscripten_glVertexAttribPointer,"Tc":_emscripten_glViewport,"Sc":_emscripten_memcpy_big,"Rc":_emscripten_request_pointerlock,"Qc":_emscripten_resize_heap,"aa":_emscripten_run_script,"Pc":_emscripten_sample_gamepad_data,"Oc":_emscripten_set_click_callback_on_thread,"Nc":_emscripten_set_fullscreenchange_callback_on_thread,"Mc":_emscripten_set_gamepadconnected_callback_on_thread,"Lc":_emscripten_set_gamepaddisconnected_callback_on_thread,"Kc":_emscripten_set_keypress_callback_on_thread,"Ic":_emscripten_set_main_loop,"Hc":_emscripten_set_touchcancel_callback_on_thread,"Gc":_emscripten_set_touchend_callback_on_thread,"Fc":_emscripten_set_touchmove_callback_on_thread,"Ec":_emscripten_set_touchstart_callback_on_thread,"Dc":_exit,"B":_glActiveTexture,"$":_glAttachShader,"o":_glBindAttribLocation,"c":_glBindBuffer,"m":_glBindFramebuffer,"_":_glBindRenderbuffer,"g":_glBindTexture,"Z":_glBlendFunc,"k":_glBufferData,"A":_glBufferSubData,"Ac":_glCheckFramebufferStatus,"Y":_glClear,"X":_glClearColor,"zc":_glClearDepthf,"xc":_glCompileShader,"wc":_glCompressedTexImage2D,"vc":_glCreateProgram,"uc":_glCreateShader,"tc":_glCullFace,"q":_glDeleteBuffers,"sc":_glDeleteFramebuffers,"W":_glDeleteProgram,"rc":_glDeleteRenderbuffers,"V":_glDeleteShader,"t":_glDeleteTextures,"pc":_glDepthFunc,"U":_glDetachShader,"T":_glDisable,"l":_glDisableVertexAttribArray,"S":_glDrawArrays,"R":_glDrawElements,"z":_glEnable,"f":_glEnableVertexAttribArray,"oc":_glFramebufferRenderbuffer,"Q":_glFramebufferTexture2D,"mc":_glFrontFace,"j":_glGenBuffers,"lc":_glGenFramebuffers,"kc":_glGenRenderbuffers,"P":_glGenTextures,"jc":_glGenerateMipmap,"y":_glGetAttribLocation,"ic":_glGetFloatv,"hc":_glGetProgramInfoLog,"O":_glGetProgramiv,"fc":_glGetShaderInfoLog,"N":_glGetShaderiv,"p":_glGetString,"x":_glGetUniformLocation,"ec":_glLinkProgram,"dc":_glPixelStorei,"cc":_glReadPixels,"bc":_glRenderbufferStorage,"ac":_glShaderSource,"M":_glTexImage2D,"i":_glTexParameteri,"L":_glUniform1i,"w":_glUniform4f,"v":_glUniformMatrix4fv,"n":_glUseProgram,"_b":_glVertexAttrib2f,"Zb":_glVertexAttrib3f,"u":_glVertexAttrib4f,"e":_glVertexAttribPointer,"Xb":_glViewport,"K":_glfwCreateWindow,"Wb":_glfwDefaultWindowHints,"Vb":_glfwDestroyWindow,"Ub":_glfwGetCursorPos,"Tb":_glfwGetKey,"J":_glfwGetPrimaryMonitor,"s":_glfwGetTime,"Sb":_glfwGetVideoModes,"Rb":_glfwInit,"Pb":_glfwMakeContextCurrent,"Ob":_glfwSetCharCallback,"Nb":_glfwSetCursorEnterCallback,"Mb":_glfwSetCursorPosCallback,"Lb":_glfwSetDropCallback,"Kb":_glfwSetErrorCallback,"Jb":_glfwSetKeyCallback,"Ib":_glfwSetMouseButtonCallback,"Hb":_glfwSetScrollCallback,"Gb":_glfwSetWindowIconifyCallback,"Eb":_glfwSetWindowShouldClose,"Db":_glfwSetWindowSizeCallback,"Cb":_glfwSwapBuffers,"Bb":_glfwSwapInterval,"I":_glfwTerminate,"h":_glfwWindowHint,"H":_llvm_stackrestore,"G":_llvm_stacksave,"Ab":_nanosleep,"zb":_time,"xb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["we"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["ze"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["Ae"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["Be"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["Ce"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["Le"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["Me"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["Ne"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["De"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["Ee"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["Fe"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["Ge"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["He"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["Ie"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["Je"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["Ke"].apply(null,arguments)};Module["asm"]=asm;Module["getMemory"]=getMemory;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["calledRun"]=calledRun;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_yaw_pitch_roll.data";var REMOTE_PACKAGE_BASE="models_yaw_pitch_roll.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||67108864;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_yaw_pitch_roll.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["qe"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["re"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd);if(size>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}function _glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendEquation(x0){GLctx["blendEquation"](x0)}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"a":___assert_fail,"ae":___sys_chdir,"X":___sys_fcntl64,"$d":___sys_getcwd,"ce":___sys_ioctl,"de":___sys_open,"z":_eglGetProcAddress,"_":_emscripten_exit_pointerlock,"le":_emscripten_get_element_css_size,"ge":_emscripten_get_gamepad_status,"he":_emscripten_get_num_gamepads,"ne":_emscripten_get_pointerlock_status,"Ed":_emscripten_glActiveTexture,"Dd":_emscripten_glAttachShader,"Ud":_emscripten_glBeginQueryEXT,"Cd":_emscripten_glBindAttribLocation,"Bd":_emscripten_glBindBuffer,"Ad":_emscripten_glBindFramebuffer,"zd":_emscripten_glBindRenderbuffer,"yd":_emscripten_glBindTexture,"Md":_emscripten_glBindVertexArrayOES,"xd":_emscripten_glBlendColor,"wd":_emscripten_glBlendEquation,"vd":_emscripten_glBlendEquationSeparate,"ud":_emscripten_glBlendFunc,"td":_emscripten_glBlendFuncSeparate,"sd":_emscripten_glBufferData,"rd":_emscripten_glBufferSubData,"qd":_emscripten_glCheckFramebufferStatus,"pd":_emscripten_glClear,"od":_emscripten_glClearColor,"nd":_emscripten_glClearDepthf,"md":_emscripten_glClearStencil,"ld":_emscripten_glColorMask,"kd":_emscripten_glCompileShader,"jd":_emscripten_glCompressedTexImage2D,"id":_emscripten_glCompressedTexSubImage2D,"hd":_emscripten_glCopyTexImage2D,"gd":_emscripten_glCopyTexSubImage2D,"fd":_emscripten_glCreateProgram,"ed":_emscripten_glCreateShader,"dd":_emscripten_glCullFace,"cd":_emscripten_glDeleteBuffers,"bd":_emscripten_glDeleteFramebuffers,"ad":_emscripten_glDeleteProgram,"Wd":_emscripten_glDeleteQueriesEXT,"$c":_emscripten_glDeleteRenderbuffers,"_c":_emscripten_glDeleteShader,"Zc":_emscripten_glDeleteTextures,"Ld":_emscripten_glDeleteVertexArraysOES,"Yc":_emscripten_glDepthFunc,"Xc":_emscripten_glDepthMask,"Wc":_emscripten_glDepthRangef,"Uc":_emscripten_glDetachShader,"Tc":_emscripten_glDisable,"Sc":_emscripten_glDisableVertexAttribArray,"Rc":_emscripten_glDrawArrays,"Hd":_emscripten_glDrawArraysInstancedANGLE,"Id":_emscripten_glDrawBuffersWEBGL,"Qc":_emscripten_glDrawElements,"Gd":_emscripten_glDrawElementsInstancedANGLE,"Pc":_emscripten_glEnable,"Oc":_emscripten_glEnableVertexAttribArray,"Td":_emscripten_glEndQueryEXT,"Nc":_emscripten_glFinish,"Mc":_emscripten_glFlush,"Lc":_emscripten_glFramebufferRenderbuffer,"Kc":_emscripten_glFramebufferTexture2D,"Jc":_emscripten_glFrontFace,"Ic":_emscripten_glGenBuffers,"Gc":_emscripten_glGenFramebuffers,"Xd":_emscripten_glGenQueriesEXT,"Fc":_emscripten_glGenRenderbuffers,"Ec":_emscripten_glGenTextures,"Kd":_emscripten_glGenVertexArraysOES,"Hc":_emscripten_glGenerateMipmap,"Dc":_emscripten_glGetActiveAttrib,"Cc":_emscripten_glGetActiveUniform,"Bc":_emscripten_glGetAttachedShaders,"zc":_emscripten_glGetAttribLocation,"yc":_emscripten_glGetBooleanv,"xc":_emscripten_glGetBufferParameteriv,"wc":_emscripten_glGetError,"vc":_emscripten_glGetFloatv,"uc":_emscripten_glGetFramebufferAttachmentParameteriv,"tc":_emscripten_glGetIntegerv,"rc":_emscripten_glGetProgramInfoLog,"sc":_emscripten_glGetProgramiv,"Od":_emscripten_glGetQueryObjecti64vEXT,"Qd":_emscripten_glGetQueryObjectivEXT,"Nd":_emscripten_glGetQueryObjectui64vEXT,"Pd":_emscripten_glGetQueryObjectuivEXT,"Rd":_emscripten_glGetQueryivEXT,"qc":_emscripten_glGetRenderbufferParameteriv,"nc":_emscripten_glGetShaderInfoLog,"mc":_emscripten_glGetShaderPrecisionFormat,"lc":_emscripten_glGetShaderSource,"oc":_emscripten_glGetShaderiv,"kc":_emscripten_glGetString,"jc":_emscripten_glGetTexParameterfv,"ic":_emscripten_glGetTexParameteriv,"fc":_emscripten_glGetUniformLocation,"hc":_emscripten_glGetUniformfv,"gc":_emscripten_glGetUniformiv,"cc":_emscripten_glGetVertexAttribPointerv,"ec":_emscripten_glGetVertexAttribfv,"dc":_emscripten_glGetVertexAttribiv,"bc":_emscripten_glHint,"ac":_emscripten_glIsBuffer,"$b":_emscripten_glIsEnabled,"_b":_emscripten_glIsFramebuffer,"Zb":_emscripten_glIsProgram,"Vd":_emscripten_glIsQueryEXT,"Yb":_emscripten_glIsRenderbuffer,"Xb":_emscripten_glIsShader,"Wb":_emscripten_glIsTexture,"Jd":_emscripten_glIsVertexArrayOES,"Vb":_emscripten_glLineWidth,"Ub":_emscripten_glLinkProgram,"Tb":_emscripten_glPixelStorei,"Sb":_emscripten_glPolygonOffset,"Sd":_emscripten_glQueryCounterEXT,"Rb":_emscripten_glReadPixels,"Qb":_emscripten_glReleaseShaderCompiler,"Pb":_emscripten_glRenderbufferStorage,"Ob":_emscripten_glSampleCoverage,"Nb":_emscripten_glScissor,"Mb":_emscripten_glShaderBinary,"Lb":_emscripten_glShaderSource,"Kb":_emscripten_glStencilFunc,"Jb":_emscripten_glStencilFuncSeparate,"Ib":_emscripten_glStencilMask,"Hb":_emscripten_glStencilMaskSeparate,"Gb":_emscripten_glStencilOp,"Fb":_emscripten_glStencilOpSeparate,"Eb":_emscripten_glTexImage2D,"Db":_emscripten_glTexParameterf,"Cb":_emscripten_glTexParameterfv,"Bb":_emscripten_glTexParameteri,"Ab":_emscripten_glTexParameteriv,"zb":_emscripten_glTexSubImage2D,"yb":_emscripten_glUniform1f,"xb":_emscripten_glUniform1fv,"wb":_emscripten_glUniform1i,"vb":_emscripten_glUniform1iv,"ub":_emscripten_glUniform2f,"tb":_emscripten_glUniform2fv,"rb":_emscripten_glUniform2i,"qb":_emscripten_glUniform2iv,"pb":_emscripten_glUniform3f,"ob":_emscripten_glUniform3fv,"nb":_emscripten_glUniform3i,"mb":_emscripten_glUniform3iv,"lb":_emscripten_glUniform4f,"kb":_emscripten_glUniform4fv,"jb":_emscripten_glUniform4i,"ib":_emscripten_glUniform4iv,"hb":_emscripten_glUniformMatrix2fv,"gb":_emscripten_glUniformMatrix3fv,"fb":_emscripten_glUniformMatrix4fv,"eb":_emscripten_glUseProgram,"db":_emscripten_glValidateProgram,"cb":_emscripten_glVertexAttrib1f,"bb":_emscripten_glVertexAttrib1fv,"ab":_emscripten_glVertexAttrib2f,"$a":_emscripten_glVertexAttrib2fv,"_a":_emscripten_glVertexAttrib3f,"Ya":_emscripten_glVertexAttrib3fv,"Xa":_emscripten_glVertexAttrib4f,"Wa":_emscripten_glVertexAttrib4fv,"Fd":_emscripten_glVertexAttribDivisorANGLE,"Va":_emscripten_glVertexAttribPointer,"Ua":_emscripten_glViewport,"Yd":_emscripten_memcpy_big,"me":_emscripten_request_pointerlock,"Zd":_emscripten_resize_heap,"Z":_emscripten_run_script,"ie":_emscripten_sample_gamepad_data,"wa":_emscripten_set_click_callback_on_thread,"ya":_emscripten_set_fullscreenchange_callback_on_thread,"ra":_emscripten_set_gamepadconnected_callback_on_thread,"qa":_emscripten_set_gamepaddisconnected_callback_on_thread,"xa":_emscripten_set_keydown_callback_on_thread,"pe":_emscripten_set_main_loop,"sa":_emscripten_set_touchcancel_callback_on_thread,"ua":_emscripten_set_touchend_callback_on_thread,"ta":_emscripten_set_touchmove_callback_on_thread,"va":_emscripten_set_touchstart_callback_on_thread,"_d":_emscripten_thread_sleep,"ee":_exit,"Y":_fd_close,"be":_fd_read,"Ta":_fd_seek,"W":_fd_write,"r":_glActiveTexture,"F":_glAttachShader,"l":_glBindAttribLocation,"b":_glBindBuffer,"k":_glBindFramebuffer,"I":_glBindRenderbuffer,"e":_glBindTexture,"za":_glBlendEquation,"P":_glBlendFunc,"f":_glBufferData,"y":_glBufferSubData,"La":_glCheckFramebufferStatus,"Q":_glClear,"R":_glClearColor,"Ra":_glClearDepthf,"Ea":_glCompileShader,"Pa":_glCompressedTexImage2D,"Ca":_glCreateProgram,"Ga":_glCreateShader,"Za":_glCullFace,"o":_glDeleteBuffers,"pc":_glDeleteFramebuffers,"J":_glDeleteProgram,"Ac":_glDeleteRenderbuffers,"K":_glDeleteShader,"M":_glDeleteTextures,"sb":_glDepthFunc,"L":_glDetachShader,"T":_glDisable,"j":_glDisableVertexAttribArray,"V":_glDrawArrays,"U":_glDrawElements,"A":_glEnable,"c":_glEnableVertexAttribArray,"u":_glFramebufferRenderbuffer,"q":_glFramebufferTexture2D,"Sa":_glFrontFace,"g":_glGenBuffers,"Ma":_glGenFramebuffers,"Oa":_glGenRenderbuffers,"O":_glGenTextures,"Ka":_glGenerateMipmap,"x":_glGetAttribLocation,"Vc":_glGetFloatv,"S":_glGetFramebufferAttachmentParameteriv,"Aa":_glGetProgramInfoLog,"H":_glGetProgramiv,"Da":_glGetShaderInfoLog,"G":_glGetShaderiv,"p":_glGetString,"w":_glGetUniformLocation,"Ba":_glLinkProgram,"Qa":_glPixelStorei,"Ha":_glReadPixels,"Na":_glRenderbufferStorage,"Fa":_glShaderSource,"N":_glTexImage2D,"i":_glTexParameteri,"C":_glUniform1i,"s":_glUniform4f,"v":_glUniformMatrix4fv,"m":_glUseProgram,"Ia":_glVertexAttrib2f,"Ja":_glVertexAttrib3f,"t":_glVertexAttrib4f,"d":_glVertexAttribPointer,"oe":_glViewport,"D":_glfwCreateWindow,"na":_glfwDefaultWindowHints,"ke":_glfwDestroyWindow,"E":_glfwGetPrimaryMonitor,"n":_glfwGetTime,"ma":_glfwGetVideoModes,"oa":_glfwInit,"ba":_glfwMakeContextCurrent,"ga":_glfwSetCharCallback,"ca":_glfwSetCursorEnterCallback,"ea":_glfwSetCursorPosCallback,"ia":_glfwSetDropCallback,"pa":_glfwSetErrorCallback,"ha":_glfwSetKeyCallback,"fa":_glfwSetMouseButtonCallback,"da":_glfwSetScrollCallback,"ja":_glfwSetWindowFocusCallback,"ka":_glfwSetWindowIconifyCallback,"fe":_glfwSetWindowShouldClose,"la":_glfwSetWindowSizeCallback,"je":_glfwSwapBuffers,"aa":_glfwSwapInterval,"B":_glfwTerminate,"h":_glfwWindowHint,"$":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["se"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["te"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["ue"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["ve"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["we"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["xe"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["ye"]).apply(null,arguments)};Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_yaw_pitch_roll.wasm b/examples/web/models/models_yaw_pitch_roll.wasm index be0c94d..23f404a 100644 Binary files a/examples/web/models/models_yaw_pitch_roll.wasm and b/examples/web/models/models_yaw_pitch_roll.wasm differ diff --git a/examples/web/models/resources/angle_gauge.png b/examples/web/models/resources/angle_gauge.png index f7871de..810097d 100644 Binary files a/examples/web/models/resources/angle_gauge.png and b/examples/web/models/resources/angle_gauge.png differ diff --git a/examples/web/models/resources/background.png b/examples/web/models/resources/background.png index 69a74b7..88ece1f 100644 Binary files a/examples/web/models/resources/background.png and b/examples/web/models/resources/background.png differ diff --git a/examples/web/models/resources/billboard.png b/examples/web/models/resources/billboard.png index e2fe398..8c99118 100644 Binary files a/examples/web/models/resources/billboard.png and b/examples/web/models/resources/billboard.png differ diff --git a/examples/web/models/resources/cubicmap.png b/examples/web/models/resources/cubicmap.png index b361c01..392dbf2 100644 Binary files a/examples/web/models/resources/cubicmap.png and b/examples/web/models/resources/cubicmap.png differ diff --git a/examples/web/models/resources/cubicmap_atlas.png b/examples/web/models/resources/cubicmap_atlas.png index 7ddfc83..9fc404a 100644 Binary files a/examples/web/models/resources/cubicmap_atlas.png and b/examples/web/models/resources/cubicmap_atlas.png differ diff --git a/examples/web/models/resources/dresden_square.hdr b/examples/web/models/resources/dresden_square.hdr deleted file mode 100644 index b6d0e77..0000000 Binary files a/examples/web/models/resources/dresden_square.hdr and /dev/null differ diff --git a/examples/web/models/resources/dresden_square_1k.hdr b/examples/web/models/resources/dresden_square_1k.hdr new file mode 100644 index 0000000..b6d0e77 Binary files /dev/null and b/examples/web/models/resources/dresden_square_1k.hdr differ diff --git a/examples/web/models/resources/dresden_square_2k.hdr b/examples/web/models/resources/dresden_square_2k.hdr new file mode 100644 index 0000000..60b4a4c Binary files /dev/null and b/examples/web/models/resources/dresden_square_2k.hdr differ diff --git a/examples/web/models/resources/guy/guytex.png b/examples/web/models/resources/guy/guytex.png index 7f81355..05a58ee 100644 Binary files a/examples/web/models/resources/guy/guytex.png and b/examples/web/models/resources/guy/guytex.png differ diff --git a/examples/web/models/resources/heightmap.png b/examples/web/models/resources/heightmap.png index fe30f67..474db87 100644 Binary files a/examples/web/models/resources/heightmap.png and b/examples/web/models/resources/heightmap.png differ diff --git a/examples/web/models/resources/models/LICENSE b/examples/web/models/resources/models/LICENSE new file mode 100644 index 0000000..39cdd61 --- /dev/null +++ b/examples/web/models/resources/models/LICENSE @@ -0,0 +1,4 @@ +Medieval City models and textures have been created by Alberto Cano, +and licensed as Creative Commons Attribution-NonCommercial 4.0. + +Check for details: https://creativecommons.org/licenses/by-nc/4.0/legalcode diff --git a/examples/web/models/resources/models/bridge_diffuse.png b/examples/web/models/resources/models/bridge_diffuse.png index 7aa3404..45a86b5 100644 Binary files a/examples/web/models/resources/models/bridge_diffuse.png and b/examples/web/models/resources/models/bridge_diffuse.png differ diff --git a/examples/web/models/resources/models/castle_diffuse.png b/examples/web/models/resources/models/castle_diffuse.png index b616e1d..c7085a3 100644 Binary files a/examples/web/models/resources/models/castle_diffuse.png and b/examples/web/models/resources/models/castle_diffuse.png differ diff --git a/examples/web/models/resources/models/cube_diffuse.png b/examples/web/models/resources/models/cube_diffuse.png index 25e0377..6becd47 100644 Binary files a/examples/web/models/resources/models/cube_diffuse.png and b/examples/web/models/resources/models/cube_diffuse.png differ diff --git a/examples/web/models/resources/models/house_diffuse.png b/examples/web/models/resources/models/house_diffuse.png index 9ab726e..b36a58a 100644 Binary files a/examples/web/models/resources/models/house_diffuse.png and b/examples/web/models/resources/models/house_diffuse.png differ diff --git a/examples/web/models/resources/models/market_diffuse.png b/examples/web/models/resources/models/market_diffuse.png index f38fbbb..3ad3046 100644 Binary files a/examples/web/models/resources/models/market_diffuse.png and b/examples/web/models/resources/models/market_diffuse.png differ diff --git a/examples/web/models/resources/models/turret_diffuse.png b/examples/web/models/resources/models/turret_diffuse.png index 08db495..33628e3 100644 Binary files a/examples/web/models/resources/models/turret_diffuse.png and b/examples/web/models/resources/models/turret_diffuse.png differ diff --git a/examples/web/models/resources/models/well_diffuse.png b/examples/web/models/resources/models/well_diffuse.png index df22941..f8f6686 100644 Binary files a/examples/web/models/resources/models/well_diffuse.png and b/examples/web/models/resources/models/well_diffuse.png differ diff --git a/examples/web/models/resources/pbr/trooper.obj b/examples/web/models/resources/pbr/trooper.obj deleted file mode 100644 index 8342149..0000000 --- a/examples/web/models/resources/pbr/trooper.obj +++ /dev/null @@ -1,18312 +0,0 @@ -# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware -# File Created: 26.04.2017 15:31:30 - -# -# object asdf -# - -v 0.000000 0.622922 0.713143 -v 0.000000 0.729854 0.627920 -v 0.000000 0.786583 0.636084 -v 0.000000 1.045946 0.570983 -v 0.000000 1.031233 0.544927 -v 0.000000 1.298009 0.514342 -v 0.000000 1.149254 0.538029 -v 0.000000 0.849328 0.558225 -v 0.000000 1.010490 0.528641 -v 0.000000 0.812325 0.602129 -v 0.000000 0.826873 0.574585 -v 0.000000 0.598750 0.710767 -v 0.000000 0.597623 0.667964 -v 0.084179 0.001562 0.626712 -v 0.000000 0.019620 0.500428 -v 0.169721 0.247278 0.492525 -v 0.000000 0.672880 0.668161 -v 0.151477 0.524575 0.652958 -v 0.131329 0.580069 0.661848 -v 0.114890 0.690102 0.619225 -v 0.089181 0.737425 0.627349 -v 0.053560 0.774530 0.633427 -v 0.049246 0.664280 0.667001 -v 0.186382 0.271672 0.580150 -v 0.311559 0.308788 0.348438 -v 0.378840 0.342231 0.214617 -v 0.183507 0.569029 0.586468 -v 0.209450 0.536520 0.545413 -v 0.198080 0.521331 0.574546 -v 0.267398 0.403558 0.503948 -v 0.256089 0.441711 0.491998 -v 0.285742 0.459568 0.464178 -v 0.306543 0.432843 0.469860 -v 0.165325 0.437671 0.633861 -v 0.247099 0.266255 0.460384 -v 0.411737 0.577071 0.405239 -v 0.391126 0.593584 0.404410 -v 0.423157 0.665068 0.384484 -v 0.450381 0.650863 0.385873 -v 0.455839 0.767810 0.367329 -v 0.485703 0.759030 0.374794 -v 0.459863 0.861942 0.364012 -v 0.441495 0.926861 0.380699 -v 0.464600 0.938004 0.400564 -v 0.486272 0.860457 0.381569 -v 0.412950 0.958719 0.400066 -v 0.433231 0.969863 0.422984 -v 0.384666 0.993819 0.454111 -v 0.373370 0.975991 0.421316 -v 0.268595 1.001637 0.475054 -v 0.282018 1.019372 0.506357 -v 0.140747 1.022724 0.522858 -v 0.142861 1.038352 0.553143 -v 0.382002 0.526733 0.421956 -v 0.358027 0.549805 0.420654 -v 0.283231 1.129298 0.472519 -v 0.407676 1.103160 0.412405 -v 0.142742 1.145411 0.517657 -v 0.475980 1.051464 0.381820 -v 0.436937 1.273467 0.377742 -v 0.509148 1.215159 0.336059 -v 0.304083 1.289812 0.450362 -v 0.143813 1.298790 0.497732 -v 0.110535 0.005395 0.599741 -v 0.144636 0.007877 0.604104 -v 0.293295 0.114109 0.276156 -v 0.260152 0.107644 0.254081 -v 0.197065 0.074325 0.379573 -v 0.227388 0.078784 0.397485 -v 0.237847 0.407594 0.541883 -v 0.231621 0.449564 0.516437 -v 0.160737 0.631269 0.602314 -v 0.444186 0.859839 0.371886 -v 0.434630 0.774993 0.376796 -v 0.411293 0.784139 0.372012 -v 0.403227 0.683902 0.400076 -v 0.388978 0.692028 0.396861 -v 0.369494 0.625951 0.429479 -v 0.358286 0.634576 0.424258 -v 0.342018 0.588721 0.453890 -v 0.331282 0.598798 0.447604 -v 0.289939 0.540541 0.495245 -v 0.281628 0.555508 0.488272 -v 0.309166 0.574121 0.466919 -v 0.261032 0.532563 0.515138 -v 0.258024 0.548682 0.507222 -v 0.202005 0.604862 0.553457 -v 0.205910 0.611484 0.542729 -v 0.223742 0.580733 0.532442 -v 0.221625 0.567634 0.541178 -v 0.178827 0.658546 0.552711 -v 0.173035 0.649694 0.573047 -v 0.125737 0.710486 0.599078 -v 0.141059 0.725485 0.557956 -v 0.098129 0.758054 0.597822 -v 0.108767 0.774398 0.560327 -v 0.061667 0.811050 0.570191 -v 0.057506 0.797335 0.602919 -v 0.154331 0.735616 0.545874 -v 0.190511 0.669141 0.544146 -v 0.120866 0.788022 0.551539 -v 0.065878 0.831958 0.557455 -v 0.439622 0.164783 0.046454 -v 0.403369 0.158676 0.035724 -v 0.454695 0.393247 0.013123 -v 0.498859 0.652598 0.320131 -v 0.478108 0.569070 0.289071 -v 0.518749 0.756759 0.340138 -v 0.527035 0.864085 0.351082 -v 0.550736 0.898387 0.334364 -v 0.544386 1.063371 0.335370 -v 0.545633 0.957967 0.341651 -v 0.533646 1.144131 0.326771 -v 0.422309 0.390526 0.007474 -v 0.113420 0.036204 0.643019 -v 0.134754 0.038875 0.643369 -v 0.135221 0.496068 0.699086 -v 0.113959 0.491977 0.697827 -v 0.100398 0.533113 0.702830 -v 0.121035 0.544521 0.704907 -v 0.076885 0.568295 0.706604 -v 0.093612 0.585987 0.709064 -v 0.041615 0.592176 0.710046 -v 0.050283 0.614831 0.711977 -v 0.432885 0.496493 0.293853 -v 0.400949 0.430460 0.265742 -v 0.096783 0.628475 0.664271 -v 0.052102 0.724350 0.626520 -v 0.138353 1.005327 0.509887 -v 0.263014 0.984554 0.465959 -v 0.365811 0.960416 0.411823 -v 0.394256 0.940253 0.388419 -v 0.410052 0.910315 0.375204 -v 0.419575 0.862522 0.366444 -v 0.380631 0.699220 0.401037 -v 0.349108 0.645921 0.427353 -v 0.323965 0.614964 0.450672 -v 0.278554 0.580382 0.490828 -v 0.300994 0.592376 0.471315 -v 0.254464 0.581187 0.510285 -v 0.215870 0.620817 0.535316 -v 0.557803 0.755616 0.295922 -v 0.546731 0.661016 0.259888 -v 0.531596 0.568778 0.214190 -v 0.503308 0.414580 0.027689 -v 0.523063 0.514749 0.176710 -v 0.512466 0.454397 0.115234 -v 0.566009 0.866797 0.314610 -v 0.335534 0.135443 0.125461 -v 0.370979 0.144594 0.147925 -v 0.133099 0.006781 0.635881 -v 0.115421 0.004489 0.635349 -v 0.107225 0.496826 0.657458 -v 0.098172 0.534477 0.662574 -v 0.078210 0.567301 0.665019 -v 0.042684 0.588742 0.667999 -v 0.138654 0.035774 0.498835 -v 0.177433 0.045028 0.511062 -v 0.232130 0.302131 0.350816 -v 0.394011 0.379101 0.048138 -v 0.329111 0.350753 0.175490 -v 0.508459 0.549937 -0.030999 -v 0.447154 0.538399 -0.038645 -v 0.521728 0.703778 -0.084572 -v 0.462647 0.692239 -0.093682 -v 0.541601 0.885421 -0.147515 -v 0.482814 0.888664 -0.158438 -v 0.406864 0.426440 0.035170 -v 0.422535 0.552211 -0.000368 -v 0.437495 0.703889 -0.055161 -v 0.460158 0.902545 -0.122292 -v 0.511690 0.951481 0.370465 -v 0.119837 0.785737 0.545637 -v 0.065203 0.830441 0.550092 -v 0.000000 0.847636 0.551977 -v 0.318931 0.563527 0.473299 -v 0.325282 0.505009 0.439221 -v 0.347680 0.478912 0.441207 -v 0.233389 0.598793 0.525692 -v 0.241209 0.558521 0.519476 -v 0.239296 0.542350 0.529470 -v 0.216445 0.488345 0.537085 -v 0.216352 0.460240 0.561593 -v 0.135568 0.289508 0.673741 -v 0.114279 0.286852 0.673442 -v 0.109956 0.290610 0.632618 -v 0.462678 0.445515 0.162601 -v 0.475992 0.504367 0.232227 -v 0.419538 0.415538 0.178370 -v 0.084165 0.004645 0.599219 -v 0.084146 0.352002 0.640173 -v 0.084146 0.482690 0.655758 -v 0.078088 0.516461 0.660174 -v 0.061269 0.547527 0.662898 -v 0.033034 0.565643 0.665350 -v 0.000000 0.572762 0.665373 -v 0.000000 0.569438 0.693598 -v 0.061279 0.544283 0.690643 -v 0.084179 0.479331 0.683015 -v 0.033134 0.562394 0.692770 -v 0.078102 0.513276 0.687002 -v 0.084179 0.347638 0.662632 -v 0.084179 0.353069 0.668186 -v 0.084179 0.340460 0.666706 -v -0.151477 0.524575 0.652958 -v -0.183508 0.569029 0.586468 -v -0.131329 0.580069 0.661848 -v -0.160737 0.631269 0.602314 -v -0.052102 0.724350 0.626520 -v -0.053560 0.774530 0.633427 -v -0.049247 0.664280 0.667001 -v -0.311559 0.308788 0.348438 -v -0.293295 0.114109 0.276156 -v -0.378840 0.342231 0.214617 -v -0.370979 0.144594 0.147925 -v -0.198080 0.521331 0.574546 -v -0.209450 0.536520 0.545413 -v -0.267398 0.403558 0.503948 -v -0.306543 0.432843 0.469860 -v -0.256090 0.441711 0.491998 -v -0.285742 0.459568 0.464178 -v -0.165325 0.437671 0.633861 -v -0.247100 0.266255 0.460384 -v -0.227388 0.078784 0.397485 -v -0.411737 0.577071 0.405239 -v -0.450381 0.650863 0.385873 -v -0.391126 0.593584 0.404410 -v -0.423157 0.665068 0.384484 -v -0.485704 0.759030 0.374794 -v -0.455839 0.767810 0.367329 -v -0.459864 0.861942 0.364012 -v -0.486272 0.860457 0.381569 -v -0.441495 0.926861 0.380699 -v -0.464600 0.938004 0.400564 -v -0.433231 0.969863 0.422984 -v -0.412950 0.958719 0.400066 -v -0.282018 1.019372 0.506357 -v -0.268596 1.001637 0.475054 -v -0.384666 0.993819 0.454111 -v -0.373370 0.975991 0.421316 -v -0.142861 1.038352 0.553143 -v -0.140747 1.022724 0.522858 -v -0.478108 0.569070 0.289071 -v -0.498859 0.652598 0.320131 -v -0.518749 0.756759 0.340138 -v -0.527035 0.864085 0.351082 -v -0.382002 0.526733 0.421956 -v -0.358028 0.549805 0.420654 -v -0.283231 1.129298 0.472519 -v -0.407676 1.103160 0.412405 -v -0.142742 1.145411 0.517657 -v -0.511691 0.951481 0.370465 -v -0.475980 1.051464 0.381820 -v -0.436937 1.273467 0.377742 -v -0.509148 1.215159 0.336059 -v -0.304083 1.289812 0.450362 -v -0.143813 1.298790 0.497732 -v -0.115421 0.004489 0.635349 -v -0.110535 0.005395 0.599741 -v -0.133099 0.006781 0.635881 -v -0.144636 0.007877 0.604104 -v -0.197066 0.074325 0.379573 -v -0.260152 0.107644 0.254081 -v -0.335534 0.135443 0.125461 -v -0.177433 0.045028 0.511062 -v -0.138654 0.035774 0.498835 -v -0.237847 0.407594 0.541883 -v -0.231621 0.449564 0.516437 -v -0.186382 0.271672 0.580150 -v -0.057506 0.797335 0.602919 -v -0.098130 0.758054 0.597822 -v -0.089181 0.737425 0.627349 -v -0.125738 0.710486 0.599078 -v -0.114890 0.690102 0.619225 -v -0.202006 0.604862 0.553457 -v -0.173035 0.649694 0.573047 -v -0.221625 0.567634 0.541178 -v -0.261032 0.532563 0.515138 -v -0.289939 0.540541 0.495245 -v -0.369494 0.625951 0.429479 -v -0.403228 0.683902 0.400076 -v -0.434630 0.774993 0.376796 -v -0.444187 0.859839 0.371886 -v -0.394256 0.940253 0.388419 -v -0.410053 0.910315 0.375204 -v -0.263014 0.984554 0.465959 -v -0.365811 0.960416 0.411823 -v -0.138353 1.005327 0.509887 -v -0.342018 0.588721 0.453890 -v -0.325282 0.505009 0.439221 -v -0.318931 0.563527 0.473299 -v -0.419575 0.862522 0.366444 -v -0.411293 0.784139 0.372012 -v -0.388978 0.692028 0.396861 -v -0.358286 0.634576 0.424258 -v -0.331282 0.598798 0.447604 -v -0.309166 0.574121 0.466919 -v -0.281628 0.555508 0.488272 -v -0.258024 0.548682 0.507222 -v -0.223743 0.580733 0.532442 -v -0.205910 0.611484 0.542729 -v -0.178827 0.658546 0.552711 -v -0.141059 0.725485 0.557956 -v -0.108768 0.774398 0.560327 -v -0.061667 0.811050 0.570191 -v -0.190511 0.669141 0.544146 -v -0.154331 0.735616 0.545874 -v -0.120866 0.788022 0.551539 -v -0.065878 0.831958 0.557455 -v -0.566009 0.866797 0.314610 -v -0.557803 0.755616 0.295922 -v -0.403369 0.158676 0.035724 -v -0.422309 0.390526 0.007474 -v -0.439623 0.164783 0.046454 -v -0.454695 0.393247 0.013123 -v -0.232130 0.302131 0.350816 -v -0.329112 0.350753 0.175490 -v -0.169721 0.247278 0.492525 -v -0.394011 0.379101 0.048138 -v -0.113420 0.036204 0.643019 -v -0.134754 0.038875 0.643369 -v -0.114279 0.286852 0.673442 -v -0.135568 0.289508 0.673741 -v -0.121036 0.544521 0.704907 -v -0.100398 0.533113 0.702830 -v -0.135221 0.496068 0.699086 -v -0.113959 0.491977 0.697827 -v -0.093612 0.585987 0.709064 -v -0.076885 0.568295 0.706604 -v -0.050284 0.614831 0.711977 -v -0.041615 0.592176 0.710046 -v -0.347680 0.478912 0.441207 -v -0.400949 0.430460 0.265742 -v -0.432885 0.496493 0.293853 -v -0.419538 0.415538 0.178370 -v -0.475992 0.504367 0.232227 -v -0.546731 0.661016 0.259888 -v -0.096783 0.628475 0.664271 -v -0.380631 0.699220 0.401037 -v -0.349108 0.645921 0.427353 -v -0.323965 0.614964 0.450672 -v -0.278554 0.580382 0.490828 -v -0.300994 0.592376 0.471315 -v -0.254465 0.581187 0.510285 -v -0.233389 0.598793 0.525692 -v -0.215870 0.620817 0.535316 -v -0.065203 0.830441 0.550092 -v -0.119838 0.785737 0.545637 -v -0.550737 0.898387 0.334364 -v -0.533646 1.144131 0.326771 -v -0.544386 1.063371 0.335370 -v -0.508459 0.549937 -0.030999 -v -0.503308 0.414580 0.027689 -v -0.042684 0.588742 0.667999 -v -0.078210 0.567301 0.665019 -v -0.098173 0.534477 0.662574 -v -0.107225 0.496826 0.657458 -v -0.109956 0.290610 0.632618 -v -0.084165 0.004645 0.599219 -v -0.216445 0.488345 0.537085 -v -0.216353 0.460240 0.561593 -v -0.239297 0.542350 0.529470 -v -0.241209 0.558521 0.519476 -v -0.447154 0.538399 -0.038645 -v -0.521729 0.703778 -0.084572 -v -0.462647 0.692239 -0.093682 -v -0.541601 0.885421 -0.147515 -v -0.482814 0.888664 -0.158438 -v -0.406864 0.426440 0.035170 -v -0.422535 0.552211 -0.000368 -v -0.437495 0.703889 -0.055161 -v -0.460158 0.902545 -0.122292 -v -0.512467 0.454397 0.115234 -v -0.462678 0.445515 0.162601 -v -0.545633 0.957967 0.341651 -v -0.523063 0.514749 0.176710 -v -0.531596 0.568778 0.214190 -v -0.084146 0.352002 0.640173 -v -0.084146 0.482690 0.655758 -v -0.078088 0.516461 0.660174 -v -0.061269 0.547527 0.662898 -v -0.033034 0.565643 0.665350 -v -0.033135 0.562394 0.692770 -v -0.078102 0.513276 0.687002 -v -0.084179 0.479331 0.683015 -v -0.061279 0.544283 0.690643 -v -0.084179 0.001562 0.626712 -v -0.084179 0.340460 0.666706 -v -0.084179 0.347638 0.662632 -v -0.084179 0.353069 0.668186 -v 0.472678 0.498641 0.495580 -v 0.455134 0.363052 0.415115 -v 0.495820 0.677998 0.552178 -v 0.508480 0.873301 0.617343 -v 0.418954 1.198035 0.746808 -v 0.226891 1.228586 0.775409 -v 0.000000 1.239688 0.783618 -v 0.507938 0.922792 0.636298 -v 0.498280 1.034902 0.679668 -v 0.463011 1.172257 0.732715 -v 0.526901 0.501753 0.487367 -v 0.503139 0.380206 0.406528 -v 0.557002 0.682570 0.546605 -v 0.557258 0.890442 0.616173 -v 0.440330 1.260757 0.756994 -v 0.237063 1.291562 0.788802 -v 0.000000 1.303438 0.798479 -v 0.551565 1.044372 0.673726 -v 0.519555 1.199309 0.727544 -v 0.578629 0.860338 0.602969 -v 0.453456 0.387867 0.009125 -v 0.514033 0.413414 0.006748 -v 0.538383 0.540815 -0.041315 -v 0.563228 0.698624 -0.097146 -v 0.578629 0.889788 -0.165692 -v 0.401001 1.304767 0.242620 -v 0.335796 1.309552 0.340186 -v 0.121185 1.312348 0.465164 -v 0.000000 1.311687 0.475739 -v 0.556904 0.925710 -0.185852 -v 0.553961 0.965324 -0.221030 -v 0.547991 1.040282 -0.269386 -v 0.533706 1.185715 -0.306229 -v 0.460050 0.394654 0.460563 -v 0.507153 0.403294 0.446925 -v 0.485571 1.116606 0.710684 -v 0.535991 1.130023 0.705238 -v 0.542214 1.125565 -0.298134 -v 0.531238 0.518132 0.263921 -v 0.559660 0.689425 0.272826 -v 0.578629 0.873101 0.278899 -v 0.557889 0.905482 0.281533 -v 0.551597 1.042421 0.292352 -v 0.539814 1.135696 0.301089 -v 0.518906 1.213291 0.458865 -v 0.454415 0.367847 0.251116 -v 0.507363 0.391047 0.248269 -v 0.521461 1.231712 -0.295396 -v 0.551526 1.040605 -0.117034 -v 0.544234 1.105747 -0.107437 -v 0.462265 1.300027 0.118026 -v 0.521878 1.217109 0.125659 -v 0.497751 1.296740 -0.210064 -v 0.439391 1.282255 0.525135 -v 0.237065 1.307015 0.594925 -v 0.000000 1.310493 0.630779 -v 0.457592 0.372454 0.442336 -v 0.504071 0.386924 0.431313 -v 0.509748 1.274034 -0.264504 -v 0.457855 0.385287 0.432539 -v 0.454862 0.383365 0.250964 -v 0.455654 0.378042 0.411305 -v 0.460638 1.175477 0.718840 -v 0.417039 1.199882 0.732548 -v 0.495675 0.682478 0.538474 -v 0.472448 0.503090 0.481931 -v 0.508165 0.878296 0.603678 -v 0.225296 1.229162 0.761042 -v 0.000000 1.239799 0.766477 -v 0.497310 1.039942 0.666166 -v 0.507395 0.928064 0.622852 -v 0.483919 1.120965 0.697020 -v 0.459794 0.402406 0.446365 -v 0.496029 0.399310 0.418886 -v 0.524404 0.529557 0.264265 -v 0.499299 0.405394 0.253953 -v 0.496064 0.396443 0.403086 -v 0.493704 1.202905 0.706920 -v 0.491877 1.222469 0.271484 -v 0.432994 1.237217 0.726031 -v 0.406565 1.283041 0.245873 -v 0.545063 0.682278 0.529418 -v 0.548665 0.682341 0.276431 -v 0.514660 0.503906 0.469355 -v 0.558168 0.861778 0.586649 -v 0.561787 0.869876 0.282683 -v 0.227789 1.268357 0.761172 -v 0.344000 1.286400 0.347772 -v 0.123232 1.293313 0.475684 -v 0.000000 1.276835 0.764351 -v 0.000000 1.291718 0.487812 -v 0.544438 0.891741 0.598331 -v 0.547857 0.901451 0.284972 -v 0.533694 1.044316 0.657349 -v 0.542418 1.041574 0.280644 -v 0.541725 0.940231 0.285367 -v 0.538157 0.929880 0.613045 -v 0.523336 1.130394 0.687416 -v 0.532723 1.127003 0.276865 -v 0.438828 1.287197 0.115931 -v 0.467218 1.288406 -0.109583 -v 0.497531 0.413366 0.432461 -v 0.417627 1.255699 0.520493 -v 0.573825 0.913823 -0.177280 -v 0.573955 0.895149 0.280376 -v 0.574051 0.881109 0.610551 -v 0.435214 1.306286 0.112960 -v 0.483731 1.303610 -0.110598 -v 0.460597 1.307026 -0.109257 -v 0.517924 1.185677 -0.279932 -v 0.527570 1.125716 -0.273598 -v 0.533346 1.041535 -0.244216 -v 0.538489 0.966120 -0.193288 -v 0.545807 0.923712 -0.158500 -v 0.559396 0.890681 -0.141981 -v 0.541768 0.699706 -0.078683 -v 0.522827 0.542499 -0.018996 -v 0.502348 0.421501 0.023788 -v 0.454188 0.400027 0.020421 -v 0.490524 1.185677 -0.282528 -v 0.493804 1.125716 -0.277663 -v 0.490550 1.185908 -0.305724 -v 0.493268 1.125560 -0.301537 -v 0.498703 1.041535 -0.252803 -v 0.498387 1.041395 -0.273887 -v 0.502402 0.966120 -0.203136 -v 0.501880 0.968429 -0.229786 -v 0.501328 0.910853 -0.182371 -v 0.501295 0.908990 -0.160008 -v 0.496870 0.699706 -0.084306 -v 0.496949 0.701241 -0.103441 -v 0.477537 0.542852 -0.032825 -v 0.477593 0.543778 -0.048374 -v 0.497124 1.262500 -0.242720 -v 0.509349 1.220731 -0.273629 -v 0.490045 1.279480 -0.202366 -v 0.485872 1.230418 -0.296101 -v 0.486558 1.220731 -0.276225 -v 0.478962 1.262500 -0.247944 -v 0.477158 1.274252 -0.264501 -v 0.467497 1.298303 -0.209259 -v 0.470183 1.284062 -0.202366 -v 0.516461 1.240163 -0.107947 -v 0.524456 1.220080 -0.155722 -v 0.534875 1.172294 -0.175250 -v 0.542633 1.125781 -0.154095 -v 0.534875 1.173073 -0.039573 -v 0.524411 1.219834 -0.058684 -v 0.540902 1.125098 -0.060120 -v 0.534875 1.111311 -0.107437 -v 0.534875 1.128549 -0.151332 -v 0.534875 1.237813 -0.108846 -v 0.534875 1.218874 -0.154189 -v 0.534875 1.128377 -0.063540 -v 0.534875 1.218432 -0.061318 -v 0.473441 1.302867 -0.010762 -v 0.452160 1.306359 -0.010008 -v 0.457523 1.287529 -0.009930 -v 0.529670 1.121062 -0.010335 -v 0.465373 1.263467 0.126383 -v 0.515162 1.259525 -0.190287 -v 0.507844 1.272916 -0.111218 -v 0.504476 1.273514 -0.025759 -v 0.526132 1.220835 -0.227576 -v 0.497090 1.270667 0.125320 -v 0.488818 1.255423 0.493359 -v 0.490346 1.237550 0.741165 -v 0.443790 1.189769 0.740555 -v 0.441632 1.192343 0.726499 -v 0.467913 1.224439 0.715903 -v 0.469037 1.237820 0.508236 -v 0.245138 1.311425 0.423078 -v 0.247845 1.290506 0.430310 -v 0.440425 1.267422 0.260726 -v 0.476756 1.273515 -0.009293 -v 0.482988 1.277877 -0.109284 -v 0.502717 1.204145 0.512725 -v 0.501746 1.227849 -0.007411 -v 0.505001 1.225114 -0.109696 -v -0.524404 0.529557 0.264265 -v -0.499299 0.405394 0.253953 -v -0.496064 0.396443 0.403086 -v -0.491877 1.222469 0.271484 -v -0.440425 1.267422 0.260726 -v -0.465373 1.263467 0.126383 -v -0.460050 0.394654 0.460563 -v -0.507153 0.403294 0.446925 -v -0.472678 0.498641 0.495580 -v -0.526901 0.501753 0.487367 -v -0.495820 0.677998 0.552178 -v -0.557002 0.682570 0.546605 -v -0.578629 0.860338 0.602969 -v -0.508480 0.873301 0.617343 -v -0.226891 1.228586 0.775409 -v -0.418954 1.198035 0.746808 -v -0.237063 1.291562 0.788802 -v -0.440330 1.260757 0.756994 -v -0.557258 0.890442 0.616173 -v -0.507938 0.922792 0.636298 -v -0.498280 1.034902 0.679668 -v -0.551565 1.044372 0.673726 -v -0.443790 1.189769 0.740555 -v -0.463011 1.172257 0.732715 -v -0.490346 1.237550 0.741165 -v -0.519555 1.199309 0.727544 -v -0.485571 1.116606 0.710684 -v -0.535991 1.130023 0.705238 -v -0.455134 0.363052 0.415115 -v -0.454415 0.367847 0.251116 -v -0.503139 0.380206 0.406528 -v -0.507363 0.391047 0.248269 -v -0.531238 0.518132 0.263921 -v -0.559660 0.689425 0.272826 -v -0.578629 0.873101 0.278899 -v -0.237065 1.307015 0.594925 -v -0.439391 1.282255 0.525135 -v -0.551597 1.042421 0.292352 -v -0.557889 0.905482 0.281533 -v -0.488818 1.255423 0.493359 -v -0.518906 1.213291 0.458865 -v -0.539814 1.135696 0.301089 -v -0.574051 0.881109 0.610551 -v -0.573955 0.895149 0.280376 -v -0.457592 0.372454 0.442336 -v -0.504071 0.386924 0.431313 -v -0.545063 0.682278 0.529418 -v -0.548665 0.682341 0.276431 -v -0.514660 0.503906 0.469355 -v -0.561787 0.869876 0.282683 -v -0.558168 0.861778 0.586649 -v -0.247845 1.290506 0.430310 -v -0.227789 1.268357 0.761172 -v -0.123232 1.293313 0.475684 -v -0.547857 0.901451 0.284972 -v -0.544438 0.891741 0.598331 -v -0.533694 1.044316 0.657349 -v -0.542418 1.041574 0.280644 -v -0.538157 0.929880 0.613045 -v -0.541725 0.940231 0.285367 -v -0.523336 1.130394 0.687416 -v -0.532723 1.127003 0.276865 -v -0.502717 1.204145 0.512725 -v -0.493704 1.202905 0.706920 -v -0.521878 1.217109 0.125659 -v -0.478962 1.262500 -0.247944 -v -0.477158 1.274252 -0.264501 -v -0.486558 1.220731 -0.276225 -v -0.485872 1.230418 -0.296101 -v -0.470183 1.284062 -0.202366 -v -0.467497 1.298303 -0.209259 -v -0.517924 1.185677 -0.279932 -v -0.527570 1.125716 -0.273598 -v -0.529670 1.121062 -0.010335 -v -0.533346 1.041535 -0.244216 -v -0.538489 0.966120 -0.193288 -v -0.559396 0.890681 -0.141981 -v -0.545807 0.923712 -0.158500 -v -0.541768 0.699706 -0.078683 -v -0.522827 0.542499 -0.018996 -v -0.502348 0.421501 0.023788 -v -0.514033 0.413414 0.006748 -v -0.453456 0.387867 0.009125 -v -0.538383 0.540815 -0.041315 -v -0.563228 0.698624 -0.097146 -v -0.578629 0.889788 -0.165692 -v -0.573825 0.913823 -0.177280 -v -0.556904 0.925710 -0.185852 -v -0.551526 1.040605 -0.117034 -v -0.245138 1.311425 0.423078 -v -0.335796 1.309552 0.340186 -v -0.401001 1.304767 0.242620 -v -0.462265 1.300027 0.118026 -v -0.121185 1.312348 0.465164 -v -0.497531 0.413366 0.432461 -v -0.454862 0.383365 0.250964 -v -0.455654 0.378042 0.411305 -v -0.457855 0.385287 0.432539 -v -0.441632 1.192343 0.726499 -v -0.460638 1.175477 0.718840 -v -0.495675 0.682478 0.538474 -v -0.472448 0.503090 0.481931 -v -0.508165 0.878296 0.603678 -v -0.417039 1.199882 0.732548 -v -0.225296 1.229162 0.761042 -v -0.497310 1.039942 0.666166 -v -0.507395 0.928064 0.622852 -v -0.483919 1.120965 0.697020 -v -0.454188 0.400027 0.020421 -v -0.459794 0.402406 0.446365 -v -0.496029 0.399310 0.418886 -v -0.467913 1.224439 0.715903 -v -0.432994 1.237217 0.726031 -v -0.469037 1.237820 0.508236 -v -0.496949 0.701241 -0.103441 -v -0.477593 0.543778 -0.048374 -v -0.553961 0.965324 -0.221030 -v -0.501880 0.968429 -0.229786 -v -0.547991 1.040282 -0.269386 -v -0.498387 1.041395 -0.273887 -v -0.542214 1.125565 -0.298134 -v -0.493268 1.125560 -0.301537 -v -0.501328 0.910853 -0.182371 -v -0.533706 1.185715 -0.306229 -v -0.490550 1.185908 -0.305724 -v -0.406565 1.283041 0.245873 -v -0.344000 1.286400 0.347772 -v -0.438828 1.287197 0.115931 -v -0.435214 1.306286 0.112960 -v -0.473441 1.302867 -0.010762 -v -0.452160 1.306359 -0.010008 -v -0.417627 1.255699 0.520493 -v -0.457523 1.287529 -0.009930 -v -0.467218 1.288406 -0.109583 -v -0.460597 1.307026 -0.109257 -v -0.493804 1.125716 -0.277663 -v -0.490524 1.185677 -0.282528 -v -0.498703 1.041535 -0.252803 -v -0.502402 0.966120 -0.203136 -v -0.501295 0.908990 -0.160008 -v -0.496870 0.699706 -0.084306 -v -0.477537 0.542852 -0.032825 -v -0.509349 1.220731 -0.273629 -v -0.497124 1.262500 -0.242720 -v -0.521461 1.231712 -0.295396 -v -0.509748 1.274034 -0.264504 -v -0.497751 1.296740 -0.210064 -v -0.490045 1.279480 -0.202366 -v -0.483731 1.303610 -0.110598 -v -0.501746 1.227849 -0.007411 -v -0.505001 1.225114 -0.109696 -v -0.524456 1.220080 -0.155722 -v -0.534875 1.172294 -0.175250 -v -0.526132 1.220835 -0.227576 -v -0.516461 1.240163 -0.107947 -v -0.507844 1.272916 -0.111218 -v -0.515162 1.259525 -0.190287 -v -0.524411 1.219834 -0.058684 -v -0.504476 1.273514 -0.025759 -v -0.497090 1.270667 0.125320 -v -0.544234 1.105747 -0.107437 -v -0.540902 1.125098 -0.060120 -v -0.542633 1.125781 -0.154095 -v -0.534875 1.111311 -0.107437 -v -0.534875 1.128549 -0.151332 -v -0.534875 1.237813 -0.108846 -v -0.534875 1.218874 -0.154189 -v -0.534875 1.173073 -0.039573 -v -0.534875 1.128377 -0.063540 -v -0.534875 1.218432 -0.061318 -v -0.476756 1.273515 -0.009293 -v -0.482988 1.277877 -0.109284 -v 0.000000 0.275313 -0.663685 -v 0.000000 0.401435 -0.692916 -v 0.000000 0.482880 -0.796468 -v 0.000000 0.553547 -0.851344 -v 0.000000 0.832426 -0.872868 -v 0.000000 0.893900 -0.856622 -v 0.000000 0.927457 -0.832146 -v 0.000000 1.131149 -0.815607 -v 0.000000 1.220981 -0.796999 -v 0.000000 1.284136 -0.768631 -v 0.000000 1.310340 -0.741967 -v 0.000000 0.743029 -0.878336 -v 0.000000 0.425120 -0.718862 -v 0.000000 1.403912 -0.699561 -v 0.000000 1.546331 -0.229220 -v 0.000000 1.540559 -0.376814 -v 0.000000 1.522687 -0.517027 -v 0.000000 1.479294 -0.625103 -v 0.000000 1.543301 -0.073087 -v 0.000000 1.533419 0.076839 -v 0.000000 1.516212 0.199947 -v 0.000000 1.346225 0.433512 -v 0.000000 1.420419 0.392736 -v 0.000000 1.484265 0.311647 -v 0.000000 1.296991 0.443624 -v 0.000000 1.027557 -0.826267 -v 0.000000 0.649856 -0.873601 -v 0.000000 0.378046 -0.678510 -v 0.000000 0.273635 -0.628613 -v 0.000000 1.296991 0.502498 -v 0.466306 0.386360 -0.136250 -v 0.454450 0.392430 -0.287917 -v 0.425859 0.398485 -0.412160 -v 0.368089 0.401568 -0.521642 -v 0.297157 0.403666 -0.596314 -v 0.205207 0.403504 -0.649593 -v 0.105847 0.402057 -0.682957 -v 0.480393 0.409301 -0.301310 -v 0.452650 0.418753 -0.431928 -v 0.390228 0.422728 -0.545312 -v 0.312241 0.424274 -0.619736 -v 0.215618 0.424967 -0.674609 -v 0.111099 0.424687 -0.705398 -v 0.639960 0.513162 -0.272312 -v 0.599536 0.452946 -0.199652 -v 0.565749 0.452970 -0.370140 -v 0.619839 0.518132 -0.424157 -v 0.571177 0.525431 -0.548174 -v 0.523320 0.460508 -0.502629 -v 0.494740 0.534493 -0.657377 -v 0.451475 0.468040 -0.610905 -v 0.395924 0.543049 -0.744076 -v 0.362309 0.473311 -0.693480 -v 0.123652 0.483032 -0.786924 -v 0.245744 0.479214 -0.754807 -v 0.265657 0.549179 -0.808178 -v 0.132838 0.553184 -0.842528 -v 0.661515 0.618840 -0.315200 -v 0.644798 0.622977 -0.442636 -v 0.595960 0.628675 -0.572599 -v 0.513801 0.635011 -0.677834 -v 0.409901 0.641868 -0.763748 -v 0.275951 0.645809 -0.830733 -v 0.136471 0.649791 -0.865248 -v 0.617504 0.863480 -0.269102 -v 0.648789 0.803643 -0.321878 -v 0.621909 0.816086 -0.447824 -v 0.582346 0.882561 -0.430587 -v 0.544359 0.883943 -0.558911 -v 0.574742 0.819434 -0.574193 -v 0.483138 0.885529 -0.663189 -v 0.504765 0.823740 -0.679602 -v 0.270124 0.894651 -0.811084 -v 0.274073 0.830747 -0.832120 -v 0.134353 0.831969 -0.865275 -v 0.126694 0.894325 -0.844375 -v 0.555684 0.924913 -0.215786 -v 0.542490 0.930013 -0.409367 -v 0.506223 0.929637 -0.540696 -v 0.453039 0.926990 -0.643237 -v 0.251092 0.934623 -0.761604 -v 0.131933 0.935714 -0.801735 -v 0.118270 0.928204 -0.817928 -v 0.541290 1.131051 -0.329770 -v 0.522547 1.221382 -0.333103 -v 0.527345 1.130042 -0.414468 -v 0.507335 1.220849 -0.419783 -v 0.466574 1.222041 -0.533019 -v 0.483032 1.131700 -0.538807 -v 0.401709 1.220497 -0.629408 -v 0.423966 1.131922 -0.637852 -v 0.499345 1.281729 -0.300617 -v 0.483534 1.282236 -0.412917 -v 0.440056 1.282233 -0.516511 -v 0.377487 1.282191 -0.611856 -v 0.305615 1.282151 -0.683800 -v 0.322480 1.219805 -0.699842 -v 0.218417 1.284231 -0.727081 -v 0.236803 1.222103 -0.751386 -v 0.135989 1.220931 -0.782210 -v 0.117495 1.283165 -0.757567 -v 0.445922 0.403746 -0.027623 -v 0.505883 0.408960 -0.050173 -v 0.468055 0.381464 -0.035311 -v 0.580665 0.890722 -0.197061 -v 0.138959 0.743105 -0.870690 -v 0.596701 0.725339 -0.578856 -v 0.516370 0.731493 -0.688300 -v 0.642316 0.719345 -0.447379 -v 0.661834 0.716038 -0.329195 -v 0.520064 0.454769 -0.062988 -v 0.548213 0.459164 -0.113006 -v 0.546190 0.422366 -0.110464 -v 0.592898 0.490111 -0.196279 -v 0.620879 0.540437 -0.260291 -v 0.638525 0.622410 -0.295973 -v 0.630203 0.789048 -0.299916 -v 0.608579 0.835674 -0.253307 -v 0.639084 0.716171 -0.308229 -v 0.579652 0.842662 -0.180699 -v 0.561758 0.716544 -0.140073 -v 0.443242 1.310225 -0.388568 -v 0.404913 1.310202 -0.498226 -v 0.349724 1.310198 -0.586795 -v 0.282673 1.309843 -0.654823 -v 0.198588 1.310222 -0.700834 -v 0.106783 1.310295 -0.731039 -v 0.385868 1.400122 -0.400909 -v 0.310421 1.467857 -0.390880 -v 0.266173 1.457967 -0.524738 -v 0.311280 1.398134 -0.549305 -v 0.103505 1.534730 -0.378049 -v 0.099605 1.515760 -0.515166 -v 0.098392 1.474770 -0.620740 -v 0.251767 1.392396 -0.618851 -v 0.196272 1.456735 -0.592215 -v 0.175834 1.395176 -0.666718 -v 0.098528 1.399139 -0.691758 -v 0.180286 1.497351 -0.508038 -v 0.205987 1.515010 -0.381370 -v 0.418065 1.396418 -0.086963 -v 0.401971 1.392277 0.064915 -v 0.338078 1.463460 0.067784 -v 0.344507 1.467198 -0.084766 -v 0.109455 1.537381 -0.075093 -v 0.108976 1.527873 0.075027 -v 0.225309 1.511005 0.071866 -v 0.230138 1.517579 -0.079762 -v 0.314399 1.385814 0.295828 -v 0.278741 1.440388 0.260842 -v 0.314098 1.453090 0.186838 -v 0.372752 1.383205 0.193041 -v 0.211867 1.461839 0.285578 -v 0.225744 1.402438 0.355029 -v 0.110084 1.478708 0.303265 -v 0.110939 1.417340 0.385419 -v 0.108071 1.511040 0.195934 -v 0.214860 1.493880 0.189970 -v 0.495293 1.130906 -0.311334 -v 0.486364 1.216647 -0.318528 -v 0.468907 1.289028 -0.251379 -v 0.473660 1.269780 -0.286016 -v 0.504737 0.925614 -0.191771 -v 0.507862 0.810263 -0.150418 -v 0.495591 0.714721 -0.119267 -v 0.491635 1.132654 -0.106675 -v 0.432580 1.329079 0.074886 -v 0.465204 1.286335 -0.088443 -v 0.450412 1.329108 -0.088832 -v 0.444194 1.291131 0.083885 -v 0.401969 1.292611 0.206764 -v 0.333440 1.292107 0.313494 -v 0.234143 1.294910 0.394789 -v 0.113326 1.296983 0.434097 -v 0.328881 1.326787 0.307695 -v 0.394160 1.326788 0.203723 -v 0.233009 1.336604 0.387698 -v 0.114571 1.344287 0.424379 -v 0.462744 1.311686 -0.259062 -v 0.109254 1.540182 -0.231520 -v 0.229079 1.519875 -0.231583 -v 0.343282 1.468938 -0.231173 -v 0.417230 1.398320 -0.239037 -v 0.471985 0.567307 -0.075478 -v 0.540053 0.567203 -0.095331 -v 0.136825 1.029733 -0.811013 -v 0.147588 1.027527 -0.794752 -v 0.249720 1.023759 -0.756375 -v 0.498972 1.029689 -0.542891 -v 0.441643 1.029899 -0.640491 -v 0.536198 1.028551 -0.419037 -v 0.547465 1.036499 -0.298053 -v 0.501330 1.041592 -0.279615 -v 0.258015 0.928087 -0.777295 -v 0.153096 1.129226 -0.801359 -v 0.162876 1.115404 -0.786713 -v 0.250912 1.115393 -0.756707 -v 0.455484 0.349625 -0.025968 -v 0.450950 0.357358 -0.135180 -v 0.438576 0.364976 -0.278590 -v 0.416686 0.370766 -0.404924 -v 0.359161 0.375531 -0.513272 -v 0.288606 0.376913 -0.584422 -v 0.201735 0.377912 -0.635053 -v 0.105106 0.378058 -0.667741 -v 0.278818 0.741071 -0.838910 -v 0.418408 0.737259 -0.769866 -v 0.566206 0.782571 -0.334788 -v 0.553921 0.735774 -0.319053 -v 0.527469 0.510938 -0.261160 -v 0.545175 0.507375 -0.277553 -v 0.569095 0.515103 -0.296617 -v 0.593006 0.554095 -0.321349 -v 0.605831 0.626748 -0.341959 -v 0.599099 0.764999 -0.356748 -v 0.585171 0.784938 -0.352159 -v 0.608177 0.717896 -0.357361 -v 0.529242 0.562382 -0.273853 -v 0.344794 1.128248 -0.717305 -v 0.367282 1.027340 -0.714399 -v 0.384778 0.927942 -0.710487 -v 0.402272 0.889632 -0.739208 -v 0.412484 0.828200 -0.759841 -v 0.365095 0.934093 -0.708841 -v 0.347186 1.025898 -0.709747 -v 0.255804 1.130180 -0.766157 -v 0.328548 1.115315 -0.714309 -v 0.401698 0.161159 0.035348 -v 0.377051 0.160724 0.006376 -v 0.368521 0.406688 0.091378 -v 0.343597 0.404088 0.094562 -v 0.413219 0.715576 0.027679 -v 0.436055 0.716322 0.023696 -v 0.382800 0.574088 0.054618 -v 0.404840 0.573925 0.050695 -v 0.331589 0.254574 0.135128 -v 0.303326 0.254948 0.136872 -v 0.320307 0.205128 0.145554 -v 0.292115 0.205551 0.145640 -v 0.432841 0.801786 0.021187 -v 0.455617 0.802996 0.018481 -v 0.337860 0.157653 0.114579 -v 0.311484 0.156788 0.114977 -v 0.295638 0.172621 0.137148 -v 0.324782 0.174236 0.135367 -v 0.415282 0.162208 0.019281 -v 0.349958 0.233448 -0.504833 -v 0.399038 0.215040 -0.405576 -v 0.285763 0.249069 -0.573785 -v 0.101710 0.271338 -0.652303 -v 0.421193 0.195600 -0.276785 -v 0.426462 0.177916 -0.130665 -v 0.198180 0.262088 -0.622766 -v 0.322960 0.231834 -0.482911 -v 0.365646 0.212881 -0.392210 -v 0.264730 0.247261 -0.545574 -v 0.094875 0.269410 -0.617867 -v 0.386129 0.193272 -0.273976 -v 0.391105 0.175399 -0.131456 -v 0.185617 0.260371 -0.590118 -v 0.480064 1.136059 0.081115 -v 0.487545 0.819099 0.080478 -v 0.432745 0.818974 0.083847 -v 0.467901 1.284465 0.089812 -v 0.445221 1.289194 0.217243 -v 0.375291 1.292107 0.352815 -v 0.263750 1.294910 0.452360 -v 0.127368 1.296983 0.489311 -v 0.500087 1.137085 0.083727 -v 0.507598 0.816962 0.082356 -v 0.378612 0.402151 -0.029888 -v 0.352383 0.438381 -0.235280 -v 0.352669 0.408344 -0.049001 -v 0.512539 0.970340 0.083013 -v 0.492501 0.970961 0.080783 -v 0.502190 0.964727 -0.102247 -v 0.363441 0.220628 0.091202 -v 0.555135 0.924435 -0.296496 -v 0.534707 0.472766 -0.108628 -v 0.385031 0.311832 -0.044641 -v 0.389544 0.345010 -0.250336 -v 0.374571 0.365985 -0.367508 -v 0.336980 0.385292 -0.460572 -v 0.282361 0.399908 -0.526535 -v 0.200756 0.413689 -0.577795 -v 0.104426 0.424403 -0.610495 -v 0.000000 0.426302 -0.622922 -v 0.000000 0.518012 -0.581708 -v 0.095767 0.514240 -0.569918 -v 0.181719 0.504288 -0.533168 -v 0.250913 0.491717 -0.481709 -v 0.303037 0.475351 -0.416525 -v 0.335127 0.460809 -0.336618 -v 0.000000 0.443393 -0.583372 -v 0.351251 0.330560 -0.061170 -v 0.353121 0.362843 -0.247197 -v 0.094819 0.437749 -0.574202 -v 0.180289 0.427513 -0.539896 -v 0.250278 0.414870 -0.491564 -v 0.303258 0.400518 -0.429420 -v 0.335573 0.384386 -0.350114 -v 0.308468 0.200412 0.127973 -v 0.366319 0.181806 0.035711 -v 0.368809 0.228761 0.029032 -v 0.314214 0.247332 0.123412 -v 0.307475 0.243242 0.115479 -v 0.360379 0.226428 0.028026 -v 0.303706 0.202899 0.120956 -v 0.356610 0.186085 0.033502 -v -0.466306 0.386360 -0.136250 -v -0.468055 0.381464 -0.035311 -v -0.450950 0.357358 -0.135180 -v -0.455484 0.349625 -0.025968 -v -0.425859 0.398485 -0.412160 -v -0.454450 0.392430 -0.287917 -v -0.416686 0.370766 -0.404924 -v -0.438576 0.364976 -0.278590 -v -0.368089 0.401568 -0.521642 -v -0.359161 0.375531 -0.513272 -v -0.297157 0.403666 -0.596314 -v -0.288606 0.376913 -0.584422 -v -0.105847 0.402057 -0.682957 -v -0.205207 0.403504 -0.649593 -v -0.105106 0.378058 -0.667741 -v -0.201735 0.377912 -0.635053 -v -0.480393 0.409301 -0.301310 -v -0.452650 0.418753 -0.431928 -v -0.390228 0.422728 -0.545312 -v -0.312241 0.424274 -0.619736 -v -0.215618 0.424967 -0.674609 -v -0.111099 0.424687 -0.705398 -v -0.599536 0.452946 -0.199652 -v -0.565749 0.452970 -0.370140 -v -0.639960 0.513162 -0.272312 -v -0.619839 0.518132 -0.424157 -v -0.523320 0.460508 -0.502629 -v -0.571177 0.525431 -0.548174 -v -0.451475 0.468040 -0.610905 -v -0.494740 0.534493 -0.657377 -v -0.362309 0.473311 -0.693480 -v -0.395924 0.543049 -0.744076 -v -0.245744 0.479214 -0.754807 -v -0.123652 0.483032 -0.786924 -v -0.265657 0.549179 -0.808178 -v -0.132838 0.553184 -0.842528 -v -0.661515 0.618840 -0.315200 -v -0.644798 0.622977 -0.442636 -v -0.595960 0.628675 -0.572599 -v -0.513801 0.635011 -0.677834 -v -0.409901 0.641868 -0.763748 -v -0.275951 0.645809 -0.830733 -v -0.136471 0.649791 -0.865248 -v -0.617504 0.863480 -0.269102 -v -0.648789 0.803643 -0.321878 -v -0.582346 0.882561 -0.430587 -v -0.621909 0.816086 -0.447824 -v -0.574742 0.819434 -0.574193 -v -0.544359 0.883943 -0.558911 -v -0.504765 0.823740 -0.679602 -v -0.483138 0.885529 -0.663189 -v -0.134353 0.831969 -0.865275 -v -0.126694 0.894325 -0.844375 -v -0.542490 0.930013 -0.409367 -v -0.506223 0.929637 -0.540696 -v -0.453039 0.926990 -0.643237 -v -0.384778 0.927942 -0.710487 -v -0.402272 0.889632 -0.739208 -v -0.258015 0.928087 -0.777295 -v -0.270124 0.894651 -0.811084 -v -0.118270 0.928204 -0.817928 -v -0.536198 1.028551 -0.419037 -v -0.547465 1.036499 -0.298053 -v -0.555135 0.924435 -0.296496 -v -0.555684 0.924913 -0.215786 -v -0.498972 1.029689 -0.542891 -v -0.441643 1.029899 -0.640491 -v -0.365095 0.934093 -0.708841 -v -0.251092 0.934623 -0.761604 -v -0.347186 1.025898 -0.709747 -v -0.249720 1.023759 -0.756375 -v -0.131933 0.935714 -0.801735 -v -0.147588 1.027527 -0.794752 -v -0.136825 1.029733 -0.811013 -v -0.541290 1.131051 -0.329770 -v -0.527345 1.130042 -0.414468 -v -0.522547 1.221382 -0.333103 -v -0.507335 1.220849 -0.419783 -v -0.483032 1.131700 -0.538807 -v -0.466574 1.222041 -0.533019 -v -0.423966 1.131922 -0.637852 -v -0.401709 1.220497 -0.629408 -v -0.499345 1.281729 -0.300617 -v -0.483534 1.282236 -0.412917 -v -0.440056 1.282233 -0.516511 -v -0.377487 1.282191 -0.611856 -v -0.322480 1.219805 -0.699842 -v -0.305615 1.282151 -0.683800 -v -0.236803 1.222103 -0.751386 -v -0.218417 1.284231 -0.727081 -v -0.135989 1.220931 -0.782210 -v -0.117495 1.283165 -0.757567 -v -0.462744 1.311686 -0.259062 -v -0.443242 1.310225 -0.388568 -v -0.404913 1.310202 -0.498226 -v -0.349724 1.310198 -0.586795 -v -0.282673 1.309843 -0.654823 -v -0.198588 1.310222 -0.700834 -v -0.106783 1.310295 -0.731039 -v -0.504737 0.925614 -0.191771 -v -0.501330 1.041592 -0.279615 -v -0.495293 1.130906 -0.311334 -v -0.486364 1.216647 -0.318528 -v -0.468907 1.289028 -0.251379 -v -0.473660 1.269780 -0.286016 -v -0.445922 0.403746 -0.027623 -v -0.505883 0.408960 -0.050173 -v -0.507862 0.810263 -0.150418 -v -0.579652 0.842662 -0.180699 -v -0.561758 0.716544 -0.140073 -v -0.495591 0.714721 -0.119267 -v -0.580665 0.890722 -0.197061 -v -0.138959 0.743105 -0.870690 -v -0.418408 0.737259 -0.769866 -v -0.278818 0.741071 -0.838910 -v -0.412484 0.828200 -0.759841 -v -0.274073 0.830747 -0.832120 -v -0.596701 0.725339 -0.578856 -v -0.516370 0.731493 -0.688300 -v -0.642316 0.719345 -0.447379 -v -0.661834 0.716038 -0.329195 -v -0.546190 0.422366 -0.110464 -v -0.520064 0.454769 -0.062988 -v -0.548213 0.459164 -0.113006 -v -0.620879 0.540437 -0.260291 -v -0.592898 0.490111 -0.196279 -v -0.638525 0.622410 -0.295973 -v -0.608579 0.835674 -0.253307 -v -0.630203 0.789048 -0.299916 -v -0.639084 0.716171 -0.308229 -v -0.553921 0.735774 -0.319053 -v -0.566206 0.782571 -0.334788 -v -0.534707 0.472766 -0.108628 -v -0.527469 0.510938 -0.261160 -v -0.545175 0.507375 -0.277553 -v -0.569095 0.515103 -0.296617 -v -0.593006 0.554095 -0.321349 -v -0.605831 0.626748 -0.341959 -v -0.585171 0.784938 -0.352159 -v -0.599099 0.764999 -0.356748 -v -0.608177 0.717896 -0.357361 -v -0.540053 0.567203 -0.095331 -v -0.471985 0.567307 -0.075478 -v -0.529242 0.562382 -0.273853 -v -0.385868 1.400122 -0.400909 -v -0.311280 1.398134 -0.549305 -v -0.251767 1.392396 -0.618851 -v -0.175834 1.395176 -0.666718 -v -0.098528 1.399139 -0.691758 -v -0.266173 1.457967 -0.524738 -v -0.310421 1.467857 -0.390880 -v -0.103505 1.534730 -0.378049 -v -0.099605 1.515760 -0.515166 -v -0.098392 1.474770 -0.620740 -v -0.196272 1.456735 -0.592215 -v -0.180286 1.497351 -0.508038 -v -0.205987 1.515010 -0.381370 -v -0.418065 1.396418 -0.086963 -v -0.344507 1.467198 -0.084766 -v -0.401971 1.392277 0.064915 -v -0.338078 1.463460 0.067784 -v -0.109455 1.537381 -0.075093 -v -0.108976 1.527873 0.075027 -v -0.230138 1.517579 -0.079762 -v -0.225309 1.511005 0.071866 -v -0.314399 1.385814 0.295828 -v -0.372752 1.383205 0.193041 -v -0.278741 1.440388 0.260842 -v -0.314098 1.453090 0.186838 -v -0.211867 1.461839 0.285578 -v -0.225744 1.402438 0.355029 -v -0.110939 1.417340 0.385419 -v -0.110084 1.478708 0.303265 -v -0.108071 1.511040 0.195934 -v -0.214860 1.493880 0.189970 -v -0.491635 1.132654 -0.106675 -v -0.465204 1.286335 -0.088443 -v -0.502190 0.964727 -0.102247 -v -0.444194 1.291131 0.083885 -v -0.480064 1.136059 0.081115 -v -0.432580 1.329079 0.074886 -v -0.450412 1.329108 -0.088832 -v -0.333440 1.292107 0.313494 -v -0.401969 1.292611 0.206764 -v -0.328881 1.326787 0.307695 -v -0.394160 1.326788 0.203723 -v -0.234143 1.294910 0.394789 -v -0.233009 1.336604 0.387698 -v -0.114571 1.344287 0.424379 -v -0.113326 1.296983 0.434097 -v -0.109254 1.540182 -0.231520 -v -0.229079 1.519875 -0.231583 -v -0.343282 1.468938 -0.231173 -v -0.417230 1.398320 -0.239037 -v -0.404840 0.573925 0.050695 -v -0.368521 0.406688 0.091378 -v -0.153096 1.129226 -0.801359 -v -0.250912 1.115393 -0.756707 -v -0.162876 1.115404 -0.786713 -v -0.328548 1.115315 -0.714309 -v -0.401698 0.161159 0.035348 -v -0.363441 0.220628 0.091202 -v -0.337860 0.157653 0.114579 -v -0.415282 0.162208 0.019281 -v -0.426462 0.177916 -0.130665 -v -0.421193 0.195600 -0.276785 -v -0.399038 0.215040 -0.405576 -v -0.349958 0.233448 -0.504833 -v -0.285763 0.249069 -0.573785 -v -0.101710 0.271338 -0.652303 -v -0.198180 0.262088 -0.622766 -v -0.436055 0.716322 0.023696 -v -0.344794 1.128248 -0.717305 -v -0.367282 1.027340 -0.714399 -v -0.255804 1.130180 -0.766157 -v -0.331589 0.254574 0.135128 -v -0.492501 0.970961 0.080783 -v -0.455617 0.802996 0.018481 -v -0.487545 0.819099 0.080478 -v -0.320307 0.205128 0.145554 -v -0.311484 0.156788 0.114977 -v -0.377051 0.160724 0.006376 -v -0.382800 0.574088 0.054618 -v -0.343597 0.404088 0.094562 -v -0.303326 0.254948 0.136872 -v -0.413219 0.715576 0.027679 -v -0.292115 0.205551 0.145640 -v -0.432841 0.801786 0.021187 -v -0.432745 0.818974 0.083847 -v -0.324782 0.174236 0.135367 -v -0.295638 0.172621 0.137148 -v -0.322960 0.231834 -0.482911 -v -0.365646 0.212881 -0.392210 -v -0.264730 0.247261 -0.545574 -v -0.094875 0.269410 -0.617867 -v -0.386129 0.193272 -0.273976 -v -0.391105 0.175399 -0.131456 -v -0.185617 0.260371 -0.590118 -v -0.445221 1.289194 0.217243 -v -0.467901 1.284465 0.089812 -v -0.375291 1.292107 0.352815 -v -0.263750 1.294910 0.452360 -v -0.127368 1.296983 0.489311 -v -0.512539 0.970340 0.083013 -v -0.500087 1.137085 0.083727 -v -0.366319 0.181806 0.035711 -v -0.368809 0.228761 0.029032 -v -0.374571 0.365985 -0.367508 -v -0.336980 0.385292 -0.460572 -v -0.282361 0.399908 -0.526535 -v -0.104426 0.424403 -0.610495 -v -0.389544 0.345010 -0.250336 -v -0.385031 0.311832 -0.044641 -v -0.200756 0.413689 -0.577795 -v -0.378612 0.402151 -0.029888 -v -0.352669 0.408344 -0.049001 -v -0.507598 0.816962 0.082356 -v -0.308468 0.200412 0.127973 -v -0.314214 0.247332 0.123412 -v -0.353121 0.362843 -0.247197 -v -0.352383 0.438381 -0.235280 -v -0.335573 0.384386 -0.350114 -v -0.335127 0.460809 -0.336618 -v -0.351251 0.330560 -0.061170 -v -0.094819 0.437749 -0.574202 -v -0.095767 0.514240 -0.569918 -v -0.180289 0.427513 -0.539896 -v -0.181719 0.504288 -0.533168 -v -0.250278 0.414870 -0.491564 -v -0.250913 0.491717 -0.481709 -v -0.303258 0.400518 -0.429420 -v -0.303037 0.475351 -0.416525 -v -0.307475 0.243242 0.115479 -v -0.360379 0.226428 0.028026 -v -0.303706 0.202899 0.120956 -v -0.356610 0.186085 0.033502 -v 0.045195 0.106111 0.726884 -v 0.000000 0.124316 0.731242 -v -0.045195 0.106111 0.726884 -v -0.063915 0.062158 0.716360 -v -0.045195 0.018206 0.705836 -v 0.000000 0.000000 0.701477 -v 0.045195 0.018206 0.705836 -v 0.063915 0.062158 0.716360 -v 0.039704 0.095512 0.747571 -v 0.000000 0.111505 0.751401 -v -0.039704 0.095512 0.747571 -v -0.056150 0.056899 0.738326 -v -0.039704 0.018286 0.729080 -v 0.000000 0.002292 0.725251 -v 0.039704 0.018286 0.729080 -v 0.056150 0.056899 0.738326 -v 0.024381 0.119402 0.730066 -v -0.024381 0.119402 0.730066 -v -0.058861 0.085869 0.722037 -v -0.058861 0.038447 0.710683 -v -0.024381 0.004915 0.702654 -v 0.024381 0.004915 0.702654 -v 0.058861 0.038447 0.710683 -v 0.058861 0.085869 0.722037 -v 0.021419 0.107188 0.750366 -v -0.021419 0.107188 0.750366 -v -0.051710 0.077729 0.743313 -v -0.051710 0.036068 0.733338 -v -0.021419 0.006610 0.726285 -v 0.021419 0.006610 0.726285 -v 0.051710 0.036068 0.733338 -v 0.051710 0.077729 0.743313 -v 0.000000 0.058196 0.733203 -v -0.037584 0.095022 0.740514 -v 0.000000 0.110160 0.744144 -v 0.037584 0.095022 0.740514 -v 0.053152 0.058473 0.731753 -v 0.037584 0.021924 0.722991 -v 0.000000 0.006786 0.719362 -v -0.037584 0.021924 0.722991 -v -0.053152 0.058473 0.731753 -v -0.058981 0.107430 0.632200 -v -0.064044 0.083671 0.626511 -v -0.058981 0.059912 0.620822 -v -0.045286 0.039630 0.615966 -v -0.024431 0.026312 0.612777 -v 0.000000 0.021387 0.611598 -v 0.024431 0.026312 0.612777 -v 0.045286 0.039630 0.615966 -v 0.058981 0.059912 0.620822 -v 0.064044 0.083671 0.626511 -v 0.058981 0.107430 0.632200 -v 0.045286 0.127712 0.637056 -v 0.024431 0.141031 0.640245 -v 0.000000 0.145955 0.641424 -v -0.024431 0.141031 0.640245 -v -0.045286 0.127712 0.637056 -v -0.015701 0.191440 0.662358 -v -0.029510 0.208600 0.659555 -v -0.047927 0.206062 0.647498 -v -0.052534 0.186364 0.638244 -v -0.038724 0.169204 0.641047 -v -0.020307 0.171742 0.653104 -v -0.027832 0.180575 0.695644 -v -0.041393 0.197977 0.692247 -v -0.059481 0.195683 0.679370 -v -0.064010 0.175987 0.669892 -v -0.050449 0.158585 0.673290 -v -0.032361 0.160879 0.686166 -v -0.016500 0.186147 0.678574 -v -0.021067 0.166450 0.669208 -v -0.039320 0.164034 0.656742 -v -0.053005 0.181315 0.653641 -v -0.048437 0.201012 0.663007 -v -0.030185 0.203428 0.675474 -v 0.062761 0.192783 0.661866 -v 0.048977 0.209954 0.658914 -v 0.030654 0.207413 0.646686 -v 0.026115 0.187701 0.637409 -v 0.039898 0.170530 0.640361 -v 0.058221 0.173071 0.652589 -v 0.050406 0.181970 0.694964 -v 0.036870 0.199368 0.691450 -v 0.018871 0.197059 0.678451 -v 0.014409 0.177351 0.668966 -v 0.027946 0.159954 0.672480 -v 0.045944 0.162263 0.685479 -v 0.061352 0.187275 0.678726 -v 0.056851 0.167565 0.669345 -v 0.038690 0.165140 0.656731 -v 0.025031 0.182424 0.653499 -v 0.029532 0.202134 0.662880 -v 0.047692 0.204559 0.675494 -v -0.072228 0.298449 0.698603 -v -0.072228 0.312687 0.653319 -v 0.080729 0.291987 0.704095 -v 0.080684 0.308771 0.651751 -v 0.061209 0.308457 0.651655 -v 0.061241 0.294422 0.697845 -v 0.060283 0.298627 0.698038 -v 0.060280 0.312685 0.653315 -v 0.080683 0.221337 0.651028 -v 0.080707 0.215851 0.672265 -v -0.072325 0.216169 0.672110 -v -0.072266 0.223066 0.647211 -v -0.063682 0.215894 0.672214 -v -0.063688 0.294407 0.697837 -v -0.063340 0.213876 0.679535 -v 0.080728 0.213876 0.679535 -v -0.063339 0.291987 0.704095 -v -0.072457 0.114034 0.635819 -v -0.072393 0.151119 0.651150 -v 0.080686 0.151134 0.651099 -v 0.080661 0.114068 0.635710 -v -0.072319 0.132879 0.676343 -v 0.080696 0.132879 0.676343 -v -0.072335 0.116302 0.671131 -v 0.080689 0.116302 0.671131 -v 0.022267 0.289779 0.700695 -v 0.020190 0.288298 0.705372 -v 0.009350 0.287210 0.708857 -v -0.001534 0.288308 0.705386 -v -0.003563 0.289779 0.700695 -v 0.022286 0.217834 0.678053 -v 0.020253 0.216353 0.682731 -v 0.009369 0.215265 0.686215 -v -0.001471 0.216363 0.682746 -v -0.003543 0.217834 0.678053 -v 0.009362 0.289776 0.700572 -v 0.009362 0.217862 0.677966 -v 0.078299 0.289779 0.700653 -v 0.075566 0.288303 0.705323 -v 0.059365 0.285897 0.713014 -v 0.042025 0.285897 0.713014 -v 0.025794 0.288314 0.705339 -v 0.023084 0.289779 0.700653 -v 0.078319 0.217827 0.678010 -v 0.075608 0.216351 0.682679 -v 0.059385 0.213945 0.690371 -v 0.042044 0.213945 0.690371 -v 0.025836 0.216363 0.682696 -v 0.023104 0.217827 0.678010 -v 0.050702 0.289857 0.700313 -v 0.050702 0.217906 0.677826 -v -0.004096 0.289777 0.700653 -v -0.007634 0.288299 0.705320 -v -0.023576 0.285895 0.713014 -v -0.040917 0.285895 0.713014 -v -0.056893 0.288314 0.705340 -v -0.060404 0.289777 0.700653 -v -0.004077 0.217820 0.678008 -v -0.007587 0.216343 0.682675 -v -0.023557 0.213938 0.690368 -v -0.040897 0.213938 0.690368 -v -0.056846 0.216357 0.682695 -v -0.060384 0.217820 0.678008 -v -0.032240 0.289838 0.700374 -v -0.032240 0.217884 0.677894 -v 0.080670 0.156545 0.641776 -v -0.072379 0.158415 0.640456 -v -0.003610 0.193106 0.675959 -v -0.008306 0.190821 0.683225 -v -0.044264 0.190821 0.683225 -v -0.048118 0.191864 0.679908 -v -0.003610 0.188319 0.674454 -v -0.008306 0.186035 0.681720 -v -0.044264 0.186035 0.681720 -v -0.048118 0.187078 0.678403 -v -0.048118 0.196367 0.665589 -v -0.003610 0.196367 0.665589 -v -0.048118 0.191580 0.664084 -v -0.003610 0.191580 0.664084 -v 0.070219 0.192991 0.676324 -v 0.065411 0.190820 0.683228 -v 0.029630 0.190820 0.683228 -v 0.025776 0.191864 0.679908 -v 0.070219 0.188205 0.674820 -v 0.065411 0.186034 0.681723 -v 0.029630 0.186034 0.681723 -v 0.025776 0.187078 0.678403 -v 0.025776 0.196367 0.665589 -v 0.070219 0.196367 0.665589 -v 0.025776 0.191580 0.664084 -v 0.070219 0.191580 0.664084 -v 0.073479 0.200727 0.682695 -v 0.068774 0.198767 0.688927 -v 0.030021 0.198767 0.688927 -v 0.026085 0.200727 0.682695 -v 0.073479 0.195940 0.681190 -v 0.068774 0.193981 0.687422 -v 0.030021 0.193981 0.687422 -v 0.026085 0.195940 0.681190 -v 0.026085 0.205229 0.668375 -v 0.073479 0.205229 0.668375 -v 0.026085 0.200443 0.666870 -v 0.073479 0.200443 0.666870 -v 0.070043 0.209345 0.685404 -v 0.065521 0.207384 0.691637 -v 0.030018 0.207384 0.691637 -v 0.026163 0.209345 0.685404 -v 0.070043 0.204558 0.683899 -v 0.065521 0.202598 0.690132 -v 0.030018 0.202598 0.690132 -v 0.026163 0.204558 0.683899 -v 0.026163 0.213847 0.671085 -v 0.070043 0.213847 0.671085 -v 0.026163 0.209061 0.669580 -v 0.070043 0.209061 0.669580 -v 0.013475 0.209399 0.685231 -v 0.008838 0.207365 0.691699 -v -0.044948 0.207365 0.691699 -v -0.068126 0.208904 0.686807 -v 0.013475 0.204613 0.683726 -v 0.008838 0.202579 0.690194 -v -0.044948 0.202579 0.690194 -v -0.068126 0.204117 0.685302 -v -0.069379 0.213847 0.671085 -v 0.013475 0.213847 0.671085 -v -0.069379 0.209061 0.669580 -v 0.013475 0.209061 0.669580 -v 0.003782 0.200633 0.682665 -v -0.000640 0.198669 0.688913 -v -0.044217 0.198669 0.688913 -v -0.047822 0.200633 0.682665 -v 0.003782 0.195847 0.681160 -v -0.000640 0.193882 0.687408 -v -0.044217 0.193882 0.687408 -v -0.047822 0.195847 0.681160 -v -0.047822 0.205136 0.668346 -v 0.003782 0.205136 0.668346 -v -0.047822 0.200349 0.666841 -v 0.003782 0.200349 0.666841 -v -0.071989 0.226043 0.675139 -v 0.080363 0.226036 0.675164 -v -0.050269 0.217877 0.701110 -v -0.053928 0.219802 0.694990 -v 0.080363 0.220942 0.691363 -v 0.006891 0.221067 0.690966 -v 0.012066 0.221067 0.690966 -v 0.071721 0.217877 0.701110 -v -0.006867 0.217877 0.701110 -v 0.025176 0.217877 0.701110 -v -0.071989 0.221257 0.673634 -v 0.080363 0.221249 0.673659 -v -0.050269 0.213091 0.699605 -v -0.053928 0.215015 0.693485 -v 0.080363 0.216155 0.689858 -v 0.006891 0.216281 0.689461 -v 0.012066 0.216281 0.689461 -v 0.071721 0.213091 0.699605 -v -0.006867 0.213091 0.699605 -v 0.025176 0.213091 0.699605 -v -0.064956 0.215367 0.692366 -v -0.064956 0.220153 0.693871 -v 0.009469 0.226039 0.675153 -v 0.009469 0.221253 0.673648 -v -0.071989 0.236253 0.678350 -v 0.080363 0.236245 0.678374 -v -0.050269 0.228086 0.704320 -v -0.053928 0.230011 0.698200 -v 0.080363 0.231151 0.694573 -v 0.006891 0.231276 0.694176 -v 0.012066 0.231276 0.694176 -v 0.071721 0.228086 0.704320 -v -0.006867 0.228086 0.704320 -v 0.025176 0.228086 0.704320 -v -0.071989 0.231466 0.676845 -v 0.080363 0.231459 0.676869 -v -0.050269 0.223300 0.702815 -v -0.053928 0.225225 0.696695 -v 0.080363 0.226365 0.693068 -v 0.006891 0.226490 0.692671 -v 0.012066 0.226490 0.692671 -v 0.071721 0.223300 0.702815 -v -0.006867 0.223300 0.702815 -v 0.025176 0.223300 0.702815 -v -0.064956 0.225576 0.695576 -v -0.064956 0.230363 0.697081 -v 0.009469 0.236248 0.678363 -v 0.009469 0.231462 0.676858 -v -0.046746 0.238940 0.707881 -v -0.049545 0.240909 0.701620 -v 0.070235 0.240909 0.701620 -v 0.065421 0.238940 0.707881 -v -0.008537 0.238940 0.707881 -v -0.004021 0.240909 0.701620 -v 0.026278 0.238940 0.707881 -v 0.022269 0.240909 0.701620 -v -0.046746 0.234154 0.706376 -v -0.049545 0.236122 0.700115 -v 0.070235 0.236122 0.700115 -v 0.065421 0.234154 0.706376 -v -0.008537 0.234154 0.706376 -v -0.004021 0.236122 0.700115 -v 0.026278 0.234154 0.706376 -v 0.022269 0.236122 0.700115 -v -0.049545 0.248509 0.677449 -v -0.049545 0.243723 0.675944 -v -0.004021 0.248509 0.677449 -v -0.004021 0.243723 0.675944 -v 0.022269 0.248509 0.677449 -v 0.070235 0.248509 0.677449 -v 0.022269 0.243723 0.675944 -v 0.070235 0.243723 0.675944 -v -0.071989 0.257502 0.685031 -v 0.080363 0.257495 0.685055 -v -0.050269 0.249336 0.711002 -v -0.053928 0.251261 0.704882 -v 0.080363 0.252401 0.701255 -v 0.006891 0.252526 0.700857 -v 0.012066 0.252526 0.700857 -v 0.071721 0.249336 0.711002 -v -0.006867 0.249336 0.711002 -v 0.025176 0.249336 0.711002 -v -0.071989 0.252716 0.683526 -v 0.080363 0.252708 0.683550 -v -0.050269 0.244550 0.709497 -v -0.053928 0.246474 0.703376 -v 0.080363 0.247615 0.699750 -v 0.006891 0.247740 0.699353 -v 0.012066 0.247740 0.699353 -v 0.071721 0.244550 0.709497 -v -0.006867 0.244550 0.709497 -v 0.025176 0.244550 0.709497 -v -0.064956 0.246826 0.702258 -v -0.064956 0.251613 0.703763 -v 0.009469 0.257498 0.685045 -v 0.009469 0.252712 0.683540 -v -0.046746 0.260085 0.714530 -v -0.049545 0.262054 0.708269 -v 0.070235 0.262054 0.708269 -v 0.065421 0.260085 0.714530 -v -0.008537 0.260085 0.714530 -v -0.004021 0.262054 0.708269 -v 0.026278 0.260085 0.714530 -v 0.022269 0.262054 0.708269 -v -0.046746 0.255299 0.713025 -v -0.049545 0.257267 0.706764 -v 0.070235 0.257267 0.706764 -v 0.065421 0.255299 0.713025 -v -0.008537 0.255299 0.713025 -v -0.004021 0.257267 0.706764 -v 0.026278 0.255299 0.713025 -v 0.022269 0.257267 0.706764 -v -0.049545 0.269654 0.684097 -v -0.049545 0.264868 0.682592 -v -0.004021 0.269654 0.684097 -v -0.004021 0.264868 0.682593 -v 0.022269 0.269654 0.684097 -v 0.070235 0.269654 0.684097 -v 0.022269 0.264868 0.682593 -v 0.070235 0.264868 0.682593 -v -0.071989 0.278810 0.691731 -v 0.080363 0.278803 0.691755 -v -0.050269 0.270644 0.717702 -v -0.053928 0.272569 0.711581 -v 0.080363 0.273709 0.707955 -v 0.006891 0.273834 0.707557 -v 0.012066 0.273834 0.707557 -v 0.071721 0.270644 0.717702 -v -0.006867 0.270644 0.717702 -v 0.025176 0.270644 0.717702 -v -0.071989 0.274024 0.690226 -v 0.080363 0.274017 0.690250 -v -0.050269 0.265858 0.716197 -v -0.053928 0.267782 0.710076 -v 0.080363 0.268923 0.706450 -v 0.006891 0.269048 0.706052 -v 0.012066 0.269048 0.706052 -v 0.071721 0.265858 0.716197 -v -0.006867 0.265858 0.716197 -v 0.025176 0.265858 0.716197 -v -0.064956 0.268134 0.708958 -v -0.064956 0.272921 0.710463 -v 0.009469 0.278806 0.691744 -v 0.009469 0.274020 0.690240 -v -0.062901 0.287276 0.701624 -v 0.080363 0.287266 0.701656 -v -0.044962 0.281179 0.721014 -v -0.056345 0.283658 0.713129 -v 0.080363 0.284244 0.711267 -v 0.006891 0.284369 0.710870 -v 0.012066 0.284369 0.710870 -v 0.071721 0.281179 0.721014 -v -0.006867 0.281179 0.721014 -v 0.025176 0.281179 0.721014 -v -0.062901 0.282490 0.700119 -v 0.080363 0.282479 0.700151 -v -0.044962 0.276393 0.719509 -v -0.056345 0.278872 0.711624 -v 0.080363 0.279457 0.709762 -v 0.006891 0.279582 0.709365 -v 0.012066 0.279582 0.709365 -v 0.071721 0.276393 0.719509 -v -0.006867 0.276393 0.719509 -v 0.025176 0.276393 0.719509 -v 0.009469 0.287271 0.701640 -v 0.009469 0.282485 0.700135 -v -0.009010 0.218793 0.692928 -v -0.012796 0.218793 0.692928 -v -0.012796 0.216921 0.698879 -v -0.009010 0.216921 0.698879 -v -0.009010 0.280736 0.712405 -v -0.012796 0.280736 0.712405 -v -0.012796 0.278865 0.718356 -v -0.009010 0.278865 0.718356 -v -0.041859 0.218793 0.692928 -v -0.045645 0.218793 0.692928 -v -0.045645 0.216921 0.698879 -v -0.041859 0.216921 0.698879 -v -0.041729 0.280736 0.712405 -v -0.045515 0.280736 0.712405 -v -0.045515 0.278865 0.718356 -v -0.041729 0.278865 0.718356 -v 0.030300 0.218793 0.692928 -v 0.026514 0.218793 0.692928 -v 0.026514 0.216921 0.698879 -v 0.030300 0.216921 0.698879 -v 0.030300 0.280736 0.712405 -v 0.026514 0.280736 0.712405 -v 0.026514 0.278865 0.718356 -v 0.030300 0.278865 0.718356 -v -0.071896 0.169696 0.656630 -v 0.080374 0.169696 0.656630 -v -0.041175 0.161282 0.683388 -v -0.044093 0.163812 0.675340 -v -0.065337 0.164090 0.674456 -v 0.080374 0.164335 0.673676 -v -0.071896 0.167221 0.664498 -v 0.006576 0.165674 0.669420 -v 0.016885 0.164042 0.674608 -v 0.012158 0.165674 0.669420 -v 0.074157 0.161282 0.683388 -v -0.001016 0.161282 0.683388 -v 0.040546 0.161282 0.683388 -v 0.036692 0.164042 0.674608 -v -0.071896 0.166290 0.655559 -v 0.080374 0.166290 0.655559 -v -0.041175 0.157876 0.682317 -v -0.044093 0.160406 0.674269 -v -0.065337 0.160684 0.673385 -v 0.080374 0.160930 0.672605 -v -0.071896 0.163816 0.663427 -v 0.006576 0.162268 0.668349 -v 0.016885 0.160637 0.673537 -v 0.012158 0.162268 0.668349 -v 0.074157 0.157876 0.682317 -v -0.001016 0.157876 0.682317 -v 0.040546 0.157876 0.682317 -v 0.036692 0.160637 0.673537 -v -0.018960 0.166290 0.655559 -v -0.018960 0.157876 0.682317 -v -0.020689 0.161282 0.683388 -v -0.020689 0.169696 0.656630 -v -0.022418 0.166290 0.655559 -v -0.022418 0.157876 0.682317 -v -0.022418 0.150312 0.650535 -v -0.018960 0.150312 0.650535 -v -0.022418 0.144723 0.678182 -v -0.018960 0.144723 0.678182 -v -0.022418 0.136348 0.668404 -v -0.018960 0.136348 0.668404 -v -0.001932 0.141164 0.669311 -v 0.001157 0.141164 0.669311 -v -0.001932 0.154131 0.651407 -v 0.001157 0.154131 0.651407 -v -0.002329 0.151537 0.649529 -v 0.001554 0.151537 0.649529 -v -0.002329 0.138571 0.667433 -v 0.001554 0.138571 0.667433 -v 0.025744 0.138814 0.672600 -v 0.030625 0.138814 0.672600 -v 0.025744 0.154152 0.651422 -v 0.030625 0.154152 0.651422 -v 0.024876 0.151537 0.649529 -v 0.031493 0.151537 0.649529 -v 0.024876 0.136200 0.670706 -v 0.031493 0.136200 0.670706 -v 0.009588 0.169696 0.656630 -v 0.009588 0.166290 0.655559 -v 0.047294 0.186886 0.698846 -v 0.041074 0.195470 0.697412 -v 0.030340 0.201216 0.691923 -v 0.021653 0.200439 0.685840 -v 0.012342 0.195382 0.677847 -v 0.008582 0.184456 0.671713 -v 0.012375 0.171698 0.670120 -v 0.031651 0.156278 0.678265 -v 0.040438 0.156864 0.684355 -v 0.049307 0.162929 0.692371 -v 0.051639 0.174611 0.697782 -v 0.035176 0.210072 0.695854 -v 0.043394 0.205703 0.700015 -v 0.027425 0.151596 0.672042 -v 0.020347 0.155651 0.668430 -v 0.019039 0.162676 0.671688 -v 0.049940 0.188159 0.694957 -v 0.043719 0.196743 0.693523 -v 0.032986 0.202488 0.688034 -v 0.024299 0.201712 0.681951 -v 0.014988 0.196655 0.673959 -v 0.011227 0.185729 0.667824 -v 0.015021 0.172971 0.666231 -v 0.034297 0.157551 0.674376 -v 0.043083 0.158137 0.680467 -v 0.051953 0.164202 0.688482 -v 0.054285 0.175883 0.693893 -v 0.037822 0.211345 0.691965 -v 0.046040 0.206976 0.696126 -v 0.030071 0.152869 0.668153 -v 0.022993 0.156924 0.664540 -v 0.021685 0.163949 0.667799 -v -0.030589 0.185510 0.698391 -v -0.036953 0.193985 0.697059 -v -0.047578 0.199819 0.691761 -v -0.056218 0.199532 0.685749 -v -0.065593 0.194724 0.677677 -v -0.069523 0.183933 0.671410 -v -0.066057 0.171077 0.669849 -v -0.047354 0.155111 0.677853 -v -0.038339 0.155613 0.684136 -v -0.029378 0.161384 0.692033 -v -0.026584 0.173134 0.697278 -v -0.042245 0.208357 0.695999 -v -0.034512 0.204028 0.699950 -v -0.051642 0.150181 0.672108 -v -0.058865 0.154641 0.668233 -v -0.059836 0.161761 0.671685 -v -0.027918 0.186726 0.694501 -v -0.034282 0.195201 0.693168 -v -0.044908 0.201035 0.687870 -v -0.053548 0.200748 0.681858 -v -0.062923 0.195940 0.673788 -v -0.066853 0.185148 0.667520 -v -0.063387 0.172293 0.665958 -v -0.044683 0.156327 0.673962 -v -0.035669 0.156828 0.680246 -v -0.026707 0.162600 0.688143 -v -0.023913 0.174350 0.693387 -v -0.039575 0.209573 0.692108 -v -0.031842 0.205244 0.696060 -v -0.048971 0.151397 0.668218 -v -0.056194 0.155857 0.664342 -v -0.057166 0.162976 0.667795 -v 0.000000 0.103257 0.749016 -v -0.018148 0.099602 0.748141 -v -0.033639 0.089706 0.745772 -v -0.043814 0.074641 0.742165 -v -0.047572 0.056992 0.737939 -v -0.043814 0.039343 0.733713 -v -0.033639 0.024278 0.730107 -v -0.018148 0.014383 0.727737 -v 0.000000 0.010728 0.726862 -v 0.018148 0.014383 0.727737 -v 0.033639 0.024278 0.730107 -v 0.043814 0.039343 0.733713 -v 0.047572 0.056992 0.737939 -v 0.043814 0.074641 0.742165 -v 0.033639 0.089706 0.745772 -v 0.018148 0.099602 0.748141 -v 0.000000 0.104790 0.743713 -v -0.018246 0.101117 0.742833 -v -0.033820 0.091167 0.740451 -v -0.044051 0.076021 0.736825 -v -0.047828 0.058277 0.732576 -v -0.044051 0.040532 0.728327 -v -0.033820 0.025386 0.724702 -v -0.018246 0.015437 0.722319 -v 0.000000 0.011763 0.721439 -v 0.018246 0.015437 0.722319 -v 0.033820 0.025386 0.724702 -v 0.044051 0.040532 0.728327 -v 0.047828 0.058277 0.732576 -v 0.044051 0.076021 0.736825 -v 0.033820 0.091167 0.740451 -v 0.018246 0.101117 0.742833 -# 1902 vertices - -vn 0.874367 0.142896 0.463750 -vn 0.839359 0.129826 0.527846 -vn 0.769638 0.335020 0.543525 -vn 0.769638 0.335020 0.543525 -vn 0.839359 0.129826 0.527846 -vn 0.750340 0.293327 0.592410 -vn 0.116849 0.176924 0.977264 -vn 0.301224 0.372748 0.877680 -vn 0.000000 0.212854 0.977084 -vn 0.000000 0.212854 0.977084 -vn 0.301224 0.372748 0.877680 -vn -0.000000 0.428954 0.903327 -vn 0.000000 0.212854 0.977084 -vn 0.000001 0.613691 0.789546 -vn 0.116849 0.176924 0.977264 -vn 0.116849 0.176924 0.977264 -vn 0.000001 0.613691 0.789546 -vn 0.275018 0.577380 0.768764 -vn 0.872814 -0.299764 0.385146 -vn 0.876645 -0.220403 0.427686 -vn 0.897861 -0.284137 0.336321 -vn 0.897861 -0.284137 0.336321 -vn 0.876645 -0.220403 0.427686 -vn 0.879104 -0.123736 0.460289 -vn 0.839359 0.129826 0.527846 -vn 0.878718 0.118805 0.462320 -vn 0.725880 0.010497 0.687741 -vn 0.736370 -0.009801 0.676508 -vn 0.667492 -0.004836 0.744601 -vn 0.650783 0.155178 0.743237 -vn 0.650783 0.155178 0.743237 -vn 0.667492 -0.004836 0.744601 -vn 0.558848 0.112880 0.821552 -vn 0.865779 -0.017836 0.500109 -vn 0.878718 0.118805 0.462320 -vn 0.874367 0.142896 0.463750 -vn 0.874367 0.142896 0.463750 -vn 0.878718 0.118805 0.462320 -vn 0.839359 0.129826 0.527846 -vn 0.872814 -0.299764 0.385146 -vn 0.667492 -0.004836 0.744601 -vn 0.868708 -0.239350 0.433656 -vn 0.868708 -0.239350 0.433656 -vn 0.667492 -0.004836 0.744601 -vn 0.736370 -0.009801 0.676508 -vn 0.872814 -0.299764 0.385146 -vn 0.868708 -0.239350 0.433656 -vn 0.876645 -0.220403 0.427686 -vn 0.876645 -0.220403 0.427686 -vn 0.868708 -0.239350 0.433656 -vn 0.899836 -0.220831 0.376203 -vn 0.563981 -0.086031 0.821294 -vn 0.506636 -0.080127 0.858428 -vn 0.423336 0.053240 0.904407 -vn 0.423336 0.053240 0.904407 -vn 0.506636 -0.080127 0.858428 -vn 0.328463 0.080054 0.941118 -vn 0.506636 -0.080127 0.858428 -vn 0.345092 -0.069681 0.935979 -vn 0.328463 0.080054 0.941118 -vn 0.328463 0.080054 0.941118 -vn 0.345092 -0.069681 0.935979 -vn 0.069472 0.062895 0.995599 -vn -0.102947 -0.125139 0.986784 -vn 0.094891 -0.123581 0.987787 -vn -0.231638 -0.421064 0.876954 -vn -0.231638 -0.421064 0.876954 -vn 0.094891 -0.123581 0.987787 -vn 0.160787 -0.314713 0.935469 -vn 0.267558 -0.406754 0.873478 -vn -0.072677 -0.707963 0.702500 -vn 0.160787 -0.314713 0.935469 -vn 0.160787 -0.314713 0.935469 -vn -0.072677 -0.707963 0.702500 -vn -0.231638 -0.421064 0.876954 -vn 0.298116 -0.370998 0.879481 -vn 0.138482 -0.732184 0.666881 -vn 0.328776 -0.398405 0.856259 -vn 0.328776 -0.398405 0.856259 -vn 0.138482 -0.732184 0.666881 -vn 0.086428 -0.753305 0.651967 -vn 0.175494 -0.359003 0.916689 -vn 0.078068 -0.775295 0.626756 -vn 0.298116 -0.370998 0.879481 -vn 0.298116 -0.370998 0.879481 -vn 0.078068 -0.775295 0.626756 -vn 0.138482 -0.732184 0.666881 -vn 0.000000 -0.331736 0.943372 -vn -0.000000 -0.773117 0.634263 -vn 0.175494 -0.359003 0.916689 -vn 0.175494 -0.359003 0.916689 -vn -0.000000 -0.773117 0.634263 -vn 0.078068 -0.775295 0.626756 -vn 0.345092 -0.069681 0.935979 -vn 0.094891 -0.123581 0.987787 -vn 0.069472 0.062895 0.995599 -vn 0.069472 0.062895 0.995599 -vn 0.094891 -0.123581 0.987787 -vn -0.102947 -0.125139 0.986784 -vn 0.563981 -0.086031 0.821294 -vn 0.756897 -0.413234 0.506304 -vn 0.506636 -0.080127 0.858428 -vn 0.506636 -0.080127 0.858428 -vn 0.756897 -0.413234 0.506304 -vn 0.755253 -0.322586 0.570553 -vn 0.506636 -0.080127 0.858428 -vn 0.755253 -0.322586 0.570553 -vn 0.345092 -0.069681 0.935979 -vn 0.345092 -0.069681 0.935979 -vn 0.755253 -0.322586 0.570553 -vn 0.712959 -0.201500 0.671630 -vn 0.094891 -0.123581 0.987787 -vn 0.345092 -0.069681 0.935979 -vn 0.646546 -0.091362 0.757385 -vn 0.646546 -0.091362 0.757385 -vn 0.345092 -0.069681 0.935979 -vn 0.712959 -0.201500 0.671630 -vn 0.599920 -0.116148 0.791584 -vn 0.563981 -0.086031 0.821294 -vn 0.490474 -0.015548 0.871317 -vn 0.490474 -0.015548 0.871317 -vn 0.563981 -0.086031 0.821294 -vn 0.423336 0.053240 0.904407 -vn 0.298116 -0.370998 0.879481 -vn 0.328776 -0.398405 0.856259 -vn 0.390125 0.174215 0.904130 -vn 0.390125 0.174215 0.904130 -vn 0.328776 -0.398405 0.856259 -vn 0.491149 0.152390 0.857642 -vn 0.298116 -0.370998 0.879481 -vn 0.390125 0.174215 0.904130 -vn 0.175494 -0.359003 0.916689 -vn 0.175494 -0.359003 0.916689 -vn 0.390125 0.174215 0.904130 -vn 0.230528 0.218428 0.948233 -vn 0.000000 -0.331736 0.943372 -vn 0.175494 -0.359003 0.916689 -vn -0.000000 0.233936 0.972252 -vn -0.000000 0.233936 0.972252 -vn 0.175494 -0.359003 0.916689 -vn 0.230528 0.218428 0.948233 -vn 0.160787 -0.314713 0.935469 -vn 0.094891 -0.123581 0.987787 -vn 0.595966 0.010468 0.802942 -vn 0.595966 0.010468 0.802942 -vn 0.094891 -0.123581 0.987787 -vn 0.646546 -0.091362 0.757385 -vn 0.540100 0.136136 0.830518 -vn 0.267558 -0.406754 0.873478 -vn 0.595966 0.010468 0.802942 -vn 0.595966 0.010468 0.802942 -vn 0.267558 -0.406754 0.873478 -vn 0.160787 -0.314713 0.935469 -vn 0.513045 0.085684 0.854075 -vn 0.491149 0.152390 0.857642 -vn 0.547185 0.096805 0.831395 -vn 0.547185 0.096805 0.831395 -vn 0.491149 0.152390 0.857642 -vn 0.540100 0.136136 0.830518 -vn 0.513045 0.085684 0.854075 -vn 0.385025 0.087869 0.918714 -vn 0.491149 0.152390 0.857642 -vn 0.491149 0.152390 0.857642 -vn 0.385025 0.087869 0.918714 -vn 0.390125 0.174215 0.904130 -vn 0.385025 0.087869 0.918714 -vn 0.208441 0.117321 0.970973 -vn 0.390125 0.174215 0.904130 -vn 0.390125 0.174215 0.904130 -vn 0.208441 0.117321 0.970973 -vn 0.230528 0.218428 0.948233 -vn 0.208441 0.117321 0.970973 -vn -0.000000 0.141983 0.989869 -vn 0.230528 0.218428 0.948233 -vn 0.230528 0.218428 0.948233 -vn -0.000000 0.141983 0.989869 -vn -0.000000 0.233936 0.972252 -vn 0.129730 -0.990616 -0.043006 -vn 0.072237 -0.977132 -0.199989 -vn 0.102817 -0.994359 -0.026060 -vn 0.102817 -0.994359 -0.026060 -vn 0.072237 -0.977132 -0.199989 -vn 0.116236 -0.981237 -0.153826 -vn 0.238279 -0.957056 -0.165130 -vn 0.244426 -0.956220 -0.160935 -vn 0.252548 -0.961968 -0.104105 -vn 0.252548 -0.961968 -0.104105 -vn 0.244426 -0.956220 -0.160935 -vn 0.257569 -0.961355 -0.097239 -vn 0.252548 -0.961968 -0.104105 -vn 0.257569 -0.961355 -0.097239 -vn 0.264099 -0.963244 -0.049115 -vn 0.264099 -0.963244 -0.049115 -vn 0.257569 -0.961355 -0.097239 -vn 0.275481 -0.960323 -0.043470 -vn 0.238279 -0.957056 -0.165130 -vn 0.286498 -0.934423 -0.211594 -vn 0.244426 -0.956220 -0.160935 -vn 0.244426 -0.956220 -0.160935 -vn 0.286498 -0.934423 -0.211594 -vn 0.219139 -0.948685 -0.227980 -vn 0.793372 0.044920 0.607078 -vn 0.736370 -0.009801 0.676508 -vn 0.815337 0.129486 0.564322 -vn 0.815337 0.129486 0.564322 -vn 0.736370 -0.009801 0.676508 -vn 0.650783 0.155178 0.743237 -vn 0.856568 -0.147677 0.494451 -vn 0.868708 -0.239350 0.433656 -vn 0.793372 0.044920 0.607078 -vn 0.793372 0.044920 0.607078 -vn 0.868708 -0.239350 0.433656 -vn 0.736370 -0.009801 0.676508 -vn 0.000000 0.852896 0.522081 -vn -0.000000 0.428954 0.903327 -vn 0.440421 0.756675 0.483190 -vn 0.440421 0.756675 0.483190 -vn -0.000000 0.428954 0.903327 -vn 0.301224 0.372748 0.877680 -vn 0.693408 0.534699 0.482993 -vn 0.436523 0.194338 0.878454 -vn 0.746743 0.367139 0.554603 -vn 0.746743 0.367139 0.554603 -vn 0.436523 0.194338 0.878454 -vn 0.577927 0.320953 0.750326 -vn 0.839359 0.129826 0.527846 -vn 0.804035 0.222201 0.551501 -vn 0.750340 0.293327 0.592410 -vn 0.750340 0.293327 0.592410 -vn 0.804035 0.222201 0.551501 -vn 0.795050 0.365669 0.483923 -vn 0.804035 0.222201 0.551501 -vn 0.725880 0.010497 0.687741 -vn 0.637792 0.094825 0.764349 -vn 0.725880 0.010497 0.687741 -vn 0.804035 0.222201 0.551501 -vn 0.839359 0.129826 0.527846 -vn 0.815337 0.129486 0.564322 -vn 0.650783 0.155178 0.743237 -vn 0.586426 0.081490 0.805893 -vn 0.586426 0.081490 0.805893 -vn 0.650783 0.155178 0.743237 -vn 0.583297 0.099180 0.806181 -vn 0.423336 0.053240 0.904407 -vn 0.328463 0.080054 0.941118 -vn 0.396273 0.237589 0.886859 -vn 0.396273 0.237589 0.886859 -vn 0.328463 0.080054 0.941118 -vn 0.332949 0.174518 0.926654 -vn 0.328463 0.080054 0.941118 -vn 0.069472 0.062895 0.995599 -vn 0.332949 0.174518 0.926654 -vn 0.332949 0.174518 0.926654 -vn 0.069472 0.062895 0.995599 -vn 0.176996 0.117972 0.977116 -vn -0.102947 -0.125139 0.986784 -vn -0.231638 -0.421064 0.876954 -vn 0.156160 -0.047093 0.986609 -vn -0.072677 -0.707963 0.702500 -vn 0.077064 -0.547430 0.833296 -vn -0.231638 -0.421064 0.876954 -vn -0.231638 -0.421064 0.876954 -vn 0.077064 -0.547430 0.833296 -vn -0.054624 -0.259423 0.964218 -vn 0.138482 -0.732184 0.666881 -vn 0.247673 -0.520936 0.816874 -vn 0.086428 -0.753305 0.651967 -vn 0.086428 -0.753305 0.651967 -vn 0.247673 -0.520936 0.816874 -vn 0.212866 -0.594441 0.775453 -vn 0.078068 -0.775295 0.626756 -vn 0.142005 -0.600231 0.787120 -vn 0.138482 -0.732184 0.666881 -vn 0.138482 -0.732184 0.666881 -vn 0.142005 -0.600231 0.787120 -vn 0.247673 -0.520936 0.816874 -vn -0.000000 -0.773117 0.634263 -vn -0.000000 -0.616413 0.787423 -vn 0.078068 -0.775295 0.626756 -vn 0.078068 -0.775295 0.626756 -vn -0.000000 -0.616413 0.787423 -vn 0.142005 -0.600231 0.787120 -vn 0.069472 0.062895 0.995599 -vn -0.102947 -0.125139 0.986784 -vn 0.176996 0.117972 0.977116 -vn 0.176996 0.117972 0.977116 -vn -0.102947 -0.125139 0.986784 -vn 0.156160 -0.047093 0.986609 -vn 0.490474 -0.015548 0.871317 -vn 0.423336 0.053240 0.904407 -vn 0.465482 0.198170 0.862586 -vn 0.465482 0.198170 0.862586 -vn 0.423336 0.053240 0.904407 -vn 0.396273 0.237589 0.886859 -vn 0.650783 0.155178 0.743237 -vn 0.558848 0.112880 0.821552 -vn 0.583297 0.099180 0.806181 -vn 0.558848 0.112880 0.821552 -vn 0.508399 -0.001748 0.861120 -vn 0.583297 0.099180 0.806181 -vn 0.583297 0.099180 0.806181 -vn 0.508399 -0.001748 0.861120 -vn 0.524770 0.165762 0.834949 -vn -0.231638 -0.421064 0.876954 -vn -0.054624 -0.259423 0.964218 -vn 0.156160 -0.047093 0.986609 -vn 0.156160 -0.047093 0.986609 -vn -0.054624 -0.259423 0.964218 -vn -0.223353 -0.078074 0.971606 -vn 0.176996 0.117972 0.977116 -vn 0.156160 -0.047093 0.986609 -vn -0.116952 0.164913 0.979350 -vn -0.116952 0.164913 0.979350 -vn 0.156160 -0.047093 0.986609 -vn -0.223353 -0.078074 0.971606 -vn 0.332949 0.174518 0.926654 -vn 0.176996 0.117972 0.977116 -vn 0.235208 0.242647 0.941169 -vn 0.235208 0.242647 0.941169 -vn 0.176996 0.117972 0.977116 -vn -0.116952 0.164913 0.979350 -vn 0.396273 0.237589 0.886859 -vn 0.332949 0.174518 0.926654 -vn 0.250798 0.356808 0.899882 -vn 0.250798 0.356808 0.899882 -vn 0.332949 0.174518 0.926654 -vn 0.235208 0.242647 0.941169 -vn 0.465482 0.198170 0.862586 -vn 0.396273 0.237589 0.886859 -vn 0.327185 0.359445 0.873927 -vn 0.327185 0.359445 0.873927 -vn 0.396273 0.237589 0.886859 -vn 0.250798 0.356808 0.899882 -vn 0.375740 0.369738 0.849772 -vn 0.476121 0.310210 0.822848 -vn 0.524770 0.165762 0.834949 -vn 0.524770 0.165762 0.834949 -vn 0.476121 0.310210 0.822848 -vn 0.583297 0.099180 0.806181 -vn 0.586426 0.081490 0.805893 -vn 0.583297 0.099180 0.806181 -vn 0.578466 0.274019 0.768304 -vn 0.578466 0.274019 0.768304 -vn 0.583297 0.099180 0.806181 -vn 0.476121 0.310210 0.822848 -vn 0.637792 0.094825 0.764349 -vn 0.701508 0.141475 0.698478 -vn 0.804035 0.222201 0.551501 -vn 0.804035 0.222201 0.551501 -vn 0.701508 0.141475 0.698478 -vn 0.693111 0.218075 0.687052 -vn 0.795050 0.365669 0.483923 -vn 0.804035 0.222201 0.551501 -vn 0.692277 0.290502 0.660576 -vn 0.692277 0.290502 0.660576 -vn 0.804035 0.222201 0.551501 -vn 0.693111 0.218075 0.687052 -vn 0.746743 0.367139 0.554603 -vn 0.795050 0.365669 0.483923 -vn 0.665432 0.371470 0.647465 -vn 0.665432 0.371470 0.647465 -vn 0.795050 0.365669 0.483923 -vn 0.692277 0.290502 0.660576 -vn 0.746743 0.367139 0.554603 -vn 0.665432 0.371470 0.647465 -vn 0.693408 0.534699 0.482993 -vn 0.693408 0.534699 0.482993 -vn 0.665432 0.371470 0.647465 -vn 0.565544 0.401306 0.720495 -vn 0.440421 0.756675 0.483190 -vn 0.395914 0.622562 0.675033 -vn 0.000000 0.852896 0.522081 -vn 0.000000 0.852896 0.522081 -vn 0.395914 0.622562 0.675033 -vn 0.000000 0.735528 0.677494 -vn 0.692277 0.290502 0.660576 -vn 0.492427 0.164830 0.854603 -vn 0.665432 0.371470 0.647465 -vn 0.665432 0.371470 0.647465 -vn 0.492427 0.164830 0.854603 -vn 0.511349 0.270648 0.815642 -vn 0.665432 0.371470 0.647465 -vn 0.511349 0.270648 0.815642 -vn 0.565544 0.401306 0.720495 -vn 0.565544 0.401306 0.720495 -vn 0.511349 0.270648 0.815642 -vn 0.410556 0.235873 0.880800 -vn 0.395914 0.622562 0.675033 -vn 0.283113 0.470702 0.835635 -vn 0.000000 0.735528 0.677494 -vn 0.000000 0.735528 0.677494 -vn 0.283113 0.470702 0.835635 -vn 0.000000 0.588858 0.808237 -vn 0.646546 -0.091362 0.757385 -vn 0.712959 -0.201500 0.671630 -vn 0.693830 -0.131650 0.708003 -vn 0.693830 -0.131650 0.708003 -vn 0.712959 -0.201500 0.671630 -vn 0.739324 -0.227264 0.633838 -vn 0.267558 -0.406754 0.873478 -vn 0.540100 0.136136 0.830518 -vn 0.328776 -0.398405 0.856259 -vn 0.328776 -0.398405 0.856259 -vn 0.540100 0.136136 0.830518 -vn 0.491149 0.152390 0.857642 -vn 0.328776 -0.398405 0.856259 -vn 0.086428 -0.753305 0.651967 -vn 0.267558 -0.406754 0.873478 -vn 0.267558 -0.406754 0.873478 -vn 0.086428 -0.753305 0.651967 -vn -0.072677 -0.707963 0.702500 -vn 0.086428 -0.753305 0.651967 -vn 0.212866 -0.594441 0.775453 -vn -0.072677 -0.707963 0.702500 -vn -0.072677 -0.707963 0.702500 -vn 0.212866 -0.594441 0.775453 -vn 0.077064 -0.547430 0.833296 -vn 0.302576 -0.139600 -0.942847 -vn 0.192392 -0.228822 -0.954267 -vn 0.292926 -0.140834 -0.945706 -vn 0.292926 -0.140834 -0.945706 -vn 0.192392 -0.228822 -0.954267 -vn 0.238326 -0.280306 -0.929855 -vn -0.885110 0.090062 -0.456583 -vn -0.908319 0.101642 -0.405740 -vn -0.901202 0.095876 -0.422661 -vn -0.838070 0.099633 -0.536388 -vn -0.885110 0.090062 -0.456583 -vn -0.872698 0.061052 -0.484429 -vn -0.872698 0.061052 -0.484429 -vn -0.885110 0.090062 -0.456583 -vn -0.901202 0.095876 -0.422661 -vn -0.906366 0.121056 -0.404780 -vn -0.918399 0.104092 -0.381717 -vn -0.908319 0.101642 -0.405740 -vn -0.908319 0.101642 -0.405740 -vn -0.918399 0.104092 -0.381717 -vn -0.901202 0.095876 -0.422661 -vn -0.838270 0.058952 -0.542059 -vn -0.848483 0.011890 -0.529089 -vn -0.841805 0.021328 -0.539360 -vn 0.004213 -0.178993 0.983841 -vn 0.005068 -0.169127 0.985581 -vn 0.000875 -0.119271 0.992861 -vn 0.000875 -0.119271 0.992861 -vn 0.005068 -0.169127 0.985581 -vn -0.000283 -0.119211 0.992869 -vn -0.028557 -0.125072 0.991737 -vn -0.030092 -0.127525 0.991379 -vn -0.033619 -0.126186 0.991437 -vn -0.033619 -0.126186 0.991437 -vn -0.030092 -0.127525 0.991379 -vn -0.033272 -0.126422 0.991418 -vn -0.009534 -0.119049 0.992843 -vn -0.012070 -0.128801 0.991597 -vn -0.028557 -0.125072 0.991737 -vn -0.028557 -0.125072 0.991737 -vn -0.012070 -0.128801 0.991597 -vn -0.030092 -0.127525 0.991379 -vn 0.008610 -0.088195 0.996066 -vn 0.006816 -0.096393 0.995320 -vn -0.009534 -0.119049 0.992843 -vn -0.009534 -0.119049 0.992843 -vn 0.006816 -0.096393 0.995320 -vn -0.012070 -0.128801 0.991597 -vn 0.008610 -0.088195 0.996066 -vn 0.000000 -0.094600 0.995515 -vn 0.006816 -0.096393 0.995320 -vn 0.006816 -0.096393 0.995320 -vn 0.000000 -0.094600 0.995515 -vn 0.000000 -0.097825 0.995204 -vn 0.629564 -0.097579 0.770797 -vn 0.897861 -0.284137 0.336321 -vn 0.827590 -0.457878 0.324718 -vn 0.599920 -0.116148 0.791584 -vn 0.827590 -0.457878 0.324718 -vn 0.753614 -0.507019 0.418327 -vn 0.753614 -0.507019 0.418327 -vn 0.794821 -0.533487 0.289225 -vn 0.692347 -0.561281 0.453452 -vn 0.794821 -0.533487 0.289225 -vn 0.753614 -0.507019 0.418327 -vn 0.827590 -0.457878 0.324718 -vn 0.712959 -0.201500 0.671630 -vn 0.755253 -0.322586 0.570553 -vn 0.739324 -0.227264 0.633838 -vn 0.739324 -0.227264 0.633838 -vn 0.755253 -0.322586 0.570553 -vn 0.757093 -0.350156 0.551544 -vn 0.756897 -0.413234 0.506304 -vn 0.753614 -0.507019 0.418327 -vn 0.692347 -0.561281 0.453452 -vn 0.599920 -0.116148 0.791584 -vn 0.753614 -0.507019 0.418327 -vn 0.563981 -0.086031 0.821294 -vn 0.563981 -0.086031 0.821294 -vn 0.753614 -0.507019 0.418327 -vn 0.756897 -0.413234 0.506304 -vn 0.559633 0.486693 0.670777 -vn 0.577927 0.320953 0.750326 -vn 0.275018 0.577380 0.768764 -vn 0.275018 0.577380 0.768764 -vn 0.577927 0.320953 0.750326 -vn 0.116849 0.176924 0.977264 -vn 0.769638 0.335020 0.543525 -vn 0.750340 0.293327 0.592410 -vn 0.559633 0.486693 0.670777 -vn 0.559633 0.486693 0.670777 -vn 0.750340 0.293327 0.592410 -vn 0.577927 0.320953 0.750326 -vn 0.235208 0.242647 0.941169 -vn -0.116952 0.164913 0.979350 -vn 0.517412 0.107566 0.848949 -vn 0.250798 0.356808 0.899882 -vn 0.235208 0.242647 0.941169 -vn 0.503238 0.171977 0.846862 -vn 0.503238 0.171977 0.846862 -vn 0.235208 0.242647 0.941169 -vn 0.517412 0.107566 0.848949 -vn 0.327185 0.359445 0.873927 -vn 0.250798 0.356808 0.899882 -vn 0.576598 0.119160 0.808292 -vn 0.576598 0.119160 0.808292 -vn 0.250798 0.356808 0.899882 -vn 0.503238 0.171977 0.846862 -vn 0.476121 0.310210 0.822848 -vn 0.375740 0.369738 0.849772 -vn 0.622963 0.010707 0.782178 -vn 0.622963 0.010707 0.782178 -vn 0.375740 0.369738 0.849772 -vn 0.613048 0.091494 0.784730 -vn 0.622963 0.010707 0.782178 -vn 0.578466 0.274019 0.768304 -vn 0.476121 0.310210 0.822848 -vn 0.578466 0.274019 0.768304 -vn 0.622963 0.010707 0.782178 -vn 0.600783 -0.009281 0.799358 -vn 0.701508 0.141475 0.698478 -vn 0.561162 0.016469 0.827542 -vn 0.693111 0.218075 0.687052 -vn 0.693111 0.218075 0.687052 -vn 0.561162 0.016469 0.827542 -vn 0.534016 0.096637 0.839934 -vn 0.693111 0.218075 0.687052 -vn 0.534016 0.096637 0.839934 -vn 0.692277 0.290502 0.660576 -vn 0.692277 0.290502 0.660576 -vn 0.534016 0.096637 0.839934 -vn 0.492427 0.164830 0.854603 -vn 0.433159 0.872883 -0.224608 -vn 0.000000 0.965908 -0.258887 -vn 0.420776 0.879811 -0.221087 -vn 0.420776 0.879811 -0.221087 -vn 0.000000 0.965908 -0.258887 -vn -0.000000 0.965233 -0.261391 -vn 0.775130 0.531844 -0.341050 -vn 0.689875 0.626450 -0.362813 -vn 0.662525 0.655485 -0.362491 -vn 0.654908 -0.078612 0.751609 -vn 0.646546 -0.091362 0.757385 -vn 0.693830 -0.131650 0.708003 -vn 0.547185 0.096805 0.831395 -vn 0.540100 0.136136 0.830518 -vn 0.580964 0.116968 0.805481 -vn 0.580964 0.116968 0.805481 -vn 0.540100 0.136136 0.830518 -vn 0.552821 0.127056 0.823557 -vn 0.238326 -0.280306 -0.929855 -vn 0.205507 -0.341339 -0.917199 -vn 0.413320 -0.375423 -0.829593 -vn 0.740528 -0.552831 0.382095 -vn 0.794821 -0.533487 0.289225 -vn 0.897861 -0.284137 0.336321 -vn 0.740528 -0.552831 0.382095 -vn 0.879104 -0.123736 0.460289 -vn 0.825383 0.027812 0.563888 -vn 0.879104 -0.123736 0.460289 -vn 0.740528 -0.552831 0.382095 -vn 0.897861 -0.284137 0.336321 -vn 0.275481 -0.960323 -0.043470 -vn 0.202619 -0.977154 -0.064148 -vn 0.264099 -0.963244 -0.049115 -vn 0.264099 -0.963244 -0.049115 -vn 0.202619 -0.977154 -0.064148 -vn 0.185660 -0.980159 -0.069421 -vn 0.005068 -0.169127 0.985581 -vn 0.004213 -0.178993 0.983841 -vn 0.005265 -0.232431 0.972599 -vn 0.005265 -0.232431 0.972599 -vn 0.004213 -0.178993 0.983841 -vn 0.001215 -0.234994 0.971996 -vn 0.946101 -0.091808 0.310587 -vn 0.947651 -0.069522 0.311647 -vn 0.933835 -0.126242 0.334685 -vn -0.363064 -0.930250 0.053092 -vn -0.385532 -0.921257 0.051487 -vn -0.687639 -0.725988 0.009737 -vn -0.687639 -0.725988 0.009737 -vn -0.385532 -0.921257 0.051487 -vn -0.709102 -0.705080 0.006041 -vn 0.000000 -0.999654 0.026321 -vn 0.000000 -0.998690 0.051159 -vn -0.363064 -0.930250 0.053092 -vn -0.363064 -0.930250 0.053092 -vn 0.000000 -0.998690 0.051159 -vn -0.385532 -0.921257 0.051487 -vn -0.900188 -0.434837 0.024056 -vn -0.913375 -0.402924 0.058299 -vn -0.980424 -0.151736 0.125481 -vn -0.980424 -0.151736 0.125481 -vn -0.913375 -0.402924 0.058299 -vn -0.980182 -0.136745 0.143330 -vn -0.687639 -0.725988 0.009737 -vn -0.709102 -0.705080 0.006041 -vn -0.900188 -0.434837 0.024056 -vn -0.900188 -0.434837 0.024056 -vn -0.709102 -0.705080 0.006041 -vn -0.913375 -0.402924 0.058299 -vn -0.994612 -0.017356 0.102202 -vn -0.994065 -0.017268 0.107409 -vn -0.980182 -0.136745 0.143330 -vn -0.980182 -0.136745 0.143330 -vn -0.994065 -0.017268 0.107409 -vn -0.980424 -0.151736 0.125481 -vn 0.000000 -0.031297 -0.999510 -vn -0.002828 -0.032587 -0.999465 -vn -0.008149 -0.028624 -0.999557 -vn 0.072237 -0.977132 -0.199989 -vn 0.219139 -0.948685 -0.227980 -vn 0.116236 -0.981237 -0.153826 -vn 0.116236 -0.981237 -0.153826 -vn 0.219139 -0.948685 -0.227980 -vn 0.286498 -0.934423 -0.211594 -vn -0.035271 -0.981040 -0.190571 -vn 0.035271 -0.981040 -0.190571 -vn 0.000000 -0.993771 -0.111439 -vn 0.823204 0.041899 0.566197 -vn 0.877209 0.129252 0.462382 -vn 0.815337 0.129486 0.564322 -vn 0.815337 0.129486 0.564322 -vn 0.877209 0.129252 0.462382 -vn 0.793372 0.044920 0.607078 -vn 0.605520 0.092760 0.790405 -vn 0.823204 0.041899 0.566197 -vn 0.586426 0.081490 0.805893 -vn 0.586426 0.081490 0.805893 -vn 0.823204 0.041899 0.566197 -vn 0.815337 0.129486 0.564322 -vn 0.676738 0.161385 0.718318 -vn 0.605520 0.092760 0.790405 -vn 0.578466 0.274019 0.768304 -vn 0.578466 0.274019 0.768304 -vn 0.605520 0.092760 0.790405 -vn 0.586426 0.081490 0.805893 -vn 0.375740 0.369738 0.849772 -vn 0.327185 0.359445 0.873927 -vn 0.613048 0.091494 0.784730 -vn 0.613048 0.091494 0.784730 -vn 0.327185 0.359445 0.873927 -vn 0.576598 0.119160 0.808292 -vn 0.524770 0.165762 0.834949 -vn 0.465482 0.198170 0.862586 -vn 0.375740 0.369738 0.849772 -vn 0.375740 0.369738 0.849772 -vn 0.465482 0.198170 0.862586 -vn 0.327185 0.359445 0.873927 -vn 0.508399 -0.001748 0.861120 -vn 0.490474 -0.015548 0.871317 -vn 0.524770 0.165762 0.834949 -vn 0.524770 0.165762 0.834949 -vn 0.490474 -0.015548 0.871317 -vn 0.465482 0.198170 0.862586 -vn 0.629564 -0.097579 0.770797 -vn 0.599920 -0.116148 0.791584 -vn 0.508399 -0.001748 0.861120 -vn 0.508399 -0.001748 0.861120 -vn 0.599920 -0.116148 0.791584 -vn 0.490474 -0.015548 0.871317 -vn 0.629564 -0.097579 0.770797 -vn 0.827590 -0.457878 0.324718 -vn 0.599920 -0.116148 0.791584 -vn 0.856568 -0.147677 0.494451 -vn 0.877209 0.129252 0.462382 -vn 0.865779 -0.017836 0.500109 -vn 0.877209 0.129252 0.462382 -vn 0.856568 -0.147677 0.494451 -vn 0.793372 0.044920 0.607078 -vn 0.946101 -0.091808 0.310587 -vn 0.921518 -0.135700 0.363854 -vn 0.947651 -0.069522 0.311647 -vn 0.885192 -0.082688 0.457819 -vn 0.921518 -0.135700 0.363854 -vn 0.856568 -0.147677 0.494451 -vn 0.856568 -0.147677 0.494451 -vn 0.921518 -0.135700 0.363854 -vn 0.868708 -0.239350 0.433656 -vn 0.868708 -0.239350 0.433656 -vn 0.921518 -0.135700 0.363854 -vn 0.899836 -0.220831 0.376203 -vn 0.329487 0.646995 0.687630 -vn 0.275018 0.577380 0.768764 -vn 0.000001 0.672206 0.740364 -vn 0.000001 0.672206 0.740364 -vn 0.275018 0.577380 0.768764 -vn 0.000001 0.613691 0.789546 -vn 0.630978 0.528192 0.568225 -vn 0.559633 0.486693 0.670777 -vn 0.329487 0.646995 0.687630 -vn 0.329487 0.646995 0.687630 -vn 0.559633 0.486693 0.670777 -vn 0.275018 0.577380 0.768764 -vn 0.829124 0.305410 0.468271 -vn 0.769638 0.335020 0.543525 -vn 0.630978 0.528192 0.568225 -vn 0.630978 0.528192 0.568225 -vn 0.769638 0.335020 0.543525 -vn 0.559633 0.486693 0.670777 -vn 0.903662 0.091606 0.418334 -vn 0.874367 0.142896 0.463750 -vn 0.829124 0.305410 0.468271 -vn 0.829124 0.305410 0.468271 -vn 0.874367 0.142896 0.463750 -vn 0.769638 0.335020 0.543525 -vn 0.874367 0.142896 0.463750 -vn 0.903662 0.091606 0.418334 -vn 0.865779 -0.017836 0.500109 -vn 0.903662 0.091606 0.418334 -vn 0.885192 -0.082688 0.457819 -vn 0.865779 -0.017836 0.500109 -vn 0.885192 -0.082688 0.457819 -vn 0.856568 -0.147677 0.494451 -vn 0.865779 -0.017836 0.500109 -vn 0.689875 0.626450 -0.362813 -vn 0.433159 0.872883 -0.224608 -vn 0.662525 0.655485 -0.362491 -vn 0.662525 0.655485 -0.362491 -vn 0.433159 0.872883 -0.224608 -vn 0.420776 0.879811 -0.221087 -vn 0.565544 0.401306 0.720495 -vn 0.410556 0.235873 0.880800 -vn 0.395914 0.622562 0.675033 -vn 0.395914 0.622562 0.675033 -vn 0.410556 0.235873 0.880800 -vn 0.283113 0.470702 0.835635 -vn 0.440421 0.756675 0.483190 -vn 0.693408 0.534699 0.482993 -vn 0.395914 0.622562 0.675033 -vn 0.395914 0.622562 0.675033 -vn 0.693408 0.534699 0.482993 -vn 0.565544 0.401306 0.720495 -vn 0.436523 0.194338 0.878454 -vn 0.693408 0.534699 0.482993 -vn 0.301224 0.372748 0.877680 -vn 0.301224 0.372748 0.877680 -vn 0.693408 0.534699 0.482993 -vn 0.440421 0.756675 0.483190 -vn 0.301224 0.372748 0.877680 -vn 0.116849 0.176924 0.977264 -vn 0.436523 0.194338 0.878454 -vn 0.436523 0.194338 0.878454 -vn 0.116849 0.176924 0.977264 -vn 0.577927 0.320953 0.750326 -vn -0.838070 0.099633 -0.536388 -vn -0.872698 0.061052 -0.484429 -vn -0.838270 0.058952 -0.542059 -vn -0.838270 0.058952 -0.542059 -vn -0.872698 0.061052 -0.484429 -vn -0.848483 0.011890 -0.529089 -vn 0.205507 -0.341339 -0.917199 -vn 0.238326 -0.280306 -0.929855 -vn 0.178952 -0.332850 -0.925844 -vn 0.178952 -0.332850 -0.925844 -vn 0.238326 -0.280306 -0.929855 -vn 0.192392 -0.228822 -0.954267 -vn 0.178952 -0.332850 -0.925844 -vn 0.203434 -0.333613 -0.920498 -vn 0.205507 -0.341339 -0.917199 -vn 0.205507 -0.341339 -0.917199 -vn 0.203434 -0.333613 -0.920498 -vn 0.201669 -0.331943 -0.921490 -vn 0.203434 -0.333613 -0.920498 -vn 0.163755 -0.336085 -0.927487 -vn 0.201669 -0.331943 -0.921490 -vn 0.201669 -0.331943 -0.921490 -vn 0.163755 -0.336085 -0.927487 -vn 0.153812 -0.338506 -0.928308 -vn -0.848483 0.011890 -0.529089 -vn -0.857799 0.017740 -0.513679 -vn -0.841805 0.021328 -0.539360 -vn -0.841805 0.021328 -0.539360 -vn -0.857799 0.017740 -0.513679 -vn -0.852988 -0.069459 -0.517289 -vn -0.857799 0.017740 -0.513679 -vn -0.850491 -0.071994 -0.521040 -vn -0.852988 -0.069459 -0.517289 -vn -0.850491 -0.071994 -0.521040 -vn -0.846858 -0.092154 -0.523774 -vn -0.852988 -0.069459 -0.517289 -vn -0.852988 -0.069459 -0.517289 -vn -0.846858 -0.092154 -0.523774 -vn -0.847084 -0.090957 -0.523617 -vn -0.846858 -0.092154 -0.523774 -vn -0.856333 -0.079551 -0.510260 -vn -0.847084 -0.090957 -0.523617 -vn -0.847084 -0.090957 -0.523617 -vn -0.856333 -0.079551 -0.510260 -vn -0.858056 -0.079184 -0.507414 -vn 0.478460 -0.790217 0.382927 -vn 0.740528 -0.552831 0.382095 -vn 0.276535 -0.885349 0.373744 -vn 0.740528 -0.552831 0.382095 -vn 0.590636 -0.714540 0.374942 -vn 0.794821 -0.533487 0.289225 -vn 0.750340 0.293327 0.592410 -vn 0.795050 0.365669 0.483923 -vn 0.577927 0.320953 0.750326 -vn 0.577927 0.320953 0.750326 -vn 0.795050 0.365669 0.483923 -vn 0.746743 0.367139 0.554603 -vn 0.646546 -0.091362 0.757385 -vn 0.654908 -0.078612 0.751609 -vn 0.595966 0.010468 0.802942 -vn 0.595966 0.010468 0.802942 -vn 0.654908 -0.078612 0.751609 -vn 0.645955 0.010511 0.763303 -vn 0.540100 0.136136 0.830518 -vn 0.595966 0.010468 0.802942 -vn 0.552821 0.127056 0.823557 -vn 0.552821 0.127056 0.823557 -vn 0.595966 0.010468 0.802942 -vn 0.645955 0.010511 0.763303 -vn 0.251850 0.142172 0.957266 -vn -0.000000 0.162236 0.986752 -vn 0.148083 0.146979 0.977992 -vn 0.148083 0.146979 0.977992 -vn -0.000000 0.162236 0.986752 -vn 0.000000 0.141845 0.989889 -vn 0.309236 0.165615 0.936453 -vn 0.419722 0.109486 0.901025 -vn 0.258902 0.164100 0.951862 -vn 0.419722 0.109486 0.901025 -vn 0.251850 0.142172 0.957266 -vn 0.258902 0.164100 0.951862 -vn 0.251850 0.142172 0.957266 -vn 0.148083 0.146979 0.977992 -vn 0.258902 0.164100 0.951862 -vn 0.419722 0.109486 0.901025 -vn 0.612309 0.047674 0.789180 -vn 0.564812 0.045085 0.823987 -vn 0.612309 0.047674 0.789180 -vn 0.419722 0.109486 0.901025 -vn 0.606936 0.075890 0.791119 -vn 0.419722 0.109486 0.901025 -vn 0.543709 0.088666 0.834577 -vn 0.606936 0.075890 0.791119 -vn 0.419722 0.109486 0.901025 -vn 0.454197 0.114604 0.883499 -vn 0.543709 0.088666 0.834577 -vn 0.454197 0.114604 0.883499 -vn 0.419722 0.109486 0.901025 -vn 0.309236 0.165615 0.936453 -vn 0.669690 0.002394 0.742637 -vn 0.671572 0.000921 0.740939 -vn 0.564812 0.045085 0.823987 -vn 0.671572 0.000921 0.740939 -vn 0.643622 0.003589 0.765335 -vn 0.564812 0.045085 0.823987 -vn 0.643622 0.003589 0.765335 -vn 0.639898 0.000849 0.768459 -vn 0.564812 0.045085 0.823987 -vn 0.612309 0.047674 0.789180 -vn 0.636922 0.014002 0.770801 -vn 0.564812 0.045085 0.823987 -vn 0.636922 0.014002 0.770801 -vn 0.657122 0.006114 0.753760 -vn 0.564812 0.045085 0.823987 -vn 0.564812 0.045085 0.823987 -vn 0.657122 0.006114 0.753760 -vn 0.669690 0.002394 0.742637 -vn 0.643622 0.003589 0.765335 -vn 0.683680 -0.002210 0.729778 -vn 0.639898 0.000849 0.768459 -vn 0.639898 0.000849 0.768459 -vn 0.683680 -0.002210 0.729778 -vn 0.627582 -0.013520 0.778433 -vn 0.683680 -0.002210 0.729778 -vn 0.640471 -0.013126 0.767870 -vn 0.627582 -0.013520 0.778433 -vn 0.667492 -0.004836 0.744601 -vn 0.629564 -0.097579 0.770797 -vn 0.558848 0.112880 0.821552 -vn 0.558848 0.112880 0.821552 -vn 0.629564 -0.097579 0.770797 -vn 0.508399 -0.001748 0.861120 -vn 0.897861 -0.284137 0.336321 -vn 0.629564 -0.097579 0.770797 -vn 0.872814 -0.299764 0.385146 -vn 0.629564 -0.097579 0.770797 -vn 0.667492 -0.004836 0.744601 -vn 0.872814 -0.299764 0.385146 -vn 0.600783 -0.009281 0.799358 -vn 0.676738 0.161385 0.718318 -vn 0.578466 0.274019 0.768304 -vn 0.676738 0.161385 0.718318 -vn 0.561162 0.016469 0.827542 -vn 0.701508 0.141475 0.698478 -vn 0.561162 0.016469 0.827542 -vn 0.676738 0.161385 0.718318 -vn 0.600783 -0.009281 0.799358 -vn 0.701508 0.141475 0.698478 -vn 0.637792 0.094825 0.764349 -vn 0.676738 0.161385 0.718318 -vn 0.676738 0.161385 0.718318 -vn 0.637792 0.094825 0.764349 -vn 0.605520 0.092760 0.790405 -vn 0.637792 0.094825 0.764349 -vn 0.725880 0.010497 0.687741 -vn 0.605520 0.092760 0.790405 -vn 0.605520 0.092760 0.790405 -vn 0.725880 0.010497 0.687741 -vn 0.823204 0.041899 0.566197 -vn 0.725880 0.010497 0.687741 -vn 0.878718 0.118805 0.462320 -vn 0.823204 0.041899 0.566197 -vn 0.823204 0.041899 0.566197 -vn 0.878718 0.118805 0.462320 -vn 0.877209 0.129252 0.462382 -vn 0.878718 0.118805 0.462320 -vn 0.865779 -0.017836 0.500109 -vn 0.877209 0.129252 0.462382 -vn 0.000875 -0.119271 0.992861 -vn -0.000283 -0.119211 0.992869 -vn -0.033272 -0.126422 0.991418 -vn -0.033272 -0.126422 0.991418 -vn -0.000283 -0.119211 0.992869 -vn -0.033619 -0.126186 0.991437 -vn -0.995493 -0.030523 0.089784 -vn -0.993894 -0.047100 0.099785 -vn -0.986612 -0.094408 0.132977 -vn 0.921518 -0.135700 0.363854 -vn 0.885192 -0.082688 0.457819 -vn 0.947651 -0.069522 0.311647 -vn 0.740528 -0.552831 0.382095 -vn 0.478460 -0.790217 0.382927 -vn 0.590636 -0.714540 0.374942 -vn 0.692347 -0.561281 0.453452 -vn 0.590636 -0.714540 0.374942 -vn 0.662696 -0.571306 0.484194 -vn 0.662696 -0.571306 0.484194 -vn 0.590636 -0.714540 0.374942 -vn 0.478460 -0.790217 0.382927 -vn 0.756897 -0.413234 0.506304 -vn 0.692347 -0.561281 0.453452 -vn 0.729157 -0.440006 0.524142 -vn 0.729157 -0.440006 0.524142 -vn 0.692347 -0.561281 0.453452 -vn 0.662696 -0.571306 0.484194 -vn 0.755253 -0.322586 0.570553 -vn 0.756897 -0.413234 0.506304 -vn 0.757093 -0.350156 0.551544 -vn 0.757093 -0.350156 0.551544 -vn 0.756897 -0.413234 0.506304 -vn 0.729157 -0.440006 0.524142 -vn -0.994065 -0.017268 0.107409 -vn -0.994612 -0.017356 0.102202 -vn -0.995493 -0.030523 0.089784 -vn -0.995493 -0.030523 0.089784 -vn -0.994612 -0.017356 0.102202 -vn -0.993894 -0.047100 0.099785 -vn 0.692347 -0.561281 0.453452 -vn 0.794821 -0.533487 0.289225 -vn 0.590636 -0.714540 0.374942 -vn 0.897861 -0.284137 0.336321 -vn 0.794821 -0.533487 0.289225 -vn 0.827590 -0.457878 0.324718 -vn 0.072237 -0.977132 -0.199989 -vn 0.035271 -0.981040 -0.190571 -vn 0.219139 -0.948685 -0.227980 -vn 0.219139 -0.948685 -0.227980 -vn 0.035271 -0.981040 -0.190571 -vn -0.000000 -0.979515 -0.201370 -vn 0.006740 -0.119147 0.992854 -vn -0.014744 -0.114681 0.993293 -vn 0.010643 -0.117305 0.993039 -vn 0.010643 -0.117305 0.993039 -vn -0.014744 -0.114681 0.993293 -vn -0.016403 -0.114530 0.993284 -vn 0.001677 -0.122098 0.992517 -vn 0.006740 -0.119147 0.992854 -vn 0.002947 -0.126501 0.991962 -vn 0.002947 -0.126501 0.991962 -vn 0.006740 -0.119147 0.992854 -vn 0.010643 -0.117305 0.993039 -vn -0.015049 -0.110728 0.993737 -vn -0.008436 -0.120558 0.992670 -vn 0.002947 -0.126501 0.991962 -vn 0.002947 -0.126501 0.991962 -vn -0.008436 -0.120558 0.992670 -vn 0.001677 -0.122098 0.992517 -vn -0.004325 -0.103474 0.994623 -vn -0.007502 -0.104044 0.994544 -vn -0.015049 -0.110728 0.993737 -vn -0.015049 -0.110728 0.993737 -vn -0.007502 -0.104044 0.994544 -vn -0.008436 -0.120558 0.992670 -vn -0.005018 -0.111652 0.993735 -vn -0.005159 -0.111410 0.993761 -vn -0.004325 -0.103474 0.994623 -vn -0.004325 -0.103474 0.994623 -vn -0.005159 -0.111410 0.993761 -vn -0.007502 -0.104044 0.994544 -vn -0.000000 -0.103656 0.994613 -vn 0.000000 -0.104054 0.994572 -vn -0.005018 -0.111652 0.993735 -vn -0.005018 -0.111652 0.993735 -vn 0.000000 -0.104054 0.994572 -vn -0.005159 -0.111410 0.993761 -vn 0.383256 0.917388 0.107303 -vn 0.381629 0.918042 0.107509 -vn 0.000001 0.993140 0.116931 -vn 0.000001 0.993140 0.116931 -vn 0.381629 0.918042 0.107509 -vn -0.000000 0.993137 0.116961 -vn 0.944421 0.326503 0.038270 -vn 0.996158 0.087056 0.009500 -vn 0.944072 0.327512 0.038261 -vn 0.944072 0.327512 0.038261 -vn 0.996158 0.087056 0.009500 -vn 0.996136 0.087303 0.009553 -vn 0.383256 0.917388 0.107303 -vn 0.734848 0.673668 0.078545 -vn 0.381629 0.918042 0.107509 -vn 0.381629 0.918042 0.107509 -vn 0.734848 0.673668 0.078545 -vn 0.733828 0.674769 0.078632 -vn 0.944421 0.326503 0.038270 -vn 0.944072 0.327512 0.038261 -vn 0.734848 0.673668 0.078545 -vn 0.734848 0.673668 0.078545 -vn 0.944072 0.327512 0.038261 -vn 0.733828 0.674769 0.078632 -vn 0.999999 0.000168 -0.001210 -vn 0.999999 0.000474 -0.001197 -vn 0.999999 0.000133 -0.001444 -vn 0.999999 0.000474 -0.001197 -vn 0.999999 0.000168 -0.001210 -vn 0.996136 0.087303 0.009553 -vn 0.999999 0.000474 -0.001197 -vn 0.996136 0.087303 0.009553 -vn 0.996158 0.087056 0.009500 -vn 1.000000 0.000059 -0.000503 -vn 1.000000 0.000066 -0.000537 -vn 0.999999 -0.000103 -0.001265 -vn 0.999999 0.000168 -0.001210 -vn 0.999999 -0.000103 -0.001265 -vn 1.000000 0.000066 -0.000537 -vn 0.999999 -0.000103 -0.001265 -vn 0.999999 0.000168 -0.001210 -vn 0.999999 0.000133 -0.001444 -vn -0.874368 0.142892 0.463748 -vn -0.769637 0.335024 0.543524 -vn -0.839359 0.129821 0.527847 -vn -0.769637 0.335024 0.543524 -vn -0.750336 0.293332 0.592412 -vn -0.839359 0.129821 0.527847 -vn -0.116849 0.176925 0.977263 -vn 0.000000 0.212854 0.977084 -vn -0.301220 0.372748 0.877682 -vn 0.000000 0.212854 0.977084 -vn -0.000000 0.428954 0.903327 -vn -0.301220 0.372748 0.877682 -vn 0.000000 0.212854 0.977084 -vn -0.116849 0.176925 0.977263 -vn 0.000001 0.613691 0.789546 -vn -0.116849 0.176925 0.977263 -vn -0.275020 0.577380 0.768763 -vn 0.000001 0.613691 0.789546 -vn -0.872815 -0.299763 0.385144 -vn -0.897861 -0.284137 0.336321 -vn -0.876646 -0.220404 0.427685 -vn -0.897861 -0.284137 0.336321 -vn -0.879103 -0.123735 0.460291 -vn -0.876646 -0.220404 0.427685 -vn -0.839359 0.129821 0.527847 -vn -0.725879 0.010493 0.687742 -vn -0.878719 0.118802 0.462319 -vn -0.736369 -0.009801 0.676509 -vn -0.650778 0.155174 0.743242 -vn -0.667494 -0.004835 0.744600 -vn -0.650778 0.155174 0.743242 -vn -0.558854 0.112881 0.821547 -vn -0.667494 -0.004835 0.744600 -vn -0.865777 -0.017836 0.500112 -vn -0.874368 0.142892 0.463748 -vn -0.878719 0.118802 0.462319 -vn -0.874368 0.142892 0.463748 -vn -0.839359 0.129821 0.527847 -vn -0.878719 0.118802 0.462319 -vn -0.872815 -0.299763 0.385144 -vn -0.868708 -0.239350 0.433657 -vn -0.667494 -0.004835 0.744600 -vn -0.868708 -0.239350 0.433657 -vn -0.736369 -0.009801 0.676509 -vn -0.667494 -0.004835 0.744600 -vn -0.872815 -0.299763 0.385144 -vn -0.876646 -0.220404 0.427685 -vn -0.868708 -0.239350 0.433657 -vn -0.876646 -0.220404 0.427685 -vn -0.899836 -0.220835 0.376201 -vn -0.868708 -0.239350 0.433657 -vn -0.563982 -0.086031 0.821293 -vn -0.423338 0.053242 0.904406 -vn -0.506635 -0.080128 0.858429 -vn -0.423338 0.053242 0.904406 -vn -0.328468 0.080050 0.941117 -vn -0.506635 -0.080128 0.858429 -vn -0.506635 -0.080128 0.858429 -vn -0.328468 0.080050 0.941117 -vn -0.345102 -0.069683 0.935975 -vn -0.328468 0.080050 0.941117 -vn -0.069477 0.062895 0.995599 -vn -0.345102 -0.069683 0.935975 -vn 0.102959 -0.125140 0.986782 -vn 0.231638 -0.421065 0.876954 -vn -0.094883 -0.123582 0.987788 -vn 0.231638 -0.421065 0.876954 -vn -0.160782 -0.314716 0.935469 -vn -0.094883 -0.123582 0.987788 -vn -0.267556 -0.406753 0.873479 -vn -0.160782 -0.314716 0.935469 -vn 0.072677 -0.707963 0.702500 -vn -0.160782 -0.314716 0.935469 -vn 0.231638 -0.421065 0.876954 -vn 0.072677 -0.707963 0.702500 -vn -0.298116 -0.370998 0.879481 -vn -0.328776 -0.398405 0.856259 -vn -0.138480 -0.732187 0.666877 -vn -0.328776 -0.398405 0.856259 -vn -0.086429 -0.753305 0.651967 -vn -0.138480 -0.732187 0.666877 -vn -0.175494 -0.359003 0.916689 -vn -0.298116 -0.370998 0.879481 -vn -0.078068 -0.775295 0.626756 -vn -0.298116 -0.370998 0.879481 -vn -0.138480 -0.732187 0.666877 -vn -0.078068 -0.775295 0.626756 -vn 0.000000 -0.331736 0.943372 -vn -0.175494 -0.359003 0.916689 -vn -0.000000 -0.773117 0.634263 -vn -0.175494 -0.359003 0.916689 -vn -0.078068 -0.775295 0.626756 -vn -0.000000 -0.773117 0.634263 -vn -0.345102 -0.069683 0.935975 -vn -0.069477 0.062895 0.995599 -vn -0.094883 -0.123582 0.987788 -vn -0.069477 0.062895 0.995599 -vn 0.102959 -0.125140 0.986782 -vn -0.094883 -0.123582 0.987788 -vn -0.563982 -0.086031 0.821293 -vn -0.506635 -0.080128 0.858429 -vn -0.756897 -0.413234 0.506304 -vn -0.506635 -0.080128 0.858429 -vn -0.755254 -0.322587 0.570552 -vn -0.756897 -0.413234 0.506304 -vn -0.506635 -0.080128 0.858429 -vn -0.345102 -0.069683 0.935975 -vn -0.755254 -0.322587 0.570552 -vn -0.345102 -0.069683 0.935975 -vn -0.712964 -0.201500 0.671625 -vn -0.755254 -0.322587 0.570552 -vn -0.094883 -0.123582 0.987788 -vn -0.646545 -0.091367 0.757385 -vn -0.345102 -0.069683 0.935975 -vn -0.646545 -0.091367 0.757385 -vn -0.712964 -0.201500 0.671625 -vn -0.345102 -0.069683 0.935975 -vn -0.599921 -0.116149 0.791584 -vn -0.490471 -0.015544 0.871319 -vn -0.563982 -0.086031 0.821293 -vn -0.490471 -0.015544 0.871319 -vn -0.423338 0.053242 0.904406 -vn -0.563982 -0.086031 0.821293 -vn -0.298116 -0.370998 0.879481 -vn -0.390125 0.174215 0.904130 -vn -0.328776 -0.398405 0.856259 -vn -0.390125 0.174215 0.904130 -vn -0.491149 0.152390 0.857642 -vn -0.328776 -0.398405 0.856259 -vn -0.298116 -0.370998 0.879481 -vn -0.175494 -0.359003 0.916689 -vn -0.390125 0.174215 0.904130 -vn -0.175494 -0.359003 0.916689 -vn -0.230528 0.218428 0.948233 -vn -0.390125 0.174215 0.904130 -vn 0.000000 -0.331736 0.943372 -vn -0.000000 0.233936 0.972252 -vn -0.175494 -0.359003 0.916689 -vn -0.000000 0.233936 0.972252 -vn -0.230528 0.218428 0.948233 -vn -0.175494 -0.359003 0.916689 -vn -0.160782 -0.314716 0.935469 -vn -0.595966 0.010468 0.802941 -vn -0.094883 -0.123582 0.987788 -vn -0.595966 0.010468 0.802941 -vn -0.646545 -0.091367 0.757385 -vn -0.094883 -0.123582 0.987788 -vn -0.540099 0.136138 0.830518 -vn -0.595966 0.010468 0.802941 -vn -0.267556 -0.406753 0.873479 -vn -0.595966 0.010468 0.802941 -vn -0.160782 -0.314716 0.935469 -vn -0.267556 -0.406753 0.873479 -vn -0.513045 0.085684 0.854075 -vn -0.547185 0.096805 0.831395 -vn -0.491149 0.152390 0.857642 -vn -0.547185 0.096805 0.831395 -vn -0.540099 0.136138 0.830518 -vn -0.491149 0.152390 0.857642 -vn -0.513045 0.085684 0.854075 -vn -0.491149 0.152390 0.857642 -vn -0.385025 0.087869 0.918714 -vn -0.491149 0.152390 0.857642 -vn -0.390125 0.174215 0.904130 -vn -0.385025 0.087869 0.918714 -vn -0.385025 0.087869 0.918714 -vn -0.390125 0.174215 0.904130 -vn -0.208441 0.117321 0.970973 -vn -0.390125 0.174215 0.904130 -vn -0.230528 0.218428 0.948233 -vn -0.208441 0.117321 0.970973 -vn -0.208441 0.117321 0.970973 -vn -0.230528 0.218428 0.948233 -vn -0.000000 0.141983 0.989869 -vn -0.230528 0.218428 0.948233 -vn -0.000000 0.233936 0.972252 -vn -0.000000 0.141983 0.989869 -vn -0.129730 -0.990616 -0.043006 -vn -0.102818 -0.994359 -0.026060 -vn -0.072237 -0.977132 -0.199989 -vn -0.102818 -0.994359 -0.026060 -vn -0.116236 -0.981237 -0.153826 -vn -0.072237 -0.977132 -0.199989 -vn -0.238285 -0.957055 -0.165127 -vn -0.252549 -0.961967 -0.104105 -vn -0.244430 -0.956219 -0.160933 -vn -0.252549 -0.961967 -0.104105 -vn -0.257569 -0.961354 -0.097240 -vn -0.244430 -0.956219 -0.160933 -vn -0.252549 -0.961967 -0.104105 -vn -0.264099 -0.963244 -0.049115 -vn -0.257569 -0.961354 -0.097240 -vn -0.264099 -0.963244 -0.049115 -vn -0.275481 -0.960323 -0.043470 -vn -0.257569 -0.961354 -0.097240 -vn -0.238285 -0.957055 -0.165127 -vn -0.244430 -0.956219 -0.160933 -vn -0.286498 -0.934423 -0.211593 -vn -0.244430 -0.956219 -0.160933 -vn -0.219139 -0.948685 -0.227979 -vn -0.286498 -0.934423 -0.211593 -vn -0.793375 0.044918 0.607073 -vn -0.815336 0.129486 0.564323 -vn -0.736369 -0.009801 0.676509 -vn -0.815336 0.129486 0.564323 -vn -0.650778 0.155174 0.743242 -vn -0.736369 -0.009801 0.676509 -vn -0.856567 -0.147677 0.494454 -vn -0.793375 0.044918 0.607073 -vn -0.868708 -0.239350 0.433657 -vn -0.793375 0.044918 0.607073 -vn -0.736369 -0.009801 0.676509 -vn -0.868708 -0.239350 0.433657 -vn 0.000000 0.852896 0.522081 -vn -0.440416 0.756677 0.483190 -vn -0.000000 0.428954 0.903327 -vn -0.440416 0.756677 0.483190 -vn -0.301220 0.372748 0.877682 -vn -0.000000 0.428954 0.903327 -vn -0.693405 0.534698 0.482998 -vn -0.746744 0.367133 0.554606 -vn -0.436515 0.194333 0.878459 -vn -0.746744 0.367133 0.554606 -vn -0.577924 0.320947 0.750331 -vn -0.436515 0.194333 0.878459 -vn -0.839359 0.129821 0.527847 -vn -0.750336 0.293332 0.592412 -vn -0.804042 0.222216 0.551485 -vn -0.750336 0.293332 0.592412 -vn -0.795047 0.365673 0.483925 -vn -0.804042 0.222216 0.551485 -vn -0.804042 0.222216 0.551485 -vn -0.637787 0.094809 0.764355 -vn -0.725879 0.010493 0.687742 -vn -0.725879 0.010493 0.687742 -vn -0.839359 0.129821 0.527847 -vn -0.804042 0.222216 0.551485 -vn -0.815336 0.129486 0.564323 -vn -0.586431 0.081488 0.805890 -vn -0.650778 0.155174 0.743242 -vn -0.586431 0.081488 0.805890 -vn -0.583298 0.099182 0.806180 -vn -0.650778 0.155174 0.743242 -vn -0.423338 0.053242 0.904406 -vn -0.396273 0.237589 0.886859 -vn -0.328468 0.080050 0.941117 -vn -0.396273 0.237589 0.886859 -vn -0.332958 0.174510 0.926653 -vn -0.328468 0.080050 0.941117 -vn -0.328468 0.080050 0.941117 -vn -0.332958 0.174510 0.926653 -vn -0.069477 0.062895 0.995599 -vn -0.332958 0.174510 0.926653 -vn -0.176995 0.117973 0.977116 -vn -0.069477 0.062895 0.995599 -vn 0.102959 -0.125140 0.986782 -vn -0.156165 -0.047092 0.986608 -vn 0.231638 -0.421065 0.876954 -vn 0.072677 -0.707963 0.702500 -vn 0.231638 -0.421065 0.876954 -vn -0.077064 -0.547431 0.833295 -vn 0.231638 -0.421065 0.876954 -vn 0.054624 -0.259422 0.964218 -vn -0.077064 -0.547431 0.833295 -vn -0.138480 -0.732187 0.666877 -vn -0.086429 -0.753305 0.651967 -vn -0.247668 -0.520946 0.816869 -vn -0.086429 -0.753305 0.651967 -vn -0.212866 -0.594441 0.775453 -vn -0.247668 -0.520946 0.816869 -vn -0.078068 -0.775295 0.626756 -vn -0.138480 -0.732187 0.666877 -vn -0.142004 -0.600232 0.787119 -vn -0.138480 -0.732187 0.666877 -vn -0.247668 -0.520946 0.816869 -vn -0.142004 -0.600232 0.787119 -vn -0.000000 -0.773117 0.634263 -vn -0.078068 -0.775295 0.626756 -vn -0.000000 -0.616413 0.787423 -vn -0.078068 -0.775295 0.626756 -vn -0.142004 -0.600232 0.787119 -vn -0.000000 -0.616413 0.787423 -vn -0.069477 0.062895 0.995599 -vn -0.176995 0.117973 0.977116 -vn 0.102959 -0.125140 0.986782 -vn -0.176995 0.117973 0.977116 -vn -0.156165 -0.047092 0.986608 -vn 0.102959 -0.125140 0.986782 -vn -0.490471 -0.015544 0.871319 -vn -0.465480 0.198176 0.862586 -vn -0.423338 0.053242 0.904406 -vn -0.465480 0.198176 0.862586 -vn -0.396273 0.237589 0.886859 -vn -0.423338 0.053242 0.904406 -vn -0.650778 0.155174 0.743242 -vn -0.583298 0.099182 0.806180 -vn -0.558854 0.112881 0.821547 -vn -0.558854 0.112881 0.821547 -vn -0.583298 0.099182 0.806180 -vn -0.508398 -0.001751 0.861120 -vn -0.583298 0.099182 0.806180 -vn -0.524767 0.165762 0.834951 -vn -0.508398 -0.001751 0.861120 -vn 0.231638 -0.421065 0.876954 -vn -0.156165 -0.047092 0.986608 -vn 0.054624 -0.259422 0.964218 -vn -0.156165 -0.047092 0.986608 -vn 0.223344 -0.078069 0.971608 -vn 0.054624 -0.259422 0.964218 -vn -0.176995 0.117973 0.977116 -vn 0.116951 0.164914 0.979350 -vn -0.156165 -0.047092 0.986608 -vn 0.116951 0.164914 0.979350 -vn 0.223344 -0.078069 0.971608 -vn -0.156165 -0.047092 0.986608 -vn -0.332958 0.174510 0.926653 -vn -0.235209 0.242648 0.941169 -vn -0.176995 0.117973 0.977116 -vn -0.235209 0.242648 0.941169 -vn 0.116951 0.164914 0.979350 -vn -0.176995 0.117973 0.977116 -vn -0.396273 0.237589 0.886859 -vn -0.250798 0.356808 0.899882 -vn -0.332958 0.174510 0.926653 -vn -0.250798 0.356808 0.899882 -vn -0.235209 0.242648 0.941169 -vn -0.332958 0.174510 0.926653 -vn -0.465480 0.198176 0.862586 -vn -0.327185 0.359445 0.873927 -vn -0.396273 0.237589 0.886859 -vn -0.327185 0.359445 0.873927 -vn -0.250798 0.356808 0.899882 -vn -0.396273 0.237589 0.886859 -vn -0.375740 0.369738 0.849772 -vn -0.524767 0.165762 0.834951 -vn -0.476121 0.310210 0.822848 -vn -0.524767 0.165762 0.834951 -vn -0.583298 0.099182 0.806180 -vn -0.476121 0.310210 0.822848 -vn -0.586431 0.081488 0.805890 -vn -0.578472 0.274016 0.768300 -vn -0.583298 0.099182 0.806180 -vn -0.578472 0.274016 0.768300 -vn -0.476121 0.310210 0.822848 -vn -0.583298 0.099182 0.806180 -vn -0.637787 0.094809 0.764355 -vn -0.804042 0.222216 0.551485 -vn -0.701511 0.141462 0.698478 -vn -0.804042 0.222216 0.551485 -vn -0.693125 0.218098 0.687030 -vn -0.701511 0.141462 0.698478 -vn -0.795047 0.365673 0.483925 -vn -0.692277 0.290506 0.660575 -vn -0.804042 0.222216 0.551485 -vn -0.692277 0.290506 0.660575 -vn -0.693125 0.218098 0.687030 -vn -0.804042 0.222216 0.551485 -vn -0.746744 0.367133 0.554606 -vn -0.665438 0.371469 0.647459 -vn -0.795047 0.365673 0.483925 -vn -0.665438 0.371469 0.647459 -vn -0.692277 0.290506 0.660575 -vn -0.795047 0.365673 0.483925 -vn -0.746744 0.367133 0.554606 -vn -0.693405 0.534698 0.482998 -vn -0.665438 0.371469 0.647459 -vn -0.693405 0.534698 0.482998 -vn -0.565548 0.401311 0.720490 -vn -0.665438 0.371469 0.647459 -vn -0.440416 0.756677 0.483190 -vn 0.000000 0.852896 0.522081 -vn -0.395912 0.622565 0.675031 -vn 0.000000 0.852896 0.522081 -vn 0.000000 0.735528 0.677494 -vn -0.395912 0.622565 0.675031 -vn -0.692277 0.290506 0.660575 -vn -0.665438 0.371469 0.647459 -vn -0.492427 0.164830 0.854603 -vn -0.665438 0.371469 0.647459 -vn -0.511353 0.270647 0.815640 -vn -0.492427 0.164830 0.854603 -vn -0.665438 0.371469 0.647459 -vn -0.565548 0.401311 0.720490 -vn -0.511353 0.270647 0.815640 -vn -0.565548 0.401311 0.720490 -vn -0.410565 0.235886 0.880792 -vn -0.511353 0.270647 0.815640 -vn -0.395912 0.622565 0.675031 -vn 0.000000 0.735528 0.677494 -vn -0.283113 0.470702 0.835635 -vn 0.000000 0.735528 0.677494 -vn 0.000000 0.588858 0.808237 -vn -0.283113 0.470702 0.835635 -vn -0.646545 -0.091367 0.757385 -vn -0.693829 -0.131658 0.708002 -vn -0.712964 -0.201500 0.671625 -vn -0.693829 -0.131658 0.708002 -vn -0.739324 -0.227264 0.633838 -vn -0.712964 -0.201500 0.671625 -vn -0.267556 -0.406753 0.873479 -vn -0.328776 -0.398405 0.856259 -vn -0.540099 0.136138 0.830518 -vn -0.328776 -0.398405 0.856259 -vn -0.491149 0.152390 0.857642 -vn -0.540099 0.136138 0.830518 -vn -0.328776 -0.398405 0.856259 -vn -0.267556 -0.406753 0.873479 -vn -0.086429 -0.753305 0.651967 -vn -0.267556 -0.406753 0.873479 -vn 0.072677 -0.707963 0.702500 -vn -0.086429 -0.753305 0.651967 -vn -0.086429 -0.753305 0.651967 -vn 0.072677 -0.707963 0.702500 -vn -0.212866 -0.594441 0.775453 -vn 0.072677 -0.707963 0.702500 -vn -0.077064 -0.547431 0.833295 -vn -0.212866 -0.594441 0.775453 -vn -0.302568 -0.139599 -0.942849 -vn -0.292919 -0.140833 -0.945709 -vn -0.192392 -0.228822 -0.954267 -vn -0.292919 -0.140833 -0.945709 -vn -0.238326 -0.280305 -0.929855 -vn -0.192392 -0.228822 -0.954267 -vn 0.885111 0.090062 -0.456582 -vn 0.901202 0.095875 -0.422662 -vn 0.908319 0.101640 -0.405741 -vn 0.838070 0.099637 -0.536387 -vn 0.872698 0.061054 -0.484428 -vn 0.885111 0.090062 -0.456582 -vn 0.872698 0.061054 -0.484428 -vn 0.901202 0.095875 -0.422662 -vn 0.885111 0.090062 -0.456582 -vn 0.906363 0.121056 -0.404786 -vn 0.908319 0.101640 -0.405741 -vn 0.918398 0.104089 -0.381720 -vn 0.908319 0.101640 -0.405741 -vn 0.901202 0.095875 -0.422662 -vn 0.918398 0.104089 -0.381720 -vn 0.838271 0.058954 -0.542057 -vn 0.841805 0.021328 -0.539360 -vn 0.848484 0.011890 -0.529087 -vn -0.004213 -0.178993 0.983841 -vn -0.000875 -0.119271 0.992861 -vn -0.005068 -0.169127 0.985581 -vn -0.000875 -0.119271 0.992861 -vn 0.000283 -0.119211 0.992869 -vn -0.005068 -0.169127 0.985581 -vn 0.028557 -0.125072 0.991737 -vn 0.033619 -0.126186 0.991437 -vn 0.030091 -0.127525 0.991379 -vn 0.033619 -0.126186 0.991437 -vn 0.033272 -0.126422 0.991418 -vn 0.030091 -0.127525 0.991379 -vn 0.009534 -0.119049 0.992843 -vn 0.028557 -0.125072 0.991737 -vn 0.012070 -0.128801 0.991597 -vn 0.028557 -0.125072 0.991737 -vn 0.030091 -0.127525 0.991379 -vn 0.012070 -0.128801 0.991597 -vn -0.008610 -0.088195 0.996066 -vn 0.009534 -0.119049 0.992843 -vn -0.006816 -0.096394 0.995320 -vn 0.009534 -0.119049 0.992843 -vn 0.012070 -0.128801 0.991597 -vn -0.006816 -0.096394 0.995320 -vn -0.008610 -0.088195 0.996066 -vn -0.006816 -0.096394 0.995320 -vn 0.000000 -0.094600 0.995515 -vn -0.006816 -0.096394 0.995320 -vn 0.000000 -0.097825 0.995204 -vn 0.000000 -0.094600 0.995515 -vn -0.629564 -0.097579 0.770797 -vn -0.827590 -0.457878 0.324718 -vn -0.897861 -0.284137 0.336321 -vn -0.599921 -0.116149 0.791584 -vn -0.753614 -0.507019 0.418327 -vn -0.827590 -0.457878 0.324718 -vn -0.753614 -0.507019 0.418327 -vn -0.692347 -0.561281 0.453452 -vn -0.794821 -0.533487 0.289225 -vn -0.794821 -0.533487 0.289225 -vn -0.827590 -0.457878 0.324718 -vn -0.753614 -0.507019 0.418327 -vn -0.712964 -0.201500 0.671625 -vn -0.739324 -0.227264 0.633838 -vn -0.755254 -0.322587 0.570552 -vn -0.739324 -0.227264 0.633838 -vn -0.757093 -0.350156 0.551544 -vn -0.755254 -0.322587 0.570552 -vn -0.756897 -0.413234 0.506304 -vn -0.692347 -0.561281 0.453452 -vn -0.753614 -0.507019 0.418327 -vn -0.599921 -0.116149 0.791584 -vn -0.563982 -0.086031 0.821293 -vn -0.753614 -0.507019 0.418327 -vn -0.563982 -0.086031 0.821293 -vn -0.756897 -0.413234 0.506304 -vn -0.753614 -0.507019 0.418327 -vn -0.559636 0.486691 0.670775 -vn -0.275020 0.577380 0.768763 -vn -0.577924 0.320947 0.750331 -vn -0.275020 0.577380 0.768763 -vn -0.116849 0.176925 0.977263 -vn -0.577924 0.320947 0.750331 -vn -0.769637 0.335024 0.543524 -vn -0.559636 0.486691 0.670775 -vn -0.750336 0.293332 0.592412 -vn -0.559636 0.486691 0.670775 -vn -0.577924 0.320947 0.750331 -vn -0.750336 0.293332 0.592412 -vn -0.235209 0.242648 0.941169 -vn -0.517412 0.107566 0.848949 -vn 0.116951 0.164914 0.979350 -vn -0.250798 0.356808 0.899882 -vn -0.503238 0.171977 0.846862 -vn -0.235209 0.242648 0.941169 -vn -0.503238 0.171977 0.846862 -vn -0.517412 0.107566 0.848949 -vn -0.235209 0.242648 0.941169 -vn -0.327185 0.359445 0.873927 -vn -0.576598 0.119160 0.808292 -vn -0.250798 0.356808 0.899882 -vn -0.576598 0.119160 0.808292 -vn -0.503238 0.171977 0.846862 -vn -0.250798 0.356808 0.899882 -vn -0.476121 0.310210 0.822848 -vn -0.622967 0.010702 0.782175 -vn -0.375740 0.369738 0.849772 -vn -0.622967 0.010702 0.782175 -vn -0.613048 0.091494 0.784730 -vn -0.375740 0.369738 0.849772 -vn -0.622967 0.010702 0.782175 -vn -0.476121 0.310210 0.822848 -vn -0.578472 0.274016 0.768300 -vn -0.578472 0.274016 0.768300 -vn -0.600779 -0.009294 0.799361 -vn -0.622967 0.010702 0.782175 -vn -0.701511 0.141462 0.698478 -vn -0.693125 0.218098 0.687030 -vn -0.561167 0.016480 0.827539 -vn -0.693125 0.218098 0.687030 -vn -0.534016 0.096637 0.839934 -vn -0.561167 0.016480 0.827539 -vn -0.693125 0.218098 0.687030 -vn -0.692277 0.290506 0.660575 -vn -0.534016 0.096637 0.839934 -vn -0.692277 0.290506 0.660575 -vn -0.492427 0.164830 0.854603 -vn -0.534016 0.096637 0.839934 -vn -0.433159 0.872884 -0.224606 -vn -0.420776 0.879811 -0.221087 -vn 0.000000 0.965908 -0.258887 -vn -0.420776 0.879811 -0.221087 -vn -0.000000 0.965233 -0.261391 -vn 0.000000 0.965908 -0.258887 -vn -0.775173 0.531858 -0.340932 -vn -0.662547 0.655515 -0.362398 -vn -0.689916 0.626465 -0.362709 -vn -0.654905 -0.078622 0.751610 -vn -0.693829 -0.131658 0.708002 -vn -0.646545 -0.091367 0.757385 -vn -0.547185 0.096805 0.831395 -vn -0.580964 0.116968 0.805481 -vn -0.540099 0.136138 0.830518 -vn -0.580964 0.116968 0.805481 -vn -0.552822 0.127057 0.823556 -vn -0.540099 0.136138 0.830518 -vn -0.238326 -0.280305 -0.929855 -vn -0.413320 -0.375423 -0.829593 -vn -0.205507 -0.341339 -0.917199 -vn -0.740528 -0.552831 0.382095 -vn -0.897861 -0.284137 0.336321 -vn -0.794821 -0.533487 0.289225 -vn -0.740528 -0.552831 0.382095 -vn -0.825379 0.027816 0.563894 -vn -0.879103 -0.123735 0.460291 -vn -0.879103 -0.123735 0.460291 -vn -0.897861 -0.284137 0.336321 -vn -0.740528 -0.552831 0.382095 -vn -0.275481 -0.960323 -0.043470 -vn -0.264099 -0.963244 -0.049115 -vn -0.202615 -0.977155 -0.064149 -vn -0.264099 -0.963244 -0.049115 -vn -0.185655 -0.980160 -0.069422 -vn -0.202615 -0.977155 -0.064149 -vn -0.005068 -0.169127 0.985581 -vn -0.005265 -0.232431 0.972599 -vn -0.004213 -0.178993 0.983841 -vn -0.005265 -0.232431 0.972599 -vn -0.001215 -0.234994 0.971996 -vn -0.004213 -0.178993 0.983841 -vn -0.946101 -0.091808 0.310587 -vn -0.933835 -0.126242 0.334685 -vn -0.947651 -0.069522 0.311647 -vn 0.363064 -0.930250 0.053092 -vn 0.687639 -0.725988 0.009737 -vn 0.385532 -0.921257 0.051487 -vn 0.687639 -0.725988 0.009737 -vn 0.709098 -0.705084 0.006035 -vn 0.385532 -0.921257 0.051487 -vn 0.000000 -0.999654 0.026321 -vn 0.363064 -0.930250 0.053092 -vn 0.000000 -0.998690 0.051159 -vn 0.363064 -0.930250 0.053092 -vn 0.385532 -0.921257 0.051487 -vn 0.000000 -0.998690 0.051159 -vn 0.900186 -0.434841 0.024039 -vn 0.980425 -0.151730 0.125476 -vn 0.913375 -0.402926 0.058283 -vn 0.980425 -0.151730 0.125476 -vn 0.980184 -0.136733 0.143331 -vn 0.913375 -0.402926 0.058283 -vn 0.687639 -0.725988 0.009737 -vn 0.900186 -0.434841 0.024039 -vn 0.709098 -0.705084 0.006035 -vn 0.900186 -0.434841 0.024039 -vn 0.913375 -0.402926 0.058283 -vn 0.709098 -0.705084 0.006035 -vn 0.994612 -0.017356 0.102202 -vn 0.980184 -0.136733 0.143331 -vn 0.994065 -0.017268 0.107409 -vn 0.980184 -0.136733 0.143331 -vn 0.980425 -0.151730 0.125476 -vn 0.994065 -0.017268 0.107409 -vn 0.002828 -0.032587 -0.999465 -vn 0.000000 -0.031297 -0.999510 -vn 0.008149 -0.028624 -0.999557 -vn 0.000000 -0.031297 -0.999510 -vn 0.002828 -0.032587 -0.999465 -vn -0.002828 -0.032587 -0.999465 -vn -0.072237 -0.977132 -0.199989 -vn -0.116236 -0.981237 -0.153826 -vn -0.219139 -0.948685 -0.227979 -vn -0.116236 -0.981237 -0.153826 -vn -0.286498 -0.934423 -0.211593 -vn -0.219139 -0.948685 -0.227979 -vn 0.035271 -0.981040 -0.190571 -vn -0.035271 -0.981040 -0.190571 -vn -0.000000 -0.979515 -0.201370 -vn -0.823208 0.041906 0.566191 -vn -0.815336 0.129486 0.564323 -vn -0.877212 0.129258 0.462376 -vn -0.815336 0.129486 0.564323 -vn -0.793375 0.044918 0.607073 -vn -0.877212 0.129258 0.462376 -vn -0.605525 0.092770 0.790401 -vn -0.586431 0.081488 0.805890 -vn -0.823208 0.041906 0.566191 -vn -0.586431 0.081488 0.805890 -vn -0.815336 0.129486 0.564323 -vn -0.823208 0.041906 0.566191 -vn -0.676740 0.161393 0.718314 -vn -0.578472 0.274016 0.768300 -vn -0.605525 0.092770 0.790401 -vn -0.578472 0.274016 0.768300 -vn -0.586431 0.081488 0.805890 -vn -0.605525 0.092770 0.790401 -vn -0.375740 0.369738 0.849772 -vn -0.613048 0.091494 0.784730 -vn -0.327185 0.359445 0.873927 -vn -0.613048 0.091494 0.784730 -vn -0.576598 0.119160 0.808292 -vn -0.327185 0.359445 0.873927 -vn -0.524767 0.165762 0.834951 -vn -0.375740 0.369738 0.849772 -vn -0.465480 0.198176 0.862586 -vn -0.375740 0.369738 0.849772 -vn -0.327185 0.359445 0.873927 -vn -0.465480 0.198176 0.862586 -vn -0.508398 -0.001751 0.861120 -vn -0.524767 0.165762 0.834951 -vn -0.490471 -0.015544 0.871319 -vn -0.524767 0.165762 0.834951 -vn -0.465480 0.198176 0.862586 -vn -0.490471 -0.015544 0.871319 -vn -0.629564 -0.097579 0.770797 -vn -0.508398 -0.001751 0.861120 -vn -0.599921 -0.116149 0.791584 -vn -0.508398 -0.001751 0.861120 -vn -0.490471 -0.015544 0.871319 -vn -0.599921 -0.116149 0.791584 -vn -0.629564 -0.097579 0.770797 -vn -0.599921 -0.116149 0.791584 -vn -0.827590 -0.457878 0.324718 -vn -0.856567 -0.147677 0.494454 -vn -0.865777 -0.017836 0.500112 -vn -0.877212 0.129258 0.462376 -vn -0.877212 0.129258 0.462376 -vn -0.793375 0.044918 0.607073 -vn -0.856567 -0.147677 0.494454 -vn -0.946101 -0.091808 0.310587 -vn -0.947651 -0.069522 0.311647 -vn -0.921518 -0.135702 0.363854 -vn -0.885192 -0.082688 0.457819 -vn -0.856567 -0.147677 0.494454 -vn -0.921518 -0.135702 0.363854 -vn -0.856567 -0.147677 0.494454 -vn -0.868708 -0.239350 0.433657 -vn -0.921518 -0.135702 0.363854 -vn -0.868708 -0.239350 0.433657 -vn -0.899836 -0.220835 0.376201 -vn -0.921518 -0.135702 0.363854 -vn -0.329491 0.646994 0.687629 -vn 0.000001 0.672206 0.740364 -vn -0.275020 0.577380 0.768763 -vn 0.000001 0.672206 0.740364 -vn 0.000001 0.613691 0.789546 -vn -0.275020 0.577380 0.768763 -vn -0.630979 0.528195 0.568222 -vn -0.329491 0.646994 0.687629 -vn -0.559636 0.486691 0.670775 -vn -0.329491 0.646994 0.687629 -vn -0.275020 0.577380 0.768763 -vn -0.559636 0.486691 0.670775 -vn -0.829128 0.305413 0.468263 -vn -0.630979 0.528195 0.568222 -vn -0.769637 0.335024 0.543524 -vn -0.630979 0.528195 0.568222 -vn -0.559636 0.486691 0.670775 -vn -0.769637 0.335024 0.543524 -vn -0.903664 0.091600 0.418331 -vn -0.829128 0.305413 0.468263 -vn -0.874368 0.142892 0.463748 -vn -0.829128 0.305413 0.468263 -vn -0.769637 0.335024 0.543524 -vn -0.874368 0.142892 0.463748 -vn -0.874368 0.142892 0.463748 -vn -0.865777 -0.017836 0.500112 -vn -0.903664 0.091600 0.418331 -vn -0.903664 0.091600 0.418331 -vn -0.865777 -0.017836 0.500112 -vn -0.885192 -0.082688 0.457819 -vn -0.885192 -0.082688 0.457819 -vn -0.865777 -0.017836 0.500112 -vn -0.856567 -0.147677 0.494454 -vn -0.689916 0.626465 -0.362709 -vn -0.662547 0.655515 -0.362398 -vn -0.433159 0.872884 -0.224606 -vn -0.662547 0.655515 -0.362398 -vn -0.420776 0.879811 -0.221087 -vn -0.433159 0.872884 -0.224606 -vn -0.565548 0.401311 0.720490 -vn -0.395912 0.622565 0.675031 -vn -0.410565 0.235886 0.880792 -vn -0.395912 0.622565 0.675031 -vn -0.283113 0.470702 0.835635 -vn -0.410565 0.235886 0.880792 -vn -0.440416 0.756677 0.483190 -vn -0.395912 0.622565 0.675031 -vn -0.693405 0.534698 0.482998 -vn -0.395912 0.622565 0.675031 -vn -0.565548 0.401311 0.720490 -vn -0.693405 0.534698 0.482998 -vn -0.436515 0.194333 0.878459 -vn -0.301220 0.372748 0.877682 -vn -0.693405 0.534698 0.482998 -vn -0.301220 0.372748 0.877682 -vn -0.440416 0.756677 0.483190 -vn -0.693405 0.534698 0.482998 -vn -0.301220 0.372748 0.877682 -vn -0.436515 0.194333 0.878459 -vn -0.116849 0.176925 0.977263 -vn -0.436515 0.194333 0.878459 -vn -0.577924 0.320947 0.750331 -vn -0.116849 0.176925 0.977263 -vn 0.838070 0.099637 -0.536387 -vn 0.838271 0.058954 -0.542057 -vn 0.872698 0.061054 -0.484428 -vn 0.838271 0.058954 -0.542057 -vn 0.848484 0.011890 -0.529087 -vn 0.872698 0.061054 -0.484428 -vn -0.205507 -0.341339 -0.917199 -vn -0.178952 -0.332850 -0.925844 -vn -0.238326 -0.280305 -0.929855 -vn -0.178952 -0.332850 -0.925844 -vn -0.192392 -0.228822 -0.954267 -vn -0.238326 -0.280305 -0.929855 -vn -0.178952 -0.332850 -0.925844 -vn -0.205507 -0.341339 -0.917199 -vn -0.203431 -0.333613 -0.920499 -vn -0.205507 -0.341339 -0.917199 -vn -0.201666 -0.331943 -0.921490 -vn -0.203431 -0.333613 -0.920499 -vn -0.203431 -0.333613 -0.920499 -vn -0.201666 -0.331943 -0.921490 -vn -0.163755 -0.336084 -0.927487 -vn -0.201666 -0.331943 -0.921490 -vn -0.153812 -0.338505 -0.928308 -vn -0.163755 -0.336084 -0.927487 -vn 0.848484 0.011890 -0.529087 -vn 0.841805 0.021328 -0.539360 -vn 0.857799 0.017740 -0.513679 -vn 0.841805 0.021328 -0.539360 -vn 0.852988 -0.069459 -0.517289 -vn 0.857799 0.017740 -0.513679 -vn 0.857799 0.017740 -0.513679 -vn 0.852988 -0.069459 -0.517289 -vn 0.850491 -0.071994 -0.521040 -vn 0.850491 -0.071994 -0.521040 -vn 0.852988 -0.069459 -0.517289 -vn 0.846858 -0.092154 -0.523774 -vn 0.852988 -0.069459 -0.517289 -vn 0.847084 -0.090957 -0.523617 -vn 0.846858 -0.092154 -0.523774 -vn 0.846858 -0.092154 -0.523774 -vn 0.847084 -0.090957 -0.523617 -vn 0.856333 -0.079551 -0.510260 -vn 0.847084 -0.090957 -0.523617 -vn 0.858056 -0.079184 -0.507414 -vn 0.856333 -0.079551 -0.510260 -vn 0.000000 -0.932573 -0.360982 -vn 0.000000 -0.932573 -0.360982 -vn 0.000000 -0.953392 -0.301735 -vn 0.000000 -0.932573 -0.360982 -vn 0.000000 -0.953392 -0.301735 -vn 0.000000 -0.953392 -0.301735 -vn 0.000000 -0.972069 -0.234696 -vn 0.000000 -0.972069 -0.234696 -vn 0.000000 -0.976110 -0.217278 -vn 0.000000 -0.972069 -0.234696 -vn 0.000000 -0.976110 -0.217278 -vn 0.000000 -0.976110 -0.217278 -vn 0.000000 -0.953392 -0.301735 -vn 0.000000 -0.953392 -0.301735 -vn 0.000000 -0.972069 -0.234696 -vn 0.000000 -0.953392 -0.301735 -vn 0.000000 -0.972069 -0.234696 -vn 0.000000 -0.972069 -0.234696 -vn 0.000000 -0.264205 -0.964467 -vn 0.000000 -0.264205 -0.964467 -vn 0.000000 -0.264205 -0.964467 -vn 0.000000 -0.264205 -0.964467 -vn 0.000000 -0.264205 -0.964467 -vn 0.000000 -0.264205 -0.964467 -vn -0.478456 -0.790218 0.382931 -vn -0.276536 -0.885350 0.373742 -vn -0.740528 -0.552831 0.382095 -vn -0.740528 -0.552831 0.382095 -vn -0.794821 -0.533487 0.289225 -vn -0.590635 -0.714541 0.374944 -vn -0.750336 0.293332 0.592412 -vn -0.577924 0.320947 0.750331 -vn -0.795047 0.365673 0.483925 -vn -0.577924 0.320947 0.750331 -vn -0.746744 0.367133 0.554606 -vn -0.795047 0.365673 0.483925 -vn -0.646545 -0.091367 0.757385 -vn -0.595966 0.010468 0.802941 -vn -0.654905 -0.078622 0.751610 -vn -0.595966 0.010468 0.802941 -vn -0.645965 0.010516 0.763295 -vn -0.654905 -0.078622 0.751610 -vn -0.540099 0.136138 0.830518 -vn -0.552822 0.127057 0.823556 -vn -0.595966 0.010468 0.802941 -vn -0.552822 0.127057 0.823556 -vn -0.645965 0.010516 0.763295 -vn -0.595966 0.010468 0.802941 -vn -0.251850 0.142173 0.957266 -vn -0.148081 0.146979 0.977992 -vn -0.000000 0.162236 0.986752 -vn -0.148081 0.146979 0.977992 -vn 0.000000 0.141845 0.989889 -vn -0.000000 0.162236 0.986752 -vn -0.309238 0.165614 0.936453 -vn -0.258904 0.164100 0.951861 -vn -0.419722 0.109486 0.901025 -vn -0.419722 0.109486 0.901025 -vn -0.258904 0.164100 0.951861 -vn -0.251850 0.142173 0.957266 -vn -0.251850 0.142173 0.957266 -vn -0.258904 0.164100 0.951861 -vn -0.148081 0.146979 0.977992 -vn -0.419722 0.109486 0.901025 -vn -0.564812 0.045086 0.823987 -vn -0.612310 0.047672 0.789179 -vn -0.612310 0.047672 0.789179 -vn -0.606924 0.075892 0.791128 -vn -0.419722 0.109486 0.901025 -vn -0.419722 0.109486 0.901025 -vn -0.606924 0.075892 0.791128 -vn -0.543709 0.088666 0.834577 -vn -0.419722 0.109486 0.901025 -vn -0.543709 0.088666 0.834577 -vn -0.454197 0.114604 0.883499 -vn -0.454197 0.114604 0.883499 -vn -0.309238 0.165614 0.936453 -vn -0.419722 0.109486 0.901025 -vn -0.669690 0.002394 0.742637 -vn -0.564812 0.045086 0.823987 -vn -0.671572 0.000921 0.740939 -vn -0.671572 0.000921 0.740939 -vn -0.564812 0.045086 0.823987 -vn -0.643622 0.003589 0.765335 -vn -0.643622 0.003589 0.765335 -vn -0.564812 0.045086 0.823987 -vn -0.639893 0.000847 0.768464 -vn -0.612310 0.047672 0.789179 -vn -0.564812 0.045086 0.823987 -vn -0.636933 0.013998 0.770792 -vn -0.636933 0.013998 0.770792 -vn -0.564812 0.045086 0.823987 -vn -0.657122 0.006114 0.753760 -vn -0.564812 0.045086 0.823987 -vn -0.669690 0.002394 0.742637 -vn -0.657122 0.006114 0.753760 -vn -0.643622 0.003589 0.765335 -vn -0.639893 0.000847 0.768464 -vn -0.683680 -0.002210 0.729779 -vn -0.639893 0.000847 0.768464 -vn -0.627557 -0.013526 0.778453 -vn -0.683680 -0.002210 0.729779 -vn -0.683680 -0.002210 0.729779 -vn -0.627557 -0.013526 0.778453 -vn -0.640497 -0.013131 0.767849 -vn -0.667494 -0.004835 0.744600 -vn -0.558854 0.112881 0.821547 -vn -0.629564 -0.097579 0.770797 -vn -0.558854 0.112881 0.821547 -vn -0.508398 -0.001751 0.861120 -vn -0.629564 -0.097579 0.770797 -vn -0.897861 -0.284137 0.336321 -vn -0.872815 -0.299763 0.385144 -vn -0.629564 -0.097579 0.770797 -vn -0.629564 -0.097579 0.770797 -vn -0.872815 -0.299763 0.385144 -vn -0.667494 -0.004835 0.744600 -vn -0.600779 -0.009294 0.799361 -vn -0.578472 0.274016 0.768300 -vn -0.676740 0.161393 0.718314 -vn -0.676740 0.161393 0.718314 -vn -0.701511 0.141462 0.698478 -vn -0.561167 0.016480 0.827539 -vn -0.561167 0.016480 0.827539 -vn -0.600779 -0.009294 0.799361 -vn -0.676740 0.161393 0.718314 -vn -0.701511 0.141462 0.698478 -vn -0.676740 0.161393 0.718314 -vn -0.637787 0.094809 0.764355 -vn -0.676740 0.161393 0.718314 -vn -0.605525 0.092770 0.790401 -vn -0.637787 0.094809 0.764355 -vn -0.637787 0.094809 0.764355 -vn -0.605525 0.092770 0.790401 -vn -0.725879 0.010493 0.687742 -vn -0.605525 0.092770 0.790401 -vn -0.823208 0.041906 0.566191 -vn -0.725879 0.010493 0.687742 -vn -0.725879 0.010493 0.687742 -vn -0.823208 0.041906 0.566191 -vn -0.878719 0.118802 0.462319 -vn -0.823208 0.041906 0.566191 -vn -0.877212 0.129258 0.462376 -vn -0.878719 0.118802 0.462319 -vn -0.878719 0.118802 0.462319 -vn -0.877212 0.129258 0.462376 -vn -0.865777 -0.017836 0.500112 -vn -0.000875 -0.119271 0.992861 -vn 0.033272 -0.126422 0.991418 -vn 0.000283 -0.119211 0.992869 -vn 0.033272 -0.126422 0.991418 -vn 0.033619 -0.126186 0.991437 -vn 0.000283 -0.119211 0.992869 -vn 0.995493 -0.030523 0.089784 -vn 0.986612 -0.094408 0.132977 -vn 0.993894 -0.047100 0.099785 -vn -0.921518 -0.135702 0.363854 -vn -0.947651 -0.069522 0.311647 -vn -0.885192 -0.082688 0.457819 -vn -0.740528 -0.552831 0.382095 -vn -0.590635 -0.714541 0.374944 -vn -0.478456 -0.790218 0.382931 -vn -0.692347 -0.561281 0.453452 -vn -0.662695 -0.571305 0.484196 -vn -0.590635 -0.714541 0.374944 -vn -0.662695 -0.571305 0.484196 -vn -0.478456 -0.790218 0.382931 -vn -0.590635 -0.714541 0.374944 -vn -0.756897 -0.413234 0.506304 -vn -0.729157 -0.440006 0.524142 -vn -0.692347 -0.561281 0.453452 -vn -0.729157 -0.440006 0.524142 -vn -0.662695 -0.571305 0.484196 -vn -0.692347 -0.561281 0.453452 -vn -0.755254 -0.322587 0.570552 -vn -0.757093 -0.350156 0.551544 -vn -0.756897 -0.413234 0.506304 -vn -0.757093 -0.350156 0.551544 -vn -0.729157 -0.440006 0.524142 -vn -0.756897 -0.413234 0.506304 -vn 0.994065 -0.017268 0.107409 -vn 0.995493 -0.030523 0.089784 -vn 0.994612 -0.017356 0.102202 -vn 0.995493 -0.030523 0.089784 -vn 0.993894 -0.047100 0.099785 -vn 0.994612 -0.017356 0.102202 -vn -0.692347 -0.561281 0.453452 -vn -0.590635 -0.714541 0.374944 -vn -0.794821 -0.533487 0.289225 -vn -0.897861 -0.284137 0.336321 -vn -0.827590 -0.457878 0.324718 -vn -0.794821 -0.533487 0.289225 -vn -0.072237 -0.977132 -0.199989 -vn -0.219139 -0.948685 -0.227979 -vn -0.035271 -0.981040 -0.190571 -vn -0.219139 -0.948685 -0.227979 -vn -0.000000 -0.979515 -0.201370 -vn -0.035271 -0.981040 -0.190571 -vn -0.006740 -0.119147 0.992854 -vn -0.010643 -0.117305 0.993039 -vn 0.014744 -0.114681 0.993293 -vn -0.010643 -0.117305 0.993039 -vn 0.016403 -0.114530 0.993284 -vn 0.014744 -0.114681 0.993293 -vn -0.001677 -0.122098 0.992517 -vn -0.002947 -0.126501 0.991962 -vn -0.006740 -0.119147 0.992854 -vn -0.002947 -0.126501 0.991962 -vn -0.010643 -0.117305 0.993039 -vn -0.006740 -0.119147 0.992854 -vn 0.015048 -0.110728 0.993737 -vn -0.002947 -0.126501 0.991962 -vn 0.008436 -0.120558 0.992670 -vn -0.002947 -0.126501 0.991962 -vn -0.001677 -0.122098 0.992517 -vn 0.008436 -0.120558 0.992670 -vn 0.004324 -0.103474 0.994623 -vn 0.015048 -0.110728 0.993737 -vn 0.007501 -0.104044 0.994544 -vn 0.015048 -0.110728 0.993737 -vn 0.008436 -0.120558 0.992670 -vn 0.007501 -0.104044 0.994544 -vn 0.005018 -0.111652 0.993735 -vn 0.004324 -0.103474 0.994623 -vn 0.005159 -0.111410 0.993761 -vn 0.004324 -0.103474 0.994623 -vn 0.007501 -0.104044 0.994544 -vn 0.005159 -0.111410 0.993761 -vn -0.000000 -0.103656 0.994613 -vn 0.005018 -0.111652 0.993735 -vn 0.000000 -0.104054 0.994572 -vn 0.005018 -0.111652 0.993735 -vn 0.005159 -0.111410 0.993761 -vn 0.000000 -0.104054 0.994572 -vn -0.383264 0.917386 0.107289 -vn 0.000001 0.993140 0.116931 -vn -0.381628 0.918043 0.107501 -vn 0.000001 0.993140 0.116931 -vn -0.000000 0.993137 0.116961 -vn -0.381628 0.918043 0.107501 -vn -0.944421 0.326503 0.038270 -vn -0.944072 0.327512 0.038261 -vn -0.996158 0.087056 0.009500 -vn -0.944072 0.327512 0.038261 -vn -0.996136 0.087303 0.009553 -vn -0.996158 0.087056 0.009500 -vn -0.383264 0.917386 0.107289 -vn -0.381628 0.918043 0.107501 -vn -0.734851 0.673666 0.078540 -vn -0.381628 0.918043 0.107501 -vn -0.733828 0.674769 0.078632 -vn -0.734851 0.673666 0.078540 -vn -0.944421 0.326503 0.038270 -vn -0.734851 0.673666 0.078540 -vn -0.944072 0.327512 0.038261 -vn -0.734851 0.673666 0.078540 -vn -0.733828 0.674769 0.078632 -vn -0.944072 0.327512 0.038261 -vn 0.000000 -0.993771 -0.111439 -vn 0.000000 -0.993771 -0.111439 -vn -0.035271 -0.981040 -0.190571 -vn 0.000000 0.198064 0.980189 -vn 0.000000 -0.117199 0.993109 -vn 0.000000 0.198064 0.980189 -vn 0.000000 -0.117199 0.993109 -vn 0.000000 -0.117199 0.993109 -vn 0.000000 0.198064 0.980189 -vn 0.000000 -0.116642 0.993174 -vn 0.000000 -0.116642 0.993174 -vn 0.000000 -0.116649 0.993173 -vn 0.000000 -0.116642 0.993174 -vn 0.000000 -0.116649 0.993173 -vn 0.000000 -0.116649 0.993173 -vn 0.000000 -0.116648 0.993173 -vn 0.000000 -0.116648 0.993173 -vn 0.000000 -0.116628 0.993176 -vn 0.000000 -0.116648 0.993173 -vn 0.000000 -0.116628 0.993176 -vn 0.000000 -0.116628 0.993176 -vn -0.999999 0.000168 -0.001210 -vn -0.999999 0.000474 -0.001197 -vn -0.996136 0.087303 0.009553 -vn 0.000000 0.493608 0.869684 -vn 0.000000 0.493608 0.869684 -vn 0.000000 0.198064 0.980189 -vn 0.000000 0.493608 0.869684 -vn 0.000000 0.198064 0.980189 -vn 0.000000 0.198064 0.980189 -vn 0.000000 -0.714981 0.699144 -vn 0.000000 -0.714981 0.699144 -vn 0.000000 -0.441037 0.897489 -vn 0.000000 -0.714981 0.699144 -vn 0.000000 -0.441037 0.897489 -vn 0.000000 -0.441037 0.897489 -vn 0.000000 -0.116649 0.993173 -vn 0.000000 -0.441037 0.897489 -vn 0.000000 -0.116649 0.993173 -vn 0.000000 -0.441037 0.897489 -vn 0.000000 -0.441037 0.897489 -vn 0.000000 -0.116649 0.993173 -vn 0.000000 -0.116628 0.993176 -vn 0.000000 -0.116628 0.993176 -vn 0.000000 -0.116642 0.993174 -vn 0.000000 -0.116628 0.993176 -vn 0.000000 -0.116642 0.993174 -vn 0.000000 -0.116642 0.993174 -vn -0.999999 0.000474 -0.001197 -vn -0.999999 0.000168 -0.001210 -vn -0.999999 0.000133 -0.001444 -vn -0.999999 0.000474 -0.001197 -vn -0.996158 0.087056 0.009500 -vn -0.996136 0.087303 0.009553 -vn -1.000000 0.000059 -0.000503 -vn -0.999999 -0.000103 -0.001265 -vn -1.000000 0.000066 -0.000537 -vn -0.999999 0.000168 -0.001210 -vn -0.999999 -0.000103 -0.001265 -vn -0.999999 0.000133 -0.001444 -vn 0.000000 -0.116739 0.993163 -vn 0.000000 -0.116648 0.993173 -vn 0.000000 -0.116648 0.993173 -vn -0.999999 -0.000103 -0.001265 -vn -0.999999 0.000168 -0.001210 -vn -1.000000 0.000066 -0.000537 -vn -0.984694 0.174160 -0.006738 -vn -0.980089 0.198515 -0.004173 -vn -0.983212 0.180337 -0.027797 -vn -0.808708 -0.587341 -0.031976 -vn -0.494936 -0.863469 -0.097259 -vn -0.708309 -0.701790 -0.076086 -vn 0.339143 -0.505622 0.793302 -vn 0.299846 -0.516749 0.801912 -vn 0.182952 -0.354088 0.917143 -vn 0.182952 -0.354088 0.917143 -vn 0.299846 -0.516749 0.801912 -vn 0.154745 -0.355795 0.921664 -vn 0.182952 -0.354088 0.917143 -vn 0.154745 -0.355795 0.921664 -vn 0.116745 -0.319879 0.940238 -vn 0.116745 -0.319879 0.940238 -vn 0.154745 -0.355795 0.921664 -vn 0.109565 -0.318437 0.941591 -vn 0.109565 -0.318437 0.941591 -vn 0.131033 -0.317293 0.939231 -vn 0.116745 -0.319879 0.940238 -vn 0.116745 -0.319879 0.940238 -vn 0.131033 -0.317293 0.939231 -vn 0.138390 -0.332970 0.932727 -vn 0.067684 -0.219277 0.973312 -vn 0.144281 -0.209043 0.967204 -vn 0.071452 -0.215752 0.973830 -vn 0.071452 -0.215752 0.973830 -vn 0.144281 -0.209043 0.967204 -vn 0.158943 -0.205989 0.965560 -vn -0.000000 -0.227028 0.973888 -vn 0.067684 -0.219277 0.973312 -vn -0.000000 -0.224410 0.974495 -vn -0.000000 -0.224410 0.974495 -vn 0.067684 -0.219277 0.973312 -vn 0.071452 -0.215752 0.973830 -vn 0.138390 -0.332970 0.932727 -vn 0.142304 -0.333246 0.932039 -vn 0.149920 -0.347308 0.925690 -vn 0.149920 -0.347308 0.925690 -vn 0.142304 -0.333246 0.932039 -vn 0.161840 -0.334626 0.928350 -vn 0.161840 -0.334626 0.928350 -vn 0.142304 -0.333246 0.932039 -vn 0.166593 -0.330885 0.928850 -vn 0.191886 -0.210924 0.958484 -vn 0.196009 -0.235372 0.951935 -vn 0.196192 -0.207154 0.958434 -vn 0.196192 -0.207154 0.958434 -vn 0.196009 -0.235372 0.951935 -vn 0.196607 -0.228696 0.953438 -vn 0.178410 -0.306737 0.934924 -vn 0.188830 -0.293149 0.937234 -vn 0.196009 -0.235372 0.951935 -vn 0.196009 -0.235372 0.951935 -vn 0.188830 -0.293149 0.937234 -vn 0.196607 -0.228696 0.953438 -vn 0.345594 -0.929888 0.125990 -vn 0.390945 -0.918337 -0.061799 -vn 0.357049 -0.929812 0.089253 -vn 0.357049 -0.929812 0.089253 -vn 0.390945 -0.918337 -0.061799 -vn 0.396515 -0.915703 -0.065292 -vn 0.984334 -0.176055 0.009521 -vn 0.983848 -0.178923 0.005394 -vn 0.980679 -0.195518 0.006376 -vn 0.990796 -0.135356 0.001687 -vn 0.983848 -0.178923 0.005394 -vn 0.991086 -0.133014 0.007440 -vn 0.991086 -0.133014 0.007440 -vn 0.983848 -0.178923 0.005394 -vn 0.984334 -0.176055 0.009521 -vn 0.991086 -0.133014 0.007440 -vn 0.998589 0.052790 0.005722 -vn 0.990796 -0.135356 0.001687 -vn 0.990796 -0.135356 0.001687 -vn 0.998589 0.052790 0.005722 -vn 0.997021 0.077063 0.003255 -vn 0.095426 0.992875 0.071360 -vn 0.284211 0.955066 0.084101 -vn 0.083437 0.994889 0.056877 -vn 0.083437 0.994889 0.056877 -vn 0.284211 0.955066 0.084101 -vn 0.322783 0.944059 0.067556 -vn 0.000000 0.999116 0.042032 -vn 0.095426 0.992875 0.071360 -vn -0.000000 0.999216 0.039578 -vn -0.000000 0.999216 0.039578 -vn 0.095426 0.992875 0.071360 -vn 0.083437 0.994889 0.056877 -vn 0.993002 0.117935 0.006226 -vn 0.999247 0.038797 0.000740 -vn 0.996380 0.085006 0.000430 -vn 0.996380 0.085006 0.000430 -vn 0.999247 0.038797 0.000740 -vn 0.998947 0.045842 0.001757 -vn 0.615919 0.785318 0.062605 -vn 0.893410 0.448498 0.025842 -vn 0.682062 0.729639 0.049171 -vn 0.682062 0.729639 0.049171 -vn 0.893410 0.448498 0.025842 -vn 0.914969 0.402789 0.024342 -vn 0.893410 0.448498 0.025842 -vn 0.978147 0.207638 0.010723 -vn 0.914969 0.402789 0.024342 -vn 0.914969 0.402789 0.024342 -vn 0.978147 0.207638 0.010723 -vn 0.983245 0.182196 0.005792 -vn 0.756449 0.653385 0.029548 -vn 0.997021 0.077063 0.003255 -vn 0.823527 0.566803 0.023172 -vn 0.823527 0.566803 0.023172 -vn 0.997021 0.077063 0.003255 -vn 0.998589 0.052790 0.005722 -vn 0.363218 -0.788030 0.497072 -vn 0.354110 -0.803703 0.478192 -vn 0.339143 -0.505622 0.793302 -vn 0.339143 -0.505622 0.793302 -vn 0.354110 -0.803703 0.478192 -vn 0.299846 -0.516749 0.801912 -vn 0.161840 -0.334626 0.928350 -vn 0.166593 -0.330885 0.928850 -vn 0.178410 -0.306737 0.934924 -vn 0.178410 -0.306737 0.934924 -vn 0.166593 -0.330885 0.928850 -vn 0.188830 -0.293149 0.937234 -vn 0.978147 0.207638 0.010723 -vn 0.993002 0.117935 0.006226 -vn 0.983245 0.182196 0.005792 -vn 0.983245 0.182196 0.005792 -vn 0.993002 0.117935 0.006226 -vn 0.996380 0.085006 0.000430 -vn -0.993452 0.113575 -0.012418 -vn -0.993500 0.113826 0.000749 -vn -0.983596 0.179257 -0.020171 -vn -0.983596 0.179257 -0.020171 -vn -0.993500 0.113826 0.000749 -vn -0.984694 0.174160 -0.006738 -vn -0.993500 0.113826 0.000749 -vn -0.993452 0.113575 -0.012418 -vn -0.985935 -0.166960 -0.007524 -vn -0.985935 -0.166960 -0.007524 -vn -0.993452 0.113575 -0.012418 -vn -0.975625 -0.218711 -0.017944 -vn -0.324453 -0.809413 -0.489470 -vn -0.095583 -0.992659 -0.074102 -vn -0.119524 -0.861339 -0.493770 -vn -0.095583 -0.992659 -0.074102 -vn -0.000000 -0.997673 -0.068181 -vn -0.119524 -0.861339 -0.493770 -vn -0.000000 -0.997673 -0.068181 -vn 0.000000 -0.871316 -0.490722 -vn -0.119524 -0.861339 -0.493770 -vn -0.985935 -0.166960 -0.007524 -vn -0.975625 -0.218711 -0.017944 -vn -0.959190 -0.282414 -0.014033 -vn -0.959190 -0.282414 -0.014033 -vn -0.975625 -0.218711 -0.017944 -vn -0.965709 -0.258960 -0.018602 -vn -0.996490 -0.080699 -0.022271 -vn -0.998432 -0.055875 -0.003518 -vn -0.996882 -0.076594 -0.018986 -vn -0.996882 -0.076594 -0.018986 -vn -0.998432 -0.055875 -0.003518 -vn -0.997107 -0.075791 -0.005838 -vn -0.965301 -0.259102 -0.032545 -vn -0.969905 -0.243373 -0.007371 -vn -0.996490 -0.080699 -0.022271 -vn -0.996490 -0.080699 -0.022271 -vn -0.969905 -0.243373 -0.007371 -vn -0.998432 -0.055875 -0.003518 -vn -0.850012 -0.526176 -0.024864 -vn -0.969905 -0.243373 -0.007371 -vn -0.965301 -0.259102 -0.032545 -vn -0.969905 -0.243373 -0.007371 -vn -0.850012 -0.526176 -0.024864 -vn -0.808708 -0.587341 -0.031976 -vn -0.965301 -0.259102 -0.032545 -vn -0.791469 -0.609184 -0.049722 -vn -0.850012 -0.526176 -0.024864 -vn 0.914969 0.402789 0.024342 -vn 0.983245 0.182196 0.005792 -vn 0.945131 0.326041 0.020602 -vn -0.767409 -0.563943 0.305045 -vn -0.979545 -0.197391 -0.039099 -vn -0.772660 -0.348538 0.530583 -vn -0.772660 -0.348538 0.530583 -vn -0.979545 -0.197391 -0.039099 -vn -0.990615 -0.133182 -0.030719 -vn -0.755223 -0.652355 0.063808 -vn -0.973639 -0.218470 -0.065558 -vn -0.767409 -0.563943 0.305045 -vn -0.767409 -0.563943 0.305045 -vn -0.973639 -0.218470 -0.065558 -vn -0.979545 -0.197391 -0.039099 -vn -0.707233 -0.162804 0.687980 -vn -0.738957 0.055017 0.671503 -vn -0.985507 -0.169473 0.007393 -vn -0.738957 0.055017 0.671503 -vn -0.761618 0.252637 0.596751 -vn -0.985507 -0.169473 0.007393 -vn -0.997107 -0.075791 -0.005838 -vn -0.998432 -0.055875 -0.003518 -vn -0.775408 0.330567 0.538023 -vn -0.761618 0.252637 0.596751 -vn -0.998432 -0.055875 -0.003518 -vn -0.985507 -0.169473 0.007393 -vn -0.985935 -0.166960 -0.007524 -vn -0.959190 -0.282414 -0.014033 -vn -0.820751 0.061453 0.567972 -vn -0.820751 0.061453 0.567972 -vn -0.959190 -0.282414 -0.014033 -vn -0.804082 0.167348 0.570480 -vn -0.993500 0.113826 0.000749 -vn -0.985935 -0.166960 -0.007524 -vn -0.724913 0.292702 0.623560 -vn -0.724913 0.292702 0.623560 -vn -0.985935 -0.166960 -0.007524 -vn -0.820751 0.061453 0.567972 -vn -0.984694 0.174160 -0.006738 -vn -0.993500 0.113826 0.000749 -vn -0.771535 0.304529 0.558566 -vn -0.771535 0.304529 0.558566 -vn -0.993500 0.113826 0.000749 -vn -0.724913 0.292702 0.623560 -vn -0.980089 0.198515 -0.004173 -vn -0.984694 0.174160 -0.006738 -vn -0.740815 0.342903 0.577590 -vn -0.740815 0.342903 0.577590 -vn -0.984694 0.174160 -0.006738 -vn -0.771535 0.304529 0.558566 -vn 0.385018 -0.919892 -0.074557 -vn 0.396515 -0.915703 -0.065292 -vn 0.386712 -0.919150 -0.074949 -vn 0.386712 -0.919150 -0.074949 -vn 0.396515 -0.915703 -0.065292 -vn 0.390945 -0.918337 -0.061799 -vn 0.985997 -0.166579 0.007890 -vn 0.984334 -0.176055 0.009521 -vn 0.982751 -0.184689 0.009457 -vn 0.982751 -0.184689 0.009457 -vn 0.984334 -0.176055 0.009521 -vn 0.982479 -0.186010 0.011654 -vn 0.993671 -0.112316 0.001790 -vn 0.991086 -0.133014 0.007440 -vn 0.985997 -0.166579 0.007890 -vn 0.985997 -0.166579 0.007890 -vn 0.991086 -0.133014 0.007440 -vn 0.984334 -0.176055 0.009521 -vn 0.995237 0.097405 0.003889 -vn 0.998589 0.052790 0.005722 -vn 0.993671 -0.112316 0.001790 -vn 0.993671 -0.112316 0.001790 -vn 0.998589 0.052790 0.005722 -vn 0.991086 -0.133014 0.007440 -vn 0.998589 0.052790 0.005722 -vn 0.995237 0.097405 0.003889 -vn 0.823527 0.566803 0.023172 -vn 0.823527 0.566803 0.023172 -vn 0.995237 0.097405 0.003889 -vn 0.761245 0.647906 0.026911 -vn 0.574631 -0.446587 -0.685827 -vn 0.996550 0.082383 -0.010068 -vn 0.998947 0.045842 0.001757 -vn 0.082937 0.995311 0.049767 -vn 0.322783 0.944059 0.067556 -vn 0.135626 0.988292 0.069896 -vn 0.135626 0.988292 0.069896 -vn 0.322783 0.944059 0.067556 -vn 0.180265 0.982087 0.054868 -vn 0.180265 0.982087 0.054868 -vn 0.322783 0.944059 0.067556 -vn 0.429327 0.901377 0.056555 -vn 0.011871 0.999709 0.020995 -vn 0.083437 0.994889 0.056877 -vn 0.082937 0.995311 0.049767 -vn 0.000000 0.999970 0.007701 -vn -0.000000 0.999216 0.039578 -vn 0.011871 0.999709 0.020995 -vn 0.011871 0.999709 0.020995 -vn -0.000000 0.999216 0.039578 -vn 0.083437 0.994889 0.056877 -vn 0.363218 -0.788030 0.497072 -vn 0.345594 -0.929888 0.125990 -vn 0.354110 -0.803703 0.478192 -vn 0.354110 -0.803703 0.478192 -vn 0.345594 -0.929888 0.125990 -vn 0.357049 -0.929812 0.089253 -vn 0.982423 -0.186181 0.013505 -vn 0.982479 -0.186010 0.011654 -vn 0.984334 -0.176055 0.009521 -vn -0.983596 0.179257 -0.020171 -vn -0.984694 0.174160 -0.006738 -vn -0.984046 0.174020 -0.037009 -vn -0.959190 -0.282414 -0.014033 -vn -0.965709 -0.258960 -0.018602 -vn -0.997107 -0.075791 -0.005838 -vn -0.997107 -0.075791 -0.005838 -vn -0.965709 -0.258960 -0.018602 -vn -0.996882 -0.076594 -0.018986 -vn -0.959190 -0.282414 -0.014033 -vn -0.997107 -0.075791 -0.005838 -vn -0.804082 0.167348 0.570480 -vn -0.804082 0.167348 0.570480 -vn -0.997107 -0.075791 -0.005838 -vn -0.775408 0.330567 0.538023 -vn 0.138390 -0.332970 0.932727 -vn 0.131033 -0.317293 0.939231 -vn 0.134867 -0.315546 0.939277 -vn -0.999569 0.028846 0.005434 -vn -0.999550 0.029492 0.005516 -vn -0.998069 0.045238 0.042564 -vn -0.998069 0.045238 0.042564 -vn -0.999550 0.029492 0.005516 -vn -0.997809 0.049679 0.043688 -vn -0.998069 0.045238 0.042564 -vn -0.997809 0.049679 0.043688 -vn -0.995800 0.065592 0.063883 -vn -0.995800 0.065592 0.063883 -vn -0.997809 0.049679 0.043688 -vn -0.995888 0.066977 0.061000 -vn -0.507293 -0.858759 -0.072022 -vn -0.515410 -0.853105 -0.081018 -vn -0.811258 -0.584646 0.007064 -vn -0.811258 -0.584646 0.007064 -vn -0.515410 -0.853105 -0.081018 -vn -0.818825 -0.574042 0.001045 -vn -0.995708 0.084216 0.038390 -vn -0.992675 0.109002 0.052112 -vn -0.995703 0.084333 0.038251 -vn -0.995703 0.084333 0.038251 -vn -0.992675 0.109002 0.052112 -vn -0.992674 0.108503 0.053153 -vn -0.995703 0.084333 0.038251 -vn -0.999464 0.014411 0.029383 -vn -0.995708 0.084216 0.038390 -vn -0.995708 0.084216 0.038390 -vn -0.999464 0.014411 0.029383 -vn -0.999501 0.014175 0.028222 -vn -0.249117 -0.963466 -0.098359 -vn -0.247950 -0.964620 -0.089610 -vn -0.104406 -0.994097 -0.029509 -vn -0.104406 -0.994097 -0.029509 -vn -0.247950 -0.964620 -0.089610 -vn -0.106145 -0.993954 -0.028067 -vn -0.000000 -0.999979 -0.006475 -vn -0.104406 -0.994097 -0.029509 -vn -0.000000 -0.999971 -0.007637 -vn -0.000000 -0.999971 -0.007637 -vn -0.104406 -0.994097 -0.029509 -vn -0.106145 -0.993954 -0.028067 -vn -0.990700 -0.134435 0.020989 -vn -0.998261 -0.056077 0.018160 -vn -0.990656 -0.134478 0.022719 -vn -0.990656 -0.134478 0.022719 -vn -0.998261 -0.056077 0.018160 -vn -0.998293 -0.055357 0.018610 -vn -0.990700 -0.134435 0.020989 -vn -0.990656 -0.134478 0.022719 -vn -0.959183 -0.281844 0.023066 -vn -0.959183 -0.281844 0.023066 -vn -0.990656 -0.134478 0.022719 -vn -0.957430 -0.287103 0.029993 -vn -0.959183 -0.281844 0.023066 -vn -0.957430 -0.287103 0.029993 -vn -0.818825 -0.574042 0.001045 -vn -0.818825 -0.574042 0.001045 -vn -0.957430 -0.287103 0.029993 -vn -0.811258 -0.584646 0.007064 -vn -0.999569 0.028846 0.005434 -vn -0.969840 0.166099 0.178388 -vn -0.999550 0.029492 0.005516 -vn -0.999550 0.029492 0.005516 -vn -0.969840 0.166099 0.178388 -vn -0.994998 0.093231 -0.035887 -vn -0.994625 0.082784 0.062195 -vn -0.995800 0.065592 0.063883 -vn -0.994644 0.081683 0.063330 -vn -0.994644 0.081683 0.063330 -vn -0.995800 0.065592 0.063883 -vn -0.995888 0.066977 0.061000 -vn -0.992675 0.109002 0.052112 -vn -0.994625 0.082784 0.062195 -vn -0.992674 0.108503 0.053153 -vn -0.992674 0.108503 0.053153 -vn -0.994625 0.082784 0.062195 -vn -0.994644 0.081683 0.063330 -vn -0.999501 0.014175 0.028222 -vn -0.999464 0.014411 0.029383 -vn -0.998261 -0.056077 0.018160 -vn -0.998261 -0.056077 0.018160 -vn -0.999464 0.014411 0.029383 -vn -0.998293 -0.055357 0.018610 -vn -0.417566 0.902141 -0.108536 -vn -0.426749 0.902770 -0.053783 -vn -0.440343 0.896429 0.050135 -vn -0.440343 0.896429 0.050135 -vn -0.426749 0.902770 -0.053783 -vn -0.446303 0.893472 0.050214 -vn -0.448052 0.757634 -0.474595 -vn -0.446061 0.791914 -0.417015 -vn -0.417566 0.902141 -0.108536 -vn -0.417566 0.902141 -0.108536 -vn -0.446061 0.791914 -0.417015 -vn -0.426749 0.902770 -0.053783 -vn -0.319057 -0.035786 -0.947060 -vn -0.328251 -0.031289 -0.944072 -vn -0.404581 0.077599 -0.911204 -vn -0.404581 0.077599 -0.911204 -vn -0.328251 -0.031289 -0.944072 -vn -0.359800 0.075412 -0.929977 -vn -0.169298 0.324929 -0.930462 -vn -0.263657 0.363905 -0.893341 -vn -0.180314 0.325379 -0.928232 -vn -0.180314 0.325379 -0.928232 -vn -0.263657 0.363905 -0.893341 -vn -0.290602 0.358700 -0.887065 -vn -0.169298 0.324929 -0.930462 -vn -0.180314 0.325379 -0.928232 -vn -0.212363 0.301851 -0.929402 -vn -0.212363 0.301851 -0.929402 -vn -0.180314 0.325379 -0.928232 -vn -0.235126 0.317229 -0.918739 -vn -0.085991 0.008774 -0.996257 -vn -0.085479 -0.001567 -0.996339 -vn -0.212106 -0.072179 -0.974577 -vn -0.212106 -0.072179 -0.974577 -vn -0.085479 -0.001567 -0.996339 -vn -0.239693 -0.077290 -0.967767 -vn 0.000000 -0.057309 -0.998357 -vn -0.085479 -0.001567 -0.996339 -vn 0.000000 -0.050714 -0.998713 -vn 0.000000 -0.050714 -0.998713 -vn -0.085479 -0.001567 -0.996339 -vn -0.085991 0.008774 -0.996257 -vn -0.255352 0.293656 -0.921174 -vn -0.212363 0.301851 -0.929402 -vn -0.235126 0.317229 -0.918739 -vn -0.263699 0.309474 -0.913613 -vn -0.262790 0.310576 -0.913501 -vn -0.290612 0.326849 -0.899285 -vn -0.290612 0.326849 -0.899285 -vn -0.262790 0.310576 -0.913501 -vn -0.305134 0.314478 -0.898886 -vn -0.310643 0.219722 -0.924783 -vn -0.276780 0.226506 -0.933856 -vn -0.263699 0.309474 -0.913613 -vn -0.263699 0.309474 -0.913613 -vn -0.276780 0.226506 -0.933856 -vn -0.262790 0.310576 -0.913501 -vn -0.276780 0.226506 -0.933856 -vn -0.310643 0.219722 -0.924783 -vn -0.359800 0.075412 -0.929977 -vn -0.359800 0.075412 -0.929977 -vn -0.310643 0.219722 -0.924783 -vn -0.404581 0.077599 -0.911204 -vn -0.446303 0.893472 0.050214 -vn -0.415109 0.907407 0.065557 -vn -0.440343 0.896429 0.050135 -vn -0.440343 0.896429 0.050135 -vn -0.415109 0.907407 0.065557 -vn -0.410226 0.909524 0.066933 -vn -0.405249 0.503584 -0.763005 -vn -0.446061 0.791914 -0.417015 -vn -0.436406 0.498474 -0.749049 -vn -0.436406 0.498474 -0.749049 -vn -0.446061 0.791914 -0.417015 -vn -0.448052 0.757634 -0.474595 -vn -0.263657 0.363905 -0.893341 -vn -0.405249 0.503584 -0.763005 -vn -0.290602 0.358700 -0.887065 -vn -0.290602 0.358700 -0.887065 -vn -0.405249 0.503584 -0.763005 -vn -0.436406 0.498474 -0.749049 -vn -0.305134 0.314478 -0.898886 -vn -0.255352 0.293656 -0.921174 -vn -0.290612 0.326849 -0.899285 -vn -0.290612 0.326849 -0.899285 -vn -0.255352 0.293656 -0.921174 -vn -0.235126 0.317229 -0.918739 -vn -0.850012 -0.526176 -0.024864 -vn -0.791469 -0.609184 -0.049722 -vn -0.539402 -0.840642 -0.048634 -vn -0.539402 -0.840642 -0.048634 -vn -0.791469 -0.609184 -0.049722 -vn -0.488009 -0.871020 -0.056324 -vn 0.562710 0.825931 0.034560 -vn 0.541816 0.839771 0.034923 -vn 0.761245 0.647906 0.026911 -vn 0.761245 0.647906 0.026911 -vn 0.541816 0.839771 0.034923 -vn 0.823527 0.566803 0.023172 -vn 0.495577 0.867646 0.039930 -vn 0.756449 0.653385 0.029548 -vn 0.541816 0.839771 0.034923 -vn 0.541816 0.839771 0.034923 -vn 0.756449 0.653385 0.029548 -vn 0.823527 0.566803 0.023172 -vn 0.138390 -0.332970 0.932727 -vn 0.134867 -0.315546 0.939277 -vn 0.142304 -0.333246 0.932039 -vn 0.980679 -0.195518 0.006376 -vn 0.981678 -0.190277 0.010176 -vn 0.984334 -0.176055 0.009521 -vn 0.981678 -0.190277 0.010176 -vn 0.982423 -0.186181 0.013505 -vn 0.984334 -0.176055 0.009521 -vn -0.984694 0.174160 -0.006738 -vn -0.983212 0.180337 -0.027797 -vn -0.985848 0.161528 -0.044851 -vn -0.984694 0.174160 -0.006738 -vn -0.985848 0.161528 -0.044851 -vn -0.984046 0.174020 -0.037009 -vn 0.075421 -0.342512 -0.936481 -vn 0.088936 -0.352542 -0.931560 -vn 0.080619 -0.343276 -0.935768 -vn 0.080619 -0.343276 -0.935768 -vn 0.088936 -0.352542 -0.931560 -vn 0.094136 -0.352187 -0.931184 -vn 0.088936 -0.352542 -0.931560 -vn 0.110062 -0.360826 -0.926116 -vn 0.094136 -0.352187 -0.931184 -vn 0.094136 -0.352187 -0.931184 -vn 0.110062 -0.360826 -0.926116 -vn 0.115215 -0.359361 -0.926059 -vn 0.731212 -0.381836 -0.565270 -vn 0.099908 -0.581232 -0.807581 -vn 0.713582 -0.257949 -0.651354 -vn 0.713582 -0.257949 -0.651354 -vn 0.099908 -0.581232 -0.807581 -vn 0.071198 -0.408463 -0.909994 -vn 0.713582 -0.257949 -0.651354 -vn 0.071198 -0.408463 -0.909994 -vn 0.723566 -0.082382 -0.685321 -vn 0.723566 -0.082382 -0.685321 -vn 0.071198 -0.408463 -0.909994 -vn 0.051319 -0.202061 -0.978028 -vn 0.731212 -0.381836 -0.565270 -vn 0.574631 -0.446587 -0.685827 -vn 0.099908 -0.581232 -0.807581 -vn 0.099908 -0.581232 -0.807581 -vn 0.574631 -0.446587 -0.685827 -vn 0.108229 -0.493339 -0.863078 -vn 0.108229 -0.493339 -0.863078 -vn 0.092628 -0.376477 -0.921784 -vn 0.080619 -0.343276 -0.935768 -vn 0.080619 -0.343276 -0.935768 -vn 0.092628 -0.376477 -0.921784 -vn 0.075421 -0.342512 -0.936481 -vn 0.080859 -0.444705 -0.892020 -vn 0.092628 -0.376477 -0.921784 -vn 0.108229 -0.493339 -0.863078 -vn 0.574631 -0.446587 -0.685827 -vn 0.080859 -0.444705 -0.892020 -vn 0.108229 -0.493339 -0.863078 -vn 0.723566 -0.082382 -0.685321 -vn 0.051319 -0.202061 -0.978028 -vn 0.668540 0.161888 -0.725842 -vn 0.668540 0.161888 -0.725842 -vn 0.051319 -0.202061 -0.978028 -vn -0.006508 0.083612 -0.996477 -vn 0.000000 -0.871316 -0.490722 -vn -0.000000 -0.514402 -0.857549 -vn -0.119524 -0.861339 -0.493770 -vn -0.119524 -0.861339 -0.493770 -vn -0.000000 -0.514402 -0.857549 -vn -0.192801 -0.483418 -0.853894 -vn -0.476271 -0.348677 -0.807211 -vn -0.324453 -0.809413 -0.489470 -vn -0.192801 -0.483418 -0.853894 -vn -0.192801 -0.483418 -0.853894 -vn -0.324453 -0.809413 -0.489470 -vn -0.119524 -0.861339 -0.493770 -vn -0.879217 -0.280086 -0.385394 -vn -0.658652 -0.695759 -0.286526 -vn -0.702167 -0.425692 -0.570743 -vn -0.702167 -0.425692 -0.570743 -vn -0.658652 -0.695759 -0.286526 -vn -0.491332 -0.797984 -0.349020 -vn -0.658652 -0.695759 -0.286526 -vn -0.879217 -0.280086 -0.385394 -vn -0.833807 -0.528564 -0.159328 -vn -0.833807 -0.528564 -0.159328 -vn -0.879217 -0.280086 -0.385394 -vn -0.957276 -0.214865 -0.193535 -vn 0.446710 0.893463 0.046633 -vn 0.166799 0.985578 0.028524 -vn 0.429327 0.901377 0.056555 -vn 0.429327 0.901377 0.056555 -vn 0.166799 0.985578 0.028524 -vn 0.216363 0.975064 0.049360 -vn -0.324453 -0.809413 -0.489470 -vn -0.491332 -0.797984 -0.349020 -vn -0.253349 -0.964463 -0.075004 -vn -0.494936 -0.863469 -0.097259 -vn -0.491332 -0.797984 -0.349020 -vn -0.658652 -0.695759 -0.286526 -vn -0.956032 -0.272734 -0.107795 -vn -0.813515 -0.572091 -0.104428 -vn -0.957276 -0.214865 -0.193535 -vn -0.957276 -0.214865 -0.193535 -vn -0.813515 -0.572091 -0.104428 -vn -0.833807 -0.528564 -0.159328 -vn 0.429327 0.901377 0.056555 -vn 0.216363 0.975064 0.049360 -vn 0.180265 0.982087 0.054868 -vn -0.780359 -0.622831 -0.055866 -vn -0.944473 -0.323507 -0.057569 -vn -0.755223 -0.652355 0.063808 -vn -0.755223 -0.652355 0.063808 -vn -0.944473 -0.323507 -0.057569 -vn -0.973639 -0.218470 -0.065558 -vn -0.763261 0.075432 0.641672 -vn -0.759621 -0.099247 0.642749 -vn -0.998456 -0.051981 0.019606 -vn -0.998456 -0.051981 0.019606 -vn -0.759621 -0.099247 0.642749 -vn -0.997150 -0.075336 -0.004072 -vn -0.805391 0.217929 0.551228 -vn -0.763261 0.075432 0.641672 -vn -0.998707 -0.048248 0.015984 -vn -0.998707 -0.048248 0.015984 -vn -0.763261 0.075432 0.641672 -vn -0.998456 -0.051981 0.019606 -vn -0.775685 0.361202 0.517538 -vn -0.805391 0.217929 0.551228 -vn -0.999627 -0.020816 0.017698 -vn -0.999627 -0.020816 0.017698 -vn -0.805391 0.217929 0.551228 -vn -0.998707 -0.048248 0.015984 -vn -0.999627 -0.020816 0.017698 -vn -0.999782 0.020752 0.002261 -vn -0.775685 0.361202 0.517538 -vn -0.775685 0.361202 0.517538 -vn -0.999782 0.020752 0.002261 -vn -0.740592 0.322814 0.589333 -vn -0.999782 0.020752 0.002261 -vn -0.998303 0.058229 0.000632 -vn -0.740592 0.322814 0.589333 -vn -0.740592 0.322814 0.589333 -vn -0.998303 0.058229 0.000632 -vn -0.728818 0.284083 0.622994 -vn -0.773857 0.304856 0.555164 -vn -0.728818 0.284083 0.622994 -vn -0.990513 0.137395 0.002445 -vn -0.990513 0.137395 0.002445 -vn -0.728818 0.284083 0.622994 -vn -0.998303 0.058229 0.000632 -vn -0.738957 0.055017 0.671503 -vn -0.707233 -0.162804 0.687980 -vn -0.763261 0.075432 0.641672 -vn -0.763261 0.075432 0.641672 -vn -0.707233 -0.162804 0.687980 -vn -0.759621 -0.099247 0.642749 -vn -0.761618 0.252637 0.596751 -vn -0.738957 0.055017 0.671503 -vn -0.805391 0.217929 0.551228 -vn -0.805391 0.217929 0.551228 -vn -0.738957 0.055017 0.671503 -vn -0.763261 0.075432 0.641672 -vn -0.775408 0.330567 0.538023 -vn -0.761618 0.252637 0.596751 -vn -0.775685 0.361202 0.517538 -vn -0.775685 0.361202 0.517538 -vn -0.761618 0.252637 0.596751 -vn -0.805391 0.217929 0.551228 -vn -0.740592 0.322814 0.589333 -vn -0.804082 0.167348 0.570480 -vn -0.775685 0.361202 0.517538 -vn -0.775685 0.361202 0.517538 -vn -0.804082 0.167348 0.570480 -vn -0.775408 0.330567 0.538023 -vn -0.740592 0.322814 0.589333 -vn -0.820751 0.061453 0.567972 -vn -0.804082 0.167348 0.570480 -vn -0.724913 0.292702 0.623560 -vn -0.820751 0.061453 0.567972 -vn -0.728818 0.284083 0.622994 -vn -0.728818 0.284083 0.622994 -vn -0.820751 0.061453 0.567972 -vn -0.740592 0.322814 0.589333 -vn -0.773857 0.304856 0.555164 -vn -0.771535 0.304529 0.558566 -vn -0.728818 0.284083 0.622994 -vn -0.728818 0.284083 0.622994 -vn -0.771535 0.304529 0.558566 -vn -0.724913 0.292702 0.623560 -vn -0.771535 0.304529 0.558566 -vn -0.773857 0.304856 0.555164 -vn -0.740815 0.342903 0.577590 -vn -0.740815 0.342903 0.577590 -vn -0.773857 0.304856 0.555164 -vn -0.969840 0.166099 0.178388 -vn -0.759621 -0.099247 0.642749 -vn -0.772660 -0.348538 0.530583 -vn -0.997150 -0.075336 -0.004072 -vn -0.997150 -0.075336 -0.004072 -vn -0.772660 -0.348538 0.530583 -vn -0.990615 -0.133182 -0.030719 -vn -0.656028 -0.418182 0.628292 -vn -0.627242 -0.676188 0.386443 -vn -0.772660 -0.348538 0.530583 -vn -0.772660 -0.348538 0.530583 -vn -0.627242 -0.676188 0.386443 -vn -0.767409 -0.563943 0.305045 -vn 0.600495 0.443647 -0.665270 -vn 0.004398 0.419539 -0.907726 -vn 0.554377 0.702479 -0.446307 -vn 0.554377 0.702479 -0.446307 -vn 0.004398 0.419539 -0.907726 -vn 0.010368 0.800881 -0.598734 -vn 0.554377 0.702479 -0.446307 -vn 0.010368 0.800881 -0.598734 -vn 0.517246 0.846290 -0.127473 -vn 0.517246 0.846290 -0.127473 -vn 0.010368 0.800881 -0.598734 -vn 0.051864 0.975168 -0.215306 -vn -0.627242 -0.676188 0.386443 -vn -0.634100 -0.764086 0.118699 -vn -0.767409 -0.563943 0.305045 -vn -0.767409 -0.563943 0.305045 -vn -0.634100 -0.764086 0.118699 -vn -0.755223 -0.652355 0.063808 -vn -0.780359 -0.622831 -0.055866 -vn -0.755223 -0.652355 0.063808 -vn -0.634100 -0.764086 0.118699 -vn 0.517246 0.846290 -0.127473 -vn 0.051864 0.975168 -0.215306 -vn 0.494071 0.869415 -0.003328 -vn 0.494071 0.869415 -0.003328 -vn 0.051864 0.975168 -0.215306 -vn 0.145820 0.989051 -0.022703 -vn -0.707233 -0.162804 0.687980 -vn -0.656028 -0.418182 0.628292 -vn -0.759621 -0.099247 0.642749 -vn -0.759621 -0.099247 0.642749 -vn -0.656028 -0.418182 0.628292 -vn -0.772660 -0.348538 0.530583 -vn 0.668540 0.161888 -0.725842 -vn -0.006508 0.083612 -0.996477 -vn 0.600495 0.443647 -0.665270 -vn 0.600495 0.443647 -0.665270 -vn -0.006508 0.083612 -0.996477 -vn 0.004398 0.419539 -0.907726 -vn -0.923588 -0.380903 -0.043567 -vn -0.951043 -0.307690 -0.029046 -vn -0.985507 -0.169473 0.007393 -vn -0.833807 -0.528564 -0.159328 -vn -0.813515 -0.572091 -0.104428 -vn -0.708309 -0.701790 -0.076086 -vn -0.494936 -0.863469 -0.097259 -vn -0.808708 -0.587341 -0.031976 -vn -0.539402 -0.840642 -0.048634 -vn -0.994998 0.093231 -0.035887 -vn -0.969840 0.166099 0.178388 -vn -0.990513 0.137395 0.002445 -vn -0.990513 0.137395 0.002445 -vn -0.969840 0.166099 0.178388 -vn -0.773857 0.304856 0.555164 -vn 0.969531 0.242434 0.035143 -vn 0.984202 0.176837 0.008696 -vn 0.971231 0.238135 0.001538 -vn 0.984202 0.176837 0.008696 -vn 0.668540 0.161888 -0.725842 -vn 0.971231 0.238135 0.001538 -vn 0.668540 0.161888 -0.725842 -vn 0.600495 0.443647 -0.665270 -vn 0.971231 0.238135 0.001538 -vn 0.554377 0.702479 -0.446307 -vn 0.971231 0.238135 0.001538 -vn 0.600495 0.443647 -0.665270 -vn 0.967156 0.254168 -0.002830 -vn 0.969531 0.242434 0.035143 -vn 0.885029 0.465465 0.008081 -vn 0.885029 0.465465 0.008081 -vn 0.969531 0.242434 0.035143 -vn 0.932362 0.360030 0.032846 -vn 0.956121 0.292541 0.015885 -vn 0.844338 0.533959 0.044504 -vn 0.945131 0.326041 0.020602 -vn 0.945131 0.326041 0.020602 -vn 0.844338 0.533959 0.044504 -vn 0.789936 0.611456 0.046072 -vn 0.996550 0.082383 -0.010068 -vn 0.993936 0.109771 -0.006474 -vn 0.996380 0.085006 0.000430 -vn 0.993936 0.109771 -0.006474 -vn 0.989557 0.144091 0.003808 -vn 0.996380 0.085006 0.000430 -vn 0.996380 0.085006 0.000430 -vn 0.989557 0.144091 0.003808 -vn 0.983245 0.182196 0.005792 -vn 0.723566 -0.082382 -0.685321 -vn 0.995327 0.096478 -0.003944 -vn 0.713582 -0.257949 -0.651354 -vn 0.996550 0.082383 -0.010068 -vn 0.713582 -0.257949 -0.651354 -vn 0.993936 0.109771 -0.006474 -vn 0.713582 -0.257949 -0.651354 -vn 0.995327 0.096478 -0.003944 -vn 0.993936 0.109771 -0.006474 -vn 0.668540 0.161888 -0.725842 -vn 0.984202 0.176837 0.008696 -vn 0.723566 -0.082382 -0.685321 -vn 0.723566 -0.082382 -0.685321 -vn 0.984202 0.176837 0.008696 -vn 0.995327 0.096478 -0.003944 -vn 0.510928 0.859417 0.018820 -vn 0.453914 0.680417 0.575321 -vn 0.512047 0.858797 0.016581 -vn 0.512047 0.858797 0.016581 -vn 0.453914 0.680417 0.575321 -vn 0.449290 0.674456 0.585873 -vn 0.126933 0.991885 0.007160 -vn 0.135281 0.990653 -0.017479 -vn 0.173425 0.735723 -0.654703 -vn 0.173425 0.735723 -0.654703 -vn 0.135281 0.990653 -0.017479 -vn 0.182289 0.709418 -0.680806 -vn 0.178828 0.405350 -0.896500 -vn 0.173425 0.735723 -0.654703 -vn 0.182289 0.709418 -0.680806 -vn 0.453914 0.680417 0.575321 -vn 0.435398 0.431875 0.789881 -vn 0.449290 0.674456 0.585873 -vn 0.603657 0.376752 -0.702606 -vn 0.609064 0.605926 -0.511757 -vn 0.616263 0.596857 -0.513792 -vn 0.248653 0.725676 0.641534 -vn 0.274003 0.415746 0.867224 -vn 0.258900 0.717586 0.646561 -vn 0.126933 0.991885 0.007160 -vn 0.248653 0.725676 0.641534 -vn 0.135281 0.990653 -0.017479 -vn 0.135281 0.990653 -0.017479 -vn 0.248653 0.725676 0.641534 -vn 0.258900 0.717586 0.646561 -vn 0.510928 0.859417 0.018820 -vn 0.512047 0.858797 0.016581 -vn 0.609064 0.605926 -0.511757 -vn 0.609064 0.605926 -0.511757 -vn 0.512047 0.858797 0.016581 -vn 0.616263 0.596857 -0.513792 -vn 0.844338 0.533959 0.044504 -vn 0.956121 0.292541 0.015885 -vn 0.885029 0.465465 0.008081 -vn 0.885029 0.465465 0.008081 -vn 0.956121 0.292541 0.015885 -vn 0.967156 0.254168 -0.002830 -vn 0.494071 0.869415 -0.003328 -vn 0.145820 0.989051 -0.022703 -vn 0.446710 0.893463 0.046633 -vn 0.446710 0.893463 0.046633 -vn 0.145820 0.989051 -0.022703 -vn 0.166799 0.985578 0.028524 -vn -0.780359 -0.622831 -0.055866 -vn -0.813515 -0.572091 -0.104428 -vn -0.944473 -0.323507 -0.057569 -vn -0.944473 -0.323507 -0.057569 -vn -0.813515 -0.572091 -0.104428 -vn -0.956032 -0.272734 -0.107795 -vn 0.989557 0.144091 0.003808 -vn 0.983787 0.179160 0.008038 -vn 0.983245 0.182196 0.005792 -vn 0.956121 0.292541 0.015885 -vn 0.945131 0.326041 0.020602 -vn 0.983787 0.179160 0.008038 -vn 0.945131 0.326041 0.020602 -vn 0.983245 0.182196 0.005792 -vn 0.983787 0.179160 0.008038 -vn 0.713582 -0.257949 -0.651354 -vn 0.996550 0.082383 -0.010068 -vn 0.731212 -0.381836 -0.565270 -vn 0.996550 0.082383 -0.010068 -vn 0.574631 -0.446587 -0.685827 -vn 0.731212 -0.381836 -0.565270 -vn 0.996550 0.082383 -0.010068 -vn 0.996380 0.085006 0.000430 -vn 0.998947 0.045842 0.001757 -vn -0.998432 -0.055875 -0.003518 -vn -0.761618 0.252637 0.596751 -vn -0.775408 0.330567 0.538023 -vn -0.969905 -0.243373 -0.007371 -vn -0.923588 -0.380903 -0.043567 -vn -0.985507 -0.169473 0.007393 -vn -0.923588 -0.380903 -0.043567 -vn -0.969905 -0.243373 -0.007371 -vn -0.808708 -0.587341 -0.031976 -vn -0.998432 -0.055875 -0.003518 -vn -0.969905 -0.243373 -0.007371 -vn -0.985507 -0.169473 0.007393 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.885029 0.465465 0.008081 -vn 0.932362 0.360030 0.032846 -vn 0.494071 0.869415 -0.003328 -vn 0.494071 0.869415 -0.003328 -vn 0.932362 0.360030 0.032846 -vn 0.517246 0.846290 -0.127473 -vn 0.446710 0.893463 0.046633 -vn 0.844338 0.533959 0.044504 -vn 0.494071 0.869415 -0.003328 -vn 0.494071 0.869415 -0.003328 -vn 0.844338 0.533959 0.044504 -vn 0.885029 0.465465 0.008081 -vn 0.932362 0.360030 0.032846 -vn 0.969531 0.242434 0.035143 -vn 0.971231 0.238135 0.001538 -vn 0.554377 0.702479 -0.446307 -vn 0.932362 0.360030 0.032846 -vn 0.971231 0.238135 0.001538 -vn 0.932362 0.360030 0.032846 -vn 0.554377 0.702479 -0.446307 -vn 0.517246 0.846290 -0.127473 -vn 0.429327 0.901377 0.056555 -vn 0.789936 0.611456 0.046072 -vn 0.446710 0.893463 0.046633 -vn 0.446710 0.893463 0.046633 -vn 0.789936 0.611456 0.046072 -vn 0.844338 0.533959 0.044504 -vn 0.682062 0.729639 0.049171 -vn 0.914969 0.402789 0.024342 -vn 0.789936 0.611456 0.046072 -vn 0.789936 0.611456 0.046072 -vn 0.914969 0.402789 0.024342 -vn 0.945131 0.326041 0.020602 -vn 0.284211 0.955066 0.084101 -vn 0.615919 0.785318 0.062605 -vn 0.322783 0.944059 0.067556 -vn 0.322783 0.944059 0.067556 -vn 0.615919 0.785318 0.062605 -vn 0.682062 0.729639 0.049171 -vn 0.144281 -0.209043 0.967204 -vn 0.191886 -0.210924 0.958484 -vn 0.158943 -0.205989 0.965560 -vn 0.158943 -0.205989 0.965560 -vn 0.191886 -0.210924 0.958484 -vn 0.196192 -0.207154 0.958434 -vn -0.247950 -0.964620 -0.089610 -vn -0.249117 -0.963466 -0.098359 -vn -0.507293 -0.858759 -0.072022 -vn -0.507293 -0.858759 -0.072022 -vn -0.249117 -0.963466 -0.098359 -vn -0.515410 -0.853105 -0.081018 -vn -0.212106 -0.072179 -0.974577 -vn -0.239693 -0.077290 -0.967767 -vn -0.319057 -0.035786 -0.947060 -vn -0.319057 -0.035786 -0.947060 -vn -0.239693 -0.077290 -0.967767 -vn -0.328251 -0.031289 -0.944072 -vn -0.253470 -0.964963 -0.067819 -vn -0.253349 -0.964463 -0.075004 -vn -0.488009 -0.871020 -0.056324 -vn -0.488009 -0.871020 -0.056324 -vn -0.253349 -0.964463 -0.075004 -vn -0.539402 -0.840642 -0.048634 -vn 0.322783 0.944059 0.067556 -vn 0.682062 0.729639 0.049171 -vn 0.429327 0.901377 0.056555 -vn 0.429327 0.901377 0.056555 -vn 0.682062 0.729639 0.049171 -vn 0.789936 0.611456 0.046072 -vn -0.491332 -0.797984 -0.349020 -vn -0.494936 -0.863469 -0.097259 -vn -0.253349 -0.964463 -0.075004 -vn 0.322783 0.944059 0.067556 -vn 0.082937 0.995311 0.049767 -vn 0.083437 0.994889 0.056877 -vn -0.324453 -0.809413 -0.489470 -vn -0.476271 -0.348677 -0.807211 -vn -0.491332 -0.797984 -0.349020 -vn -0.491332 -0.797984 -0.349020 -vn -0.476271 -0.348677 -0.807211 -vn -0.702167 -0.425692 -0.570743 -vn -0.324453 -0.809413 -0.489470 -vn -0.253349 -0.964463 -0.075004 -vn -0.095583 -0.992659 -0.074102 -vn -0.095583 -0.992659 -0.074102 -vn -0.253349 -0.964463 -0.075004 -vn -0.253470 -0.964963 -0.067819 -vn -0.253349 -0.964463 -0.075004 -vn -0.494936 -0.863469 -0.097259 -vn -0.539402 -0.840642 -0.048634 -vn -0.833807 -0.528564 -0.159328 -vn -0.494936 -0.863469 -0.097259 -vn -0.658652 -0.695759 -0.286526 -vn -0.494936 -0.863469 -0.097259 -vn -0.833807 -0.528564 -0.159328 -vn -0.708309 -0.701790 -0.076086 -vn -0.708309 -0.701790 -0.076086 -vn -0.813515 -0.572091 -0.104428 -vn -0.745659 -0.659800 -0.093041 -vn -0.764602 -0.641682 -0.060234 -vn -0.813515 -0.572091 -0.104428 -vn -0.780359 -0.622831 -0.055866 -vn -0.813515 -0.572091 -0.104428 -vn -0.764602 -0.641682 -0.060234 -vn -0.745659 -0.659800 -0.093041 -vn -0.780359 -0.622831 -0.055866 -vn -0.634100 -0.764086 0.118699 -vn -0.764602 -0.641682 -0.060234 -vn -0.808708 -0.587341 -0.031976 -vn -0.850012 -0.526176 -0.024864 -vn -0.539402 -0.840642 -0.048634 -vn -0.708309 -0.701790 -0.076086 -vn -0.923588 -0.380903 -0.043567 -vn -0.808708 -0.587341 -0.031976 -vn -0.923588 -0.380903 -0.043567 -vn -0.708309 -0.701790 -0.076086 -vn -0.745659 -0.659800 -0.093041 -vn -0.745659 -0.659800 -0.093041 -vn -0.764602 -0.641682 -0.060234 -vn -0.923588 -0.380903 -0.043567 -vn -0.764602 -0.641682 -0.060234 -vn -0.951043 -0.307690 -0.029046 -vn -0.923588 -0.380903 -0.043567 -vn -0.634100 -0.764086 0.118699 -vn -0.951043 -0.307690 -0.029046 -vn -0.764602 -0.641682 -0.060234 -vn -0.951043 -0.307690 -0.029046 -vn -0.634100 -0.764086 0.118699 -vn -0.627242 -0.676188 0.386443 -vn -0.656028 -0.418182 0.628292 -vn -0.951043 -0.307690 -0.029046 -vn -0.627242 -0.676188 0.386443 -vn -0.707233 -0.162804 0.687980 -vn -0.951043 -0.307690 -0.029046 -vn -0.656028 -0.418182 0.628292 -vn -0.985507 -0.169473 0.007393 -vn -0.951043 -0.307690 -0.029046 -vn -0.707233 -0.162804 0.687980 -vn 0.984694 0.174160 -0.006738 -vn 0.983212 0.180337 -0.027797 -vn 0.980089 0.198515 -0.004173 -vn 0.808708 -0.587341 -0.031976 -vn 0.708309 -0.701790 -0.076086 -vn 0.494936 -0.863469 -0.097259 -vn -0.339143 -0.505622 0.793302 -vn -0.182952 -0.354088 0.917143 -vn -0.299846 -0.516749 0.801912 -vn -0.182952 -0.354088 0.917143 -vn -0.154745 -0.355795 0.921664 -vn -0.299846 -0.516749 0.801912 -vn -0.182952 -0.354088 0.917143 -vn -0.116745 -0.319879 0.940238 -vn -0.154745 -0.355795 0.921664 -vn -0.116745 -0.319879 0.940238 -vn -0.109565 -0.318437 0.941591 -vn -0.154745 -0.355795 0.921664 -vn -0.109565 -0.318437 0.941591 -vn -0.116745 -0.319879 0.940238 -vn -0.131033 -0.317293 0.939231 -vn -0.116745 -0.319879 0.940238 -vn -0.138390 -0.332971 0.932727 -vn -0.131033 -0.317293 0.939231 -vn -0.067684 -0.219277 0.973312 -vn -0.071452 -0.215752 0.973830 -vn -0.144281 -0.209043 0.967204 -vn -0.071452 -0.215752 0.973830 -vn -0.158943 -0.205989 0.965560 -vn -0.144281 -0.209043 0.967204 -vn -0.000000 -0.227028 0.973888 -vn -0.000000 -0.224410 0.974495 -vn -0.067684 -0.219277 0.973312 -vn -0.000000 -0.224410 0.974495 -vn -0.071452 -0.215752 0.973830 -vn -0.067684 -0.219277 0.973312 -vn -0.138390 -0.332971 0.932727 -vn -0.149920 -0.347308 0.925690 -vn -0.142304 -0.333246 0.932039 -vn -0.149920 -0.347308 0.925690 -vn -0.161840 -0.334626 0.928350 -vn -0.142304 -0.333246 0.932039 -vn -0.161840 -0.334626 0.928350 -vn -0.166593 -0.330885 0.928850 -vn -0.142304 -0.333246 0.932039 -vn -0.191886 -0.210924 0.958484 -vn -0.196192 -0.207154 0.958434 -vn -0.196009 -0.235372 0.951935 -vn -0.196192 -0.207154 0.958434 -vn -0.196607 -0.228696 0.953438 -vn -0.196009 -0.235372 0.951935 -vn -0.178410 -0.306737 0.934924 -vn -0.196009 -0.235372 0.951935 -vn -0.188830 -0.293149 0.937234 -vn -0.196009 -0.235372 0.951935 -vn -0.196607 -0.228696 0.953438 -vn -0.188830 -0.293149 0.937234 -vn -0.345594 -0.929888 0.125990 -vn -0.357049 -0.929812 0.089253 -vn -0.390945 -0.918337 -0.061799 -vn -0.357049 -0.929812 0.089253 -vn -0.396515 -0.915703 -0.065292 -vn -0.390945 -0.918337 -0.061799 -vn -0.984334 -0.176055 0.009521 -vn -0.980679 -0.195518 0.006376 -vn -0.983848 -0.178923 0.005394 -vn -0.990796 -0.135356 0.001687 -vn -0.991086 -0.133014 0.007440 -vn -0.983848 -0.178923 0.005394 -vn -0.991086 -0.133014 0.007440 -vn -0.984334 -0.176055 0.009521 -vn -0.983848 -0.178923 0.005394 -vn -0.991086 -0.133014 0.007440 -vn -0.990796 -0.135356 0.001687 -vn -0.998589 0.052790 0.005722 -vn -0.990796 -0.135356 0.001687 -vn -0.997021 0.077063 0.003255 -vn -0.998589 0.052790 0.005722 -vn -0.095426 0.992875 0.071360 -vn -0.083437 0.994889 0.056877 -vn -0.284211 0.955066 0.084101 -vn -0.083437 0.994889 0.056877 -vn -0.322783 0.944059 0.067556 -vn -0.284211 0.955066 0.084101 -vn 0.000000 0.999116 0.042032 -vn -0.000000 0.999216 0.039578 -vn -0.095426 0.992875 0.071360 -vn -0.000000 0.999216 0.039578 -vn -0.083437 0.994889 0.056877 -vn -0.095426 0.992875 0.071360 -vn -0.993002 0.117935 0.006226 -vn -0.996380 0.085006 0.000430 -vn -0.999247 0.038797 0.000740 -vn -0.996380 0.085006 0.000430 -vn -0.998947 0.045842 0.001757 -vn -0.999247 0.038797 0.000740 -vn -0.615919 0.785318 0.062605 -vn -0.682062 0.729639 0.049171 -vn -0.893410 0.448498 0.025842 -vn -0.682062 0.729639 0.049171 -vn -0.914969 0.402789 0.024342 -vn -0.893410 0.448498 0.025842 -vn -0.893410 0.448498 0.025842 -vn -0.914969 0.402789 0.024342 -vn -0.978147 0.207638 0.010723 -vn -0.914969 0.402789 0.024342 -vn -0.983245 0.182196 0.005792 -vn -0.978147 0.207638 0.010723 -vn -0.756449 0.653385 0.029548 -vn -0.823527 0.566803 0.023172 -vn -0.997021 0.077063 0.003255 -vn -0.823527 0.566803 0.023172 -vn -0.998589 0.052790 0.005722 -vn -0.997021 0.077063 0.003255 -vn -0.363218 -0.788030 0.497072 -vn -0.339143 -0.505622 0.793302 -vn -0.354110 -0.803703 0.478192 -vn -0.339143 -0.505622 0.793302 -vn -0.299846 -0.516749 0.801912 -vn -0.354110 -0.803703 0.478192 -vn -0.161840 -0.334626 0.928350 -vn -0.178410 -0.306737 0.934924 -vn -0.166593 -0.330885 0.928850 -vn -0.178410 -0.306737 0.934924 -vn -0.188830 -0.293149 0.937234 -vn -0.166593 -0.330885 0.928850 -vn -0.978147 0.207638 0.010723 -vn -0.983245 0.182196 0.005792 -vn -0.993002 0.117935 0.006226 -vn -0.983245 0.182196 0.005792 -vn -0.996380 0.085006 0.000430 -vn -0.993002 0.117935 0.006226 -vn 0.993452 0.113575 -0.012418 -vn 0.983596 0.179257 -0.020171 -vn 0.993500 0.113826 0.000749 -vn 0.983596 0.179257 -0.020171 -vn 0.984694 0.174160 -0.006738 -vn 0.993500 0.113826 0.000749 -vn 0.993500 0.113826 0.000749 -vn 0.985935 -0.166960 -0.007524 -vn 0.993452 0.113575 -0.012418 -vn 0.985935 -0.166960 -0.007524 -vn 0.975625 -0.218711 -0.017944 -vn 0.993452 0.113575 -0.012418 -vn 0.324453 -0.809413 -0.489470 -vn 0.119524 -0.861339 -0.493770 -vn 0.095583 -0.992659 -0.074102 -vn 0.095583 -0.992659 -0.074102 -vn 0.119524 -0.861339 -0.493770 -vn -0.000000 -0.997673 -0.068181 -vn -0.000000 -0.997673 -0.068181 -vn 0.119524 -0.861339 -0.493770 -vn 0.000000 -0.871316 -0.490722 -vn 0.985935 -0.166960 -0.007524 -vn 0.959190 -0.282414 -0.014033 -vn 0.975625 -0.218711 -0.017944 -vn 0.959190 -0.282414 -0.014033 -vn 0.965709 -0.258960 -0.018602 -vn 0.975625 -0.218711 -0.017944 -vn 0.996490 -0.080699 -0.022271 -vn 0.996882 -0.076594 -0.018986 -vn 0.998432 -0.055875 -0.003518 -vn 0.996882 -0.076594 -0.018986 -vn 0.997107 -0.075791 -0.005838 -vn 0.998432 -0.055875 -0.003518 -vn 0.965301 -0.259102 -0.032545 -vn 0.996490 -0.080699 -0.022271 -vn 0.969905 -0.243373 -0.007371 -vn 0.996490 -0.080699 -0.022271 -vn 0.998432 -0.055875 -0.003518 -vn 0.969905 -0.243373 -0.007371 -vn 0.850012 -0.526176 -0.024864 -vn 0.965301 -0.259102 -0.032545 -vn 0.969905 -0.243373 -0.007371 -vn 0.969905 -0.243373 -0.007371 -vn 0.808708 -0.587341 -0.031976 -vn 0.850012 -0.526176 -0.024864 -vn 0.965301 -0.259102 -0.032545 -vn 0.850012 -0.526176 -0.024864 -vn 0.791469 -0.609184 -0.049722 -vn -0.914969 0.402789 0.024342 -vn -0.945131 0.326041 0.020602 -vn -0.983245 0.182196 0.005792 -vn 0.767409 -0.563943 0.305045 -vn 0.772660 -0.348538 0.530583 -vn 0.979545 -0.197391 -0.039099 -vn 0.772660 -0.348538 0.530583 -vn 0.990615 -0.133182 -0.030719 -vn 0.979545 -0.197391 -0.039099 -vn 0.755223 -0.652355 0.063808 -vn 0.767409 -0.563943 0.305045 -vn 0.973639 -0.218470 -0.065558 -vn 0.767409 -0.563943 0.305045 -vn 0.979545 -0.197391 -0.039099 -vn 0.973639 -0.218470 -0.065558 -vn 0.707233 -0.162804 0.687980 -vn 0.985507 -0.169473 0.007393 -vn 0.738957 0.055017 0.671503 -vn 0.738957 0.055017 0.671503 -vn 0.985507 -0.169473 0.007393 -vn 0.761618 0.252637 0.596751 -vn 0.997107 -0.075791 -0.005838 -vn 0.775408 0.330567 0.538022 -vn 0.998432 -0.055875 -0.003518 -vn 0.761618 0.252637 0.596751 -vn 0.985507 -0.169473 0.007393 -vn 0.998432 -0.055875 -0.003518 -vn 0.985935 -0.166960 -0.007524 -vn 0.820751 0.061453 0.567972 -vn 0.959190 -0.282414 -0.014033 -vn 0.820751 0.061453 0.567972 -vn 0.804082 0.167348 0.570480 -vn 0.959190 -0.282414 -0.014033 -vn 0.993500 0.113826 0.000749 -vn 0.724913 0.292702 0.623560 -vn 0.985935 -0.166960 -0.007524 -vn 0.724913 0.292702 0.623560 -vn 0.820751 0.061453 0.567972 -vn 0.985935 -0.166960 -0.007524 -vn 0.984694 0.174160 -0.006738 -vn 0.771535 0.304529 0.558566 -vn 0.993500 0.113826 0.000749 -vn 0.771535 0.304529 0.558566 -vn 0.724913 0.292702 0.623560 -vn 0.993500 0.113826 0.000749 -vn 0.980089 0.198515 -0.004173 -vn 0.740815 0.342904 0.577590 -vn 0.984694 0.174160 -0.006738 -vn 0.740815 0.342904 0.577590 -vn 0.771535 0.304529 0.558566 -vn 0.984694 0.174160 -0.006738 -vn -0.385018 -0.919892 -0.074557 -vn -0.386712 -0.919150 -0.074949 -vn -0.396515 -0.915703 -0.065292 -vn -0.386712 -0.919150 -0.074949 -vn -0.390945 -0.918337 -0.061799 -vn -0.396515 -0.915703 -0.065292 -vn -0.985997 -0.166579 0.007890 -vn -0.982751 -0.184689 0.009457 -vn -0.984334 -0.176055 0.009521 -vn -0.982751 -0.184689 0.009457 -vn -0.982479 -0.186010 0.011654 -vn -0.984334 -0.176055 0.009521 -vn -0.993671 -0.112316 0.001790 -vn -0.985997 -0.166579 0.007890 -vn -0.991086 -0.133014 0.007440 -vn -0.985997 -0.166579 0.007890 -vn -0.984334 -0.176055 0.009521 -vn -0.991086 -0.133014 0.007440 -vn -0.995237 0.097405 0.003889 -vn -0.993671 -0.112316 0.001790 -vn -0.998589 0.052790 0.005722 -vn -0.993671 -0.112316 0.001790 -vn -0.991086 -0.133014 0.007440 -vn -0.998589 0.052790 0.005722 -vn -0.998589 0.052790 0.005722 -vn -0.823527 0.566803 0.023172 -vn -0.995237 0.097405 0.003889 -vn -0.823527 0.566803 0.023172 -vn -0.761245 0.647906 0.026911 -vn -0.995237 0.097405 0.003889 -vn -0.574631 -0.446587 -0.685827 -vn -0.998947 0.045842 0.001757 -vn -0.996550 0.082383 -0.010068 -vn -0.082937 0.995311 0.049767 -vn -0.135626 0.988292 0.069896 -vn -0.322783 0.944059 0.067556 -vn -0.135626 0.988292 0.069896 -vn -0.180265 0.982087 0.054868 -vn -0.322783 0.944059 0.067556 -vn -0.180265 0.982087 0.054868 -vn -0.429327 0.901377 0.056555 -vn -0.322783 0.944059 0.067556 -vn -0.011871 0.999709 0.020995 -vn -0.082937 0.995311 0.049767 -vn -0.083437 0.994889 0.056877 -vn 0.000000 0.999970 0.007701 -vn -0.011871 0.999709 0.020995 -vn -0.000000 0.999216 0.039578 -vn -0.011871 0.999709 0.020995 -vn -0.083437 0.994889 0.056877 -vn -0.000000 0.999216 0.039578 -vn -0.363218 -0.788030 0.497072 -vn -0.354110 -0.803703 0.478192 -vn -0.345594 -0.929888 0.125990 -vn -0.354110 -0.803703 0.478192 -vn -0.357049 -0.929812 0.089253 -vn -0.345594 -0.929888 0.125990 -vn -0.982423 -0.186181 0.013505 -vn -0.984334 -0.176055 0.009521 -vn -0.982479 -0.186010 0.011654 -vn 0.983596 0.179257 -0.020171 -vn 0.984046 0.174020 -0.037009 -vn 0.984694 0.174160 -0.006738 -vn 0.959190 -0.282414 -0.014033 -vn 0.997107 -0.075791 -0.005838 -vn 0.965709 -0.258960 -0.018602 -vn 0.997107 -0.075791 -0.005838 -vn 0.996882 -0.076594 -0.018986 -vn 0.965709 -0.258960 -0.018602 -vn 0.959190 -0.282414 -0.014033 -vn 0.804082 0.167348 0.570480 -vn 0.997107 -0.075791 -0.005838 -vn 0.804082 0.167348 0.570480 -vn 0.775408 0.330567 0.538022 -vn 0.997107 -0.075791 -0.005838 -vn -0.138390 -0.332971 0.932727 -vn -0.134867 -0.315546 0.939277 -vn -0.131033 -0.317293 0.939231 -vn 0.999569 0.028846 0.005434 -vn 0.998069 0.045238 0.042564 -vn 0.999550 0.029492 0.005516 -vn 0.998069 0.045238 0.042564 -vn 0.997809 0.049679 0.043688 -vn 0.999550 0.029492 0.005516 -vn 0.998069 0.045238 0.042564 -vn 0.995800 0.065592 0.063883 -vn 0.997809 0.049679 0.043688 -vn 0.995800 0.065592 0.063883 -vn 0.995888 0.066977 0.061000 -vn 0.997809 0.049679 0.043688 -vn 0.507293 -0.858759 -0.072022 -vn 0.811258 -0.584646 0.007064 -vn 0.515410 -0.853105 -0.081018 -vn 0.811258 -0.584646 0.007064 -vn 0.818825 -0.574042 0.001045 -vn 0.515410 -0.853105 -0.081018 -vn 0.995708 0.084216 0.038390 -vn 0.995703 0.084333 0.038251 -vn 0.992675 0.109002 0.052112 -vn 0.995703 0.084333 0.038251 -vn 0.992674 0.108503 0.053153 -vn 0.992675 0.109002 0.052112 -vn 0.995703 0.084333 0.038251 -vn 0.995708 0.084216 0.038390 -vn 0.999464 0.014411 0.029383 -vn 0.995708 0.084216 0.038390 -vn 0.999501 0.014175 0.028222 -vn 0.999464 0.014411 0.029383 -vn 0.249118 -0.963466 -0.098359 -vn 0.104406 -0.994097 -0.029509 -vn 0.247950 -0.964620 -0.089610 -vn 0.104406 -0.994097 -0.029509 -vn 0.106145 -0.993954 -0.028067 -vn 0.247950 -0.964620 -0.089610 -vn -0.000000 -0.999979 -0.006475 -vn -0.000000 -0.999971 -0.007637 -vn 0.104406 -0.994097 -0.029509 -vn -0.000000 -0.999971 -0.007637 -vn 0.106145 -0.993954 -0.028067 -vn 0.104406 -0.994097 -0.029509 -vn 0.990700 -0.134435 0.020989 -vn 0.990656 -0.134478 0.022719 -vn 0.998261 -0.056077 0.018160 -vn 0.990656 -0.134478 0.022719 -vn 0.998293 -0.055357 0.018610 -vn 0.998261 -0.056077 0.018160 -vn 0.990700 -0.134435 0.020989 -vn 0.959183 -0.281844 0.023066 -vn 0.990656 -0.134478 0.022719 -vn 0.959183 -0.281844 0.023066 -vn 0.957430 -0.287103 0.029993 -vn 0.990656 -0.134478 0.022719 -vn 0.959183 -0.281844 0.023066 -vn 0.818825 -0.574042 0.001045 -vn 0.957430 -0.287103 0.029993 -vn 0.818825 -0.574042 0.001045 -vn 0.811258 -0.584646 0.007064 -vn 0.957430 -0.287103 0.029993 -vn 0.999569 0.028846 0.005434 -vn 0.999550 0.029492 0.005516 -vn 0.969840 0.166099 0.178388 -vn 0.999550 0.029492 0.005516 -vn 0.994998 0.093231 -0.035887 -vn 0.969840 0.166099 0.178388 -vn 0.994625 0.082784 0.062195 -vn 0.994644 0.081683 0.063330 -vn 0.995800 0.065592 0.063883 -vn 0.994644 0.081683 0.063330 -vn 0.995888 0.066977 0.061000 -vn 0.995800 0.065592 0.063883 -vn 0.992675 0.109002 0.052112 -vn 0.992674 0.108503 0.053153 -vn 0.994625 0.082784 0.062195 -vn 0.992674 0.108503 0.053153 -vn 0.994644 0.081683 0.063330 -vn 0.994625 0.082784 0.062195 -vn 0.999501 0.014175 0.028222 -vn 0.998261 -0.056077 0.018160 -vn 0.999464 0.014411 0.029383 -vn 0.998261 -0.056077 0.018160 -vn 0.998293 -0.055357 0.018610 -vn 0.999464 0.014411 0.029383 -vn 0.417566 0.902141 -0.108536 -vn 0.440343 0.896429 0.050135 -vn 0.426749 0.902769 -0.053783 -vn 0.440343 0.896429 0.050135 -vn 0.446303 0.893472 0.050214 -vn 0.426749 0.902769 -0.053783 -vn 0.448052 0.757634 -0.474595 -vn 0.417566 0.902141 -0.108536 -vn 0.446061 0.791914 -0.417015 -vn 0.417566 0.902141 -0.108536 -vn 0.426749 0.902769 -0.053783 -vn 0.446061 0.791914 -0.417015 -vn 0.319057 -0.035786 -0.947060 -vn 0.404581 0.077599 -0.911204 -vn 0.328251 -0.031289 -0.944072 -vn 0.404581 0.077599 -0.911204 -vn 0.359800 0.075412 -0.929977 -vn 0.328251 -0.031289 -0.944072 -vn 0.169298 0.324929 -0.930462 -vn 0.180314 0.325379 -0.928232 -vn 0.263657 0.363905 -0.893341 -vn 0.180314 0.325379 -0.928232 -vn 0.290602 0.358700 -0.887065 -vn 0.263657 0.363905 -0.893341 -vn 0.169298 0.324929 -0.930462 -vn 0.212363 0.301851 -0.929402 -vn 0.180314 0.325379 -0.928232 -vn 0.212363 0.301851 -0.929402 -vn 0.235126 0.317229 -0.918739 -vn 0.180314 0.325379 -0.928232 -vn 0.085991 0.008774 -0.996257 -vn 0.212106 -0.072179 -0.974577 -vn 0.085479 -0.001567 -0.996339 -vn 0.212106 -0.072179 -0.974577 -vn 0.239693 -0.077290 -0.967767 -vn 0.085479 -0.001567 -0.996339 -vn 0.000000 -0.057309 -0.998357 -vn 0.000000 -0.050714 -0.998713 -vn 0.085479 -0.001567 -0.996339 -vn 0.000000 -0.050714 -0.998713 -vn 0.085991 0.008774 -0.996257 -vn 0.085479 -0.001567 -0.996339 -vn 0.255352 0.293656 -0.921174 -vn 0.235126 0.317229 -0.918739 -vn 0.212363 0.301851 -0.929402 -vn 0.263699 0.309474 -0.913613 -vn 0.290613 0.326849 -0.899285 -vn 0.262790 0.310576 -0.913501 -vn 0.290613 0.326849 -0.899285 -vn 0.305134 0.314478 -0.898886 -vn 0.262790 0.310576 -0.913501 -vn 0.310643 0.219722 -0.924783 -vn 0.263699 0.309474 -0.913613 -vn 0.276780 0.226506 -0.933856 -vn 0.263699 0.309474 -0.913613 -vn 0.262790 0.310576 -0.913501 -vn 0.276780 0.226506 -0.933856 -vn 0.276780 0.226506 -0.933856 -vn 0.359800 0.075412 -0.929977 -vn 0.310643 0.219722 -0.924783 -vn 0.359800 0.075412 -0.929977 -vn 0.404581 0.077599 -0.911204 -vn 0.310643 0.219722 -0.924783 -vn 0.446303 0.893472 0.050214 -vn 0.440343 0.896429 0.050135 -vn 0.415109 0.907407 0.065557 -vn 0.440343 0.896429 0.050135 -vn 0.410226 0.909524 0.066933 -vn 0.415109 0.907407 0.065557 -vn 0.405249 0.503584 -0.763005 -vn 0.436406 0.498474 -0.749049 -vn 0.446061 0.791914 -0.417015 -vn 0.436406 0.498474 -0.749049 -vn 0.448052 0.757634 -0.474595 -vn 0.446061 0.791914 -0.417015 -vn 0.263657 0.363905 -0.893341 -vn 0.290602 0.358700 -0.887065 -vn 0.405249 0.503584 -0.763005 -vn 0.290602 0.358700 -0.887065 -vn 0.436406 0.498474 -0.749049 -vn 0.405249 0.503584 -0.763005 -vn 0.305134 0.314478 -0.898886 -vn 0.290613 0.326849 -0.899285 -vn 0.255352 0.293656 -0.921174 -vn 0.290613 0.326849 -0.899285 -vn 0.235126 0.317229 -0.918739 -vn 0.255352 0.293656 -0.921174 -vn 0.850012 -0.526176 -0.024864 -vn 0.539402 -0.840642 -0.048634 -vn 0.791469 -0.609184 -0.049722 -vn 0.539402 -0.840642 -0.048634 -vn 0.488009 -0.871020 -0.056324 -vn 0.791469 -0.609184 -0.049722 -vn -0.562710 0.825931 0.034560 -vn -0.761245 0.647906 0.026911 -vn -0.541816 0.839771 0.034923 -vn -0.761245 0.647906 0.026911 -vn -0.823527 0.566803 0.023172 -vn -0.541816 0.839771 0.034923 -vn -0.495577 0.867646 0.039930 -vn -0.541816 0.839771 0.034923 -vn -0.756449 0.653385 0.029548 -vn -0.541816 0.839771 0.034923 -vn -0.823527 0.566803 0.023172 -vn -0.756449 0.653385 0.029548 -vn -0.138390 -0.332971 0.932727 -vn -0.142304 -0.333246 0.932039 -vn -0.134867 -0.315546 0.939277 -vn -0.980679 -0.195518 0.006376 -vn -0.984334 -0.176055 0.009521 -vn -0.981678 -0.190277 0.010176 -vn -0.981678 -0.190277 0.010176 -vn -0.984334 -0.176055 0.009521 -vn -0.982423 -0.186181 0.013505 -vn 0.984694 0.174160 -0.006738 -vn 0.985848 0.161528 -0.044851 -vn 0.983212 0.180337 -0.027797 -vn 0.984694 0.174160 -0.006738 -vn 0.984046 0.174020 -0.037009 -vn 0.985848 0.161528 -0.044851 -vn -0.075421 -0.342512 -0.936481 -vn -0.080619 -0.343276 -0.935768 -vn -0.088936 -0.352542 -0.931560 -vn -0.080619 -0.343276 -0.935768 -vn -0.094136 -0.352187 -0.931184 -vn -0.088936 -0.352542 -0.931560 -vn -0.088936 -0.352542 -0.931560 -vn -0.094136 -0.352187 -0.931184 -vn -0.110062 -0.360826 -0.926116 -vn -0.094136 -0.352187 -0.931184 -vn -0.115215 -0.359361 -0.926059 -vn -0.110062 -0.360826 -0.926116 -vn -0.731212 -0.381836 -0.565270 -vn -0.713582 -0.257949 -0.651354 -vn -0.099908 -0.581232 -0.807581 -vn -0.713582 -0.257949 -0.651354 -vn -0.071198 -0.408463 -0.909994 -vn -0.099908 -0.581232 -0.807581 -vn -0.713582 -0.257949 -0.651354 -vn -0.723566 -0.082382 -0.685321 -vn -0.071198 -0.408463 -0.909994 -vn -0.723566 -0.082382 -0.685321 -vn -0.051319 -0.202061 -0.978028 -vn -0.071198 -0.408463 -0.909994 -vn -0.731212 -0.381836 -0.565270 -vn -0.099908 -0.581232 -0.807581 -vn -0.574631 -0.446587 -0.685827 -vn -0.099908 -0.581232 -0.807581 -vn -0.108229 -0.493339 -0.863078 -vn -0.574631 -0.446587 -0.685827 -vn -0.108229 -0.493339 -0.863078 -vn -0.080619 -0.343276 -0.935768 -vn -0.092628 -0.376477 -0.921784 -vn -0.080619 -0.343276 -0.935768 -vn -0.075421 -0.342512 -0.936481 -vn -0.092628 -0.376477 -0.921784 -vn -0.080859 -0.444705 -0.892020 -vn -0.108229 -0.493339 -0.863078 -vn -0.092628 -0.376477 -0.921784 -vn -0.574631 -0.446587 -0.685827 -vn -0.108229 -0.493339 -0.863078 -vn -0.080859 -0.444705 -0.892020 -vn -0.723566 -0.082382 -0.685321 -vn -0.668540 0.161888 -0.725842 -vn -0.051319 -0.202061 -0.978028 -vn -0.668540 0.161888 -0.725842 -vn 0.006508 0.083612 -0.996477 -vn -0.051319 -0.202061 -0.978028 -vn 0.000000 -0.871316 -0.490722 -vn 0.119524 -0.861339 -0.493770 -vn -0.000000 -0.514402 -0.857549 -vn 0.119524 -0.861339 -0.493770 -vn 0.192801 -0.483418 -0.853894 -vn -0.000000 -0.514402 -0.857549 -vn 0.476271 -0.348677 -0.807211 -vn 0.192801 -0.483418 -0.853894 -vn 0.324453 -0.809413 -0.489470 -vn 0.192801 -0.483418 -0.853894 -vn 0.119524 -0.861339 -0.493770 -vn 0.324453 -0.809413 -0.489470 -vn 0.879217 -0.280086 -0.385394 -vn 0.702167 -0.425693 -0.570743 -vn 0.658652 -0.695759 -0.286526 -vn 0.702167 -0.425693 -0.570743 -vn 0.491332 -0.797984 -0.349020 -vn 0.658652 -0.695759 -0.286526 -vn 0.658652 -0.695759 -0.286526 -vn 0.833807 -0.528564 -0.159328 -vn 0.879217 -0.280086 -0.385394 -vn 0.833807 -0.528564 -0.159328 -vn 0.957276 -0.214865 -0.193535 -vn 0.879217 -0.280086 -0.385394 -vn -0.446710 0.893463 0.046633 -vn -0.429327 0.901377 0.056555 -vn -0.166799 0.985578 0.028524 -vn -0.429327 0.901377 0.056555 -vn -0.216363 0.975064 0.049360 -vn -0.166799 0.985578 0.028524 -vn 0.324453 -0.809413 -0.489470 -vn 0.253349 -0.964463 -0.075004 -vn 0.491332 -0.797984 -0.349020 -vn 0.494936 -0.863469 -0.097259 -vn 0.658652 -0.695759 -0.286526 -vn 0.491332 -0.797984 -0.349020 -vn 0.956032 -0.272734 -0.107795 -vn 0.957276 -0.214865 -0.193535 -vn 0.813515 -0.572091 -0.104428 -vn 0.957276 -0.214865 -0.193535 -vn 0.833807 -0.528564 -0.159328 -vn 0.813515 -0.572091 -0.104428 -vn -0.429327 0.901377 0.056555 -vn -0.180265 0.982087 0.054868 -vn -0.216363 0.975064 0.049360 -vn 0.780359 -0.622831 -0.055866 -vn 0.755223 -0.652355 0.063808 -vn 0.944473 -0.323507 -0.057569 -vn 0.755223 -0.652355 0.063808 -vn 0.973639 -0.218470 -0.065558 -vn 0.944473 -0.323507 -0.057569 -vn 0.763261 0.075432 0.641672 -vn 0.998456 -0.051981 0.019606 -vn 0.759620 -0.099247 0.642749 -vn 0.998456 -0.051981 0.019606 -vn 0.997150 -0.075336 -0.004072 -vn 0.759620 -0.099247 0.642749 -vn 0.805391 0.217929 0.551228 -vn 0.998707 -0.048248 0.015984 -vn 0.763261 0.075432 0.641672 -vn 0.998707 -0.048248 0.015984 -vn 0.998456 -0.051981 0.019606 -vn 0.763261 0.075432 0.641672 -vn 0.775685 0.361202 0.517538 -vn 0.999627 -0.020816 0.017698 -vn 0.805391 0.217929 0.551228 -vn 0.999627 -0.020816 0.017698 -vn 0.998707 -0.048248 0.015984 -vn 0.805391 0.217929 0.551228 -vn 0.999627 -0.020816 0.017698 -vn 0.775685 0.361202 0.517538 -vn 0.999782 0.020752 0.002261 -vn 0.775685 0.361202 0.517538 -vn 0.740592 0.322814 0.589333 -vn 0.999782 0.020752 0.002261 -vn 0.999782 0.020752 0.002261 -vn 0.740592 0.322814 0.589333 -vn 0.998303 0.058229 0.000632 -vn 0.740592 0.322814 0.589333 -vn 0.728818 0.284083 0.622994 -vn 0.998303 0.058229 0.000632 -vn 0.773857 0.304857 0.555164 -vn 0.990513 0.137395 0.002445 -vn 0.728818 0.284083 0.622994 -vn 0.990513 0.137395 0.002445 -vn 0.998303 0.058229 0.000632 -vn 0.728818 0.284083 0.622994 -vn 0.738957 0.055017 0.671503 -vn 0.763261 0.075432 0.641672 -vn 0.707233 -0.162804 0.687980 -vn 0.763261 0.075432 0.641672 -vn 0.759620 -0.099247 0.642749 -vn 0.707233 -0.162804 0.687980 -vn 0.761618 0.252637 0.596751 -vn 0.805391 0.217929 0.551228 -vn 0.738957 0.055017 0.671503 -vn 0.805391 0.217929 0.551228 -vn 0.763261 0.075432 0.641672 -vn 0.738957 0.055017 0.671503 -vn 0.775408 0.330567 0.538022 -vn 0.775685 0.361202 0.517538 -vn 0.761618 0.252637 0.596751 -vn 0.775685 0.361202 0.517538 -vn 0.805391 0.217929 0.551228 -vn 0.761618 0.252637 0.596751 -vn 0.740592 0.322814 0.589333 -vn 0.775685 0.361202 0.517538 -vn 0.804082 0.167348 0.570480 -vn 0.775685 0.361202 0.517538 -vn 0.775408 0.330567 0.538022 -vn 0.804082 0.167348 0.570480 -vn 0.740592 0.322814 0.589333 -vn 0.804082 0.167348 0.570480 -vn 0.820751 0.061453 0.567972 -vn 0.724913 0.292702 0.623560 -vn 0.728818 0.284083 0.622994 -vn 0.820751 0.061453 0.567972 -vn 0.728818 0.284083 0.622994 -vn 0.740592 0.322814 0.589333 -vn 0.820751 0.061453 0.567972 -vn 0.773857 0.304857 0.555164 -vn 0.728818 0.284083 0.622994 -vn 0.771535 0.304529 0.558566 -vn 0.728818 0.284083 0.622994 -vn 0.724913 0.292702 0.623560 -vn 0.771535 0.304529 0.558566 -vn 0.771535 0.304529 0.558566 -vn 0.740815 0.342904 0.577590 -vn 0.773857 0.304857 0.555164 -vn 0.740815 0.342904 0.577590 -vn 0.969840 0.166099 0.178388 -vn 0.773857 0.304857 0.555164 -vn 0.759620 -0.099247 0.642749 -vn 0.997150 -0.075336 -0.004072 -vn 0.772660 -0.348538 0.530583 -vn 0.997150 -0.075336 -0.004072 -vn 0.990615 -0.133182 -0.030719 -vn 0.772660 -0.348538 0.530583 -vn 0.656028 -0.418182 0.628292 -vn 0.772660 -0.348538 0.530583 -vn 0.627242 -0.676188 0.386443 -vn 0.772660 -0.348538 0.530583 -vn 0.767409 -0.563943 0.305045 -vn 0.627242 -0.676188 0.386443 -vn -0.600495 0.443647 -0.665270 -vn -0.554377 0.702479 -0.446307 -vn -0.004398 0.419539 -0.907726 -vn -0.554377 0.702479 -0.446307 -vn -0.010368 0.800881 -0.598733 -vn -0.004398 0.419539 -0.907726 -vn -0.554377 0.702479 -0.446307 -vn -0.517246 0.846290 -0.127473 -vn -0.010368 0.800881 -0.598733 -vn -0.517246 0.846290 -0.127473 -vn -0.051864 0.975168 -0.215306 -vn -0.010368 0.800881 -0.598733 -vn 0.627242 -0.676188 0.386443 -vn 0.767409 -0.563943 0.305045 -vn 0.634100 -0.764086 0.118699 -vn 0.767409 -0.563943 0.305045 -vn 0.755223 -0.652355 0.063808 -vn 0.634100 -0.764086 0.118699 -vn 0.780359 -0.622831 -0.055866 -vn 0.634100 -0.764086 0.118699 -vn 0.755223 -0.652355 0.063808 -vn -0.517246 0.846290 -0.127473 -vn -0.494071 0.869415 -0.003328 -vn -0.051864 0.975168 -0.215306 -vn -0.494071 0.869415 -0.003328 -vn -0.145820 0.989051 -0.022703 -vn -0.051864 0.975168 -0.215306 -vn 0.707233 -0.162804 0.687980 -vn 0.759620 -0.099247 0.642749 -vn 0.656028 -0.418182 0.628292 -vn 0.759620 -0.099247 0.642749 -vn 0.772660 -0.348538 0.530583 -vn 0.656028 -0.418182 0.628292 -vn -0.668540 0.161888 -0.725842 -vn -0.600495 0.443647 -0.665270 -vn 0.006508 0.083612 -0.996477 -vn -0.600495 0.443647 -0.665270 -vn -0.004398 0.419539 -0.907726 -vn 0.006508 0.083612 -0.996477 -vn 0.923588 -0.380903 -0.043567 -vn 0.985507 -0.169473 0.007393 -vn 0.951043 -0.307690 -0.029046 -vn 0.833807 -0.528564 -0.159328 -vn 0.708309 -0.701790 -0.076086 -vn 0.813515 -0.572091 -0.104428 -vn 0.494936 -0.863469 -0.097259 -vn 0.539402 -0.840642 -0.048634 -vn 0.808708 -0.587341 -0.031976 -vn 0.994998 0.093231 -0.035887 -vn 0.990513 0.137395 0.002445 -vn 0.969840 0.166099 0.178388 -vn 0.990513 0.137395 0.002445 -vn 0.773857 0.304857 0.555164 -vn 0.969840 0.166099 0.178388 -vn -0.969531 0.242434 0.035143 -vn -0.971231 0.238135 0.001538 -vn -0.984202 0.176837 0.008696 -vn -0.984202 0.176837 0.008696 -vn -0.971231 0.238135 0.001538 -vn -0.668540 0.161888 -0.725842 -vn -0.668540 0.161888 -0.725842 -vn -0.971231 0.238135 0.001538 -vn -0.600495 0.443647 -0.665270 -vn -0.554377 0.702479 -0.446307 -vn -0.600495 0.443647 -0.665270 -vn -0.971231 0.238135 0.001538 -vn -0.967156 0.254168 -0.002830 -vn -0.885029 0.465465 0.008081 -vn -0.969531 0.242434 0.035143 -vn -0.885029 0.465465 0.008081 -vn -0.932362 0.360030 0.032846 -vn -0.969531 0.242434 0.035143 -vn -0.956121 0.292541 0.015885 -vn -0.945131 0.326041 0.020602 -vn -0.844338 0.533959 0.044504 -vn -0.945131 0.326041 0.020602 -vn -0.789936 0.611456 0.046072 -vn -0.844338 0.533959 0.044504 -vn -0.996550 0.082383 -0.010068 -vn -0.996380 0.085006 0.000430 -vn -0.993936 0.109771 -0.006474 -vn -0.993936 0.109771 -0.006474 -vn -0.996380 0.085006 0.000430 -vn -0.989557 0.144091 0.003808 -vn -0.996380 0.085006 0.000430 -vn -0.983245 0.182196 0.005792 -vn -0.989557 0.144091 0.003808 -vn -0.723566 -0.082382 -0.685321 -vn -0.713582 -0.257949 -0.651354 -vn -0.995327 0.096478 -0.003944 -vn -0.996550 0.082383 -0.010068 -vn -0.993936 0.109771 -0.006474 -vn -0.713582 -0.257949 -0.651354 -vn -0.713582 -0.257949 -0.651354 -vn -0.993936 0.109771 -0.006474 -vn -0.995327 0.096478 -0.003944 -vn -0.668540 0.161888 -0.725842 -vn -0.723566 -0.082382 -0.685321 -vn -0.984202 0.176837 0.008696 -vn -0.723566 -0.082382 -0.685321 -vn -0.995327 0.096478 -0.003944 -vn -0.984202 0.176837 0.008696 -vn -0.510928 0.859417 0.018820 -vn -0.512047 0.858797 0.016581 -vn -0.453914 0.680417 0.575322 -vn -0.512047 0.858797 0.016581 -vn -0.449290 0.674456 0.585873 -vn -0.453914 0.680417 0.575322 -vn -0.126933 0.991885 0.007160 -vn -0.173425 0.735723 -0.654703 -vn -0.135280 0.990653 -0.017479 -vn -0.173425 0.735723 -0.654703 -vn -0.182289 0.709418 -0.680806 -vn -0.135280 0.990653 -0.017479 -vn -0.178828 0.405350 -0.896500 -vn -0.182289 0.709418 -0.680806 -vn -0.173425 0.735723 -0.654703 -vn -0.453914 0.680417 0.575322 -vn -0.449290 0.674456 0.585873 -vn -0.435398 0.431875 0.789881 -vn -0.603657 0.376752 -0.702606 -vn -0.616263 0.596857 -0.513792 -vn -0.609064 0.605926 -0.511757 -vn -0.248653 0.725676 0.641534 -vn -0.258900 0.717586 0.646561 -vn -0.274003 0.415746 0.867224 -vn -0.126933 0.991885 0.007160 -vn -0.135280 0.990653 -0.017479 -vn -0.248653 0.725676 0.641534 -vn -0.135280 0.990653 -0.017479 -vn -0.258900 0.717586 0.646561 -vn -0.248653 0.725676 0.641534 -vn -0.510928 0.859417 0.018820 -vn -0.609064 0.605926 -0.511757 -vn -0.512047 0.858797 0.016581 -vn -0.609064 0.605926 -0.511757 -vn -0.616263 0.596857 -0.513792 -vn -0.512047 0.858797 0.016581 -vn -0.844338 0.533959 0.044504 -vn -0.885029 0.465465 0.008081 -vn -0.956121 0.292541 0.015885 -vn -0.885029 0.465465 0.008081 -vn -0.967156 0.254168 -0.002830 -vn -0.956121 0.292541 0.015885 -vn -0.494071 0.869415 -0.003328 -vn -0.446710 0.893463 0.046633 -vn -0.145820 0.989051 -0.022703 -vn -0.446710 0.893463 0.046633 -vn -0.166799 0.985578 0.028524 -vn -0.145820 0.989051 -0.022703 -vn 0.780359 -0.622831 -0.055866 -vn 0.944473 -0.323507 -0.057569 -vn 0.813515 -0.572091 -0.104428 -vn 0.944473 -0.323507 -0.057569 -vn 0.956032 -0.272734 -0.107795 -vn 0.813515 -0.572091 -0.104428 -vn -0.989557 0.144091 0.003808 -vn -0.983245 0.182196 0.005792 -vn -0.983787 0.179160 0.008038 -vn -0.956121 0.292541 0.015885 -vn -0.983787 0.179160 0.008038 -vn -0.945131 0.326041 0.020602 -vn -0.945131 0.326041 0.020602 -vn -0.983787 0.179160 0.008038 -vn -0.983245 0.182196 0.005792 -vn -0.713582 -0.257949 -0.651354 -vn -0.731212 -0.381836 -0.565270 -vn -0.996550 0.082383 -0.010068 -vn -0.996550 0.082383 -0.010068 -vn -0.731212 -0.381836 -0.565270 -vn -0.574631 -0.446587 -0.685827 -vn -0.996550 0.082383 -0.010068 -vn -0.998947 0.045842 0.001757 -vn -0.996380 0.085006 0.000430 -vn 0.998432 -0.055875 -0.003518 -vn 0.775408 0.330567 0.538022 -vn 0.761618 0.252637 0.596751 -vn 0.969905 -0.243373 -0.007371 -vn 0.985507 -0.169473 0.007393 -vn 0.923588 -0.380903 -0.043567 -vn 0.923588 -0.380903 -0.043567 -vn 0.808708 -0.587341 -0.031976 -vn 0.969905 -0.243373 -0.007371 -vn 0.998432 -0.055875 -0.003518 -vn 0.985507 -0.169473 0.007393 -vn 0.969905 -0.243373 -0.007371 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -0.885029 0.465465 0.008081 -vn -0.494071 0.869415 -0.003328 -vn -0.932362 0.360030 0.032846 -vn -0.494071 0.869415 -0.003328 -vn -0.517246 0.846290 -0.127473 -vn -0.932362 0.360030 0.032846 -vn -0.446710 0.893463 0.046633 -vn -0.494071 0.869415 -0.003328 -vn -0.844338 0.533959 0.044504 -vn -0.494071 0.869415 -0.003328 -vn -0.885029 0.465465 0.008081 -vn -0.844338 0.533959 0.044504 -vn -0.932362 0.360030 0.032846 -vn -0.971231 0.238135 0.001538 -vn -0.969531 0.242434 0.035143 -vn -0.554377 0.702479 -0.446307 -vn -0.971231 0.238135 0.001538 -vn -0.932362 0.360030 0.032846 -vn -0.932362 0.360030 0.032846 -vn -0.517246 0.846290 -0.127473 -vn -0.554377 0.702479 -0.446307 -vn -0.429327 0.901377 0.056555 -vn -0.446710 0.893463 0.046633 -vn -0.789936 0.611456 0.046072 -vn -0.446710 0.893463 0.046633 -vn -0.844338 0.533959 0.044504 -vn -0.789936 0.611456 0.046072 -vn -0.682062 0.729639 0.049171 -vn -0.789936 0.611456 0.046072 -vn -0.914969 0.402789 0.024342 -vn -0.789936 0.611456 0.046072 -vn -0.945131 0.326041 0.020602 -vn -0.914969 0.402789 0.024342 -vn -0.284211 0.955066 0.084101 -vn -0.322783 0.944059 0.067556 -vn -0.615919 0.785318 0.062605 -vn -0.322783 0.944059 0.067556 -vn -0.682062 0.729639 0.049171 -vn -0.615919 0.785318 0.062605 -vn -0.144281 -0.209043 0.967204 -vn -0.158943 -0.205989 0.965560 -vn -0.191886 -0.210924 0.958484 -vn -0.158943 -0.205989 0.965560 -vn -0.196192 -0.207154 0.958434 -vn -0.191886 -0.210924 0.958484 -vn 0.247950 -0.964620 -0.089610 -vn 0.507293 -0.858759 -0.072022 -vn 0.249118 -0.963466 -0.098359 -vn 0.507293 -0.858759 -0.072022 -vn 0.515410 -0.853105 -0.081018 -vn 0.249118 -0.963466 -0.098359 -vn 0.212106 -0.072179 -0.974577 -vn 0.319057 -0.035786 -0.947060 -vn 0.239693 -0.077290 -0.967767 -vn 0.319057 -0.035786 -0.947060 -vn 0.328251 -0.031289 -0.944072 -vn 0.239693 -0.077290 -0.967767 -vn 0.253470 -0.964963 -0.067819 -vn 0.488009 -0.871020 -0.056324 -vn 0.253349 -0.964463 -0.075004 -vn 0.488009 -0.871020 -0.056324 -vn 0.539402 -0.840642 -0.048634 -vn 0.253349 -0.964463 -0.075004 -vn -0.322783 0.944059 0.067556 -vn -0.429327 0.901377 0.056555 -vn -0.682062 0.729639 0.049171 -vn -0.429327 0.901377 0.056555 -vn -0.789936 0.611456 0.046072 -vn -0.682062 0.729639 0.049171 -vn 0.491332 -0.797984 -0.349020 -vn 0.253349 -0.964463 -0.075004 -vn 0.494936 -0.863469 -0.097259 -vn -0.322783 0.944059 0.067556 -vn -0.083437 0.994889 0.056877 -vn -0.082937 0.995311 0.049767 -vn 0.324453 -0.809413 -0.489470 -vn 0.491332 -0.797984 -0.349020 -vn 0.476271 -0.348677 -0.807211 -vn 0.491332 -0.797984 -0.349020 -vn 0.702167 -0.425693 -0.570743 -vn 0.476271 -0.348677 -0.807211 -vn 0.324453 -0.809413 -0.489470 -vn 0.095583 -0.992659 -0.074102 -vn 0.253349 -0.964463 -0.075004 -vn 0.095583 -0.992659 -0.074102 -vn 0.253470 -0.964963 -0.067819 -vn 0.253349 -0.964463 -0.075004 -vn 0.253349 -0.964463 -0.075004 -vn 0.539402 -0.840642 -0.048634 -vn 0.494936 -0.863469 -0.097259 -vn 0.833807 -0.528564 -0.159328 -vn 0.658652 -0.695759 -0.286526 -vn 0.494936 -0.863469 -0.097259 -vn 0.494936 -0.863469 -0.097259 -vn 0.708309 -0.701790 -0.076086 -vn 0.833807 -0.528564 -0.159328 -vn 0.708309 -0.701790 -0.076086 -vn 0.745659 -0.659800 -0.093041 -vn 0.813515 -0.572091 -0.104428 -vn 0.764602 -0.641682 -0.060234 -vn 0.780359 -0.622831 -0.055866 -vn 0.813515 -0.572091 -0.104428 -vn 0.813515 -0.572091 -0.104428 -vn 0.745659 -0.659800 -0.093041 -vn 0.764602 -0.641682 -0.060234 -vn 0.780359 -0.622831 -0.055866 -vn 0.764602 -0.641682 -0.060234 -vn 0.634100 -0.764086 0.118699 -vn 0.808708 -0.587341 -0.031976 -vn 0.539402 -0.840642 -0.048634 -vn 0.850012 -0.526176 -0.024864 -vn 0.708309 -0.701790 -0.076086 -vn 0.808708 -0.587341 -0.031976 -vn 0.923588 -0.380903 -0.043567 -vn 0.923588 -0.380903 -0.043567 -vn 0.745659 -0.659800 -0.093041 -vn 0.708309 -0.701790 -0.076086 -vn 0.745659 -0.659800 -0.093041 -vn 0.923588 -0.380903 -0.043567 -vn 0.764602 -0.641682 -0.060234 -vn 0.764602 -0.641682 -0.060234 -vn 0.923588 -0.380903 -0.043567 -vn 0.951043 -0.307690 -0.029046 -vn 0.634100 -0.764086 0.118699 -vn 0.764602 -0.641682 -0.060234 -vn 0.951043 -0.307690 -0.029046 -vn 0.951043 -0.307690 -0.029046 -vn 0.627242 -0.676188 0.386443 -vn 0.634100 -0.764086 0.118699 -vn 0.656028 -0.418182 0.628292 -vn 0.627242 -0.676188 0.386443 -vn 0.951043 -0.307690 -0.029046 -vn 0.707233 -0.162804 0.687980 -vn 0.656028 -0.418182 0.628292 -vn 0.951043 -0.307690 -0.029046 -vn 0.985507 -0.169473 0.007393 -vn 0.707233 -0.162804 0.687980 -vn 0.951043 -0.307690 -0.029046 -vn 0.693869 -0.717639 -0.059504 -vn 0.734614 -0.292666 0.612119 -vn 0.951661 -0.299535 -0.067968 -vn 0.951661 -0.299535 -0.067968 -vn 0.734614 -0.292666 0.612119 -vn 0.865823 -0.075119 0.494680 -vn 0.694372 -0.659335 -0.288316 -vn 0.688953 -0.713776 -0.125968 -vn 0.911130 -0.251283 -0.326649 -vn 0.911130 -0.251283 -0.326649 -vn 0.688953 -0.713776 -0.125968 -vn 0.936547 -0.324609 -0.132316 -vn 0.591638 -0.669054 -0.449811 -vn 0.694372 -0.659335 -0.288316 -vn 0.776501 -0.261174 -0.573441 -vn 0.776501 -0.261174 -0.573441 -vn 0.694372 -0.659335 -0.288316 -vn 0.911130 -0.251283 -0.326649 -vn 0.450135 -0.670894 -0.589305 -vn 0.591638 -0.669054 -0.449811 -vn 0.582436 -0.291964 -0.758634 -vn 0.582436 -0.291964 -0.758634 -vn 0.591638 -0.669054 -0.449811 -vn 0.776501 -0.261174 -0.573441 -vn 0.167519 -0.631543 -0.757027 -vn 0.303200 -0.657246 -0.689998 -vn 0.203644 -0.349140 -0.914675 -vn 0.203644 -0.349140 -0.914675 -vn 0.303200 -0.657246 -0.689998 -vn 0.389637 -0.317883 -0.864369 -vn -0.000000 -0.641479 -0.767141 -vn 0.167519 -0.631543 -0.757027 -vn 0.000000 -0.346225 -0.938152 -vn 0.000000 -0.346225 -0.938152 -vn 0.167519 -0.631543 -0.757027 -vn 0.203644 -0.349140 -0.914675 -vn 0.688953 -0.713776 -0.125968 -vn 0.694372 -0.659335 -0.288316 -vn 0.440580 -0.890619 -0.112635 -vn 0.440580 -0.890619 -0.112635 -vn 0.694372 -0.659335 -0.288316 -vn 0.411066 -0.888894 -0.202218 -vn 0.694372 -0.659335 -0.288316 -vn 0.591638 -0.669054 -0.449811 -vn 0.411066 -0.888894 -0.202218 -vn 0.411066 -0.888894 -0.202218 -vn 0.591638 -0.669054 -0.449811 -vn 0.372727 -0.870575 -0.321206 -vn 0.591638 -0.669054 -0.449811 -vn 0.450135 -0.670894 -0.589305 -vn 0.372727 -0.870575 -0.321206 -vn 0.372727 -0.870575 -0.321206 -vn 0.450135 -0.670894 -0.589305 -vn 0.308118 -0.845792 -0.435546 -vn 0.213971 -0.821557 -0.528451 -vn 0.303200 -0.657246 -0.689998 -vn 0.127120 -0.776749 -0.616849 -vn 0.127120 -0.776749 -0.616849 -vn 0.303200 -0.657246 -0.689998 -vn 0.167519 -0.631543 -0.757027 -vn -0.000000 -0.641479 -0.767141 -vn -0.000000 -0.775130 -0.631802 -vn 0.167519 -0.631543 -0.757027 -vn 0.167519 -0.631543 -0.757027 -vn -0.000000 -0.775130 -0.631802 -vn 0.127120 -0.776749 -0.616849 -vn 0.829370 -0.508463 0.231538 -vn 0.547229 -0.823054 -0.152061 -vn 0.933139 -0.256382 0.252030 -vn 0.933139 -0.256382 0.252030 -vn 0.547229 -0.823054 -0.152061 -vn 0.834994 -0.497446 -0.235229 -vn 0.547229 -0.823054 -0.152061 -vn 0.499176 -0.817395 -0.287557 -vn 0.834994 -0.497446 -0.235229 -vn 0.834994 -0.497446 -0.235229 -vn 0.499176 -0.817395 -0.287557 -vn 0.746611 -0.509098 -0.428241 -vn 0.499176 -0.817395 -0.287557 -vn 0.433962 -0.796400 -0.421218 -vn 0.746611 -0.509098 -0.428241 -vn 0.746611 -0.509098 -0.428241 -vn 0.433962 -0.796400 -0.421218 -vn 0.626875 -0.487380 -0.607855 -vn 0.433962 -0.796400 -0.421218 -vn 0.339986 -0.770658 -0.538977 -vn 0.626875 -0.487380 -0.607855 -vn 0.626875 -0.487380 -0.607855 -vn 0.339986 -0.770658 -0.538977 -vn 0.474424 -0.451462 -0.755715 -vn 0.219380 -0.740034 -0.635784 -vn 0.105150 -0.721120 -0.684785 -vn 0.298918 -0.442208 -0.845636 -vn 0.298918 -0.442208 -0.845636 -vn 0.105150 -0.721120 -0.684785 -vn 0.134280 -0.433849 -0.890923 -vn 0.000000 -0.711059 -0.703132 -vn 0.000000 -0.428150 -0.903708 -vn 0.105150 -0.721120 -0.684785 -vn 0.105150 -0.721120 -0.684785 -vn 0.000000 -0.428150 -0.903708 -vn 0.134280 -0.433849 -0.890923 -vn 0.933139 -0.256382 0.252030 -vn 0.834994 -0.497446 -0.235229 -vn 0.950169 -0.026411 0.310615 -vn 0.950169 -0.026411 0.310615 -vn 0.834994 -0.497446 -0.235229 -vn 0.957770 -0.134386 -0.254199 -vn 0.834994 -0.497446 -0.235229 -vn 0.746611 -0.509098 -0.428241 -vn 0.957770 -0.134386 -0.254199 -vn 0.957770 -0.134386 -0.254199 -vn 0.746611 -0.509098 -0.428241 -vn 0.861660 -0.163786 -0.480330 -vn 0.746611 -0.509098 -0.428241 -vn 0.626875 -0.487380 -0.607855 -vn 0.861660 -0.163786 -0.480330 -vn 0.861660 -0.163786 -0.480330 -vn 0.626875 -0.487380 -0.607855 -vn 0.707443 -0.172771 -0.685328 -vn 0.626875 -0.487380 -0.607855 -vn 0.474424 -0.451462 -0.755715 -vn 0.707443 -0.172771 -0.685328 -vn 0.707443 -0.172771 -0.685328 -vn 0.474424 -0.451462 -0.755715 -vn 0.530815 -0.169218 -0.830422 -vn 0.298918 -0.442208 -0.845636 -vn 0.134280 -0.433849 -0.890923 -vn 0.338040 -0.168109 -0.925996 -vn 0.338040 -0.168109 -0.925996 -vn 0.134280 -0.433849 -0.890923 -vn 0.143223 -0.147346 -0.978661 -vn 0.000000 -0.428150 -0.903708 -vn 0.000000 -0.139213 -0.990262 -vn 0.134280 -0.433849 -0.890923 -vn 0.134280 -0.433849 -0.890923 -vn 0.000000 -0.139213 -0.990262 -vn 0.143223 -0.147346 -0.978661 -vn 0.887379 0.408080 0.214547 -vn 0.955533 0.229356 0.185346 -vn 0.775796 0.611274 -0.156478 -vn 0.775796 0.611274 -0.156478 -vn 0.955533 0.229356 0.185346 -vn 0.899654 0.371805 -0.228876 -vn 0.838201 0.338530 -0.427570 -vn 0.748562 0.572863 -0.333891 -vn 0.899654 0.371805 -0.228876 -vn 0.899654 0.371805 -0.228876 -vn 0.748562 0.572863 -0.333891 -vn 0.775796 0.611274 -0.156478 -vn 0.838201 0.338530 -0.427570 -vn 0.730079 0.280919 -0.622953 -vn 0.748562 0.572863 -0.333891 -vn 0.748562 0.572863 -0.333891 -vn 0.730079 0.280919 -0.622953 -vn 0.670026 0.523745 -0.526077 -vn 0.141285 0.197838 -0.969999 -vn 0.000000 0.169328 -0.985560 -vn 0.141907 0.486043 -0.862337 -vn 0.141907 0.486043 -0.862337 -vn 0.000000 0.169328 -0.985560 -vn -0.000000 0.429750 -0.902948 -vn 0.910865 0.382103 -0.155956 -vn 0.775796 0.611274 -0.156478 -vn 0.852446 0.395819 -0.341559 -vn 0.852446 0.395819 -0.341559 -vn 0.775796 0.611274 -0.156478 -vn 0.748562 0.572863 -0.333891 -vn 0.852446 0.395819 -0.341559 -vn 0.748562 0.572863 -0.333891 -vn 0.727146 0.408695 -0.551567 -vn 0.727146 0.408695 -0.551567 -vn 0.748562 0.572863 -0.333891 -vn 0.670026 0.523745 -0.526077 -vn 0.561493 0.486609 -0.669281 -vn 0.515036 0.508272 -0.690216 -vn 0.260541 0.716419 -0.647196 -vn 0.260541 0.716419 -0.647196 -vn 0.515036 0.508272 -0.690216 -vn 0.306784 0.535384 -0.786923 -vn 0.306784 0.535384 -0.786923 -vn 0.141907 0.486043 -0.862337 -vn 0.260541 0.716419 -0.647196 -vn 0.260541 0.716419 -0.647196 -vn 0.141907 0.486043 -0.862337 -vn 0.139642 0.443685 -0.885237 -vn 0.141907 0.486043 -0.862337 -vn -0.000000 0.429750 -0.902948 -vn 0.139642 0.443685 -0.885237 -vn 0.139642 0.443685 -0.885237 -vn -0.000000 0.429750 -0.902948 -vn 0.000000 0.345679 -0.938353 -vn 0.978524 0.071526 -0.193328 -vn 0.865780 0.298022 0.402004 -vn 0.910865 0.382103 -0.155956 -vn 0.910702 0.410936 -0.041879 -vn 0.865780 0.298022 0.402004 -vn 0.663248 0.596004 0.452638 -vn 0.910865 0.382103 -0.155956 -vn 0.852446 0.395819 -0.341559 -vn 0.978524 0.071526 -0.193328 -vn 0.978524 0.071526 -0.193328 -vn 0.852446 0.395819 -0.341559 -vn 0.911055 0.107518 -0.398019 -vn 0.852446 0.395819 -0.341559 -vn 0.727146 0.408695 -0.551567 -vn 0.911055 0.107518 -0.398019 -vn 0.911055 0.107518 -0.398019 -vn 0.727146 0.408695 -0.551567 -vn 0.783256 0.126122 -0.608771 -vn 0.419181 0.072841 -0.904976 -vn 0.381991 0.053413 -0.922621 -vn 0.426493 0.056983 -0.902694 -vn 0.426493 0.056983 -0.902694 -vn 0.381991 0.053413 -0.922621 -vn 0.394310 0.036711 -0.918244 -vn 0.319266 0.017626 -0.947501 -vn 0.341576 0.029789 -0.939382 -vn 0.381991 0.053413 -0.922621 -vn 0.381991 0.053413 -0.922621 -vn 0.341576 0.029789 -0.939382 -vn 0.394310 0.036711 -0.918244 -vn 0.000000 0.345679 -0.938353 -vn 0.000000 0.077721 -0.996975 -vn 0.139642 0.443685 -0.885237 -vn 0.139642 0.443685 -0.885237 -vn 0.000000 0.077721 -0.996975 -vn 0.103853 0.070740 -0.992074 -vn 0.887417 0.192326 0.418929 -vn 0.963287 0.140801 -0.228590 -vn 0.895262 0.186285 0.404727 -vn 0.895262 0.186285 0.404727 -vn 0.963287 0.140801 -0.228590 -vn 0.922032 0.290901 -0.255407 -vn 0.963287 0.140801 -0.228590 -vn 0.891648 0.172871 -0.418426 -vn 0.922032 0.290901 -0.255407 -vn 0.922032 0.290901 -0.255407 -vn 0.891648 0.172871 -0.418426 -vn 0.845815 0.329793 -0.419325 -vn 0.891648 0.172871 -0.418426 -vn 0.767576 0.190717 -0.611926 -vn 0.845815 0.329793 -0.419325 -vn 0.845815 0.329793 -0.419325 -vn 0.767576 0.190717 -0.611926 -vn 0.708098 0.345784 -0.615654 -vn 0.883142 0.315792 0.346895 -vn 0.895262 0.186285 0.404727 -vn 0.746380 0.632005 -0.208535 -vn 0.746380 0.632005 -0.208535 -vn 0.895262 0.186285 0.404727 -vn 0.922032 0.290901 -0.255407 -vn 0.845815 0.329793 -0.419325 -vn 0.682306 0.642739 -0.348346 -vn 0.922032 0.290901 -0.255407 -vn 0.922032 0.290901 -0.255407 -vn 0.682306 0.642739 -0.348346 -vn 0.746380 0.632005 -0.208535 -vn 0.708098 0.345784 -0.615654 -vn 0.597176 0.623458 -0.504659 -vn 0.845815 0.329793 -0.419325 -vn 0.845815 0.329793 -0.419325 -vn 0.597176 0.623458 -0.504659 -vn 0.682306 0.642739 -0.348346 -vn 0.708098 0.345784 -0.615654 -vn 0.565694 0.317444 -0.761065 -vn 0.597176 0.623458 -0.504659 -vn 0.597176 0.623458 -0.504659 -vn 0.565694 0.317444 -0.761065 -vn 0.484964 0.591691 -0.643981 -vn 0.565694 0.317444 -0.761065 -vn 0.379772 0.322230 -0.867145 -vn 0.484964 0.591691 -0.643981 -vn 0.484964 0.591691 -0.643981 -vn 0.379772 0.322230 -0.867145 -vn 0.297017 0.614079 -0.731223 -vn 0.186911 0.318785 -0.929215 -vn 0.000000 0.303281 -0.952901 -vn 0.160628 0.572026 -0.804354 -vn 0.160628 0.572026 -0.804354 -vn 0.000000 0.303281 -0.952901 -vn 0.000000 0.566902 -0.823785 -vn 0.872500 0.486439 0.046048 -vn 0.883142 0.315792 0.346895 -vn 0.695502 0.699075 -0.166048 -vn 0.695502 0.699075 -0.166048 -vn 0.883142 0.315792 0.346895 -vn 0.746380 0.632005 -0.208535 -vn 0.682306 0.642739 -0.348346 -vn 0.641577 0.697453 -0.319279 -vn 0.746380 0.632005 -0.208535 -vn 0.746380 0.632005 -0.208535 -vn 0.641577 0.697453 -0.319279 -vn 0.695502 0.699075 -0.166048 -vn 0.597176 0.623458 -0.504659 -vn 0.576935 0.677233 -0.456619 -vn 0.682306 0.642739 -0.348346 -vn 0.682306 0.642739 -0.348346 -vn 0.576935 0.677233 -0.456619 -vn 0.641577 0.697453 -0.319279 -vn 0.484964 0.591691 -0.643981 -vn 0.445043 0.671109 -0.592916 -vn 0.597176 0.623458 -0.504659 -vn 0.597176 0.623458 -0.504659 -vn 0.445043 0.671109 -0.592916 -vn 0.576935 0.677233 -0.456619 -vn 0.484964 0.591691 -0.643981 -vn 0.297017 0.614079 -0.731223 -vn 0.445043 0.671109 -0.592916 -vn 0.445043 0.671109 -0.592916 -vn 0.297017 0.614079 -0.731223 -vn 0.311586 0.626785 -0.714181 -vn 0.160628 0.572026 -0.804354 -vn 0.000000 0.566902 -0.823785 -vn 0.167735 0.583693 -0.794460 -vn 0.167735 0.583693 -0.794460 -vn 0.000000 0.566902 -0.823785 -vn 0.000000 0.578067 -0.815989 -vn 0.827008 0.305512 0.471932 -vn 0.663248 0.596004 0.452638 -vn 0.787499 0.326946 0.522448 -vn 0.787499 0.326946 0.522448 -vn 0.663248 0.596004 0.452638 -vn 0.865780 0.298022 0.402004 -vn 0.887417 0.192326 0.418929 -vn 0.895262 0.186285 0.404727 -vn 0.790440 0.189724 0.582417 -vn 0.790440 0.189724 0.582417 -vn 0.895262 0.186285 0.404727 -vn 0.775527 -0.000898 0.631313 -vn 0.883142 0.315792 0.346895 -vn 0.964631 0.193831 0.178653 -vn 0.879022 -0.245419 0.408766 -vn 0.643794 0.051604 0.763457 -vn 0.734614 -0.292666 0.612119 -vn 0.645109 -0.423749 0.635823 -vn 0.827008 0.305512 0.471932 -vn 0.731349 0.176702 0.658715 -vn 0.722072 0.167012 0.671356 -vn 0.722072 0.167012 0.671356 -vn 0.731349 0.176702 0.658715 -vn 0.822162 0.061563 0.565915 -vn 0.731349 0.176702 0.658715 -vn 0.687158 0.108164 0.718411 -vn 0.822162 0.061563 0.565915 -vn 0.827008 0.305512 0.471932 -vn 0.665715 0.458373 0.588828 -vn 0.663248 0.596004 0.452638 -vn 0.141923 0.004781 -0.989866 -vn -0.000000 0.003909 -0.999992 -vn 0.141285 0.197838 -0.969999 -vn 0.141285 0.197838 -0.969999 -vn -0.000000 0.003909 -0.999992 -vn 0.000000 0.169328 -0.985560 -vn 0.549889 0.016593 -0.835073 -vn 0.341784 0.005125 -0.939765 -vn 0.556365 0.235871 -0.796758 -vn 0.556365 0.235871 -0.796758 -vn 0.341784 0.005125 -0.939765 -vn 0.340643 0.199708 -0.918738 -vn 0.879747 0.084713 -0.467833 -vn 0.732050 0.035948 -0.680302 -vn 0.838201 0.338530 -0.427570 -vn 0.838201 0.338530 -0.427570 -vn 0.732050 0.035948 -0.680302 -vn 0.730079 0.280919 -0.622953 -vn 0.963144 0.096949 -0.250908 -vn 0.879747 0.084713 -0.467833 -vn 0.899654 0.371805 -0.228876 -vn 0.899654 0.371805 -0.228876 -vn 0.879747 0.084713 -0.467833 -vn 0.838201 0.338530 -0.427570 -vn 0.952537 0.082086 0.293147 -vn 0.963144 0.096949 -0.250908 -vn 0.955533 0.229356 0.185346 -vn 0.955533 0.229356 0.185346 -vn 0.963144 0.096949 -0.250908 -vn 0.899654 0.371805 -0.228876 -vn 0.645109 -0.423749 0.635823 -vn 0.762062 -0.580087 0.287682 -vn 0.652378 0.102382 0.750946 -vn 0.652378 0.102382 0.750946 -vn 0.762062 -0.580087 0.287682 -vn 0.817308 0.373606 0.438665 -vn 0.066628 0.586188 0.807431 -vn 0.829370 -0.508463 0.231538 -vn 0.933139 -0.256382 0.252030 -vn 0.829370 -0.508463 0.231538 -vn 0.066628 0.586188 0.807431 -vn 0.482375 0.684024 0.547198 -vn 0.933139 -0.256382 0.252030 -vn 0.950169 -0.026411 0.310615 -vn 0.066628 0.586188 0.807431 -vn 0.066628 0.586188 0.807431 -vn 0.950169 -0.026411 0.310615 -vn -0.074275 0.267465 0.960701 -vn 0.955533 0.229356 0.185346 -vn 0.818615 -0.123715 0.560860 -vn 0.172799 -0.451525 0.875366 -vn 0.818615 -0.123715 0.560860 -vn 0.955533 0.229356 0.185346 -vn 0.887379 0.408080 0.214547 -vn -0.096717 0.033816 0.994737 -vn 0.955533 0.229356 0.185346 -vn 0.172799 -0.451525 0.875366 -vn 0.955533 0.229356 0.185346 -vn -0.096717 0.033816 0.994737 -vn 0.952537 0.082086 0.293147 -vn 0.127120 -0.776749 -0.616849 -vn -0.000000 -0.775130 -0.631802 -vn 0.105150 -0.721120 -0.684785 -vn 0.105150 -0.721120 -0.684785 -vn -0.000000 -0.775130 -0.631802 -vn 0.000000 -0.711059 -0.703132 -vn 0.213971 -0.821557 -0.528451 -vn 0.127120 -0.776749 -0.616849 -vn 0.219380 -0.740034 -0.635784 -vn 0.219380 -0.740034 -0.635784 -vn 0.127120 -0.776749 -0.616849 -vn 0.105150 -0.721120 -0.684785 -vn 0.372727 -0.870575 -0.321206 -vn 0.308118 -0.845792 -0.435546 -vn 0.433962 -0.796400 -0.421218 -vn 0.433962 -0.796400 -0.421218 -vn 0.308118 -0.845792 -0.435546 -vn 0.339986 -0.770658 -0.538977 -vn 0.411066 -0.888894 -0.202218 -vn 0.372727 -0.870575 -0.321206 -vn 0.499176 -0.817395 -0.287557 -vn 0.499176 -0.817395 -0.287557 -vn 0.372727 -0.870575 -0.321206 -vn 0.433962 -0.796400 -0.421218 -vn 0.440580 -0.890619 -0.112635 -vn 0.411066 -0.888894 -0.202218 -vn 0.547229 -0.823054 -0.152061 -vn 0.547229 -0.823054 -0.152061 -vn 0.411066 -0.888894 -0.202218 -vn 0.499176 -0.817395 -0.287557 -vn 0.762062 -0.580087 0.287682 -vn 0.440580 -0.890619 -0.112635 -vn 0.829370 -0.508463 0.231538 -vn 0.829370 -0.508463 0.231538 -vn 0.440580 -0.890619 -0.112635 -vn 0.547229 -0.823054 -0.152061 -vn 0.762062 -0.580087 0.287682 -vn 0.829370 -0.508463 0.231538 -vn 0.817308 0.373606 0.438665 -vn 0.817308 0.373606 0.438665 -vn 0.829370 -0.508463 0.231538 -vn 0.482375 0.684024 0.547198 -vn 0.822162 0.061563 0.565915 -vn 0.980730 -0.192660 -0.032425 -vn 0.722072 0.167012 0.671356 -vn 0.722072 0.167012 0.671356 -vn 0.980730 -0.192660 -0.032425 -vn 0.968206 -0.249820 0.012937 -vn 0.652378 0.102382 0.750946 -vn 0.817308 0.373606 0.438665 -vn 0.926853 0.296065 0.230845 -vn 0.849402 0.514429 0.117811 -vn 0.817308 0.373606 0.438665 -vn 0.044560 0.961925 0.269656 -vn 0.482375 0.684024 0.547198 -vn 0.066628 0.586188 0.807431 -vn -0.454056 0.816322 0.357003 -vn -0.454056 0.816322 0.357003 -vn 0.066628 0.586188 0.807431 -vn -0.741744 0.469145 0.479291 -vn 0.066628 0.586188 0.807431 -vn -0.074275 0.267465 0.960701 -vn -0.741744 0.469145 0.479291 -vn -0.741744 0.469145 0.479291 -vn -0.074275 0.267465 0.960701 -vn -0.800068 0.182433 0.571498 -vn 0.818615 -0.123715 0.560860 -vn -0.577310 -0.607635 0.545429 -vn 0.172799 -0.451525 0.875366 -vn 0.172799 -0.451525 0.875366 -vn -0.577310 -0.607635 0.545429 -vn -0.757302 -0.341398 0.556724 -vn 0.497236 -0.822134 0.277223 -vn 0.429055 -0.842434 0.325909 -vn 0.489758 -0.824720 0.282797 -vn 0.489758 -0.824720 0.282797 -vn 0.429055 -0.842434 0.325909 -vn 0.413625 -0.846061 0.336297 -vn 0.172799 -0.451525 0.875366 -vn -0.757302 -0.341398 0.556724 -vn -0.096717 0.033816 0.994737 -vn -0.096717 0.033816 0.994737 -vn -0.757302 -0.341398 0.556724 -vn -0.846383 -0.041168 0.530981 -vn 0.817308 0.373606 0.438665 -vn 0.482375 0.684024 0.547198 -vn 0.044560 0.961925 0.269656 -vn 0.044560 0.961925 0.269656 -vn 0.482375 0.684024 0.547198 -vn -0.454056 0.816322 0.357003 -vn 0.722072 0.167012 0.671356 -vn 0.665715 0.458373 0.588828 -vn 0.827008 0.305512 0.471932 -vn 0.665715 0.458373 0.588828 -vn 0.818615 -0.123715 0.560860 -vn 0.887379 0.408080 0.214547 -vn 0.818615 -0.123715 0.560860 -vn 0.665715 0.458373 0.588828 -vn 0.722072 0.167012 0.671356 -vn 0.822162 0.061563 0.565915 -vn 0.687158 0.108164 0.718411 -vn 0.807536 0.080137 0.584349 -vn 0.807536 0.080137 0.584349 -vn 0.687158 0.108164 0.718411 -vn 0.643614 0.102220 0.758493 -vn 0.980730 -0.192660 -0.032425 -vn 0.822162 0.061563 0.565915 -vn 0.992109 -0.110931 -0.058437 -vn 0.992109 -0.110931 -0.058437 -vn 0.822162 0.061563 0.565915 -vn 0.807536 0.080137 0.584349 -vn 0.643794 0.051604 0.763457 -vn 0.645109 -0.423749 0.635823 -vn 0.652378 0.102382 0.750946 -vn 0.762062 -0.580087 0.287682 -vn 0.645109 -0.423749 0.635823 -vn 0.693869 -0.717639 -0.059504 -vn 0.693869 -0.717639 -0.059504 -vn 0.645109 -0.423749 0.635823 -vn 0.734614 -0.292666 0.612119 -vn 0.688953 -0.713776 -0.125968 -vn 0.693869 -0.717639 -0.059504 -vn 0.936547 -0.324609 -0.132316 -vn 0.936547 -0.324609 -0.132316 -vn 0.693869 -0.717639 -0.059504 -vn 0.951661 -0.299535 -0.067968 -vn 0.695502 0.699075 -0.166048 -vn 0.641577 0.697453 -0.319279 -vn 0.737048 0.630837 -0.242495 -vn 0.576935 0.677233 -0.456619 -vn 0.657376 0.599430 -0.456663 -vn 0.641577 0.697453 -0.319279 -vn 0.641577 0.697453 -0.319279 -vn 0.657376 0.599430 -0.456663 -vn 0.737048 0.630837 -0.242495 -vn 0.445043 0.671109 -0.592916 -vn 0.522000 0.565707 -0.638350 -vn 0.576935 0.677233 -0.456619 -vn 0.576935 0.677233 -0.456619 -vn 0.522000 0.565707 -0.638350 -vn 0.657376 0.599430 -0.456663 -vn 0.445043 0.671109 -0.592916 -vn 0.311586 0.626785 -0.714181 -vn 0.522000 0.565707 -0.638350 -vn 0.522000 0.565707 -0.638350 -vn 0.311586 0.626785 -0.714181 -vn 0.366912 0.544933 -0.753938 -vn 0.167735 0.583693 -0.794460 -vn 0.000000 0.578067 -0.815989 -vn 0.182275 0.548030 -0.816357 -vn 0.182275 0.548030 -0.816357 -vn 0.000000 0.578067 -0.815989 -vn 0.000000 0.566147 -0.824304 -vn 0.522554 0.775614 -0.354063 -vn 0.531461 0.826347 -0.186276 -vn 0.657376 0.599430 -0.456663 -vn 0.657376 0.599430 -0.456663 -vn 0.531461 0.826347 -0.186276 -vn 0.737048 0.630837 -0.242495 -vn 0.124090 0.987698 -0.095156 -vn 0.155681 0.954668 -0.253718 -vn 0.000000 0.996295 -0.085997 -vn 0.000000 0.996295 -0.085997 -vn 0.155681 0.954668 -0.253718 -vn 0.000000 0.968551 -0.248813 -vn 0.155681 0.954668 -0.253718 -vn 0.174351 0.814871 -0.552800 -vn 0.000000 0.968551 -0.248813 -vn 0.000000 0.968551 -0.248813 -vn 0.174351 0.814871 -0.552800 -vn -0.000000 0.828372 -0.560179 -vn 0.370339 0.773014 -0.515071 -vn 0.522554 0.775614 -0.354063 -vn 0.522000 0.565707 -0.638350 -vn 0.522000 0.565707 -0.638350 -vn 0.522554 0.775614 -0.354063 -vn 0.657376 0.599430 -0.456663 -vn 0.366912 0.544933 -0.753938 -vn 0.370339 0.773014 -0.515071 -vn 0.522000 0.565707 -0.638350 -vn 0.000000 0.566147 -0.824304 -vn -0.000000 0.828372 -0.560179 -vn 0.182275 0.548030 -0.816357 -vn 0.182275 0.548030 -0.816357 -vn -0.000000 0.828372 -0.560179 -vn 0.174351 0.814871 -0.552800 -vn 0.370339 0.773014 -0.515071 -vn 0.283844 0.920677 -0.267929 -vn 0.522554 0.775614 -0.354063 -vn 0.283844 0.920677 -0.267929 -vn 0.289060 0.948825 -0.127180 -vn 0.522554 0.775614 -0.354063 -vn 0.522554 0.775614 -0.354063 -vn 0.289060 0.948825 -0.127180 -vn 0.531461 0.826347 -0.186276 -vn 0.811511 0.582008 0.052118 -vn 0.564449 0.824801 0.033177 -vn 0.813126 0.562843 0.148437 -vn 0.813126 0.562843 0.148437 -vn 0.564449 0.824801 0.033177 -vn 0.586343 0.801355 0.118456 -vn 0.107263 0.993482 0.038571 -vn -0.000000 0.999113 0.042110 -vn 0.101507 0.989456 0.103309 -vn 0.101507 0.989456 0.103309 -vn -0.000000 0.999113 0.042110 -vn -0.000000 0.994745 0.102388 -vn 0.564449 0.824801 0.033177 -vn 0.285655 0.957858 0.030146 -vn 0.586343 0.801355 0.118456 -vn 0.586343 0.801355 0.118456 -vn 0.285655 0.957858 0.030146 -vn 0.271656 0.956444 0.106859 -vn 0.675523 0.489859 0.551096 -vn 0.790476 0.510996 0.337684 -vn 0.504243 0.754679 0.419760 -vn 0.504243 0.754679 0.419760 -vn 0.790476 0.510996 0.337684 -vn 0.566436 0.773715 0.283751 -vn 0.306688 0.839558 0.448424 -vn 0.395709 0.594759 0.699769 -vn 0.504243 0.754679 0.419760 -vn 0.504243 0.754679 0.419760 -vn 0.395709 0.594759 0.699769 -vn 0.675523 0.489859 0.551096 -vn 0.000000 0.644588 0.764530 -vn 0.172841 0.641260 0.747604 -vn -0.000000 0.890696 0.454600 -vn -0.000000 0.890696 0.454600 -vn 0.172841 0.641260 0.747604 -vn 0.151422 0.882115 0.446031 -vn 0.114776 0.969606 0.216080 -vn -0.000000 0.977356 0.211603 -vn 0.151422 0.882115 0.446031 -vn 0.151422 0.882115 0.446031 -vn -0.000000 0.977356 0.211603 -vn -0.000000 0.890696 0.454600 -vn 0.306688 0.839558 0.448424 -vn 0.504243 0.754679 0.419760 -vn 0.269387 0.933644 0.236092 -vn 0.269387 0.933644 0.236092 -vn 0.504243 0.754679 0.419760 -vn 0.566436 0.773715 0.283751 -vn 0.775527 -0.000898 0.631313 -vn 0.992653 0.114144 0.040135 -vn 0.790440 0.189724 0.582417 -vn 0.879022 -0.245419 0.408766 -vn 0.992653 0.114144 0.040135 -vn 0.775527 -0.000898 0.631313 -vn 0.964631 0.193831 0.178653 -vn 0.992653 0.114144 0.040135 -vn 0.879022 -0.245419 0.408766 -vn 0.992653 0.114144 0.040135 -vn 0.964631 0.193831 0.178653 -vn 0.965976 0.251500 0.060315 -vn 0.787499 0.326946 0.522448 -vn 0.998468 0.034872 0.042952 -vn 0.827008 0.305512 0.471932 -vn 0.827008 0.305512 0.471932 -vn 0.998468 0.034872 0.042952 -vn 0.731349 0.176702 0.658715 -vn 0.941576 0.289157 0.172692 -vn 0.987901 0.136372 0.073847 -vn 0.965976 0.251500 0.060315 -vn 0.965976 0.251500 0.060315 -vn 0.987901 0.136372 0.073847 -vn 0.992653 0.114144 0.040135 -vn 0.965976 0.251500 0.060315 -vn 0.905940 0.384539 0.177207 -vn 0.941576 0.289157 0.172692 -vn 0.921473 0.383876 0.059379 -vn 0.905940 0.384539 0.177207 -vn 0.965976 0.251500 0.060315 -vn 0.730356 0.204967 0.651589 -vn 0.877960 0.234283 0.417490 -vn 0.736229 0.256875 0.626085 -vn 0.736229 0.256875 0.626085 -vn 0.877960 0.234283 0.417490 -vn 0.859273 0.317420 0.401117 -vn 0.730356 0.204967 0.651589 -vn 0.736229 0.256875 0.626085 -vn 0.478164 0.165313 0.862572 -vn 0.478164 0.165313 0.862572 -vn 0.736229 0.256875 0.626085 -vn 0.464356 0.290440 0.836671 -vn -0.000000 0.342544 0.939502 -vn 0.000000 0.200670 0.979659 -vn 0.190440 0.332540 0.923661 -vn 0.190440 0.332540 0.923661 -vn 0.000000 0.200670 0.979659 -vn 0.189718 0.191129 0.963056 -vn 0.811511 0.582008 0.052118 -vn 0.813126 0.562843 0.148437 -vn 0.921473 0.383876 0.059379 -vn 0.921473 0.383876 0.059379 -vn 0.813126 0.562843 0.148437 -vn 0.905940 0.384539 0.177207 -vn 0.859273 0.317420 0.401117 -vn 0.790476 0.510996 0.337684 -vn 0.736229 0.256875 0.626085 -vn 0.736229 0.256875 0.626085 -vn 0.790476 0.510996 0.337684 -vn 0.675523 0.489859 0.551096 -vn 0.395709 0.594759 0.699769 -vn 0.464356 0.290440 0.836671 -vn 0.675523 0.489859 0.551096 -vn 0.675523 0.489859 0.551096 -vn 0.464356 0.290440 0.836671 -vn 0.736229 0.256875 0.626085 -vn 0.190440 0.332540 0.923661 -vn 0.172841 0.641260 0.747604 -vn -0.000000 0.342544 0.939502 -vn -0.000000 0.342544 0.939502 -vn 0.172841 0.641260 0.747604 -vn 0.000000 0.644588 0.764530 -vn 0.113784 0.993394 -0.014901 -vn -0.000000 0.999950 -0.010010 -vn 0.107263 0.993482 0.038571 -vn 0.107263 0.993482 0.038571 -vn -0.000000 0.999950 -0.010010 -vn -0.000000 0.999113 0.042110 -vn 0.285655 0.957858 0.030146 -vn 0.564449 0.824801 0.033177 -vn 0.293378 0.955452 -0.032274 -vn 0.293378 0.955452 -0.032274 -vn 0.564449 0.824801 0.033177 -vn 0.558464 0.827906 -0.051870 -vn 0.558464 0.827906 -0.051870 -vn 0.564449 0.824801 0.033177 -vn 0.795043 0.603545 -0.060330 -vn 0.795043 0.603545 -0.060330 -vn 0.564449 0.824801 0.033177 -vn 0.811511 0.582008 0.052118 -vn 0.872500 0.486439 0.046048 -vn 0.795043 0.603545 -0.060330 -vn 0.921473 0.383876 0.059379 -vn 0.921473 0.383876 0.059379 -vn 0.795043 0.603545 -0.060330 -vn 0.811511 0.582008 0.052118 -vn 0.910702 0.410936 -0.041879 -vn 0.887379 0.408080 0.214547 -vn 0.775796 0.611274 -0.156478 -vn 0.665715 0.458373 0.588828 -vn 0.910702 0.410936 -0.041879 -vn 0.663248 0.596004 0.452638 -vn 0.795043 0.603545 -0.060330 -vn 0.737048 0.630837 -0.242495 -vn 0.558464 0.827906 -0.051870 -vn 0.558464 0.827906 -0.051870 -vn 0.737048 0.630837 -0.242495 -vn 0.531461 0.826347 -0.186276 -vn 0.558464 0.827906 -0.051870 -vn 0.531461 0.826347 -0.186276 -vn 0.293378 0.955452 -0.032274 -vn 0.293378 0.955452 -0.032274 -vn 0.531461 0.826347 -0.186276 -vn 0.289060 0.948825 -0.127180 -vn 0.000000 0.996295 -0.085997 -vn -0.000000 0.999950 -0.010010 -vn 0.124090 0.987698 -0.095156 -vn 0.124090 0.987698 -0.095156 -vn -0.000000 0.999950 -0.010010 -vn 0.113784 0.993394 -0.014901 -vn 0.895262 0.186285 0.404727 -vn 0.883142 0.315792 0.346895 -vn 0.775527 -0.000898 0.631313 -vn 0.775527 -0.000898 0.631313 -vn 0.883142 0.315792 0.346895 -vn 0.879022 -0.245419 0.408766 -vn 0.964631 0.193831 0.178653 -vn 0.883142 0.315792 0.346895 -vn 0.872500 0.486439 0.046048 -vn 0.737048 0.630837 -0.242495 -vn 0.795043 0.603545 -0.060330 -vn 0.695502 0.699075 -0.166048 -vn 0.695502 0.699075 -0.166048 -vn 0.795043 0.603545 -0.060330 -vn 0.872500 0.486439 0.046048 -vn 0.762062 -0.580087 0.287682 -vn 0.693869 -0.717639 -0.059504 -vn 0.440580 -0.890619 -0.112635 -vn 0.440580 -0.890619 -0.112635 -vn 0.693869 -0.717639 -0.059504 -vn 0.688953 -0.713776 -0.125968 -vn 0.643614 0.102220 0.758493 -vn 0.869836 -0.056841 0.490055 -vn 0.643794 0.051604 0.763457 -vn 0.643794 0.051604 0.763457 -vn 0.869836 -0.056841 0.490055 -vn 0.833627 -0.033590 0.551305 -vn 0.807536 0.080137 0.584349 -vn 0.643614 0.102220 0.758493 -vn 0.652378 0.102382 0.750946 -vn 0.652378 0.102382 0.750946 -vn 0.643614 0.102220 0.758493 -vn 0.643794 0.051604 0.763457 -vn 0.652378 0.102382 0.750946 -vn 0.926853 0.296065 0.230845 -vn 0.807536 0.080137 0.584349 -vn 0.807536 0.080137 0.584349 -vn 0.849402 0.514429 0.117811 -vn 0.992109 -0.110931 -0.058437 -vn 0.998468 0.034872 0.042952 -vn 0.787499 0.326946 0.522448 -vn 0.992653 0.114144 0.040135 -vn 0.000000 0.077721 -0.996975 -vn 0.000000 0.152101 -0.988365 -vn 0.103853 0.070740 -0.992074 -vn 0.103853 0.070740 -0.992074 -vn 0.000000 0.152101 -0.988365 -vn 0.170294 0.181676 -0.968501 -vn 0.402909 -0.008557 -0.915200 -vn 0.394310 0.036711 -0.918244 -vn 0.339259 0.010099 -0.940639 -vn 0.339259 0.010099 -0.940639 -vn 0.394310 0.036711 -0.918244 -vn 0.341576 0.029789 -0.939382 -vn 0.402909 -0.008557 -0.915200 -vn 0.452658 0.019859 -0.891463 -vn 0.394310 0.036711 -0.918244 -vn 0.394310 0.036711 -0.918244 -vn 0.452658 0.019859 -0.891463 -vn 0.426493 0.056983 -0.902694 -vn 0.911055 0.107518 -0.398019 -vn 0.783256 0.126122 -0.608771 -vn 0.891648 0.172871 -0.418426 -vn 0.891648 0.172871 -0.418426 -vn 0.783256 0.126122 -0.608771 -vn 0.767576 0.190717 -0.611926 -vn 0.978524 0.071526 -0.193328 -vn 0.911055 0.107518 -0.398019 -vn 0.963287 0.140801 -0.228590 -vn 0.963287 0.140801 -0.228590 -vn 0.911055 0.107518 -0.398019 -vn 0.891648 0.172871 -0.418426 -vn 0.784323 -0.020364 0.620019 -vn 0.804548 -0.044303 0.592232 -vn 0.791556 -0.097603 0.603252 -vn 0.643794 0.051604 0.763457 -vn 0.784323 -0.020364 0.620019 -vn 0.865823 -0.075119 0.494680 -vn 0.865823 -0.075119 0.494680 -vn 0.784323 -0.020364 0.620019 -vn 0.894455 -0.085918 0.438826 -vn 0.894455 -0.085918 0.438826 -vn 0.987210 -0.158821 -0.013868 -vn 0.865823 -0.075119 0.494680 -vn 0.865823 -0.075119 0.494680 -vn 0.987210 -0.158821 -0.013868 -vn 0.951661 -0.299535 -0.067968 -vn 0.936547 -0.324609 -0.132316 -vn 0.951661 -0.299535 -0.067968 -vn 0.986121 -0.113166 -0.121487 -vn 0.986121 -0.113166 -0.121487 -vn 0.951661 -0.299535 -0.067968 -vn 0.987210 -0.158821 -0.013868 -vn 0.911130 -0.251283 -0.326649 -vn 0.936547 -0.324609 -0.132316 -vn 0.944819 -0.103296 -0.310882 -vn 0.944819 -0.103296 -0.310882 -vn 0.936547 -0.324609 -0.132316 -vn 0.986121 -0.113166 -0.121487 -vn 0.776501 -0.261174 -0.573441 -vn 0.911130 -0.251283 -0.326649 -vn 0.817637 -0.091284 -0.568451 -vn 0.817637 -0.091284 -0.568451 -vn 0.911130 -0.251283 -0.326649 -vn 0.944819 -0.103296 -0.310882 -vn 0.582436 -0.291964 -0.758634 -vn 0.776501 -0.261174 -0.573441 -vn 0.615939 -0.083779 -0.783326 -vn 0.615939 -0.083779 -0.783326 -vn 0.776501 -0.261174 -0.573441 -vn 0.817637 -0.091284 -0.568451 -vn 0.203644 -0.349140 -0.914675 -vn 0.389637 -0.317883 -0.864369 -vn 0.205817 -0.136223 -0.969063 -vn 0.205817 -0.136223 -0.969063 -vn 0.389637 -0.317883 -0.864369 -vn 0.394315 -0.101461 -0.913357 -vn 0.000000 -0.346225 -0.938152 -vn 0.203644 -0.349140 -0.914675 -vn 0.000000 -0.144658 -0.989482 -vn 0.000000 -0.144658 -0.989482 -vn 0.203644 -0.349140 -0.914675 -vn 0.205817 -0.136223 -0.969063 -vn 0.000000 -0.139213 -0.990262 -vn -0.000000 0.003909 -0.999992 -vn 0.143223 -0.147346 -0.978661 -vn 0.143223 -0.147346 -0.978661 -vn -0.000000 0.003909 -0.999992 -vn 0.141923 0.004781 -0.989866 -vn 0.338040 -0.168109 -0.925996 -vn 0.143223 -0.147346 -0.978661 -vn 0.341784 0.005125 -0.939765 -vn 0.341784 0.005125 -0.939765 -vn 0.143223 -0.147346 -0.978661 -vn 0.141923 0.004781 -0.989866 -vn 0.707443 -0.172771 -0.685328 -vn 0.530815 -0.169218 -0.830422 -vn 0.732050 0.035948 -0.680302 -vn 0.732050 0.035948 -0.680302 -vn 0.530815 -0.169218 -0.830422 -vn 0.549889 0.016593 -0.835073 -vn 0.861660 -0.163786 -0.480330 -vn 0.707443 -0.172771 -0.685328 -vn 0.879747 0.084713 -0.467833 -vn 0.879747 0.084713 -0.467833 -vn 0.707443 -0.172771 -0.685328 -vn 0.732050 0.035948 -0.680302 -vn 0.957770 -0.134386 -0.254199 -vn 0.861660 -0.163786 -0.480330 -vn 0.963144 0.096949 -0.250908 -vn 0.963144 0.096949 -0.250908 -vn 0.861660 -0.163786 -0.480330 -vn 0.879747 0.084713 -0.467833 -vn 0.950169 -0.026411 0.310615 -vn 0.957770 -0.134386 -0.254199 -vn 0.952537 0.082086 0.293147 -vn 0.952537 0.082086 0.293147 -vn 0.957770 -0.134386 -0.254199 -vn 0.963144 0.096949 -0.250908 -vn 0.952537 0.082086 0.293147 -vn -0.096717 0.033816 0.994737 -vn 0.950169 -0.026411 0.310615 -vn 0.950169 -0.026411 0.310615 -vn -0.096717 0.033816 0.994737 -vn -0.074275 0.267465 0.960701 -vn -0.074275 0.267465 0.960701 -vn -0.096717 0.033816 0.994737 -vn -0.800068 0.182433 0.571498 -vn -0.800068 0.182433 0.571498 -vn -0.096717 0.033816 0.994737 -vn -0.846383 -0.041168 0.530981 -vn 0.869836 -0.056841 0.490055 -vn 0.643614 0.102220 0.758493 -vn 0.905834 -0.117974 0.406875 -vn 0.905834 -0.117974 0.406875 -vn 0.643614 0.102220 0.758493 -vn 0.687158 0.108164 0.718411 -vn 0.965976 0.251500 0.060315 -vn 0.964631 0.193831 0.178653 -vn 0.921473 0.383876 0.059379 -vn 0.921473 0.383876 0.059379 -vn 0.964631 0.193831 0.178653 -vn 0.872500 0.486439 0.046048 -vn 0.614486 0.229061 -0.754942 -vn 0.767576 0.190717 -0.611926 -vn 0.698707 0.118060 -0.705599 -vn 0.698707 0.118060 -0.705599 -vn 0.767576 0.190717 -0.611926 -vn 0.783256 0.126122 -0.608771 -vn 0.727146 0.408695 -0.551567 -vn 0.561493 0.486609 -0.669281 -vn 0.783256 0.126122 -0.608771 -vn 0.783256 0.126122 -0.608771 -vn 0.561493 0.486609 -0.669281 -vn 0.698707 0.118060 -0.705599 -vn 0.670026 0.523745 -0.526077 -vn 0.515036 0.508272 -0.690216 -vn 0.727146 0.408695 -0.551567 -vn 0.727146 0.408695 -0.551567 -vn 0.515036 0.508272 -0.690216 -vn 0.561493 0.486609 -0.669281 -vn 0.730079 0.280919 -0.622953 -vn 0.556365 0.235871 -0.796758 -vn 0.670026 0.523745 -0.526077 -vn 0.670026 0.523745 -0.526077 -vn 0.556365 0.235871 -0.796758 -vn 0.515036 0.508272 -0.690216 -vn 0.732050 0.035948 -0.680302 -vn 0.549889 0.016593 -0.835073 -vn 0.730079 0.280919 -0.622953 -vn 0.730079 0.280919 -0.622953 -vn 0.549889 0.016593 -0.835073 -vn 0.556365 0.235871 -0.796758 -vn 0.137038 0.934417 -0.328765 -vn 0.229349 0.870656 -0.435152 -vn 0.141598 0.929887 -0.339500 -vn 0.141598 0.929887 -0.339500 -vn 0.229349 0.870656 -0.435152 -vn 0.233757 0.866197 -0.441656 -vn 0.151357 0.841808 -0.518122 -vn 0.149833 0.848035 -0.508318 -vn 0.141598 0.929887 -0.339500 -vn 0.141598 0.929887 -0.339500 -vn 0.149833 0.848035 -0.508318 -vn 0.137038 0.934417 -0.328765 -vn 0.783017 -0.101303 -0.613695 -vn 0.819661 -0.094117 -0.565065 -vn 0.787275 -0.100989 -0.608276 -vn 0.787275 -0.100989 -0.608276 -vn 0.819661 -0.094117 -0.565065 -vn 0.824120 -0.095081 -0.558377 -vn -0.219733 -0.075510 -0.972633 -vn -0.207125 -0.070360 -0.975781 -vn -0.113867 -0.056451 -0.991891 -vn -0.113867 -0.056451 -0.991891 -vn -0.207125 -0.070360 -0.975781 -vn -0.100825 -0.056839 -0.993279 -vn 0.796721 -0.072073 -0.600035 -vn 0.799694 -0.074176 -0.595808 -vn 0.819661 -0.094117 -0.565065 -vn 0.819661 -0.094117 -0.565065 -vn 0.799694 -0.074176 -0.595808 -vn 0.824120 -0.095081 -0.558377 -vn 0.262423 -0.608163 -0.749181 -vn 0.326439 -0.587395 -0.740544 -vn 0.262466 -0.605799 -0.751078 -vn 0.262466 -0.605799 -0.751078 -vn 0.326439 -0.587395 -0.740544 -vn 0.325064 -0.583268 -0.744400 -vn 0.325064 -0.583268 -0.744400 -vn 0.326439 -0.587395 -0.740544 -vn 0.368755 -0.617809 -0.694501 -vn 0.368755 -0.617809 -0.694501 -vn 0.326439 -0.587395 -0.740544 -vn 0.366732 -0.621124 -0.692613 -vn -0.135651 -0.058713 -0.989016 -vn -0.207125 -0.070360 -0.975781 -vn -0.144397 -0.062565 -0.987540 -vn -0.144397 -0.062565 -0.987540 -vn -0.207125 -0.070360 -0.975781 -vn -0.219733 -0.075510 -0.972633 -vn 0.530815 -0.169218 -0.830422 -vn 0.338040 -0.168109 -0.925996 -vn 0.549889 0.016593 -0.835073 -vn 0.549889 0.016593 -0.835073 -vn 0.338040 -0.168109 -0.925996 -vn 0.341784 0.005125 -0.939765 -vn 0.474424 -0.451462 -0.755715 -vn 0.298918 -0.442208 -0.845636 -vn 0.530815 -0.169218 -0.830422 -vn 0.530815 -0.169218 -0.830422 -vn 0.298918 -0.442208 -0.845636 -vn 0.338040 -0.168109 -0.925996 -vn 0.339986 -0.770658 -0.538977 -vn 0.219380 -0.740034 -0.635784 -vn 0.474424 -0.451462 -0.755715 -vn 0.474424 -0.451462 -0.755715 -vn 0.219380 -0.740034 -0.635784 -vn 0.298918 -0.442208 -0.845636 -vn 0.308118 -0.845792 -0.435546 -vn 0.213971 -0.821557 -0.528451 -vn 0.339986 -0.770658 -0.538977 -vn 0.339986 -0.770658 -0.538977 -vn 0.213971 -0.821557 -0.528451 -vn 0.219380 -0.740034 -0.635784 -vn 0.450135 -0.670894 -0.589305 -vn 0.303200 -0.657246 -0.689998 -vn 0.308118 -0.845792 -0.435546 -vn 0.308118 -0.845792 -0.435546 -vn 0.303200 -0.657246 -0.689998 -vn 0.213971 -0.821557 -0.528451 -vn 0.303200 -0.657246 -0.689998 -vn 0.450135 -0.670894 -0.589305 -vn 0.389637 -0.317883 -0.864369 -vn 0.389637 -0.317883 -0.864369 -vn 0.450135 -0.670894 -0.589305 -vn 0.582436 -0.291964 -0.758634 -vn 0.389637 -0.317883 -0.864369 -vn 0.582436 -0.291964 -0.758634 -vn 0.394315 -0.101461 -0.913357 -vn 0.394315 -0.101461 -0.913357 -vn 0.582436 -0.291964 -0.758634 -vn 0.615939 -0.083779 -0.783326 -vn 0.341784 0.005125 -0.939765 -vn 0.141923 0.004781 -0.989866 -vn 0.340643 0.199708 -0.918738 -vn 0.340643 0.199708 -0.918738 -vn 0.141923 0.004781 -0.989866 -vn 0.141285 0.197838 -0.969999 -vn 0.379772 0.322230 -0.867145 -vn 0.186911 0.318785 -0.929215 -vn 0.297017 0.614079 -0.731223 -vn 0.297017 0.614079 -0.731223 -vn 0.186911 0.318785 -0.929215 -vn 0.160628 0.572026 -0.804354 -vn 0.297017 0.614079 -0.731223 -vn 0.160628 0.572026 -0.804354 -vn 0.311586 0.626785 -0.714181 -vn 0.311586 0.626785 -0.714181 -vn 0.160628 0.572026 -0.804354 -vn 0.167735 0.583693 -0.794460 -vn 0.311586 0.626785 -0.714181 -vn 0.167735 0.583693 -0.794460 -vn 0.366912 0.544933 -0.753938 -vn 0.366912 0.544933 -0.753938 -vn 0.167735 0.583693 -0.794460 -vn 0.182275 0.548030 -0.816357 -vn 0.182275 0.548030 -0.816357 -vn 0.174351 0.814871 -0.552800 -vn 0.366912 0.544933 -0.753938 -vn 0.366912 0.544933 -0.753938 -vn 0.174351 0.814871 -0.552800 -vn 0.370339 0.773014 -0.515071 -vn 0.174351 0.814871 -0.552800 -vn 0.155681 0.954668 -0.253718 -vn 0.370339 0.773014 -0.515071 -vn 0.370339 0.773014 -0.515071 -vn 0.155681 0.954668 -0.253718 -vn 0.283844 0.920677 -0.267929 -vn 0.155681 0.954668 -0.253718 -vn 0.124090 0.987698 -0.095156 -vn 0.283844 0.920677 -0.267929 -vn 0.283844 0.920677 -0.267929 -vn 0.124090 0.987698 -0.095156 -vn 0.289060 0.948825 -0.127180 -vn 0.124090 0.987698 -0.095156 -vn 0.113784 0.993394 -0.014901 -vn 0.289060 0.948825 -0.127180 -vn 0.289060 0.948825 -0.127180 -vn 0.113784 0.993394 -0.014901 -vn 0.293378 0.955452 -0.032274 -vn 0.107263 0.993482 0.038571 -vn 0.285655 0.957858 0.030146 -vn 0.113784 0.993394 -0.014901 -vn 0.113784 0.993394 -0.014901 -vn 0.285655 0.957858 0.030146 -vn 0.293378 0.955452 -0.032274 -vn 0.285655 0.957858 0.030146 -vn 0.107263 0.993482 0.038571 -vn 0.271656 0.956444 0.106859 -vn 0.271656 0.956444 0.106859 -vn 0.107263 0.993482 0.038571 -vn 0.101507 0.989456 0.103309 -vn 0.151422 0.882115 0.446031 -vn 0.306688 0.839558 0.448424 -vn 0.114776 0.969606 0.216080 -vn 0.114776 0.969606 0.216080 -vn 0.306688 0.839558 0.448424 -vn 0.269387 0.933644 0.236092 -vn 0.172841 0.641260 0.747604 -vn 0.395709 0.594759 0.699769 -vn 0.151422 0.882115 0.446031 -vn 0.151422 0.882115 0.446031 -vn 0.395709 0.594759 0.699769 -vn 0.306688 0.839558 0.448424 -vn 0.172841 0.641260 0.747604 -vn 0.190440 0.332540 0.923661 -vn 0.395709 0.594759 0.699769 -vn 0.395709 0.594759 0.699769 -vn 0.190440 0.332540 0.923661 -vn 0.464356 0.290440 0.836671 -vn 0.478164 0.165313 0.862572 -vn 0.464356 0.290440 0.836671 -vn 0.189718 0.191129 0.963056 -vn 0.189718 0.191129 0.963056 -vn 0.464356 0.290440 0.836671 -vn 0.190440 0.332540 0.923661 -vn 0.186911 0.318785 -0.929215 -vn 0.379772 0.322230 -0.867145 -vn 0.170294 0.181676 -0.968501 -vn 0.170294 0.181676 -0.968501 -vn 0.379772 0.322230 -0.867145 -vn 0.409926 0.237447 -0.880670 -vn 0.000000 0.303281 -0.952901 -vn 0.186911 0.318785 -0.929215 -vn 0.000000 0.152101 -0.988365 -vn 0.000000 0.152101 -0.988365 -vn 0.186911 0.318785 -0.929215 -vn 0.170294 0.181676 -0.968501 -vn 0.379772 0.322230 -0.867145 -vn 0.565694 0.317444 -0.761065 -vn 0.409926 0.237447 -0.880670 -vn 0.409926 0.237447 -0.880670 -vn 0.565694 0.317444 -0.761065 -vn 0.614486 0.229061 -0.754942 -vn 0.767576 0.190717 -0.611926 -vn 0.614486 0.229061 -0.754942 -vn 0.708098 0.345784 -0.615654 -vn 0.708098 0.345784 -0.615654 -vn 0.614486 0.229061 -0.754942 -vn 0.565694 0.317444 -0.761065 -vn 0.978524 0.071526 -0.193328 -vn 0.963287 0.140801 -0.228590 -vn 0.865780 0.298022 0.402004 -vn 0.963287 0.140801 -0.228590 -vn 0.887417 0.192326 0.418929 -vn 0.865780 0.298022 0.402004 -vn 0.787499 0.326946 0.522448 -vn 0.865780 0.298022 0.402004 -vn 0.790440 0.189724 0.582417 -vn 0.790440 0.189724 0.582417 -vn 0.865780 0.298022 0.402004 -vn 0.887417 0.192326 0.418929 -vn 0.790440 0.189724 0.582417 -vn 0.992653 0.114144 0.040135 -vn 0.787499 0.326946 0.522448 -vn 0.804548 -0.044303 0.592232 -vn 0.833627 -0.033590 0.551305 -vn 0.796174 -0.034614 0.604077 -vn 0.865823 -0.075119 0.494680 -vn 0.734614 -0.292666 0.612119 -vn 0.643794 0.051604 0.763457 -vn 0.998468 0.034872 0.042952 -vn 0.992653 0.114144 0.040135 -vn 0.998297 0.019801 0.054872 -vn 0.998297 0.019801 0.054872 -vn 0.992653 0.114144 0.040135 -vn 0.987901 0.136372 0.073847 -vn 0.731349 0.176702 0.658715 -vn 0.926994 -0.129511 0.352007 -vn 0.687158 0.108164 0.718411 -vn 0.687158 0.108164 0.718411 -vn 0.926994 -0.129511 0.352007 -vn 0.905834 -0.117974 0.406875 -vn 0.216505 -0.964012 0.154295 -vn 0.344016 -0.936633 0.066114 -vn 0.128723 -0.973951 0.186681 -vn 0.804548 -0.044303 0.592232 -vn 0.796174 -0.034614 0.604077 -vn 0.791053 -0.070536 0.607668 -vn 0.051570 -0.896247 0.440547 -vn 0.055472 -0.996740 -0.058593 -vn 0.035555 -0.976723 0.211536 -vn 0.035555 -0.976723 0.211536 -vn 0.055472 -0.996740 -0.058593 -vn 0.040877 -0.998968 -0.019776 -vn 0.173479 0.168868 0.970252 -vn 0.170701 0.176661 0.969357 -vn 0.103368 0.223513 0.969204 -vn 0.103368 0.223513 0.969204 -vn 0.170701 0.176661 0.969357 -vn 0.097159 0.235044 0.967117 -vn 0.052936 0.216365 0.974876 -vn 0.064598 0.228971 0.971287 -vn 0.097159 0.235044 0.967117 -vn 0.097159 0.235044 0.967117 -vn 0.064598 0.228971 0.971287 -vn 0.103368 0.223513 0.969204 -vn 0.170701 0.176661 0.969357 -vn 0.173479 0.168868 0.970252 -vn 0.168149 0.101726 0.980499 -vn 0.168149 0.101726 0.980499 -vn 0.173479 0.168868 0.970252 -vn 0.164097 0.082307 0.983004 -vn 0.064598 0.228971 0.971287 -vn 0.052936 0.216365 0.974876 -vn 0.028834 -0.044924 0.998574 -vn 0.028834 -0.044924 0.998574 -vn 0.052936 0.216365 0.974876 -vn 0.002361 -0.045708 0.998952 -vn 0.116158 0.033510 0.992665 -vn 0.123951 0.033775 0.991713 -vn 0.164097 0.082307 0.983004 -vn 0.164097 0.082307 0.983004 -vn 0.123951 0.033775 0.991713 -vn 0.168149 0.101726 0.980499 -vn 0.082393 -0.961065 0.263752 -vn 0.216505 -0.964012 0.154295 -vn 0.031297 -0.968343 0.247652 -vn 0.031297 -0.968343 0.247652 -vn 0.216505 -0.964012 0.154295 -vn 0.128723 -0.973951 0.186681 -vn 0.035555 -0.976723 0.211536 -vn 0.069238 -0.603543 0.794318 -vn 0.051570 -0.896247 0.440547 -vn 0.051570 -0.896247 0.440547 -vn 0.069238 -0.603543 0.794318 -vn 0.059046 -0.495915 0.866361 -vn -0.073850 -0.984960 -0.156207 -vn -0.011693 -0.985385 -0.169942 -vn -0.066127 -0.984212 -0.164178 -vn -0.066127 -0.984212 -0.164178 -vn -0.011693 -0.985385 -0.169942 -vn -0.001533 -0.984680 -0.174366 -vn -0.093677 -0.987412 -0.127443 -vn -0.073850 -0.984960 -0.156207 -vn -0.091072 -0.986479 -0.136255 -vn -0.091072 -0.986479 -0.136255 -vn -0.073850 -0.984960 -0.156207 -vn -0.066127 -0.984212 -0.164178 -vn 0.000000 -0.998857 -0.047789 -vn -0.055000 -0.996369 -0.064993 -vn -0.000000 -0.998702 -0.050933 -vn -0.000000 -0.998702 -0.050933 -vn -0.055000 -0.996369 -0.064993 -vn -0.055740 -0.996133 -0.067916 -vn -0.011693 -0.985385 -0.169942 -vn 0.049456 -0.988223 -0.144810 -vn -0.001533 -0.984680 -0.174366 -vn -0.001533 -0.984680 -0.174366 -vn 0.049456 -0.988223 -0.144810 -vn 0.055033 -0.987514 -0.147607 -vn 0.049456 -0.988223 -0.144810 -vn 0.071620 -0.991106 -0.112155 -vn 0.055033 -0.987514 -0.147607 -vn 0.055033 -0.987514 -0.147607 -vn 0.071620 -0.991106 -0.112155 -vn 0.073058 -0.990988 -0.112275 -vn 0.073058 -0.990988 -0.112275 -vn 0.071620 -0.991106 -0.112155 -vn 0.055472 -0.996740 -0.058593 -vn 0.055472 -0.996740 -0.058593 -vn 0.071620 -0.991106 -0.112155 -vn 0.060234 -0.996137 -0.063893 -vn 0.055472 -0.996740 -0.058593 -vn 0.060234 -0.996137 -0.063893 -vn 0.040877 -0.998968 -0.019776 -vn -0.085404 -0.992811 -0.083858 -vn -0.093677 -0.987412 -0.127443 -vn -0.085338 -0.992316 -0.089595 -vn -0.085338 -0.992316 -0.089595 -vn -0.093677 -0.987412 -0.127443 -vn -0.091072 -0.986479 -0.136255 -vn -0.055000 -0.996369 -0.064993 -vn -0.085404 -0.992811 -0.083858 -vn -0.055740 -0.996133 -0.067916 -vn -0.055740 -0.996133 -0.067916 -vn -0.085404 -0.992811 -0.083858 -vn -0.085338 -0.992316 -0.089595 -vn 0.905940 0.384539 0.177207 -vn 0.859273 0.317420 0.401117 -vn 0.941576 0.289157 0.172692 -vn 0.941576 0.289157 0.172692 -vn 0.859273 0.317420 0.401117 -vn 0.877960 0.234283 0.417490 -vn 0.101507 0.989456 0.103309 -vn -0.000000 0.994745 0.102388 -vn 0.114776 0.969606 0.216080 -vn 0.114776 0.969606 0.216080 -vn -0.000000 0.994745 0.102388 -vn -0.000000 0.977356 0.211603 -vn 0.271656 0.956444 0.106859 -vn 0.101507 0.989456 0.103309 -vn 0.269387 0.933644 0.236092 -vn 0.269387 0.933644 0.236092 -vn 0.101507 0.989456 0.103309 -vn 0.114776 0.969606 0.216080 -vn 0.586343 0.801355 0.118456 -vn 0.271656 0.956444 0.106859 -vn 0.566436 0.773715 0.283751 -vn 0.566436 0.773715 0.283751 -vn 0.271656 0.956444 0.106859 -vn 0.269387 0.933644 0.236092 -vn 0.813126 0.562843 0.148437 -vn 0.586343 0.801355 0.118456 -vn 0.790476 0.510996 0.337684 -vn 0.790476 0.510996 0.337684 -vn 0.586343 0.801355 0.118456 -vn 0.566436 0.773715 0.283751 -vn 0.813126 0.562843 0.148437 -vn 0.790476 0.510996 0.337684 -vn 0.905940 0.384539 0.177207 -vn 0.905940 0.384539 0.177207 -vn 0.790476 0.510996 0.337684 -vn 0.859273 0.317420 0.401117 -vn 0.796705 -0.095826 0.596723 -vn 0.791556 -0.097603 0.603252 -vn 0.804548 -0.044303 0.592232 -vn 0.069238 -0.603543 0.794318 -vn 0.028834 -0.044924 0.998574 -vn 0.059046 -0.495915 0.866361 -vn 0.059046 -0.495915 0.866361 -vn 0.028834 -0.044924 0.998574 -vn 0.002361 -0.045708 0.998952 -vn 0.796705 -0.095826 0.596723 -vn 0.804548 -0.044303 0.592232 -vn 0.791053 -0.070536 0.607668 -vn 0.068959 0.997617 0.002300 -vn 0.218354 0.974305 0.055235 -vn 0.084065 0.996201 0.022715 -vn 0.084065 0.996201 0.022715 -vn 0.218354 0.974305 0.055235 -vn 0.252470 0.964683 0.075137 -vn 0.014728 0.999791 -0.014175 -vn 0.068959 0.997617 0.002300 -vn 0.018825 0.999773 -0.010023 -vn 0.018825 0.999773 -0.010023 -vn 0.068959 0.997617 0.002300 -vn 0.084065 0.996201 0.022715 -vn 0.015249 0.999853 -0.007842 -vn 0.014728 0.999791 -0.014175 -vn 0.015359 0.999847 -0.008355 -vn 0.015359 0.999847 -0.008355 -vn 0.014728 0.999791 -0.014175 -vn 0.018825 0.999773 -0.010023 -vn 0.007721 0.999968 -0.001961 -vn 0.007912 0.999965 -0.002547 -vn 0.015359 0.999847 -0.008355 -vn 0.015359 0.999847 -0.008355 -vn 0.007912 0.999965 -0.002547 -vn 0.015249 0.999853 -0.007842 -vn 0.000000 1.000000 -0.000000 -vn -0.000000 1.000000 -0.000005 -vn 0.007721 0.999968 -0.001961 -vn 0.007721 0.999968 -0.001961 -vn -0.000000 1.000000 -0.000005 -vn 0.007912 0.999965 -0.002547 -vn 0.110017 0.005351 -0.993915 -vn 0.111445 0.005659 -0.993755 -vn 0.126614 0.038353 -0.991210 -vn 0.126614 0.038353 -0.991210 -vn 0.111445 0.005659 -0.993755 -vn 0.133476 0.042166 -0.990155 -vn 0.126614 0.038353 -0.991210 -vn 0.133476 0.042166 -0.990155 -vn 0.253493 0.077283 -0.964245 -vn 0.253493 0.077283 -0.964245 -vn 0.133476 0.042166 -0.990155 -vn 0.262361 0.077868 -0.961823 -vn 0.340643 0.199708 -0.918738 -vn 0.306784 0.535384 -0.786923 -vn 0.556365 0.235871 -0.796758 -vn 0.556365 0.235871 -0.796758 -vn 0.306784 0.535384 -0.786923 -vn 0.515036 0.508272 -0.690216 -vn 0.141907 0.486043 -0.862337 -vn 0.306784 0.535384 -0.786923 -vn 0.141285 0.197838 -0.969999 -vn 0.141285 0.197838 -0.969999 -vn 0.306784 0.535384 -0.786923 -vn 0.340643 0.199708 -0.918738 -vn -0.888112 0.137352 -0.438624 -vn -0.946841 -0.010033 -0.321544 -vn -0.961150 0.056049 -0.270275 -vn -0.956670 -0.001270 0.291171 -vn -0.963043 0.024640 0.268217 -vn -0.840437 -0.003126 0.541901 -vn -0.840437 -0.003126 0.541901 -vn -0.963043 0.024640 0.268217 -vn -0.857807 0.003552 0.513960 -vn -0.621471 -0.025881 0.783010 -vn -0.840437 -0.003126 0.541901 -vn -0.649274 -0.021358 0.760255 -vn -0.649274 -0.021358 0.760255 -vn -0.840437 -0.003126 0.541901 -vn -0.857807 0.003552 0.513960 -vn -0.223132 -0.032589 0.974243 -vn 0.000000 -0.039132 0.999234 -vn -0.212283 -0.038788 0.976438 -vn -0.212283 -0.038788 0.976438 -vn 0.000000 -0.039132 0.999234 -vn -0.000000 -0.037251 0.999306 -vn -0.963043 0.024640 0.268217 -vn -0.956670 -0.001270 0.291171 -vn -0.996973 0.006708 0.077452 -vn -0.996973 0.006708 0.077452 -vn -0.956670 -0.001270 0.291171 -vn -0.994531 0.006140 0.104260 -vn -0.996973 0.006708 0.077452 -vn -0.999371 0.000763 -0.035441 -vn -0.984573 -0.023021 -0.173451 -vn -0.999371 0.000763 -0.035441 -vn -0.996973 0.006708 0.077452 -vn -0.994531 0.006140 0.104260 -vn -0.928473 0.002886 -0.371389 -vn -0.984573 -0.023021 -0.173451 -vn -0.946841 -0.010033 -0.321544 -vn -0.946841 -0.010033 -0.321544 -vn -0.984573 -0.023021 -0.173451 -vn -0.961150 0.056049 -0.270275 -vn -0.961150 0.056049 -0.270275 -vn -0.984573 -0.023021 -0.173451 -vn -0.999371 0.000763 -0.035441 -vn -0.621471 -0.025881 0.783010 -vn -0.649274 -0.021358 0.760255 -vn -0.405789 -0.043061 0.912952 -vn -0.405789 -0.043061 0.912952 -vn -0.649274 -0.021358 0.760255 -vn -0.427059 -0.024260 0.903898 -vn -0.405789 -0.043061 0.912952 -vn -0.427059 -0.024260 0.903898 -vn -0.212283 -0.038788 0.976438 -vn -0.212283 -0.038788 0.976438 -vn -0.427059 -0.024260 0.903898 -vn -0.223132 -0.032589 0.974243 -vn -0.984573 -0.023021 -0.173451 -vn -0.928473 0.002886 -0.371389 -vn -0.962439 -0.024231 -0.270413 -vn -0.202739 -0.978340 -0.041815 -vn -0.023703 -0.999235 -0.031121 -vn -0.050170 -0.995292 -0.082922 -vn 0.601143 0.119267 0.790191 -vn 0.614054 0.126132 0.779120 -vn 0.603048 0.121629 0.788378 -vn 0.614054 0.126132 0.779120 -vn 0.601143 0.119267 0.790191 -vn 0.601351 0.120282 0.789879 -vn 0.601143 0.119267 0.790191 -vn 0.597652 0.112916 0.793764 -vn 0.601351 0.120282 0.789879 -vn 0.603048 0.121629 0.788378 -vn 0.614054 0.126132 0.779120 -vn 0.599764 0.125022 0.790350 -vn 0.599764 0.125022 0.790350 -vn 0.614054 0.126132 0.779120 -vn 0.635852 0.133040 0.760258 -vn 0.635852 0.133040 0.760258 -vn 0.614054 0.126132 0.779120 -vn 0.687777 0.151464 0.709945 -vn 0.597652 0.112916 0.793764 -vn 0.572388 0.153981 0.805396 -vn 0.601351 0.120282 0.789879 -vn 0.572388 0.153981 0.805396 -vn 0.594374 0.153736 0.789357 -vn 0.601351 0.120282 0.789879 -vn 0.601351 0.120282 0.789879 -vn 0.594374 0.153736 0.789357 -vn 0.668633 0.073281 0.739973 -vn 0.093377 0.001257 -0.995630 -vn 0.094757 0.001026 -0.995500 -vn 0.110017 0.005351 -0.993915 -vn 0.110017 0.005351 -0.993915 -vn 0.094757 0.001026 -0.995500 -vn 0.111445 0.005659 -0.993755 -vn 0.731349 0.176702 0.658715 -vn 0.998468 0.034872 0.042952 -vn 0.997539 -0.014146 0.068676 -vn 0.997539 -0.014146 0.068676 -vn 0.998468 0.034872 0.042952 -vn 0.998297 0.019801 0.054872 -vn -0.757937 0.083145 -0.647008 -vn -0.888112 0.137352 -0.438624 -vn -0.812212 0.128738 -0.568980 -vn -0.812212 0.128738 -0.568980 -vn -0.888112 0.137352 -0.438624 -vn -0.961150 0.056049 -0.270275 -vn -0.743623 0.126560 -0.656511 -vn -0.757937 0.083145 -0.647008 -vn -0.812212 0.128738 -0.568980 -vn -0.743623 0.126560 -0.656511 -vn -0.728687 0.061348 -0.682093 -vn -0.757937 0.083145 -0.647008 -vn -0.765253 0.041319 -0.642403 -vn -0.793371 0.048012 -0.606842 -vn -0.728687 0.061348 -0.682093 -vn -0.728687 0.061348 -0.682093 -vn -0.793371 0.048012 -0.606842 -vn -0.757937 0.083145 -0.647008 -vn -0.793371 0.048012 -0.606842 -vn -0.765253 0.041319 -0.642403 -vn -0.928473 0.002886 -0.371389 -vn 0.784323 -0.020364 0.620019 -vn 0.643794 0.051604 0.763457 -vn 0.804548 -0.044303 0.592232 -vn 0.643794 0.051604 0.763457 -vn 0.833627 -0.033590 0.551305 -vn 0.804548 -0.044303 0.592232 -vn 0.887379 0.408080 0.214547 -vn 0.910702 0.410936 -0.041879 -vn 0.665715 0.458373 0.588828 -vn 0.910702 0.410936 -0.041879 -vn 0.775796 0.611274 -0.156478 -vn 0.910865 0.382103 -0.155956 -vn 0.910865 0.382103 -0.155956 -vn 0.865780 0.298022 0.402004 -vn 0.910702 0.410936 -0.041879 -vn 0.926853 0.296065 0.230845 -vn 0.817308 0.373606 0.438665 -vn 0.849402 0.514429 0.117811 -vn 0.807536 0.080137 0.584349 -vn 0.926853 0.296065 0.230845 -vn 0.849402 0.514429 0.117811 -vn -0.996773 -0.018467 0.078112 -vn -0.996358 -0.022534 0.082241 -vn -0.963650 -0.052073 0.262043 -vn -0.963650 -0.052073 0.262043 -vn -0.996358 -0.022534 0.082241 -vn -0.962906 -0.051413 0.264895 -vn -0.999792 0.019275 -0.006705 -vn -0.999913 0.012170 -0.005074 -vn -0.996773 -0.018467 0.078112 -vn -0.996773 -0.018467 0.078112 -vn -0.999913 0.012170 -0.005074 -vn -0.996358 -0.022534 0.082241 -vn -0.252664 -0.057093 0.965868 -vn -0.251793 -0.044009 0.966780 -vn 0.000000 -0.036099 0.999348 -vn 0.000000 -0.036099 0.999348 -vn -0.251793 -0.044009 0.966780 -vn -0.000000 -0.022294 0.999751 -vn -0.493589 -0.076185 0.866352 -vn -0.494095 -0.060695 0.867287 -vn -0.252664 -0.057093 0.965868 -vn -0.252664 -0.057093 0.965868 -vn -0.494095 -0.060695 0.867287 -vn -0.251793 -0.044009 0.966780 -vn -0.689424 -0.095290 0.718063 -vn -0.690337 -0.077073 0.719371 -vn -0.493589 -0.076185 0.866352 -vn -0.493589 -0.076185 0.866352 -vn -0.690337 -0.077073 0.719371 -vn -0.494095 -0.060695 0.867287 -vn -0.861733 -0.089612 0.499385 -vn -0.862233 -0.079902 0.500170 -vn -0.689424 -0.095290 0.718063 -vn -0.689424 -0.095290 0.718063 -vn -0.862233 -0.079902 0.500170 -vn -0.690337 -0.077073 0.719371 -vn -0.963650 -0.052073 0.262043 -vn -0.962906 -0.051413 0.264895 -vn -0.861733 -0.089612 0.499385 -vn -0.861733 -0.089612 0.499385 -vn -0.962906 -0.051413 0.264895 -vn -0.862233 -0.079902 0.500170 -vn -0.508924 -0.173879 0.843067 -vn -0.580600 -0.129349 0.803849 -vn -0.530011 -0.161213 0.832525 -vn -0.530011 -0.161213 0.832525 -vn -0.580600 -0.129349 0.803849 -vn -0.606607 -0.112074 0.787063 -vn -0.420642 -0.894155 -0.153453 -vn -0.423196 -0.892876 -0.153873 -vn -0.445537 -0.885349 -0.132870 -vn -0.445537 -0.885349 -0.132870 -vn -0.423196 -0.892876 -0.153873 -vn -0.445045 -0.885607 -0.132797 -vn -0.443902 -0.894515 -0.052850 -vn -0.445537 -0.885349 -0.132870 -vn -0.444520 -0.893994 -0.056369 -vn -0.444520 -0.893994 -0.056369 -vn -0.445537 -0.885349 -0.132870 -vn -0.445045 -0.885607 -0.132797 -vn -0.382942 -0.923043 0.036704 -vn -0.443902 -0.894515 -0.052850 -vn -0.390221 -0.920247 0.029540 -vn -0.390221 -0.920247 0.029540 -vn -0.443902 -0.894515 -0.052850 -vn -0.444520 -0.893994 -0.056369 -vn -0.308278 -0.943585 0.120883 -vn -0.382942 -0.923043 0.036704 -vn -0.309267 -0.942490 0.126753 -vn -0.309267 -0.942490 0.126753 -vn -0.382942 -0.923043 0.036704 -vn -0.390221 -0.920247 0.029540 -vn -0.308278 -0.943585 0.120883 -vn -0.309267 -0.942490 0.126753 -vn -0.240249 -0.947922 0.209103 -vn -0.240249 -0.947922 0.209103 -vn -0.309267 -0.942490 0.126753 -vn -0.245596 -0.944213 0.219420 -vn -0.143501 -0.937524 0.316949 -vn -0.139148 -0.943161 0.301804 -vn -0.245596 -0.944213 0.219420 -vn -0.245596 -0.944213 0.219420 -vn -0.139148 -0.943161 0.301804 -vn -0.240249 -0.947922 0.209103 -vn -0.139148 -0.943161 0.301804 -vn -0.143501 -0.937524 0.316949 -vn 0.000000 -0.924899 0.380214 -vn 0.000000 -0.924899 0.380214 -vn -0.143501 -0.937524 0.316949 -vn 0.000000 -0.917956 0.396682 -vn -0.928473 0.002886 -0.371389 -vn -0.946841 -0.010033 -0.321544 -vn -0.793371 0.048012 -0.606842 -vn -0.207642 0.930056 -0.303118 -vn -0.218086 0.925466 -0.309759 -vn -0.208097 0.929860 -0.303408 -vn -0.208097 0.929860 -0.303408 -vn -0.218086 0.925466 -0.309759 -vn -0.218979 0.925066 -0.310326 -vn -0.854784 0.009411 -0.518898 -vn -0.854783 0.009414 -0.518900 -vn -0.854781 0.009420 -0.518903 -vn -0.854781 0.009420 -0.518903 -vn -0.854783 0.009414 -0.518900 -vn -0.854780 0.009423 -0.518904 -vn -0.391140 -0.918370 -0.060048 -vn -0.391102 -0.918388 -0.060026 -vn -0.391137 -0.918371 -0.060046 -vn -0.391137 -0.918371 -0.060046 -vn -0.391102 -0.918388 -0.060026 -vn -0.391100 -0.918389 -0.060025 -vn 0.157284 -0.147242 -0.976515 -vn 0.157283 -0.147243 -0.976515 -vn 0.157284 -0.147242 -0.976515 -vn 0.157284 -0.147242 -0.976515 -vn 0.157283 -0.147243 -0.976515 -vn 0.157282 -0.147243 -0.976515 -vn -0.791236 0.154415 0.591693 -vn -0.790899 0.154309 0.592172 -vn -0.791187 0.154399 0.591763 -vn -0.791187 0.154399 0.591763 -vn -0.790899 0.154309 0.592172 -vn -0.790837 0.154289 0.592260 -vn -0.693869 -0.717639 -0.059504 -vn -0.951661 -0.299535 -0.067968 -vn -0.734614 -0.292666 0.612119 -vn -0.951661 -0.299535 -0.067968 -vn -0.865823 -0.075119 0.494680 -vn -0.734614 -0.292666 0.612119 -vn -0.694372 -0.659335 -0.288316 -vn -0.911130 -0.251282 -0.326649 -vn -0.688953 -0.713776 -0.125968 -vn -0.911130 -0.251282 -0.326649 -vn -0.936547 -0.324609 -0.132316 -vn -0.688953 -0.713776 -0.125968 -vn -0.591638 -0.669054 -0.449811 -vn -0.776501 -0.261174 -0.573441 -vn -0.694372 -0.659335 -0.288316 -vn -0.776501 -0.261174 -0.573441 -vn -0.911130 -0.251282 -0.326649 -vn -0.694372 -0.659335 -0.288316 -vn -0.450135 -0.670894 -0.589305 -vn -0.582436 -0.291964 -0.758634 -vn -0.591638 -0.669054 -0.449811 -vn -0.582436 -0.291964 -0.758634 -vn -0.776501 -0.261174 -0.573441 -vn -0.591638 -0.669054 -0.449811 -vn -0.167519 -0.631543 -0.757027 -vn -0.203644 -0.349140 -0.914675 -vn -0.303200 -0.657246 -0.689998 -vn -0.203644 -0.349140 -0.914675 -vn -0.389637 -0.317883 -0.864369 -vn -0.303200 -0.657246 -0.689998 -vn -0.000000 -0.641479 -0.767141 -vn 0.000000 -0.346225 -0.938152 -vn -0.167519 -0.631543 -0.757027 -vn 0.000000 -0.346225 -0.938152 -vn -0.203644 -0.349140 -0.914675 -vn -0.167519 -0.631543 -0.757027 -vn -0.688953 -0.713776 -0.125968 -vn -0.440580 -0.890619 -0.112635 -vn -0.694372 -0.659335 -0.288316 -vn -0.440580 -0.890619 -0.112635 -vn -0.411066 -0.888894 -0.202218 -vn -0.694372 -0.659335 -0.288316 -vn -0.694372 -0.659335 -0.288316 -vn -0.411066 -0.888894 -0.202218 -vn -0.591638 -0.669054 -0.449811 -vn -0.411066 -0.888894 -0.202218 -vn -0.372727 -0.870575 -0.321206 -vn -0.591638 -0.669054 -0.449811 -vn -0.591638 -0.669054 -0.449811 -vn -0.372727 -0.870575 -0.321206 -vn -0.450135 -0.670894 -0.589305 -vn -0.372727 -0.870575 -0.321206 -vn -0.308118 -0.845792 -0.435546 -vn -0.450135 -0.670894 -0.589305 -vn -0.213971 -0.821557 -0.528451 -vn -0.127120 -0.776749 -0.616849 -vn -0.303200 -0.657246 -0.689998 -vn -0.127120 -0.776749 -0.616849 -vn -0.167519 -0.631543 -0.757027 -vn -0.303200 -0.657246 -0.689998 -vn -0.000000 -0.641479 -0.767141 -vn -0.167519 -0.631543 -0.757027 -vn -0.000000 -0.775130 -0.631802 -vn -0.167519 -0.631543 -0.757027 -vn -0.127120 -0.776749 -0.616849 -vn -0.000000 -0.775130 -0.631802 -vn -0.829370 -0.508464 0.231538 -vn -0.933139 -0.256382 0.252030 -vn -0.547229 -0.823054 -0.152061 -vn -0.933139 -0.256382 0.252030 -vn -0.834994 -0.497446 -0.235229 -vn -0.547229 -0.823054 -0.152061 -vn -0.547229 -0.823054 -0.152061 -vn -0.834994 -0.497446 -0.235229 -vn -0.499176 -0.817395 -0.287557 -vn -0.834994 -0.497446 -0.235229 -vn -0.746611 -0.509098 -0.428241 -vn -0.499176 -0.817395 -0.287557 -vn -0.499176 -0.817395 -0.287557 -vn -0.746611 -0.509098 -0.428241 -vn -0.433962 -0.796400 -0.421218 -vn -0.746611 -0.509098 -0.428241 -vn -0.626875 -0.487380 -0.607855 -vn -0.433962 -0.796400 -0.421218 -vn -0.433962 -0.796400 -0.421218 -vn -0.626875 -0.487380 -0.607855 -vn -0.339986 -0.770658 -0.538977 -vn -0.626875 -0.487380 -0.607855 -vn -0.474424 -0.451462 -0.755715 -vn -0.339986 -0.770658 -0.538977 -vn -0.219380 -0.740034 -0.635784 -vn -0.298918 -0.442208 -0.845636 -vn -0.105150 -0.721120 -0.684785 -vn -0.298918 -0.442208 -0.845636 -vn -0.134280 -0.433849 -0.890923 -vn -0.105150 -0.721120 -0.684785 -vn 0.000000 -0.711059 -0.703132 -vn -0.105150 -0.721120 -0.684785 -vn 0.000000 -0.428150 -0.903708 -vn -0.105150 -0.721120 -0.684785 -vn -0.134280 -0.433849 -0.890923 -vn 0.000000 -0.428150 -0.903708 -vn -0.933139 -0.256382 0.252030 -vn -0.950169 -0.026411 0.310615 -vn -0.834994 -0.497446 -0.235229 -vn -0.950169 -0.026411 0.310615 -vn -0.957770 -0.134386 -0.254199 -vn -0.834994 -0.497446 -0.235229 -vn -0.834994 -0.497446 -0.235229 -vn -0.957770 -0.134386 -0.254199 -vn -0.746611 -0.509098 -0.428241 -vn -0.957770 -0.134386 -0.254199 -vn -0.861660 -0.163786 -0.480330 -vn -0.746611 -0.509098 -0.428241 -vn -0.746611 -0.509098 -0.428241 -vn -0.861660 -0.163786 -0.480330 -vn -0.626875 -0.487380 -0.607855 -vn -0.861660 -0.163786 -0.480330 -vn -0.707443 -0.172771 -0.685328 -vn -0.626875 -0.487380 -0.607855 -vn -0.626875 -0.487380 -0.607855 -vn -0.707443 -0.172771 -0.685328 -vn -0.474424 -0.451462 -0.755715 -vn -0.707443 -0.172771 -0.685328 -vn -0.530815 -0.169218 -0.830422 -vn -0.474424 -0.451462 -0.755715 -vn -0.298918 -0.442208 -0.845636 -vn -0.338040 -0.168109 -0.925996 -vn -0.134280 -0.433849 -0.890923 -vn -0.338040 -0.168109 -0.925996 -vn -0.143223 -0.147346 -0.978661 -vn -0.134280 -0.433849 -0.890923 -vn 0.000000 -0.428150 -0.903708 -vn -0.134280 -0.433849 -0.890923 -vn 0.000000 -0.139213 -0.990262 -vn -0.134280 -0.433849 -0.890923 -vn -0.143223 -0.147346 -0.978661 -vn 0.000000 -0.139213 -0.990262 -vn -0.887379 0.408080 0.214547 -vn -0.775796 0.611274 -0.156478 -vn -0.955533 0.229356 0.185346 -vn -0.775796 0.611274 -0.156478 -vn -0.899654 0.371805 -0.228876 -vn -0.955533 0.229356 0.185346 -vn -0.838201 0.338530 -0.427570 -vn -0.899654 0.371805 -0.228876 -vn -0.748562 0.572863 -0.333891 -vn -0.899654 0.371805 -0.228876 -vn -0.775796 0.611274 -0.156478 -vn -0.748562 0.572863 -0.333891 -vn -0.838201 0.338530 -0.427570 -vn -0.748562 0.572863 -0.333891 -vn -0.730079 0.280919 -0.622953 -vn -0.748562 0.572863 -0.333891 -vn -0.670026 0.523745 -0.526076 -vn -0.730079 0.280919 -0.622953 -vn -0.141285 0.197838 -0.969999 -vn -0.141907 0.486043 -0.862337 -vn 0.000000 0.169328 -0.985560 -vn -0.141907 0.486043 -0.862337 -vn -0.000000 0.429750 -0.902948 -vn 0.000000 0.169328 -0.985560 -vn -0.910865 0.382102 -0.155957 -vn -0.852446 0.395819 -0.341559 -vn -0.775796 0.611274 -0.156478 -vn -0.852446 0.395819 -0.341559 -vn -0.748562 0.572863 -0.333891 -vn -0.775796 0.611274 -0.156478 -vn -0.852446 0.395819 -0.341559 -vn -0.727146 0.408695 -0.551567 -vn -0.748562 0.572863 -0.333891 -vn -0.727146 0.408695 -0.551567 -vn -0.670026 0.523745 -0.526076 -vn -0.748562 0.572863 -0.333891 -vn -0.561493 0.486609 -0.669281 -vn -0.260541 0.716419 -0.647196 -vn -0.515036 0.508272 -0.690216 -vn -0.260541 0.716419 -0.647196 -vn -0.306784 0.535384 -0.786923 -vn -0.515036 0.508272 -0.690216 -vn -0.306784 0.535384 -0.786923 -vn -0.260541 0.716419 -0.647196 -vn -0.141907 0.486043 -0.862337 -vn -0.260541 0.716419 -0.647196 -vn -0.139642 0.443685 -0.885237 -vn -0.141907 0.486043 -0.862337 -vn -0.141907 0.486043 -0.862337 -vn -0.139642 0.443685 -0.885237 -vn -0.000000 0.429750 -0.902948 -vn -0.139642 0.443685 -0.885237 -vn 0.000000 0.345679 -0.938353 -vn -0.000000 0.429750 -0.902948 -vn -0.978524 0.071526 -0.193328 -vn -0.910865 0.382102 -0.155957 -vn -0.865780 0.298022 0.402004 -vn -0.910702 0.410936 -0.041879 -vn -0.663248 0.596004 0.452638 -vn -0.865780 0.298022 0.402004 -vn -0.910865 0.382102 -0.155957 -vn -0.978524 0.071526 -0.193328 -vn -0.852446 0.395819 -0.341559 -vn -0.978524 0.071526 -0.193328 -vn -0.911055 0.107518 -0.398019 -vn -0.852446 0.395819 -0.341559 -vn -0.852446 0.395819 -0.341559 -vn -0.911055 0.107518 -0.398019 -vn -0.727146 0.408695 -0.551567 -vn -0.911055 0.107518 -0.398019 -vn -0.783256 0.126122 -0.608772 -vn -0.727146 0.408695 -0.551567 -vn -0.419181 0.072841 -0.904976 -vn -0.426493 0.056983 -0.902694 -vn -0.381991 0.053413 -0.922621 -vn -0.426493 0.056983 -0.902694 -vn -0.394310 0.036711 -0.918244 -vn -0.381991 0.053413 -0.922621 -vn -0.319266 0.017626 -0.947501 -vn -0.381991 0.053413 -0.922621 -vn -0.341576 0.029789 -0.939382 -vn -0.381991 0.053413 -0.922621 -vn -0.394310 0.036711 -0.918244 -vn -0.341576 0.029789 -0.939382 -vn 0.000000 0.345679 -0.938353 -vn -0.139642 0.443685 -0.885237 -vn 0.000000 0.077721 -0.996975 -vn -0.139642 0.443685 -0.885237 -vn -0.103853 0.070740 -0.992074 -vn 0.000000 0.077721 -0.996975 -vn -0.887417 0.192326 0.418929 -vn -0.895262 0.186285 0.404727 -vn -0.963287 0.140801 -0.228590 -vn -0.895262 0.186285 0.404727 -vn -0.922032 0.290901 -0.255407 -vn -0.963287 0.140801 -0.228590 -vn -0.963287 0.140801 -0.228590 -vn -0.922032 0.290901 -0.255407 -vn -0.891648 0.172871 -0.418426 -vn -0.922032 0.290901 -0.255407 -vn -0.845815 0.329793 -0.419325 -vn -0.891648 0.172871 -0.418426 -vn -0.891648 0.172871 -0.418426 -vn -0.845815 0.329793 -0.419325 -vn -0.767576 0.190717 -0.611926 -vn -0.845815 0.329793 -0.419325 -vn -0.708098 0.345784 -0.615654 -vn -0.767576 0.190717 -0.611926 -vn -0.883142 0.315792 0.346895 -vn -0.746380 0.632005 -0.208535 -vn -0.895262 0.186285 0.404727 -vn -0.746380 0.632005 -0.208535 -vn -0.922032 0.290901 -0.255407 -vn -0.895262 0.186285 0.404727 -vn -0.845815 0.329793 -0.419325 -vn -0.922032 0.290901 -0.255407 -vn -0.682306 0.642739 -0.348346 -vn -0.922032 0.290901 -0.255407 -vn -0.746380 0.632005 -0.208535 -vn -0.682306 0.642739 -0.348346 -vn -0.708098 0.345784 -0.615654 -vn -0.845815 0.329793 -0.419325 -vn -0.597176 0.623458 -0.504659 -vn -0.845815 0.329793 -0.419325 -vn -0.682306 0.642739 -0.348346 -vn -0.597176 0.623458 -0.504659 -vn -0.708098 0.345784 -0.615654 -vn -0.597176 0.623458 -0.504659 -vn -0.565694 0.317444 -0.761065 -vn -0.597176 0.623458 -0.504659 -vn -0.484964 0.591691 -0.643982 -vn -0.565694 0.317444 -0.761065 -vn -0.565694 0.317444 -0.761065 -vn -0.484964 0.591691 -0.643982 -vn -0.379772 0.322230 -0.867145 -vn -0.484964 0.591691 -0.643982 -vn -0.297017 0.614079 -0.731223 -vn -0.379772 0.322230 -0.867145 -vn -0.186911 0.318785 -0.929215 -vn -0.160628 0.572026 -0.804354 -vn 0.000000 0.303281 -0.952901 -vn -0.160628 0.572026 -0.804354 -vn 0.000000 0.566902 -0.823785 -vn 0.000000 0.303281 -0.952901 -vn -0.872500 0.486439 0.046048 -vn -0.695502 0.699074 -0.166048 -vn -0.883142 0.315792 0.346895 -vn -0.695502 0.699074 -0.166048 -vn -0.746380 0.632005 -0.208535 -vn -0.883142 0.315792 0.346895 -vn -0.682306 0.642739 -0.348346 -vn -0.746380 0.632005 -0.208535 -vn -0.641577 0.697453 -0.319279 -vn -0.746380 0.632005 -0.208535 -vn -0.695502 0.699074 -0.166048 -vn -0.641577 0.697453 -0.319279 -vn -0.597176 0.623458 -0.504659 -vn -0.682306 0.642739 -0.348346 -vn -0.576935 0.677233 -0.456619 -vn -0.682306 0.642739 -0.348346 -vn -0.641577 0.697453 -0.319279 -vn -0.576935 0.677233 -0.456619 -vn -0.484964 0.591691 -0.643982 -vn -0.597176 0.623458 -0.504659 -vn -0.445043 0.671109 -0.592916 -vn -0.597176 0.623458 -0.504659 -vn -0.576935 0.677233 -0.456619 -vn -0.445043 0.671109 -0.592916 -vn -0.484964 0.591691 -0.643982 -vn -0.445043 0.671109 -0.592916 -vn -0.297017 0.614079 -0.731223 -vn -0.445043 0.671109 -0.592916 -vn -0.311586 0.626785 -0.714181 -vn -0.297017 0.614079 -0.731223 -vn -0.160628 0.572026 -0.804354 -vn -0.167735 0.583693 -0.794460 -vn 0.000000 0.566902 -0.823785 -vn -0.167735 0.583693 -0.794460 -vn 0.000000 0.578067 -0.815989 -vn 0.000000 0.566902 -0.823785 -vn -0.827008 0.305512 0.471932 -vn -0.787499 0.326946 0.522448 -vn -0.663248 0.596004 0.452638 -vn -0.787499 0.326946 0.522448 -vn -0.865780 0.298022 0.402004 -vn -0.663248 0.596004 0.452638 -vn -0.887417 0.192326 0.418929 -vn -0.790440 0.189724 0.582417 -vn -0.895262 0.186285 0.404727 -vn -0.790440 0.189724 0.582417 -vn -0.775527 -0.000898 0.631313 -vn -0.895262 0.186285 0.404727 -vn -0.883142 0.315792 0.346895 -vn -0.879022 -0.245419 0.408766 -vn -0.964631 0.193831 0.178653 -vn -0.643794 0.051604 0.763457 -vn -0.645109 -0.423749 0.635823 -vn -0.734614 -0.292666 0.612119 -vn -0.827008 0.305512 0.471932 -vn -0.722072 0.167012 0.671356 -vn -0.731349 0.176702 0.658715 -vn -0.722072 0.167012 0.671356 -vn -0.822162 0.061563 0.565915 -vn -0.731349 0.176702 0.658715 -vn -0.731349 0.176702 0.658715 -vn -0.822162 0.061563 0.565915 -vn -0.687158 0.108164 0.718411 -vn -0.827008 0.305512 0.471932 -vn -0.663248 0.596004 0.452638 -vn -0.665715 0.458373 0.588828 -vn -0.141923 0.004781 -0.989866 -vn -0.141285 0.197838 -0.969999 -vn -0.000000 0.003909 -0.999992 -vn -0.141285 0.197838 -0.969999 -vn 0.000000 0.169328 -0.985560 -vn -0.000000 0.003909 -0.999992 -vn -0.549889 0.016593 -0.835073 -vn -0.556365 0.235871 -0.796758 -vn -0.341784 0.005125 -0.939765 -vn -0.556365 0.235871 -0.796758 -vn -0.340643 0.199708 -0.918738 -vn -0.341784 0.005125 -0.939765 -vn -0.879747 0.084713 -0.467833 -vn -0.838201 0.338530 -0.427570 -vn -0.732050 0.035948 -0.680302 -vn -0.838201 0.338530 -0.427570 -vn -0.730079 0.280919 -0.622953 -vn -0.732050 0.035948 -0.680302 -vn -0.963144 0.096949 -0.250908 -vn -0.899654 0.371805 -0.228876 -vn -0.879747 0.084713 -0.467833 -vn -0.899654 0.371805 -0.228876 -vn -0.838201 0.338530 -0.427570 -vn -0.879747 0.084713 -0.467833 -vn -0.952537 0.082086 0.293147 -vn -0.955533 0.229356 0.185346 -vn -0.963144 0.096949 -0.250908 -vn -0.955533 0.229356 0.185346 -vn -0.899654 0.371805 -0.228876 -vn -0.963144 0.096949 -0.250908 -vn -0.645109 -0.423749 0.635823 -vn -0.652378 0.102382 0.750946 -vn -0.762062 -0.580087 0.287682 -vn -0.652378 0.102382 0.750946 -vn -0.817308 0.373606 0.438665 -vn -0.762062 -0.580087 0.287682 -vn -0.066628 0.586188 0.807431 -vn -0.933139 -0.256382 0.252030 -vn -0.829370 -0.508464 0.231538 -vn -0.829370 -0.508464 0.231538 -vn -0.482375 0.684024 0.547198 -vn -0.066628 0.586188 0.807431 -vn -0.933139 -0.256382 0.252030 -vn -0.066628 0.586188 0.807431 -vn -0.950169 -0.026411 0.310615 -vn -0.066628 0.586188 0.807431 -vn 0.074275 0.267465 0.960701 -vn -0.950169 -0.026411 0.310615 -vn -0.955533 0.229356 0.185346 -vn -0.172799 -0.451525 0.875366 -vn -0.818615 -0.123715 0.560860 -vn -0.818615 -0.123715 0.560860 -vn -0.887379 0.408080 0.214547 -vn -0.955533 0.229356 0.185346 -vn 0.096717 0.033816 0.994737 -vn -0.172799 -0.451525 0.875366 -vn -0.955533 0.229356 0.185346 -vn -0.955533 0.229356 0.185346 -vn -0.952537 0.082086 0.293147 -vn 0.096717 0.033816 0.994737 -vn -0.127120 -0.776749 -0.616849 -vn -0.105150 -0.721120 -0.684785 -vn -0.000000 -0.775130 -0.631802 -vn -0.105150 -0.721120 -0.684785 -vn 0.000000 -0.711059 -0.703132 -vn -0.000000 -0.775130 -0.631802 -vn -0.213971 -0.821557 -0.528451 -vn -0.219380 -0.740034 -0.635784 -vn -0.127120 -0.776749 -0.616849 -vn -0.219380 -0.740034 -0.635784 -vn -0.105150 -0.721120 -0.684785 -vn -0.127120 -0.776749 -0.616849 -vn -0.372727 -0.870575 -0.321206 -vn -0.433962 -0.796400 -0.421218 -vn -0.308118 -0.845792 -0.435546 -vn -0.433962 -0.796400 -0.421218 -vn -0.339986 -0.770658 -0.538977 -vn -0.308118 -0.845792 -0.435546 -vn -0.411066 -0.888894 -0.202218 -vn -0.499176 -0.817395 -0.287557 -vn -0.372727 -0.870575 -0.321206 -vn -0.499176 -0.817395 -0.287557 -vn -0.433962 -0.796400 -0.421218 -vn -0.372727 -0.870575 -0.321206 -vn -0.440580 -0.890619 -0.112635 -vn -0.547229 -0.823054 -0.152061 -vn -0.411066 -0.888894 -0.202218 -vn -0.547229 -0.823054 -0.152061 -vn -0.499176 -0.817395 -0.287557 -vn -0.411066 -0.888894 -0.202218 -vn -0.762062 -0.580087 0.287682 -vn -0.829370 -0.508464 0.231538 -vn -0.440580 -0.890619 -0.112635 -vn -0.829370 -0.508464 0.231538 -vn -0.547229 -0.823054 -0.152061 -vn -0.440580 -0.890619 -0.112635 -vn -0.762062 -0.580087 0.287682 -vn -0.817308 0.373606 0.438665 -vn -0.829370 -0.508464 0.231538 -vn -0.817308 0.373606 0.438665 -vn -0.482375 0.684024 0.547198 -vn -0.829370 -0.508464 0.231538 -vn -0.822162 0.061563 0.565915 -vn -0.722072 0.167012 0.671356 -vn -0.980730 -0.192660 -0.032425 -vn -0.722072 0.167012 0.671356 -vn -0.968206 -0.249820 0.012937 -vn -0.980730 -0.192660 -0.032425 -vn -0.652378 0.102382 0.750946 -vn -0.926853 0.296065 0.230845 -vn -0.817308 0.373606 0.438665 -vn -0.849402 0.514429 0.117811 -vn -0.044560 0.961925 0.269656 -vn -0.817308 0.373606 0.438665 -vn -0.482375 0.684024 0.547198 -vn 0.454056 0.816322 0.357003 -vn -0.066628 0.586188 0.807431 -vn 0.454056 0.816322 0.357003 -vn 0.741744 0.469145 0.479291 -vn -0.066628 0.586188 0.807431 -vn -0.066628 0.586188 0.807431 -vn 0.741744 0.469145 0.479291 -vn 0.074275 0.267465 0.960701 -vn 0.741744 0.469145 0.479291 -vn 0.800068 0.182433 0.571498 -vn 0.074275 0.267465 0.960701 -vn -0.818615 -0.123715 0.560860 -vn -0.172799 -0.451525 0.875366 -vn 0.577310 -0.607635 0.545429 -vn -0.172799 -0.451525 0.875366 -vn 0.757302 -0.341398 0.556724 -vn 0.577310 -0.607635 0.545429 -vn -0.497236 -0.822134 0.277223 -vn -0.489758 -0.824720 0.282797 -vn -0.429055 -0.842434 0.325909 -vn -0.489758 -0.824720 0.282797 -vn -0.413625 -0.846061 0.336297 -vn -0.429055 -0.842434 0.325909 -vn -0.172799 -0.451525 0.875366 -vn 0.096717 0.033816 0.994737 -vn 0.757302 -0.341398 0.556724 -vn 0.096717 0.033816 0.994737 -vn 0.846383 -0.041168 0.530981 -vn 0.757302 -0.341398 0.556724 -vn -0.817308 0.373606 0.438665 -vn -0.044560 0.961925 0.269656 -vn -0.482375 0.684024 0.547198 -vn -0.044560 0.961925 0.269656 -vn 0.454056 0.816322 0.357003 -vn -0.482375 0.684024 0.547198 -vn -0.722072 0.167012 0.671356 -vn -0.827008 0.305512 0.471932 -vn -0.665715 0.458373 0.588828 -vn -0.665715 0.458373 0.588828 -vn -0.887379 0.408080 0.214547 -vn -0.818615 -0.123715 0.560860 -vn -0.818615 -0.123715 0.560860 -vn -0.722072 0.167012 0.671356 -vn -0.665715 0.458373 0.588828 -vn -0.822162 0.061563 0.565915 -vn -0.807536 0.080137 0.584349 -vn -0.687158 0.108164 0.718411 -vn -0.807536 0.080137 0.584349 -vn -0.643614 0.102220 0.758493 -vn -0.687158 0.108164 0.718411 -vn -0.980730 -0.192660 -0.032425 -vn -0.992109 -0.110931 -0.058437 -vn -0.822162 0.061563 0.565915 -vn -0.992109 -0.110931 -0.058437 -vn -0.807536 0.080137 0.584349 -vn -0.822162 0.061563 0.565915 -vn -0.643794 0.051604 0.763457 -vn -0.652378 0.102382 0.750946 -vn -0.645109 -0.423749 0.635823 -vn -0.762062 -0.580087 0.287682 -vn -0.693869 -0.717639 -0.059504 -vn -0.645109 -0.423749 0.635823 -vn -0.693869 -0.717639 -0.059504 -vn -0.734614 -0.292666 0.612119 -vn -0.645109 -0.423749 0.635823 -vn -0.688953 -0.713776 -0.125968 -vn -0.936547 -0.324609 -0.132316 -vn -0.693869 -0.717639 -0.059504 -vn -0.936547 -0.324609 -0.132316 -vn -0.951661 -0.299535 -0.067968 -vn -0.693869 -0.717639 -0.059504 -vn -0.695502 0.699074 -0.166048 -vn -0.737048 0.630837 -0.242495 -vn -0.641577 0.697453 -0.319279 -vn -0.576935 0.677233 -0.456619 -vn -0.641577 0.697453 -0.319279 -vn -0.657376 0.599430 -0.456663 -vn -0.641577 0.697453 -0.319279 -vn -0.737048 0.630837 -0.242495 -vn -0.657376 0.599430 -0.456663 -vn -0.445043 0.671109 -0.592916 -vn -0.576935 0.677233 -0.456619 -vn -0.522000 0.565707 -0.638350 -vn -0.576935 0.677233 -0.456619 -vn -0.657376 0.599430 -0.456663 -vn -0.522000 0.565707 -0.638350 -vn -0.445043 0.671109 -0.592916 -vn -0.522000 0.565707 -0.638350 -vn -0.311586 0.626785 -0.714181 -vn -0.522000 0.565707 -0.638350 -vn -0.366912 0.544933 -0.753938 -vn -0.311586 0.626785 -0.714181 -vn -0.167735 0.583693 -0.794460 -vn -0.182275 0.548030 -0.816357 -vn 0.000000 0.578067 -0.815989 -vn -0.182275 0.548030 -0.816357 -vn 0.000000 0.566147 -0.824304 -vn 0.000000 0.578067 -0.815989 -vn -0.522554 0.775614 -0.354063 -vn -0.657376 0.599430 -0.456663 -vn -0.531461 0.826347 -0.186276 -vn -0.657376 0.599430 -0.456663 -vn -0.737048 0.630837 -0.242495 -vn -0.531461 0.826347 -0.186276 -vn -0.124090 0.987698 -0.095156 -vn 0.000000 0.996295 -0.085997 -vn -0.155681 0.954668 -0.253718 -vn 0.000000 0.996295 -0.085997 -vn 0.000000 0.968551 -0.248813 -vn -0.155681 0.954668 -0.253718 -vn -0.155681 0.954668 -0.253718 -vn 0.000000 0.968551 -0.248813 -vn -0.174351 0.814871 -0.552800 -vn 0.000000 0.968551 -0.248813 -vn -0.000000 0.828372 -0.560179 -vn -0.174351 0.814871 -0.552800 -vn -0.370339 0.773014 -0.515071 -vn -0.522000 0.565707 -0.638350 -vn -0.522554 0.775614 -0.354063 -vn -0.522000 0.565707 -0.638350 -vn -0.657376 0.599430 -0.456663 -vn -0.522554 0.775614 -0.354063 -vn -0.366912 0.544933 -0.753938 -vn -0.522000 0.565707 -0.638350 -vn -0.370339 0.773014 -0.515071 -vn 0.000000 0.566147 -0.824304 -vn -0.182275 0.548030 -0.816357 -vn -0.000000 0.828372 -0.560179 -vn -0.182275 0.548030 -0.816357 -vn -0.174351 0.814871 -0.552800 -vn -0.000000 0.828372 -0.560179 -vn -0.370339 0.773014 -0.515071 -vn -0.522554 0.775614 -0.354063 -vn -0.283844 0.920677 -0.267929 -vn -0.283844 0.920677 -0.267929 -vn -0.522554 0.775614 -0.354063 -vn -0.289060 0.948825 -0.127180 -vn -0.522554 0.775614 -0.354063 -vn -0.531461 0.826347 -0.186276 -vn -0.289060 0.948825 -0.127180 -vn -0.811511 0.582008 0.052118 -vn -0.813126 0.562843 0.148437 -vn -0.564449 0.824801 0.033177 -vn -0.813126 0.562843 0.148437 -vn -0.586343 0.801355 0.118456 -vn -0.564449 0.824801 0.033177 -vn -0.107263 0.993482 0.038571 -vn -0.101507 0.989456 0.103309 -vn -0.000000 0.999113 0.042110 -vn -0.101507 0.989456 0.103309 -vn -0.000000 0.994745 0.102388 -vn -0.000000 0.999113 0.042110 -vn -0.564449 0.824801 0.033177 -vn -0.586343 0.801355 0.118456 -vn -0.285655 0.957858 0.030146 -vn -0.586343 0.801355 0.118456 -vn -0.271656 0.956444 0.106859 -vn -0.285655 0.957858 0.030146 -vn -0.675523 0.489859 0.551096 -vn -0.504243 0.754679 0.419760 -vn -0.790476 0.510996 0.337684 -vn -0.504243 0.754679 0.419760 -vn -0.566436 0.773715 0.283751 -vn -0.790476 0.510996 0.337684 -vn -0.306688 0.839558 0.448424 -vn -0.504243 0.754679 0.419760 -vn -0.395709 0.594759 0.699769 -vn -0.504243 0.754679 0.419760 -vn -0.675523 0.489859 0.551096 -vn -0.395709 0.594759 0.699769 -vn 0.000000 0.644588 0.764530 -vn -0.000000 0.890696 0.454600 -vn -0.172841 0.641260 0.747604 -vn -0.000000 0.890696 0.454600 -vn -0.151422 0.882115 0.446031 -vn -0.172841 0.641260 0.747604 -vn -0.114776 0.969606 0.216080 -vn -0.151422 0.882115 0.446031 -vn -0.000000 0.977356 0.211603 -vn -0.151422 0.882115 0.446031 -vn -0.000000 0.890696 0.454600 -vn -0.000000 0.977356 0.211603 -vn -0.306688 0.839558 0.448424 -vn -0.269387 0.933644 0.236092 -vn -0.504243 0.754679 0.419760 -vn -0.269387 0.933644 0.236092 -vn -0.566436 0.773715 0.283751 -vn -0.504243 0.754679 0.419760 -vn -0.775527 -0.000898 0.631313 -vn -0.790440 0.189724 0.582417 -vn -0.992653 0.114144 0.040135 -vn -0.879022 -0.245419 0.408766 -vn -0.775527 -0.000898 0.631313 -vn -0.992653 0.114144 0.040135 -vn -0.964631 0.193831 0.178653 -vn -0.879022 -0.245419 0.408766 -vn -0.992653 0.114144 0.040135 -vn -0.992653 0.114144 0.040135 -vn -0.965976 0.251500 0.060315 -vn -0.964631 0.193831 0.178653 -vn -0.787499 0.326946 0.522448 -vn -0.827008 0.305512 0.471932 -vn -0.998468 0.034872 0.042952 -vn -0.827008 0.305512 0.471932 -vn -0.731349 0.176702 0.658715 -vn -0.998468 0.034872 0.042952 -vn -0.941576 0.289157 0.172692 -vn -0.965976 0.251500 0.060315 -vn -0.987901 0.136372 0.073847 -vn -0.965976 0.251500 0.060315 -vn -0.992653 0.114144 0.040135 -vn -0.987901 0.136372 0.073847 -vn -0.965976 0.251500 0.060315 -vn -0.941576 0.289157 0.172692 -vn -0.905940 0.384539 0.177207 -vn -0.921473 0.383876 0.059379 -vn -0.965976 0.251500 0.060315 -vn -0.905940 0.384539 0.177207 -vn -0.730356 0.204967 0.651589 -vn -0.736229 0.256875 0.626085 -vn -0.877960 0.234283 0.417490 -vn -0.736229 0.256875 0.626085 -vn -0.859273 0.317420 0.401117 -vn -0.877960 0.234283 0.417490 -vn -0.730356 0.204967 0.651589 -vn -0.478164 0.165313 0.862572 -vn -0.736229 0.256875 0.626085 -vn -0.478164 0.165313 0.862572 -vn -0.464356 0.290440 0.836671 -vn -0.736229 0.256875 0.626085 -vn -0.000000 0.342544 0.939502 -vn -0.190440 0.332540 0.923661 -vn 0.000000 0.200670 0.979659 -vn -0.190440 0.332540 0.923661 -vn -0.189718 0.191129 0.963056 -vn 0.000000 0.200670 0.979659 -vn -0.811511 0.582008 0.052118 -vn -0.921473 0.383876 0.059379 -vn -0.813126 0.562843 0.148437 -vn -0.921473 0.383876 0.059379 -vn -0.905940 0.384539 0.177207 -vn -0.813126 0.562843 0.148437 -vn -0.859273 0.317420 0.401117 -vn -0.736229 0.256875 0.626085 -vn -0.790476 0.510996 0.337684 -vn -0.736229 0.256875 0.626085 -vn -0.675523 0.489859 0.551096 -vn -0.790476 0.510996 0.337684 -vn -0.395709 0.594759 0.699769 -vn -0.675523 0.489859 0.551096 -vn -0.464356 0.290440 0.836671 -vn -0.675523 0.489859 0.551096 -vn -0.736229 0.256875 0.626085 -vn -0.464356 0.290440 0.836671 -vn -0.190440 0.332540 0.923661 -vn -0.000000 0.342544 0.939502 -vn -0.172841 0.641260 0.747604 -vn -0.000000 0.342544 0.939502 -vn 0.000000 0.644588 0.764530 -vn -0.172841 0.641260 0.747604 -vn -0.113784 0.993394 -0.014901 -vn -0.107263 0.993482 0.038571 -vn -0.000000 0.999950 -0.010010 -vn -0.107263 0.993482 0.038571 -vn -0.000000 0.999113 0.042110 -vn -0.000000 0.999950 -0.010010 -vn -0.285655 0.957858 0.030146 -vn -0.293378 0.955452 -0.032274 -vn -0.564449 0.824801 0.033177 -vn -0.293378 0.955452 -0.032274 -vn -0.558464 0.827906 -0.051870 -vn -0.564449 0.824801 0.033177 -vn -0.558464 0.827906 -0.051870 -vn -0.795044 0.603545 -0.060330 -vn -0.564449 0.824801 0.033177 -vn -0.795044 0.603545 -0.060330 -vn -0.811511 0.582008 0.052118 -vn -0.564449 0.824801 0.033177 -vn -0.872500 0.486439 0.046048 -vn -0.921473 0.383876 0.059379 -vn -0.795044 0.603545 -0.060330 -vn -0.921473 0.383876 0.059379 -vn -0.811511 0.582008 0.052118 -vn -0.795044 0.603545 -0.060330 -vn -0.910702 0.410936 -0.041879 -vn -0.775796 0.611274 -0.156478 -vn -0.887379 0.408080 0.214547 -vn -0.665715 0.458373 0.588828 -vn -0.663248 0.596004 0.452638 -vn -0.910702 0.410936 -0.041879 -vn -0.795044 0.603545 -0.060330 -vn -0.558464 0.827906 -0.051870 -vn -0.737048 0.630837 -0.242495 -vn -0.558464 0.827906 -0.051870 -vn -0.531461 0.826347 -0.186276 -vn -0.737048 0.630837 -0.242495 -vn -0.558464 0.827906 -0.051870 -vn -0.293378 0.955452 -0.032274 -vn -0.531461 0.826347 -0.186276 -vn -0.293378 0.955452 -0.032274 -vn -0.289060 0.948825 -0.127180 -vn -0.531461 0.826347 -0.186276 -vn 0.000000 0.996295 -0.085997 -vn -0.124090 0.987698 -0.095156 -vn -0.000000 0.999950 -0.010010 -vn -0.124090 0.987698 -0.095156 -vn -0.113784 0.993394 -0.014901 -vn -0.000000 0.999950 -0.010010 -vn -0.895262 0.186285 0.404727 -vn -0.775527 -0.000898 0.631313 -vn -0.883142 0.315792 0.346895 -vn -0.775527 -0.000898 0.631313 -vn -0.879022 -0.245419 0.408766 -vn -0.883142 0.315792 0.346895 -vn -0.964631 0.193831 0.178653 -vn -0.872500 0.486439 0.046048 -vn -0.883142 0.315792 0.346895 -vn -0.737048 0.630837 -0.242495 -vn -0.695502 0.699074 -0.166048 -vn -0.795044 0.603545 -0.060330 -vn -0.695502 0.699074 -0.166048 -vn -0.872500 0.486439 0.046048 -vn -0.795044 0.603545 -0.060330 -vn -0.762062 -0.580087 0.287682 -vn -0.440580 -0.890619 -0.112635 -vn -0.693869 -0.717639 -0.059504 -vn -0.440580 -0.890619 -0.112635 -vn -0.688953 -0.713776 -0.125968 -vn -0.693869 -0.717639 -0.059504 -vn -0.643614 0.102220 0.758493 -vn -0.643794 0.051604 0.763457 -vn -0.869836 -0.056841 0.490055 -vn -0.643794 0.051604 0.763457 -vn -0.833627 -0.033590 0.551305 -vn -0.869836 -0.056841 0.490055 -vn -0.807536 0.080137 0.584349 -vn -0.652378 0.102382 0.750946 -vn -0.643614 0.102220 0.758493 -vn -0.652378 0.102382 0.750946 -vn -0.643794 0.051604 0.763457 -vn -0.643614 0.102220 0.758493 -vn -0.652378 0.102382 0.750946 -vn -0.807536 0.080137 0.584349 -vn -0.926853 0.296065 0.230845 -vn -0.807536 0.080137 0.584349 -vn -0.992109 -0.110931 -0.058437 -vn -0.849402 0.514429 0.117811 -vn -0.998468 0.034872 0.042952 -vn -0.992653 0.114144 0.040135 -vn -0.787499 0.326946 0.522448 -vn 0.000000 0.077721 -0.996975 -vn -0.103853 0.070740 -0.992074 -vn 0.000000 0.152101 -0.988365 -vn -0.103853 0.070740 -0.992074 -vn -0.170294 0.181676 -0.968501 -vn 0.000000 0.152101 -0.988365 -vn -0.402909 -0.008557 -0.915200 -vn -0.339259 0.010099 -0.940639 -vn -0.394310 0.036711 -0.918244 -vn -0.339259 0.010099 -0.940639 -vn -0.341576 0.029789 -0.939382 -vn -0.394310 0.036711 -0.918244 -vn -0.402909 -0.008557 -0.915200 -vn -0.394310 0.036711 -0.918244 -vn -0.452658 0.019859 -0.891463 -vn -0.394310 0.036711 -0.918244 -vn -0.426493 0.056983 -0.902694 -vn -0.452658 0.019859 -0.891463 -vn -0.911055 0.107518 -0.398019 -vn -0.891648 0.172871 -0.418426 -vn -0.783256 0.126122 -0.608772 -vn -0.891648 0.172871 -0.418426 -vn -0.767576 0.190717 -0.611926 -vn -0.783256 0.126122 -0.608772 -vn -0.978524 0.071526 -0.193328 -vn -0.963287 0.140801 -0.228590 -vn -0.911055 0.107518 -0.398019 -vn -0.963287 0.140801 -0.228590 -vn -0.891648 0.172871 -0.418426 -vn -0.911055 0.107518 -0.398019 -vn -0.784323 -0.020364 0.620019 -vn -0.791556 -0.097603 0.603252 -vn -0.804548 -0.044303 0.592232 -vn -0.643794 0.051604 0.763457 -vn -0.865823 -0.075119 0.494680 -vn -0.784323 -0.020364 0.620019 -vn -0.865823 -0.075119 0.494680 -vn -0.894455 -0.085918 0.438825 -vn -0.784323 -0.020364 0.620019 -vn -0.894455 -0.085918 0.438825 -vn -0.865823 -0.075119 0.494680 -vn -0.987210 -0.158821 -0.013868 -vn -0.865823 -0.075119 0.494680 -vn -0.951661 -0.299535 -0.067968 -vn -0.987210 -0.158821 -0.013868 -vn -0.936547 -0.324609 -0.132316 -vn -0.986121 -0.113166 -0.121487 -vn -0.951661 -0.299535 -0.067968 -vn -0.986121 -0.113166 -0.121487 -vn -0.987210 -0.158821 -0.013868 -vn -0.951661 -0.299535 -0.067968 -vn -0.911130 -0.251282 -0.326649 -vn -0.944819 -0.103296 -0.310882 -vn -0.936547 -0.324609 -0.132316 -vn -0.944819 -0.103296 -0.310882 -vn -0.986121 -0.113166 -0.121487 -vn -0.936547 -0.324609 -0.132316 -vn -0.776501 -0.261174 -0.573441 -vn -0.817637 -0.091284 -0.568451 -vn -0.911130 -0.251282 -0.326649 -vn -0.817637 -0.091284 -0.568451 -vn -0.944819 -0.103296 -0.310882 -vn -0.911130 -0.251282 -0.326649 -vn -0.582436 -0.291964 -0.758634 -vn -0.615939 -0.083779 -0.783326 -vn -0.776501 -0.261174 -0.573441 -vn -0.615939 -0.083779 -0.783326 -vn -0.817637 -0.091284 -0.568451 -vn -0.776501 -0.261174 -0.573441 -vn -0.203644 -0.349140 -0.914675 -vn -0.205817 -0.136223 -0.969063 -vn -0.389637 -0.317883 -0.864369 -vn -0.205817 -0.136223 -0.969063 -vn -0.394315 -0.101461 -0.913357 -vn -0.389637 -0.317883 -0.864369 -vn 0.000000 -0.346225 -0.938152 -vn 0.000000 -0.144658 -0.989482 -vn -0.203644 -0.349140 -0.914675 -vn 0.000000 -0.144658 -0.989482 -vn -0.205817 -0.136223 -0.969063 -vn -0.203644 -0.349140 -0.914675 -vn 0.000000 -0.139213 -0.990262 -vn -0.143223 -0.147346 -0.978661 -vn -0.000000 0.003909 -0.999992 -vn -0.143223 -0.147346 -0.978661 -vn -0.141923 0.004781 -0.989866 -vn -0.000000 0.003909 -0.999992 -vn -0.338040 -0.168109 -0.925996 -vn -0.341784 0.005125 -0.939765 -vn -0.143223 -0.147346 -0.978661 -vn -0.341784 0.005125 -0.939765 -vn -0.141923 0.004781 -0.989866 -vn -0.143223 -0.147346 -0.978661 -vn -0.707443 -0.172771 -0.685328 -vn -0.732050 0.035948 -0.680302 -vn -0.530815 -0.169218 -0.830422 -vn -0.732050 0.035948 -0.680302 -vn -0.549889 0.016593 -0.835073 -vn -0.530815 -0.169218 -0.830422 -vn -0.861660 -0.163786 -0.480330 -vn -0.879747 0.084713 -0.467833 -vn -0.707443 -0.172771 -0.685328 -vn -0.879747 0.084713 -0.467833 -vn -0.732050 0.035948 -0.680302 -vn -0.707443 -0.172771 -0.685328 -vn -0.957770 -0.134386 -0.254199 -vn -0.963144 0.096949 -0.250908 -vn -0.861660 -0.163786 -0.480330 -vn -0.963144 0.096949 -0.250908 -vn -0.879747 0.084713 -0.467833 -vn -0.861660 -0.163786 -0.480330 -vn -0.950169 -0.026411 0.310615 -vn -0.952537 0.082086 0.293147 -vn -0.957770 -0.134386 -0.254199 -vn -0.952537 0.082086 0.293147 -vn -0.963144 0.096949 -0.250908 -vn -0.957770 -0.134386 -0.254199 -vn -0.952537 0.082086 0.293147 -vn -0.950169 -0.026411 0.310615 -vn 0.096717 0.033816 0.994737 -vn -0.950169 -0.026411 0.310615 -vn 0.074275 0.267465 0.960701 -vn 0.096717 0.033816 0.994737 -vn 0.074275 0.267465 0.960701 -vn 0.800068 0.182433 0.571498 -vn 0.096717 0.033816 0.994737 -vn 0.800068 0.182433 0.571498 -vn 0.846383 -0.041168 0.530981 -vn 0.096717 0.033816 0.994737 -vn -0.869836 -0.056841 0.490055 -vn -0.905834 -0.117974 0.406875 -vn -0.643614 0.102220 0.758493 -vn -0.905834 -0.117974 0.406875 -vn -0.687158 0.108164 0.718411 -vn -0.643614 0.102220 0.758493 -vn -0.965976 0.251500 0.060315 -vn -0.921473 0.383876 0.059379 -vn -0.964631 0.193831 0.178653 -vn -0.921473 0.383876 0.059379 -vn -0.872500 0.486439 0.046048 -vn -0.964631 0.193831 0.178653 -vn -0.614486 0.229061 -0.754942 -vn -0.698707 0.118060 -0.705599 -vn -0.767576 0.190717 -0.611926 -vn -0.698707 0.118060 -0.705599 -vn -0.783256 0.126122 -0.608772 -vn -0.767576 0.190717 -0.611926 -vn -0.727146 0.408695 -0.551567 -vn -0.783256 0.126122 -0.608772 -vn -0.561493 0.486609 -0.669281 -vn -0.783256 0.126122 -0.608772 -vn -0.698707 0.118060 -0.705599 -vn -0.561493 0.486609 -0.669281 -vn -0.670026 0.523745 -0.526076 -vn -0.727146 0.408695 -0.551567 -vn -0.515036 0.508272 -0.690216 -vn -0.727146 0.408695 -0.551567 -vn -0.561493 0.486609 -0.669281 -vn -0.515036 0.508272 -0.690216 -vn -0.730079 0.280919 -0.622953 -vn -0.670026 0.523745 -0.526076 -vn -0.556365 0.235871 -0.796758 -vn -0.670026 0.523745 -0.526076 -vn -0.515036 0.508272 -0.690216 -vn -0.556365 0.235871 -0.796758 -vn -0.732050 0.035948 -0.680302 -vn -0.730079 0.280919 -0.622953 -vn -0.549889 0.016593 -0.835073 -vn -0.730079 0.280919 -0.622953 -vn -0.556365 0.235871 -0.796758 -vn -0.549889 0.016593 -0.835073 -vn -0.137038 0.934417 -0.328765 -vn -0.141598 0.929887 -0.339500 -vn -0.229349 0.870656 -0.435152 -vn -0.141598 0.929887 -0.339500 -vn -0.233757 0.866197 -0.441656 -vn -0.229349 0.870656 -0.435152 -vn -0.151357 0.841808 -0.518122 -vn -0.141598 0.929887 -0.339500 -vn -0.149833 0.848035 -0.508318 -vn -0.141598 0.929887 -0.339500 -vn -0.137038 0.934417 -0.328765 -vn -0.149833 0.848035 -0.508318 -vn -0.783017 -0.101303 -0.613695 -vn -0.787275 -0.100989 -0.608275 -vn -0.819661 -0.094117 -0.565065 -vn -0.787275 -0.100989 -0.608275 -vn -0.824120 -0.095081 -0.558377 -vn -0.819661 -0.094117 -0.565065 -vn 0.219733 -0.075510 -0.972633 -vn 0.113867 -0.056451 -0.991891 -vn 0.207125 -0.070360 -0.975781 -vn 0.113867 -0.056451 -0.991891 -vn 0.100825 -0.056839 -0.993279 -vn 0.207125 -0.070360 -0.975781 -vn -0.796721 -0.072073 -0.600035 -vn -0.819661 -0.094117 -0.565065 -vn -0.799694 -0.074176 -0.595808 -vn -0.819661 -0.094117 -0.565065 -vn -0.824120 -0.095081 -0.558377 -vn -0.799694 -0.074176 -0.595808 -vn -0.262423 -0.608163 -0.749181 -vn -0.262466 -0.605799 -0.751078 -vn -0.326439 -0.587395 -0.740544 -vn -0.262466 -0.605799 -0.751078 -vn -0.325064 -0.583268 -0.744400 -vn -0.326439 -0.587395 -0.740544 -vn -0.325064 -0.583268 -0.744400 -vn -0.368755 -0.617809 -0.694501 -vn -0.326439 -0.587395 -0.740544 -vn -0.368755 -0.617809 -0.694501 -vn -0.366732 -0.621124 -0.692613 -vn -0.326439 -0.587395 -0.740544 -vn 0.135651 -0.058713 -0.989016 -vn 0.144397 -0.062565 -0.987540 -vn 0.207125 -0.070360 -0.975781 -vn 0.144397 -0.062565 -0.987540 -vn 0.219733 -0.075510 -0.972633 -vn 0.207125 -0.070360 -0.975781 -vn -0.530815 -0.169218 -0.830422 -vn -0.549889 0.016593 -0.835073 -vn -0.338040 -0.168109 -0.925996 -vn -0.549889 0.016593 -0.835073 -vn -0.341784 0.005125 -0.939765 -vn -0.338040 -0.168109 -0.925996 -vn -0.474424 -0.451462 -0.755715 -vn -0.530815 -0.169218 -0.830422 -vn -0.298918 -0.442208 -0.845636 -vn -0.530815 -0.169218 -0.830422 -vn -0.338040 -0.168109 -0.925996 -vn -0.298918 -0.442208 -0.845636 -vn -0.339986 -0.770658 -0.538977 -vn -0.474424 -0.451462 -0.755715 -vn -0.219380 -0.740034 -0.635784 -vn -0.474424 -0.451462 -0.755715 -vn -0.298918 -0.442208 -0.845636 -vn -0.219380 -0.740034 -0.635784 -vn -0.308118 -0.845792 -0.435546 -vn -0.339986 -0.770658 -0.538977 -vn -0.213971 -0.821557 -0.528451 -vn -0.339986 -0.770658 -0.538977 -vn -0.219380 -0.740034 -0.635784 -vn -0.213971 -0.821557 -0.528451 -vn -0.450135 -0.670894 -0.589305 -vn -0.308118 -0.845792 -0.435546 -vn -0.303200 -0.657246 -0.689998 -vn -0.308118 -0.845792 -0.435546 -vn -0.213971 -0.821557 -0.528451 -vn -0.303200 -0.657246 -0.689998 -vn -0.303200 -0.657246 -0.689998 -vn -0.389637 -0.317883 -0.864369 -vn -0.450135 -0.670894 -0.589305 -vn -0.389637 -0.317883 -0.864369 -vn -0.582436 -0.291964 -0.758634 -vn -0.450135 -0.670894 -0.589305 -vn -0.389637 -0.317883 -0.864369 -vn -0.394315 -0.101461 -0.913357 -vn -0.582436 -0.291964 -0.758634 -vn -0.394315 -0.101461 -0.913357 -vn -0.615939 -0.083779 -0.783326 -vn -0.582436 -0.291964 -0.758634 -vn -0.341784 0.005125 -0.939765 -vn -0.340643 0.199708 -0.918738 -vn -0.141923 0.004781 -0.989866 -vn -0.340643 0.199708 -0.918738 -vn -0.141285 0.197838 -0.969999 -vn -0.141923 0.004781 -0.989866 -vn -0.379772 0.322230 -0.867145 -vn -0.297017 0.614079 -0.731223 -vn -0.186911 0.318785 -0.929215 -vn -0.297017 0.614079 -0.731223 -vn -0.160628 0.572026 -0.804354 -vn -0.186911 0.318785 -0.929215 -vn -0.297017 0.614079 -0.731223 -vn -0.311586 0.626785 -0.714181 -vn -0.160628 0.572026 -0.804354 -vn -0.311586 0.626785 -0.714181 -vn -0.167735 0.583693 -0.794460 -vn -0.160628 0.572026 -0.804354 -vn -0.311586 0.626785 -0.714181 -vn -0.366912 0.544933 -0.753938 -vn -0.167735 0.583693 -0.794460 -vn -0.366912 0.544933 -0.753938 -vn -0.182275 0.548030 -0.816357 -vn -0.167735 0.583693 -0.794460 -vn -0.182275 0.548030 -0.816357 -vn -0.366912 0.544933 -0.753938 -vn -0.174351 0.814871 -0.552800 -vn -0.366912 0.544933 -0.753938 -vn -0.370339 0.773014 -0.515071 -vn -0.174351 0.814871 -0.552800 -vn -0.174351 0.814871 -0.552800 -vn -0.370339 0.773014 -0.515071 -vn -0.155681 0.954668 -0.253718 -vn -0.370339 0.773014 -0.515071 -vn -0.283844 0.920677 -0.267929 -vn -0.155681 0.954668 -0.253718 -vn -0.155681 0.954668 -0.253718 -vn -0.283844 0.920677 -0.267929 -vn -0.124090 0.987698 -0.095156 -vn -0.283844 0.920677 -0.267929 -vn -0.289060 0.948825 -0.127180 -vn -0.124090 0.987698 -0.095156 -vn -0.124090 0.987698 -0.095156 -vn -0.289060 0.948825 -0.127180 -vn -0.113784 0.993394 -0.014901 -vn -0.289060 0.948825 -0.127180 -vn -0.293378 0.955452 -0.032274 -vn -0.113784 0.993394 -0.014901 -vn -0.107263 0.993482 0.038571 -vn -0.113784 0.993394 -0.014901 -vn -0.285655 0.957858 0.030146 -vn -0.113784 0.993394 -0.014901 -vn -0.293378 0.955452 -0.032274 -vn -0.285655 0.957858 0.030146 -vn -0.285655 0.957858 0.030146 -vn -0.271656 0.956444 0.106859 -vn -0.107263 0.993482 0.038571 -vn -0.271656 0.956444 0.106859 -vn -0.101507 0.989456 0.103309 -vn -0.107263 0.993482 0.038571 -vn -0.151422 0.882115 0.446031 -vn -0.114776 0.969606 0.216080 -vn -0.306688 0.839558 0.448424 -vn -0.114776 0.969606 0.216080 -vn -0.269387 0.933644 0.236092 -vn -0.306688 0.839558 0.448424 -vn -0.172841 0.641260 0.747604 -vn -0.151422 0.882115 0.446031 -vn -0.395709 0.594759 0.699769 -vn -0.151422 0.882115 0.446031 -vn -0.306688 0.839558 0.448424 -vn -0.395709 0.594759 0.699769 -vn -0.172841 0.641260 0.747604 -vn -0.395709 0.594759 0.699769 -vn -0.190440 0.332540 0.923661 -vn -0.395709 0.594759 0.699769 -vn -0.464356 0.290440 0.836671 -vn -0.190440 0.332540 0.923661 -vn -0.478164 0.165313 0.862572 -vn -0.189718 0.191129 0.963056 -vn -0.464356 0.290440 0.836671 -vn -0.189718 0.191129 0.963056 -vn -0.190440 0.332540 0.923661 -vn -0.464356 0.290440 0.836671 -vn -0.186911 0.318785 -0.929215 -vn -0.170294 0.181676 -0.968501 -vn -0.379772 0.322230 -0.867145 -vn -0.170294 0.181676 -0.968501 -vn -0.409926 0.237447 -0.880670 -vn -0.379772 0.322230 -0.867145 -vn 0.000000 0.303281 -0.952901 -vn 0.000000 0.152101 -0.988365 -vn -0.186911 0.318785 -0.929215 -vn 0.000000 0.152101 -0.988365 -vn -0.170294 0.181676 -0.968501 -vn -0.186911 0.318785 -0.929215 -vn -0.379772 0.322230 -0.867145 -vn -0.409926 0.237447 -0.880670 -vn -0.565694 0.317444 -0.761065 -vn -0.409926 0.237447 -0.880670 -vn -0.614486 0.229061 -0.754942 -vn -0.565694 0.317444 -0.761065 -vn -0.767576 0.190717 -0.611926 -vn -0.708098 0.345784 -0.615654 -vn -0.614486 0.229061 -0.754942 -vn -0.708098 0.345784 -0.615654 -vn -0.565694 0.317444 -0.761065 -vn -0.614486 0.229061 -0.754942 -vn -0.978524 0.071526 -0.193328 -vn -0.865780 0.298022 0.402004 -vn -0.963287 0.140801 -0.228590 -vn -0.963287 0.140801 -0.228590 -vn -0.865780 0.298022 0.402004 -vn -0.887417 0.192326 0.418929 -vn -0.787499 0.326946 0.522448 -vn -0.790440 0.189724 0.582417 -vn -0.865780 0.298022 0.402004 -vn -0.790440 0.189724 0.582417 -vn -0.887417 0.192326 0.418929 -vn -0.865780 0.298022 0.402004 -vn -0.790440 0.189724 0.582417 -vn -0.787499 0.326946 0.522448 -vn -0.992653 0.114144 0.040135 -vn -0.804548 -0.044303 0.592232 -vn -0.796174 -0.034614 0.604077 -vn -0.833627 -0.033590 0.551305 -vn -0.865823 -0.075119 0.494680 -vn -0.643794 0.051604 0.763457 -vn -0.734614 -0.292666 0.612119 -vn -0.998468 0.034872 0.042952 -vn -0.998297 0.019801 0.054872 -vn -0.992653 0.114144 0.040135 -vn -0.998297 0.019801 0.054872 -vn -0.987901 0.136372 0.073847 -vn -0.992653 0.114144 0.040135 -vn -0.731349 0.176702 0.658715 -vn -0.687158 0.108164 0.718411 -vn -0.926994 -0.129511 0.352007 -vn -0.687158 0.108164 0.718411 -vn -0.905834 -0.117974 0.406875 -vn -0.926994 -0.129511 0.352007 -vn -0.216505 -0.964012 0.154295 -vn -0.128723 -0.973951 0.186681 -vn -0.344016 -0.936633 0.066114 -vn -0.804548 -0.044303 0.592232 -vn -0.791053 -0.070536 0.607668 -vn -0.796174 -0.034614 0.604077 -vn -0.051570 -0.896247 0.440547 -vn -0.035555 -0.976723 0.211536 -vn -0.055472 -0.996740 -0.058593 -vn -0.035555 -0.976723 0.211536 -vn -0.040877 -0.998968 -0.019776 -vn -0.055472 -0.996740 -0.058593 -vn -0.173479 0.168867 0.970252 -vn -0.103368 0.223513 0.969204 -vn -0.170701 0.176661 0.969357 -vn -0.103368 0.223513 0.969204 -vn -0.097159 0.235044 0.967117 -vn -0.170701 0.176661 0.969357 -vn -0.052936 0.216365 0.974876 -vn -0.097159 0.235044 0.967117 -vn -0.064598 0.228971 0.971287 -vn -0.097159 0.235044 0.967117 -vn -0.103368 0.223513 0.969204 -vn -0.064598 0.228971 0.971287 -vn -0.170701 0.176661 0.969357 -vn -0.168149 0.101726 0.980499 -vn -0.173479 0.168867 0.970252 -vn -0.168149 0.101726 0.980499 -vn -0.164097 0.082307 0.983004 -vn -0.173479 0.168867 0.970252 -vn -0.064598 0.228971 0.971287 -vn -0.028834 -0.044924 0.998574 -vn -0.052936 0.216365 0.974876 -vn -0.028834 -0.044924 0.998574 -vn -0.002361 -0.045709 0.998952 -vn -0.052936 0.216365 0.974876 -vn -0.116158 0.033510 0.992665 -vn -0.164097 0.082307 0.983004 -vn -0.123951 0.033775 0.991713 -vn -0.164097 0.082307 0.983004 -vn -0.168149 0.101726 0.980499 -vn -0.123951 0.033775 0.991713 -vn -0.082393 -0.961065 0.263752 -vn -0.031297 -0.968343 0.247652 -vn -0.216505 -0.964012 0.154295 -vn -0.031297 -0.968343 0.247652 -vn -0.128723 -0.973951 0.186681 -vn -0.216505 -0.964012 0.154295 -vn -0.035555 -0.976723 0.211536 -vn -0.051570 -0.896247 0.440547 -vn -0.069238 -0.603543 0.794318 -vn -0.051570 -0.896247 0.440547 -vn -0.059046 -0.495915 0.866361 -vn -0.069238 -0.603543 0.794318 -vn 0.073850 -0.984960 -0.156207 -vn 0.066127 -0.984212 -0.164178 -vn 0.011693 -0.985385 -0.169942 -vn 0.066127 -0.984212 -0.164178 -vn 0.001533 -0.984680 -0.174366 -vn 0.011693 -0.985385 -0.169942 -vn 0.093677 -0.987412 -0.127443 -vn 0.091072 -0.986479 -0.136255 -vn 0.073850 -0.984960 -0.156207 -vn 0.091072 -0.986479 -0.136255 -vn 0.066127 -0.984212 -0.164178 -vn 0.073850 -0.984960 -0.156207 -vn 0.000000 -0.998857 -0.047789 -vn -0.000000 -0.998702 -0.050933 -vn 0.055000 -0.996369 -0.064993 -vn -0.000000 -0.998702 -0.050933 -vn 0.055740 -0.996133 -0.067916 -vn 0.055000 -0.996369 -0.064993 -vn 0.011693 -0.985385 -0.169942 -vn 0.001533 -0.984680 -0.174366 -vn -0.049456 -0.988223 -0.144810 -vn 0.001533 -0.984680 -0.174366 -vn -0.055033 -0.987514 -0.147607 -vn -0.049456 -0.988223 -0.144810 -vn -0.049456 -0.988223 -0.144810 -vn -0.055033 -0.987514 -0.147607 -vn -0.071620 -0.991106 -0.112155 -vn -0.055033 -0.987514 -0.147607 -vn -0.073058 -0.990988 -0.112275 -vn -0.071620 -0.991106 -0.112155 -vn -0.073058 -0.990988 -0.112275 -vn -0.055472 -0.996740 -0.058593 -vn -0.071620 -0.991106 -0.112155 -vn -0.055472 -0.996740 -0.058593 -vn -0.060234 -0.996137 -0.063893 -vn -0.071620 -0.991106 -0.112155 -vn -0.055472 -0.996740 -0.058593 -vn -0.040877 -0.998968 -0.019776 -vn -0.060234 -0.996137 -0.063893 -vn 0.085405 -0.992811 -0.083858 -vn 0.085338 -0.992316 -0.089595 -vn 0.093677 -0.987412 -0.127443 -vn 0.085338 -0.992316 -0.089595 -vn 0.091072 -0.986479 -0.136255 -vn 0.093677 -0.987412 -0.127443 -vn 0.055000 -0.996369 -0.064993 -vn 0.055740 -0.996133 -0.067916 -vn 0.085405 -0.992811 -0.083858 -vn 0.055740 -0.996133 -0.067916 -vn 0.085338 -0.992316 -0.089595 -vn 0.085405 -0.992811 -0.083858 -vn -0.905940 0.384539 0.177207 -vn -0.941576 0.289157 0.172692 -vn -0.859273 0.317420 0.401117 -vn -0.941576 0.289157 0.172692 -vn -0.877960 0.234283 0.417490 -vn -0.859273 0.317420 0.401117 -vn -0.101507 0.989456 0.103309 -vn -0.114776 0.969606 0.216080 -vn -0.000000 0.994745 0.102388 -vn -0.114776 0.969606 0.216080 -vn -0.000000 0.977356 0.211603 -vn -0.000000 0.994745 0.102388 -vn -0.271656 0.956444 0.106859 -vn -0.269387 0.933644 0.236092 -vn -0.101507 0.989456 0.103309 -vn -0.269387 0.933644 0.236092 -vn -0.114776 0.969606 0.216080 -vn -0.101507 0.989456 0.103309 -vn -0.586343 0.801355 0.118456 -vn -0.566436 0.773715 0.283751 -vn -0.271656 0.956444 0.106859 -vn -0.566436 0.773715 0.283751 -vn -0.269387 0.933644 0.236092 -vn -0.271656 0.956444 0.106859 -vn -0.813126 0.562843 0.148437 -vn -0.790476 0.510996 0.337684 -vn -0.586343 0.801355 0.118456 -vn -0.790476 0.510996 0.337684 -vn -0.566436 0.773715 0.283751 -vn -0.586343 0.801355 0.118456 -vn -0.813126 0.562843 0.148437 -vn -0.905940 0.384539 0.177207 -vn -0.790476 0.510996 0.337684 -vn -0.905940 0.384539 0.177207 -vn -0.859273 0.317420 0.401117 -vn -0.790476 0.510996 0.337684 -vn -0.796705 -0.095826 0.596723 -vn -0.804548 -0.044303 0.592232 -vn -0.791556 -0.097603 0.603252 -vn -0.069238 -0.603543 0.794318 -vn -0.059046 -0.495915 0.866361 -vn -0.028834 -0.044924 0.998574 -vn -0.059046 -0.495915 0.866361 -vn -0.002361 -0.045709 0.998952 -vn -0.028834 -0.044924 0.998574 -vn -0.796705 -0.095826 0.596723 -vn -0.791053 -0.070536 0.607668 -vn -0.804548 -0.044303 0.592232 -vn -0.068959 0.997617 0.002300 -vn -0.084065 0.996201 0.022715 -vn -0.218354 0.974305 0.055235 -vn -0.084065 0.996201 0.022715 -vn -0.252470 0.964683 0.075137 -vn -0.218354 0.974305 0.055235 -vn -0.014728 0.999791 -0.014175 -vn -0.018825 0.999773 -0.010023 -vn -0.068959 0.997617 0.002300 -vn -0.018825 0.999773 -0.010023 -vn -0.084065 0.996201 0.022715 -vn -0.068959 0.997617 0.002300 -vn -0.015249 0.999853 -0.007842 -vn -0.015359 0.999847 -0.008355 -vn -0.014728 0.999791 -0.014175 -vn -0.015359 0.999847 -0.008355 -vn -0.018825 0.999773 -0.010023 -vn -0.014728 0.999791 -0.014175 -vn -0.007721 0.999968 -0.001961 -vn -0.015359 0.999847 -0.008355 -vn -0.007912 0.999965 -0.002547 -vn -0.015359 0.999847 -0.008355 -vn -0.015249 0.999853 -0.007842 -vn -0.007912 0.999965 -0.002547 -vn 0.000000 1.000000 -0.000000 -vn -0.007721 0.999968 -0.001961 -vn -0.000000 1.000000 -0.000005 -vn -0.007721 0.999968 -0.001961 -vn -0.007912 0.999965 -0.002547 -vn -0.000000 1.000000 -0.000005 -vn -0.110017 0.005351 -0.993915 -vn -0.126614 0.038353 -0.991210 -vn -0.111445 0.005659 -0.993755 -vn -0.126614 0.038353 -0.991210 -vn -0.133476 0.042166 -0.990155 -vn -0.111445 0.005659 -0.993755 -vn -0.126614 0.038353 -0.991210 -vn -0.253493 0.077283 -0.964245 -vn -0.133476 0.042166 -0.990155 -vn -0.253493 0.077283 -0.964245 -vn -0.262361 0.077868 -0.961823 -vn -0.133476 0.042166 -0.990155 -vn -0.340643 0.199708 -0.918738 -vn -0.556365 0.235871 -0.796758 -vn -0.306784 0.535384 -0.786923 -vn -0.556365 0.235871 -0.796758 -vn -0.515036 0.508272 -0.690216 -vn -0.306784 0.535384 -0.786923 -vn -0.141907 0.486043 -0.862337 -vn -0.141285 0.197838 -0.969999 -vn -0.306784 0.535384 -0.786923 -vn -0.141285 0.197838 -0.969999 -vn -0.340643 0.199708 -0.918738 -vn -0.306784 0.535384 -0.786923 -vn 0.888112 0.137352 -0.438624 -vn 0.961150 0.056049 -0.270275 -vn 0.946841 -0.010033 -0.321544 -vn 0.956670 -0.001270 0.291171 -vn 0.840437 -0.003126 0.541901 -vn 0.963043 0.024640 0.268217 -vn 0.840437 -0.003126 0.541901 -vn 0.857807 0.003552 0.513960 -vn 0.963043 0.024640 0.268217 -vn 0.621471 -0.025881 0.783010 -vn 0.649274 -0.021358 0.760255 -vn 0.840437 -0.003126 0.541901 -vn 0.649274 -0.021358 0.760255 -vn 0.857807 0.003552 0.513960 -vn 0.840437 -0.003126 0.541901 -vn 0.223132 -0.032589 0.974243 -vn 0.212283 -0.038788 0.976438 -vn 0.000000 -0.039132 0.999234 -vn 0.212283 -0.038788 0.976438 -vn -0.000000 -0.037251 0.999306 -vn 0.000000 -0.039132 0.999234 -vn 0.963043 0.024640 0.268217 -vn 0.996973 0.006708 0.077452 -vn 0.956670 -0.001270 0.291171 -vn 0.996973 0.006708 0.077452 -vn 0.994531 0.006140 0.104260 -vn 0.956670 -0.001270 0.291171 -vn 0.996973 0.006708 0.077452 -vn 0.984573 -0.023021 -0.173451 -vn 0.999371 0.000763 -0.035441 -vn 0.999371 0.000763 -0.035441 -vn 0.994531 0.006140 0.104260 -vn 0.996973 0.006708 0.077452 -vn 0.928473 0.002886 -0.371389 -vn 0.946841 -0.010033 -0.321544 -vn 0.984573 -0.023021 -0.173451 -vn 0.946841 -0.010033 -0.321544 -vn 0.961150 0.056049 -0.270275 -vn 0.984573 -0.023021 -0.173451 -vn 0.961150 0.056049 -0.270275 -vn 0.999371 0.000763 -0.035441 -vn 0.984573 -0.023021 -0.173451 -vn 0.621471 -0.025881 0.783010 -vn 0.405789 -0.043061 0.912952 -vn 0.649274 -0.021358 0.760255 -vn 0.405789 -0.043061 0.912952 -vn 0.427059 -0.024260 0.903898 -vn 0.649274 -0.021358 0.760255 -vn 0.405789 -0.043061 0.912952 -vn 0.212283 -0.038788 0.976438 -vn 0.427059 -0.024260 0.903898 -vn 0.212283 -0.038788 0.976438 -vn 0.223132 -0.032589 0.974243 -vn 0.427059 -0.024260 0.903898 -vn 0.984573 -0.023021 -0.173451 -vn 0.962439 -0.024231 -0.270413 -vn 0.928473 0.002886 -0.371389 -vn 0.202739 -0.978340 -0.041815 -vn 0.050170 -0.995292 -0.082922 -vn 0.023703 -0.999235 -0.031121 -vn -0.601143 0.119267 0.790191 -vn -0.603048 0.121629 0.788378 -vn -0.614054 0.126132 0.779120 -vn -0.614054 0.126132 0.779120 -vn -0.601351 0.120282 0.789879 -vn -0.601143 0.119267 0.790191 -vn -0.601143 0.119267 0.790191 -vn -0.601351 0.120282 0.789879 -vn -0.597652 0.112916 0.793764 -vn -0.603048 0.121629 0.788378 -vn -0.599764 0.125022 0.790350 -vn -0.614054 0.126132 0.779120 -vn -0.599764 0.125022 0.790350 -vn -0.635852 0.133040 0.760258 -vn -0.614054 0.126132 0.779120 -vn -0.635852 0.133040 0.760258 -vn -0.687777 0.151464 0.709945 -vn -0.614054 0.126132 0.779120 -vn -0.597652 0.112916 0.793764 -vn -0.601351 0.120282 0.789879 -vn -0.572387 0.153981 0.805396 -vn -0.572387 0.153981 0.805396 -vn -0.601351 0.120282 0.789879 -vn -0.594374 0.153736 0.789357 -vn -0.601351 0.120282 0.789879 -vn -0.668633 0.073281 0.739973 -vn -0.594374 0.153736 0.789357 -vn -0.093377 0.001257 -0.995630 -vn -0.110017 0.005351 -0.993915 -vn -0.094757 0.001026 -0.995500 -vn -0.110017 0.005351 -0.993915 -vn -0.111445 0.005659 -0.993755 -vn -0.094757 0.001026 -0.995500 -vn -0.731349 0.176702 0.658715 -vn -0.997539 -0.014146 0.068676 -vn -0.998468 0.034872 0.042952 -vn -0.997539 -0.014146 0.068676 -vn -0.998297 0.019801 0.054872 -vn -0.998468 0.034872 0.042952 -vn 0.757937 0.083145 -0.647008 -vn 0.812212 0.128738 -0.568980 -vn 0.888112 0.137352 -0.438624 -vn 0.812212 0.128738 -0.568980 -vn 0.961150 0.056049 -0.270275 -vn 0.888112 0.137352 -0.438624 -vn 0.743623 0.126560 -0.656511 -vn 0.812212 0.128738 -0.568980 -vn 0.757937 0.083145 -0.647008 -vn 0.743623 0.126560 -0.656511 -vn 0.757937 0.083145 -0.647008 -vn 0.728687 0.061348 -0.682093 -vn 0.765253 0.041319 -0.642403 -vn 0.728687 0.061348 -0.682093 -vn 0.793371 0.048012 -0.606842 -vn 0.728687 0.061348 -0.682093 -vn 0.757937 0.083145 -0.647008 -vn 0.793371 0.048012 -0.606842 -vn 0.793371 0.048012 -0.606842 -vn 0.928473 0.002886 -0.371389 -vn 0.765253 0.041319 -0.642403 -vn -0.784323 -0.020364 0.620019 -vn -0.804548 -0.044303 0.592232 -vn -0.643794 0.051604 0.763457 -vn -0.643794 0.051604 0.763457 -vn -0.804548 -0.044303 0.592232 -vn -0.833627 -0.033590 0.551305 -vn -0.887379 0.408080 0.214547 -vn -0.665715 0.458373 0.588828 -vn -0.910702 0.410936 -0.041879 -vn -0.910702 0.410936 -0.041879 -vn -0.910865 0.382102 -0.155957 -vn -0.775796 0.611274 -0.156478 -vn -0.910865 0.382102 -0.155957 -vn -0.910702 0.410936 -0.041879 -vn -0.865780 0.298022 0.402004 -vn -0.926853 0.296065 0.230845 -vn -0.849402 0.514429 0.117811 -vn -0.817308 0.373606 0.438665 -vn -0.807536 0.080137 0.584349 -vn -0.849402 0.514429 0.117811 -vn -0.926853 0.296065 0.230845 -vn 0.996773 -0.018467 0.078112 -vn 0.963650 -0.052073 0.262043 -vn 0.996358 -0.022534 0.082241 -vn 0.963650 -0.052073 0.262043 -vn 0.962906 -0.051413 0.264895 -vn 0.996358 -0.022534 0.082241 -vn 0.999792 0.019275 -0.006705 -vn 0.996773 -0.018467 0.078112 -vn 0.999913 0.012170 -0.005074 -vn 0.996773 -0.018467 0.078112 -vn 0.996358 -0.022534 0.082241 -vn 0.999913 0.012170 -0.005074 -vn 0.252664 -0.057093 0.965868 -vn 0.000000 -0.036099 0.999348 -vn 0.251793 -0.044009 0.966780 -vn 0.000000 -0.036099 0.999348 -vn -0.000000 -0.022294 0.999751 -vn 0.251793 -0.044009 0.966780 -vn 0.493589 -0.076185 0.866352 -vn 0.252664 -0.057093 0.965868 -vn 0.494095 -0.060695 0.867287 -vn 0.252664 -0.057093 0.965868 -vn 0.251793 -0.044009 0.966780 -vn 0.494095 -0.060695 0.867287 -vn 0.689423 -0.095290 0.718063 -vn 0.493589 -0.076185 0.866352 -vn 0.690337 -0.077073 0.719371 -vn 0.493589 -0.076185 0.866352 -vn 0.494095 -0.060695 0.867287 -vn 0.690337 -0.077073 0.719371 -vn 0.861733 -0.089612 0.499385 -vn 0.689423 -0.095290 0.718063 -vn 0.862233 -0.079902 0.500170 -vn 0.689423 -0.095290 0.718063 -vn 0.690337 -0.077073 0.719371 -vn 0.862233 -0.079902 0.500170 -vn 0.963650 -0.052073 0.262043 -vn 0.861733 -0.089612 0.499385 -vn 0.962906 -0.051413 0.264895 -vn 0.861733 -0.089612 0.499385 -vn 0.862233 -0.079902 0.500170 -vn 0.962906 -0.051413 0.264895 -vn 0.508924 -0.173879 0.843067 -vn 0.530011 -0.161213 0.832525 -vn 0.580600 -0.129349 0.803849 -vn 0.530011 -0.161213 0.832525 -vn 0.606607 -0.112074 0.787063 -vn 0.580600 -0.129349 0.803849 -vn 0.420642 -0.894155 -0.153453 -vn 0.445537 -0.885349 -0.132870 -vn 0.423196 -0.892876 -0.153873 -vn 0.445537 -0.885349 -0.132870 -vn 0.445045 -0.885607 -0.132797 -vn 0.423196 -0.892876 -0.153873 -vn 0.443902 -0.894515 -0.052850 -vn 0.444520 -0.893994 -0.056369 -vn 0.445537 -0.885349 -0.132870 -vn 0.444520 -0.893994 -0.056369 -vn 0.445045 -0.885607 -0.132797 -vn 0.445537 -0.885349 -0.132870 -vn 0.382942 -0.923043 0.036704 -vn 0.390221 -0.920247 0.029540 -vn 0.443902 -0.894515 -0.052850 -vn 0.390221 -0.920247 0.029540 -vn 0.444520 -0.893994 -0.056369 -vn 0.443902 -0.894515 -0.052850 -vn 0.308278 -0.943585 0.120883 -vn 0.309267 -0.942490 0.126753 -vn 0.382942 -0.923043 0.036704 -vn 0.309267 -0.942490 0.126753 -vn 0.390221 -0.920247 0.029540 -vn 0.382942 -0.923043 0.036704 -vn 0.308278 -0.943585 0.120883 -vn 0.240249 -0.947922 0.209103 -vn 0.309267 -0.942490 0.126753 -vn 0.240249 -0.947922 0.209103 -vn 0.245596 -0.944213 0.219420 -vn 0.309267 -0.942490 0.126753 -vn 0.143501 -0.937524 0.316949 -vn 0.245596 -0.944213 0.219420 -vn 0.139149 -0.943161 0.301804 -vn 0.245596 -0.944213 0.219420 -vn 0.240249 -0.947922 0.209103 -vn 0.139149 -0.943161 0.301804 -vn 0.139149 -0.943161 0.301804 -vn 0.000000 -0.924899 0.380214 -vn 0.143501 -0.937524 0.316949 -vn 0.000000 -0.924899 0.380214 -vn 0.000000 -0.917956 0.396682 -vn 0.143501 -0.937524 0.316949 -vn 0.928473 0.002886 -0.371389 -vn 0.793371 0.048012 -0.606842 -vn 0.946841 -0.010033 -0.321544 -vn 0.207643 0.930056 -0.303118 -vn 0.208097 0.929860 -0.303408 -vn 0.218086 0.925466 -0.309759 -vn 0.208097 0.929860 -0.303408 -vn 0.218979 0.925066 -0.310326 -vn 0.218086 0.925466 -0.309759 -vn 0.854784 0.009411 -0.518898 -vn 0.854781 0.009420 -0.518903 -vn 0.854783 0.009414 -0.518900 -vn 0.854781 0.009420 -0.518903 -vn 0.854780 0.009423 -0.518904 -vn 0.854783 0.009414 -0.518900 -vn 0.391140 -0.918370 -0.060048 -vn 0.391137 -0.918371 -0.060046 -vn 0.391102 -0.918388 -0.060026 -vn 0.391137 -0.918371 -0.060046 -vn 0.391100 -0.918389 -0.060025 -vn 0.391102 -0.918388 -0.060026 -vn -0.157284 -0.147242 -0.976515 -vn -0.157284 -0.147242 -0.976515 -vn -0.157283 -0.147243 -0.976515 -vn -0.157284 -0.147242 -0.976515 -vn -0.157282 -0.147243 -0.976515 -vn -0.157283 -0.147243 -0.976515 -vn 0.791236 0.154415 0.591693 -vn 0.791187 0.154399 0.591763 -vn 0.790899 0.154309 0.592172 -vn 0.791187 0.154399 0.591763 -vn 0.790837 0.154289 0.592260 -vn 0.790899 0.154309 0.592172 -vn -0.002040 -0.982183 -0.187914 -vn 0.000000 -0.975856 -0.218413 -vn -0.019019 -0.978509 -0.205324 -vn 0.023703 -0.999235 -0.031121 -vn 0.050170 -0.995292 -0.082922 -vn -0.050170 -0.995292 -0.082922 -vn -0.050170 -0.995292 -0.082922 -vn -0.023703 -0.999235 -0.031121 -vn 0.023703 -0.999235 -0.031121 -vn 0.002040 -0.982183 -0.187914 -vn -0.002040 -0.982183 -0.187914 -vn 0.050170 -0.995292 -0.082922 -vn -0.002040 -0.982183 -0.187914 -vn -0.050170 -0.995292 -0.082922 -vn 0.050170 -0.995292 -0.082922 -vn 0.019019 -0.978509 -0.205324 -vn 0.015799 -0.977740 -0.209227 -vn 0.000000 -0.975856 -0.218413 -vn 0.002040 -0.982183 -0.187914 -vn 0.000000 -0.975856 -0.218413 -vn -0.002040 -0.982183 -0.187914 -vn -0.019019 -0.978509 -0.205324 -vn -0.015799 -0.977740 -0.209227 -vn -0.067791 -0.985150 -0.157747 -vn -0.019019 -0.978509 -0.205324 -vn 0.000000 -0.975856 -0.218413 -vn -0.015799 -0.977740 -0.209227 -vn -0.067791 -0.985150 -0.157747 -vn -0.015773 -0.974169 -0.225268 -vn 0.012040 -0.967510 -0.252545 -vn -0.067791 -0.985150 -0.157747 -vn -0.015799 -0.977740 -0.209227 -vn -0.015773 -0.974169 -0.225268 -vn 0.019019 -0.978509 -0.205324 -vn 0.000000 -0.975856 -0.218413 -vn 0.002040 -0.982183 -0.187914 -vn 0.067791 -0.985150 -0.157747 -vn 0.015773 -0.974169 -0.225268 -vn 0.015799 -0.977740 -0.209227 -vn 0.067791 -0.985150 -0.157747 -vn 0.015799 -0.977740 -0.209227 -vn 0.019019 -0.978509 -0.205324 -vn -0.012040 -0.967510 -0.252545 -vn 0.015773 -0.974169 -0.225268 -vn 0.067791 -0.985150 -0.157747 -vn 0.697758 0.640804 0.320162 -vn 0.377613 0.848927 0.369770 -vn 0.668696 0.574599 0.471891 -vn 0.668696 0.574599 0.471891 -vn 0.377613 0.848927 0.369770 -vn 0.362004 0.774468 0.518799 -vn 0.000000 0.921893 0.387443 -vn -0.377616 0.848928 0.369767 -vn -0.000000 0.843980 0.536375 -vn -0.000000 0.843980 0.536375 -vn -0.377616 0.848928 0.369767 -vn -0.362004 0.774468 0.518799 -vn -0.697759 0.640807 0.320155 -vn -0.911691 0.329542 0.245403 -vn -0.668696 0.574599 0.471891 -vn -0.668696 0.574599 0.471891 -vn -0.911691 0.329542 0.245403 -vn -0.873986 0.276575 0.399567 -vn -0.986768 -0.037754 0.157680 -vn -0.911686 -0.404959 0.069542 -vn -0.945676 -0.075697 0.316176 -vn -0.945676 -0.075697 0.316176 -vn -0.911686 -0.404959 0.069542 -vn -0.873983 -0.427558 0.230973 -vn -0.697752 -0.716323 -0.004794 -vn -0.377636 -0.924330 -0.054816 -vn -0.668690 -0.726020 0.160464 -vn -0.668690 -0.726020 0.160464 -vn -0.377636 -0.924330 -0.054816 -vn -0.362020 -0.925447 0.111757 -vn -0.000000 -0.997398 -0.072093 -vn 0.377636 -0.924330 -0.054816 -vn 0.000000 -0.995385 0.095966 -vn 0.000000 -0.995385 0.095966 -vn 0.377636 -0.924330 -0.054816 -vn 0.362020 -0.925447 0.111757 -vn 0.697752 -0.716323 -0.004794 -vn 0.911686 -0.404959 0.069542 -vn 0.668690 -0.726020 0.160464 -vn 0.668690 -0.726020 0.160464 -vn 0.911686 -0.404959 0.069542 -vn 0.873983 -0.427558 0.230973 -vn 0.986768 -0.037754 0.157680 -vn 0.911691 0.329538 0.245406 -vn 0.945676 -0.075697 0.316176 -vn 0.945676 -0.075697 0.316176 -vn 0.911691 0.329538 0.245406 -vn 0.873986 0.276575 0.399567 -vn 0.000000 0.921893 0.387443 -vn 0.377613 0.848927 0.369770 -vn 0.000000 0.972184 0.234219 -vn 0.000000 0.972184 0.234219 -vn 0.377613 0.848927 0.369770 -vn 0.382689 0.898156 0.216482 -vn -0.697759 0.640807 0.320155 -vn -0.377616 0.848928 0.369767 -vn -0.707113 0.687335 0.166016 -vn -0.707113 0.687335 0.166016 -vn -0.377616 0.848928 0.369767 -vn -0.382694 0.898152 0.216489 -vn -0.986768 -0.037754 0.157680 -vn -0.911691 0.329542 0.245403 -vn -0.999999 -0.000329 0.001369 -vn -0.999999 -0.000329 0.001369 -vn -0.911691 0.329542 0.245403 -vn -0.923879 0.371836 0.090475 -vn -0.697752 -0.716323 -0.004794 -vn -0.911686 -0.404959 0.069542 -vn -0.707102 -0.688000 -0.163286 -vn -0.707102 -0.688000 -0.163286 -vn -0.911686 -0.404959 0.069542 -vn -0.923879 -0.372490 -0.087743 -vn -0.000000 -0.997398 -0.072093 -vn -0.377636 -0.924330 -0.054816 -vn 0.000000 -0.972838 -0.231488 -vn 0.000000 -0.972838 -0.231488 -vn -0.377636 -0.924330 -0.054816 -vn -0.382697 -0.898803 -0.213765 -vn 0.697752 -0.716323 -0.004794 -vn 0.377636 -0.924330 -0.054816 -vn 0.707102 -0.688000 -0.163286 -vn 0.707102 -0.688000 -0.163286 -vn 0.377636 -0.924330 -0.054816 -vn 0.382697 -0.898803 -0.213765 -vn 0.986768 -0.037754 0.157680 -vn 0.911686 -0.404959 0.069542 -vn 0.999999 -0.000329 0.001369 -vn 0.999999 -0.000329 0.001369 -vn 0.911686 -0.404959 0.069542 -vn 0.923879 -0.372490 -0.087743 -vn 0.707113 0.687339 0.166001 -vn 0.697758 0.640804 0.320162 -vn 0.923881 0.371832 0.090466 -vn 0.923881 0.371832 0.090466 -vn 0.697758 0.640804 0.320162 -vn 0.911691 0.329538 0.245406 -vn 0.707113 0.687339 0.166001 -vn 0.382689 0.898156 0.216482 -vn 0.697758 0.640804 0.320162 -vn 0.697758 0.640804 0.320162 -vn 0.382689 0.898156 0.216482 -vn 0.377613 0.848927 0.369770 -vn 0.000000 0.921893 0.387443 -vn 0.000000 0.972184 0.234219 -vn -0.377616 0.848928 0.369767 -vn -0.377616 0.848928 0.369767 -vn 0.000000 0.972184 0.234219 -vn -0.382694 0.898152 0.216489 -vn -0.697759 0.640807 0.320155 -vn -0.707113 0.687335 0.166016 -vn -0.911691 0.329542 0.245403 -vn -0.911691 0.329542 0.245403 -vn -0.707113 0.687335 0.166016 -vn -0.923879 0.371836 0.090475 -vn -0.986768 -0.037754 0.157680 -vn -0.999999 -0.000329 0.001369 -vn -0.911686 -0.404959 0.069542 -vn -0.911686 -0.404959 0.069542 -vn -0.999999 -0.000329 0.001369 -vn -0.923879 -0.372490 -0.087743 -vn 0.697752 -0.716323 -0.004794 -vn 0.707102 -0.688000 -0.163286 -vn 0.911686 -0.404959 0.069542 -vn 0.911686 -0.404959 0.069542 -vn 0.707102 -0.688000 -0.163286 -vn 0.923879 -0.372490 -0.087743 -vn 0.986768 -0.037754 0.157680 -vn 0.999999 -0.000329 0.001369 -vn 0.911691 0.329538 0.245406 -vn 0.911691 0.329538 0.245406 -vn 0.999999 -0.000329 0.001369 -vn 0.923881 0.371832 0.090466 -vn 0.873986 0.276575 0.399567 -vn 0.911691 0.329538 0.245406 -vn 0.668696 0.574599 0.471891 -vn 0.668696 0.574599 0.471891 -vn 0.911691 0.329538 0.245406 -vn 0.697758 0.640804 0.320162 -vn 0.986768 -0.037754 0.157680 -vn 0.945676 -0.075697 0.316176 -vn 0.911686 -0.404959 0.069542 -vn 0.911686 -0.404959 0.069542 -vn 0.945676 -0.075697 0.316176 -vn 0.873983 -0.427558 0.230973 -vn 0.697752 -0.716323 -0.004794 -vn 0.668690 -0.726020 0.160464 -vn 0.377636 -0.924330 -0.054816 -vn 0.377636 -0.924330 -0.054816 -vn 0.668690 -0.726020 0.160464 -vn 0.362020 -0.925447 0.111757 -vn -0.000000 -0.997398 -0.072093 -vn 0.000000 -0.995385 0.095966 -vn -0.377636 -0.924330 -0.054816 -vn -0.377636 -0.924330 -0.054816 -vn 0.000000 -0.995385 0.095966 -vn -0.362020 -0.925447 0.111757 -vn -0.697752 -0.716323 -0.004794 -vn -0.668690 -0.726020 0.160464 -vn -0.911686 -0.404959 0.069542 -vn -0.911686 -0.404959 0.069542 -vn -0.668690 -0.726020 0.160464 -vn -0.873983 -0.427558 0.230973 -vn -0.986768 -0.037754 0.157680 -vn -0.945676 -0.075697 0.316176 -vn -0.911691 0.329542 0.245403 -vn -0.911691 0.329542 0.245403 -vn -0.945676 -0.075697 0.316176 -vn -0.873986 0.276575 0.399567 -vn -0.697759 0.640807 0.320155 -vn -0.668696 0.574599 0.471891 -vn -0.377616 0.848928 0.369767 -vn -0.377616 0.848928 0.369767 -vn -0.668696 0.574599 0.471891 -vn -0.362004 0.774468 0.518799 -vn 0.000000 0.921893 0.387443 -vn -0.000000 0.843980 0.536375 -vn 0.377613 0.848927 0.369770 -vn 0.377613 0.848927 0.369770 -vn -0.000000 0.843980 0.536375 -vn 0.362004 0.774468 0.518799 -vn 0.000000 -0.277783 0.960644 -vn 0.000000 -0.277750 0.960654 -vn -0.017785 -0.274350 0.961465 -vn -0.017785 -0.274350 0.961465 -vn 0.000000 -0.277750 0.960654 -vn -0.017790 -0.274330 0.961471 -vn -0.032750 -0.264436 0.963847 -vn -0.017785 -0.274350 0.961465 -vn -0.032751 -0.264436 0.963847 -vn -0.032751 -0.264436 0.963847 -vn -0.017785 -0.274350 0.961465 -vn -0.017790 -0.274330 0.961471 -vn 0.032750 -0.264436 0.963847 -vn 0.032751 -0.264436 0.963847 -vn 0.017785 -0.274350 0.961465 -vn 0.017785 -0.274350 0.961465 -vn 0.032751 -0.264436 0.963847 -vn 0.017790 -0.274330 0.961471 -vn 0.000000 -0.277783 0.960644 -vn 0.017785 -0.274350 0.961465 -vn 0.000000 -0.277750 0.960654 -vn 0.000000 -0.277750 0.960654 -vn 0.017785 -0.274350 0.961465 -vn 0.017790 -0.274330 0.961471 -vn 0.046351 -0.232601 0.971467 -vn 0.046347 -0.232603 0.971467 -vn 0.042918 -0.249889 0.967323 -vn 0.042918 -0.249889 0.967323 -vn 0.046347 -0.232603 0.971467 -vn 0.042909 -0.249890 0.967323 -vn 0.032750 -0.264436 0.963847 -vn 0.042918 -0.249889 0.967323 -vn 0.032751 -0.264436 0.963847 -vn 0.032751 -0.264436 0.963847 -vn 0.042918 -0.249889 0.967323 -vn 0.042909 -0.249890 0.967323 -vn 0.032644 -0.200849 0.979078 -vn 0.032676 -0.200818 0.979083 -vn 0.042938 -0.215297 0.975604 -vn 0.042938 -0.215297 0.975604 -vn 0.032676 -0.200818 0.979083 -vn 0.042958 -0.215274 0.975608 -vn 0.046351 -0.232601 0.971467 -vn 0.042938 -0.215297 0.975604 -vn 0.046347 -0.232603 0.971467 -vn 0.046347 -0.232603 0.971467 -vn 0.042938 -0.215297 0.975604 -vn 0.042958 -0.215274 0.975608 -vn -0.000000 -0.187577 0.982250 -vn -0.000000 -0.187566 0.982252 -vn 0.017785 -0.190857 0.981457 -vn 0.017785 -0.190857 0.981457 -vn -0.000000 -0.187566 0.982252 -vn 0.017807 -0.190835 0.981461 -vn 0.032644 -0.200849 0.979078 -vn 0.017785 -0.190857 0.981457 -vn 0.032676 -0.200818 0.979083 -vn 0.032676 -0.200818 0.979083 -vn 0.017785 -0.190857 0.981457 -vn 0.017807 -0.190835 0.981461 -vn -0.032644 -0.200849 0.979078 -vn -0.032676 -0.200819 0.979083 -vn -0.017785 -0.190857 0.981457 -vn -0.017785 -0.190857 0.981457 -vn -0.032676 -0.200819 0.979083 -vn -0.017807 -0.190835 0.981461 -vn -0.000000 -0.187577 0.982250 -vn -0.017785 -0.190857 0.981457 -vn -0.000000 -0.187566 0.982252 -vn -0.000000 -0.187566 0.982252 -vn -0.017785 -0.190857 0.981457 -vn -0.017807 -0.190835 0.981461 -vn -0.046351 -0.232601 0.971467 -vn -0.046347 -0.232603 0.971467 -vn -0.042938 -0.215297 0.975604 -vn -0.042938 -0.215297 0.975604 -vn -0.046347 -0.232603 0.971467 -vn -0.042958 -0.215274 0.975608 -vn -0.032644 -0.200849 0.979078 -vn -0.042938 -0.215297 0.975604 -vn -0.032676 -0.200819 0.979083 -vn -0.032676 -0.200819 0.979083 -vn -0.042938 -0.215297 0.975604 -vn -0.042958 -0.215274 0.975608 -vn -0.032750 -0.264436 0.963847 -vn -0.032751 -0.264436 0.963847 -vn -0.042918 -0.249889 0.967323 -vn -0.042918 -0.249889 0.967323 -vn -0.032751 -0.264436 0.963847 -vn -0.042909 -0.249890 0.967323 -vn -0.046351 -0.232601 0.971467 -vn -0.042918 -0.249889 0.967323 -vn -0.046347 -0.232603 0.971467 -vn -0.046347 -0.232603 0.971467 -vn -0.042918 -0.249889 0.967323 -vn -0.042909 -0.249890 0.967323 -vn -0.019644 -0.213940 0.976649 -vn -0.000000 -0.233082 0.972457 -vn 0.000000 -0.206033 0.978545 -vn 0.000000 -0.206033 0.978545 -vn -0.000000 -0.233082 0.972457 -vn 0.019644 -0.213940 0.976649 -vn 0.019644 -0.213940 0.976649 -vn -0.000000 -0.233082 0.972457 -vn 0.027733 -0.233031 0.972074 -vn 0.027733 -0.233031 0.972074 -vn -0.000000 -0.233082 0.972457 -vn 0.019590 -0.252093 0.967505 -vn 0.019590 -0.252093 0.967505 -vn -0.000000 -0.233082 0.972457 -vn -0.000000 -0.259970 0.965617 -vn -0.000000 -0.259970 0.965617 -vn -0.000000 -0.233082 0.972457 -vn -0.019590 -0.252093 0.967505 -vn -0.019590 -0.252093 0.967505 -vn -0.000000 -0.233082 0.972457 -vn -0.027733 -0.233031 0.972074 -vn -0.027733 -0.233031 0.972074 -vn -0.000000 -0.233082 0.972457 -vn -0.019644 -0.213940 0.976649 -vn -0.697752 -0.716323 -0.004794 -vn -0.707102 -0.688000 -0.163286 -vn -0.377636 -0.924330 -0.054816 -vn -0.377636 -0.924330 -0.054816 -vn -0.707102 -0.688000 -0.163286 -vn -0.382697 -0.898803 -0.213765 -vn -0.000000 -0.997398 -0.072093 -vn 0.000000 -0.972838 -0.231488 -vn 0.377636 -0.924330 -0.054816 -vn 0.377636 -0.924330 -0.054816 -vn 0.000000 -0.972838 -0.231488 -vn 0.382697 -0.898803 -0.213765 -vn 0.737682 0.632293 0.236708 -vn 0.681840 0.613669 0.398125 -vn 0.738575 0.630131 0.239670 -vn 0.738575 0.630131 0.239670 -vn 0.681840 0.613669 0.398125 -vn 0.665560 0.605372 0.436525 -vn -0.311467 0.906530 0.284940 -vn -0.278363 0.932868 0.228630 -vn -0.312038 0.906994 0.282832 -vn -0.312038 0.906994 0.282832 -vn -0.278363 0.932868 0.228630 -vn -0.266781 0.940996 0.208218 -vn -0.976892 0.210142 0.039026 -vn -0.931751 0.308242 -0.191901 -vn -0.977049 0.209732 0.037243 -vn -0.977049 0.209732 0.037243 -vn -0.931751 0.308242 -0.191901 -vn -0.925744 0.314520 -0.209940 -vn -0.739447 -0.632675 -0.230087 -vn -0.740368 -0.630416 -0.233303 -vn -0.682404 -0.614001 -0.396646 -vn -0.682404 -0.614001 -0.396646 -vn -0.740368 -0.630416 -0.233303 -vn -0.665230 -0.605254 -0.437192 -vn 0.312372 -0.905730 -0.286490 -vn 0.312955 -0.906184 -0.284411 -vn 0.279566 -0.932034 -0.230553 -vn 0.279566 -0.932034 -0.230553 -vn 0.312955 -0.906184 -0.284411 -vn 0.268192 -0.940088 -0.210496 -vn 0.975975 -0.216438 -0.025065 -vn 0.976107 -0.216022 -0.023446 -vn 0.930418 -0.309743 0.195913 -vn 0.930418 -0.309743 0.195913 -vn 0.976107 -0.216022 -0.023446 -vn 0.924760 -0.315558 0.212701 -vn 0.924760 -0.315558 0.212701 -vn 0.820657 -0.389489 0.418114 -vn 0.930418 -0.309743 0.195913 -vn 0.930418 -0.309743 0.195913 -vn 0.820657 -0.389489 0.418114 -vn 0.820373 -0.389920 0.418272 -vn 0.268192 -0.940088 -0.210496 -vn 0.234742 -0.959072 -0.158355 -vn 0.279566 -0.932034 -0.230553 -vn 0.279566 -0.932034 -0.230553 -vn 0.234742 -0.959072 -0.158355 -vn 0.234311 -0.959193 -0.158266 -vn -0.665230 -0.605254 -0.437192 -vn -0.583961 -0.567471 -0.580488 -vn -0.682404 -0.614001 -0.396646 -vn -0.682404 -0.614001 -0.396646 -vn -0.583961 -0.567471 -0.580488 -vn -0.583078 -0.567833 -0.581021 -vn -0.925744 0.314520 -0.209940 -vn -0.931751 0.308242 -0.191901 -vn -0.816619 0.391452 -0.424144 -vn -0.816619 0.391452 -0.424144 -vn -0.931751 0.308242 -0.191901 -vn -0.816318 0.391895 -0.424316 -vn -0.266781 0.940996 0.208218 -vn -0.278363 0.932868 0.228630 -vn -0.233075 0.959900 0.155782 -vn -0.233075 0.959900 0.155782 -vn -0.278363 0.932868 0.228630 -vn -0.232585 0.960036 0.155678 -vn 0.665560 0.605372 0.436525 -vn 0.681840 0.613669 0.398125 -vn 0.586860 0.568918 0.576132 -vn 0.586860 0.568918 0.576132 -vn 0.681840 0.613669 0.398125 -vn 0.586054 0.569260 0.576614 -vn 0.730109 0.631128 0.261950 -vn 0.674042 0.612076 0.413559 -vn 0.730870 0.629198 0.264459 -vn 0.730870 0.629198 0.264459 -vn 0.674042 0.612076 0.413559 -vn 0.658902 0.604471 0.447731 -vn -0.309867 0.910080 0.275204 -vn -0.277606 0.934791 0.221588 -vn -0.310374 0.910441 0.273431 -vn -0.310374 0.910441 0.273431 -vn -0.277606 0.934791 0.221588 -vn -0.267058 0.941974 0.203383 -vn -0.975179 0.221311 0.006884 -vn -0.925862 0.312979 -0.211715 -vn -0.975276 0.220926 0.005394 -vn -0.975276 0.220926 0.005394 -vn -0.925862 0.312979 -0.211715 -vn -0.920190 0.318481 -0.227641 -vn -0.731779 -0.631473 -0.256403 -vn -0.732555 -0.629471 -0.259094 -vn -0.674460 -0.612301 -0.412543 -vn -0.674460 -0.612301 -0.412543 -vn -0.732555 -0.629471 -0.259094 -vn -0.658586 -0.604310 -0.448412 -vn 0.310648 -0.909417 -0.276512 -vn 0.311165 -0.909772 -0.274755 -vn 0.278716 -0.934049 -0.223315 -vn 0.278716 -0.934049 -0.223315 -vn 0.311165 -0.909772 -0.274755 -vn 0.268348 -0.941166 -0.205417 -vn 0.973944 -0.226729 0.005129 -vn 0.974028 -0.226334 0.006528 -vn 0.924735 -0.314179 0.214839 -vn 0.924735 -0.314179 0.214839 -vn 0.974028 -0.226334 0.006528 -vn 0.919377 -0.319305 0.229760 -vn 0.919377 -0.319305 0.229760 -vn 0.817616 -0.389044 0.424440 -vn 0.924735 -0.314179 0.214839 -vn 0.924735 -0.314179 0.214839 -vn 0.817616 -0.389044 0.424440 -vn 0.817361 -0.389419 0.424586 -vn 0.268348 -0.941166 -0.205417 -vn 0.235758 -0.959292 -0.155492 -vn 0.278716 -0.934049 -0.223315 -vn 0.278716 -0.934049 -0.223315 -vn 0.235758 -0.959292 -0.155492 -vn 0.235318 -0.959416 -0.155393 -vn -0.658586 -0.604310 -0.448412 -vn -0.579992 -0.568280 -0.583667 -vn -0.674460 -0.612301 -0.412543 -vn -0.674460 -0.612301 -0.412543 -vn -0.579992 -0.568280 -0.583667 -vn -0.579111 -0.568623 -0.584208 -vn -0.920190 0.318481 -0.227641 -vn -0.925862 0.312979 -0.211715 -vn -0.813745 0.390880 -0.430154 -vn -0.813745 0.390880 -0.430154 -vn -0.925862 0.312979 -0.211715 -vn -0.813468 0.391275 -0.430318 -vn -0.267058 0.941974 0.203383 -vn -0.277606 0.934791 0.221588 -vn -0.234166 0.960067 0.153092 -vn -0.234166 0.960067 0.153092 -vn -0.277606 0.934791 0.221588 -vn -0.233661 0.960209 0.152976 -vn 0.658902 0.604471 0.447731 -vn 0.674042 0.612076 0.413559 -vn 0.582696 0.569623 0.579651 -vn 0.582696 0.569623 0.579651 -vn 0.674042 0.612076 0.413559 -vn 0.581938 0.569929 0.580111 -vn 0.999999 -0.000024 -0.001367 -vn 0.999999 0.000110 -0.001589 -vn 0.999999 0.000312 -0.001607 -vn 0.999999 0.000312 -0.001607 -vn 0.999999 0.000110 -0.001589 -vn 0.999999 0.000042 -0.001067 -vn -0.000428 -0.310851 0.950458 -vn -0.013543 -0.308905 0.950997 -vn -0.000211 -0.310413 0.950602 -vn -0.000211 -0.310413 0.950602 -vn -0.013543 -0.308905 0.950997 -vn -0.001386 -0.309078 0.951036 -vn -0.001386 -0.309078 0.951036 -vn -0.013543 -0.308905 0.950997 -vn -0.022512 -0.308285 0.951028 -vn -0.999999 0.001490 -0.000526 -vn -0.999996 0.000606 0.002709 -vn -0.999999 0.001133 0.000814 -vn 0.979622 0.191624 0.060169 -vn 0.973898 0.217328 0.065502 -vn 0.979285 0.193237 0.060504 -vn 0.979285 0.193237 0.060504 -vn 0.973898 0.217328 0.065502 -vn 0.973553 0.218779 0.065802 -vn 1.000000 -0.000004 -0.000861 -vn 1.000000 0.000071 -0.001001 -vn 0.999999 0.000042 -0.001067 -vn 0.999999 0.000042 -0.001067 -vn 1.000000 0.000071 -0.001001 -vn 0.999999 0.000312 -0.001607 -vn -0.013543 -0.308905 0.950997 -vn -0.022202 -0.232051 0.972450 -vn -0.022512 -0.308285 0.951028 -vn -0.022512 -0.308285 0.951028 -vn -0.022202 -0.232051 0.972450 -vn -0.041394 -0.269769 0.962035 -vn -1.000000 0.000415 0.000131 -vn -0.999997 0.001624 -0.001522 -vn -1.000000 0.000666 -0.000237 -vn -1.000000 0.000666 -0.000237 -vn -0.999997 0.001624 -0.001522 -vn -0.999997 0.001815 -0.001774 -vn 0.016620 0.948094 0.317555 -vn -0.007601 0.955684 0.294297 -vn 0.005416 0.940885 0.338683 -vn 0.005416 0.940885 0.338683 -vn -0.007601 0.955684 0.294297 -vn -0.016858 0.956666 0.290698 -vn -0.041394 -0.269769 0.962035 -vn -0.022202 -0.232051 0.972450 -vn 0.000025 -0.048301 0.998833 -vn 0.000025 -0.048301 0.998833 -vn -0.022202 -0.232051 0.972450 -vn -0.000058 -0.045863 0.998948 -vn 0.000023 0.953980 0.299870 -vn 0.000003 0.953963 0.299924 -vn 0.000018 0.953975 0.299885 -vn 0.000018 0.953975 0.299885 -vn 0.000003 0.953963 0.299924 -vn -0.000002 0.953958 0.299940 -vn 1.000000 0.000071 -0.001001 -vn 0.999996 0.000825 -0.002665 -vn 0.999999 0.000312 -0.001607 -vn -0.998986 -0.013491 0.042948 -vn -0.998667 -0.016054 0.049061 -vn -0.998969 -0.013636 0.043294 -vn -0.998969 -0.013636 0.043294 -vn -0.998667 -0.016054 0.049061 -vn -0.998646 -0.016207 0.049426 -vn 0.000000 -0.965024 -0.262163 -vn -0.000187 -0.964080 -0.265612 -vn -0.000006 -0.964991 -0.262283 -vn -0.000006 -0.964991 -0.262283 -vn -0.000187 -0.964080 -0.265612 -vn -0.000193 -0.964048 -0.265727 -vn 0.000000 -0.299947 0.953956 -vn 0.000000 -0.299947 0.953956 -vn 0.000000 -0.299947 0.953956 -vn 0.000000 -0.299947 0.953956 -vn 0.000000 -0.299947 0.953956 -vn 0.000000 -0.299947 0.953956 -vn 0.016620 0.948094 0.317555 -vn 0.005416 0.940885 0.338683 -vn -0.000131 0.932658 0.360761 -vn -0.000131 0.932658 0.360761 -vn 0.005416 0.940885 0.338683 -vn -0.000135 0.932688 0.360683 -vn 0.000000 0.810325 0.585980 -vn 0.000015 0.810283 0.586039 -vn 0.000101 0.810034 0.586382 -vn 0.000101 0.810034 0.586382 -vn 0.000015 0.810283 0.586039 -vn 0.000116 0.809992 0.586441 -vn 0.000000 -0.299936 0.953959 -vn 0.000000 -0.299936 0.953959 -vn 0.000000 -0.299936 0.953959 -vn 0.000000 -0.299936 0.953959 -vn 0.000000 -0.299936 0.953959 -vn 0.000000 -0.299936 0.953959 -vn 0.000267 -0.997944 0.064095 -vn 0.000039 -0.998007 0.063111 -vn 0.000229 -0.997954 0.063928 -vn 0.000229 -0.997954 0.063928 -vn 0.000039 -0.998007 0.063111 -vn 0.000000 -0.998017 0.062945 -vn -0.999996 0.000034 0.002962 -vn -0.999999 0.001133 0.000814 -vn -0.999995 0.000190 0.003234 -vn -0.999995 0.000190 0.003234 -vn -0.999999 0.001133 0.000814 -vn -0.999996 0.000606 0.002709 -vn 1.000000 -0.000285 -0.000940 -vn 0.999999 -0.000024 -0.001367 -vn 1.000000 -0.000308 -0.000684 -vn 1.000000 -0.000308 -0.000684 -vn 0.999999 -0.000024 -0.001367 -vn 1.000000 -0.000243 -0.000572 -vn 0.000053 -0.954216 -0.299120 -vn -0.000468 -0.953831 -0.300343 -vn -0.000135 -0.954094 -0.299507 -vn -0.000135 -0.954094 -0.299507 -vn -0.000468 -0.953831 -0.300343 -vn -0.000646 -0.953846 -0.300294 -vn -0.003087 0.953735 0.300634 -vn 0.000450 0.954940 0.296798 -vn -0.002318 0.954233 0.299054 -vn -0.002318 0.954233 0.299054 -vn 0.000450 0.954940 0.296798 -vn 0.000629 0.955233 0.295854 -vn 0.003057 0.954558 0.298009 -vn 0.002713 0.954781 0.297297 -vn 0.000450 0.954940 0.296798 -vn 0.000450 0.954940 0.296798 -vn 0.002713 0.954781 0.297297 -vn 0.000629 0.955233 0.295854 -vn 0.923843 -0.114166 0.365350 -vn 0.923710 -0.114285 0.365647 -vn 0.921004 -0.116698 0.371662 -vn 0.921004 -0.116698 0.371662 -vn 0.923710 -0.114285 0.365647 -vn 0.920870 -0.116816 0.371957 -vn 0.000091 -0.300271 0.953854 -vn 0.318065 -0.284513 0.904371 -vn 0.000798 -0.300107 0.953905 -vn 0.000798 -0.300107 0.953905 -vn 0.318065 -0.284513 0.904371 -vn 0.319183 -0.284229 0.904066 -vn -0.318216 -0.284823 0.904220 -vn 0.000091 -0.300271 0.953854 -vn -0.317308 -0.284775 0.904555 -vn -0.317308 -0.284775 0.904555 -vn 0.000091 -0.300271 0.953854 -vn 0.000798 -0.300107 0.953905 -vn -0.924369 -0.114759 0.363831 -vn -0.921680 -0.117164 0.369835 -vn -0.924243 -0.114872 0.364114 -vn -0.924243 -0.114872 0.364114 -vn -0.921680 -0.117164 0.369835 -vn -0.921553 -0.117277 0.370116 -vn -0.000033 -0.953359 -0.301839 -vn -0.000278 -0.953520 -0.301330 -vn -0.000468 -0.953831 -0.300343 -vn -0.000468 -0.953831 -0.300343 -vn -0.000278 -0.953520 -0.301330 -vn -0.000646 -0.953846 -0.300294 -vn -0.001640 -0.954772 -0.297335 -vn -0.000298 -0.954188 -0.299209 -vn 0.000335 -0.953740 -0.300633 -vn 0.000335 -0.953740 -0.300633 -vn -0.000298 -0.954188 -0.299209 -vn 0.000000 -0.953686 -0.300805 -vn -0.000000 0.954554 0.298037 -vn -0.000460 0.954487 0.298254 -vn 0.000313 0.953920 0.300062 -vn 0.000313 0.953920 0.300062 -vn -0.000460 0.954487 0.298254 -vn 0.002027 0.953163 0.302449 -vn -0.000460 0.954487 0.298254 -vn -0.000000 0.954554 0.298037 -vn 0.000638 0.954564 0.298005 -vn -0.000528 -0.953655 -0.300901 -vn 0.000335 -0.953740 -0.300633 -vn 0.000000 -0.953686 -0.300805 -vn -0.000000 0.954554 0.298037 -vn 0.001170 0.954567 0.297993 -vn 0.000638 0.954564 0.298005 -vn 0.000638 0.954564 0.298005 -vn 0.001170 0.954567 0.297993 -vn 0.001423 0.954677 0.297640 -vn 0.691212 -0.216569 0.689437 -vn 0.874794 -0.144989 0.462292 -vn 0.690147 -0.217044 0.690354 -vn 0.690147 -0.217044 0.690354 -vn 0.874794 -0.144989 0.462292 -vn 0.873242 -0.146055 0.464884 -vn 0.691212 -0.216569 0.689437 -vn 0.690147 -0.217044 0.690354 -vn 0.228632 -0.292125 0.928650 -vn 0.228632 -0.292125 0.928650 -vn 0.690147 -0.217044 0.690354 -vn 0.228653 -0.292173 0.928630 -vn -0.228291 -0.292369 0.928657 -vn 0.228632 -0.292125 0.928650 -vn -0.228138 -0.292322 0.928709 -vn -0.228138 -0.292322 0.928709 -vn 0.228632 -0.292125 0.928650 -vn 0.228653 -0.292173 0.928630 -vn -0.690365 -0.217540 0.689980 -vn -0.228291 -0.292369 0.928657 -vn -0.691255 -0.217104 0.689226 -vn -0.691255 -0.217104 0.689226 -vn -0.228291 -0.292369 0.928657 -vn -0.228138 -0.292322 0.928709 -vn -0.875485 -0.145283 0.460889 -vn -0.873890 -0.146380 0.463561 -vn -0.691255 -0.217104 0.689226 -vn -0.691255 -0.217104 0.689226 -vn -0.873890 -0.146380 0.463561 -vn -0.690365 -0.217540 0.689980 -vn 0.000000 -0.953686 -0.300805 -vn -0.001312 -0.953480 -0.301453 -vn -0.000528 -0.953655 -0.300901 -vn -0.000528 -0.953655 -0.300901 -vn -0.001312 -0.953480 -0.301453 -vn -0.002079 -0.953140 -0.302522 -vn 0.000960 -0.954369 -0.298627 -vn -0.000226 -0.953559 -0.301207 -vn 0.000812 -0.954153 -0.299318 -vn 0.000812 -0.954153 -0.299318 -vn -0.000226 -0.953559 -0.301207 -vn 0.000234 -0.953479 -0.301460 -vn -0.000921 0.953534 0.301283 -vn 0.000237 0.954506 0.298191 -vn -0.000732 0.953805 0.300426 -vn 0.000237 0.954506 0.298191 -vn -0.000110 0.954609 0.297862 -vn -0.000732 0.953805 0.300426 -vn -0.000110 0.954609 0.297862 -vn 0.000237 0.954506 0.298191 -vn 0.000712 0.954491 0.298238 -vn -0.000808 -0.953593 -0.301096 -vn 0.000234 -0.953479 -0.301460 -vn -0.000226 -0.953559 -0.301207 -vn 0.000879 0.954765 0.297360 -vn 0.000943 0.954675 0.297649 -vn 0.000237 0.954506 0.298191 -vn 0.000237 0.954506 0.298191 -vn 0.000943 0.954675 0.297649 -vn 0.000712 0.954491 0.298238 -vn 0.650392 -0.227638 0.724686 -vn 0.812562 -0.174506 0.556139 -vn 0.649233 -0.228149 0.725565 -vn 0.649233 -0.228149 0.725565 -vn 0.812562 -0.174506 0.556139 -vn 0.810489 -0.175641 0.558800 -vn 0.650392 -0.227638 0.724686 -vn 0.649233 -0.228149 0.725565 -vn 0.231733 -0.291900 0.927952 -vn 0.231733 -0.291900 0.927952 -vn 0.649233 -0.228149 0.725565 -vn 0.231837 -0.291965 0.927905 -vn -0.231379 -0.292175 0.927953 -vn 0.231733 -0.291900 0.927952 -vn -0.231222 -0.292123 0.928009 -vn -0.231222 -0.292123 0.928009 -vn 0.231733 -0.291900 0.927952 -vn 0.231837 -0.291965 0.927905 -vn -0.649442 -0.228653 0.725219 -vn -0.231379 -0.292175 0.927953 -vn -0.650458 -0.228194 0.724453 -vn -0.650458 -0.228194 0.724453 -vn -0.231379 -0.292175 0.927953 -vn -0.231222 -0.292123 0.928009 -vn -0.813432 -0.174813 0.554769 -vn -0.811420 -0.175917 0.557360 -vn -0.650458 -0.228194 0.724453 -vn -0.650458 -0.228194 0.724453 -vn -0.811420 -0.175917 0.557360 -vn -0.649442 -0.228653 0.725219 -vn -0.000942 -0.953189 -0.302373 -vn -0.001026 -0.953315 -0.301977 -vn -0.000226 -0.953559 -0.301207 -vn -0.000226 -0.953559 -0.301207 -vn -0.001026 -0.953315 -0.301977 -vn -0.000808 -0.953593 -0.301096 -vn 0.999999 -0.000024 -0.001367 -vn 1.000000 -0.000285 -0.000940 -vn 0.999999 0.000110 -0.001589 -vn -0.999997 0.001624 -0.001522 -vn -0.999999 0.001490 -0.000526 -vn -0.999997 0.001815 -0.001774 -vn -0.999997 0.001815 -0.001774 -vn -0.999999 0.001490 -0.000526 -vn -0.999999 0.001133 0.000814 -vn -0.000004 -0.953959 -0.299938 -vn -0.000007 -0.953977 -0.299879 -vn -0.000009 -0.953960 -0.299935 -vn -0.000009 -0.953960 -0.299935 -vn -0.000007 -0.953977 -0.299879 -vn 0.000000 -0.953952 -0.299959 -vn 0.851215 -0.157429 0.500649 -vn 0.962086 -0.081807 0.260189 -vn 0.851217 -0.157420 0.500648 -vn 0.851217 -0.157420 0.500648 -vn 0.962086 -0.081807 0.260189 -vn 0.962090 -0.081799 0.260177 -vn -0.358834 -0.279992 0.890417 -vn 0.000000 -0.299969 0.953949 -vn -0.358832 -0.279992 0.890418 -vn -0.358832 -0.279992 0.890418 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn -0.669870 -0.222721 0.708286 -vn -0.358834 -0.279992 0.890417 -vn -0.669870 -0.222721 0.708286 -vn -0.669870 -0.222721 0.708286 -vn -0.358834 -0.279992 0.890417 -vn -0.358832 -0.279992 0.890418 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -0.000001 0.953943 0.299987 -vn -0.000002 0.953945 0.299983 -vn -0.000003 0.953942 0.299990 -vn -0.000003 0.953942 0.299990 -vn -0.000002 0.953945 0.299983 -vn 0.000000 0.953952 0.299959 -vn 0.962086 -0.081807 0.260189 -vn 1.000000 0.000000 -0.000000 -vn 0.962090 -0.081799 0.260177 -vn 0.962090 -0.081799 0.260177 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.000002 -0.953958 -0.299941 -vn 0.000003 -0.953936 -0.300012 -vn 0.000007 -0.953955 -0.299951 -vn 0.000007 -0.953955 -0.299951 -vn 0.000003 -0.953936 -0.300012 -vn 0.000000 -0.953946 -0.299979 -vn 0.832911 -0.166011 0.527920 -vn 0.957315 -0.086673 0.275747 -vn 0.832923 -0.165972 0.527914 -vn 0.832923 -0.165972 0.527914 -vn 0.957315 -0.086673 0.275747 -vn 0.957336 -0.086634 0.275685 -vn -0.359045 -0.279975 0.890337 -vn 0.000000 -0.299980 0.953945 -vn -0.359046 -0.279977 0.890336 -vn -0.359046 -0.279977 0.890336 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn -0.670204 -0.222630 0.707999 -vn -0.359045 -0.279975 0.890337 -vn -0.670207 -0.222633 0.707995 -vn -0.670207 -0.222633 0.707995 -vn -0.359045 -0.279975 0.890337 -vn -0.359046 -0.279977 0.890336 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 0.953940 0.299998 -vn 0.000001 0.953941 0.299994 -vn 0.000000 0.953943 0.299989 -vn 0.000000 0.953943 0.299989 -vn 0.000001 0.953941 0.299994 -vn 0.000001 0.953944 0.299986 -vn 0.957315 -0.086673 0.275747 -vn 1.000000 0.000000 -0.000000 -vn 0.957336 -0.086634 0.275685 -vn 0.957336 -0.086634 0.275685 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.000000 -0.953959 -0.299938 -vn 0.000000 -0.953977 -0.299879 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953977 -0.299879 -vn 0.000000 -0.953977 -0.299879 -vn 0.811445 -0.175317 0.557513 -vn 0.951696 -0.092093 0.292905 -vn 0.811450 -0.175301 0.557510 -vn 0.811450 -0.175301 0.557510 -vn 0.951696 -0.092093 0.292905 -vn 0.951701 -0.092081 0.292892 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn -0.963467 -0.080325 0.255498 -vn -0.856549 -0.154797 0.492303 -vn -0.963471 -0.080327 0.255481 -vn -0.963471 -0.080327 0.255481 -vn -0.856549 -0.154797 0.492303 -vn -0.856553 -0.154807 0.492292 -vn -0.963467 -0.080325 0.255498 -vn -0.963471 -0.080327 0.255481 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -0.963471 -0.080327 0.255481 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 0.953966 0.299914 -vn 0.000000 0.953966 0.299914 -vn 0.000000 0.953954 0.299952 -vn 0.000000 0.953954 0.299952 -vn 0.000000 0.953966 0.299914 -vn 0.000000 0.953954 0.299954 -vn 0.951696 -0.092093 0.292905 -vn 1.000000 0.000000 -0.000000 -vn 0.951701 -0.092081 0.292892 -vn 0.951701 -0.092081 0.292892 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.000000 -0.953944 -0.299985 -vn 0.000000 -0.953948 -0.299971 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953948 -0.299971 -vn 0.000000 -0.953948 -0.299971 -vn 0.822280 -0.170707 0.542876 -vn 0.954535 -0.089412 0.284374 -vn 0.822284 -0.170696 0.542874 -vn 0.822284 -0.170696 0.542874 -vn 0.954535 -0.089412 0.284374 -vn 0.954544 -0.089398 0.284347 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn -0.964692 -0.078994 0.251256 -vn -0.861276 -0.152417 0.484740 -vn -0.964699 -0.078990 0.251228 -vn -0.964699 -0.078990 0.251228 -vn -0.861276 -0.152417 0.484740 -vn -0.861279 -0.152424 0.484733 -vn -0.964692 -0.078994 0.251256 -vn -0.964699 -0.078990 0.251228 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -0.964699 -0.078990 0.251228 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 0.953961 0.299932 -vn 0.000000 0.953961 0.299932 -vn 0.000000 0.953939 0.300001 -vn 0.000000 0.953939 0.300001 -vn 0.000000 0.953961 0.299932 -vn 0.000000 0.953938 0.300004 -vn 0.954535 -0.089412 0.284374 -vn 1.000000 0.000000 -0.000000 -vn 0.954544 -0.089398 0.284347 -vn 0.954544 -0.089398 0.284347 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.000008 -0.953947 -0.299974 -vn 0.000003 -0.953949 -0.299968 -vn 0.000015 -0.953945 -0.299982 -vn 0.825428 -0.169341 0.538509 -vn 0.955361 -0.088624 0.281835 -vn 0.825429 -0.169338 0.538508 -vn 0.825429 -0.169338 0.538508 -vn 0.955361 -0.088624 0.281835 -vn 0.955361 -0.088623 0.281834 -vn -0.108662 -0.298199 0.948298 -vn 0.000000 -0.299980 0.953945 -vn -0.108663 -0.298204 0.948297 -vn -0.108663 -0.298204 0.948297 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn -0.216023 -0.292831 0.931442 -vn -0.108662 -0.298199 0.948298 -vn -0.216025 -0.292839 0.931439 -vn -0.216025 -0.292839 0.931439 -vn -0.108662 -0.298199 0.948298 -vn -0.108663 -0.298204 0.948297 -vn -0.997122 -0.022736 0.072318 -vn -0.997122 -0.022737 0.072318 -vn -0.997122 -0.022740 0.072318 -vn -0.997122 -0.022740 0.072318 -vn -0.997122 -0.022737 0.072318 -vn -0.997122 -0.022741 0.072318 -vn 0.000007 0.953952 0.299958 -vn 0.000020 0.953957 0.299944 -vn 0.000039 0.953963 0.299924 -vn 0.955361 -0.088624 0.281835 -vn 1.000000 0.000000 -0.000000 -vn 0.955361 -0.088623 0.281834 -vn 0.955361 -0.088623 0.281834 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.000000 -0.953951 -0.299963 -vn 0.000000 -0.953950 -0.299965 -vn 0.000000 -0.953961 -0.299932 -vn 0.000000 -0.953961 -0.299932 -vn 0.000000 -0.953950 -0.299965 -vn 0.000000 -0.953961 -0.299932 -vn 0.828793 -0.167823 0.533795 -vn 0.956239 -0.087764 0.279112 -vn 0.828789 -0.167837 0.533797 -vn 0.828789 -0.167837 0.533797 -vn 0.956239 -0.087764 0.279112 -vn 0.956236 -0.087774 0.279123 -vn 0.000000 -0.299923 0.953963 -vn 0.000000 -0.299923 0.953963 -vn 0.000000 -0.299923 0.953963 -vn 0.000000 -0.299923 0.953963 -vn 0.000000 -0.299923 0.953963 -vn 0.000000 -0.299923 0.953963 -vn -0.968521 -0.074674 0.237466 -vn -0.876060 -0.144634 0.460000 -vn -0.968518 -0.074672 0.237479 -vn -0.968518 -0.074672 0.237479 -vn -0.876060 -0.144634 0.460000 -vn -0.876056 -0.144625 0.460009 -vn -0.968521 -0.074674 0.237466 -vn -0.968518 -0.074672 0.237479 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -0.968518 -0.074672 0.237479 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 0.953942 0.299993 -vn 0.000000 0.953942 0.299993 -vn 0.000000 0.953956 0.299947 -vn 0.000000 0.953956 0.299947 -vn 0.000000 0.953942 0.299993 -vn 0.000000 0.953956 0.299945 -vn 0.956239 -0.087764 0.279112 -vn 1.000000 0.000000 -0.000000 -vn 0.956236 -0.087774 0.279123 -vn 0.956236 -0.087774 0.279123 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.000003 0.953953 0.299956 -vn -0.000002 0.953956 0.299946 -vn -0.000016 0.953949 0.299968 -vn -0.000016 0.953949 0.299968 -vn -0.000002 0.953956 0.299946 -vn -0.000026 0.953958 0.299941 -vn 0.000007 -0.953955 -0.299951 -vn 0.000009 -0.953948 -0.299972 -vn 0.000001 -0.953955 -0.299950 -vn 0.000001 -0.953955 -0.299950 -vn 0.000009 -0.953948 -0.299972 -vn 0.000000 -0.953968 -0.299908 -vn -0.868644 -0.148587 0.472631 -vn -0.868651 -0.148604 0.472612 -vn -0.868648 -0.148598 0.472619 -vn -0.868648 -0.148598 0.472619 -vn -0.868651 -0.148604 0.472612 -vn -0.868656 -0.148615 0.472600 -vn -0.941437 -0.101150 0.321661 -vn -0.941437 -0.101150 0.321661 -vn -0.941437 -0.101150 0.321661 -vn -0.941437 -0.101150 0.321661 -vn -0.941437 -0.101150 0.321661 -vn -0.941437 -0.101150 0.321661 -vn 0.939018 -0.103135 0.328037 -vn 1.000000 0.000000 -0.000000 -vn 0.939026 -0.103124 0.328018 -vn 0.939026 -0.103124 0.328018 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.763509 -0.193726 0.616055 -vn 0.939018 -0.103135 0.328037 -vn 0.763512 -0.193715 0.616055 -vn 0.763512 -0.193715 0.616055 -vn 0.939018 -0.103135 0.328037 -vn 0.939026 -0.103124 0.328018 -vn -0.334186 -0.282733 0.899101 -vn 0.000000 -0.299980 0.953945 -vn -0.334187 -0.282733 0.899100 -vn -0.334187 -0.282733 0.899100 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn -0.334187 -0.282733 0.899100 -vn -0.334186 -0.282733 0.899101 -vn -0.334186 -0.282733 0.899101 -vn -0.334186 -0.282733 0.899101 -vn -0.334186 -0.282733 0.899101 -vn -0.334187 -0.282733 0.899100 -vn 0.323100 -0.283891 0.902780 -vn -0.334187 -0.282733 0.899100 -vn 0.323099 -0.283891 0.902781 -vn 0.323099 -0.283891 0.902781 -vn -0.334187 -0.282733 0.899100 -vn -0.334186 -0.282733 0.899101 -vn 0.323100 -0.283891 0.902780 -vn 0.323099 -0.283891 0.902781 -vn 0.323099 -0.283891 0.902781 -vn 0.323099 -0.283891 0.902781 -vn 0.323099 -0.283891 0.902781 -vn 0.323100 -0.283891 0.902780 -vn 0.000000 -0.299980 0.953945 -vn 0.323099 -0.283891 0.902781 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn 0.323099 -0.283891 0.902781 -vn 0.323100 -0.283891 0.902780 -vn -0.000001 -0.953951 -0.299962 -vn 0.000001 -0.953955 -0.299950 -vn -0.000014 -0.953954 -0.299951 -vn -0.105776 -0.298229 0.948615 -vn -0.105767 -0.298248 0.948610 -vn -0.105752 -0.298279 0.948602 -vn -0.105752 -0.298279 0.948602 -vn -0.105767 -0.298248 0.948610 -vn -0.105744 -0.298298 0.948597 -vn -0.000016 0.953949 0.299968 -vn -0.000026 0.953958 0.299941 -vn -0.000076 0.953945 0.299982 -vn 0.000003 0.953953 0.299956 -vn -0.000016 0.953949 0.299968 -vn 0.000007 0.953939 0.300000 -vn 0.000007 0.953939 0.300000 -vn -0.000016 0.953949 0.299968 -vn 0.000000 0.953924 0.300049 -vn -0.000002 0.953956 0.299946 -vn -0.000002 0.953953 0.299957 -vn 0.000001 0.953947 0.299976 -vn 0.000001 0.953947 0.299976 -vn -0.000002 0.953953 0.299957 -vn 0.000002 0.953946 0.299979 -vn -0.000002 0.953956 0.299946 -vn 0.000003 0.953953 0.299956 -vn -0.000002 0.953953 0.299957 -vn -0.000002 0.953953 0.299957 -vn 0.000002 0.953944 0.299984 -vn 0.000002 0.953946 0.299979 -vn 0.000002 0.953946 0.299979 -vn 0.000002 0.953944 0.299984 -vn 0.000000 0.953947 0.299974 -vn 0.000001 -0.953956 -0.299948 -vn -0.000007 -0.953954 -0.299953 -vn 0.000007 -0.953955 -0.299951 -vn 0.000007 -0.953955 -0.299951 -vn 0.000001 -0.953955 -0.299950 -vn 0.000001 -0.953956 -0.299948 -vn 0.000001 -0.953956 -0.299948 -vn 0.000001 -0.953955 -0.299950 -vn -0.000001 -0.953951 -0.299962 -vn 0.000000 -0.953975 -0.299885 -vn -0.000015 -0.953951 -0.299962 -vn -0.000012 -0.953954 -0.299954 -vn -0.000012 -0.953954 -0.299954 -vn -0.000015 -0.953951 -0.299962 -vn -0.000007 -0.953954 -0.299953 -vn -0.000012 -0.953954 -0.299954 -vn -0.000007 -0.953954 -0.299953 -vn -0.000015 -0.953947 -0.299976 -vn -0.000015 -0.953947 -0.299976 -vn -0.000007 -0.953954 -0.299953 -vn 0.000001 -0.953956 -0.299948 -vn 0.000003 0.953953 0.299955 -vn -0.000000 0.953955 0.299950 -vn 0.000008 0.953944 0.299986 -vn 0.000008 0.953944 0.299986 -vn -0.000000 0.953955 0.299950 -vn 0.000011 0.953950 0.299967 -vn -0.000003 -0.953953 -0.299956 -vn -0.000007 -0.953939 -0.300001 -vn 0.000014 -0.953947 -0.299976 -vn 0.000014 -0.953947 -0.299976 -vn -0.000007 -0.953939 -0.300001 -vn 0.000000 -0.953923 -0.300052 -vn -0.868654 -0.148611 0.472605 -vn -0.868655 -0.148613 0.472602 -vn -0.868654 -0.148612 0.472603 -vn -0.868654 -0.148612 0.472603 -vn -0.868655 -0.148613 0.472602 -vn -0.868656 -0.148615 0.472600 -vn -0.941431 -0.101132 0.321682 -vn -0.941432 -0.101135 0.321680 -vn -0.941432 -0.101132 0.321681 -vn -0.941432 -0.101132 0.321681 -vn -0.941432 -0.101135 0.321680 -vn -0.941432 -0.101135 0.321680 -vn 0.939020 -0.103149 0.328027 -vn 1.000000 0.000000 -0.000000 -vn 0.939022 -0.103147 0.328023 -vn 0.939022 -0.103147 0.328023 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.763519 -0.193723 0.616044 -vn 0.939020 -0.103149 0.328027 -vn 0.763519 -0.193721 0.616044 -vn 0.763519 -0.193721 0.616044 -vn 0.939020 -0.103149 0.328027 -vn 0.939022 -0.103147 0.328023 -vn -0.334186 -0.282733 0.899101 -vn 0.000000 -0.299980 0.953945 -vn -0.334187 -0.282733 0.899100 -vn -0.334187 -0.282733 0.899100 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn -0.334187 -0.282733 0.899100 -vn -0.334186 -0.282733 0.899101 -vn -0.334186 -0.282733 0.899101 -vn -0.334186 -0.282733 0.899101 -vn -0.334186 -0.282733 0.899101 -vn -0.334187 -0.282733 0.899100 -vn 0.323100 -0.283891 0.902780 -vn -0.334187 -0.282733 0.899100 -vn 0.323099 -0.283891 0.902781 -vn 0.323099 -0.283891 0.902781 -vn -0.334187 -0.282733 0.899100 -vn -0.334186 -0.282733 0.899101 -vn 0.323100 -0.283891 0.902780 -vn 0.323099 -0.283891 0.902781 -vn 0.323099 -0.283891 0.902781 -vn 0.323099 -0.283891 0.902781 -vn 0.323099 -0.283891 0.902781 -vn 0.323100 -0.283891 0.902780 -vn 0.000000 -0.299980 0.953945 -vn 0.323099 -0.283891 0.902781 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn 0.323099 -0.283891 0.902781 -vn 0.323100 -0.283891 0.902780 -vn 0.000025 -0.953954 -0.299953 -vn 0.000014 -0.953947 -0.299976 -vn 0.000079 -0.953940 -0.299998 -vn -0.105749 -0.298287 0.948600 -vn -0.105755 -0.298275 0.948603 -vn -0.105765 -0.298253 0.948609 -vn -0.105765 -0.298253 0.948609 -vn -0.105755 -0.298275 0.948603 -vn -0.105770 -0.298241 0.948612 -vn 0.000008 0.953944 0.299986 -vn 0.000011 0.953950 0.299967 -vn 0.000012 0.953950 0.299966 -vn 0.000003 0.953953 0.299955 -vn 0.000008 0.953944 0.299986 -vn 0.000007 0.953939 0.300001 -vn 0.000007 0.953939 0.300001 -vn 0.000008 0.953944 0.299986 -vn 0.000000 0.953924 0.300049 -vn -0.000000 0.953955 0.299950 -vn -0.000002 0.953953 0.299957 -vn 0.000001 0.953947 0.299977 -vn 0.000001 0.953947 0.299977 -vn -0.000002 0.953953 0.299957 -vn 0.000002 0.953946 0.299980 -vn -0.000000 0.953955 0.299950 -vn 0.000003 0.953953 0.299955 -vn -0.000002 0.953953 0.299957 -vn -0.000002 0.953953 0.299957 -vn 0.000002 0.953944 0.299985 -vn 0.000002 0.953946 0.299980 -vn 0.000002 0.953946 0.299980 -vn 0.000002 0.953944 0.299985 -vn 0.000000 0.953947 0.299974 -vn 0.000001 -0.953956 -0.299946 -vn 0.000002 -0.953953 -0.299957 -vn -0.000003 -0.953953 -0.299956 -vn -0.000003 -0.953953 -0.299956 -vn 0.000014 -0.953947 -0.299976 -vn 0.000001 -0.953956 -0.299946 -vn 0.000001 -0.953956 -0.299946 -vn 0.000014 -0.953947 -0.299976 -vn 0.000025 -0.953954 -0.299953 -vn 0.000000 -0.953947 -0.299975 -vn -0.000002 -0.953944 -0.299986 -vn -0.000002 -0.953946 -0.299980 -vn -0.000002 -0.953946 -0.299980 -vn -0.000002 -0.953944 -0.299986 -vn 0.000002 -0.953953 -0.299957 -vn -0.000002 -0.953946 -0.299980 -vn 0.000002 -0.953953 -0.299957 -vn -0.000001 -0.953947 -0.299976 -vn -0.000001 -0.953947 -0.299976 -vn 0.000002 -0.953953 -0.299957 -vn 0.000001 -0.953956 -0.299946 -vn -0.979755 -0.060043 0.190986 -vn -0.919844 -0.117665 0.374223 -vn -0.979757 -0.060044 0.190973 -vn -0.979757 -0.060044 0.190973 -vn -0.919844 -0.117665 0.374223 -vn -0.919846 -0.117672 0.374215 -vn 0.806339 -0.177418 0.564217 -vn 0.950353 -0.093331 0.296846 -vn 0.806343 -0.177404 0.564215 -vn 0.806343 -0.177404 0.564215 -vn 0.950353 -0.093331 0.296846 -vn 0.950359 -0.093319 0.296831 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn -0.962647 -0.081204 0.258296 -vn -0.853388 -0.156356 0.497274 -vn -0.962652 -0.081205 0.258278 -vn -0.962652 -0.081205 0.258278 -vn -0.853388 -0.156356 0.497274 -vn -0.853392 -0.156365 0.497264 -vn 0.823811 -0.170042 0.540759 -vn 0.954939 -0.089021 0.283139 -vn 0.823816 -0.170028 0.540757 -vn 0.823816 -0.170028 0.540757 -vn 0.954939 -0.089021 0.283139 -vn 0.954944 -0.089010 0.283124 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn -0.979755 -0.060043 0.190986 -vn -0.979757 -0.060044 0.190973 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -0.979757 -0.060044 0.190973 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 0.953949 0.299969 -vn 0.000000 0.953948 0.299971 -vn 0.000000 0.953939 0.300001 -vn 0.000000 0.953939 0.300001 -vn 0.000000 0.953948 0.299971 -vn 0.000000 0.953939 0.300001 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953961 -0.299932 -vn 0.000000 -0.953961 -0.299932 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953959 -0.299938 -vn 0.954939 -0.089021 0.283139 -vn 1.000000 0.000000 -0.000000 -vn 0.954944 -0.089010 0.283124 -vn 0.954944 -0.089010 0.283124 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn -0.962647 -0.081204 0.258296 -vn -0.962652 -0.081205 0.258278 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -0.962652 -0.081205 0.258278 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 0.953955 0.299949 -vn 0.000000 0.953955 0.299949 -vn 0.000000 0.953949 0.299968 -vn 0.000000 0.953949 0.299968 -vn 0.000000 0.953955 0.299949 -vn 0.000000 0.953949 0.299969 -vn 0.000000 -0.953959 -0.299939 -vn 0.000000 -0.953983 -0.299862 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953983 -0.299862 -vn 0.000000 -0.953983 -0.299862 -vn 0.950353 -0.093331 0.296846 -vn 1.000000 0.000000 -0.000000 -vn 0.950359 -0.093319 0.296831 -vn 0.950359 -0.093319 0.296831 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.000007 0.953949 0.299967 -vn 0.000002 0.953951 0.299962 -vn 0.000002 0.953954 0.299953 -vn 0.000002 0.953954 0.299953 -vn 0.000002 0.953951 0.299962 -vn 0.000002 0.953965 0.299917 -vn 0.000010 -0.953955 -0.299950 -vn 0.000014 -0.953951 -0.299963 -vn -0.000003 -0.953957 -0.299945 -vn -0.000003 -0.953957 -0.299945 -vn 0.000014 -0.953951 -0.299963 -vn 0.000000 -0.953982 -0.299863 -vn -0.868676 -0.148667 0.472547 -vn -0.868662 -0.148636 0.472582 -vn -0.868667 -0.148648 0.472568 -vn -0.868667 -0.148648 0.472568 -vn -0.868662 -0.148636 0.472582 -vn -0.868654 -0.148616 0.472604 -vn -0.941437 -0.101150 0.321660 -vn -0.941435 -0.101135 0.321669 -vn -0.941437 -0.101148 0.321662 -vn -0.941437 -0.101148 0.321662 -vn -0.941435 -0.101135 0.321669 -vn -0.941435 -0.101132 0.321671 -vn 0.939023 -0.103149 0.328017 -vn 1.000000 0.000000 -0.000000 -vn 0.939020 -0.103152 0.328027 -vn 0.939020 -0.103152 0.328027 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.763519 -0.193723 0.616044 -vn 0.939023 -0.103149 0.328017 -vn 0.763519 -0.193723 0.616044 -vn 0.763519 -0.193723 0.616044 -vn 0.939023 -0.103149 0.328017 -vn 0.939020 -0.103152 0.328027 -vn -0.334203 -0.282718 0.899099 -vn 0.000000 -0.299980 0.953945 -vn -0.334206 -0.282731 0.899094 -vn -0.334206 -0.282731 0.899094 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn -0.334200 -0.282559 0.899150 -vn -0.334203 -0.282718 0.899099 -vn -0.334179 -0.282576 0.899153 -vn -0.334179 -0.282576 0.899153 -vn -0.334203 -0.282718 0.899099 -vn -0.334206 -0.282731 0.899094 -vn 0.323112 -0.283716 0.902831 -vn -0.334200 -0.282559 0.899150 -vn 0.323092 -0.283732 0.902833 -vn 0.323092 -0.283732 0.902833 -vn -0.334200 -0.282559 0.899150 -vn -0.334179 -0.282576 0.899153 -vn 0.323112 -0.283716 0.902831 -vn 0.323092 -0.283732 0.902833 -vn 0.323116 -0.283875 0.902780 -vn 0.323116 -0.283875 0.902780 -vn 0.323092 -0.283732 0.902833 -vn 0.323119 -0.283889 0.902774 -vn 0.000000 -0.299980 0.953945 -vn 0.323116 -0.283875 0.902780 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn 0.323116 -0.283875 0.902780 -vn 0.323119 -0.283889 0.902774 -vn -0.000009 -0.953949 -0.299969 -vn -0.000003 -0.953957 -0.299945 -vn -0.000041 -0.953957 -0.299943 -vn -0.105689 -0.298426 0.948563 -vn -0.105713 -0.298376 0.948576 -vn -0.105752 -0.298291 0.948599 -vn -0.105752 -0.298291 0.948599 -vn -0.105713 -0.298376 0.948576 -vn -0.105775 -0.298241 0.948612 -vn 0.000002 0.953954 0.299953 -vn 0.000002 0.953965 0.299917 -vn 0.000018 0.953969 0.299904 -vn 0.000007 0.953949 0.299967 -vn 0.000002 0.953954 0.299953 -vn 0.000010 0.953946 0.299977 -vn 0.000010 0.953946 0.299977 -vn 0.000002 0.953954 0.299953 -vn 0.000000 0.953924 0.300050 -vn 0.000002 0.953951 0.299962 -vn -0.000001 0.953950 0.299965 -vn -0.000002 0.953950 0.299964 -vn -0.000002 0.953950 0.299964 -vn -0.000001 0.953950 0.299965 -vn -0.000002 0.953950 0.299967 -vn 0.000002 0.953951 0.299962 -vn 0.000007 0.953949 0.299967 -vn -0.000001 0.953950 0.299965 -vn -0.000001 0.953950 0.299965 -vn -0.000002 0.953951 0.299963 -vn -0.000002 0.953950 0.299967 -vn -0.000002 0.953950 0.299967 -vn -0.000002 0.953951 0.299963 -vn 0.000000 0.953947 0.299974 -vn 0.000001 -0.953955 -0.299950 -vn -0.000005 -0.953954 -0.299952 -vn 0.000010 -0.953955 -0.299950 -vn 0.000010 -0.953955 -0.299950 -vn -0.000003 -0.953957 -0.299945 -vn 0.000001 -0.953955 -0.299950 -vn 0.000001 -0.953955 -0.299950 -vn -0.000003 -0.953957 -0.299945 -vn -0.000009 -0.953949 -0.299969 -vn 0.000000 -0.953947 -0.299974 -vn -0.000002 -0.953944 -0.299984 -vn -0.000002 -0.953960 -0.299934 -vn -0.000002 -0.953960 -0.299934 -vn -0.000002 -0.953944 -0.299984 -vn -0.000005 -0.953954 -0.299952 -vn -0.000002 -0.953960 -0.299934 -vn -0.000005 -0.953954 -0.299952 -vn -0.000004 -0.953966 -0.299916 -vn -0.000004 -0.953966 -0.299916 -vn -0.000005 -0.953954 -0.299952 -vn 0.000001 -0.953955 -0.299950 -vn -0.979755 -0.060045 0.190983 -vn -0.919844 -0.117669 0.374221 -vn -0.979757 -0.060047 0.190974 -vn -0.979757 -0.060047 0.190974 -vn -0.919844 -0.117669 0.374221 -vn -0.919846 -0.117676 0.374213 -vn 0.806339 -0.177425 0.564215 -vn 0.950354 -0.093334 0.296843 -vn 0.806343 -0.177411 0.564212 -vn 0.806343 -0.177411 0.564212 -vn 0.950354 -0.093334 0.296843 -vn 0.950358 -0.093323 0.296833 -vn 0.000000 -0.299981 0.953945 -vn 0.000000 -0.299981 0.953945 -vn 0.000000 -0.299981 0.953945 -vn 0.000000 -0.299981 0.953945 -vn 0.000000 -0.299981 0.953945 -vn 0.000000 -0.299981 0.953945 -vn -0.962648 -0.081206 0.258293 -vn -0.853388 -0.156362 0.497272 -vn -0.962651 -0.081209 0.258280 -vn -0.962651 -0.081209 0.258280 -vn -0.853388 -0.156362 0.497272 -vn -0.853392 -0.156371 0.497262 -vn 0.823811 -0.170048 0.540757 -vn 0.954939 -0.089024 0.283136 -vn 0.823816 -0.170035 0.540755 -vn 0.823816 -0.170035 0.540755 -vn 0.954939 -0.089024 0.283136 -vn 0.954943 -0.089014 0.283126 -vn 0.000000 -0.299981 0.953945 -vn 0.000000 -0.299981 0.953945 -vn 0.000000 -0.299981 0.953945 -vn 0.000000 -0.299981 0.953945 -vn 0.000000 -0.299981 0.953945 -vn 0.000000 -0.299981 0.953945 -vn -0.979755 -0.060045 0.190983 -vn -0.979757 -0.060047 0.190974 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -0.979757 -0.060047 0.190974 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 0.953951 0.299962 -vn 0.000000 0.953950 0.299965 -vn 0.000000 0.953938 0.300003 -vn 0.000000 0.953938 0.300003 -vn 0.000000 0.953950 0.299965 -vn 0.000000 0.953938 0.300003 -vn 0.000007 -0.953948 -0.299973 -vn 0.000002 -0.953945 -0.299981 -vn 0.000003 -0.953962 -0.299928 -vn 0.000003 -0.953962 -0.299928 -vn 0.000002 -0.953945 -0.299981 -vn 0.000000 -0.953959 -0.299938 -vn 0.954939 -0.089024 0.283136 -vn 1.000000 0.000000 -0.000000 -vn 0.954943 -0.089014 0.283126 -vn 0.954943 -0.089014 0.283126 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn -0.962648 -0.081206 0.258293 -vn -0.962651 -0.081209 0.258280 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -0.962651 -0.081209 0.258280 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 0.953951 0.299962 -vn 0.000000 0.953951 0.299963 -vn 0.000000 0.953938 0.300003 -vn 0.000000 0.953938 0.300003 -vn 0.000000 0.953951 0.299963 -vn 0.000000 0.953938 0.300003 -vn 0.000000 -0.953958 -0.299939 -vn 0.000000 -0.953983 -0.299862 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953983 -0.299862 -vn 0.000000 -0.953983 -0.299862 -vn 0.950354 -0.093334 0.296843 -vn 1.000000 0.000000 -0.000000 -vn 0.950358 -0.093323 0.296833 -vn 0.950358 -0.093323 0.296833 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.000003 0.953955 0.299951 -vn -0.000001 0.953956 0.299947 -vn 0.000008 0.953957 0.299945 -vn 0.000008 0.953957 0.299945 -vn -0.000001 0.953956 0.299947 -vn 0.000013 0.953964 0.299921 -vn 0.000007 -0.953952 -0.299961 -vn 0.000011 -0.953957 -0.299942 -vn -0.000004 -0.953957 -0.299945 -vn -0.000004 -0.953957 -0.299945 -vn 0.000011 -0.953957 -0.299942 -vn 0.000000 -0.953982 -0.299862 -vn -0.868678 -0.148575 0.472572 -vn -0.868683 -0.148586 0.472559 -vn -0.868681 -0.148582 0.472564 -vn -0.868681 -0.148582 0.472564 -vn -0.868683 -0.148586 0.472559 -vn -0.868686 -0.148593 0.472552 -vn -0.941437 -0.101147 0.321662 -vn -0.941435 -0.101131 0.321670 -vn -0.941437 -0.101144 0.321663 -vn -0.941437 -0.101144 0.321663 -vn -0.941435 -0.101131 0.321670 -vn -0.941435 -0.101129 0.321672 -vn 0.939021 -0.103150 0.328023 -vn 1.000000 0.000000 -0.000000 -vn 0.939019 -0.103153 0.328027 -vn 0.939019 -0.103153 0.328027 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.763521 -0.193715 0.616045 -vn 0.939021 -0.103150 0.328023 -vn 0.763520 -0.193717 0.616044 -vn 0.763520 -0.193717 0.616044 -vn 0.939021 -0.103150 0.328023 -vn 0.939019 -0.103153 0.328027 -vn -0.334207 -0.282721 0.899097 -vn 0.000000 -0.299968 0.953949 -vn -0.334205 -0.282720 0.899097 -vn -0.334205 -0.282720 0.899097 -vn 0.000000 -0.299968 0.953949 -vn 0.000000 -0.299968 0.953949 -vn -0.334206 -0.282732 0.899093 -vn -0.334207 -0.282721 0.899097 -vn -0.334208 -0.282731 0.899093 -vn -0.334208 -0.282731 0.899093 -vn -0.334207 -0.282721 0.899097 -vn -0.334205 -0.282720 0.899097 -vn 0.323119 -0.283889 0.902774 -vn -0.334206 -0.282732 0.899093 -vn 0.323122 -0.283888 0.902773 -vn 0.323122 -0.283888 0.902773 -vn -0.334206 -0.282732 0.899093 -vn -0.334208 -0.282731 0.899093 -vn 0.323119 -0.283889 0.902774 -vn 0.323122 -0.283888 0.902773 -vn 0.323120 -0.283878 0.902777 -vn 0.323120 -0.283878 0.902777 -vn 0.323122 -0.283888 0.902773 -vn 0.323118 -0.283878 0.902778 -vn 0.000000 -0.299968 0.953949 -vn 0.323120 -0.283878 0.902777 -vn 0.000000 -0.299968 0.953949 -vn 0.000000 -0.299968 0.953949 -vn 0.323120 -0.283878 0.902777 -vn 0.323118 -0.283878 0.902778 -vn -0.000010 -0.953949 -0.299969 -vn -0.000004 -0.953957 -0.299945 -vn -0.000043 -0.953957 -0.299942 -vn -0.105684 -0.298243 0.948621 -vn -0.105686 -0.298241 0.948622 -vn -0.105688 -0.298236 0.948623 -vn -0.105688 -0.298236 0.948623 -vn -0.105686 -0.298241 0.948622 -vn -0.105689 -0.298233 0.948624 -vn 0.000008 0.953957 0.299945 -vn 0.000013 0.953964 0.299921 -vn 0.000046 0.953973 0.299894 -vn 0.000003 0.953955 0.299951 -vn 0.000008 0.953957 0.299945 -vn 0.000005 0.953949 0.299969 -vn 0.000005 0.953949 0.299969 -vn 0.000008 0.953957 0.299945 -vn 0.000000 0.953938 0.300005 -vn -0.000001 0.953956 0.299947 -vn -0.000003 0.953954 0.299952 -vn -0.000003 0.953951 0.299962 -vn -0.000003 0.953951 0.299962 -vn -0.000003 0.953954 0.299952 -vn -0.000002 0.953950 0.299967 -vn -0.000001 0.953956 0.299947 -vn 0.000003 0.953955 0.299951 -vn -0.000003 0.953954 0.299952 -vn -0.000003 0.953954 0.299952 -vn -0.000002 0.953951 0.299964 -vn -0.000002 0.953950 0.299967 -vn -0.000002 0.953950 0.299967 -vn -0.000002 0.953951 0.299964 -vn 0.000000 0.953947 0.299974 -vn 0.000005 -0.953950 -0.299965 -vn 0.000001 -0.953950 -0.299964 -vn 0.000007 -0.953952 -0.299961 -vn 0.000007 -0.953952 -0.299961 -vn -0.000004 -0.953957 -0.299945 -vn 0.000005 -0.953950 -0.299965 -vn 0.000005 -0.953950 -0.299965 -vn -0.000004 -0.953957 -0.299945 -vn -0.000010 -0.953949 -0.299969 -vn 0.000000 -0.953947 -0.299975 -vn 0.000002 -0.953950 -0.299965 -vn 0.000002 -0.953950 -0.299967 -vn 0.000002 -0.953950 -0.299967 -vn 0.000002 -0.953950 -0.299965 -vn 0.000001 -0.953950 -0.299964 -vn 0.000002 -0.953950 -0.299967 -vn 0.000001 -0.953950 -0.299964 -vn 0.000002 -0.953951 -0.299964 -vn 0.000002 -0.953951 -0.299964 -vn 0.000001 -0.953950 -0.299964 -vn 0.000005 -0.953950 -0.299965 -vn -0.000004 0.953959 0.299936 -vn -0.000007 0.953958 0.299939 -vn 0.000000 0.953957 0.299943 -vn -0.000004 -0.953936 -0.300010 -vn -0.000003 -0.953968 -0.299907 -vn -0.000000 -0.953948 -0.299972 -vn -0.000000 -0.953948 -0.299972 -vn -0.000003 -0.953968 -0.299907 -vn 0.000000 -0.953963 -0.299924 -vn -0.751588 -0.197870 0.629256 -vn -0.308892 -0.285309 0.907295 -vn -0.751587 -0.197871 0.629257 -vn -0.751587 -0.197871 0.629257 -vn -0.308892 -0.285309 0.907295 -vn -0.308885 -0.285310 0.907297 -vn -0.878582 -0.143262 0.455598 -vn -0.751588 -0.197870 0.629256 -vn -0.878582 -0.143263 0.455598 -vn -0.878582 -0.143263 0.455598 -vn -0.751588 -0.197870 0.629256 -vn -0.751587 -0.197871 0.629257 -vn 0.939020 -0.103136 0.328030 -vn 1.000000 0.000000 -0.000000 -vn 0.939024 -0.103129 0.328023 -vn 0.939024 -0.103129 0.328023 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.763511 -0.193725 0.616053 -vn 0.939020 -0.103136 0.328030 -vn 0.763513 -0.193716 0.616053 -vn 0.763513 -0.193716 0.616053 -vn 0.939020 -0.103136 0.328030 -vn 0.939024 -0.103129 0.328023 -vn -0.334190 -0.282728 0.899101 -vn 0.000000 -0.299979 0.953946 -vn -0.334187 -0.282732 0.899100 -vn -0.334187 -0.282732 0.899100 -vn 0.000000 -0.299979 0.953946 -vn 0.000000 -0.299979 0.953946 -vn -0.334178 -0.282680 0.899120 -vn -0.334190 -0.282728 0.899101 -vn -0.334176 -0.282685 0.899119 -vn -0.334176 -0.282685 0.899119 -vn -0.334190 -0.282728 0.899101 -vn -0.334187 -0.282732 0.899100 -vn 0.323092 -0.283838 0.902800 -vn -0.334178 -0.282680 0.899120 -vn 0.323090 -0.283842 0.902799 -vn 0.323090 -0.283842 0.902799 -vn -0.334178 -0.282680 0.899120 -vn -0.334176 -0.282685 0.899119 -vn 0.323092 -0.283838 0.902800 -vn 0.323090 -0.283842 0.902799 -vn 0.323103 -0.283885 0.902781 -vn 0.323103 -0.283885 0.902781 -vn 0.323090 -0.283842 0.902799 -vn 0.323100 -0.283890 0.902781 -vn -0.308892 -0.285309 0.907295 -vn 0.323103 -0.283885 0.902781 -vn -0.308885 -0.285310 0.907297 -vn -0.308885 -0.285310 0.907297 -vn 0.323103 -0.283885 0.902781 -vn 0.323100 -0.283890 0.902781 -vn -0.000007 0.953958 0.299939 -vn -0.000002 0.953948 0.299972 -vn -0.000009 0.953948 0.299971 -vn -0.000009 0.953948 0.299971 -vn -0.000002 0.953948 0.299972 -vn 0.000000 0.953965 0.299918 -vn 0.000000 0.953957 0.299943 -vn 0.000002 0.953945 0.299983 -vn 0.000002 0.953952 0.299960 -vn 0.000002 0.953952 0.299960 -vn 0.000002 0.953945 0.299983 -vn 0.000000 0.953948 0.299973 -vn -0.000004 0.953959 0.299936 -vn 0.000000 0.953957 0.299943 -vn 0.000002 0.953955 0.299950 -vn 0.000002 0.953955 0.299950 -vn 0.000000 0.953957 0.299943 -vn 0.000002 0.953952 0.299960 -vn -0.000007 0.953958 0.299939 -vn -0.000004 0.953959 0.299936 -vn -0.000002 0.953948 0.299972 -vn -0.000002 0.953948 0.299972 -vn -0.000004 0.953959 0.299936 -vn -0.000000 0.953943 0.299988 -vn -0.000008 -0.953931 -0.300026 -vn -0.000006 -0.953939 -0.300002 -vn -0.000004 -0.953936 -0.300010 -vn -0.000004 -0.953936 -0.300010 -vn -0.000000 -0.953948 -0.299972 -vn -0.000008 -0.953931 -0.300026 -vn -0.000008 -0.953931 -0.300026 -vn -0.000000 -0.953948 -0.299972 -vn 0.000001 -0.953943 -0.299986 -vn 0.000000 -0.953975 -0.299885 -vn -0.000003 -0.953971 -0.299898 -vn -0.000002 -0.953961 -0.299930 -vn -0.000002 -0.953961 -0.299930 -vn -0.000003 -0.953971 -0.299898 -vn -0.000006 -0.953939 -0.300002 -vn -0.000002 -0.953961 -0.299930 -vn -0.000006 -0.953939 -0.300002 -vn -0.000003 -0.953952 -0.299960 -vn -0.000003 -0.953952 -0.299960 -vn -0.000006 -0.953939 -0.300002 -vn -0.000008 -0.953931 -0.300026 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn -0.999998 0.001910 0.000600 -vn -0.999998 0.001910 0.000600 -vn -0.999998 0.001910 0.000601 -vn -0.999998 0.001910 0.000601 -vn -0.999998 0.001910 0.000600 -vn -0.999998 0.001910 0.000601 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.999998 -0.001910 -0.000600 -vn 0.999998 -0.001910 -0.000600 -vn 0.999998 -0.001910 -0.000601 -vn 0.999998 -0.001910 -0.000601 -vn 0.999998 -0.001910 -0.000600 -vn 0.999998 -0.001910 -0.000601 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.000000 0.953959 0.299938 -vn 0.000000 0.953959 0.299938 -vn 0.000000 0.953951 0.299962 -vn 0.000000 0.953951 0.299962 -vn 0.000000 0.953959 0.299938 -vn 0.000000 0.953951 0.299963 -vn 0.000000 0.953959 0.299938 -vn 0.000000 0.953959 0.299938 -vn 0.000000 0.953951 0.299962 -vn 0.000000 0.953951 0.299962 -vn 0.000000 0.953959 0.299938 -vn 0.000000 0.953950 0.299965 -vn 0.000000 -0.953959 -0.299938 -vn 0.000000 -0.953983 -0.299862 -vn 0.000003 -0.953962 -0.299928 -vn 0.000003 -0.953962 -0.299928 -vn 0.000000 -0.953983 -0.299862 -vn 0.000000 -0.953983 -0.299862 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953958 -0.299939 -vn 0.000000 0.953955 0.299949 -vn 0.000000 0.953955 0.299949 -vn 0.000000 0.953949 0.299969 -vn 0.000000 0.953949 0.299969 -vn 0.000000 0.953955 0.299949 -vn 0.000000 0.953948 0.299971 -vn 0.000000 0.953949 0.299968 -vn 0.000000 0.953949 0.299969 -vn 0.000000 0.953939 0.300001 -vn 0.000000 0.953939 0.300001 -vn 0.000000 0.953949 0.299969 -vn 0.000000 0.953939 0.300001 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953959 -0.299939 -vn 0.000000 -0.953959 -0.299938 -vn 0.000000 -0.953983 -0.299862 -vn 0.000000 -0.953961 -0.299932 -vn 0.000000 -0.953961 -0.299932 -vn 0.000000 -0.953983 -0.299862 -vn 0.000000 -0.953983 -0.299862 -vn 0.000000 -0.953951 -0.299963 -vn 0.000000 -0.953935 -0.300013 -vn 0.000000 -0.953950 -0.299965 -vn 0.000000 -0.953950 -0.299965 -vn 0.000000 -0.953935 -0.300013 -vn 0.000000 -0.953935 -0.300013 -vn -0.000009 -0.953960 -0.299935 -vn -0.000011 -0.953958 -0.299940 -vn -0.000004 -0.953959 -0.299938 -vn -0.000004 -0.953959 -0.299938 -vn -0.000011 -0.953958 -0.299940 -vn 0.000000 -0.953944 -0.299983 -vn 0.000000 0.953945 0.299982 -vn -0.000002 0.953942 0.299991 -vn -0.000001 0.953943 0.299987 -vn -0.000001 0.953943 0.299987 -vn -0.000002 0.953942 0.299991 -vn -0.000002 0.953945 0.299983 -vn 0.000000 0.953956 0.299947 -vn 0.000000 0.953956 0.299945 -vn 0.000000 0.953979 0.299875 -vn 0.000000 0.953979 0.299875 -vn 0.000000 0.953956 0.299945 -vn 0.000000 0.953979 0.299875 -vn -0.000006 0.953950 0.299964 -vn -0.000008 0.953951 0.299964 -vn -0.000042 0.953953 0.299957 -vn -0.000006 0.953950 0.299964 -vn 0.000020 0.953957 0.299944 -vn 0.000007 0.953952 0.299958 -vn -0.000006 0.953950 0.299964 -vn 0.000007 0.953952 0.299958 -vn -0.000008 0.953951 0.299964 -vn 0.000006 -0.953951 -0.299964 -vn 0.000009 -0.953951 -0.299964 -vn 0.000003 -0.953949 -0.299968 -vn 0.000006 -0.953951 -0.299964 -vn 0.000003 -0.953949 -0.299968 -vn 0.000008 -0.953947 -0.299974 -vn 0.000048 -0.953953 -0.299956 -vn 0.000009 -0.953951 -0.299964 -vn 0.000006 -0.953951 -0.299964 -vn 0.000000 0.953939 0.300001 -vn 0.000000 0.953938 0.300004 -vn 0.000000 0.953904 0.300113 -vn 0.000000 0.953904 0.300113 -vn 0.000000 0.953938 0.300004 -vn 0.000000 0.953904 0.300113 -vn 0.000000 0.953954 0.299952 -vn 0.000000 0.953954 0.299954 -vn 0.000000 0.953934 0.300016 -vn 0.000000 0.953934 0.300016 -vn 0.000000 0.953954 0.299954 -vn 0.000000 0.953934 0.300016 -vn 0.000000 0.953943 0.299989 -vn 0.000001 0.953944 0.299986 -vn -0.000000 0.953947 0.299975 -vn -0.000000 0.953947 0.299975 -vn 0.000001 0.953944 0.299986 -vn 0.000000 0.953947 0.299974 -vn 0.000007 -0.953955 -0.299951 -vn 0.000009 -0.953962 -0.299926 -vn 0.000002 -0.953958 -0.299941 -vn 0.000002 -0.953958 -0.299941 -vn 0.000009 -0.953962 -0.299926 -vn 0.000000 -0.953973 -0.299893 -vn 0.000000 -0.953959 -0.299938 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953948 -0.299973 -vn 0.000000 -0.953948 -0.299973 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953948 -0.299973 -vn 0.000000 -0.953944 -0.299985 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953942 -0.299993 -vn 0.000000 -0.953942 -0.299993 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953942 -0.299993 -vn 0.000011 0.953941 0.299994 -vn 0.000006 0.953944 0.299986 -vn 0.000002 0.953947 0.299974 -vn -0.000009 0.953949 0.299969 -vn -0.000032 0.953926 0.300043 -vn -0.000040 0.953927 0.300039 -vn 0.000023 -0.953955 -0.299950 -vn 0.000000 -0.953973 -0.299894 -vn 0.000006 -0.953949 -0.299970 -vn -0.945064 -0.098052 0.311833 -vn -0.945064 -0.098052 0.311833 -vn -0.945064 -0.098052 0.311833 -vn -0.945064 -0.098052 0.311833 -vn -0.945064 -0.098052 0.311833 -vn -0.945064 -0.098052 0.311833 -vn -0.043579 -0.299675 0.953046 -vn -0.043579 -0.299674 0.953046 -vn -0.043579 -0.299675 0.953046 -vn -0.043579 -0.299675 0.953046 -vn -0.043579 -0.299674 0.953046 -vn -0.043579 -0.299674 0.953046 -vn -0.960922 -0.083057 0.264066 -vn -0.846727 -0.159595 0.507526 -vn -0.960918 -0.083057 0.264080 -vn -0.960918 -0.083057 0.264080 -vn -0.846727 -0.159595 0.507526 -vn -0.846726 -0.159588 0.507531 -vn -1.000000 0.000000 -0.000000 -vn -0.960922 -0.083057 0.264066 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -0.960922 -0.083057 0.264066 -vn -0.960918 -0.083057 0.264080 -vn 0.962669 -0.081214 0.258209 -vn 1.000000 0.000000 -0.000000 -vn 0.962660 -0.081228 0.258239 -vn 0.962660 -0.081228 0.258239 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.853455 -0.156328 0.497167 -vn 0.962669 -0.081214 0.258209 -vn 0.853454 -0.156338 0.497167 -vn 0.853454 -0.156338 0.497167 -vn 0.962669 -0.081214 0.258209 -vn 0.962660 -0.081228 0.258239 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn -0.922398 -0.115888 0.368446 -vn -0.922394 -0.115866 0.368461 -vn -0.922397 -0.115882 0.368450 -vn -0.922397 -0.115882 0.368450 -vn -0.922394 -0.115866 0.368461 -vn -0.922393 -0.115860 0.368466 -vn 0.000000 -0.300040 0.953927 -vn 0.000000 -0.300040 0.953927 -vn 0.000000 -0.300040 0.953927 -vn 0.000000 -0.300040 0.953927 -vn 0.000000 -0.300040 0.953927 -vn 0.000000 -0.300040 0.953927 -vn -0.754741 -0.196780 0.625814 -vn -0.754754 -0.196813 0.625788 -vn -0.754747 -0.196793 0.625803 -vn -0.754747 -0.196793 0.625803 -vn -0.754754 -0.196813 0.625788 -vn -0.754759 -0.196827 0.625777 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.887761 -0.138072 0.439109 -vn 0.887761 -0.138072 0.439109 -vn 0.887761 -0.138072 0.439109 -vn 0.887761 -0.138072 0.439109 -vn 0.887761 -0.138072 0.439109 -vn 0.887761 -0.138072 0.439109 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299941 0.953958 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299941 0.953958 -vn 0.000000 -0.299959 0.953952 -vn 0.000001 -0.953950 -0.299965 -vn 0.000004 -0.953954 -0.299953 -vn 0.000000 -0.953968 -0.299907 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299941 0.953958 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299941 0.953958 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299941 0.953958 -vn 0.000000 -0.299941 0.953958 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 -0.299941 0.953958 -vn 0.000000 -0.299941 0.953958 -vn 0.000000 -0.551002 0.834504 -vn 0.000000 -0.551002 0.834504 -vn 0.000000 -0.299941 0.953958 -vn 0.000000 -0.551002 0.834504 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 -0.551002 0.834504 -vn 0.000000 -0.551002 0.834504 -vn 0.000000 -0.759493 0.650516 -vn 0.000000 -0.759493 0.650516 -vn 0.000000 -0.551002 0.834504 -vn 0.000000 -0.759493 0.650516 -vn 0.000000 0.809898 0.586570 -vn 0.000000 0.809898 0.586570 -vn 0.000000 0.809898 0.586570 -vn 0.000000 0.809898 0.586570 -vn 0.000000 0.809898 0.586570 -vn 0.000000 0.809898 0.586570 -vn 0.000000 -0.586564 0.809903 -vn 0.000000 -0.586564 0.809903 -vn 0.000000 -0.586564 0.809903 -vn 0.000000 -0.586564 0.809903 -vn 0.000000 -0.586564 0.809903 -vn 0.000000 -0.586564 0.809903 -vn 0.992400 0.099663 0.072181 -vn 0.992400 0.099661 0.072179 -vn 0.992403 0.099643 0.072161 -vn 0.992403 0.099643 0.072161 -vn 0.992400 0.099661 0.072179 -vn 0.992404 0.099641 0.072159 -vn -0.992404 0.099641 0.072159 -vn -0.992400 0.099661 0.072179 -vn -0.992403 0.099643 0.072161 -vn -0.992403 0.099643 0.072161 -vn -0.992400 0.099661 0.072179 -vn -0.992400 0.099663 0.072181 -vn 0.000000 0.809901 0.586566 -vn 0.000000 0.809901 0.586566 -vn 0.000000 0.809901 0.586566 -vn 0.000000 0.809901 0.586566 -vn 0.000000 0.809901 0.586566 -vn 0.000000 0.809901 0.586566 -vn 0.000000 -0.586733 0.809781 -vn 0.000000 -0.586733 0.809781 -vn 0.000000 -0.586733 0.809781 -vn 0.000000 -0.586733 0.809781 -vn 0.000000 -0.586733 0.809781 -vn 0.000000 -0.586733 0.809781 -vn 0.965697 0.210307 0.152314 -vn 0.965698 0.210306 0.152313 -vn 0.965702 0.210294 0.152302 -vn 0.965702 0.210294 0.152302 -vn 0.965698 0.210306 0.152313 -vn 0.965702 0.210293 0.152301 -vn -0.965702 0.210293 0.152301 -vn -0.965698 0.210306 0.152313 -vn -0.965702 0.210294 0.152302 -vn -0.965702 0.210294 0.152302 -vn -0.965698 0.210306 0.152313 -vn -0.965697 0.210307 0.152314 -vn -0.000008 0.953953 0.299957 -vn -0.000009 0.953949 0.299969 -vn 0.000000 0.953973 0.299894 -vn 0.000002 0.953947 0.299974 -vn -0.000008 0.953953 0.299957 -vn 0.000000 0.953954 0.299955 -vn -0.000008 0.953953 0.299957 -vn -0.000005 0.953947 0.299976 -vn -0.000009 0.953949 0.299969 -vn -0.000009 0.953949 0.299969 -vn -0.000005 0.953947 0.299976 -vn -0.000032 0.953926 0.300043 -vn -0.000009 0.953949 0.299969 -vn -0.000040 0.953927 0.300039 -vn 0.000002 0.953958 0.299942 -vn 0.000002 0.953947 0.299975 -vn 0.000011 0.953941 0.299994 -vn 0.000000 0.953915 0.300077 -vn 0.000001 0.953950 0.299964 -vn 0.000002 0.953947 0.299975 -vn -0.000001 0.953975 0.299885 -vn -0.000001 0.953975 0.299885 -vn 0.000002 0.953947 0.299975 -vn 0.000000 0.953976 0.299882 -vn 0.000001 0.953950 0.299964 -vn 0.000002 0.953935 0.300013 -vn 0.000002 0.953947 0.299975 -vn 0.000002 0.953935 0.300013 -vn 0.000006 0.953944 0.299986 -vn 0.000002 0.953947 0.299975 -vn 0.000002 0.953947 0.299975 -vn 0.000006 0.953944 0.299986 -vn 0.000011 0.953941 0.299994 -vn 0.000006 0.953944 0.299986 -vn -0.000005 0.953947 0.299976 -vn 0.000002 0.953947 0.299974 -vn 0.000002 0.953947 0.299974 -vn -0.000005 0.953947 0.299976 -vn -0.000008 0.953953 0.299957 -vn 0.000000 -0.953945 -0.299981 -vn -0.000002 -0.953947 -0.299974 -vn -0.000005 -0.953948 -0.299972 -vn -0.000005 -0.953948 -0.299972 -vn -0.000002 -0.953947 -0.299974 -vn -0.000005 -0.953951 -0.299963 -vn -0.000002 -0.953947 -0.299974 -vn 0.000000 -0.953945 -0.299981 -vn 0.000001 -0.953950 -0.299965 -vn -0.000002 -0.953949 -0.299968 -vn -0.000002 -0.953947 -0.299975 -vn 0.000004 -0.953954 -0.299953 -vn 0.000004 -0.953954 -0.299953 -vn -0.000002 -0.953947 -0.299975 -vn 0.000000 -0.953945 -0.299983 -vn 0.000000 -0.953945 -0.299981 -vn -0.000000 -0.953951 -0.299963 -vn 0.000001 -0.953950 -0.299965 -vn 0.000001 -0.953950 -0.299965 -vn -0.000000 -0.953951 -0.299963 -vn 0.000004 -0.953954 -0.299953 -vn -0.000000 -0.953951 -0.299963 -vn -0.000002 -0.953949 -0.299968 -vn 0.000004 -0.953954 -0.299953 -vn -0.000005 -0.953951 -0.299963 -vn -0.000002 -0.953947 -0.299974 -vn 0.000000 -0.953954 -0.299955 -vn 0.000023 -0.953955 -0.299950 -vn 0.000006 -0.953949 -0.299970 -vn 0.000016 -0.953945 -0.299982 -vn -0.000022 -0.953947 -0.299976 -vn 0.000006 -0.953949 -0.299970 -vn 0.000001 -0.953930 -0.300031 -vn -0.000018 -0.953947 -0.299975 -vn 0.000006 -0.953949 -0.299970 -vn -0.000022 -0.953947 -0.299976 -vn 0.000016 -0.953945 -0.299982 -vn 0.000006 -0.953949 -0.299970 -vn -0.000018 -0.953947 -0.299975 -vn -0.528790 -0.207909 0.822894 -vn -0.529347 -0.206827 0.822809 -vn -0.496517 -0.108663 0.861199 -vn -0.496517 -0.108663 0.861199 -vn -0.529347 -0.206827 0.822809 -vn -0.493995 -0.107474 0.862797 -vn 0.542548 0.261481 -0.798291 -vn 0.538860 0.263168 -0.800233 -vn 0.542729 0.261315 -0.798223 -vn 0.542729 0.261315 -0.798223 -vn 0.538860 0.263168 -0.800233 -vn 0.543179 0.260620 -0.798144 -vn 0.538860 0.263168 -0.800233 -vn 0.555186 0.305408 -0.773624 -vn 0.543179 0.260620 -0.798144 -vn 0.555186 0.305408 -0.773624 -vn 0.559618 0.312824 -0.767443 -vn 0.543179 0.260620 -0.798144 -vn 0.543179 0.260620 -0.798144 -vn 0.559618 0.312824 -0.767443 -vn 0.529346 0.206824 -0.822810 -vn 0.529346 0.206824 -0.822810 -vn 0.559618 0.312824 -0.767443 -vn 0.528811 0.207898 -0.822884 -vn 0.528811 0.207898 -0.822884 -vn 0.559618 0.312824 -0.767443 -vn 0.539256 0.262475 -0.800194 -vn 0.559618 0.312824 -0.767443 -vn 0.542412 0.261566 -0.798356 -vn 0.539256 0.262475 -0.800194 -vn 0.542412 0.261566 -0.798356 -vn 0.543115 0.261150 -0.798014 -vn 0.539256 0.262475 -0.800194 -vn 0.543115 0.261150 -0.798014 -vn 0.543135 0.261128 -0.798008 -vn 0.539256 0.262475 -0.800194 -vn 0.528811 0.207898 -0.822884 -vn 0.496521 0.108631 -0.861201 -vn 0.529346 0.206824 -0.822810 -vn 0.529346 0.206824 -0.822810 -vn 0.496521 0.108631 -0.861201 -vn 0.493980 0.107433 -0.862810 -vn 0.699477 0.385150 0.601990 -vn 0.699448 0.385236 0.601968 -vn 0.605421 0.536895 0.587545 -vn 0.605421 0.536895 0.587545 -vn 0.699448 0.385236 0.601968 -vn 0.605431 0.536918 0.587514 -vn 0.699477 0.385150 0.601990 -vn 0.835805 -0.076421 0.543682 -vn 0.699448 0.385236 0.601968 -vn 0.699448 0.385236 0.601968 -vn 0.835805 -0.076421 0.543682 -vn 0.835823 -0.076528 0.543640 -vn 0.835805 -0.076421 0.543682 -vn 0.711226 -0.648338 0.271691 -vn 0.835823 -0.076528 0.543640 -vn 0.835823 -0.076528 0.543640 -vn 0.711226 -0.648338 0.271691 -vn 0.711256 -0.648301 0.271698 -vn 0.711226 -0.648338 0.271691 -vn 0.362955 -0.930027 -0.057562 -vn 0.711256 -0.648301 0.271698 -vn 0.711256 -0.648301 0.271698 -vn 0.362955 -0.930027 -0.057562 -vn 0.363615 -0.929800 -0.057064 -vn 0.409154 -0.912241 -0.020229 -vn 0.431409 -0.902155 -0.001797 -vn 0.362955 -0.930027 -0.057562 -vn 0.362955 -0.930027 -0.057562 -vn 0.431409 -0.902155 -0.001797 -vn 0.363615 -0.929800 -0.057064 -vn 0.409154 -0.912241 -0.020229 -vn 0.613449 -0.772403 0.164544 -vn 0.431409 -0.902155 -0.001797 -vn 0.431409 -0.902155 -0.001797 -vn 0.613449 -0.772403 0.164544 -vn 0.613449 -0.772403 0.164543 -vn -0.256998 -0.853081 -0.454097 -vn -0.257005 -0.853113 -0.454034 -vn -0.257002 -0.853096 -0.454068 -vn -0.257002 -0.853096 -0.454068 -vn -0.257005 -0.853113 -0.454034 -vn -0.257009 -0.853127 -0.454005 -vn -0.756024 -0.261580 -0.600004 -vn -0.771414 -0.220366 -0.596959 -vn -0.837203 0.094028 -0.538749 -vn -0.837203 0.094028 -0.538749 -vn -0.771414 -0.220366 -0.596959 -vn -0.837224 0.094034 -0.538715 -vn -0.711641 -0.361377 -0.602473 -vn -0.711600 -0.361485 -0.602457 -vn -0.756024 -0.261580 -0.600004 -vn -0.756024 -0.261580 -0.600004 -vn -0.711600 -0.361485 -0.602457 -vn -0.771414 -0.220366 -0.596959 -vn -0.711641 -0.361377 -0.602473 -vn -0.839819 0.171460 -0.515077 -vn -0.711600 -0.361485 -0.602457 -vn -0.711600 -0.361485 -0.602457 -vn -0.839819 0.171460 -0.515077 -vn -0.839814 0.171498 -0.515073 -vn -0.839819 0.171460 -0.515077 -vn -0.658607 0.722077 -0.211760 -vn -0.839814 0.171498 -0.515073 -vn -0.839814 0.171498 -0.515073 -vn -0.658607 0.722077 -0.211760 -vn -0.658573 0.722107 -0.211763 -vn -0.658607 0.722077 -0.211760 -vn -0.339481 0.937545 0.075911 -vn -0.658573 0.722107 -0.211763 -vn -0.658573 0.722107 -0.211763 -vn -0.339481 0.937545 0.075911 -vn -0.338967 0.937701 0.076278 -vn -0.339481 0.937545 0.075911 -vn -0.207632 0.962668 0.173664 -vn -0.338967 0.937701 0.076278 -vn -0.338967 0.937701 0.076278 -vn -0.207632 0.962668 0.173664 -vn -0.207584 0.962684 0.173636 -vn -0.758009 0.561350 -0.332127 -vn -0.758064 0.561309 -0.332071 -vn -0.758028 0.561336 -0.332108 -vn -0.758028 0.561336 -0.332108 -vn -0.758064 0.561309 -0.332071 -vn -0.758083 0.561294 -0.332052 -vn 0.235387 0.864929 0.443272 -vn 0.235389 0.864929 0.443271 -vn 0.235388 0.864929 0.443271 -vn 0.235388 0.864929 0.443271 -vn 0.235389 0.864929 0.443271 -vn 0.235390 0.864929 0.443270 -vn 0.830639 -0.306628 0.464778 -vn 0.830664 -0.306605 0.464748 -vn 0.830712 -0.306562 0.464691 -vn 0.830712 -0.306562 0.464691 -vn 0.830664 -0.306605 0.464748 -vn 0.830737 -0.306540 0.464661 -vn -0.555156 -0.305430 0.773637 -vn -0.559601 -0.312809 0.767461 -vn -0.581574 -0.417870 0.697966 -vn -0.581574 -0.417870 0.697966 -vn -0.559601 -0.312809 0.767461 -vn -0.593004 -0.427010 0.682648 -vn -0.542697 -0.261391 0.798219 -vn -0.542768 -0.261326 0.798193 -vn -0.538790 -0.263231 0.800259 -vn -0.542768 -0.261326 0.798193 -vn -0.543188 -0.260613 0.798140 -vn -0.538790 -0.263231 0.800259 -vn -0.538790 -0.263231 0.800259 -vn -0.543188 -0.260613 0.798140 -vn -0.555156 -0.305430 0.773637 -vn -0.555156 -0.305430 0.773637 -vn -0.543188 -0.260613 0.798140 -vn -0.559601 -0.312809 0.767461 -vn -0.543188 -0.260613 0.798140 -vn -0.529347 -0.206827 0.822809 -vn -0.559601 -0.312809 0.767461 -vn -0.529347 -0.206827 0.822809 -vn -0.528790 -0.207909 0.822894 -vn -0.559601 -0.312809 0.767461 -vn -0.528790 -0.207909 0.822894 -vn -0.539261 -0.262469 0.800192 -vn -0.559601 -0.312809 0.767461 -vn -0.559601 -0.312809 0.767461 -vn -0.539261 -0.262469 0.800192 -vn -0.542425 -0.261554 0.798351 -vn -0.539261 -0.262469 0.800192 -vn -0.543193 -0.261101 0.797977 -vn -0.542425 -0.261554 0.798351 -vn -0.543193 -0.261101 0.797977 -vn -0.543123 -0.261115 0.798020 -vn -0.542425 -0.261554 0.798351 -vn 0.555186 0.305408 -0.773624 -vn 0.581597 0.417889 -0.697936 -vn 0.559618 0.312824 -0.767443 -vn 0.559618 0.312824 -0.767443 -vn 0.581597 0.417889 -0.697936 -vn 0.593078 0.427070 -0.682547 -vn -0.527445 -0.204722 0.824555 -vn -0.521047 -0.210346 0.827203 -vn -0.499157 -0.120512 0.858091 -vn -0.499157 -0.120512 0.858091 -vn -0.521047 -0.210346 0.827203 -vn -0.505285 -0.123061 0.854133 -vn 0.559592 0.223151 -0.798161 -vn 0.546538 0.239366 -0.802496 -vn 0.539218 0.242967 -0.806357 -vn 0.539218 0.242967 -0.806357 -vn 0.546538 0.239366 -0.802496 -vn 0.529571 0.257265 -0.808313 -vn 0.546538 0.239366 -0.802496 -vn 0.546101 0.286070 -0.787361 -vn 0.529571 0.257265 -0.808313 -vn 0.546101 0.286070 -0.787361 -vn 0.565282 0.295103 -0.770306 -vn 0.529571 0.257265 -0.808313 -vn 0.529571 0.257265 -0.808313 -vn 0.565282 0.295103 -0.770306 -vn 0.521058 0.210340 -0.827197 -vn 0.521058 0.210340 -0.827197 -vn 0.565282 0.295103 -0.770306 -vn 0.527421 0.204722 -0.824570 -vn 0.527421 0.204722 -0.824570 -vn 0.565282 0.295103 -0.770306 -vn 0.553008 0.246282 -0.795944 -vn 0.565282 0.295103 -0.770306 -vn 0.576294 0.237654 -0.781924 -vn 0.553008 0.246282 -0.795944 -vn 0.576294 0.237654 -0.781924 -vn 0.559688 0.249093 -0.790381 -vn 0.553008 0.246282 -0.795944 -vn 0.559688 0.249093 -0.790381 -vn 0.549439 0.260927 -0.793747 -vn 0.553008 0.246282 -0.795944 -vn 0.527421 0.204722 -0.824570 -vn 0.499193 0.120559 -0.858063 -vn 0.521058 0.210340 -0.827197 -vn 0.521058 0.210340 -0.827197 -vn 0.499193 0.120559 -0.858063 -vn 0.505407 0.123144 -0.854049 -vn 0.602572 0.544224 0.583718 -vn 0.702840 0.379990 0.601351 -vn 0.602547 0.544227 0.583741 -vn 0.602547 0.544227 0.583741 -vn 0.702840 0.379990 0.601351 -vn 0.704472 0.376771 0.601467 -vn 0.702840 0.379990 0.601351 -vn 0.834696 -0.101593 0.541259 -vn 0.704472 0.376771 0.601467 -vn 0.704472 0.376771 0.601467 -vn 0.834696 -0.101593 0.541259 -vn 0.834470 -0.097428 0.542372 -vn 0.693999 -0.668399 0.267597 -vn 0.696653 -0.664399 0.270644 -vn 0.834696 -0.101593 0.541259 -vn 0.834696 -0.101593 0.541259 -vn 0.696653 -0.664399 0.270644 -vn 0.834470 -0.097428 0.542372 -vn 0.344476 -0.937107 -0.056276 -vn 0.345273 -0.936851 -0.055638 -vn 0.693999 -0.668399 0.267597 -vn 0.693999 -0.668399 0.267597 -vn 0.345273 -0.936851 -0.055638 -vn 0.696653 -0.664399 0.270644 -vn 0.411670 -0.911330 -0.002210 -vn 0.428167 -0.903626 0.011550 -vn 0.344476 -0.937107 -0.056276 -vn 0.344476 -0.937107 -0.056276 -vn 0.428167 -0.903626 0.011550 -vn 0.345273 -0.936851 -0.055638 -vn 0.411670 -0.911330 -0.002210 -vn 0.621304 -0.760466 0.188873 -vn 0.428167 -0.903626 0.011550 -vn 0.428167 -0.903626 0.011550 -vn 0.621304 -0.760466 0.188873 -vn 0.621300 -0.760466 0.188885 -vn -0.278012 -0.845821 -0.455297 -vn -0.278023 -0.845854 -0.455230 -vn -0.278017 -0.845836 -0.455268 -vn -0.278017 -0.845836 -0.455268 -vn -0.278023 -0.845854 -0.455230 -vn -0.278028 -0.845868 -0.455201 -vn -0.769322 -0.224426 -0.598144 -vn -0.781261 -0.188402 -0.595093 -vn -0.836255 0.142640 -0.529463 -vn -0.836255 0.142640 -0.529463 -vn -0.781261 -0.188402 -0.595093 -vn -0.836249 0.142639 -0.529473 -vn -0.769322 -0.224426 -0.598144 -vn -0.720273 -0.344710 -0.601982 -vn -0.781261 -0.188402 -0.595093 -vn -0.781261 -0.188402 -0.595093 -vn -0.720273 -0.344710 -0.601982 -vn -0.722511 -0.339911 -0.602028 -vn -0.720273 -0.344710 -0.601982 -vn -0.836094 0.192098 -0.513853 -vn -0.722511 -0.339911 -0.602028 -vn -0.722511 -0.339911 -0.602028 -vn -0.836094 0.192098 -0.513853 -vn -0.836130 0.190417 -0.514419 -vn -0.640987 0.738505 -0.209156 -vn -0.643222 0.735885 -0.211514 -vn -0.836094 0.192098 -0.513853 -vn -0.836094 0.192098 -0.513853 -vn -0.643222 0.735885 -0.211514 -vn -0.836130 0.190417 -0.514419 -vn -0.307180 0.947810 0.085418 -vn -0.307865 0.947635 0.084892 -vn -0.640987 0.738505 -0.209156 -vn -0.640987 0.738505 -0.209156 -vn -0.307865 0.947635 0.084892 -vn -0.643222 0.735885 -0.211514 -vn -0.307865 0.947635 0.084892 -vn -0.307180 0.947810 0.085418 -vn -0.164233 0.967987 0.189814 -vn -0.164233 0.967987 0.189814 -vn -0.307180 0.947810 0.085418 -vn -0.164233 0.967987 0.189814 -vn -0.729536 0.609604 -0.310097 -vn -0.729537 0.609603 -0.310095 -vn -0.729536 0.609604 -0.310097 -vn -0.729536 0.609604 -0.310097 -vn -0.729537 0.609603 -0.310095 -vn -0.729538 0.609603 -0.310095 -vn 0.254629 0.859443 0.443309 -vn 0.254562 0.859441 0.443350 -vn 0.254601 0.859442 0.443326 -vn 0.254601 0.859442 0.443326 -vn 0.254562 0.859441 0.443350 -vn 0.254534 0.859440 0.443368 -vn 0.822825 -0.332602 0.460798 -vn 0.822814 -0.332613 0.460811 -vn 0.822792 -0.332632 0.460835 -vn 0.822792 -0.332632 0.460835 -vn 0.822814 -0.332613 0.460811 -vn 0.822781 -0.332642 0.460848 -vn -0.546135 -0.286051 0.787344 -vn -0.565278 -0.295064 0.770323 -vn -0.577940 -0.382619 0.720824 -vn -0.577940 -0.382619 0.720824 -vn -0.565278 -0.295064 0.770323 -vn -0.614751 -0.410393 0.673543 -vn -0.559617 -0.223203 0.798128 -vn -0.539321 -0.242945 0.806294 -vn -0.546452 -0.239440 0.802533 -vn -0.539321 -0.242945 0.806294 -vn -0.529578 -0.257294 0.808299 -vn -0.546452 -0.239440 0.802533 -vn -0.546452 -0.239440 0.802533 -vn -0.529578 -0.257294 0.808299 -vn -0.546135 -0.286051 0.787344 -vn -0.546135 -0.286051 0.787344 -vn -0.529578 -0.257294 0.808299 -vn -0.565278 -0.295064 0.770323 -vn -0.529578 -0.257294 0.808299 -vn -0.521047 -0.210346 0.827203 -vn -0.565278 -0.295064 0.770323 -vn -0.521047 -0.210346 0.827203 -vn -0.527445 -0.204722 0.824555 -vn -0.565278 -0.295064 0.770323 -vn -0.527445 -0.204722 0.824555 -vn -0.552639 -0.245811 0.796346 -vn -0.565278 -0.295064 0.770323 -vn -0.565278 -0.295064 0.770323 -vn -0.552639 -0.245811 0.796346 -vn -0.576275 -0.238396 0.781713 -vn -0.552639 -0.245811 0.796346 -vn -0.556088 -0.251338 0.792209 -vn -0.576275 -0.238396 0.781713 -vn -0.556088 -0.251338 0.792209 -vn -0.568421 -0.248483 0.784317 -vn -0.576275 -0.238396 0.781713 -vn 0.546101 0.286070 -0.787361 -vn 0.577902 0.382674 -0.720826 -vn 0.565282 0.295103 -0.770306 -vn 0.565282 0.295103 -0.770306 -vn 0.577902 0.382674 -0.720826 -vn 0.614845 0.410555 -0.673357 -vn -0.000034 -0.960657 -0.277738 -vn 0.382293 -0.886674 -0.260118 -vn 0.382276 -0.886684 -0.260108 -vn 0.382276 -0.886684 -0.260108 -vn -0.000034 -0.960657 -0.277738 -vn -0.000034 -0.960657 -0.277738 -vn 0.382293 -0.886674 -0.260118 -vn 0.706342 -0.676101 -0.209685 -vn 0.706319 -0.676125 -0.209686 -vn 0.706319 -0.676125 -0.209686 -vn 0.382276 -0.886684 -0.260108 -vn 0.382293 -0.886674 -0.260118 -vn 0.706342 -0.676101 -0.209685 -vn 0.922902 -0.360890 -0.134202 -vn 0.922895 -0.360906 -0.134207 -vn 0.922895 -0.360906 -0.134207 -vn 0.706319 -0.676125 -0.209686 -vn 0.706342 -0.676101 -0.209685 -vn 0.922902 -0.360890 -0.134202 -vn 0.998923 0.010792 -0.045122 -vn 0.998923 0.010755 -0.045127 -vn 0.998923 0.010755 -0.045127 -vn 0.922895 -0.360906 -0.134207 -vn 0.922902 -0.360890 -0.134202 -vn 0.998923 0.010792 -0.045122 -vn 0.922877 0.382589 0.043869 -vn 0.922885 0.382568 0.043870 -vn 0.922885 0.382568 0.043870 -vn 0.998923 0.010755 -0.045127 -vn 0.998923 0.010792 -0.045122 -vn 0.922877 0.382589 0.043869 -vn 0.706352 0.697725 0.119361 -vn 0.706352 0.697725 0.119357 -vn 0.706352 0.697725 0.119357 -vn 0.922885 0.382568 0.043870 -vn 0.922877 0.382589 0.043869 -vn 0.706352 0.697725 0.119361 -vn 0.382242 0.908327 0.169800 -vn 0.382239 0.908328 0.169804 -vn 0.382239 0.908328 0.169804 -vn 0.706352 0.697725 0.119357 -vn 0.706352 0.697725 0.119361 -vn 0.382242 0.908327 0.169800 -vn 0.000015 0.982272 0.187459 -vn 0.000014 0.982273 0.187459 -vn 0.000014 0.982273 0.187459 -vn 0.382239 0.908328 0.169804 -vn 0.382242 0.908327 0.169800 -vn 0.000015 0.982272 0.187459 -vn -0.382273 0.908314 0.169801 -vn -0.382269 0.908317 0.169798 -vn -0.382269 0.908317 0.169798 -vn 0.000014 0.982273 0.187459 -vn 0.000015 0.982272 0.187459 -vn -0.382273 0.908314 0.169801 -vn -0.706321 0.697755 0.119364 -vn -0.706322 0.697753 0.119368 -vn -0.706322 0.697753 0.119368 -vn -0.382269 0.908317 0.169798 -vn -0.382273 0.908314 0.169801 -vn -0.706321 0.697755 0.119364 -vn -0.922898 0.382537 0.043862 -vn -0.922906 0.382520 0.043853 -vn -0.922906 0.382520 0.043853 -vn -0.706322 0.697753 0.119368 -vn -0.706321 0.697755 0.119364 -vn -0.922898 0.382537 0.043862 -vn -0.998923 0.010848 -0.045105 -vn -0.998923 0.010811 -0.045117 -vn -0.998923 0.010811 -0.045117 -vn -0.922906 0.382520 0.043853 -vn -0.922898 0.382537 0.043862 -vn -0.998923 0.010848 -0.045105 -vn -0.922882 -0.360937 -0.134214 -vn -0.922875 -0.360953 -0.134217 -vn -0.922875 -0.360953 -0.134217 -vn -0.998923 0.010811 -0.045117 -vn -0.998923 0.010848 -0.045105 -vn -0.922882 -0.360937 -0.134214 -vn -0.706374 -0.676072 -0.209673 -vn -0.706350 -0.676094 -0.209683 -vn -0.706350 -0.676094 -0.209683 -vn -0.922875 -0.360953 -0.134217 -vn -0.922882 -0.360937 -0.134214 -vn -0.706374 -0.676072 -0.209673 -vn -0.382243 -0.886697 -0.260111 -vn -0.382228 -0.886701 -0.260124 -vn -0.382228 -0.886701 -0.260124 -vn -0.706350 -0.676094 -0.209683 -vn -0.706374 -0.676072 -0.209673 -vn -0.382243 -0.886697 -0.260111 -vn -0.000034 -0.960657 -0.277738 -vn -0.000034 -0.960657 -0.277738 -vn -0.000034 -0.960657 -0.277738 -vn -0.382228 -0.886701 -0.260124 -vn -0.382243 -0.886697 -0.260111 -# 10365 vertex normals - -vt 0.871414 0.798087 0.000000 -vt 0.852228 0.809224 0.000000 -vt 0.861148 0.786935 0.000000 -vt 0.841327 0.795030 0.000000 -vt 0.828293 0.758206 0.000000 -vt 0.816020 0.756311 0.000000 -vt 0.828099 0.744737 0.000000 -vt 0.813639 0.744737 0.000000 -vt 0.845828 0.744737 0.000000 -vt 0.846646 0.759257 0.000000 -vt 0.891059 0.903942 0.000000 -vt 0.935823 0.931981 0.000000 -vt 0.872802 0.939067 0.000000 -vt 0.918410 0.965970 0.000000 -vt 0.861200 0.819309 0.000000 -vt 0.853690 0.824558 0.000000 -vt 0.878421 0.856169 0.000000 -vt 0.865865 0.866034 0.000000 -vt 0.868269 0.851807 0.000000 -vt 0.860035 0.859357 0.000000 -vt 0.888632 0.812956 0.000000 -vt 0.911588 0.875588 0.000000 -vt 0.954616 0.901820 0.000000 -vt 0.818244 0.881121 0.000000 -vt 0.796012 0.884690 0.000000 -vt 0.815839 0.874584 0.000000 -vt 0.794596 0.876787 0.000000 -vt 0.765906 0.885028 0.000000 -vt 0.765811 0.876702 0.000000 -vt 0.742155 0.870843 0.000000 -vt 0.739925 0.878656 0.000000 -vt 0.726420 0.862641 0.000000 -vt 0.720029 0.868469 0.000000 -vt 0.711174 0.858174 0.000000 -vt 0.718540 0.853732 0.000000 -vt 0.694060 0.814896 0.000000 -vt 0.703556 0.812889 0.000000 -vt 0.703614 0.843515 0.000000 -vt 0.713591 0.842403 0.000000 -vt 0.685832 0.779015 0.000000 -vt 0.694305 0.779028 0.000000 -vt 0.681876 0.744763 0.000000 -vt 0.689209 0.744760 0.000000 -vt 0.810489 0.915025 0.000000 -vt 0.789643 0.904915 0.000000 -vt 0.763502 0.897211 0.000000 -vt 0.736882 0.891458 0.000000 -vt 0.833882 0.877925 0.000000 -vt 0.830196 0.870154 0.000000 -vt 0.665446 0.821078 0.000000 -vt 0.675263 0.855962 0.000000 -vt 0.657850 0.783230 0.000000 -vt 0.654816 0.744778 0.000000 -vt 0.715693 0.882966 0.000000 -vt 0.689929 0.874198 0.000000 -vt 0.632023 0.869789 0.000000 -vt 0.648187 0.889954 0.000000 -vt 0.624729 0.831600 0.000000 -vt 0.617650 0.787994 0.000000 -vt 0.614571 0.744755 0.000000 -vt 0.995992 0.846520 0.000000 -vt 0.996536 0.855982 0.000000 -vt 0.991501 0.845898 0.000000 -vt 0.988333 0.853618 0.000000 -vt 0.961924 0.906842 0.000000 -vt 0.944564 0.937158 0.000000 -vt 0.928403 0.970303 0.000000 -vt 0.972178 0.874978 0.000000 -vt 0.981805 0.879609 0.000000 -vt 0.882666 0.843967 0.000000 -vt 0.869907 0.843064 0.000000 -vt 0.922122 0.842760 0.000000 -vt 0.802869 0.744741 0.000000 -vt 0.807042 0.758253 0.000000 -vt 0.814339 0.770298 0.000000 -vt 0.822772 0.766557 0.000000 -vt 0.824571 0.779950 0.000000 -vt 0.832115 0.776998 0.000000 -vt 0.839157 0.813215 0.000000 -vt 0.832958 0.799411 0.000000 -vt 0.844871 0.823460 0.000000 -vt 0.847351 0.838936 0.000000 -vt 0.841673 0.846389 0.000000 -vt 0.810947 0.863486 0.000000 -vt 0.792244 0.868903 0.000000 -vt 0.765926 0.870387 0.000000 -vt 0.743682 0.866644 0.000000 -vt 0.725129 0.849660 0.000000 -vt 0.732520 0.855317 0.000000 -vt 0.709422 0.811892 0.000000 -vt 0.719360 0.841105 0.000000 -vt 0.700735 0.778593 0.000000 -vt 0.696979 0.744761 0.000000 -vt 0.823595 0.857982 0.000000 -vt 0.844697 0.865754 0.000000 -vt 0.832563 0.852946 0.000000 -vt 0.744624 0.859953 0.000000 -vt 0.765077 0.863689 0.000000 -vt 0.790880 0.864773 0.000000 -vt 0.808861 0.860170 0.000000 -vt 0.820940 0.854831 0.000000 -vt 0.829727 0.850030 0.000000 -vt 0.837776 0.843606 0.000000 -vt 0.842833 0.837312 0.000000 -vt 0.840713 0.823410 0.000000 -vt 0.836029 0.814689 0.000000 -vt 0.827901 0.802468 0.000000 -vt 0.814958 0.787188 0.000000 -vt 0.805131 0.775627 0.000000 -vt 0.798631 0.761364 0.000000 -vt 0.794711 0.744744 0.000000 -vt 0.823022 0.805445 0.000000 -vt 0.810293 0.790673 0.000000 -vt 0.800652 0.778128 0.000000 -vt 0.792317 0.762532 0.000000 -vt 0.787037 0.744747 0.000000 -vt 0.733809 0.904559 0.000000 -vt 0.760316 0.911703 0.000000 -vt 0.991287 0.184616 0.000000 -vt 0.966726 0.142552 0.000000 -vt 0.997388 0.179701 0.000000 -vt 0.972845 0.139150 0.000000 -vt 0.961503 0.229079 0.000000 -vt 0.947051 0.254809 0.000000 -vt 0.918936 0.214844 0.000000 -vt 0.978510 0.203906 0.000000 -vt 0.940721 0.176716 0.000000 -vt 0.933799 0.280513 0.000000 -vt 0.905448 0.246653 0.000000 -vt 0.957712 0.149728 0.000000 -vt 0.987296 0.837510 0.000000 -vt 0.984188 0.841948 0.000000 -vt 0.930988 0.811492 0.000000 -vt 0.927908 0.815945 0.000000 -vt 0.874624 0.782600 0.000000 -vt 0.879310 0.778941 0.000000 -vt 0.883390 0.790657 0.000000 -vt 0.886913 0.786537 0.000000 -vt 0.867629 0.773037 0.000000 -vt 0.873149 0.770324 0.000000 -vt 0.863507 0.760529 0.000000 -vt 0.869542 0.759895 0.000000 -vt 0.863822 0.744725 0.000000 -vt 0.869999 0.748511 0.000000 -vt 0.849470 0.873433 0.000000 -vt 0.850926 0.922938 0.000000 -vt 0.832410 0.914605 0.000000 -vt 0.850628 0.946645 0.000000 -vt 0.824017 0.932271 0.000000 -vt 0.782108 0.922937 0.000000 -vt 0.852220 0.774364 0.000000 -vt 0.789699 0.861815 0.000000 -vt 0.806457 0.856563 0.000000 -vt 0.817326 0.851491 0.000000 -vt 0.831713 0.840069 0.000000 -vt 0.825793 0.846134 0.000000 -vt 0.834948 0.832574 0.000000 -vt 0.834331 0.824327 0.000000 -vt 0.831614 0.817057 0.000000 -vt 0.790882 0.763238 0.000000 -vt 0.785571 0.744748 0.000000 -vt 0.799636 0.779181 0.000000 -vt 0.727417 0.897469 0.000000 -vt 0.666699 0.895450 0.000000 -vt 0.687412 0.895364 0.000000 -vt 0.971997 0.103679 0.000000 -vt 0.982230 0.132221 0.000000 -vt 0.848733 0.990427 0.000000 -vt 0.906049 0.994898 0.000000 -vt 0.915518 0.995736 0.000000 -vt 0.994235 0.842300 0.000000 -vt 0.167314 0.941096 0.000000 -vt 0.157005 0.944138 0.000000 -vt 0.159509 0.928502 0.000000 -vt 0.151449 0.935019 0.000000 -vt 0.170045 0.955096 0.000000 -vt 0.159271 0.955096 0.000000 -vt 0.007461 0.900027 0.000000 -vt 0.147352 0.920573 0.000000 -vt 0.143002 0.929894 0.000000 -vt 0.134407 0.917116 0.000000 -vt 0.133248 0.927578 0.000000 -vt 0.092027 0.900998 0.000000 -vt 0.093769 0.900027 0.000000 -vt 0.079956 0.926907 0.000000 -vt 0.080295 0.916335 0.000000 -vt 0.092054 0.858902 0.000000 -vt 0.870027 0.293539 0.000000 -vt 0.898639 0.291452 0.000000 -vt 0.852039 0.313758 0.000000 -vt 0.887557 0.314149 0.000000 -vt 0.887490 0.319958 0.000000 -vt 0.863674 0.832905 0.000000 -vt 0.873407 0.831316 0.000000 -vt 0.848101 0.831633 0.000000 -vt 0.843067 0.831313 0.000000 -vt 0.960419 0.109997 0.000000 -vt 0.951667 0.076577 0.000000 -vt 0.962974 0.070631 0.000000 -vt 0.940444 0.034450 0.000000 -vt 0.952633 0.031365 0.000000 -vt 0.958689 0.139487 0.000000 -vt 0.950838 0.112785 0.000000 -vt 0.942291 0.079891 0.000000 -vt 0.931355 0.036950 0.000000 -vt 0.826583 0.965707 0.000000 -vt 0.835082 0.988600 0.000000 -vt 0.837427 0.951632 0.000000 -vt 0.713565 0.894176 0.000000 -vt 0.719793 0.778743 0.000000 -vt 0.719398 0.745624 0.000000 -vt 0.762929 0.761192 0.000000 -vt 0.759000 0.745624 0.000000 -vt 0.784902 0.783045 0.000000 -vt 0.722839 0.810315 0.000000 -vt 0.773162 0.774560 0.000000 -vt 0.819474 0.811538 0.000000 -vt 0.726166 0.838217 0.000000 -vt 0.815913 0.804902 0.000000 -vt 0.811087 0.799631 0.000000 -vt 0.800198 0.792446 0.000000 -vt 0.809371 0.832209 0.000000 -vt 0.801299 0.839856 0.000000 -vt 0.787602 0.848287 0.000000 -vt 0.730113 0.846807 0.000000 -vt 0.818819 0.818720 0.000000 -vt 0.815480 0.825394 0.000000 -vt 0.766623 0.855835 0.000000 -vt 0.736832 0.852377 0.000000 -vt 0.747833 0.856606 0.000000 -vt 0.015449 0.916548 0.000000 -vt 0.006293 0.926682 0.000000 -vt 0.007110 0.917489 0.000000 -vt 0.814404 0.948279 0.000000 -vt 0.802918 0.937081 0.000000 -vt 0.893087 0.314095 0.000000 -vt 0.095824 0.933535 0.000000 -vt 0.006082 0.933454 0.000000 -vt 0.129599 0.933505 0.000000 -vt 0.138341 0.935053 0.000000 -vt 0.146346 0.939368 0.000000 -vt 0.151038 0.946615 0.000000 -vt 0.152856 0.955096 0.000000 -vt 0.144859 0.871542 0.000000 -vt 0.150949 0.869044 0.000000 -vt 0.146576 0.879589 0.000000 -vt 0.153315 0.879592 0.000000 -vt 0.132861 0.860617 0.000000 -vt 0.124573 0.858902 0.000000 -vt 0.134998 0.854515 0.000000 -vt 0.125084 0.852531 0.000000 -vt 0.140435 0.864707 0.000000 -vt 0.144883 0.859885 0.000000 -vt 0.092027 0.858272 0.000000 -vt 0.093865 0.858902 0.000000 -vt 0.092417 0.852640 0.000000 -vt 0.007461 0.858902 0.000000 -vt 0.007452 0.852187 0.000000 -vt 0.090091 0.858902 0.000000 -vt 0.871074 0.691493 0.000000 -vt 0.860839 0.702619 0.000000 -vt 0.851934 0.680394 0.000000 -vt 0.841067 0.694553 0.000000 -vt 0.828133 0.731290 0.000000 -vt 0.815877 0.733185 0.000000 -vt 0.846453 0.730237 0.000000 -vt 0.890634 0.585910 0.000000 -vt 0.872415 0.550883 0.000000 -vt 0.935172 0.558265 0.000000 -vt 0.918070 0.524370 0.000000 -vt 0.853388 0.665099 0.000000 -vt 0.860880 0.670332 0.000000 -vt 0.878044 0.633561 0.000000 -vt 0.867920 0.637917 0.000000 -vt 0.865519 0.623725 0.000000 -vt 0.859704 0.630389 0.000000 -vt 0.888242 0.676658 0.000000 -vt 0.911120 0.614185 0.000000 -vt 0.953830 0.588286 0.000000 -vt 0.818016 0.608692 0.000000 -vt 0.815620 0.615215 0.000000 -vt 0.795841 0.605140 0.000000 -vt 0.794431 0.613024 0.000000 -vt 0.765813 0.604815 0.000000 -vt 0.765722 0.613118 0.000000 -vt 0.742130 0.618970 0.000000 -vt 0.726439 0.627156 0.000000 -vt 0.739903 0.611179 0.000000 -vt 0.720063 0.621346 0.000000 -vt 0.711235 0.631618 0.000000 -vt 0.718584 0.636045 0.000000 -vt 0.694188 0.674792 0.000000 -vt 0.703702 0.646243 0.000000 -vt 0.703661 0.676789 0.000000 -vt 0.713654 0.647347 0.000000 -vt 0.685979 0.710585 0.000000 -vt 0.694443 0.710570 0.000000 -vt 0.810271 0.574882 0.000000 -vt 0.789483 0.584973 0.000000 -vt 0.763413 0.592665 0.000000 -vt 0.736865 0.598411 0.000000 -vt 0.833615 0.611875 0.000000 -vt 0.829941 0.619629 0.000000 -vt 0.665644 0.668641 0.000000 -vt 0.675421 0.633843 0.000000 -vt 0.658043 0.706395 0.000000 -vt 0.715732 0.606889 0.000000 -vt 0.690040 0.615648 0.000000 -vt 0.632288 0.620073 0.000000 -vt 0.648399 0.599953 0.000000 -vt 0.625032 0.658163 0.000000 -vt 0.617948 0.701623 0.000000 -vt 0.995069 0.643040 0.000000 -vt 0.990604 0.643696 0.000000 -vt 0.995552 0.633629 0.000000 -vt 0.987415 0.636047 0.000000 -vt 0.961069 0.583273 0.000000 -vt 0.943905 0.553197 0.000000 -vt 0.928051 0.520151 0.000000 -vt 0.971278 0.614898 0.000000 -vt 0.980827 0.610256 0.000000 -vt 0.882292 0.645704 0.000000 -vt 0.869588 0.646646 0.000000 -vt 0.921577 0.646846 0.000000 -vt 0.806850 0.731062 0.000000 -vt 0.814103 0.719122 0.000000 -vt 0.824363 0.709601 0.000000 -vt 0.822583 0.722962 0.000000 -vt 0.831893 0.712543 0.000000 -vt 0.838896 0.676420 0.000000 -vt 0.832717 0.690188 0.000000 -vt 0.844593 0.666198 0.000000 -vt 0.847063 0.650758 0.000000 -vt 0.841397 0.643325 0.000000 -vt 0.810746 0.626281 0.000000 -vt 0.792090 0.620887 0.000000 -vt 0.765839 0.619417 0.000000 -vt 0.743656 0.623159 0.000000 -vt 0.725160 0.640106 0.000000 -vt 0.732529 0.634461 0.000000 -vt 0.709517 0.677781 0.000000 -vt 0.719412 0.648642 0.000000 -vt 0.700865 0.711006 0.000000 -vt 0.823364 0.631767 0.000000 -vt 0.844405 0.624013 0.000000 -vt 0.832310 0.636788 0.000000 -vt 0.744600 0.629834 0.000000 -vt 0.764996 0.626100 0.000000 -vt 0.790730 0.625007 0.000000 -vt 0.808665 0.629592 0.000000 -vt 0.820714 0.634913 0.000000 -vt 0.829481 0.639699 0.000000 -vt 0.837510 0.646105 0.000000 -vt 0.842556 0.652380 0.000000 -vt 0.840444 0.666247 0.000000 -vt 0.835773 0.674949 0.000000 -vt 0.827668 0.687141 0.000000 -vt 0.814770 0.702390 0.000000 -vt 0.804977 0.713925 0.000000 -vt 0.798510 0.728153 0.000000 -vt 0.822798 0.684172 0.000000 -vt 0.810113 0.698916 0.000000 -vt 0.800505 0.711432 0.000000 -vt 0.792205 0.726992 0.000000 -vt 0.733795 0.585344 0.000000 -vt 0.760231 0.578210 0.000000 -vt 0.749864 0.185042 0.000000 -vt 0.743741 0.180171 0.000000 -vt 0.774356 0.142860 0.000000 -vt 0.768210 0.139507 0.000000 -vt 0.779944 0.228845 0.000000 -vt 0.822322 0.214214 0.000000 -vt 0.794326 0.254341 0.000000 -vt 0.762833 0.204067 0.000000 -vt 0.800380 0.176439 0.000000 -vt 0.807594 0.279991 0.000000 -vt 0.835667 0.245974 0.000000 -vt 0.783340 0.150069 0.000000 -vt 0.986459 0.652072 0.000000 -vt 0.930486 0.678108 0.000000 -vt 0.983343 0.647676 0.000000 -vt 0.927411 0.673666 0.000000 -vt 0.874280 0.706939 0.000000 -vt 0.883021 0.698900 0.000000 -vt 0.878958 0.710590 0.000000 -vt 0.886537 0.703009 0.000000 -vt 0.867310 0.716479 0.000000 -vt 0.872816 0.719184 0.000000 -vt 0.863241 0.728954 0.000000 -vt 0.869238 0.729573 0.000000 -vt 0.869789 0.740903 0.000000 -vt 0.849164 0.616351 0.000000 -vt 0.850601 0.566978 0.000000 -vt 0.832136 0.575294 0.000000 -vt 0.823758 0.557679 0.000000 -vt 0.850297 0.543332 0.000000 -vt 0.781963 0.567000 0.000000 -vt 0.851947 0.715162 0.000000 -vt 0.789553 0.627962 0.000000 -vt 0.806267 0.633195 0.000000 -vt 0.817109 0.638250 0.000000 -vt 0.831462 0.649635 0.000000 -vt 0.825555 0.643588 0.000000 -vt 0.834690 0.657109 0.000000 -vt 0.834076 0.665334 0.000000 -vt 0.831365 0.672586 0.000000 -vt 0.790768 0.726291 0.000000 -vt 0.552712 0.587402 0.000000 -vt 0.799489 0.710380 0.000000 -vt 0.727422 0.592418 0.000000 -vt 0.666861 0.594460 0.000000 -vt 0.687520 0.594536 0.000000 -vt 0.758743 0.132695 0.000000 -vt 0.768633 0.104037 0.000000 -vt 0.848394 0.499665 0.000000 -vt 0.905796 0.495536 0.000000 -vt 0.915243 0.494743 0.000000 -vt 0.993344 0.647252 0.000000 -vt 0.167314 0.969095 0.000000 -vt 0.159509 0.981689 0.000000 -vt 0.157005 0.966054 0.000000 -vt 0.151449 0.975172 0.000000 -vt 0.851975 0.319566 0.000000 -vt 0.090185 0.900027 0.000000 -vt 0.147352 0.989617 0.000000 -vt 0.134407 0.993075 0.000000 -vt 0.143002 0.980297 0.000000 -vt 0.133248 0.982613 0.000000 -vt 0.092034 0.900027 0.000000 -vt 0.092317 0.906636 0.000000 -vt 0.079956 0.983284 0.000000 -vt 0.080295 0.993856 0.000000 -vt 0.007373 0.906645 0.000000 -vt 0.841469 0.290835 0.000000 -vt 0.863343 0.656769 0.000000 -vt 0.873052 0.658352 0.000000 -vt 0.847813 0.658044 0.000000 -vt 0.842790 0.658363 0.000000 -vt 0.780288 0.110213 0.000000 -vt 0.788631 0.076689 0.000000 -vt 0.777252 0.070881 0.000000 -vt 0.799339 0.034428 0.000000 -vt 0.787113 0.031492 0.000000 -vt 0.782394 0.139672 0.000000 -vt 0.789903 0.112884 0.000000 -vt 0.798046 0.079888 0.000000 -vt 0.808458 0.036817 0.000000 -vt 0.826307 0.524328 0.000000 -vt 0.834775 0.501491 0.000000 -vt 0.837127 0.538362 0.000000 -vt 0.713606 0.595708 0.000000 -vt 0.719793 0.712504 0.000000 -vt 0.762929 0.730056 0.000000 -vt 0.784902 0.708202 0.000000 -vt 0.773162 0.716687 0.000000 -vt 0.722839 0.680933 0.000000 -vt 0.726166 0.653030 0.000000 -vt 0.819474 0.679709 0.000000 -vt 0.815913 0.686345 0.000000 -vt 0.811086 0.691616 0.000000 -vt 0.800198 0.698801 0.000000 -vt 0.809371 0.659038 0.000000 -vt 0.801298 0.651391 0.000000 -vt 0.787602 0.642960 0.000000 -vt 0.730113 0.644440 0.000000 -vt 0.818819 0.672527 0.000000 -vt 0.815480 0.665853 0.000000 -vt 0.766622 0.635412 0.000000 -vt 0.736832 0.638870 0.000000 -vt 0.747833 0.634641 0.000000 -vt 0.015448 0.993642 0.000000 -vt 0.007110 0.992700 0.000000 -vt 0.006293 0.983508 0.000000 -vt 0.814164 0.541714 0.000000 -vt 0.802712 0.552886 0.000000 -vt 0.846511 0.313581 0.000000 -vt 0.095824 0.976655 0.000000 -vt 0.006081 0.976737 0.000000 -vt 0.129598 0.976686 0.000000 -vt 0.138341 0.975139 0.000000 -vt 0.146345 0.970823 0.000000 -vt 0.151038 0.963576 0.000000 -vt 0.144859 0.887630 0.000000 -vt 0.150944 0.890133 0.000000 -vt 0.132861 0.898549 0.000000 -vt 0.134991 0.904652 0.000000 -vt 0.124573 0.900027 0.000000 -vt 0.125074 0.906633 0.000000 -vt 0.140435 0.894463 0.000000 -vt 0.144876 0.899288 0.000000 -vt 0.693946 0.173145 0.000000 -vt 0.722943 0.178965 0.000000 -vt 0.715167 0.213186 0.000000 -vt 0.533605 0.131198 0.000000 -vt 0.518282 0.125114 0.000000 -vt 0.531182 0.095475 0.000000 -vt 0.731544 0.246003 0.000000 -vt 0.729887 0.257924 0.000000 -vt 0.704107 0.246127 0.000000 -vt 0.703427 0.259698 0.000000 -vt 0.655921 0.250000 0.000000 -vt 0.656540 0.265552 0.000000 -vt 0.611689 0.273725 0.000000 -vt 0.602002 0.258946 0.000000 -vt 0.454887 0.271807 0.000000 -vt 0.502496 0.271672 0.000000 -vt 0.455212 0.287864 0.000000 -vt 0.501087 0.287823 0.000000 -vt 0.401482 0.272503 0.000000 -vt 0.401482 0.288670 0.000000 -vt 0.601618 0.272915 0.000000 -vt 0.588511 0.262397 0.000000 -vt 0.558853 0.265784 0.000000 -vt 0.561431 0.278612 0.000000 -vt 0.510280 0.271988 0.000000 -vt 0.518259 0.271446 0.000000 -vt 0.513069 0.287795 0.000000 -vt 0.523551 0.286047 0.000000 -vt 0.535969 0.269399 0.000000 -vt 0.539672 0.281898 0.000000 -vt 0.749649 0.257155 0.000000 -vt 0.767604 0.294187 0.000000 -vt 0.739495 0.264393 0.000000 -vt 0.755078 0.301162 0.000000 -vt 0.724864 0.312010 0.000000 -vt 0.685373 0.328566 0.000000 -vt 0.643620 0.346523 0.000000 -vt 0.460578 0.336119 0.000000 -vt 0.513579 0.340543 0.000000 -vt 0.401473 0.331545 0.000000 -vt 0.601608 0.361711 0.000000 -vt 0.633851 0.350058 0.000000 -vt 0.529671 0.342340 0.000000 -vt 0.544971 0.344404 0.000000 -vt 0.579232 0.370086 0.000000 -vt 0.606396 0.273921 0.000000 -vt 0.638362 0.348486 0.000000 -vt 0.738390 0.245944 0.000000 -vt 0.735425 0.259160 0.000000 -vt 0.642609 0.223057 0.000000 -vt 0.658537 0.166170 0.000000 -vt 0.686659 0.221168 0.000000 -vt 0.615828 0.155827 0.000000 -vt 0.599276 0.223914 0.000000 -vt 0.463763 0.157942 0.000000 -vt 0.453945 0.235101 0.000000 -vt 0.432699 0.167303 0.000000 -vt 0.402909 0.235101 0.000000 -vt 0.402869 0.170209 0.000000 -vt 0.607818 0.154278 0.000000 -vt 0.591311 0.225769 0.000000 -vt 0.553728 0.229130 0.000000 -vt 0.576439 0.144782 0.000000 -vt 0.581771 0.227055 0.000000 -vt 0.598962 0.152008 0.000000 -vt 0.533257 0.229488 0.000000 -vt 0.557174 0.138522 0.000000 -vt 0.525533 0.186538 0.000000 -vt 0.515975 0.228765 0.000000 -vt 0.578064 0.417206 0.000000 -vt 0.599719 0.514017 0.000000 -vt 0.602713 0.510686 0.000000 -vt 0.614818 0.519487 0.000000 -vt 0.615547 0.514185 0.000000 -vt 0.587761 0.504682 0.000000 -vt 0.590694 0.502497 0.000000 -vt 0.578496 0.011496 0.000000 -vt 0.591295 0.016376 0.000000 -vt 0.575955 0.074693 0.000000 -vt 0.608216 0.027586 0.000000 -vt 0.622451 0.042745 0.000000 -vt 0.636674 0.060017 0.000000 -vt 0.630119 0.053115 0.000000 -vt 0.676348 0.085196 0.000000 -vt 0.708567 0.108239 0.000000 -vt 0.733687 0.125510 0.000000 -vt 0.777022 0.359170 0.000000 -vt 0.791597 0.351363 0.000000 -vt 0.752856 0.384314 0.000000 -vt 0.722727 0.414314 0.000000 -vt 0.686003 0.448900 0.000000 -vt 0.681959 0.454059 0.000000 -vt 0.678966 0.458704 0.000000 -vt 0.645197 0.450985 0.000000 -vt 0.472145 0.378069 0.000000 -vt 0.503514 0.391071 0.000000 -vt 0.528802 0.408323 0.000000 -vt 0.554670 0.430448 0.000000 -vt 0.435389 0.371512 0.000000 -vt 0.401495 0.369589 0.000000 -vt 0.746210 0.251262 0.000000 -vt 0.709480 0.218653 0.000000 -vt 0.771206 0.292787 0.000000 -vt 0.753188 0.256063 0.000000 -vt 0.750507 0.250711 0.000000 -vt 0.510307 0.268374 0.000000 -vt 0.517949 0.267880 0.000000 -vt 0.655348 0.246392 0.000000 -vt 0.703879 0.242550 0.000000 -vt 0.601037 0.255430 0.000000 -vt 0.502698 0.268091 0.000000 -vt 0.454828 0.268222 0.000000 -vt 0.401481 0.268278 0.000000 -vt 0.558121 0.262285 0.000000 -vt 0.587602 0.258919 0.000000 -vt 0.535369 0.265851 0.000000 -vt 0.793560 0.347619 0.000000 -vt 0.731269 0.242097 0.000000 -vt 0.737028 0.241848 0.000000 -vt 0.724406 0.218127 0.000000 -vt 0.734306 0.181288 0.000000 -vt 0.721608 0.222625 0.000000 -vt 0.713560 0.216636 0.000000 -vt 0.507958 0.238879 0.000000 -vt 0.508720 0.229347 0.000000 -vt 0.515396 0.238585 0.000000 -vt 0.643299 0.234864 0.000000 -vt 0.688094 0.231329 0.000000 -vt 0.593788 0.235390 0.000000 -vt 0.454869 0.244112 0.000000 -vt 0.500659 0.240175 0.000000 -vt 0.500770 0.230895 0.000000 -vt 0.402915 0.243859 0.000000 -vt 0.553213 0.238005 0.000000 -vt 0.581215 0.234713 0.000000 -vt 0.531585 0.239088 0.000000 -vt 0.745792 0.127757 0.000000 -vt 0.713337 0.227506 0.000000 -vt 0.718175 0.225676 0.000000 -vt 0.514837 0.183038 0.000000 -vt 0.734256 0.426656 0.000000 -vt 0.764033 0.394527 0.000000 -vt 0.792874 0.363108 0.000000 -vt 0.670541 0.470179 0.000000 -vt 0.676761 0.482066 0.000000 -vt 0.655994 0.486028 0.000000 -vt 0.660688 0.497354 0.000000 -vt 0.638921 0.498168 0.000000 -vt 0.641617 0.509754 0.000000 -vt 0.691540 0.469228 0.000000 -vt 0.627036 0.503995 0.000000 -vt 0.626833 0.514062 0.000000 -vt 0.401503 0.375423 0.000000 -vt 0.434700 0.376915 0.000000 -vt 0.470320 0.383334 0.000000 -vt 0.524924 0.412296 0.000000 -vt 0.500532 0.396636 0.000000 -vt 0.544747 0.436849 0.000000 -vt 0.548949 0.434498 0.000000 -vt 0.569271 0.458371 0.000000 -vt 0.564441 0.460718 0.000000 -vt 0.490755 0.141271 0.000000 -vt 0.501690 0.183534 0.000000 -vt 0.510448 0.119966 0.000000 -vt 0.560442 0.463538 0.000000 -vt 0.572800 0.485657 0.000000 -vt 0.576378 0.482320 0.000000 -vt 0.644348 0.514569 0.000000 -vt 0.626588 0.519585 0.000000 -vt 0.664762 0.499949 0.000000 -vt 0.682758 0.483184 0.000000 -vt 0.696871 0.470881 0.000000 -vt 0.738781 0.428313 0.000000 -vt 0.767651 0.395884 0.000000 -vt 0.593580 0.008852 0.000000 -vt 0.578618 0.005160 0.000000 -vt 0.612085 0.020123 0.000000 -vt 0.627247 0.035345 0.000000 -vt 0.639441 0.045805 0.000000 -vt 0.682593 0.076621 0.000000 -vt 0.714939 0.099261 0.000000 -vt 0.744716 0.120095 0.000000 -vt 0.570488 0.010347 0.000000 -vt 0.559181 0.013750 0.000000 -vt 0.569002 0.005348 0.000000 -vt 0.557040 0.009988 0.000000 -vt 0.617299 0.506217 0.000000 -vt 0.606542 0.504426 0.000000 -vt 0.595934 0.497686 0.000000 -vt 0.552393 0.020923 0.000000 -vt 0.548159 0.019039 0.000000 -vt 0.541175 0.040180 0.000000 -vt 0.581309 0.479426 0.000000 -vt 0.550680 0.068236 0.000000 -vt 0.558203 0.045627 0.000000 -vt 0.523687 0.091131 0.000000 -vt 0.533774 0.062861 0.000000 -vt 0.794219 0.367093 0.000000 -vt 0.606654 0.476742 0.000000 -vt 0.619535 0.475150 0.000000 -vt 0.613626 0.491031 0.000000 -vt 0.596427 0.469565 0.000000 -vt 0.589574 0.474348 0.000000 -vt 0.601644 0.488238 0.000000 -vt 0.596462 0.456333 0.000000 -vt 0.580238 0.456401 0.000000 -vt 0.564474 0.423905 0.000000 -vt 0.629122 0.454336 0.000000 -vt 0.619476 0.446204 0.000000 -vt 0.628661 0.466544 0.000000 -vt 0.626669 0.455159 0.000000 -vt 0.626709 0.465909 0.000000 -vt 0.600154 0.467647 0.000000 -vt 0.607877 0.474550 0.000000 -vt 0.605921 0.447138 0.000000 -vt 0.618663 0.447919 0.000000 -vt 0.599035 0.456745 0.000000 -vt 0.539124 0.064358 0.000000 -vt 0.545401 0.041526 0.000000 -vt 0.111791 0.173540 0.000000 -vt 0.090623 0.213611 0.000000 -vt 0.082803 0.179397 0.000000 -vt 0.272074 0.131370 0.000000 -vt 0.274445 0.095645 0.000000 -vt 0.287389 0.125266 0.000000 -vt 0.072237 0.240197 0.000000 -vt 0.100093 0.240551 0.000000 -vt 0.073743 0.252125 0.000000 -vt 0.100672 0.254197 0.000000 -vt 0.149945 0.243724 0.000000 -vt 0.148516 0.260403 0.000000 -vt 0.192696 0.271216 0.000000 -vt 0.202678 0.256657 0.000000 -vt 0.348145 0.271854 0.000000 -vt 0.347812 0.287920 0.000000 -vt 0.300772 0.271629 0.000000 -vt 0.302124 0.287805 0.000000 -vt 0.215875 0.260681 0.000000 -vt 0.202692 0.270854 0.000000 -vt 0.245096 0.265004 0.000000 -vt 0.242353 0.277848 0.000000 -vt 0.293058 0.271898 0.000000 -vt 0.290208 0.287705 0.000000 -vt 0.285158 0.271285 0.000000 -vt 0.279807 0.285861 0.000000 -vt 0.267659 0.269015 0.000000 -vt 0.263862 0.281496 0.000000 -vt 0.053635 0.251116 0.000000 -vt 0.063805 0.258444 0.000000 -vt 0.034438 0.287782 0.000000 -vt 0.046915 0.294948 0.000000 -vt 0.077447 0.306727 0.000000 -vt 0.117338 0.324766 0.000000 -vt 0.159191 0.344854 0.000000 -vt 0.342353 0.336220 0.000000 -vt 0.289299 0.340680 0.000000 -vt 0.201098 0.361667 0.000000 -vt 0.168986 0.348811 0.000000 -vt 0.273166 0.342554 0.000000 -vt 0.257850 0.344685 0.000000 -vt 0.223430 0.370626 0.000000 -vt 0.197934 0.271664 0.000000 -vt 0.164473 0.347056 0.000000 -vt 0.065374 0.240067 0.000000 -vt 0.068078 0.253266 0.000000 -vt 0.163196 0.223380 0.000000 -vt 0.119146 0.221551 0.000000 -vt 0.147190 0.166514 0.000000 -vt 0.189886 0.156113 0.000000 -vt 0.206530 0.224177 0.000000 -vt 0.341957 0.158019 0.000000 -vt 0.373034 0.167341 0.000000 -vt 0.351874 0.235164 0.000000 -vt 0.197894 0.154553 0.000000 -vt 0.214499 0.226020 0.000000 -vt 0.252086 0.229332 0.000000 -vt 0.224041 0.227293 0.000000 -vt 0.229260 0.145017 0.000000 -vt 0.206746 0.152272 0.000000 -vt 0.272558 0.229664 0.000000 -vt 0.248515 0.138730 0.000000 -vt 0.280223 0.186700 0.000000 -vt 0.289840 0.228914 0.000000 -vt 0.224183 0.418689 0.000000 -vt 0.198386 0.517693 0.000000 -vt 0.182576 0.522783 0.000000 -vt 0.195417 0.514164 0.000000 -vt 0.182046 0.517301 0.000000 -vt 0.211939 0.507362 0.000000 -vt 0.208810 0.505280 0.000000 -vt 0.227018 0.011731 0.000000 -vt 0.229646 0.074925 0.000000 -vt 0.214225 0.016629 0.000000 -vt 0.197320 0.027860 0.000000 -vt 0.183105 0.043039 0.000000 -vt 0.168907 0.060337 0.000000 -vt 0.175452 0.053419 0.000000 -vt 0.129267 0.085565 0.000000 -vt 0.097081 0.108655 0.000000 -vt 0.071984 0.125960 0.000000 -vt 0.021267 0.351703 0.000000 -vt 0.006537 0.343143 0.000000 -vt 0.045268 0.378490 0.000000 -vt 0.075606 0.410662 0.000000 -vt 0.112661 0.447514 0.000000 -vt 0.116676 0.452988 0.000000 -vt 0.119526 0.457894 0.000000 -vt 0.154527 0.452184 0.000000 -vt 0.330720 0.378225 0.000000 -vt 0.299179 0.391414 0.000000 -vt 0.273621 0.408968 0.000000 -vt 0.247402 0.431586 0.000000 -vt 0.367575 0.371577 0.000000 -vt 0.057152 0.245252 0.000000 -vt 0.096319 0.219066 0.000000 -vt 0.030850 0.286314 0.000000 -vt 0.050074 0.249996 0.000000 -vt 0.052831 0.244671 0.000000 -vt 0.293045 0.268282 0.000000 -vt 0.285494 0.267719 0.000000 -vt 0.150722 0.239937 0.000000 -vt 0.100334 0.236957 0.000000 -vt 0.203748 0.253166 0.000000 -vt 0.300577 0.268047 0.000000 -vt 0.348204 0.268269 0.000000 -vt 0.245873 0.261516 0.000000 -vt 0.216849 0.257222 0.000000 -vt 0.268291 0.265471 0.000000 -vt 0.004761 0.339404 0.000000 -vt 0.072545 0.236292 0.000000 -vt 0.066778 0.235993 0.000000 -vt 0.081395 0.218565 0.000000 -vt 0.071442 0.181735 0.000000 -vt 0.084196 0.223057 0.000000 -vt 0.092236 0.217056 0.000000 -vt 0.297872 0.239016 0.000000 -vt 0.290432 0.238737 0.000000 -vt 0.297096 0.229486 0.000000 -vt 0.162522 0.235187 0.000000 -vt 0.117723 0.231713 0.000000 -vt 0.212035 0.235645 0.000000 -vt 0.350965 0.244177 0.000000 -vt 0.305170 0.240301 0.000000 -vt 0.305047 0.231022 0.000000 -vt 0.252613 0.238208 0.000000 -vt 0.224605 0.234952 0.000000 -vt 0.274245 0.239260 0.000000 -vt 0.059882 0.128223 0.000000 -vt 0.092473 0.227926 0.000000 -vt 0.087633 0.226102 0.000000 -vt 0.290913 0.183183 0.000000 -vt 0.062992 0.422821 0.000000 -vt 0.033371 0.388577 0.000000 -vt 0.004787 0.355169 0.000000 -vt 0.127012 0.469953 0.000000 -vt 0.141408 0.486812 0.000000 -vt 0.120140 0.481961 0.000000 -vt 0.136095 0.498246 0.000000 -vt 0.158539 0.499928 0.000000 -vt 0.154140 0.511211 0.000000 -vt 0.105596 0.468174 0.000000 -vt 0.170639 0.506311 0.000000 -vt 0.169501 0.516436 0.000000 -vt 0.368282 0.376978 0.000000 -vt 0.332565 0.383486 0.000000 -vt 0.277537 0.412901 0.000000 -vt 0.302193 0.396965 0.000000 -vt 0.257454 0.437684 0.000000 -vt 0.253170 0.435458 0.000000 -vt 0.231778 0.460510 0.000000 -vt 0.236732 0.462620 0.000000 -vt 0.304061 0.183661 0.000000 -vt 0.314941 0.141380 0.000000 -vt 0.295214 0.120104 0.000000 -vt 0.240837 0.465265 0.000000 -vt 0.227655 0.488107 0.000000 -vt 0.223823 0.485141 0.000000 -vt 0.150332 0.515520 0.000000 -vt 0.169290 0.522106 0.000000 -vt 0.131069 0.499883 0.000000 -vt 0.113942 0.482898 0.000000 -vt 0.099861 0.469714 0.000000 -vt 0.058201 0.424334 0.000000 -vt 0.029594 0.389718 0.000000 -vt 0.211931 0.009108 0.000000 -vt 0.226886 0.005396 0.000000 -vt 0.193440 0.020406 0.000000 -vt 0.178297 0.035647 0.000000 -vt 0.166119 0.046125 0.000000 -vt 0.123009 0.076999 0.000000 -vt 0.090697 0.099685 0.000000 -vt 0.060948 0.120559 0.000000 -vt 0.235025 0.010571 0.000000 -vt 0.236503 0.005569 0.000000 -vt 0.246336 0.013959 0.000000 -vt 0.248472 0.010195 0.000000 -vt 0.180545 0.509024 0.000000 -vt 0.191699 0.507574 0.000000 -vt 0.202897 0.500989 0.000000 -vt 0.253135 0.021122 0.000000 -vt 0.257366 0.019230 0.000000 -vt 0.264380 0.040366 0.000000 -vt 0.218624 0.482684 0.000000 -vt 0.254909 0.068434 0.000000 -vt 0.247358 0.045835 0.000000 -vt 0.281935 0.091292 0.000000 -vt 0.271810 0.063036 0.000000 -vt 0.003278 0.359082 0.000000 -vt 0.192604 0.479055 0.000000 -vt 0.184887 0.493505 0.000000 -vt 0.179390 0.476946 0.000000 -vt 0.203351 0.472074 0.000000 -vt 0.210277 0.477187 0.000000 -vt 0.197336 0.491065 0.000000 -vt 0.203837 0.458398 0.000000 -vt 0.220554 0.458999 0.000000 -vt 0.237641 0.425200 0.000000 -vt 0.170829 0.456184 0.000000 -vt 0.180902 0.447969 0.000000 -vt 0.170608 0.468301 0.000000 -vt 0.173278 0.457092 0.000000 -vt 0.172615 0.467684 0.000000 -vt 0.199614 0.469991 0.000000 -vt 0.191472 0.476881 0.000000 -vt 0.194696 0.449079 0.000000 -vt 0.181670 0.449709 0.000000 -vt 0.201214 0.458873 0.000000 -vt 0.266462 0.064539 0.000000 -vt 0.260154 0.041717 0.000000 -vt 0.482915 0.511831 0.000000 -vt 0.482610 0.488350 0.000000 -vt 0.490098 0.511783 0.000000 -vt 0.490752 0.486237 0.000000 -vt 0.480782 0.575114 0.000000 -vt 0.482154 0.545693 0.000000 -vt 0.487471 0.574910 0.000000 -vt 0.489282 0.544717 0.000000 -vt 0.479787 0.604766 0.000000 -vt 0.486236 0.604792 0.000000 -vt 0.479125 0.629922 0.000000 -vt 0.485964 0.629904 0.000000 -vt 0.479061 0.681800 0.000000 -vt 0.479247 0.656026 0.000000 -vt 0.485423 0.681073 0.000000 -vt 0.485814 0.655306 0.000000 -vt 0.479246 0.707916 0.000000 -vt 0.485364 0.707913 0.000000 -vt 0.475201 0.546442 0.000000 -vt 0.472464 0.576105 0.000000 -vt 0.471307 0.605406 0.000000 -vt 0.471458 0.630164 0.000000 -vt 0.471499 0.655773 0.000000 -vt 0.471913 0.681355 0.000000 -vt 0.471690 0.707919 0.000000 -vt 0.449729 0.518008 0.000000 -vt 0.451946 0.553017 0.000000 -vt 0.433817 0.529127 0.000000 -vt 0.431346 0.556872 0.000000 -vt 0.449892 0.579969 0.000000 -vt 0.429941 0.580608 0.000000 -vt 0.449255 0.605463 0.000000 -vt 0.429112 0.604658 0.000000 -vt 0.448974 0.629552 0.000000 -vt 0.428810 0.628782 0.000000 -vt 0.449326 0.656276 0.000000 -vt 0.449454 0.682068 0.000000 -vt 0.429745 0.656150 0.000000 -vt 0.429377 0.682280 0.000000 -vt 0.450119 0.707927 0.000000 -vt 0.431044 0.707932 0.000000 -vt 0.409940 0.531912 0.000000 -vt 0.407190 0.554682 0.000000 -vt 0.406182 0.578987 0.000000 -vt 0.406388 0.602829 0.000000 -vt 0.406787 0.627217 0.000000 -vt 0.408421 0.654939 0.000000 -vt 0.408026 0.682236 0.000000 -vt 0.409702 0.707936 0.000000 -vt 0.355853 0.512436 0.000000 -vt 0.369251 0.524398 0.000000 -vt 0.345538 0.546253 0.000000 -vt 0.363452 0.549839 0.000000 -vt 0.364225 0.576145 0.000000 -vt 0.347854 0.574374 0.000000 -vt 0.365389 0.599963 0.000000 -vt 0.351123 0.599282 0.000000 -vt 0.370565 0.681832 0.000000 -vt 0.370848 0.707939 0.000000 -vt 0.357319 0.681832 0.000000 -vt 0.358099 0.707938 0.000000 -vt 0.330312 0.542903 0.000000 -vt 0.334132 0.573059 0.000000 -vt 0.339320 0.598579 0.000000 -vt 0.342638 0.620129 0.000000 -vt 0.352827 0.621273 0.000000 -vt 0.347483 0.651191 0.000000 -vt 0.357000 0.651802 0.000000 -vt 0.348834 0.682175 0.000000 -vt 0.350115 0.707938 0.000000 -vt 0.305823 0.547449 0.000000 -vt 0.301797 0.519485 0.000000 -vt 0.333524 0.518145 0.000000 -vt 0.338936 0.500273 0.000000 -vt 0.311563 0.575768 0.000000 -vt 0.317777 0.600481 0.000000 -vt 0.341023 0.624266 0.000000 -vt 0.344054 0.651215 0.000000 -vt 0.323803 0.627792 0.000000 -vt 0.327079 0.651190 0.000000 -vt 0.346214 0.677847 0.000000 -vt 0.329012 0.674650 0.000000 -vt 0.330966 0.707939 0.000000 -vt 0.328754 0.678846 0.000000 -vt 0.273878 0.529732 0.000000 -vt 0.278426 0.550496 0.000000 -vt 0.244103 0.546457 0.000000 -vt 0.256721 0.564160 0.000000 -vt 0.288572 0.580695 0.000000 -vt 0.269655 0.589431 0.000000 -vt 0.297132 0.605744 0.000000 -vt 0.279997 0.613270 0.000000 -vt 0.218771 0.558590 0.000000 -vt 0.241448 0.573633 0.000000 -vt 0.255567 0.595358 0.000000 -vt 0.266771 0.618375 0.000000 -vt 0.286115 0.635085 0.000000 -vt 0.274545 0.639546 0.000000 -vt 0.290074 0.656650 0.000000 -vt 0.278043 0.660112 0.000000 -vt 0.293519 0.679034 0.000000 -vt 0.294683 0.707936 0.000000 -vt 0.281495 0.682427 0.000000 -vt 0.282565 0.707934 0.000000 -vt 0.197466 0.568998 0.000000 -vt 0.228265 0.581211 0.000000 -vt 0.246206 0.600962 0.000000 -vt 0.258120 0.621869 0.000000 -vt 0.266270 0.642009 0.000000 -vt 0.271178 0.662999 0.000000 -vt 0.274847 0.684195 0.000000 -vt 0.276242 0.707934 0.000000 -vt 0.338103 0.488842 0.000000 -vt 0.298557 0.509756 0.000000 -vt 0.269754 0.515859 0.000000 -vt 0.238490 0.540172 0.000000 -vt 0.195889 0.563777 0.000000 -vt 0.247009 0.486454 0.000000 -vt 0.479035 0.481969 0.000000 -vt 0.472333 0.492290 0.000000 -vt 0.372675 0.471561 0.000000 -vt 0.363380 0.490034 0.000000 -vt 0.394516 0.488115 0.000000 -vt 0.399217 0.472286 0.000000 -vt 0.350804 0.497150 0.000000 -vt 0.388639 0.681115 0.000000 -vt 0.389596 0.707938 0.000000 -vt 0.386097 0.624788 0.000000 -vt 0.388500 0.653691 0.000000 -vt 0.366524 0.623096 0.000000 -vt 0.370395 0.653619 0.000000 -vt 0.385178 0.577071 0.000000 -vt 0.385549 0.601740 0.000000 -vt 0.385564 0.551720 0.000000 -vt 0.388514 0.529997 0.000000 -vt 0.463785 0.503472 0.000000 -vt 0.460114 0.491472 0.000000 -vt 0.455275 0.500656 0.000000 -vt 0.428881 0.523387 0.000000 -vt 0.442370 0.513141 0.000000 -vt 0.409522 0.526631 0.000000 -vt 0.362968 0.507688 0.000000 -vt 0.372486 0.518590 0.000000 -vt 0.388440 0.524230 0.000000 -vt 0.628464 0.959968 0.000000 -vt 0.667299 0.976136 0.000000 -vt 0.629123 0.991329 0.000000 -vt 0.667774 0.987916 0.000000 -vt 0.689824 0.906209 0.000000 -vt 0.699322 0.915706 0.000000 -vt 0.694924 0.917012 0.000000 -vt 0.705958 0.952044 0.000000 -vt 0.711347 0.953871 0.000000 -vt 0.715867 0.931975 0.000000 -vt 0.730120 0.946134 0.000000 -vt 0.718174 0.956626 0.000000 -vt 0.729013 0.962078 0.000000 -vt 0.748405 0.956986 0.000000 -vt 0.745142 0.969781 0.000000 -vt 0.801180 0.970564 0.000000 -vt 0.779917 0.986372 0.000000 -vt 0.784998 0.971072 0.000000 -vt 0.774850 0.983603 0.000000 -vt 0.819465 0.971518 0.000000 -vt 0.785125 0.989405 0.000000 -vt 0.768474 0.966156 0.000000 -vt 0.764585 0.979136 0.000000 -vt 0.431365 0.486021 0.000000 -vt 0.438406 0.474564 0.000000 -vt 0.669224 0.934353 0.000000 -vt 0.629277 0.922974 0.000000 -vt 0.217657 0.607018 0.000000 -vt 0.240582 0.632635 0.000000 -vt 0.250462 0.649633 0.000000 -vt 0.255702 0.668837 0.000000 -vt 0.258206 0.686452 0.000000 -vt 0.258729 0.707933 0.000000 -vt 0.230238 0.646244 0.000000 -vt 0.208135 0.630735 0.000000 -vt 0.196996 0.683217 0.000000 -vt 0.221139 0.685315 0.000000 -vt 0.196883 0.707932 0.000000 -vt 0.221353 0.707932 0.000000 -vt 0.240550 0.686341 0.000000 -vt 0.240923 0.707933 0.000000 -vt 0.238938 0.663913 0.000000 -vt 0.222156 0.666598 0.000000 -vt 0.200453 0.657886 0.000000 -vt 0.144918 0.596816 0.000000 -vt 0.145204 0.620342 0.000000 -vt 0.107470 0.605446 0.000000 -vt 0.111566 0.626940 0.000000 -vt 0.142863 0.681242 0.000000 -vt 0.141661 0.707934 0.000000 -vt 0.113415 0.682656 0.000000 -vt 0.112473 0.707936 0.000000 -vt 0.143943 0.650990 0.000000 -vt 0.113487 0.655378 0.000000 -vt 0.058396 0.637178 0.000000 -vt 0.078958 0.618625 0.000000 -vt 0.070774 0.646156 0.000000 -vt 0.086594 0.636979 0.000000 -vt 0.067998 0.662096 0.000000 -vt 0.048782 0.658921 0.000000 -vt 0.042104 0.707939 0.000000 -vt 0.043633 0.684310 0.000000 -vt 0.063861 0.707938 0.000000 -vt 0.065358 0.684252 0.000000 -vt 0.088722 0.684106 0.000000 -vt 0.087552 0.707936 0.000000 -vt 0.088869 0.660187 0.000000 -vt 0.292279 0.470181 0.000000 -vt 0.264842 0.446841 0.000000 -vt 0.332321 0.472762 0.000000 -vt 0.092806 0.584468 0.000000 -vt 0.304041 0.427535 0.000000 -vt 0.099272 0.591632 0.000000 -vt 0.143620 0.579027 0.000000 -vt 0.042357 0.624292 0.000000 -vt 0.064943 0.603139 0.000000 -vt 0.048778 0.628470 0.000000 -vt 0.070534 0.608373 0.000000 -vt 0.025638 0.650617 0.000000 -vt 0.033877 0.654026 0.000000 -vt 0.023639 0.707940 0.000000 -vt 0.012744 0.707941 0.000000 -vt 0.026187 0.681527 0.000000 -vt 0.015898 0.680189 0.000000 -vt 0.171531 0.680159 0.000000 -vt 0.170526 0.707933 0.000000 -vt 0.173540 0.649678 0.000000 -vt 0.177517 0.618979 0.000000 -vt 0.184034 0.593011 0.000000 -vt 0.452802 0.448268 0.000000 -vt 0.488856 0.450285 0.000000 -vt 0.629874 0.895273 0.000000 -vt 0.639039 0.902919 0.000000 -vt 0.670272 0.922120 0.000000 -vt 0.311425 0.707939 0.000000 -vt 0.310176 0.674868 0.000000 -vt 0.309822 0.651748 0.000000 -vt 0.312773 0.671381 0.000000 -vt 0.307535 0.632952 0.000000 -vt 0.535128 0.477085 0.000000 -vt 0.526310 0.459993 0.000000 -vt 0.541837 0.457686 0.000000 -vt 0.534518 0.481019 0.000000 -vt 0.530576 0.512506 0.000000 -vt 0.527092 0.545951 0.000000 -vt 0.522544 0.577332 0.000000 -vt 0.518386 0.604826 0.000000 -vt 0.514778 0.628781 0.000000 -vt 0.509785 0.681252 0.000000 -vt 0.511940 0.654815 0.000000 -vt 0.508560 0.707899 0.000000 -vt 0.420344 0.441968 0.000000 -vt 0.304061 0.629959 0.000000 -vt 0.322646 0.623275 0.000000 -vt 0.306474 0.651689 0.000000 -vt 0.523938 0.446384 0.000000 -vt 0.329696 0.435529 0.000000 -vt 0.403783 0.431796 0.000000 -vt 0.370055 0.433250 0.000000 -vt 0.358127 0.426878 0.000000 -vt 0.535228 0.447553 0.000000 -vt 0.547018 0.454368 0.000000 -vt 0.542978 0.481702 0.000000 -vt 0.454873 0.443496 0.000000 -vt 0.490968 0.444779 0.000000 -vt 0.526394 0.440261 0.000000 -vt 0.424038 0.437860 0.000000 -vt 0.538592 0.442415 0.000000 -vt 0.408324 0.428918 0.000000 -vt 0.371607 0.427446 0.000000 -vt 0.362862 0.418824 0.000000 -vt 0.540562 0.451998 0.000000 -vt 0.544607 0.447268 0.000000 -vt 0.525965 0.604851 0.000000 -vt 0.530366 0.577302 0.000000 -vt 0.522416 0.629304 0.000000 -vt 0.516381 0.707897 0.000000 -vt 0.517485 0.681565 0.000000 -vt 0.534783 0.546455 0.000000 -vt 0.538415 0.512651 0.000000 -vt 0.519613 0.655015 0.000000 -vt 0.059134 0.595488 0.000000 -vt 0.088193 0.580851 0.000000 -vt 0.031040 0.618387 0.000000 -vt 0.011698 0.646450 0.000000 -vt 0.003887 0.677496 0.000000 -vt 0.000875 0.707941 0.000000 -vt 0.331248 0.430808 0.000000 -vt 0.307204 0.423902 0.000000 -vt 0.638791 0.591661 0.000000 -vt 0.635998 0.579790 0.000000 -vt 0.647217 0.593248 0.000000 -vt 0.732192 0.550887 0.000000 -vt 0.713599 0.519664 0.000000 -vt 0.753006 0.537760 0.000000 -vt 0.732612 0.507331 0.000000 -vt 0.769900 0.525029 0.000000 -vt 0.748313 0.496575 0.000000 -vt 0.782214 0.468103 0.000000 -vt 0.801054 0.453833 0.000000 -vt 0.805407 0.496905 0.000000 -vt 0.823062 0.482264 0.000000 -vt 0.689798 0.533164 0.000000 -vt 0.706693 0.564704 0.000000 -vt 0.675778 0.579067 0.000000 -vt 0.645461 0.554901 0.000000 -vt 0.604630 0.548419 0.000000 -vt 0.787477 0.511308 0.000000 -vt 0.764812 0.482881 0.000000 -vt 0.632039 0.536327 0.000000 -vt 0.314384 0.032524 0.000000 -vt 0.322689 0.003520 0.000000 -vt 0.320572 0.037033 0.000000 -vt 0.687420 0.955784 0.000000 -vt 0.687407 0.937818 0.000000 -vt 0.683227 0.977054 0.000000 -vt 0.682377 0.926682 0.000000 -vt 0.675969 0.922939 0.000000 -vt 0.677930 0.987012 0.000000 -vt 0.673249 0.990463 0.000000 -vt 0.355777 0.422588 0.000000 -vt 0.613567 0.598127 0.000000 -vt 0.620434 0.606398 0.000000 -vt 0.613050 0.605615 0.000000 -vt 0.607914 0.599196 0.000000 -vt 0.605944 0.586046 0.000000 -vt 0.610373 0.585928 0.000000 -vt 0.685816 0.524372 0.000000 -vt 0.677273 0.508610 0.000000 -vt 0.707485 0.510754 0.000000 -vt 0.698145 0.495105 0.000000 -vt 0.647636 0.545059 0.000000 -vt 0.637729 0.530161 0.000000 -vt 0.776732 0.460553 0.000000 -vt 0.766336 0.445814 0.000000 -vt 0.794961 0.445940 0.000000 -vt 0.784125 0.431889 0.000000 -vt 0.758684 0.474273 0.000000 -vt 0.748709 0.459214 0.000000 -vt 0.741759 0.486821 0.000000 -vt 0.731964 0.471566 0.000000 -vt 0.725281 0.498946 0.000000 -vt 0.715662 0.483898 0.000000 -vt 0.612713 0.587337 0.000000 -vt 0.634987 0.581679 0.000000 -vt 0.614560 0.596182 0.000000 -vt 0.636567 0.590340 0.000000 -vt 0.482979 0.904091 0.000000 -vt 0.490218 0.904105 0.000000 -vt 0.483048 0.927651 0.000000 -vt 0.491184 0.929739 0.000000 -vt 0.480834 0.840726 0.000000 -vt 0.487525 0.840907 0.000000 -vt 0.482359 0.870104 0.000000 -vt 0.489452 0.871097 0.000000 -vt 0.479797 0.811091 0.000000 -vt 0.486243 0.811041 0.000000 -vt 0.479128 0.785926 0.000000 -vt 0.485962 0.785928 0.000000 -vt 0.479061 0.734032 0.000000 -vt 0.485420 0.734754 0.000000 -vt 0.479246 0.759813 0.000000 -vt 0.485808 0.760522 0.000000 -vt 0.475459 0.869323 0.000000 -vt 0.472488 0.839795 0.000000 -vt 0.471323 0.810475 0.000000 -vt 0.471468 0.785698 0.000000 -vt 0.471503 0.760076 0.000000 -vt 0.471915 0.734485 0.000000 -vt 0.450241 0.896940 0.000000 -vt 0.433732 0.887437 0.000000 -vt 0.451860 0.862932 0.000000 -vt 0.431406 0.859250 0.000000 -vt 0.449931 0.835984 0.000000 -vt 0.430020 0.835382 0.000000 -vt 0.449296 0.810452 0.000000 -vt 0.429179 0.811265 0.000000 -vt 0.449004 0.786334 0.000000 -vt 0.428857 0.787113 0.000000 -vt 0.449344 0.759591 0.000000 -vt 0.429773 0.759726 0.000000 -vt 0.449463 0.733790 0.000000 -vt 0.429390 0.733589 0.000000 -vt 0.409989 0.884294 0.000000 -vt 0.407303 0.861344 0.000000 -vt 0.406296 0.836942 0.000000 -vt 0.406471 0.813072 0.000000 -vt 0.406843 0.788671 0.000000 -vt 0.408453 0.760939 0.000000 -vt 0.408040 0.733637 0.000000 -vt 0.356047 0.903846 0.000000 -vt 0.345608 0.869667 0.000000 -vt 0.369294 0.891113 0.000000 -vt 0.363532 0.865925 0.000000 -vt 0.364308 0.839701 0.000000 -vt 0.347915 0.841498 0.000000 -vt 0.365456 0.815908 0.000000 -vt 0.351184 0.816589 0.000000 -vt 0.370582 0.734044 0.000000 -vt 0.357336 0.734043 0.000000 -vt 0.330378 0.872980 0.000000 -vt 0.334202 0.842813 0.000000 -vt 0.339380 0.817291 0.000000 -vt 0.342688 0.795743 0.000000 -vt 0.347515 0.764686 0.000000 -vt 0.352878 0.794602 0.000000 -vt 0.357034 0.764075 0.000000 -vt 0.348849 0.733698 0.000000 -vt 0.305894 0.868388 0.000000 -vt 0.301866 0.896315 0.000000 -vt 0.333608 0.897683 0.000000 -vt 0.338957 0.915462 0.000000 -vt 0.311628 0.840090 0.000000 -vt 0.317832 0.815386 0.000000 -vt 0.341070 0.791606 0.000000 -vt 0.323845 0.788081 0.000000 -vt 0.344085 0.764660 0.000000 -vt 0.327110 0.764684 0.000000 -vt 0.346233 0.738030 0.000000 -vt 0.329032 0.741226 0.000000 -vt 0.328770 0.737029 0.000000 -vt 0.273951 0.886069 0.000000 -vt 0.244158 0.869371 0.000000 -vt 0.278490 0.865333 0.000000 -vt 0.256773 0.851677 0.000000 -vt 0.288628 0.835155 0.000000 -vt 0.269702 0.826422 0.000000 -vt 0.297178 0.810117 0.000000 -vt 0.280037 0.802591 0.000000 -vt 0.218817 0.857254 0.000000 -vt 0.241493 0.842209 0.000000 -vt 0.255608 0.820492 0.000000 -vt 0.266806 0.797485 0.000000 -vt 0.286149 0.780780 0.000000 -vt 0.274574 0.776318 0.000000 -vt 0.290099 0.759218 0.000000 -vt 0.278064 0.755754 0.000000 -vt 0.293533 0.736838 0.000000 -vt 0.281506 0.733442 0.000000 -vt 0.197505 0.846856 0.000000 -vt 0.228305 0.834638 0.000000 -vt 0.246243 0.814892 0.000000 -vt 0.258152 0.793989 0.000000 -vt 0.266299 0.773853 0.000000 -vt 0.271197 0.752868 0.000000 -vt 0.274856 0.731672 0.000000 -vt 0.338179 0.926897 0.000000 -vt 0.298631 0.906029 0.000000 -vt 0.269832 0.899920 0.000000 -vt 0.238549 0.875659 0.000000 -vt 0.213107 0.861337 0.000000 -vt 0.195928 0.852076 0.000000 -vt 0.479524 0.934132 0.000000 -vt 0.472806 0.923619 0.000000 -vt 0.363459 0.925055 0.000000 -vt 0.372848 0.944020 0.000000 -vt 0.395333 0.928534 0.000000 -vt 0.399667 0.943829 0.000000 -vt 0.350715 0.918398 0.000000 -vt 0.388656 0.734760 0.000000 -vt 0.386154 0.791092 0.000000 -vt 0.366577 0.792780 0.000000 -vt 0.388534 0.762185 0.000000 -vt 0.370429 0.762259 0.000000 -vt 0.385285 0.838803 0.000000 -vt 0.385629 0.814141 0.000000 -vt 0.385712 0.864134 0.000000 -vt 0.388567 0.885956 0.000000 -vt 0.460877 0.924580 0.000000 -vt 0.463628 0.912609 0.000000 -vt 0.454945 0.915570 0.000000 -vt 0.428549 0.893362 0.000000 -vt 0.443156 0.901478 0.000000 -vt 0.409510 0.889669 0.000000 -vt 0.372649 0.896619 0.000000 -vt 0.362845 0.909258 0.000000 -vt 0.388398 0.891757 0.000000 -vt 0.622782 0.959823 0.000000 -vt 0.621661 0.991109 0.000000 -vt 0.583762 0.975340 0.000000 -vt 0.583107 0.987103 0.000000 -vt 0.577558 0.773552 0.000000 -vt 0.583408 0.783969 0.000000 -vt 0.579796 0.786797 0.000000 -vt 0.605568 0.813259 0.000000 -vt 0.603935 0.818711 0.000000 -vt 0.583470 0.809708 0.000000 -vt 0.602225 0.825871 0.000000 -vt 0.586752 0.829528 0.000000 -vt 0.600388 0.837865 0.000000 -vt 0.585002 0.850719 0.000000 -vt 0.597321 0.855473 0.000000 -vt 0.565490 0.901600 0.000000 -vt 0.575280 0.888706 0.000000 -vt 0.590694 0.893430 0.000000 -vt 0.591373 0.887695 0.000000 -vt 0.555673 0.917056 0.000000 -vt 0.590149 0.899431 0.000000 -vt 0.580848 0.872389 0.000000 -vt 0.593680 0.876741 0.000000 -vt 0.432247 0.929890 0.000000 -vt 0.438774 0.941718 0.000000 -vt 0.582559 0.933566 0.000000 -vt 0.622669 0.922876 0.000000 -vt 0.217687 0.808839 0.000000 -vt 0.240608 0.783224 0.000000 -vt 0.250486 0.766229 0.000000 -vt 0.255718 0.747028 0.000000 -vt 0.258214 0.729413 0.000000 -vt 0.230258 0.769617 0.000000 -vt 0.208158 0.785125 0.000000 -vt 0.197004 0.732646 0.000000 -vt 0.221147 0.730549 0.000000 -vt 0.240559 0.729524 0.000000 -vt 0.238953 0.751950 0.000000 -vt 0.222170 0.749266 0.000000 -vt 0.200468 0.757976 0.000000 -vt 0.144941 0.819049 0.000000 -vt 0.107489 0.810422 0.000000 -vt 0.145222 0.795523 0.000000 -vt 0.111581 0.788931 0.000000 -vt 0.142868 0.734627 0.000000 -vt 0.113420 0.733214 0.000000 -vt 0.143955 0.764878 0.000000 -vt 0.113497 0.760493 0.000000 -vt 0.058408 0.778697 0.000000 -vt 0.070784 0.769718 0.000000 -vt 0.078973 0.797249 0.000000 -vt 0.086606 0.778894 0.000000 -vt 0.068006 0.753779 0.000000 -vt 0.048789 0.756957 0.000000 -vt 0.043636 0.731568 0.000000 -vt 0.065360 0.731624 0.000000 -vt 0.088725 0.731768 0.000000 -vt 0.088877 0.755686 0.000000 -vt 0.292377 0.945568 0.000000 -vt 0.141063 0.845974 0.000000 -vt 0.332451 0.942991 0.000000 -vt 0.281041 0.994248 0.000000 -vt 0.304121 0.988208 0.000000 -vt 0.099293 0.824241 0.000000 -vt 0.143647 0.836839 0.000000 -vt 0.042371 0.791587 0.000000 -vt 0.048791 0.787407 0.000000 -vt 0.064959 0.812736 0.000000 -vt 0.070549 0.807502 0.000000 -vt 0.025645 0.765263 0.000000 -vt 0.033884 0.761852 0.000000 -vt 0.026190 0.734350 0.000000 -vt 0.015901 0.735691 0.000000 -vt 0.171538 0.735706 0.000000 -vt 0.173554 0.766186 0.000000 -vt 0.177539 0.796883 0.000000 -vt 0.184062 0.822848 0.000000 -vt 0.453000 0.968186 0.000000 -vt 0.489318 0.965798 0.000000 -vt 0.622679 0.895236 0.000000 -vt 0.613360 0.902669 0.000000 -vt 0.581776 0.921307 0.000000 -vt 0.310194 0.741006 0.000000 -vt 0.309850 0.764125 0.000000 -vt 0.312792 0.744492 0.000000 -vt 0.307570 0.782919 0.000000 -vt 0.535620 0.938607 0.000000 -vt 0.542396 0.958048 0.000000 -vt 0.526858 0.955811 0.000000 -vt 0.534989 0.934668 0.000000 -vt 0.530795 0.903122 0.000000 -vt 0.527204 0.869708 0.000000 -vt 0.522577 0.838354 0.000000 -vt 0.518380 0.810903 0.000000 -vt 0.514760 0.786983 0.000000 -vt 0.509775 0.734545 0.000000 -vt 0.511920 0.760969 0.000000 -vt 0.420258 0.974202 0.000000 -vt 0.304097 0.785910 0.000000 -vt 0.322690 0.792596 0.000000 -vt 0.306501 0.764184 0.000000 -vt 0.524518 0.969438 0.000000 -vt 0.329809 0.980211 0.000000 -vt 0.403448 0.984133 0.000000 -vt 0.370196 0.982445 0.000000 -vt 0.358274 0.988822 0.000000 -vt 0.535809 0.968218 0.000000 -vt 0.547588 0.961358 0.000000 -vt 0.543442 0.933924 0.000000 -vt 0.455021 0.972949 0.000000 -vt 0.491473 0.971280 0.000000 -vt 0.527001 0.975548 0.000000 -vt 0.423815 0.978395 0.000000 -vt 0.539185 0.973348 0.000000 -vt 0.407937 0.987081 0.000000 -vt 0.371751 0.988250 0.000000 -vt 0.363012 0.996874 0.000000 -vt 0.541136 0.963749 0.000000 -vt 0.545189 0.968476 0.000000 -vt 0.525957 0.810847 0.000000 -vt 0.530400 0.838340 0.000000 -vt 0.522397 0.786438 0.000000 -vt 0.517475 0.734226 0.000000 -vt 0.534891 0.869143 0.000000 -vt 0.538637 0.902913 0.000000 -vt 0.519593 0.760758 0.000000 -vt 0.059151 0.820387 0.000000 -vt 0.285929 0.997088 0.000000 -vt 0.031054 0.797491 0.000000 -vt 0.011706 0.769430 0.000000 -vt 0.003892 0.738386 0.000000 -vt 0.331361 0.984930 0.000000 -vt 0.307284 0.991844 0.000000 -vt 0.975584 0.331461 0.000000 -vt 0.975408 0.339843 0.000000 -vt 0.964582 0.325672 0.000000 -vt 0.912218 0.411579 0.000000 -vt 0.894182 0.428346 0.000000 -vt 0.886820 0.385800 0.000000 -vt 0.870121 0.401079 0.000000 -vt 0.877752 0.441538 0.000000 -vt 0.855707 0.413556 0.000000 -vt 0.819617 0.439191 0.000000 -vt 0.841673 0.468871 0.000000 -vt 0.905877 0.366154 0.000000 -vt 0.932155 0.390441 0.000000 -vt 0.938018 0.328903 0.000000 -vt 0.953846 0.364152 0.000000 -vt 0.942180 0.287576 0.000000 -vt 0.860132 0.455141 0.000000 -vt 0.838290 0.426225 0.000000 -vt 0.923533 0.311040 0.000000 -vt 0.491340 0.032524 0.000000 -vt 0.485152 0.037033 0.000000 -vt 0.483035 0.003520 0.000000 -vt 0.564012 0.954671 0.000000 -vt 0.564331 0.936719 0.000000 -vt 0.567839 0.975996 0.000000 -vt 0.569546 0.925676 0.000000 -vt 0.576014 0.922046 0.000000 -vt 0.572963 0.986037 0.000000 -vt 0.577582 0.989565 0.000000 -vt 0.355931 0.993115 0.000000 -vt 0.987986 0.308815 0.000000 -vt 0.994242 0.317548 0.000000 -vt 0.995364 0.310228 0.000000 -vt 0.990473 0.303625 0.000000 -vt 0.978243 0.298377 0.000000 -vt 0.977004 0.302628 0.000000 -vt 0.898377 0.360078 0.000000 -vt 0.879759 0.377646 0.000000 -vt 0.885292 0.347826 0.000000 -vt 0.866962 0.364616 0.000000 -vt 0.928026 0.328347 0.000000 -vt 0.916125 0.314987 0.000000 -vt 0.813696 0.431980 0.000000 -vt 0.802080 0.418185 0.000000 -vt 0.831519 0.417972 0.000000 -vt 0.819486 0.404505 0.000000 -vt 0.847924 0.404753 0.000000 -vt 0.835655 0.391410 0.000000 -vt 0.863816 0.391858 0.000000 -vt 0.851701 0.378742 0.000000 -vt 0.977780 0.305227 0.000000 -vt 0.966673 0.325247 0.000000 -vt 0.985895 0.309216 0.000000 -vt 0.974838 0.328959 0.000000 -vt 0.320638 0.081060 0.000000 -vt 0.402862 0.164002 0.000000 -vt 0.324664 0.105278 0.000000 -vt 0.485086 0.081060 0.000000 -vt 0.481060 0.105278 0.000000 -vt 0.425209 0.161125 0.000000 -vt 0.380515 0.161125 0.000000 -vt 0.332120 0.124242 0.000000 -vt 0.360450 0.152261 0.000000 -vt 0.344295 0.139914 0.000000 -vt 0.473604 0.124242 0.000000 -vt 0.445274 0.152261 0.000000 -vt 0.461430 0.139914 0.000000 -vt 0.579428 0.708922 0.000000 -vt 0.579428 0.699501 0.000000 -vt 0.588756 0.708776 0.000000 -vt 0.588756 0.699427 0.000000 -vt 0.579428 0.690089 0.000000 -vt 0.579428 0.680677 0.000000 -vt 0.588756 0.690088 0.000000 -vt 0.588756 0.680748 0.000000 -vt 0.579428 0.671256 0.000000 -vt 0.579428 0.661863 0.000000 -vt 0.588756 0.671399 0.000000 -vt 0.588756 0.662087 0.000000 -vt 0.579428 0.652439 0.000000 -vt 0.579428 0.643087 0.000000 -vt 0.588756 0.652757 0.000000 -vt 0.588756 0.643523 0.000000 -vt 0.579428 0.633661 0.000000 -vt 0.579428 0.624235 0.000000 -vt 0.588756 0.634319 0.000000 -vt 0.588756 0.625362 0.000000 -vt 0.579428 0.765732 0.000000 -vt 0.579428 0.755934 0.000000 -vt 0.588756 0.763691 0.000000 -vt 0.588756 0.754804 0.000000 -vt 0.579428 0.746508 0.000000 -vt 0.579428 0.737083 0.000000 -vt 0.588756 0.745848 0.000000 -vt 0.588756 0.736645 0.000000 -vt 0.579428 0.727732 0.000000 -vt 0.579428 0.718309 0.000000 -vt 0.588756 0.727414 0.000000 -vt 0.588756 0.718086 0.000000 -vt 0.543043 0.690089 0.000000 -vt 0.543043 0.700034 0.000000 -vt 0.543043 0.670205 0.000000 -vt 0.543043 0.680144 0.000000 -vt 0.543043 0.650359 0.000000 -vt 0.543043 0.660272 0.000000 -vt 0.543043 0.630600 0.000000 -vt 0.543043 0.640468 0.000000 -vt 0.579428 0.614437 0.000000 -vt 0.543043 0.610746 0.000000 -vt 0.543043 0.620698 0.000000 -vt 0.543043 0.749586 0.000000 -vt 0.543043 0.759488 0.000000 -vt 0.543043 0.729825 0.000000 -vt 0.543043 0.739718 0.000000 -vt 0.543043 0.709979 0.000000 -vt 0.543043 0.719912 0.000000 -vt 0.588756 0.616475 0.000000 -vt 0.545255 0.581832 0.000000 -vt 0.548621 0.581473 0.000000 -vt 0.547886 0.590030 0.000000 -vt 0.550841 0.588419 0.000000 -vt 0.553348 0.596685 0.000000 -vt 0.555469 0.594058 0.000000 -vt 0.550035 0.565607 0.000000 -vt 0.552663 0.567728 0.000000 -vt 0.546099 0.573264 0.000000 -vt 0.549324 0.574215 0.000000 -vt 0.564888 0.557513 0.000000 -vt 0.565247 0.560874 0.000000 -vt 0.556690 0.560144 0.000000 -vt 0.558301 0.563100 0.000000 -vt 0.581113 0.562293 0.000000 -vt 0.578989 0.564924 0.000000 -vt 0.573456 0.558357 0.000000 -vt 0.572504 0.561588 0.000000 -vt 0.589206 0.577146 0.000000 -vt 0.585842 0.577505 0.000000 -vt 0.586575 0.568948 0.000000 -vt 0.583620 0.570558 0.000000 -vt 0.584427 0.593372 0.000000 -vt 0.581795 0.591247 0.000000 -vt 0.588363 0.585714 0.000000 -vt 0.585138 0.584765 0.000000 -vt 0.569574 0.601465 0.000000 -vt 0.569215 0.598104 0.000000 -vt 0.577771 0.598834 0.000000 -vt 0.576160 0.595877 0.000000 -vt 0.561005 0.600621 0.000000 -vt 0.561958 0.597389 0.000000 -vt 0.583108 0.543469 0.000000 -vt 0.568362 0.528654 0.000000 -vt 0.589256 0.528684 0.000000 -vt 0.583149 0.513881 0.000000 -vt 0.568364 0.507733 0.000000 -vt 0.553562 0.513840 0.000000 -vt 0.547413 0.528625 0.000000 -vt 0.553521 0.543428 0.000000 -vt 0.568305 0.549576 0.000000 -vt 0.543043 0.769441 0.000000 -vt 0.189202 0.922547 0.000000 -vt 0.194374 0.916535 0.000000 -vt 0.198773 0.926174 0.000000 -vt 0.203134 0.920371 0.000000 -vt 0.177801 0.919806 0.000000 -vt 0.183202 0.912819 0.000000 -vt 0.167758 0.914178 0.000000 -vt 0.172618 0.907346 0.000000 -vt 0.220115 0.948440 0.000000 -vt 0.212790 0.940629 0.000000 -vt 0.223630 0.941400 0.000000 -vt 0.216271 0.933559 0.000000 -vt 0.206585 0.932412 0.000000 -vt 0.210079 0.926013 0.000000 -vt 0.208160 0.912489 0.000000 -vt 0.216391 0.919213 0.000000 -vt 0.223502 0.926914 0.000000 -vt 0.230788 0.934720 0.000000 -vt 0.187652 0.902823 0.000000 -vt 0.177162 0.897793 0.000000 -vt 0.198434 0.907279 0.000000 -vt 0.196169 0.890532 0.000000 -vt 0.201570 0.884097 0.000000 -vt 0.205839 0.894268 0.000000 -vt 0.210469 0.888108 0.000000 -vt 0.184517 0.887654 0.000000 -vt 0.190284 0.880163 0.000000 -vt 0.174180 0.881720 0.000000 -vt 0.179530 0.874410 0.000000 -vt 0.227288 0.916745 0.000000 -vt 0.220082 0.908995 0.000000 -vt 0.231089 0.909587 0.000000 -vt 0.223876 0.901635 0.000000 -vt 0.213754 0.900690 0.000000 -vt 0.217559 0.893929 0.000000 -vt 0.215435 0.880468 0.000000 -vt 0.223799 0.887344 0.000000 -vt 0.230998 0.895336 0.000000 -vt 0.238143 0.903446 0.000000 -vt 0.194712 0.870528 0.000000 -vt 0.184148 0.865255 0.000000 -vt 0.205595 0.875126 0.000000 -vt 0.920507 0.064713 0.000000 -vt 0.924814 0.065630 0.000000 -vt 0.920507 0.092523 0.000000 -vt 0.929448 0.091956 0.000000 -vt 0.902188 0.077993 0.000000 -vt 0.843705 0.077993 0.000000 -vt 0.902188 0.050487 0.000000 -vt 0.840060 0.050487 0.000000 -vt 0.840060 0.077993 0.000000 -vt 0.815555 0.066728 0.000000 -vt 0.819312 0.048894 0.000000 -vt 0.820626 0.065231 0.000000 -vt 0.892909 0.133819 0.000000 -vt 0.892909 0.115039 0.000000 -vt 0.894521 0.133819 0.000000 -vt 0.894521 0.113899 0.000000 -vt 0.940268 0.125989 0.000000 -vt 0.917817 0.126119 0.000000 -vt 0.843705 0.113899 0.000000 -vt 0.840060 0.115039 0.000000 -vt 0.801232 0.128311 0.000000 -vt 0.810083 0.092706 0.000000 -vt 0.820619 0.128448 0.000000 -vt 0.820626 0.093144 0.000000 -vt 0.902188 0.111827 0.000000 -vt 0.902188 0.133819 0.000000 -vt 0.840060 0.133819 0.000000 -vt 0.917435 0.092679 0.000000 -vt 0.845226 0.080753 0.000000 -vt 0.845226 0.111827 0.000000 -vt 0.902188 0.080753 0.000000 -vt 0.902188 0.037776 0.000000 -vt 0.840060 0.037776 0.000000 -vt 0.902188 0.030619 0.000000 -vt 0.840060 0.030619 0.000000 -vt 0.840060 0.016054 0.000000 -vt 0.902188 0.016054 0.000000 -vt 0.832705 0.061296 0.000000 -vt 0.832755 0.054199 0.000000 -vt 0.921776 0.048371 0.000000 -vt 0.908309 0.053735 0.000000 -vt 0.908390 0.060832 0.000000 -vt 0.050479 0.007302 0.000000 -vt 0.056861 0.007404 0.000000 -vt 0.051463 0.009775 0.000000 -vt 0.056861 0.011657 0.000000 -vt 0.063099 0.054914 0.000000 -vt 0.056796 0.054954 0.000000 -vt 0.062091 0.052515 0.000000 -vt 0.056796 0.050719 0.000000 -vt 0.050490 0.054889 0.000000 -vt 0.051483 0.052490 0.000000 -vt 0.062530 0.012897 0.000000 -vt 0.065128 0.012911 0.000000 -vt 0.062353 0.049784 0.000000 -vt 0.064960 0.049800 0.000000 -vt 0.056891 0.012788 0.000000 -vt 0.056762 0.049768 0.000000 -vt 0.051292 0.012770 0.000000 -vt 0.051139 0.049748 0.000000 -vt 0.048532 0.049735 0.000000 -vt 0.048676 0.012757 0.000000 -vt 0.063137 0.007377 0.000000 -vt 0.062178 0.009772 0.000000 -vt 0.071380 0.007571 0.000000 -vt 0.070080 0.005252 0.000000 -vt 0.079089 0.011386 0.000000 -vt 0.083258 0.005035 0.000000 -vt 0.083397 0.057409 0.000000 -vt 0.087655 0.050841 0.000000 -vt 0.096993 0.057219 0.000000 -vt 0.095643 0.054807 0.000000 -vt 0.079096 0.050862 0.000000 -vt 0.087535 0.011384 0.000000 -vt 0.069787 0.057294 0.000000 -vt 0.071112 0.054867 0.000000 -vt 0.096483 0.012337 0.000000 -vt 0.099245 0.012331 0.000000 -vt 0.096598 0.049580 0.000000 -vt 0.099367 0.049574 0.000000 -vt 0.087535 0.012376 0.000000 -vt 0.087655 0.049619 0.000000 -vt 0.079089 0.012378 0.000000 -vt 0.079096 0.049640 0.000000 -vt 0.070143 0.012381 0.000000 -vt 0.070140 0.049650 0.000000 -vt 0.067368 0.049646 0.000000 -vt 0.067368 0.012376 0.000000 -vt 0.096678 0.005012 0.000000 -vt 0.095382 0.007402 0.000000 -vt 0.016910 0.005225 0.000000 -vt 0.030451 0.005126 0.000000 -vt 0.018613 0.007584 0.000000 -vt 0.026276 0.011479 0.000000 -vt 0.044278 0.057230 0.000000 -vt 0.030536 0.057394 0.000000 -vt 0.042545 0.054843 0.000000 -vt 0.034767 0.050919 0.000000 -vt 0.026273 0.050930 0.000000 -vt 0.034741 0.011450 0.000000 -vt 0.016782 0.057284 0.000000 -vt 0.018489 0.054884 0.000000 -vt 0.043577 0.012457 0.000000 -vt 0.046551 0.012462 0.000000 -vt 0.043573 0.049701 0.000000 -vt 0.046554 0.049705 0.000000 -vt 0.034741 0.012443 0.000000 -vt 0.034767 0.049697 0.000000 -vt 0.026276 0.012471 0.000000 -vt 0.026273 0.049708 0.000000 -vt 0.017461 0.012505 0.000000 -vt 0.017453 0.049714 0.000000 -vt 0.014475 0.049710 0.000000 -vt 0.014475 0.012501 0.000000 -vt 0.044106 0.005028 0.000000 -vt 0.042434 0.007422 0.000000 -vt 0.032434 0.074006 0.000000 -vt 0.030188 0.077648 0.000000 -vt 0.011149 0.075985 0.000000 -vt 0.012992 0.077648 0.000000 -vt 0.030188 0.079941 0.000000 -vt 0.034467 0.079941 0.000000 -vt 0.030188 0.082340 0.000000 -vt 0.034467 0.082340 0.000000 -vt 0.012992 0.079941 0.000000 -vt 0.012992 0.082340 0.000000 -vt 0.010510 0.079941 0.000000 -vt 0.010510 0.082340 0.000000 -vt 0.003332 0.079941 0.000000 -vt 0.003332 0.082341 0.000000 -vt 0.032434 0.087859 0.000000 -vt 0.011149 0.085879 0.000000 -vt 0.030188 0.084216 0.000000 -vt 0.012992 0.084216 0.000000 -vt 0.039666 0.079941 0.000000 -vt 0.039666 0.082340 0.000000 -vt 0.075539 0.074187 0.000000 -vt 0.073240 0.077648 0.000000 -vt 0.054285 0.075983 0.000000 -vt 0.056129 0.077648 0.000000 -vt 0.073240 0.079941 0.000000 -vt 0.077395 0.079941 0.000000 -vt 0.073240 0.082340 0.000000 -vt 0.077395 0.082340 0.000000 -vt 0.056129 0.079941 0.000000 -vt 0.056129 0.082340 0.000000 -vt 0.053645 0.079941 0.000000 -vt 0.053645 0.082340 0.000000 -vt 0.046466 0.079941 0.000000 -vt 0.046466 0.082340 0.000000 -vt 0.075539 0.093059 0.000000 -vt 0.054285 0.093059 0.000000 -vt 0.075539 0.087678 0.000000 -vt 0.054285 0.085881 0.000000 -vt 0.082777 0.079941 0.000000 -vt 0.082777 0.082340 0.000000 -vt 0.040086 0.111572 0.000000 -vt 0.037836 0.114696 0.000000 -vt 0.017421 0.111572 0.000000 -vt 0.019303 0.114696 0.000000 -vt 0.037836 0.116989 0.000000 -vt 0.041686 0.116989 0.000000 -vt 0.037836 0.119389 0.000000 -vt 0.041686 0.119389 0.000000 -vt 0.019303 0.116989 0.000000 -vt 0.019303 0.119389 0.000000 -vt 0.015656 0.116989 0.000000 -vt 0.015656 0.119389 0.000000 -vt 0.008477 0.116990 0.000000 -vt 0.008478 0.119389 0.000000 -vt 0.040086 0.131567 0.000000 -vt 0.017421 0.131568 0.000000 -vt 0.040086 0.124389 0.000000 -vt 0.017421 0.124389 0.000000 -vt 0.048865 0.116989 0.000000 -vt 0.048865 0.119389 0.000000 -vt 0.039949 0.179600 0.000000 -vt 0.037786 0.182725 0.000000 -vt 0.018964 0.179600 0.000000 -vt 0.020809 0.182725 0.000000 -vt 0.037786 0.185018 0.000000 -vt 0.041586 0.185018 0.000000 -vt 0.037786 0.187417 0.000000 -vt 0.041586 0.187417 0.000000 -vt 0.020809 0.185018 0.000000 -vt 0.020809 0.187417 0.000000 -vt 0.017180 0.185018 0.000000 -vt 0.017180 0.187417 0.000000 -vt 0.010002 0.185018 0.000000 -vt 0.010002 0.187417 0.000000 -vt 0.039949 0.199596 0.000000 -vt 0.018964 0.199596 0.000000 -vt 0.039949 0.192418 0.000000 -vt 0.018964 0.192418 0.000000 -vt 0.048764 0.185018 0.000000 -vt 0.048764 0.187417 0.000000 -vt 0.011955 0.206884 0.000000 -vt 0.023639 0.217218 0.000000 -vt 0.012555 0.214766 0.000000 -vt 0.049360 0.219511 0.000000 -vt 0.053288 0.219511 0.000000 -vt 0.049360 0.221910 0.000000 -vt 0.053289 0.221911 0.000000 -vt 0.023639 0.219511 0.000000 -vt 0.023639 0.221910 0.000000 -vt 0.012287 0.219511 0.000000 -vt 0.012287 0.221911 0.000000 -vt 0.004383 0.219511 0.000000 -vt 0.004383 0.221911 0.000000 -vt 0.023639 0.223787 0.000000 -vt 0.011955 0.234120 0.000000 -vt 0.012555 0.226239 0.000000 -vt 0.060380 0.219511 0.000000 -vt 0.060380 0.221911 0.000000 -vt 0.042641 0.146377 0.000000 -vt 0.017963 0.146377 0.000000 -vt 0.042642 0.139199 0.000000 -vt 0.017963 0.139199 0.000000 -vt 0.040527 0.151802 0.000000 -vt 0.044306 0.151802 0.000000 -vt 0.040527 0.154201 0.000000 -vt 0.044306 0.154202 0.000000 -vt 0.019687 0.151802 0.000000 -vt 0.019687 0.154201 0.000000 -vt 0.016112 0.151802 0.000000 -vt 0.016112 0.154202 0.000000 -vt 0.008934 0.151802 0.000000 -vt 0.008934 0.154202 0.000000 -vt 0.042641 0.166388 0.000000 -vt 0.017963 0.166388 0.000000 -vt 0.042641 0.159210 0.000000 -vt 0.017963 0.159210 0.000000 -vt 0.051484 0.151802 0.000000 -vt 0.051484 0.154202 0.000000 -vt 0.953336 0.444671 0.000000 -vt 0.954273 0.450779 0.000000 -vt 0.930785 0.443134 0.000000 -vt 0.924201 0.450924 0.000000 -vt 0.953331 0.432617 0.000000 -vt 0.948256 0.436532 0.000000 -vt 0.930744 0.434128 0.000000 -vt 0.932094 0.436532 0.000000 -vt 0.926823 0.437891 0.000000 -vt 0.929554 0.437891 0.000000 -vt 0.926793 0.439649 0.000000 -vt 0.929521 0.439649 0.000000 -vt 0.915044 0.437891 0.000000 -vt 0.922704 0.437891 0.000000 -vt 0.914934 0.439649 0.000000 -vt 0.922685 0.439649 0.000000 -vt 0.982288 0.437891 0.000000 -vt 0.950670 0.437891 0.000000 -vt 0.982225 0.439649 0.000000 -vt 0.950530 0.439649 0.000000 -vt 0.977352 0.437891 0.000000 -vt 0.977314 0.439649 0.000000 -vt 0.960063 0.437891 0.000000 -vt 0.960055 0.439649 0.000000 -vt 0.953878 0.437891 0.000000 -vt 0.953814 0.439649 0.000000 -vt 0.951968 0.437891 0.000000 -vt 0.951905 0.439649 0.000000 -vt 0.945517 0.437891 0.000000 -vt 0.945502 0.439649 0.000000 -vt 0.924228 0.426253 0.000000 -vt 0.926663 0.433590 0.000000 -vt 0.926705 0.443627 0.000000 -vt 0.948283 0.440741 0.000000 -vt 0.932138 0.440741 0.000000 -vt 0.955235 0.444674 0.000000 -vt 0.980535 0.450855 0.000000 -vt 0.980512 0.444540 0.000000 -vt 0.960055 0.440741 0.000000 -vt 0.977314 0.440741 0.000000 -vt 0.954273 0.426504 0.000000 -vt 0.955235 0.432615 0.000000 -vt 0.977352 0.436532 0.000000 -vt 0.960063 0.436532 0.000000 -vt 0.980560 0.432731 0.000000 -vt 0.980600 0.426418 0.000000 -vt 0.903459 0.479755 0.000000 -vt 0.904437 0.485835 0.000000 -vt 0.881075 0.478400 0.000000 -vt 0.874501 0.486121 0.000000 -vt 0.903413 0.467730 0.000000 -vt 0.898406 0.471678 0.000000 -vt 0.880896 0.469431 0.000000 -vt 0.882264 0.471819 0.000000 -vt 0.877016 0.473223 0.000000 -vt 0.879736 0.473199 0.000000 -vt 0.877010 0.474981 0.000000 -vt 0.879724 0.474957 0.000000 -vt 0.865282 0.473325 0.000000 -vt 0.872926 0.473259 0.000000 -vt 0.865280 0.475083 0.000000 -vt 0.872939 0.475017 0.000000 -vt 0.932254 0.472741 0.000000 -vt 0.938486 0.472687 0.000000 -vt 0.932245 0.474499 0.000000 -vt 0.938466 0.474445 0.000000 -vt 0.927336 0.472784 0.000000 -vt 0.927338 0.474542 0.000000 -vt 0.910131 0.472934 0.000000 -vt 0.910134 0.474692 0.000000 -vt 0.903963 0.472988 0.000000 -vt 0.903922 0.474746 0.000000 -vt 0.902060 0.473004 0.000000 -vt 0.902022 0.474763 0.000000 -vt 0.895641 0.473061 0.000000 -vt 0.895647 0.474818 0.000000 -vt 0.874324 0.461617 0.000000 -vt 0.876814 0.468927 0.000000 -vt 0.877017 0.478871 0.000000 -vt 0.898408 0.475887 0.000000 -vt 0.882404 0.476026 0.000000 -vt 0.905354 0.479742 0.000000 -vt 0.930634 0.485707 0.000000 -vt 0.930573 0.479398 0.000000 -vt 0.910144 0.475784 0.000000 -vt 0.927348 0.475634 0.000000 -vt 0.904297 0.461637 0.000000 -vt 0.905304 0.467712 0.000000 -vt 0.927324 0.471425 0.000000 -vt 0.910119 0.471575 0.000000 -vt 0.930483 0.467616 0.000000 -vt 0.930469 0.461329 0.000000 -vt 0.933565 0.698823 0.000000 -vt 0.936203 0.698823 0.000000 -vt 0.933565 0.700678 0.000000 -vt 0.936203 0.700678 0.000000 -vt 0.984256 0.683372 0.000000 -vt 0.987217 0.683372 0.000000 -vt 0.984208 0.685130 0.000000 -vt 0.987170 0.685130 0.000000 -vt 0.969899 0.683372 0.000000 -vt 0.969872 0.685130 0.000000 -vt 0.967097 0.683372 0.000000 -vt 0.967069 0.685130 0.000000 -vt 0.950331 0.698823 0.000000 -vt 0.953277 0.698823 0.000000 -vt 0.950331 0.700678 0.000000 -vt 0.953277 0.700678 0.000000 -vt 0.924196 0.698823 0.000000 -vt 0.924196 0.700678 0.000000 -vt 0.952001 0.704133 0.000000 -vt 0.935169 0.704133 0.000000 -vt 0.950331 0.701706 0.000000 -vt 0.936203 0.701706 0.000000 -vt 0.935169 0.685999 0.000000 -vt 0.952001 0.685999 0.000000 -vt 0.935169 0.695368 0.000000 -vt 0.952001 0.695368 0.000000 -vt 0.962646 0.698823 0.000000 -vt 0.962646 0.700678 0.000000 -vt 0.957856 0.683372 0.000000 -vt 0.957809 0.685130 0.000000 -vt 0.985992 0.697973 0.000000 -vt 0.968437 0.697993 0.000000 -vt 0.985971 0.688627 0.000000 -vt 0.968401 0.688627 0.000000 -vt 0.986036 0.679598 0.000000 -vt 0.984256 0.682013 0.000000 -vt 0.968415 0.679602 0.000000 -vt 0.969899 0.682013 0.000000 -vt 0.996459 0.683372 0.000000 -vt 0.996377 0.685130 0.000000 -vt 0.915612 0.737535 0.000000 -vt 0.916538 0.743631 0.000000 -vt 0.893258 0.735979 0.000000 -vt 0.886595 0.743620 0.000000 -vt 0.915705 0.725470 0.000000 -vt 0.910656 0.729413 0.000000 -vt 0.893164 0.727027 0.000000 -vt 0.894517 0.729413 0.000000 -vt 0.889198 0.730772 0.000000 -vt 0.891925 0.730772 0.000000 -vt 0.889182 0.732530 0.000000 -vt 0.891898 0.732530 0.000000 -vt 0.877447 0.730772 0.000000 -vt 0.885103 0.730772 0.000000 -vt 0.877402 0.732530 0.000000 -vt 0.885094 0.732530 0.000000 -vt 0.944522 0.730772 0.000000 -vt 0.950759 0.730772 0.000000 -vt 0.944500 0.732530 0.000000 -vt 0.950740 0.732530 0.000000 -vt 0.939596 0.730772 0.000000 -vt 0.939585 0.732530 0.000000 -vt 0.922366 0.730772 0.000000 -vt 0.922354 0.732530 0.000000 -vt 0.916190 0.730772 0.000000 -vt 0.916129 0.732530 0.000000 -vt 0.914286 0.730772 0.000000 -vt 0.914227 0.732530 0.000000 -vt 0.907859 0.730772 0.000000 -vt 0.907849 0.732530 0.000000 -vt 0.886535 0.719285 0.000000 -vt 0.889081 0.726564 0.000000 -vt 0.889196 0.736401 0.000000 -vt 0.910587 0.733622 0.000000 -vt 0.894607 0.733622 0.000000 -vt 0.917510 0.737539 0.000000 -vt 0.942776 0.743734 0.000000 -vt 0.942781 0.737419 0.000000 -vt 0.922354 0.733622 0.000000 -vt 0.939585 0.733622 0.000000 -vt 0.916654 0.719367 0.000000 -vt 0.917600 0.725471 0.000000 -vt 0.939596 0.729413 0.000000 -vt 0.922366 0.729413 0.000000 -vt 0.942768 0.725646 0.000000 -vt 0.942770 0.719401 0.000000 -vt 0.965227 0.726360 0.000000 -vt 0.967878 0.726360 0.000000 -vt 0.965227 0.728225 0.000000 -vt 0.967878 0.728225 0.000000 -vt 0.913166 0.769950 0.000000 -vt 0.916120 0.769950 0.000000 -vt 0.913130 0.771708 0.000000 -vt 0.916084 0.771708 0.000000 -vt 0.898867 0.769950 0.000000 -vt 0.898840 0.771708 0.000000 -vt 0.896075 0.769950 0.000000 -vt 0.896044 0.771708 0.000000 -vt 0.982077 0.726360 0.000000 -vt 0.985038 0.726360 0.000000 -vt 0.982077 0.728225 0.000000 -vt 0.985038 0.728225 0.000000 -vt 0.955811 0.726361 0.000000 -vt 0.955811 0.728225 0.000000 -vt 0.983755 0.731673 0.000000 -vt 0.966838 0.731672 0.000000 -vt 0.982077 0.729234 0.000000 -vt 0.967878 0.729234 0.000000 -vt 0.966838 0.713419 0.000000 -vt 0.983755 0.713419 0.000000 -vt 0.966838 0.722835 0.000000 -vt 0.983755 0.722835 0.000000 -vt 0.994453 0.726361 0.000000 -vt 0.994453 0.728225 0.000000 -vt 0.886859 0.769950 0.000000 -vt 0.886836 0.771708 0.000000 -vt 0.914897 0.775196 0.000000 -vt 0.897372 0.775201 0.000000 -vt 0.913130 0.772800 0.000000 -vt 0.898840 0.772800 0.000000 -vt 0.914938 0.766186 0.000000 -vt 0.913166 0.768591 0.000000 -vt 0.897389 0.766190 0.000000 -vt 0.898867 0.768591 0.000000 -vt 0.925319 0.769950 0.000000 -vt 0.925268 0.771708 0.000000 -vt 0.961534 0.767992 0.000000 -vt 0.962458 0.774076 0.000000 -vt 0.939199 0.766454 0.000000 -vt 0.932597 0.774100 0.000000 -vt 0.961630 0.755984 0.000000 -vt 0.956603 0.759885 0.000000 -vt 0.939137 0.757489 0.000000 -vt 0.940480 0.759885 0.000000 -vt 0.935223 0.761244 0.000000 -vt 0.937942 0.761244 0.000000 -vt 0.935200 0.763002 0.000000 -vt 0.937911 0.763002 0.000000 -vt 0.923490 0.761244 0.000000 -vt 0.931131 0.761244 0.000000 -vt 0.923478 0.763002 0.000000 -vt 0.931135 0.763002 0.000000 -vt 0.990375 0.761244 0.000000 -vt 0.996597 0.761244 0.000000 -vt 0.990362 0.763002 0.000000 -vt 0.996575 0.763002 0.000000 -vt 0.985453 0.761244 0.000000 -vt 0.985443 0.763002 0.000000 -vt 0.968284 0.761244 0.000000 -vt 0.968266 0.763002 0.000000 -vt 0.962118 0.761244 0.000000 -vt 0.962056 0.763002 0.000000 -vt 0.960219 0.761244 0.000000 -vt 0.960157 0.763002 0.000000 -vt 0.953798 0.761244 0.000000 -vt 0.953763 0.763002 0.000000 -vt 0.932665 0.749651 0.000000 -vt 0.935079 0.756950 0.000000 -vt 0.935155 0.766898 0.000000 -vt 0.956511 0.764094 0.000000 -vt 0.940544 0.764094 0.000000 -vt 0.963428 0.767997 0.000000 -vt 0.988624 0.774185 0.000000 -vt 0.988628 0.767881 0.000000 -vt 0.968266 0.764094 0.000000 -vt 0.985443 0.764094 0.000000 -vt 0.962560 0.749919 0.000000 -vt 0.963513 0.755983 0.000000 -vt 0.985453 0.759885 0.000000 -vt 0.968284 0.759885 0.000000 -vt 0.988636 0.756108 0.000000 -vt 0.988680 0.749832 0.000000 -vt 0.964067 0.802347 0.000000 -vt 0.963147 0.798874 0.000000 -vt 0.965000 0.798874 0.000000 -vt 0.963158 0.787013 0.000000 -vt 0.958257 0.790840 0.000000 -vt 0.940454 0.787871 0.000000 -vt 0.944550 0.790840 0.000000 -vt 0.936831 0.792199 0.000000 -vt 0.941876 0.792199 0.000000 -vt 0.936821 0.793957 0.000000 -vt 0.941874 0.793957 0.000000 -vt 0.931912 0.792199 0.000000 -vt 0.931895 0.793957 0.000000 -vt 0.991281 0.792199 0.000000 -vt 0.994895 0.792199 0.000000 -vt 0.991265 0.793957 0.000000 -vt 0.994879 0.793957 0.000000 -vt 0.986476 0.792199 0.000000 -vt 0.986469 0.793957 0.000000 -vt 0.969698 0.792199 0.000000 -vt 0.969694 0.793957 0.000000 -vt 0.963655 0.792199 0.000000 -vt 0.963628 0.793957 0.000000 -vt 0.961795 0.792199 0.000000 -vt 0.961771 0.793957 0.000000 -vt 0.955542 0.792199 0.000000 -vt 0.955533 0.793957 0.000000 -vt 0.940431 0.798021 0.000000 -vt 0.958239 0.795049 0.000000 -vt 0.944527 0.795049 0.000000 -vt 0.969694 0.795049 0.000000 -vt 0.989583 0.798736 0.000000 -vt 0.986469 0.795049 0.000000 -vt 0.989584 0.802369 0.000000 -vt 0.938070 0.802357 0.000000 -vt 0.964077 0.783540 0.000000 -vt 0.965009 0.787012 0.000000 -vt 0.938091 0.783540 0.000000 -vt 0.986476 0.790840 0.000000 -vt 0.969698 0.790840 0.000000 -vt 0.989591 0.787154 0.000000 -vt 0.989592 0.783522 0.000000 -vt 0.968521 0.409102 0.000000 -vt 0.966908 0.409102 0.000000 -vt 0.968521 0.381437 0.000000 -vt 0.966908 0.381437 0.000000 -vt 0.971179 0.409102 0.000000 -vt 0.971179 0.381437 0.000000 -vt 0.972793 0.409102 0.000000 -vt 0.972792 0.381437 0.000000 -vt 0.975452 0.409102 0.000000 -vt 0.975450 0.381437 0.000000 -vt 0.958676 0.409102 0.000000 -vt 0.957063 0.409102 0.000000 -vt 0.958676 0.381437 0.000000 -vt 0.957063 0.381437 0.000000 -vt 0.961334 0.409102 0.000000 -vt 0.961333 0.381437 0.000000 -vt 0.962948 0.409102 0.000000 -vt 0.962946 0.381437 0.000000 -vt 0.965607 0.409102 0.000000 -vt 0.965605 0.381437 0.000000 -vt 0.978370 0.409102 0.000000 -vt 0.976757 0.409102 0.000000 -vt 0.978370 0.381437 0.000000 -vt 0.976757 0.381437 0.000000 -vt 0.981028 0.409102 0.000000 -vt 0.981027 0.381437 0.000000 -vt 0.982641 0.409102 0.000000 -vt 0.982640 0.381437 0.000000 -vt 0.985300 0.409102 0.000000 -vt 0.985298 0.381437 0.000000 -vt 0.914975 0.784495 0.000000 -vt 0.897349 0.784533 0.000000 -vt 0.983755 0.741088 0.000000 -vt 0.966838 0.741088 0.000000 -vt 0.982077 0.725274 0.000000 -vt 0.967878 0.725274 0.000000 -vt 0.897275 0.756816 0.000000 -vt 0.915027 0.756790 0.000000 -vt 0.952001 0.713502 0.000000 -vt 0.935169 0.713502 0.000000 -vt 0.984208 0.686222 0.000000 -vt 0.969872 0.686222 0.000000 -vt 0.968302 0.670193 0.000000 -vt 0.986120 0.670167 0.000000 -vt 0.950331 0.697794 0.000000 -vt 0.936203 0.697794 0.000000 -vt 0.040527 0.149509 0.000000 -vt 0.019687 0.149509 0.000000 -vt 0.011149 0.068807 0.000000 -vt 0.032434 0.068807 0.000000 -vt 0.032434 0.093057 0.000000 -vt 0.011149 0.093057 0.000000 -vt 0.040527 0.156078 0.000000 -vt 0.019687 0.156078 0.000000 -vt 0.051577 0.234120 0.000000 -vt 0.049360 0.223787 0.000000 -vt 0.051577 0.227029 0.000000 -vt 0.051577 0.206884 0.000000 -vt 0.049360 0.217218 0.000000 -vt 0.051577 0.213976 0.000000 -vt 0.037786 0.189293 0.000000 -vt 0.020809 0.189293 0.000000 -vt 0.037836 0.121265 0.000000 -vt 0.019303 0.121265 0.000000 -vt 0.073240 0.084216 0.000000 -vt 0.056129 0.084216 0.000000 -vt 0.054285 0.068805 0.000000 -vt 0.075539 0.068805 0.000000 -vt 0.040086 0.104394 0.000000 -vt 0.017421 0.104394 0.000000 -vt 0.039949 0.172422 0.000000 -vt 0.018964 0.172422 0.000000 -vt 0.964590 0.522158 0.000000 -vt 0.959201 0.521125 0.000000 -vt 0.964590 0.519914 0.000000 -vt 0.967084 0.499552 0.000000 -vt 0.959201 0.488378 0.000000 -vt 0.962516 0.488378 0.000000 -vt 0.976836 0.488902 0.000000 -vt 0.976836 0.481364 0.000000 -vt 0.980227 0.480191 0.000000 -vt 0.973117 0.490470 0.000000 -vt 0.973117 0.494058 0.000000 -vt 0.971682 0.490470 0.000000 -vt 0.971682 0.494058 0.000000 -vt 0.973117 0.481924 0.000000 -vt 0.971682 0.481924 0.000000 -vt 0.973117 0.476970 0.000000 -vt 0.971682 0.476970 0.000000 -vt 0.973117 0.473655 0.000000 -vt 0.971682 0.473655 0.000000 -vt 0.973117 0.552237 0.000000 -vt 0.973117 0.559418 0.000000 -vt 0.971682 0.552237 0.000000 -vt 0.971682 0.559418 0.000000 -vt 0.973117 0.547443 0.000000 -vt 0.971682 0.547443 0.000000 -vt 0.973117 0.533935 0.000000 -vt 0.971682 0.533935 0.000000 -vt 0.973117 0.529924 0.000000 -vt 0.971682 0.529925 0.000000 -vt 0.971682 0.521965 0.000000 -vt 0.973117 0.521964 0.000000 -vt 0.973117 0.519069 0.000000 -vt 0.971682 0.519069 0.000000 -vt 0.973116 0.516825 0.000000 -vt 0.971682 0.516825 0.000000 -vt 0.973117 0.510196 0.000000 -vt 0.971682 0.510196 0.000000 -vt 0.973117 0.501596 0.000000 -vt 0.971682 0.502290 0.000000 -vt 0.984087 0.528982 0.000000 -vt 0.981902 0.538842 0.000000 -vt 0.981902 0.530882 0.000000 -vt 0.973117 0.502986 0.000000 -vt 0.989475 0.509744 0.000000 -vt 0.989475 0.516476 0.000000 -vt 0.978202 0.510935 0.000000 -vt 0.978202 0.516476 0.000000 -vt 0.976836 0.494443 0.000000 -vt 0.988109 0.495633 0.000000 -vt 0.988109 0.488902 0.000000 -vt 0.978658 0.502986 0.000000 -vt 0.978658 0.501596 0.000000 -vt 0.980941 0.506545 0.000000 -vt 0.979575 0.498832 0.000000 -vt 0.983832 0.502986 0.000000 -vt 0.983832 0.501596 0.000000 -vt 0.973359 0.257115 0.000000 -vt 0.975141 0.257115 0.000000 -vt 0.973359 0.269863 0.000000 -vt 0.975141 0.269863 0.000000 -vt 0.973130 0.255269 0.000000 -vt 0.975369 0.255269 0.000000 -vt 0.977001 0.257115 0.000000 -vt 0.977001 0.269863 0.000000 -vt 0.971498 0.269863 0.000000 -vt 0.971498 0.257115 0.000000 -vt 0.985058 0.255305 0.000000 -vt 0.987874 0.255305 0.000000 -vt 0.985058 0.270384 0.000000 -vt 0.987874 0.270384 0.000000 -vt 0.984558 0.253444 0.000000 -vt 0.988374 0.253444 0.000000 -vt 0.989801 0.255305 0.000000 -vt 0.989801 0.270384 0.000000 -vt 0.983131 0.270384 0.000000 -vt 0.983131 0.255305 0.000000 -vt 0.970475 0.508957 0.000000 -vt 0.970475 0.500724 0.000000 -vt 0.970475 0.516864 0.000000 -vt 0.959201 0.508957 0.000000 -vt 0.966712 0.491013 0.000000 -vt 0.966776 0.532018 0.000000 -vt 0.966775 0.524058 0.000000 -vt 0.966383 0.549573 0.000000 -vt 0.970475 0.547074 0.000000 -vt 0.970475 0.533567 0.000000 -vt 0.959201 0.549573 0.000000 -vt 0.989476 0.527949 0.000000 -vt 0.984087 0.526738 0.000000 -vt 0.982294 0.556397 0.000000 -vt 0.978203 0.553899 0.000000 -vt 0.978203 0.540391 0.000000 -vt 0.989476 0.556397 0.000000 -vt 0.978202 0.523688 0.000000 -vt 0.984794 0.469017 0.000000 -vt 0.980599 0.471653 0.000000 -vt 0.988109 0.469017 0.000000 -vt 0.036158 0.564907 0.000000 -vt 0.042931 0.561729 0.000000 -vt 0.039648 0.569603 0.000000 -vt 0.044450 0.567575 0.000000 -vt 0.069579 0.489637 0.000000 -vt 0.075548 0.485887 0.000000 -vt 0.067437 0.496174 0.000000 -vt 0.069496 0.502727 0.000000 -vt 0.081131 0.485167 0.000000 -vt 0.088793 0.488090 0.000000 -vt 0.072957 0.507161 0.000000 -vt 0.079458 0.509815 0.000000 -vt 0.084988 0.508995 0.000000 -vt 0.092504 0.492747 0.000000 -vt 0.094186 0.499592 0.000000 -vt 0.091181 0.505779 0.000000 -vt 0.076508 0.514686 0.000000 -vt 0.071543 0.512667 0.000000 -vt 0.045317 0.556387 0.000000 -vt 0.047907 0.556929 0.000000 -vt 0.045721 0.562095 0.000000 -vt 0.046960 0.549557 0.000000 -vt 0.049534 0.549258 0.000000 -vt 0.044699 0.543388 0.000000 -vt 0.046629 0.541757 0.000000 -vt 0.038629 0.539977 0.000000 -vt 0.039721 0.537682 0.000000 -vt 0.032719 0.538938 0.000000 -vt 0.033766 0.536382 0.000000 -vt 0.028931 0.536033 0.000000 -vt 0.030041 0.533637 0.000000 -vt 0.024622 0.537946 0.000000 -vt 0.027905 0.533605 0.000000 -vt 0.023533 0.535508 0.000000 -vt 0.024653 0.542363 0.000000 -vt 0.021992 0.541551 0.000000 -vt 0.022092 0.537296 0.000000 -vt 0.021569 0.548023 0.000000 -vt 0.018989 0.547382 0.000000 -vt 0.020453 0.555022 0.000000 -vt 0.017968 0.555623 0.000000 -vt 0.023849 0.560665 0.000000 -vt 0.022136 0.562522 0.000000 -vt 0.030293 0.563537 0.000000 -vt 0.029239 0.565854 0.000000 -vt 0.034695 0.567306 0.000000 -vt 0.038059 0.571675 0.000000 -vt 0.040647 0.572067 0.000000 -vt 0.045544 0.569989 0.000000 -vt 0.047061 0.567608 0.000000 -vt 0.084626 0.482086 0.000000 -vt 0.088924 0.483963 0.000000 -vt 0.031381 0.506898 0.000000 -vt 0.038672 0.505332 0.000000 -vt 0.033972 0.512201 0.000000 -vt 0.038858 0.511367 0.000000 -vt 0.074140 0.536886 0.000000 -vt 0.080441 0.533896 0.000000 -vt 0.071230 0.543168 0.000000 -vt 0.072489 0.549916 0.000000 -vt 0.086223 0.533755 0.000000 -vt 0.093390 0.537557 0.000000 -vt 0.075545 0.554628 0.000000 -vt 0.081657 0.557947 0.000000 -vt 0.087194 0.557912 0.000000 -vt 0.096527 0.542635 0.000000 -vt 0.097413 0.549628 0.000000 -vt 0.093716 0.555429 0.000000 -vt 0.077950 0.562333 0.000000 -vt 0.073478 0.559879 0.000000 -vt 0.042277 0.500721 0.000000 -vt 0.041301 0.506293 0.000000 -vt 0.044718 0.501840 0.000000 -vt 0.045476 0.494511 0.000000 -vt 0.047939 0.494865 0.000000 -vt 0.044706 0.487950 0.000000 -vt 0.047050 0.486927 0.000000 -vt 0.039610 0.483193 0.000000 -vt 0.041318 0.481139 0.000000 -vt 0.033907 0.480587 0.000000 -vt 0.035595 0.478360 0.000000 -vt 0.030931 0.476898 0.000000 -vt 0.032608 0.474874 0.000000 -vt 0.026101 0.477905 0.000000 -vt 0.030365 0.474299 0.000000 -vt 0.025472 0.475307 0.000000 -vt 0.025357 0.482314 0.000000 -vt 0.022877 0.481001 0.000000 -vt 0.023709 0.476805 0.000000 -vt 0.021057 0.487188 0.000000 -vt 0.018643 0.486040 0.000000 -vt 0.018321 0.493727 0.000000 -vt 0.015865 0.493695 0.000000 -vt 0.020343 0.499987 0.000000 -vt 0.018137 0.501347 0.000000 -vt 0.025977 0.504320 0.000000 -vt 0.024315 0.506425 0.000000 -vt 0.029485 0.508959 0.000000 -vt 0.032017 0.513939 0.000000 -vt 0.034384 0.514842 0.000000 -vt 0.039384 0.513975 0.000000 -vt 0.041417 0.511910 0.000000 -vt 0.089860 0.530982 0.000000 -vt 0.094114 0.533429 0.000000 -vt 0.551366 0.574813 0.000000 -vt 0.550737 0.581246 0.000000 -vt 0.554314 0.569062 0.000000 -vt 0.559318 0.564972 0.000000 -vt 0.565469 0.562986 0.000000 -vt 0.571901 0.563630 0.000000 -vt 0.577654 0.566578 0.000000 -vt 0.581751 0.571577 0.000000 -vt 0.583728 0.577731 0.000000 -vt 0.583097 0.584164 0.000000 -vt 0.580144 0.589912 0.000000 -vt 0.575141 0.594007 0.000000 -vt 0.568990 0.595992 0.000000 -vt 0.562558 0.595344 0.000000 -vt 0.556800 0.592407 0.000000 -vt 0.092826 0.831401 0.000000 -vt 0.088214 0.835020 0.000000 -vt 0.264916 0.968892 0.000000 -vt 0.282005 0.423679 0.000000 -vt 0.286894 0.420841 0.000000 -vt 0.141035 0.569892 0.000000 -vt 0.247093 0.929289 0.000000 -vt 0.247850 0.938786 0.000000 -vt 0.213061 0.554509 0.000000 -vt 0.247770 0.476953 0.000000 -vt 0.252671 0.914515 0.000000 -vt 0.252588 0.501244 0.000000 -# 2574 texture coords - -g asdf -f 18/1/1 27/2/2 19/3/3 -f 19/3/4 27/2/5 72/4/6 -f 128/5/7 22/6/8 2/7/9 -f 2/7/10 22/6/11 3/8/12 -f 2/7/13 17/9/14 128/5/15 -f 128/5/16 17/9/17 23/10/18 -f 25/11/19 66/12/20 26/13/21 -f 26/13/22 66/12/23 150/14/24 -f 27/2/25 29/15/26 28/16/27 -f 30/17/28 33/18/29 31/19/30 -f 31/19/31 33/18/32 32/20/33 -f 34/21/34 29/15/35 18/1/36 -f 18/1/37 29/15/38 27/2/39 -f 25/11/40 33/18/41 35/22/42 -f 35/22/43 33/18/44 30/17/45 -f 25/11/46 35/22/47 66/12/48 -f 66/12/49 35/22/50 69/23/51 -f 36/24/52 39/25/53 37/26/54 -f 37/26/55 39/25/56 38/27/57 -f 39/25/58 41/28/59 38/27/60 -f 38/27/61 41/28/62 40/29/63 -f 42/30/64 45/31/65 43/32/66 -f 43/32/67 45/31/68 44/33/69 -f 47/34/70 46/35/71 44/33/72 -f 44/33/73 46/35/74 43/32/75 -f 51/36/76 50/37/77 48/38/78 -f 48/38/79 50/37/80 49/39/81 -f 53/40/82 52/41/83 51/36/84 -f 51/36/85 52/41/86 50/37/87 -f 4/42/88 5/43/89 53/40/90 -f 53/40/91 5/43/92 52/41/93 -f 41/28/94 45/31/95 40/29/96 -f 40/29/97 45/31/98 42/30/99 -f 36/24/100 107/44/101 39/25/102 -f 39/25/103 107/44/104 106/45/105 -f 39/25/106 106/45/107 41/28/108 -f 41/28/109 106/45/110 108/46/111 -f 45/31/112 41/28/113 109/47/114 -f 109/47/115 41/28/116 108/46/117 -f 54/48/118 36/24/119 55/49/120 -f 55/49/121 36/24/122 37/26/123 -f 51/36/124 48/38/125 56/50/126 -f 56/50/127 48/38/128 57/51/129 -f 51/36/130 56/50/131 53/40/132 -f 53/40/133 56/50/134 58/52/135 -f 4/42/136 53/40/137 7/53/138 -f 7/53/139 53/40/140 58/52/141 -f 44/33/142 45/31/143 172/54/144 -f 172/54/145 45/31/146 109/47/147 -f 59/55/148 47/34/149 172/54/150 -f 172/54/151 47/34/152 44/33/153 -f 60/56/154 57/51/155 61/57/156 -f 61/57/157 57/51/158 59/55/159 -f 60/56/160 62/58/161 57/51/162 -f 57/51/163 62/58/164 56/50/165 -f 62/58/166 63/59/167 56/50/168 -f 56/50/169 63/59/170 58/52/171 -f 63/59/172 6/60/173 58/52/174 -f 58/52/175 6/60/176 7/53/177 -f 152/61/178 64/62/179 151/63/180 -f 151/63/181 64/62/182 65/64/183 -f 69/23/184 68/65/185 66/12/186 -f 66/12/187 68/65/188 67/66/189 -f 66/12/190 67/66/191 150/14/192 -f 150/14/193 67/66/194 149/67/195 -f 69/23/196 158/68/197 68/65/198 -f 68/65/199 158/68/200 157/69/201 -f 70/70/202 30/17/203 71/71/204 -f 71/71/205 30/17/206 31/19/207 -f 24/72/208 35/22/209 70/70/210 -f 70/70/211 35/22/212 30/17/213 -f 10/73/214 3/8/215 98/74/216 -f 98/74/217 3/8/218 22/6/219 -f 95/75/220 21/76/221 93/77/222 -f 93/77/223 21/76/224 20/78/225 -f 27/2/226 87/79/227 72/4/228 -f 72/4/229 87/79/230 92/80/231 -f 87/79/232 28/16/233 90/81/234 -f 28/16/235 87/79/236 27/2/237 -f 71/71/238 31/19/239 85/82/240 -f 85/82/241 31/19/242 82/83/243 -f 37/26/244 38/27/245 78/84/246 -f 78/84/247 38/27/248 76/85/249 -f 38/27/250 40/29/251 76/85/252 -f 76/85/253 40/29/254 74/86/255 -f 42/30/256 43/32/257 73/87/258 -f 46/35/259 132/88/260 43/32/261 -f 43/32/262 132/88/263 133/89/264 -f 50/37/265 130/90/266 49/39/267 -f 49/39/268 130/90/269 131/91/270 -f 52/41/271 129/92/272 50/37/273 -f 50/37/274 129/92/275 130/90/276 -f 5/43/277 9/93/278 52/41/279 -f 52/41/280 9/93/281 129/92/282 -f 40/29/283 42/30/284 74/86/285 -f 74/86/286 42/30/287 73/87/288 -f 55/49/289 37/26/290 80/94/291 -f 80/94/292 37/26/293 78/84/294 -f 31/19/295 32/20/296 82/83/297 -f 32/20/298 177/95/299 82/83/300 -f 82/83/301 177/95/302 176/96/303 -f 43/32/304 133/89/305 73/87/306 -f 73/87/307 133/89/308 134/97/309 -f 74/86/310 73/87/311 75/98/312 -f 75/98/313 73/87/314 134/97/315 -f 76/85/316 74/86/317 77/99/318 -f 77/99/319 74/86/320 75/98/321 -f 78/84/322 76/85/323 79/100/324 -f 79/100/325 76/85/326 77/99/327 -f 80/94/328 78/84/329 81/101/330 -f 81/101/331 78/84/332 79/100/333 -f 84/102/334 83/103/335 176/96/336 -f 176/96/337 83/103/338 82/83/339 -f 85/82/340 82/83/341 86/104/342 -f 86/104/343 82/83/344 83/103/345 -f 90/81/346 89/105/347 87/79/348 -f 87/79/349 89/105/350 88/106/351 -f 92/80/352 87/79/353 91/107/354 -f 91/107/355 87/79/356 88/106/357 -f 93/77/358 92/80/359 94/108/360 -f 94/108/361 92/80/362 91/107/363 -f 93/77/364 94/108/365 95/75/366 -f 95/75/367 94/108/368 96/109/369 -f 98/74/370 97/110/371 10/73/372 -f 10/73/373 97/110/374 11/111/375 -f 91/107/376 100/112/377 94/108/378 -f 94/108/379 100/112/380 99/113/381 -f 94/108/382 99/113/383 96/109/384 -f 96/109/385 99/113/386 101/114/387 -f 97/110/388 102/115/389 11/111/390 -f 11/111/391 102/115/392 8/116/393 -f 109/47/394 108/46/395 148/117/396 -f 148/117/397 108/46/398 142/118/399 -f 47/34/400 59/55/401 48/38/402 -f 48/38/403 59/55/404 57/51/405 -f 48/38/406 49/39/407 47/34/408 -f 47/34/409 49/39/410 46/35/411 -f 49/39/412 131/91/413 46/35/414 -f 46/35/415 131/91/416 132/88/417 -f 104/119/418 114/120/419 103/121/420 -f 103/121/421 114/120/422 105/122/423 -f 67/123/424 68/124/425 159/125/426 -f 149/126/427 67/123/428 161/127/429 -f 161/127/430 67/123/431 159/125/432 -f 157/128/433 16/129/434 68/124/435 -f 68/124/436 16/129/437 159/125/438 -f 104/119/439 160/130/440 114/120/441 -f 115/131/442 116/132/443 185/133/444 -f 185/133/445 116/132/446 184/134/447 -f 120/135/448 119/136/449 117/137/450 -f 117/137/451 119/136/452 118/138/453 -f 122/139/454 121/140/455 120/135/456 -f 120/135/457 121/140/458 119/136/459 -f 124/141/460 123/142/461 122/139/462 -f 122/139/463 123/142/464 121/140/465 -f 124/141/466 1/143/467 123/142/468 -f 123/142/469 1/143/470 12/144/471 -f 178/145/472 26/13/473 126/146/474 -f 54/48/475 126/146/476 125/147/477 -f 125/147/478 189/148/479 188/149/480 -f 189/148/481 125/147/482 126/146/483 -f 108/46/484 106/45/485 142/118/486 -f 142/118/487 106/45/488 143/150/489 -f 107/44/490 125/147/491 188/149/492 -f 54/48/493 125/147/494 36/24/495 -f 36/24/496 125/147/497 107/44/498 -f 127/151/499 20/78/500 23/10/501 -f 23/10/502 20/78/503 128/5/504 -f 19/3/505 72/4/506 127/151/507 -f 127/151/508 72/4/509 20/78/510 -f 77/99/511 75/98/512 135/152/513 -f 79/100/514 77/99/515 136/153/516 -f 136/153/517 77/99/518 135/152/519 -f 81/101/520 79/100/521 137/154/522 -f 137/154/523 79/100/524 136/153/525 -f 83/103/526 84/102/527 138/155/528 -f 138/155/529 84/102/530 139/156/531 -f 138/155/532 86/104/533 83/103/534 -f 86/104/535 138/155/536 140/157/537 -f 89/105/538 179/158/539 88/106/540 -f 88/106/541 179/158/542 141/159/543 -f 88/106/544 141/159/545 91/107/546 -f 91/107/547 141/159/548 100/112/549 -f 174/160/550 175/161/551 102/115/552 -f 102/115/553 175/161/554 8/116/555 -f 99/113/556 173/162/557 101/114/558 -f 110/163/559 109/47/560 148/117/561 -f 61/57/562 59/55/563 113/164/564 -f 113/164/565 59/55/566 111/165/567 -f 105/122/568 162/166/569 145/167/570 -f 105/168/571 189/148/572 26/13/573 -f 105/168/574 150/14/575 103/169/576 -f 150/14/577 105/168/578 26/13/579 -f 149/67/580 104/170/581 150/14/582 -f 150/14/583 104/170/584 103/169/585 -f 116/132/586 115/131/587 151/63/588 -f 151/63/589 115/131/590 152/171/591 -f 65/64/592 116/132/593 151/63/594 -f 123/172/595 156/173/596 121/174/597 -f 121/174/598 156/173/599 155/175/600 -f 12/176/601 13/177/602 123/172/603 -f 123/172/604 13/177/605 156/173/606 -f 119/179/607 154/180/608 118/181/609 -f 118/181/610 154/180/611 153/182/612 -f 121/174/613 155/175/614 119/179/615 -f 119/179/616 155/175/617 154/180/618 -f 186/185/619 185/186/620 153/182/621 -f 153/182/622 185/186/623 118/181/624 -f 15/188/625 16/129/626 157/189/627 -f 64/62/628 157/69/629 65/64/630 -f 65/64/631 157/69/632 158/68/633 -f 359/190/634 190/191/635 14/192/636 -f 182/193/637 183/194/638 71/71/639 -f 71/71/640 183/194/641 70/70/642 -f 181/195/643 182/193/644 85/82/645 -f 85/82/646 182/193/647 71/71/648 -f 180/196/649 181/195/650 86/104/651 -f 86/104/652 181/195/653 85/82/654 -f 84/102/655 81/101/656 139/156/657 -f 139/156/658 81/101/659 137/154/660 -f 176/96/661 80/94/662 84/102/663 -f 84/102/664 80/94/665 81/101/666 -f 177/95/667 55/49/668 176/96/669 -f 176/96/670 55/49/671 80/94/672 -f 178/145/673 54/48/674 177/95/675 -f 177/95/676 54/48/677 55/49/678 -f 178/145/679 126/146/680 54/48/681 -f 24/72/682 183/194/683 34/21/684 -f 183/194/685 24/72/686 70/70/687 -f 65/64/688 158/68/689 116/132/690 -f 184/134/691 158/68/692 24/72/693 -f 24/72/694 158/68/695 35/22/696 -f 35/22/697 158/68/698 69/23/699 -f 124/141/700 23/10/701 1/143/702 -f 1/143/703 23/10/704 17/9/705 -f 122/139/706 127/151/707 124/141/708 -f 124/141/709 127/151/710 23/10/711 -f 120/135/712 19/3/713 122/139/714 -f 122/139/715 19/3/716 127/151/717 -f 117/137/718 18/1/719 120/135/720 -f 120/135/721 18/1/722 19/3/723 -f 18/1/724 117/137/725 34/21/726 -f 117/137/727 184/134/728 34/21/729 -f 184/134/730 24/72/731 34/21/732 -f 173/162/733 174/160/734 101/114/735 -f 101/114/736 174/160/737 102/115/738 -f 96/109/739 101/114/740 97/110/741 -f 97/110/742 101/114/743 102/115/744 -f 98/74/745 95/75/746 97/110/747 -f 97/110/748 95/75/749 96/109/750 -f 21/76/751 95/75/752 22/6/753 -f 22/6/754 95/75/755 98/74/756 -f 22/6/757 128/5/758 21/76/759 -f 21/76/760 128/5/761 20/78/762 -f 149/126/763 161/127/764 104/119/765 -f 104/119/766 161/127/767 160/130/768 -f 162/166/769 105/122/770 163/197/771 -f 163/197/772 105/122/773 114/120/774 -f 163/197/775 165/198/776 162/166/777 -f 162/166/778 165/198/779 164/199/780 -f 165/198/781 167/200/782 164/199/783 -f 164/199/784 167/200/785 166/201/786 -f 160/130/787 168/202/788 114/120/789 -f 114/120/790 168/202/791 163/197/792 -f 168/202/793 169/203/794 163/197/795 -f 169/203/796 170/204/797 163/197/798 -f 163/197/799 170/204/800 165/198/801 -f 170/204/802 171/205/803 165/198/804 -f 165/198/805 171/205/806 167/200/807 -f 147/206/808 105/168/809 145/207/810 -f 105/168/811 187/208/812 189/148/813 -f 72/4/814 92/80/815 20/78/816 -f 20/78/817 92/80/818 93/77/819 -f 109/47/820 110/163/821 172/54/822 -f 172/54/823 110/163/824 112/209/825 -f 59/55/826 172/54/827 111/165/828 -f 111/165/829 172/54/830 112/209/831 -f 129/210/832 9/211/833 174/212/834 -f 174/212/835 9/211/836 175/213/837 -f 99/214/838 130/215/839 173/216/840 -f 130/215/841 129/210/842 173/216/843 -f 129/210/844 174/212/845 173/216/846 -f 130/215/847 140/217/848 131/218/849 -f 140/217/850 130/215/851 179/219/852 -f 130/215/853 141/220/854 179/219/855 -f 130/215/856 100/221/857 141/220/858 -f 100/221/859 130/215/860 99/214/861 -f 137/222/862 136/223/863 131/218/864 -f 136/223/865 135/224/866 131/218/867 -f 135/224/868 132/225/869 131/218/870 -f 140/217/871 138/226/872 131/218/873 -f 138/226/874 139/227/875 131/218/876 -f 131/218/877 139/227/878 137/222/879 -f 135/224/880 75/228/881 132/225/882 -f 132/225/883 75/228/884 133/229/885 -f 75/228/886 134/230/887 133/229/888 -f 33/18/889 178/145/890 32/20/891 -f 32/20/892 178/145/893 177/95/894 -f 26/13/895 178/145/896 25/11/897 -f 178/145/898 33/18/899 25/11/900 -f 140/157/901 180/196/902 86/104/903 -f 180/196/904 179/158/905 89/105/906 -f 179/158/907 180/196/908 140/157/909 -f 89/105/910 90/81/911 180/196/912 -f 180/196/913 90/81/914 181/195/915 -f 90/81/916 28/16/917 181/195/918 -f 181/195/919 28/16/920 182/193/921 -f 28/16/922 29/15/923 182/193/924 -f 182/193/925 29/15/926 183/194/927 -f 29/15/928 34/21/929 183/194/930 -f 185/133/931 184/134/932 118/138/933 -f 118/138/934 184/134/935 117/137/936 -f 115/231/937 64/232/938 152/233/939 -f 158/68/940 184/134/941 116/132/942 -f 105/168/943 147/206/944 187/208/945 -f 188/149/946 187/208/947 146/234/948 -f 146/234/949 187/208/950 147/206/951 -f 107/44/952 188/149/953 144/235/954 -f 144/235/955 188/149/956 146/234/957 -f 106/45/958 107/44/959 143/150/960 -f 143/150/961 107/44/962 144/235/963 -f 185/186/964 186/185/965 115/231/966 -f 115/231/967 186/185/968 64/232/969 -f 188/149/970 189/148/971 187/208/972 -f 26/13/973 189/148/974 126/146/975 -f 64/236/976 190/191/977 157/189/978 -f 157/189/979 190/191/980 15/188/981 -f 191/237/982 190/238/983 186/185/984 -f 186/185/985 190/238/986 64/232/987 -f 192/239/988 191/237/989 153/182/990 -f 153/182/991 191/237/992 186/185/993 -f 154/180/994 193/240/995 153/182/996 -f 153/182/997 193/240/998 192/239/999 -f 155/175/1000 194/241/1001 154/180/1002 -f 154/180/1003 194/241/1004 193/240/1005 -f 156/173/1006 195/242/1007 155/175/1008 -f 155/175/1009 195/242/1010 194/241/1011 -f 13/177/1012 196/243/1013 156/173/1014 -f 156/173/1015 196/243/1016 195/242/1017 -f 200/244/1018 195/245/1019 197/246/1020 -f 197/246/1021 195/245/1022 196/247/1023 -f 201/248/1024 199/249/1025 193/250/1026 -f 193/250/1027 199/249/1028 192/251/1029 -f 200/244/1030 198/252/1031 195/245/1032 -f 195/245/1033 198/252/1034 194/253/1035 -f 201/248/1036 193/250/1037 198/252/1038 -f 198/252/1039 193/250/1040 194/253/1041 -f 191/256/1042 203/255/1043 202/254/1044 -f 203/255/1045 191/256/1046 192/251/1047 -f 203/255/1048 192/251/1049 199/249/1050 -f 14/257/1051 190/258/1052 204/259/1053 -f 191/256/1054 204/259/1055 190/258/1056 -f 204/259/1057 191/256/1058 202/254/1059 -f 205/260/1060 207/261/1061 206/262/1062 -f 207/261/1063 208/263/1064 206/262/1065 -f 209/264/1066 2/7/1067 210/265/1068 -f 2/7/1069 3/8/1070 210/265/1071 -f 2/7/1072 209/264/1073 17/9/1074 -f 209/264/1075 211/266/1076 17/9/1077 -f 212/267/1078 214/268/1079 213/269/1080 -f 214/268/1081 215/270/1082 213/269/1083 -f 206/262/1084 217/271/1085 216/272/1086 -f 218/273/1087 220/274/1088 219/275/1089 -f 220/274/1090 221/276/1091 219/275/1092 -f 222/277/1093 205/260/1094 216/272/1095 -f 205/260/1096 206/262/1097 216/272/1098 -f 212/267/1099 223/278/1100 219/275/1101 -f 223/278/1102 218/273/1103 219/275/1104 -f 212/267/1105 213/269/1106 223/278/1107 -f 213/269/1108 224/279/1109 223/278/1110 -f 225/280/1111 227/281/1112 226/282/1113 -f 227/281/1114 228/283/1115 226/282/1116 -f 226/282/1117 228/283/1118 229/284/1119 -f 228/283/1120 230/285/1121 229/284/1122 -f 231/286/1123 233/287/1124 232/288/1125 -f 233/287/1126 234/289/1127 232/288/1128 -f 235/290/1129 234/289/1130 236/291/1131 -f 234/289/1132 233/287/1133 236/291/1134 -f 237/292/1135 239/293/1136 238/294/1137 -f 239/293/1138 240/295/1139 238/294/1140 -f 241/296/1141 237/292/1142 242/297/1143 -f 237/292/1144 238/294/1145 242/297/1146 -f 4/42/1147 241/296/1148 5/43/1149 -f 241/296/1150 242/297/1151 5/43/1152 -f 229/284/1153 230/285/1154 232/288/1155 -f 230/285/1156 231/286/1157 232/288/1158 -f 225/280/1159 226/282/1160 243/298/1161 -f 226/282/1162 244/299/1163 243/298/1164 -f 226/282/1165 229/284/1166 244/299/1167 -f 229/284/1168 245/300/1169 244/299/1170 -f 232/288/1171 246/301/1172 229/284/1173 -f 246/301/1174 245/300/1175 229/284/1176 -f 247/302/1177 248/303/1178 225/280/1179 -f 248/303/1180 227/281/1181 225/280/1182 -f 237/292/1183 249/304/1184 239/293/1185 -f 249/304/1186 250/305/1187 239/293/1188 -f 237/292/1189 241/296/1190 249/304/1191 -f 241/296/1192 251/306/1193 249/304/1194 -f 4/42/1195 7/53/1196 241/296/1197 -f 7/53/1198 251/306/1199 241/296/1200 -f 234/289/1201 252/307/1202 232/288/1203 -f 252/307/1204 246/301/1205 232/288/1206 -f 253/308/1207 252/307/1208 235/290/1209 -f 252/307/1210 234/289/1211 235/290/1212 -f 254/309/1213 255/310/1214 250/305/1215 -f 255/310/1216 253/308/1217 250/305/1218 -f 254/309/1219 250/305/1220 256/311/1221 -f 250/305/1222 249/304/1223 256/311/1224 -f 256/311/1225 249/304/1226 257/312/1227 -f 249/304/1228 251/306/1229 257/312/1230 -f 257/312/1231 251/306/1232 6/60/1233 -f 251/306/1234 7/53/1235 6/60/1236 -f 258/313/1237 260/314/1238 259/315/1239 -f 260/314/1240 261/316/1241 259/315/1242 -f 224/279/1243 213/269/1244 262/317/1245 -f 213/269/1246 263/318/1247 262/317/1248 -f 213/269/1249 215/270/1250 263/318/1251 -f 215/270/1252 264/319/1253 263/318/1254 -f 224/279/1255 262/317/1256 265/320/1257 -f 262/317/1258 266/321/1259 265/320/1260 -f 267/322/1261 268/323/1262 218/273/1263 -f 268/323/1264 220/274/1265 218/273/1266 -f 269/324/1267 267/322/1268 223/278/1269 -f 267/322/1270 218/273/1271 223/278/1272 -f 10/73/1273 270/325/1274 3/8/1275 -f 270/325/1276 210/265/1277 3/8/1278 -f 271/326/1279 273/327/1280 272/328/1281 -f 273/327/1282 274/329/1283 272/328/1284 -f 206/262/1285 208/263/1286 275/330/1287 -f 208/263/1288 276/331/1289 275/330/1290 -f 275/330/1291 277/332/1292 217/271/1293 -f 217/271/1294 206/262/1295 275/330/1296 -f 268/323/1297 278/333/1298 220/274/1299 -f 278/333/1300 279/334/1301 220/274/1302 -f 227/281/1303 280/335/1304 228/283/1305 -f 280/335/1306 281/336/1307 228/283/1308 -f 228/283/1309 281/336/1310 230/285/1311 -f 281/336/1312 282/337/1313 230/285/1314 -f 231/286/1315 283/338/1316 233/287/1317 -f 236/291/1318 233/287/1319 284/339/1320 -f 233/287/1321 285/340/1322 284/339/1323 -f 238/294/1324 240/295/1325 286/341/1326 -f 240/295/1327 287/342/1328 286/341/1329 -f 242/297/1330 238/294/1331 288/343/1332 -f 238/294/1333 286/341/1334 288/343/1335 -f 5/43/1336 242/297/1337 9/93/1338 -f 242/297/1339 288/343/1340 9/93/1341 -f 230/285/1342 282/337/1343 231/286/1344 -f 282/337/1345 283/338/1346 231/286/1347 -f 248/303/1348 289/344/1349 227/281/1350 -f 289/344/1351 280/335/1352 227/281/1353 -f 220/274/1354 279/334/1355 221/276/1356 -f 221/276/1357 279/334/1358 290/345/1359 -f 279/334/1360 291/346/1361 290/345/1362 -f 233/287/1363 283/338/1364 285/340/1365 -f 283/338/1366 292/347/1367 285/340/1368 -f 282/337/1369 293/348/1370 283/338/1371 -f 293/348/1372 292/347/1373 283/338/1374 -f 281/336/1375 294/349/1376 282/337/1377 -f 294/349/1378 293/348/1379 282/337/1380 -f 280/335/1381 295/350/1382 281/336/1383 -f 295/350/1384 294/349/1385 281/336/1386 -f 289/344/1387 296/351/1388 280/335/1389 -f 296/351/1390 295/350/1391 280/335/1392 -f 297/352/1393 291/346/1394 298/353/1395 -f 291/346/1396 279/334/1397 298/353/1398 -f 278/333/1399 299/354/1400 279/334/1401 -f 299/354/1402 298/353/1403 279/334/1404 -f 277/332/1405 275/330/1406 300/355/1407 -f 275/330/1408 301/356/1409 300/355/1410 -f 276/331/1411 302/357/1412 275/330/1413 -f 302/357/1414 301/356/1415 275/330/1416 -f 273/327/1417 303/358/1418 276/331/1419 -f 303/358/1420 302/357/1421 276/331/1422 -f 273/327/1423 271/326/1424 303/358/1425 -f 271/326/1426 304/359/1427 303/358/1428 -f 270/325/1429 10/73/1430 305/360/1431 -f 10/73/1432 11/111/1433 305/360/1434 -f 302/357/1435 303/358/1436 306/361/1437 -f 303/358/1438 307/362/1439 306/361/1440 -f 303/358/1441 304/359/1442 307/362/1443 -f 304/359/1444 308/363/1445 307/362/1446 -f 305/360/1447 11/111/1448 309/364/1449 -f 11/111/1450 8/116/1451 309/364/1452 -f 246/301/1453 310/365/1454 245/300/1455 -f 310/365/1456 311/366/1457 245/300/1458 -f 235/290/1459 239/293/1460 253/308/1461 -f 239/293/1462 250/305/1463 253/308/1464 -f 239/293/1465 235/290/1466 240/295/1467 -f 235/290/1468 236/291/1469 240/295/1470 -f 240/295/1471 236/291/1472 287/342/1473 -f 236/291/1474 284/339/1475 287/342/1476 -f 312/367/1477 314/368/1478 313/369/1479 -f 314/368/1480 315/370/1481 313/369/1482 -f 263/371/1483 316/372/1484 262/373/1485 -f 264/374/1486 317/375/1487 263/371/1488 -f 317/375/1489 316/372/1490 263/371/1491 -f 266/376/1492 262/373/1493 318/377/1494 -f 262/373/1495 316/372/1496 318/377/1497 -f 312/367/1498 313/369/1499 319/378/1500 -f 320/379/1501 322/380/1502 321/381/1503 -f 322/380/1504 323/382/1505 321/381/1506 -f 324/383/1507 326/384/1508 325/385/1509 -f 326/384/1510 327/386/1511 325/385/1512 -f 328/387/1513 324/383/1514 329/388/1515 -f 324/383/1516 325/385/1517 329/388/1518 -f 330/389/1519 328/387/1520 331/390/1521 -f 328/387/1522 329/388/1523 331/390/1524 -f 330/389/1525 331/390/1526 1/143/1527 -f 331/390/1528 12/391/1529 1/143/1530 -f 332/392/1531 333/393/1532 214/268/1533 -f 247/302/1534 334/394/1535 333/393/1536 -f 334/394/1537 336/395/1538 335/396/1539 -f 335/396/1540 333/393/1541 334/394/1542 -f 245/300/1543 311/366/1544 244/299/1545 -f 311/366/1546 337/397/1547 244/299/1548 -f 243/298/1549 336/395/1550 334/394/1551 -f 247/302/1552 225/280/1553 334/394/1554 -f 225/280/1555 243/298/1556 334/394/1557 -f 338/398/1558 211/266/1559 274/329/1560 -f 211/266/1561 209/264/1562 274/329/1563 -f 207/261/1564 338/398/1565 208/263/1566 -f 338/398/1567 274/329/1568 208/263/1569 -f 294/349/1570 339/399/1571 293/348/1572 -f 295/350/1573 340/400/1574 294/349/1575 -f 340/400/1576 339/399/1577 294/349/1578 -f 296/351/1579 341/401/1580 295/350/1581 -f 341/401/1582 340/400/1583 295/350/1584 -f 298/353/1585 342/402/1586 297/352/1587 -f 342/402/1588 343/403/1589 297/352/1590 -f 342/402/1591 298/353/1592 299/354/1593 -f 299/354/1594 344/404/1595 342/402/1596 -f 300/355/1597 301/356/1598 345/405/1599 -f 301/356/1600 346/406/1601 345/405/1602 -f 301/356/1603 302/357/1604 346/406/1605 -f 302/357/1606 306/361/1607 346/406/1608 -f 347/407/1609 309/364/1610 175/161/1611 -f 309/364/1612 8/116/1613 175/161/1614 -f 307/362/1615 308/363/1616 348/409/1617 -f 349/410/1618 310/365/1619 246/301/1620 -f 255/310/1621 350/411/1622 253/308/1623 -f 350/411/1624 351/412/1625 253/308/1626 -f 315/370/1627 353/413/1628 352/414/1629 -f 315/415/1630 214/268/1631 335/396/1632 -f 315/415/1633 314/416/1634 215/270/1635 -f 215/270/1636 214/268/1637 315/415/1638 -f 264/319/1639 215/270/1640 312/417/1641 -f 215/270/1642 314/416/1643 312/417/1644 -f 321/381/1645 260/314/1646 320/379/1647 -f 260/314/1648 258/418/1649 320/379/1650 -f 261/316/1651 260/314/1652 321/381/1653 -f 331/419/1654 329/420/1655 354/421/1656 -f 329/420/1657 355/422/1658 354/421/1659 -f 12/176/1660 331/419/1661 13/177/1662 -f 331/419/1663 354/421/1664 13/177/1665 -f 325/425/1666 327/426/1667 356/427/1668 -f 327/426/1669 357/428/1670 356/427/1671 -f 329/420/1672 325/425/1673 355/422/1674 -f 325/425/1675 356/427/1676 355/422/1677 -f 358/431/1678 357/428/1679 322/432/1680 -f 357/428/1681 327/426/1682 322/432/1683 -f 318/377/1684 15/188/1685 266/434/1686 -f 15/188/1687 318/377/1688 16/129/1689 -f 259/315/1690 261/316/1691 266/321/1692 -f 261/316/1693 265/320/1694 266/321/1695 -f 190/191/1696 359/190/1697 15/188/1698 -f 360/435/1699 268/323/1700 361/436/1701 -f 268/323/1702 267/322/1703 361/436/1704 -f 362/437/1705 278/333/1706 360/435/1707 -f 278/333/1708 268/323/1709 360/435/1710 -f 363/438/1711 299/354/1712 362/437/1713 -f 299/354/1714 278/333/1715 362/437/1716 -f 297/352/1717 343/403/1718 296/351/1719 -f 343/403/1720 341/401/1721 296/351/1722 -f 291/346/1723 297/352/1724 289/344/1725 -f 297/352/1726 296/351/1727 289/344/1728 -f 290/345/1729 291/346/1730 248/303/1731 -f 291/346/1732 289/344/1733 248/303/1734 -f 332/392/1735 290/345/1736 247/302/1737 -f 290/345/1738 248/303/1739 247/302/1740 -f 332/392/1741 247/302/1742 333/393/1743 -f 269/324/1744 222/277/1745 361/436/1746 -f 361/436/1747 267/322/1748 269/324/1749 -f 261/316/1750 321/381/1751 265/320/1752 -f 323/382/1753 269/324/1754 265/320/1755 -f 269/324/1756 223/278/1757 265/320/1758 -f 223/278/1759 224/279/1760 265/320/1761 -f 330/389/1762 1/143/1763 211/266/1764 -f 1/143/1765 17/9/1766 211/266/1767 -f 328/387/1768 330/389/1769 338/398/1770 -f 330/389/1771 211/266/1772 338/398/1773 -f 324/383/1774 328/387/1775 207/261/1776 -f 328/387/1777 338/398/1778 207/261/1779 -f 326/384/1780 324/383/1781 205/260/1782 -f 324/383/1783 207/261/1784 205/260/1785 -f 205/260/1786 222/277/1787 326/384/1788 -f 326/384/1789 222/277/1790 323/382/1791 -f 323/382/1792 222/277/1793 269/324/1794 -f 348/409/1795 308/363/1796 347/407/1797 -f 308/363/1798 309/364/1799 347/407/1800 -f 304/359/1801 305/360/1802 308/363/1803 -f 305/360/1804 309/364/1805 308/363/1806 -f 270/325/1807 305/360/1808 271/326/1809 -f 305/360/1810 304/359/1811 271/326/1812 -f 272/328/1813 210/265/1814 271/326/1815 -f 210/265/1816 270/325/1817 271/326/1818 -f 210/265/1819 272/328/1820 209/264/1821 -f 272/328/1822 274/329/1823 209/264/1824 -f 264/374/1825 312/367/1826 317/375/1827 -f 312/367/1828 319/378/1829 317/375/1830 -f 352/414/1831 364/439/1832 315/370/1833 -f 364/439/1834 313/369/1835 315/370/1836 -f 364/439/1837 352/414/1838 366/440/1839 -f 352/414/1840 365/441/1841 366/440/1842 -f 366/440/1843 365/441/1844 368/442/1845 -f 365/441/1846 367/443/1847 368/442/1848 -f 319/378/1849 313/369/1850 369/444/1851 -f 313/369/1852 364/439/1853 369/444/1854 -f 369/444/1855 364/439/1856 370/445/1857 -f 370/445/1858 364/439/1859 371/446/1860 -f 364/439/1861 366/440/1862 371/446/1863 -f 371/446/1864 366/440/1865 372/447/1866 -f 366/440/1867 368/442/1868 372/447/1869 -f 16/129/1870 318/377/1871 159/125/1872 -f 318/377/1873 316/372/1874 159/125/1875 -f 161/127/1876 317/375/1877 160/130/1878 -f 317/375/1879 319/378/1880 160/130/1881 -f 159/125/1882 316/372/1883 161/127/1884 -f 316/372/1885 317/375/1886 161/127/1887 -f 160/130/1888 319/378/1889 168/202/1890 -f 319/378/1891 369/444/1892 168/202/1893 -f 373/448/1894 353/449/1895 315/415/1896 -f 315/415/1897 335/396/1898 374/450/1899 -f 208/263/1900 274/329/1901 276/331/1902 -f 274/329/1903 273/327/1904 276/331/1905 -f 246/301/1906 252/307/1907 349/410/1908 -f 252/307/1909 375/451/1910 349/410/1911 -f 253/308/1912 351/412/1913 252/307/1914 -f 351/412/1915 375/451/1916 252/307/1917 -f 288/452/1918 347/453/1919 9/211/1920 -f 347/453/1921 175/213/1922 9/211/1923 -f 307/454/1924 348/455/1925 286/456/1926 -f 286/456/1927 348/455/1928 288/452/1929 -f 288/452/1930 348/455/1931 347/453/1932 -f 286/456/1933 287/457/1934 344/458/1935 -f 344/458/1936 345/459/1937 286/456/1938 -f 286/456/1939 345/459/1940 346/460/1941 -f 286/456/1942 346/460/1943 306/461/1944 -f 306/461/1945 307/454/1946 286/456/1947 -f 341/462/1948 287/457/1949 340/463/1950 -f 340/463/1951 287/457/1952 339/464/1953 -f 339/464/1954 287/457/1955 284/465/1956 -f 344/458/1957 287/457/1958 342/466/1959 -f 342/466/1960 287/457/1961 343/467/1962 -f 287/457/1963 341/462/1964 343/467/1965 -f 339/464/1966 284/465/1967 293/468/1968 -f 284/465/1969 285/469/1970 293/468/1971 -f 293/468/1972 285/469/1973 292/470/1974 -f 219/275/1975 221/276/1976 332/392/1977 -f 221/276/1978 290/345/1979 332/392/1980 -f 214/268/1981 212/267/1982 332/392/1983 -f 332/392/1984 212/267/1985 219/275/1986 -f 344/404/1987 299/354/1988 363/438/1989 -f 363/438/1990 300/355/1991 345/405/1992 -f 345/405/1993 344/404/1994 363/438/1995 -f 300/355/1996 363/438/1997 277/332/1998 -f 363/438/1999 362/437/2000 277/332/2001 -f 277/332/2002 362/437/2003 217/271/2004 -f 362/437/2005 360/435/2006 217/271/2007 -f 217/271/2008 360/435/2009 216/272/2010 -f 360/435/2011 361/436/2012 216/272/2013 -f 216/272/2014 361/436/2015 222/277/2016 -f 322/380/2017 327/386/2018 323/382/2019 -f 327/386/2020 326/384/2021 323/382/2022 -f 320/471/2023 258/472/2024 259/473/2025 -f 265/320/2026 321/381/2027 323/382/2028 -f 315/415/2029 374/450/2030 373/448/2031 -f 336/395/2032 376/474/2033 374/450/2034 -f 376/474/2035 373/448/2036 374/450/2037 -f 243/298/2038 377/475/2039 336/395/2040 -f 377/475/2041 376/474/2042 336/395/2043 -f 244/299/2044 337/397/2045 243/298/2046 -f 337/397/2047 377/475/2048 243/298/2049 -f 322/432/2050 320/471/2051 358/431/2052 -f 320/471/2053 259/473/2054 358/431/2055 -f 336/395/2056 374/450/2057 335/396/2058 -f 214/268/2059 333/393/2060 335/396/2061 -f 259/476/2062 266/434/2063 359/190/2064 -f 266/434/2065 15/188/2066 359/190/2067 -f 378/477/2068 358/431/2069 359/478/2070 -f 358/431/2071 259/473/2072 359/478/2073 -f 379/479/2074 357/428/2075 378/477/2076 -f 357/428/2077 358/431/2078 378/477/2079 -f 356/427/2080 357/428/2081 380/480/2082 -f 357/428/2083 379/479/2084 380/480/2085 -f 355/422/2086 356/427/2087 381/481/2088 -f 356/427/2089 380/480/2090 381/481/2091 -f 354/421/2092 355/422/2093 382/482/2094 -f 355/422/2095 381/481/2096 382/482/2097 -f 13/177/2098 354/421/2099 196/243/2100 -f 354/421/2101 382/482/2102 196/243/2103 -f 383/483/2104 197/246/2105 382/484/2106 -f 197/246/2107 196/247/2108 382/484/2109 -f 384/485/2110 380/486/2111 385/487/2112 -f 380/486/2113 379/488/2114 385/487/2115 -f 383/483/2116 382/484/2117 386/489/2118 -f 382/484/2119 381/490/2120 386/489/2121 -f 384/485/2122 386/489/2123 380/486/2124 -f 386/489/2125 381/490/2126 380/486/2127 -f 14/192/2128 387/423/2129 359/190/2130 -f 388/424/2131 387/178/2132 204/259/2133 -f 387/178/2134 14/257/2135 204/259/2136 -f 201/248/2137 384/485/2138 199/249/2139 -f 384/485/2140 385/487/2141 199/249/2142 -f 200/244/2143 383/483/2144 198/252/2145 -f 383/483/2146 386/489/2147 198/252/2148 -f 378/430/2149 390/184/2150 379/488/2151 -f 202/187/2152 389/429/2153 204/259/2154 -f 389/429/2155 388/424/2156 204/259/2157 -f 389/429/2158 202/187/2159 390/184/2160 -f 202/187/2161 203/255/2162 390/184/2163 -f 385/487/2164 390/184/2165 199/249/2166 -f 390/184/2167 203/255/2168 199/249/2169 -f 198/252/2170 386/489/2171 201/248/2172 -f 386/489/2173 384/485/2174 201/248/2175 -f 390/184/2176 378/430/2177 389/183/2178 -f 390/184/2179 385/487/2180 379/488/2181 -f 387/178/2182 388/424/2183 359/433/2184 -f 378/430/2185 388/424/2186 389/183/2187 -f 197/246/2188 383/483/2189 200/244/2190 -f 388/424/2191 378/430/2192 359/433/2193 -f 465/491/2194 466/492/2195 467/493/2196 -f 469/494/2197 564/495/2198 550/496/2199 -f 424/497/2200 425/498/2201 391/499/2202 -f 391/499/2203 425/498/2204 401/500/2205 -f 391/499/2206 401/500/2207 393/501/2208 -f 393/501/2209 401/500/2210 403/502/2211 -f 403/502/2212 410/503/2213 393/501/2214 -f 393/501/2215 410/503/2216 394/504/2217 -f 396/505/2218 395/506/2219 406/507/2220 -f 406/507/2221 395/506/2222 405/508/2223 -f 397/509/2224 396/505/2225 407/510/2226 -f 407/510/2227 396/505/2228 406/507/2229 -f 394/504/2230 404/511/2231 398/512/2232 -f 398/512/2233 404/511/2234 399/513/2235 -f 399/513/2236 404/511/2237 408/514/2238 -f 558/515/2239 400/516/2240 557/517/2241 -f 557/517/2242 400/516/2243 409/518/2244 -f 426/519/2245 427/520/2246 400/516/2247 -f 400/516/2248 427/520/2249 409/518/2250 -f 392/521/2251 436/522/2252 402/523/2253 -f 402/523/2254 436/522/2255 437/524/2256 -f 429/525/2257 401/500/2258 425/498/2259 -f 403/502/2260 401/500/2261 430/526/2262 -f 430/526/2263 401/500/2264 429/525/2265 -f 430/526/2266 431/527/2267 403/502/2268 -f 403/502/2269 431/527/2270 410/503/2271 -f 406/507/2272 405/508/2273 445/528/2274 -f 445/528/2275 405/508/2276 444/529/2277 -f 407/510/2278 406/507/2279 446/530/2280 -f 446/530/2281 406/507/2282 445/528/2283 -f 408/514/2284 404/511/2285 433/531/2286 -f 433/531/2287 404/511/2288 432/532/2289 -f 557/517/2290 409/518/2291 556/533/2292 -f 556/533/2293 409/518/2294 435/534/2295 -f 409/518/2296 427/520/2297 435/534/2298 -f 435/534/2299 427/520/2300 434/535/2301 -f 496/536/2302 410/503/2303 495/537/2304 -f 495/537/2305 410/503/2306 431/527/2307 -f 447/538/2308 448/539/2309 424/497/2310 -f 424/497/2311 448/539/2312 425/498/2313 -f 399/513/2314 408/514/2315 426/519/2316 -f 426/519/2317 408/514/2318 427/520/2319 -f 427/520/2320 408/514/2321 434/535/2322 -f 434/535/2323 408/514/2324 433/531/2325 -f 472/540/2326 473/541/2327 474/542/2328 -f 474/542/2329 473/541/2330 465/491/2331 -f 473/541/2332 472/540/2333 476/543/2334 -f 476/543/2335 472/540/2336 475/544/2337 -f 563/545/2338 477/546/2339 479/547/2340 -f 477/546/2341 480/548/2342 479/547/2343 -f 480/548/2344 481/549/2345 479/547/2346 -f 476/543/2347 475/544/2348 483/550/2349 -f 483/550/2350 475/544/2351 482/551/2352 -f 484/552/2353 485/553/2354 487/554/2355 -f 487/554/2356 485/553/2357 486/555/2358 -f 488/556/2359 489/557/2360 484/552/2361 -f 484/552/2362 489/557/2363 485/553/2364 -f 567/558/2365 489/557/2366 488/556/2367 -f 489/557/2368 567/558/2369 469/494/2370 -f 488/556/2371 468/559/2372 567/558/2373 -f 435/534/2374 434/535/2375 442/560/2376 -f 529/561/2377 530/562/2378 528/563/2379 -f 528/563/2380 530/562/2381 527/564/2382 -f 532/565/2383 531/566/2384 529/561/2385 -f 529/561/2386 531/566/2387 530/562/2388 -f 500/567/2389 501/568/2390 549/569/2391 -f 501/568/2392 502/570/2393 549/569/2394 -f 486/555/2395 485/553/2396 503/571/2397 -f 502/570/2398 485/553/2399 549/569/2400 -f 476/543/2401 483/550/2402 505/572/2403 -f 505/572/2404 483/550/2405 504/573/2406 -f 473/541/2407 476/543/2408 506/574/2409 -f 506/574/2410 476/543/2411 505/572/2412 -f 465/491/2413 473/541/2414 507/575/2415 -f 507/575/2416 473/541/2417 506/574/2418 -f 466/492/2419 465/491/2420 508/576/2421 -f 508/576/2422 465/491/2423 507/575/2424 -f 412/577/2425 437/524/2426 411/578/2427 -f 411/578/2428 437/524/2429 436/522/2430 -f 413/579/2431 429/525/2432 412/577/2433 -f 412/577/2434 429/525/2435 437/524/2436 -f 414/580/2437 430/526/2438 413/579/2439 -f 413/579/2440 430/526/2441 429/525/2442 -f 415/581/2443 431/527/2444 414/580/2445 -f 414/580/2446 431/527/2447 430/526/2448 -f 431/527/2449 415/581/2450 495/537/2451 -f 495/537/2452 415/581/2453 494/582/2454 -f 420/583/2455 439/584/2456 432/532/2457 -f 562/585/2458 444/529/2459 417/586/2460 -f 417/586/2461 444/529/2462 416/587/2463 -f 416/587/2464 444/529/2465 441/588/2466 -f 418/589/2467 445/528/2468 562/585/2469 -f 419/590/2470 446/530/2471 418/589/2472 -f 418/589/2473 446/530/2474 445/528/2475 -f 447/591/2476 392/521/2477 448/539/2478 -f 448/539/2479 392/521/2480 402/523/2481 -f 402/523/2482 437/524/2483 429/525/2484 -f 474/542/2485 465/491/2486 492/592/2487 -f 483/550/2488 482/551/2489 486/555/2490 -f 486/555/2491 482/551/2492 487/554/2493 -f 483/550/2494 486/555/2495 504/573/2496 -f 504/573/2497 486/555/2498 503/571/2499 -f 394/504/2500 410/503/2501 496/536/2502 -f 451/593/2503 436/522/2504 452/594/2505 -f 452/594/2506 436/522/2507 392/521/2508 -f 452/594/2509 392/521/2510 450/595/2511 -f 450/595/2512 392/521/2513 447/591/2514 -f 558/515/2515 559/596/2516 400/516/2517 -f 400/516/2518 559/596/2519 453/597/2520 -f 455/598/2521 456/599/2522 393/501/2523 -f 393/501/2524 456/599/2525 391/499/2526 -f 393/501/2527 394/504/2528 455/598/2529 -f 455/598/2530 394/504/2531 457/600/2532 -f 454/601/2533 395/506/2534 458/602/2535 -f 458/602/2536 395/506/2537 396/505/2538 -f 459/603/2539 458/602/2540 397/509/2541 -f 397/509/2542 458/602/2543 396/505/2544 -f 460/604/2545 461/605/2546 399/513/2547 -f 399/513/2548 461/605/2549 398/512/2550 -f 460/604/2551 399/513/2552 462/606/2553 -f 462/606/2554 399/513/2555 426/519/2556 -f 462/606/2557 426/519/2558 453/597/2559 -f 453/597/2560 426/519/2561 400/516/2562 -f 451/593/2563 509/607/2564 436/522/2565 -f 436/522/2566 509/607/2567 411/578/2568 -f 463/608/2569 450/609/2570 424/497/2571 -f 424/497/2572 450/609/2573 447/538/2574 -f 456/599/2575 463/608/2576 391/499/2577 -f 391/499/2578 463/608/2579 424/497/2580 -f 457/600/2581 394/504/2582 461/605/2583 -f 461/605/2584 394/504/2585 398/512/2586 -f 452/610/2587 467/493/2588 451/611/2589 -f 451/611/2590 467/493/2591 466/492/2592 -f 450/612/2593 464/613/2594 452/610/2595 -f 452/610/2596 464/613/2597 467/493/2598 -f 559/614/2599 560/615/2600 453/616/2601 -f 453/616/2602 560/615/2603 468/559/2604 -f 472/540/2605 474/542/2606 455/617/2607 -f 455/617/2608 474/542/2609 456/618/2610 -f 472/540/2611 455/617/2612 475/544/2613 -f 475/544/2614 455/617/2615 457/619/2616 -f 458/620/2617 477/546/2618 454/621/2619 -f 454/621/2620 477/546/2621 470/622/2622 -f 480/548/2623 477/546/2624 459/623/2625 -f 459/623/2626 477/546/2627 458/620/2628 -f 482/551/2629 475/544/2630 457/619/2631 -f 460/624/2632 484/552/2633 461/625/2634 -f 461/625/2635 484/552/2636 487/554/2637 -f 462/626/2638 488/556/2639 460/624/2640 -f 460/624/2641 488/556/2642 484/552/2643 -f 488/556/2644 462/626/2645 468/559/2646 -f 468/559/2647 462/626/2648 453/616/2649 -f 466/492/2650 508/576/2651 451/611/2652 -f 451/611/2653 508/576/2654 509/627/2655 -f 492/592/2656 464/613/2657 463/628/2658 -f 463/628/2659 464/613/2660 450/629/2661 -f 474/542/2662 492/592/2663 456/618/2664 -f 456/618/2665 492/592/2666 463/628/2667 -f 487/554/2668 482/551/2669 461/625/2670 -f 461/625/2671 482/551/2672 457/619/2673 -f 567/558/2674 468/559/2675 561/630/2676 -f 561/630/2677 468/559/2678 560/615/2679 -f 420/583/2680 432/532/2681 494/582/2682 -f 494/582/2683 432/532/2684 495/537/2685 -f 404/511/2686 496/536/2687 432/532/2688 -f 432/532/2689 496/536/2690 495/537/2691 -f 394/504/2692 496/536/2693 404/511/2694 -f 425/498/2695 448/539/2696 429/525/2697 -f 448/539/2698 402/523/2699 429/525/2700 -f 465/491/2701 467/493/2702 464/613/2703 -f 465/491/2704 464/613/2705 492/592/2706 -f 414/580/2707 413/579/2708 521/631/2709 -f 521/631/2710 413/579/2711 523/632/2712 -f 413/579/2713 412/577/2714 523/632/2715 -f 523/632/2716 412/577/2717 411/633/2718 -f 421/634/2719 517/635/2720 422/636/2721 -f 422/636/2722 517/635/2723 515/637/2724 -f 422/636/2725 515/637/2726 428/638/2727 -f 428/638/2728 515/637/2729 513/639/2730 -f 421/634/2731 420/583/2732 517/635/2733 -f 517/635/2734 420/583/2735 518/640/2736 -f 518/640/2737 415/581/2738 521/631/2739 -f 521/631/2740 415/581/2741 414/580/2742 -f 494/582/2743 415/581/2744 518/640/2745 -f 420/583/2746 494/582/2747 518/640/2748 -f 428/638/2749 513/639/2750 423/641/2751 -f 423/641/2752 513/639/2753 512/642/2754 -f 481/643/2755 419/590/2756 479/644/2757 -f 479/644/2758 419/590/2759 418/589/2760 -f 562/585/2761 563/645/2762 418/589/2763 -f 418/589/2764 563/645/2765 479/644/2766 -f 416/587/2767 471/646/2768 417/586/2769 -f 417/586/2770 471/646/2771 478/647/2772 -f 471/646/2773 416/587/2774 490/648/2775 -f 490/648/2776 416/587/2777 497/649/2778 -f 546/650/2779 547/651/2780 441/588/2781 -f 441/588/2782 547/651/2783 497/649/2784 -f 563/545/2785 478/652/2786 493/653/2787 -f 564/495/2788 478/652/2789 471/654/2790 -f 547/651/2791 548/655/2792 497/649/2793 -f 497/649/2794 548/655/2795 490/648/2796 -f 441/588/2797 497/649/2798 416/587/2799 -f 491/656/2800 499/657/2801 532/565/2802 -f 532/565/2803 499/657/2804 531/566/2805 -f 511/658/2806 510/659/2807 513/639/2808 -f 513/639/2809 510/659/2810 512/642/2811 -f 514/660/2812 511/658/2813 515/637/2814 -f 515/637/2815 511/658/2816 513/639/2817 -f 516/661/2818 514/660/2819 517/635/2820 -f 517/635/2821 514/660/2822 515/637/2823 -f 517/635/2824 518/640/2825 516/661/2826 -f 516/661/2827 518/640/2828 519/662/2829 -f 518/640/2830 521/631/2831 519/662/2832 -f 519/662/2833 521/631/2834 520/663/2835 -f 522/664/2836 520/663/2837 523/632/2838 -f 523/632/2839 520/663/2840 521/631/2841 -f 501/568/2842 500/567/2843 511/665/2844 -f 511/665/2845 500/567/2846 510/666/2847 -f 502/570/2848 501/568/2849 514/667/2850 -f 514/667/2851 501/568/2852 511/665/2853 -f 503/571/2854 502/570/2855 516/668/2856 -f 516/668/2857 502/570/2858 514/667/2859 -f 519/669/2860 504/573/2861 516/668/2862 -f 516/668/2863 504/573/2864 503/571/2865 -f 519/669/2866 505/572/2867 504/573/2868 -f 506/574/2869 505/572/2870 520/670/2871 -f 520/670/2872 505/572/2873 519/669/2874 -f 522/671/2875 507/575/2876 520/670/2877 -f 520/670/2878 507/575/2879 506/574/2880 -f 507/575/2881 522/671/2882 508/576/2883 -f 508/576/2884 522/671/2885 509/672/2886 -f 510/659/2887 528/563/2888 512/642/2889 -f 512/642/2890 528/563/2891 527/564/2892 -f 525/673/2893 524/674/2894 528/675/2895 -f 528/675/2896 524/674/2897 529/676/2898 -f 438/677/2899 527/564/2900 449/678/2901 -f 449/678/2902 527/564/2903 530/562/2904 -f 449/678/2905 530/562/2906 443/679/2907 -f 443/679/2908 530/562/2909 531/566/2910 -f 524/674/2911 526/680/2912 529/676/2913 -f 529/676/2914 526/680/2915 532/681/2916 -f 491/682/2917 532/681/2918 526/680/2919 -f 443/679/2920 531/566/2921 498/683/2922 -f 498/683/2923 531/566/2924 499/657/2925 -f 500/567/2926 525/673/2927 510/666/2928 -f 510/666/2929 525/673/2930 528/675/2931 -f 423/641/2932 512/642/2933 438/677/2934 -f 438/677/2935 512/642/2936 527/564/2937 -f 568/684/2938 569/685/2939 549/569/2940 -f 490/686/2941 548/687/2942 550/496/2943 -f 564/495/2944 469/494/2945 561/630/2946 -f 411/633/2947 509/688/2948 523/632/2949 -f 523/632/2950 509/688/2951 522/664/2952 -f 534/689/2953 535/690/2954 554/691/2955 -f 535/690/2956 423/641/2957 554/691/2958 -f 423/641/2959 438/677/2960 554/691/2961 -f 449/678/2962 554/691/2963 438/677/2964 -f 533/692/2965 534/689/2966 552/693/2967 -f 552/693/2968 534/689/2969 551/694/2970 -f 538/695/2971 553/696/2972 442/560/2973 -f 442/560/2974 553/696/2975 555/697/2976 -f 439/584/2977 440/698/2978 433/531/2979 -f 440/698/2980 539/699/2981 433/531/2982 -f 433/531/2983 539/699/2984 434/535/2985 -f 428/638/2986 536/700/2987 422/636/2988 -f 439/584/2989 422/636/2990 440/698/2991 -f 422/636/2992 536/700/2993 440/698/2994 -f 423/641/2995 535/690/2996 428/638/2997 -f 428/638/2998 535/690/2999 536/700/3000 -f 440/698/3001 536/700/3002 540/701/3003 -f 540/701/3004 536/700/3005 541/702/3006 -f 533/692/3007 542/703/3008 534/689/3009 -f 534/689/3010 542/703/3011 543/704/3012 -f 535/690/3013 534/689/3014 543/704/3015 -f 536/700/3016 535/690/3017 541/702/3018 -f 537/705/3019 539/699/3020 544/706/3021 -f 538/695/3022 537/705/3023 545/707/3024 -f 533/692/3025 538/695/3026 542/703/3027 -f 542/703/3028 538/695/3029 545/707/3030 -f 440/698/3031 540/701/3032 539/699/3033 -f 539/699/3034 540/701/3035 544/706/3036 -f 553/696/3037 538/695/3038 552/693/3039 -f 552/693/3040 538/695/3041 533/692/3042 -f 498/683/3043 499/657/3044 546/650/3045 -f 546/650/3046 499/657/3047 547/651/3048 -f 491/656/3049 548/655/3050 499/657/3051 -f 499/657/3052 548/655/3053 547/651/3054 -f 539/699/3055 537/705/3056 434/535/3057 -f 538/695/3058 442/560/3059 537/705/3060 -f 442/560/3061 434/535/3062 537/705/3063 -f 422/636/3064 439/584/3065 421/634/3066 -f 439/584/3067 420/583/3068 421/634/3069 -f 439/584/3070 433/531/3071 432/532/3072 -f 485/553/3073 502/570/3074 503/571/3075 -f 489/557/3076 568/684/3077 549/569/3078 -f 568/684/3079 489/557/3080 469/494/3081 -f 485/553/3082 489/557/3083 549/569/3084 -f 544/706/3085 540/701/3086 537/705/3087 -f 535/690/3088 540/701/3089 541/702/3090 -f 542/703/3091 540/701/3092 543/704/3093 -f 543/704/3094 540/701/3095 535/690/3096 -f 537/705/3097 540/701/3098 545/707/3099 -f 545/707/3100 540/701/3101 542/703/3102 -f 552/693/3103 551/694/3104 498/683/3105 -f 498/683/3106 551/694/3107 443/679/3108 -f 546/650/3109 553/696/3110 498/683/3111 -f 498/683/3112 553/696/3113 552/693/3114 -f 551/694/3115 534/689/3116 554/691/3117 -f 449/678/3118 551/694/3119 554/691/3120 -f 551/694/3121 449/678/3122 443/679/3123 -f 441/588/3124 555/697/3125 546/650/3126 -f 546/650/3127 555/697/3128 553/696/3129 -f 556/533/3130 435/534/3131 555/697/3132 -f 555/697/3133 435/534/3134 442/560/3135 -f 405/508/3136 557/517/3137 444/529/3138 -f 444/529/3139 557/517/3140 556/533/3141 -f 395/506/3142 558/515/3143 405/508/3144 -f 405/508/3145 558/515/3146 557/517/3147 -f 395/506/3148 454/601/3149 558/515/3150 -f 558/515/3151 454/601/3152 559/596/3153 -f 454/621/3154 470/622/3155 559/614/3156 -f 559/614/3157 470/622/3158 560/615/3159 -f 470/622/3160 493/653/3161 560/615/3162 -f 560/615/3163 493/653/3164 561/630/3165 -f 444/529/3166 556/533/3167 441/588/3168 -f 441/588/3169 556/533/3170 555/697/3171 -f 478/652/3172 564/495/3173 493/653/3174 -f 444/529/3175 562/585/3176 445/528/3177 -f 563/645/3178 562/585/3179 478/647/3180 -f 478/647/3181 562/585/3182 417/586/3183 -f 563/545/3184 493/653/3185 477/546/3186 -f 477/546/3187 493/653/3188 470/622/3189 -f 493/653/3190 564/495/3191 561/630/3192 -f 490/686/3193 564/495/3194 471/654/3195 -f 564/495/3196 490/686/3197 550/496/3198 -f 550/496/3199 548/687/3200 565/708/3201 -f 566/709/3202 548/687/3203 491/682/3204 -f 548/687/3205 566/709/3206 565/708/3207 -f 491/682/3208 526/680/3209 566/709/3210 -f 469/494/3211 567/558/3212 561/630/3213 -f 550/496/3214 568/684/3215 469/494/3216 -f 568/684/3217 550/496/3218 565/708/3219 -f 565/708/3220 566/709/3221 568/684/3222 -f 566/709/3223 569/685/3224 568/684/3225 -f 526/680/3226 569/685/3227 566/709/3228 -f 569/685/3229 526/680/3230 524/674/3231 -f 525/673/3232 569/685/3233 524/674/3234 -f 500/567/3235 569/685/3236 525/673/3237 -f 549/569/3238 569/685/3239 500/567/3240 -f 570/710/3241 572/711/3242 571/712/3243 -f 573/713/3244 575/714/3245 574/715/3246 -f 576/716/3247 578/717/3248 577/718/3249 -f 578/717/3250 579/719/3251 577/718/3252 -f 578/717/3253 580/720/3254 579/719/3255 -f 580/720/3256 581/721/3257 579/719/3258 -f 581/721/3259 580/720/3260 582/722/3261 -f 580/720/3262 583/723/3263 582/722/3264 -f 584/724/3265 586/725/3266 585/726/3267 -f 586/725/3268 587/727/3269 585/726/3270 -f 397/509/3271 407/510/3272 584/724/3273 -f 407/510/3274 586/725/3275 584/724/3276 -f 583/723/3277 589/728/3278 588/729/3279 -f 589/728/3280 590/730/3281 588/729/3282 -f 590/730/3283 591/731/3284 588/729/3285 -f 592/732/3286 594/733/3287 593/734/3288 -f 594/733/3289 595/735/3290 593/734/3291 -f 596/736/3292 593/734/3293 597/737/3294 -f 593/734/3295 595/735/3296 597/737/3297 -f 598/738/3298 600/739/3299 599/740/3300 -f 600/739/3301 601/741/3302 599/740/3303 -f 602/742/3304 577/718/3305 579/719/3306 -f 581/721/3307 603/743/3308 579/719/3309 -f 603/743/3310 602/742/3311 579/719/3312 -f 603/743/3313 581/721/3314 604/744/3315 -f 581/721/3316 582/722/3317 604/744/3318 -f 586/725/3319 605/745/3320 587/727/3321 -f 605/745/3322 606/746/3323 587/727/3324 -f 407/510/3325 446/530/3326 586/725/3327 -f 446/530/3328 605/745/3329 586/725/3330 -f 591/731/3331 607/747/3332 588/729/3333 -f 607/747/3334 608/748/3335 588/729/3336 -f 594/733/3337 609/749/3338 595/735/3339 -f 609/749/3340 610/750/3341 595/735/3342 -f 595/735/3343 610/750/3344 597/737/3345 -f 610/750/3346 611/751/3347 597/737/3348 -f 612/752/3349 613/753/3350 582/722/3351 -f 613/753/3352 604/744/3353 582/722/3354 -f 614/754/3355 576/716/3356 615/755/3357 -f 576/716/3358 577/718/3359 615/755/3360 -f 590/730/3361 596/736/3362 591/731/3363 -f 596/736/3364 597/737/3365 591/731/3366 -f 597/737/3367 611/751/3368 591/731/3369 -f 611/751/3370 607/747/3371 591/731/3372 -f 616/756/3373 618/757/3374 617/758/3375 -f 618/757/3376 570/710/3377 617/758/3378 -f 617/758/3379 619/759/3380 616/756/3381 -f 619/759/3382 620/760/3383 616/756/3384 -f 621/761/3385 623/762/3386 622/763/3387 -f 622/763/3388 623/762/3389 480/548/3390 -f 480/548/3391 623/762/3392 481/549/3393 -f 619/759/3394 624/764/3395 620/760/3396 -f 624/764/3397 625/765/3398 620/760/3399 -f 626/766/3400 628/767/3401 627/768/3402 -f 628/767/3403 629/769/3404 627/768/3405 -f 630/770/3406 626/766/3407 631/771/3408 -f 626/766/3409 627/768/3410 631/771/3411 -f 632/772/3412 630/770/3413 631/771/3414 -f 631/771/3415 573/713/3416 632/772/3417 -f 630/770/3418 632/772/3419 633/773/3420 -f 610/750/3421 634/774/3422 611/751/3423 -f 635/775/3424 637/776/3425 636/777/3426 -f 637/776/3427 638/778/3428 636/777/3429 -f 639/779/3430 635/775/3431 640/780/3432 -f 635/775/3433 636/777/3434 640/780/3435 -f 641/781/3436 643/782/3437 642/783/3438 -f 642/783/3439 643/782/3440 644/784/3441 -f 629/769/3442 645/785/3443 627/768/3444 -f 644/784/3445 643/782/3446 627/768/3447 -f 619/759/3448 646/786/3449 624/764/3450 -f 646/786/3451 647/787/3452 624/764/3453 -f 617/758/3454 648/788/3455 619/759/3456 -f 648/788/3457 646/786/3458 619/759/3459 -f 570/710/3460 649/789/3461 617/758/3462 -f 649/789/3463 648/788/3464 617/758/3465 -f 571/712/3466 650/790/3467 570/710/3468 -f 650/790/3469 649/789/3470 570/710/3471 -f 651/791/3472 652/792/3473 601/741/3474 -f 652/792/3475 599/740/3476 601/741/3477 -f 653/793/3478 651/791/3479 602/742/3480 -f 651/791/3481 601/741/3482 602/742/3483 -f 654/794/3484 653/793/3485 603/743/3486 -f 653/793/3487 602/742/3488 603/743/3489 -f 655/795/3490 654/794/3491 604/744/3492 -f 654/794/3493 603/743/3494 604/744/3495 -f 604/744/3496 613/753/3497 655/795/3498 -f 613/753/3499 656/796/3500 655/795/3501 -f 657/797/3502 608/748/3503 658/798/3504 -f 659/799/3505 660/800/3506 606/746/3507 -f 660/800/3508 661/801/3509 606/746/3510 -f 661/801/3511 662/802/3512 606/746/3513 -f 663/803/3514 659/799/3515 605/745/3516 -f 419/590/3517 663/803/3518 446/530/3519 -f 663/803/3520 605/745/3521 446/530/3522 -f 614/804/3523 615/755/3524 598/738/3525 -f 615/755/3526 600/739/3527 598/738/3528 -f 600/739/3529 602/742/3530 601/741/3531 -f 618/757/3532 664/805/3533 570/710/3534 -f 624/764/3535 629/769/3536 625/765/3537 -f 629/769/3538 628/767/3539 625/765/3540 -f 624/764/3541 647/787/3542 629/769/3543 -f 647/787/3544 645/785/3545 629/769/3546 -f 583/723/3547 612/752/3548 582/722/3549 -f 665/806/3550 666/807/3551 599/740/3552 -f 666/807/3553 598/738/3554 599/740/3555 -f 666/807/3556 667/808/3557 598/738/3558 -f 667/808/3559 614/804/3560 598/738/3561 -f 592/732/3562 593/734/3563 668/809/3564 -f 593/734/3565 669/810/3566 668/809/3567 -f 670/811/3568 580/720/3569 671/812/3570 -f 580/720/3571 578/717/3572 671/812/3573 -f 580/720/3574 670/811/3575 583/723/3576 -f 670/811/3577 672/813/3578 583/723/3579 -f 673/814/3580 674/815/3581 585/726/3582 -f 674/815/3583 584/724/3584 585/726/3585 -f 459/603/3586 397/509/3587 674/815/3588 -f 397/509/3589 584/724/3590 674/815/3591 -f 675/816/3592 590/730/3593 676/817/3594 -f 590/730/3595 589/728/3596 676/817/3597 -f 675/816/3598 677/818/3599 590/730/3600 -f 677/818/3601 596/736/3602 590/730/3603 -f 677/818/3604 669/810/3605 596/736/3606 -f 669/810/3607 593/734/3608 596/736/3609 -f 665/806/3610 599/740/3611 678/819/3612 -f 599/740/3613 652/792/3614 678/819/3615 -f 679/820/3616 576/716/3617 667/821/3618 -f 576/716/3619 614/754/3620 667/821/3621 -f 671/812/3622 578/717/3623 679/820/3624 -f 578/717/3625 576/716/3626 679/820/3627 -f 672/813/3628 676/817/3629 583/723/3630 -f 676/817/3631 589/728/3632 583/723/3633 -f 666/822/3634 665/823/3635 572/711/3636 -f 665/823/3637 571/712/3638 572/711/3639 -f 667/824/3640 666/822/3641 680/825/3642 -f 666/822/3643 572/711/3644 680/825/3645 -f 668/826/3646 669/827/3647 681/828/3648 -f 669/827/3649 633/773/3650 681/828/3651 -f 616/756/3652 670/829/3653 618/757/3654 -f 670/829/3655 671/830/3656 618/757/3657 -f 616/756/3658 620/760/3659 670/829/3660 -f 620/760/3661 672/831/3662 670/829/3663 -f 674/832/3664 673/833/3665 622/763/3666 -f 673/833/3667 682/834/3668 622/763/3669 -f 480/548/3670 459/623/3671 622/763/3672 -f 459/623/3673 674/832/3674 622/763/3675 -f 625/765/3676 672/831/3677 620/760/3678 -f 675/835/3679 676/836/3680 626/766/3681 -f 676/836/3682 628/767/3683 626/766/3684 -f 677/837/3685 675/835/3686 630/770/3687 -f 675/835/3688 626/766/3689 630/770/3690 -f 630/770/3691 633/773/3692 677/837/3693 -f 633/773/3694 669/827/3695 677/837/3696 -f 571/712/3697 665/823/3698 650/790/3699 -f 665/823/3700 678/838/3701 650/790/3702 -f 664/805/3703 679/839/3704 680/825/3705 -f 679/839/3706 667/840/3707 680/825/3708 -f 618/757/3709 671/830/3710 664/805/3711 -f 671/830/3712 679/839/3713 664/805/3714 -f 628/767/3715 676/836/3716 625/765/3717 -f 676/836/3718 672/831/3719 625/765/3720 -f 632/772/3721 683/841/3722 633/773/3723 -f 683/841/3724 681/828/3725 633/773/3726 -f 657/797/3727 656/796/3728 608/748/3729 -f 656/796/3730 613/753/3731 608/748/3732 -f 588/729/3733 608/748/3734 612/752/3735 -f 608/748/3736 613/753/3737 612/752/3738 -f 583/723/3739 588/729/3740 612/752/3741 -f 577/718/3742 602/742/3743 615/755/3744 -f 615/755/3745 602/742/3746 600/739/3747 -f 570/710/3748 680/825/3749 572/711/3750 -f 570/710/3751 664/805/3752 680/825/3753 -f 654/794/3754 684/842/3755 653/793/3756 -f 684/842/3757 685/843/3758 653/793/3759 -f 653/793/3760 685/843/3761 651/791/3762 -f 685/843/3763 652/844/3764 651/791/3765 -f 686/845/3766 688/846/3767 687/847/3768 -f 688/846/3769 689/848/3770 687/847/3771 -f 688/846/3772 690/849/3773 689/848/3774 -f 690/849/3775 691/850/3776 689/848/3777 -f 686/845/3778 687/847/3779 657/797/3780 -f 687/847/3781 692/851/3782 657/797/3783 -f 692/851/3784 684/842/3785 655/795/3786 -f 684/842/3787 654/794/3788 655/795/3789 -f 656/796/3790 692/851/3791 655/795/3792 -f 657/797/3793 692/851/3794 656/796/3795 -f 690/849/3796 693/852/3797 691/850/3798 -f 693/852/3799 694/853/3800 691/850/3801 -f 481/643/3802 623/854/3803 419/590/3804 -f 623/854/3805 663/803/3806 419/590/3807 -f 659/799/3808 663/803/3809 621/855/3810 -f 663/803/3811 623/854/3812 621/855/3813 -f 661/801/3814 660/800/3815 695/856/3816 -f 660/800/3817 696/857/3818 695/856/3819 -f 695/856/3820 697/858/3821 661/801/3822 -f 697/858/3823 698/859/3824 661/801/3825 -f 699/860/3826 662/802/3827 700/861/3828 -f 662/802/3829 698/859/3830 700/861/3831 -f 621/761/3832 701/862/3833 696/863/3834 -f 574/715/3835 695/864/3836 696/863/3837 -f 700/861/3838 698/859/3839 702/865/3840 -f 698/859/3841 697/858/3842 702/865/3843 -f 662/802/3844 661/801/3845 698/859/3846 -f 703/866/3847 639/779/3848 704/867/3849 -f 639/779/3850 640/780/3851 704/867/3852 -f 705/868/3853 691/850/3854 706/869/3855 -f 691/850/3856 694/853/3857 706/869/3858 -f 707/870/3859 689/848/3860 705/868/3861 -f 689/848/3862 691/850/3863 705/868/3864 -f 708/871/3865 687/847/3866 707/870/3867 -f 687/847/3868 689/848/3869 707/870/3870 -f 687/847/3871 708/871/3872 692/851/3873 -f 708/871/3874 709/872/3875 692/851/3876 -f 692/851/3877 709/872/3878 684/842/3879 -f 709/872/3880 710/873/3881 684/842/3882 -f 711/874/3883 685/843/3884 710/873/3885 -f 685/843/3886 684/842/3887 710/873/3888 -f 642/783/3889 705/875/3890 641/781/3891 -f 705/875/3892 706/876/3893 641/781/3894 -f 644/784/3895 707/877/3896 642/783/3897 -f 707/877/3898 705/875/3899 642/783/3900 -f 645/785/3901 708/878/3902 644/784/3903 -f 708/878/3904 707/877/3905 644/784/3906 -f 709/879/3907 708/878/3908 647/787/3909 -f 708/878/3910 645/785/3911 647/787/3912 -f 709/879/3913 647/787/3914 646/786/3915 -f 648/788/3916 710/880/3917 646/786/3918 -f 710/880/3919 709/879/3920 646/786/3921 -f 711/881/3922 710/880/3923 649/789/3924 -f 710/880/3925 648/788/3926 649/789/3927 -f 649/789/3928 650/790/3929 711/881/3930 -f 650/790/3931 678/882/3932 711/881/3933 -f 706/869/3934 694/853/3935 637/776/3936 -f 694/853/3937 638/778/3938 637/776/3939 -f 712/883/3940 637/884/3941 713/885/3942 -f 637/884/3943 635/886/3944 713/885/3945 -f 714/887/3946 715/888/3947 638/778/3948 -f 715/888/3949 636/777/3950 638/778/3951 -f 715/888/3952 716/889/3953 636/777/3954 -f 716/889/3955 640/780/3956 636/777/3957 -f 713/885/3958 635/886/3959 717/890/3960 -f 635/886/3961 639/891/3962 717/890/3963 -f 703/892/3964 717/890/3965 639/891/3966 -f 716/889/3967 718/893/3968 640/780/3969 -f 718/893/3970 704/867/3971 640/780/3972 -f 641/781/3973 706/876/3974 712/883/3975 -f 706/876/3976 637/884/3977 712/883/3978 -f 693/852/3979 714/887/3980 694/853/3981 -f 714/887/3982 638/778/3983 694/853/3984 -f 719/894/3985 643/782/3986 720/895/3987 -f 697/896/3988 575/714/3989 702/897/3990 -f 574/715/3991 683/841/3992 573/713/3993 -f 652/844/3994 685/843/3995 678/898/3996 -f 685/843/3997 711/874/3998 678/898/3999 -f 721/899/4000 723/900/4001 722/901/4002 -f 722/901/4003 723/900/4004 693/852/4005 -f 693/852/4006 723/900/4007 714/887/4008 -f 715/888/4009 714/887/4010 723/900/4011 -f 724/902/4012 725/903/4013 721/899/4014 -f 725/903/4015 726/904/4016 721/899/4017 -f 727/905/4018 634/774/4019 728/906/4020 -f 634/774/4021 729/907/4022 728/906/4023 -f 658/798/4024 607/747/4025 730/908/4026 -f 730/908/4027 607/747/4028 731/909/4029 -f 607/747/4030 611/751/4031 731/909/4032 -f 690/849/4033 688/846/4034 732/910/4035 -f 658/798/4036 730/908/4037 688/846/4038 -f 688/846/4039 730/908/4040 732/910/4041 -f 693/852/4042 690/849/4043 722/901/4044 -f 690/849/4045 732/910/4046 722/901/4047 -f 730/908/4048 733/911/4049 732/910/4050 -f 733/911/4051 734/912/4052 732/910/4053 -f 724/902/4054 721/899/4055 735/913/4056 -f 721/899/4057 736/914/4058 735/913/4059 -f 722/901/4060 736/914/4061 721/899/4062 -f 732/910/4063 734/912/4064 722/901/4065 -f 737/915/4066 738/916/4067 731/909/4068 -f 727/905/4069 739/917/4070 737/915/4071 -f 724/902/4072 735/913/4073 727/905/4074 -f 735/913/4075 739/917/4076 727/905/4077 -f 730/908/4078 731/909/4079 733/911/4080 -f 731/909/4081 738/916/4082 733/911/4083 -f 728/906/4084 725/903/4085 727/905/4086 -f 725/903/4087 724/902/4088 727/905/4089 -f 718/893/4090 699/860/4091 704/867/4092 -f 699/860/4093 700/861/4094 704/867/4095 -f 703/866/4096 704/867/4097 702/865/4098 -f 704/867/4099 700/861/4100 702/865/4101 -f 731/909/4102 611/751/4103 737/915/4104 -f 727/905/4105 737/915/4106 634/774/4107 -f 634/774/4108 737/915/4109 611/751/4110 -f 688/846/4111 686/845/4112 658/798/4113 -f 658/798/4114 686/845/4115 657/797/4116 -f 658/798/4117 608/748/4118 607/747/4119 -f 627/768/4120 645/785/4121 644/784/4122 -f 631/771/4123 643/782/4124 719/894/4125 -f 719/894/4126 573/713/4127 631/771/4128 -f 627/768/4129 643/782/4130 631/771/4131 -f 738/916/4132 737/915/4133 733/911/4134 -f 722/901/4135 734/912/4136 733/911/4137 -f 735/913/4138 736/914/4139 733/911/4140 -f 736/914/4141 722/901/4142 733/911/4143 -f 737/915/4144 739/917/4145 733/911/4146 -f 739/917/4147 735/913/4148 733/911/4149 -f 725/903/4150 718/893/4151 726/904/4152 -f 718/893/4153 716/889/4154 726/904/4155 -f 699/860/4156 718/893/4157 728/906/4158 -f 718/893/4159 725/903/4160 728/906/4161 -f 726/904/4162 723/900/4163 721/899/4164 -f 715/888/4165 723/900/4166 726/904/4167 -f 726/904/4168 716/889/4169 715/888/4170 -f 662/802/4171 699/860/4172 729/907/4173 -f 699/860/4174 728/906/4175 729/907/4176 -f 609/749/4177 729/907/4178 610/750/4179 -f 729/907/4180 634/774/4181 610/750/4182 -f 587/727/4183 606/746/4184 594/733/4185 -f 606/746/4186 609/749/4187 594/733/4188 -f 585/726/4189 587/727/4190 592/732/4191 -f 587/727/4192 594/733/4193 592/732/4194 -f 585/726/4195 592/732/4196 673/814/4197 -f 592/732/4198 668/809/4199 673/814/4200 -f 673/833/4201 668/826/4202 682/834/4203 -f 668/826/4204 681/828/4205 682/834/4206 -f 682/834/4207 681/828/4208 701/862/4209 -f 681/828/4210 683/841/4211 701/862/4212 -f 606/746/4213 662/802/4214 609/749/4215 -f 662/802/4216 729/907/4217 609/749/4218 -f 696/863/4219 701/862/4220 574/715/4221 -f 606/746/4222 605/745/4223 659/799/4224 -f 621/855/4225 696/857/4226 659/799/4227 -f 696/857/4228 660/800/4229 659/799/4230 -f 621/761/4231 622/763/4232 701/862/4233 -f 622/763/4234 682/834/4235 701/862/4236 -f 701/862/4237 683/841/4238 574/715/4239 -f 697/896/4240 695/864/4241 574/715/4242 -f 574/715/4243 575/714/4244 697/896/4245 -f 575/714/4246 740/918/4247 702/897/4248 -f 741/919/4249 703/892/4250 702/897/4251 -f 702/897/4252 740/918/4253 741/919/4254 -f 703/892/4255 741/919/4256 717/890/4257 -f 573/713/4258 683/841/4259 632/772/4260 -f 575/714/4261 573/713/4262 719/894/4263 -f 719/894/4264 740/918/4265 575/714/4266 -f 740/918/4267 719/894/4268 741/919/4269 -f 741/919/4270 719/894/4271 720/895/4272 -f 717/890/4273 741/919/4274 720/895/4275 -f 720/895/4276 713/885/4277 717/890/4278 -f 712/883/4279 713/885/4280 720/895/4281 -f 641/781/4282 712/883/4283 720/895/4284 -f 643/782/4285 641/781/4286 720/895/4287 -f 772/920/4288 845/921/4289 940/922/4290 -f 940/922/4291 845/921/4292 939/923/4293 -f 774/924/4294 773/925/4295 942/926/4296 -f 942/926/4297 773/925/4298 941/927/4299 -f 775/928/4300 774/924/4301 943/929/4302 -f 943/929/4303 774/924/4304 942/926/4305 -f 776/930/4306 775/928/4307 944/931/4308 -f 944/931/4309 775/928/4310 943/929/4311 -f 778/932/4312 777/933/4313 946/934/4314 -f 946/934/4315 777/933/4316 945/935/4317 -f 743/936/4318 778/932/4319 769/937/4320 -f 769/937/4321 778/932/4322 946/934/4323 -f 773/925/4324 774/924/4325 779/938/4326 -f 779/938/4327 774/924/4328 780/939/4329 -f 774/924/4330 775/928/4331 780/939/4332 -f 780/939/4333 775/928/4334 781/940/4335 -f 775/928/4336 776/930/4337 781/940/4338 -f 781/940/4339 776/930/4340 782/941/4341 -f 783/942/4342 777/933/4343 784/943/4344 -f 784/943/4345 777/933/4346 778/932/4347 -f 743/936/4348 754/944/4349 778/932/4350 -f 778/932/4351 754/944/4352 784/943/4353 -f 786/945/4354 787/946/4355 785/947/4356 -f 785/947/4357 787/946/4358 788/948/4359 -f 787/946/4360 790/949/4361 788/948/4362 -f 788/948/4363 790/949/4364 789/950/4365 -f 790/949/4366 792/951/4367 789/950/4368 -f 789/950/4369 792/951/4370 791/952/4371 -f 792/951/4372 794/953/4373 791/952/4374 -f 791/952/4375 794/953/4376 793/954/4377 -f 796/955/4378 795/956/4379 797/957/4380 -f 797/957/4381 795/956/4382 798/958/4383 -f 744/959/4384 745/960/4385 795/956/4386 -f 795/956/4387 745/960/4388 798/958/4389 -f 785/947/4390 788/948/4391 799/961/4392 -f 799/961/4393 788/948/4394 800/962/4395 -f 788/948/4396 789/950/4397 800/962/4398 -f 800/962/4399 789/950/4400 801/963/4401 -f 789/950/4402 791/952/4403 801/963/4404 -f 801/963/4405 791/952/4406 802/964/4407 -f 791/952/4408 793/954/4409 802/964/4410 -f 802/964/4411 793/954/4412 803/965/4413 -f 797/957/4414 798/958/4415 804/966/4416 -f 804/966/4417 798/958/4418 805/967/4419 -f 745/960/4420 768/968/4421 798/958/4422 -f 798/958/4423 768/968/4424 805/967/4425 -f 806/969/4426 807/970/4427 809/971/4428 -f 809/971/4429 807/970/4430 808/972/4431 -f 811/973/4432 810/974/4433 808/972/4434 -f 808/972/4435 810/974/4436 809/971/4437 -f 811/973/4438 813/975/4439 810/974/4440 -f 810/974/4441 813/975/4442 812/976/4443 -f 816/977/4444 746/978/4445 817/979/4446 -f 817/979/4447 746/978/4448 747/980/4449 -f 819/981/4450 809/971/4451 820/982/4452 -f 820/982/4453 809/971/4454 810/974/4455 -f 820/982/4456 810/974/4457 821/983/4458 -f 821/983/4459 810/974/4460 812/976/4461 -f 962/984/4462 963/985/4463 935/986/4464 -f 935/986/4465 963/985/4466 814/987/4467 -f 814/987/4468 817/979/4469 935/986/4470 -f 935/986/4471 817/979/4472 824/988/4473 -f 817/979/4474 747/980/4475 824/988/4476 -f 824/988/4477 747/980/4478 748/989/4479 -f 932/990/4480 933/991/4481 819/981/4482 -f 1019/992/4483 933/991/4484 818/993/4485 -f 819/981/4486 820/982/4487 932/990/4488 -f 932/990/4489 820/982/4490 930/994/4491 -f 820/982/4492 821/983/4493 930/994/4494 -f 930/994/4495 821/983/4496 931/995/4497 -f 965/996/4498 822/997/4499 966/998/4500 -f 966/998/4501 822/997/4502 929/999/4503 -f 823/1000/4504 928/1001/4505 822/997/4506 -f 822/997/4507 928/1001/4508 929/999/4509 -f 748/989/4510 767/1002/4511 824/988/4512 -f 824/988/4513 767/1002/4514 927/1003/4515 -f 825/1004/4516 827/1005/4517 826/1006/4518 -f 826/1006/4519 827/1005/4520 828/1007/4521 -f 827/1005/4522 830/1008/4523 828/1007/4524 -f 828/1007/4525 830/1008/4526 829/1009/4527 -f 830/1008/4528 832/1010/4529 829/1009/4530 -f 829/1009/4531 832/1010/4532 831/1011/4533 -f 833/1012/4534 826/1006/4535 834/1013/4536 -f 834/1013/4537 826/1006/4538 828/1007/4539 -f 829/1009/4540 835/1014/4541 828/1007/4542 -f 828/1007/4543 835/1014/4544 834/1013/4545 -f 831/1011/4546 836/1015/4547 829/1009/4548 -f 829/1009/4549 836/1015/4550 835/1014/4551 -f 831/1011/4552 838/1016/4553 836/1015/4554 -f 836/1015/4555 838/1016/4556 837/1017/4557 -f 838/1016/4558 840/1018/4559 837/1017/4560 -f 837/1017/4561 840/1018/4562 839/1019/4563 -f 841/1020/4564 750/1021/4565 842/1022/4566 -f 842/1022/4567 750/1021/4568 751/1023/4569 -f 920/1024/4570 833/1012/4571 863/1025/4572 -f 863/1025/4573 833/1012/4574 834/1013/4575 -f 835/1014/4576 864/1026/4577 834/1013/4578 -f 834/1013/4579 864/1026/4580 863/1025/4581 -f 836/1015/4582 865/1027/4583 835/1014/4584 -f 835/1014/4585 865/1027/4586 864/1026/4587 -f 837/1017/4588 866/1028/4589 836/1015/4590 -f 836/1015/4591 866/1028/4592 865/1027/4593 -f 837/1017/4594 839/1019/4595 866/1028/4596 -f 866/1028/4597 839/1019/4598 867/1029/4599 -f 842/1022/4600 751/1023/4601 868/1030/4602 -f 868/1030/4603 751/1023/4604 752/1031/4605 -f 904/1032/4606 818/993/4607 934/1033/4608 -f 934/1033/4609 818/993/4610 933/991/4611 -f 825/1004/4612 826/1006/4613 900/1034/4614 -f 900/1034/4615 826/1006/4616 901/1035/4617 -f 833/1012/4618 902/1036/4619 903/2571/4620 -f 843/1038/4621 845/921/4622 844/1039/4623 -f 904/1032/4624 905/1040/4625 861/1041/4626 -f 861/1041/4627 905/1040/4628 862/1042/4629 -f 905/1040/4630 906/1043/4631 862/1042/4632 -f 904/1032/4633 846/1044/4634 818/993/4635 -f 847/1045/4636 753/1046/4637 816/977/4638 -f 816/977/4639 753/1046/4640 746/978/4641 -f 948/1047/4642 947/1048/4643 964/1049/4644 -f 964/1049/4645 947/1048/4646 815/1050/4647 -f 848/1051/4648 849/1052/4649 811/973/4650 -f 811/973/4651 849/1052/4652 813/975/4653 -f 850/1053/4654 848/1051/4655 808/972/4656 -f 808/972/4657 848/1051/4658 811/973/4659 -f 851/1054/4660 850/1053/4661 807/970/4662 -f 807/970/4663 850/1053/4664 808/972/4665 -f 844/1039/4666 854/1055/4667 852/1056/4668 -f 852/1056/4669 854/1055/4670 853/1057/4671 -f 856/1058/4672 786/945/4673 785/947/4674 -f 786/945/4675 856/1058/4676 855/1059/4677 -f 785/947/4678 799/961/4679 856/1058/4680 -f 856/1058/4681 799/961/4682 857/1060/4683 -f 807/970/4684 859/1061/4685 858/1062/4686 -f 859/1061/4687 807/970/4688 806/969/4689 -f 860/1063/4690 807/970/4691 858/1062/4692 -f 807/970/4693 860/1063/4694 851/1054/4695 -f 784/943/4696 754/944/4697 795/956/4698 -f 795/956/4699 754/944/4700 744/959/4701 -f 783/942/4702 784/943/4703 796/955/4704 -f 796/955/4705 784/943/4706 795/956/4707 -f 781/940/4708 782/941/4709 792/951/4710 -f 792/951/4711 782/941/4712 794/953/4713 -f 780/939/4714 781/940/4715 790/949/4716 -f 790/949/4717 781/940/4718 792/951/4719 -f 779/938/4720 780/939/4721 787/946/4722 -f 787/946/4723 780/939/4724 790/949/4725 -f 854/1055/4726 779/938/4727 786/945/4728 -f 786/945/4729 779/938/4730 787/946/4731 -f 854/1055/4732 786/945/4733 853/1057/4734 -f 853/1057/4735 786/945/4736 855/1059/4737 -f 862/1064/4738 950/1065/4739 861/1066/4740 -f 861/1066/4741 950/1065/4742 949/1067/4743 -f 852/1068/4744 853/1069/4745 1020/1070/4746 -f 951/1071/4747 853/1069/4748 952/1072/4749 -f 855/1073/4750 856/1074/4751 953/1075/4752 -f 953/1075/4753 856/1074/4754 954/1076/4755 -f 856/1074/4756 857/1077/4757 954/1076/4758 -f 954/1076/4759 857/1077/4760 955/1078/4761 -f 859/1079/4762 957/1080/4763 858/1081/4764 -f 858/1081/4765 957/1080/4766 956/1082/4767 -f 861/1083/4768 949/1084/4769 859/1079/4770 -f 859/1079/4771 949/1084/4772 957/1080/4773 -f 858/1081/4774 956/1082/4775 860/1085/4776 -f 860/1085/4777 956/1082/4778 958/1086/4779 -f 853/1069/4780 855/1073/4781 952/1072/4782 -f 952/1072/4783 855/1073/4784 953/1075/4785 -f 861/1041/4786 846/1044/4787 904/1032/4788 -f 846/1044/4789 859/1061/4790 806/969/4791 -f 859/1061/4792 846/1044/4793 861/1041/4794 -f 862/1042/4795 906/1043/4796 926/1087/4797 -f 926/1087/4798 906/1043/4799 925/1088/4800 -f 950/1065/4801 862/1064/4802 959/1089/4803 -f 959/1089/4804 862/1064/4805 926/1090/4806 -f 843/1038/4807 844/1039/4808 852/1056/4809 -f 854/1055/4810 844/1039/4811 772/920/4812 -f 772/920/4813 844/1039/4814 845/921/4815 -f 773/925/4816 772/920/4817 941/927/4818 -f 941/927/4819 772/920/4820 940/922/4821 -f 863/1025/4822 864/1026/4823 869/1091/4824 -f 865/1027/4825 872/1092/4826 864/1026/4827 -f 864/1026/4828 872/1092/4829 869/1091/4830 -f 866/1028/4831 876/1093/4832 865/1027/4833 -f 865/1027/4834 876/1093/4835 872/1092/4836 -f 866/1028/4837 867/1029/4838 876/1093/4839 -f 876/1093/4840 867/1029/4841 878/1094/4842 -f 868/1030/4843 752/1031/4844 879/1095/4845 -f 879/1095/4846 752/1031/4847 755/1096/4848 -f 871/1097/4849 870/1098/4850 872/1092/4851 -f 872/1092/4852 870/1098/4853 869/1091/4854 -f 873/1099/4855 874/1100/4856 757/1101/4857 -f 757/1101/4858 874/1100/4859 758/1102/4860 -f 874/1100/4861 875/1103/4862 758/1102/4863 -f 758/1102/4864 875/1103/4865 759/1104/4866 -f 877/1105/4867 871/1097/4868 876/1093/4869 -f 876/1093/4870 871/1097/4871 872/1092/4872 -f 878/1094/4873 877/1105/4874 876/1093/4875 -f 755/1096/4876 759/1104/4877 879/1095/4878 -f 879/1095/4879 759/1104/4880 875/1103/4881 -f 877/1105/4882 880/1106/4883 871/1097/4884 -f 880/1106/4885 881/1107/4886 871/1097/4887 -f 871/1097/4888 881/1107/4889 870/1098/4890 -f 882/1108/4891 885/1109/4892 883/1110/4893 -f 883/1110/4894 885/1109/4895 884/1111/4896 -f 886/1112/4897 760/1113/4898 887/1114/4899 -f 887/1114/4900 760/1113/4901 761/1115/4902 -f 885/1109/4903 889/1116/4904 884/1111/4905 -f 884/1111/4906 889/1116/4907 888/1117/4908 -f 890/1118/4909 893/1119/4910 891/1120/4911 -f 891/1120/4912 893/1119/4913 892/1121/4914 -f 894/1122/4915 895/1123/4916 891/1120/4917 -f 891/1120/4918 895/1123/4919 890/1118/4920 -f 764/1124/4921 897/1125/4922 765/1126/4923 -f 765/1126/4924 897/1125/4925 896/1127/4926 -f 898/1128/4927 762/1129/4928 896/1127/4929 -f 896/1127/4930 762/1129/4931 765/1126/4932 -f 894/1122/4933 891/1120/4934 899/1130/4935 -f 899/1130/4936 891/1120/4937 892/1121/4938 -f 901/2574/4939 907/1131/4940 900/1034/4941 -f 903/1037/4942 907/1131/4943 901/2574/4944 -f 902/2572/4945 907/1131/4946 903/1037/4947 -f 907/1131/4948 902/2572/4949 909/1132/4950 -f 934/1033/4951 1017/1133/4952 904/1032/4953 -f 904/1032/4954 1017/1133/4955 905/1040/4956 -f 911/2566/4957 1002/1135/4958 909/1132/4959 -f 909/1132/4960 1002/1135/4961 907/1131/4962 -f 909/2568/4963 908/1136/4964 911/1134/4965 -f 910/1137/4966 908/1136/4967 909/2568/4968 -f 913/1138/4969 912/1139/4970 916/1140/4971 -f 916/1140/4972 912/1139/4973 917/1141/4974 -f 913/1138/4975 916/1140/4976 914/1142/4977 -f 914/1142/4978 916/1140/4979 918/1143/4980 -f 763/1144/4981 766/1145/4982 919/1146/4983 -f 919/1146/4984 766/1145/4985 915/1147/4986 -f 882/1108/4987 883/1110/4988 910/1137/4989 -f 910/1137/4990 883/1110/4991 908/1136/4992 -f 917/1141/4993 893/1119/4994 916/1140/4995 -f 916/1140/4996 893/1119/4997 890/1118/4998 -f 895/1123/4999 918/1143/5000 890/1118/5001 -f 890/1118/5002 918/1143/5003 916/1140/5004 -f 919/1146/5005 897/1125/5006 763/1144/5007 -f 763/1144/5008 897/1125/5009 764/1124/5010 -f 921/1148/5011 756/1149/5012 886/1112/5013 -f 886/1112/5014 756/1149/5015 760/1113/5016 -f 889/1116/5017 885/1109/5018 922/1150/5019 -f 922/1150/5020 885/1109/5021 923/1151/5022 -f 923/1151/5023 885/1109/5024 924/1152/5025 -f 924/1152/5026 885/1109/5027 882/1108/5028 -f 920/1024/5029 924/1152/5030 910/1137/5031 -f 910/1137/5032 924/1152/5033 882/1108/5034 -f 1019/992/5035 806/969/5036 809/971/5037 -f 846/1044/5038 1019/992/5039 818/993/5040 -f 924/1152/5041 869/1091/5042 923/1151/5043 -f 923/1151/5044 869/1091/5045 870/1098/5046 -f 923/1151/5047 870/1098/5048 922/1150/5049 -f 922/1150/5050 870/1098/5051 881/1107/5052 -f 757/1101/5053 756/1149/5054 873/1099/5055 -f 873/1099/5056 756/1149/5057 921/1148/5058 -f 826/1006/5059 833/1012/5060 901/1035/5061 -f 901/1035/5062 833/1012/5063 903/2571/5064 -f 902/1036/5065 833/1012/5066 920/1024/5067 -f 869/1091/5068 924/1152/5069 863/1025/5070 -f 863/1025/5071 924/1152/5072 920/1024/5073 -f 854/1055/5074 772/920/5075 779/938/5076 -f 779/938/5077 772/920/5078 773/925/5079 -f 925/1088/5080 976/1153/5081 843/1038/5082 -f 843/1038/5083 976/1153/5084 971/1154/5085 -f 926/1087/5086 925/1088/5087 852/1056/5088 -f 852/1056/5089 925/1088/5090 843/1038/5091 -f 852/1155/5092 1020/1156/5093 926/1090/5094 -f 926/1090/5095 951/1157/5096 959/1089/5097 -f 1017/1133/5098 934/1033/5099 907/1131/5100 -f 767/1002/5101 749/1158/5102 927/1003/5103 -f 927/1003/5104 749/1158/5105 936/1159/5106 -f 938/1160/5107 929/999/5108 937/1161/5109 -f 937/1161/5110 929/999/5111 928/1001/5112 -f 938/1160/5113 968/1162/5114 929/999/5115 -f 929/999/5116 968/1162/5117 966/998/5118 -f 930/994/5119 931/995/5120 830/1008/5121 -f 830/1008/5122 931/995/5123 832/1010/5124 -f 932/990/5125 930/994/5126 827/1005/5127 -f 827/1005/5128 930/994/5129 830/1008/5130 -f 969/1163/5131 1018/1164/5132 983/1165/5133 -f 843/1038/5134 969/1163/5135 939/923/5136 -f 939/923/5137 969/1163/5138 987/1166/5139 -f 987/1166/5140 993/1167/5141 939/923/5142 -f 939/923/5143 993/1167/5144 940/922/5145 -f 941/927/5146 940/922/5147 992/1168/5148 -f 992/1168/5149 940/922/5150 993/1167/5151 -f 942/926/5152 941/927/5153 989/1169/5154 -f 989/1169/5155 941/927/5156 992/1168/5157 -f 943/929/5158 942/926/5159 988/1170/5160 -f 988/1170/5161 942/926/5162 989/1169/5163 -f 944/931/5164 943/929/5165 990/1171/5166 -f 990/1171/5167 943/929/5168 988/1170/5169 -f 946/934/5170 945/935/5171 991/1172/5172 -f 991/1172/5173 945/935/5174 994/1173/5175 -f 769/937/5176 946/934/5177 742/1174/5178 -f 742/1174/5179 946/934/5180 991/1172/5181 -f 768/968/5182 753/1046/5183 805/967/5184 -f 805/967/5185 753/1046/5186 847/1045/5187 -f 804/966/5188 805/967/5189 947/1048/5190 -f 947/1048/5191 805/967/5192 847/1045/5193 -f 802/964/5194 803/965/5195 849/1052/5196 -f 849/1052/5197 803/965/5198 948/1047/5199 -f 801/963/5200 802/964/5201 848/1051/5202 -f 848/1051/5203 802/964/5204 849/1052/5205 -f 800/962/5206 801/963/5207 850/1053/5208 -f 850/1053/5209 801/963/5210 848/1051/5211 -f 799/961/5212 800/962/5213 851/1054/5214 -f 851/1054/5215 800/962/5216 850/1053/5217 -f 851/1054/5218 860/1063/5219 799/961/5220 -f 799/961/5221 860/1063/5222 857/1060/5223 -f 857/1077/5224 860/1085/5225 955/1078/5226 -f 955/1078/5227 860/1085/5228 958/1086/5229 -f 976/1153/5230 925/1088/5231 974/1175/5232 -f 974/1175/5233 925/1088/5234 906/1043/5235 -f 909/2568/5236 902/1036/5237 910/1137/5238 -f 910/1137/5239 902/1036/5240 920/1024/5241 -f 960/1176/5242 832/1010/5243 961/1177/5244 -f 961/1177/5245 832/1010/5246 931/995/5247 -f 821/983/5248 962/984/5249 931/995/5250 -f 931/995/5251 962/984/5252 961/1177/5253 -f 812/976/5254 963/985/5255 821/983/5256 -f 821/983/5257 963/985/5258 962/984/5259 -f 813/975/5260 964/1049/5261 812/976/5262 -f 812/976/5263 964/1049/5264 963/985/5265 -f 849/1052/5266 948/1047/5267 813/975/5268 -f 813/975/5269 948/1047/5270 964/1049/5271 -f 822/997/5272 965/996/5273 935/986/5274 -f 935/986/5275 965/996/5276 962/984/5277 -f 824/988/5278 823/1000/5279 935/986/5280 -f 935/986/5281 823/1000/5282 822/997/5283 -f 824/988/5284 927/1003/5285 823/1000/5286 -f 823/1000/5287 927/1003/5288 928/1001/5289 -f 966/998/5290 961/1177/5291 965/996/5292 -f 965/996/5293 961/1177/5294 962/984/5295 -f 936/1159/5296 937/1161/5297 927/1003/5298 -f 927/1003/5299 937/1161/5300 928/1001/5301 -f 936/1159/5302 967/1178/5303 937/1161/5304 -f 937/1161/5305 967/1178/5306 938/1160/5307 -f 938/1160/5308 967/1178/5309 968/1162/5310 -f 968/1162/5311 967/1178/5312 960/1176/5313 -f 960/1176/5314 961/1177/5315 968/1162/5316 -f 968/1162/5317 961/1177/5318 966/998/5319 -f 803/965/5320 804/966/5321 948/1047/5322 -f 948/1047/5323 804/966/5324 947/1048/5325 -f 793/954/5326 797/957/5327 803/965/5328 -f 803/965/5329 797/957/5330 804/966/5331 -f 794/953/5332 796/955/5333 793/954/5334 -f 793/954/5335 796/955/5336 797/957/5337 -f 782/941/5338 783/942/5339 794/953/5340 -f 794/953/5341 783/942/5342 796/955/5343 -f 776/930/5344 777/933/5345 782/941/5346 -f 782/941/5347 777/933/5348 783/942/5349 -f 777/933/5350 776/930/5351 945/935/5352 -f 945/935/5353 776/930/5354 944/931/5355 -f 945/935/5356 944/931/5357 994/1173/5358 -f 994/1173/5359 944/931/5360 990/1171/5361 -f 947/1048/5362 847/1045/5363 815/1050/5364 -f 815/1050/5365 847/1045/5366 816/977/5367 -f 840/1018/5368 841/1020/5369 839/1019/5370 -f 839/1019/5371 841/1020/5372 842/1022/5373 -f 839/1019/5374 842/1022/5375 867/1029/5376 -f 867/1029/5377 842/1022/5378 868/1030/5379 -f 867/1029/5380 868/1030/5381 878/1094/5382 -f 878/1094/5383 868/1030/5384 879/1095/5385 -f 879/1095/5386 875/1103/5387 878/1094/5388 -f 878/1094/5389 875/1103/5390 877/1105/5391 -f 875/1103/5392 874/1100/5393 877/1105/5394 -f 877/1105/5395 874/1100/5396 880/1106/5397 -f 874/1100/5398 873/1099/5399 880/1106/5400 -f 880/1106/5401 873/1099/5402 881/1107/5403 -f 873/1099/5404 921/1148/5405 881/1107/5406 -f 881/1107/5407 921/1148/5408 922/1150/5409 -f 886/1112/5410 889/1116/5411 921/1148/5412 -f 921/1148/5413 889/1116/5414 922/1150/5415 -f 889/1116/5416 886/1112/5417 888/1117/5418 -f 888/1117/5419 886/1112/5420 887/1114/5421 -f 896/1127/5422 894/1122/5423 898/1128/5424 -f 898/1128/5425 894/1122/5426 899/1130/5427 -f 897/1125/5428 895/1123/5429 896/1127/5430 -f 896/1127/5431 895/1123/5432 894/1122/5433 -f 897/1125/5434 919/1146/5435 895/1123/5436 -f 895/1123/5437 919/1146/5438 918/1143/5439 -f 914/1142/5440 918/1143/5441 915/1147/5442 -f 915/1147/5443 918/1143/5444 919/1146/5445 -f 841/1020/5446 840/1018/5447 936/1159/5448 -f 936/1159/5449 840/1018/5450 967/1178/5451 -f 750/1021/5452 841/1020/5453 749/1158/5454 -f 749/1158/5455 841/1020/5456 936/1159/5457 -f 840/1018/5458 838/1016/5459 967/1178/5460 -f 967/1178/5461 838/1016/5462 960/1176/5463 -f 832/1010/5464 960/1176/5465 831/1011/5466 -f 831/1011/5467 960/1176/5468 838/1016/5469 -f 932/990/5470 827/1005/5471 933/991/5472 -f 827/1005/5473 825/1004/5474 933/991/5475 -f 934/1033/5476 933/991/5477 900/1034/5478 -f 900/1034/5479 933/991/5480 825/1004/5481 -f 900/1034/5482 907/1131/5483 934/1033/5484 -f 1018/1164/5485 971/1154/5486 977/1179/5487 -f 939/923/5488 845/921/5489 843/1038/5490 -f 1017/1133/5491 907/1131/5492 1016/1180/5493 -f 1016/1180/5494 907/1131/5495 1002/1135/5496 -f 905/1040/5497 982/1181/5498 906/1043/5499 -f 906/1043/5500 982/1181/5501 974/1175/5502 -f 982/1182/5503 905/1040/5504 1003/1183/5505 -f 1018/1164/5506 977/1179/5507 979/1184/5508 -f 984/1185/5509 970/1186/5510 983/1165/5511 -f 983/1165/5512 970/1186/5513 969/1163/5514 -f 976/1153/5515 975/1187/5516 971/1154/5517 -f 971/1154/5518 975/1187/5519 972/1188/5520 -f 978/1189/5521 977/1179/5522 972/1188/5523 -f 972/1188/5524 977/1179/5525 971/1154/5526 -f 975/1187/5527 976/1153/5528 973/1190/5529 -f 973/1190/5530 976/1153/5531 974/1175/5532 -f 977/1179/5533 978/1189/5534 979/1184/5535 -f 979/1184/5536 978/1189/5537 980/1191/5538 -f 982/1181/5539 981/1192/5540 974/1175/5541 -f 974/1175/5542 981/1192/5543 973/1190/5544 -f 981/1193/5545 982/1182/5546 1004/1194/5547 -f 1004/1194/5548 982/1182/5549 1003/1183/5550 -f 983/1165/5551 986/1195/5552 984/1185/5553 -f 984/1185/5554 986/1195/5555 985/1196/5556 -f 988/1170/5557 989/1169/5558 995/1197/5559 -f 995/1197/5560 989/1169/5561 996/1198/5562 -f 990/1171/5563 988/1170/5564 997/1199/5565 -f 997/1199/5566 988/1170/5567 995/1197/5568 -f 742/1174/5569 991/1172/5570 770/1200/5571 -f 770/1200/5572 991/1172/5573 998/1201/5574 -f 989/1169/5575 992/1168/5576 996/1198/5577 -f 996/1198/5578 992/1168/5579 999/1202/5580 -f 992/1168/5581 993/1167/5582 999/1202/5583 -f 999/1202/5584 993/1167/5585 1000/1203/5586 -f 1000/1203/5587 993/1167/5588 970/1186/5589 -f 970/1186/5590 993/1167/5591 987/1166/5592 -f 970/1186/5593 987/1166/5594 969/1163/5595 -f 994/1173/5596 990/1171/5597 1001/1204/5598 -f 1001/1204/5599 990/1171/5600 997/1199/5601 -f 991/1172/5602 994/1173/5603 998/1201/5604 -f 998/1201/5605 994/1173/5606 1001/1204/5607 -f 908/1136/5608 917/1141/5609 911/1134/5610 -f 911/1134/5611 917/1141/5612 912/1139/5613 -f 887/1114/5614 761/1115/5615 898/1128/5616 -f 898/1128/5617 761/1115/5618 762/1129/5619 -f 888/1117/5620 887/1114/5621 899/1130/5622 -f 899/1130/5623 887/1114/5624 898/1128/5625 -f 884/1111/5626 888/1117/5627 892/1121/5628 -f 892/1121/5629 888/1117/5630 899/1130/5631 -f 883/1110/5632 884/1111/5633 893/1119/5634 -f 893/1119/5635 884/1111/5636 892/1121/5637 -f 883/1110/5638 893/1119/5639 908/1136/5640 -f 908/1136/5641 893/1119/5642 917/1141/5643 -f 986/1195/5644 983/1165/5645 1018/1164/5646 -f 986/1195/5647 979/1184/5648 985/1196/5649 -f 985/1196/5650 979/1184/5651 980/1191/5652 -f 986/1195/5653 1018/1164/5654 979/1184/5655 -f 1006/1205/5656 1005/1206/5657 912/1139/5658 -f 912/1139/5659 1005/1206/5660 911/1134/5661 -f 1007/1207/5662 1006/1205/5663 913/1138/5664 -f 913/1138/5665 1006/1205/5666 912/1139/5667 -f 1008/1208/5668 1007/1207/5669 914/1142/5670 -f 914/1142/5671 1007/1207/5672 913/1138/5673 -f 915/1147/5674 1009/1209/5675 914/1142/5676 -f 914/1142/5677 1009/1209/5678 1008/1208/5679 -f 766/1145/5680 771/1210/5681 915/1147/5682 -f 915/1147/5683 771/1210/5684 1009/1209/5685 -f 1015/1211/5686 1016/1180/5687 1010/1212/5688 -f 1010/1212/5689 1016/1180/5690 1002/1135/5691 -f 1010/1212/5692 1002/1135/5693 1005/2567/5694 -f 1005/2567/5695 1002/1135/5696 911/2566/5697 -f 815/1050/5698 814/987/5699 964/1049/5700 -f 964/1049/5701 814/987/5702 963/985/5703 -f 817/979/5704 814/987/5705 816/977/5706 -f 816/977/5707 814/987/5708 815/1050/5709 -f 1044/1213/5710 1045/1214/5711 970/1215/5712 -f 996/1216/5713 1023/1217/5714 995/1218/5715 -f 995/1218/5716 1023/1217/5717 1024/1219/5718 -f 997/1220/5719 995/1218/5720 1025/1221/5721 -f 1025/1221/5722 995/1218/5723 1024/1219/5724 -f 1027/1222/5725 1028/1223/5726 998/1224/5727 -f 998/1224/5728 1028/1223/5729 770/1225/5730 -f 1023/1217/5731 996/1216/5732 1022/1226/5733 -f 1022/1226/5734 996/1216/5735 999/1227/5736 -f 1022/1226/5737 1000/1228/5738 1021/1229/5739 -f 1000/1228/5740 1022/1226/5741 999/1227/5742 -f 972/1230/5743 1021/1229/5744 1045/1214/5745 -f 1045/1214/5746 1021/1229/5747 970/1215/5748 -f 970/1215/5749 1021/1229/5750 1000/1228/5751 -f 997/1220/5752 1025/1221/5753 1001/1231/5754 -f 1001/1231/5755 1025/1221/5756 1026/1232/5757 -f 1001/1231/5758 1026/1232/5759 998/1224/5760 -f 998/1224/5761 1026/1232/5762 1027/1222/5763 -f 1021/1229/5764 972/1230/5765 1012/1233/5766 -f 1012/1234/5767 972/1235/5768 1014/1236/5769 -f 955/1237/5770 959/1089/5771 954/1238/5772 -f 959/1089/5773 955/1237/5774 950/1065/5775 -f 955/1237/5776 958/1239/5777 950/1065/5778 -f 954/1238/5779 959/1089/5780 953/1240/5781 -f 953/1240/5782 959/1089/5783 952/1241/5784 -f 952/1241/5785 959/1089/5786 951/1157/5787 -f 958/1239/5788 956/1242/5789 950/1065/5790 -f 956/1242/5791 957/1243/5792 950/1065/5793 -f 950/1065/5794 957/1243/5795 949/1067/5796 -f 1011/1244/5797 1003/1183/5798 1015/1211/5799 -f 1015/1211/5800 1003/1183/5801 1016/1180/5802 -f 905/1040/5803 1017/1133/5804 1003/1183/5805 -f 1003/1183/5806 1017/1133/5807 1016/1180/5808 -f 1043/1245/5809 1044/1213/5810 984/1246/5811 -f 984/1246/5812 1044/1213/5813 970/1215/5814 -f 985/1247/5815 1043/1245/5816 984/1246/5817 -f 985/1247/5818 980/1248/5819 1043/1245/5820 -f 978/1249/5821 1046/1250/5822 980/1248/5823 -f 980/1248/5824 1046/1250/5825 1043/1245/5826 -f 1046/1250/5827 978/1249/5828 972/1230/5829 -f 969/1163/5830 843/1038/5831 1018/1164/5832 -f 843/1038/5833 971/1154/5834 1018/1164/5835 -f 806/969/5836 1019/992/5837 846/1044/5838 -f 1019/992/5839 809/971/5840 819/981/5841 -f 819/981/5842 933/991/5843 1019/992/5844 -f 1020/1070/5845 853/1069/5846 951/1071/5847 -f 926/1090/5848 1020/1156/5849 951/1157/5850 -f 1037/1251/5851 1013/1252/5852 1042/1253/5853 -f 1042/1253/5854 1013/1252/5855 1034/1254/5856 -f 1036/1255/5857 1014/1256/5858 1037/1251/5859 -f 1037/1251/5860 1014/1256/5861 1013/1252/5862 -f 1038/1257/5863 1030/1258/5864 1035/1259/5865 -f 1035/1259/5866 1030/1258/5867 1029/1260/5868 -f 1039/1261/5869 1031/1262/5870 1038/1257/5871 -f 1038/1257/5872 1031/1262/5873 1030/1258/5874 -f 1040/1263/5875 1032/1264/5876 1039/1261/5877 -f 1039/1261/5878 1032/1264/5879 1031/1262/5880 -f 1041/1265/5881 1033/1266/5882 1040/1263/5883 -f 1040/1263/5884 1033/1266/5885 1032/1264/5886 -f 1042/1253/5887 1034/1254/5888 1041/1265/5889 -f 1041/1265/5890 1034/1254/5891 1033/1266/5892 -f 1021/1229/5893 1012/1233/5894 1036/1255/5895 -f 1036/1255/5896 1012/1233/5897 1014/1256/5898 -f 1021/1229/5899 1036/1255/5900 1022/1226/5901 -f 1022/1226/5902 1036/1255/5903 1037/1251/5904 -f 1023/1217/5905 1022/1226/5906 1042/1253/5907 -f 1042/1253/5908 1022/1226/5909 1037/1251/5910 -f 1024/1219/5911 1023/1217/5912 1041/1265/5913 -f 1041/1265/5914 1023/1217/5915 1042/1253/5916 -f 1025/1221/5917 1024/1219/5918 1040/1263/5919 -f 1040/1263/5920 1024/1219/5921 1041/1265/5922 -f 1025/1221/5923 1040/1263/5924 1026/1232/5925 -f 1026/1232/5926 1040/1263/5927 1039/1261/5928 -f 1038/1257/5929 1027/1222/5930 1039/1261/5931 -f 1039/1261/5932 1027/1222/5933 1026/1232/5934 -f 1027/1222/5935 1038/1257/5936 1028/1223/5937 -f 1028/1223/5938 1038/1257/5939 1035/1259/5940 -f 972/1230/5941 1045/1214/5942 1046/1250/5943 -f 1046/1250/5944 1045/1214/5945 1047/1267/5946 -f 1047/1267/5947 1045/1214/5948 1048/1268/5949 -f 1049/1269/5950 1047/1267/5951 1050/1270/5952 -f 1050/1270/5953 1047/1267/5954 1048/1268/5955 -f 1049/1269/5956 1050/1270/5957 1043/1245/5958 -f 1043/1245/5959 1050/1270/5960 1044/1213/5961 -f 1050/1270/5962 1048/1268/5963 1044/1213/5964 -f 1044/1213/5965 1048/1268/5966 1045/1214/5967 -f 1043/1245/5968 1046/1250/5969 1049/1269/5970 -f 1049/1269/5971 1046/1250/5972 1047/1267/5973 -f 1051/1271/5974 1053/1272/5975 1052/1273/5976 -f 1053/1272/5977 1054/1274/5978 1052/1273/5979 -f 1055/1275/5980 1057/1276/5981 1056/1277/5982 -f 1057/1276/5983 1058/1278/5984 1056/1277/5985 -f 1059/1279/5986 1060/1280/5987 1055/1275/5988 -f 1060/1280/5989 1057/1276/5990 1055/1275/5991 -f 1061/1281/5992 1062/1282/5993 1059/1279/5994 -f 1062/1282/5995 1060/1280/5996 1059/1279/5997 -f 1063/1283/5998 1065/1284/5999 1064/1285/6000 -f 1065/1284/6001 1066/1286/6002 1064/1285/6003 -f 743/936/6004 769/937/6005 1063/1283/6006 -f 769/937/6007 1065/1284/6008 1063/1283/6009 -f 1056/1277/6010 1067/1287/6011 1055/1275/6012 -f 1067/1287/6013 1068/1288/6014 1055/1275/6015 -f 1055/1275/6016 1068/1288/6017 1059/1279/6018 -f 1068/1288/6019 1069/1289/6020 1059/1279/6021 -f 1059/1279/6022 1069/1289/6023 1061/1281/6024 -f 1069/1289/6025 1070/1290/6026 1061/1281/6027 -f 1071/1291/6028 1072/1292/6029 1064/1285/6030 -f 1072/1292/6031 1063/1283/6032 1064/1285/6033 -f 743/936/6034 1063/1283/6035 754/944/6036 -f 1063/1283/6037 1072/1292/6038 754/944/6039 -f 1073/1293/6040 1075/1294/6041 1074/1295/6042 -f 1075/1294/6043 1076/1296/6044 1074/1295/6045 -f 1074/1295/6046 1076/1296/6047 1077/1297/6048 -f 1076/1296/6049 1078/1298/6050 1077/1297/6051 -f 1077/1297/6052 1078/1298/6053 1079/1299/6054 -f 1078/1298/6055 1080/1300/6056 1079/1299/6057 -f 1079/1299/6058 1080/1300/6059 1081/1301/6060 -f 1080/1300/6061 1082/1302/6062 1081/1301/6063 -f 1083/1303/6064 1085/1304/6065 1084/1305/6066 -f 1085/1304/6067 1086/1306/6068 1084/1305/6069 -f 744/959/6070 1084/1305/6071 745/960/6072 -f 1084/1305/6073 1086/1306/6074 745/960/6075 -f 1075/1294/6076 1087/1307/6077 1076/1296/6078 -f 1087/1307/6079 1088/1308/6080 1076/1296/6081 -f 1076/1296/6082 1088/1308/6083 1078/1298/6084 -f 1088/1308/6085 1089/1309/6086 1078/1298/6087 -f 1078/1298/6088 1089/1309/6089 1080/1300/6090 -f 1089/1309/6091 1090/1310/6092 1080/1300/6093 -f 1080/1300/6094 1090/1310/6095 1082/1302/6096 -f 1090/1310/6097 1091/1311/6098 1082/1302/6099 -f 1085/1304/6100 1092/1312/6101 1086/1306/6102 -f 1092/1312/6103 1093/1313/6104 1086/1306/6105 -f 745/960/6106 1086/1306/6107 768/968/6108 -f 1086/1306/6109 1093/1313/6110 768/968/6111 -f 1094/1314/6112 1096/1315/6113 1095/1316/6114 -f 1096/1315/6115 1097/1317/6116 1095/1316/6117 -f 1098/1318/6118 1097/1317/6119 1099/1319/6120 -f 1097/1317/6121 1096/1315/6122 1099/1319/6123 -f 1098/1318/6124 1099/1319/6125 1100/1320/6126 -f 1099/1319/6127 1101/1321/6128 1100/1320/6129 -f 1102/1322/6130 1103/1323/6131 746/978/6132 -f 1103/1323/6133 747/980/6134 746/978/6135 -f 1104/1324/6136 1105/1325/6137 1096/1315/6138 -f 1105/1325/6139 1099/1319/6140 1096/1315/6141 -f 1105/1325/6142 1106/1326/6143 1099/1319/6144 -f 1106/1326/6145 1101/1321/6146 1099/1319/6147 -f 1107/1327/6148 1109/1328/6149 1108/1329/6150 -f 1109/1328/6151 1110/1330/6152 1108/1329/6153 -f 1110/1330/6154 1109/1328/6155 1103/1323/6156 -f 1109/1328/6157 1111/1331/6158 1103/1323/6159 -f 1103/1323/6160 1111/1331/6161 747/980/6162 -f 1111/1331/6163 748/989/6164 747/980/6165 -f 1112/1332/6166 1104/1324/6167 1113/1333/6168 -f 1114/1334/6169 1115/1335/6170 1113/1333/6171 -f 1104/1324/6172 1112/1332/6173 1105/1325/6174 -f 1112/1332/6175 1116/1336/6176 1105/1325/6177 -f 1105/1325/6178 1116/1336/6179 1106/1326/6180 -f 1116/1336/6181 1117/1337/6182 1106/1326/6183 -f 1118/1338/6184 1120/1339/6185 1119/1340/6186 -f 1120/1339/6187 1121/1341/6188 1119/1340/6189 -f 1122/1342/6190 1119/1340/6191 1123/1343/6192 -f 1119/1340/6193 1121/1341/6194 1123/1343/6195 -f 748/989/6196 1111/1331/6197 767/1002/6198 -f 1111/1331/6199 1124/1344/6200 767/1002/6201 -f 1125/1345/6202 1127/1346/6203 1126/1347/6204 -f 1127/1346/6205 1128/1348/6206 1126/1347/6207 -f 1126/1347/6208 1128/1348/6209 1129/1349/6210 -f 1128/1348/6211 1130/1350/6212 1129/1349/6213 -f 1129/1349/6214 1130/1350/6215 1131/1351/6216 -f 1130/1350/6217 1132/1352/6218 1131/1351/6219 -f 1133/1353/6220 1134/1354/6221 1127/1346/6222 -f 1134/1354/6223 1128/1348/6224 1127/1346/6225 -f 1130/1350/6226 1128/1348/6227 1135/1355/6228 -f 1128/1348/6229 1134/1354/6230 1135/1355/6231 -f 1132/1352/6232 1130/1350/6233 1136/1356/6234 -f 1130/1350/6235 1135/1355/6236 1136/1356/6237 -f 1132/1352/6238 1136/1356/6239 1137/1357/6240 -f 1136/1356/6241 1138/1358/6242 1137/1357/6243 -f 1137/1357/6244 1138/1358/6245 1139/1359/6246 -f 1138/1358/6247 1140/1360/6248 1139/1359/6249 -f 1141/1361/6250 1142/1362/6251 750/1021/6252 -f 1142/1362/6253 751/1023/6254 750/1021/6255 -f 1143/1363/6256 1144/1364/6257 1133/1353/6258 -f 1144/1364/6259 1134/1354/6260 1133/1353/6261 -f 1135/1355/6262 1134/1354/6263 1145/1365/6264 -f 1134/1354/6265 1144/1364/6266 1145/1365/6267 -f 1136/1356/6268 1135/1355/6269 1146/1366/6270 -f 1135/1355/6271 1145/1365/6272 1146/1366/6273 -f 1138/1358/6274 1136/1356/6275 1147/1367/6276 -f 1136/1356/6277 1146/1366/6278 1147/1367/6279 -f 1138/1358/6280 1147/1367/6281 1140/1360/6282 -f 1147/1367/6283 1148/1368/6284 1140/1360/6285 -f 1142/1362/6286 1149/1369/6287 751/1023/6288 -f 1149/1369/6289 752/1031/6290 751/1023/6291 -f 1150/1370/6292 1151/1371/6293 1115/1335/6294 -f 1151/1371/6295 1113/1333/6296 1115/1335/6297 -f 1125/1345/6298 1152/1372/6299 1127/1346/6300 -f 1152/1372/6301 1153/1373/6302 1127/1346/6303 -f 1133/1353/6304 1155/1374/6305 1154/1375/6306 -f 1156/1376/6307 1157/1377/6308 1052/1273/6309 -f 1150/1370/6310 1159/1378/6311 1158/1379/6312 -f 1159/1378/6313 1160/1380/6314 1158/1379/6315 -f 1158/1379/6316 1160/1380/6317 1161/1381/6318 -f 1150/1370/6319 1115/1335/6320 1162/1382/6321 -f 1163/1383/6322 1102/1322/6323 753/1046/6324 -f 1102/1322/6325 746/978/6326 753/1046/6327 -f 1164/1384/6328 1166/1385/6329 1165/1386/6330 -f 1166/1385/6331 1167/1387/6332 1165/1386/6333 -f 1168/1388/6334 1098/1318/6335 1169/1389/6336 -f 1098/1318/6337 1100/1320/6338 1169/1389/6339 -f 1170/1390/6340 1097/1317/6341 1168/1388/6342 -f 1097/1317/6343 1098/1318/6344 1168/1388/6345 -f 1171/1391/6346 1095/1316/6347 1170/1390/6348 -f 1095/1316/6349 1097/1317/6350 1170/1390/6351 -f 1157/1377/6352 1173/1392/6353 1172/1393/6354 -f 1173/1392/6355 1174/1394/6356 1172/1393/6357 -f 1175/1395/6358 1075/1294/6359 1073/1293/6360 -f 1073/1293/6361 1176/1396/6362 1175/1395/6363 -f 1075/1294/6364 1175/1395/6365 1087/1307/6366 -f 1175/1395/6367 1177/1397/6368 1087/1307/6369 -f 1095/1316/6370 1179/1398/6371 1178/1399/6372 -f 1178/1399/6373 1094/1314/6374 1095/1316/6375 -f 1180/1400/6376 1179/1398/6377 1095/1316/6378 -f 1095/1316/6379 1171/1391/6380 1180/1400/6381 -f 1072/1292/6382 1084/1305/6383 754/944/6384 -f 1084/1305/6385 744/959/6386 754/944/6387 -f 1071/1291/6388 1083/1303/6389 1072/1292/6390 -f 1083/1303/6391 1084/1305/6392 1072/1292/6393 -f 1069/1289/6394 1079/1299/6395 1070/1290/6396 -f 1079/1299/6397 1081/1301/6398 1070/1290/6399 -f 1068/1288/6400 1077/1297/6401 1069/1289/6402 -f 1077/1297/6403 1079/1299/6404 1069/1289/6405 -f 1067/1287/6406 1074/1295/6407 1068/1288/6408 -f 1074/1295/6409 1077/1297/6410 1068/1288/6411 -f 1172/1393/6412 1073/1293/6413 1067/1287/6414 -f 1073/1293/6415 1074/1295/6416 1067/1287/6417 -f 1172/1393/6418 1174/1394/6419 1073/1293/6420 -f 1174/1394/6421 1176/1396/6422 1073/1293/6423 -f 1160/1401/6424 1159/1402/6425 1181/1403/6426 -f 1159/1402/6427 1182/1404/6428 1181/1403/6429 -f 1173/1405/6430 1183/1406/6431 1174/1407/6432 -f 1184/1408/6433 1185/1409/6434 1174/1407/6435 -f 1176/1410/6436 1186/1411/6437 1175/1412/6438 -f 1186/1411/6439 1187/1413/6440 1175/1412/6441 -f 1175/1412/6442 1187/1413/6443 1177/1414/6444 -f 1187/1413/6445 1188/1415/6446 1177/1414/6447 -f 1178/1416/6448 1179/1417/6449 1189/1418/6450 -f 1179/1417/6451 1190/1419/6452 1189/1418/6453 -f 1159/1420/6454 1178/1416/6455 1182/1421/6456 -f 1178/1416/6457 1189/1418/6458 1182/1421/6459 -f 1179/1417/6460 1180/1422/6461 1190/1419/6462 -f 1180/1422/6463 1191/1423/6464 1190/1419/6465 -f 1174/1407/6466 1185/1409/6467 1176/1410/6468 -f 1185/1409/6469 1186/1411/6470 1176/1410/6471 -f 1159/1378/6472 1150/1370/6473 1162/1382/6474 -f 1162/1382/6475 1094/1314/6476 1178/1399/6477 -f 1178/1399/6478 1159/1378/6479 1162/1382/6480 -f 1160/1380/6481 1192/1424/6482 1161/1381/6483 -f 1192/1424/6484 1193/1425/6485 1161/1381/6486 -f 1181/1403/6487 1194/1426/6488 1160/1401/6489 -f 1194/1426/6490 1192/1427/6491 1160/1401/6492 -f 1156/1376/6493 1173/1392/6494 1157/1377/6495 -f 1172/1393/6496 1051/1271/6497 1157/1377/6498 -f 1051/1271/6499 1052/1273/6500 1157/1377/6501 -f 1056/1277/6502 1058/1278/6503 1051/1271/6504 -f 1058/1278/6505 1053/1272/6506 1051/1271/6507 -f 1144/1364/6508 1195/1428/6509 1145/1365/6510 -f 1146/1366/6511 1145/1365/6512 1196/1429/6513 -f 1145/1365/6514 1195/1428/6515 1196/1429/6516 -f 1147/1367/6517 1146/1366/6518 1197/1430/6519 -f 1146/1366/6520 1196/1429/6521 1197/1430/6522 -f 1147/1367/6523 1197/1430/6524 1148/1368/6525 -f 1197/1430/6526 1198/1431/6527 1148/1368/6528 -f 1149/1369/6529 1199/1432/6530 752/1031/6531 -f 1199/1432/6532 755/1096/6533 752/1031/6534 -f 1200/1433/6535 1196/1429/6536 1201/1434/6537 -f 1196/1429/6538 1195/1428/6539 1201/1434/6540 -f 1202/1435/6541 757/1101/6542 1203/1436/6543 -f 757/1101/6544 758/1102/6545 1203/1436/6546 -f 1203/1436/6547 758/1102/6548 1204/1437/6549 -f 758/1102/6550 759/1104/6551 1204/1437/6552 -f 1205/1438/6553 1197/1430/6554 1200/1433/6555 -f 1197/1430/6556 1196/1429/6557 1200/1433/6558 -f 1198/1431/6559 1197/1430/6560 1205/1438/6561 -f 755/1096/6562 1199/1432/6563 759/1104/6564 -f 1199/1432/6565 1204/1437/6566 759/1104/6567 -f 1205/1438/6568 1200/1433/6569 1206/1439/6570 -f 1206/1439/6571 1200/1433/6572 1207/1440/6573 -f 1200/1433/6574 1201/1434/6575 1207/1440/6576 -f 1208/1441/6577 1210/1442/6578 1209/1443/6579 -f 1210/1442/6580 1211/1444/6581 1209/1443/6582 -f 1212/1445/6583 1213/1446/6584 760/1113/6585 -f 1213/1446/6586 761/1115/6587 760/1113/6588 -f 1209/1443/6589 1211/1444/6590 1214/1447/6591 -f 1211/1444/6592 1215/1448/6593 1214/1447/6594 -f 1216/1449/6595 1218/1450/6596 1217/1451/6597 -f 1218/1450/6598 1219/1452/6599 1217/1451/6600 -f 1220/1453/6601 1218/1450/6602 1221/1454/6603 -f 1218/1450/6604 1216/1449/6605 1221/1454/6606 -f 764/1124/6607 765/1126/6608 1222/1455/6609 -f 765/1126/6610 1223/1456/6611 1222/1455/6612 -f 1224/1457/6613 1223/1456/6614 762/1129/6615 -f 1223/1456/6616 765/1126/6617 762/1129/6618 -f 1220/1453/6619 1225/1458/6620 1218/1450/6621 -f 1225/1458/6622 1219/1452/6623 1218/1450/6624 -f 1153/2573/6625 1152/1372/6626 1226/1459/6627 -f 1155/2569/6628 1153/2573/6629 1226/1459/6630 -f 1154/2570/6631 1155/2569/6632 1226/1459/6633 -f 1226/1459/6634 1227/2565/6635 1154/2570/6636 -f 1151/1371/6637 1150/1370/6638 1228/1461/6639 -f 1150/1370/6640 1158/1379/6641 1228/1461/6642 -f 1229/1462/6643 1227/2565/6644 1230/1463/6645 -f 1227/2565/6646 1226/1459/6647 1230/1463/6648 -f 1227/1460/6649 1229/2563/6650 1231/1464/6651 -f 1232/1465/6652 1227/1460/6653 1231/1464/6654 -f 1233/1466/6655 1235/1467/6656 1234/1468/6657 -f 1235/1467/6658 1236/1469/6659 1234/1468/6660 -f 1233/1466/6661 1237/1470/6662 1235/1467/6663 -f 1237/1470/6664 1238/1471/6665 1235/1467/6666 -f 763/1144/6667 1239/1472/6668 766/1145/6669 -f 1239/1472/6670 1240/1473/6671 766/1145/6672 -f 1208/1441/6673 1232/1465/6674 1210/1442/6675 -f 1232/1465/6676 1231/1464/6677 1210/1442/6678 -f 1236/1469/6679 1235/1467/6680 1217/1451/6681 -f 1235/1467/6682 1216/1449/6683 1217/1451/6684 -f 1221/1454/6685 1216/1449/6686 1238/1471/6687 -f 1216/1449/6688 1235/1467/6689 1238/1471/6690 -f 1239/1472/6691 763/1144/6692 1222/1455/6693 -f 763/1144/6694 764/1124/6695 1222/1455/6696 -f 1241/1474/6697 1212/1445/6698 756/1149/6699 -f 1212/1445/6700 760/1113/6701 756/1149/6702 -f 1214/1447/6703 1242/1475/6704 1209/1443/6705 -f 1242/1475/6706 1243/1476/6707 1209/1443/6708 -f 1243/1476/6709 1244/1477/6710 1209/1443/6711 -f 1244/1477/6712 1208/1441/6713 1209/1443/6714 -f 1143/1363/6715 1232/1465/6716 1244/1477/6717 -f 1232/1465/6718 1208/1441/6719 1244/1477/6720 -f 1114/1334/6721 1096/1315/6722 1094/1314/6723 -f 1162/1382/6724 1115/1335/6725 1114/1334/6726 -f 1244/1477/6727 1243/1476/6728 1195/1428/6729 -f 1243/1476/6730 1201/1434/6731 1195/1428/6732 -f 1243/1476/6733 1242/1475/6734 1201/1434/6735 -f 1242/1475/6736 1207/1440/6737 1201/1434/6738 -f 757/1101/6739 1202/1435/6740 756/1149/6741 -f 1202/1435/6742 1241/1474/6743 756/1149/6744 -f 1127/1346/6745 1153/1373/6746 1133/1353/6747 -f 1153/1373/6748 1155/1374/6749 1133/1353/6750 -f 1154/1375/6751 1143/1363/6752 1133/1353/6753 -f 1195/1428/6754 1144/1364/6755 1244/1477/6756 -f 1144/1364/6757 1143/1363/6758 1244/1477/6759 -f 1172/1393/6760 1067/1287/6761 1051/1271/6762 -f 1067/1287/6763 1056/1277/6764 1051/1271/6765 -f 1193/1425/6766 1156/1376/6767 1245/1478/6768 -f 1156/1376/6769 1246/1479/6770 1245/1478/6771 -f 1192/1424/6772 1173/1392/6773 1193/1425/6774 -f 1173/1392/6775 1156/1376/6776 1193/1425/6777 -f 1173/1480/6778 1192/1427/6779 1183/1481/6780 -f 1192/1427/6781 1194/1426/6782 1184/1482/6783 -f 1228/1461/6784 1226/1459/6785 1151/1371/6786 -f 767/1002/6787 1124/1344/6788 749/1158/6789 -f 1124/1344/6790 1247/1483/6791 749/1158/6792 -f 1248/1484/6793 1249/1485/6794 1121/1341/6795 -f 1249/1485/6796 1123/1343/6797 1121/1341/6798 -f 1248/1484/6799 1121/1341/6800 1250/1486/6801 -f 1121/1341/6802 1120/1339/6803 1250/1486/6804 -f 1116/1336/6805 1129/1349/6806 1117/1337/6807 -f 1129/1349/6808 1131/1351/6809 1117/1337/6810 -f 1112/1332/6811 1126/1347/6812 1116/1336/6813 -f 1126/1347/6814 1129/1349/6815 1116/1336/6816 -f 1251/1487/6817 1253/1488/6818 1252/1489/6819 -f 1156/1376/6820 1054/1274/6821 1251/1487/6822 -f 1054/1274/6823 1254/1490/6824 1251/1487/6825 -f 1254/1490/6826 1054/1274/6827 1255/1491/6828 -f 1054/1274/6829 1053/1272/6830 1255/1491/6831 -f 1058/1278/6832 1256/1492/6833 1053/1272/6834 -f 1256/1492/6835 1255/1491/6836 1053/1272/6837 -f 1057/1276/6838 1257/1493/6839 1058/1278/6840 -f 1257/1493/6841 1256/1492/6842 1058/1278/6843 -f 1060/1280/6844 1258/1494/6845 1057/1276/6846 -f 1258/1494/6847 1257/1493/6848 1057/1276/6849 -f 1062/1282/6850 1259/1495/6851 1060/1280/6852 -f 1259/1495/6853 1258/1494/6854 1060/1280/6855 -f 1065/1284/6856 1260/1496/6857 1066/1286/6858 -f 1260/1496/6859 1261/1497/6860 1066/1286/6861 -f 769/937/6862 742/1174/6863 1065/1284/6864 -f 742/1174/6865 1260/1496/6866 1065/1284/6867 -f 768/968/6868 1093/1313/6869 753/1046/6870 -f 1093/1313/6871 1163/1383/6872 753/1046/6873 -f 1092/1312/6874 1165/1386/6875 1093/1313/6876 -f 1165/1386/6877 1163/1383/6878 1093/1313/6879 -f 1090/1310/6880 1169/1389/6881 1091/1311/6882 -f 1169/1389/6883 1164/1384/6884 1091/1311/6885 -f 1089/1309/6886 1168/1388/6887 1090/1310/6888 -f 1168/1388/6889 1169/1389/6890 1090/1310/6891 -f 1088/1308/6892 1170/1390/6893 1089/1309/6894 -f 1170/1390/6895 1168/1388/6896 1089/1309/6897 -f 1087/1307/6898 1171/1391/6899 1088/1308/6900 -f 1171/1391/6901 1170/1390/6902 1088/1308/6903 -f 1171/1391/6904 1087/1307/6905 1180/1400/6906 -f 1087/1307/6907 1177/1397/6908 1180/1400/6909 -f 1177/1414/6910 1188/1415/6911 1180/1422/6912 -f 1188/1415/6913 1191/1423/6914 1180/1422/6915 -f 1245/1478/6916 1262/1498/6917 1193/1425/6918 -f 1262/1498/6919 1161/1381/6920 1193/1425/6921 -f 1227/1460/6922 1232/1465/6923 1154/1375/6924 -f 1232/1465/6925 1143/1363/6926 1154/1375/6927 -f 1263/1499/6928 1264/1500/6929 1131/1351/6930 -f 1264/1500/6931 1117/1337/6932 1131/1351/6933 -f 1106/1326/6934 1117/1337/6935 1107/1327/6936 -f 1117/1337/6937 1264/1500/6938 1107/1327/6939 -f 1101/1321/6940 1106/1326/6941 1108/1329/6942 -f 1106/1326/6943 1107/1327/6944 1108/1329/6945 -f 1100/1320/6946 1101/1321/6947 1166/1385/6948 -f 1101/1321/6949 1108/1329/6950 1166/1385/6951 -f 1169/1389/6952 1100/1320/6953 1164/1384/6954 -f 1100/1320/6955 1166/1385/6956 1164/1384/6957 -f 1119/1340/6958 1109/1328/6959 1118/1338/6960 -f 1109/1328/6961 1107/1327/6962 1118/1338/6963 -f 1111/1331/6964 1109/1328/6965 1122/1342/6966 -f 1109/1328/6967 1119/1340/6968 1122/1342/6969 -f 1111/1331/6970 1122/1342/6971 1124/1344/6972 -f 1122/1342/6973 1123/1343/6974 1124/1344/6975 -f 1120/1339/6976 1118/1338/6977 1264/1500/6978 -f 1118/1338/6979 1107/1327/6980 1264/1500/6981 -f 1247/1483/6982 1124/1344/6983 1249/1485/6984 -f 1124/1344/6985 1123/1343/6986 1249/1485/6987 -f 1247/1483/6988 1249/1485/6989 1265/1501/6990 -f 1249/1485/6991 1248/1484/6992 1265/1501/6993 -f 1248/1484/6994 1250/1486/6995 1265/1501/6996 -f 1250/1486/6997 1263/1499/6998 1265/1501/6999 -f 1263/1499/7000 1250/1486/7001 1264/1500/7002 -f 1250/1486/7003 1120/1339/7004 1264/1500/7005 -f 1091/1311/7006 1164/1384/7007 1092/1312/7008 -f 1164/1384/7009 1165/1386/7010 1092/1312/7011 -f 1082/1302/7012 1091/1311/7013 1085/1304/7014 -f 1091/1311/7015 1092/1312/7016 1085/1304/7017 -f 1081/1301/7018 1082/1302/7019 1083/1303/7020 -f 1082/1302/7021 1085/1304/7022 1083/1303/7023 -f 1070/1290/7024 1081/1301/7025 1071/1291/7026 -f 1081/1301/7027 1083/1303/7028 1071/1291/7029 -f 1061/1281/7030 1070/1290/7031 1064/1285/7032 -f 1070/1290/7033 1071/1291/7034 1064/1285/7035 -f 1064/1285/7036 1066/1286/7037 1061/1281/7038 -f 1066/1286/7039 1062/1282/7040 1061/1281/7041 -f 1066/1286/7042 1261/1497/7043 1062/1282/7044 -f 1261/1497/7045 1259/1495/7046 1062/1282/7047 -f 1165/1386/7048 1167/1387/7049 1163/1383/7050 -f 1167/1387/7051 1102/1322/7052 1163/1383/7053 -f 1139/1359/7054 1140/1360/7055 1141/1361/7056 -f 1140/1360/7057 1142/1362/7058 1141/1361/7059 -f 1140/1360/7060 1148/1368/7061 1142/1362/7062 -f 1148/1368/7063 1149/1369/7064 1142/1362/7065 -f 1148/1368/7066 1198/1431/7067 1149/1369/7068 -f 1198/1431/7069 1199/1432/7070 1149/1369/7071 -f 1199/1432/7072 1198/1431/7073 1204/1437/7074 -f 1198/1431/7075 1205/1438/7076 1204/1437/7077 -f 1204/1437/7078 1205/1438/7079 1203/1436/7080 -f 1205/1438/7081 1206/1439/7082 1203/1436/7083 -f 1203/1436/7084 1206/1439/7085 1202/1435/7086 -f 1206/1439/7087 1207/1440/7088 1202/1435/7089 -f 1202/1435/7090 1207/1440/7091 1241/1474/7092 -f 1207/1440/7093 1242/1475/7094 1241/1474/7095 -f 1212/1445/7096 1241/1474/7097 1214/1447/7098 -f 1241/1474/7099 1242/1475/7100 1214/1447/7101 -f 1214/1447/7102 1215/1448/7103 1212/1445/7104 -f 1215/1448/7105 1213/1446/7106 1212/1445/7107 -f 1223/1456/7108 1224/1457/7109 1220/1453/7110 -f 1224/1457/7111 1225/1458/7112 1220/1453/7113 -f 1222/1455/7114 1223/1456/7115 1221/1454/7116 -f 1223/1456/7117 1220/1453/7118 1221/1454/7119 -f 1222/1455/7120 1221/1454/7121 1239/1472/7122 -f 1221/1454/7123 1238/1471/7124 1239/1472/7125 -f 1237/1470/7126 1240/1473/7127 1238/1471/7128 -f 1240/1473/7129 1239/1472/7130 1238/1471/7131 -f 1141/1361/7132 1247/1483/7133 1139/1359/7134 -f 1247/1483/7135 1265/1501/7136 1139/1359/7137 -f 750/1021/7138 749/1158/7139 1141/1361/7140 -f 749/1158/7141 1247/1483/7142 1141/1361/7143 -f 1139/1359/7144 1265/1501/7145 1137/1357/7146 -f 1265/1501/7147 1263/1499/7148 1137/1357/7149 -f 1131/1351/7150 1132/1352/7151 1263/1499/7152 -f 1132/1352/7153 1137/1357/7154 1263/1499/7155 -f 1112/1332/7156 1113/1333/7157 1126/1347/7158 -f 1126/1347/7159 1113/1333/7160 1125/1345/7161 -f 1151/1371/7162 1152/1372/7163 1113/1333/7164 -f 1152/1372/7165 1125/1345/7166 1113/1333/7167 -f 1152/1372/7168 1151/1371/7169 1226/1459/7170 -f 1252/1489/7171 1266/1502/7172 1246/1479/7173 -f 1054/1274/7174 1156/1376/7175 1052/1273/7176 -f 1228/1461/7177 1267/1503/7178 1226/1459/7179 -f 1267/1503/7180 1230/1463/7181 1226/1459/7182 -f 1158/1379/7183 1161/1381/7184 1268/1504/7185 -f 1161/1381/7186 1262/1498/7187 1268/1504/7188 -f 1268/1505/7189 1269/1506/7190 1158/1379/7191 -f 1252/1489/7192 1270/1507/7193 1266/1502/7194 -f 1271/1508/7195 1253/1488/7196 1272/1509/7197 -f 1253/1488/7198 1251/1487/7199 1272/1509/7200 -f 1245/1478/7201 1246/1479/7202 1273/1510/7203 -f 1246/1479/7204 1274/1511/7205 1273/1510/7206 -f 1275/1512/7207 1274/1511/7208 1266/1502/7209 -f 1274/1511/7210 1246/1479/7211 1266/1502/7212 -f 1273/1510/7213 1276/1513/7214 1245/1478/7215 -f 1276/1513/7216 1262/1498/7217 1245/1478/7218 -f 1266/1502/7219 1270/1507/7220 1275/1512/7221 -f 1270/1507/7222 1277/1514/7223 1275/1512/7224 -f 1268/1504/7225 1262/1498/7226 1278/1515/7227 -f 1262/1498/7228 1276/1513/7229 1278/1515/7230 -f 1278/1516/7231 1279/1517/7232 1268/1505/7233 -f 1279/1517/7234 1269/1506/7235 1268/1505/7236 -f 1253/1488/7237 1271/1508/7238 1280/1518/7239 -f 1271/1508/7240 1281/1519/7241 1280/1518/7242 -f 1258/1494/7243 1282/1520/7244 1257/1493/7245 -f 1282/1520/7246 1283/1521/7247 1257/1493/7248 -f 1259/1495/7249 1284/1522/7250 1258/1494/7251 -f 1284/1522/7252 1282/1520/7253 1258/1494/7254 -f 742/1174/7255 770/1200/7256 1260/1496/7257 -f 770/1200/7258 1285/1523/7259 1260/1496/7260 -f 1257/1493/7261 1283/1521/7262 1256/1492/7263 -f 1283/1521/7264 1286/1524/7265 1256/1492/7266 -f 1256/1492/7267 1286/1524/7268 1255/1491/7269 -f 1286/1524/7270 1287/1525/7271 1255/1491/7272 -f 1287/1525/7273 1272/1509/7274 1255/1491/7275 -f 1272/1509/7276 1254/1490/7277 1255/1491/7278 -f 1272/1509/7279 1251/1487/7280 1254/1490/7281 -f 1261/1497/7282 1288/1526/7283 1259/1495/7284 -f 1288/1526/7285 1284/1522/7286 1259/1495/7287 -f 1260/1496/7288 1285/1523/7289 1261/1497/7290 -f 1285/1523/7291 1288/1526/7292 1261/1497/7293 -f 1231/1464/7294 1229/2563/7295 1236/1469/7296 -f 1229/2563/7297 1234/1468/7298 1236/1469/7299 -f 1213/1446/7300 1224/1457/7301 761/1115/7302 -f 1224/1457/7303 762/1129/7304 761/1115/7305 -f 1215/1448/7306 1225/1458/7307 1213/1446/7308 -f 1225/1458/7309 1224/1457/7310 1213/1446/7311 -f 1211/1444/7312 1219/1452/7313 1215/1448/7314 -f 1219/1452/7315 1225/1458/7316 1215/1448/7317 -f 1210/1442/7318 1217/1451/7319 1211/1444/7320 -f 1217/1451/7321 1219/1452/7322 1211/1444/7323 -f 1210/1442/7324 1231/1464/7325 1217/1451/7326 -f 1231/1464/7327 1236/1469/7328 1217/1451/7329 -f 1280/1518/7330 1252/1489/7331 1253/1488/7332 -f 1280/1518/7333 1281/1519/7334 1270/1507/7335 -f 1281/1519/7336 1277/1514/7337 1270/1507/7338 -f 1280/1518/7339 1270/1507/7340 1252/1489/7341 -f 1289/1527/7342 1234/1468/7343 1290/2564/7344 -f 1234/1468/7345 1229/2563/7346 1290/2564/7347 -f 1291/1529/7348 1233/1466/7349 1289/1527/7350 -f 1233/1466/7351 1234/1468/7352 1289/1527/7353 -f 1292/1530/7354 1237/1470/7355 1291/1529/7356 -f 1237/1470/7357 1233/1466/7358 1291/1529/7359 -f 1240/1473/7360 1237/1470/7361 1293/1531/7362 -f 1237/1470/7363 1292/1530/7364 1293/1531/7365 -f 766/1145/7366 1240/1473/7367 771/1210/7368 -f 1240/1473/7369 1293/1531/7370 771/1210/7371 -f 1294/1532/7372 1295/1533/7373 1267/1503/7374 -f 1295/1533/7375 1230/1463/7376 1267/1503/7377 -f 1295/1533/7378 1290/1528/7379 1230/1463/7380 -f 1290/1528/7381 1229/1462/7382 1230/1463/7383 -f 1167/1387/7384 1166/1385/7385 1110/1330/7386 -f 1166/1385/7387 1108/1329/7388 1110/1330/7389 -f 1103/1323/7390 1102/1322/7391 1110/1330/7392 -f 1102/1322/7393 1167/1387/7394 1110/1330/7395 -f 1296/1534/7396 1272/1535/7397 1297/1536/7398 -f 1283/1537/7399 1282/1538/7400 1298/1539/7401 -f 1282/1538/7402 1299/1540/7403 1298/1539/7404 -f 1284/1541/7405 1300/1542/7406 1282/1538/7407 -f 1300/1542/7408 1299/1540/7409 1282/1538/7410 -f 1301/1543/7411 1285/1544/7412 1028/1223/7413 -f 1285/1544/7414 770/1225/7415 1028/1223/7416 -f 1298/1539/7417 1302/1545/7418 1283/1537/7419 -f 1302/1545/7420 1286/1546/7421 1283/1537/7422 -f 1302/1545/7423 1303/1547/7424 1287/1548/7425 -f 1287/1548/7426 1286/1546/7427 1302/1545/7428 -f 1274/1549/7429 1297/1536/7430 1303/1547/7431 -f 1297/1536/7432 1272/1535/7433 1303/1547/7434 -f 1272/1535/7435 1287/1548/7436 1303/1547/7437 -f 1284/1541/7438 1288/1550/7439 1300/1542/7440 -f 1288/1550/7441 1304/1551/7442 1300/1542/7443 -f 1288/1550/7444 1285/1544/7445 1304/1551/7446 -f 1285/1544/7447 1301/1543/7448 1304/1551/7449 -f 1303/1547/7450 1305/1552/7451 1274/1549/7452 -f 1305/1553/7453 1306/1554/7454 1274/1555/7455 -f 1188/1556/7456 1187/1557/7457 1194/1426/7458 -f 1194/1426/7459 1181/1403/7460 1188/1556/7461 -f 1188/1556/7462 1181/1403/7463 1191/1558/7464 -f 1187/1557/7465 1186/1559/7466 1194/1426/7467 -f 1186/1559/7468 1185/1560/7469 1194/1426/7470 -f 1185/1560/7471 1184/1482/7472 1194/1426/7473 -f 1191/1558/7474 1181/1403/7475 1190/1561/7476 -f 1190/1561/7477 1181/1403/7478 1189/1562/7479 -f 1181/1403/7480 1182/1404/7481 1189/1562/7482 -f 1307/1563/7483 1294/1532/7484 1269/1506/7485 -f 1294/1532/7486 1267/1503/7487 1269/1506/7488 -f 1158/1379/7489 1269/1506/7490 1228/1461/7491 -f 1269/1506/7492 1267/1503/7493 1228/1461/7494 -f 1308/1564/7495 1271/1565/7496 1296/1534/7497 -f 1271/1565/7498 1272/1535/7499 1296/1534/7500 -f 1281/1566/7501 1271/1565/7502 1308/1564/7503 -f 1281/1566/7504 1308/1564/7505 1277/1567/7506 -f 1275/1568/7507 1277/1567/7508 1309/1569/7509 -f 1277/1567/7510 1308/1564/7511 1309/1569/7512 -f 1309/1569/7513 1274/1549/7514 1275/1568/7515 -f 1251/1487/7516 1252/1489/7517 1156/1376/7518 -f 1156/1376/7519 1252/1489/7520 1246/1479/7521 -f 1094/1314/7522 1162/1382/7523 1114/1334/7524 -f 1114/1334/7525 1104/1324/7526 1096/1315/7527 -f 1104/1324/7528 1114/1334/7529 1113/1333/7530 -f 1183/1406/7531 1184/1408/7532 1174/1407/7533 -f 1192/1427/7534 1184/1482/7535 1183/1481/7536 -f 1310/1570/7537 1312/1571/7538 1311/1572/7539 -f 1312/1571/7540 1313/1573/7541 1311/1572/7542 -f 1314/1574/7543 1310/1570/7544 1306/1575/7545 -f 1310/1570/7546 1311/1572/7547 1306/1575/7548 -f 1315/1576/7549 1035/1259/7550 1316/1577/7551 -f 1035/1259/7552 1029/1260/7553 1316/1577/7554 -f 1317/1578/7555 1315/1576/7556 1318/1579/7557 -f 1315/1576/7558 1316/1577/7559 1318/1579/7560 -f 1319/1580/7561 1317/1578/7562 1320/1581/7563 -f 1317/1578/7564 1318/1579/7565 1320/1581/7566 -f 1321/1582/7567 1319/1580/7568 1322/1583/7569 -f 1319/1580/7570 1320/1581/7571 1322/1583/7572 -f 1312/1571/7573 1321/1582/7574 1313/1573/7575 -f 1321/1582/7576 1322/1583/7577 1313/1573/7578 -f 1303/1547/7579 1314/1574/7580 1305/1552/7581 -f 1314/1574/7582 1306/1575/7583 1305/1552/7584 -f 1303/1547/7585 1302/1545/7586 1314/1574/7587 -f 1302/1545/7588 1310/1570/7589 1314/1574/7590 -f 1298/1539/7591 1312/1571/7592 1302/1545/7593 -f 1312/1571/7594 1310/1570/7595 1302/1545/7596 -f 1299/1540/7597 1321/1582/7598 1298/1539/7599 -f 1321/1582/7600 1312/1571/7601 1298/1539/7602 -f 1300/1542/7603 1319/1580/7604 1299/1540/7605 -f 1319/1580/7606 1321/1582/7607 1299/1540/7608 -f 1300/1542/7609 1304/1551/7610 1319/1580/7611 -f 1304/1551/7612 1317/1578/7613 1319/1580/7614 -f 1315/1576/7615 1317/1578/7616 1301/1543/7617 -f 1317/1578/7618 1304/1551/7619 1301/1543/7620 -f 1301/1543/7621 1028/1223/7622 1315/1576/7623 -f 1028/1223/7624 1035/1259/7625 1315/1576/7626 -f 1274/1549/7627 1309/1569/7628 1297/1536/7629 -f 1309/1569/7630 1323/1584/7631 1297/1536/7632 -f 1323/1584/7633 1324/1585/7634 1297/1536/7635 -f 1325/1586/7636 1326/1587/7637 1323/1584/7638 -f 1326/1587/7639 1324/1585/7640 1323/1584/7641 -f 1325/1586/7642 1308/1564/7643 1326/1587/7644 -f 1308/1564/7645 1296/1534/7646 1326/1587/7647 -f 1326/1587/7648 1296/1534/7649 1324/1585/7650 -f 1296/1534/7651 1297/1536/7652 1324/1585/7653 -f 1308/1564/7654 1325/1586/7655 1309/1569/7656 -f 1325/1586/7657 1323/1584/7658 1309/1569/7659 -f 1013/1588/7660 1029/1589/7661 1034/1590/7662 -f 1274/1555/7663 1306/1554/7664 1014/1236/7665 -f 1014/1236/7666 972/1235/7667 1274/1555/7668 -f 1311/1591/7669 1013/1588/7670 1306/1554/7671 -f 1013/1588/7672 1014/1236/7673 1306/1554/7674 -f 1313/1592/7675 1316/1593/7676 1029/1589/7677 -f 1311/1591/7678 1029/1589/7679 1013/1588/7680 -f 1034/1590/7681 1030/1594/7682 1033/1595/7683 -f 1034/1590/7684 1029/1589/7685 1030/1594/7686 -f 1033/1595/7687 1031/1596/7688 1032/1597/7689 -f 1033/1595/7690 1030/1594/7691 1031/1596/7692 -f 1313/1592/7693 1029/1589/7694 1311/1591/7695 -f 1322/1598/7696 1318/1599/7697 1316/1593/7698 -f 1322/1598/7699 1316/1593/7700 1313/1592/7701 -f 1320/1600/7702 1318/1599/7703 1322/1598/7704 -f 1327/1601/7705 1343/1602/7706 1335/1603/7707 -f 1335/1603/7708 1343/1602/7709 1351/1604/7710 -f 1328/1605/7711 1344/1606/7712 1336/1607/7713 -f 1336/1607/7714 1344/1606/7715 1352/1608/7716 -f 1329/1609/7717 1345/1610/7718 1337/1611/7719 -f 1337/1611/7720 1345/1610/7721 1353/1612/7722 -f 1330/1613/7723 1346/1614/7724 1338/1615/7725 -f 1338/1615/7726 1346/1614/7727 1354/1616/7728 -f 1331/1617/7729 1347/1618/7730 1339/1619/7731 -f 1339/1619/7732 1347/1618/7733 1355/1620/7734 -f 1332/1621/7735 1348/1622/7736 1340/1623/7737 -f 1340/1623/7738 1348/1622/7739 1356/1624/7740 -f 1333/1625/7741 1349/1626/7742 1341/1627/7743 -f 1341/1627/7744 1349/1626/7745 1357/1628/7746 -f 1334/1629/7747 1350/1630/7748 1342/1631/7749 -f 1342/1631/7750 1350/1630/7751 1358/1632/7752 -f 1328/1605/7753 1343/1602/7754 1381/1633/7755 -f 1381/1633/7756 1343/1602/7757 1380/1634/7758 -f 1329/1609/7759 1344/1606/7760 1383/1635/7761 -f 1383/1635/7762 1344/1606/7763 1382/1636/7764 -f 1330/1613/7765 1345/1610/7766 1369/1637/7767 -f 1369/1637/7768 1345/1610/7769 1368/1638/7770 -f 1331/1617/7771 1346/1614/7772 1371/1639/7773 -f 1371/1639/7774 1346/1614/7775 1370/1640/7776 -f 1332/1641/7777 1347/1618/7778 1373/1642/7779 -f 1373/1642/7780 1347/1618/7781 1372/1643/7782 -f 1333/1625/7783 1348/1622/7784 1375/1644/7785 -f 1375/1644/7786 1348/1622/7787 1374/1645/7788 -f 1334/1629/7789 1349/1626/7790 1377/1646/7791 -f 1377/1646/7792 1349/1626/7793 1376/1647/7794 -f 1379/1648/7795 1327/1601/7796 1378/1649/7797 -f 1378/1649/7798 1327/1601/7799 1350/1630/7800 -f 1379/1648/7801 1380/1634/7802 1327/1601/7803 -f 1327/1601/7804 1380/1634/7805 1343/1602/7806 -f 1328/1605/7807 1381/1633/7808 1344/1606/7809 -f 1344/1606/7810 1381/1633/7811 1382/1636/7812 -f 1329/1609/7813 1383/1635/7814 1345/1610/7815 -f 1345/1610/7816 1383/1635/7817 1368/1638/7818 -f 1330/1613/7819 1369/1637/7820 1346/1614/7821 -f 1346/1614/7822 1369/1637/7823 1370/1640/7824 -f 1333/1625/7825 1375/1644/7826 1349/1626/7827 -f 1349/1626/7828 1375/1644/7829 1376/1647/7830 -f 1334/1629/7831 1377/1646/7832 1350/1630/7833 -f 1350/1630/7834 1377/1646/7835 1378/1649/7836 -f 1358/1632/7837 1350/1630/7838 1335/1603/7839 -f 1335/1603/7840 1350/1630/7841 1327/1601/7842 -f 1334/1629/7843 1342/1631/7844 1349/1626/7845 -f 1349/1626/7846 1342/1631/7847 1357/1628/7848 -f 1333/1625/7849 1341/1627/7850 1348/1622/7851 -f 1348/1622/7852 1341/1627/7853 1356/1624/7854 -f 1332/1641/7855 1340/1650/7856 1347/1618/7857 -f 1347/1618/7858 1340/1650/7859 1355/1620/7860 -f 1331/1617/7861 1339/1619/7862 1346/1614/7863 -f 1346/1614/7864 1339/1619/7865 1354/1616/7866 -f 1330/1613/7867 1338/1615/7868 1345/1610/7869 -f 1345/1610/7870 1338/1615/7871 1353/1612/7872 -f 1329/1609/7873 1337/1611/7874 1344/1606/7875 -f 1344/1606/7876 1337/1611/7877 1352/1608/7878 -f 1328/1605/7879 1336/1607/7880 1343/1602/7881 -f 1343/1602/7882 1336/1607/7883 1351/1604/7884 -f 1336/1651/7885 1871/1652/7886 1351/1653/7887 -f 1351/1653/7888 1871/1652/7889 1886/1654/7890 -f 1335/1655/7891 1351/1653/7892 1885/1656/7893 -f 1885/1656/7894 1351/1653/7895 1886/1654/7896 -f 1337/1657/7897 1873/1658/7898 1352/1659/7899 -f 1352/1659/7900 1873/1658/7901 1872/1660/7902 -f 1336/1651/7903 1352/1659/7904 1871/1652/7905 -f 1871/1652/7906 1352/1659/7907 1872/1660/7908 -f 1338/1661/7909 1875/1662/7910 1353/1663/7911 -f 1353/1663/7912 1875/1662/7913 1874/1664/7914 -f 1337/1657/7915 1353/1663/7916 1873/1658/7917 -f 1873/1658/7918 1353/1663/7919 1874/1664/7920 -f 1339/1665/7921 1877/1666/7922 1354/1667/7923 -f 1354/1667/7924 1877/1666/7925 1876/1668/7926 -f 1338/1661/7927 1354/1667/7928 1875/1662/7929 -f 1875/1662/7930 1354/1667/7931 1876/1668/7932 -f 1340/1669/7933 1879/1670/7934 1355/1671/7935 -f 1355/1671/7936 1879/1670/7937 1878/1672/7938 -f 1339/1665/7939 1355/1671/7940 1877/1666/7941 -f 1877/1666/7942 1355/1671/7943 1878/1672/7944 -f 1341/1673/7945 1881/1674/7946 1356/1675/7947 -f 1356/1675/7948 1881/1674/7949 1880/1676/7950 -f 1340/1669/7951 1356/1675/7952 1879/1670/7953 -f 1879/1670/7954 1356/1675/7955 1880/1676/7956 -f 1342/1677/7957 1883/1678/7958 1357/1679/7959 -f 1357/1679/7960 1883/1678/7961 1882/1680/7962 -f 1341/1673/7963 1357/1679/7964 1881/1674/7965 -f 1881/1674/7966 1357/1679/7967 1882/1680/7968 -f 1335/1655/7969 1885/1656/7970 1358/1681/7971 -f 1358/1681/7972 1885/1656/7973 1884/1682/7974 -f 1342/1677/7975 1358/1681/7976 1883/1678/7977 -f 1883/1678/7978 1358/1681/7979 1884/1682/7980 -f 1360/1683/7981 1359/1684/7982 1361/1685/7983 -f 1361/1685/7984 1359/1684/7985 1362/1686/7986 -f 1362/1686/7987 1359/1684/7988 1363/1687/7989 -f 1363/1687/7990 1359/1684/7991 1364/1688/7992 -f 1364/1688/7993 1359/1684/7994 1365/1689/7995 -f 1365/1689/7996 1359/1684/7997 1366/1690/7998 -f 1366/1690/7999 1359/1684/8000 1367/1691/8001 -f 1367/1691/8002 1359/1684/8003 1360/1683/8004 -f 1331/1617/8005 1371/1639/8006 1347/1618/8007 -f 1347/1618/8008 1371/1639/8009 1372/1643/8010 -f 1332/1621/8011 1373/1692/8012 1348/1622/8013 -f 1348/1622/8014 1373/1692/8015 1374/1645/8016 -f 1385/1693/8017 1401/1694/8018 1384/1695/8019 -f 1384/1695/8020 1401/1694/8021 1396/1696/8022 -f 1386/1697/8023 1400/1698/8024 1385/1693/8025 -f 1385/1693/8026 1400/1698/8027 1401/1694/8028 -f 1387/1699/8029 1399/1700/8030 1386/1697/8031 -f 1386/1697/8032 1399/1700/8033 1400/1698/8034 -f 1387/1701/8035 1388/1702/8036 1399/1703/8037 -f 1399/1703/8038 1388/1702/8039 1398/1704/8040 -f 1388/1702/8041 1389/1705/8042 1398/1704/8043 -f 1398/1704/8044 1389/1705/8045 1397/1706/8046 -f 1389/1705/8047 1384/1695/8048 1397/1706/8049 -f 1397/1706/8050 1384/1695/8051 1396/1696/8052 -f 1396/1696/8053 1390/1707/8054 1397/1706/8055 -f 1397/1706/8056 1390/1707/8057 1395/1708/8058 -f 1397/1706/8059 1395/1708/8060 1398/1704/8061 -f 1398/1704/8062 1395/1708/8063 1394/1709/8064 -f 1398/1704/8065 1394/1709/8066 1399/1703/8067 -f 1399/1703/8068 1394/1709/8069 1393/1710/8070 -f 1400/1698/8071 1399/1700/8072 1392/1711/8073 -f 1392/1711/8074 1399/1700/8075 1393/1712/8076 -f 1401/1694/8077 1400/1698/8078 1391/1713/8079 -f 1391/1713/8080 1400/1698/8081 1392/1711/8082 -f 1396/1696/8083 1401/1694/8084 1390/1707/8085 -f 1390/1707/8086 1401/1694/8087 1391/1713/8088 -f 1403/1714/8089 1419/1715/8090 1402/1716/8091 -f 1402/1716/8092 1419/1715/8093 1414/1717/8094 -f 1404/1718/8095 1418/1719/8096 1403/1714/8097 -f 1403/1714/8098 1418/1719/8099 1419/1715/8100 -f 1405/1720/8101 1417/1721/8102 1404/1718/8103 -f 1404/1718/8104 1417/1721/8105 1418/1719/8106 -f 1405/1722/8107 1406/1723/8108 1417/1724/8109 -f 1417/1724/8110 1406/1723/8111 1416/1725/8112 -f 1406/1723/8113 1407/1726/8114 1416/1725/8115 -f 1416/1725/8116 1407/1726/8117 1415/1727/8118 -f 1407/1726/8119 1402/1716/8120 1415/1727/8121 -f 1415/1727/8122 1402/1716/8123 1414/1717/8124 -f 1414/1717/8125 1408/1728/8126 1415/1727/8127 -f 1415/1727/8128 1408/1728/8129 1413/1729/8130 -f 1415/1727/8131 1413/1729/8132 1416/1725/8133 -f 1416/1725/8134 1413/1729/8135 1412/1730/8136 -f 1416/1725/8137 1412/1730/8138 1417/1724/8139 -f 1417/1724/8140 1412/1730/8141 1411/1731/8142 -f 1418/1719/8143 1417/1721/8144 1410/1732/8145 -f 1410/1732/8146 1417/1721/8147 1411/1733/8148 -f 1419/1715/8149 1418/1719/8150 1409/1734/8151 -f 1409/1734/8152 1418/1719/8153 1410/1732/8154 -f 1414/1717/8155 1419/1715/8156 1408/1728/8157 -f 1408/1728/8158 1419/1715/8159 1409/1734/8160 -f 1439/1735/8161 1485/1736/8162 1429/1737/8163 -f 1429/1737/8164 1485/1736/8165 1428/1738/8166 -f 1429/1739/8167 1432/1740/8168 1439/1741/8169 -f 1439/1741/8170 1432/1740/8171 1438/1742/8172 -f 1438/1742/8173 1432/1740/8174 1430/1743/8175 -f 1486/1744/8176 1437/1745/8177 1438/1746/8178 -f 1427/1747/8179 1426/1748/8180 1424/1749/8181 -f 1424/1749/8182 1426/1748/8183 1425/1750/8184 -f 1423/1751/8185 1422/1752/8186 1428/1738/8187 -f 1428/1738/8188 1422/1752/8189 1429/1737/8190 -f 1432/1740/8191 1433/1753/8192 1430/1743/8193 -f 1430/1743/8194 1433/1753/8195 1420/1754/8196 -f 1421/1755/8197 1431/1756/8198 1420/1757/8199 -f 1420/1757/8200 1431/1756/8201 1430/1758/8202 -f 1422/1759/8203 1423/1760/8204 1425/1750/8205 -f 1425/1750/8206 1423/1760/8207 1424/1749/8208 -f 1420/1754/8209 1433/1753/8210 1426/1748/8211 -f 1426/1748/8212 1433/1753/8213 1425/1750/8214 -f 1427/1747/8215 1421/1761/8216 1426/1748/8217 -f 1426/1748/8218 1421/1761/8219 1420/1754/8220 -f 1422/1752/8221 1435/1762/8222 1429/1737/8223 -f 1434/1763/8224 1436/1764/8225 1432/1740/8226 -f 1432/1740/8227 1436/1764/8228 1433/1753/8229 -f 1435/1765/8230 1434/1763/8231 1429/1739/8232 -f 1429/1739/8233 1434/1763/8234 1432/1740/8235 -f 1435/1765/8236 1422/1759/8237 1434/1763/8238 -f 1434/1763/8239 1422/1759/8240 1436/1764/8241 -f 1422/1759/8242 1425/1750/8243 1436/1764/8244 -f 1436/1764/8245 1425/1750/8246 1433/1753/8247 -f 1442/1766/8248 1439/1741/8249 1441/1767/8250 -f 1441/1767/8251 1439/1741/8252 1438/1742/8253 -f 1444/1768/8254 1442/1766/8255 1443/1769/8256 -f 1443/1769/8257 1442/1766/8258 1441/1767/8259 -f 1437/1770/8260 1440/1771/8261 1443/1769/8262 -f 1443/1769/8263 1440/1771/8264 1444/1768/8265 -f 1441/1772/8266 1438/1746/8267 1443/1773/8268 -f 1443/1773/8269 1438/1746/8270 1437/1745/8271 -f 1440/1774/8272 1439/1735/8273 1444/1775/8274 -f 1444/1775/8275 1439/1735/8276 1442/1776/8277 -f 1454/1777/8278 1456/1778/8279 1453/1779/8280 -f 1453/1779/8281 1456/1778/8282 1452/1780/8283 -f 1445/1781/8284 1455/1782/8285 1446/1783/8286 -f 1446/1783/8287 1455/1782/8288 1447/1784/8289 -f 1449/1785/8290 1448/1786/8291 1455/1782/8292 -f 1455/1782/8293 1448/1786/8294 1447/1784/8295 -f 1451/1787/8296 1450/1788/8297 1446/1789/8298 -f 1446/1789/8299 1450/1788/8300 1445/1790/8301 -f 1452/1791/8302 1451/1787/8303 1447/1792/8304 -f 1447/1792/8305 1451/1787/8306 1446/1789/8307 -f 1453/1793/8308 1452/1791/8309 1448/1794/8310 -f 1448/1794/8311 1452/1791/8312 1447/1792/8313 -f 1449/1795/8314 1454/1796/8315 1448/1794/8316 -f 1448/1794/8317 1454/1796/8318 1453/1793/8319 -f 1450/1797/8320 1451/1798/8321 1456/1778/8322 -f 1456/1778/8323 1451/1798/8324 1452/1780/8325 -f 1467/1799/8326 1468/1800/8327 1466/1801/8328 -f 1466/1801/8329 1468/1800/8330 1470/1802/8331 -f 1469/1803/8332 1459/1804/8333 1457/1805/8334 -f 1457/1805/8335 1459/1804/8336 1458/1806/8337 -f 1459/1804/8338 1469/1803/8339 1460/1807/8340 -f 1465/1808/8341 1466/1801/8342 1470/1802/8343 -f 1469/1803/8344 1462/1809/8345 1460/1807/8346 -f 1460/1807/8347 1462/1809/8348 1461/1810/8349 -f 1464/1811/8350 1463/1812/8351 1458/1813/8352 -f 1458/1813/8353 1463/1812/8354 1457/1814/8355 -f 1464/1811/8356 1458/1813/8357 1465/1815/8358 -f 1465/1815/8359 1458/1813/8360 1459/1816/8361 -f 1466/1817/8362 1465/1815/8363 1460/1818/8364 -f 1460/1818/8365 1465/1815/8366 1459/1816/8367 -f 1467/1819/8368 1466/1817/8369 1461/1820/8370 -f 1461/1820/8371 1466/1817/8372 1460/1818/8373 -f 1462/1821/8374 1468/1822/8375 1461/1820/8376 -f 1461/1820/8377 1468/1822/8378 1467/1819/8379 -f 1470/1802/8380 1463/1823/8381 1465/1808/8382 -f 1465/1808/8383 1463/1823/8384 1464/1824/8385 -f 1482/1825/8386 1484/1826/8387 1481/1827/8388 -f 1481/1827/8389 1484/1826/8390 1480/1828/8391 -f 1471/1829/8392 1483/1830/8393 1472/1831/8394 -f 1483/1830/8395 1473/1832/8396 1472/1831/8397 -f 1473/1832/8398 1483/1830/8399 1474/1833/8400 -f 1479/1834/8401 1480/1828/8402 1484/1826/8403 -f 1476/1835/8404 1475/1836/8405 1483/1830/8406 -f 1483/1830/8407 1475/1836/8408 1474/1833/8409 -f 1478/1837/8410 1477/1838/8411 1472/1839/8412 -f 1472/1839/8413 1477/1838/8414 1471/1840/8415 -f 1478/1837/8416 1472/1839/8417 1479/1841/8418 -f 1479/1841/8419 1472/1839/8420 1473/1842/8421 -f 1480/1843/8422 1479/1841/8423 1474/1844/8424 -f 1474/1844/8425 1479/1841/8426 1473/1842/8427 -f 1481/1845/8428 1480/1843/8429 1475/1846/8430 -f 1475/1846/8431 1480/1843/8432 1474/1844/8433 -f 1476/1847/8434 1482/1848/8435 1475/1846/8436 -f 1475/1846/8437 1482/1848/8438 1481/1845/8439 -f 1477/1849/8440 1478/1850/8441 1484/1826/8442 -f 1484/1826/8443 1478/1850/8444 1479/1834/8445 -f 1439/1735/8446 1440/1774/8447 1485/1736/8448 -f 1431/1756/8449 1486/1744/8450 1430/1758/8451 -f 1430/1758/8452 1486/1744/8453 1438/1746/8454 -f 1491/1851/8455 1492/1852/8456 1494/1853/8457 -f 1494/1853/8458 1492/1852/8459 1493/1854/8460 -f 1492/1855/8461 1491/1856/8462 1488/1857/8463 -f 1488/1857/8464 1491/1856/8465 1487/1858/8466 -f 1493/1859/8467 1492/1855/8468 1489/1860/8469 -f 1489/1860/8470 1492/1855/8471 1488/1857/8472 -f 1494/1861/8473 1493/1859/8474 1490/1862/8475 -f 1490/1862/8476 1493/1859/8477 1489/1860/8478 -f 1494/1861/8479 1490/1862/8480 1497/1863/8481 -f 1497/1863/8482 1490/1862/8483 1495/1864/8484 -f 1487/1865/8485 1490/1866/8486 1488/1867/8487 -f 1488/1867/8488 1490/1866/8489 1489/1868/8490 -f 1491/1856/8491 1498/1869/8492 1487/1858/8493 -f 1487/1858/8494 1498/1869/8495 1496/1870/8496 -f 1503/1871/8497 1504/1872/8498 1506/1873/8499 -f 1506/1873/8500 1504/1872/8501 1505/1874/8502 -f 1504/1875/8503 1503/1876/8504 1500/1877/8505 -f 1500/1877/8506 1503/1876/8507 1499/1878/8508 -f 1505/1879/8509 1504/1875/8510 1501/1880/8511 -f 1501/1880/8512 1504/1875/8513 1500/1877/8514 -f 1506/1881/8515 1505/1879/8516 1502/1882/8517 -f 1502/1882/8518 1505/1879/8519 1501/1880/8520 -f 1506/1881/8521 1502/1882/8522 1509/1883/8523 -f 1509/1883/8524 1502/1882/8525 1507/1884/8526 -f 1508/1885/8527 1507/1886/8528 1499/1887/8529 -f 1499/1887/8530 1507/1886/8531 1502/1888/8532 -f 1503/1876/8533 1510/1889/8534 1499/1878/8535 -f 1499/1878/8536 1510/1889/8537 1508/1890/8538 -f 1515/1891/8539 1516/1892/8540 1518/1893/8541 -f 1518/1893/8542 1516/1892/8543 1517/1894/8544 -f 1516/1895/8545 1515/1896/8546 1512/1897/8547 -f 1512/1897/8548 1515/1896/8549 1511/1898/8550 -f 1517/1899/8551 1516/1895/8552 1513/1900/8553 -f 1513/1900/8554 1516/1895/8555 1512/1897/8556 -f 1518/1901/8557 1517/1899/8558 1514/1902/8559 -f 1514/1902/8560 1517/1899/8561 1513/1900/8562 -f 1518/1901/8563 1514/1902/8564 1521/1903/8565 -f 1521/1903/8566 1514/1902/8567 1519/1904/8568 -f 1520/1905/8569 1519/1906/8570 1511/1907/8571 -f 1511/1907/8572 1519/1906/8573 1514/1908/8574 -f 1515/1896/8575 1522/1909/8576 1511/1898/8577 -f 1511/1898/8578 1522/1909/8579 1520/1910/8580 -f 1527/1911/8581 1528/1912/8582 1530/1913/8583 -f 1530/1913/8584 1528/1912/8585 1529/1914/8586 -f 1528/1915/8587 1527/1916/8588 1524/1917/8589 -f 1524/1917/8590 1527/1916/8591 1523/1918/8592 -f 1529/1919/8593 1528/1915/8594 1525/1920/8595 -f 1525/1920/8596 1528/1915/8597 1524/1917/8598 -f 1530/1921/8599 1529/1919/8600 1526/1922/8601 -f 1526/1922/8602 1529/1919/8603 1525/1920/8604 -f 1530/1921/8605 1526/1922/8606 1533/1923/8607 -f 1533/1923/8608 1526/1922/8609 1531/1924/8610 -f 1532/1925/8611 1531/1926/8612 1523/1927/8613 -f 1523/1927/8614 1531/1926/8615 1526/1928/8616 -f 1527/1916/8617 1534/1929/8618 1523/1918/8619 -f 1523/1918/8620 1534/1929/8621 1532/1930/8622 -f 1545/1931/8623 1541/1932/8624 1542/1933/8625 -f 1540/1934/8626 1539/1935/8627 1536/1936/8628 -f 1536/1936/8629 1539/1935/8630 1535/1937/8631 -f 1541/1938/8632 1540/1934/8633 1537/1939/8634 -f 1537/1939/8635 1540/1934/8636 1536/1936/8637 -f 1542/1940/8638 1541/1938/8639 1538/1941/8640 -f 1538/1941/8641 1541/1938/8642 1537/1939/8643 -f 1542/1940/8644 1538/1941/8645 1545/1942/8646 -f 1545/1942/8647 1538/1941/8648 1543/1943/8649 -f 1537/1944/8650 1543/1945/8651 1538/1946/8652 -f 1539/1935/8653 1546/1947/8654 1535/1937/8655 -f 1535/1937/8656 1546/1947/8657 1544/1948/8658 -f 1551/1949/8659 1554/1950/8660 1558/1951/8661 -f 1558/1951/8662 1554/1950/8663 1557/1952/8664 -f 1552/1953/8665 1551/1954/8666 1548/1955/8667 -f 1548/1955/8668 1551/1954/8669 1547/1956/8670 -f 1553/1957/8671 1552/1953/8672 1549/1958/8673 -f 1549/1958/8674 1552/1953/8675 1548/1955/8676 -f 1554/1959/8677 1553/1957/8678 1550/1960/8679 -f 1550/1960/8680 1553/1957/8681 1549/1958/8682 -f 1554/1959/8683 1550/1960/8684 1557/1961/8685 -f 1557/1961/8686 1550/1960/8687 1555/1962/8688 -f 1556/1963/8689 1555/1964/8690 1547/1965/8691 -f 1547/1965/8692 1555/1964/8693 1550/1966/8694 -f 1551/1954/8695 1558/1967/8696 1547/1956/8697 -f 1547/1956/8698 1558/1967/8699 1556/1968/8700 -f 1564/1969/8701 1581/1970/8702 1562/1971/8703 -f 1562/1971/8704 1581/1970/8705 1559/1972/8706 -f 1574/1973/8707 1577/1974/8708 1572/1975/8709 -f 1572/1975/8710 1577/1974/8711 1571/1976/8712 -f 1572/1977/8713 1571/1978/8714 1562/1979/8715 -f 1562/1979/8716 1571/1978/8717 1561/1980/8718 -f 1569/1981/8719 1579/1982/8720 1559/1983/8721 -f 1559/1983/8722 1579/1982/8723 1580/1984/8724 -f 1573/1985/8725 1570/1986/8726 1563/1987/8727 -f 1563/1987/8728 1570/1986/8729 1560/1988/8730 -f 1576/1989/8731 1573/1985/8732 1566/1990/8733 -f 1566/1990/8734 1573/1985/8735 1563/1987/8736 -f 1578/1991/8737 1576/1989/8738 1568/1992/8739 -f 1568/1992/8740 1576/1989/8741 1566/1990/8742 -f 1575/1993/8743 1578/1991/8744 1565/1994/8745 -f 1565/1994/8746 1578/1991/8747 1568/1992/8748 -f 1574/1995/8749 1575/1993/8750 1564/1996/8751 -f 1564/1996/8752 1575/1993/8753 1565/1994/8754 -f 1574/1995/8755 1564/1996/8756 1577/1997/8757 -f 1577/1997/8758 1564/1996/8759 1567/1998/8760 -f 1571/1978/8761 1577/1997/8762 1561/1980/8763 -f 1561/1980/8764 1577/1997/8765 1567/1998/8766 -f 1569/1999/8767 1572/1975/8768 1579/2000/8769 -f 1572/1977/8770 1562/1979/8771 1579/1982/8772 -f 1579/1982/8773 1562/1979/8774 1580/1984/8775 -f 1562/1971/8776 1559/1972/8777 1580/2001/8778 -f 1564/1969/8779 1562/1971/8780 1567/2002/8781 -f 1567/2002/8782 1562/1971/8783 1561/2003/8784 -f 1581/1970/8785 1565/2004/8786 1560/2005/8787 -f 1560/2005/8788 1565/2004/8789 1563/2006/8790 -f 1581/1970/8791 1564/1969/8792 1565/2004/8793 -f 1565/2004/8794 1568/2007/8795 1563/2006/8796 -f 1563/2006/8797 1568/2007/8798 1566/2008/8799 -f 1582/2009/8800 1575/2010/8801 1574/1973/8802 -f 1574/1973/8803 1572/1975/8804 1582/2009/8805 -f 1582/2009/8806 1572/1975/8807 1569/1999/8808 -f 1576/2011/8809 1578/2012/8810 1573/2013/8811 -f 1573/2013/8812 1578/2012/8813 1575/2010/8814 -f 1573/2013/8815 1575/2010/8816 1570/2014/8817 -f 1570/2014/8818 1575/2010/8819 1582/2009/8820 -f 1588/2015/8821 1605/2016/8822 1586/2017/8823 -f 1586/2017/8824 1605/2016/8825 1583/2018/8826 -f 1598/2019/8827 1601/2020/8828 1596/2021/8829 -f 1596/2021/8830 1601/2020/8831 1595/2022/8832 -f 1596/2023/8833 1595/2024/8834 1586/2025/8835 -f 1586/2025/8836 1595/2024/8837 1585/2026/8838 -f 1593/2027/8839 1603/2028/8840 1583/2029/8841 -f 1583/2029/8842 1603/2028/8843 1604/2030/8844 -f 1597/2031/8845 1594/2032/8846 1587/2033/8847 -f 1587/2033/8848 1594/2032/8849 1584/2034/8850 -f 1600/2035/8851 1597/2031/8852 1590/2036/8853 -f 1590/2036/8854 1597/2031/8855 1587/2033/8856 -f 1602/2037/8857 1600/2035/8858 1592/2038/8859 -f 1592/2038/8860 1600/2035/8861 1590/2036/8862 -f 1599/2039/8863 1602/2037/8864 1589/2040/8865 -f 1589/2040/8866 1602/2037/8867 1592/2038/8868 -f 1598/2041/8869 1599/2039/8870 1588/2042/8871 -f 1588/2042/8872 1599/2039/8873 1589/2040/8874 -f 1598/2041/8875 1588/2042/8876 1601/2043/8877 -f 1601/2043/8878 1588/2042/8879 1591/2044/8880 -f 1595/2024/8881 1601/2043/8882 1585/2026/8883 -f 1585/2026/8884 1601/2043/8885 1591/2044/8886 -f 1593/2045/8887 1596/2021/8888 1603/2046/8889 -f 1596/2023/8890 1586/2025/8891 1603/2028/8892 -f 1603/2028/8893 1586/2025/8894 1604/2030/8895 -f 1586/2017/8896 1583/2018/8897 1604/2047/8898 -f 1588/2015/8899 1586/2017/8900 1591/2048/8901 -f 1591/2048/8902 1586/2017/8903 1585/2049/8904 -f 1605/2016/8905 1589/2050/8906 1584/2051/8907 -f 1584/2051/8908 1589/2050/8909 1587/2052/8910 -f 1605/2016/8911 1588/2015/8912 1589/2050/8913 -f 1589/2050/8914 1592/2053/8915 1587/2052/8916 -f 1587/2052/8917 1592/2053/8918 1590/2054/8919 -f 1606/2055/8920 1599/2056/8921 1598/2019/8922 -f 1598/2019/8923 1596/2021/8924 1606/2055/8925 -f 1606/2055/8926 1596/2021/8927 1593/2045/8928 -f 1600/2057/8929 1602/2058/8930 1597/2059/8931 -f 1597/2059/8932 1602/2058/8933 1599/2056/8934 -f 1597/2059/8935 1599/2056/8936 1594/2060/8937 -f 1594/2060/8938 1599/2056/8939 1606/2055/8940 -f 1616/2061/8941 1615/2062/8942 1608/2063/8943 -f 1608/2063/8944 1615/2062/8945 1607/2064/8946 -f 1618/2065/8947 1617/2066/8948 1610/2067/8949 -f 1610/2067/8950 1617/2066/8951 1609/2068/8952 -f 1621/2069/8953 1618/2065/8954 1613/2070/8955 -f 1613/2070/8956 1618/2065/8957 1610/2067/8958 -f 1622/2071/8959 1621/2069/8960 1614/2072/8961 -f 1614/2072/8962 1621/2069/8963 1613/2070/8964 -f 1619/2073/8965 1620/2074/8966 1611/2075/8967 -f 1611/2075/8968 1620/2074/8969 1612/2076/8970 -f 1615/2062/8971 1619/2073/8972 1607/2064/8973 -f 1607/2064/8974 1619/2073/8975 1611/2075/8976 -f 1616/2061/8977 1608/2063/8978 1624/2077/8979 -f 1624/2077/8980 1608/2063/8981 1623/2078/8982 -f 1612/2079/8983 1608/2080/8984 1611/2081/8985 -f 1611/2081/8986 1608/2080/8987 1607/2082/8988 -f 1624/2083/8989 1626/2084/8990 1616/2085/8991 -f 1616/2085/8992 1626/2084/8993 1620/2086/8994 -f 1620/2074/8995 1626/2087/8996 1612/2076/8997 -f 1612/2076/8998 1626/2087/8999 1625/2088/9000 -f 1622/2071/9001 1614/2072/9002 1629/2089/9003 -f 1629/2089/9004 1614/2072/9005 1627/2090/9006 -f 1628/2091/9007 1627/2092/9008 1609/2093/9009 -f 1609/2093/9010 1627/2092/9011 1614/2094/9012 -f 1617/2095/9013 1618/2096/9014 1622/2097/9015 -f 1622/2097/9016 1618/2096/9017 1621/2098/9018 -f 1617/2066/9019 1630/2099/9020 1609/2068/9021 -f 1609/2068/9022 1630/2099/9023 1628/2100/9024 -f 1636/2101/9025 1653/2102/9026 1634/2103/9027 -f 1634/2103/9028 1653/2102/9029 1631/2104/9030 -f 1646/2105/9031 1649/2106/9032 1644/2107/9033 -f 1644/2107/9034 1649/2106/9035 1643/2108/9036 -f 1644/2109/9037 1643/2110/9038 1634/2111/9039 -f 1634/2111/9040 1643/2110/9041 1633/2112/9042 -f 1641/2113/9043 1651/2114/9044 1631/2115/9045 -f 1631/2115/9046 1651/2114/9047 1652/2116/9048 -f 1645/2117/9049 1642/2118/9050 1635/2119/9051 -f 1635/2119/9052 1642/2118/9053 1632/2120/9054 -f 1648/2121/9055 1645/2117/9056 1638/2122/9057 -f 1638/2122/9058 1645/2117/9059 1635/2119/9060 -f 1650/2123/9061 1648/2121/9062 1640/2124/9063 -f 1640/2124/9064 1648/2121/9065 1638/2122/9066 -f 1647/2125/9067 1650/2123/9068 1637/2126/9069 -f 1637/2126/9070 1650/2123/9071 1640/2124/9072 -f 1646/2127/9073 1647/2125/9074 1636/2128/9075 -f 1636/2128/9076 1647/2125/9077 1637/2126/9078 -f 1646/2127/9079 1636/2128/9080 1649/2129/9081 -f 1649/2129/9082 1636/2128/9083 1639/2130/9084 -f 1643/2110/9085 1649/2129/9086 1633/2112/9087 -f 1633/2112/9088 1649/2129/9089 1639/2130/9090 -f 1641/2131/9091 1644/2107/9092 1651/2132/9093 -f 1644/2109/9094 1634/2111/9095 1651/2114/9096 -f 1651/2114/9097 1634/2111/9098 1652/2116/9099 -f 1634/2103/9100 1631/2104/9101 1652/2133/9102 -f 1636/2101/9103 1634/2103/9104 1639/2134/9105 -f 1639/2134/9106 1634/2103/9107 1633/2135/9108 -f 1653/2102/9109 1637/2136/9110 1632/2137/9111 -f 1632/2137/9112 1637/2136/9113 1635/2138/9114 -f 1653/2102/9115 1636/2101/9116 1637/2136/9117 -f 1637/2136/9118 1640/2139/9119 1635/2138/9120 -f 1635/2138/9121 1640/2139/9122 1638/2140/9123 -f 1654/2141/9124 1647/2142/9125 1646/2105/9126 -f 1646/2105/9127 1644/2107/9128 1654/2141/9129 -f 1654/2141/9130 1644/2107/9131 1641/2131/9132 -f 1648/2143/9133 1650/2144/9134 1645/2145/9135 -f 1645/2145/9136 1650/2144/9137 1647/2142/9138 -f 1645/2145/9139 1647/2142/9140 1642/2146/9141 -f 1642/2146/9142 1647/2142/9143 1654/2141/9144 -f 1664/2147/9145 1663/2148/9146 1656/2149/9147 -f 1656/2149/9148 1663/2148/9149 1655/2150/9150 -f 1666/2151/9151 1665/2152/9152 1658/2153/9153 -f 1658/2153/9154 1665/2152/9155 1657/2154/9156 -f 1669/2155/9157 1666/2151/9158 1661/2156/9159 -f 1661/2156/9160 1666/2151/9161 1658/2153/9162 -f 1670/2157/9163 1669/2155/9164 1662/2158/9165 -f 1662/2158/9166 1669/2155/9167 1661/2156/9168 -f 1667/2159/9169 1668/2160/9170 1659/2161/9171 -f 1659/2161/9172 1668/2160/9173 1660/2162/9174 -f 1663/2148/9175 1667/2159/9176 1655/2150/9177 -f 1655/2150/9178 1667/2159/9179 1659/2161/9180 -f 1664/2147/9181 1656/2149/9182 1672/2163/9183 -f 1672/2163/9184 1656/2149/9185 1671/2164/9186 -f 1660/2165/9187 1656/2166/9188 1659/2167/9189 -f 1659/2167/9190 1656/2166/9191 1655/2168/9192 -f 1672/2169/9193 1674/2170/9194 1664/2171/9195 -f 1664/2171/9196 1674/2170/9197 1668/2172/9198 -f 1668/2160/9199 1674/2173/9200 1660/2162/9201 -f 1660/2162/9202 1674/2173/9203 1673/2174/9204 -f 1670/2157/9205 1662/2158/9206 1677/2175/9207 -f 1677/2175/9208 1662/2158/9209 1675/2176/9210 -f 1657/2177/9211 1662/2178/9212 1658/2179/9213 -f 1658/2179/9214 1662/2178/9215 1661/2180/9216 -f 1665/2181/9217 1666/2182/9218 1670/2183/9219 -f 1670/2183/9220 1666/2182/9221 1669/2184/9222 -f 1665/2152/9223 1678/2185/9224 1657/2154/9225 -f 1657/2154/9226 1678/2185/9227 1676/2186/9228 -f 1684/2187/9229 1701/2188/9230 1682/2189/9231 -f 1682/2189/9232 1701/2188/9233 1679/2190/9234 -f 1694/2191/9235 1697/2192/9236 1692/2193/9237 -f 1692/2193/9238 1697/2192/9239 1691/2194/9240 -f 1692/2195/9241 1691/2196/9242 1682/2197/9243 -f 1682/2197/9244 1691/2196/9245 1681/2198/9246 -f 1689/2199/9247 1699/2200/9248 1679/2201/9249 -f 1679/2201/9250 1699/2200/9251 1700/2202/9252 -f 1693/2203/9253 1690/2204/9254 1683/2205/9255 -f 1683/2205/9256 1690/2204/9257 1680/2206/9258 -f 1696/2207/9259 1693/2203/9260 1686/2208/9261 -f 1686/2208/9262 1693/2203/9263 1683/2205/9264 -f 1698/2209/9265 1696/2207/9266 1688/2210/9267 -f 1688/2210/9268 1696/2207/9269 1686/2208/9270 -f 1695/2211/9271 1698/2209/9272 1685/2212/9273 -f 1685/2212/9274 1698/2209/9275 1688/2210/9276 -f 1694/2213/9277 1695/2211/9278 1684/2214/9279 -f 1684/2214/9280 1695/2211/9281 1685/2212/9282 -f 1694/2213/9283 1684/2214/9284 1697/2215/9285 -f 1697/2215/9286 1684/2214/9287 1687/2216/9288 -f 1691/2196/9289 1697/2215/9290 1681/2198/9291 -f 1681/2198/9292 1697/2215/9293 1687/2216/9294 -f 1689/2217/9295 1692/2193/9296 1699/2218/9297 -f 1692/2195/9298 1682/2197/9299 1699/2200/9300 -f 1699/2200/9301 1682/2197/9302 1700/2202/9303 -f 1682/2189/9304 1679/2190/9305 1700/2219/9306 -f 1684/2187/9307 1682/2189/9308 1687/2220/9309 -f 1687/2220/9310 1682/2189/9311 1681/2221/9312 -f 1701/2188/9313 1685/2222/9314 1680/2223/9315 -f 1680/2223/9316 1685/2222/9317 1683/2224/9318 -f 1701/2188/9319 1684/2187/9320 1685/2222/9321 -f 1685/2222/9322 1688/2225/9323 1683/2224/9324 -f 1683/2224/9325 1688/2225/9326 1686/2226/9327 -f 1702/2227/9328 1695/2228/9329 1694/2191/9330 -f 1694/2191/9331 1692/2193/9332 1702/2227/9333 -f 1702/2227/9334 1692/2193/9335 1689/2217/9336 -f 1696/2229/9337 1698/2230/9338 1693/2231/9339 -f 1693/2231/9340 1698/2230/9341 1695/2228/9342 -f 1693/2231/9343 1695/2228/9344 1690/2232/9345 -f 1690/2232/9346 1695/2228/9347 1702/2227/9348 -f 1723/2233/9349 1708/2234/9350 1709/2235/9351 -f 1718/2236/9352 1721/2237/9353 1716/2238/9354 -f 1716/2238/9355 1721/2237/9356 1715/2239/9357 -f 1716/2240/9358 1715/2241/9359 1706/2242/9360 -f 1706/2242/9361 1715/2241/9362 1705/2243/9363 -f 1713/2244/9364 1716/2240/9365 1703/2245/9366 -f 1703/2245/9367 1716/2240/9368 1706/2242/9369 -f 1717/2246/9370 1714/2247/9371 1707/2248/9372 -f 1707/2248/9373 1714/2247/9374 1704/2249/9375 -f 1720/2250/9376 1717/2246/9377 1710/2251/9378 -f 1710/2251/9379 1717/2246/9380 1707/2248/9381 -f 1722/2252/9382 1720/2250/9383 1712/2253/9384 -f 1712/2253/9385 1720/2250/9386 1710/2251/9387 -f 1719/2254/9388 1722/2252/9389 1709/2255/9390 -f 1709/2255/9391 1722/2252/9392 1712/2253/9393 -f 1718/2256/9394 1719/2254/9395 1708/2257/9396 -f 1708/2257/9397 1719/2254/9398 1709/2255/9399 -f 1718/2256/9400 1708/2257/9401 1721/2258/9402 -f 1721/2258/9403 1708/2257/9404 1711/2259/9405 -f 1715/2241/9406 1721/2258/9407 1705/2243/9408 -f 1705/2243/9409 1721/2258/9410 1711/2259/9411 -f 1708/2234/9412 1706/2260/9413 1711/2261/9414 -f 1711/2261/9415 1706/2260/9416 1705/2262/9417 -f 1709/2235/9418 1712/2263/9419 1707/2264/9420 -f 1707/2264/9421 1712/2263/9422 1710/2265/9423 -f 1723/2233/9424 1709/2235/9425 1704/2266/9426 -f 1704/2266/9427 1709/2235/9428 1707/2264/9429 -f 1708/2234/9430 1723/2233/9431 1706/2260/9432 -f 1706/2260/9433 1723/2233/9434 1703/2267/9435 -f 1724/2268/9436 1719/2269/9437 1718/2236/9438 -f 1718/2236/9439 1716/2238/9440 1724/2268/9441 -f 1724/2268/9442 1716/2238/9443 1713/2270/9444 -f 1720/2271/9445 1722/2272/9446 1717/2273/9447 -f 1717/2273/9448 1722/2272/9449 1719/2269/9450 -f 1717/2273/9451 1719/2269/9452 1714/2274/9453 -f 1714/2274/9454 1719/2269/9455 1724/2268/9456 -f 1730/2275/9457 1729/2276/9458 1726/2277/9459 -f 1726/2277/9460 1729/2276/9461 1725/2278/9462 -f 1731/2279/9463 1730/2275/9464 1727/2280/9465 -f 1727/2280/9466 1730/2275/9467 1726/2277/9468 -f 1732/2281/9469 1731/2279/9470 1728/2282/9471 -f 1728/2282/9472 1731/2279/9473 1727/2280/9474 -f 1729/2283/9475 1732/2281/9476 1725/2284/9477 -f 1725/2284/9478 1732/2281/9479 1728/2282/9480 -f 1738/2285/9481 1737/2286/9482 1734/2287/9483 -f 1734/2287/9484 1737/2286/9485 1733/2288/9486 -f 1739/2289/9487 1738/2285/9488 1735/2290/9489 -f 1735/2290/9490 1738/2285/9491 1734/2287/9492 -f 1740/2291/9493 1739/2289/9494 1736/2292/9495 -f 1736/2292/9496 1739/2289/9497 1735/2290/9498 -f 1737/2293/9499 1740/2291/9500 1733/2294/9501 -f 1733/2294/9502 1740/2291/9503 1736/2292/9504 -f 1746/2295/9505 1745/2296/9506 1742/2297/9507 -f 1742/2297/9508 1745/2296/9509 1741/2298/9510 -f 1747/2299/9511 1746/2295/9512 1743/2300/9513 -f 1743/2300/9514 1746/2295/9515 1742/2297/9516 -f 1748/2301/9517 1747/2299/9518 1744/2302/9519 -f 1744/2302/9520 1747/2299/9521 1743/2300/9522 -f 1745/2303/9523 1748/2301/9524 1741/2304/9525 -f 1741/2304/9526 1748/2301/9527 1744/2302/9528 -f 1676/2305/9529 1675/2306/9530 1657/2177/9531 -f 1657/2177/9532 1675/2306/9533 1662/2178/9534 -f 1673/2307/9535 1671/2308/9536 1660/2165/9537 -f 1660/2165/9538 1671/2308/9539 1656/2166/9540 -f 1668/2172/9541 1667/2309/9542 1664/2171/9543 -f 1664/2171/9544 1667/2309/9545 1663/2310/9546 -f 1677/2311/9547 1678/2312/9548 1670/2183/9549 -f 1670/2183/9550 1678/2312/9551 1665/2181/9552 -f 1625/2313/9553 1623/2314/9554 1612/2079/9555 -f 1612/2079/9556 1623/2314/9557 1608/2080/9558 -f 1609/2093/9559 1614/2094/9560 1610/2315/9561 -f 1610/2315/9562 1614/2094/9563 1613/2316/9564 -f 1629/2317/9565 1630/2318/9566 1622/2097/9567 -f 1622/2097/9568 1630/2318/9569 1617/2095/9570 -f 1620/2086/9571 1619/2319/9572 1616/2085/9573 -f 1616/2085/9574 1619/2319/9575 1615/2320/9576 -f 1551/1949/9577 1552/2321/9578 1554/1950/9579 -f 1554/1950/9580 1552/2321/9581 1553/2322/9582 -f 1494/1853/9583 1497/2323/9584 1491/1851/9585 -f 1491/1851/9586 1497/2323/9587 1498/2324/9588 -f 1496/2325/9589 1495/2326/9590 1487/1865/9591 -f 1487/1865/9592 1495/2326/9593 1490/1866/9594 -f 1547/1965/9595 1550/1966/9596 1548/2327/9597 -f 1548/2327/9598 1550/1966/9599 1549/2328/9600 -f 1544/2329/9601 1536/2330/9602 1535/2331/9603 -f 1544/2329/9604 1543/1945/9605 1537/1944/9606 -f 1544/2329/9607 1537/1944/9608 1536/2330/9609 -f 1546/2332/9610 1540/2333/9611 1541/1932/9612 -f 1546/2332/9613 1541/1932/9614 1545/1931/9615 -f 1539/2334/9616 1540/2333/9617 1546/2332/9618 -f 1523/1927/9619 1526/1928/9620 1524/2335/9621 -f 1524/2335/9622 1526/1928/9623 1525/2336/9624 -f 1511/1907/9625 1514/1908/9626 1512/2337/9627 -f 1512/2337/9628 1514/1908/9629 1513/2338/9630 -f 1499/1887/9631 1502/1888/9632 1500/2339/9633 -f 1500/2339/9634 1502/1888/9635 1501/2340/9636 -f 1506/1873/9637 1509/2341/9638 1503/1871/9639 -f 1503/1871/9640 1509/2341/9641 1510/2342/9642 -f 1515/1891/9643 1518/1893/9644 1522/2343/9645 -f 1522/2343/9646 1518/1893/9647 1521/2344/9648 -f 1527/1911/9649 1530/1913/9650 1534/2345/9651 -f 1534/2345/9652 1530/1913/9653 1533/2346/9654 -f 1758/2347/9655 1805/2348/9656 1756/2349/9657 -f 1752/2350/9658 1749/2351/9659 1755/2352/9660 -f 1782/2353/9661 1765/2354/9662 1766/2355/9663 -f 1766/2356/9664 1765/2357/9665 1752/2358/9666 -f 1752/2358/9667 1765/2357/9668 1751/2359/9669 -f 1767/2360/9670 1766/2356/9671 1753/2361/9672 -f 1753/2361/9673 1766/2356/9674 1752/2358/9675 -f 1769/2362/9676 1767/2360/9677 1755/2363/9678 -f 1755/2363/9679 1767/2360/9680 1753/2361/9681 -f 1763/2364/9682 1769/2362/9683 1749/2365/9684 -f 1749/2365/9685 1769/2362/9686 1755/2363/9687 -f 1768/2366/9688 1764/2367/9689 1754/2368/9690 -f 1754/2368/9691 1764/2367/9692 1750/2369/9693 -f 1773/2370/9694 1768/2366/9695 1759/2371/9696 -f 1759/2371/9697 1768/2366/9698 1754/2368/9699 -f 1775/2372/9700 1773/2370/9701 1761/2373/9702 -f 1761/2373/9703 1773/2370/9704 1759/2371/9705 -f 1776/2374/9706 1775/2372/9707 1762/2375/9708 -f 1762/2375/9709 1775/2372/9710 1761/2373/9711 -f 1762/2375/9712 1757/2376/9713 1776/2374/9714 -f 1776/2374/9715 1757/2376/9716 1771/2377/9717 -f 1772/2378/9718 1771/2377/9719 1758/2379/9720 -f 1758/2379/9721 1771/2377/9722 1757/2376/9723 -f 1770/2380/9724 1772/2378/9725 1756/2381/9726 -f 1756/2381/9727 1772/2378/9728 1758/2379/9729 -f 1774/2382/9730 1770/2380/9731 1760/2383/9732 -f 1760/2383/9733 1770/2380/9734 1756/2381/9735 -f 1765/2357/9736 1782/2384/9737 1751/2359/9738 -f 1751/2359/9739 1782/2384/9740 1779/2385/9741 -f 1772/2386/9742 1776/2387/9743 1771/2388/9744 -f 1779/2385/9745 1778/2389/9746 1760/2383/9747 -f 1760/2383/9748 1778/2389/9749 1774/2382/9750 -f 1779/2385/9751 1782/2384/9752 1778/2389/9753 -f 1784/2390/9754 1777/2391/9755 1786/2392/9756 -f 1786/2392/9757 1777/2391/9758 1778/2393/9759 -f 1785/2394/9760 1782/2353/9761 1783/2395/9762 -f 1783/2395/9763 1782/2353/9764 1781/2396/9765 -f 1778/2389/9766 1782/2384/9767 1786/2397/9768 -f 1786/2397/9769 1782/2384/9770 1785/2398/9771 -f 1788/2399/9772 1784/2390/9773 1786/2392/9774 -f 1783/2395/9775 1787/2400/9776 1785/2394/9777 -f 1786/2397/9778 1785/2398/9779 1788/2401/9780 -f 1788/2401/9781 1785/2398/9782 1787/2402/9783 -f 1789/2403/9784 1790/2404/9785 1791/2405/9786 -f 1791/2405/9787 1790/2404/9788 1792/2406/9789 -f 1795/2407/9790 1796/2408/9791 1789/2403/9792 -f 1789/2403/9793 1796/2408/9794 1790/2404/9795 -f 1790/2404/9796 1796/2409/9797 1792/2406/9798 -f 1792/2406/9799 1796/2409/9800 1794/2410/9801 -f 1793/2411/9802 1795/2412/9803 1791/2405/9804 -f 1791/2405/9805 1795/2412/9806 1789/2403/9807 -f 1797/2413/9808 1798/2414/9809 1799/2415/9810 -f 1799/2415/9811 1798/2414/9812 1800/2416/9813 -f 1803/2417/9814 1804/2418/9815 1797/2413/9816 -f 1797/2413/9817 1804/2418/9818 1798/2414/9819 -f 1798/2414/9820 1804/2419/9821 1800/2416/9822 -f 1800/2416/9823 1804/2419/9824 1802/2420/9825 -f 1801/2421/9826 1803/2422/9827 1799/2415/9828 -f 1799/2415/9829 1803/2422/9830 1797/2413/9831 -f 1779/2423/9832 1752/2350/9833 1751/2424/9834 -f 1756/2349/9835 1779/2423/9836 1760/2425/9837 -f 1779/2423/9838 1780/2426/9839 1752/2350/9840 -f 1752/2350/9841 1780/2426/9842 1749/2351/9843 -f 1752/2350/9844 1755/2352/9845 1753/2427/9846 -f 1762/2428/9847 1758/2347/9848 1757/2429/9849 -f 1754/2430/9850 1762/2428/9851 1759/2431/9852 -f 1759/2431/9853 1762/2428/9854 1761/2432/9855 -f 1754/2430/9856 1750/2433/9857 1762/2428/9858 -f 1750/2433/9859 1805/2348/9860 1762/2428/9861 -f 1762/2428/9862 1805/2348/9863 1758/2347/9864 -f 1805/2348/9865 1780/2426/9866 1756/2349/9867 -f 1756/2349/9868 1780/2426/9869 1779/2423/9870 -f 1806/2434/9871 1770/2435/9872 1777/2391/9873 -f 1777/2391/9874 1770/2435/9875 1778/2393/9876 -f 1770/2435/9877 1806/2434/9878 1772/2386/9879 -f 1768/2436/9880 1773/2437/9881 1776/2387/9882 -f 1776/2387/9883 1773/2437/9884 1775/2438/9885 -f 1806/2434/9886 1764/2439/9887 1772/2386/9888 -f 1772/2386/9889 1764/2439/9890 1776/2387/9891 -f 1764/2439/9892 1768/2436/9893 1776/2387/9894 -f 1778/2393/9895 1770/2435/9896 1774/2440/9897 -f 1782/2353/9898 1766/2355/9899 1781/2396/9900 -f 1769/2441/9901 1766/2355/9902 1767/2442/9903 -f 1763/2443/9904 1766/2355/9905 1769/2441/9906 -f 1781/2396/9907 1766/2355/9908 1763/2443/9909 -f 1809/2444/9910 1808/2445/9911 1818/2446/9912 -f 1818/2446/9913 1808/2445/9914 1819/2447/9915 -f 1832/2448/9916 1831/2449/9917 1833/2450/9918 -f 1833/2450/9919 1831/2449/9920 1823/2451/9921 -f 1831/2449/9922 1830/2452/9923 1823/2451/9924 -f 1830/2452/9925 1838/2453/9926 1823/2451/9927 -f 1823/2451/9928 1838/2453/9929 1824/2454/9930 -f 1824/2454/9931 1838/2453/9932 1825/2455/9933 -f 1825/2455/9934 1838/2453/9935 1826/2456/9936 -f 1838/2453/9937 1829/2457/9938 1826/2456/9939 -f 1829/2457/9940 1828/2458/9941 1826/2456/9942 -f 1828/2458/9943 1827/2459/9944 1826/2456/9945 -f 1825/2455/9946 1834/2460/9947 1824/2454/9948 -f 1824/2454/9949 1834/2460/9950 1835/2461/9951 -f 1807/2462/9952 1823/2463/9953 1808/2445/9954 -f 1808/2445/9955 1823/2463/9956 1824/2464/9957 -f 1807/2462/9958 1817/2465/9959 1823/2463/9960 -f 1823/2463/9961 1817/2465/9962 1833/2466/9963 -f 1817/2465/9964 1816/2467/9965 1833/2466/9966 -f 1833/2466/9967 1816/2467/9968 1832/2468/9969 -f 1816/2467/9970 1815/2469/9971 1832/2468/9972 -f 1832/2468/9973 1815/2469/9974 1831/2470/9975 -f 1814/2471/9976 1830/2472/9977 1815/2469/9978 -f 1815/2469/9979 1830/2472/9980 1831/2470/9981 -f 1814/2471/9982 1820/2473/9983 1830/2472/9984 -f 1830/2472/9985 1820/2473/9986 1836/2474/9987 -f 1820/2473/9988 1821/2475/9989 1836/2476/9990 -f 1836/2476/9991 1821/2475/9992 1837/2477/9993 -f 1822/2478/9994 1838/2479/9995 1821/2475/9996 -f 1821/2475/9997 1838/2479/9998 1837/2480/9999 -f 1813/2481/10000 1829/2482/10001 1822/2478/10002 -f 1822/2478/10003 1829/2482/10004 1838/2479/10005 -f 1813/2481/10006 1812/2483/10007 1829/2482/10008 -f 1829/2482/10009 1812/2483/10010 1828/2484/10011 -f 1812/2483/10012 1811/2485/10013 1828/2484/10014 -f 1828/2484/10015 1811/2485/10016 1827/2486/10017 -f 1811/2485/10018 1810/2487/10019 1827/2486/10020 -f 1827/2486/10021 1810/2487/10022 1826/2488/10023 -f 1810/2487/10024 1809/2444/10025 1826/2488/10026 -f 1826/2488/10027 1809/2444/10028 1825/2489/10029 -f 1809/2444/10030 1818/2446/10031 1825/2489/10032 -f 1825/2489/10033 1818/2446/10034 1834/2490/10035 -f 1818/2446/10036 1819/2447/10037 1834/2491/10038 -f 1834/2491/10039 1819/2447/10040 1835/2492/10041 -f 1835/2493/10042 1819/2447/10043 1824/2464/10044 -f 1824/2464/10045 1819/2447/10046 1808/2445/10047 -f 1814/2471/10048 1822/2478/10049 1820/2473/10050 -f 1820/2473/10051 1822/2478/10052 1821/2475/10053 -f 1816/2467/10054 1817/2465/10055 1815/2469/10056 -f 1817/2465/10057 1807/2462/10058 1815/2469/10059 -f 1815/2469/10060 1807/2462/10061 1814/2471/10062 -f 1814/2471/10063 1807/2462/10064 1822/2478/10065 -f 1807/2462/10066 1808/2445/10067 1822/2478/10068 -f 1808/2445/10069 1809/2444/10070 1822/2478/10071 -f 1809/2444/10072 1810/2487/10073 1822/2478/10074 -f 1822/2478/10075 1810/2487/10076 1813/2481/10077 -f 1810/2487/10078 1811/2485/10079 1813/2481/10080 -f 1811/2485/10081 1812/2483/10082 1813/2481/10083 -f 1830/2452/10084 1836/2494/10085 1838/2453/10086 -f 1838/2453/10087 1836/2494/10088 1837/2495/10089 -f 1841/2496/10090 1840/2497/10091 1850/2498/10092 -f 1850/2498/10093 1840/2497/10094 1851/2499/10095 -f 1864/2500/10096 1863/2501/10097 1865/2502/10098 -f 1865/2502/10099 1863/2501/10100 1855/2503/10101 -f 1863/2501/10102 1862/2504/10103 1855/2503/10104 -f 1862/2504/10105 1870/2505/10106 1855/2503/10107 -f 1855/2503/10108 1870/2505/10109 1856/2506/10110 -f 1856/2506/10111 1870/2505/10112 1857/2507/10113 -f 1857/2507/10114 1870/2505/10115 1858/2508/10116 -f 1870/2505/10117 1861/2509/10118 1858/2508/10119 -f 1861/2509/10120 1860/2510/10121 1858/2508/10122 -f 1860/2510/10123 1859/2511/10124 1858/2508/10125 -f 1857/2507/10126 1866/2512/10127 1856/2506/10128 -f 1856/2506/10129 1866/2512/10130 1867/2513/10131 -f 1840/2497/10132 1839/2514/10133 1856/2515/10134 -f 1856/2515/10135 1839/2514/10136 1855/2516/10137 -f 1839/2514/10138 1849/2517/10139 1855/2516/10140 -f 1855/2516/10141 1849/2517/10142 1865/2518/10143 -f 1848/2519/10144 1864/2520/10145 1849/2517/10146 -f 1849/2517/10147 1864/2520/10148 1865/2518/10149 -f 1847/2521/10150 1863/2522/10151 1848/2519/10152 -f 1848/2519/10153 1863/2522/10154 1864/2520/10155 -f 1846/2523/10156 1862/2524/10157 1847/2521/10158 -f 1847/2521/10159 1862/2524/10160 1863/2522/10161 -f 1846/2523/10162 1852/2525/10163 1862/2524/10164 -f 1862/2524/10165 1852/2525/10166 1868/2526/10167 -f 1852/2525/10168 1853/2527/10169 1868/2528/10170 -f 1868/2528/10171 1853/2527/10172 1869/2529/10173 -f 1854/2530/10174 1870/2531/10175 1853/2527/10176 -f 1853/2527/10177 1870/2531/10178 1869/2532/10179 -f 1854/2530/10180 1845/2533/10181 1870/2531/10182 -f 1870/2531/10183 1845/2533/10184 1861/2534/10185 -f 1845/2533/10186 1844/2535/10187 1861/2534/10188 -f 1861/2534/10189 1844/2535/10190 1860/2536/10191 -f 1843/2537/10192 1859/2538/10193 1844/2535/10194 -f 1844/2535/10195 1859/2538/10196 1860/2536/10197 -f 1842/2539/10198 1858/2540/10199 1843/2537/10200 -f 1843/2537/10201 1858/2540/10202 1859/2538/10203 -f 1858/2540/10204 1842/2539/10205 1857/2541/10206 -f 1857/2541/10207 1842/2539/10208 1841/2496/10209 -f 1841/2496/10210 1850/2498/10211 1857/2541/10212 -f 1857/2541/10213 1850/2498/10214 1866/2542/10215 -f 1850/2498/10216 1851/2499/10217 1866/2543/10218 -f 1866/2543/10219 1851/2499/10220 1867/2544/10221 -f 1867/2545/10222 1851/2499/10223 1856/2515/10224 -f 1856/2515/10225 1851/2499/10226 1840/2497/10227 -f 1846/2523/10228 1854/2530/10229 1852/2525/10230 -f 1852/2525/10231 1854/2530/10232 1853/2527/10233 -f 1848/2519/10234 1849/2517/10235 1847/2521/10236 -f 1849/2517/10237 1839/2514/10238 1847/2521/10239 -f 1847/2521/10240 1839/2514/10241 1846/2523/10242 -f 1846/2523/10243 1839/2514/10244 1854/2530/10245 -f 1839/2514/10246 1840/2497/10247 1854/2530/10248 -f 1840/2497/10249 1841/2496/10250 1854/2530/10251 -f 1841/2496/10252 1842/2539/10253 1854/2530/10254 -f 1854/2530/10255 1842/2539/10256 1845/2533/10257 -f 1842/2539/10258 1843/2537/10259 1845/2533/10260 -f 1843/2537/10261 1844/2535/10262 1845/2533/10263 -f 1862/2504/10264 1868/2546/10265 1870/2505/10266 -f 1870/2505/10267 1868/2546/10268 1869/2547/10269 -f 1871/1652/10270 1872/1660/10271 1888/2548/10272 -f 1888/2548/10273 1887/2549/10274 1871/1652/10275 -f 1872/1660/10276 1873/1658/10277 1889/2550/10278 -f 1889/2550/10279 1888/2548/10280 1872/1660/10281 -f 1873/1658/10282 1874/1664/10283 1890/2551/10284 -f 1890/2551/10285 1889/2550/10286 1873/1658/10287 -f 1874/1664/10288 1875/1662/10289 1891/2552/10290 -f 1891/2552/10291 1890/2551/10292 1874/1664/10293 -f 1875/1662/10294 1876/1668/10295 1892/2553/10296 -f 1892/2553/10297 1891/2552/10298 1875/1662/10299 -f 1876/1668/10300 1877/1666/10301 1893/2554/10302 -f 1893/2554/10303 1892/2553/10304 1876/1668/10305 -f 1877/1666/10306 1878/1672/10307 1894/2555/10308 -f 1894/2555/10309 1893/2554/10310 1877/1666/10311 -f 1878/1672/10312 1879/1670/10313 1895/2556/10314 -f 1895/2556/10315 1894/2555/10316 1878/1672/10317 -f 1879/1670/10318 1880/1676/10319 1896/2557/10320 -f 1896/2557/10321 1895/2556/10322 1879/1670/10323 -f 1880/1676/10324 1881/1674/10325 1897/2558/10326 -f 1897/2558/10327 1896/2557/10328 1880/1676/10329 -f 1881/1674/10330 1882/1680/10331 1898/2559/10332 -f 1898/2559/10333 1897/2558/10334 1881/1674/10335 -f 1882/1680/10336 1883/1678/10337 1899/2560/10338 -f 1899/2560/10339 1898/2559/10340 1882/1680/10341 -f 1883/1678/10342 1884/1682/10343 1900/2561/10344 -f 1900/2561/10345 1899/2560/10346 1883/1678/10347 -f 1884/1682/10348 1885/1656/10349 1901/2562/10350 -f 1901/2562/10351 1900/2561/10352 1884/1682/10353 -f 1885/1656/10354 1886/1654/10355 1902/408/10356 -f 1902/408/10357 1901/2562/10358 1885/1656/10359 -f 1886/1654/10360 1871/1652/10361 1887/2549/10362 -f 1887/2549/10363 1902/408/10364 1886/1654/10365 -# 3455 faces - diff --git a/examples/web/models/resources/pbr/trooper_albedo.png b/examples/web/models/resources/pbr/trooper_albedo.png deleted file mode 100644 index ac1422e..0000000 Binary files a/examples/web/models/resources/pbr/trooper_albedo.png and /dev/null differ diff --git a/examples/web/models/resources/pbr/trooper_ao.png b/examples/web/models/resources/pbr/trooper_ao.png deleted file mode 100644 index 8567f7b..0000000 Binary files a/examples/web/models/resources/pbr/trooper_ao.png and /dev/null differ diff --git a/examples/web/models/resources/pbr/trooper_metalness.png b/examples/web/models/resources/pbr/trooper_metalness.png deleted file mode 100644 index 6c212a0..0000000 Binary files a/examples/web/models/resources/pbr/trooper_metalness.png and /dev/null differ diff --git a/examples/web/models/resources/pbr/trooper_normals.png b/examples/web/models/resources/pbr/trooper_normals.png deleted file mode 100644 index 59c7bdc..0000000 Binary files a/examples/web/models/resources/pbr/trooper_normals.png and /dev/null differ diff --git a/examples/web/models/resources/pbr/trooper_roughness.png b/examples/web/models/resources/pbr/trooper_roughness.png deleted file mode 100644 index 53186d5..0000000 Binary files a/examples/web/models/resources/pbr/trooper_roughness.png and /dev/null differ diff --git a/examples/web/models/resources/pitch.png b/examples/web/models/resources/pitch.png index 6d7a233..82f89cd 100644 Binary files a/examples/web/models/resources/pitch.png and b/examples/web/models/resources/pitch.png differ diff --git a/examples/web/models/resources/plane.png b/examples/web/models/resources/plane.png index 58951ea..b415138 100644 Binary files a/examples/web/models/resources/plane.png and b/examples/web/models/resources/plane.png differ diff --git a/examples/web/models/resources/plane_diffuse.png b/examples/web/models/resources/plane_diffuse.png index fb16f24..c02a9e2 100644 Binary files a/examples/web/models/resources/plane_diffuse.png and b/examples/web/models/resources/plane_diffuse.png differ diff --git a/examples/web/models/resources/shaders/brdf.fs b/examples/web/models/resources/shaders/brdf.fs deleted file mode 100644 index d04bc66..0000000 --- a/examples/web/models/resources/shaders/brdf.fs +++ /dev/null @@ -1,133 +0,0 @@ -/******************************************************************************************* -* -* BRDF LUT Generation - Bidirectional reflectance distribution function fragment shader -* -* REF: https://github.com/HectorMF/BRDFGenerator -* -* Copyright (c) 2017 Victor Fisac -* -**********************************************************************************************/ - -#version 330 - - -// Input vertex attributes (from vertex shader) -in vec2 fragTexCoord; - -// Constant values -const float PI = 3.14159265359; -const uint MAX_SAMPLES = 1024u; - -// Output fragment color -out vec4 finalColor; - -vec2 Hammersley(uint i, uint N); -float RadicalInverseVdC(uint bits); -float GeometrySchlickGGX(float NdotV, float roughness); -float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness); -vec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness); -vec2 IntegrateBRDF(float NdotV, float roughness); - -float RadicalInverseVdC(uint bits) -{ - bits = (bits << 16u) | (bits >> 16u); - bits = ((bits & 0x55555555u) << 1u) | ((bits & 0xAAAAAAAAu) >> 1u); - bits = ((bits & 0x33333333u) << 2u) | ((bits & 0xCCCCCCCCu) >> 2u); - bits = ((bits & 0x0F0F0F0Fu) << 4u) | ((bits & 0xF0F0F0F0u) >> 4u); - bits = ((bits & 0x00FF00FFu) << 8u) | ((bits & 0xFF00FF00u) >> 8u); - return float(bits) * 2.3283064365386963e-10; // / 0x100000000 -} - -// Compute Hammersley coordinates -vec2 Hammersley(uint i, uint N) -{ - return vec2(float(i)/float(N), RadicalInverseVdC(i)); -} - -// Integrate number of importance samples for (roughness and NoV) -vec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness) -{ - float a = roughness*roughness; - float phi = 2.0 * PI * Xi.x; - float cosTheta = sqrt((1.0 - Xi.y)/(1.0 + (a*a - 1.0)*Xi.y)); - float sinTheta = sqrt(1.0 - cosTheta*cosTheta); - - // Transform from spherical coordinates to cartesian coordinates (halfway vector) - vec3 H = vec3(cos(phi)*sinTheta, sin(phi)*sinTheta, cosTheta); - - // Transform from tangent space H vector to world space sample vector - vec3 up = ((abs(N.z) < 0.999) ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0)); - vec3 tangent = normalize(cross(up, N)); - vec3 bitangent = cross(N, tangent); - vec3 sampleVec = tangent*H.x + bitangent*H.y + N*H.z; - - return normalize(sampleVec); -} - -float GeometrySchlickGGX(float NdotV, float roughness) -{ - // For IBL k is calculated different - float k = (roughness*roughness)/2.0; - - float nom = NdotV; - float denom = NdotV*(1.0 - k) + k; - - return nom/denom; -} - -// Compute the geometry term for the BRDF given roughness squared, NoV, NoL -float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness) -{ - float NdotV = max(dot(N, V), 0.0); - float NdotL = max(dot(N, L), 0.0); - float ggx2 = GeometrySchlickGGX(NdotV, roughness); - float ggx1 = GeometrySchlickGGX(NdotL, roughness); - - return ggx1*ggx2; -} - -vec2 IntegrateBRDF(float NdotV, float roughness) -{ - float A = 0.0; - float B = 0.0; - vec3 V = vec3(sqrt(1.0 - NdotV*NdotV), 0.0, NdotV); - vec3 N = vec3(0.0, 0.0, 1.0); - - for (uint i = 0u; i < MAX_SAMPLES; i++) - { - // Generate a sample vector that's biased towards the preferred alignment direction (importance sampling) - - vec2 Xi = Hammersley(i, MAX_SAMPLES); // Compute a Hammersely coordinate - vec3 H = ImportanceSampleGGX(Xi, N, roughness); // Integrate number of importance samples for (roughness and NoV) - vec3 L = normalize(2.0*dot(V, H)*H - V); // Compute reflection vector L - - float NdotL = max(L.z, 0.0); // Compute normal dot light - float NdotH = max(H.z, 0.0); // Compute normal dot half - float VdotH = max(dot(V, H), 0.0); // Compute view dot half - - if (NdotL > 0.0) - { - float G = GeometrySmith(N, V, L, roughness); // Compute the geometry term for the BRDF given roughness squared, NoV, NoL - float GVis = (G*VdotH)/(NdotH*NdotV); // Compute the visibility term given G, VoH, NoH, NoV, NoL - float Fc = pow(1.0 - VdotH, 5.0); // Compute the fresnel term given VoH - - A += (1.0 - Fc)*GVis; // Sum the result given fresnel, geometry, visibility - B += Fc*GVis; - } - } - - // Calculate brdf average sample - A /= float(MAX_SAMPLES); - B /= float(MAX_SAMPLES); - - return vec2(A, B); -} - -void main() -{ - // Calculate brdf based on texture coordinates - vec2 brdf = IntegrateBRDF(fragTexCoord.x, fragTexCoord.y); - - // Calculate final fragment color - finalColor = vec4(brdf.r, brdf.g, 0.0, 1.0); -} diff --git a/examples/web/models/resources/shaders/brdf.vs b/examples/web/models/resources/shaders/brdf.vs deleted file mode 100644 index 0638467..0000000 --- a/examples/web/models/resources/shaders/brdf.vs +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************************* -* -* rPBR [shader] - Bidirectional reflectance distribution function vertex shader -* -* Copyright (c) 2017 Victor Fisac -* -**********************************************************************************************/ - -#version 330 - -// Input vertex attributes -in vec3 vertexPosition; -in vec2 vertexTexCoord; - -// Output vertex attributes (to fragment shader) -out vec2 fragTexCoord; - -void main() -{ - // Calculate fragment position based on model transformations - fragTexCoord = vertexTexCoord; - - // Calculate final vertex position - gl_Position = vec4(vertexPosition, 1.0); -} \ No newline at end of file diff --git a/examples/web/models/resources/shaders/cubemap.fs b/examples/web/models/resources/shaders/cubemap.fs deleted file mode 100644 index e8e2853..0000000 --- a/examples/web/models/resources/shaders/cubemap.fs +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************************* -* -* rPBR [shader] - Equirectangular to cubemap fragment shader -* -* Copyright (c) 2017 Victor Fisac -* -**********************************************************************************************/ - -#version 330 - -// Input vertex attributes (from vertex shader) -in vec3 fragPosition; - -// Input uniform values -uniform sampler2D equirectangularMap; - -// Output fragment color -out vec4 finalColor; - -vec2 SampleSphericalMap(vec3 v) -{ - vec2 uv = vec2(atan(v.z, v.x), asin(v.y)); - uv *= vec2(0.1591, 0.3183); - uv += 0.5; - return uv; -} - -void main() -{ - // Normalize local position - vec2 uv = SampleSphericalMap(normalize(fragPosition)); - - // Fetch color from texture map - vec3 color = texture(equirectangularMap, uv).rgb; - - // Calculate final fragment color - finalColor = vec4(color, 1.0); -} diff --git a/examples/web/models/resources/shaders/cubemap.vs b/examples/web/models/resources/shaders/cubemap.vs deleted file mode 100644 index 5721eaa..0000000 --- a/examples/web/models/resources/shaders/cubemap.vs +++ /dev/null @@ -1,28 +0,0 @@ -/******************************************************************************************* -* -* rPBR [shader] - Equirectangular to cubemap vertex shader -* -* Copyright (c) 2017 Victor Fisac -* -**********************************************************************************************/ - -#version 330 - -// Input vertex attributes -in vec3 vertexPosition; - -// Input uniform values -uniform mat4 projection; -uniform mat4 view; - -// Output vertex attributes (to fragment shader) -out vec3 fragPosition; - -void main() -{ - // Calculate fragment position based on model transformations - fragPosition = vertexPosition; - - // Calculate final vertex position - gl_Position = projection*view*vec4(vertexPosition, 1.0); -} diff --git a/examples/web/models/resources/shaders/glsl100/cubemap.fs b/examples/web/models/resources/shaders/glsl100/cubemap.fs new file mode 100644 index 0000000..402cdea --- /dev/null +++ b/examples/web/models/resources/shaders/glsl100/cubemap.fs @@ -0,0 +1,29 @@ +#version 100 + +precision mediump float; + +// Input vertex attributes (from vertex shader) +varying vec3 fragPosition; + +// Input uniform values +uniform sampler2D equirectangularMap; + +vec2 SampleSphericalMap(vec3 v) +{ + vec2 uv = vec2(atan(v.z, v.x), asin(v.y)); + uv *= vec2(0.1591, 0.3183); + uv += 0.5; + return uv; +} + +void main() +{ + // Normalize local position + vec2 uv = SampleSphericalMap(normalize(fragPosition)); + + // Fetch color from texture map + vec3 color = texture2D(equirectangularMap, uv).rgb; + + // Calculate final fragment color + gl_FragColor = vec4(color, 1.0); +} diff --git a/examples/web/models/resources/shaders/glsl100/cubemap.vs b/examples/web/models/resources/shaders/glsl100/cubemap.vs new file mode 100644 index 0000000..fd8d17e --- /dev/null +++ b/examples/web/models/resources/shaders/glsl100/cubemap.vs @@ -0,0 +1,20 @@ +#version 100 + +// Input vertex attributes +attribute vec3 vertexPosition; + +// Input uniform values +uniform mat4 projection; +uniform mat4 view; + +// Output vertex attributes (to fragment shader) +varying vec3 fragPosition; + +void main() +{ + // Calculate fragment position based on model transformations + fragPosition = vertexPosition; + + // Calculate final vertex position + gl_Position = projection*view*vec4(vertexPosition, 1.0); +} diff --git a/examples/web/models/resources/shaders/glsl100/skybox.fs b/examples/web/models/resources/shaders/glsl100/skybox.fs new file mode 100644 index 0000000..1269a96 --- /dev/null +++ b/examples/web/models/resources/shaders/glsl100/skybox.fs @@ -0,0 +1,28 @@ +#version 100 + +precision mediump float; + +// Input vertex attributes (from vertex shader) +varying vec3 fragPosition; + +// Input uniform values +uniform samplerCube environmentMap; +uniform bool vflipped; + +void main() +{ + // Fetch color from texture map + vec4 texelColor = vec4(0.0); + + if (vflipped) texelColor = textureCube(environmentMap, vec3(fragPosition.x, -fragPosition.y, fragPosition.z)); + else texelColor = textureCube(environmentMap, fragPosition); + + vec3 color = vec3(texelColor.x, texelColor.y, texelColor.z); + + // Apply gamma correction + color = color/(color + vec3(1.0)); + color = pow(color, vec3(1.0/2.2)); + + // Calculate final fragment color + gl_FragColor = vec4(color, 1.0); +} diff --git a/examples/web/models/resources/shaders/glsl100/skybox.vs b/examples/web/models/resources/shaders/glsl100/skybox.vs new file mode 100644 index 0000000..0d00d54 --- /dev/null +++ b/examples/web/models/resources/shaders/glsl100/skybox.vs @@ -0,0 +1,24 @@ +#version 100 + +// Input vertex attributes +attribute vec3 vertexPosition; + +// Input uniform values +uniform mat4 projection; +uniform mat4 view; + +// Output vertex attributes (to fragment shader) +varying vec3 fragPosition; + +void main() +{ + // Calculate fragment position based on model transformations + fragPosition = vertexPosition; + + // Remove translation from the view matrix + mat4 rotView = mat4(mat3(view)); + vec4 clipPos = projection*rotView*vec4(vertexPosition, 1.0); + + // Calculate final vertex position + gl_Position = clipPos.xyzw; +} diff --git a/examples/web/models/resources/shaders/glsl330/brdf.fs b/examples/web/models/resources/shaders/glsl330/brdf.fs new file mode 100644 index 0000000..d04bc66 --- /dev/null +++ b/examples/web/models/resources/shaders/glsl330/brdf.fs @@ -0,0 +1,133 @@ +/******************************************************************************************* +* +* BRDF LUT Generation - Bidirectional reflectance distribution function fragment shader +* +* REF: https://github.com/HectorMF/BRDFGenerator +* +* Copyright (c) 2017 Victor Fisac +* +**********************************************************************************************/ + +#version 330 + + +// Input vertex attributes (from vertex shader) +in vec2 fragTexCoord; + +// Constant values +const float PI = 3.14159265359; +const uint MAX_SAMPLES = 1024u; + +// Output fragment color +out vec4 finalColor; + +vec2 Hammersley(uint i, uint N); +float RadicalInverseVdC(uint bits); +float GeometrySchlickGGX(float NdotV, float roughness); +float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness); +vec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness); +vec2 IntegrateBRDF(float NdotV, float roughness); + +float RadicalInverseVdC(uint bits) +{ + bits = (bits << 16u) | (bits >> 16u); + bits = ((bits & 0x55555555u) << 1u) | ((bits & 0xAAAAAAAAu) >> 1u); + bits = ((bits & 0x33333333u) << 2u) | ((bits & 0xCCCCCCCCu) >> 2u); + bits = ((bits & 0x0F0F0F0Fu) << 4u) | ((bits & 0xF0F0F0F0u) >> 4u); + bits = ((bits & 0x00FF00FFu) << 8u) | ((bits & 0xFF00FF00u) >> 8u); + return float(bits) * 2.3283064365386963e-10; // / 0x100000000 +} + +// Compute Hammersley coordinates +vec2 Hammersley(uint i, uint N) +{ + return vec2(float(i)/float(N), RadicalInverseVdC(i)); +} + +// Integrate number of importance samples for (roughness and NoV) +vec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness) +{ + float a = roughness*roughness; + float phi = 2.0 * PI * Xi.x; + float cosTheta = sqrt((1.0 - Xi.y)/(1.0 + (a*a - 1.0)*Xi.y)); + float sinTheta = sqrt(1.0 - cosTheta*cosTheta); + + // Transform from spherical coordinates to cartesian coordinates (halfway vector) + vec3 H = vec3(cos(phi)*sinTheta, sin(phi)*sinTheta, cosTheta); + + // Transform from tangent space H vector to world space sample vector + vec3 up = ((abs(N.z) < 0.999) ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0)); + vec3 tangent = normalize(cross(up, N)); + vec3 bitangent = cross(N, tangent); + vec3 sampleVec = tangent*H.x + bitangent*H.y + N*H.z; + + return normalize(sampleVec); +} + +float GeometrySchlickGGX(float NdotV, float roughness) +{ + // For IBL k is calculated different + float k = (roughness*roughness)/2.0; + + float nom = NdotV; + float denom = NdotV*(1.0 - k) + k; + + return nom/denom; +} + +// Compute the geometry term for the BRDF given roughness squared, NoV, NoL +float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness) +{ + float NdotV = max(dot(N, V), 0.0); + float NdotL = max(dot(N, L), 0.0); + float ggx2 = GeometrySchlickGGX(NdotV, roughness); + float ggx1 = GeometrySchlickGGX(NdotL, roughness); + + return ggx1*ggx2; +} + +vec2 IntegrateBRDF(float NdotV, float roughness) +{ + float A = 0.0; + float B = 0.0; + vec3 V = vec3(sqrt(1.0 - NdotV*NdotV), 0.0, NdotV); + vec3 N = vec3(0.0, 0.0, 1.0); + + for (uint i = 0u; i < MAX_SAMPLES; i++) + { + // Generate a sample vector that's biased towards the preferred alignment direction (importance sampling) + + vec2 Xi = Hammersley(i, MAX_SAMPLES); // Compute a Hammersely coordinate + vec3 H = ImportanceSampleGGX(Xi, N, roughness); // Integrate number of importance samples for (roughness and NoV) + vec3 L = normalize(2.0*dot(V, H)*H - V); // Compute reflection vector L + + float NdotL = max(L.z, 0.0); // Compute normal dot light + float NdotH = max(H.z, 0.0); // Compute normal dot half + float VdotH = max(dot(V, H), 0.0); // Compute view dot half + + if (NdotL > 0.0) + { + float G = GeometrySmith(N, V, L, roughness); // Compute the geometry term for the BRDF given roughness squared, NoV, NoL + float GVis = (G*VdotH)/(NdotH*NdotV); // Compute the visibility term given G, VoH, NoH, NoV, NoL + float Fc = pow(1.0 - VdotH, 5.0); // Compute the fresnel term given VoH + + A += (1.0 - Fc)*GVis; // Sum the result given fresnel, geometry, visibility + B += Fc*GVis; + } + } + + // Calculate brdf average sample + A /= float(MAX_SAMPLES); + B /= float(MAX_SAMPLES); + + return vec2(A, B); +} + +void main() +{ + // Calculate brdf based on texture coordinates + vec2 brdf = IntegrateBRDF(fragTexCoord.x, fragTexCoord.y); + + // Calculate final fragment color + finalColor = vec4(brdf.r, brdf.g, 0.0, 1.0); +} diff --git a/examples/web/models/resources/shaders/glsl330/brdf.vs b/examples/web/models/resources/shaders/glsl330/brdf.vs new file mode 100644 index 0000000..0638467 --- /dev/null +++ b/examples/web/models/resources/shaders/glsl330/brdf.vs @@ -0,0 +1,25 @@ +/******************************************************************************************* +* +* rPBR [shader] - Bidirectional reflectance distribution function vertex shader +* +* Copyright (c) 2017 Victor Fisac +* +**********************************************************************************************/ + +#version 330 + +// Input vertex attributes +in vec3 vertexPosition; +in vec2 vertexTexCoord; + +// Output vertex attributes (to fragment shader) +out vec2 fragTexCoord; + +void main() +{ + // Calculate fragment position based on model transformations + fragTexCoord = vertexTexCoord; + + // Calculate final vertex position + gl_Position = vec4(vertexPosition, 1.0); +} \ No newline at end of file diff --git a/examples/web/models/resources/shaders/glsl330/cubemap.fs b/examples/web/models/resources/shaders/glsl330/cubemap.fs new file mode 100644 index 0000000..e4d4ddd --- /dev/null +++ b/examples/web/models/resources/shaders/glsl330/cubemap.fs @@ -0,0 +1,30 @@ +#version 330 + +// Input vertex attributes (from vertex shader) +in vec3 fragPosition; + +// Input uniform values +uniform sampler2D equirectangularMap; + +// Output fragment color +out vec4 finalColor; + +vec2 SampleSphericalMap(vec3 v) +{ + vec2 uv = vec2(atan(v.z, v.x), asin(v.y)); + uv *= vec2(0.1591, 0.3183); + uv += 0.5; + return uv; +} + +void main() +{ + // Normalize local position + vec2 uv = SampleSphericalMap(normalize(fragPosition)); + + // Fetch color from texture map + vec3 color = texture(equirectangularMap, uv).rgb; + + // Calculate final fragment color + finalColor = vec4(color, 1.0); +} diff --git a/examples/web/models/resources/shaders/glsl330/cubemap.vs b/examples/web/models/resources/shaders/glsl330/cubemap.vs new file mode 100644 index 0000000..5721eaa --- /dev/null +++ b/examples/web/models/resources/shaders/glsl330/cubemap.vs @@ -0,0 +1,28 @@ +/******************************************************************************************* +* +* rPBR [shader] - Equirectangular to cubemap vertex shader +* +* Copyright (c) 2017 Victor Fisac +* +**********************************************************************************************/ + +#version 330 + +// Input vertex attributes +in vec3 vertexPosition; + +// Input uniform values +uniform mat4 projection; +uniform mat4 view; + +// Output vertex attributes (to fragment shader) +out vec3 fragPosition; + +void main() +{ + // Calculate fragment position based on model transformations + fragPosition = vertexPosition; + + // Calculate final vertex position + gl_Position = projection*view*vec4(vertexPosition, 1.0); +} diff --git a/examples/web/models/resources/shaders/glsl330/irradiance.fs b/examples/web/models/resources/shaders/glsl330/irradiance.fs new file mode 100644 index 0000000..4ef03e0 --- /dev/null +++ b/examples/web/models/resources/shaders/glsl330/irradiance.fs @@ -0,0 +1,58 @@ +/******************************************************************************************* +* +* rPBR [shader] - Irradiance cubemap fragment shader +* +* Copyright (c) 2017 Victor Fisac +* +**********************************************************************************************/ + +#version 330 + +// Input vertex attributes (from vertex shader) +in vec3 fragPosition; + +// Input uniform values +uniform samplerCube environmentMap; + +// Constant values +const float PI = 3.14159265359; + +// Output fragment color +out vec4 finalColor; + +void main() +{ + // The sample direction equals the hemisphere's orientation + vec3 normal = normalize(fragPosition); + + vec3 irradiance = vec3(0.0); + + vec3 up = vec3(0.0, 1.0, 0.0); + vec3 right = cross(up, normal); + up = cross(normal, right); + + float sampleDelta = 0.025; + float nrSamples = 0.0; + + for (float phi = 0.0; phi < 2.0*PI; phi += sampleDelta) + { + for (float theta = 0.0; theta < 0.5*PI; theta += sampleDelta) + { + // Spherical to cartesian (in tangent space) + vec3 tangentSample = vec3(sin(theta)*cos(phi), sin(theta)*sin(phi), cos(theta)); + + // tangent space to world + vec3 sampleVec = tangentSample.x*right + tangentSample.y*up + tangentSample.z*normal; + + // Fetch color from environment cubemap + irradiance += texture(environmentMap, sampleVec).rgb*cos(theta)*sin(theta); + nrSamples++; + } + } + + // Calculate irradiance average value from samples + irradiance = PI*irradiance*(1.0/float(nrSamples)); + + // Calculate final fragment color + finalColor = vec4(irradiance, 1.0); +} diff --git a/examples/web/models/resources/shaders/glsl330/pbr.fs b/examples/web/models/resources/shaders/glsl330/pbr.fs new file mode 100644 index 0000000..68bf203 --- /dev/null +++ b/examples/web/models/resources/shaders/glsl330/pbr.fs @@ -0,0 +1,300 @@ +/******************************************************************************************* +* +* rPBR [shader] - Physically based rendering fragment shader +* +* Copyright (c) 2017 Victor Fisac +* +**********************************************************************************************/ + +#version 330 + +#define MAX_REFLECTION_LOD 4.0 +#define MAX_DEPTH_LAYER 20 +#define MIN_DEPTH_LAYER 10 + +#define MAX_LIGHTS 4 +#define LIGHT_DIRECTIONAL 0 +#define LIGHT_POINT 1 + +struct MaterialProperty { + vec3 color; + int useSampler; + sampler2D sampler; +}; + +struct Light { + int enabled; + int type; + vec3 position; + vec3 target; + vec4 color; +}; + +// Input vertex attributes (from vertex shader) +in vec3 fragPosition; +in vec2 fragTexCoord; +in vec3 fragNormal; +in vec3 fragTangent; +in vec3 fragBinormal; + +// Input material values +uniform MaterialProperty albedo; +uniform MaterialProperty normals; +uniform MaterialProperty metalness; +uniform MaterialProperty roughness; +uniform MaterialProperty occlusion; +uniform MaterialProperty emission; +uniform MaterialProperty height; + +// Input uniform values +uniform samplerCube irradianceMap; +uniform samplerCube prefilterMap; +uniform sampler2D brdfLUT; + +// Input lighting values +uniform Light lights[MAX_LIGHTS]; + +// Other uniform values +uniform int renderMode; +uniform vec3 viewPos; +vec2 texCoord; + +// Constant values +const float PI = 3.14159265359; + +// Output fragment color +out vec4 finalColor; + +vec3 ComputeMaterialProperty(MaterialProperty property); +float DistributionGGX(vec3 N, vec3 H, float roughness); +float GeometrySchlickGGX(float NdotV, float roughness); +float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness); +vec3 fresnelSchlick(float cosTheta, vec3 F0); +vec3 fresnelSchlickRoughness(float cosTheta, vec3 F0, float roughness); +vec2 ParallaxMapping(vec2 texCoords, vec3 viewDir); + +// WARNING: There is some weird behaviour with this function, always returns black! +// Yes, I even tried: return texture(property.sampler, texCoord).rgb; +vec3 ComputeMaterialProperty(MaterialProperty property) +{ + vec3 result = vec3(0.0, 0.0, 0.0); + + if (property.useSampler == 1) result = texture(property.sampler, texCoord).rgb; + else result = property.color; + + return result; +} + +float DistributionGGX(vec3 N, vec3 H, float roughness) +{ + float a = roughness*roughness; + float a2 = a*a; + float NdotH = max(dot(N, H), 0.0); + float NdotH2 = NdotH*NdotH; + + float nom = a2; + float denom = (NdotH2*(a2 - 1.0) + 1.0); + denom = PI*denom*denom; + + return nom/denom; +} + +float GeometrySchlickGGX(float NdotV, float roughness) +{ + float r = (roughness + 1.0); + float k = r*r/8.0; + + float nom = NdotV; + float denom = NdotV*(1.0 - k) + k; + + return nom/denom; +} +float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness) +{ + float NdotV = max(dot(N, V), 0.0); + float NdotL = max(dot(N, L), 0.0); + float ggx2 = GeometrySchlickGGX(NdotV, roughness); + float ggx1 = GeometrySchlickGGX(NdotL, roughness); + + return ggx1*ggx2; +} + +vec3 fresnelSchlick(float cosTheta, vec3 F0) +{ + return F0 + (1.0 - F0)*pow(1.0 - cosTheta, 5.0); +} + +vec3 fresnelSchlickRoughness(float cosTheta, vec3 F0, float roughness) +{ + return F0 + (max(vec3(1.0 - roughness), F0) - F0)*pow(1.0 - cosTheta, 5.0); +} + +vec2 ParallaxMapping(vec2 texCoords, vec3 viewDir) +{ + // Calculate the number of depth layers and calculate the size of each layer + float numLayers = mix(MAX_DEPTH_LAYER, MIN_DEPTH_LAYER, abs(dot(vec3(0.0, 0.0, 1.0), viewDir))); + float layerDepth = 1.0/numLayers; + + // Calculate depth of current layer + float currentLayerDepth = 0.0; + + // Calculate the amount to shift the texture coordinates per layer (from vector P) + // Note: height amount is stored in height material attribute color R channel (sampler use is independent) + vec2 P = viewDir.xy*height.color.r; + vec2 deltaTexCoords = P/numLayers; + + // Store initial texture coordinates and depth values + vec2 currentTexCoords = texCoords; + float currentDepthMapValue = texture(height.sampler, currentTexCoords).r; + + while (currentLayerDepth < currentDepthMapValue) + { + // Shift texture coordinates along direction of P + currentTexCoords -= deltaTexCoords; + + // Get depth map value at current texture coordinates + currentDepthMapValue = texture(height.sampler, currentTexCoords).r; + + // Get depth of next layer + currentLayerDepth += layerDepth; + } + + // Get texture coordinates before collision (reverse operations) + vec2 prevTexCoords = currentTexCoords + deltaTexCoords; + + // Get depth after and before collision for linear interpolation + float afterDepth = currentDepthMapValue - currentLayerDepth; + float beforeDepth = texture(height.sampler, prevTexCoords).r - currentLayerDepth + layerDepth; + + // Interpolation of texture coordinates + float weight = afterDepth/(afterDepth - beforeDepth); + vec2 finalTexCoords = prevTexCoords*weight + currentTexCoords*(1.0 - weight); + + return finalTexCoords; +} + +void main() +{ + // Calculate TBN and RM matrices + mat3 TBN = transpose(mat3(fragTangent, fragBinormal, fragNormal)); + + // Calculate lighting required attributes + vec3 normal = normalize(fragNormal); + vec3 view = normalize(viewPos - fragPosition); + vec3 refl = reflect(-view, normal); + + // Check if parallax mapping is enabled and calculate texture coordinates to use based on height map + // NOTE: remember that 'texCoord' variable must be assigned before calling any ComputeMaterialProperty() function + if (height.useSampler == 1) texCoord = ParallaxMapping(fragTexCoord, view); + else texCoord = fragTexCoord; // Use default texture coordinates + + // Fetch material values from texture sampler or color attributes + vec3 color = texture(albedo.sampler, texCoord).rgb; //ComputeMaterialProperty(albedo); + vec3 metal = texture(metalness.sampler, texCoord).rgb; //ComputeMaterialProperty(metalness); + vec3 rough = texture(roughness.sampler, texCoord).rgb; //ComputeMaterialProperty(roughness); + vec3 emiss = texture(emission.sampler, texCoord).rgb; //ComputeMaterialProperty(emission); + vec3 ao = texture(occlusion.sampler, texCoord).rgb; //ComputeMaterialProperty(occlusion); + + // Check if normal mapping is enabled + if (normals.useSampler == 1) + { + // Fetch normal map color and transform lighting values to tangent space + normal = texture(normals.sampler, texCoord).rgb; //ComputeMaterialProperty(normals); + normal = normalize(normal*2.0 - 1.0); + normal = normalize(normal*TBN); + + // Convert tangent space normal to world space due to cubemap reflection calculations + refl = normalize(reflect(-view, normal)); + } + + // Calculate reflectance at normal incidence + vec3 F0 = vec3(0.04); + F0 = mix(F0, color, metal.r); + + // Calculate lighting for all lights + vec3 Lo = vec3(0.0); + vec3 lightDot = vec3(0.0); + + for (int i = 0; i < MAX_LIGHTS; i++) + { + if (lights[i].enabled == 1) + { + // Calculate per-light radiance + vec3 light = vec3(0.0); + vec3 radiance = lights[i].color.rgb; + if (lights[i].type == LIGHT_DIRECTIONAL) light = -normalize(lights[i].target - lights[i].position); + else if (lights[i].type == LIGHT_POINT) + { + light = normalize(lights[i].position - fragPosition); + float distance = length(lights[i].position - fragPosition); + float attenuation = 1.0/(distance*distance); + radiance *= attenuation; + } + + // Cook-torrance BRDF + vec3 high = normalize(view + light); + float NDF = DistributionGGX(normal, high, rough.r); + float G = GeometrySmith(normal, view, light, rough.r); + vec3 F = fresnelSchlick(max(dot(high, view), 0.0), F0); + vec3 nominator = NDF*G*F; + float denominator = 4*max(dot(normal, view), 0.0)*max(dot(normal, light), 0.0) + 0.001; + vec3 brdf = nominator/denominator; + + // Store to kS the fresnel value and calculate energy conservation + vec3 kS = F; + vec3 kD = vec3(1.0) - kS; + + // Multiply kD by the inverse metalness such that only non-metals have diffuse lighting + kD *= 1.0 - metal.r; + + // Scale light by dot product between normal and light direction + float NdotL = max(dot(normal, light), 0.0); + + // Add to outgoing radiance Lo + // Note: BRDF is already multiplied by the Fresnel so it doesn't need to be multiplied again + Lo += (kD*color/PI + brdf)*radiance*NdotL*lights[i].color.a; + lightDot += radiance*NdotL + brdf*lights[i].color.a; + } + } + + // Calculate ambient lighting using IBL + vec3 F = fresnelSchlickRoughness(max(dot(normal, view), 0.0), F0, rough.r); + vec3 kS = F; + vec3 kD = 1.0 - kS; + kD *= 1.0 - metal.r; + + // Calculate indirect diffuse + vec3 irradiance = texture(irradianceMap, fragNormal).rgb; + vec3 diffuse = color*irradiance; + + // Sample both the prefilter map and the BRDF lut and combine them together as per the Split-Sum approximation + vec3 prefilterColor = textureLod(prefilterMap, refl, rough.r*MAX_REFLECTION_LOD).rgb; + vec2 brdf = texture(brdfLUT, vec2(max(dot(normal, view), 0.0), rough.r)).rg; + vec3 reflection = prefilterColor*(F*brdf.x + brdf.y); + + // Calculate final lighting + vec3 ambient = (kD*diffuse + reflection)*ao; + + // Calculate fragment color based on render mode + vec3 fragmentColor = ambient + Lo + emiss; // Physically Based Rendering + + if (renderMode == 1) fragmentColor = color; // Albedo + else if (renderMode == 2) fragmentColor = normal; // Normals + else if (renderMode == 3) fragmentColor = metal; // Metalness + else if (renderMode == 4) fragmentColor = rough; // Roughness + else if (renderMode == 5) fragmentColor = ao; // Ambient Occlusion + else if (renderMode == 6) fragmentColor = emiss; // Emission + else if (renderMode == 7) fragmentColor = lightDot; // Lighting + else if (renderMode == 8) fragmentColor = kS; // Fresnel + else if (renderMode == 9) fragmentColor = irradiance; // Irradiance + else if (renderMode == 10) fragmentColor = reflection; // Reflection + + // Apply HDR tonemapping + fragmentColor = fragmentColor/(fragmentColor + vec3(1.0)); + + // Apply gamma correction + fragmentColor = pow(fragmentColor, vec3(1.0/2.2)); + + // Calculate final fragment color + finalColor = vec4(fragmentColor, 1.0); +} diff --git a/examples/web/models/resources/shaders/glsl330/pbr.vs b/examples/web/models/resources/shaders/glsl330/pbr.vs new file mode 100644 index 0000000..045428c --- /dev/null +++ b/examples/web/models/resources/shaders/glsl330/pbr.vs @@ -0,0 +1,49 @@ +/******************************************************************************************* +* +* rPBR [shader] - Physically based rendering vertex shader +* +* Copyright (c) 2017 Victor Fisac +* +**********************************************************************************************/ + +#version 330 + +// Input vertex attributes +in vec3 vertexPosition; +in vec2 vertexTexCoord; +in vec3 vertexNormal; +in vec4 vertexTangent; + +// Input uniform values +uniform mat4 mvp; +uniform mat4 matModel; + +// Output vertex attributes (to fragment shader) +out vec3 fragPosition; +out vec2 fragTexCoord; +out vec3 fragNormal; +out vec3 fragTangent; +out vec3 fragBinormal; + +void main() +{ + // Calculate binormal from vertex normal and tangent + vec3 vertexBinormal = cross(vertexNormal, vec3(vertexTangent)); + + // Calculate fragment normal based on normal transformations + mat3 normalMatrix = transpose(inverse(mat3(matModel))); + + // Calculate fragment position based on model transformations + fragPosition = vec3(matModel*vec4(vertexPosition, 1.0)); + + // Send vertex attributes to fragment shader + fragTexCoord = vertexTexCoord; + fragNormal = normalize(normalMatrix*vertexNormal); + fragTangent = normalize(normalMatrix*vec3(vertexTangent)); + fragTangent = normalize(fragTangent - dot(fragTangent, fragNormal)*fragNormal); + fragBinormal = normalize(normalMatrix*vertexBinormal); + fragBinormal = cross(fragNormal, fragTangent); + + // Calculate final vertex position + gl_Position = mvp*vec4(vertexPosition, 1.0); +} \ No newline at end of file diff --git a/examples/web/models/resources/shaders/glsl330/prefilter.fs b/examples/web/models/resources/shaders/glsl330/prefilter.fs new file mode 100644 index 0000000..941ea86 --- /dev/null +++ b/examples/web/models/resources/shaders/glsl330/prefilter.fs @@ -0,0 +1,120 @@ +/******************************************************************************************* +* +* rPBR [shader] - Prefiltered environment for reflections fragment shader +* +* Copyright (c) 2017 Victor Fisac +* +**********************************************************************************************/ + +#version 330 +#define MAX_SAMPLES 1024u +#define CUBEMAP_RESOLUTION 1024.0 + +// Input vertex attributes (from vertex shader) +in vec3 fragPosition; + +// Input uniform values +uniform samplerCube environmentMap; +uniform float roughness; + +// Constant values +const float PI = 3.14159265359; + +// Output fragment color +out vec4 finalColor; + +float DistributionGGX(vec3 N, vec3 H, float roughness); +float RadicalInverse_VdC(uint bits); +vec2 Hammersley(uint i, uint N); +vec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness); + +float DistributionGGX(vec3 N, vec3 H, float roughness) +{ + float a = roughness*roughness; + float a2 = a*a; + float NdotH = max(dot(N, H), 0.0); + float NdotH2 = NdotH*NdotH; + + float nom = a2; + float denom = (NdotH2*(a2 - 1.0) + 1.0); + denom = PI*denom*denom; + + return nom/denom; +} + +float RadicalInverse_VdC(uint bits) +{ + bits = (bits << 16u) | (bits >> 16u); + bits = ((bits & 0x55555555u) << 1u) | ((bits & 0xAAAAAAAAu) >> 1u); + bits = ((bits & 0x33333333u) << 2u) | ((bits & 0xCCCCCCCCu) >> 2u); + bits = ((bits & 0x0F0F0F0Fu) << 4u) | ((bits & 0xF0F0F0F0u) >> 4u); + bits = ((bits & 0x00FF00FFu) << 8u) | ((bits & 0xFF00FF00u) >> 8u); + return float(bits)*2.3283064365386963e-10; // / 0x100000000 +} + +vec2 Hammersley(uint i, uint N) +{ + return vec2(float(i)/float(N), RadicalInverse_VdC(i)); +} + +vec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness) +{ + float a = roughness*roughness; + float phi = 2.0*PI*Xi.x; + float cosTheta = sqrt((1.0 - Xi.y)/(1.0 + (a*a - 1.0)*Xi.y)); + float sinTheta = sqrt(1.0 - cosTheta*cosTheta); + + // Transform from spherical coordinates to cartesian coordinates (halfway vector) + vec3 H = vec3(cos(phi)*sinTheta, sin(phi)*sinTheta, cosTheta); + + // Transform from tangent space H vector to world space sample vector + vec3 up = ((abs(N.z) < 0.999) ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0)); + vec3 tangent = normalize(cross(up, N)); + vec3 bitangent = cross(N, tangent); + vec3 sampleVec = tangent*H.x + bitangent*H.y + N*H.z; + + return normalize(sampleVec); +} + +void main() +{ + // Make the simplyfying assumption that V equals R equals the normal + vec3 N = normalize(fragPosition); + vec3 R = N; + vec3 V = R; + + vec3 prefilteredColor = vec3(0.0); + float totalWeight = 0.0; + + for (uint i = 0u; i < MAX_SAMPLES; i++) + { + // Generate a sample vector that's biased towards the preferred alignment direction (importance sampling) + vec2 Xi = Hammersley(i, MAX_SAMPLES); + vec3 H = ImportanceSampleGGX(Xi, N, roughness); + vec3 L = normalize(2.0*dot(V, H)*H - V); + + float NdotL = max(dot(N, L), 0.0); + if(NdotL > 0.0) + { + // Sample from the environment's mip level based on roughness/pdf + float D = DistributionGGX(N, H, roughness); + float NdotH = max(dot(N, H), 0.0); + float HdotV = max(dot(H, V), 0.0); + float pdf = D*NdotH/(4.0*HdotV) + 0.0001; + + float resolution = CUBEMAP_RESOLUTION; + float saTexel = 4.0*PI/(6.0*resolution*resolution); + float saSample = 1.0/(float(MAX_SAMPLES)*pdf + 0.0001); + float mipLevel = ((roughness == 0.0) ? 0.0 : 0.5*log2(saSample/saTexel)); + + prefilteredColor += textureLod(environmentMap, L, mipLevel).rgb*NdotL; + totalWeight += NdotL; + } + } + + // Calculate prefilter average color + prefilteredColor = prefilteredColor/totalWeight; + + // Calculate final fragment color + finalColor = vec4(prefilteredColor, 1.0); +} diff --git a/examples/web/models/resources/shaders/glsl330/skybox.fs b/examples/web/models/resources/shaders/glsl330/skybox.fs new file mode 100644 index 0000000..c7a1788 --- /dev/null +++ b/examples/web/models/resources/shaders/glsl330/skybox.fs @@ -0,0 +1,37 @@ +/******************************************************************************************* +* +* rPBR [shader] - Background skybox fragment shader +* +* Copyright (c) 2017 Victor Fisac +* +* 19-Jun-2020 - modified by Giuseppe Mastrangelo (@peppemas) - VFlip Support +* +**********************************************************************************************/ + +#version 330 + +// Input vertex attributes (from vertex shader) +in vec3 fragPosition; + +// Input uniform values +uniform samplerCube environmentMap; +uniform bool vflipped; + +// Output fragment color +out vec4 finalColor; + +void main() +{ + // Fetch color from texture map + vec3 color = vec3(0.0); + + if (vflipped) color = texture(environmentMap, vec3(fragPosition.x, -fragPosition.y, fragPosition.z)).rgb; + else color = texture(environmentMap, fragPosition).rgb; + + // Apply gamma correction + color = color/(color + vec3(1.0)); + color = pow(color, vec3(1.0/2.2)); + + // Calculate final fragment color + finalColor = vec4(color, 1.0); +} diff --git a/examples/web/models/resources/shaders/glsl330/skybox.vs b/examples/web/models/resources/shaders/glsl330/skybox.vs new file mode 100644 index 0000000..4fe9a2c --- /dev/null +++ b/examples/web/models/resources/shaders/glsl330/skybox.vs @@ -0,0 +1,32 @@ +/******************************************************************************************* +* +* rPBR [shader] - Background skybox vertex shader +* +* Copyright (c) 2017 Victor Fisac +* +**********************************************************************************************/ + +#version 330 + +// Input vertex attributes +in vec3 vertexPosition; + +// Input uniform values +uniform mat4 projection; +uniform mat4 view; + +// Output vertex attributes (to fragment shader) +out vec3 fragPosition; + +void main() +{ + // Calculate fragment position based on model transformations + fragPosition = vertexPosition; + + // Remove translation from the view matrix + mat4 rotView = mat4(mat3(view)); + vec4 clipPos = projection*rotView*vec4(vertexPosition, 1.0); + + // Calculate final vertex position + gl_Position = clipPos.xyzw; +} diff --git a/examples/web/models/resources/shaders/irradiance.fs b/examples/web/models/resources/shaders/irradiance.fs deleted file mode 100644 index b42d214..0000000 --- a/examples/web/models/resources/shaders/irradiance.fs +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************************* -* -* rPBR [shader] - Irradiance cubemap fragment shader -* -* Copyright (c) 2017 Victor Fisac -* -**********************************************************************************************/ - -#version 330 - -// Input vertex attributes (from vertex shader) -in vec3 fragPosition; - -// Input uniform values -uniform samplerCube environmentMap; - -// Constant values -const float PI = 3.14159265359f; - -// Output fragment color -out vec4 finalColor; - -void main() -{ - // The sample direction equals the hemisphere's orientation - vec3 normal = normalize(fragPosition); - - vec3 irradiance = vec3(0.0); - - vec3 up = vec3(0.0, 1.0, 0.0); - vec3 right = cross(up, normal); - up = cross(normal, right); - - float sampleDelta = 0.025f; - float nrSamples = 0.0f; - - for (float phi = 0.0; phi < 2.0*PI; phi += sampleDelta) - { - for (float theta = 0.0; theta < 0.5*PI; theta += sampleDelta) - { - // Spherical to cartesian (in tangent space) - vec3 tangentSample = vec3(sin(theta)*cos(phi), sin(theta)*sin(phi), cos(theta)); - - // tangent space to world - vec3 sampleVec = tangentSample.x*right + tangentSample.y*up + tangentSample.z*normal; - - // Fetch color from environment cubemap - irradiance += texture(environmentMap, sampleVec).rgb*cos(theta)*sin(theta); - nrSamples++; - } - } - - // Calculate irradiance average value from samples - irradiance = PI*irradiance*(1.0/float(nrSamples)); - - // Calculate final fragment color - finalColor = vec4(irradiance, 1.0); -} diff --git a/examples/web/models/resources/shaders/pbr.fs b/examples/web/models/resources/shaders/pbr.fs deleted file mode 100644 index 38d56c5..0000000 --- a/examples/web/models/resources/shaders/pbr.fs +++ /dev/null @@ -1,298 +0,0 @@ -/******************************************************************************************* -* -* rPBR [shader] - Physically based rendering fragment shader -* -* Copyright (c) 2017 Victor Fisac -* -**********************************************************************************************/ - -#version 330 - -#define MAX_REFLECTION_LOD 4.0 -#define MAX_DEPTH_LAYER 20 -#define MIN_DEPTH_LAYER 10 - -#define MAX_LIGHTS 4 -#define LIGHT_DIRECTIONAL 0 -#define LIGHT_POINT 1 - -struct MaterialProperty { - vec3 color; - int useSampler; - sampler2D sampler; -}; - -struct Light { - int enabled; - int type; - vec3 position; - vec3 target; - vec4 color; -}; - -// Input vertex attributes (from vertex shader) -in vec3 fragPosition; -in vec2 fragTexCoord; -in vec3 fragNormal; -in vec3 fragTangent; -in vec3 fragBinormal; - -// Input material values -uniform MaterialProperty albedo; -uniform MaterialProperty normals; -uniform MaterialProperty metalness; -uniform MaterialProperty roughness; -uniform MaterialProperty occlusion; -uniform MaterialProperty emission; -uniform MaterialProperty height; - -// Input uniform values -uniform samplerCube irradianceMap; -uniform samplerCube prefilterMap; -uniform sampler2D brdfLUT; - -// Input lighting values -uniform Light lights[MAX_LIGHTS]; - -// Other uniform values -uniform int renderMode; -uniform vec3 viewPos; -vec2 texCoord; - -// Constant values -const float PI = 3.14159265359; - -// Output fragment color -out vec4 finalColor; - -vec3 ComputeMaterialProperty(MaterialProperty property); -float DistributionGGX(vec3 N, vec3 H, float roughness); -float GeometrySchlickGGX(float NdotV, float roughness); -float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness); -vec3 fresnelSchlick(float cosTheta, vec3 F0); -vec3 fresnelSchlickRoughness(float cosTheta, vec3 F0, float roughness); -vec2 ParallaxMapping(vec2 texCoords, vec3 viewDir); - -vec3 ComputeMaterialProperty(MaterialProperty property) -{ - vec3 result = vec3(0.0, 0.0, 0.0); - - if (property.useSampler == 1) result = texture(property.sampler, texCoord).rgb; - else result = property.color; - - return result; -} - -float DistributionGGX(vec3 N, vec3 H, float roughness) -{ - float a = roughness*roughness; - float a2 = a*a; - float NdotH = max(dot(N, H), 0.0); - float NdotH2 = NdotH*NdotH; - - float nom = a2; - float denom = (NdotH2*(a2 - 1.0) + 1.0); - denom = PI*denom*denom; - - return nom/denom; -} - -float GeometrySchlickGGX(float NdotV, float roughness) -{ - float r = (roughness + 1.0); - float k = r*r/8.0; - - float nom = NdotV; - float denom = NdotV*(1.0 - k) + k; - - return nom/denom; -} -float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness) -{ - float NdotV = max(dot(N, V), 0.0); - float NdotL = max(dot(N, L), 0.0); - float ggx2 = GeometrySchlickGGX(NdotV, roughness); - float ggx1 = GeometrySchlickGGX(NdotL, roughness); - - return ggx1*ggx2; -} - -vec3 fresnelSchlick(float cosTheta, vec3 F0) -{ - return F0 + (1.0 - F0)*pow(1.0 - cosTheta, 5.0); -} - -vec3 fresnelSchlickRoughness(float cosTheta, vec3 F0, float roughness) -{ - return F0 + (max(vec3(1.0 - roughness), F0) - F0)*pow(1.0 - cosTheta, 5.0); -} - -vec2 ParallaxMapping(vec2 texCoords, vec3 viewDir) -{ - // Calculate the number of depth layers and calculate the size of each layer - float numLayers = mix(MAX_DEPTH_LAYER, MIN_DEPTH_LAYER, abs(dot(vec3(0.0, 0.0, 1.0), viewDir))); - float layerDepth = 1.0/numLayers; - - // Calculate depth of current layer - float currentLayerDepth = 0.0; - - // Calculate the amount to shift the texture coordinates per layer (from vector P) - // Note: height amount is stored in height material attribute color R channel (sampler use is independent) - vec2 P = viewDir.xy*height.color.r; - vec2 deltaTexCoords = P/numLayers; - - // Store initial texture coordinates and depth values - vec2 currentTexCoords = texCoords; - float currentDepthMapValue = texture(height.sampler, currentTexCoords).r; - - while (currentLayerDepth < currentDepthMapValue) - { - // Shift texture coordinates along direction of P - currentTexCoords -= deltaTexCoords; - - // Get depth map value at current texture coordinates - currentDepthMapValue = texture(height.sampler, currentTexCoords).r; - - // Get depth of next layer - currentLayerDepth += layerDepth; - } - - // Get texture coordinates before collision (reverse operations) - vec2 prevTexCoords = currentTexCoords + deltaTexCoords; - - // Get depth after and before collision for linear interpolation - float afterDepth = currentDepthMapValue - currentLayerDepth; - float beforeDepth = texture(height.sampler, prevTexCoords).r - currentLayerDepth + layerDepth; - - // Interpolation of texture coordinates - float weight = afterDepth/(afterDepth - beforeDepth); - vec2 finalTexCoords = prevTexCoords*weight + currentTexCoords*(1.0 - weight); - - return finalTexCoords; -} - -void main() -{ - // Calculate TBN and RM matrices - mat3 TBN = transpose(mat3(fragTangent, fragBinormal, fragNormal)); - - // Calculate lighting required attributes - vec3 normal = normalize(fragNormal); - vec3 view = normalize(viewPos - fragPosition); - vec3 refl = reflect(-view, normal); - - // Check if parallax mapping is enabled and calculate texture coordinates to use based on height map - // NOTE: remember that 'texCoord' variable must be assigned before calling any ComputeMaterialProperty() function - if (height.useSampler == 1) texCoord = ParallaxMapping(fragTexCoord, view); - else texCoord = fragTexCoord; // Use default texture coordinates - - // Fetch material values from texture sampler or color attributes - vec3 color = ComputeMaterialProperty(albedo); - vec3 metal = ComputeMaterialProperty(metalness); - vec3 rough = ComputeMaterialProperty(roughness); - vec3 emiss = ComputeMaterialProperty(emission); - vec3 ao = ComputeMaterialProperty(occlusion); - - // Check if normal mapping is enabled - if (normals.useSampler == 1) - { - // Fetch normal map color and transform lighting values to tangent space - normal = ComputeMaterialProperty(normals); - normal = normalize(normal*2.0 - 1.0); - normal = normalize(normal*TBN); - - // Convert tangent space normal to world space due to cubemap reflection calculations - refl = normalize(reflect(-view, normal)); - } - - // Calculate reflectance at normal incidence - vec3 F0 = vec3(0.04); - F0 = mix(F0, color, metal.r); - - // Calculate lighting for all lights - vec3 Lo = vec3(0.0); - vec3 lightDot = vec3(0.0); - - for (int i = 0; i < MAX_LIGHTS; i++) - { - if (lights[i].enabled == 1) - { - // Calculate per-light radiance - vec3 light = vec3(0.0); - vec3 radiance = lights[i].color.rgb; - if (lights[i].type == LIGHT_DIRECTIONAL) light = -normalize(lights[i].target - lights[i].position); - else if (lights[i].type == LIGHT_POINT) - { - light = normalize(lights[i].position - fragPosition); - float distance = length(lights[i].position - fragPosition); - float attenuation = 1.0/(distance*distance); - radiance *= attenuation; - } - - // Cook-torrance BRDF - vec3 high = normalize(view + light); - float NDF = DistributionGGX(normal, high, rough.r); - float G = GeometrySmith(normal, view, light, rough.r); - vec3 F = fresnelSchlick(max(dot(high, view), 0.0), F0); - vec3 nominator = NDF*G*F; - float denominator = 4*max(dot(normal, view), 0.0)*max(dot(normal, light), 0.0) + 0.001; - vec3 brdf = nominator/denominator; - - // Store to kS the fresnel value and calculate energy conservation - vec3 kS = F; - vec3 kD = vec3(1.0) - kS; - - // Multiply kD by the inverse metalness such that only non-metals have diffuse lighting - kD *= 1.0 - metal.r; - - // Scale light by dot product between normal and light direction - float NdotL = max(dot(normal, light), 0.0); - - // Add to outgoing radiance Lo - // Note: BRDF is already multiplied by the Fresnel so it doesn't need to be multiplied again - Lo += (kD*color/PI + brdf)*radiance*NdotL*lights[i].color.a; - lightDot += radiance*NdotL + brdf*lights[i].color.a; - } - } - - // Calculate ambient lighting using IBL - vec3 F = fresnelSchlickRoughness(max(dot(normal, view), 0.0), F0, rough.r); - vec3 kS = F; - vec3 kD = 1.0 - kS; - kD *= 1.0 - metal.r; - - // Calculate indirect diffuse - vec3 irradiance = texture(irradianceMap, fragNormal).rgb; - vec3 diffuse = color*irradiance; - - // Sample both the prefilter map and the BRDF lut and combine them together as per the Split-Sum approximation - vec3 prefilterColor = textureLod(prefilterMap, refl, rough.r*MAX_REFLECTION_LOD).rgb; - vec2 brdf = texture(brdfLUT, vec2(max(dot(normal, view), 0.0), rough.r)).rg; - vec3 reflection = prefilterColor*(F*brdf.x + brdf.y); - - // Calculate final lighting - vec3 ambient = (kD*diffuse + reflection)*ao; - - // Calculate fragment color based on render mode - vec3 fragmentColor = ambient + Lo + emiss; // Physically Based Rendering - - if (renderMode == 1) fragmentColor = color; // Albedo - else if (renderMode == 2) fragmentColor = normal; // Normals - else if (renderMode == 3) fragmentColor = metal; // Metalness - else if (renderMode == 4) fragmentColor = rough; // Roughness - else if (renderMode == 5) fragmentColor = ao; // Ambient Occlusion - else if (renderMode == 6) fragmentColor = emiss; // Emission - else if (renderMode == 7) fragmentColor = lightDot; // Lighting - else if (renderMode == 8) fragmentColor = kS; // Fresnel - else if (renderMode == 9) fragmentColor = irradiance; // Irradiance - else if (renderMode == 10) fragmentColor = reflection; // Reflection - - // Apply HDR tonemapping - fragmentColor = fragmentColor/(fragmentColor + vec3(1.0)); - - // Apply gamma correction - fragmentColor = pow(fragmentColor, vec3(1.0/2.2)); - - // Calculate final fragment color - finalColor = vec4(fragmentColor, 1.0); -} diff --git a/examples/web/models/resources/shaders/pbr.vs b/examples/web/models/resources/shaders/pbr.vs deleted file mode 100644 index 8bd3faa..0000000 --- a/examples/web/models/resources/shaders/pbr.vs +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************************* -* -* rPBR [shader] - Physically based rendering vertex shader -* -* Copyright (c) 2017 Victor Fisac -* -**********************************************************************************************/ - -#version 330 - -// Input vertex attributes -in vec3 vertexPosition; -in vec2 vertexTexCoord; -in vec3 vertexNormal; -in vec4 vertexTangent; - -// Input uniform values -uniform mat4 mvp; -uniform mat4 matModel; - -// Output vertex attributes (to fragment shader) -out vec3 fragPosition; -out vec2 fragTexCoord; -out vec3 fragNormal; -out vec3 fragTangent; -out vec3 fragBinormal; - -void main() -{ - // Calculate binormal from vertex normal and tangent - vec3 vertexBinormal = cross(vertexNormal, vec3(vertexTangent)); - - // Calculate fragment normal based on normal transformations - mat3 normalMatrix = transpose(inverse(mat3(matModel))); - - // Calculate fragment position based on model transformations - fragPosition = vec3(matModel*vec4(vertexPosition, 1.0f)); - - // Send vertex attributes to fragment shader - fragTexCoord = vertexTexCoord; - fragNormal = normalize(normalMatrix*vertexNormal); - fragTangent = normalize(normalMatrix*vec3(vertexTangent)); - fragTangent = normalize(fragTangent - dot(fragTangent, fragNormal)*fragNormal); - fragBinormal = normalize(normalMatrix*vertexBinormal); - fragBinormal = cross(fragNormal, fragTangent); - - // Calculate final vertex position - gl_Position = mvp*vec4(vertexPosition, 1.0); -} \ No newline at end of file diff --git a/examples/web/models/resources/shaders/prefilter.fs b/examples/web/models/resources/shaders/prefilter.fs deleted file mode 100644 index 9439810..0000000 --- a/examples/web/models/resources/shaders/prefilter.fs +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************************* -* -* rPBR [shader] - Prefiltered environment for reflections fragment shader -* -* Copyright (c) 2017 Victor Fisac -* -**********************************************************************************************/ - -#version 330 -#define MAX_SAMPLES 1024u -#define CUBEMAP_RESOLUTION 1024.0 - -// Input vertex attributes (from vertex shader) -in vec3 fragPosition; - -// Input uniform values -uniform samplerCube environmentMap; -uniform float roughness; - -// Constant values -const float PI = 3.14159265359f; - -// Output fragment color -out vec4 finalColor; - -float DistributionGGX(vec3 N, vec3 H, float roughness); -float RadicalInverse_VdC(uint bits); -vec2 Hammersley(uint i, uint N); -vec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness); - -float DistributionGGX(vec3 N, vec3 H, float roughness) -{ - float a = roughness*roughness; - float a2 = a*a; - float NdotH = max(dot(N, H), 0.0); - float NdotH2 = NdotH*NdotH; - - float nom = a2; - float denom = (NdotH2*(a2 - 1.0) + 1.0); - denom = PI*denom*denom; - - return nom/denom; -} - -float RadicalInverse_VdC(uint bits) -{ - bits = (bits << 16u) | (bits >> 16u); - bits = ((bits & 0x55555555u) << 1u) | ((bits & 0xAAAAAAAAu) >> 1u); - bits = ((bits & 0x33333333u) << 2u) | ((bits & 0xCCCCCCCCu) >> 2u); - bits = ((bits & 0x0F0F0F0Fu) << 4u) | ((bits & 0xF0F0F0F0u) >> 4u); - bits = ((bits & 0x00FF00FFu) << 8u) | ((bits & 0xFF00FF00u) >> 8u); - return float(bits) * 2.3283064365386963e-10; // / 0x100000000 -} - -vec2 Hammersley(uint i, uint N) -{ - return vec2(float(i)/float(N), RadicalInverse_VdC(i)); -} - -vec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness) -{ - float a = roughness*roughness; - float phi = 2.0 * PI * Xi.x; - float cosTheta = sqrt((1.0 - Xi.y)/(1.0 + (a*a - 1.0)*Xi.y)); - float sinTheta = sqrt(1.0 - cosTheta*cosTheta); - - // Transform from spherical coordinates to cartesian coordinates (halfway vector) - vec3 H = vec3(cos(phi)*sinTheta, sin(phi)*sinTheta, cosTheta); - - // Transform from tangent space H vector to world space sample vector - vec3 up = ((abs(N.z) < 0.999) ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0)); - vec3 tangent = normalize(cross(up, N)); - vec3 bitangent = cross(N, tangent); - vec3 sampleVec = tangent*H.x + bitangent*H.y + N*H.z; - - return normalize(sampleVec); -} - -void main() -{ - // Make the simplyfying assumption that V equals R equals the normal - vec3 N = normalize(fragPosition); - vec3 R = N; - vec3 V = R; - - vec3 prefilteredColor = vec3(0.0); - float totalWeight = 0.0; - - for (uint i = 0u; i < MAX_SAMPLES; i++) - { - // Generate a sample vector that's biased towards the preferred alignment direction (importance sampling) - vec2 Xi = Hammersley(i, MAX_SAMPLES); - vec3 H = ImportanceSampleGGX(Xi, N, roughness); - vec3 L = normalize(2.0*dot(V, H)*H - V); - - float NdotL = max(dot(N, L), 0.0); - if(NdotL > 0.0) - { - // Sample from the environment's mip level based on roughness/pdf - float D = DistributionGGX(N, H, roughness); - float NdotH = max(dot(N, H), 0.0); - float HdotV = max(dot(H, V), 0.0); - float pdf = D*NdotH/(4.0*HdotV) + 0.0001; - - float resolution = CUBEMAP_RESOLUTION; - float saTexel = 4.0*PI/(6.0*resolution*resolution); - float saSample = 1.0/(float(MAX_SAMPLES)*pdf + 0.0001); - float mipLevel = ((roughness == 0.0) ? 0.0 : 0.5*log2(saSample/saTexel)); - - prefilteredColor += textureLod(environmentMap, L, mipLevel).rgb*NdotL; - totalWeight += NdotL; - } - } - - // Calculate prefilter average color - prefilteredColor = prefilteredColor/totalWeight; - - // Calculate final fragment color - finalColor = vec4(prefilteredColor, 1.0); -} diff --git a/examples/web/models/resources/shaders/skybox.fs b/examples/web/models/resources/shaders/skybox.fs deleted file mode 100644 index 053a251..0000000 --- a/examples/web/models/resources/shaders/skybox.fs +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************************* -* -* rPBR [shader] - Background skybox fragment shader -* -* Copyright (c) 2017 Victor Fisac -* -**********************************************************************************************/ - -#version 330 - -// Input vertex attributes (from vertex shader) -in vec3 fragPosition; - -// Input uniform values -uniform samplerCube environmentMap; - -// Output fragment color -out vec4 finalColor; - -void main() -{ - // Fetch color from texture map - vec3 color = texture(environmentMap, fragPosition).rgb; - - // Apply gamma correction - color = color/(color + vec3(1.0)); - color = pow(color, vec3(1.0/2.2)); - - // Calculate final fragment color - finalColor = vec4(color, 1.0); -} diff --git a/examples/web/models/resources/shaders/skybox.vs b/examples/web/models/resources/shaders/skybox.vs deleted file mode 100644 index dcbe6c3..0000000 --- a/examples/web/models/resources/shaders/skybox.vs +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************************************************* -* -* rPBR [shader] - Background skybox vertex shader -* -* Copyright (c) 2017 Victor Fisac -* -**********************************************************************************************/ - -#version 330 - -// Input vertex attributes -in vec3 vertexPosition; - -// Input uniform values -uniform mat4 projection; -uniform mat4 view; - -// Output vertex attributes (to fragment shader) -out vec3 fragPosition; - -void main() -{ - // Calculate fragment position based on model transformations - fragPosition = vertexPosition; - - // Remove translation from the view matrix - mat4 rotView = mat4(mat3(view)); - vec4 clipPos = projection*rotView*vec4(vertexPosition, 1.0); - - // Calculate final vertex position - gl_Position = clipPos.xyww; -} diff --git a/examples/web/models/rlgl.h b/examples/web/models/rlgl.h index 639a107..1b42c64 100644 --- a/examples/web/models/rlgl.h +++ b/examples/web/models/rlgl.h @@ -1,6 +1,6 @@ /********************************************************************************************** * -* rlgl - raylib OpenGL abstraction layer +* rlgl v3.1 - raylib OpenGL abstraction layer * * rlgl is a wrapper for multiple OpenGL versions (1.1, 2.1, 3.3 Core, ES 2.0) to * pseudo-OpenGL 1.1 style functions (rlVertex, rlTranslate, rlRotate...). @@ -39,7 +39,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2014-2019 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2020 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. @@ -65,12 +65,20 @@ #define RAYMATH_STANDALONE #define RAYMATH_HEADER_ONLY - #if defined(_WIN32) && defined(BUILD_LIBTYPE_SHARED) - #define RLAPI __declspec(dllexport) // We are building raylib as a Win32 shared library (.dll) - #elif defined(_WIN32) && defined(USE_LIBTYPE_SHARED) - #define RLAPI __declspec(dllimport) // We are using raylib as a Win32 shared library (.dll) - #else - #define RLAPI // We are building or using raylib as a static library (or Linux shared library) + #define RLAPI // We are building or using rlgl as a static library (or Linux shared library) + + #if defined(_WIN32) + #if defined(BUILD_LIBTYPE_SHARED) + #define RLAPI __declspec(dllexport) // We are building raylib as a Win32 shared library (.dll) + #elif defined(USE_LIBTYPE_SHARED) + #define RLAPI __declspec(dllimport) // We are using raylib as a Win32 shared library (.dll) + #endif + #endif + + // Support TRACELOG macros + #if !defined(TRACELOG) + #define TRACELOG(level, ...) (void)0 + #define TRACELOGD(...) (void)0 #endif // Allow custom memory allocators @@ -80,11 +88,14 @@ #ifndef RL_CALLOC #define RL_CALLOC(n,sz) calloc(n,sz) #endif + #ifndef RL_REALLOC + #define RL_REALLOC(n,sz) realloc(n,sz) + #endif #ifndef RL_FREE #define RL_FREE(p) free(p) #endif #else - #include "raylib.h" // Required for: Model, Shader, Texture2D, TraceLog() + #include "raylib.h" // Required for: Model, Shader, Texture2D, TRACELOG() #endif #include "raymath.h" // Required for: Vector3, Matrix @@ -114,22 +125,54 @@ #define GRAPHICS_API_OPENGL_33 #endif +#define SUPPORT_RENDER_TEXTURES_HINT + //---------------------------------------------------------------------------------- // Defines and Macros //---------------------------------------------------------------------------------- -#if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33) - // This is the maximum amount of elements (quads) per batch - // NOTE: Be careful with text, every letter maps to a quad - #define MAX_BATCH_ELEMENTS 8192 -#elif defined(GRAPHICS_API_OPENGL_ES2) - // We reduce memory sizes for embedded systems (RPI and HTML5) - // NOTE: On HTML5 (emscripten) this is allocated on heap, by default it's only 16MB!...just take care... - #define MAX_BATCH_ELEMENTS 2048 +// Default internal render batch limits +#ifndef DEFAULT_BATCH_BUFFER_ELEMENTS + #if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33) + // This is the maximum amount of elements (quads) per batch + // NOTE: Be careful with text, every letter maps to a quad + #define DEFAULT_BATCH_BUFFER_ELEMENTS 8192 + #elif defined(GRAPHICS_API_OPENGL_ES2) + // We reduce memory sizes for embedded systems (RPI and HTML5) + // NOTE: On HTML5 (emscripten) this is allocated on heap, + // by default it's only 16MB!...just take care... + #define DEFAULT_BATCH_BUFFER_ELEMENTS 2048 + #endif +#endif +#ifndef DEFAULT_BATCH_BUFFERS + #define DEFAULT_BATCH_BUFFERS 1 // Default number of batch buffers (multi-buffering) +#endif +#ifndef DEFAULT_BATCH_DRAWCALLS + #define DEFAULT_BATCH_DRAWCALLS 256 // Default number of batch draw calls (by state changes: mode, texture) +#endif +#ifndef MAX_BATCH_ACTIVE_TEXTURES + #define MAX_BATCH_ACTIVE_TEXTURES 4 // Maximum number of additional textures that can be activated on batch drawing (SetShaderValueTexture()) +#endif + +// Internal Matrix stack +#ifndef MAX_MATRIX_STACK_SIZE + #define MAX_MATRIX_STACK_SIZE 32 // Maximum size of Matrix stack +#endif + +// Shader and material limits +#ifndef MAX_SHADER_LOCATIONS + #define MAX_SHADER_LOCATIONS 32 // Maximum number of shader locations supported +#endif +#ifndef MAX_MATERIAL_MAPS + #define MAX_MATERIAL_MAPS 12 // Maximum number of shader maps supported #endif -#define MAX_BATCH_BUFFERING 1 // Max number of buffers for batching (multi-buffering) -#define MAX_MATRIX_STACK_SIZE 32 // Max size of Matrix stack -#define MAX_DRAWCALL_REGISTERED 256 // Max draws by state changes (mode, texture) +// Projection matrix culling +#ifndef RL_CULL_DISTANCE_NEAR + #define RL_CULL_DISTANCE_NEAR 0.01 // Default near cull distance +#endif +#ifndef RL_CULL_DISTANCE_FAR + #define RL_CULL_DISTANCE_FAR 1000.0 // Default far cull distance +#endif // Texture parameters (equivalent to OpenGL defines) #define RL_TEXTURE_WRAP_S 0x2802 // GL_TEXTURE_WRAP_S @@ -165,7 +208,29 @@ //---------------------------------------------------------------------------------- typedef enum { OPENGL_11 = 1, OPENGL_21, OPENGL_33, OPENGL_ES_20 } GlVersion; -typedef unsigned char byte; +typedef enum { + RL_ATTACHMENT_COLOR_CHANNEL0 = 0, + RL_ATTACHMENT_COLOR_CHANNEL1, + RL_ATTACHMENT_COLOR_CHANNEL2, + RL_ATTACHMENT_COLOR_CHANNEL3, + RL_ATTACHMENT_COLOR_CHANNEL4, + RL_ATTACHMENT_COLOR_CHANNEL5, + RL_ATTACHMENT_COLOR_CHANNEL6, + RL_ATTACHMENT_COLOR_CHANNEL7, + RL_ATTACHMENT_DEPTH = 100, + RL_ATTACHMENT_STENCIL = 200, +} FramebufferAttachType; + +typedef enum { + RL_ATTACHMENT_CUBEMAP_POSITIVE_X = 0, + RL_ATTACHMENT_CUBEMAP_NEGATIVE_X, + RL_ATTACHMENT_CUBEMAP_POSITIVE_Y, + RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y, + RL_ATTACHMENT_CUBEMAP_POSITIVE_Z, + RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z, + RL_ATTACHMENT_TEXTURE2D = 100, + RL_ATTACHMENT_RENDERBUFFER = 200, +} FramebufferTexType; #if defined(RLGL_STANDALONE) #ifndef __cplusplus @@ -181,32 +246,29 @@ typedef unsigned char byte; unsigned char a; } Color; - // Texture2D type + // Rectangle type + typedef struct Rectangle { + float x; + float y; + float width; + float height; + } Rectangle; + + // Texture type // NOTE: Data stored in GPU memory - typedef struct Texture2D { + typedef struct Texture { unsigned int id; // OpenGL texture id int width; // Texture base width int height; // Texture base height int mipmaps; // Mipmap levels, 1 by default int format; // Data format (PixelFormat) - } Texture2D; - - // Texture type, same as Texture2D - typedef Texture2D Texture; + } Texture; - // TextureCubemap type, actually, same as Texture2D - typedef Texture2D TextureCubemap; + // Texture2D type, same as Texture + typedef Texture Texture2D; - // RenderTexture2D type, for texture rendering - typedef struct RenderTexture2D { - unsigned int id; // OpenGL framebuffer (fbo) id - Texture2D texture; // Color buffer attachment texture - Texture2D depth; // Depth buffer attachment texture - bool depthTexture; // Track if depth attachment is a texture or renderbuffer - } RenderTexture2D; - - // RenderTexture type, same as RenderTexture2D - typedef RenderTexture2D RenderTexture; + // TextureCubemap type, actually, same as Texture + typedef Texture TextureCubemap; // Vertex data definning a mesh typedef struct Mesh { @@ -228,17 +290,13 @@ typedef unsigned char byte; // OpenGL identifiers unsigned int vaoId; // OpenGL Vertex Array Object id - unsigned int vboId[7]; // OpenGL Vertex Buffer Objects id (7 types of vertex data) + unsigned int *vboId; // OpenGL Vertex Buffer Objects id (7 types of vertex data) } Mesh; - // Shader and material limits - #define MAX_SHADER_LOCATIONS 32 - #define MAX_MATERIAL_MAPS 12 - // Shader type (generic) typedef struct Shader { - unsigned int id; // Shader program id - int locs[MAX_SHADER_LOCATIONS]; // Shader locations array + unsigned int id; // Shader program id + int *locs; // Shader locations array (MAX_SHADER_LOCATIONS) } Shader; // Material texture map @@ -251,7 +309,7 @@ typedef unsigned char byte; // Material type (generic) typedef struct Material { Shader shader; // Material shader - MaterialMap maps[MAX_MATERIAL_MAPS]; // Material maps + MaterialMap *maps; // Material maps (MAX_MATERIAL_MAPS) float *params; // Material generic parameters (if required) } Material; @@ -286,7 +344,6 @@ typedef unsigned char byte; int eyeViewportLeft[4]; // VR stereo rendering left eye viewport [x, y, w, h] } VrStereoConfig; - // TraceLog message types typedef enum { LOG_ALL, @@ -338,9 +395,12 @@ typedef unsigned char byte; // Color blending modes (pre-defined) typedef enum { - BLEND_ALPHA = 0, - BLEND_ADDITIVE, - BLEND_MULTIPLIED + BLEND_ALPHA = 0, // Blend textures considering alpha (default) + BLEND_ADDITIVE, // Blend textures adding colors + BLEND_MULTIPLIED, // Blend textures multiplying colors + BLEND_ADD_COLORS, // Blend textures adding colors (alternative) + BLEND_SUBTRACT_COLORS, // Blend textures subtracting colors (alternative) + BLEND_CUSTOM // Belnd textures using custom src/dst factors (use SetBlendModeCustom()) } BlendMode; // Shader location point type @@ -436,7 +496,7 @@ RLAPI void rlVertex2f(float x, float y); // Define one vertex (posi RLAPI void rlVertex3f(float x, float y, float z); // Define one vertex (position) - 3 float RLAPI void rlTexCoord2f(float x, float y); // Define one vertex (texture coordinate) - 2 float RLAPI void rlNormal3f(float x, float y, float z); // Define one vertex (normal) - 3 float -RLAPI void rlColor4ub(byte r, byte g, byte b, byte a); // Define one vertex (color) - 4 byte +RLAPI void rlColor4ub(unsigned char r, unsigned char g, unsigned char b, unsigned char a); // Define one vertex (color) - 4 byte RLAPI void rlColor3f(float x, float y, float z); // Define one vertex (color) - 3 float RLAPI void rlColor4f(float x, float y, float z, float w); // Define one vertex (color) - 4 float @@ -447,20 +507,27 @@ RLAPI void rlColor4f(float x, float y, float z, float w); // Define one vertex ( RLAPI void rlEnableTexture(unsigned int id); // Enable texture usage RLAPI void rlDisableTexture(void); // Disable texture usage RLAPI void rlTextureParameters(unsigned int id, int param, int value); // Set texture parameters (filter, wrap) -RLAPI void rlEnableRenderTexture(unsigned int id); // Enable render texture (fbo) -RLAPI void rlDisableRenderTexture(void); // Disable render texture (fbo), return to default framebuffer +RLAPI void rlEnableShader(unsigned int id); // Enable shader program usage +RLAPI void rlDisableShader(void); // Disable shader program usage +RLAPI void rlEnableFramebuffer(unsigned int id); // Enable render texture (fbo) +RLAPI void rlDisableFramebuffer(void); // Disable render texture (fbo), return to default framebuffer RLAPI void rlEnableDepthTest(void); // Enable depth test RLAPI void rlDisableDepthTest(void); // Disable depth test +RLAPI void rlEnableDepthMask(void); // Enable depth write +RLAPI void rlDisableDepthMask(void); // Disable depth write RLAPI void rlEnableBackfaceCulling(void); // Enable backface culling RLAPI void rlDisableBackfaceCulling(void); // Disable backface culling +RLAPI void rlEnableScissorTest(void); // Enable scissor test +RLAPI void rlDisableScissorTest(void); // Disable scissor test +RLAPI void rlScissor(int x, int y, int width, int height); // Scissor test RLAPI void rlEnableWireMode(void); // Enable wire mode RLAPI void rlDisableWireMode(void); // Disable wire mode -RLAPI void rlDeleteTextures(unsigned int id); // Delete OpenGL texture from GPU -RLAPI void rlDeleteRenderTextures(RenderTexture2D target); // Delete render textures (fbo) from GPU -RLAPI void rlDeleteShader(unsigned int id); // Delete OpenGL shader program from GPU -RLAPI void rlDeleteVertexArrays(unsigned int id); // Unload vertex data (VAO) from GPU memory -RLAPI void rlDeleteBuffers(unsigned int id); // Unload vertex data (VBO) from GPU memory -RLAPI void rlClearColor(byte r, byte g, byte b, byte a); // Clear color buffer with color +RLAPI void rlSetLineWidth(float width); // Set the line drawing width +RLAPI float rlGetLineWidth(void); // Get the line drawing width +RLAPI void rlEnableSmoothLines(void); // Enable line aliasing +RLAPI void rlDisableSmoothLines(void); // Disable line aliasing + +RLAPI void rlClearColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a); // Clear color buffer with color RLAPI void rlClearScreenBuffers(void); // Clear used screen buffers (color and depth) RLAPI void rlUpdateBuffer(int bufferId, void *data, int dataSize); // Update GPU buffer with new data RLAPI unsigned int rlLoadAttribBuffer(unsigned int vaoId, int shaderLoc, void *buffer, int size, bool dynamic); // Load a new attributes buffer @@ -471,18 +538,19 @@ RLAPI unsigned int rlLoadAttribBuffer(unsigned int vaoId, int shaderLoc, void *b RLAPI void rlglInit(int width, int height); // Initialize rlgl (buffers, shaders, textures, states) RLAPI void rlglClose(void); // De-inititialize rlgl (buffers, shaders, textures) RLAPI void rlglDraw(void); // Update and draw default internal buffers +RLAPI void rlCheckErrors(void); // Check and log OpenGL error codes RLAPI int rlGetVersion(void); // Returns current OpenGL version RLAPI bool rlCheckBufferLimit(int vCount); // Check internal buffer overflow for a given number of vertex RLAPI void rlSetDebugMarker(const char *text); // Set debug marker for analysis +RLAPI void rlSetBlendMode(int glSrcFactor, int glDstFactor, int glEquation); // // Set blending mode factor and equation (using OpenGL factors) RLAPI void rlLoadExtensions(void *loader); // Load OpenGL extensions -RLAPI Vector3 rlUnproject(Vector3 source, Matrix proj, Matrix view); // Get world coordinates from screen coordinates // Textures data management RLAPI unsigned int rlLoadTexture(void *data, int width, int height, int format, int mipmapCount); // Load texture in GPU -RLAPI unsigned int rlLoadTextureDepth(int width, int height, int bits, bool useRenderBuffer); // Load depth texture/renderbuffer (to be attached to fbo) +RLAPI unsigned int rlLoadTextureDepth(int width, int height, bool useRenderBuffer); // Load depth texture/renderbuffer (to be attached to fbo) RLAPI unsigned int rlLoadTextureCubemap(void *data, int size, int format); // Load texture cubemap -RLAPI void rlUpdateTexture(unsigned int id, int width, int height, int format, const void *data); // Update GPU texture with new data +RLAPI void rlUpdateTexture(unsigned int id, int offsetX, int offsetY, int width, int height, int format, const void *data); // Update GPU texture with new data RLAPI void rlGetGlTextureFormats(int format, unsigned int *glInternalFormat, unsigned int *glFormat, unsigned int *glType); // Get OpenGL internal formats RLAPI void rlUnloadTexture(unsigned int id); // Unload texture from GPU memory @@ -490,16 +558,19 @@ RLAPI void rlGenerateMipmaps(Texture2D *texture); // Gen RLAPI void *rlReadTexturePixels(Texture2D texture); // Read texture pixel data RLAPI unsigned char *rlReadScreenPixels(int width, int height); // Read screen pixel data (color buffer) -// Render texture management (fbo) -RLAPI RenderTexture2D rlLoadRenderTexture(int width, int height, int format, int depthBits, bool useDepthTexture); // Load a render texture (with color and depth attachments) -RLAPI void rlRenderTextureAttach(RenderTexture target, unsigned int id, int attachType); // Attach texture/renderbuffer to an fbo -RLAPI bool rlRenderTextureComplete(RenderTexture target); // Verify render texture is complete +// Framebuffer management (fbo) +RLAPI unsigned int rlLoadFramebuffer(int width, int height); // Load an empty framebuffer +RLAPI void rlFramebufferAttach(unsigned int fboId, unsigned int texId, int attachType, int texType); // Attach texture/renderbuffer to a framebuffer +RLAPI bool rlFramebufferComplete(unsigned int id); // Verify framebuffer is complete +RLAPI void rlUnloadFramebuffer(unsigned int id); // Delete framebuffer from GPU // Vertex data management RLAPI void rlLoadMesh(Mesh *mesh, bool dynamic); // Upload vertex data into GPU and provided VAO/VBO ids -RLAPI void rlUpdateMesh(Mesh mesh, int buffer, int numVertex); // Update vertex data on GPU (upload new data to one buffer) +RLAPI void rlUpdateMesh(Mesh mesh, int buffer, int count); // Update vertex or index data on GPU (upload new data to one buffer) +RLAPI void rlUpdateMeshAt(Mesh mesh, int buffer, int count, int index); // Update vertex or index data on GPU, at index RLAPI void rlDrawMesh(Mesh mesh, Material material, Matrix transform); // Draw a 3d mesh with material and transform -RLAPI void rlUnloadMesh(Mesh *mesh); // Unload mesh data from CPU and GPU +RLAPI void rlDrawMeshInstanced(Mesh mesh, Material material, Matrix *transforms, int count); // Draw a 3d mesh with material and transform +RLAPI void rlUnloadMesh(Mesh mesh); // Unload mesh data from CPU and GPU // NOTE: There is a set of shader related functions that are available to end user, // to avoid creating function wrappers through core module, they have been directly declared in raylib.h @@ -510,28 +581,30 @@ RLAPI void rlUnloadMesh(Mesh *mesh); // Unl // NOTE: This functions are useless when using OpenGL 1.1 //------------------------------------------------------------------------------------ // Shader loading/unloading functions -RLAPI char *LoadText(const char *fileName); // Load chars array from text file RLAPI Shader LoadShader(const char *vsFileName, const char *fsFileName); // Load shader from files and bind default locations -RLAPI Shader LoadShaderCode(char *vsCode, char *fsCode); // Load shader from code strings and bind default locations +RLAPI Shader LoadShaderCode(const char *vsCode, const char *fsCode); // Load shader from code strings and bind default locations RLAPI void UnloadShader(Shader shader); // Unload shader from GPU memory (VRAM) RLAPI Shader GetShaderDefault(void); // Get default shader RLAPI Texture2D GetTextureDefault(void); // Get default texture +RLAPI Texture2D GetShapesTexture(void); // Get texture to draw shapes +RLAPI Rectangle GetShapesTextureRec(void); // Get texture rectangle to draw shapes // Shader configuration functions RLAPI int GetShaderLocation(Shader shader, const char *uniformName); // Get shader uniform location +RLAPI int GetShaderLocationAttrib(Shader shader, const char *attribName); // Get shader attribute location RLAPI void SetShaderValue(Shader shader, int uniformLoc, const void *value, int uniformType); // Set shader uniform value RLAPI void SetShaderValueV(Shader shader, int uniformLoc, const void *value, int uniformType, int count); // Set shader uniform value vector RLAPI void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat); // Set shader uniform value (matrix 4x4) RLAPI void SetMatrixProjection(Matrix proj); // Set a custom projection matrix (replaces internal projection matrix) RLAPI void SetMatrixModelview(Matrix view); // Set a custom modelview matrix (replaces internal modelview matrix) -RLAPI Matrix GetMatrixModelview(); // Get internal modelview matrix +RLAPI Matrix GetMatrixModelview(void); // Get internal modelview matrix // Texture maps generation (PBR) // NOTE: Required shaders should be provided -RLAPI Texture2D GenTextureCubemap(Shader shader, Texture2D skyHDR, int size); // Generate cubemap texture from HDR texture -RLAPI Texture2D GenTextureIrradiance(Shader shader, Texture2D cubemap, int size); // Generate irradiance texture using cubemap data -RLAPI Texture2D GenTexturePrefilter(Shader shader, Texture2D cubemap, int size); // Generate prefilter texture using cubemap data +RLAPI TextureCubemap GenTextureCubemap(Shader shader, Texture2D panorama, int size, int format); // Generate cubemap texture from 2D panorama texture +RLAPI TextureCubemap GenTextureIrradiance(Shader shader, TextureCubemap cubemap, int size); // Generate irradiance texture using cubemap data +RLAPI TextureCubemap GenTexturePrefilter(Shader shader, TextureCubemap cubemap, int size); // Generate prefilter texture using cubemap data RLAPI Texture2D GenTextureBRDF(Shader shader, int size); // Generate BRDF texture using cubemap data // Shading begin/end functions @@ -550,7 +623,7 @@ RLAPI void ToggleVrMode(void); // Enable/Disable VR exp RLAPI void BeginVrDrawing(void); // Begin VR simulator stereo rendering RLAPI void EndVrDrawing(void); // End VR simulator stereo rendering -RLAPI void TraceLog(int msgType, const char *text, ...); // Show trace log messages (LOG_INFO, LOG_WARNING, LOG_ERROR, LOG_DEBUG) +RLAPI char *LoadFileText(const char *fileName); // Load chars array from text file RLAPI int GetPixelDataSize(int width, int height, int format);// Get pixel data size in bytes (image or texture) #endif @@ -568,25 +641,23 @@ RLAPI int GetPixelDataSize(int width, int height, int format);// Get pixel data #if defined(RLGL_IMPLEMENTATION) -#if !defined(RLGL_STANDALONE) +#if defined(RLGL_STANDALONE) + #include // Required for: fopen(), fseek(), fread(), fclose() [LoadFileText] +#else // Check if config flags have been externally provided on compilation line #if !defined(EXTERNAL_CONFIG_FLAGS) - #include "config.h" // Defines module configuration flags + #include "config.h" // Defines module configuration flags #endif + #include "raymath.h" // Required for: Vector3 and Matrix functions #endif -#include // Required for: fopen(), fclose(), fread()... [Used only on LoadText()] -#include // Required for: malloc(), free(), rand() -#include // Required for: strcmp(), strlen(), strtok() [Used only in extensions loading] -#include // Required for: atan2() - -#if !defined(RLGL_STANDALONE) - #include "raymath.h" // Required for: Vector3 and Matrix functions -#endif +#include // Required for: malloc(), free() +#include // Required for: strcmp(), strlen() [Used in rlglInit(), on extensions loading] +#include // Required for: atan2f() #if defined(GRAPHICS_API_OPENGL_11) #if defined(__APPLE__) - #include // OpenGL 1.1 library for OSX + #include // OpenGL 1.1 library for OSX #include #else // APIENTRY for OpenGL function pointer declarations is required @@ -615,6 +686,9 @@ RLAPI int GetPixelDataSize(int width, int height, int format);// Get pixel data #include // OpenGL 3 library for OSX #include // OpenGL 3 extensions library for OSX #else + #define GLAD_REALLOC RL_REALLOC + #define GLAD_FREE RL_FREE + #define GLAD_IMPLEMENTATION #if defined(RLGL_STANDALONE) #include "glad.h" // GLAD extensions loading library, includes OpenGL headers @@ -625,15 +699,12 @@ RLAPI int GetPixelDataSize(int width, int height, int format);// Get pixel data #endif #if defined(GRAPHICS_API_OPENGL_ES2) + #define GL_GLEXT_PROTOTYPES #include // EGL library #include // OpenGL ES 2.0 library #include // OpenGL ES 2.0 extensions library #endif -#if defined(RLGL_STANDALONE) - #include // Required for: va_list, va_start(), vfprintf(), va_end() [Used only on TraceLog()] -#endif - //---------------------------------------------------------------------------------- // Defines and Macros //---------------------------------------------------------------------------------- @@ -678,7 +749,6 @@ RLAPI int GetPixelDataSize(int width, int height, int format);// Get pixel data #ifndef GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF #endif - #ifndef GL_TEXTURE_MAX_ANISOTROPY_EXT #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE #endif @@ -688,62 +758,88 @@ RLAPI int GetPixelDataSize(int width, int height, int format);// Get pixel data #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 #endif - #if defined(GRAPHICS_API_OPENGL_21) #define GL_LUMINANCE 0x1909 #define GL_LUMINANCE_ALPHA 0x190A #endif #if defined(GRAPHICS_API_OPENGL_ES2) - #define glClearDepth glClearDepthf + #define glClearDepth glClearDepthf #define GL_READ_FRAMEBUFFER GL_FRAMEBUFFER #define GL_DRAW_FRAMEBUFFER GL_FRAMEBUFFER #endif -// Default vertex attribute names on shader to set location points -#define DEFAULT_ATTRIB_POSITION_NAME "vertexPosition" // shader-location = 0 -#define DEFAULT_ATTRIB_TEXCOORD_NAME "vertexTexCoord" // shader-location = 1 -#define DEFAULT_ATTRIB_NORMAL_NAME "vertexNormal" // shader-location = 2 -#define DEFAULT_ATTRIB_COLOR_NAME "vertexColor" // shader-location = 3 -#define DEFAULT_ATTRIB_TANGENT_NAME "vertexTangent" // shader-location = 4 -#define DEFAULT_ATTRIB_TEXCOORD2_NAME "vertexTexCoord2" // shader-location = 5 +// Default shader vertex attribute names to set location points +#ifndef DEFAULT_SHADER_ATTRIB_NAME_POSITION + #define DEFAULT_SHADER_ATTRIB_NAME_POSITION "vertexPosition" // Binded by default to shader location: 0 +#endif +#ifndef DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD + #define DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD "vertexTexCoord" // Binded by default to shader location: 1 +#endif +#ifndef DEFAULT_SHADER_ATTRIB_NAME_NORMAL + #define DEFAULT_SHADER_ATTRIB_NAME_NORMAL "vertexNormal" // Binded by default to shader location: 2 +#endif +#ifndef DEFAULT_SHADER_ATTRIB_NAME_COLOR + #define DEFAULT_SHADER_ATTRIB_NAME_COLOR "vertexColor" // Binded by default to shader location: 3 +#endif +#ifndef DEFAULT_SHADER_ATTRIB_NAME_TANGENT + #define DEFAULT_SHADER_ATTRIB_NAME_TANGENT "vertexTangent" // Binded by default to shader location: 4 +#endif +#ifndef DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2 + #define DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2 "vertexTexCoord2" // Binded by default to shader location: 5 +#endif //---------------------------------------------------------------------------------- // Types and Structures Definition //---------------------------------------------------------------------------------- // Dynamic vertex buffers (position + texcoords + colors + indices arrays) -typedef struct DynamicBuffer { - int vCounter; // vertex position counter to process (and draw) from full buffer - int tcCounter; // vertex texcoord counter to process (and draw) from full buffer - int cCounter; // vertex color counter to process (and draw) from full buffer - float *vertices; // vertex position (XYZ - 3 components per vertex) (shader-location = 0) - float *texcoords; // vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) - unsigned char *colors; // vertex colors (RGBA - 4 components per vertex) (shader-location = 3) +typedef struct VertexBuffer { + int elementsCount; // Number of elements in the buffer (QUADS) + + int vCounter; // Vertex position counter to process (and draw) from full buffer + int tcCounter; // Vertex texcoord counter to process (and draw) from full buffer + int cCounter; // Vertex color counter to process (and draw) from full buffer + + float *vertices; // Vertex position (XYZ - 3 components per vertex) (shader-location = 0) + float *texcoords; // Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) + unsigned char *colors; // Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) #if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33) - unsigned int *indices; // vertex indices (in case vertex data comes indexed) (6 indices per quad) + unsigned int *indices; // Vertex indices (in case vertex data comes indexed) (6 indices per quad) #elif defined(GRAPHICS_API_OPENGL_ES2) - unsigned short *indices; // vertex indices (in case vertex data comes indexed) (6 indices per quad) - // NOTE: 6*2 byte = 12 byte, not alignment problem! + unsigned short *indices; // Vertex indices (in case vertex data comes indexed) (6 indices per quad) #endif unsigned int vaoId; // OpenGL Vertex Array Object id unsigned int vboId[4]; // OpenGL Vertex Buffer Objects id (4 types of vertex data) -} DynamicBuffer; +} VertexBuffer; // Draw call type +// NOTE: Only texture changes register a new draw, other state-change-related elements are not +// used at this moment (vaoId, shaderId, matrices), raylib just forces a batch draw call if any +// of those state-change happens (this is done in core module) typedef struct DrawCall { int mode; // Drawing mode: LINES, TRIANGLES, QUADS int vertexCount; // Number of vertex of the draw int vertexAlignment; // Number of vertex required for index alignment (LINES, TRIANGLES) - //unsigned int vaoId; // Vertex Array id to be used on the draw - //unsigned int shaderId; // Shader id to be used on the draw - unsigned int textureId; // Texture id to be used on the draw - // TODO: Support additional texture units? + //unsigned int vaoId; // Vertex array id to be used on the draw -> Using RLGL.currentBatch->vertexBuffer.vaoId + //unsigned int shaderId; // Shader id to be used on the draw -> Using RLGL.currentShader.id + unsigned int textureId; // Texture id to be used on the draw -> Use to create new draw call if changes - //Matrix projection; // Projection matrix for this draw - //Matrix modelview; // Modelview matrix for this draw + //Matrix projection; // Projection matrix for this draw -> Using RLGL.projection + //Matrix modelview; // Modelview matrix for this draw -> Using RLGL.modelview } DrawCall; +// RenderBatch type +typedef struct RenderBatch { + int buffersCount; // Number of vertex buffers (multi-buffering support) + int currentBuffer; // Current buffer tracking in case of multi-buffering + VertexBuffer *vertexBuffer; // Dynamic buffer(s) for vertex data + + DrawCall *draws; // Draw calls array, depends on textureId + int drawsCounter; // Draw calls counter + float currentDepth; // Current depth value for next draw +} RenderBatch; + #if defined(SUPPORT_VR_SIMULATOR) // VR Stereo rendering configuration for simulator typedef struct VrStereoConfig { @@ -755,92 +851,83 @@ typedef struct VrStereoConfig { } VrStereoConfig; #endif +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) +typedef struct rlglData { + RenderBatch *currentBatch; // Current render batch + RenderBatch defaultBatch; // Default internal render batch + + struct { + int currentMatrixMode; // Current matrix mode + Matrix *currentMatrix; // Current matrix pointer + Matrix modelview; // Default modelview matrix + Matrix projection; // Default projection matrix + Matrix transform; // Transform matrix to be used with rlTranslate, rlRotate, rlScale + bool transformRequired; // Require transform matrix application to current draw-call vertex (if required) + Matrix stack[MAX_MATRIX_STACK_SIZE];// Matrix stack for push/pop + int stackCounter; // Matrix stack counter + + Texture2D shapesTexture; // Texture used on shapes drawing (usually a white pixel) + Rectangle shapesTextureRec; // Texture source rectangle used on shapes drawing + unsigned int defaultTextureId; // Default texture used on shapes/poly drawing (required by shader) + unsigned int activeTextureId[4]; // Active texture ids to be enabled on batch drawing (0 active by default) + unsigned int defaultVShaderId; // Default vertex shader id (used by default shader program) + unsigned int defaultFShaderId; // Default fragment shader Id (used by default shader program) + Shader defaultShader; // Basic shader, support vertex color and diffuse texture + Shader currentShader; // Shader to be used on rendering (by default, defaultShader) + + int currentBlendMode; // Blending mode active + int glBlendSrcFactor; // Blending source factor + int glBlendDstFactor; // Blending destination factor + int glBlendEquation; // Blending equation + + int framebufferWidth; // Default framebuffer width + int framebufferHeight; // Default framebuffer height + + } State; + struct { + bool vao; // VAO support (OpenGL ES2 could not support VAO extension) + bool texNPOT; // NPOT textures full support + bool texDepth; // Depth textures supported + bool texFloat32; // float textures support (32 bit per channel) + bool texCompDXT; // DDS texture compression support + bool texCompETC1; // ETC1 texture compression support + bool texCompETC2; // ETC2/EAC texture compression support + bool texCompPVRT; // PVR texture compression support + bool texCompASTC; // ASTC texture compression support + bool texMirrorClamp; // Clamp mirror wrap mode supported + bool texAnisoFilter; // Anisotropic texture filtering support + bool debugMarker; // Debug marker support + + float maxAnisotropicLevel; // Maximum anisotropy level supported (minimum is 2.0f) + int maxDepthBits; // Maximum bits for depth component + + } ExtSupported; // Extensions supported flags +#if defined(SUPPORT_VR_SIMULATOR) + struct { + VrStereoConfig config; // VR stereo configuration for simulator + unsigned int stereoFboId; // VR stereo rendering framebuffer id + unsigned int stereoTexId; // VR stereo color texture (attached to framebuffer) + bool simulatorReady; // VR simulator ready flag + bool stereoRender; // VR stereo rendering enabled/disabled flag + } Vr; +#endif // SUPPORT_VR_SIMULATOR +} rlglData; +#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2 + //---------------------------------------------------------------------------------- // Global Variables Definition //---------------------------------------------------------------------------------- #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) -static Matrix stack[MAX_MATRIX_STACK_SIZE] = { 0 }; -static int stackCounter = 0; - -static Matrix modelview = { 0 }; -static Matrix projection = { 0 }; -static Matrix *currentMatrix = NULL; -static int currentMatrixMode = -1; -static float currentDepth = -1.0f; - -// Default dynamic buffer for elements data -// NOTE: A multi-buffering system is supported -static DynamicBuffer vertexData[MAX_BATCH_BUFFERING] = { 0 }; -static int currentBuffer = 0; - -// Transform matrix to be used with rlTranslate, rlRotate, rlScale -static Matrix transformMatrix = { 0 }; -static bool useTransformMatrix = false; - -// Default buffers draw calls -static DrawCall *draws = NULL; -static int drawsCounter = 0; - -// Default texture (1px white) useful for plain color polys (required by shader) -static unsigned int defaultTextureId; - -// Default shaders -static unsigned int defaultVShaderId; // Default vertex shader id (used by default shader program) -static unsigned int defaultFShaderId; // Default fragment shader Id (used by default shader program) - -static Shader defaultShader; // Basic shader, support vertex color and diffuse texture -static Shader currentShader; // Shader to be used on rendering (by default, defaultShader) - -// Extension supported flag: VAO -static bool vaoSupported = false; // VAO support (OpenGL ES2 could not support VAO extension) - -// Extension supported flag: Compressed textures -static bool texCompDXTSupported = false; // DDS texture compression support -static bool texCompETC1Supported = false; // ETC1 texture compression support -static bool texCompETC2Supported = false; // ETC2/EAC texture compression support -static bool texCompPVRTSupported = false; // PVR texture compression support -static bool texCompASTCSupported = false; // ASTC texture compression support - -// Extension supported flag: Textures format -static bool texNPOTSupported = false; // NPOT textures full support -static bool texFloatSupported = false; // float textures support (32 bit per channel) -static bool texDepthSupported = false; // Depth textures supported -static int maxDepthBits = 16; // Maximum bits for depth component - -// Extension supported flag: Clamp mirror wrap mode -static bool texMirrorClampSupported = false; // Clamp mirror wrap mode supported - -// Extension supported flag: Anisotropic filtering -static bool texAnisotropicFilterSupported = false; // Anisotropic texture filtering support -static float maxAnisotropicLevel = 0.0f; // Maximum anisotropy level supported (minimum is 2.0f) - -static bool debugMarkerSupported = false; // Debug marker support +static rlglData RLGL = { 0 }; +#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2 #if defined(GRAPHICS_API_OPENGL_ES2) // NOTE: VAO functionality is exposed through extensions (OES) -static PFNGLGENVERTEXARRAYSOESPROC glGenVertexArrays; -static PFNGLBINDVERTEXARRAYOESPROC glBindVertexArray; -static PFNGLDELETEVERTEXARRAYSOESPROC glDeleteVertexArrays; -//static PFNGLISVERTEXARRAYOESPROC glIsVertexArray; // NOTE: Fails in WebGL, omitted +static PFNGLGENVERTEXARRAYSOESPROC glGenVertexArrays; // Entry point pointer to function glGenVertexArrays() +static PFNGLBINDVERTEXARRAYOESPROC glBindVertexArray; // Entry point pointer to function glBindVertexArray() +static PFNGLDELETEVERTEXARRAYSOESPROC glDeleteVertexArrays; // Entry point pointer to function glDeleteVertexArrays() #endif -#if defined(SUPPORT_VR_SIMULATOR) -// VR global variables -static VrStereoConfig vrConfig = { 0 }; // VR stereo configuration for simulator -static RenderTexture2D stereoFbo; // VR stereo rendering framebuffer -static bool vrSimulatorReady = false; // VR simulator ready flag -static bool vrStereoRender = false; // VR stereo rendering enabled/disabled flag - // NOTE: This flag is useful to render data over stereo image (i.e. FPS) -#endif // SUPPORT_VR_SIMULATOR - -#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2 - -static int blendMode = 0; // Track current blending mode - -// Default framebuffer size -static int screenWidth; // Default framebuffer width -static int screenHeight; // Default framebuffer height - //---------------------------------------------------------------------------------- // Module specific Functions Declaration //---------------------------------------------------------------------------------- @@ -848,14 +935,16 @@ static int screenHeight; // Default framebuffer height static unsigned int CompileShader(const char *shaderStr, int type); // Compile custom shader and return shader id static unsigned int LoadShaderProgram(unsigned int vShaderId, unsigned int fShaderId); // Load custom shader program -static Shader LoadShaderDefault(void); // Load default shader (just vertex positioning and texture coloring) -static void SetShaderDefaultLocations(Shader *shader); // Bind default shader locations (attributes and uniforms) -static void UnloadShaderDefault(void); // Unload default shader +static Shader LoadShaderDefault(void); // Load default shader (just vertex positioning and texture coloring) +static void SetShaderDefaultLocations(Shader *shader); // Bind default shader locations (attributes and uniforms) +static void UnloadShaderDefault(void); // Unload default shader -static void LoadBuffersDefault(void); // Load default internal buffers -static void UpdateBuffersDefault(void); // Update default internal buffers (VAOs/VBOs) with vertex data -static void DrawBuffersDefault(void); // Draw default internal buffers vertex data -static void UnloadBuffersDefault(void); // Unload default internal buffers vertex data from CPU and GPU +static RenderBatch LoadRenderBatch(int numBuffers, int bufferElements); // Load a render batch system +static void UnloadRenderBatch(RenderBatch batch); // Unload render batch system +static void DrawRenderBatch(RenderBatch *batch); // Draw render batch data (Update->Draw->Reset) +static void SetRenderBatchActive(RenderBatch *batch); // Set the active render batch for rlgl +static void SetRenderBatchDefault(void); // Set default render batch for rlgl +//static bool CheckRenderBatchLimit(RenderBatch batch, int vCount); // Check render batch vertex buffer limits static void GenDrawCube(void); // Generate and draw cube static void GenDrawQuad(void); // Generate and draw quad @@ -913,49 +1002,49 @@ void rlMultMatrixf(float *matf) { glMultMatrixf(matf); } // Choose the current matrix to be transformed void rlMatrixMode(int mode) { - if (mode == RL_PROJECTION) currentMatrix = &projection; - else if (mode == RL_MODELVIEW) currentMatrix = &modelview; + if (mode == RL_PROJECTION) RLGL.State.currentMatrix = &RLGL.State.projection; + else if (mode == RL_MODELVIEW) RLGL.State.currentMatrix = &RLGL.State.modelview; //else if (mode == RL_TEXTURE) // Not supported - currentMatrixMode = mode; + RLGL.State.currentMatrixMode = mode; } -// Push the current matrix into stack +// Push the current matrix into RLGL.State.stack void rlPushMatrix(void) { - if (stackCounter >= MAX_MATRIX_STACK_SIZE) TraceLog(LOG_ERROR, "Matrix stack overflow"); + if (RLGL.State.stackCounter >= MAX_MATRIX_STACK_SIZE) TRACELOG(LOG_ERROR, "RLGL: Matrix stack overflow (MAX_MATRIX_STACK_SIZE)"); - if (currentMatrixMode == RL_MODELVIEW) + if (RLGL.State.currentMatrixMode == RL_MODELVIEW) { - useTransformMatrix = true; - currentMatrix = &transformMatrix; + RLGL.State.transformRequired = true; + RLGL.State.currentMatrix = &RLGL.State.transform; } - stack[stackCounter] = *currentMatrix; - stackCounter++; + RLGL.State.stack[RLGL.State.stackCounter] = *RLGL.State.currentMatrix; + RLGL.State.stackCounter++; } -// Pop lattest inserted matrix from stack +// Pop lattest inserted matrix from RLGL.State.stack void rlPopMatrix(void) { - if (stackCounter > 0) + if (RLGL.State.stackCounter > 0) { - Matrix mat = stack[stackCounter - 1]; - *currentMatrix = mat; - stackCounter--; + Matrix mat = RLGL.State.stack[RLGL.State.stackCounter - 1]; + *RLGL.State.currentMatrix = mat; + RLGL.State.stackCounter--; } - if ((stackCounter == 0) && (currentMatrixMode == RL_MODELVIEW)) + if ((RLGL.State.stackCounter == 0) && (RLGL.State.currentMatrixMode == RL_MODELVIEW)) { - currentMatrix = &modelview; - useTransformMatrix = false; + RLGL.State.currentMatrix = &RLGL.State.modelview; + RLGL.State.transformRequired = false; } } // Reset current matrix to identity matrix void rlLoadIdentity(void) { - *currentMatrix = MatrixIdentity(); + *RLGL.State.currentMatrix = MatrixIdentity(); } // Multiply the current matrix by a translation matrix @@ -964,7 +1053,7 @@ void rlTranslatef(float x, float y, float z) Matrix matTranslation = MatrixTranslate(x, y, z); // NOTE: We transpose matrix with multiplication order - *currentMatrix = MatrixMultiply(matTranslation, *currentMatrix); + *RLGL.State.currentMatrix = MatrixMultiply(matTranslation, *RLGL.State.currentMatrix); } // Multiply the current matrix by a rotation matrix @@ -976,7 +1065,7 @@ void rlRotatef(float angleDeg, float x, float y, float z) matRotation = MatrixRotate(Vector3Normalize(axis), angleDeg*DEG2RAD); // NOTE: We transpose matrix with multiplication order - *currentMatrix = MatrixMultiply(matRotation, *currentMatrix); + *RLGL.State.currentMatrix = MatrixMultiply(matRotation, *RLGL.State.currentMatrix); } // Multiply the current matrix by a scaling matrix @@ -985,7 +1074,7 @@ void rlScalef(float x, float y, float z) Matrix matScale = MatrixScale(x, y, z); // NOTE: We transpose matrix with multiplication order - *currentMatrix = MatrixMultiply(matScale, *currentMatrix); + *RLGL.State.currentMatrix = MatrixMultiply(matScale, *RLGL.State.currentMatrix); } // Multiply the current matrix by another matrix @@ -997,7 +1086,7 @@ void rlMultMatrixf(float *matf) matf[2], matf[6], matf[10], matf[14], matf[3], matf[7], matf[11], matf[15] }; - *currentMatrix = MatrixMultiply(*currentMatrix, mat); + *RLGL.State.currentMatrix = MatrixMultiply(*RLGL.State.currentMatrix, mat); } // Multiply the current matrix by a perspective matrix generated by parameters @@ -1005,7 +1094,7 @@ void rlFrustum(double left, double right, double bottom, double top, double znea { Matrix matPerps = MatrixFrustum(left, right, bottom, top, znear, zfar); - *currentMatrix = MatrixMultiply(*currentMatrix, matPerps); + *RLGL.State.currentMatrix = MatrixMultiply(*RLGL.State.currentMatrix, matPerps); } // Multiply the current matrix by an orthographic matrix generated by parameters @@ -1013,13 +1102,12 @@ void rlOrtho(double left, double right, double bottom, double top, double znear, { Matrix matOrtho = MatrixOrtho(left, right, bottom, top, znear, zfar); - *currentMatrix = MatrixMultiply(*currentMatrix, matOrtho); + *RLGL.State.currentMatrix = MatrixMultiply(*RLGL.State.currentMatrix, matOrtho); } #endif // Set the viewport area (transformation from normalized device coordinates to window coordinates) -// NOTE: Updates global variables: screenWidth, screenHeight void rlViewport(int x, int y, int width, int height) { glViewport(x, y, width, height); @@ -1049,7 +1137,7 @@ void rlVertex2f(float x, float y) { glVertex2f(x, y); } void rlVertex3f(float x, float y, float z) { glVertex3f(x, y, z); } void rlTexCoord2f(float x, float y) { glTexCoord2f(x, y); } void rlNormal3f(float x, float y, float z) { glNormal3f(x, y, z); } -void rlColor4ub(byte r, byte g, byte b, byte a) { glColor4ub(r, g, b, a); } +void rlColor4ub(unsigned char r, unsigned char g, unsigned char b, unsigned char a) { glColor4ub(r, g, b, a); } void rlColor3f(float x, float y, float z) { glColor3f(x, y, z); } void rlColor4f(float x, float y, float z, float w) { glColor4f(x, y, z, w); } @@ -1060,34 +1148,36 @@ void rlBegin(int mode) { // Draw mode can be RL_LINES, RL_TRIANGLES and RL_QUADS // NOTE: In all three cases, vertex are accumulated over default internal vertex buffer - if (draws[drawsCounter - 1].mode != mode) + if (RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].mode != mode) { - if (draws[drawsCounter - 1].vertexCount > 0) + if (RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount > 0) { - // Make sure current draws[i].vertexCount is aligned a multiple of 4, + // Make sure current RLGL.currentBatch->draws[i].vertexCount is aligned a multiple of 4, // that way, following QUADS drawing will keep aligned with index processing // It implies adding some extra alignment vertex at the end of the draw, // those vertex are not processed but they are considered as an additional offset // for the next set of vertex to be drawn - if (draws[drawsCounter - 1].mode == RL_LINES) draws[drawsCounter - 1].vertexAlignment = ((draws[drawsCounter - 1].vertexCount < 4)? draws[drawsCounter - 1].vertexCount : draws[drawsCounter - 1].vertexCount%4); - else if (draws[drawsCounter - 1].mode == RL_TRIANGLES) draws[drawsCounter - 1].vertexAlignment = ((draws[drawsCounter - 1].vertexCount < 4)? 1 : (4 - (draws[drawsCounter - 1].vertexCount%4))); + if (RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].mode == RL_LINES) RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment = ((RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount < 4)? RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount : RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount%4); + else if (RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].mode == RL_TRIANGLES) RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment = ((RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount < 4)? 1 : (4 - (RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount%4))); - if (rlCheckBufferLimit(draws[drawsCounter - 1].vertexAlignment)) rlglDraw(); + else RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment = 0; + + if (rlCheckBufferLimit(RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment)) DrawRenderBatch(RLGL.currentBatch); else { - vertexData[currentBuffer].vCounter += draws[drawsCounter - 1].vertexAlignment; - vertexData[currentBuffer].cCounter += draws[drawsCounter - 1].vertexAlignment; - vertexData[currentBuffer].tcCounter += draws[drawsCounter - 1].vertexAlignment; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter += RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter += RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].tcCounter += RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment; - drawsCounter++; + RLGL.currentBatch->drawsCounter++; } } - if (drawsCounter >= MAX_DRAWCALL_REGISTERED) rlglDraw(); + if (RLGL.currentBatch->drawsCounter >= DEFAULT_BATCH_DRAWCALLS) DrawRenderBatch(RLGL.currentBatch); - draws[drawsCounter - 1].mode = mode; - draws[drawsCounter - 1].vertexCount = 0; - draws[drawsCounter - 1].textureId = defaultTextureId; + RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].mode = mode; + RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount = 0; + RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].textureId = RLGL.State.defaultTextureId; } } @@ -1098,30 +1188,30 @@ void rlEnd(void) // NOTE: In OpenGL 1.1, one glColor call can be made for all the subsequent glVertex calls // Make sure colors count match vertex count - if (vertexData[currentBuffer].vCounter != vertexData[currentBuffer].cCounter) + if (RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter != RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter) { - int addColors = vertexData[currentBuffer].vCounter - vertexData[currentBuffer].cCounter; + int addColors = RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter - RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter; for (int i = 0; i < addColors; i++) { - vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter] = vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter - 4]; - vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter + 1] = vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter - 3]; - vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter + 2] = vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter - 2]; - vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter + 3] = vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter - 1]; - vertexData[currentBuffer].cCounter++; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter] = RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter - 4]; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter + 1] = RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter - 3]; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter + 2] = RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter - 2]; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter + 3] = RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter - 1]; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter++; } } // Make sure texcoords count match vertex count - if (vertexData[currentBuffer].vCounter != vertexData[currentBuffer].tcCounter) + if (RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter != RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].tcCounter) { - int addTexCoords = vertexData[currentBuffer].vCounter - vertexData[currentBuffer].tcCounter; + int addTexCoords = RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter - RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].tcCounter; for (int i = 0; i < addTexCoords; i++) { - vertexData[currentBuffer].texcoords[2*vertexData[currentBuffer].tcCounter] = 0.0f; - vertexData[currentBuffer].texcoords[2*vertexData[currentBuffer].tcCounter + 1] = 0.0f; - vertexData[currentBuffer].tcCounter++; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].texcoords[2*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].tcCounter] = 0.0f; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].texcoords[2*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].tcCounter + 1] = 0.0f; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].tcCounter++; } } @@ -1130,17 +1220,17 @@ void rlEnd(void) // NOTE: Depth increment is dependant on rlOrtho(): z-near and z-far values, // as well as depth buffer bit-depth (16bit or 24bit or 32bit) // Correct increment formula would be: depthInc = (zfar - znear)/pow(2, bits) - currentDepth += (1.0f/20000.0f); + RLGL.currentBatch->currentDepth += (1.0f/20000.0f); // Verify internal buffers limits // NOTE: This check is combined with usage of rlCheckBufferLimit() - if ((vertexData[currentBuffer].vCounter) >= (MAX_BATCH_ELEMENTS*4 - 4)) + if ((RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter) >= (RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].elementsCount*4 - 4)) { - // WARNING: If we are between rlPushMatrix() and rlPopMatrix() and we need to force a rlglDraw(), - // we need to call rlPopMatrix() before to recover *currentMatrix (modelview) for the next forced draw call! - // Also noted that if we had multiple matrix pushed, it will require "stackCounter" pops before launching the draw - rlPopMatrix(); - rlglDraw(); + // WARNING: If we are between rlPushMatrix() and rlPopMatrix() and we need to force a DrawRenderBatch(), + // we need to call rlPopMatrix() before to recover *RLGL.State.currentMatrix (RLGL.State.modelview) for the next forced draw call! + // If we have multiple matrix pushed, it will require "RLGL.State.stackCounter" pops before launching the draw + for (int i = RLGL.State.stackCounter; i >= 0; i--) rlPopMatrix(); + DrawRenderBatch(RLGL.currentBatch); } } @@ -1151,40 +1241,40 @@ void rlVertex3f(float x, float y, float z) Vector3 vec = { x, y, z }; // Transform provided vector if required - if (useTransformMatrix) vec = Vector3Transform(vec, transformMatrix); + if (RLGL.State.transformRequired) vec = Vector3Transform(vec, RLGL.State.transform); - // Verify that MAX_BATCH_ELEMENTS limit not reached - if (vertexData[currentBuffer].vCounter < (MAX_BATCH_ELEMENTS*4)) + // Verify that current vertex buffer elements limit has not been reached + if (RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter < (RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].elementsCount*4)) { - vertexData[currentBuffer].vertices[3*vertexData[currentBuffer].vCounter] = vec.x; - vertexData[currentBuffer].vertices[3*vertexData[currentBuffer].vCounter + 1] = vec.y; - vertexData[currentBuffer].vertices[3*vertexData[currentBuffer].vCounter + 2] = vec.z; - vertexData[currentBuffer].vCounter++; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vertices[3*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter] = vec.x; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vertices[3*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter + 1] = vec.y; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vertices[3*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter + 2] = vec.z; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter++; - draws[drawsCounter - 1].vertexCount++; + RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount++; } - else TraceLog(LOG_ERROR, "MAX_BATCH_ELEMENTS overflow"); + else TRACELOG(LOG_ERROR, "RLGL: Batch elements overflow"); } // Define one vertex (position) void rlVertex2f(float x, float y) { - rlVertex3f(x, y, currentDepth); + rlVertex3f(x, y, RLGL.currentBatch->currentDepth); } // Define one vertex (position) void rlVertex2i(int x, int y) { - rlVertex3f((float)x, (float)y, currentDepth); + rlVertex3f((float)x, (float)y, RLGL.currentBatch->currentDepth); } // Define one vertex (texture coordinate) // NOTE: Texture coordinates are limited to QUADS only void rlTexCoord2f(float x, float y) { - vertexData[currentBuffer].texcoords[2*vertexData[currentBuffer].tcCounter] = x; - vertexData[currentBuffer].texcoords[2*vertexData[currentBuffer].tcCounter + 1] = y; - vertexData[currentBuffer].tcCounter++; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].texcoords[2*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].tcCounter] = x; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].texcoords[2*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].tcCounter + 1] = y; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].tcCounter++; } // Define one vertex (normal) @@ -1195,25 +1285,25 @@ void rlNormal3f(float x, float y, float z) } // Define one vertex (color) -void rlColor4ub(byte x, byte y, byte z, byte w) +void rlColor4ub(unsigned char x, unsigned char y, unsigned char z, unsigned char w) { - vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter] = x; - vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter + 1] = y; - vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter + 2] = z; - vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter + 3] = w; - vertexData[currentBuffer].cCounter++; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter] = x; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter + 1] = y; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter + 2] = z; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter + 3] = w; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter++; } // Define one vertex (color) void rlColor4f(float r, float g, float b, float a) { - rlColor4ub((byte)(r*255), (byte)(g*255), (byte)(b*255), (byte)(a*255)); + rlColor4ub((unsigned char)(r*255), (unsigned char)(g*255), (unsigned char)(b*255), (unsigned char)(a*255)); } // Define one vertex (color) void rlColor3f(float x, float y, float z) { - rlColor4ub((byte)(x*255), (byte)(y*255), (byte)(z*255), 255); + rlColor4ub((unsigned char)(x*255), (unsigned char)(y*255), (unsigned char)(z*255), 255); } #endif @@ -1231,33 +1321,35 @@ void rlEnableTexture(unsigned int id) #endif #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if (draws[drawsCounter - 1].textureId != id) + if (RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].textureId != id) { - if (draws[drawsCounter - 1].vertexCount > 0) + if (RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount > 0) { - // Make sure current draws[i].vertexCount is aligned a multiple of 4, + // Make sure current RLGL.currentBatch->draws[i].vertexCount is aligned a multiple of 4, // that way, following QUADS drawing will keep aligned with index processing // It implies adding some extra alignment vertex at the end of the draw, // those vertex are not processed but they are considered as an additional offset // for the next set of vertex to be drawn - if (draws[drawsCounter - 1].mode == RL_LINES) draws[drawsCounter - 1].vertexAlignment = ((draws[drawsCounter - 1].vertexCount < 4)? draws[drawsCounter - 1].vertexCount : draws[drawsCounter - 1].vertexCount%4); - else if (draws[drawsCounter - 1].mode == RL_TRIANGLES) draws[drawsCounter - 1].vertexAlignment = ((draws[drawsCounter - 1].vertexCount < 4)? 1 : (4 - (draws[drawsCounter - 1].vertexCount%4))); + if (RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].mode == RL_LINES) RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment = ((RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount < 4)? RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount : RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount%4); + else if (RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].mode == RL_TRIANGLES) RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment = ((RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount < 4)? 1 : (4 - (RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount%4))); - if (rlCheckBufferLimit(draws[drawsCounter - 1].vertexAlignment)) rlglDraw(); + else RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment = 0; + + if (rlCheckBufferLimit(RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment)) DrawRenderBatch(RLGL.currentBatch); else { - vertexData[currentBuffer].vCounter += draws[drawsCounter - 1].vertexAlignment; - vertexData[currentBuffer].cCounter += draws[drawsCounter - 1].vertexAlignment; - vertexData[currentBuffer].tcCounter += draws[drawsCounter - 1].vertexAlignment; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter += RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter += RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].tcCounter += RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment; - drawsCounter++; + RLGL.currentBatch->drawsCounter++; } } - if (drawsCounter >= MAX_DRAWCALL_REGISTERED) rlglDraw(); + if (RLGL.currentBatch->drawsCounter >= DEFAULT_BATCH_DRAWCALLS) DrawRenderBatch(RLGL.currentBatch); - draws[drawsCounter - 1].textureId = id; - draws[drawsCounter - 1].vertexCount = 0; + RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].textureId = id; + RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount = 0; } #endif } @@ -1271,7 +1363,7 @@ void rlDisableTexture(void) #else // NOTE: If quads batch limit is reached, // we force a draw call and next batch starts - if (vertexData[currentBuffer].vCounter >= (MAX_BATCH_ELEMENTS*4)) rlglDraw(); + if (RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter >= (RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].elementsCount*4)) DrawRenderBatch(RLGL.currentBatch); #endif } @@ -1288,23 +1380,25 @@ void rlTextureParameters(unsigned int id, int param, int value) if (value == RL_WRAP_MIRROR_CLAMP) { #if !defined(GRAPHICS_API_OPENGL_11) - if (!texMirrorClampSupported) TraceLog(LOG_WARNING, "Clamp mirror wrap mode not supported"); + if (RLGL.ExtSupported.texMirrorClamp) glTexParameteri(GL_TEXTURE_2D, param, value); + else TRACELOG(LOG_WARNING, "GL: Clamp mirror wrap mode not supported (GL_MIRROR_CLAMP_EXT)"); #endif } else glTexParameteri(GL_TEXTURE_2D, param, value); + } break; case RL_TEXTURE_MAG_FILTER: case RL_TEXTURE_MIN_FILTER: glTexParameteri(GL_TEXTURE_2D, param, value); break; case RL_TEXTURE_ANISOTROPIC_FILTER: { #if !defined(GRAPHICS_API_OPENGL_11) - if (value <= maxAnisotropicLevel) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, (float)value); - else if (maxAnisotropicLevel > 0.0f) + if (value <= RLGL.ExtSupported.maxAnisotropicLevel) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, (float)value); + else if (RLGL.ExtSupported.maxAnisotropicLevel > 0.0f) { - TraceLog(LOG_WARNING, "[TEX ID %i] Maximum anisotropic filter level supported is %iX", id, maxAnisotropicLevel); + TRACELOG(LOG_WARNING, "GL: Maximum anisotropic filter level supported is %iX", id, RLGL.ExtSupported.maxAnisotropicLevel); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, (float)value); } - else TraceLog(LOG_WARNING, "Anisotropic filtering not supported"); + else TRACELOG(LOG_WARNING, "GL: Anisotropic filtering not supported"); #endif } break; default: break; @@ -1313,56 +1407,69 @@ void rlTextureParameters(unsigned int id, int param, int value) glBindTexture(GL_TEXTURE_2D, 0); } +// Enable shader program usage +void rlEnableShader(unsigned int id) +{ +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) + glUseProgram(id); +#endif +} + +// Disable shader program usage +void rlDisableShader(void) +{ +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) + glUseProgram(0); +#endif +} + // Enable rendering to texture (fbo) -void rlEnableRenderTexture(unsigned int id) +void rlEnableFramebuffer(unsigned int id) { -#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(SUPPORT_RENDER_TEXTURES_HINT) glBindFramebuffer(GL_FRAMEBUFFER, id); - - //glDisable(GL_CULL_FACE); // Allow double side drawing for texture flipping - //glCullFace(GL_FRONT); #endif } // Disable rendering to texture -void rlDisableRenderTexture(void) +void rlDisableFramebuffer(void) { -#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(SUPPORT_RENDER_TEXTURES_HINT) glBindFramebuffer(GL_FRAMEBUFFER, 0); - - //glEnable(GL_CULL_FACE); - //glCullFace(GL_BACK); #endif } // Enable depth test -void rlEnableDepthTest(void) -{ - glEnable(GL_DEPTH_TEST); -} +void rlEnableDepthTest(void) { glEnable(GL_DEPTH_TEST); } // Disable depth test -void rlDisableDepthTest(void) -{ - glDisable(GL_DEPTH_TEST); -} +void rlDisableDepthTest(void) { glDisable(GL_DEPTH_TEST); } + +// Enable depth write +void rlEnableDepthMask(void) { glDepthMask(GL_TRUE); } + +// Disable depth write +void rlDisableDepthMask(void) { glDepthMask(GL_FALSE); } // Enable backface culling -void rlEnableBackfaceCulling(void) -{ - glEnable(GL_CULL_FACE); -} +void rlEnableBackfaceCulling(void) { glEnable(GL_CULL_FACE); } // Disable backface culling -void rlDisableBackfaceCulling(void) -{ - glDisable(GL_CULL_FACE); -} +void rlDisableBackfaceCulling(void) { glDisable(GL_CULL_FACE); } + +// Enable scissor test +RLAPI void rlEnableScissorTest(void) { glEnable(GL_SCISSOR_TEST); } + +// Disable scissor test +RLAPI void rlDisableScissorTest(void) { glDisable(GL_SCISSOR_TEST); } + +// Scissor test +RLAPI void rlScissor(int x, int y, int width, int height) { glScissor(x, y, width, height); } // Enable wire mode void rlEnableWireMode(void) { -#if defined (GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33) +#if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33) // NOTE: glPolygonMode() not available on OpenGL ES glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); #endif @@ -1371,69 +1478,69 @@ void rlEnableWireMode(void) // Disable wire mode void rlDisableWireMode(void) { -#if defined (GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33) +#if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33) // NOTE: glPolygonMode() not available on OpenGL ES glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); #endif } - -// Unload texture from GPU memory -void rlDeleteTextures(unsigned int id) +// Set the line drawing width +void rlSetLineWidth(float width) { - if (id > 0) glDeleteTextures(1, &id); + glLineWidth(width); } -// Unload render texture from GPU memory -void rlDeleteRenderTextures(RenderTexture2D target) +// Get the line drawing width +float rlGetLineWidth(void) { -#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if (target.texture.id > 0) glDeleteTextures(1, &target.texture.id); - if (target.depth.id > 0) - { - if (target.depthTexture) glDeleteTextures(1, &target.depth.id); - else glDeleteRenderbuffers(1, &target.depth.id); - } - - if (target.id > 0) glDeleteFramebuffers(1, &target.id); - - TraceLog(LOG_INFO, "[FBO ID %i] Unloaded render texture data from VRAM (GPU)", target.id); -#endif + float width = 0; + glGetFloatv(GL_LINE_WIDTH, &width); + return width; } -// Unload shader from GPU memory -void rlDeleteShader(unsigned int id) +// Enable line aliasing +void rlEnableSmoothLines(void) { -#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if (id != 0) glDeleteProgram(id); +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_21) || defined(GRAPHICS_API_OPENGL_11) + glEnable(GL_LINE_SMOOTH); #endif } -// Unload vertex data (VAO) from GPU memory -void rlDeleteVertexArrays(unsigned int id) +// Disable line aliasing +void rlDisableSmoothLines(void) { -#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if (vaoSupported) - { - if (id != 0) glDeleteVertexArrays(1, &id); - TraceLog(LOG_INFO, "[VAO ID %i] Unloaded model data from VRAM (GPU)", id); - } +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_21) || defined(GRAPHICS_API_OPENGL_11) + glDisable(GL_LINE_SMOOTH); #endif } -// Unload vertex data (VBO) from GPU memory -void rlDeleteBuffers(unsigned int id) +// Unload framebuffer from GPU memory +// NOTE: All attached textures/cubemaps/renderbuffers are also deleted +void rlUnloadFramebuffer(unsigned int id) { -#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if (id != 0) - { - glDeleteBuffers(1, &id); - if (!vaoSupported) TraceLog(LOG_INFO, "[VBO ID %i] Unloaded model vertex data from VRAM (GPU)", id); - } +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(SUPPORT_RENDER_TEXTURES_HINT) + + // Query depth attachment to automatically delete texture/renderbuffer + int depthType = 0, depthId = 0; + glBindFramebuffer(GL_FRAMEBUFFER, id); // Bind framebuffer to query depth texture type + glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, &depthType); + glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, &depthId); + + unsigned int depthIdU = (unsigned int)depthId; + if (depthType == GL_RENDERBUFFER) glDeleteRenderbuffers(1, &depthIdU); + else if (depthType == GL_RENDERBUFFER) glDeleteTextures(1, &depthIdU); + + // NOTE: If a texture object is deleted while its image is attached to the *currently bound* framebuffer, + // the texture image is automatically detached from the currently bound framebuffer. + + glBindFramebuffer(GL_FRAMEBUFFER, 0); + glDeleteFramebuffers(1, &id); + + TRACELOG(LOG_INFO, "FBO: [ID %i] Unloaded framebuffer from VRAM (GPU)", id); #endif } // Clear color buffer with color -void rlClearColor(byte r, byte g, byte b, byte a) +void rlClearColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a) { // Color values clamp to 0.0f(0) and 1.0f(255) float cr = (float)r/255; @@ -1469,87 +1576,92 @@ void rlglInit(int width, int height) { // Check OpenGL information and capabilities //------------------------------------------------------------------------------ - // Print current OpenGL and GLSL version - TraceLog(LOG_INFO, "GPU: Vendor: %s", glGetString(GL_VENDOR)); - TraceLog(LOG_INFO, "GPU: Renderer: %s", glGetString(GL_RENDERER)); - TraceLog(LOG_INFO, "GPU: Version: %s", glGetString(GL_VERSION)); - TraceLog(LOG_INFO, "GPU: GLSL: %s", glGetString(GL_SHADING_LANGUAGE_VERSION)); + TRACELOG(LOG_INFO, "GL: OpenGL device information:"); + TRACELOG(LOG_INFO, " > Vendor: %s", glGetString(GL_VENDOR)); + TRACELOG(LOG_INFO, " > Renderer: %s", glGetString(GL_RENDERER)); + TRACELOG(LOG_INFO, " > Version: %s", glGetString(GL_VERSION)); + TRACELOG(LOG_INFO, " > GLSL: %s", glGetString(GL_SHADING_LANGUAGE_VERSION)); // NOTE: We can get a bunch of extra information about GPU capabilities (glGet*) //int maxTexSize; //glGetIntegerv(GL_MAX_TEXTURE_SIZE, &maxTexSize); - //TraceLog(LOG_INFO, "GL_MAX_TEXTURE_SIZE: %i", maxTexSize); + //TRACELOG(LOG_INFO, "GL: Maximum texture size: %i", maxTexSize); //GL_MAX_TEXTURE_IMAGE_UNITS //GL_MAX_VIEWPORT_DIMS //int numAuxBuffers; //glGetIntegerv(GL_AUX_BUFFERS, &numAuxBuffers); - //TraceLog(LOG_INFO, "GL_AUX_BUFFERS: %i", numAuxBuffers); + //TRACELOG(LOG_INFO, "GL: Number of aixiliar buffers: %i", numAuxBuffers); //GLint numComp = 0; //GLint format[32] = { 0 }; //glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &numComp); //glGetIntegerv(GL_COMPRESSED_TEXTURE_FORMATS, format); - //for (int i = 0; i < numComp; i++) TraceLog(LOG_INFO, "Supported compressed format: 0x%x", format[i]); + //for (int i = 0; i < numComp; i++) TRACELOG(LOG_INFO, "GL: Supported compressed format: 0x%x", format[i]); // NOTE: We don't need that much data on screen... right now... // TODO: Automatize extensions loading using rlLoadExtensions() and GLAD // Actually, when rlglInit() is called in InitWindow() in core.c, - // OpenGL required extensions have already been loaded (PLATFORM_DESKTOP) + // OpenGL context has already been created and required extensions loaded #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) // Get supported extensions list GLint numExt = 0; -#if defined(GRAPHICS_API_OPENGL_33) +#if defined(GRAPHICS_API_OPENGL_33) && !defined(GRAPHICS_API_OPENGL_21) // NOTE: On OpenGL 3.3 VAO and NPOT are supported by default - vaoSupported = true; + RLGL.ExtSupported.vao = true; // Multiple texture extensions supported by default - texNPOTSupported = true; - texFloatSupported = true; - texDepthSupported = true; + RLGL.ExtSupported.texNPOT = true; + RLGL.ExtSupported.texFloat32 = true; + RLGL.ExtSupported.texDepth = true; // We get a list of available extensions and we check for some of them (compressed textures) // NOTE: We don't need to check again supported extensions but we do (GLAD already dealt with that) glGetIntegerv(GL_NUM_EXTENSIONS, &numExt); - const char **extList = RL_MALLOC(sizeof(const char *)*numExt); + // Allocate numExt strings pointers + char **extList = RL_MALLOC(sizeof(char *)*numExt); + + // Get extensions strings for (int i = 0; i < numExt; i++) extList[i] = (char *)glGetStringi(GL_EXTENSIONS, i); -#elif defined(GRAPHICS_API_OPENGL_ES2) - char *extensions = (char *)glGetString(GL_EXTENSIONS); // One big const string +#endif +#if defined(GRAPHICS_API_OPENGL_ES2) || defined(GRAPHICS_API_OPENGL_21) + // Allocate 512 strings pointers (2 KB) + const char **extList = RL_MALLOC(512*sizeof(const char *)); + + const char *extensions = (const char *)glGetString(GL_EXTENSIONS); // One big const string // NOTE: We have to duplicate string because glGetString() returns a const string int len = strlen(extensions) + 1; - char *extensionsDup = (char *)RL_MALLOC(len); + char *extensionsDup = (char *)RL_CALLOC(len, sizeof(char)); strcpy(extensionsDup, extensions); - // NOTE: String could be splitted using strtok() function (string.h) - // NOTE: strtok() modifies the passed string, it can not be const - - // Allocate 512 strings pointers (2 KB) - const char **extList = RL_MALLOC(sizeof(const char *)*512); + extList[numExt] = extensionsDup; - extList[numExt] = strtok(extensionsDup, " "); - while (extList[numExt] != NULL) + for (int i = 0; i < len; i++) { - numExt++; - extList[numExt] = strtok(NULL, " "); - } + if (extensionsDup[i] == ' ') + { + extensionsDup[i] = '\0'; - RL_FREE(extensionsDup); // Duplicated string must be deallocated + numExt++; + extList[numExt] = &extensionsDup[i + 1]; + } + } - numExt -= 1; + // NOTE: Duplicated string (extensionsDup) must be deallocated #endif - TraceLog(LOG_INFO, "Number of supported extensions: %i", numExt); + TRACELOG(LOG_INFO, "GL: Supported extensions count: %i", numExt); // Show supported extensions - //for (int i = 0; i < numExt; i++) TraceLog(LOG_INFO, "Supported extension: %s", extList[i]); + //for (int i = 0; i < numExt; i++) TRACELOG(LOG_INFO, "Supported extension: %s", extList[i]); // Check required extensions for (int i = 0; i < numExt; i++) @@ -1566,124 +1678,111 @@ void rlglInit(int width, int height) glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSOESPROC)eglGetProcAddress("glDeleteVertexArraysOES"); //glIsVertexArray = (PFNGLISVERTEXARRAYOESPROC)eglGetProcAddress("glIsVertexArrayOES"); // NOTE: Fails in WebGL, omitted - if ((glGenVertexArrays != NULL) && (glBindVertexArray != NULL) && (glDeleteVertexArrays != NULL)) vaoSupported = true; + if ((glGenVertexArrays != NULL) && (glBindVertexArray != NULL) && (glDeleteVertexArrays != NULL)) RLGL.ExtSupported.vao = true; } // Check NPOT textures support // NOTE: Only check on OpenGL ES, OpenGL 3.3 has NPOT textures full support as core feature - if (strcmp(extList[i], (const char *)"GL_OES_texture_npot") == 0) texNPOTSupported = true; + if (strcmp(extList[i], (const char *)"GL_OES_texture_npot") == 0) RLGL.ExtSupported.texNPOT = true; // Check texture float support - if (strcmp(extList[i], (const char *)"GL_OES_texture_float") == 0) texFloatSupported = true; + if (strcmp(extList[i], (const char *)"GL_OES_texture_float") == 0) RLGL.ExtSupported.texFloat32 = true; // Check depth texture support if ((strcmp(extList[i], (const char *)"GL_OES_depth_texture") == 0) || - (strcmp(extList[i], (const char *)"GL_WEBGL_depth_texture") == 0)) texDepthSupported = true; + (strcmp(extList[i], (const char *)"GL_WEBGL_depth_texture") == 0)) RLGL.ExtSupported.texDepth = true; - if (strcmp(extList[i], (const char *)"GL_OES_depth24") == 0) maxDepthBits = 24; - if (strcmp(extList[i], (const char *)"GL_OES_depth32") == 0) maxDepthBits = 32; + if (strcmp(extList[i], (const char *)"GL_OES_depth24") == 0) RLGL.ExtSupported.maxDepthBits = 24; + if (strcmp(extList[i], (const char *)"GL_OES_depth32") == 0) RLGL.ExtSupported.maxDepthBits = 32; #endif // DDS texture compression support if ((strcmp(extList[i], (const char *)"GL_EXT_texture_compression_s3tc") == 0) || (strcmp(extList[i], (const char *)"GL_WEBGL_compressed_texture_s3tc") == 0) || - (strcmp(extList[i], (const char *)"GL_WEBKIT_WEBGL_compressed_texture_s3tc") == 0)) texCompDXTSupported = true; + (strcmp(extList[i], (const char *)"GL_WEBKIT_WEBGL_compressed_texture_s3tc") == 0)) RLGL.ExtSupported.texCompDXT = true; // ETC1 texture compression support if ((strcmp(extList[i], (const char *)"GL_OES_compressed_ETC1_RGB8_texture") == 0) || - (strcmp(extList[i], (const char *)"GL_WEBGL_compressed_texture_etc1") == 0)) texCompETC1Supported = true; + (strcmp(extList[i], (const char *)"GL_WEBGL_compressed_texture_etc1") == 0)) RLGL.ExtSupported.texCompETC1 = true; // ETC2/EAC texture compression support - if (strcmp(extList[i], (const char *)"GL_ARB_ES3_compatibility") == 0) texCompETC2Supported = true; + if (strcmp(extList[i], (const char *)"GL_ARB_ES3_compatibility") == 0) RLGL.ExtSupported.texCompETC2 = true; // PVR texture compression support - if (strcmp(extList[i], (const char *)"GL_IMG_texture_compression_pvrtc") == 0) texCompPVRTSupported = true; + if (strcmp(extList[i], (const char *)"GL_IMG_texture_compression_pvrtc") == 0) RLGL.ExtSupported.texCompPVRT = true; // ASTC texture compression support - if (strcmp(extList[i], (const char *)"GL_KHR_texture_compression_astc_hdr") == 0) texCompASTCSupported = true; + if (strcmp(extList[i], (const char *)"GL_KHR_texture_compression_astc_hdr") == 0) RLGL.ExtSupported.texCompASTC = true; // Anisotropic texture filter support if (strcmp(extList[i], (const char *)"GL_EXT_texture_filter_anisotropic") == 0) { - texAnisotropicFilterSupported = true; - glGetFloatv(0x84FF, &maxAnisotropicLevel); // GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT + RLGL.ExtSupported.texAnisoFilter = true; + glGetFloatv(0x84FF, &RLGL.ExtSupported.maxAnisotropicLevel); // GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT } // Clamp mirror wrap mode supported - if (strcmp(extList[i], (const char *)"GL_EXT_texture_mirror_clamp") == 0) texMirrorClampSupported = true; + if (strcmp(extList[i], (const char *)"GL_EXT_texture_mirror_clamp") == 0) RLGL.ExtSupported.texMirrorClamp = true; // Debug marker support - if (strcmp(extList[i], (const char *)"GL_EXT_debug_marker") == 0) debugMarkerSupported = true; + if (strcmp(extList[i], (const char *)"GL_EXT_debug_marker") == 0) RLGL.ExtSupported.debugMarker = true; } + // Free extensions pointers RL_FREE(extList); +#if defined(GRAPHICS_API_OPENGL_ES2) || defined(GRAPHICS_API_OPENGL_21) + RL_FREE(extensionsDup); // Duplicated string must be deallocated +#endif + #if defined(GRAPHICS_API_OPENGL_ES2) - if (vaoSupported) TraceLog(LOG_INFO, "[EXTENSION] VAO extension detected, VAO functions initialized successfully"); - else TraceLog(LOG_WARNING, "[EXTENSION] VAO extension not found, VAO usage not supported"); + if (RLGL.ExtSupported.vao) TRACELOG(LOG_INFO, "GL: VAO extension detected, VAO functions initialized successfully"); + else TRACELOG(LOG_WARNING, "GL: VAO extension not found, VAO usage not supported"); - if (texNPOTSupported) TraceLog(LOG_INFO, "[EXTENSION] NPOT textures extension detected, full NPOT textures supported"); - else TraceLog(LOG_WARNING, "[EXTENSION] NPOT textures extension not found, limited NPOT support (no-mipmaps, no-repeat)"); + if (RLGL.ExtSupported.texNPOT) TRACELOG(LOG_INFO, "GL: NPOT textures extension detected, full NPOT textures supported"); + else TRACELOG(LOG_WARNING, "GL: NPOT textures extension not found, limited NPOT support (no-mipmaps, no-repeat)"); #endif - if (texCompDXTSupported) TraceLog(LOG_INFO, "[EXTENSION] DXT compressed textures supported"); - if (texCompETC1Supported) TraceLog(LOG_INFO, "[EXTENSION] ETC1 compressed textures supported"); - if (texCompETC2Supported) TraceLog(LOG_INFO, "[EXTENSION] ETC2/EAC compressed textures supported"); - if (texCompPVRTSupported) TraceLog(LOG_INFO, "[EXTENSION] PVRT compressed textures supported"); - if (texCompASTCSupported) TraceLog(LOG_INFO, "[EXTENSION] ASTC compressed textures supported"); + if (RLGL.ExtSupported.texCompDXT) TRACELOG(LOG_INFO, "GL: DXT compressed textures supported"); + if (RLGL.ExtSupported.texCompETC1) TRACELOG(LOG_INFO, "GL: ETC1 compressed textures supported"); + if (RLGL.ExtSupported.texCompETC2) TRACELOG(LOG_INFO, "GL: ETC2/EAC compressed textures supported"); + if (RLGL.ExtSupported.texCompPVRT) TRACELOG(LOG_INFO, "GL: PVRT compressed textures supported"); + if (RLGL.ExtSupported.texCompASTC) TRACELOG(LOG_INFO, "GL: ASTC compressed textures supported"); - if (texAnisotropicFilterSupported) TraceLog(LOG_INFO, "[EXTENSION] Anisotropic textures filtering supported (max: %.0fX)", maxAnisotropicLevel); - if (texMirrorClampSupported) TraceLog(LOG_INFO, "[EXTENSION] Mirror clamp wrap texture mode supported"); + if (RLGL.ExtSupported.texAnisoFilter) TRACELOG(LOG_INFO, "GL: Anisotropic textures filtering supported (max: %.0fX)", RLGL.ExtSupported.maxAnisotropicLevel); + if (RLGL.ExtSupported.texMirrorClamp) TRACELOG(LOG_INFO, "GL: Mirror clamp wrap texture mode supported"); - if (debugMarkerSupported) TraceLog(LOG_INFO, "[EXTENSION] Debug Marker supported"); + if (RLGL.ExtSupported.debugMarker) TRACELOG(LOG_INFO, "GL: Debug Marker supported"); // Initialize buffers, default shaders and default textures //---------------------------------------------------------- // Init default white texture unsigned char pixels[4] = { 255, 255, 255, 255 }; // 1 pixel RGBA (4 bytes) - defaultTextureId = rlLoadTexture(pixels, 1, 1, UNCOMPRESSED_R8G8B8A8, 1); + RLGL.State.defaultTextureId = rlLoadTexture(pixels, 1, 1, UNCOMPRESSED_R8G8B8A8, 1); - if (defaultTextureId != 0) TraceLog(LOG_INFO, "[TEX ID %i] Base white texture loaded successfully", defaultTextureId); - else TraceLog(LOG_WARNING, "Base white texture could not be loaded"); + if (RLGL.State.defaultTextureId != 0) TRACELOG(LOG_INFO, "TEXTURE: [ID %i] Default texture loaded successfully", RLGL.State.defaultTextureId); + else TRACELOG(LOG_WARNING, "TEXTURE: Failed to load default texture"); // Init default Shader (customized for GL 3.3 and ES2) - defaultShader = LoadShaderDefault(); - currentShader = defaultShader; + RLGL.State.defaultShader = LoadShaderDefault(); + RLGL.State.currentShader = RLGL.State.defaultShader; // Init default vertex arrays buffers - LoadBuffersDefault(); + RLGL.defaultBatch = LoadRenderBatch(DEFAULT_BATCH_BUFFERS, DEFAULT_BATCH_BUFFER_ELEMENTS); + RLGL.currentBatch = &RLGL.defaultBatch; - // Init transformations matrix accumulator - transformMatrix = MatrixIdentity(); + // Init stack matrices (emulating OpenGL 1.1) + for (int i = 0; i < MAX_MATRIX_STACK_SIZE; i++) RLGL.State.stack[i] = MatrixIdentity(); - // Init draw calls tracking system - draws = (DrawCall *)RL_MALLOC(sizeof(DrawCall)*MAX_DRAWCALL_REGISTERED); - - for (int i = 0; i < MAX_DRAWCALL_REGISTERED; i++) - { - draws[i].mode = RL_QUADS; - draws[i].vertexCount = 0; - draws[i].vertexAlignment = 0; - //draws[i].vaoId = 0; - //draws[i].shaderId = 0; - draws[i].textureId = defaultTextureId; - //draws[i].projection = MatrixIdentity(); - //draws[i].modelview = MatrixIdentity(); - } + // Init internal matrices + RLGL.State.transform = MatrixIdentity(); + RLGL.State.projection = MatrixIdentity(); + RLGL.State.modelview = MatrixIdentity(); + RLGL.State.currentMatrix = &RLGL.State.modelview; - drawsCounter = 1; - - // Init internal matrix stack (emulating OpenGL 1.1) - for (int i = 0; i < MAX_MATRIX_STACK_SIZE; i++) stack[i] = MatrixIdentity(); - - // Init internal projection and modelview matrices - projection = MatrixIdentity(); - modelview = MatrixIdentity(); - currentMatrix = &modelview; #endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2 // Initialize OpenGL default states //---------------------------------------------------------- - // Init state: Depth test glDepthFunc(GL_LEQUAL); // Type of depth testing to apply glDisable(GL_DEPTH_TEST); // Disable depth testing for 2D (only used for 3D) @@ -1698,35 +1797,45 @@ void rlglInit(int width, int height) glFrontFace(GL_CCW); // Front face are defined counter clockwise (default) glEnable(GL_CULL_FACE); // Enable backface culling + // Init state: Cubemap seamless +#if defined(GRAPHICS_API_OPENGL_33) + glEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS); // Seamless cubemaps (not supported on OpenGL ES 2.0) +#endif + #if defined(GRAPHICS_API_OPENGL_11) // Init state: Color hints (deprecated in OpenGL 3.0+) glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // Improve quality of color and texture coordinate interpolation glShadeModel(GL_SMOOTH); // Smooth shading between vertex (vertex colors interpolation) #endif +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + // Store screen size into global variables + RLGL.State.framebufferWidth = width; + RLGL.State.framebufferHeight = height; + + // Init texture and rectangle used on basic shapes drawing + RLGL.State.shapesTexture = GetTextureDefault(); + RLGL.State.shapesTextureRec = (Rectangle){ 0.0f, 0.0f, 1.0f, 1.0f }; + + TRACELOG(LOG_INFO, "RLGL: Default state initialized successfully"); +#endif + // Init state: Color/Depth buffers clear glClearColor(0.0f, 0.0f, 0.0f, 1.0f); // Set clear color (black) glClearDepth(1.0f); // Set clear depth value (default) glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear color and depth buffers (depth buffer required for 3D) - - // Store screen size into global variables - screenWidth = width; - screenHeight = height; - - TraceLog(LOG_INFO, "OpenGL default states initialized successfully"); } // Vertex Buffer Object deinitialization (memory free) void rlglClose(void) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - UnloadShaderDefault(); // Unload default shader - UnloadBuffersDefault(); // Unload default buffers - glDeleteTextures(1, &defaultTextureId); // Unload default texture + UnloadRenderBatch(RLGL.defaultBatch); - TraceLog(LOG_INFO, "[TEX ID %i] Unloaded texture data (base white texture) from VRAM", defaultTextureId); + UnloadShaderDefault(); // Unload default shader + glDeleteTextures(1, &RLGL.State.defaultTextureId); // Unload default texture - RL_FREE(draws); + TRACELOG(LOG_INFO, "TEXTURE: [ID %i] Unloaded default texture data from VRAM (GPU)", RLGL.State.defaultTextureId); #endif } @@ -1734,11 +1843,45 @@ void rlglClose(void) void rlglDraw(void) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - // Only process data if we have data to process - if (vertexData[currentBuffer].vCounter > 0) - { - UpdateBuffersDefault(); - DrawBuffersDefault(); // NOTE: Stereo rendering is checked inside + DrawRenderBatch(RLGL.currentBatch); // NOTE: Stereo rendering is checked inside +#endif +} + +// Check and log OpenGL error codes +void rlCheckErrors() { +#if defined(GRAPHICS_API_OPENGL_21) || defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + int check = 1; + while (check) { + const GLenum err = glGetError(); + switch (err) { + case GL_NO_ERROR: + check = 0; + break; + case 0x0500: // GL_INVALID_ENUM: + TRACELOG(LOG_WARNING, "GL: Error detected: GL_INVALID_ENUM"); + break; + case 0x0501: //GL_INVALID_VALUE: + TRACELOG(LOG_WARNING, "GL: Error detected: GL_INVALID_VALUE"); + break; + case 0x0502: //GL_INVALID_OPERATION: + TRACELOG(LOG_WARNING, "GL: Error detected: GL_INVALID_OPERATION"); + break; + case 0x0503: // GL_STACK_OVERFLOW: + TRACELOG(LOG_WARNING, "GL: Error detected: GL_STACK_OVERFLOW"); + break; + case 0x0504: // GL_STACK_UNDERFLOW: + TRACELOG(LOG_WARNING, "GL: Error detected: GL_STACK_UNDERFLOW"); + break; + case 0x0505: // GL_OUT_OF_MEMORY: + TRACELOG(LOG_WARNING, "GL: Error detected: GL_OUT_OF_MEMORY"); + break; + case 0x0506: // GL_INVALID_FRAMEBUFFER_OPERATION: + TRACELOG(LOG_WARNING, "GL: Error detected: GL_INVALID_FRAMEBUFFER_OPERATION"); + break; + default: + TRACELOG(LOG_WARNING, "GL: Error detected: unknown error code %x", err); + break; + } } #endif } @@ -1750,7 +1893,7 @@ int rlGetVersion(void) return OPENGL_11; #elif defined(GRAPHICS_API_OPENGL_21) #if defined(__APPLE__) - return OPENGL_33; // NOTE: Force OpenGL 3.3 on OSX + return OPENGL_33; // NOTE: Force OpenGL 3.3 on OSX #else return OPENGL_21; #endif @@ -1766,7 +1909,7 @@ bool rlCheckBufferLimit(int vCount) { bool overflow = false; #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if ((vertexData[currentBuffer].vCounter + vCount) >= (MAX_BATCH_ELEMENTS*4)) overflow = true; + if ((RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter + vCount) >= (RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].elementsCount*4)) overflow = true; #endif return overflow; } @@ -1775,7 +1918,17 @@ bool rlCheckBufferLimit(int vCount) void rlSetDebugMarker(const char *text) { #if defined(GRAPHICS_API_OPENGL_33) - if (debugMarkerSupported) glInsertEventMarkerEXT(0, text); + if (RLGL.ExtSupported.debugMarker) glInsertEventMarkerEXT(0, text); +#endif +} + +// Set blending mode factor and equation +void rlSetBlendMode(int glSrcFactor, int glDstFactor, int glEquation) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + RLGL.State.glBlendSrcFactor = glSrcFactor; + RLGL.State.glBlendDstFactor = glDstFactor; + RLGL.State.glBlendEquation = glEquation; #endif } @@ -1786,14 +1939,14 @@ void rlLoadExtensions(void *loader) #if defined(GRAPHICS_API_OPENGL_33) // NOTE: glad is generated and contains only required OpenGL 3.3 Core extensions (and lower versions) #if !defined(__APPLE__) - if (!gladLoadGLLoader((GLADloadproc)loader)) TraceLog(LOG_WARNING, "GLAD: Cannot load OpenGL extensions"); - else TraceLog(LOG_INFO, "GLAD: OpenGL extensions loaded successfully"); + if (!gladLoadGLLoader((GLADloadproc)loader)) TRACELOG(LOG_WARNING, "GLAD: Cannot load OpenGL extensions"); + else TRACELOG(LOG_INFO, "GLAD: OpenGL extensions loaded successfully"); #if defined(GRAPHICS_API_OPENGL_21) - if (GLAD_GL_VERSION_2_1) TraceLog(LOG_INFO, "OpenGL 2.1 profile supported"); + if (GLAD_GL_VERSION_2_1) TRACELOG(LOG_INFO, "GL: OpenGL 2.1 profile supported"); #elif defined(GRAPHICS_API_OPENGL_33) - if (GLAD_GL_VERSION_3_3) TraceLog(LOG_INFO, "OpenGL 3.3 Core profile supported"); - else TraceLog(LOG_ERROR, "OpenGL 3.3 Core profile not supported"); + if (GLAD_GL_VERSION_3_3) TRACELOG(LOG_INFO, "GL: OpenGL 3.3 Core profile supported"); + else TRACELOG(LOG_ERROR, "GL: OpenGL 3.3 Core profile not supported"); #endif #endif @@ -1802,29 +1955,6 @@ void rlLoadExtensions(void *loader) #endif } -// Get world coordinates from screen coordinates -Vector3 rlUnproject(Vector3 source, Matrix proj, Matrix view) -{ - Vector3 result = { 0.0f, 0.0f, 0.0f }; - - // Calculate unproject matrix (multiply view patrix by projection matrix) and invert it - Matrix matViewProj = MatrixMultiply(view, proj); - matViewProj = MatrixInvert(matViewProj); - - // Create quaternion from source point - Quaternion quat = { source.x, source.y, source.z, 1.0f }; - - // Multiply quat point by unproject matrix - quat = QuaternionTransform(quat, matViewProj); - - // Normalized world points in vectors - result.x = quat.x/quat.w; - result.y = quat.y/quat.w; - result.z = quat.z/quat.w; - - return result; -} - // Convert image data to OpenGL texture (returns OpenGL valid Id) unsigned int rlLoadTexture(void *data, int width, int height, int format, int mipmapCount) { @@ -1836,38 +1966,38 @@ unsigned int rlLoadTexture(void *data, int width, int height, int format, int mi #if defined(GRAPHICS_API_OPENGL_11) if (format >= COMPRESSED_DXT1_RGB) { - TraceLog(LOG_WARNING, "OpenGL 1.1 does not support GPU compressed texture formats"); + TRACELOG(LOG_WARNING, "GL: OpenGL 1.1 does not support GPU compressed texture formats"); return id; } #else - if ((!texCompDXTSupported) && ((format == COMPRESSED_DXT1_RGB) || (format == COMPRESSED_DXT1_RGBA) || + if ((!RLGL.ExtSupported.texCompDXT) && ((format == COMPRESSED_DXT1_RGB) || (format == COMPRESSED_DXT1_RGBA) || (format == COMPRESSED_DXT3_RGBA) || (format == COMPRESSED_DXT5_RGBA))) { - TraceLog(LOG_WARNING, "DXT compressed texture format not supported"); + TRACELOG(LOG_WARNING, "GL: DXT compressed texture format not supported"); return id; } #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if ((!texCompETC1Supported) && (format == COMPRESSED_ETC1_RGB)) + if ((!RLGL.ExtSupported.texCompETC1) && (format == COMPRESSED_ETC1_RGB)) { - TraceLog(LOG_WARNING, "ETC1 compressed texture format not supported"); + TRACELOG(LOG_WARNING, "GL: ETC1 compressed texture format not supported"); return id; } - if ((!texCompETC2Supported) && ((format == COMPRESSED_ETC2_RGB) || (format == COMPRESSED_ETC2_EAC_RGBA))) + if ((!RLGL.ExtSupported.texCompETC2) && ((format == COMPRESSED_ETC2_RGB) || (format == COMPRESSED_ETC2_EAC_RGBA))) { - TraceLog(LOG_WARNING, "ETC2 compressed texture format not supported"); + TRACELOG(LOG_WARNING, "GL: ETC2 compressed texture format not supported"); return id; } - if ((!texCompPVRTSupported) && ((format == COMPRESSED_PVRT_RGB) || (format == COMPRESSED_PVRT_RGBA))) + if ((!RLGL.ExtSupported.texCompPVRT) && ((format == COMPRESSED_PVRT_RGB) || (format == COMPRESSED_PVRT_RGBA))) { - TraceLog(LOG_WARNING, "PVRT compressed texture format not supported"); + TRACELOG(LOG_WARNING, "GL: PVRT compressed texture format not supported"); return id; } - if ((!texCompASTCSupported) && ((format == COMPRESSED_ASTC_4x4_RGBA) || (format == COMPRESSED_ASTC_8x8_RGBA))) + if ((!RLGL.ExtSupported.texCompASTC) && ((format == COMPRESSED_ASTC_4x4_RGBA) || (format == COMPRESSED_ASTC_8x8_RGBA))) { - TraceLog(LOG_WARNING, "ASTC compressed texture format not supported"); + TRACELOG(LOG_WARNING, "GL: ASTC compressed texture format not supported"); return id; } #endif @@ -1887,8 +2017,6 @@ unsigned int rlLoadTexture(void *data, int width, int height, int format, int mi int mipHeight = height; int mipOffset = 0; // Mipmap data offset - TraceLog(LOG_DEBUG, "Load texture from data memory address: 0x%x", data); - // Load the different mipmap levels for (int i = 0; i < mipmapCount; i++) { @@ -1897,7 +2025,7 @@ unsigned int rlLoadTexture(void *data, int width, int height, int format, int mi unsigned int glInternalFormat, glFormat, glType; rlGetGlTextureFormats(format, &glInternalFormat, &glFormat, &glType); - TraceLog(LOG_DEBUG, "Load mipmap level %i (%i x %i), size: %i, offset: %i", i, mipWidth, mipHeight, mipSize, mipOffset); + TRACELOGD("TEXTURE: Load mipmap level %i (%i x %i), size: %i, offset: %i", i, mipWidth, mipHeight, mipSize, mipOffset); if (glInternalFormat != -1) { @@ -1937,7 +2065,7 @@ unsigned int rlLoadTexture(void *data, int width, int height, int format, int mi // NOTE: glTexParameteri does NOT affect texture uploading, just the way it's used #if defined(GRAPHICS_API_OPENGL_ES2) // NOTE: OpenGL ES 2.0 with no GL_OES_texture_npot support (i.e. WebGL) has limited NPOT support, so CLAMP_TO_EDGE must be used - if (texNPOTSupported) + if (RLGL.ExtSupported.texNPOT) { glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); // Set texture to repeat on x-axis glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); // Set texture to repeat on y-axis @@ -1973,42 +2101,33 @@ unsigned int rlLoadTexture(void *data, int width, int height, int format, int mi // Unbind current texture glBindTexture(GL_TEXTURE_2D, 0); - if (id > 0) TraceLog(LOG_INFO, "[TEX ID %i] Texture created successfully (%ix%i - %i mipmaps)", id, width, height, mipmapCount); - else TraceLog(LOG_WARNING, "Texture could not be created"); + if (id > 0) TRACELOG(LOG_INFO, "TEXTURE: [ID %i] Texture created successfully (%ix%i - %i mipmaps)", id, width, height, mipmapCount); + else TRACELOG(LOG_WARNING, "TEXTURE: Failed to load texture"); return id; } // Load depth texture/renderbuffer (to be attached to fbo) // WARNING: OpenGL ES 2.0 requires GL_OES_depth_texture/WEBGL_depth_texture extensions -unsigned int rlLoadTextureDepth(int width, int height, int bits, bool useRenderBuffer) +unsigned int rlLoadTextureDepth(int width, int height, bool useRenderBuffer) { unsigned int id = 0; #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - unsigned int glInternalFormat = GL_DEPTH_COMPONENT16; - - if ((bits != 16) && (bits != 24) && (bits != 32)) bits = 16; + // In case depth textures not supported, we force renderbuffer usage + if (!RLGL.ExtSupported.texDepth) useRenderBuffer = true; - if (bits == 24) - { -#if defined(GRAPHICS_API_OPENGL_33) - glInternalFormat = GL_DEPTH_COMPONENT24; -#elif defined(GRAPHICS_API_OPENGL_ES2) - if (maxDepthBits >= 24) glInternalFormat = GL_DEPTH_COMPONENT24_OES; -#endif - } + // NOTE: We let the implementation to choose the best bit-depth + // Possible formats: GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32 and GL_DEPTH_COMPONENT32F + unsigned int glInternalFormat = GL_DEPTH_COMPONENT; - if (bits == 32) - { -#if defined(GRAPHICS_API_OPENGL_33) - glInternalFormat = GL_DEPTH_COMPONENT32; -#elif defined(GRAPHICS_API_OPENGL_ES2) - if (maxDepthBits == 32) glInternalFormat = GL_DEPTH_COMPONENT32_OES; +#if defined(GRAPHICS_API_OPENGL_ES2) + if (RLGL.ExtSupported.maxDepthBits == 32) glInternalFormat = GL_DEPTH_COMPONENT32_OES; + else if (RLGL.ExtSupported.maxDepthBits == 24) glInternalFormat = GL_DEPTH_COMPONENT24_OES; + else glInternalFormat = GL_DEPTH_COMPONENT16; #endif - } - if (!useRenderBuffer && texDepthSupported) + if (!useRenderBuffer && RLGL.ExtSupported.texDepth) { glGenTextures(1, &id); glBindTexture(GL_TEXTURE_2D, id); @@ -2020,6 +2139,8 @@ unsigned int rlLoadTextureDepth(int width, int height, int bits, bool useRenderB glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); glBindTexture(GL_TEXTURE_2D, 0); + + TRACELOG(LOG_INFO, "TEXTURE: Depth texture loaded successfully"); } else { @@ -2030,6 +2151,8 @@ unsigned int rlLoadTextureDepth(int width, int height, int bits, bool useRenderB glRenderbufferStorage(GL_RENDERBUFFER, glInternalFormat, width, height); glBindRenderbuffer(GL_RENDERBUFFER, 0); + + TRACELOG(LOG_INFO, "TEXTURE: [ID %i] Depth renderbuffer loaded successfully (%i bits)", id, (RLGL.ExtSupported.maxDepthBits >= 24)? RLGL.ExtSupported.maxDepthBits : 16); } #endif @@ -2037,16 +2160,17 @@ unsigned int rlLoadTextureDepth(int width, int height, int bits, bool useRenderB } // Load texture cubemap -// NOTE: Cubemap data is expected to be 6 images in a single column, +// NOTE: Cubemap data is expected to be 6 images in a single data array (one after the other), // expected the following convention: +X, -X, +Y, -Y, +Z, -Z unsigned int rlLoadTextureCubemap(void *data, int size, int format) { - unsigned int cubemapId = 0; - unsigned int dataSize = GetPixelDataSize(size, size, format); + unsigned int id = 0; #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - glGenTextures(1, &cubemapId); - glBindTexture(GL_TEXTURE_CUBE_MAP, cubemapId); + unsigned int dataSize = GetPixelDataSize(size, size, format); + + glGenTextures(1, &id); + glBindTexture(GL_TEXTURE_CUBE_MAP, id); unsigned int glInternalFormat, glFormat, glType; rlGetGlTextureFormats(format, &glInternalFormat, &glFormat, &glType); @@ -2056,10 +2180,27 @@ unsigned int rlLoadTextureCubemap(void *data, int size, int format) // Load cubemap faces for (unsigned int i = 0; i < 6; i++) { - if (format < COMPRESSED_DXT1_RGB) glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glInternalFormat, size, size, 0, glFormat, glType, (unsigned char *)data + i*dataSize); -#if !defined(GRAPHICS_API_OPENGL_11) - else glCompressedTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glInternalFormat, size, size, 0, dataSize, (unsigned char *)data + i*dataSize); -#endif + if (data == NULL) + { + if (format < COMPRESSED_DXT1_RGB) + { + if (format == UNCOMPRESSED_R32G32B32) + { + // Instead of using a sized internal texture format (GL_RGB16F, GL_RGB32F), we let the driver to choose the better format for us (GL_RGB) + if (RLGL.ExtSupported.texFloat32) glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_RGB, size, size, 0, GL_RGB, GL_FLOAT, NULL); + else TRACELOG(LOG_WARNING, "TEXTURES: Cubemap requested format not supported"); + } + else if ((format == UNCOMPRESSED_R32) || (format == UNCOMPRESSED_R32G32B32A32)) TRACELOG(LOG_WARNING, "TEXTURES: Cubemap requested format not supported"); + else glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glInternalFormat, size, size, 0, glFormat, glType, NULL); + } + else TRACELOG(LOG_WARNING, "TEXTURES: Empty cubemap creation does not support compressed format"); + } + else + { + if (format < COMPRESSED_DXT1_RGB) glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glInternalFormat, size, size, 0, glFormat, glType, (unsigned char *)data + i*dataSize); + else glCompressedTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glInternalFormat, size, size, 0, dataSize, (unsigned char *)data + i*dataSize); + } + #if defined(GRAPHICS_API_OPENGL_33) if (format == UNCOMPRESSED_GRAYSCALE) { @@ -2091,12 +2232,15 @@ unsigned int rlLoadTextureCubemap(void *data, int size, int format) glBindTexture(GL_TEXTURE_CUBE_MAP, 0); #endif - return cubemapId; + if (id > 0) TRACELOG(LOG_INFO, "TEXTURE: [ID %i] Cubemap texture created successfully (%ix%i)", id, size, size); + else TRACELOG(LOG_WARNING, "TEXTURE: Failed to load cubemap texture"); + + return id; } // Update already loaded texture in GPU with new data // NOTE: We don't know safely if internal texture format is the expected one... -void rlUpdateTexture(unsigned int id, int width, int height, int format, const void *data) +void rlUpdateTexture(unsigned int id, int offsetX, int offsetY, int width, int height, int format, const void *data) { glBindTexture(GL_TEXTURE_2D, id); @@ -2105,9 +2249,9 @@ void rlUpdateTexture(unsigned int id, int width, int height, int format, const v if ((glInternalFormat != -1) && (format < COMPRESSED_DXT1_RGB)) { - glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, width, height, glFormat, glType, (unsigned char *)data); + glTexSubImage2D(GL_TEXTURE_2D, 0, offsetX, offsetY, width, height, glFormat, glType, (unsigned char *)data); } - else TraceLog(LOG_WARNING, "Texture format updating not supported"); + else TRACELOG(LOG_WARNING, "TEXTURE: [ID %i] Failed to update for current texture format (%i)", id, format); } // Get OpenGL internal formats and data type from raylib PixelFormat @@ -2129,9 +2273,9 @@ void rlGetGlTextureFormats(int format, unsigned int *glInternalFormat, unsigned case UNCOMPRESSED_R4G4B4A4: *glInternalFormat = GL_RGBA; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_SHORT_4_4_4_4; break; case UNCOMPRESSED_R8G8B8A8: *glInternalFormat = GL_RGBA; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_BYTE; break; #if !defined(GRAPHICS_API_OPENGL_11) - case UNCOMPRESSED_R32: if (texFloatSupported) *glInternalFormat = GL_LUMINANCE; *glFormat = GL_LUMINANCE; *glType = GL_FLOAT; break; // NOTE: Requires extension OES_texture_float - case UNCOMPRESSED_R32G32B32: if (texFloatSupported) *glInternalFormat = GL_RGB; *glFormat = GL_RGB; *glType = GL_FLOAT; break; // NOTE: Requires extension OES_texture_float - case UNCOMPRESSED_R32G32B32A32: if (texFloatSupported) *glInternalFormat = GL_RGBA; *glFormat = GL_RGBA; *glType = GL_FLOAT; break; // NOTE: Requires extension OES_texture_float + case UNCOMPRESSED_R32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_LUMINANCE; *glFormat = GL_LUMINANCE; *glType = GL_FLOAT; break; // NOTE: Requires extension OES_texture_float + case UNCOMPRESSED_R32G32B32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_RGB; *glFormat = GL_RGB; *glType = GL_FLOAT; break; // NOTE: Requires extension OES_texture_float + case UNCOMPRESSED_R32G32B32A32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_RGBA; *glFormat = GL_RGBA; *glType = GL_FLOAT; break; // NOTE: Requires extension OES_texture_float #endif #elif defined(GRAPHICS_API_OPENGL_33) case UNCOMPRESSED_GRAYSCALE: *glInternalFormat = GL_R8; *glFormat = GL_RED; *glType = GL_UNSIGNED_BYTE; break; @@ -2141,100 +2285,83 @@ void rlGetGlTextureFormats(int format, unsigned int *glInternalFormat, unsigned case UNCOMPRESSED_R5G5B5A1: *glInternalFormat = GL_RGB5_A1; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_SHORT_5_5_5_1; break; case UNCOMPRESSED_R4G4B4A4: *glInternalFormat = GL_RGBA4; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_SHORT_4_4_4_4; break; case UNCOMPRESSED_R8G8B8A8: *glInternalFormat = GL_RGBA8; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_BYTE; break; - case UNCOMPRESSED_R32: if (texFloatSupported) *glInternalFormat = GL_R32F; *glFormat = GL_RED; *glType = GL_FLOAT; break; - case UNCOMPRESSED_R32G32B32: if (texFloatSupported) *glInternalFormat = GL_RGB32F; *glFormat = GL_RGB; *glType = GL_FLOAT; break; - case UNCOMPRESSED_R32G32B32A32: if (texFloatSupported) *glInternalFormat = GL_RGBA32F; *glFormat = GL_RGBA; *glType = GL_FLOAT; break; + case UNCOMPRESSED_R32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_R32F; *glFormat = GL_RED; *glType = GL_FLOAT; break; + case UNCOMPRESSED_R32G32B32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_RGB32F; *glFormat = GL_RGB; *glType = GL_FLOAT; break; + case UNCOMPRESSED_R32G32B32A32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_RGBA32F; *glFormat = GL_RGBA; *glType = GL_FLOAT; break; #endif #if !defined(GRAPHICS_API_OPENGL_11) - case COMPRESSED_DXT1_RGB: if (texCompDXTSupported) *glInternalFormat = GL_COMPRESSED_RGB_S3TC_DXT1_EXT; break; - case COMPRESSED_DXT1_RGBA: if (texCompDXTSupported) *glInternalFormat = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT; break; - case COMPRESSED_DXT3_RGBA: if (texCompDXTSupported) *glInternalFormat = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT; break; - case COMPRESSED_DXT5_RGBA: if (texCompDXTSupported) *glInternalFormat = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT; break; - case COMPRESSED_ETC1_RGB: if (texCompETC1Supported) *glInternalFormat = GL_ETC1_RGB8_OES; break; // NOTE: Requires OpenGL ES 2.0 or OpenGL 4.3 - case COMPRESSED_ETC2_RGB: if (texCompETC2Supported) *glInternalFormat = GL_COMPRESSED_RGB8_ETC2; break; // NOTE: Requires OpenGL ES 3.0 or OpenGL 4.3 - case COMPRESSED_ETC2_EAC_RGBA: if (texCompETC2Supported) *glInternalFormat = GL_COMPRESSED_RGBA8_ETC2_EAC; break; // NOTE: Requires OpenGL ES 3.0 or OpenGL 4.3 - case COMPRESSED_PVRT_RGB: if (texCompPVRTSupported) *glInternalFormat = GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG; break; // NOTE: Requires PowerVR GPU - case COMPRESSED_PVRT_RGBA: if (texCompPVRTSupported) *glInternalFormat = GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; break; // NOTE: Requires PowerVR GPU - case COMPRESSED_ASTC_4x4_RGBA: if (texCompASTCSupported) *glInternalFormat = GL_COMPRESSED_RGBA_ASTC_4x4_KHR; break; // NOTE: Requires OpenGL ES 3.1 or OpenGL 4.3 - case COMPRESSED_ASTC_8x8_RGBA: if (texCompASTCSupported) *glInternalFormat = GL_COMPRESSED_RGBA_ASTC_8x8_KHR; break; // NOTE: Requires OpenGL ES 3.1 or OpenGL 4.3 + case COMPRESSED_DXT1_RGB: if (RLGL.ExtSupported.texCompDXT) *glInternalFormat = GL_COMPRESSED_RGB_S3TC_DXT1_EXT; break; + case COMPRESSED_DXT1_RGBA: if (RLGL.ExtSupported.texCompDXT) *glInternalFormat = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT; break; + case COMPRESSED_DXT3_RGBA: if (RLGL.ExtSupported.texCompDXT) *glInternalFormat = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT; break; + case COMPRESSED_DXT5_RGBA: if (RLGL.ExtSupported.texCompDXT) *glInternalFormat = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT; break; + case COMPRESSED_ETC1_RGB: if (RLGL.ExtSupported.texCompETC1) *glInternalFormat = GL_ETC1_RGB8_OES; break; // NOTE: Requires OpenGL ES 2.0 or OpenGL 4.3 + case COMPRESSED_ETC2_RGB: if (RLGL.ExtSupported.texCompETC2) *glInternalFormat = GL_COMPRESSED_RGB8_ETC2; break; // NOTE: Requires OpenGL ES 3.0 or OpenGL 4.3 + case COMPRESSED_ETC2_EAC_RGBA: if (RLGL.ExtSupported.texCompETC2) *glInternalFormat = GL_COMPRESSED_RGBA8_ETC2_EAC; break; // NOTE: Requires OpenGL ES 3.0 or OpenGL 4.3 + case COMPRESSED_PVRT_RGB: if (RLGL.ExtSupported.texCompPVRT) *glInternalFormat = GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG; break; // NOTE: Requires PowerVR GPU + case COMPRESSED_PVRT_RGBA: if (RLGL.ExtSupported.texCompPVRT) *glInternalFormat = GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; break; // NOTE: Requires PowerVR GPU + case COMPRESSED_ASTC_4x4_RGBA: if (RLGL.ExtSupported.texCompASTC) *glInternalFormat = GL_COMPRESSED_RGBA_ASTC_4x4_KHR; break; // NOTE: Requires OpenGL ES 3.1 or OpenGL 4.3 + case COMPRESSED_ASTC_8x8_RGBA: if (RLGL.ExtSupported.texCompASTC) *glInternalFormat = GL_COMPRESSED_RGBA_ASTC_8x8_KHR; break; // NOTE: Requires OpenGL ES 3.1 or OpenGL 4.3 #endif - default: TraceLog(LOG_WARNING, "Texture format not supported"); break; + default: TRACELOG(LOG_WARNING, "TEXTURE: Current format not supported (%i)", format); break; } } // Unload texture from GPU memory void rlUnloadTexture(unsigned int id) { - if (id > 0) glDeleteTextures(1, &id); + glDeleteTextures(1, &id); } -// Load a texture to be used for rendering (fbo with default color and depth attachments) -// NOTE: If colorFormat or depthBits are no supported, no attachment is done -RenderTexture2D rlLoadRenderTexture(int width, int height, int format, int depthBits, bool useDepthTexture) +// Load a framebuffer to be used for rendering +// NOTE: No textures attached +unsigned int rlLoadFramebuffer(int width, int height) { - RenderTexture2D target = { 0 }; - -#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if (useDepthTexture && texDepthSupported) target.depthTexture = true; - - // Create the framebuffer object - glGenFramebuffers(1, &target.id); - glBindFramebuffer(GL_FRAMEBUFFER, target.id); - - // Create fbo color texture attachment - //----------------------------------------------------------------------------------------------------- - if ((format != -1) && (format < COMPRESSED_DXT1_RGB)) - { - // WARNING: Some texture formats are not supported for fbo color attachment - target.texture.id = rlLoadTexture(NULL, width, height, format, 1); - target.texture.width = width; - target.texture.height = height; - target.texture.format = format; - target.texture.mipmaps = 1; - } - //----------------------------------------------------------------------------------------------------- - - // Create fbo depth renderbuffer/texture - //----------------------------------------------------------------------------------------------------- - if (depthBits > 0) - { - target.depth.id = rlLoadTextureDepth(width, height, depthBits, !useDepthTexture); - target.depth.width = width; - target.depth.height = height; - target.depth.format = 19; //DEPTH_COMPONENT_24BIT? - target.depth.mipmaps = 1; - } - //----------------------------------------------------------------------------------------------------- - - // Attach color texture and depth renderbuffer to FBO - //----------------------------------------------------------------------------------------------------- - rlRenderTextureAttach(target, target.texture.id, 0); // COLOR attachment - rlRenderTextureAttach(target, target.depth.id, 1); // DEPTH attachment - //----------------------------------------------------------------------------------------------------- + unsigned int fboId = 0; - // Check if fbo is complete with attachments (valid) - //----------------------------------------------------------------------------------------------------- - if (rlRenderTextureComplete(target)) TraceLog(LOG_INFO, "[FBO ID %i] Framebuffer object created successfully", target.id); - //----------------------------------------------------------------------------------------------------- - - glBindFramebuffer(GL_FRAMEBUFFER, 0); +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(SUPPORT_RENDER_TEXTURES_HINT) + glGenFramebuffers(1, &fboId); // Create the framebuffer object + glBindFramebuffer(GL_FRAMEBUFFER, 0); // Unbind any framebuffer #endif - return target; + return fboId; } // Attach color buffer texture to an fbo (unloads previous attachment) // NOTE: Attach type: 0-Color, 1-Depth renderbuffer, 2-Depth texture -void rlRenderTextureAttach(RenderTexture2D target, unsigned int id, int attachType) +void rlFramebufferAttach(unsigned int fboId, unsigned int texId, int attachType, int texType) { -#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - glBindFramebuffer(GL_FRAMEBUFFER, target.id); +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(SUPPORT_RENDER_TEXTURES_HINT) + glBindFramebuffer(GL_FRAMEBUFFER, fboId); - if (attachType == 0) glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, id, 0); - else if (attachType == 1) + switch (attachType) { - if (target.depthTexture) glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, id, 0); - else glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, id); + case RL_ATTACHMENT_COLOR_CHANNEL0: + case RL_ATTACHMENT_COLOR_CHANNEL1: + case RL_ATTACHMENT_COLOR_CHANNEL2: + case RL_ATTACHMENT_COLOR_CHANNEL3: + case RL_ATTACHMENT_COLOR_CHANNEL4: + case RL_ATTACHMENT_COLOR_CHANNEL5: + case RL_ATTACHMENT_COLOR_CHANNEL6: + case RL_ATTACHMENT_COLOR_CHANNEL7: + { + if (texType == RL_ATTACHMENT_TEXTURE2D) glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + attachType, GL_TEXTURE_2D, texId, 0); + else if (texType == RL_ATTACHMENT_RENDERBUFFER) glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + attachType, GL_RENDERBUFFER, texId); + else if (texType >= RL_ATTACHMENT_CUBEMAP_POSITIVE_X) glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + attachType, GL_TEXTURE_CUBE_MAP_POSITIVE_X + texType, texId, 0); + + } break; + case RL_ATTACHMENT_DEPTH: + { + if (texType == RL_ATTACHMENT_TEXTURE2D) glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, texId, 0); + else if (texType == RL_ATTACHMENT_RENDERBUFFER) glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, texId); + + } break; + case RL_ATTACHMENT_STENCIL: + { + if (texType == RL_ATTACHMENT_TEXTURE2D) glFramebufferTexture2D(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_TEXTURE_2D, texId, 0); + else if (texType == RL_ATTACHMENT_RENDERBUFFER) glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, texId); + + } break; + default: break; } glBindFramebuffer(GL_FRAMEBUFFER, 0); @@ -2242,12 +2369,12 @@ void rlRenderTextureAttach(RenderTexture2D target, unsigned int id, int attachTy } // Verify render texture is complete -bool rlRenderTextureComplete(RenderTexture target) +bool rlFramebufferComplete(unsigned int id) { bool result = false; -#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - glBindFramebuffer(GL_FRAMEBUFFER, target.id); +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(SUPPORT_RENDER_TEXTURES_HINT) + glBindFramebuffer(GL_FRAMEBUFFER, id); GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); @@ -2255,12 +2382,12 @@ bool rlRenderTextureComplete(RenderTexture target) { switch (status) { - case GL_FRAMEBUFFER_UNSUPPORTED: TraceLog(LOG_WARNING, "Framebuffer is unsupported"); break; - case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT: TraceLog(LOG_WARNING, "Framebuffer has incomplete attachment"); break; + case GL_FRAMEBUFFER_UNSUPPORTED: TRACELOG(LOG_WARNING, "FBO: [ID %i] Framebuffer is unsupported", id); break; + case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT: TRACELOG(LOG_WARNING, "FBO: [ID %i] Framebuffer has incomplete attachment", id); break; #if defined(GRAPHICS_API_OPENGL_ES2) - case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS: TraceLog(LOG_WARNING, "Framebuffer has incomplete dimensions"); break; + case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS: TRACELOG(LOG_WARNING, "FBO: [ID %i] Framebuffer has incomplete dimensions", id); break; #endif - case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: TraceLog(LOG_WARNING, "Framebuffer has a missing attachment"); break; + case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: TRACELOG(LOG_WARNING, "FBO: [ID %i] Framebuffer has a missing attachment", id); break; default: break; } } @@ -2318,16 +2445,15 @@ void rlGenerateMipmaps(Texture2D *texture) texture->mipmaps = mipmapCount + 1; RL_FREE(data); // Once mipmaps have been generated and data has been uploaded to GPU VRAM, we can discard RAM data - TraceLog(LOG_WARNING, "[TEX ID %i] Mipmaps [%i] generated manually on CPU side", texture->id, texture->mipmaps); + TRACELOG(LOG_WARNING, "TEXTURE: [ID %i] Mipmaps generated manually on CPU side, total: %i", texture->id, texture->mipmaps); } - else TraceLog(LOG_WARNING, "[TEX ID %i] Mipmaps could not be generated for texture format", texture->id); + else TRACELOG(LOG_WARNING, "TEXTURE: [ID %i] Failed to generate mipmaps for provided texture format", texture->id); } #elif defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if ((texIsPOT) || (texNPOTSupported)) + if ((texIsPOT) || (RLGL.ExtSupported.texNPOT)) { //glHint(GL_GENERATE_MIPMAP_HINT, GL_DONT_CARE); // Hint for mipmaps generation algorythm: GL_FASTEST, GL_NICEST, GL_DONT_CARE glGenerateMipmap(GL_TEXTURE_2D); // Generate mipmaps automatically - TraceLog(LOG_INFO, "[TEX ID %i] Mipmaps generated automatically", texture->id); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); // Activate Trilinear filtering for mipmaps @@ -2336,9 +2462,10 @@ void rlGenerateMipmaps(Texture2D *texture) #define MAX(a,b) (((a)>(b))?(a):(b)) texture->mipmaps = 1 + (int)floor(log(MAX(texture->width, texture->height))/log(2)); + TRACELOG(LOG_INFO, "TEXTURE: [ID %i] Mipmaps generated automatically, total: %i", texture->id, texture->mipmaps); } #endif - else TraceLog(LOG_WARNING, "[TEX ID %i] Mipmaps can not be generated", texture->id); + else TRACELOG(LOG_WARNING, "TEXTURE: [ID %i] Failed to generate mipmaps", texture->id); glBindTexture(GL_TEXTURE_2D, 0); } @@ -2349,7 +2476,7 @@ void rlLoadMesh(Mesh *mesh, bool dynamic) if (mesh->vaoId > 0) { // Check if mesh has already been loaded in GPU - TraceLog(LOG_WARNING, "Trying to re-load an already loaded mesh"); + TRACELOG(LOG_WARNING, "VAO: [ID %i] Trying to re-load an already loaded mesh", mesh->vaoId); return; } @@ -2366,7 +2493,7 @@ void rlLoadMesh(Mesh *mesh, bool dynamic) int drawHint = GL_STATIC_DRAW; if (dynamic) drawHint = GL_DYNAMIC_DRAW; - if (vaoSupported) + if (RLGL.ExtSupported.vao) { // Initialize Quads VAO (Buffer A) glGenVertexArrays(1, &mesh->vaoId); @@ -2378,14 +2505,14 @@ void rlLoadMesh(Mesh *mesh, bool dynamic) // Enable vertex attributes: position (shader-location = 0) glGenBuffers(1, &mesh->vboId[0]); glBindBuffer(GL_ARRAY_BUFFER, mesh->vboId[0]); - glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*mesh->vertexCount, mesh->vertices, drawHint); + glBufferData(GL_ARRAY_BUFFER, mesh->vertexCount*3*sizeof(float), mesh->vertices, drawHint); glVertexAttribPointer(0, 3, GL_FLOAT, 0, 0, 0); glEnableVertexAttribArray(0); // Enable vertex attributes: texcoords (shader-location = 1) glGenBuffers(1, &mesh->vboId[1]); glBindBuffer(GL_ARRAY_BUFFER, mesh->vboId[1]); - glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*mesh->vertexCount, mesh->texcoords, drawHint); + glBufferData(GL_ARRAY_BUFFER, mesh->vertexCount*2*sizeof(float), mesh->texcoords, drawHint); glVertexAttribPointer(1, 2, GL_FLOAT, 0, 0, 0); glEnableVertexAttribArray(1); @@ -2394,7 +2521,7 @@ void rlLoadMesh(Mesh *mesh, bool dynamic) { glGenBuffers(1, &mesh->vboId[2]); glBindBuffer(GL_ARRAY_BUFFER, mesh->vboId[2]); - glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*mesh->vertexCount, mesh->normals, drawHint); + glBufferData(GL_ARRAY_BUFFER, mesh->vertexCount*3*sizeof(float), mesh->normals, drawHint); glVertexAttribPointer(2, 3, GL_FLOAT, 0, 0, 0); glEnableVertexAttribArray(2); } @@ -2410,7 +2537,7 @@ void rlLoadMesh(Mesh *mesh, bool dynamic) { glGenBuffers(1, &mesh->vboId[3]); glBindBuffer(GL_ARRAY_BUFFER, mesh->vboId[3]); - glBufferData(GL_ARRAY_BUFFER, sizeof(unsigned char)*4*mesh->vertexCount, mesh->colors, drawHint); + glBufferData(GL_ARRAY_BUFFER, mesh->vertexCount*4*sizeof(unsigned char), mesh->colors, drawHint); glVertexAttribPointer(3, 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0); glEnableVertexAttribArray(3); } @@ -2426,7 +2553,7 @@ void rlLoadMesh(Mesh *mesh, bool dynamic) { glGenBuffers(1, &mesh->vboId[4]); glBindBuffer(GL_ARRAY_BUFFER, mesh->vboId[4]); - glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*mesh->vertexCount, mesh->tangents, drawHint); + glBufferData(GL_ARRAY_BUFFER, mesh->vertexCount*4*sizeof(float), mesh->tangents, drawHint); glVertexAttribPointer(4, 4, GL_FLOAT, 0, 0, 0); glEnableVertexAttribArray(4); } @@ -2442,7 +2569,7 @@ void rlLoadMesh(Mesh *mesh, bool dynamic) { glGenBuffers(1, &mesh->vboId[5]); glBindBuffer(GL_ARRAY_BUFFER, mesh->vboId[5]); - glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*mesh->vertexCount, mesh->texcoords2, drawHint); + glBufferData(GL_ARRAY_BUFFER, mesh->vertexCount*2*sizeof(float), mesh->texcoords2, drawHint); glVertexAttribPointer(5, 2, GL_FLOAT, 0, 0, 0); glEnableVertexAttribArray(5); } @@ -2457,17 +2584,17 @@ void rlLoadMesh(Mesh *mesh, bool dynamic) { glGenBuffers(1, &mesh->vboId[6]); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, mesh->vboId[6]); - glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(unsigned short)*mesh->triangleCount*3, mesh->indices, GL_STATIC_DRAW); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, mesh->triangleCount*3*sizeof(unsigned short), mesh->indices, drawHint); } - if (vaoSupported) + if (RLGL.ExtSupported.vao) { - if (mesh->vaoId > 0) TraceLog(LOG_INFO, "[VAO ID %i] Mesh uploaded successfully to VRAM (GPU)", mesh->vaoId); - else TraceLog(LOG_WARNING, "Mesh could not be uploaded to VRAM (GPU)"); + if (mesh->vaoId > 0) TRACELOG(LOG_INFO, "VAO: [ID %i] Mesh uploaded successfully to VRAM (GPU)", mesh->vaoId); + else TRACELOG(LOG_WARNING, "VAO: Failed to load mesh to VRAM (GPU)"); } else { - TraceLog(LOG_INFO, "[VBOs] Mesh uploaded successfully to VRAM (GPU)"); + TRACELOG(LOG_INFO, "VBO: Mesh uploaded successfully to VRAM (GPU)"); } #endif } @@ -2481,7 +2608,7 @@ unsigned int rlLoadAttribBuffer(unsigned int vaoId, int shaderLoc, void *buffer, int drawHint = GL_STATIC_DRAW; if (dynamic) drawHint = GL_DYNAMIC_DRAW; - if (vaoSupported) glBindVertexArray(vaoId); + if (RLGL.ExtSupported.vao) glBindVertexArray(vaoId); glGenBuffers(1, &id); glBindBuffer(GL_ARRAY_BUFFER, id); @@ -2489,66 +2616,93 @@ unsigned int rlLoadAttribBuffer(unsigned int vaoId, int shaderLoc, void *buffer, glVertexAttribPointer(shaderLoc, 2, GL_FLOAT, 0, 0, 0); glEnableVertexAttribArray(shaderLoc); - if (vaoSupported) glBindVertexArray(0); + if (RLGL.ExtSupported.vao) glBindVertexArray(0); #endif return id; } -// Update vertex data on GPU (upload new data to one buffer) -void rlUpdateMesh(Mesh mesh, int buffer, int numVertex) +// Update vertex or index data on GPU (upload new data to one buffer) +void rlUpdateMesh(Mesh mesh, int buffer, int count) +{ + rlUpdateMeshAt(mesh, buffer, count, 0); +} + +// Update vertex or index data on GPU, at index +// WARNING: error checking is in place that will cause the data to not be +// updated if offset + size exceeds what the buffer can hold +void rlUpdateMeshAt(Mesh mesh, int buffer, int count, int index) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) // Activate mesh VAO - if (vaoSupported) glBindVertexArray(mesh.vaoId); + if (RLGL.ExtSupported.vao) glBindVertexArray(mesh.vaoId); switch (buffer) { case 0: // Update vertices (vertex position) { glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[0]); - if (numVertex >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*numVertex, mesh.vertices, GL_DYNAMIC_DRAW); - else glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*3*numVertex, mesh.vertices); + if (index == 0 && count >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, count*3*sizeof(float), mesh.vertices, GL_DYNAMIC_DRAW); + else if (index + count >= mesh.vertexCount) break; + else glBufferSubData(GL_ARRAY_BUFFER, index*3*sizeof(float), count*3*sizeof(float), mesh.vertices); } break; case 1: // Update texcoords (vertex texture coordinates) { glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[1]); - if (numVertex >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*numVertex, mesh.texcoords, GL_DYNAMIC_DRAW); - else glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*2*numVertex, mesh.texcoords); + if (index == 0 && count >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, count*2*sizeof(float), mesh.texcoords, GL_DYNAMIC_DRAW); + else if (index + count >= mesh.vertexCount) break; + else glBufferSubData(GL_ARRAY_BUFFER, index*2*sizeof(float), count*2*sizeof(float), mesh.texcoords); } break; case 2: // Update normals (vertex normals) { glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[2]); - if (numVertex >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*numVertex, mesh.normals, GL_DYNAMIC_DRAW); - else glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*3*numVertex, mesh.normals); + if (index == 0 && count >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, count*3*sizeof(float), mesh.normals, GL_DYNAMIC_DRAW); + else if (index + count >= mesh.vertexCount) break; + else glBufferSubData(GL_ARRAY_BUFFER, index*3*sizeof(float), count*3*sizeof(float), mesh.normals); } break; case 3: // Update colors (vertex colors) { glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[3]); - if (numVertex >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*numVertex, mesh.colors, GL_DYNAMIC_DRAW); - else glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(unsigned char)*4*numVertex, mesh.colors); + if (index == 0 && count >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, count*4*sizeof(unsigned char), mesh.colors, GL_DYNAMIC_DRAW); + else if (index + count >= mesh.vertexCount) break; + else glBufferSubData(GL_ARRAY_BUFFER, index*4*sizeof(unsigned char), count*4*sizeof(unsigned char), mesh.colors); } break; case 4: // Update tangents (vertex tangents) { glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[4]); - if (numVertex >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*numVertex, mesh.tangents, GL_DYNAMIC_DRAW); - else glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*4*numVertex, mesh.tangents); + if (index == 0 && count >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, count*4*sizeof(float), mesh.tangents, GL_DYNAMIC_DRAW); + else if (index + count >= mesh.vertexCount) break; + else glBufferSubData(GL_ARRAY_BUFFER, index*4*sizeof(float), count*4*sizeof(float), mesh.tangents); + } break; case 5: // Update texcoords2 (vertex second texture coordinates) { glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[5]); - if (numVertex >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*numVertex, mesh.texcoords2, GL_DYNAMIC_DRAW); - else glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*2*numVertex, mesh.texcoords2); + if (index == 0 && count >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, count*2*sizeof(float), mesh.texcoords2, GL_DYNAMIC_DRAW); + else if (index + count >= mesh.vertexCount) break; + else glBufferSubData(GL_ARRAY_BUFFER, index*2*sizeof(float), count*2*sizeof(float), mesh.texcoords2); + + } break; + case 6: // Update indices (triangle index buffer) + { + // the * 3 is because each triangle has 3 indices + unsigned short *indices = mesh.indices; + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, mesh.vboId[6]); + + if (index == 0 && count >= mesh.triangleCount) glBufferData(GL_ELEMENT_ARRAY_BUFFER, count*3*sizeof(*indices), indices, GL_DYNAMIC_DRAW); + else if (index + count >= mesh.triangleCount) break; + else glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, index*3*sizeof(*indices), count*3*sizeof(*indices), indices); + } break; default: break; } // Unbind the current VAO - if (vaoSupported) glBindVertexArray(0); + if (RLGL.ExtSupported.vao) glBindVertexArray(0); // Another option would be using buffer mapping... //mesh.vertices = glMapBuffer(GL_ARRAY_BUFFER, GL_READ_WRITE); @@ -2615,16 +2769,21 @@ void rlDrawMesh(Mesh mesh, Material material, Matrix transform) (float)material.maps[MAP_SPECULAR].color.b/255.0f, (float)material.maps[MAP_SPECULAR].color.a/255.0f); - if (material.shader.locs[LOC_MATRIX_VIEW] != -1) SetShaderValueMatrix(material.shader, material.shader.locs[LOC_MATRIX_VIEW], modelview); - if (material.shader.locs[LOC_MATRIX_PROJECTION] != -1) SetShaderValueMatrix(material.shader, material.shader.locs[LOC_MATRIX_PROJECTION], projection); + if (material.shader.locs[LOC_MATRIX_VIEW] != -1) SetShaderValueMatrix(material.shader, material.shader.locs[LOC_MATRIX_VIEW], RLGL.State.modelview); + if (material.shader.locs[LOC_MATRIX_PROJECTION] != -1) SetShaderValueMatrix(material.shader, material.shader.locs[LOC_MATRIX_PROJECTION], RLGL.State.projection); // At this point the modelview matrix just contains the view matrix (camera) // That's because BeginMode3D() sets it an no model-drawing function modifies it, all use rlPushMatrix() and rlPopMatrix() - Matrix matView = modelview; // View matrix (camera) - Matrix matProjection = projection; // Projection matrix (perspective) + Matrix matView = RLGL.State.modelview; // View matrix (camera) + Matrix matProjection = RLGL.State.projection; // Projection matrix (perspective) - // Calculate model-view matrix combining matModel and matView - Matrix matModelView = MatrixMultiply(transform, matView); // Transform to camera-space coordinates + // TODO: Consider possible transform matrices in the RLGL.State.stack + // Is this the right order? or should we start with the first stored matrix instead of the last one? + //Matrix matStackTransform = MatrixIdentity(); + //for (int i = RLGL.State.stackCounter; i > 0; i--) matStackTransform = MatrixMultiply(RLGL.State.stack[i], matStackTransform); + + // Transform to camera-space coordinates + Matrix matModelView = MatrixMultiply(transform, MatrixMultiply(RLGL.State.transform, matView)); //----------------------------------------------------- // Bind active texture maps (if available) @@ -2641,7 +2800,7 @@ void rlDrawMesh(Mesh mesh, Material material, Matrix transform) } // Bind vertex array objects (or VBOs) - if (vaoSupported) glBindVertexArray(mesh.vaoId); + if (RLGL.ExtSupported.vao) glBindVertexArray(mesh.vaoId); else { // Bind mesh VBO data: vertex position (shader-location = 0) @@ -2701,18 +2860,18 @@ void rlDrawMesh(Mesh mesh, Material material, Matrix transform) int eyesCount = 1; #if defined(SUPPORT_VR_SIMULATOR) - if (vrStereoRender) eyesCount = 2; + if (RLGL.Vr.stereoRender) eyesCount = 2; #endif for (int eye = 0; eye < eyesCount; eye++) { - if (eyesCount == 1) modelview = matModelView; + if (eyesCount == 1) RLGL.State.modelview = matModelView; #if defined(SUPPORT_VR_SIMULATOR) else SetStereoView(eye, matProjection, matModelView); #endif // Calculate model-view-projection matrix (MVP) - Matrix matMVP = MatrixMultiply(modelview, projection); // Transform to screen-space coordinates + Matrix matMVP = MatrixMultiply(RLGL.State.modelview, RLGL.State.projection); // Transform to screen-space coordinates // Send combined model-view-projection matrix to shader glUniformMatrix4fv(material.shader.locs[LOC_MATRIX_MVP], 1, false, MatrixToFloat(matMVP)); @@ -2731,7 +2890,7 @@ void rlDrawMesh(Mesh mesh, Material material, Matrix transform) } // Unind vertex array objects (or VBOs) - if (vaoSupported) glBindVertexArray(0); + if (RLGL.ExtSupported.vao) glBindVertexArray(0); else { glBindBuffer(GL_ARRAY_BUFFER, 0); @@ -2741,42 +2900,138 @@ void rlDrawMesh(Mesh mesh, Material material, Matrix transform) // Unbind shader program glUseProgram(0); - // Restore projection/modelview matrices + // Restore RLGL.State.projection/RLGL.State.modelview matrices // NOTE: In stereo rendering matrices are being modified to fit every eye - projection = matProjection; - modelview = matView; + RLGL.State.projection = matProjection; + RLGL.State.modelview = matView; #endif } -// Unload mesh data from CPU and GPU -void rlUnloadMesh(Mesh *mesh) +// Draw a 3d mesh with material and transform +void rlDrawMeshInstanced(Mesh mesh, Material material, Matrix *transforms, int count) { - RL_FREE(mesh->vertices); - RL_FREE(mesh->texcoords); - RL_FREE(mesh->normals); - RL_FREE(mesh->colors); - RL_FREE(mesh->tangents); - RL_FREE(mesh->texcoords2); - RL_FREE(mesh->indices); - - RL_FREE(mesh->animVertices); - RL_FREE(mesh->animNormals); - RL_FREE(mesh->boneWeights); - RL_FREE(mesh->boneIds); - - rlDeleteBuffers(mesh->vboId[0]); // vertex - rlDeleteBuffers(mesh->vboId[1]); // texcoords - rlDeleteBuffers(mesh->vboId[2]); // normals - rlDeleteBuffers(mesh->vboId[3]); // colors - rlDeleteBuffers(mesh->vboId[4]); // tangents - rlDeleteBuffers(mesh->vboId[5]); // texcoords2 - rlDeleteBuffers(mesh->vboId[6]); // indices - - rlDeleteVertexArrays(mesh->vaoId); -} +#if defined(GRAPHICS_API_OPENGL_33) + // Bind shader program + glUseProgram(material.shader.id); -// Read screen pixel data (color buffer) -unsigned char *rlReadScreenPixels(int width, int height) + // Upload to shader material.colDiffuse + if (material.shader.locs[LOC_COLOR_DIFFUSE] != -1) + glUniform4f(material.shader.locs[LOC_COLOR_DIFFUSE], (float)material.maps[MAP_DIFFUSE].color.r/255.0f, + (float)material.maps[MAP_DIFFUSE].color.g/255.0f, + (float)material.maps[MAP_DIFFUSE].color.b/255.0f, + (float)material.maps[MAP_DIFFUSE].color.a/255.0f); + + // Upload to shader material.colSpecular (if available) + if (material.shader.locs[LOC_COLOR_SPECULAR] != -1) + glUniform4f(material.shader.locs[LOC_COLOR_SPECULAR], (float)material.maps[MAP_SPECULAR].color.r/255.0f, + (float)material.maps[MAP_SPECULAR].color.g/255.0f, + (float)material.maps[MAP_SPECULAR].color.b/255.0f, + (float)material.maps[MAP_SPECULAR].color.a/255.0f); + + // Bind active texture maps (if available) + for (int i = 0; i < MAX_MATERIAL_MAPS; i++) + { + if (material.maps[i].texture.id > 0) + { + glActiveTexture(GL_TEXTURE0 + i); + if ((i == MAP_IRRADIANCE) || (i == MAP_PREFILTER) || (i == MAP_CUBEMAP)) + glBindTexture(GL_TEXTURE_CUBE_MAP, material.maps[i].texture.id); + else glBindTexture(GL_TEXTURE_2D, material.maps[i].texture.id); + + glUniform1i(material.shader.locs[LOC_MAP_DIFFUSE + i], i); + } + } + + // Bind vertex array objects (or VBOs) + glBindVertexArray(mesh.vaoId); + + // At this point the modelview matrix just contains the view matrix (camera) + // For instanced shaders "mvp" is not premultiplied by any instance transform, only RLGL.State.transform + glUniformMatrix4fv(material.shader.locs[LOC_MATRIX_MVP], 1, false, + MatrixToFloat(MatrixMultiply(MatrixMultiply(RLGL.State.transform, RLGL.State.modelview), RLGL.State.projection))); + + float16* instances = RL_MALLOC(count*sizeof(float16)); + + for (int i = 0; i < count; i++) instances[i] = MatrixToFloatV(transforms[i]); + + // This could alternatively use a static VBO and either glMapBuffer or glBufferSubData. + // It isn't clear which would be reliably faster in all cases and on all platforms, and + // anecdotally glMapBuffer seems very slow (syncs) while glBufferSubData seems no faster + // since we're transferring all the transform matrices anyway. + unsigned int instancesB = 0; + glGenBuffers(1, &instancesB); + glBindBuffer(GL_ARRAY_BUFFER, instancesB); + glBufferData(GL_ARRAY_BUFFER, count*sizeof(float16), instances, GL_STATIC_DRAW); + + // Instances are put in LOC_MATRIX_MODEL attribute location with space for 4x Vector4, eg: + // layout (location = 12) in mat4 instance; + unsigned int instanceA = material.shader.locs[LOC_MATRIX_MODEL]; + + for (unsigned int i = 0; i < 4; i++) + { + glEnableVertexAttribArray(instanceA+i); + glVertexAttribPointer(instanceA + i, 4, GL_FLOAT, GL_FALSE, sizeof(Matrix), (void *)(i*sizeof(Vector4))); + glVertexAttribDivisor(instanceA + i, 1); + } + + glBindBuffer(GL_ARRAY_BUFFER, 0); + + // Draw call! + if (mesh.indices != NULL) glDrawElementsInstanced(GL_TRIANGLES, mesh.triangleCount*3, GL_UNSIGNED_SHORT, 0, count); + else glDrawArraysInstanced(GL_TRIANGLES, 0, mesh.vertexCount, count); + + glDeleteBuffers(1, &instancesB); + RL_FREE(instances); + + // Unbind all binded texture maps + for (int i = 0; i < MAX_MATERIAL_MAPS; i++) + { + glActiveTexture(GL_TEXTURE0 + i); // Set shader active texture + if ((i == MAP_IRRADIANCE) || (i == MAP_PREFILTER) || (i == MAP_CUBEMAP)) glBindTexture(GL_TEXTURE_CUBE_MAP, 0); + else glBindTexture(GL_TEXTURE_2D, 0); // Unbind current active texture + } + + // Unind vertex array objects (or VBOs) + glBindVertexArray(0); + + // Unbind shader program + glUseProgram(0); + +#else + TRACELOG(LOG_ERROR, "VAO: Instanced rendering requires GRAPHICS_API_OPENGL_33"); +#endif +} + +// Unload mesh data from CPU and GPU +void rlUnloadMesh(Mesh mesh) +{ + RL_FREE(mesh.vertices); + RL_FREE(mesh.texcoords); + RL_FREE(mesh.normals); + RL_FREE(mesh.colors); + RL_FREE(mesh.tangents); + RL_FREE(mesh.texcoords2); + RL_FREE(mesh.indices); + + RL_FREE(mesh.animVertices); + RL_FREE(mesh.animNormals); + RL_FREE(mesh.boneWeights); + RL_FREE(mesh.boneIds); + +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + for (int i = 0; i < 7; i++) glDeleteBuffers(1, &mesh.vboId[i]); // DEFAULT_MESH_VERTEX_BUFFERS (model.c) + if (RLGL.ExtSupported.vao) + { + glBindVertexArray(0); + glDeleteVertexArrays(1, &mesh.vaoId); + TRACELOG(LOG_INFO, "VAO: [ID %i] Unloaded vertex data from VRAM (GPU)", mesh.vaoId); + } + else TRACELOG(LOG_INFO, "VBO: Unloaded vertex data from VRAM (GPU)"); +#endif +} + +// Read screen pixel data (color buffer) +unsigned char *rlReadScreenPixels(int width, int height) { unsigned char *screenData = (unsigned char *)RL_CALLOC(width*height*4, sizeof(unsigned char)); @@ -2785,7 +3040,7 @@ unsigned char *rlReadScreenPixels(int width, int height) glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, screenData); // Flip image vertically! - unsigned char *imgData = (unsigned char *)RL_MALLOC(width*height*sizeof(unsigned char)*4); + unsigned char *imgData = (unsigned char *)RL_MALLOC(width*height*4*sizeof(unsigned char)); for (int y = height - 1; y >= 0; y--) { @@ -2831,10 +3086,10 @@ void *rlReadTexturePixels(Texture2D texture) if ((glInternalFormat != -1) && (texture.format < COMPRESSED_DXT1_RGB)) { - pixels = (unsigned char *)RL_MALLOC(size); + pixels = RL_MALLOC(size); glGetTexImage(GL_TEXTURE_2D, 0, glFormat, glType, pixels); } - else TraceLog(LOG_WARNING, "Texture data retrieval not suported for pixel format"); + else TRACELOG(LOG_WARNING, "TEXTURE: [ID %i] Data retrieval not suported for pixel format (%i)", texture.id, texture.format); glBindTexture(GL_TEXTURE_2D, 0); #endif @@ -2847,32 +3102,24 @@ void *rlReadTexturePixels(Texture2D texture) // 2 - Create an fbo, activate it, render quad with texture, glReadPixels() // We are using Option 1, just need to care for texture format on retrieval // NOTE: This behaviour could be conditioned by graphic driver... - RenderTexture2D fbo = rlLoadRenderTexture(texture.width, texture.height, UNCOMPRESSED_R8G8B8A8, 16, false); + unsigned int fboId = rlLoadFramebuffer(texture.width, texture.height); + + // TODO: Create depth texture/renderbuffer for fbo? - glBindFramebuffer(GL_FRAMEBUFFER, fbo.id); + glBindFramebuffer(GL_FRAMEBUFFER, fboId); glBindTexture(GL_TEXTURE_2D, 0); // Attach our texture to FBO - // NOTE: Previoust attached texture is automatically detached glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, texture.id, 0); - // Allocate enough memory to read back our texture data - pixels = (unsigned char *)RL_MALLOC(GetPixelDataSize(texture.width, texture.height, texture.format)); - - // Get OpenGL internal formats and data type from our texture format - unsigned int glInternalFormat, glFormat, glType; - rlGetGlTextureFormats(texture.format, &glInternalFormat, &glFormat, &glType); - - // NOTE: We read data as RGBA because FBO texture is configured as RGBA, despite binding a RGB texture... - glReadPixels(0, 0, texture.width, texture.height, glFormat, glType, pixels); - - // Re-attach internal FBO color texture before deleting it - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, fbo.texture.id, 0); + // We read data as RGBA because FBO texture is configured as RGBA, despite binding another texture format + pixels = (unsigned char *)RL_MALLOC(GetPixelDataSize(texture.width, texture.height, UNCOMPRESSED_R8G8B8A8)); + glReadPixels(0, 0, texture.width, texture.height, GL_RGBA, GL_UNSIGNED_BYTE, pixels); glBindFramebuffer(GL_FRAMEBUFFER, 0); // Clean up temporal fbo - rlDeleteRenderTextures(fbo); + rlUnloadFramebuffer(fboId); #endif return pixels; @@ -2888,7 +3135,7 @@ Texture2D GetTextureDefault(void) { Texture2D texture = { 0 }; #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - texture.id = defaultTextureId; + texture.id = RLGL.State.defaultTextureId; texture.width = 1; texture.height = 1; texture.mipmaps = 1; @@ -2897,47 +3144,46 @@ Texture2D GetTextureDefault(void) return texture; } -// Get default shader -Shader GetShaderDefault(void) +// Get texture to draw shapes (RAII) +Texture2D GetShapesTexture(void) { -#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - return defaultShader; +#if defined(GRAPHICS_API_OPENGL_11) + Texture2D texture = { 0 }; + return texture; #else - Shader shader = { 0 }; - return shader; + return RLGL.State.shapesTexture; #endif } -// Load text data from file -// NOTE: text chars array should be freed manually -char *LoadText(const char *fileName) +// Get texture rectangle to draw shapes +Rectangle GetShapesTextureRec(void) { - FILE *textFile = NULL; - char *text = NULL; - - if (fileName != NULL) - { - textFile = fopen(fileName,"rt"); - - if (textFile != NULL) - { - fseek(textFile, 0, SEEK_END); - int size = ftell(textFile); - fseek(textFile, 0, SEEK_SET); - - if (size > 0) - { - text = (char *)RL_MALLOC(sizeof(char)*(size + 1)); - int count = fread(text, sizeof(char), size, textFile); - text[count] = '\0'; - } +#if defined(GRAPHICS_API_OPENGL_11) + Rectangle rec = { 0 }; + return rec; +#else + return RLGL.State.shapesTextureRec; +#endif +} - fclose(textFile); - } - else TraceLog(LOG_WARNING, "[%s] Text file could not be opened", fileName); - } +// Define default texture used to draw shapes +void SetShapesTexture(Texture2D texture, Rectangle source) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + RLGL.State.shapesTexture = texture; + RLGL.State.shapesTextureRec = source; +#endif +} - return text; +// Get default shader +Shader GetShaderDefault(void) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + return RLGL.State.defaultShader; +#else + Shader shader = { 0 }; + return shader; +#endif } // Load shader from files and bind default locations @@ -2946,11 +3192,13 @@ Shader LoadShader(const char *vsFileName, const char *fsFileName) { Shader shader = { 0 }; + // NOTE: Shader.locs is allocated by LoadShaderCode() + char *vShaderStr = NULL; char *fShaderStr = NULL; - if (vsFileName != NULL) vShaderStr = LoadText(vsFileName); - if (fsFileName != NULL) fShaderStr = LoadText(fsFileName); + if (vsFileName != NULL) vShaderStr = LoadFileText(vsFileName); + if (fsFileName != NULL) fShaderStr = LoadFileText(fsFileName); shader = LoadShaderCode(vShaderStr, fShaderStr); @@ -2962,32 +3210,43 @@ Shader LoadShader(const char *vsFileName, const char *fsFileName) // Load shader from code strings // NOTE: If shader string is NULL, using default vertex/fragment shaders -Shader LoadShaderCode(char *vsCode, char *fsCode) +Shader LoadShaderCode(const char *vsCode, const char *fsCode) { Shader shader = { 0 }; + shader.locs = (int *)RL_CALLOC(MAX_SHADER_LOCATIONS, sizeof(int)); // NOTE: All locations must be reseted to -1 (no location) for (int i = 0; i < MAX_SHADER_LOCATIONS; i++) shader.locs[i] = -1; #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - unsigned int vertexShaderId = defaultVShaderId; - unsigned int fragmentShaderId = defaultFShaderId; + unsigned int vertexShaderId = RLGL.State.defaultVShaderId; + unsigned int fragmentShaderId = RLGL.State.defaultFShaderId; if (vsCode != NULL) vertexShaderId = CompileShader(vsCode, GL_VERTEX_SHADER); if (fsCode != NULL) fragmentShaderId = CompileShader(fsCode, GL_FRAGMENT_SHADER); - if ((vertexShaderId == defaultVShaderId) && (fragmentShaderId == defaultFShaderId)) shader = defaultShader; + if ((vertexShaderId == RLGL.State.defaultVShaderId) && (fragmentShaderId == RLGL.State.defaultFShaderId)) shader = RLGL.State.defaultShader; else { shader.id = LoadShaderProgram(vertexShaderId, fragmentShaderId); - if (vertexShaderId != defaultVShaderId) glDeleteShader(vertexShaderId); - if (fragmentShaderId != defaultFShaderId) glDeleteShader(fragmentShaderId); + if (vertexShaderId != RLGL.State.defaultVShaderId) + { + // Detach shader before deletion to make sure memory is freed + glDetachShader(shader.id, vertexShaderId); + glDeleteShader(vertexShaderId); + } + if (fragmentShaderId != RLGL.State.defaultFShaderId) + { + // Detach shader before deletion to make sure memory is freed + glDetachShader(shader.id, fragmentShaderId); + glDeleteShader(fragmentShaderId); + } if (shader.id == 0) { - TraceLog(LOG_WARNING, "Custom shader could not be loaded"); - shader = defaultShader; + TRACELOG(LOG_WARNING, "SHADER: Failed to load custom shader code"); + shader = RLGL.State.defaultShader; } // After shader loading, we TRY to set default location names @@ -3000,7 +3259,7 @@ Shader LoadShaderCode(char *vsCode, char *fsCode) glGetProgramiv(shader.id, GL_ACTIVE_UNIFORMS, &uniformCount); - for(int i = 0; i < uniformCount; i++) + for (int i = 0; i < uniformCount; i++) { int namelen = -1; int num = -1; @@ -3008,14 +3267,11 @@ Shader LoadShaderCode(char *vsCode, char *fsCode) GLenum type = GL_ZERO; // Get the name of the uniforms - glGetActiveUniform(shader.id, i,sizeof(name) - 1, &namelen, &num, &type, name); + glGetActiveUniform(shader.id, i, sizeof(name) - 1, &namelen, &num, &type, name); name[namelen] = 0; - // Get the location of the named uniform - unsigned int location = glGetUniformLocation(shader.id, name); - - TraceLog(LOG_DEBUG, "[SHDR ID %i] Active uniform [%s] set at location: %i", shader.id, name, location); + TRACELOGD("SHADER: [ID %i] Active uniform (%s) set at location: %i", shader.id, name, glGetUniformLocation(shader.id, name)); } #endif @@ -3025,21 +3281,25 @@ Shader LoadShaderCode(char *vsCode, char *fsCode) // Unload shader from GPU memory (VRAM) void UnloadShader(Shader shader) { - if (shader.id > 0) +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + if (shader.id != RLGL.State.defaultShader.id) { - rlDeleteShader(shader.id); - TraceLog(LOG_INFO, "[SHDR ID %i] Unloaded shader program data", shader.id); + glDeleteProgram(shader.id); + RL_FREE(shader.locs); + + TRACELOG(LOG_INFO, "SHADER: [ID %i] Unloaded shader program data from VRAM (GPU)", shader.id); } +#endif } // Begin custom shader mode void BeginShaderMode(Shader shader) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if (currentShader.id != shader.id) + if (RLGL.State.currentShader.id != shader.id) { - rlglDraw(); - currentShader = shader; + DrawRenderBatch(RLGL.currentBatch); + RLGL.State.currentShader = shader; } #endif } @@ -3048,7 +3308,7 @@ void BeginShaderMode(Shader shader) void EndShaderMode(void) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - BeginShaderMode(defaultShader); + BeginShaderMode(RLGL.State.defaultShader); #endif } @@ -3059,8 +3319,21 @@ int GetShaderLocation(Shader shader, const char *uniformName) #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) location = glGetUniformLocation(shader.id, uniformName); - if (location == -1) TraceLog(LOG_WARNING, "[SHDR ID %i][%s] Shader uniform could not be found", shader.id, uniformName); - else TraceLog(LOG_INFO, "[SHDR ID %i][%s] Shader uniform set at location: %i", shader.id, uniformName, location); + if (location == -1) TRACELOG(LOG_WARNING, "SHADER: [ID %i] Failed to find shader uniform: %s", shader.id, uniformName); + else TRACELOG(LOG_INFO, "SHADER: [ID %i] Shader uniform (%s) set at location: %i", shader.id, uniformName, location); +#endif + return location; +} + +// Get shader attribute location +int GetShaderLocationAttrib(Shader shader, const char *attribName) +{ + int location = -1; +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + location = glGetAttribLocation(shader.id, attribName); + + if (location == -1) TRACELOG(LOG_WARNING, "SHADER: [ID %i] Failed to find shader attribute: %s", shader.id, attribName); + else TRACELOG(LOG_INFO, "SHADER: [ID %i] Shader attribute (%s) set at location: %i", shader.id, attribName, location); #endif return location; } @@ -3088,7 +3361,7 @@ void SetShaderValueV(Shader shader, int uniformLoc, const void *value, int unifo case UNIFORM_IVEC3: glUniform3iv(uniformLoc, count, (int *)value); break; case UNIFORM_IVEC4: glUniform4iv(uniformLoc, count, (int *)value); break; case UNIFORM_SAMPLER2D: glUniform1iv(uniformLoc, count, (int *)value); break; - default: TraceLog(LOG_WARNING, "Shader uniform could not be set data type not recognized"); + default: TRACELOG(LOG_WARNING, "SHADER: [ID %i] Failed to set uniform, data type not recognized", shader.id); } //glUseProgram(0); // Avoid reseting current shader program, in case other uniforms are set @@ -3114,127 +3387,154 @@ void SetShaderValueTexture(Shader shader, int uniformLoc, Texture2D texture) #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) glUseProgram(shader.id); - glUniform1i(uniformLoc, texture.id); + // Check if texture is already active + for (int i = 0; i < MAX_BATCH_ACTIVE_TEXTURES; i++) if (RLGL.State.activeTextureId[i] == texture.id) return; + + // Register a new active texture for the internal batch system + // NOTE: Default texture is always activated as GL_TEXTURE0 + for (int i = 0; i < MAX_BATCH_ACTIVE_TEXTURES; i++) + { + if (RLGL.State.activeTextureId[i] == 0) + { + glUniform1i(uniformLoc, 1 + i); // Activate new texture unit + RLGL.State.activeTextureId[i] = texture.id; // Save texture id for binding on drawing + break; + } + } //glUseProgram(0); #endif } // Set a custom projection matrix (replaces internal projection matrix) -void SetMatrixProjection(Matrix proj) +void SetMatrixProjection(Matrix projection) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - projection = proj; + RLGL.State.projection = projection; #endif } +// Return internal projection matrix +Matrix GetMatrixProjection(void) { +#if defined(GRAPHICS_API_OPENGL_11) + float mat[16]; + glGetFloatv(GL_PROJECTION_MATRIX,mat); + Matrix m; + m.m0 = mat[0]; m.m1 = mat[1]; m.m2 = mat[2]; m.m3 = mat[3]; + m.m4 = mat[4]; m.m5 = mat[5]; m.m6 = mat[6]; m.m7 = mat[7]; + m.m8 = mat[8]; m.m9 = mat[9]; m.m10 = mat[10]; m.m11 = mat[11]; + m.m12 = mat[12]; m.m13 = mat[13]; m.m14 = mat[14]; m.m15 = mat[15]; + return m; +#else + return RLGL.State.projection; +#endif +# +} + // Set a custom modelview matrix (replaces internal modelview matrix) void SetMatrixModelview(Matrix view) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - modelview = view; + RLGL.State.modelview = view; #endif } // Return internal modelview matrix -Matrix GetMatrixModelview() +Matrix GetMatrixModelview(void) { Matrix matrix = MatrixIdentity(); #if defined(GRAPHICS_API_OPENGL_11) float mat[16]; glGetFloatv(GL_MODELVIEW_MATRIX, mat); + matrix.m0 = mat[0]; matrix.m1 = mat[1]; matrix.m2 = mat[2]; matrix.m3 = mat[3]; + matrix.m4 = mat[4]; matrix.m5 = mat[5]; matrix.m6 = mat[6]; matrix.m7 = mat[7]; + matrix.m8 = mat[8]; matrix.m9 = mat[9]; matrix.m10 = mat[10]; matrix.m11 = mat[11]; + matrix.m12 = mat[12]; matrix.m13 = mat[13]; matrix.m14 = mat[14]; matrix.m15 = mat[15]; #else - matrix = modelview; + matrix = RLGL.State.modelview; #endif return matrix; } // Generate cubemap texture from HDR texture -// TODO: OpenGL ES 2.0 does not support GL_RGB16F texture format, neither GL_DEPTH_COMPONENT24 -Texture2D GenTextureCubemap(Shader shader, Texture2D skyHDR, int size) +TextureCubemap GenTextureCubemap(Shader shader, Texture2D panorama, int size, int format) { - Texture2D cubemap = { 0 }; + TextureCubemap cubemap = { 0 }; #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - // NOTE: SetShaderDefaultLocations() already setups locations for projection and view Matrix in shader - // Other locations should be setup externally in shader before calling the function + rlDisableBackfaceCulling(); // Disable backface culling to render inside the cube - // Set up depth face culling and cubemap seamless - glDisable(GL_CULL_FACE); -#if defined(GRAPHICS_API_OPENGL_33) - glEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS); // Flag not supported on OpenGL ES 2.0 -#endif + // STEP 1: Setup framebuffer + //------------------------------------------------------------------------------------------ + unsigned int rbo = rlLoadTextureDepth(size, size, true); + cubemap.id = rlLoadTextureCubemap(NULL, size, format); - // Setup framebuffer - unsigned int fbo, rbo; - glGenFramebuffers(1, &fbo); - glGenRenderbuffers(1, &rbo); - glBindFramebuffer(GL_FRAMEBUFFER, fbo); - glBindRenderbuffer(GL_RENDERBUFFER, rbo); -#if defined(GRAPHICS_API_OPENGL_33) - glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, size, size); -#elif defined(GRAPHICS_API_OPENGL_ES2) - glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, size, size); -#endif - glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, rbo); + unsigned int fbo = rlLoadFramebuffer(size, size); + rlFramebufferAttach(fbo, rbo, RL_ATTACHMENT_DEPTH, RL_ATTACHMENT_RENDERBUFFER); + rlFramebufferAttach(fbo, cubemap.id, RL_ATTACHMENT_COLOR_CHANNEL0, RL_ATTACHMENT_CUBEMAP_POSITIVE_X); - // Set up cubemap to render and attach to framebuffer - // NOTE: Faces are stored as 32 bit floating point values - glGenTextures(1, &cubemap.id); - glBindTexture(GL_TEXTURE_CUBE_MAP, cubemap.id); - for (unsigned int i = 0; i < 6; i++) - { -#if defined(GRAPHICS_API_OPENGL_33) - glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_RGB32F, size, size, 0, GL_RGB, GL_FLOAT, NULL); -#elif defined(GRAPHICS_API_OPENGL_ES2) - if (texFloatSupported) glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_RGB, size, size, 0, GL_RGB, GL_FLOAT, NULL); -#endif - } + // Check if framebuffer is complete with attachments (valid) + if (rlFramebufferComplete(fbo)) TRACELOG(LOG_INFO, "FBO: [ID %i] Framebuffer object created successfully", fbo); + //------------------------------------------------------------------------------------------ - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); -#if defined(GRAPHICS_API_OPENGL_33) - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE); // Flag not supported on OpenGL ES 2.0 -#endif - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + // STEP 2: Draw to framebuffer + //------------------------------------------------------------------------------------------ + // NOTE: Shader is used to convert HDR equirectangular environment map to cubemap equivalent (6 faces) - // Create projection and different views for each face - Matrix fboProjection = MatrixPerspective(90.0*DEG2RAD, 1.0, 0.01, 1000.0); + // Define projection matrix and send it to shader + Matrix fboProjection = MatrixPerspective(90.0*DEG2RAD, 1.0, RL_CULL_DISTANCE_NEAR, RL_CULL_DISTANCE_FAR); + SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_PROJECTION], fboProjection); + + // Define view matrix for every side of the cubemap Matrix fboViews[6] = { - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ -1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }) + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ -1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }) }; - // Convert HDR equirectangular environment map to cubemap equivalent - glUseProgram(shader.id); + rlEnableShader(shader.id); +#if !defined(GENTEXTURECUBEMAP_USE_BATCH_SYSTEM) glActiveTexture(GL_TEXTURE0); - glBindTexture(GL_TEXTURE_2D, skyHDR.id); - SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_PROJECTION], fboProjection); + glBindTexture(GL_TEXTURE_2D, panorama.id); +#endif - // Note: don't forget to configure the viewport to the capture dimensions - glViewport(0, 0, size, size); - glBindFramebuffer(GL_FRAMEBUFFER, fbo); + rlViewport(0, 0, size, size); // Set viewport to current fbo dimensions for (int i = 0; i < 6; i++) { SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_VIEW], fboViews[i]); - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, cubemap.id, 0); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + rlFramebufferAttach(fbo, cubemap.id, RL_ATTACHMENT_COLOR_CHANNEL0, RL_ATTACHMENT_CUBEMAP_POSITIVE_X + i); + + rlEnableFramebuffer(fbo); +#if defined(GENTEXTURECUBEMAP_USE_BATCH_SYSTEM) + rlEnableTexture(panorama.id); // WARNING: It must be called after enabling current framebuffer if using internal batch system! +#endif + rlClearScreenBuffers(); GenDrawCube(); + +#if defined(GENTEXTURECUBEMAP_USE_BATCH_SYSTEM) + // Using internal batch system instead of raw OpenGL cube creating+drawing + // NOTE: DrawCubeV() is actually provided by models.c! -> GenTextureCubemap() should be moved to user code! + DrawCubeV(Vector3Zero(), Vector3One(), WHITE); + DrawRenderBatch(RLGL.currentBatch); +#endif } + //------------------------------------------------------------------------------------------ - // Unbind framebuffer and textures - glBindFramebuffer(GL_FRAMEBUFFER, 0); + // STEP 3: Unload framebuffer and reset state + //------------------------------------------------------------------------------------------ + rlDisableShader(); // Unbind shader + rlDisableTexture(); // Unbind texture + rlDisableFramebuffer(); // Unbind framebuffer + rlUnloadFramebuffer(fbo); // Unload framebuffer (and automatically attached depth texture/renderbuffer) // Reset viewport dimensions to default - glViewport(0, 0, screenWidth, screenHeight); - //glEnable(GL_CULL_FACE); + rlViewport(0, 0, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight); + //rlEnableBackfaceCulling(); + //------------------------------------------------------------------------------------------ - // NOTE: Texture2D is a GL_TEXTURE_CUBE_MAP, not a GL_TEXTURE_2D! cubemap.width = size; cubemap.height = size; cubemap.mipmaps = 1; @@ -3244,137 +3544,127 @@ Texture2D GenTextureCubemap(Shader shader, Texture2D skyHDR, int size) } // Generate irradiance texture using cubemap data -// TODO: OpenGL ES 2.0 does not support GL_RGB16F texture format, neither GL_DEPTH_COMPONENT24 -Texture2D GenTextureIrradiance(Shader shader, Texture2D cubemap, int size) +TextureCubemap GenTextureIrradiance(Shader shader, TextureCubemap cubemap, int size) { - Texture2D irradiance = { 0 }; + TextureCubemap irradiance = { 0 }; -#if defined(GRAPHICS_API_OPENGL_33) // || defined(GRAPHICS_API_OPENGL_ES2) - // NOTE: SetShaderDefaultLocations() already setups locations for projection and view Matrix in shader - // Other locations should be setup externally in shader before calling the function - - // Setup framebuffer - unsigned int fbo, rbo; - glGenFramebuffers(1, &fbo); - glGenRenderbuffers(1, &rbo); - glBindFramebuffer(GL_FRAMEBUFFER, fbo); - glBindRenderbuffer(GL_RENDERBUFFER, rbo); - glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, size, size); - glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, rbo); - - // Create an irradiance cubemap, and re-scale capture FBO to irradiance scale - glGenTextures(1, &irradiance.id); - glBindTexture(GL_TEXTURE_CUBE_MAP, irradiance.id); - for (unsigned int i = 0; i < 6; i++) - { - glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_RGB16F, size, size, 0, GL_RGB, GL_FLOAT, NULL); - } +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + rlDisableBackfaceCulling(); // Disable backface culling to render inside the cube - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE); - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + // STEP 1: Setup framebuffer + //------------------------------------------------------------------------------------------ + unsigned int rbo = rlLoadTextureDepth(size, size, true); + irradiance.id = rlLoadTextureCubemap(NULL, size, UNCOMPRESSED_R32G32B32); + + unsigned int fbo = rlLoadFramebuffer(size, size); + rlFramebufferAttach(fbo, rbo, RL_ATTACHMENT_DEPTH, RL_ATTACHMENT_RENDERBUFFER); + rlFramebufferAttach(fbo, cubemap.id, RL_ATTACHMENT_COLOR_CHANNEL0, RL_ATTACHMENT_CUBEMAP_POSITIVE_X); + //------------------------------------------------------------------------------------------ - // Create projection (transposed) and different views for each face - Matrix fboProjection = MatrixPerspective(90.0*DEG2RAD, 1.0, 0.01, 1000.0); + // STEP 2: Draw to framebuffer + //------------------------------------------------------------------------------------------ + // NOTE: Shader is used to solve diffuse integral by convolution to create an irradiance cubemap + + // Define projection matrix and send it to shader + Matrix fboProjection = MatrixPerspective(90.0*DEG2RAD, 1.0, RL_CULL_DISTANCE_NEAR, RL_CULL_DISTANCE_FAR); + SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_PROJECTION], fboProjection); + + // Define view matrix for every side of the cubemap Matrix fboViews[6] = { - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ -1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }) + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ -1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }) }; - // Solve diffuse integral by convolution to create an irradiance cubemap - glUseProgram(shader.id); + rlEnableShader(shader.id); glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_CUBE_MAP, cubemap.id); - SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_PROJECTION], fboProjection); - // Note: don't forget to configure the viewport to the capture dimensions - glViewport(0, 0, size, size); - glBindFramebuffer(GL_FRAMEBUFFER, fbo); + rlViewport(0, 0, size, size); // Set viewport to current fbo dimensions for (int i = 0; i < 6; i++) { SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_VIEW], fboViews[i]); - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, irradiance.id, 0); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + rlFramebufferAttach(fbo, irradiance.id, RL_ATTACHMENT_COLOR_CHANNEL0, RL_ATTACHMENT_CUBEMAP_POSITIVE_X + i); + + rlEnableFramebuffer(fbo); + rlClearScreenBuffers(); GenDrawCube(); } + //------------------------------------------------------------------------------------------ - // Unbind framebuffer and textures - glBindFramebuffer(GL_FRAMEBUFFER, 0); + // STEP 3: Unload framebuffer and reset state + //------------------------------------------------------------------------------------------ + rlDisableShader(); // Unbind shader + rlDisableTexture(); // Unbind texture + rlDisableFramebuffer(); // Unbind framebuffer + rlUnloadFramebuffer(fbo); // Unload framebuffer (and automatically attached depth texture/renderbuffer) // Reset viewport dimensions to default - glViewport(0, 0, screenWidth, screenHeight); + rlViewport(0, 0, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight); + //rlEnableBackfaceCulling(); + //------------------------------------------------------------------------------------------ irradiance.width = size; irradiance.height = size; irradiance.mipmaps = 1; - //irradiance.format = UNCOMPRESSED_R16G16B16; + irradiance.format = UNCOMPRESSED_R32G32B32; #endif return irradiance; } // Generate prefilter texture using cubemap data -// TODO: OpenGL ES 2.0 does not support GL_RGB16F texture format, neither GL_DEPTH_COMPONENT24 -Texture2D GenTexturePrefilter(Shader shader, Texture2D cubemap, int size) +TextureCubemap GenTexturePrefilter(Shader shader, TextureCubemap cubemap, int size) { - Texture2D prefilter = { 0 }; + TextureCubemap prefilter = { 0 }; #if defined(GRAPHICS_API_OPENGL_33) // || defined(GRAPHICS_API_OPENGL_ES2) - // NOTE: SetShaderDefaultLocations() already setups locations for projection and view Matrix in shader - // Other locations should be setup externally in shader before calling the function - // TODO: Locations should be taken out of this function... too shader dependant... - int roughnessLoc = GetShaderLocation(shader, "roughness"); + rlDisableBackfaceCulling(); // Disable backface culling to render inside the cube - // Setup framebuffer - unsigned int fbo, rbo; - glGenFramebuffers(1, &fbo); - glGenRenderbuffers(1, &rbo); - glBindFramebuffer(GL_FRAMEBUFFER, fbo); - glBindRenderbuffer(GL_RENDERBUFFER, rbo); - glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, size, size); - glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, rbo); - - // Create a prefiltered HDR environment map - glGenTextures(1, &prefilter.id); - glBindTexture(GL_TEXTURE_CUBE_MAP, prefilter.id); - for (unsigned int i = 0; i < 6; i++) - { - glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_RGB16F, size, size, 0, GL_RGB, GL_FLOAT, NULL); - } + // STEP 1: Setup framebuffer + //------------------------------------------------------------------------------------------ + unsigned int rbo = rlLoadTextureDepth(size, size, true); + prefilter.id = rlLoadTextureCubemap(NULL, size, UNCOMPRESSED_R32G32B32); + rlTextureParameters(prefilter.id, RL_TEXTURE_MIN_FILTER, RL_FILTER_MIP_LINEAR); - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE); - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + unsigned int fbo = rlLoadFramebuffer(size, size); + rlFramebufferAttach(fbo, rbo, RL_ATTACHMENT_DEPTH, RL_ATTACHMENT_RENDERBUFFER); + rlFramebufferAttach(fbo, cubemap.id, RL_ATTACHMENT_COLOR_CHANNEL0, RL_ATTACHMENT_CUBEMAP_POSITIVE_X); + //------------------------------------------------------------------------------------------ // Generate mipmaps for the prefiltered HDR texture glGenerateMipmap(GL_TEXTURE_CUBE_MAP); + //rlGenerateMipmaps(Texture2D *texture); // Only GL_TEXTURE_2D - // Create projection (transposed) and different views for each face - Matrix fboProjection = MatrixPerspective(90.0*DEG2RAD, 1.0, 0.01, 1000.0); + // STEP 2: Draw to framebuffer + //------------------------------------------------------------------------------------------ + // NOTE: Shader is used to prefilter HDR and store data into mipmap levels + + // Define projection matrix and send it to shader + Matrix fboProjection = MatrixPerspective(90.0*DEG2RAD, 1.0, RL_CULL_DISTANCE_NEAR, RL_CULL_DISTANCE_FAR); + SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_PROJECTION], fboProjection); + + // Define view matrix for every side of the cubemap Matrix fboViews[6] = { - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ -1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }) + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ -1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }) }; - // Prefilter HDR and store data into mipmap levels - glUseProgram(shader.id); + rlEnableShader(shader.id); glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_CUBE_MAP, cubemap.id); - SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_PROJECTION], fboProjection); - glBindFramebuffer(GL_FRAMEBUFFER, fbo); + // TODO: Locations should be taken out of this function... too shader dependant... + int roughnessLoc = GetShaderLocation(shader, "roughness"); + + rlEnableFramebuffer(fbo); #define MAX_MIPMAP_LEVELS 5 // Max number of prefilter texture mipmaps @@ -3384,9 +3674,10 @@ Texture2D GenTexturePrefilter(Shader shader, Texture2D cubemap, int size) unsigned int mipWidth = size*(int)powf(0.5f, (float)mip); unsigned int mipHeight = size*(int)powf(0.5f, (float)mip); + rlViewport(0, 0, mipWidth, mipHeight); + glBindRenderbuffer(GL_RENDERBUFFER, rbo); glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, mipWidth, mipHeight); - glViewport(0, 0, mipWidth, mipHeight); float roughness = (float)mip/(float)(MAX_MIPMAP_LEVELS - 1); glUniform1f(roughnessLoc, roughness); @@ -3395,73 +3686,74 @@ Texture2D GenTexturePrefilter(Shader shader, Texture2D cubemap, int size) { SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_VIEW], fboViews[i]); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, prefilter.id, mip); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + //rlFramebufferAttach(fbo, irradiance.id, RL_ATTACHMENT_COLOR_CHANNEL0, RL_ATTACHMENT_CUBEMAP_POSITIVE_X + i); // TODO: Support mip levels? + + rlEnableFramebuffer(fbo); + rlClearScreenBuffers(); GenDrawCube(); } } + //------------------------------------------------------------------------------------------ - // Unbind framebuffer and textures - glBindFramebuffer(GL_FRAMEBUFFER, 0); + // STEP 3: Unload framebuffer and reset state + //------------------------------------------------------------------------------------------ + rlDisableShader(); // Unbind shader + rlDisableTexture(); // Unbind texture + rlDisableFramebuffer(); // Unbind framebuffer + rlUnloadFramebuffer(fbo); // Unload framebuffer (and automatically attached depth texture/renderbuffer) // Reset viewport dimensions to default - glViewport(0, 0, screenWidth, screenHeight); + rlViewport(0, 0, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight); + //rlEnableBackfaceCulling(); + //------------------------------------------------------------------------------------------ prefilter.width = size; prefilter.height = size; - //prefilter.mipmaps = 1 + (int)floor(log(size)/log(2)); - //prefilter.format = UNCOMPRESSED_R16G16B16; + //prefilter.mipmaps = 1 + (int)floor(log(size)/log(2)); // MAX_MIPMAP_LEVELS + //prefilter.format = UNCOMPRESSED_R32G32B32; #endif return prefilter; } // Generate BRDF texture using cubemap data -// NOTE: OpenGL ES 2.0 does not support GL_RGB16F texture format, neither GL_DEPTH_COMPONENT24 // TODO: Review implementation: https://github.com/HectorMF/BRDFGenerator Texture2D GenTextureBRDF(Shader shader, int size) { Texture2D brdf = { 0 }; #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - // Generate BRDF convolution texture - glGenTextures(1, &brdf.id); - glBindTexture(GL_TEXTURE_2D, brdf.id); -#if defined(GRAPHICS_API_OPENGL_33) - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB32F, size, size, 0, GL_RGB, GL_FLOAT, NULL); -#elif defined(GRAPHICS_API_OPENGL_ES2) - if (texFloatSupported) glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, size, size, 0, GL_RGB, GL_FLOAT, NULL); -#endif + // STEP 1: Setup framebuffer + //------------------------------------------------------------------------------------------ + unsigned int rbo = rlLoadTextureDepth(size, size, true); + brdf.id = rlLoadTexture(NULL, size, size, UNCOMPRESSED_R32G32B32, 1); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + unsigned int fbo = rlLoadFramebuffer(size, size); + rlFramebufferAttach(fbo, rbo, RL_ATTACHMENT_DEPTH, RL_ATTACHMENT_RENDERBUFFER); + rlFramebufferAttach(fbo, brdf.id, RL_ATTACHMENT_COLOR_CHANNEL0, RL_ATTACHMENT_TEXTURE2D); + //------------------------------------------------------------------------------------------ - // Render BRDF LUT into a quad using FBO - unsigned int fbo, rbo; - glGenFramebuffers(1, &fbo); - glGenRenderbuffers(1, &rbo); - glBindFramebuffer(GL_FRAMEBUFFER, fbo); - glBindRenderbuffer(GL_RENDERBUFFER, rbo); -#if defined(GRAPHICS_API_OPENGL_33) - glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, size, size); -#elif defined(GRAPHICS_API_OPENGL_ES2) - glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, size, size); -#endif - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, brdf.id, 0); + // STEP 2: Draw to framebuffer + //------------------------------------------------------------------------------------------ + // NOTE: Render BRDF LUT into a quad using FBO - glViewport(0, 0, size, size); - glUseProgram(shader.id); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - GenDrawQuad(); + rlEnableShader(shader.id); - // Unbind framebuffer and textures - glBindFramebuffer(GL_FRAMEBUFFER, 0); + rlViewport(0, 0, size, size); + + rlEnableFramebuffer(fbo); + rlClearScreenBuffers(); + GenDrawQuad(); + //------------------------------------------------------------------------------------------ - // Unload framebuffer but keep color texture - glDeleteRenderbuffers(1, &rbo); - glDeleteFramebuffers(1, &fbo); + // STEP 3: Unload framebuffer and reset state + //------------------------------------------------------------------------------------------ + rlDisableShader(); // Unbind shader + rlDisableTexture(); // Unbind texture + rlDisableFramebuffer(); // Unbind framebuffer + rlUnloadFramebuffer(fbo); // Unload framebuffer (and automatically attached depth texture/renderbuffer) // Reset viewport dimensions to default - glViewport(0, 0, screenWidth, screenHeight); + rlViewport(0, 0, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight); + //------------------------------------------------------------------------------------------ brdf.width = size; brdf.height = size; @@ -3475,20 +3767,25 @@ Texture2D GenTextureBRDF(Shader shader, int size) // NOTE: Only 3 blending modes supported, default blend mode is alpha void BeginBlendMode(int mode) { - if ((blendMode != mode) && (mode < 3)) +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + if (RLGL.State.currentBlendMode != mode) { - rlglDraw(); + DrawRenderBatch(RLGL.currentBatch); switch (mode) { - case BLEND_ALPHA: glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); break; - case BLEND_ADDITIVE: glBlendFunc(GL_SRC_ALPHA, GL_ONE); break; // Alternative: glBlendFunc(GL_ONE, GL_ONE); - case BLEND_MULTIPLIED: glBlendFunc(GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA); break; + case BLEND_ALPHA: glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glBlendEquation(GL_FUNC_ADD); break; + case BLEND_ADDITIVE: glBlendFunc(GL_SRC_ALPHA, GL_ONE); glBlendEquation(GL_FUNC_ADD); break; + case BLEND_MULTIPLIED: glBlendFunc(GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA); glBlendEquation(GL_FUNC_ADD); break; + case BLEND_ADD_COLORS: glBlendFunc(GL_ONE, GL_ONE); glBlendEquation(GL_FUNC_ADD); break; + case BLEND_SUBTRACT_COLORS: glBlendFunc(GL_ONE, GL_ONE); glBlendEquation(GL_FUNC_SUBTRACT); break; + case BLEND_CUSTOM: glBlendFunc(RLGL.State.glBlendSrcFactor, RLGL.State.glBlendDstFactor); glBlendEquation(RLGL.State.glBlendEquation); break; default: break; } - blendMode = mode; + RLGL.State.currentBlendMode = mode; } +#endif } // End blending mode (reset to default: alpha blending) @@ -3497,37 +3794,27 @@ void EndBlendMode(void) BeginBlendMode(BLEND_ALPHA); } -// Begin scissor mode (define screen area for following drawing) -// NOTE: Scissor rec refers to bottom-left corner, we change it to upper-left -void BeginScissorMode(int x, int y, int width, int height) -{ - rlglDraw(); // Force drawing elements - - glEnable(GL_SCISSOR_TEST); - glScissor(x, screenHeight - (y + height), width, height); -} - -// End scissor mode -void EndScissorMode(void) -{ - rlglDraw(); // Force drawing elements - - glDisable(GL_SCISSOR_TEST); -} - #if defined(SUPPORT_VR_SIMULATOR) // Init VR simulator for selected device parameters -// NOTE: It modifies the global variable: stereoFbo +// NOTE: It modifies the global variable: RLGL.Vr.stereoFboId void InitVrSimulator(void) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) // Initialize framebuffer and textures for stereo rendering // NOTE: Screen size should match HMD aspect ratio - stereoFbo = rlLoadRenderTexture(screenWidth, screenHeight, UNCOMPRESSED_R8G8B8A8, 24, false); + RLGL.Vr.stereoFboId = rlLoadFramebuffer(RLGL.State.framebufferWidth, RLGL.State.framebufferHeight); + + // Load color/depth textures to attach to framebuffer + RLGL.Vr.stereoTexId = rlLoadTexture(NULL, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight, UNCOMPRESSED_R8G8B8A8, 1); + unsigned int depthId = rlLoadTextureDepth(RLGL.State.framebufferWidth, RLGL.State.framebufferHeight, true); - vrSimulatorReady = true; + // Attach color texture and depth renderbuffer/texture to FBO + rlFramebufferAttach(RLGL.Vr.stereoFboId, RLGL.Vr.stereoTexId, RL_ATTACHMENT_COLOR_CHANNEL0, RL_ATTACHMENT_TEXTURE2D); + rlFramebufferAttach(RLGL.Vr.stereoFboId, depthId, RL_ATTACHMENT_DEPTH, RL_ATTACHMENT_RENDERBUFFER); + + RLGL.Vr.simulatorReady = true; #else - TraceLog(LOG_WARNING, "VR Simulator not supported on OpenGL 1.1"); + TRACELOG(LOG_WARNING, "RLGL: VR Simulator not supported on OpenGL 1.1"); #endif } @@ -3542,7 +3829,11 @@ void UpdateVrTracking(Camera *camera) void CloseVrSimulator(void) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if (vrSimulatorReady) rlDeleteRenderTextures(stereoFbo); // Unload stereo framebuffer and texture + if (RLGL.Vr.simulatorReady) + { + rlUnloadTexture(RLGL.Vr.stereoTexId); // Unload color texture + rlUnloadFramebuffer(RLGL.Vr.stereoFboId); // Unload stereo framebuffer and depth texture/renderbuffer + } #endif } @@ -3550,11 +3841,11 @@ void CloseVrSimulator(void) void SetVrConfiguration(VrDeviceInfo hmd, Shader distortion) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - // Reset vrConfig for a new values assignment - memset(&vrConfig, 0, sizeof(vrConfig)); + // Reset RLGL.Vr.config for a new values assignment + memset(&RLGL.Vr.config, 0, sizeof(RLGL.Vr.config)); // Assign distortion shader - vrConfig.distortionShader = distortion; + RLGL.Vr.config.distortionShader = distortion; // Compute aspect ratio float aspect = ((float)hmd.hResolution*0.5f)/(float)hmd.vResolution; @@ -3568,64 +3859,65 @@ void SetVrConfiguration(VrDeviceInfo hmd, Shader distortion) // Compute distortion scale parameters // NOTE: To get lens max radius, lensShift must be normalized to [-1..1] - float lensRadius = (float)fabs(-1.0f - 4.0f*lensShift); + float lensRadius = fabsf(-1.0f - 4.0f*lensShift); float lensRadiusSq = lensRadius*lensRadius; float distortionScale = hmd.lensDistortionValues[0] + hmd.lensDistortionValues[1]*lensRadiusSq + hmd.lensDistortionValues[2]*lensRadiusSq*lensRadiusSq + hmd.lensDistortionValues[3]*lensRadiusSq*lensRadiusSq*lensRadiusSq; - TraceLog(LOG_DEBUG, "VR: Distortion Scale: %f", distortionScale); + TRACELOGD("RLGL: VR device configuration:"); + TRACELOGD(" > Distortion Scale: %f", distortionScale); float normScreenWidth = 0.5f; float normScreenHeight = 1.0f; float scaleIn[2] = { 2.0f/normScreenWidth, 2.0f/normScreenHeight/aspect }; float scale[2] = { normScreenWidth*0.5f/distortionScale, normScreenHeight*0.5f*aspect/distortionScale }; - TraceLog(LOG_DEBUG, "VR: Distortion Shader: LeftLensCenter = { %f, %f }", leftLensCenter[0], leftLensCenter[1]); - TraceLog(LOG_DEBUG, "VR: Distortion Shader: RightLensCenter = { %f, %f }", rightLensCenter[0], rightLensCenter[1]); - TraceLog(LOG_DEBUG, "VR: Distortion Shader: Scale = { %f, %f }", scale[0], scale[1]); - TraceLog(LOG_DEBUG, "VR: Distortion Shader: ScaleIn = { %f, %f }", scaleIn[0], scaleIn[1]); + TRACELOGD(" > Distortion Shader: LeftLensCenter = { %f, %f }", leftLensCenter[0], leftLensCenter[1]); + TRACELOGD(" > Distortion Shader: RightLensCenter = { %f, %f }", rightLensCenter[0], rightLensCenter[1]); + TRACELOGD(" > Distortion Shader: Scale = { %f, %f }", scale[0], scale[1]); + TRACELOGD(" > Distortion Shader: ScaleIn = { %f, %f }", scaleIn[0], scaleIn[1]); - // Fovy is normally computed with: 2*atan2(hmd.vScreenSize, 2*hmd.eyeToScreenDistance) + // Fovy is normally computed with: 2*atan2f(hmd.vScreenSize, 2*hmd.eyeToScreenDistance) // ...but with lens distortion it is increased (see Oculus SDK Documentation) - //float fovy = 2.0f*atan2(hmd.vScreenSize*0.5f*distortionScale, hmd.eyeToScreenDistance); // Really need distortionScale? - float fovy = 2.0f*(float)atan2(hmd.vScreenSize*0.5f, hmd.eyeToScreenDistance); + //float fovy = 2.0f*atan2f(hmd.vScreenSize*0.5f*distortionScale, hmd.eyeToScreenDistance); // Really need distortionScale? + float fovy = 2.0f*(float)atan2f(hmd.vScreenSize*0.5f, hmd.eyeToScreenDistance); // Compute camera projection matrices float projOffset = 4.0f*lensShift; // Scaled to projection space coordinates [-1..1] - Matrix proj = MatrixPerspective(fovy, aspect, 0.01, 1000.0); - vrConfig.eyesProjection[0] = MatrixMultiply(proj, MatrixTranslate(projOffset, 0.0f, 0.0f)); - vrConfig.eyesProjection[1] = MatrixMultiply(proj, MatrixTranslate(-projOffset, 0.0f, 0.0f)); + Matrix proj = MatrixPerspective(fovy, aspect, RL_CULL_DISTANCE_NEAR, RL_CULL_DISTANCE_FAR); + RLGL.Vr.config.eyesProjection[0] = MatrixMultiply(proj, MatrixTranslate(projOffset, 0.0f, 0.0f)); + RLGL.Vr.config.eyesProjection[1] = MatrixMultiply(proj, MatrixTranslate(-projOffset, 0.0f, 0.0f)); // Compute camera transformation matrices // NOTE: Camera movement might seem more natural if we model the head. // Our axis of rotation is the base of our head, so we might want to add // some y (base of head to eye level) and -z (center of head to eye protrusion) to the camera positions. - vrConfig.eyesViewOffset[0] = MatrixTranslate(-hmd.interpupillaryDistance*0.5f, 0.075f, 0.045f); - vrConfig.eyesViewOffset[1] = MatrixTranslate(hmd.interpupillaryDistance*0.5f, 0.075f, 0.045f); + RLGL.Vr.config.eyesViewOffset[0] = MatrixTranslate(-hmd.interpupillaryDistance*0.5f, 0.075f, 0.045f); + RLGL.Vr.config.eyesViewOffset[1] = MatrixTranslate(hmd.interpupillaryDistance*0.5f, 0.075f, 0.045f); // Compute eyes Viewports - vrConfig.eyeViewportRight[2] = hmd.hResolution/2; - vrConfig.eyeViewportRight[3] = hmd.vResolution; + RLGL.Vr.config.eyeViewportRight[2] = hmd.hResolution/2; + RLGL.Vr.config.eyeViewportRight[3] = hmd.vResolution; - vrConfig.eyeViewportLeft[0] = hmd.hResolution/2; - vrConfig.eyeViewportLeft[1] = 0; - vrConfig.eyeViewportLeft[2] = hmd.hResolution/2; - vrConfig.eyeViewportLeft[3] = hmd.vResolution; + RLGL.Vr.config.eyeViewportLeft[0] = hmd.hResolution/2; + RLGL.Vr.config.eyeViewportLeft[1] = 0; + RLGL.Vr.config.eyeViewportLeft[2] = hmd.hResolution/2; + RLGL.Vr.config.eyeViewportLeft[3] = hmd.vResolution; - if (vrConfig.distortionShader.id > 0) + if (RLGL.Vr.config.distortionShader.id > 0) { // Update distortion shader with lens and distortion-scale parameters - SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "leftLensCenter"), leftLensCenter, UNIFORM_VEC2); - SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "rightLensCenter"), rightLensCenter, UNIFORM_VEC2); - SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "leftScreenCenter"), leftScreenCenter, UNIFORM_VEC2); - SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "rightScreenCenter"), rightScreenCenter, UNIFORM_VEC2); - - SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "scale"), scale, UNIFORM_VEC2); - SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "scaleIn"), scaleIn, UNIFORM_VEC2); - SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "hmdWarpParam"), hmd.lensDistortionValues, UNIFORM_VEC4); - SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "chromaAbParam"), hmd.chromaAbCorrection, UNIFORM_VEC4); + SetShaderValue(RLGL.Vr.config.distortionShader, GetShaderLocation(RLGL.Vr.config.distortionShader, "leftLensCenter"), leftLensCenter, UNIFORM_VEC2); + SetShaderValue(RLGL.Vr.config.distortionShader, GetShaderLocation(RLGL.Vr.config.distortionShader, "rightLensCenter"), rightLensCenter, UNIFORM_VEC2); + SetShaderValue(RLGL.Vr.config.distortionShader, GetShaderLocation(RLGL.Vr.config.distortionShader, "leftScreenCenter"), leftScreenCenter, UNIFORM_VEC2); + SetShaderValue(RLGL.Vr.config.distortionShader, GetShaderLocation(RLGL.Vr.config.distortionShader, "rightScreenCenter"), rightScreenCenter, UNIFORM_VEC2); + + SetShaderValue(RLGL.Vr.config.distortionShader, GetShaderLocation(RLGL.Vr.config.distortionShader, "scale"), scale, UNIFORM_VEC2); + SetShaderValue(RLGL.Vr.config.distortionShader, GetShaderLocation(RLGL.Vr.config.distortionShader, "scaleIn"), scaleIn, UNIFORM_VEC2); + SetShaderValue(RLGL.Vr.config.distortionShader, GetShaderLocation(RLGL.Vr.config.distortionShader, "hmdWarpParam"), hmd.lensDistortionValues, UNIFORM_VEC4); + SetShaderValue(RLGL.Vr.config.distortionShader, GetShaderLocation(RLGL.Vr.config.distortionShader, "chromaAbParam"), hmd.chromaAbCorrection, UNIFORM_VEC4); } #endif } @@ -3634,7 +3926,7 @@ void SetVrConfiguration(VrDeviceInfo hmd, Shader distortion) bool IsVrSimulatorReady(void) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - return vrSimulatorReady; + return RLGL.Vr.simulatorReady; #else return false; #endif @@ -3644,18 +3936,18 @@ bool IsVrSimulatorReady(void) void ToggleVrMode(void) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - vrSimulatorReady = !vrSimulatorReady; + RLGL.Vr.simulatorReady = !RLGL.Vr.simulatorReady; - if (!vrSimulatorReady) + if (!RLGL.Vr.simulatorReady) { - vrStereoRender = false; + RLGL.Vr.stereoRender = false; // Reset viewport and default projection-modelview matrices - rlViewport(0, 0, screenWidth, screenHeight); - projection = MatrixOrtho(0.0, screenWidth, screenHeight, 0.0, 0.0, 1.0); - modelview = MatrixIdentity(); + rlViewport(0, 0, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight); + RLGL.State.projection = MatrixOrtho(0.0, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight, 0.0, 0.0, 1.0); + RLGL.State.modelview = MatrixIdentity(); } - else vrStereoRender = true; + else RLGL.Vr.stereoRender = true; #endif } @@ -3663,16 +3955,15 @@ void ToggleVrMode(void) void BeginVrDrawing(void) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if (vrSimulatorReady) + if (RLGL.Vr.simulatorReady) { + rlEnableFramebuffer(RLGL.Vr.stereoFboId); // Setup framebuffer for stereo rendering + //glEnable(GL_FRAMEBUFFER_SRGB); // Enable SRGB framebuffer (only if required) - rlEnableRenderTexture(stereoFbo.id); // Setup framebuffer for stereo rendering - //glEnable(GL_FRAMEBUFFER_SRGB); // Enable SRGB framebuffer (only if required) + //rlViewport(0, 0, buffer.width, buffer.height); // Useful if rendering to separate framebuffers (every eye) + rlClearScreenBuffers(); // Clear current framebuffer - //glViewport(0, 0, buffer.width, buffer.height); // Useful if rendering to separate framebuffers (every eye) - rlClearScreenBuffers(); // Clear current framebuffer - - vrStereoRender = true; + RLGL.Vr.stereoRender = true; } #endif } @@ -3681,29 +3972,29 @@ void BeginVrDrawing(void) void EndVrDrawing(void) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if (vrSimulatorReady) + if (RLGL.Vr.simulatorReady) { - vrStereoRender = false; // Disable stereo render + RLGL.Vr.stereoRender = false; // Disable stereo render - rlDisableRenderTexture(); // Unbind current framebuffer + rlDisableFramebuffer(); // Unbind current framebuffer rlClearScreenBuffers(); // Clear current framebuffer // Set viewport to default framebuffer size (screen size) - rlViewport(0, 0, screenWidth, screenHeight); + rlViewport(0, 0, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight); // Let rlgl reconfigure internal matrices rlMatrixMode(RL_PROJECTION); // Enable internal projection matrix rlLoadIdentity(); // Reset internal projection matrix - rlOrtho(0.0, screenWidth, screenHeight, 0.0, 0.0, 1.0); // Recalculate internal projection matrix + rlOrtho(0.0, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight, 0.0, 0.0, 1.0); // Recalculate internal RLGL.State.projection matrix rlMatrixMode(RL_MODELVIEW); // Enable internal modelview matrix rlLoadIdentity(); // Reset internal modelview matrix - // Draw RenderTexture (stereoFbo) using distortion shader if available - if (vrConfig.distortionShader.id > 0) currentShader = vrConfig.distortionShader; - else currentShader = GetShaderDefault(); + // Draw stereo framebuffer texture using distortion shader if available + if (RLGL.Vr.config.distortionShader.id > 0) RLGL.State.currentShader = RLGL.Vr.config.distortionShader; + else RLGL.State.currentShader = GetShaderDefault(); - rlEnableTexture(stereoFbo.texture.id); + rlEnableTexture(RLGL.Vr.stereoTexId); rlPushMatrix(); rlBegin(RL_QUADS); @@ -3716,31 +4007,30 @@ void EndVrDrawing(void) // Bottom-right corner for texture and quad rlTexCoord2f(0.0f, 0.0f); - rlVertex2f(0.0f, (float)stereoFbo.texture.height); + rlVertex2f(0.0f, (float)RLGL.State.framebufferHeight); // Top-right corner for texture and quad rlTexCoord2f(1.0f, 0.0f); - rlVertex2f( (float)stereoFbo.texture.width, (float)stereoFbo.texture.height); + rlVertex2f((float)RLGL.State.framebufferWidth, (float)RLGL.State.framebufferHeight); // Top-left corner for texture and quad rlTexCoord2f(1.0f, 1.0f); - rlVertex2f( (float)stereoFbo.texture.width, 0.0f); + rlVertex2f((float)RLGL.State.framebufferWidth, 0.0f); rlEnd(); rlPopMatrix(); rlDisableTexture(); // Update and draw render texture fbo with distortion to backbuffer - UpdateBuffersDefault(); - DrawBuffersDefault(); + DrawRenderBatch(RLGL.currentBatch); - // Restore defaultShader - currentShader = defaultShader; + // Restore RLGL.State.defaultShader + RLGL.State.currentShader = RLGL.State.defaultShader; // Reset viewport and default projection-modelview matrices - rlViewport(0, 0, screenWidth, screenHeight); - projection = MatrixOrtho(0.0, screenWidth, screenHeight, 0.0, 0.0, 1.0); - modelview = MatrixIdentity(); + rlViewport(0, 0, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight); + RLGL.State.projection = MatrixOrtho(0.0, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight, 0.0, 0.0, 1.0); + RLGL.State.modelview = MatrixIdentity(); rlDisableDepthTest(); } @@ -3765,7 +4055,7 @@ static unsigned int CompileShader(const char *shaderStr, int type) if (success != GL_TRUE) { - TraceLog(LOG_WARNING, "[SHDR ID %i] Failed to compile shader...", shader); + TRACELOG(LOG_WARNING, "SHADER: [ID %i] Failed to compile shader code", shader); int maxLength = 0; int length; glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &maxLength); @@ -3777,13 +4067,13 @@ static unsigned int CompileShader(const char *shaderStr, int type) #endif glGetShaderInfoLog(shader, maxLength, &length, log); - TraceLog(LOG_INFO, "%s", log); + TRACELOG(LOG_WARNING, "SHADER: [ID %i] Compile error: %s", shader, log); #if defined(_MSC_VER) RL_FREE(log); #endif } - else TraceLog(LOG_INFO, "[SHDR ID %i] Shader compiled successfully", shader); + else TRACELOG(LOG_INFO, "SHADER: [ID %i] Compiled successfully", shader); return shader; } @@ -3794,7 +4084,6 @@ static unsigned int LoadShaderProgram(unsigned int vShaderId, unsigned int fShad unsigned int program = 0; #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - GLint success = 0; program = glCreateProgram(); @@ -3802,12 +4091,12 @@ static unsigned int LoadShaderProgram(unsigned int vShaderId, unsigned int fShad glAttachShader(program, fShaderId); // NOTE: Default attribute shader locations must be binded before linking - glBindAttribLocation(program, 0, DEFAULT_ATTRIB_POSITION_NAME); - glBindAttribLocation(program, 1, DEFAULT_ATTRIB_TEXCOORD_NAME); - glBindAttribLocation(program, 2, DEFAULT_ATTRIB_NORMAL_NAME); - glBindAttribLocation(program, 3, DEFAULT_ATTRIB_COLOR_NAME); - glBindAttribLocation(program, 4, DEFAULT_ATTRIB_TANGENT_NAME); - glBindAttribLocation(program, 5, DEFAULT_ATTRIB_TEXCOORD2_NAME); + glBindAttribLocation(program, 0, DEFAULT_SHADER_ATTRIB_NAME_POSITION); + glBindAttribLocation(program, 1, DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD); + glBindAttribLocation(program, 2, DEFAULT_SHADER_ATTRIB_NAME_NORMAL); + glBindAttribLocation(program, 3, DEFAULT_SHADER_ATTRIB_NAME_COLOR); + glBindAttribLocation(program, 4, DEFAULT_SHADER_ATTRIB_NAME_TANGENT); + glBindAttribLocation(program, 5, DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2); // NOTE: If some attrib name is no found on the shader, it locations becomes -1 @@ -3819,7 +4108,7 @@ static unsigned int LoadShaderProgram(unsigned int vShaderId, unsigned int fShad if (success == GL_FALSE) { - TraceLog(LOG_WARNING, "[SHDR ID %i] Failed to link shader program...", program); + TRACELOG(LOG_WARNING, "SHADER: [ID %i] Failed to link shader program", program); int maxLength = 0; int length; @@ -3833,7 +4122,7 @@ static unsigned int LoadShaderProgram(unsigned int vShaderId, unsigned int fShad #endif glGetProgramInfoLog(program, maxLength, &length, log); - TraceLog(LOG_INFO, "%s", log); + TRACELOG(LOG_WARNING, "SHADER: [ID %i] Link error: %s", program, log); #if defined(_MSC_VER) RL_FREE(log); @@ -3842,7 +4131,7 @@ static unsigned int LoadShaderProgram(unsigned int vShaderId, unsigned int fShad program = 0; } - else TraceLog(LOG_INFO, "[SHDR ID %i] Shader program loaded successfully", program); + else TRACELOG(LOG_INFO, "SHADER: [ID %i] Program loaded successfully", program); #endif return program; } @@ -3853,12 +4142,13 @@ static unsigned int LoadShaderProgram(unsigned int vShaderId, unsigned int fShad static Shader LoadShaderDefault(void) { Shader shader = { 0 }; + shader.locs = (int *)RL_CALLOC(MAX_SHADER_LOCATIONS, sizeof(int)); // NOTE: All locations must be reseted to -1 (no location) for (int i = 0; i < MAX_SHADER_LOCATIONS; i++) shader.locs[i] = -1; // Vertex shader directly defined, no external file required - char defaultVShaderStr[] = + const char *defaultVShaderStr = #if defined(GRAPHICS_API_OPENGL_21) "#version 120 \n" #elif defined(GRAPHICS_API_OPENGL_ES2) @@ -3887,7 +4177,7 @@ static Shader LoadShaderDefault(void) "} \n"; // Fragment shader directly defined, no external file required - char defaultFShaderStr[] = + const char *defaultFShaderStr = #if defined(GRAPHICS_API_OPENGL_21) "#version 120 \n" #elif defined(GRAPHICS_API_OPENGL_ES2) @@ -3917,14 +4207,14 @@ static Shader LoadShaderDefault(void) "} \n"; // NOTE: Compiled vertex/fragment shaders are kept for re-use - defaultVShaderId = CompileShader(defaultVShaderStr, GL_VERTEX_SHADER); // Compile default vertex shader - defaultFShaderId = CompileShader(defaultFShaderStr, GL_FRAGMENT_SHADER); // Compile default fragment shader + RLGL.State.defaultVShaderId = CompileShader(defaultVShaderStr, GL_VERTEX_SHADER); // Compile default vertex shader + RLGL.State.defaultFShaderId = CompileShader(defaultFShaderStr, GL_FRAGMENT_SHADER); // Compile default fragment shader - shader.id = LoadShaderProgram(defaultVShaderId, defaultFShaderId); + shader.id = LoadShaderProgram(RLGL.State.defaultVShaderId, RLGL.State.defaultFShaderId); if (shader.id > 0) { - TraceLog(LOG_INFO, "[SHDR ID %i] Default shader loaded successfully", shader.id); + TRACELOG(LOG_INFO, "SHADER: [ID %i] Default shader loaded successfully", shader.id); // Set default shader locations: attributes locations shader.locs[LOC_VERTEX_POSITION] = glGetAttribLocation(shader.id, "vertexPosition"); @@ -3940,7 +4230,7 @@ static Shader LoadShaderDefault(void) // changed for external custom shaders, we just use direct bindings above //SetShaderDefaultLocations(&shader); } - else TraceLog(LOG_WARNING, "[SHDR ID %i] Default shader could not be loaded", shader.id); + else TRACELOG(LOG_WARNING, "SHADER: [ID %i] Failed to load default shader", shader.id); return shader; } @@ -3958,12 +4248,12 @@ static void SetShaderDefaultLocations(Shader *shader) // vertex texcoord2 location = 5 // Get handles to GLSL input attibute locations - shader->locs[LOC_VERTEX_POSITION] = glGetAttribLocation(shader->id, DEFAULT_ATTRIB_POSITION_NAME); - shader->locs[LOC_VERTEX_TEXCOORD01] = glGetAttribLocation(shader->id, DEFAULT_ATTRIB_TEXCOORD_NAME); - shader->locs[LOC_VERTEX_TEXCOORD02] = glGetAttribLocation(shader->id, DEFAULT_ATTRIB_TEXCOORD2_NAME); - shader->locs[LOC_VERTEX_NORMAL] = glGetAttribLocation(shader->id, DEFAULT_ATTRIB_NORMAL_NAME); - shader->locs[LOC_VERTEX_TANGENT] = glGetAttribLocation(shader->id, DEFAULT_ATTRIB_TANGENT_NAME); - shader->locs[LOC_VERTEX_COLOR] = glGetAttribLocation(shader->id, DEFAULT_ATTRIB_COLOR_NAME); + shader->locs[LOC_VERTEX_POSITION] = glGetAttribLocation(shader->id, DEFAULT_SHADER_ATTRIB_NAME_POSITION); + shader->locs[LOC_VERTEX_TEXCOORD01] = glGetAttribLocation(shader->id, DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD); + shader->locs[LOC_VERTEX_TEXCOORD02] = glGetAttribLocation(shader->id, DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2); + shader->locs[LOC_VERTEX_NORMAL] = glGetAttribLocation(shader->id, DEFAULT_SHADER_ATTRIB_NAME_NORMAL); + shader->locs[LOC_VERTEX_TANGENT] = glGetAttribLocation(shader->id, DEFAULT_SHADER_ATTRIB_NAME_TANGENT); + shader->locs[LOC_VERTEX_COLOR] = glGetAttribLocation(shader->id, DEFAULT_SHADER_ATTRIB_NAME_COLOR); // Get handles to GLSL uniform locations (vertex shader) shader->locs[LOC_MATRIX_MVP] = glGetUniformLocation(shader->id, "mvp"); @@ -3982,132 +4272,165 @@ static void UnloadShaderDefault(void) { glUseProgram(0); - glDetachShader(defaultShader.id, defaultVShaderId); - glDetachShader(defaultShader.id, defaultFShaderId); - glDeleteShader(defaultVShaderId); - glDeleteShader(defaultFShaderId); + glDetachShader(RLGL.State.defaultShader.id, RLGL.State.defaultVShaderId); + glDetachShader(RLGL.State.defaultShader.id, RLGL.State.defaultFShaderId); + glDeleteShader(RLGL.State.defaultVShaderId); + glDeleteShader(RLGL.State.defaultFShaderId); - glDeleteProgram(defaultShader.id); + glDeleteProgram(RLGL.State.defaultShader.id); + + RL_FREE(RLGL.State.defaultShader.locs); } -// Load default internal buffers -static void LoadBuffersDefault(void) +// Load render batch +static RenderBatch LoadRenderBatch(int numBuffers, int bufferElements) { - // Initialize CPU (RAM) arrays (vertex position, texcoord, color data and indexes) + RenderBatch batch = { 0 }; + + // Initialize CPU (RAM) vertex buffers (position, texcoord, color data and indexes) //-------------------------------------------------------------------------------------------- - for (int i = 0; i < MAX_BATCH_BUFFERING; i++) + batch.vertexBuffer = (VertexBuffer *)RL_MALLOC(sizeof(VertexBuffer)*numBuffers); + + for (int i = 0; i < numBuffers; i++) { - vertexData[i].vertices = (float *)RL_MALLOC(sizeof(float)*3*4*MAX_BATCH_ELEMENTS); // 3 float by vertex, 4 vertex by quad - vertexData[i].texcoords = (float *)RL_MALLOC(sizeof(float)*2*4*MAX_BATCH_ELEMENTS); // 2 float by texcoord, 4 texcoord by quad - vertexData[i].colors = (unsigned char *)RL_MALLOC(sizeof(unsigned char)*4*4*MAX_BATCH_ELEMENTS); // 4 float by color, 4 colors by quad + batch.vertexBuffer[i].elementsCount = bufferElements; + + batch.vertexBuffer[i].vertices = (float *)RL_MALLOC(bufferElements*3*4*sizeof(float)); // 3 float by vertex, 4 vertex by quad + batch.vertexBuffer[i].texcoords = (float *)RL_MALLOC(bufferElements*2*4*sizeof(float)); // 2 float by texcoord, 4 texcoord by quad + batch.vertexBuffer[i].colors = (unsigned char *)RL_MALLOC(bufferElements*4*4*sizeof(unsigned char)); // 4 float by color, 4 colors by quad #if defined(GRAPHICS_API_OPENGL_33) - vertexData[i].indices = (unsigned int *)RL_MALLOC(sizeof(unsigned int)*6*MAX_BATCH_ELEMENTS); // 6 int by quad (indices) + batch.vertexBuffer[i].indices = (unsigned int *)RL_MALLOC(bufferElements*6*sizeof(unsigned int)); // 6 int by quad (indices) #elif defined(GRAPHICS_API_OPENGL_ES2) - vertexData[i].indices = (unsigned short *)RL_MALLOC(sizeof(unsigned short)*6*MAX_BATCH_ELEMENTS); // 6 int by quad (indices) + batch.vertexBuffer[i].indices = (unsigned short *)RL_MALLOC(bufferElements*6*sizeof(unsigned short)); // 6 int by quad (indices) #endif - for (int j = 0; j < (3*4*MAX_BATCH_ELEMENTS); j++) vertexData[i].vertices[j] = 0.0f; - for (int j = 0; j < (2*4*MAX_BATCH_ELEMENTS); j++) vertexData[i].texcoords[j] = 0.0f; - for (int j = 0; j < (4*4*MAX_BATCH_ELEMENTS); j++) vertexData[i].colors[j] = 0; + for (int j = 0; j < (3*4*bufferElements); j++) batch.vertexBuffer[i].vertices[j] = 0.0f; + for (int j = 0; j < (2*4*bufferElements); j++) batch.vertexBuffer[i].texcoords[j] = 0.0f; + for (int j = 0; j < (4*4*bufferElements); j++) batch.vertexBuffer[i].colors[j] = 0; int k = 0; // Indices can be initialized right now - for (int j = 0; j < (6*MAX_BATCH_ELEMENTS); j += 6) + for (int j = 0; j < (6*bufferElements); j += 6) { - vertexData[i].indices[j] = 4*k; - vertexData[i].indices[j + 1] = 4*k + 1; - vertexData[i].indices[j + 2] = 4*k + 2; - vertexData[i].indices[j + 3] = 4*k; - vertexData[i].indices[j + 4] = 4*k + 2; - vertexData[i].indices[j + 5] = 4*k + 3; + batch.vertexBuffer[i].indices[j] = 4*k; + batch.vertexBuffer[i].indices[j + 1] = 4*k + 1; + batch.vertexBuffer[i].indices[j + 2] = 4*k + 2; + batch.vertexBuffer[i].indices[j + 3] = 4*k; + batch.vertexBuffer[i].indices[j + 4] = 4*k + 2; + batch.vertexBuffer[i].indices[j + 5] = 4*k + 3; k++; } - vertexData[i].vCounter = 0; - vertexData[i].tcCounter = 0; - vertexData[i].cCounter = 0; + batch.vertexBuffer[i].vCounter = 0; + batch.vertexBuffer[i].tcCounter = 0; + batch.vertexBuffer[i].cCounter = 0; } - TraceLog(LOG_INFO, "Internal buffers initialized successfully (CPU)"); + TRACELOG(LOG_INFO, "RLGL: Internal vertex buffers initialized successfully in RAM (CPU)"); //-------------------------------------------------------------------------------------------- // Upload to GPU (VRAM) vertex data and initialize VAOs/VBOs //-------------------------------------------------------------------------------------------- - for (int i = 0; i < MAX_BATCH_BUFFERING; i++) + for (int i = 0; i < numBuffers; i++) { - if (vaoSupported) + if (RLGL.ExtSupported.vao) { // Initialize Quads VAO - glGenVertexArrays(1, &vertexData[i].vaoId); - glBindVertexArray(vertexData[i].vaoId); + glGenVertexArrays(1, &batch.vertexBuffer[i].vaoId); + glBindVertexArray(batch.vertexBuffer[i].vaoId); } // Quads - Vertex buffers binding and attributes enable // Vertex position buffer (shader-location = 0) - glGenBuffers(1, &vertexData[i].vboId[0]); - glBindBuffer(GL_ARRAY_BUFFER, vertexData[i].vboId[0]); - glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*4*MAX_BATCH_ELEMENTS, vertexData[i].vertices, GL_DYNAMIC_DRAW); - glEnableVertexAttribArray(currentShader.locs[LOC_VERTEX_POSITION]); - glVertexAttribPointer(currentShader.locs[LOC_VERTEX_POSITION], 3, GL_FLOAT, 0, 0, 0); + glGenBuffers(1, &batch.vertexBuffer[i].vboId[0]); + glBindBuffer(GL_ARRAY_BUFFER, batch.vertexBuffer[i].vboId[0]); + glBufferData(GL_ARRAY_BUFFER, bufferElements*3*4*sizeof(float), batch.vertexBuffer[i].vertices, GL_DYNAMIC_DRAW); + glEnableVertexAttribArray(RLGL.State.currentShader.locs[LOC_VERTEX_POSITION]); + glVertexAttribPointer(RLGL.State.currentShader.locs[LOC_VERTEX_POSITION], 3, GL_FLOAT, 0, 0, 0); // Vertex texcoord buffer (shader-location = 1) - glGenBuffers(1, &vertexData[i].vboId[1]); - glBindBuffer(GL_ARRAY_BUFFER, vertexData[i].vboId[1]); - glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*4*MAX_BATCH_ELEMENTS, vertexData[i].texcoords, GL_DYNAMIC_DRAW); - glEnableVertexAttribArray(currentShader.locs[LOC_VERTEX_TEXCOORD01]); - glVertexAttribPointer(currentShader.locs[LOC_VERTEX_TEXCOORD01], 2, GL_FLOAT, 0, 0, 0); + glGenBuffers(1, &batch.vertexBuffer[i].vboId[1]); + glBindBuffer(GL_ARRAY_BUFFER, batch.vertexBuffer[i].vboId[1]); + glBufferData(GL_ARRAY_BUFFER, bufferElements*2*4*sizeof(float), batch.vertexBuffer[i].texcoords, GL_DYNAMIC_DRAW); + glEnableVertexAttribArray(RLGL.State.currentShader.locs[LOC_VERTEX_TEXCOORD01]); + glVertexAttribPointer(RLGL.State.currentShader.locs[LOC_VERTEX_TEXCOORD01], 2, GL_FLOAT, 0, 0, 0); // Vertex color buffer (shader-location = 3) - glGenBuffers(1, &vertexData[i].vboId[2]); - glBindBuffer(GL_ARRAY_BUFFER, vertexData[i].vboId[2]); - glBufferData(GL_ARRAY_BUFFER, sizeof(unsigned char)*4*4*MAX_BATCH_ELEMENTS, vertexData[i].colors, GL_DYNAMIC_DRAW); - glEnableVertexAttribArray(currentShader.locs[LOC_VERTEX_COLOR]); - glVertexAttribPointer(currentShader.locs[LOC_VERTEX_COLOR], 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0); + glGenBuffers(1, &batch.vertexBuffer[i].vboId[2]); + glBindBuffer(GL_ARRAY_BUFFER, batch.vertexBuffer[i].vboId[2]); + glBufferData(GL_ARRAY_BUFFER, bufferElements*4*4*sizeof(unsigned char), batch.vertexBuffer[i].colors, GL_DYNAMIC_DRAW); + glEnableVertexAttribArray(RLGL.State.currentShader.locs[LOC_VERTEX_COLOR]); + glVertexAttribPointer(RLGL.State.currentShader.locs[LOC_VERTEX_COLOR], 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0); // Fill index buffer - glGenBuffers(1, &vertexData[i].vboId[3]); - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vertexData[i].vboId[3]); + glGenBuffers(1, &batch.vertexBuffer[i].vboId[3]); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, batch.vertexBuffer[i].vboId[3]); #if defined(GRAPHICS_API_OPENGL_33) - glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(int)*6*MAX_BATCH_ELEMENTS, vertexData[i].indices, GL_STATIC_DRAW); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, bufferElements*6*sizeof(int), batch.vertexBuffer[i].indices, GL_STATIC_DRAW); #elif defined(GRAPHICS_API_OPENGL_ES2) - glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(short)*6*MAX_BATCH_ELEMENTS, vertexData[i].indices, GL_STATIC_DRAW); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, bufferElements*6*sizeof(short), batch.vertexBuffer[i].indices, GL_STATIC_DRAW); #endif } - TraceLog(LOG_INFO, "Internal buffers uploaded successfully (GPU)"); + TRACELOG(LOG_INFO, "RLGL: Render batch vertex buffers loaded successfully"); // Unbind the current VAO - if (vaoSupported) glBindVertexArray(0); + if (RLGL.ExtSupported.vao) glBindVertexArray(0); + //-------------------------------------------------------------------------------------------- + + // Init draw calls tracking system + //-------------------------------------------------------------------------------------------- + batch.draws = (DrawCall *)RL_MALLOC(DEFAULT_BATCH_DRAWCALLS*sizeof(DrawCall)); + + for (int i = 0; i < DEFAULT_BATCH_DRAWCALLS; i++) + { + batch.draws[i].mode = RL_QUADS; + batch.draws[i].vertexCount = 0; + batch.draws[i].vertexAlignment = 0; + //batch.draws[i].vaoId = 0; + //batch.draws[i].shaderId = 0; + batch.draws[i].textureId = RLGL.State.defaultTextureId; + //batch.draws[i].RLGL.State.projection = MatrixIdentity(); + //batch.draws[i].RLGL.State.modelview = MatrixIdentity(); + } + + batch.buffersCount = numBuffers; // Record buffer count + batch.drawsCounter = 1; // Reset draws counter + batch.currentDepth = -1.0f; // Reset depth value //-------------------------------------------------------------------------------------------- + + return batch; } -// Update default internal buffers (VAOs/VBOs) with vertex array data -// NOTE: If there is not vertex data, buffers doesn't need to be updated (vertexCount > 0) -// TODO: If no data changed on the CPU arrays --> No need to re-update GPU arrays (change flag required) -static void UpdateBuffersDefault(void) +// Draw render batch +// NOTE: We require a pointer to reset batch and increase current buffer (multi-buffer) +static void DrawRenderBatch(RenderBatch *batch) { - // Update vertex buffers data - if (vertexData[currentBuffer].vCounter > 0) + // Update batch vertex buffers + //------------------------------------------------------------------------------------------------------------ + // NOTE: If there is not vertex data, buffers doesn't need to be updated (vertexCount > 0) + // TODO: If no data changed on the CPU arrays --> No need to re-update GPU arrays (change flag required) + if (batch->vertexBuffer[batch->currentBuffer].vCounter > 0) { // Activate elements VAO - if (vaoSupported) glBindVertexArray(vertexData[currentBuffer].vaoId); + if (RLGL.ExtSupported.vao) glBindVertexArray(batch->vertexBuffer[batch->currentBuffer].vaoId); // Vertex positions buffer - glBindBuffer(GL_ARRAY_BUFFER, vertexData[currentBuffer].vboId[0]); - glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*3*vertexData[currentBuffer].vCounter, vertexData[currentBuffer].vertices); - //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*4*MAX_BATCH_ELEMENTS, vertexData[currentBuffer].vertices, GL_DYNAMIC_DRAW); // Update all buffer + glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[0]); + glBufferSubData(GL_ARRAY_BUFFER, 0, batch->vertexBuffer[batch->currentBuffer].vCounter*3*sizeof(float), batch->vertexBuffer[batch->currentBuffer].vertices); + //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*4*batch->vertexBuffer[batch->currentBuffer].elementsCount, batch->vertexBuffer[batch->currentBuffer].vertices, GL_DYNAMIC_DRAW); // Update all buffer // Texture coordinates buffer - glBindBuffer(GL_ARRAY_BUFFER, vertexData[currentBuffer].vboId[1]); - glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*2*vertexData[currentBuffer].vCounter, vertexData[currentBuffer].texcoords); - //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*4*MAX_BATCH_ELEMENTS, vertexData[currentBuffer].texcoords, GL_DYNAMIC_DRAW); // Update all buffer + glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[1]); + glBufferSubData(GL_ARRAY_BUFFER, 0, batch->vertexBuffer[batch->currentBuffer].vCounter*2*sizeof(float), batch->vertexBuffer[batch->currentBuffer].texcoords); + //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*4*batch->vertexBuffer[batch->currentBuffer].elementsCount, batch->vertexBuffer[batch->currentBuffer].texcoords, GL_DYNAMIC_DRAW); // Update all buffer // Colors buffer - glBindBuffer(GL_ARRAY_BUFFER, vertexData[currentBuffer].vboId[2]); - glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(unsigned char)*4*vertexData[currentBuffer].vCounter, vertexData[currentBuffer].colors); - //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*4*MAX_BATCH_ELEMENTS, vertexData[currentBuffer].colors, GL_DYNAMIC_DRAW); // Update all buffer + glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[2]); + glBufferSubData(GL_ARRAY_BUFFER, 0, batch->vertexBuffer[batch->currentBuffer].vCounter*4*sizeof(unsigned char), batch->vertexBuffer[batch->currentBuffer].colors); + //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*4*batch->vertexBuffer[batch->currentBuffer].elementsCount, batch->vertexBuffer[batch->currentBuffer].colors, GL_DYNAMIC_DRAW); // Update all buffer // NOTE: glMapBuffer() causes sync issue. // If GPU is working with this buffer, glMapBuffer() will wait(stall) until GPU to finish its job. @@ -4117,27 +4440,26 @@ static void UpdateBuffersDefault(void) // Another option: map the buffer object into client's memory // Probably this code could be moved somewhere else... - // vertexData[currentBuffer].vertices = (float *)glMapBuffer(GL_ARRAY_BUFFER, GL_READ_WRITE); - // if (vertexData[currentBuffer].vertices) + // batch->vertexBuffer[batch->currentBuffer].vertices = (float *)glMapBuffer(GL_ARRAY_BUFFER, GL_READ_WRITE); + // if (batch->vertexBuffer[batch->currentBuffer].vertices) // { // Update vertex data // } // glUnmapBuffer(GL_ARRAY_BUFFER); // Unbind the current VAO - if (vaoSupported) glBindVertexArray(0); + if (RLGL.ExtSupported.vao) glBindVertexArray(0); } -} + //------------------------------------------------------------------------------------------------------------ -// Draw default internal buffers vertex data -static void DrawBuffersDefault(void) -{ - Matrix matProjection = projection; - Matrix matModelView = modelview; + // Draw batch vertex buffers (considering VR stereo if required) + //------------------------------------------------------------------------------------------------------------ + Matrix matProjection = RLGL.State.projection; + Matrix matModelView = RLGL.State.modelview; int eyesCount = 1; #if defined(SUPPORT_VR_SIMULATOR) - if (vrStereoRender) eyesCount = 2; + if (RLGL.Vr.stereoRender) eyesCount = 2; #endif for (int eye = 0; eye < eyesCount; eye++) @@ -4145,76 +4467,78 @@ static void DrawBuffersDefault(void) #if defined(SUPPORT_VR_SIMULATOR) if (eyesCount == 2) SetStereoView(eye, matProjection, matModelView); #endif - // Draw buffers - if (vertexData[currentBuffer].vCounter > 0) + if (batch->vertexBuffer[batch->currentBuffer].vCounter > 0) { // Set current shader and upload current MVP matrix - glUseProgram(currentShader.id); - - // Create modelview-projection matrix - Matrix matMVP = MatrixMultiply(modelview, projection); - - glUniformMatrix4fv(currentShader.locs[LOC_MATRIX_MVP], 1, false, MatrixToFloat(matMVP)); - glUniform4f(currentShader.locs[LOC_COLOR_DIFFUSE], 1.0f, 1.0f, 1.0f, 1.0f); - glUniform1i(currentShader.locs[LOC_MAP_DIFFUSE], 0); // Provided value refers to the texture unit (active) - - // TODO: Support additional texture units on custom shader - //if (currentShader->locs[LOC_MAP_SPECULAR] > 0) glUniform1i(currentShader.locs[LOC_MAP_SPECULAR], 1); - //if (currentShader->locs[LOC_MAP_NORMAL] > 0) glUniform1i(currentShader.locs[LOC_MAP_NORMAL], 2); + glUseProgram(RLGL.State.currentShader.id); - // NOTE: Right now additional map textures not considered for default buffers drawing + // Create modelview-projection matrix and upload to shader + Matrix matMVP = MatrixMultiply(RLGL.State.modelview, RLGL.State.projection); + glUniformMatrix4fv(RLGL.State.currentShader.locs[LOC_MATRIX_MVP], 1, false, MatrixToFloat(matMVP)); - int vertexOffset = 0; - - if (vaoSupported) glBindVertexArray(vertexData[currentBuffer].vaoId); + if (RLGL.ExtSupported.vao) glBindVertexArray(batch->vertexBuffer[batch->currentBuffer].vaoId); else { // Bind vertex attrib: position (shader-location = 0) - glBindBuffer(GL_ARRAY_BUFFER, vertexData[currentBuffer].vboId[0]); - glVertexAttribPointer(currentShader.locs[LOC_VERTEX_POSITION], 3, GL_FLOAT, 0, 0, 0); - glEnableVertexAttribArray(currentShader.locs[LOC_VERTEX_POSITION]); + glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[0]); + glVertexAttribPointer(RLGL.State.currentShader.locs[LOC_VERTEX_POSITION], 3, GL_FLOAT, 0, 0, 0); + glEnableVertexAttribArray(RLGL.State.currentShader.locs[LOC_VERTEX_POSITION]); // Bind vertex attrib: texcoord (shader-location = 1) - glBindBuffer(GL_ARRAY_BUFFER, vertexData[currentBuffer].vboId[1]); - glVertexAttribPointer(currentShader.locs[LOC_VERTEX_TEXCOORD01], 2, GL_FLOAT, 0, 0, 0); - glEnableVertexAttribArray(currentShader.locs[LOC_VERTEX_TEXCOORD01]); + glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[1]); + glVertexAttribPointer(RLGL.State.currentShader.locs[LOC_VERTEX_TEXCOORD01], 2, GL_FLOAT, 0, 0, 0); + glEnableVertexAttribArray(RLGL.State.currentShader.locs[LOC_VERTEX_TEXCOORD01]); // Bind vertex attrib: color (shader-location = 3) - glBindBuffer(GL_ARRAY_BUFFER, vertexData[currentBuffer].vboId[2]); - glVertexAttribPointer(currentShader.locs[LOC_VERTEX_COLOR], 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0); - glEnableVertexAttribArray(currentShader.locs[LOC_VERTEX_COLOR]); + glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[2]); + glVertexAttribPointer(RLGL.State.currentShader.locs[LOC_VERTEX_COLOR], 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0); + glEnableVertexAttribArray(RLGL.State.currentShader.locs[LOC_VERTEX_COLOR]); - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vertexData[currentBuffer].vboId[3]); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[3]); } - glActiveTexture(GL_TEXTURE0); + // Setup some default shader values + glUniform4f(RLGL.State.currentShader.locs[LOC_COLOR_DIFFUSE], 1.0f, 1.0f, 1.0f, 1.0f); + glUniform1i(RLGL.State.currentShader.locs[LOC_MAP_DIFFUSE], 0); // Active default sampler2D: texture0 - for (int i = 0; i < drawsCounter; i++) + // Activate additional sampler textures + // Those additional textures will be common for all draw calls of the batch + for (int i = 0; i < MAX_BATCH_ACTIVE_TEXTURES; i++) { - glBindTexture(GL_TEXTURE_2D, draws[i].textureId); + if (RLGL.State.activeTextureId[i] > 0) + { + glActiveTexture(GL_TEXTURE0 + 1 + i); + glBindTexture(GL_TEXTURE_2D, RLGL.State.activeTextureId[i]); + } + } - // TODO: Find some way to bind additional textures --> Use global texture IDs? Register them on draw[i]? - //if (currentShader->locs[LOC_MAP_SPECULAR] > 0) { glActiveTexture(GL_TEXTURE1); glBindTexture(GL_TEXTURE_2D, textureUnit1_id); } - //if (currentShader->locs[LOC_MAP_SPECULAR] > 0) { glActiveTexture(GL_TEXTURE2); glBindTexture(GL_TEXTURE_2D, textureUnit2_id); } + // Activate default sampler2D texture0 (one texture is always active for default batch shader) + // NOTE: Batch system accumulates calls by texture0 changes, additional textures are enabled for all the draw calls + glActiveTexture(GL_TEXTURE0); + + for (int i = 0, vertexOffset = 0; i < batch->drawsCounter; i++) + { + // Bind current draw call texture, activated as GL_TEXTURE0 and binded to sampler2D texture0 by default + glBindTexture(GL_TEXTURE_2D, batch->draws[i].textureId); - if ((draws[i].mode == RL_LINES) || (draws[i].mode == RL_TRIANGLES)) glDrawArrays(draws[i].mode, vertexOffset, draws[i].vertexCount); + if ((batch->draws[i].mode == RL_LINES) || (batch->draws[i].mode == RL_TRIANGLES)) glDrawArrays(batch->draws[i].mode, vertexOffset, batch->draws[i].vertexCount); else { #if defined(GRAPHICS_API_OPENGL_33) // We need to define the number of indices to be processed: quadsCount*6 // NOTE: The final parameter tells the GPU the offset in bytes from the // start of the index buffer to the location of the first index to process - glDrawElements(GL_TRIANGLES, draws[i].vertexCount/4*6, GL_UNSIGNED_INT, (GLvoid *)(sizeof(GLuint)*vertexOffset/4*6)); + glDrawElements(GL_TRIANGLES, batch->draws[i].vertexCount/4*6, GL_UNSIGNED_INT, (GLvoid *)(vertexOffset/4*6*sizeof(GLuint))); #elif defined(GRAPHICS_API_OPENGL_ES2) - glDrawElements(GL_TRIANGLES, draws[i].vertexCount/4*6, GL_UNSIGNED_SHORT, (GLvoid *)(sizeof(GLushort)*vertexOffset/4*6)); + glDrawElements(GL_TRIANGLES, batch->draws[i].vertexCount/4*6, GL_UNSIGNED_SHORT, (GLvoid *)(vertexOffset/4*6*sizeof(GLushort))); #endif } - vertexOffset += (draws[i].vertexCount + draws[i].vertexAlignment); + vertexOffset += (batch->draws[i].vertexCount + batch->draws[i].vertexAlignment); } - if (!vaoSupported) + if (!RLGL.ExtSupported.vao) { glBindBuffer(GL_ARRAY_BUFFER, 0); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); @@ -4223,43 +4547,51 @@ static void DrawBuffersDefault(void) glBindTexture(GL_TEXTURE_2D, 0); // Unbind textures } - if (vaoSupported) glBindVertexArray(0); // Unbind VAO + if (RLGL.ExtSupported.vao) glBindVertexArray(0); // Unbind VAO glUseProgram(0); // Unbind shader program } + //------------------------------------------------------------------------------------------------------------ + // Reset batch buffers + //------------------------------------------------------------------------------------------------------------ // Reset vertex counters for next frame - vertexData[currentBuffer].vCounter = 0; - vertexData[currentBuffer].tcCounter = 0; - vertexData[currentBuffer].cCounter = 0; + batch->vertexBuffer[batch->currentBuffer].vCounter = 0; + batch->vertexBuffer[batch->currentBuffer].tcCounter = 0; + batch->vertexBuffer[batch->currentBuffer].cCounter = 0; // Reset depth for next draw - currentDepth = -1.0f; + batch->currentDepth = -1.0f; // Restore projection/modelview matrices - projection = matProjection; - modelview = matModelView; + RLGL.State.projection = matProjection; + RLGL.State.modelview = matModelView; - // Reset draws array - for (int i = 0; i < MAX_DRAWCALL_REGISTERED; i++) + // Reset RLGL.currentBatch->draws array + for (int i = 0; i < DEFAULT_BATCH_DRAWCALLS; i++) { - draws[i].mode = RL_QUADS; - draws[i].vertexCount = 0; - draws[i].textureId = defaultTextureId; + batch->draws[i].mode = RL_QUADS; + batch->draws[i].vertexCount = 0; + batch->draws[i].textureId = RLGL.State.defaultTextureId; } - drawsCounter = 1; + // Reset active texture units for next batch + for (int i = 0; i < MAX_BATCH_ACTIVE_TEXTURES; i++) RLGL.State.activeTextureId[i] = 0; + + // Reset draws counter to one draw for the batch + batch->drawsCounter = 1; + //------------------------------------------------------------------------------------------------------------ - // Change to next buffer in the list - currentBuffer++; - if (currentBuffer >= MAX_BATCH_BUFFERING) currentBuffer = 0; + // Change to next buffer in the list (in case of multi-buffering) + batch->currentBuffer++; + if (batch->currentBuffer >= batch->buffersCount) batch->currentBuffer = 0; } // Unload default internal buffers vertex data from CPU and GPU -static void UnloadBuffersDefault(void) +static void UnloadRenderBatch(RenderBatch batch) { // Unbind everything - if (vaoSupported) glBindVertexArray(0); + if (RLGL.ExtSupported.vao) glBindVertexArray(0); glDisableVertexAttribArray(0); glDisableVertexAttribArray(1); glDisableVertexAttribArray(2); @@ -4267,23 +4599,42 @@ static void UnloadBuffersDefault(void) glBindBuffer(GL_ARRAY_BUFFER, 0); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); - for (int i = 0; i < MAX_BATCH_BUFFERING; i++) + // Unload all vertex buffers data + for (int i = 0; i < batch.buffersCount; i++) { // Delete VBOs from GPU (VRAM) - glDeleteBuffers(1, &vertexData[i].vboId[0]); - glDeleteBuffers(1, &vertexData[i].vboId[1]); - glDeleteBuffers(1, &vertexData[i].vboId[2]); - glDeleteBuffers(1, &vertexData[i].vboId[3]); + glDeleteBuffers(1, &batch.vertexBuffer[i].vboId[0]); + glDeleteBuffers(1, &batch.vertexBuffer[i].vboId[1]); + glDeleteBuffers(1, &batch.vertexBuffer[i].vboId[2]); + glDeleteBuffers(1, &batch.vertexBuffer[i].vboId[3]); // Delete VAOs from GPU (VRAM) - if (vaoSupported) glDeleteVertexArrays(1, &vertexData[i].vaoId); + if (RLGL.ExtSupported.vao) glDeleteVertexArrays(1, &batch.vertexBuffer[i].vaoId); // Free vertex arrays memory from CPU (RAM) - RL_FREE(vertexData[i].vertices); - RL_FREE(vertexData[i].texcoords); - RL_FREE(vertexData[i].colors); - RL_FREE(vertexData[i].indices); + RL_FREE(batch.vertexBuffer[i].vertices); + RL_FREE(batch.vertexBuffer[i].texcoords); + RL_FREE(batch.vertexBuffer[i].colors); + RL_FREE(batch.vertexBuffer[i].indices); } + + // Unload arrays + RL_FREE(batch.vertexBuffer); + RL_FREE(batch.draws); +} + +// Set the active render batch for rlgl +static void SetRenderBatchActive(RenderBatch *batch) +{ + DrawRenderBatch(RLGL.currentBatch); + RLGL.currentBatch = batch; +} + +// Set default render batch for rlgl +static void SetRenderBatchDefault(void) +{ + DrawRenderBatch(RLGL.currentBatch); + RLGL.currentBatch = &RLGL.defaultBatch; } // Renders a 1x1 XY quad in NDC @@ -4293,33 +4644,34 @@ static void GenDrawQuad(void) unsigned int quadVBO = 0; float vertices[] = { - // Positions // Texture Coords - -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, - -1.0f, -1.0f, 0.0f, 0.0f, 0.0f, - 1.0f, 1.0f, 0.0f, 1.0f, 1.0f, - 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, + // Positions Texcoords + -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, + -1.0f, -1.0f, 0.0f, 0.0f, 0.0f, + 1.0f, 1.0f, 0.0f, 1.0f, 1.0f, + 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, }; - // Set up plane VAO + // Gen VAO to contain VBO glGenVertexArrays(1, &quadVAO); - glGenBuffers(1, &quadVBO); glBindVertexArray(quadVAO); - // Fill buffer + // Gen and fill vertex buffer (VBO) + glGenBuffers(1, &quadVBO); glBindBuffer(GL_ARRAY_BUFFER, quadVBO); glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), &vertices, GL_STATIC_DRAW); - // Link vertex attributes + // Bind vertex attributes (position, texcoords) glEnableVertexAttribArray(0); - glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 5*sizeof(float), (void *)0); + glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 5*sizeof(float), (void *)0); // Positions glEnableVertexAttribArray(1); - glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 5*sizeof(float), (void *)(3*sizeof(float))); + glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 5*sizeof(float), (void *)(3*sizeof(float))); // Texcoords // Draw quad glBindVertexArray(quadVAO); glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); glBindVertexArray(0); + // Delete buffers (VBO and VAO) glDeleteBuffers(1, &quadVBO); glDeleteVertexArrays(1, &quadVAO); } @@ -4331,60 +4683,62 @@ static void GenDrawCube(void) unsigned int cubeVBO = 0; float vertices[] = { - -1.0f, -1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, - 1.0f, 1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 1.0f, 1.0f, - 1.0f, -1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 1.0f, 0.0f, - 1.0f, 1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 1.0f, 1.0f, - -1.0f, -1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, - -1.0f, 1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, - -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, - 1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 0.0f, - 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, - 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, - -1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, - -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, - -1.0f, 1.0f, 1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 0.0f, - -1.0f, 1.0f, -1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 1.0f, - -1.0f, -1.0f, -1.0f, -1.0f, 0.0f, 0.0f, 0.0f, 1.0f, - -1.0f, -1.0f, -1.0f, -1.0f, 0.0f, 0.0f, 0.0f, 1.0f, - -1.0f, -1.0f, 1.0f, -1.0f, 0.0f, 0.0f, 0.0f, 0.0f, - -1.0f, 1.0f, 1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 0.0f, - 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, - 1.0f, -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, - 1.0f, 1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, - 1.0f, -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, - 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, - 1.0f, -1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, - -1.0f, -1.0f, -1.0f, 0.0f, -1.0f, 0.0f, 0.0f, 1.0f, - 1.0f, -1.0f, -1.0f, 0.0f, -1.0f, 0.0f, 1.0f, 1.0f, - 1.0f, -1.0f, 1.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, - 1.0f, -1.0f, 1.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, - -1.0f, -1.0f, 1.0f, 0.0f, -1.0f, 0.0f, 0.0f, 0.0f, - -1.0f, -1.0f, -1.0f, 0.0f, -1.0f, 0.0f, 0.0f, 1.0f, - -1.0f, 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, - 1.0f, 1.0f , 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, - 1.0f, 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, - 1.0f, 1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, - -1.0f, 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, - -1.0f, 1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f + // Positions Normals Texcoords + -1.0f, -1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, + 1.0f, 1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 1.0f, 1.0f, + 1.0f, -1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 1.0f, 0.0f, + 1.0f, 1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 1.0f, 1.0f, + -1.0f, -1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, + -1.0f, 1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, + -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, + 1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 0.0f, + 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, + 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, + -1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, + -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, + -1.0f, 1.0f, 1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 0.0f, + -1.0f, 1.0f, -1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 1.0f, + -1.0f, -1.0f, -1.0f, -1.0f, 0.0f, 0.0f, 0.0f, 1.0f, + -1.0f, -1.0f, -1.0f, -1.0f, 0.0f, 0.0f, 0.0f, 1.0f, + -1.0f, -1.0f, 1.0f, -1.0f, 0.0f, 0.0f, 0.0f, 0.0f, + -1.0f, 1.0f, 1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 0.0f, + 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, + 1.0f, -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, + 1.0f, 1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, + 1.0f, -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, + 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, + 1.0f, -1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, + -1.0f, -1.0f, -1.0f, 0.0f, -1.0f, 0.0f, 0.0f, 1.0f, + 1.0f, -1.0f, -1.0f, 0.0f, -1.0f, 0.0f, 1.0f, 1.0f, + 1.0f, -1.0f, 1.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, + 1.0f, -1.0f, 1.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, + -1.0f, -1.0f, 1.0f, 0.0f, -1.0f, 0.0f, 0.0f, 0.0f, + -1.0f, -1.0f, -1.0f, 0.0f, -1.0f, 0.0f, 0.0f, 1.0f, + -1.0f, 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, + 1.0f, 1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, + 1.0f, 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, + 1.0f, 1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, + -1.0f, 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, + -1.0f, 1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f }; - // Set up cube VAO + // Gen VAO to contain VBO glGenVertexArrays(1, &cubeVAO); - glGenBuffers(1, &cubeVBO); + glBindVertexArray(cubeVAO); - // Fill buffer + // Gen and fill vertex buffer (VBO) + glGenBuffers(1, &cubeVBO); glBindBuffer(GL_ARRAY_BUFFER, cubeVBO); glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW); - // Link vertex attributes + // Bind vertex attributes (position, normals, texcoords) glBindVertexArray(cubeVAO); glEnableVertexAttribArray(0); - glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)0); + glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)0); // Positions glEnableVertexAttribArray(1); - glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)(3*sizeof(float))); + glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)(3*sizeof(float))); // Normals glEnableVertexAttribArray(2); - glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)(6*sizeof(float))); + glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)(6*sizeof(float))); // Texcoords glBindBuffer(GL_ARRAY_BUFFER, 0); glBindVertexArray(0); @@ -4393,6 +4747,7 @@ static void GenDrawCube(void) glDrawArrays(GL_TRIANGLES, 0, 36); glBindVertexArray(0); + // Delete VBO and VAO glDeleteBuffers(1, &cubeVBO); glDeleteVertexArrays(1, &cubeVAO); } @@ -4405,13 +4760,13 @@ static void SetStereoView(int eye, Matrix matProjection, Matrix matModelView) Matrix eyeModelView = matModelView; // Setup viewport and projection/modelview matrices using tracking data - rlViewport(eye*screenWidth/2, 0, screenWidth/2, screenHeight); + rlViewport(eye*RLGL.State.framebufferWidth/2, 0, RLGL.State.framebufferWidth/2, RLGL.State.framebufferHeight); // Apply view offset to modelview matrix - eyeModelView = MatrixMultiply(matModelView, vrConfig.eyesViewOffset[eye]); + eyeModelView = MatrixMultiply(matModelView, RLGL.Vr.config.eyesViewOffset[eye]); // Set current eye projection matrix - eyeProjection = vrConfig.eyesProjection[eye]; + eyeProjection = RLGL.Vr.config.eyesProjection[eye]; SetMatrixModelview(eyeModelView); SetMatrixProjection(eyeProjection); @@ -4436,20 +4791,20 @@ static int GenerateMipmaps(unsigned char *data, int baseWidth, int baseHeight) if (width != 1) width /= 2; if (height != 1) height /= 2; - TraceLog(LOG_DEBUG, "Next mipmap size: %i x %i", width, height); + TRACELOGD("TEXTURE: Next mipmap size: %i x %i", width, height); mipmapCount++; size += (width*height*4); // Add mipmap size (in bytes) } - TraceLog(LOG_DEBUG, "Total mipmaps required: %i", mipmapCount); - TraceLog(LOG_DEBUG, "Total size of data required: %i", size); + TRACELOGD("TEXTURE: Total mipmaps required: %i", mipmapCount); + TRACELOGD("TEXTURE: Total size of data required: %i", size); - unsigned char *temp = realloc(data, size); + unsigned char *temp = RL_REALLOC(data, size); if (temp != NULL) data = temp; - else TraceLog(LOG_WARNING, "Mipmaps required memory could not be allocated"); + else TRACELOG(LOG_WARNING, "TEXTURE: Failed to allocate required mipmaps memory"); width = baseWidth; height = baseHeight; @@ -4471,7 +4826,7 @@ static int GenerateMipmaps(unsigned char *data, int baseWidth, int baseHeight) j++; } - TraceLog(LOG_DEBUG, "Mipmap base (%ix%i)", width, height); + TRACELOGD("TEXTURE: Mipmap base size (%ix%i)", width, height); for (int mip = 1; mip < mipmapCount; mip++) { @@ -4542,34 +4897,55 @@ static Color *GenNextMipmap(Color *srcData, int srcWidth, int srcHeight) } } - TraceLog(LOG_DEBUG, "Mipmap generated successfully (%ix%i)", width, height); + TRACELOGD("TEXTURE: Mipmap generated successfully (%ix%i)", width, height); return mipmap; } #endif #if defined(RLGL_STANDALONE) -// Show trace log messages (LOG_INFO, LOG_WARNING, LOG_ERROR, LOG_DEBUG) -void TraceLog(int msgType, const char *text, ...) +// Load text data from file, returns a '\0' terminated string +// NOTE: text chars array should be freed manually +char *LoadFileText(const char *fileName) { - va_list args; - va_start(args, text); + char *text = NULL; - switch (msgType) + if (fileName != NULL) { - case LOG_INFO: fprintf(stdout, "INFO: "); break; - case LOG_ERROR: fprintf(stdout, "ERROR: "); break; - case LOG_WARNING: fprintf(stdout, "WARNING: "); break; - case LOG_DEBUG: fprintf(stdout, "DEBUG: "); break; - default: break; - } + FILE *textFile = fopen(fileName, "rt"); + + if (textFile != NULL) + { + // WARNING: When reading a file as 'text' file, + // text mode causes carriage return-linefeed translation... + // ...but using fseek() should return correct byte-offset + fseek(textFile, 0, SEEK_END); + int size = ftell(textFile); + fseek(textFile, 0, SEEK_SET); + + if (size > 0) + { + text = (char *)RL_MALLOC((size + 1)*sizeof(char)); + int count = fread(text, sizeof(char), size, textFile); - vfprintf(stdout, text, args); - fprintf(stdout, "\n"); + // WARNING: \r\n is converted to \n on reading, so, + // read bytes count gets reduced by the number of lines + if (count < size) text = RL_REALLOC(text, count + 1); - va_end(args); + // Zero-terminate the string + text[count] = '\0'; - if (msgType == LOG_ERROR) exit(1); + TRACELOG(LOG_INFO, "FILEIO: [%s] Text file loaded successfully", fileName); + } + else TRACELOG(LOG_WARNING, "FILEIO: [%s] Failed to read text file", fileName); + + fclose(textFile); + } + else TRACELOG(LOG_WARNING, "FILEIO: [%s] Failed to open text file", fileName); + } + else TRACELOG(LOG_WARNING, "FILEIO: File name provided is not valid"); + + return text; } // Get pixel data size in bytes (image or texture) @@ -4607,8 +4983,16 @@ int GetPixelDataSize(int width, int height, int format) dataSize = width*height*bpp/8; // Total data size in bytes + // Most compressed formats works on 4x4 blocks, + // if texture is smaller, minimum dataSize is 8 or 16 + if ((width < 4) && (height < 4)) + { + if ((format >= COMPRESSED_DXT1_RGB) && (format < COMPRESSED_DXT3_RGBA)) dataSize = 8; + else if ((format >= COMPRESSED_DXT3_RGBA) && (format < COMPRESSED_ASTC_8x8_RGBA)) dataSize = 16; + } + return dataSize; } #endif // RLGL_STANDALONE -#endif // RLGL_IMPLEMENTATION \ No newline at end of file +#endif // RLGL_IMPLEMENTATION -- cgit v1.2.3